[ Home | Freetime works | FreeBSD | KFUG ]
*international: true´ÙÀ½¿¡ º¸ÀÏ ¿¹´Â Athena WidgetÀε¥, ÀÌ XawÀÇ ¸®¼Ò½º´Â »ç¿ëÇϰíÀÚ ÇÏ´Â À§Á¬µéÀÌ i18nÀ» ÇÒ °ÍÀÎÁö ¾Æ´ÑÁö¸¦ °áÁ¤ÇÕ´Ï´Ù.
*fontSet: -*-*-*-*-*-*-16-*-*-*-*-*-*-*ÆùÆ®¼ÂÀº Xlib¼öÁØÀÇ i18n¹æ¹ý Áß Çϳª·Î ¹èÄ¡µÈ ¼ø¼´ë·Î ÇØ´ç Äڵ尡 Àִ ij¸¯ÅÍ ¸¦ ã´Â ¼ø¼´ë·Î °¢ ÆùÆ®¿¡ ¹è¿ÇÕ´Ï´Ù. ¿©±â¼ localeÁöÁ¤ÀÌ »ç¿ëµË´Ï´Ù. Áï 1¹ÙÀÌÆ® ¹®ÀÚ´Â ¿µ¹®À¸·Î, 2¹ÙÀÌÆ® ¹®ÀÚ Áß ÇÑ±Û ¹®ÀÚ(EUC-KR)´Â ksc5601.1987 ÀÇ Ä³¸¯ÅÍ ¼ÂÀ» °®´Â ÆùÆ®¸¦ ã¾Æ ±× ÆùÆ®·Î Ç¥½ÃÇÏ°Ô µË´Ï´Ù. ±×·¯³ª º¸±â¿¡ ¾ÈÁÁ°í, ¿øÇÏ´Â ÆùÆ®¸¦ ÁöÁ¤ÇÒ ¼ö°¡ ¾øÀ» °Í °°Áö¸¸, Àß ÁöÁ¤ÇÏ¸é µË´Ï´Ù. ¿øÇÏ´Â ÆùÆ®¸¸ ¾²°Ú´Ù¸é ´ÙÀ½°ú °°ÀÌ ÁöÁ¤ÇսôÙ.
*fontSet: \
-adobe-courier-medium-r-normal--24-*-*-*-m-*-iso8859-1,\
-daewoo-mincho-medium-r-normal--24-*-*-*-c-*-ksc5601.1987-0
º¸½Ã´Â ¹Ù¿Í °°ÀÌ ¿µ¹® Ãâ·ÂÀ» À§ÇÑ ÆùÆ® Çϳª, ±×¸®°í ÇÑ±Û Ãâ·ÂÀ» À§ÇÑ ÆùÆ® Çϳª
¾¿ ´ëÀÀÇØ ÁÖ¸é µË´Ï´Ù. ÀϺ»¾î³ª Áß±¹¾î µîÀ» ¿øÇÏ´Â °æ¿ì¿¡´Â ÇÑ±Û ÆùÆ®¸¦ »¬ ÇÊ¿ä
´Â ¾ø½À´Ï´Ù. ±×³É ,·Î ÀÌ¾î °è¼Ó ¾²¼¼¿ä. locale¿¡¼ ¿øÇϴ ij¸¯ÅÍ ÇüÅ¿¡ µû¶ó
ÀÚµ¿ÀûÀ¸·Î ÆùÆ®¸¦ ¼±ÅÃÇØ »ç¿ëÇÕ´Ï´Ù.
ÇÑ±Û ÆùÆ®´Â ij¸¯ÅÍ ¼ÂÀÌ ¹Ýµå½Ã ksc5601.1987-0ÀÎ °ÍÀ» »ç¿ëÇÏ¿©¾ß ÇÕ´Ï´Ù. Á¶ÇÕÇü
ÆùÆ®³ª ksc5601.1987-1ÆùÆ®´Â ¼Ò¿ëÀÌ ¾ø½À´Ï´Ù. ±×°ÍÀº localeÀÇ ¼³Á¤ÆÄÀÏ¿¡¼
ksc5601.1987-0ÆùÆ®¸¸ »ç¿ëÇϵµ·Ï Ç߱⠶§¹®ÀÔ´Ï´Ù. °íÄ¥ ¼ö ÀÖÁö¸¸...
ÀÚÁÖ ¾²°Ú´Ù¸é $HOME/.Xdefaults¿¡ ³ÖÀ¾½Ã´Ù. ¿¡µðÆ®ÇÑ ÈÄ¿¡´Â ¹Ýµå½Ã
% xrdb -merge ~/.Xdefaults¸¦ ÇØ¼ ÇöÀç ¼³Á¤ÀÌ À¯È¿Çϵµ·Ï ÇսôÙ.
#include°£´ÜÇÏÁÒ? ToolkitÀÇ ÀåÁ¡Àº ±×·± °Ì´Ï´Ù. ÀÌÁ¦ ÀÌ ÇÁ·Î±×·¥ÀÇ ¸®¼Ò½º¸¦ ¸¸µì½Ã´Ù. ³ªÁß¿¡ Çѱ۷Π¹Ù²Ù¾î¼ ´Ù½Ã ÇØ º¼ °Ì´Ï´Ù. ÀÌ ÆÄÀÏÀº Ŭ·¡½º À̸§À¸·Î Çϴ°ÍÀÌ °ü·ÊÀÔ´Ï´Ù. XGoodbye·Î ÇսôÙ.#include #include #include void Quit(w, client_data, call_data) Widget w; XtPointer client_data, call_data; { fprintf(stderr, "It was nice knowing you.\n"); exit(0); } main(argc, argv) int argc; char** argv; { XtAppContext app_context; Widget topLevel, goodbye; /* binding own locale */ XtSetLanguageProc(NULL, NULL, NULL); topLevel=XtVaAppInitialize (&app_context, "XGoodbye", NULL, 0, &argc, argv, NULL, NULL); goodbye=XtVaCreateManagedWidget ("goodbye", commandWidgetClass, topLevel, NULL); XtAddCallback(goodbye, XtNcallback, Quit, 0); XtRealizeWidget(topLevel); XtAppMainLoop(app_context); }
*goodbye.font: *-courier-bold*180*iso8859-1 *goodbye.label: Goodbye, Cruel World!µÇ¾ú½À´Ï´Ù. ÀÌ°Ç ¿µ¹®¿ëÀÌ´Ï±î ¾î¶»°Ô ÇØµµ ÁÁ½À´Ï´Ù. ´ÙÀ½, ÄÄÆÄÀÏÀÌ Á¶±Ý º¹ÀâÇѵ¥, ±×·±´ë·Î ÇØ º¾½Ã´Ù. ¾îÂ÷ÇÇ ÇÑÁÙÀ̴ϱî¿ä.
% cc -o xgoodbye xgoodbye.c -L/usr/X11R6/lib -lXaw -lXt -lXmu -lX11¿¡·¯´Â ³ªÁö ¾Ê½À´Ï´Ù. Ȥ ¿¡·¯¸¦ ¸¸³µ´Ù¸é ´Ù½ÃÇѹø ¼Ò½º¸¦ È®ÀÎÇØ º¸¼¼¿ä. ¸®´ª½º¿Í °°ÀÌ ½Ã½ºÅÛ localeÀÇ Áö¿øÀÌ ¾ø´Â °æ¿ì ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
% cc -DX_LOCALE -o xgoodbye xgoodbye.c -L/usr/X11R6/lib -lXaw -lXt -lXmu -lX11ÀÌÁ¦ XGoodbyeÀÇ ¸®¼Ò½º¸¦ µî·ÏÇսôÙ.
% xrdb -merge XGoodbyeÀÌ ÆÄÀÏÀº ¿ø·¡´Â /usr/X11R6/lib/X11/app-defaults/¿¡ µé¾î°¡¾ß ÇÒ °ÍµéÀÔ´Ï´Ù. XÇÁ·Î±×·¥¿¡ °ü½ÉÀÌ ¸¹Àº ºÐÀ̶ó¸é ¹«¾ó ¶æÇÏ´ÂÁö ¾Æ½Ã°ÚÁö¿ä. ÀÌÁ¦ ½ÇÇàÇØ º¾½Ã´Ù.
% ./xgoodbyeGoodbye, Cruel World!¶ó ¾´ ÀÛÀº À©µµ¿ì°¡ Çϳª ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù. ÀÌ°É Å¬¸¯Çϸé Á¾·áÀÔ´Ï´Ù. ÀÌ°Ç ¾îµð¼³ª º¼ ¼ö ÀÖ´Â °£´ÜÇÑ toolkit¿¹Á¦ÀÔ´Ï´Ù. ÀÌÁ¦ Çѱ۷Π³ª¿Àµµ·Ï ÇØ º¼±î¿ä? ¸ÕÀú localeÀ» ÁöÁ¤ÇÕ´Ï´Ù.
(tcsh, csh) % setenv LANG ko (sh) # LANG=ko; export LANG (bash) # export LANG=ko¸®¼Ò½º¸¦ ´ÙÀ½°ú °°ÀÌ ¹Ù²Ù¾î º¾½Ã´Ù. ÀÌ XGoodbye¸¦ °íÃÄ ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
*goodbye.international: true
*goodbye.fontSet: \
-adobe-courier-medium-r-normal--24-*-*-*-m-*-iso8859-1,\
-daewoo-mincho-medium-r-normal--24-*-*-*-c-*-ksc5601.1987-0
*goodbye.label: Àß°¡¶ó, ÀÌ ¼¼»ó¾Æ!
¸®¼Ò½º¸¦ µî·ÏÇսôÙ.
% xrdb -merge XGoodbyeÀÌÁ¦ ½ÇÇàÇØ º¼±î¿ä?
% ./xgoodbyeÇѱ۷ΠµÈ ¸Þ½ÃÁö°¡ ȸ鿡 ³ª¿É´Ï±î? ±×·¸Áö ¾Ê´Ù¸é, ¸®´ª½º »ç¿ëÀÚ´Â -DX_LOCALE À» ÁÖ¾î ÄÄÆÄÀÏÇß´ÂÁö ´Ù½ÃÇѹø È®ÀÎÇØ ÁÖ¼¼¿ä. ±×·¸Áö ¾ÊÀº °æ¿ì¶ó¸é À§ÀÇ »çÇ×À» ÇϳªÇϳª Á¡°ËÇØ º¾½Ã´Ù. LANGȯ°æº¯¼ö¸¦ ÁöÁ¤ÇØ ÁÖ¾ú´ÂÁö, ¸®¼Ò½º´Â µî·ÏÇØ ÁÖ¾ú ´ÂÁö. Àß µÇ¾ú´Ù¸é, ¸Þ½ÃÁö¸¦ Çѱ۰ú ¿µ¾î¸¦ Æ÷ÇÔÇÏ´Â ¿©·¯°¡Áö·Î ¹Ù²Ù¾î ½ÃÇèÇØ º¾½Ã´Ù. ¾î´À°ÍÀ¸·Î ÇÏµç »ó°ü¾øÀ» °Ì´Ï´Ù. Ç¥½ÃÇϴµ¥ ½Ã°£ÀÌ °É¸®´Â ÀÌÀ¯´Â ÆùÆ®¸¦ ·Îµå Çϴµ¥ ½Ã°£ÀÌ µé±â ¶§¹®ÀÔ´Ï´Ù. Çѹø ·ÎµåÇÏ¸é »¡¶óÁö´Ï ±×¸® Å« °ÆÁ¤Àº ¾ÈÇØµµ ÁÁ½À´Ï´Ù.
% cd Xaw-source-directory % patch < XawI18n-bugfix.patchÇÏ°í ´Ù½Ã ÄÄÆÄÀÏÇØ »ç¿ëÇÏ¸é µË´Ï´Ù.
*encoding: 2·Î Çϰí, font¸¦ ksc5601.1987-1°è¿ÀÇ ÆùÆ®·Î ÁöÁ¤Çϰí(ÀÌ Ä³¸¯ÅÍ ¼ÂÀÇ ÆùÆ®´Â ÈçÇÏÁö ¾Ê½À´Ï´Ù. ´ëºÎºÐÀÇ ¿Ï¼ÍÇü ÆùÆ®´Â ksc5601.1987-0ÀÔ´Ï´Ù) 2¹ÙÀÌÆ®·Î¸¸ ±ÛÀ» ¾²¸é µË´Ï´Ù. ÀÌ ¹æ¹ýÀº locale°ú °ü°è°¡ ¾øÀ¸¹Ç·Î, ¾î¶² °æ¿ì¿¡µµ »ç¿ëÀÌ °¡´ÉÇÏ´Ù´Â Á¡ÀÌ ÀÖÁö¸¸, Ç×»ó 2¹ÙÀÌÆ®·Î¸¸ ½á¾ß ÇÑ´Ù´Â(Áï ¿µ¹®µµ Àü°¢À¸·Î¸¸ ½á¾ß ÇÑ´Ù´Â) ´ÜÁ¡ÀÌ ÀÖÀ¸¹Ç·Î ±ÇÀåÇÒ ¸¸ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù.
¸®´ª½º¿Í °°ÀÌ ½Ã½ºÅÛ Â÷¿øÀÇ localeÁö¿øÀÌ ¾ø´Â °æ¿ì¿¡´Â ¸Å¹ø X_LOCALEÀ» Á¤ÀÇÇØ ÁÖ´øÁö, ¾Æ´Ï¸é »õ·Î XFree86¼¹ö¸¦ ÄÄÆÄÀÏÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. Àå±âÀûÀÎ ¾È¸ñÀ¸·Î º¸°Ç´ë ÀÌÈÄ ÇÑ±Û ¹èÆ÷º»¿¡¼´Â XFree86¼¹ö¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÑ °ÍÀ» ¹èÆ÷º»¿¡ ³Ö´Â °ÍÀÌ ÁÁ°Ú´Ù°í »ý°¢ÇÕ´Ï´Ù. XawÀÇ ÆÐÄ¡¿Í ÇÔ²². À̰ÍÀº ½Ã½ºÅÛ¿¡¼ ÇÑ±Û ·ÎÄÉÀÏÀ» Áö¿øÇÏ´Â °æ¿ì¿¡ À¯¿ëÇÑ °ÍÀÌ µË´Ï´Ù.
Xaw´Â À¯¿¬ÇÑ ÇÁ·Î±×·¥À¸·Î(º¹ÀâÇϱâ´Â ÇÏÁö¸¸), Xaw3d, Xaw95, neXtaw, Xaw-XPM°ú °°Àº º¯Á¾µéÀÌ ¸¹ÀÌ ³ª¿Í ÀÖ½À´Ï´Ù. ÀÌµé ´ëºÎºÐÀº Xaw3d¸¦ ±â¹ÝÀ¸·Î Çϰí, Xaw3d´Â XawÀÇ R6ÆÇÀ» ±â¹ÝÀ¸·Î ÇϹǷÎ(ÀϺΠ¿¹¿Ü¸¦ Á¦¿ÜÇϰí), À̵鵵 °°ÀÌ ÆÐÄ¡ÇØ »ç¿ëÇÏ ´Â °ÍÀÌ ÁÁ°Ú´Ù°í »ý°¢ÇÕ´Ï´Ù. ÇØ´ç ºÎºÐÀº ¹Ù²îÁö ¾Ê¾ÒÀ» Å״ϱî¿ä.
R5ÀÇ Xaw´Â i18nÀÌ µÇ¾îÀÖÁö ¾Ê½À´Ï´Ù. ±×·¯³ª ÀÌ·± ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ Àִµ¥, À̰ÍÀº R6ÀÇ Xawº¯Á¾Áß¿¡ Xaw95°¡ R5¿¡ Æ÷ÆÃµÇ¾î ÀÖ´Â °ÍÀ» ÀÌ¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ÄÄÆÄÀÏÀÌ Á¶±Ý ¾î·Æ°ÚÁö¸¸, À̸¦ »ç¿ëÇϸé À§ ±Û°ú °°Àº Ãâ·ÂÀ» ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ÁÖÀÇÇÒ °ÍÀº R5´Â i18nÀÇ ±¸Çö¹æ¹ýÀÌ Ç¥ÁØÀÌ ¾Æ´Ï±â ¶§¹®¿¡ ½Ã½ºÅÛ¿¡ µû¶ó ´Ù¸¦ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ¾î¶² °÷¿¡¼´Â localeµð·ºÅ丮 ´ë½Å nlsµð·ºÅ丮°¡ ÀÖ´Â °÷µµ ÀÖ½À´Ï´Ù. ±×·¯³ª ÀÚ½ÅÀÇ ·ÎÄÉÀÏÀ» °¡¸®Å°´Â ÆÄÀϸ¸ Á¸ÀçÇÏ¸é µÇ¹Ç·Î, ±×¸® ¹®Á¦´Â ¾ø½À´Ï´Ù. Xaw95ÀÇ R5ÆÇÀº ¿©±â¿¡¼ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
$Id: index.shtml,v 1.1.1.1 2001/05/23 03:10:33 cjh Exp $
[ Home | Freetime works | FreeBSD | KFUG ]