Sophie

Sophie

distrib > Mandriva > 8.1 > i586 > by-pkgid > e025eb192aa99d44075ff54dac9a071e > files > 54

xcin-2.5.2.3-13.1mdk.i586.rpm

XCIN ±`¨£°ÝÃD»P¸Ñµª:

A. I18N »P XIM ¬ÛÃö°ÝÃD:
------------------------
QA.1:  ¤°»ò¬O I18N? ¤°»ò¬O locale? ¤°»ò¤S¬O XIM?
QA.2:  ¤°»ò¼Ëªº¨t²Î¤~¨ã¦³¤¤¤å I18N ªºÀô¹Ò? ­Y§Úªº¨t²Î¥Ø«e¨S¦³ I18N ªºÀô
       ¹Ò¡A§Ú­n¦p¦ó«Ø¥ß¥¦©O?
QA.3:  §Ú­n¦p¦ó¬d¬Ý§Úªº¨t²Î¬O§_¤ä´© I18N ¥H¤Î¤¤¤å locale ©O¡H
QA.4:  ¦b FreeBSD-3.0/4.0, §Úªºµ{¦¡µLªk³]©w zh_TW.Big5 locale, ¬O¤£¬O»Ý
       ­n¥[¤J -DXLOCALE?
QA.5:  §Úªº¨t²Î¤¤§ä¤£¨ì /usr/X11R6/lib/X11/locale/zh_CN.GB2312/XLC_LOCALE,
       ½Ð°Ý³o­ÓÀ³¸Ó¨ì¨ºùؤU¸ü©O?

B. xcin ¦w¸Ë°ÝÃD:
-----------------
QB.1:  §Ú¤w¸g¦w¸Ë¤F Berkeley DB2 ¤F¡A¬°¤°»ò¦b configure ®ÉÁÙ¬O¸ò§Ú»¡:
       You need Berkeley DB 2 to compile xcin.
       Please use --with-dbinc and --with-dblib to configure.
QB.2:  ¬°¤°»ò¦w¸Ë xcin ®É configure ¸ò§Ú»¡­n libtabe ©O¡H¥H«e³£¤£»Ý­n°Ú!
QB.3:  §Ú¨ì³B³£§ä¤£¨ì tsi.db »P yin.db, ¥H«e¤£¬O¦³ libtabe-tsi-bin.tar.gz
       ³o­Ó®M¥ó¶Ü¡H¨ì¨ºùØ¥h¤F¡H
QB.4:  ¬°¤°»ò§Ú¦b°õ¦æ configure ®É¡A·|¦³³o¼Ëªº¿ù»~°T®§©O¡H
       You need X11R6 to compile xcin.
       Please use --x-includes and --x-libraries to configure.
QB.5:  §Ú²Ä¤@¦¸ compile xcin ®É¨S¦³¸Ë bimsphone (¦b configure ®É¥[¤F
       --disable-bimsphone ¿ï¶µ)¡A¦ý²{¦b·Q¦A¸Ë bimsphone, ½Ð°Ý­n«ç»ò
       °µ¡H»Ý­n¾ã­Ó xcin ¨t²Î­«·s compile ¶Ü¡H
QB.6:  §Ú¦b¦w¸Ë xcin ®É¡Aconfigure ¨S¦³°ÝÃD¡A¦ý¦w¸Ë¨ì¤@¥b«o¥X²{¥H¤Uªº¿ù»~:
       gcc -Wall -fsigned-char -O2 -DHAVE_CONFIG_H -I../../../src/include \
           -c -o set_locale.o set_locale.c
       set_locale.c: In function `locale_setting':
       set_locale.c:68: `CODESET' undeclared (first use in this function)
       set_locale.c:68: (Each undeclared identifier is reported only once
       set_locale.c:68: for each function it appears in.)
       make[3]: *** [set_locale.o] Error 1
QB.7:  ¬°¤°»ò§Ú°õ¦æ xcin ®É¡A·|¶]¥X¦p¤Uªº¿ù»~°T®§©O¡H
       xcin internal error: NULL xcin locale_sub_path
QB.8:  ¬°¤°»ò§Ú°õ¦æ xcin ®É¡A·|¶]¥X¦p¤Uªº¿ù»~°T®§©O¡H
       xcin: error: IMOpenIM() with name "xcin" transport "X/" failed.

C. xcinrc ³]©w¬ÛÃö°ÝÃD:
-----------------------
QC.1:  ¤°»ò¬O xcinrc ÀÉ¡H¥¦©ñ¦b¨º¸Ì©O¡H
QC.2:  §ÚµLªk±Ò°Ê xcin, §ÚÃhºÃ¬O§Úªº fontset ³]©w¦³°ÝÃD¡A§Ú¸Ó¦p¦óÀˬd©O?
QC.3:  ½Ð°Ý xcinrc ¤ºªº INDEX_FONT ¬O°µ¤°»òªº°Ú?
QC.4:  ¨º xcinrc ¤ºªº OVERSPOT_FONTSET ¤S¬O°µ¤°»òªº¡H
QC.5:  ½Ð°Ý xcinrc ¤º¬°¤°»ò­n¤À zh_TW.Big5 »P zh_CN.GB2312 µ¥¦h­Ó¤p¸`©O?
       ¥¦­Ìªº³]©w¶µ¥Ø¤£³£¬O¤@¼Ëªº¶Ü?
QC.6:  §Úªº¨t²Î¤¤¤w¸g¦³ zh_TW.BIG5 locale ¤F¡A¦Ó¥B /usr/X11R6/lib/X11/locale
       ©³¤U¤]¤w¦³ zh_TW.BIG5/XLC_LOCALE ÀÉ¡A¬°¤°»òÁÙ¬OµLªk±Ò°Ê xcin?
QC.7:  ¬°¤°»ò§Ú¦b°õ¦æ xcin ®É¡A·|¶]¥X³o¼Ëªº¿ù»~°T®§¡H
       xcin: error: rcfile: DEFAULT_IM: value not specified.
QC.8:  ¦p¦ó§ïÅÜ xcin ¥Dµøµ¡ªº±Ò°Ê¤j¤p»P¦ì¸m©O¡H
QC.9:  ¬°¤°»ò xcin ·|¦³¨â­Ó¤£¦P¤j¤pªº¥Dµøµ¡©O¡H
QC.10:  §ÚÁÙ¬Oı±o¨º­Ó²Ä¤G¥Dµøµ¡¤Ó¦ûªÅ¶¡¡A¥i¤£¥i¥H³s¥¦³£¤£­n°Ú¡H
QC.11:  ¤°»ò¬O OverTheSpot ©O¡H
QC.12:  §Ú­n¦p¦ó§ïÅÜ xcin ªº¿é¤J¼Ò¦¡©O¡H

D. ¿é¤Jªk¼Ò²Õ¬ÛÃö°ÝÃD:
----------------------
QD.1:  xcin-2.5 ªºª`­µ¿é¤Jªk¥Î°_¨Ó¦n©_©Ç¡A¸ò¤@¯ëªº¿é¤J²ßºD¤£¤Ó¤@¼Ë¡C
QD.2:  ¦A­ì¦³ªº xcin-2.3.X µü­µ¿é¤Jªk¤¤¡A¥i¥H«ö SHIFT+, SHIFT+. ¦Ó¿é¥X
       ¥þ§Î¼ÐÂI¡A¦ý xcin-2.5 ªº bimsphone ¬°¤°»ò¨S¦³©O?
QD.3:  §Ú­n¦p¦ó§ïÅܪ`­µ¿é¤JªkªºÁä½L¹ïÀ³©O¡H¦p­Ê¤ÑÁä½L©Î³\¤óÁä½L¡H
QD.4:  ¹³ª`­µ³oºØ¤@­Ó keycode ¥i¥H¹ï¬M¨ì¦hºØ¦rªº¿é¤Jªk, cin2tab ¦ü¥G·|§â 
       phone.cin ¸Ìªº¶¶§Ç¶Ã±¼¡C¹³ "¤Ñ" ¦b .cin ªº¶¶§Ç¬O "¤Ñ²KÐÝÌZÜ_Ôì", 
       ¥´¥X¨Óªº¶¶§Ç«o¬O "Ôì²KÜ_ÌZÐݤÑ", ¨ä¥L¦r¤]¬O¤@¼Ë, ª©(2.3.02) ´N¨S
       ¦³³oºØ±¡§Î¡C³o¬O bug ÁÙ¬O feature?
QD.5:  ¦p¦ó­×§ï xcin ±Ò°Êªº¹w³]¿é¤Jªk©O¡H
QD.6:  ½Ð°Ý­n¦p¦ó¼W¥[·sªº¿é¤Jªk©O¡H
QD.7:  §Ú¦p¦ó¦b bimsphone ¿é¤Jªk¤¤¥[¤J·sµü©O¡H
QD.8:  §Úµo²{ª`­µ¿é¤Jªk¤¤¥i¥H³sÄò¿é¤J¨â­Ó £t¡A©ÎªÌ¥i¥H¿é¤J¦p £«£x ³o¼Ëªº
       ­µ¡A³o¦ü¥G«Ü¤£¦X²z¡H

E. xcin ³]­p¬ÛÃö°ÝÃD:
---------------------
QE.1:  ½Ð°Ý§Ú­n¦p¦ó Debug xcin?
QE.2:  xcin-2.5 ¦b 64 bits ¾÷¾¹¤W (¦p DEC alpha) ·|¤£·|¦³°ÝÃD©O?
QE.3:  ½Ð°Ý¤°»ò¬O IC Check? ¤°»ò¬O garbage collection? ³o¨â­ÓªFªF¦³Ãö¶Ü¡H

F. ¨ä¥Lªº°ÝÃD:
--------------
QF.1:  rxvt ¥i¥H¬Ý¤¤¤å¡A¤]¥i¥H¥Î xcin-2.5 ¥´¤¤¤å¡A¦ý¦n¹³¦³¦n¦h°ÝÃD¡A¨Ò¦p¤¤
       ¤åÅã¥Ü¦³®É­Ô·|²ö¦W©_§®ÅܶýX¡BÃö±¼ xcin ®É¦³®É­Ô rxvt ¤]·|²ö¦W©_§®
       ¦a®ø¥¢ .... «ç»ò·|³o¼Ë©O¡H
QF.2:  §Ú¦b xcin+xedit ¥i¥H¥´¥X¤¤¤å¡A¤£¹L xedit ¦b¸ü¤JÀɮ׮ɦ³¨S¦³ xcin 
       ³£·|³y¦¨ segmentation fault, ³o©M xcin-2.5 ¨S¦³Ãö«Y§a?
QF.3:  ¬°¤°»ò¦b netscape-4.X ùØÀY¡A¨C¦¸¥´¤J¤@­Ó¤¤¤å¦r xcin ´N·|¤Á¨ì¡u­^
       ¼Æ¡v¿é¤J©O?
QF.4:  §Ú¦b CLE-0.8 ¤U¡A¨Ï¥Î xcin-2.5 + rxvt-2.6.0, ¦ý¨C¦¸¿é¤J¤@­Ó¤¤¤å¦r
       ®É¡A´N·| core dump, «ç»ò¿ì©O?
QF.5:  §Ú¤w±N libtabe ¦w¸Ë¦b /usr/local ©³¤U¤F¡A¦Ó¥B§Ú¤]¦w¸Ë xcin ¦¨¥\¤F¡A
       ¦ý¬°¤°»ò·í§Ú±Ò°Ê xcin ¨Ã·Ç³Æ¨Ï¥Î bimsphone ¿é¤Jªk®É¡A«o¤´¨£¨ì³o¼Ëªº
       ¿ù»~°T®§¡H
QF.6:  ·í§Ú¨Ï¥Î xcin-2.5 ªº bimsphone ¦b netscape ¤U¿é¤J¤¤¤å®É¡A¬°¤°»ò¦b
       «ö¤U¤è¦VÁä¡B©Î¥Î·Æ¹«ÂI¿ï netscape ¤Wªº´å¼Ð®É¡A­ì¥»¦s¦b xcin µøµ¡¤¤
       ªº¤¤¤å¦r´N®ø¥¢¤F¡H
QF.7:  ¬°¤°»ò·í§Ú¤Á´«µêÀÀ®à­±®É¡A xcin µLªk¸òµÛ¸õ¹L¨Ó©O¡H
QF.8:  ¬°¤°»ò¦b¨Ï¥Î OverTheSpot ®É¡A·í§Ú§â·Æ¹«´å¼Ð²¾¨ì OverTheSpot ªºµø
       µ¡¤W®É¡A¸Óµøµ¡·|¤@ª½°{°Ê¡A¦ý¥u­n´å¼Ð²¾¶}«á´N¥¿±`¤F¡H
QF.9:  ¬°¤°»ò§Ú±`±`¦bÃö±¼ xcin ¤§«á¡A¥Ø«e¤u§@¤¤ªº rxvt ¤]¸òµÛ±¾±¼¤F¡H
QF.10:  ¨Ï¥Î KDE ®É¡A¨C¦¸¤Á´«¿é¤Jªk xcin µøµ¡³£·|Åܦ¨«e´ºµøµ¡¡A¨C¦¸§Ú³£­n¥Î
        ·Æ¹«ÂI¤@¤U rxvt ¤~¯àÄ~Äò¿é¤J¡A«ç»ò¿ì©O¡H

==============================================================================


A. I18N »P XIM ¬ÛÃö°ÝÃD:

------------------------
QA.1:  ¤°»ò¬O I18N? ¤°»ò¬O locale? ¤°»ò¤S¬O XIM?

I18N ¬O InternationalizatioN ªºÁY¼g¡A¥¦¬O¤@­Óµ{¦¡°ê»Ú¤Æªº¸Ñ¨M¤è®×¡A¥Ø¼Ð¬O
§Æ±æ°µ¨ì¥u­n¼g¦n¤@¥÷µ{¦¡½X¡A´N¯à±Nµ{¦¡¥Î¦b¤£¦Pªº»y¨t¤W¡A¦Ó¤£»Ý­n¨C¦¸´«¤@
­Ó»y¨¥©Î¤º½X¨t²Î´N­n§ï¼gµ{¦¡¥»¨­¡C

¦b UNIX (¥]¬A GNU/Linux, FreeBSD ....) ªº I18N ¬[ºc¤¤¡A¨ä¤ä´©¬O±q©³¼hªº¨t
²Î¨ç¦¡®w libc °µ°_ªº¡A¥¦´£¨Ñ¤@¨Ç¼Ð·Çªº¨ç¦¡©I¥s¡AÅýµ{¦¡¯à°÷¦b¤£¦Pªº»y¨tÀô
¹Ò¤U¡A±o¥H³B²z¸Ó»y¤åªº¤å¦r¡B¨Ï¥Î¸Ó»y¤å°µ°T®§¿é¥X .... µ¥µ¥¡C

¦Ó locale «üªº¬O¡u°Ï°ì¤Æ°T®§¸ê®Æ®w¡v¡A¨ä¤º®e¬°³B²z¦U»y¤å©Ò»Ýªº¸ê®Æ¡C¤@­Ó
I18N ªºµ{¦¡¥²¶·³z¹L libc ¤Î¨ä¥L¨ç¦¡®wªº©I¥s¤¶­±¨Ó¨Ï¥Î locale ªº¸ê®Æ¡A¥H¹F
¨ì³B²z¸Ó»y¤åªº¤u§@¡C¦]¦¹¡A¦bµ{¦¡±Ò°Ê«e¡A§Ú­Ì¥²¶·¥ý³]¦n locale¡A¬D¿ï§Ú­Ì©Ò
»Ýªº»y¨t¡A«h©¹«á I18N ¦b¦¹Àô¹Ò¤U°õ¦æ®É¡A´N·|¥H¸Ó»y¨t¨Ó¹B§@¡C

XIM ¬O X Input Method ªºÁY¼g¡A¬O X Window Àô¹Ò¤Uªº¼Ð·Ç¿é¤Jªk¨ó©w¡A¤ä´©¦¹
¨ó©wªºÀ³¥Îµ{¦¡ (§Y XIM client) ¥i±µ¨ü¤ä´©¦¹¨ó©wªº¿é¤Jªkµ{¦¡ (§Y XIM server)
ªº¿é¤J¡A¦p¦¹§Y¥i¹F¨ì«D­^»y¨t (¨Ò¦p¤¤¤å¡B¤é¤å¡BÁú¤å .... µ¥) ªº¤å¦r¿é¤J¡C

¥Ñ©ó XIM ¬O¥H¨t²Î©³¼hªº I18N ¬°°ò¦¡A¬G¦b¨Ï¥Î XIM ¤§«e¡A±z¥²¶·³]¦n locale,
¨Ã¥B³]¦n¾A·íªº XIM Àô¹ÒÅܼơC

¦³Ãö locale »P XIM µ¥Àô¹ÒÅܼƪº³]©w¤è¦¡¡A½Ð¨£ UserGuide ¤@¤åªº»¡©ú¡C


------------------------
QA.2:  ¤°»ò¼Ëªº¨t²Î¤~¨ã¦³¤¤¤å I18N ªºÀô¹Ò? ­Y§Úªº¨t²Î¥Ø«e¨S¦³ I18N ªºÀô
       ¹Ò¡A§Ú­n¦p¦ó«Ø¥ß¥¦©O?

­Y±z¬O¨Ï¥Î GNU/Linux ¨t²Î¡A±zªº¨t²Î¥²¶·­n¦³ libc6 (glibc-2.1.X) ¥H¤Wªºª©
¥»¡A¥H¤Î XFree86-3.3.6¡A¤~¯à¨ã³Æ I18N ªºÀô¹Ò (ÁöµM¦bµyªº glibc-2.0.7 ¥H
¤Î©Ò¦³ªº XFree86-3.3.X ¨t²Î¤¤¡A§Ú­Ì¥i¥H¸g¥Ñ¤@¨Ç¯S®íªº³B²z¡A¦ÓÅý¨t²Î¥i¥H¨ã
³Æ I18N ªºÀô¹Ò¡A¦ý³o·|¾É¦Ü³\¦h¼ç¦bªº°ÝÃD¡A¬G¦b¦¹§Ú­Ì¤£«Øij³o»ò°µ)¡C

°£¦¹¤§¥~¡A±zªº¨t²ÎÁÙ¥²¶·¦w¸Ë¤¤¤å locale ¤~¦æ¡A¨Ò¦p¥xÆW¦a°Ï¨Ï¥Îªº zh_TW.Big5 
locale¡A©ÎªÌ¤j³°¦a°Ï©Ò¨Ï¥Îªº zh_CN.GB2312 locale µ¥¡C¤@¯ë»¡¨Ó¡A¥Ø«e¤j³¡¤À
ªº GNU/Linux ¦w¸Ë®M¥óªº I18N Àô¹Ò¤w¨S¦³°ÝÃD¡A¦ý¥¦­Ì¤£¨£±o¤º§t¤¤¤å locale¡C

­Y±zµo²{±zªº¨t²Î¤¤¨S¦³¥¿½T¦w¸Ë±z»Ý­nªº¤¤¤å locale¡A±z¥i¥H°Ñ¦Ò

	ftp://xcin.linux.org.tw/pub/xcin/i18n/i18n_tool.tar.gz 

®M¥óªº README ¤å¥óªº»¡©ú¡A±N¥¦«Ø¥ß°_¨Ó¡C

­Y±z¬O¨Ï¥Î FreeBSD ¨t²Î¡A±z¤j·§­n¨Ï¥Î 3.0 ¥H¤Wªº release ¤~¦æ¡A¦Ó¥B³Ì¦n¬O
¦³ ELF ªº¤ä´©¡C


------------------------
QA.3:  §Ú­n¦p¦ó¬d¬Ý§Úªº¨t²Î¬O§_¤ä´© I18N ¥H¤Î¤¤¤å locale ©O¡H

1. ­Y±z¬O¨Ï¥Î GNU/Linux¡A­º¥ý±z­nÀˬd±zªº glibc ª©¥» (¥²¶· 2.1.X ¥H¤W)¡A±z
   ¥i¥H¥Î³o­Ó«ü¥O¨Ó¬d¬Ý:

	ls /lib/libc-*

2. ­Y±z¬O¨Ï¥Î XFree86 ªº X Window ¨t²Î (¨Ò¦p GNU/Linux, FreeBSD µ¥)¡A±z­n
   Àˬd XFree86 ªºª©¥» (¥²¶· 3.3.6 ¥H¤W)¡C¦pªG±z¦³¦w¸Ë xterm ³o­Óµ{¦¡ªº¸Ü¡A
   ±z¥i¥H¥Î³o­Ó«ü¥O¨ÓÀˬd:

	xterm -v

3. ±µ¤U¨Ó±z­nÀˬd±zªº¨t²Î¤¤¬O§_¦w¸Ë¤F¤¤¤å locale¡H¥H¥xÆW¦a°Ï¨Ï¥Îªº zh_TW.Big5
   ¬°¨Ò (½Ðª`·N¡A¦b GNU/Linux »P FreeBSD ¤¤¬O zh_TW.Big5, ¦ý¦b¨ä¥Lªº UNIX ¤¤
   ¥i¯à¬O zh_TW.big5 ©Î zh_TW.BIG5, ¦³¤j¤p¼gªº®t§O)¡A±z¥i¥H¸Õ¸Õ°õ¦æ

	locale -a

   ªº«ü¥O¡A¬Ý¬Ý¦L¥Xªº¤º®e¤¤¬O§_¥]¬A zh_TW.Big5¡H¦³ªº¸Ü´Nªí¥Ü±zªº¨t²Î¦³¦w¸Ë¡A
   §_«h´N¨S¦³¡C

