SuSE GNU/Linux + scim & skim.

CJK character entry using the skim and skim input methods on SuSE GNU/Linux.

This article is probably incomplete because, at the time of writing, I still wasn't convinced that I had got the input methods working correctly.

Content revision history:
Article first written: 3rd January 2006
Updated:
Corrected:

The goal of this exercise was to be able to enter Chinese script while using a computer operating the SuSE 9.2 version of GNU/Linux and the KDE desktop. This is supposed to be a relatively trivial thing to achieve so it is with some regret that I must first confess that it isn't yet working as well as I would like.

CJK (Chinese Japanese Korean) text entry is accomplished by installing a new input method. In this case I used the tool called “scim” in conjunction with the KDE front-end called “skim”; both these packages need to be installed using the YaST software installation tools. Additionally it would be a good idea to install some fonts containing Chinese characters.

Having installed the necessary packages I found that the input methods software (scim and skim) would be started whenever KDE started and it could also be configured. However I was completely unable to make it “pop‑up” on demand using any of the key combinations supposedly allocated for that purpose.

After much experimentation I was able to have the input method windows “pop‑up” when using OpenOffice and I was able to create OpenOffice documents containing Chinese script. I was not, however, able to type Chinese script when using other sotware such as the Opera web browser or the Kate file editor. Both of these latter programs would accept Chinese script pasted into them but the input methods windows simply wouldn't perform for them.

To have Chinese text entry with OpenOffice I had to edit several configuration files. The contents of each of these files is listed below.