4. µM«á±z­nÀˬd±zªº X Window ¨t²Î¬O§_¦³¦w¸Ë¤¤¤å locale ªº¸ê®Æ¡H¦b XFree86
   ªº¨t²Î¤¤¡A¥i¥H¨Ï¥Î:

	ls /usr/X11R6/lib/X11/locale

   ¬Ý¬Ý¦³¨S¦³ zh_TW.Big5 ªº¥Ø¿ý¡H¦Ó¥BùØÀY¬O¤£¬O¦³ XLC_LOCALE ªºÀɮסH½Ðª`
   ·N¦b¨ä¥Lªº UNIX ¨t²Î¤¤¡A¨ä¸ô®|¥i¯à¤£¤@¼Ë¡A±z­n°Ñ¦Ò¸Ó¨t²Îªº¤â¥U©Î»¡©ú¤å
   ¥ó¨Ó´M§ä¡C

5. ³Ì«á¡A±zªº¨t²Î¥²¶·¦w¸Ë zh_TW.Big5 locale ©Ò»Ýªº¦r«¬¡C¸Ó locale »Ý­n¤¤¤å
   ¤Î­^¤å¦r«¬¡C­^¤å¦r«¬¬O¼Ð·Çªº¡A¨S¦³°ÝÃD¡C¦Ü©ó¤¤¤å¦r«¬ªº³¡¤À¡A½Ð°Ñ¦Ò©³¤U
   QC.1: fontset ³]©wªº»¡©ú¡C

©³¤U§Ú­Ì´£¨Ñ¤@­Ó¤pµ{¦¡¡A¥i¥H¥Î¨Ó´ú¸Õ±zªº locale Àô¹Ò¬O¤£¬O¥¿±`ªº¡Cµ{¦¡ªº
­ì©l½X¦p¤U:

=================================================================
#define USE_XOPEN_SOURCE

#include <stdio.h>
#include <locale.h>
#ifdef USE_XOPEN_SOURCE
#  include <langinfo.h>
#endif
#include <X11/Xlib.h>
#include <X11/Xlocale.h>

main()
{
    printf("LC_CTYPE = %s\n", setlocale(LC_CTYPE, ""));
#ifdef USE_XOPEN_SOURCE
    printf("encoding = %s\n", nl_langinfo(CODESET));
#endif
    if (XSupportsLocale() == True)
        printf("X Locale = OK\n");
}
=================================================================

±z¥i¥H±N³o¤@¬qµ{¦¡½X¦s¦¨ localetest.c ÀÉ¡AµM«á¥Î³o­Ó«ü¥O¨Ó½sĶ:
(°²³]±zªº¨t²Î¨Ï¥Îªº XFree86 ¨t²Î¡A­Y¬O¨ä¥Lªº UNIX ¨t²Î¡A±z¥i¯à»Ý­n§ïÅÜ
 -I »P -L ¤§«áªº¸ô®|¦WºÙ¡C½Ð¨£±zªº¨t²Îªº¤å¥ó»¡©ú)

        gcc localetest.c -I/usr/X11R6/include -L/usr/X11R6/lib -lX11

¦pªG¦b½sĶ¹Lµ{¤¤¦³¥ô¦ó¿ù»~ªº¸Ü¡A½Ð±N

        #define USE_XOPEN_SOURCE

³o¤@¦æ§R°£¡AµM«á¦A­«·s½sĶ¤@¦¸¡C§¹¦¨«á¡A´N·|²£¥Í¤@­Ó¦W¬° a.out ªºÀɮסA±µµÛ
±z´N¥i¥H°µ¦p¤Uªº´ú¸Õ:

        LC_ALL=zh_TW.Big5 ./a.out

¦pªG¦L¥X¦p¤Uªºµ²ªG:

        LC_CTYPE = zh_TW.Big5
        encoding = BIG5
        X Locale = OK

ªí¥Ü±zªº I18N »P locale Àô¹Ò¤w¨S¦³°ÝÃD¤F (½Ðª`·N¡A¦pªG±z±N
#define USE_XOPEN_SOURCE ®³±¼«á¦A½sĶªº¸Ü¡A«h¤£·|¦³ encoding = .... ¨º¤@¦æ)¡C
¦P²z¡A¹ï©ó zh_CN.GB2312 ´ú¸Õµ²ªGÀ³¦p¤U:

        «ü¥O: LC_ALL=zh_CN.GB2312 ./a.out

        LC_CTYPE = zh_CN.GB2312
        encoding = GB2312
        X Locale = OK

¦pªG±z°õ¦æ«á¦L¥X¤£¤@¼Ëªºµ²ªG¡A«Ü¥i¯à±zªº¨t²Îªº locale Àô¹Ò¤´¦³°ÝÃD¡C³o®É«Ø
ij±z¥i¥H¸ÔŪ

	ftp://xcin.linux.org.tw/pub/xcin/i18n/i18n_tool.tar.gz

ªº»¡©ú¤å¥ó¡A¨Ó¤@¨B¨BÀˬd±zªº¨t²Î¡C


------------------------
QA.4:  ¦b FreeBSD-3.0/4.0, §Úªºµ{¦¡µLªk³]©w zh_TW.Big5 locale, ¬O¤£¬O»Ý
       ­n¥[¤J -DXLOCALE?

¨º¬O¦]¬°±z¦b½sĶ±zªºµ{¦¡®É¨S¦³¥[¤W -lxpg4 ªº½t¬G¡C¦b FreeBSD ¤¤¡A¦b libc 
»P libxpg4 ¦U¦³¤@­Ó setlocale() ¨ç¦¡¡A¦ý libc ªº¨º¤@­Ó¥u¯à¦¨³]¬° POSIX ©Î 
C locale, ­Y­n³]¦¨¨ä¥Lªº locale (¦p zh_TW.Big5), «h±z¥²¶·¨Ï¥Î libxpg4 ªº
¨º¤@­Ó¡C

¥t¥~¡A -DXLOCALE ¥u¦³¦b±z¨t²Îªº libc ¹ï©ó I18N ¤ä´©¤£¦n¡A¦Ó±z»Ý­n½sĶ X
Window ªº I18N µ{¦¡®É¤~­n¥[¤J¡A¥¦¨ä¹ê¬O¥Î Xlib ¤ºªº I18N ³B²z¨ç¦¡¨Ó¨ú¥N
libc ùØÀYªº¼Ð·Ç¨ç¦¡¡C¤@¯ë»¡¨Ó¡A¦pªG±zªº libc ¹ï I18N ªº¤ä´©«Ü¦nªº¸Ü (¦p
glibc-2.X, FreeBSD-3.0 ¥H¤W) ¡A±z¤£­n¥[¤J¦¹¤@¿ï¶µ¡A¦]¬°¨º¼Ë¥i¯à·|³y¦¨¨ä
¥Lªº°ÝÃD¡C


------------------------
QA.5:  §Úªº¨t²Î¤¤§ä¤£¨ì /usr/X11R6/lib/X11/locale/zh_CN.GB2312/XLC_LOCALE,
       ½Ð°Ý³o­ÓÀ³¸Ó¨ì¨ºùؤU¸ü©O?

¦b XFree86 ªº¨t²Î¤¤¡Azh_CN.GB2312 ªº XLC_LOCALE ¨ä¹ê¦­´N¦b±zªº¨t²Î¤¤¤F¡A¥¦
¬O©ñ¦b:

	/usr/X11R6/lib/X11/locale/zh/XLC_LOCALE

¦Ü©ó¬°¤°»ò·|©ñ¦b³o? §Ú·Q¤j·§¬O¾ú¥v¦]¯À§a? ¦pªG±z§Æ±æ±zªº¨t²Î¥i¥H¤ä´©
zh_CN.GB2312 locale, ½Ð°Ñ¦Ò

	ftp://xcin.linux.org.tw/pub/xcin/i18n/i18n_tool.tar.gz

ªº»¡©ú¡A¦P®É®Ú¾Ú XLC_LOCALE ªº¤º®e¡A±zÁٻݭn¦w¸Ë¦r«¬¦W¥½§À¬° GB2312.1980-0
ªº GB ¦r«¬¡A³o­Ó¤]¥i¥H¦b XFree86 ªº®M¥ó¤¤§ä¨ì¡C



B. xcin ¦w¸Ë°ÝÃD:

------------------------
QB.1:  §Ú¤w¸g¦w¸Ë¤F Berkeley DB2 ¤F¡A¬°¤°»ò¦b configure ®ÉÁÙ¬O¸ò§Ú»¡:

	You need Berkeley DB 2 to compile xcin.
	Please use --with-dbinc and --with-dblib to configure.

¦p¦P¤WÀYªº´£¥Ü¡A±z¥²¶·«ü©w Berkeley DB2 ©Ò¦bªº¸ô®|¡A¦p¦¹ configure ®É¤~§ä±o
¨ì¡CÁ|¨Ò¨Ó»¡¡A±z·íªì¦w¸Ë Berkeley DB2 ®É¬O¸Ë¦b /usr/local ©³¤U¡A½Ð±z§ä¤@¤U
±zªº /usr/local/lib ¤¤¬O¤£¬O¦³ libdb.so, ©ÎªÌ¬O libdb2.so¡H¦pªG¨S¦³ªº¸Ü½Ð§ä
¥X¥¦­Ì¦s¦bªº¥Ø¿ý¡A³o´N¬O <dblib_path>¡CÁÙ¦³¡A¦b±zªº /usr/local/include ¤U¬O
§_¦³ db.h ÀÉ¡H¨S¦³ªº¸Ü½Ð±N¥¦§ä¥X¨Ó¡A¦Ó³o´N¬O <dbinc_path>¡CµM«á¡A·í±z¦b 
xcin-2.5 ©³¤U°õ¦æ configure «ü¥O®É¡A½Ð³o¼Ë°õ¦æ:

    configure --with-dbinc=<dbinc_path> --with-dblib=<dblib_path> <¨ä¥¦°Ñ¼Æ>

°£¤F Berkeley DB2 ¥H¥~¡A¦w¸Ë xcin-2.5 Áٻݭn¨ä¥Lªº¨ç¦¡®w¡A¾Þ§@¤è¦¡¦P¤W¡A¸Ô
¨£ SETUP ¤@¤åªº»¡©ú¡C


------------------------
QB.2:  ¬°¤°»ò¦w¸Ë xcin ®É configure ¸ò§Ú»¡­n libtabe ©O¡H¥H«e³£¤£»Ý­n°Ú!

¦Û xcin-2.5.1 ¶}©l¡A libtabe ±N¤£¦A¤º§t©ó xcin ®M¥ó¤¤¡A¦Ó±N¿W¥ßµo®i¡A¬G±z­Y
¦w¸Ë xcin-2.5.1 ¤Î©¹«áªºª©¥»¡A±zÁÙ­n¥ý¦w¸Ë libtabe ®M¥ó¡A¸Ô¨£ SETUP ¤@¤åªº
»¡©ú¡C


------------------------
QB.3:  §Ú¨ì³B³£§ä¤£¨ì tsi.db »P yin.db, ¥H«e¤£¬O¦³ libtabe-tsi-bin.tar.gz
       ³o­Ó®M¥ó¶Ü¡H¨ì¨ºùØ¥h¤F¡H

¦Û xcin-2.5.1 ¶}©l¡A libtabe ±N¤£¦A¤º§t©ó xcin ®M¥ó¤¤¡A¦Ó±N¿W¥ßµo®i¡A¦Ó¤W
­zªº¨º¨â­Ó db ÀÉ«hÄÝ©ó libtabe ®M¥óªº¤@³¡¤À¡A¥u­n±z¦w¸Ë¤F libtabe ¤§«á¡A
´N·|¦Û°Ê±N¥¦­Ì¸Ë°_¨Ó¡C¥Ø«e libtabe ®M¥óªºÀɮצWºÙÀ³¬° libtabe-<version>.tar.gz,
¨Ò¦p libtabe-0.1.X.tar.gz, ±z¥i¥H¦b

	ftp://xcin.linux.org.tw/pub/xcin/libtabe/

©³¤U§ä¨ì¥¦¡C¸Ô¨£ SETUP ¤@¤åªº»¡©ú¡C


------------------------
QB.4:  ¬°¤°»ò§Ú¦b°õ¦æ configure ®É¡A·|¦³³o¼Ëªº¿ù»~°T®§©O¡H

       You need X11R6 to compile xcin.
       Please use --x-includes and --x-libraries to configure.

¨º¦h¥b¬O¦]¬°±zªº¨t²Î¤¤¨S¦³¦w¸Ë X Window development package, ùØÀY¥]¬A compile
X Window µ{¦¡®É©Ò»Ýªº include ÀÉ (¦b /usr/X11R6/include/ ¤U) ¥H¤Î¤@¨Ç link lib
(¦b /usr/X11R6/lib/ ¤U)¡C±z¥²¶·¦w¸Ë¥¦¤~¯à compile xcin ¡C­Y±z¬O RedHat ªº¨t²Î
«h¸Ó package ¦W¦h¥b¬° XFree86-devel-<version>.rpm, ­Y±z¬O Debian ªº¨t²Î¡A«h¸Ó
package ¦W¦h¥b¬° xlib6g-dev-<version>.deb ¡C­Y±z¬O¨ä¥Lªº¨t²Î¡A½Ð¬d¸ß¤@¤U¸Ó¨t
²Îªº¬ÛÃö¤å¥ó¡C

·í±z±N©Ò»Ýªº package ¸Ë¦n«á¡A¦b­«·s¶] configure µ{¦¡¤§«e¡A½Ðª`·N¦b xcin-2.5
¥Ø¿ý¤U¬O§_¤w¦s¦b¤F config.status, config.cache, config.h, config.log µ¥³o¨Ç
ÀɮסH¦pªG¬Oªº¸Ü½Ð¥ý±N¥¦­Ì²¾°£¤§«á¡A¦A­«·s¶] configure µ{¦¡¡C


------------------------
QB.5:  §Ú²Ä¤@¦¸ compile xcin ®É¨S¦³¸Ë bimsphone (¦b configure ®É¥[¤F
       --disable-bimsphone ¿ï¶µ)¡A¦ý²{¦b·Q¦A¸Ë bimsphone, ½Ð°Ý­n«ç»ò
       °µ¡H»Ý­n¾ã­Ó xcin ¨t²Î­«·s compile ¶Ü¡H

¤£»Ý­n¡A±z¥u­n¨ì xcin-2.5 ªº source ·í¤¤¡A«ö·Ó±z­ì¥ý°õ¦æ configure ªº¤è¦¡
¦A¶]¤@¦¸ configure¡A¦ý³o¦¹¤£­n¥[ --disable-bimsphone ¿ï¶µ¡A¨Ã¥Bª`·N±zªº¨t
²Î³o®É¥²¶·¤w¦w¸Ë¤F Berkeley DB2 »P libtabe¡A¥²­n®É­n±N³o¨â­Ó®M¥óªº¦ì¸m§i
¶D configure (¸Ô¨£ SETUP ¤@¤åªº»¡©ú)¡C·í configure §¹¦¨«á¡A½Ð¨ì

	xcin-2.5/src/Cinput/bimsphone/

¥Ø¿ý¤U¡Aª½±µ°õ¦æ make install §Y¥i¡C


------------------------
QB.6:  §Ú¦b¦w¸Ë xcin ®É¡Aconfigure ¨S¦³°ÝÃD¡A¦ý¦w¸Ë¨ì¤@¥b«o¥X²{¥H¤Uªº¿ù»~:

gcc -Wall -fsigned-char -O2 -DHAVE_CONFIG_H -I../../../src/include \
	-c -o set_locale.o set_locale.c
set_locale.c: In function `locale_setting':
set_locale.c:68: `CODESET' undeclared (first use in this function)
set_locale.c:68: (Each undeclared identifier is reported only once
set_locale.c:68: for each function it appears in.)
make[3]: *** [set_locale.o] Error 1

¦³¤@ºØ¥i¯à±¡ªp¬O±z¸Õ¹Ï¦b¸ûªº GNU/Linux ¨t²Î¤W¦w¸Ë xcin-2.5.2.1¡A¨Ò¦p¨Ï¥Î
glibc-2.1.2 ¤Î¥H«eªº¨t²Î¡C¦]¬°³o¤@ª©ªº xcin ¨Ï¥Î¤F nl_langinfo() ªº¨ç¦¡
©I¥s¡A¦Ó¦b¸û¦Ñªº glibc ¨t²Î¤W³o­Ó¨ç¦¡ªº¹ê§@¨Ã¨S¦³§¹¥þ¡C¸Ñ¨Mªº¤è¦¡¬°­×
§ï xcin-2.5/config.h ÀÉ¡A±N³o¤@¦æ

#define HAVE_NL_LANGINFO 1

§R°£¡AµM«á­«·s make §Y¥i (¤£­n­«·s configure, §_«hªº¸Ü±z¥²¶·¦A§ï¤@¦¸
config.h ±N¤WÀY¨º¦æ§R°£)¡C


------------------------
QB.7:  ¬°¤°»ò§Ú°õ¦æ xcin ®É¡A·|¶]¥X¦p¤Uªº¿ù»~°T®§©O¡H

	xcin internal error: NULL xcin locale_sub_path

¦³¨âºØ¥i¯à©Ê: ¤@ºØ¬O±z¥i¯à§Ñ¤F¦b°õ¦æ xcin ¤§«e³]¦n locale µ¥Àô¹ÒÅܼơC
½Ð±z°Ñ¦Ò UserGuide ¤å¥óªº»¡©ú¡A±N©Ò»Ýªº locale ¬ÛÃöÀô¹ÒÅܼƳ]¦n¡C

¥t¤@ºØ¥i¯à©Ê¬O±zªº¨t²Îªº locale Àô¹Ò¨Ã¨S¦³¦w¸Ë¦n¡A½Ð±z°Ñ¦Ò¥»¤å QA.2 »P
QA.3 ªº»¡©úÀˬd¤@¹M¡C


------------------------
QB.8:  ¬°¤°»ò§Ú°õ¦æ xcin ®É¡A·|¶]¥X¦p¤Uªº¿ù»~°T®§©O¡H
       xcin: error: IMOpenIM() with name "xcin" transport "X/" failed.

¦h¥bªº±¡ªp¬O±zªº¨t²Î¤¤­ì¥»¤w¶]¤F¤@­Ó xcin ¤F¡A¦ý±z¤S¥Î¬Û¦Pªº XIM
server ¦W¸Õ¹Ï¦A¶]¤@­Ó¤~·|¦p¦¹¡C¸Ñ¨Mªº¤è¦¡¬°: °±±¼±z­ì¨Ó¤w¦b¶]ªº
xcin:

	ps ax | grep xcin | grep -v grep	(§ä¥X­I´º¤¤°õ¦æªº xcin)
	kill <­I´º¤¤°õ¦æªº xcin ªº pid>

µM«á¦A¶]·sªº xcin §Y¥i¡C©ÎªÌ¡A¨Ï¥Î§Oªº XIM server ¦W¨Ó¶]·sªº xcin:

	xcin -x <XIM server ¦W> &

½Ðª`·N¡A­Y¨Ï¥Î¤£¦Pªº XIM server ¦W¨Ó¶]ªº¸Ü¡A¨ä¥Lªº XIM client ¤]¥²
¶·¨Ï¥Î¦¹ XIM server ¦W¡A¦p¦¹¤~¯à»P¸Ó xcin ³s½u¡C¸Ô¨£ UserGuide ªº
»¡©ú¡C


C. xcinrc ³]©w¬ÛÃö°ÝÃD:

------------------------
QC.1:  ¤°»ò¬O xcinrc ÀÉ¡H¥¦©ñ¦b¨º¸Ì©O¡H

xcinrc ÀɬO xcin ªº³]©wÀÉ¡Axcin ªº¤@¥B¥\¯à»Pªí²{¤è¦¡³£¥i¥H¸g¥Ñ³o¸Ìªº³]©w
¨Ó¥[¥H±±¨î¡C¥Ñ©ó xcin-2.5 ªº³]©w»P¥i½Õ¿ï¶µ¤ñ°_ xcin-2.3 »P§óª©ªº xcin
­n½ÆÂø«Ü¦h¡A¬G¨º®Éµ´¤j³¡¤Àªº©R¥O¦C¿ï¶µ³£²¾¨ì¤F xcinrc Àɤ¤¡C

xcinrc Àɪº¦ì¸m¨Ì±z¦w¸Ë xcin ªº¦ì¸m¦Ó²§¡C¦pªG±z¬O¸Ë¦b /usr/local ©³¤U¡A«h
¥¦´N·|¥X²{¦b /usr/local/etc ¤U¡F¦pªG±z¸Ë¦b /usr ©³¤U¡A«h¥¦¥i¯à¥X²{¦b /etc
©Î /usr/etc ¤U¡C­Y±z¬O¨Ï¥Î CLE ªº¨t²Î¡A«h¥¦¦h¥b¬O¦b /etc/chinese ©³¤U¡C

°£¦¹¤§¥~¡A±z¤]¥i¥H±N¨t²Îªº xcinrc Àɽƻs¤@¥÷¨ì±zªº $HOME/.xcin/xcinrc ©Î
$HOME/.xcinrc¡A¦p¦¹±zªº¤@¨Ç­Ó¤H¤Æ³]©w´N¥i¥Hª½±µ§ï¦b¸ÌÀY¡Axcin ¦bŪ¨ú xcinrc
Àɮɷ|¥H±zªº­Ó¤H¤Æ³]©wÀu¥ýŪ¨ú¡C¥t¤@¤è­±¡A¦b±z§ó·s xcin ª©¥»®É¡AÁöµM¨t²Îªº
xcinrc Àɤ]³Q§ó·s¤F¡A¦ý±zªº­Ó¤H¤Æ³]©w¤´µM·|¦s¦b¡A¤£·|¦]¬°¨t²Îªº xcinrc §ó
·s¦Ó³QÂл\±¼¡C


------------------------
QC.2:  §ÚµLªk±Ò°Ê xcin, §ÚÃhºÃ¬O§Úªº fontset ³]©w¦³°ÝÃD¡A§Ú¸Ó¦p¦óÀˬd©O?

¥H¤U´N¥H zh_TW.Big5 locale ¬°¨Ò¨Ó°µ»¡©ú¡C½Ð±zÀˬd¥H¤Uªº¶µ¥Ø:
   
1. /usr/X11R6/lib/X11/locale/zh_TW.Big5/XLC_LOCALE ¤¤¡ABig5 ªº¦r«¬¬O¤°
   »ò? ¥H¤@¯ë±`¨£ªº¬°¨Ò¡A¬O:

======================================================================
fs1     {
        charset {
                name    BIG5-0:GLGR
        }                                                                       
        font    {
                primary BIG5-0:GLGR
        }                                                                       
}                                                                               
======================================================================

   ª`·N! ¦r«¬¦Wªº¥½§À¬O BIG5-0 ¡C

2. ¬d¤@¤U©Ò»Ýªº¤¤¤å¦r«¬¦W¬O§_¦s¦b±zªº¨t²Î¤¤? ¥u­n¬O¦r«¬¦W¥½§À¬O big5-0
   (¤j¤p¼g¤£©ë) ³£¥i¥H¡A¤]´N¬O­n²Å¦X«e­± XLC_LOCALE ¤¤ªº³]©w­È¡C¥H§Úªº
   ¨t²Î¬°¨Ò¡A·í§Ú°õ¦æ

	xlsfonts | grep big5-0

   ®É¡A¦C¥Xµ²ªG¦p¤U:

-twmoe-kai-medium-r-normal-fs-14-140-75-75-c-140-big5-0
-twmoe-kai-medium-r-normal-fs-15-150-75-75-c-150-big5-0
-twmoe-kai-medium-r-normal-fs-16-160-75-75-c-160-big5-0
-twmoe-kai-medium-r-normal-fs-18-180-75-75-c-180-big5-0
-twmoe-kai-medium-r-normal-fs-20-200-75-75-c-200-big5-0
-twmoe-kai-medium-r-normal-fs-24-240-75-75-c-240-big5-0

   ¬G¥H¤W³o¨Ç¦r§Î§Ú³£¥i¥H¥Î¡C

3. Àˬd±zªº xcinrc ªº FONTSET ³]©w¡C¥Ñ©ó§Ú­Ì³oÃä­n³]©wªº¬O zh_TW.Big5 locale
   ªº FONTSET¡A¬G½Ð±z§ä¨ì

	(define zh_TW.Big5

   ¤p¸`¡AùØÀY´N·|¦³¤@­Ó FONTSET ªº¶µ¥Ø (¦Û 2.5.2 ª©°_ÁÙ·|¦³ OVERSPOT_FONTSET 
   ªº¶µ¥Ø¡A¤GªÌªº°Ï§O½Ð¨£ Usage ¤@¤åªº»¡©ú)¡C¥H§Ú³oÃ䬰¨Ò¡A°²³]§Ú·Q¥Î 24 ÂI
   ªº¦r«¬¡A«h§Ú¥u­n³o¼Ë³]§Y¥i:

	(define FONTSET "-sony-*-24-*-iso8859-1,-*-24-240-*-big5-0")

   ¨ä¤¤²Ä¤@¦æ¬O­^¤å¦r«¬¦W¡A²Ä¤G¦æ¬O¤¤¤å¦r«¬¦W¡C¦]¬°§Úªº¨t²Î¤¤½T¹ê¦³ 24 ÂIªº
   big5-0 ¦r«¬ (§Y -twmoe-kai-medium-r-normal-fs-24-240-75-75-c-240-big5-0),
   ¬G§Ú³o¼Ë³]©w¤§«á xcin ´N·|¦Û°Ê¨Ï¥Î¡C
   
   ½Ðª`·N¡A±z¦b xcinrc ¤¤¥i¯à·|¨£¨ì¨â­Ó©Î¥H¤Wªº FONTSET ³]©w¡A¤@­Ó¬O¦b
   zh_TW.Big5 ¸`¡A¤@­Ó¥i¯à¬O¦b zh_CN.GB2312¡C¥Ñ©ó¥H¤Wªº­×§ï¬O°w¹ï big5-0
   ªº¦r«¬¡A¬G¥²¶·³]©w¦b zh_TW.Big5 ¸`¡C¦P²z¡A¦pªG±z§Æ±æ³]©w GB ¦r«¬ªº¸Ü¡A
   ±z¥²¶·³]©w¦b zh_CN.GB2312 ¸`¡C
                

½Ðª`·N¡A³oùؤ£­n³]Ãþ¦ü taipei24, kai24, .... µ¥¡u²¦W¡v¡A¤@©w­n³]Ãþ¦ü¤W­z
®æ¦¡ªº¦W¦r¡A§_«hµLªk¦¨¥\¡C­Y©Ò»Ýªº big5-0 ¦r«¬¤£¦s¦bªº¸Ü¡A±z¥i¥H¦Û¦æ¦w¸Ë
¥¦­Ì¡A©Î®³²{¦³ªº¤¤¤å¦r«¬ alias ¦¨ big5-0 ¦r«¬¡C

¥t¥~¡A¦pªG±z¦b°õ¦æ xlsfonts | grep big5-0 ®É±o¨ìÃþ¦ü¦p¤Uªºµ²ªG:

-twmoe-kai-medium-r-normal-fs-24-240-0-0-c-240-big5-0
-twmoe-kai-medium-r-normal-fs-24-240-75-75-c-240-big5-0

½Ðª`·N²Ä¤@¦æ»P²Ä¤G¦æªº®t§O: ²Ä¤G¦æ -75-75- ³B¦b²Ä¤@¦æ«o¬O -0-0-, ³o®É¡A¦p
ªG±z¦b FONTSET ªº³]©w¬O "-*-24-*-big5-0" ªº¸Ü¡A«h xcin ·|ª½±µ¬D²Ä¤@­Ó¥i¥Î
ªº¦r«¬¦W¨Ó¥Î¡C¦ý³o¼Ë¤@¨Ó xcin ¥i¯à·|¶]¤£°_¨Ó¡A­ì¦]¬O -0-0- ³o¼Ëªº¦r«¬¦Wªº
°ÝÃD¡C¹ï©ó³oºØ±¡ªp¡A±z¥i¥H±N FONTSET ªº³]©w§ï¦¨¡u©ú½T«ü©w¡v¤@­Ó¥i¥Îªº¤¤¤å
¦r«¬¦W¡A¥ç§Y:

(define FONTSET '("-sony-*-24-*-iso8859-1"
                  "-twmoe-kai-medium-r-normal-fs-24-240-75-75-c-240-big5-0"))


------------------------
QC.3:  ½Ð°Ý xcinrc ¤ºªº INDEX_FONT ¬O°µ¤°»òªº°Ú?                               

³o¬O¥Î¨Ó¦b xcin µøµ¡ªº¥k¤U¨¤Åã¥Ü¥Ø«e¿é¤Jªkªº­^¤å¦WºÙ¥Îªº¡A¥i¥H³]¦¨¤@­Ó¤p
¤@ÂIªº­^¤å¦r«¬ (ª`·N! ¥²¶·¬O¤@­Ó­^¤å¦r«¬)¡C


------------------------
QC.4:  ¨º xcinrc ¤ºªº OVERSPOT_FONTSET ¤S¬O°µ¤°»òªº¡H

³o¬O¥Î¨Ó³]©w xcin OverTheSpot µøµ¡ªº¦r«¬¥Îªº¡C½Ðª`·N¦Û xcin-2.5.2 ¶}©l¡A
¦b¨C­Ó locale ³]©w¤¤¡A±z·|¨£¨ì¨â­Ó fontset ªº³]©w¡A¤@¬° FONTSET¡A¥t¤@¬°
OVERSPOT_FONTSET¡A¦Ó«áªÌ¬O¥Î©ó³]©w xcin ¥Dµøµ¡ªº¦r«¬¡A¦]¬°¥Dµøµ¡©Ò¥Îªº¦r
«¬³q±`¤ñ OverTheSpot µøµ¡ªº¦r«¬¨Ó±o¤j¡C

µM¦Ó¡AOVERSPOT_FONTSET ©Ò³]©wªº¦r«¬¤£¨£±o·|°¨¤W°_§@¥Î¡A­ì¦]¬O¹w³]±¡ªp¤U
xcin ·|¨Ï¥Î XIM client ©Ò´£¨Ñªº¦r«¬¨ÓÅã¥Ü¡C¦pªG±z§Æ±æ¥¦°¨¤W°_§@¥Î¡AÁÙ¥²
¶·¦P®É¥´¶} OVERSPOT_USE_USRFONTSET ªº¿ï¶µ¡C¸Ô¨£ Usage ¤@¤å¤¤¹ï³o¨Ç¿ï¶µ
ªº»¡©ú¡C


------------------------
QC.5:  ½Ð°Ý xcinrc ¤º¬°¤°»ò­n¤À zh_TW.Big5 »P zh_CN.GB2312 µ¥¦h­Ó¤p¸`©O?
       ¥¦­Ìªº³]©w¶µ¥Ø¤£³£¬O¤@¼Ëªº¶Ü?

³o¨Ç¬OÄÝ©ó locale ¬ÛÃöªº²Ó³¡³]©w¡A¨Ì locale Àô¹Òªº¤£¦P¦Ó¦³¤£¦P¡C²{¦b xcin
¤w¥i¥H¦b¤£¦Pªº locale ¤U¤À§O¦P®É±Ò°Ê¤F¡A¦ý¦]¬°¤£¦Pªº locale »Ý­n¤£¦Pªº³]
©w¡A¬°¤F¤è«K°_¨£¡A§Ú±N³oÃþªº³]©w¨Ì¤£¦Pªº locale ¤À¶}¡A¦p¦¹¤@¨Ó±z´N¤£»Ý­n
¨C¦¸´« locale ®É´N¥²¶·­×§ï¤@¦¸ xcinrc ¤F :-))


------------------------
QC.6:  §Úªº¨t²Î¤¤¤w¸g¦³ zh_TW.BIG5 locale ¤F¡A¦Ó¥B /usr/X11R6/lib/X11/locale
       ©³¤U¤]¤w¦³ zh_TW.BIG5/XLC_LOCALE ÀÉ¡A¬°¤°»òÁÙ¬OµLªk±Ò°Ê xcin?

±z¥²¶·°µ¥H¤Uªº³]©wÅý xcin ª¾¹D±z¦³ zh_TW.BIG5 locale:

1. §ï xcinrc, ±NùØÀYªº zh_TW.Big5 ¦r²´¥þ³¡´«¦¨ zh_TW.BIG5¡C
   (¤]´N¬O¡A±z¦b xcinrc ¤¤­n¦³¤@­Ó©w¸q zh_TW.BIG5 locale ªº section)

2. ¨ì ..../xcin/tab/ ©³¤U¡A°µ¤@­Ó symbolic link:

        ln -s zh_TW.Big5 zh_TW.BIG5

   (¤]´N¬O¡A±z¥²¶·¬° zh_TW.BIG5 locale ·Ç³Æ¤@­Ó sys.tab)
   (ª`: ¦pªG±z¬O¨Ï¥Î xcin-2.5.2 ¥H¤Wªºª©¥»¡A±z¤£»Ý­n°µ³o¤@¨B¡A¦]¬°©Ò¦³ªº¿é
	¤Jªkªí®æÀɤw§ï©ñ¦b¥H¤º½X¬°¦Wªº¥Ø¿ý (¦p big5/, gb2312/ µ¥) ¤¤¡A¦Ó¤£
	¦A©ñ¤J¥H locale ¬°¦Wªº¥Ø¿ý¤¤¤F)