#
# File name:  ~/.xim
# This file should be placed in the user's "home" directory and called ".xim"
#
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=scim
export QT_IM_SWITCHER=imsw-multi
export QT_IM_MODULE=scim
skim -d 
#
# File name: ~/.scim/config
# The user's home directory should have a subdirectory called ".scim" and 
# this file should be placed in there and called "config".
#
/DefaultConfigModule = kconfig
/DefaultIMEngineFactory/en_GB = 05235cfc-43ce-490c-b1b1-c5a2185276ae
/DefaultPanelProgram = scim-panel-kde
/DisabledIMEngineFactories = 33a8f7ff-b05a-4a54-b617-a73cd53583bd,107dcd74-b06a-4fcd-ac29-4b3136358eb7,17ebfb4f-2cc5-44da-a440-5c28c68997cf,98e4ca3b-8321-4903-a59d-84abce22f95a,8a6975df-6a78-4c7e-91d5-889da6c2fd80,a6a6ec50-675c-4609-9466-a4f32733e16e,11cb2711-6225-49ca-bde4-472d2ca8aaef,a9eb5dd7-8e8a-4d1c-b486-2f59bbd12ef0,81f04456-5274-4d0d-96c2-8bb2f3be69b8,a82d50ad-7995-4db7-9b34-3e9e4e31e4d7,2ffa6ab6-8ebc-4e8d-95a2-7ee6b7ffb9bd,a93845cd-6e00-44fc-8928-22d2590bbb61
# 
#
# File name: /etc/scim/global
# This file exists in directory "/etc/scim" and is called "global".
#
/DefaultPanelProgram = scim-panel-kde
/DefaultConfigModule = kconfig
/DefaultSocketFrontEndAddress = local:/tmp/scim-socket-frontend
/DefaultSocketIMEngineAddress = local:/tmp/scim-socket-frontend
/DefaultSocketConfigAddress = local:/tmp/scim-socket-frontend
/DefaultPanelSocketAddress = local:/tmp/scim-panel-socket
/DefaultSocketTimeout = 5000
/SupportedUnicodeLocales = aa_DJ.UTF-8,aa_ER.UTF-8,aa_ET.UTF-8,af_ZA.UTF-8,am_ET.UTF-8,an_ES.UTF-8,ar_AE.UTF-8,ar_BH.UTF-8,ar_DZ.UTF-8,ar_EG.UTF-8,ar_IN.UTF-8,ar_IQ.UTF-8,ar_JO.UTF-8,ar_KW.UTF-8,ar_LB.UTF-8,ar_LY.UTF-8,ar_MA.UTF-8,ar_OM.UTF-8,ar_QA.UTF-8,ar_SA.UTF-8,ar_SD.UTF-8,ar_SY.UTF-8,ar_TN.UTF-8,ar_YE.UTF-8,az_AZ.UTF-8,be_BY.UTF-8,bg_BG.UTF-8,bn_BD.UTF-8,bn_IN.UTF-8,br_FR.UTF-8,bs_BA.UTF-8,byn_ER.UTF-8,ca_ES.UTF-8,cs_CZ.UTF-8,cy_GB.UTF-8,da_DK.UTF-8,de_AT.UTF-8,de_BE.UTF-8,de_CH.UTF-8,de_DE.UTF-8,de_LU.UTF-8,el_GR.UTF-8,en_AU.UTF-8,en_BE.UTF-8,en_BW.UTF-8,en_CA.UTF-8,en_DK.UTF-8,en_GB.UTF-8,en_HK.UTF-8,en_IE.UTF-8,en_IN.UTF-8,en_NZ.UTF-8,en_PH.UTF-8,en_SG.UTF-8,en_US.UTF-8,en_ZA.UTF-8,en_ZW.UTF-8,es_AR.UTF-8,es_BO.UTF-8,es_CL.UTF-8,es_CO.UTF-8,es_CR.UTF-8,es_DO.UTF-8,es_EC.UTF-8,es_ES.UTF-8,es_GT.UTF-8,es_HN.UTF-8,es_MX.UTF-8,es_NI.UTF-8,es_PA.UTF-8,es_PE.UTF-8,es_PR.UTF-8,es_PY.UTF-8,es_SV.UTF-8,es_US.UTF-8,es_UY.UTF-8,es_VE.UTF-8,et_EE.UTF-8,eu_ES.UTF-8,fa_IR.UTF-8,fi_FI.UTF-8,fo_FO.UTF-8,fr_BE.UTF-8,fr_CA.UTF-8,fr_CH.UTF-8,fr_FR.UTF-8,fr_LU.UTF-8,ga_IE.UTF-8,gl_ES.UTF-8,gv_GB.UTF-8,he_IL.UTF-8,hi_IN.UTF-8,hr_HR.UTF-8,hu_HU.UTF-8,id_ID.UTF-8,is_IS.UTF-8,it_CH.UTF-8,it_IT.UTF-8,iw_IL.UTF-8,ja_JP.UTF-8,kl_GL.UTF-8,ko_KR.UTF-8,kw_GB.UTF-8,lt_LT.UTF-8,lv_LV.UTF-8,mk_MK.UTF-8,ml_IN.UTF-8,mn_MN.UTF-8,mr_IN.UTF-8,ms_MY.UTF-8,mt_MT.UTF-8,nb_NO.UTF-8,ne_NP.UTF-8,nl_BE.UTF-8,nl_NL.UTF-8,nn_NO.UTF-8,no_NO.UTF-8,om_ET.UTF-8,pa_IN.UTF-8,pl_PL.UTF-8,pt_BR.UTF-8,pt_PT.UTF-8,ro_RO.UTF-8,ru_RU.UTF-8,ru_UA.UTF-8,se_NO.UTF-8,sh_YU.UTF-8,sid_ET.UTF-8,sk_SK.UTF-8,sl_SI.UTF-8,so_ET.UTF-8,sq_AL.UTF-8,st_ZA.UTF-8,sv_FI.UTF-8,sv_SE.UTF-8,ta_IN.UTF-8,te_IN.UTF-8,th_TH.UTF-8,ti_ER.UTF-8,ti_ET.UTF-8,tig_ER.UTF-8,tr_TR.UTF-8,tt_RU.UTF-8,uk_UA.UTF-8,ur_PK.UTF-8,vi_VN.UTF-8,wa_BE.UTF-8,xh_ZA.UTF-8,zh_CN.UTF-8,zh_HK.UTF-8,zh_SG.UTF-8,zh_TW.UTF-8,zu_ZA.UTF-8
# 
The contents of the following file determines, amongst other things, which keys will be used to initiate the “pop‑up” of the input method window and which keys will change from one input method to another. I had chosen to use Ctrl-Alt-apostrophe as the “pop‑up” sequence. If you prefer a different sequence then you need to edit this file or change the configuration thyrough the skim / scim windows.
#
# This file is encoded in UTF-8 encoding.
# File name: /etc/scim/config
#
/FrontEnd/Keys/NextFactory = Control+Alt+Down,Control+Shift_R,Control+Shift_L
/FrontEnd/Keys/PreviousFactory = Control+Alt+Up,Shift+Control_R,Shift+Control_L
/FrontEnd/Keys/ShowFactoryMenu = Control+Alt+l,Control+Alt+m,Control+Alt+s,Control+Alt+Right
/FrontEnd/Keys/Trigger = Control+space,Shift+space
/FrontEnd/Keys/ValidKeyMask = Shift+Control+Alt+Lock
/FrontEnd/Socket/ConfigReadOnly = false
/FrontEnd/Socket/MaxClients = 512
/FrontEnd/X11/BrokenWchar = true
/FrontEnd/X11/Dynamic = false
/FrontEnd/X11/OnTheSpot = true
/FrontEnd/X11/ShowStatusBox = false
/FrontEnd/X11/ServerName = SCIM
/Panel/Gtk/Color/ActiveBackground = light sky blue
/Panel/Gtk/Color/ActiveText = black
/Panel/Gtk/Color/NormalBackground = #F7F3F7
/Panel/Gtk/Color/NormalText = black
/Panel/Gtk/Font = default
/Panel/Gtk/DefaultSticked = false
/Panel/Gtk/LookupTableEmbedded = true
/Panel/Gtk/LookupTableVertical = false
/Panel/Gtk/ShowStatusBox = false
/Panel/Gtk/ShowTrayIcon = true
/Panel/Gtk/ToolBar/AlwaysShow = false
/Panel/Gtk/ToolBar/AutoSnap = true
/Panel/Gtk/ToolBar/HideTimeout = 2
/Panel/Gtk/ToolBar/POS_X = -1 
/Panel/Gtk/ToolBar/POS_Y = -1 
/Panel/Gtk/ToolBar/ShowHelpIcon = true
/Panel/Gtk/ToolBar/ShowFactoryIcon = true
/Panel/Gtk/ToolBar/ShowFactoryName = true
/Panel/Gtk/ToolBar/ShowSetupIcon = true
/Panel/Gtk/ToolBar/ShowStickIcon = true
/IMEngine/RawCode/Languages = default
/IMEngine/Table/FullWidthLetterKey = Shift+space
/IMEngine/Table/FullWidthPunctKey = Control+period
/IMEngine/Table/ModeSwitchKey = Alt+Shift_L,Alt+Shift_R,Shift+Shift_L+KeyRelease,Shift+Shift_R+KeyRelease
/IMEngine/Table/LongPhraseFirst = false
/IMEngine/Table/ShowPrompt = false
/IMEngine/Table/UserTableBinary = true
/IMEngine/Table/ShowKeyHint = false
#

 

Navigation: (site map) learn linux home pagetechnical articles