3. °õ¦æ xcin ®É¡A½Ð¥Î¥H¤U«ü¥O:

        export LC_CTYPE=zh_TW.BIG5
        xcin &                    

4. ­n¦b XIM client ¿é¤J®É¡Aª`·N³o®É xcin ªº IM name ¥i¯à¤wÅܦ¨:

        xcin-zh_TW.BIG5

   ¤F¡A¬G¦b±Ò°Ê XIM client ®É­n°µ¬Û¹ïªº³]©w¡C©ÎªÌ¡A¦pªG±zÁÙ¬O§Æ
   ±æ xcin ªº IM name ÁÙ¬O "xcin" ªº¸Ü¡A¥Î³o­Ó«ü¥O:            

        export LC_CTYPE=zh_TW.BIG5
        xcin -x "xcin" &          

¬ÛÃö²Ó¸`½Ð¨£ xcin-2.5/doc/Usage ¤@¤åªº»¡©ú¡C


------------------------
QC.7:  ¬°¤°»ò§Ú¦b°õ¦æ xcin ®É¡A·|¶]¥X³o¼Ëªº¿ù»~°T®§¡H
       xcin: error: rcfile: DEFAULT_IM: value not specified.

¦³¤@ºØ¥i¯à±¡ªp¬O¡A xcin ®Ú¾Ú±z¥Ø«eªº locale ±Ò°Ê¡A¦ý¥¦«o¦b¥¦ªº³]©wÀÉ xcinrc
¤¤§ä¤£¨ì¸Ó locale ªº¸ê°T¡C¨Ò¦p¡A±z¥Ø«eªº locale ¹w³]¬O C, ¦ý xcinrc ¤¤¹w³]ªº
locale ¦³ zh_TW.Big5 »P zh_CN.GB2312, «o¨S¦³ C, ¦]¦¹´N·|¦L¥X¦p¤Wªº°T®§¡C

¸Ñ¨M¿ìªk¬O: ¥ý½T©w±zªº¨t²Î¤¤©Ò¤ä´©ªº¤¤¤å Big5 ªº locale ¬°¦ó¡H­Y¬O zh_TW.BIG5
«h½Ð°Ñ¦Ò QC.3 ªº»¡©ú°µ¥²­nªº½Õ¾ã¡AµM«á¡A¦b±Ò°Ê xcin ¤§«e¡A¥ý°õ¦æ (for bash)

	LC_CTYPE=<locale_name>; export LC_CTYPE

±z¤]¥i¥H±N¥¦¼g¤J $HOME/.profile ¤¤¡A¥H¤è«K¨C¦¸ login ®É³£¦Û°Ê°õ¦æ¡C¦Ü©ó¦³Ãö
xcinrc ªº³]­p²Ó¸`¡A±¡°Ñ¦Ò xcin-2.5/doc/Usage ¤@¤åªº»¡©ú¡C

½Ðª`·N¡A­Y±zªº¨t²Î¤¤¤w³]©w¤F LC_ALL Àô¹ÒÅܼƪº¸Ü (¦p RedHat-6.1), «h±z¦b³]
©w LC_CTYPE ®É·|¥¢®Ä¡A³o®É±z¥²¶·¥ý¨ú®ø LC_ALL ªº³]©w¡AµM«á¦A³] LC_CTYPE:

	unset LC_ALL
	LC_CTYPE=<locale_name>; export LC_CTYPE

©ÎªÌª½±µ±N LC_ALL ³]¦¨±zªº locale_name ¥ç¥i:

	LC_ALL=<locale_name>; export LC_ALL


------------------------
QC.8:  ¦p¦ó§ïÅÜ xcin ¥Dµøµ¡ªº±Ò°Ê¤j¤p»P¦ì¸m©O¡H

±z¥i¥H­×§ï xcinrc ÀÉ¡A¦b³o¸Ì¦³¨â­Ó³]©w xcin µøµ¡±Ò°Ê¦ì¸mªº¦a¤è:

1. X_GEOMETRY: ¥Î¨Ó³]©w xcin ²Ä¤@¥Dµøµ¡ (§Y¸û¤jªº xcin µøµ¡) ªº¦ì¸m¡C

2. MAINWIN2_GEOMETRY: ¥Î¨Ó³]©w xcin ²Ä¤G¥Dµøµ¡ (§Y¸û¤pªº xcin µøµ¡) ªº¦ì¸m¡C

¥¦­Ìªº³]©w®æ¦¡¦p¤U:	<width>x<height>[x][y]

¨ä¤¤ <width> »P <height> ¤À§O¥Nªíµøµ¡ªº¼e«×»P°ª«×¡A¥H¤@­Ó­^¤å¦rªº¼e«×»P°ª«×
§@³æ¦ì¡C½Ðª`·N±zµLªk§ïÅܵøµ¡ªº°ª«×¡A¥u¯à§ïÅܼe«×¡A­ì¦]¬O xcin µøµ¡ªº°ª«×¬O
¥Ã»·©T©wªº: ²Ä¤@¥Dµøµ¡¬O¨â¦æ¡A¦Ó²Ä¤G¥Dµøµ¡¬O¤@¦æ¡C

«á­±ªº [x] »P [y] ´N¬O³]©wµøµ¡ªº±Ò°Ê¤ô¥­»P««ª½¦ì¸m¡A¬O¥H¿Ã¹õªº¹³¯ÀÂI­Ó¼Æ¬°
³æ¦ì¡C¥H [x] ¦Ó¨¥¡A¦pªG¬O¥¿¼Æ¡A«h¥Nªí±q¿Ã¹õªº³Ì¥ªÃäºâ°_¦h¤Ö¹³¯ÀÂI¡Aª½¨ìµø
µ¡ªº¥ªÃä¬É¬°¤î¡F­Y¬O­t¼Æ¡A«h¥Nªí±q¿Ã¹õªº³Ì¥kÃäºâ°_¦h¤Ö¹³¯ÀÂI¡Aª½¨ìµøµ¡ªº¥k
Ãä¬É¬°¤î¡C¦P¼Ëªº¡A¥H [y] ¦Ó¨¥¡A¦pªG¬O¥¿¼Æ¡A«h¥Nªí±q¿Ã¹õªº³Ì¤WÃäºâ°_¦h¤Ö¹³
¯ÀÂI¡Aª½¨ìµøµ¡ªº¤WÃä¬É¬°¤î¡F­Y¬O­t¼Æ¡A«h¥Nªí±q¿Ã¹õªº³Ì¤UÃäºâ°_¦h¤Ö¹³¯ÀÂI¡A
ª½¨ìµøµ¡ªº¤UÃä¬É¬°¤î¡C

Á|¨â­Ó¨Ò¤l: 45x2+100+10 ´N¥Nªí¼e 45, °ª 2 ªºµøµ¡¡A¨ä¦ì¸m¬Oµøµ¡ªº¥ª¤W¨¤¦ì©ó
(100,10) ªºÂI¤W¡C­Y¬O 18x1+200-15 ´N¥Nªí¼e 18, °ª 1 ªºµøµ¡¡A¨ä¦ì¸m¬Oµøµ¡ªº
¥ª¤U¨¤¦ì©ó (200,-15) ªº¦ì¸m¤W¡A¨ä¤¤ -15 §Y±q¿Ã¹õªº³Ì¤UÃ䩹¤Wºâ 15 ªº¦ì¸m¡C


------------------------
QC.9:  ¬°¤°»ò xcin ·|¦³¨â­Ó¤£¦P¤j¤pªº¥Dµøµ¡©O¡H

¦Û xcin-2.5.2 ¶}©l¡Axcin ¶}©l¤ä´© OverTheSpot ªº¿é¤J¼Ò¦¡¡C¦b¦¹¼Ò¦¡¤U¤j³¡¤À
ªº¿é¤Jªk²Õ¦r¸ê°T³£·|²¾¨ì OverTheSpot ªºµøµ¡¡A¨º¬O¥X²{¦b±zªº¿é¤J´å¼Ðªþªñªº
¤pµøµ¡¡C¦]¦¹­ì¨Óªº¥Dµøµ¡©Ò»Ý­nÅã¥Üªº¸ê°T´N¤Ö¤F¡A¦ÓÅã±o¤Ó¦ûªÅ¶¡¡A¬G¤~¦³¸û¤p
ªº¥Dµøµ¡ (§Y²Ä¤G¥Dµøµ¡) ªº³]­p¡C

±z¥²¶·±N xcinrc ¤¤ªº MAINWIN2_GEOMETRY ¿ï¶µ¥´¶}«á¡A¤~·|±Ò°Ê²Ä¤G¥Dµøµ¡¡C¦Ó
¦b¦¹¼Ò¦¡¤U¡A°£«D¹J¨ì¨Ï¥Î Root ¿é¤J¼Ò¦¡ªº XIM client¡Axcin ¤~·|¤Á´«¨ì²Ä¤@¥D
µøµ¡¨ÓÅã¥Ü¡A§_«hªº¸Ü¤@«ß¥Î²Ä¤G¥Dµøµ¡¨ÓÅã¥Ü¡C


------------------------
QC.10:  §ÚÁÙ¬Oı±o¨º­Ó²Ä¤G¥Dµøµ¡¤Ó¦ûªÅ¶¡¡A¥i¤£¥i¥H³s¥¦³£¤£­n°Ú¡H

±z¦³¨âºØ¤è¦¡¥i¥H¿ï¾Ü (­×§ï xcinrc ÀÉ):

1. ¥´¶} XCIN_HIDE ªº¿ï¶µ¡A«h¦b­^¼Æª¬ºA¤U xcin µøµ¡¬OÁôÂ꺡A¥u¦³¦b¤¤¤å¿é¤J
   ®É¥¦¤~·|¥X²{¡C

2. ¥´¶} OVERSPOT_WINDOW_ONLY ªº¿ï¶µ¡A«h¦b¨Ï¥Î OverTheSpot ¿é¤J¼Ò¦¡ªº XIM
   client ¤U¡A§¹¥þ¤£·|¦³ xcin ¥Dµøµ¡¥X²{¡A¥u¦³ OverTheSpot µøµ¡·|¬¡°Ê¡C¦ý
   ¦]¬° OverTheSpot µøµ¡¤ñ¸û¤p¡A¬GµLªk¥]§t­ì¨Ó¥Dµøµ¡¤¤©Ò¦³ªº¸ê°T¡C


------------------------
QC.11:  ¤°»ò¬O OverTheSpot ©O¡H

OverTheSpot ¬O xcin ªº¤@ºØ¿é¤J¼Ò¦¡¡A¦Û xcin-2.5.2 °_¶}©l¤ä´©¡C

¦b XIM ªº¨ó©w¤¤¡A¦³¤@­ÓºÙ¤§¬°¡u¿é¤Jªk¼Ò¦¡¡v(input style) ªº¡u¨ó©w¡v¡A²³æ
Á¿´N¬O XIM server »P XIM client ¤§¶¡­n¥H«ç»ò¼Ëªº¨Ï¥ÎªÌ¤¶­±®i²{µ¹¨Ï¥ÎªÌ¡C
XIM ¤ä´©ªº input style ¦³«Ü¦hºØ¡A¦ý¤jÅé¤W¥i¥H¤À¦¨ pre_edit area (²Õ¦r°Ï)
»P status area (¿é¤Jªkª¬ºA°Ï) ¨Ó½Í: ³o¨â­Ó°Ï°ì¥i¥H¤À§O (©Î¦P®É) ¦b¿é¤Jªk
µøµ¡¤W¡B©Î¥X²{¦b±z¥Ø«eªº´å¼Ðªþªñ¡B©Î XIM client¦Û¤v·Ç³Æ¤@¶ô°Ï°ì¨ÓÅã¥Ü ....
µ¥µ¥¡C¦Ü©ó­n¥Î¨º¤@ºØ style? ³q±`³£¬O·í XIM client »P server ·f¤W½u®É¡A¥¦
¥ý¦V server ¸ß°Ý¦³¨º¨Ç style¥i¥Î¡AµM«á¦A±q¤¤¬D¿ï¤@ºØ¡A§i¶D server »¡«ü©w
­n¨Ï¥Î¡A¤GªÌ¹F¦¨¨óij«á§Y¥i¤W¸ô¡C

¦b xcin-2.5.1 ¤§«e¡Axcin ¥u¤ä´©¤@ºØ input style¡A¶Ç²Î¤WºÙ¤§¬° Root¡A·N«ä¬O
pre_edit area »P status area ³£¦b xcin µøµ¡¤¤¡G«eªÌ§Y¬°µøµ¡²Ä¤G¦æ¨º¶ô¬õ´Ä
¦âªº°Ï°ì (±z©ÒºV¤Jªº¦rÁä½X·|¨ÌÄò¥X²{¡Aµ¥¨ìºV§¹¤§«á¤~·|¶]¥X¤@­Ó§¹¾ãªº¦r¡A³o
¹Lµ{´N¬O¡u²Õ¦r¡v) ¡A­Y¹J¨ì¦h­«¦r¿ï¾Ü®ÉÁÙ·|¥]¬Aµøµ¡ªº²Ä¤@¦æ¡F¦Ó«áªÌ«h¬°µøµ¡
²Ä¤G¦æªº¥ª¥k¨â¶ô°Ï°ì¡A¥¦­ÌÅã¥Ü¤F¥Ø«e xcin ©Ò³Bªºª¬ºA (¦p­^¼Æ¡B¥þ«¬¥b«¬µ¥)¡C

¦Ó¦Û 2.5.2 °_¡A§Ú­Ì´À xcin ¥[¤J¥t¤@ºØ input style¡A¶Ç²Î¤WºÙ¤§¬° OverTheSpot, 
¥¦ªº·N«ä¬O pre-edit area ·|¥X²{¦b±z¥Ø«e¥´¦rªº´å¼Ðªþªñ¡A¦Ó¥B¬O¥Ñ XIM server
(§Y xcin) ¥t¥~¦b¨º´å¼Ðªþªñ¶}¤@­Ó¤p¤pµøµ¡¡A¦Ó±N pre_edit area ¤¤ªº¸ê®ÆÅã¥Ü¦b
¨º¡C¦¹ input style ³Ì¤jªº¦n³B´N¬O pre_edit area ¬O¸òµÛ´å¼Ð¶]ªº¡A¦p¦¹·í±z¦b¥´
¦r®É¡A±z´N¤£¥Î²´·ú¤@ª½²¾¤W²¾¤U¬Ý´å¼Ð¥H¤Î xcin µøµ¡¤F¡C


------------------------
QC.12:  §Ú­n¦p¦ó§ïÅÜ xcin ªº¿é¤J¼Ò¦¡©O¡H

¦pªG³o¸Ì«üªº¬O xcin ¦b±Ò°Ê®É´N¶}±Ò¬Y¨Ç¿é¤J¼Ò¦¡ (input style) ªº¤ä´©ªº¸Ü¡A±z
­×§ï xcinrc ÀÉ¡A¦b INPUT_STYLE ¿ï¶µ¤¤¦C¥X±z§Æ±æ¶}±Òªº¿é¤J¼Ò¦¡§Y¥i¡C¨Ò¦p:

(define INPUT_STYLE             '(Root OverTheSpot))

ªí¥Ü¦P®É¶}±Ò Root »P OverTheSpot ¨â­Ó¼Ò¦¡¡C¦p¦¹·í±z¦b­«·s±Ò°Ê xcin ®É¡A±z·|
¨£¨ì¦p¤Uªº°T®§:

XCIN (Chinese XIM server) version xcin 2.5.2-pre1.
(module ver: 20000110, syscin ver: 20000210).
(use "-h" option for help)

xcin: XIM server "xcin" locale "zh_TW.Big5" transport "X/"
xcin: inp_styles: Root OverTheSpot
                  ^^^^^^^^^^^^^^^^
³o¼Ë´Nªí¥Ü¦¨¥\±Ò°Ê¤F¡C

µM¦Ó¡A¬O§_±µ¤U¨Ó´N¨Ï¥Î¬Y­Ó¯S©wªº¿é¤J¼Ò¦¡¨Ó¿é¤J¡AÁÙ±o¥Ñ XIM client ¨Ó¨M©w (¥Ø
«e xcin ¤£¥D°Ê¬° client ¨M©w)¡C¥Ñ©ó OverTheSpot ¬O¸û¦nªº¤@­Ó style¡A¦]¦¹¥Ø«e
µ´¤j³¡¤Àªº XIM client ¦b¹ï©ó¨Ï¥ÎÀu¥ý¶¶§Ç¤W³£¬O OverTheSpot ¤j©ó Root (³q±`
Root ³£¬O±Æ¦b³Ì«áªº)¡C¦]¦¹¡A¦pªG XIM client ¦b»P XIM server ¥æ½Í¹L«á¡Aµo²{¦³
OverTheSpot ³o­Ó¿é¤J¼Ò¦¡¥i¥Î®É¡A¤@¯ë±¡ªp¤U³£·|«ü©w¨Ï¥Î¥¦¡C



D. ¿é¤Jªk¼Ò²Õ¬ÛÃö°ÝÃD:

------------------------
QD.1:  xcin-2.5 ªºª`­µ¿é¤Jªk¥Î°_¨Ó¦n©_©Ç¡A¸ò¤@¯ëªº¿é¤J²ßºD¤£¤Ó¤@¼Ë¡C
 
³o­n¤À¦¨¨âÂI¨Ó¦^µª:
 
1. Ãö©óª`­µ¿é¤Jªkªº¤W¦r²ßºD: ±z¥i¯à¬O¨Ï¥Î¨ì¤F gen_inp + phone ªºª`­µ
   ¿é¤Jªk¤F :-))  xcin-2.5 ´£¨Ñ¨âºØª`­µ¿é¤J¡A¤@¬°³q¥Î©Ê¿é¤Jªk¼Ò²Õ¦A±¾
   ¤W phone.tab (§Y gen_inp + phone), ³o¥u¬O­Ó«Ü¶§¬Kªºª`­µ¿é¤Jªk¡A¨S
   ¤°»ò¥\¯à¡A¥t¤@­Ó¬O bimsphone ¼Ò²Õ¡A¦¹¬°¡u±M·~¡vªºª`­µ¿é¤Jªk¡C¥¦¾Ö
   ¦³³\¦h¤j®a¥i¯à³£»Ý­nªº¥\¯à¡A¨Ò¦p¦Û°Ê¿ï¦r¡A¤ä´©³\¤ó»P­Ê¤ÑÁä½Lµ¥¡C

   ¦b§Ú­Ìªº xcinrc ¤¤¡A¤w¹w³]¦n¤F ctrl+alt+3 ±Ò°Ê gen_inp + phone, ¦Ó
   ctrl+alt+6 «h±Ò°Ê bimsphone, §Æ±æ¤j®a¦b¥ÎºD¤F xcin-2.3.X ®É¡A¯à°÷
   ¹ï¦¹·P¨ì¼ô±x¡C·íµM¡A¦pªG±z¤£³ßÅw³o¼Ë¡A¤]¥i¥H¦Û¦æ­×§ï xcinrc ¥[¥H§ó´«¡C

2. ¥Ø«e gen_inp.so ¤w¯à±µ¨ü¤@¦r¦h½X¡B¦h¦r¦P½Xªº .cin ÀÉ¡C·í¹J¨ì¤@¦r¦h
   ½X¡B©Î¦h¦r¤@½X®É¡A gen_inp.so ªº¤º©w±Æ¦C¶¶§Ç¬O¨Ì .cin ­ì¨Óªº±Æ¦C¶¶
   §Ç¦Ó©wªº¡C­Y±zµo²{¦³±Æ¦C¶¶§Ç¤£¹ïªº±¡ªp¡A¥i¥H¸ÕµÛ­×§ï¤@¤U .cin Àɤ¤
   ªº¶¶§Ç¡AµM«á¦A¥Î cin2tab ­«·s½sĶ¤@¦¸¡A¦A­«¶] xcin ¡A¬Ý¬O§_¦³§ïµ½¡C

   °£¦¹¤§¥~¡A¦b³B²z¤@¦r¦h½X®É¡A±z¥i¥H¦b¨ä¤¤¬D¤@­Ó°µ¬°¦¹¦rªº¡u¥Nªí½X¡v¡A
   «h gen_inp.so ¦bÅã¥Ü¦¹¦rªº¦r½X®É¡A«K·|¥H¦¹¡u¥Nªí½X¡v¨ÓÅã¥Ü¡C¸Ô¨£
   doc/Cin ¤@¤åªº»¡©ú¡C


------------------------
QD.2:  ¦A­ì¦³ªº xcin-2.3.X µü­µ¿é¤Jªk¤¤¡A¥i¥H«ö SHIFT+, SHIFT+. ¦Ó¿é¥X
       ¥þ§Î¼ÐÂI¡A¦ý xcin-2.5 ªº bimsphone ¬°¤°»ò¨S¦³©O?

±z¥i¥H­×§ï $XCIN_DEFAULT_DIR/tab/zh_TW.Big5/default.phr, ¨ì %shift ¨º¤@
¸`¡A¦Û¦æ³]©w±z§Æ±æ«ö¤U shift+¬YÁä«áªº¿é¥X¦r¦ê¡A¨ä¤¤¸ÓÀɪº®æ¦¡¬O¥ª¥bÃ䪺
¥b§Î¦r¬O shift+©Ò«ö¤UªºÁä¡A¦Ó¥k¥bÃ䪺¥þ§Î¦r´N¬O xcin ªº¿é¥Xµ²ªG¡C¦pªG±z
¨S¦³ root Åv­­¡AµLªkª½±µ­×§ï¨ä¤º®e®É¡A±z¥i¥H±N¥¦½Æ»s¨ì

        $HOME/.xcin/tab/

¦A¨Ó­×§ï¡C¦P®É±z¤]­n­×§ï xcinrc ªº¤º®e¡A±N bimsphone ¨º¤@¸`ªº QPHRASE_MODE 
³]¦¨:
	(QPHRASE_MODE      1)

¥H±Ò°Ê¦¹¥\¯à¡C½Ðª`·N¡A¦b default.phr Á`¦@¤À¦¨¤­¸`¡A¤À§O¬O %trigger, %shift,
%alt, %ctrl ¥H¤Î %fallback, ¨ä¤¤¤¤¶¡¤TªÌ¤À§O¥Nªí«ö shift, alt, ctrl ¦A¥[¨ä
¥LÁ䪺¿é¥X¡A¦Ó %fallback ¥Nªí­Y±z©Ò«öªº¦rÁ䤣¬O¸Ó¿é¤Jªk¤¤¦³·N¸qªº¦rÁä®É¡A´N
¥H¦¹¤p¸`ªº¤ù»y¿é¥X¡C­Y±z·Q±Ò°Ê³o¨Ç¥\¯à¡A±z¥²¶·¾A·í³]©w QPHRASE_MODE ªº­È¡C
¸Ô¨£ doc/modules/im_comm ªº»¡©ú¡C
 

------------------------
QD.3:  §Ú­n¦p¦ó§ïÅܪ`­µ¿é¤JªkªºÁä½L¹ïÀ³©O¡H¦p­Ê¤ÑÁä½L©Î³\¤óÁä½L¡H

XCIN ¦³¨âºØ¤£¤@¼Ëªºª`­µ¿é¤Jªk¡A¤@¬° gen_inp ¼Ò²Õ·f°t phone.cin¡A¥t¤@­Ó¬°
bimsphone ¼Ò²Õ©Ò´£¨Ñªºª`­µ¿é¤Jªk¡A¦Ó¥u¦³«áªÌ¤~¯à§ïÅÜÁä½L¹ïÀ³¡C§ïÅܪº¤è¦¡¬°
­×§ï xcinrc ÀÉ¡A§ä¨ì 

	(define bimsphone 
©Î 
	(define bimsphone_default 

¤p¸`¡A¸ÌÀY·|¦³ KEYMAP ªº³]©w¡A­×§ï¥¦ªº­È§Y¥i¡C±z¥i¥H¨£¨ì¦¹³]©w«áÀYªºª`¸Ñ¡A
¨Ò¦p³]¬° 1 ¥Nªí¹s³üÁä½L¡A2 ¥Nªí­Ê¤ÑÁä½L¡A3 ¥Nªí­Ê¤Ñ 26 Áä½L¡A¦Ó 4 ¥Nªí³\¤ó
Áä½L .... µ¥¡C


------------------------
QD.4:  ¹³ª`­µ³oºØ¤@­Ó keycode ¥i¥H¹ï¬M¨ì¦hºØ¦rªº¿é¤Jªk, cin2tab ¦ü¥G·|§â 
       phone.cin ¸Ìªº¶¶§Ç¶Ã±¼¡C¹³ "¤Ñ" ¦b .cin ªº¶¶§Ç¬O "¤Ñ²KÐÝÌZÜ_Ôì", 
       ¥´¥X¨Óªº¶¶§Ç«o¬O "Ôì²KÜ_ÌZÐݤÑ", ¨ä¥L¦r¤]¬O¤@¼Ë, ª©(2.3.02) ´N¨S
       ¦³³oºØ±¡§Î¡C³o¬O bug ÁÙ¬O feature?

³o¬O Bug, »P©Ò¨Ï¥Îªº±Æ§Ç¨ç¦¡¦³Ãö¡C²z½×¤W¡A¥Ø«e xcin ¤w±Ä¥Î¦Û¤vªº±Æ§Ç¨ç¦¡¡A
¦Ó¤£¦A¨Ì¿à¨t²Î´£¨Ñªº±Æ§Ç¨ç¦¡¡A¬G¤W­z°ÝÃDÀ³¸Ó¤£·|µo¥Í¤F¡C


------------------------
QD.5:  ¦p¦ó­×§ï xcin ±Ò°Êªº¹w³]¿é¤Jªk©O¡H

¹ï©ó¤£¦Pªº locale¡A¨ä¦b xcinrc ªº¸Ó locale ¤p¸`¤¤³£¦³¹w³]¿é¤Jªkªº³]©w¶µ¡C¨Ò
¦p zh_TW.Big5 locale¡A½Ð±z§ä¨ì:

	(define zh_TW.Big5

¤p¸`¡A­×§ï DEFAULT_IM «áÀYªº­È¡A±N¥¦§ï¦¨±z§Æ±æªº¿é¤Jªk¦W§Y¥i¡C½Ðª`·N³o­Ó¿é
¤Jªk¦W¤]¥²¶·¦P®É¥X²{¦b¦P¤@¤p¸`¤¤©³¤Uªº CINPUT «áÀY©Ò¦Cªº¿é¤Jªk¤¤¡C


------------------------
QD.6:  ½Ð°Ý­n¦p¦ó¼W¥[·sªº¿é¤Jªk©O¡H

­n¼W¥[·sªº¿é¤Jªk±z¥²¶·¥ý½T©w¨â¥ó¨Æ:

1. ±zªº¿é¤Jªk¬O¨Ï¥Î¨ººØ¤º½X¡H­Y¬O Big5 ªº¸Ü«hÄÝ©ó zh_TW.Big5 locale, ­Y¬O
   GB ªº¸Ü«hÄÝ©ó zh_CN.GB2312 locale¡C

2. ±zªº¿é¤Jªk¬O¨Ï¥Î gen_inp ¼Ò²Õ¡HÁÙ¬O¥¦¥t¥~´£¨Ñ¤@­Ó·sªº¼Ò²Õ¡H

¥H¤U§Ú¥ý´N³Ì¤@¯ëªº±¡ªp¡A§Y±z·Q·s¼Wªº¿é¤Jªk xyz ¬O¨Ï¥Î Big5 ½X¡A¥B¨Ï¥Î gen_inp
¼Ò²ÕÅX°Ê¡A¨Ó§@»¡©ú¡C¤Z¬O¨Ï¥Î gen_inp ¼Ò²Õ¨ÓÅX°Êªº¿é¤Jªk¡A¥¦¥²¶·­n¦³¤@­Ó .cin
ÀÉ¡A§Ú·Q¨Ï¥Î¹Lª© xcin ¨t²ÎªºªB¤ÍÀ³¸Ó¬Û·í¼ô±x¡C¦³¤F .cin ÀÉ¡A±z¥²¶·¥ý¥Î 
cin2tab ³o­Óµ{¦¡±N¥¦Âন .tab ÀÉ:

	cin2tab -l big5 xyz.cin

¦b³oùØ "-l big5" ¿ï¶µ¬O«ü©w±Ò°Êªº¤º½X¦W¡A¦]¬° xyz.cin ¬O¨Ï¥Î Big5 ½X¡A¬G³o
ùتº­È¬O big5¡C·íµM¡A¦pªG±zªºÀô¹Ò¤¤¤w¹w³]¤F

	LC_CTYPE=zh_TW.Big5

Àô¹ÒÅܼƪº¸Ü¡A±z¥i¥H¬Ù²¤³o­Ó -l ªº¿ï¶µ¡C½Ðª`·N¡A xcin-2.5 ªº cin2tab ©Ò±µ¨ü
ªº .cin Àɮ榡»Pª©ªº¤£¦P¡C·sªº®æ¦¡©w¸q¥i¥H¦b Cin ¤@¤åªº²Ä¤G¸`¤¤§ä¨ì¡C

§¹¦¨«á¡A±z·|¦³¤@­Ó xyz.tab, ³o®É±z¥i¥H±N¥¦©ñ¤J¹w³]ªº xcin ¥Ø¿ý¤¤¡A¦p

	/usr/local/lib/xcin/tab/big5/

©ÎªÌ±z¦b¦Û¤vªº $HOME ¥Ø¿ý¤U«Ø¤@­Ó .xcin ¥Ø¿ý¡A§â¥¦©ñ¶i¥h¥ç¥i¡C

±µµÛ¡A±z­n§ï xcinrc ÀÉ¡A­n§ï¨â­Ó¦a¤è:

1. locale section ªº³¡¤À: ¥Ñ©ó xyz.tab ÄÝ©ó zh_TW.Big5 locale, ¬G³o®É½Ð§ä¨ì
   zh_TW.Big5 ¨º¤@¸`:

(define zh_TW.Big5
	............................

   ¦b³o¤@¸`¤¤¦³¤@­Ó CINPUT ªº¶µ¥Ø¡A¥¦¬O«ü©w¥Ø«e xcin ¥i¸ü¤Jªº¿é¤Jªk¡A¦p

	(CINPUT             (cj phone bimsphone zh_hex)

   ±z¥u­n±N xyz ¿é¤Jªk¥[¶i¥h§Y¥i¡A¦p

	(CINPUT             (cj phone bimsphone zh_hex xyz)

   ¸Ô¨£ Usage ¤@¤åªº»¡©ú¡C

2. ¥[¤J xyz ¿é¤Jªk¸Ô²Ó©w¸q: ¥Ñ©ó xyz ¿é¤Jªk¬O¥Ñ gen_inp ¼Ò²Õ¨ÓÅX°Êªº¡A¬G
   ±z¥i¥Hª½±µ°Ñ¦Ò­ì xcinrc ¤¤ cj ¿é¤Jªk¨º¤@¸`ªº¼gªk¡A¼g¤@¥÷ xyz ¿é¤Jªk¸`,
   ª½±µ¥[¤J xcinrc ÀÉùØÀY¡A¨Ò¦p:

(define xyz
        '((SETKEY               9)
          (AUTO_COMPOSE         YES)
          (AUTO_UPCHAR          YES)
          (AUTO_FULLUP          NO)
          (SPACE_AUTOUP         NO)
	  ..........................

   ¨ä¤¤¨C¤@­Ó²Ó³¡¶µ¥Øªº·N¸q½Ð°Ñ¦Ò modules/gen_inp ¤@¤åªº»¡©ú¡C­n¯S§Oª`·Nªº
   ¬O SETKEY ¥Nªí¤F¹w³]±¡ªp¤U¤Á´«¨ì¦¹¿é¤JªkªºÁä¡A¦p¤W¨Ò¬° ctrl+alt+9, ¥¦¦b
   ¦P¤@ locale ©Ò¦³¿é¤Jªk¤¤¥²¶·¬O¿W¤@µL¤G¡A¤£¯à¦³­«½Æªº (¦ý¦b¤£¦P locale ¤¤
   ¥i¥H­«½Æ)¡A¦]¦¹¦b³]©w³o¤@¶µ®É­nª`·N¡C

³]©w§¹¦¨«á¡A­«¶] xcin §Y¥i¡C


¦pªG±z­n·s¼Wªº¿é¤Jªk¤£¨Ï¥Î gen_inp ¼Ò²Õ¡A¦Ó¬O¨Ï¥Î¨ä¥L¼Ò²Õªº¸Ü¡A­º¥ý±z¥²¶·
½T©w±z¤â¤Wªº¨º­Ó¼Ò²Õ (xyz-module) ªºª©¥»²Å¦X±z¥Ø«e¨Ï¥Îªº xcin ª©¥»¡C±z¥Ø
«e¨Ï¥Îªº xcin ¼Ò²Õª©¥»¥i¥H¦b xcin ±Ò°Ê®É¨£¨ì¡A¨Ò¦p:

XCIN (Chinese XIM server) version xcin 2.5-19991128.
(module ver: 19991107, syscin ver: 19990521).
(use "-h" option for help)

¨ä¤¤ module ver §Y¬° xcin ªº¼Ò²Õª©¥»¡C¦pªG xyz-module ªº¼Ò²Õª©¥»»P xcin ªº
¤£¦Xªº¸Ü¡A xcin ·|©Úµ´¨Ï¥Î¥¦¡A³o®É±z°ß¤@­Ó¿ìªk´N¬O­«·s½sĶ¤@¦¸ xyz-module,
Åý¥¦¦b±zªº xcin ªº source ¤U½sĶ¡A¸Ô²Ó¨BÆJ½Ð°Ñ¾\¸Ó¼Ò²Õªº»¡©ú¤å¥ó¡C

­Y¨S¦³°ÝÃDªº¸Ü¡A±z¥i¥H±N xyz-module.so ©ñ¨ì xcin ¹w³]¥Ø¿ý¤U¡A¦p

	/usr/local/lib/xcin/

©ÎªÌ©ñ¨ì±zªº $HOME/.xcin/ ©³¤U§Y¥i¡A¦P®É±z¤]­n¸Ë¦n¸Ó¼Ò²Õªºªþ±a¸ê®ÆÀÉ¥H¤Î
library (½Ð°Ñ¾\¸Ó¼Ò²Õªº»¡©ú¤å¥ó)¡C±µµÛ´N¬O­×§ï xcinrc, §ïªk»P«e­z§¹¥þ¬Û¦P:
°²³]±zªº xyz ¿é¤Jªk¨Ï¥Î xyz-module.so ¼Ò²Õªº¸Ü¡A«h locale ¸`¤¤

	(CINPUT             (cj phone bimsphone zh_hex xyz)

¦Ó¦b xyz ¸`¤¤

(define xyz
        '((SETKEY               9)
	  (MODULE		"xyz-module")
	  ...................................

­n¯S§Oª`·N³oùØ¥²¶·­n¦³¤@­Ó MODULE ¶µ¡A¥Î¨Ó«ü©ú¦¹¿é¤Jªk©Ò¨Ï¥Îªº¼Ò²Õ¡C¦Ü©ó
¨ä¥Lªº³]©w¿ï¶µ½Ð¦Û¦æ°Ñ¦Ò¸Ó¼Ò²Õªº»¡©ú¤å¥ó¡C


------------------------
QD.7:  §Ú¦p¦ó¦b bimsphone ¿é¤Jªk¤¤¥[¤J·sµü©O¡H

bimsphone ªºµü®w¬OÄÝ©ó libtabe ®M¥óªº¤@³¡¤À¡A¦pªG±z­n¥[¤J·sµüªº¸Ü¡A­º¥ý
±z¥²¶·¥ý¨ú¦^ libtabe ®M¥óªº­ì©l½X¡A±z¥i¥H±q³o¸Ì¤U¸ü:

	ftp://xcin.linux.org.tw/pub/xcin/xcin/
	ftp://xcin.linux.org.tw/pub/xcin/libtabe/

±N­ì©l½X®M¥ó¸Ñ¶}«á¡A¨äµü®wÀÉ­ì©l½X´N©ñ¦b

	libtabe/src/tsi-src/tsi.src

±z¥i¥H«ö·Ó¨ä®æ¦¡¥[¤J·sµü¡C¨ä®æ¦¡«Ü²³æ¡A¨C¤@­Óµü¤@¦æ¡A¦@¤T­ÓÄæ¦ì¡A¦p¤U:

	<µü±ø> <µüÀW> <µü±øªºª`­µ½X>

¨ä¤¤ <µü±ø> ¬O«üµüªº¥»¨­¡A<µüÀW> ±z¥u»Ý¶ñ¤J 0 §Y¥i¡A¦Ó <µü±øªºª`­µ½X> ±z
¥i¶ñ¥i¤£¶ñ¡A­Y¤£¶ñªº¸Üµ¥¤@·|µ{¦¡¦b½sĶµü®w®É·|¦Û°Ê¸É¤W¡C¦ý­ì«h¤W§Ú­ÌÁÙ¬O
«Øij±z¶ñ¤J¤ñ¸û¦n¡C

§¹¦¨«á¡A½Ð«ö·Ó¥H¤U¨BÆJ½sĶ:

	sort tsi.src > tsi.src.new
	tsiadd -d tsi.db -f tsi.src.new -y -r
	tsiyindump -d tsi.db -y yin.db

¨ä¤¤²Ä¤@­Ó«ü¥O±N¾ã­Óµü®wÀɱƧǡA¦s¦¨¤@­Ó·sÀÉ: tsi.src.new¡A²Ä¤G­Ó«ü¥OŪ
¤J tsi.src.new ²£¥Í tsi.db ÀÉ¡A³Ì«á¤@­Ó«ü¥OŪ¤J tsi.db Àɲ£¥Í yin.db ÀÉ¡A
¦Ó tsi.db »P yin.db ´N¬O½sĶ§¹¦¨ªºµü®wÀÉ¡C±µ¤U¨Ó¡A±z´N¥i¥H±N³o¨â­Óµü®wÀÉ
¦w¸Ë¨ì¨t²Î¥Ø¿ý¥h:

	cp tsi.db yin.db $(prefix)/share/tabe/tsiyin/

¨ä¤¤ $(prefix) ¬O±z·íªì¦w¸Ë libtabe ªº¦ì¸m¡A¥i¯à¬O /usr ©ÎªÌ /usr/local¡C

¦³Ãö tsi.src ¸Ô²Óªº®æ¦¡»¡©ú¡A½Ð¨£:

	http://xcin.linux.org.tw/libtabe/tsi.src.html


------------------------
QD.8:  §Úµo²{ª`­µ¿é¤Jªk¤¤¥i¥H³sÄò¿é¤J¨â­Ó £t¡A©ÎªÌ¥i¥H¿é¤J¦p £«£x ³o¼Ëªº
       ­µ¡A³o¦ü¥G«Ü¤£¦X²z¡H

·|¦³³oºØ°ÝÃDªº¬O¨Ï¥Î gen_inp ¼Ò²Õªºª`­µ¿é¤Jªk¡A¨ä¿é¤Jªkªí®æ¦W¬° phone.cin¡C
¥Ñ©ó gen_inp ¼Ò²Õ¬O©w¦ì¬°¤@¯ë³q¥Î«¬ªº¿é¤Jªk¼Ò²Õ¡A¥¦ªº¤u§@¥u¦³±N§A©Ò¿é¤Jªº¦r
Áä¬dªí¡A§ä¥X¹ï¬Mªº¦rµM«á°e¥X¡C¦]¦¹¡A¹ï©ó¥ô¦ó¿é¤Jªkªí®æ (§Y .cin ªí®æ)¡A¥¦ªº
³B²z¤è¦¡³£¬O¤@µø¦P¤¯¡A¤£·|¦]¬°¿é¤Jªkªº¤£¦P¦Ó¦³¯S§O¤£¦Pªº³B²z¤è¦¡¡C¦]¦¹±z¤~
·|¨£¨ì¦b¦¹ª`­µ¿é¤J¤¤¡A¿ù»~ªºª`­µ½X¶¶§Ç¤´¥i±µ¨ü¡A¦]¬°¦¹¼Ò²Õ¤¤¨Ã¨S¦³¯S§O¤º«Ø
ª`­µ½Xªº¶¶§Çªí¡C

¦pªG±z«Ü¤£³ßÅw³o­Ó¯Ê­­ªº¸Ü¡A«Øij±z¥i¥H§ï¥Î bimsphone ¿é¤Jªk¼Ò²Õ¡C¦¹¼Ò²Õ¬O±M
ªù°w¹ïª`­µ¿é¤J¦Ó³]­pªº¡A¤£¶È¤º«Ø¤F¥¿½Tªºª`­µ½X¦¸§Ç¡A¬G¤£·|¦³¤W­zªº°ÝÃD¡A¦P
®É¥¦ÁÙ¤º«Ø¦hºØª`­µ½XÁä½L¹ï¬M¡A¥H¤Î¦Û°Ê¿ï¦r¥\¯à .... µ¥µ¥¡C¦pªG±z¤£³ßÅw¥¦ªº
¦Û°Ê¿ï¦r¥\¯à¡A±z¤]¥i¥H±N¥¦Ãö±¼¡A¥u­n­×§ï xcinrc ÀÉ¡A§ä¨ì bimsphone_default
©ÎªÌ bimsphone ªº³]©w¤p¸`¡A±N¦¹¿ï¶µ³]¦¨ NO:

	(AUTO_SELECTION		NO)

µM«á­«·s±Ò°Ê xcin §Y¥i¡A¦p¦¹¥¦´N¬O¤@­Ó¯ÂºØªºª`­µ¿é¤Jªk¤F¡C



E. xcin ³]­p¬ÛÃö°ÝÃD:

------------------------
QE.1:  ½Ð°Ý§Ú­n¦p¦ó Debug xcin?

±z¥i¥H¸Õ¸Õ compile xcin ®É¡A±N xcin ªº DEBUG ¿ï¶µ¥´¶}:

	configure --enable-debug

«h­«·s½sĶ¹L«áªº xcin ´N·|¦h¥X¤@­Ó -v ªº°Ñ¼Æ (§Y verbose)¡A¥i¥Î¨Ó³]©w°£¿ù
°T®§Åã¥Ü¼h¯Å¡C¨Ï¥Î¤è¦¡¬°:

	xcin -v n <¨ä¥L¿ï¶µ>

¨ä¤¤ n ¬°¼Æ¦r¡A¼Æ¦r¶V¤jªí¥ÜÅã¥Üªº°£¿ù°T®§¶V¦h¡C¤Uªí¬°¸Ó¼Æ¦r­È»P±NÅã¥Üªº°£
¿ù°T®§¹ïÀ³:

	1:	°T¸¹ (signal) ÄdºIÅã¥Ü¡A¥]¬A SIGQUIT, SIGTERM, SIGINT¡C

	2:	fontset ºÞ²z¾÷¨î°T®§Åã¥Ü¡C
		¤W¼h XIM ¹B§@°T®§Åã¥Ü¡C

	3:	À³¥Îµ{¦¡ IC Àˬd¾÷¨î°T®§Åã¥Ü¡C
		©³¼h (IMdkit) XIM ¹B§@°T®§Åã¥Ü¡C
	
Ãö©ó XIM ªº¹B§@¹Lµ{¡A³q±`¦b±Ò°Ê xcin «á¡A¦A±Ò°Ê client, «h°T®§¬yµ{¦p¤U:

1. XIM_OPEN:
	Client »P XIM server (§Y xcin) ³s¤W¡C

2. XIM_CREATE_IC:
	Client ¶}±Ò¤F¤@­Óµøµ¡¡A¥B¸Óµøµ¡¥i¥H±µ¨ü XIM server ªº¿é¤J¡C³o¼Ëªºª«
	¥óºÙ¤§¬°¤@­Ó IC (Input Context)¡C

3. XIM_SET_IC_FOCUS:
	Client ©Ò¶}ªº³o­Óµøµ¡³]¬° XIM ¤u§@«e´ºµøµ¡¡A¦¹µøµ¡ª½±µ»P XIM server
	·¾³q¡C

4. XIM_UNSET_IC_FOCUS:
	¦pªG¦¹®É±zªº·Æ¹«ÂI§Oªºµøµ¡¡A«h­ì¨Ó XIM_SET_IC_FOCUS ªºµøµ¡¬°Åܦ¨­I
	´ºµøµ¡¡C

5. XIM_TRIGGER_NOTIFY:
	¦b±z©|¥¼«ö¤U trigger key ¤§«e (¦p ctrl+space)¡A xcin ÁÙ¤£·|¥hÄd 
	client ªº key event, ¦ý¦b±z«ö¤F trigger key ¥H«á¡C³o®É¨C«ö¤U¥ô¦ó«ö
	Áä¡A³£·|¥æ¥Ñ xcin ³B²z¡C

6. XIM_FORWARD_EVENT:
	³o¬O¦b±z«ö¤F trigger key ¥H«á¡A³o®É¨C«ö¤U¥ô¦ó«öÁä¡A³£·|¦L¥X³o­Ó°T
	®§¡A¥Nªí xcin ·|³B²z±zªº«öÁä¿é¤J¡C

7. XIM_GET_IC_VALUES:
	¦b¬Y¨Ç³]­pºë¨}ªº XIM client (¦p rxvt-2.6) ¨C¦¸¦b³B²z X event ®É¡A
	³£·|¦V XIM server ¸ß°Ý¨ä IC ªºª¬ºA­È¡C¦Ó¨C·í client °µ³o¼Ëªº¸ß°Ý
	®É¡A xcin ³£·|¦L¥X³o¼Ëªº°T®§¡C

8. XIM_SET_IC_VALUES:
	¦b¬Y¨Ç±¡ªp¤U¡A XIM client ·|­n¨D XIM server ±N¨ä IC ³]©wª¬ºA­È¡C
	¦Ó¨C·í client °µ³o¼Ëªº­n¨D®É¡A xcin ³£·|¦L¥X³o¼Ëªº°T®§¡C

9. XIM_DESTROY_IC:
	²z½×¤W¡A·í XIM client ªº¬Y­Ó¦³¶}±Ò IC ª«¥óªºµøµ¡­nÃö³¬®É¡A¥¦¥²»Ý
	°e³o­Ó°T¸¹µ¹ XIM server, ¦nÅý XIM server °µ¤@¨Ç¿¯«áªº°Ê§@¡A¦ý¥i
	±¤ªº¬O³o¼Ëªº client ¤£¦h¡C

10. XIM_CLOSE:
	²z½×¤W¡A·í XIM client µ²§ô®É¡A¥¦¥²»Ý°e³o­Ó°T¸¹µ¹ XIM server, ¦nÅý
	XIM server °µ¤@¨Ç¿¯«áªº°Ê§@¡A¦ý¥i±¤ªº¬O³o¼Ëªº client ¤£¦h¡C

½Ðª`·N¡A·í±z­n¶i¦æ Debug ªº¤u§@®É¡A *½Ð¤£­n* ¦b XIM client ¤Wª½±µ±Ò°Ê xcin
(¨Ò¦p¡A¤£­n¦b rxvt ¤W±Ò°Ê xcin), ¥¿½Tªº°µªk®É¶}¥t¤@­Ó«D XIM client ªº
terminal (¦p xterm), ¦b¤WÀY±Ò°Ê xcin ©Î¶] gdb, µM«á¤~¨Ó¶i¦æ debug ªº¤u§@¡C


------------------------
QE.2:  xcin-2.5 ¦b 64 bits ¾÷¾¹¤W (¦p DEC alpha) ·|¤£·|¦³°ÝÃD©O?

¥Ø«e xcin ªº¥Dµ{¦¡§Ú¤wºÉ¶q°µ¨ì¥i¥H¦b long int ¬° 64 bits ¥i¥H¬Û®e¤F¡A§Ú­Ì
¤]¦b Linux Alpha »P Linux PPC ¤W´ú¹L¡A¤jÅé¤W¨S¤°»ò¤j°ÝÃD¡C¦³¿³½ìªºªB¤Í¤]¥i
¥H¸Õ¸Õ¡A·íµM¡A¥i¯àªº¸Ü¤]½Ð±z°µ°ÝÃD¦^³ø :-))


------------------------
QE.3:  ½Ð°Ý¤°»ò¬O IC Check? ¤°»ò¬O garbage collection? ³o¨â­ÓªFªF¦³Ãö¶Ü¡H

¦b xcin-2.5 ¤¤¡A³o¨â­Ó¬O¦P¤@­ÓªFªF¡A¥¦¬O¥Î¨ÓÀˬd XIM client ¬O§_ÁÙ¦s¦b¥Îªº¡C

³o¨Ç¬O°w¹ï¤@¨Ç³]­p¤W¤£°÷§¹¾ãªº XIM client ¦Ó³]­pªº¡C«ö·Ó¼Ð·Ç¡A·í¤@­Ó XIM
client ¤W¥ô¦óµøµ¡­nµ²§ô®É¡A¥¦À³¸Ó©I¥s XCloseIM() ¨Ó³qª¾ XIM server (§Y xcin),
¦p¦¹ xcin ¤~¯à¦^¦¬¤£­n¥Îªº¨t²Î¸ê·½ (§Y Input Context, IC), ÄÀ©ñ¤£»Ý­nªº°O
¾ÐÅé¡CµM¦Ó¡A¨Ã«D©Ò¦³ªº XIM client ³£«ö·Ó³o¼Ëªº¼Ð·Ç¡C¬°¤F§JªA³o­Ó°ÝÃD¡A§Ú­Ì
¤~¯S§O¬° xcin ³]­p¤F IC Check ¾÷¨î¡AÅý¥¦©w®ÉÀˬd©Ò¦³ªº XIM client ªº Window
¬O§_ÁÙ¦s¦b¡H­Y¤£¦s¦b«h¦^¦¬µL¥Îªº IC ¡C

µM¦Ó¡A³o­Ó IC Check ¦b¬Y¨Ç±¡ªp¤U¥i¯à·|³y¦¨°ÝÃD¡A³o¤@ÂI§Ú­ÌÁÙµLªk½T©w¡A¬G¬°
¤F¦w¥þ°_¨£¡A§ÚÁÙ¬O¦b xcinrc ¤¤¥[¤F ICCHECK_DISABLE ¿ï¶µ¡A¸U¤@±zµo²{¦¹¾÷¨î¦³
­Y¤z·v²«¡A±z¥i¥H³]¦¹¿ï¶µ¬° YES ±N¦¹¾÷¨îÃö³¬¡C·íµM¡A­Y±z¯uªºµo²{¦³°ÝÃD®É¡A§Ú
­Ì«Ü§Æ±æ±z¯à¦V§Ú­Ì¦^³ø¡C



F. ¨ä¥Lªº°ÝÃD:

------------------------
QF.1:  rxvt ¥i¥H¬Ý¤¤¤å¡A¤]¥i¥H¥Î xcin-2.5 ¥´¤¤¤å¡A¦ý¦n¹³¦³¦n¦h°ÝÃD¡A¨Ò¦p¤¤
       ¤åÅã¥Ü¦³®É­Ô·|²ö¦W©_§®ÅܶýX¡BÃö±¼ xcin ®É¦³®É­Ô rxvt ¤]·|²ö¦W©_§®
       ¦a®ø¥¢ .... «ç»ò·|³o¼Ë©O¡H
 
¬Oªº¡A rxvt-2.6.x/2.7.x ¥Ø«eÁÙ¤£°÷§¹¬ü¡A¦h¤Ö·|¦³¨Ç°ÝÃD¡A¦ý¨º¨Ç¦h¥b¬O rxvt
¥»¨­ªº°ÝÃD¡A¦³¨Ç¤w¸g¦³­×¥¿¡C¦³¿³½ìªºªB¤Í¥i¥H¨ì

	http://xcin.linux.org.tw/rxvt/index.html
	ftp://ftp.rxvt.org/pub/rxvt

©³¤U«õ«õ¬Ý¡A¬Ý¬O§_¦³·sª©ªº rxvt ©Î patch ¥i¥H¥Î :-)) ­Y±z¦³°ÝÃD·Q¦^³ø¡A«Ø
ij±z mail ¨ì:

	rxvt-bugs@rxvt.org
	rxvt-workers@rxvt.org

¸Ô¨£ http://www.rxvt.org ªº»¡©ú¡C


------------------------
QF.2:  §Ú¦b xcin+xedit ¥i¥H¥´¥X¤¤¤å¡A¤£¹L xedit ¦b¸ü¤JÀɮ׮ɦ³¨S¦³ xcin 
       ³£·|³y¦¨ segmentation fault, ³o©M xcin-2.5 ¨S¦³Ãö«Y§a?

Yes, xedit ªº°ÝÃD¦h¦h (¤×¨ä¬O¦b $HOME/.Xresources ±N xedit*international
enable ®É) ¥BÀ³¸Ó»P xcin ¥»¨­µLÃö¡C§Ú¦b doc/Bugs ¤å¥ó¤¤¦³´£¨ì¥Ø«e¤w¹J¨ìªº
©Ò¦³°ÝÃD¡A§Ú«Øij¤j®a¦h¦h¨Ï¥Î rxvt   :-))
                                                           

------------------------
QF.3:  ¬°¤°»ò¦b netscape-4.X ùØÀY¡A¨C¦¸¥´¤J¤@­Ó¤¤¤å¦r xcin ´N·|¤Á¨ì¡u­^
       ¼Æ¡v¿é¤J©O?

³o¬O netscape ¦b XIM ¤Wªº³]­p¯SÂI¡A¤]¬O¥O§Ú­Ì¤j·PÀYµhªº¦a¤è :-))

¥ý»¡¤@¯ëªº XIM client ªº³]­p¤è¦¡¡C³q±`·í XIM client ±Ò°Ê«á¡A´N·|¬°¨C¤@­Ó
»Ý­n±µ¨ü xcin ¿é¤Jªºµøµ¡¶}¤@­Ó IC, ¦ÓÅý³o¨Ç IC «ùÄòµ¥«Ý¨Ã±µ¨ü xcin ªº¿é¤J¡A
ª½¨ì¸Óµøµ¡µ²§ô¬°¤î¡C

¦ý netscape ¤£µM¡A·í¥¦ªº¤@­Óµøµ¡¶}±Ò«á¡A¥¦¦ÛµM¤]·|²£¥Í¤@­Ó IC, ¦ý·í¸Ó IC
±µ¨ü¤@­Ó¨Ó¦Û xcin ªº¿é¤J (¤£½×¬O¤¤¤å©Î­^¤å) ¡A«h¥¦·|°¨¤W±N¸Ó IC °µ±¼ 
(Destroy IC)¡A¥t¥~¦A¶}¤@­Ó·sªº IC ¨Ó±µ¨ü¿é¤J¡C¦]¦¹¡A¥¦¤£¹³¤@¯ëªº client,
¦P¤@­Ó IC ±qÀY¨Ï¥Î¨ì§À¡A¦Ó¬O¨C¦¬¨ì³æ¤@ªº¦r¡A´N´«¤@­Ó IC ¡C

³o¦b xcin ¤U·|²£¥Í«Ü¤jªº¼vÅT¡C xcin ªº³]­p¬O¡A·í¤@­Ó·sªº IC ²£¥Í®É¡A¹w³]
¬Oª½±µ¶i¤J­^¼Æ¿é¤J¡A°£«D±z«ö¤U trigger key (¦p ctrl+space) ¤~·|¶i¤J¤¤¤å¿é
¤J¡C¦]¦¹¡A³o´N·|³y¦¨¦b netscape ¤U¡A¨C¿é¤J¤@­Ó¤¤¤å¦r¡A¥¦´N´«¤@­Ó IC, ¦Ó¦¹
·s´«ªº IC ¤S¬O¹w³]¥H­^¤å¿é¤J¡A¦]¦¹¡A±z¥²¶·¨C¿é¤J¤@­Ó¤¤¤å¦r¡A´N­n«ö¤@¦¸
ctrl+space ¤Á¦^¤¤¤å¿é¤J¡C

¬°¤F¸Ñ¨M¦¹§xÂZ¡A¬G xcin-2.5.0-pre2-3 ¤¤§Ú¥[¤J¤F¡u¿é¤JªkÂê©w¡vªº¥\¯à¡C·í±z
¦b netscape ©³¤U¡A²Ä¤@¦¸¤Á¨ì¤¤¤å¿é¤J¼Ò¦¡®É¡A¥i¥H«ö ctrl+alt+f ±N¦¹¿é¤Jªk
Âê©w¡A«h±z´N¥i¥H«ùÄò¶i¦æ¤¤¤å¿é¤J¡A¤£»Ý­n¤@ª½«ö ctrl+space ¡C¦p¦¹«K¥i¸Ñ¨M
¦¹¤@´o¤Hªº°ÝÃD¡C

­Y­n¸Ñ°£Âê©w¡A¥i¥H¦b¤¤¤å¿é¤J¼Ò¦¡¤Uª½±µ¦A«ö¤@¦¸ ctrl+alt+f §Y¥i¡C

½Ðª`·N¡A¥H¤Wªº²{¶H¥u·|µo¥Í¦b Netscape »P xcin ¤§¶¡¨Ï¥Î Root ¿é¤J¼Ò¦¡³s½u®É¡C
¥Ñ©ó xcin ¦Û 2.5.2 ª©¥H«á¤w¤ä´© OverTheSpot ¼Ò¦¡¡A¬G¦b¦¹«Øij±z¥i¥H§ï¥Î¦¹¼Ò
¦¡¨Ó¹ï Netscape ¿é¤J¤¤¤å¡A¦b¦¹¼Ò¦¡¤U Netscape ¤£·|µo¥Í¦p¤W­zªº°ÝÃD¡A¬G±z¤]
¤£»Ý­n¡u¿é¤JªkÂê©w¡vªº¥\¯à¤F¡C


------------------------
QF.4:  §Ú¦b CLE-0.8 ¤U¡A¨Ï¥Î xcin-2.5 + rxvt-2.6.0, ¦ý¨C¦¸¿é¤J¤@­Ó¤¤¤å¦r
       ®É¡A´N·| core dump, «ç»ò¿ì©O?

³o¬O¦]¬° CLE-0.8 ¤¤¹w³] LD_PRELOAD xa+cv ªº­ì¬G¡C xa+cv ¨ä¹ê¬O¨â­Ó³¡¤À¡A
xa ªº³¡¤ÀºÙ¤§¬° "Xcin Anywhere", ¥¦¬O¥Î¨ÓÀ°§UÅý©Ò¦³ªº X-Window ³nÅé¥i¥H
±µ¨ü¨Ó¦Û¶Ç²Îªº xcin-2.3 ©Î§ó¦­ª©¥»ªº xcin ªº¿é¤J¡C¥t¤@³¡¤À¬O cv, ¥¦¥i¥H
À°§UµLªkÅã¥Ü¤¤¤å (Åã¥Ü¥X¶Ã½X) ªº X-Window ³nÅé¥i¥H¥¿½TÅã¥Ü¤¤¤å¡C

°ÝÃDªºÃöÁä¦b©ó xa+cv ªº xa ³¡¤À»P xcin-2.5 ¤£¬Û®e¡A¦]¦¹¡A·í±zªºÀô¹Ò¤¤¤w
LD_PRELOAD xa+cv ¥B xa ³¡¤À¬O enable ªº¸Ü¡A±zµLªk¨Ï¥Î xcin-2.5 ¹ï XIM
client ¿é¤J¤¤¤å (·| core dump), ¥u¯à¥Îª©ªº xcin («D XIM server)¨Ó°µ¿é
¤J¡C¸Ñ¨Mªº¿ìªk¦³¨â­Ó¡A¤@¬O¤£­n LD_PRELOAD xa+cv, ¦A±Ò°Ê xcin »P XIM client:

for bash:
	unset LD_PRELOAD
	export LC_CTYPE=zh_TW.Big5
	xcin &
	rxvt -im xcin -pt Root -fm <chinese font name>

for tcsh:
	unsetenv LD_PRELOAD
	setenv LC_CTYPE zh_TW.Big5
	xcin &
	rxvt -im xcin -pt Root -fm <chinese font name>

¥t¤@­Ó¿ìªk¬O­×§ï /etc/chinese/xa+cv/config ¡A§â©Ò¦³ XIM client µ{¦¡ªº xa ³¡
¤À³£ disable, ¤]´N¬O±N mode ³£§ï¦¨ ":0:b", ¦p¡G                                

	gedit:0:b
	gnomecal:0:b
(ÁÂÁ Platin ¥Sªº´£¨Ñ)


------------------------
QF.5:  §Ú¤w±N libtabe ¦w¸Ë¦b /usr/local ©³¤U¤F¡A¦Ó¥B§Ú¤]¦w¸Ë xcin ¦¨¥\¤F¡A
       ¦ý¬°¤°»ò·í§Ú±Ò°Ê xcin ¨Ã·Ç³Æ¨Ï¥Î bimsphone ¿é¤Jªk®É¡A«o¤´¨£¨ì³o¼Ëªº
       ¿ù»~°T®§¡H

xcin internal: warning: dlerror: libbims.so.0.1: cannot open shared object file: No such file or directory
xcin: warning: module "bimsphone.so" not found, ignore.
xcin: warning: cannot load IM: bimsphone, ignore.

¨º¬O¦]¬°±z±N libtabe ªº lib ¸Ë¦b /usr/local/lib ¤U¡A¦ý¥¦«o¨S¦³¦b±zªº lib ·j
´M¥Ø¿ýªº½t¬G¡C¸Ñ¨Mªº¤è¦¡¦p¤U:

1. ¦pªG±z¦³ root Åv­­ªº¸Ü¡A½Ð±z­×§ï /etc/ld.so.conf ªº¤º®e¡A¥[¤J¤@¦æ
   /usr/local/lib, µM«á¦A¶]¤@¤U ldconfig µ{¦¡§Y¥i¡C

2. ¦pªG±z¨S¦³ root ªºÅv­­ªº¸Ü¡A¦b±z°õ¦æ xcin ¤§«e¡A½Ð¥ý°õ¦æ:

   (for bash):	LD_LIBRARY_PATH=/usr/local/lib; export LD_LIBRARY_PATH
   (for tcsh):  setenv LD_LIBRARY_PATH /usr/local/lib

   µM«á¦A°õ¦æ xcin ¡C±z¥i¥H±N¦¹«ü¥O¥[¤J±zªº $HOME/.profile ©Î $HOME/.cshrc
   ¤¤¥H«K¨C¦¸ login ¤§«á¥i¥H¦Û°Ê°õ¦æ¡C


------------------------
QF.6:  ·í§Ú¨Ï¥Î xcin-2.5 ªº bimsphone ¦b netscape ¤U¿é¤J¤¤¤å®É¡A¬°¤°»ò¦b
       «ö¤U¤è¦VÁä¡B©Î¥Î·Æ¹«ÂI¿ï netscape ¤Wªº´å¼Ð®É¡A­ì¥»¦s¦b xcin µøµ¡¤¤
       ªº¤¤¤å¦r´N®ø¥¢¤F¡H

³o¬O netscape ³]­p¤Wªº°ÝÃD¡C«e­± (QF.3) ¤w´£¹L¡Anetscape ªº³]­p¯S¦â¬O¨C±µ
¦¬¤@­Ó¦r¡A¥¦´N·| create ¤@­Ó IC, ±µ¨ì¦r«á°¨¤W±N¸Ó IC destroy, µM«á¦A¶}¤@­Ó
·sªº IC ¡C¦Ó²{¦b§Ú­Ìµo²{·í§Ú­Ì¤£¥´¥ô¦ó¦r¡A¥ú¬O«ö¤è¦VÁä©Î¥Î·Æ¹«²¾°Ê´å¼Ð®É¡A 
netscape ¤]·|°µ destroy IC ¤Î create IC ªº°Ê§@¡C´«¥y¸Ü»¡¡A netscape µøµ¡¤¤
¥ô¦ó´å¼Ð²¾°Êªº°Ê§@´N·|§ó´« IC, ¬Û·í³ß·s¹½Â¡C

¦ý³o¼Ë¤@¨Ó¦b bimsphone ùØÀY·|¦³«Ü¤jªº³Â·Ð¡A­ì¦]¬O·í§Ú­Ì²{¦b¶}©l¿é¤J®É¡A©Ò¦³
ªº¿é¤J³£¼È¦s¦b xcin µøµ¡¤¤¡A¦Ó³o®É xcin ªºµJÂI¬O¹ï·Ç¥Ø«e netscape ¤¤´å¼Ð©Ò
¦bªº IC (½Ð°O±o¡A netscape ´å¼Ð¤@°Ê´N·|´« IC), «h·í§Ú«ö¤U space Áä¡A§â xcin 
µøµ¡¤¤©Ò¦³ªº¦r¥þ³¡©¹¨º­Ó IC °e¹L¥h¡A©ó¬O³o¨Ç¦r¥þ³¡¥X²{¦b netscape µøµ¡¤W¡C
³o¤@ÂI¤£¦¨°ÝÃD¡CµM¦Ó¡A¦pªG±z¤S¥Î xcin ¥´¤@°ï¦r¡A¦s¦b xcin µøµ¡¤¤¡A¦ý¤£¤p¤ß
«ö¤F¤è¦VÁä¥h²¾°Ê´å¼Ð¡A«h netscape °¨¤W±N¥Ø«e xcin ©Ò¹ï·Çªº IC ·F±¼¡A«h®Ú¾Ú 
xcin ªº©w¸q¡A¤@¥¹¥¦¹ï·Çªº IC ³Q·F±¼¤F¡A¥¦´N¨S¦³²z¥Ñ­n¬°¸Ó IC «O¦s¸ê®Æ¡A¦]¦¹
­è­è±z¨¯­W¥´ªº¦r´N¥þ³¡¤£¨£¤F :-((

§Ú´¿¸Õ¹L§ï¤@¨Ç source, ´N¬O·í xcin µo²{¥¦¹ï·Çªº IC ³Q·F±¼¤F¡A¦ý xcin buffer 
¤¤­YÁÙ¦³¦rÁÙ¨S°e¡A´N°¨¤W±N¦r¥þ³¡°e¥X¥h¡C¦ýÁÙ¬O¨S¦³¥Î :-(( ¤@¥¹ IC ³Q·F±¼¤F¡A
°e¥hªº¦r´N¹³¦×¥]¤l¥´ª¯¡AµL¼vµLÂÜ¡C

¬°¤F¸Ñ¨M¦¹°ÝÃD¡A§Ú­Ì«á¨Ó¦b xcin-2.5.1-2 ª©¤¤­×§ï¤F bimsphone ªº³¡¤À¡AÅý¥¦¥u
¦³¦b buffer catch (§Y xcin µøµ¡) ¤¤¤£§t¤¤¤å¦r®É¡A¤~±N¨Ï¥ÎªÌ©Ò«öªº¤è¦VÁ䪽±µ
¶Ç¦^µ¹ XIM client, ¦ý­Y buffer catch ùØÀY¦³ªF¦è®É¡A±z©Ò«ö¤U¥ô¦ó¤è¦VÁä±N¤£·|
ª½±µ¶Çµ¹ XIM client, ¤]´N¬O»¡¦b¦¹±¡ªp¤U±zµLªkÂǥѤè¦VÁ䪽±µ²¾°Ê XIM client
¤¤ªº´å¼Ð¦ì¸m¡C§Ú·Q³o¼Ëªº§ïÅܬO¦X²zªº¡A­ì¦]¬O¦¹®É±zªº¿é¤J¬O°w¹ï¥Ø«eªº´å¼ÐÂI¶i
¦æªº¡AÁöµM©Ò¿é¤Jªº¦r¤´¼È¦s¦b xcin µøµ¡¤¤¡F¥B³o®É­Ô±z¨S¦³²z¥Ñ­n¦b³o¨Ç¦r°e¹F
XIM client ¤§«e°µ´å¼Ð²¾°Ê¡C­Y­n²¾°Ê´å¼Ð¡A±z¥²¶·¥ý«ö¤U space Áä±N¦r¥þ³¡°e¥X¡A
©Î«ö backspace Áä±N xcin µøµ¡¤¤ªº¦r¥þ³¡²MªÅ¤~¦æ¡C

³o¼Ëªº§ïÅÜ¡A´N¬YºØµ{«×¦Ó¨¥¤wÁקK¤F¤W­z netscape ªº°ÝÃD¡A¦ý¤´¬Oªv¼Ð¤£ªv¥»¡C¦p
ªG±z¦b¥´¦r¤¤³~¨Ï¥Î·Æ¹«²¾°Ê´å¼Ð®É¡A xcin µøµ¡¤¤ªº¦rÁÙ¬O·|¤£¨£¡C­Y­n®Úªv¦¹°ÝÃD¡A
°ß¦³§Æ±æ¥¼¨Óªº netscape ¥i¥H§ïÅܨä IC ªº³]­p¡C

­Y±z¦b¨Ï¥Î xcin-2.5 ¹ï netscape ¿é¤J®É¹J¨ì¤W­z°ÝÃD¡A«Øij±z´«¨ì xcin-2.5.1-2
¤Î¨ä¥H«áªºª©¥»¡A±N¦³§U©ó¡u´î»´¡v¦¹°ÝÃDªºÄY­«©Ê¡C


------------------------
QF.7:  ¬°¤°»ò·í§Ú¤Á´«µêÀÀ®à­±®É¡A xcin µLªk¸òµÛ¸õ¹L¨Ó©O¡H

xcin ¥»¨­¦³¤@­Ó²³æªº¾÷¨î¥i¥HÀHµÛµêÀÀ®à­±ªº¤Á´«¦Ó¸òµÛ¡u¸õ¡v¹L¨Ó¡A±z¥u»Ý­n
±N xcinrc ¤¤ SINGLE_IM_CONTEXT ³]¬° YES §Y¥i¡C¦ý¦b¬Y¨Ç±¡ªp¤U¡A´Nºâ±z±Ò°Ê
¥¦¡A¤]¤£¤@©w¦³®Ä¡A³o»P±z©Ò¨Ï¥Îªº Window Manager ¦³Ãö¡C¨ä­ì¦]¦p¤U:

¥H fvwm95 ¬°¨Ò¡A·í¤Á´«µêÀÀ®à­±®É¡A WM ·| send ConfigureNotify event
µ¹ xcin ¡C¦ý«Ü¦h±¡ªp¤U xcin ³£·|±µ¨ì ConfigureNotify event, ¦]¦¹¥²¶·
§PÂ_¤°»ò¼Ëªº ConfigureNotify ¥Nªí¤w¤Á´«¤FµêÀÀ®à­±¡C©ó¬O¡A¦b fvwm95
©³¤U¦³¤@­Ó«Ü¦nªº§PÂ_¤è¦¡: °²³]²{¦b¦³¨â­ÓµêÀÀ®à­±:

        +-----------------+--------------------+
        |                 |                    |
        |       A         |         B          |
        |                 |                    |
        |   (x,y)         |                    |
        |                 |                    |
        +-----------------+--------------------+

¦Ó¨Ï¥ÎªÌ¥¿¦b¥Î®à­± A, xcin ¤]¦b®à­± A ªº (x,y) §¤¼Ð¤W¡A¨ä¤¤ x>0, y>0¡C
¦pªG¨Ï¥ÎªÌ¥Î·Æ¹«ÂI¿ï®à­± B (¥ý¤£¦Ò¼{·Æ¹«²¾°Ê¶W¹L®à­± A ¶]¨ì B ªº±¡ªp) 
¦Ó´«¨ì®à­± B ®É¡A·|Åܳo¼Ë:

        +-----------------+--------------------+
        |                 |                    |
        |       A         |         B          |
        |                 |                    |
        |   (-|x|,-|y|)   |                    |
        |                 |                    |
        +-----------------+--------------------+

«h xcin ÁÙ¬O¦b®à­± A, ¦ý¥¦ªº§¤¼Ð·|ÅÜ­tªº¡A¤]´N¬O¶W¥X¤F B ªº§¤¼Ð½d³ò¡A
¦P®É xcin ¤]·|¦¬¨ì ConfigureNotify event¡C©ó¬OÂǥѧPÂ_¥Ø«eªº§¤¼Ð­È¡A
´Nª¾¹D¥Ø«e xcin ¨ì©³¦b¨º­Ó®à­±¡A¦pªG¤£¦b¥Ø«eªº®à­±¡A´N¸õ¹L¨Ó¡C

µM¦Ó¡A³o­Ó¾÷¨îÁöµM²³æ¡A¦ý¦³¤@­Ó°Æ§@¥Î: ­Y±N xcin µøµ¡©ì¶W¥X®à­±Ãä¬É¡A
¥¦·|°¨¤W¶]¦^­ì¦ì¡C¦]¦¹¡A¦pªG WM ¤£¯àÂǥѷƹ«¶W¥XÃä¬É¦Ó´«®à­±¡A«h¦¹°Æ
§@¥Î¤£·|³y¦¨¤Ó¤j¼vÅT¡F¤Ï¤§¡A¦pªG WM ¥i¥HÂǥѷƹ«¶W¥XÃä¬É¦Ó´«®à­±¡A«h
·í§Ú­Ì¥Î·Æ¹«©ìµÛ xcin ¶W¥X®à­±Ãä¬É®É¡A§Ú­Ì¥i¯à·|­±Á{ race condition:

­n¬O®à­±´«±o°÷§Öªº¸Ü¡A«h xcin ÁÙ¨S¨Ó±o¤Îª¾¹D¥¦ªº§¤¼Ð¶W¥X¿Ã¹õÃä¬É¤§«e¡A
®à­±´N´«¦n¤F¡A§¤¼Ð­È¤]¥¿±`¤F¡A¤@¤Á OK¡C¦ý¬O¡A¸U¤@ xcin ·m¥ýª¾¹Dªº¸Ü¡A
¨º¥i¯à³y¦¨ xcin µøµ¡¥Ã»·´«¤£¹L¥h¡A¤]´N¬O»¡¡A xcin ·|¤@ª½·Q­n²¾¦^­ì¦ì¡A
¦]¬°¥¦µo²{¥¦ªº§¤¼Ð¶W¥XÃä¬É¤F¡C

¦]¦¹¡A¦b¦¹¤@±¡ªp¤U¡A¨Ï¥Î¦¹¿ï¶µ±N±a¨Ó¨ä¥Lªº°ÝÃD¡C°£¦¹¤§¥~¡A°²­Y¦b¬Y¨Ç 
WM ¤U¡A´«¤FµêÀÀ®à­±«á¡A xcin ªº§¤¼Ð®Ú¥»¨SÅÜ¡A©ÎªÌ¨S¦³¶W¥X¿Ã¹õªºÃä¬É¡A
«h xcin «KµL±q±oª¾®à­±¤w´«¡A©Ò¥H¸õ¤£¹L¨Ó¡C¬G´Nºâ³]¤F³o­Ó¿ï¶µ¡A¤]¨S¦³¥Î¡C

¦]¦¹¡A¬O§_­n³]¦¹¿ï¶µ¡A¥H¤Î³]¤F¥¦¤§«á¦³¨S¦³¥Î¡A¨ú¨M©ó±z©Ò¥Îªº WM¡C¥Ñ©ó
¥Ø«e«Ü¦h WM ¥i¥H³]©wÅý¬Y¨Çµøµ¡¥Ã»·¥X²{¦b¥Ø«eªºµêÀÀ®à­±¤W¡A¤Á´«µêÀÀ®à
­±®É¥i¥HÅýµøµ¡¤@°_¸ò¹L¥h¡A«h¦b³oÃþªº WM ¤U¡A«Øij±z¤£­n¨Ï¥Î¦¹¿ï¶µ¡Aª½
±µ¥Î±zªº WM ¨Ó±±¨î xcin µøµ¡¡A¤ñ¸û¤£·|¦³°ÝÃD¡C¦ý¦pªG±z¨Ï¥Îªº WM ¨S¦³
³o­Ó¥\¯à®É¡A±z¥i¥H¸ÕµÛ¥´¶}¦¹¿ï¶µ¡A©Î³\¥i¥H¥¿±`¹B§@¡C¦ý¸U¤@µo²{¤´µM¤£
¥¿±`ªº¸Ü¡A«Øij±zÁÙ¬O¤£­n¨Ï¥Î¦¹¿ï¶µ¡C


------------------------
QF.8:  ¬°¤°»ò¦b¨Ï¥Î OverTheSpot ®É¡A·í§Ú§â·Æ¹«´å¼Ð²¾¨ì OverTheSpot ªºµø
       µ¡¤W®É¡A¸Óµøµ¡·|¤@ª½°{°Ê¡A¦ý¥u­n´å¼Ð²¾¶}«á´N¥¿±`¤F¡H

³oºØ²{¹³³q±`¬Oµo¥Í¦b MouseFocus ªº Window Manager ¤W¡A¤]´N¬O¥u­n±N·Æ¹«´å¼Ð
²¾¨ì¬Y­Óµøµ¡¤W¡A¤£»Ý­n¦A«ö¥ô¦ó·Æ¹«¤Wªº«öÁä¡A¸Óµøµ¡´N·|Åܦ¨«e´ºµøµ¡¡A¥i¥H±µ
¨üÁä½Lªº¿é¤J¡C¦Óµo¥Í¦¹²{¶Hªº­ì¦]¡A¬O¥Ñ©ó xcin ¨ã³ÆÀH«e´ºµøµ¡ªº¤Á´«¦Ó§Y®ÉÅÜ
´«¨ä¿é¤Jªkª¬ºAÅã¥Üªº¯S¦â¡C

·í§Ú­Ì¦b¬Y­Ó XIM client ¤W¥´¤¤¤å®É¡A¦pªG³o®É§Ú­Ì§ïÅÜ¿é¤Jªº focus (§Y´«­Ó¿é
¤Jµøµ¡)¡A«h©Ò¦³ xcin µøµ¡ªº¤º®e·|¥þ³¡¸òµÛÅÜ´«¡A¥]¬A OverTheSpot ªºµøµ¡¡C¨Ò
¦p¡A¦pªG§Ú­Ì¥¿¦bµøµ¡ A ¥´¤¤¤å¡A¥B OverTheSpot µøµ¡¤]¥X²{®É¡A¦pªG§Ú­Ì±N focus
´«¨ì¨ä¥L«D XIM client ªºµøµ¡¤W¡A©ÎªÌ¨ä¥L³B©ó¡u­^¼Æ¡v¿é¤J¼Ò¦¡ªº XIM client 
µøµ¡¤W®É¡A«h xcin ¥Dµøµ¡´N·|Åܦ¨¡u­^¼Æ¡v¼Ò¦¡¡A¦Ó¥B OverTheSpot µøµ¡¤]¤£¨£
¤F¡C¦pªG¦A±N focus ´«¦^¨Ó¡A«h©Ò¦³ªº¿é¤Jªkª¬ºA´N·|«ì´_­ìª¬¡C

¥¿¬O³o¼Ëªº¯S¦â³y¦¨³o­Ó²{¶H¡C¥Ñ©ó OverTheSpot µøµ¡¬O³]­p¦¨¡u§¹¥þ²æÂ÷ Window
Manager ±±¨î¡vªºµøµ¡¡A¦]¦¹¡AOverTheSpot µøµ¡©Ò¥X²{ªº¦ì¸m¡A¦b Window Manager
¬Ý¨Ó´N¦n¹³¨º¤@¶ô¬O Root µøµ¡ (§Y©³¼h®à¥¬) ¤@¼Ë¡C´Nºâ OverTheSpot µøµ¡Å|¦b
rxvt µøµ¡¤W¡A¥u­n·í±z±N´å¼Ð²¾¹L¥h¡A´N·|µo²{­ì¥» I ¦r«¬ªº´å¼ÐÅܦ¨ X ¦r«¬¤F¡C

²{¦b¡A¦pªG±zªº Window Manager ¥u­n±N´å¼Ð²¾¨ìµøµ¡¥ô¦ó³¡¤À¡A§Y¥i§ïÅÜ focus¡A
¦ÓµL»Ý¦A«ö·Æ¹«Áä¡C³o®É¡A¦pªG±z±N´å¼Ð²¾¨ì OverTheSpot µøµ¡¤W¡A¥Ñ©ó Window
Manager ·|»{¬°²{¦b´å¼Ð¤w¨ì¤F Root µøµ¡°Ï°ì¡A¦Ó±N¦¹°T¸¹°eµ¹ xcin¡C©ó¬O xcin
·|µo²{²{¦bªº focus ¦b Root µøµ¡°Ï¡A¤£¬O XIM client, ¬G¥¦«K±N¥¦©Ò¦³ªº¿é¤Jªk
ª¬ºA³£¤Á¦^­^¼Æ¼Ò¦¡¡A¨Ã¥B±N OverTheSpot µøµ¡Âð_¨Ó¡C´N¦b¨º¤@«b¨º¡A©³¤Uªº rxvt
µøµ¡´N¯B¤W¨Ó¤F¡A¦Ó±zªº´å¼Ð´NÅܦ¨¦b rxvt µøµ¡¤W¡Afocus ¤SÅܤF¡A©ó¬O Window
Manager ¤S°e°T¸¹µ¹ xcin¡Axcin µo²{³o¦^ focus ¬O rxvt¡A°¨¤W¤S±N¥¦ªºª¬ºA¥þ³¡
¤Á¦^¤¤¤å¿é¤J¡A¨Ã±N OverTheSpot µøµ¡¥s¥X¨Ó¡CµM¦Ó¡A³o¤U´å¼Ð¤SÅܦ¨¦b OverTheSpot
µøµ¡¤W¡Afocus ¤SÅܤF¡AµM«á ....

¦p¦¹¶g¦Ó´_©l¡A³y¦¨¤F OverTheSpot §Ö³t¦a°{°Ê¡A¤]´N¬O³o¸Ì©Ò¨£¨ìªº²{¶H¡C


------------------------
QF.9:  ¬°¤°»ò§Ú±`±`¦bÃö±¼ xcin ¤§«á¡A¥Ø«e¤u§@¤¤ªº rxvt ¤]¸òµÛ±¾±¼¤F¡H

³o¬O¥Ø«e¤wª¾³ÌÄY­«ªº¤@­Ó bug¡A«Ü©êºp¥Ø«e§Ú­Ì§ô¤âµLµ¦¡A¬G¦b¦¹¥u¯à´£¿ô¤j®aÁ×
¶}³o­Ó°ÝÃD¡C°ÝÃD¬O³o¼Ë¡A¦pªGÃö³¬ xcin ¡A«Ü¥i¯à·|³y¦¨¥Ø«e¬°«e´ºµøµ¡ªº rxvt
¤@°_±¾±¼¡A¥¦¥i¯à¦b¥H¤Uªº±¡ªpµo¥Í:

a. ¥Ø«e rxvt ¬O«e´ºµøµ¡¡A¦Ó±z¥Î·Æ¹«¬O«ö xcin µøµ¡ªº title bar ªº«ö¶s¡A±N
   xcin Ãö±¼¡A«h¨º­Ó«e´ºµøµ¡ªº rxvt ¦³¥i¯à·|·í±¼¡A©ÎÃö³¬¡C

b. ¥Ø«e±z¥¿¦b¾Þ§@ rxvt, ¥Î ps -ax §ä¥X xcin ªº PID µM«á kill ±¼¥¦¡A«h³o­Ó
   rxvt ¦³¥i¯à¸òµÛ±¾±¼¡C

c. ¥Ø«e X Window ¤¤¦³ rxvt »P xcin ¥¿¹B§@µÛ¡A¦pªG³o®ÉÂ÷¶} X Window, «h rxvt
   ¦³¥i¯à·|·í±¼¡A¦ý¤´µM¼ÈµÛ¨t²Î¸ê·½¡A«ùÄò¦Y°O¾ÐÅé¡A¦pªG±z¨S¦³§Y®Éµoı¡A¤@­Ó
   ±ß¤W¤U¨Ó«Ü¥i¯à±zªº°O¾ÐÅé·|³Q¦Y¥ú¡AµM«á¶}©l¤j¶q¨Ï¥ÎµwºÐªº swap¡A°£«D¥Î
   kill -9 ±N³o¨Ç·í±¼ªº rxvt process ³£±þ±¼¡C

Á׶}ªº¤è¦¡:

´N a. ¦Ó¨¥¡A¥Ø«e¤wª¾µo¥Íªº¾÷²v·¥¤p¡A°£«D¬O¦bºC³tªº¹q¸£¡A©ÎªÌ¨t²Î load °ª
®É¡A¤~¥i¯àµo¥Í¡C¦ý¤£½× a. ©Î b., Á׶}ªº¤è¦¡³£¬O¤£­n¦b rxvt ¬°«e´ºµøµ¡®ÉÃö
³¬ xcin¡C¨Ò¦p¡A±z¥i¥H¦A¶}¤@­Ó xterm ¨Ó kill ±¼ xcin¡C

´N c. ¦Ó¨¥¡A³Ì¦w¥þªº¤è¦¡¬OÂ÷¶} X Window «e¡A¥ý±N©Ò¦³ªº rxvt ¥H¤Î¨ä¥Lªº XIM
client ²Î²ÎÃö³¬¡AµM«á¦AÂ÷¶} X Window¡C©ÎªÌ¡A¦pªG±zªº¾÷¾¹±q¥¼µo¥Í¹L a. ªº±¡
ªp¡A«h±z¤]¥i¥H¥ýÃö±¼ xcin, ¦AÂ÷¶} X Window, ¦Ó¤£»Ý­n¥ýÃö rxvt¡C

ÁöµM¡A¦³¤H´¿¦^³ø»¡¡A¥L­Ì¥Î gnome, icewm .... µ¥ Window Manager ±q¥¼µo¥Í¹L c.
ªº±¡ªp¡A¦ý§Ú­Ì¼È®É«ù«O¯dºA«×¡A¦]¬°¥Ø«e¤´µMµLªkµý©ú¨Ï¥Î³o¨Ç Window Manager µ´
¹ï¤£·|µo¥Í³o­Ó±¡ªp¡AµM¦Ó¡A¨Ï¥Î fvwm ¨t¦C (¦p fvwm, fvwm2, fvwm95) «h *¥i¯à*
·|µo¥Í³o±¡ªp¡A¦]¬°§Ú¹J¹L«Ü¦h¦¸¤F¡A¤]¦³±µ¨ì¨Ï¥ÎªÌ¦^³ø¤F¡C¬G¦b¦¹­n´£¿ô¤@¤U¤j
®a¡A½Ðµy·L¯d¤ßª`·N¡C


------------------------
QF.10:  ¨Ï¥Î KDE ®É¡A¨C¦¸¤Á´«¿é¤Jªk xcin µøµ¡³£·|Åܦ¨«e´ºµøµ¡¡A¨C¦¸§Ú³£­n¥Î
        ·Æ¹«ÂI¤@¤U rxvt ¤~¯àÄ~Äò¿é¤J¡A«ç»ò¿ì©O¡H

ÁöµM xcin ¤w«ö·Ó X Window ªº¼Ð·Ç¨Ó¼g¡A²z½×¤W¬O¥Ã»·³£¤£À³¸Ó¦¨¬°«e´ºµøµ¡ªº¡C
¦ý¬O¦b¤£¦Pªº Window Manager ¤U¡A¨äªí²{¥X¨Óªº¤è¦¡¥i¯à¤£¤@¼Ë¡C­ì¦]¬O Window
Manager ´x±±¤F¥¦©³¤U©Ò¦³À³¥Îµ{¦¡ªºµøµ¡¹B§@¡A¦Ó»P X Window ¼Ð·Ç¹MÂ÷ªº Window
Manager ¥i¯à¦]¦Ó¤zÂZ¨ì xcin ªº¥¿±`¹B§@¡C

¦b³oºØ±¡ªp¤U¡A¤@­Ó¥i¦æªº¸Ñ¨M¤èªk¬O: ±N xcin §¹¥þ©ìÂ÷ Window Manager ªº±±¨î¡C
³o®É±z¥u­n­×§ï xcinrc ÀÉ¡A±N DISABLE_WM_CTRL ªº¿ï¶µ¥´¶}§Y¥i¡CµM¦Ó¡A³o¼Ë¤]¥i
¯à³y¦¨­Y¤z¤£¤è«K¤§³B¡A¨Ò¦p xcin ´N¨S¦³µøµ¡ªº title bar ¤F¡A¤]µLªk¸g¥Ñ·Æ¹«ÂI
¿ï title bar ¤Wªº«ö§á©Î¿ï³æ±N xcin µøµ¡Ãö³¬¡B³Ì¤p¤Æ .... µ¥¡A©ÎªÌ¥Î·Æ¹«©ì¦²
ªº¤è¦¡¨ÓÁY©ñ xcin µøµ¡ªº¤j¤p©Î§ïÅܨä¦ì¸m¡A¦]¬°³o¨Ç³£¬O¸g¥Ñ Window Manager ªº
±±¨î¨Ó¹F¦¨ªº¡C



T.H.Hsieh