[ Home | Freetime works | FreeBSD | KFUG ]

ÇÁ·Î±×·¥¼¼°è 1999³â 4¿ùÈ£

¿ÀÇ ¼Ò½º À¯´Ð½º¿¡¼­ÀÇ ÇÑ±Û ±¸Çö - hanterm

ÃÖÁØÈ£, Çѱ¹ FreeBSD »ç¿ëÀÚ ±×·ì
ÀÌÀü ±â»ç¿¡¼­´Â À¯´Ð½º»óÀÇ ÇÑ±Û Ã³¸®¿Í ±×¿¡ °ü·ÃµÈ Ç¥ÁØ, ±×¸®°í ÇöÀç Á¸ÀçÇÏ´Â ¿©·¯ °¡ Áö ÇÁ·Î±×·¥À» ¾î¶² ¹üÁÖ·Î ³ª´­ ¼ö ÀÖ´ÂÁö¿¡ ´ëÇØ ¾Ë¾Æº¸¾Ò´Ù. À̹ø ±â»ç¿¡¼­´Â ±¹³» ¿ÀÇ ¼Ò½º ÇÁ·Î±×·¥Áß X11¿ë Å͹̳ΠÇÁ·Î±×·¥ÀÎ hantermÀ» »ìÆìº»´Ù. hantermÀº ÀÚüÀûÀÎ ÇÑ±Û ÀÔÃâ·Â ½Ã½ºÅÛÀ» °®°í ÀÖ´Â ´ëÇ¥ÀûÀÎ ÇÑ±Û °ü·Ã ¼ÒÇÁÆ®¿þ¾îÀ̸ç, ¿©±â¿¡ »ç¿ëµÈ ÇÑ±Û Ã³¸® ÄÚµå´Â ÀÌÈÄ °³¹ßµÈ ¿©·¯ °¡Áö ÇÑ±Û °ü·Ã ÇÁ·Î±×·¥¿¡ À־ Á÷°£Á¢ÀûÀ¸·Î »ç¿ëµÇ¾î Àֱ⠶§¹®¿¡ ¸í½Ç»óºÎÇÑ Áö¿ªÈ­ ÇÁ·Î±×·¥ÀÇ ±³º»À̶ó ÇÒ ¼ö ÀÖ´Ù. hantermÀÇ ¸ðµç °ÍÀ» »ìÆìº¼ ¼ö´Â ¾ø°ÚÁö¸¸, ÇÑ±Û Ã³¸® ºÎºÐ¿¡ ´ëÇÑ ÇÙ½ÉÀûÀÎ ³»¿ë¿¡ ´ëÇØ »ìÆìº¸±â·Î ÇÏÀÚ.

ÀÌ ±Û¿¡¼­ ¾ð±ÞÇÏ´Â hantermÀº, CAIR-Archive¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Â hanterm304beta7.tar.gz¿¡ ±âÁØÇÑ´Ù. ÀÌ¿ÜÀÇ hanterm¿¡ ´ëÇØ¼­´Â º°µµ·Î ¾ð±ÞÇϰڴÙ.

¼Ò°³

hantermÀº X11R5ÀÌ»óÀÇ xterm¿¡ ÇÑ±Û ÀÔÃâ·Â ±â´ÉÀ» Ãß°¡ÇÑ °ÍÀÌ´Ù. ¸»ÇÏÀÚ¸é X À©µµ¿ì »ó¿¡¼­ ÇÑ±Û Å͹̳ÎÀ» ±¸ÇöÇÏ´Â °ÍÀε¥, ¿Ï¼ºÇü/Á¶ÇÕÇü Çѱ۰ú ÃÖ±Ù¿¡´Â UTF-8 ÀÎÄÚµùÀÇ À¯´ÏÄÚµå Áö¿øµµ °¡´ÉÇÏ´Ù. hantermÀº ¿À·¡ÀüºÎÅÍ °ÅÀÇ ¸ðµç À¯´Ð½º »ç¿ëÀÚ »çÀÌ¿¡¼­ ³Î¸® ÆÛÁ® ÀÖ´Â ÇÁ·Î±×·¥À̰í, °ÅÀÇ ¸ðµç À¯´Ð½º¿Í X11R5½Ã½ºÅÛ À̻󿡼­ Àß ÄÄÆÄÀÏµÇ°í ½ÇÇàµÈ´Ù.

hantermÀÇ °¡Àå Æ¯Â¡ÀÌÀÚ ÇÑ±Û Ã³¸® ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇÑ °øÇåÀº ¹Ù·Î ¿î¿µÃ¼Á¦¿¡ Á¾¼ÓÀûÀÌ Áö ¾ÊÀº ÇÑ±Û ÀÔÃâ·Â ±â´ÉÀÇ ÈǸ¢ÇÑ ¿¹¸¦ º¸¿©ÁÖ¾ú´Ù´Â °ÍÀÌ´Ù. hanterm¿¡´Â 2¹ú½Ä°ú 3¹ú ½Ä ÇÑ±Û ÀÔ·Â, ÇÑÀÚ¿Í Æ¯¼ö±âÈ£ ÀÔ·Â, Á¶ÇÕ ±Û²ÃÀ» ä¿ëÇÑ Çö´ë¾î ¸ðµç ÇѱÛÀÇ ÀԷ°ú Ç¥½Ã, ¿Ï¼ºÇü°ú UTF-8ÀÎÄÚµù Áö¿øµî Áö¿ªÈ­µÈ ÇÑ±Û Ã³¸®¿¡ ÀÖ¾î °¡Àå ¸ð¹üÀûÀÌ°í ¿Ã¹Ù¸¥ 󸮸¦ Çϰí ÀÖ´Ù. ÇÊÀÚÀÇ °³ÀÎÀû »ý°¢À¸·Î´Â hantermÀÇ Æí¸®¼ºÀÌ ¿ÀÈ÷·Á ´Ù¸¥ ÇÑ±Û Ã³¸® ÇÁ·Î±× ·¥ÀÇ °³¹ßÀ» ´õµð°Ô ÇÒ Á¤µµ¿´´Ù°í º¸´Âµ¥, ÀÌ´Â Å͹̳ΠÀÛ¾÷ÀÌ ÁÖµÈ Àϰú°¡ µÇ´Â À¯´Ð½º»ó ¿¡¼­´Â hanterm¸¸À¸·Î °ÅÀÇ ¸ðµç ÇÑ±Û °ü·Ã ÀÛ¾÷ÀÌ °¡´ÉÇ߱⠶§¹®ÀÏ °ÍÀÌ´Ù.

¶Ç ÇѰ¡ÁöÀÇ Æ¯Â¡À̶ó¸é hantermÀÇ ¿ª»ç°ú °³¹ß °úÁ¤ ÀÚü°¡ ¿ÀÇ ¼Ò½º °³¹ß ¹æ½ÄÀÇ ÈǸ¢ ÇÑ ¿¹°¡ µÈ´Ù´Â °ÍÀÌ´Ù. ±¹³»¿¡ À¯´Ð½º°¡ ÀϺΠÀü¹®°¡ÀÇ ÀüÀ¯¹°ÀÌ´ø ½ÃÀý¿¡ °³¹ßµÇ¾î ´º½º ±×·ì°ú FTPµîÀ» ÅëÇØ ÀüÆÄµÇ¸é¼­ ¼ö¸¹Àº »ç¿ëÀÚ¸¦ ¾ò°Ô µÇ¾úÀ¸¸ç, ¿©·¯ »ç¶÷µéÀÇ ÆÐÄ¡·Î ÀÎÇØ Á¡Â÷ ¼ö¸¹Àº ±â´ÉÀ» Ãß°¡ÇÏ¿© ÇöÀç¿¡ À̸£°Ô µÇ¾ú±â ¶§¹®ÀÌ´Ù.

¿ª»ç

´ÙÀ½Àº hantermÀÇ README¿Í ÆÄÀϰú ½ÅÁ¤½Ä¾¾ÀÇ Hangul and Internet in Korea FAQ¿¡¼­ ¹ßÃéÇÑ ³»¿ëÀÌ´Ù. °£·«ÇÑ °¨ÀÌ ÀÖÀ¸¹Ç·Î, ÀÚ¼¼ÇÑ ¿ª»ç¿¡ ´ëÇØ¼­´Â ¿ø¹®µéÀ» Àо±â ¹Ù¶õ ´Ù.
hantermÀº 1991³â °úÇбâ¼ú¿ø¿¡ ÀçÇÐÁßÀÌ´ø ¼ÛÀç°æ¾¾¿¡ ÀÇÇØ °³¹ßµÈ ÇÁ·Î±×·¥À¸·Î, óÀ½ºÎ ÅÍ ¾²¿©Á³´ø 1.x¿Í´Â ¹Ý´ë·Î, 2.xºÎÅÍ´Â xtermÄڵ忡 ´ëÇÑ ÆÐÄ¡·Î °³¹ßµÇ¾ú´Ù. ÃÖÃÊÀÇ 3.0 ¹öÀüÀº 1993³â 9¿ù¿¡ ³ª¿ÔÀ¸¸ç, óÀ½¿¡´Â Á¶ÇÕ ±Û²Ã¸¸ Áö¿øÇÏ´Â ÇÁ·Î±×·¥À̾úÀ¸³ª, ÀÌÈÄ ±è´ë½Ä(dkim@surecom.com)¾¾¿¡ ÀÇÇØ 3.04beta3±îÁöÀÇ ¸±¸®Á ¹ßÇ¥ÇÏ¿´°í, ¿©±â¿¡´Â ¿Ï ¼ºÇü ±Û²Ã Áö¿ø, Á¶ÇÕ ±Û²ÃÀÇ ÇÑÀÚ¿Í Àü°¢±âÈ£ Áö¿ø°ú ÀÚÀßÇÑ ¹ö±× ÆÐÄ¡ µîÀÌ Ãß°¡µÇ¾ú´Ù. 3.04beta4´Â À±¿µ¼±(ysyun@bulsai.kaist.ac.kr)¾¾¿¡ ÀÇÇØ ¹ßÇ¥µÇ¾ú°í, 1998³â 2¿ù¿¡ ¿À¼º±Ô (skoh@camars.kaist.ac.kr)¾¾¿¡ ÀÇÇØ 3.04beta5¿Í 3.04beta6ÀÌ, ¸¶Áö¸· ¸±¸®ÁîÀÎ 3.04beta7Àº ±è´ë½Ä¾¾¿¡ ÀÇÇØ ¸±¸®ÁîµÇ¾ú´Ù.

ÄÄÆÄÀϰú ¼³Ä¡

hantermÀÇ ¼Ò½º ÄÚµå´Â ´ÙÀ½ »çÀÌÆ®¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.
 ftp://cair-archive.kaist.ac.kr/pub/hangul/terminal/hanterm
cair-archiveÀÇ /pub/hangulµð·ºÅ丮´Â ±¹³»¿ÜÀÇ ÇÑ±Û Ã³¸® °ü·Ã ÇÁ·Î±×·¥À» ¸ð¾Æ³õÀº °÷ÀÌ´Ù. ÇöÀç´Â °ü¸®°¡ Àß µÇÁö ¾Ê´Â °ü°è·Î ´ëºÎºÐ ¹öÀüÀÌ Á» Áö³­ ¿¾³¯ ÇÑ±Û Ã³¸® ÇÁ·Î±× ·¥µéÀÌ ¸¹ÀÌ ¸ð¿© Àִµ¥(¿ÀÈ÷·Á ÃֽйöÀüÀÌ hangul/incomingµð·ºÅ丮¿¡ ÀÖ´Â °æ¿ì°¡ ¸¹ ÀÌ ÀÖ´Ù), ±×·¸Áö¸¸ Áß¿äÇÑ ÇÁ·Î±×·¥Àº ¸ðµÎ ¿©±â¼­ ±¸ÇÒ ¼ö ÀÖÀ¸´Ï ½Ã°£ ³ª¸é ¿©·¯ µð·ºÅä ¸®¸¦ µ¹¾Æ´Ù³à º¸¸é À¯¿ëÇÑ ÇÁ·Î±×·¥À» ¸¹ÀÌ ¾òÀ» ¼ö ÀÖ´Ù. ÀÌ µð·ºÅ丮´Â ±¹³»¿Ü ¿©·¯ FTP»çÀÌÆ®¿¡¼­ ¹Ì·¯¸µÇϰí Àִµ¥, ´ëÇ¥ÀûÀÎ °÷À¸·Î´Â
  ftp://sunsite.kren.ne.kr/pub/packages/hangul
  ftp://ftp.hpcnet.ne.kr/pub/hangul/cair-archive
µîÀÌ ÀÖ´Ù.

´ë·« X11R5ÀÌ»ó ½Ã½ºÅÛÀ» °¡Áø °æ¿ì¶ó¸é, hanterm¼Ò½º¸¦ Ç®¾î °£´ÜÈ÷ ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. ¼³ Ä¡¿¡ °üÇÑ ³»¿ëÀº ¼Ò½º ³»ÀÇ ¿©·¯ READMEÆÄÀÏ¿¡ Àß ¼³¸íµÇ¾î ÀÖÀ¸´Ï º°µµ·Î ¾ð±ÞÇÏÁö´Â ¾Ê°Ú´Ù. Á¶ÇÕ ±Û²ÃÀº À§ »çÀÌÆ®¿¡¼­ hantermÀÌ ÀÖ´Â °÷ÀÇ fonts/µð·ºÅ丮 ¾Æ·¡¿¡ Àִµ¥, Á¶ÇÕ ±Û²ÃÀÌ ÇÊ¿äÇÑ °æ¿ì¿¡¸¸ ¼³Ä¡Çؼ­ »ç¿ëÇϱ⠹ٶõ´Ù. Á¶ÇÕ ±Û²ÃÀº ¾ø¾îµµ »ó°ü¾ø´Ù.

¸®´ª½º/FreeBSD »ç¿ëÀÚ°¡ °¡Àå ½±°Ô ¼³Ä¡ÇÏ´Â ¹æ¹ýÀº ¼Ò½º¿¡¼­ ¼³Ä¡Çϱ⠺¸´Ù´Â ¹Ì¸® ¸¸µé¾îÁø ÆÐŰÁö¸¦ ÀÌ¿ëÇÏ´Â °ÍÀÌ´Ù. ¾ËÂ¥ ¸®´ª½ºÀÇ °æ¿ì ±âº»ÀûÀ¸·Î Æ÷ÇԵǾî ÀÖÀ¸¸ç, ÇÊ ¿äÇÑ °æ¿ì FTP »çÀÌÆ®(ftp://ftp.alzzalinux.com)¿Í ±× ¹Ì·¯ »çÀÌÆ®¿¡¼­ hantermÀÇ RPM ÆÐŰÁö¸¦ ±¸ÇÒ ¼ö ÀÖ°í, µ¥ºñ¾È ¸®´ª½ºÀÇ °æ¿ì µ¥ºñ¾È-kr ÇÁ·ÎÁ§Æ® »çÀÌÆ® (ftp://doit.ajou.ac.kr/pub/debian-kr)¿¡¼­ debÆÐŰÁö¸¦ ±¸ÇÒ ¼ö ÀÖ°í, FreeBSD¿¡´Â ÀÌ¹Ì ±âº» ¹èÆ÷º»¿¡ Æ÷ÇԵǾî ÀÖÀ¸¹Ç·Î, ¼³Ä¡½Ã¿¡ ÆÐŰÁö¿¡¼­ koreanÄ«Å×°í¸®¿¡¼­ hantermÀ» º¼ ¼ö ÀÖ´Ù. FTPÀÇ °æ¿ì FreeBSD FTP¹Ì·¯ »çÀÌÆ® Áß °¡±î¿î °÷(±¹³»ÀÇ °æ¿ì °¡Àå ¸ÕÀú ftp://ftp.kr.freebsd.org/pub/FreeBSD/packages/korean)¿¡¼­ ±¸Çϱ⠹ٶõ´Ù.

³»Àå ÇÑ±Û ½Ã½ºÅÛ

hantermÀº ¹öÀü 2 ÀÌÈĺÎÅÍ´Â ±âº»ÀûÀ¸·Î xterm¿¡ ´ëÇÑ ÆÐÄ¡ÀÌ´Ù. µû¶ó¼­ ´ëºÎºÐÀÇ ÄÚµå´Â xtermÀÇ Å͹̳ΠÁ¦¾î¿Í Ç¥½Ã¿¡ °üÇÑ ÄÚµåÀ̸ç, ¿©±â¿¡ ÇÑ±Û ÀÔÃâ·ÂÀ» À§ÇÑ ¿©·¯ °¡Áö ÄÚµå °¡ Ãß°¡µÇ¾î ÀÖ´Ù. hanterm¿¡ ³»ÀåµÈ ÇÑ±Û ÀÔÃâ·Â ½Ã½ºÅÛÀÇ ±â´ÉÀº ´ÙÀ½°ú °°´Ù. À̸¦ À§ÇÑ ÇÙ½ÉÀûÀÎ ¼Ò½º ÄÚµå´Â ´ÙÀ½°ú °°´Ù.
automata.c                      2/3¹ú½Ä ÀÔ·Â ¿ÀÅ丶Ÿ
chat.c                          äÆÃâ ÀÔÃâ·ÂÀ» À§ÇÑ Äݹé ÇÔ¼öµé
hangul.h, hangul.c              ÇÑ±Û Ãâ·Â, ÄÚµå º¯È¯ ÄÚµå
hanja.h, hanja.c                ÇÑÀÚ ÀÔÃâ·Â °ü·Ã ÇÔ¼ö¿Í Ç¥
³ª¸ÓÁö ÄÚµå´Â ¿ø·¡ xtermÀÇ ÄÚµåÀ̸ç, Å͹̳ΠÁ¦¾î¿Í vt100À§Á¬ 󸮺Πµî¿¡¼­ ÇÑ±Û ÀÔ·Â À» °¡´ÉÇÏ°Ô Çϵµ·Ï ¿©·¯ °¡Áö ºÎºÐ¿¡¼­ ÆÐÄ¡¸¦ Çϰí ÀÖ´Ù.

ÀÌÁ¦ °¢ ºÎºÐ¿¡ ´ëÇØ Á¶±Ý ´õ ÀÚ¼¼È÷ »ìÆìº¸±â·Î ÇÏÀÚ.

ÀÔ·Â

ÀԷºθ¦ ÀÌÇØÇϱâ À§Çؼ­´Â ¸ÕÀú ÇÑ±Û ¿ÀÅ丶Ÿ¶ó´Â °ÍÀ» ÀÌÇØÇØ¾ß ÇÑ´Ù. ¿ÀÅ丶Ÿ´Â Àü»ê ¿ë¾î·Î¼­´Â Ãʱâ Á¶°Ç ÇÏ¿¡¼­ ÀÏÁ¤ÇÏ°Ô µ¿ÀÛÇÏ´Â »óÅ ±â°è(state machine)ÀÇ µ¿ÀÛ ¿ø¸®¸¦ ÀÌ·ç´Â ÀÌ·ÐÀÌÁö¸¸, ¿©±â¿¡¼­´Â ÇѱÛÀ» ÀÔ·ÂÇϱâ À§ÇÑ ¹æ¹ýÀÇ ¼ø¼­¸¦ ÀǹÌÇÑ´Ù. ¿¹¸¦ µé¸é 2¹ú½ÄÀ¸·Î 'ÇÏ´Ã'À̶ó´Â ´Ü¾î¸¦ ÀÔ·ÂÇϱâ À§ÇØ °ÅÄ¡´Â °úÁ¤À» »ìÆìº¸ÀÚ.
 ¤¾ ÇÏ ÇÑ ÇÏ´À ÇÏ´Ã
À§¿¡¼­ 'ÇÑ'À̶ó´Â ±ÛÀÚ³ª '´À'¶ó´Â ±ÛÀÚ´Â ¾ÆÁ÷ ¿Ï¼ºµÈ ±ÛÀÚ·Î ÆÇ´ÜÇÒ ¼ö ¾ø´Â °ü°è·Î ³ª¸Ó Áö ÀÔ·ÂÀ» ±â´Ù·Á¾ß Çϴµ¥, 2¹ú½Ä¿¡¼­´Â ÀÌ·± Á¶ÇÕÁßÀÎ ±ÛÀÚ¸¦ ÆÇ´ÜÇÏ´Â ¹®Á¦°¡ Áö±Ý ÀÔ·Â ÇÏ´Â ¹®ÀÚÀÇ ¾Õ ¹®ÀÚ¿¡±îÁö ¿µÇâÀ» ¹ÌÄ¡°Ô µÈ´Ù(À̸¦ 'µµ±úºñºÒ Çö»ó'À̶ó°íµµ ÇÑ´Ù). 3¹ú½Ä ¿¡¼­´Â ±×·± ¹®Á¦°¡ ¾ø´Ù.

2¹ú½Ä ¿ÀÅ丶Ÿ

ÀÚ/¸ðÀ½ÀÇ ÀԷ¸¸À¸·Î ±ÛÀÚ¸¦ ±¸¼ºÇÏ´Â 2¹ú½Ä ÀÚÆÇ¿¡¼­´Â ÀÚÀ½°ú ¸ðÀ½¸¸ÀÌ ±¸º°µÇ¾î ÀÖÀ¸¹Ç ·Î Ãʼº°ú Á¾¼ºÀÌ °°ÀÌ »ç¿ëµÇ°í ÇѱÛÀÇ ÀÔ·Â »óÅ¿¡ µû¶ó ÃÊ/Á¾¼ºÀ» ±¸ºÐÇØ ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ´Â »óÅ ÀüÀ̵µ(state transition diagram)À¸·Î ³ªÅ¸³¾ ¼ö Àִµ¥, 2¹ú½ÄÀÇ °æ¿ì ´ë·« ¾Æ·¡ ±×¸²°ú °°´Ù(HWP¿Í °°Àº ÇÁ·Î±×·¥Àº À̺¸´Ù ´õ º¹ÀâÇÑ ¿ÀÅ丶Ÿ¸¦ »ç¿ëÇÑ´Ù´Â °Í¿¡ À¯ÀÇ Çϱ⠹ٶõ´Ù. Áï 2/3¹ú½Ä ¿ÀÅ丶Ÿ°¡ µû·Î °íÁ¤µÈ °ÍÀÌ ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù).

±×¸²: 2¹ú½Ä ¿ÀÅ丶Ÿ

±×¸² 1¿¡¼­, C´Â Ãʼº, V´Â Áß¼º(VV´Â º¹¸ðÀ½), B´Â Á¾¼º(BB´Â º¹ÀÚÀ½)À», X´Â ±×·¸Áö ¾Ê Àº ±ÛÀÚ(¼ýÀÚ³ª Ư¼ö±âÈ£ µî)À» ÀǹÌÇÑ´Ù. ÀÌ ±×¸²Àº ÀÔ·ÂÇÑ ±ÛÀÚÀÇ Á¾·ù¿¡ µû¶ó S0-S7»ç ÀÌÀÇ »óÅ »çÀÌ·Î À̵¿ÇÏ°Ô µÇ´Âµ¥, ÀÌ·¯ÇÑ »óÅ ±â°è(state machine)´Â ½ÃÀÛÁ¡À» °®´Â°Ô º¸ÅëÀ̸ç, ÀÌ °æ¿ì S0°¡ ½ÃÀÛÁ¡ÀÌ´Ù.

'ÇÏ´Ã'À» ÀÔ·ÂÇÏ´Â ¿¹¸¦ ´Ù½Ã »ý°¢ÇØ º¸¸é, S0¿¡¼­ '¤¾'À» ÀÔ·ÂÇϸé Ãʼº(C)À̹ǷΠS1À¸·Î À̵¿Çϰí(S1Àº 'ÀÚÀ½À» ÀÔ·ÂÇÏ¿© ÃʼºÀÌ Ã¤¿öÁø °æ¿ì'), '¤¿'¸¦ ÀÔ·ÂÇϸé Áß¼º(V)À̹ǷΠS2 ·Î À̵¿ÇÑ´Ù(S2´Â 'Áß¼ºÀÌ ÀÔ·ÂµÈ »óÅÂ'). ´Ù½Ã '¤¤'À» ÀÔ·ÂÇϸé À̰ÍÀÌ 'ÇÏ'ÀÇ ¹ÞħÀÌ µÉ Áö ´ÙÀ½ ±ÛÀÚÀÇ ÃʼºÀÌ µÉÁö ¸ð¸£Áö¸¸ ÀÏ´Ü Á¾¼º(B)·Î °¡Á¤Çϰí S4·Î À̵¿Çϰí(S4´Â 'S3¿¡¼­ Á¾¼ºÀÌ µé¾î¿Í ó¸®µÈ »óÅÂ'), 'ÇÑ'ÀÌ ÀԷµȴÙ. Áö±ÝÀº ÇÑ ±ÛÀÚ°¡ ¿Ï¼ºµÇ¾úÀ¸³ª, ÀÌÈÄÀÇ ÀÔ ·Â¿¡ µû¶ó ¾ÆÁ÷ ±ÛÀÚ°¡ ¿Ï¼ºµÇ¾ú´Ù°í º¼ ¼ö´Â ¾ø´Ù. ÀÌÁ¦ '¤Ñ'°¡ ÀԷµǸé, ÀÌÀü¿¡ ÀÔ·ÂÇÑ Á¾¼ºÀº ÀÌ ±ÛÀÚÀÇ ÃʼºÀÌ µÇ¸ç, µû¶ó¼­ 'ÇÏ´À'ÀÇ »óŰ¡ µÈ´Ù. ÀÌ´Â S4¿¡¼­ S7·Î À̵¿ÇÏ´Â °ÍÀÌ´Ù(S7Àº '¸ðÀ½ÀÌ ÀÔ·ÂµÇ¾î ¾Õ±ÛÀÚÀÇ Ãʼº°ú ºÐ¸®µÇ¸é¼­ ÇÑ ±ÛÀÚ°¡ ¿Ï¼ºµÈ »óÅÂ'). À̶§ 'ÇÏ'´Â ÀÔ·ÂÀÌ ¿Ï¼ºµÇ¾ú´Ù°í °£ÁÖÇϰí Ãâ·ÂÇϰí, S2·Î À̵¿ÇÑ´Ù. À̾î '¤©'ÀÌ µé¾î¿À¸é, '´Ã 'À» Á¶ÇÕÇÒ ¼ö ÀÖ´Ù(±×·¯³ª ´ÙÀ½ ±ÛÀÚÀÇ ÀÔ·ÂÀ» º¸¾Æ¾ß ±ÛÀÚ°¡ ¿Ï¼ºµÉÁö¸¦ ¾Ë ¼ö ÀÖ´Ù).

3¹ú½Ä ¿ÀÅ丶Ÿ

3¹ú½ÄÀÇ °æ¿ì, ÀÚÆÇ¿¡ ÃÊ/Áß/Á¾¼ºÀÌ ±¸ºÐµÇ¾î ÀÖÀ¸¹Ç·Î µµ±úºñºÒ Çö»óÀÌ ¾ø¾îÁö°í, ¿ÀÅ丶 Ÿ¿¡¼­ ¾Õ ±ÛÀÚ°¡ ¿Ï¼ºµÇ¾ú´ÂÁöÀÇ ¿©ºÎ¸¦ ¾Ë±â À§ÇØ ´ÙÀ½ ±ÛÀÚÀÇ Áß¼º ÀԷ±îÁö ±â´Ù¸± ÇÊ ¿ä°¡ ¾ø°Ô µÈ´Ù. µû¶ó¼­ 3¹ú½Ä ¿ÀÅ丶Ÿ´Â 2¹ú½Ä ¿ÀÅ丶Ÿº¸´Ù °£´ÜÇØÁö°Ô µÈ´Ù. ÀÌ ±â»ç¿¡ ¼­´Â µû·Î ´Ù·çÁö´Â ¾Ê°ÚÀ¸¸ç, ºñ±³Àû °£´ÜÇÏ°Ô »ý°¢ÇÒ ¼ö ÀÖÀ¸´Ï µ¶ÀÚ ¿©·¯ºÐÀÌ ½º½º·Î ±× ·Á º¸±â ¹Ù¶õ´Ù.

±¸Çö

ÀÌ¿Í °°Àº ¿ÀÅ丶Ÿ¸¦ ±¸ÇöÇÏ´Â ¹æ¹ý¿¡´Â µÎ°¡Áö°¡ Àִµ¥, Çϳª´Â ÀÌ·± »óÅ ÀüÀ̸¦ if¹®À» ÅëÇØ ÄÚµå ¾È¿¡¼­ ±¸ÇöÇÏ´Â °ÍÀ̰í, ´Ù¸¥ ¹æ¹ýÀº º°µµÀÇ ¿ÀÅ丶Ÿ Á¤ÀÇ ÆÄÀÏÀ» ÅëÇØ À̸¦ Àоî¿À´Â °ÍÀÌ´Ù. hantermÀº ÇöÀç 2/3¹ú½Ä ¿ÀÅ丶Ÿ°¡ automata.c ¼Ò½º ¾È¿¡ if¿Í switch¹® À¸·Î ±¸ÇöµÇ¾î ÀÖ´Ù. À̸¦ °£·«È÷ »ìÆìº»´Ù¸é ´ÙÀ½°ú °°´Ù.

ÇÑÀÚ

ÇÑÀÚ ÀÔ·ÂÀº ÀÌ¹Ì ÀÔ·ÂµÈ ÇÑ±Û ±ÛÀÚ¿¡ ´ëÀÀÇÏ´Â ÇÑÀÚ¸¦ ³ª¿­ÇÏ°í ¼±ÅÃÇÏ´Â ¹æ½ÄÀÌ´Ù. ÀÌ´Â hanja.c¿¡¼­ ó¸®Çϰí ÀÖ´Ù. ±×¸²À» º¸¸ç ÀÌÇØÇÏ¸é ½¬¿ï °ÍÀÌ´Ù.

int get_hanja_codes(han_code, hanja_code_table)
ÇÑ±Û Äڵ带 ÀÔ·Â¹Þ¾Æ ´ëÀÀÇÏ´Â ÇÑÀÚ ÄÚµåµéÀ» ¸ðµÎ µ¹·ÁÁØ´Ù. ÇÑ±Û Äڵ忡 ´ëÀÀÇÏ´Â ÇÑÀÚ ´Â, hanja.h¿¡ Á¤ÀÇµÈ hanja_taeble[][2]¹è¿­¿¡¼­ ¾òÀ» ¼ö ÀÖ´Ù. ÇÑÀÚ´Â ÇÑ±Û ¼ø¼­´ë·Î Á¤ ·ÄµÇ¾î ÀÖÀ¸¹Ç·Î, '°¡'ºÎÅÍ ½ÃÀÛÇÏ°Ô µÇ¸ç, °°Àº ±ÛÀÚ¿¡ ´ëÇØ º¹¼öÀÇ ÇÑÀÚ°¡ ÀÖÀ¸¹Ç·Î, ÀÌ ¹è¿­Àº ÇÑ±Û ÄÚµå¿Í ÇØ´ç ÇÑÀÚ°¡ ½ÃÀÛÇÏ´Â ¹øÁö¸¦ ´ã°í ÀÖ´Ù. ¿¹¸¦ µé¸é, '°¡'(0xb0a1)¿¡ ÇØ ´çÇÏ´Â ÇÑÀÚÀÇ ½ÃÀÛ ¹øÁö´Â 0xcaa1À̰í, ´ÙÀ½ ±ÛÀÚÀÎ '°¢'(0xb0a2)¿¡ ÇØ´çÇÏ´Â ÇÑÀÚÀÇ ½ÃÀÛ ¹øÁö´Â 0xcabeÀÌ´Ù. ÀÌ´Â hanja_table¿¡
unsigned int hanja_table[][2]= {
 { 0xb0a1, 0xcaa1},
 { 0xb0a2, 0xcabe },
  ...
}
·Î ±â·ÏµÇ¾î Àִµ¥, µû¶ó¼­ '°¡'¿¡ ÇØ´çÇÏ´Â ÇÑÀÚ´Â 0xcaa1 ~ 0xcabd¶ó´Â°ÍÀ» ¾Ë ¼ö ÀÖ ´Ù. ÇÑÀÚÇ¥´Â ¸ðµÎ ¿Ï¼ºÇü ÇÑÀÚ Å×À̺íÀ» ±Ù°Å·Î ÇÑ´Ù´Â Á¡¿¡ ÁÖÀÇÇÏÀÚ.
hanja_mode_input(keysym, event, string, nbytes)
ÇÑÀÚ ÀÔ·Â ÇÔ¼ö. ÇÑÀÚ ¸ðµå¿¡¼­ ºÎ¸£´Â °ÍÀ̸ç, ´ë·«ÀÇ È帧Àº ´ÙÀ½°ú °°´Ù.
{
        if (ESC¸¦ ´©¸¥ °æ¿ì)
                ÇÑÀÚ¸ðµå Ãë¼Ò;
        else if (½ºÆäÀ̽ºÅ°)
                ´ÙÀ½ È常¦ º¸¿©ÁØ´Ù;
        else if (Ä¿¼­Å°)
                È常¦ Á¿ì·Î ½ºÅ©·ÑÇÏ¸ç º¸¿©ÁØ´Ù;
                Home۸¦ ´©¸£¸é óÀ½ ¸ñ·ÏÀ¸·Î µ¹¾Æ°£´Ù;
        else if (0-9»çÀÌÀÇ ¼ýÀÚ°¡ ÀÔ·Â)
                ÇØ´çÇÏ´Â ¼ýÀÚ°¡ °¡¸®Å°´Â ÇÑÀÚ¸¦ Ãâ·ÂÇÑ´Ù;
                ÇÑÀÚ¸ðµå Ãë¼Ò;
}

±×¸²: ÇÑÀÚÀÔ·Â È­¸é

Ãâ·Â

Ãâ·ÂºÎ¸¦ ÀÌÇØÇϱâ À§ÇØ ¸ÕÀú °¢ Äڵ尣ÀÇ °ü°è¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ. hanterm¿¡¼­´Â ¿ÜºÎ »ç ¿ëÀÚ¿¡°Ô º¸¿©ÁÖ´Â ÄÚµå·Î ´ÙÀ½ÀÌ ÀÖ´Ù.

±×·¯³ª, À̵éÀ» ³»ºÎÀûÀ¸·Î Ç¥ÇöÇϱâ À§Çؼ­ º°µµÀÇ ³»ºÎ ÀÎÄÚµùÀ» »ç¿ëÇϴµ¥, ¼Ò½º »ó¿¡ ¼­´Â º¸Åë '3'À̶ó°í ºÎ¸¥´Ù(ÀÌÈÄ¿¡´Â 3ÀÎÄÚµùÀ̶ó ºÎ¸£°Ú´Ù). ÀÌ´Â ÃÊ, Áß, Á¾¼ºÀ» Ç¥ 1¿¡ ³ªÅ¸³­ ¼ýÀÚ·Î ±â¼úÇÑ °ÍÀ¸·Î, ¼ýÀÚ ¼¼°³·Î Ç¥½ÃÇÒ ¼ö ÀÖÀ¸¸ç, ¼Ò½º¿¡¼­´Â º¸Åë f, m, l·Î ³ªÅ¸³½´Ù.

Áï ÀÔ·ÂµÈ ÄÚµå´Â 3 ÀÎÄÚµùÀ¸·Î ³ªÅ¸³¾ ¼ö ÀÖÀ¸¸ç, ÀÌ´Â Å͹̳ο¡¼­ »ç¿ëÇÏ´Â Àû´çÇÑ ÄÚµå ·Î º¯È¯ÇÏ¿© º¸¿©ÁÖ°Ô µÈ´Ù. ±×·³ È­¸é Ç¥½Ã¸¦ À§ÇØ »ç¿ëÇÏ´Â ±Û²Ã¿¡¼­´Â ¾î¶² Äڵ带 »ç¿ë ÇÒ±î?

±Û²Ã ÀÎÄÚµù

hanterm¿¡¼­´Â ƯÀÌÇÏ°Ô Ãʱ⠾Ʒ¡Çѱۿ¡¼­ »ç¿ëÇÏ´ø 10x4x4¹æ½ÄÀÇ Á¶ÇÕ ±Û²ÃÀ» X11 ºñÆ® ¸Ê ±Û²Ã ÇüÅ·Π¹Ù²Û Á¶ÇÕ ±Û²Ã, X11R5ÀÌÈÄÀÇ ÇÑ±Û Ç¥ÁØ ±Û²Ã Çü½ÄÀ¸·Î ¾²ÀÌ´Â k¿Ï¼ºÇü ÀÎ ÄÚµùÀÇ ¿Ï¼ºÇü ±Û²Ã, ±×¸®°í µµ½ºÀÇ À̾߱⳪ µµ±úºñ µî¿¡¼­ »ç¿ëÇÏ´ø 8x4x4¹æ½ÄÀÇ Á¶ÇÕ ±Û²ÃÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿Ï¼ºÇü ±Û²ÃÀº ¸» ±×´ë·Î 2350ÀÚÀÇ ÇÑ±Û Äڵ带 °¢°¢ ºñÆ®¸Ê ±Û²Ã ·Î ±×¸° °ÍÀ̸ç, Á¶ÇÕÇü ±Û²Ã¿¡¼­ 10x4x4¿Í 8x4x4´Â ÇÑ ±ÛÀÚ¸¦ ¸¸µé±â À§ÇØ °¢ Àڸ𸦠Á¶ ÇÕÇÒ ¶§ º¸±â ÁÁ°Ô º¸¿©ÁÙ ¼ö ÀÖµµ·Ï °¢ Ãʼº¿¡ ´ëÇØ 10¹ú, Áß¼º 4¹ú, Á¾¼º 4¹úÀÇ ±Û²ÃÀ» Á¤ÀÇÇÑ ¹æ½ÄÀÌ´Ù. ÀÌµé ±Û²ÃÀº ±âÁ¸ µµ½º¿ë ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ »ç¿ëÇÏ´ø ±Û²Ã(.FNTÆÄÀÏ µî) À» X11¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï º¯È¯ÇÑ °ÍÀÌ´Ù.

±×¸²: hangul1.gif Á¶ÇÕÇü(johabsh-1) ±Û²Ã Áß ÇÑ±Û (1)

±×¸²: hangul2.gif Á¶ÇÕÇü(johabsh-1) ±Û²Ã Áß ÇÑ±Û (2)

±×¸²: hangul3.gif Á¶ÇÕÇü(johabsh-1) ±Û²Ã Áß ÇÑ±Û (3)°ú Àü°¢±âÈ£

µû¶ó¼­ ÀÌµé ±Û²ÃÀº ³»ºÎÀûÀ¸·Î ±Û²Ã¸¸ÀÇ ÀÎÄÚµùÀ» °®´Â´Ù. ÇÑ ±ÛÀÚ¸¦ Ç¥½ÃÇϱâ À§Çؼ­´Â ¸ÕÀú ÇØ´ç ±ÛÀÚÀÇ Äڵ带 ¹ÙÅÁÀ¸·Î 3ÀÎÄÚµùÀ¸·Î ºÐ¸®Çϰí, À̸¦ ¸ð¾ç¿¡ ¸ÂÃß¾î(Áß¼ºÀ̳ª Á¾ ¼ºÀÇ À¯¹«¿Í ¸ð¾çÀ» °í·ÁÇÑ´Ù) ¾Ë¸ÂÀº ±Û²ÃÀÇ ¸ð¾çÀ» ã¾Æ À̸¦ °ãÃÄ Ç¥½ÃÇϸé Á¶ÇÕÇü ±Û²Ã À» »ç¿ëÇÑ ÇѱÛÀÚ Ãâ·ÂÀÌ ¿Ï¼ºµÈ´Ù. ±×¸² 2¿¡¼­ ÇÑ ¿¹¸¦ ã¾Æº¼ ¼ö Àִµ¥, ¿©±â¿¡¼­ °¢°¢ ÀÇ ÃÊ/Áß/Á¾¼ºÀº ¿©·¯ ¹ú Áß ´Ù¸¥ ÀÚÀ½°ú ¸ðÀ½ÀÌ ¾î¿ï¸®´Â °ÍÀ» ã¾Æ¼­ Ç¥½ÃÇØ¾ß ÇÑ´Ù. Áï '°¡'¿¡¼­ÀÇ '¤¡'°ú '°£'ÀÇ '¤¡'Àº ¸ð¾çÀÌ ´Ù¸£±â ¶§¹®ÀÌ´Ù.

±×¸²: Á¶ÇÕÇü ±Û²Ã¿¡¼­ ±ÛÀÚÀÇ Á¶ÇÕ

X ±Û²Ã À̸§À» Á¤ÀÇÇÏ´Â XLFD(X Logical Font Description)¿¡¼­ ÇØ´ç ±Û²ÃÀÇ ÀÎÄÚµùÀº °¡ Àå ¸¶Áö¸·ÀÇ µÎ Çʵå·Î Ç¥½ÃÇÒ ¼ö Àִµ¥, À§¿¡¼­ ¾ð±ÞÇÑ ¼¼°¡Áö ÀÎÄÚµùÀº ´ÙÀ½°ú °°ÀÌ ³ª Ÿ³­´Ù.

johab-1ÀÎÄÚµùÀÇ °æ¿ì(º¸Åë °¡Àå ¸¶Áö¸·ÀÇ °æ¿ì, -0À̸é MSB°¡ 0ÀÎ °ÍÀ»(À̸¦ GLÆò¸é¿¡ È£Ãâ(invoke)ÇÑ´Ù°í ¸»ÇÏÁö¸¸ ÀÚ¼¼ÇÑ ¼³¸íÀº »ý·«Çϱâ·Î ÇÏÀÚ. ±Ã±ÝÇÑ »ç¶÷Àº ISO 2022±Ô ¾àÀ» ã¾Æº¸±â ¹Ù¶õ´Ù) ³ªÅ¸³»°í -1À̸é MSB°¡ 1ÀÎ °ÍÀ»(GRÆò¸é) ³ªÅ¸³»´Âµ¥, Á¶ÇÕ ±Û²Ã ÀÇ °æ¿ì À̰ÍÀÇ Àǹ̰¡ ¾øÀ¸¹Ç·Î 0À̵ç 1ÀÌµç »ó°üÀÌ ¾ø°Ô µÈ´Ù), Ãʱ⿡´Â ÇÑ±Û Ç¥½Ã¸¸ °¡ ´ÉÇÏ¿´À¸³ª ÀÌÈÄ Àü°¢±âÈ£¿Í ÇÑÀÚ Ç¥½Ã¸¦ À§ÇØ ´ÙÀ½ÀÇ µÎ°¡Áö ±Û²Ã Á¾·ù°¡ Ãß°¡µÇ¾ú´Ù. µû¶ó¼­ °¢ ±Û²Ã ÆÄÀÏ Å©±â´Â johabsh-1ÀÎÄÚµùÀÇ °ÍÀÌ °¡Àå Å©´Ù.

10x4x4¿Í 8x4x4ÀÇ Â÷ÀÌ´Â ¾î´À ÂÊÀÌ ÃʼºÀ» ´õ ´Ù¾çÇÏ°Ô °®°í ÀÖ´À³ÄÀÇ °üÁ¡¿¡¼­ º¸¸é µÈ ´Ù. Áï 10x4x4ÀÇ °æ¿ì 8x4x4º¸´Ù ÃʼºÀ» °¢ ±ÛÀÚ¿¡ ´ëÇØ 2°³¾¿ ´õ °¡Áø ¼ÀÀÌ µÈ´Ù. ÀÌ °æ ¿ì 10x4x4ÂÊÀÌ ´õ ¹Ì·ÁÇÑ ¸ð¾çÀ» Ç¥½ÃÇÒ ¼ö ÀÖ°ÚÁö¸¸, ±Û²Ã °³¹ß¿¡ °É¸®´Â ½Ã°£ÀÌ ´õ µé°í ºñÆ®¸Ê ±Û²Ã¿¡ À־´Â Å« Â÷À̰¡ ³ªÁö ¾Ê´Â´Ù.

¿Ï¼ºÇü ±Û²Ã 󸮴 »ý°¢º¸´Ù °£´ÜÇÏ´Ù. ±Û²ÃÀÇ ³»ºÎ ÀÎÄÚµùÀÌ ÀÌ¹Ì ¿Ï¼ºÇü°ú MSB¸¦ Á¦¿Ü Çϰí´Â ÀÏÄ¡ÇϹǷΠ°£´ÜÇÑ º¯È¯À¸·Î ±×´ë·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ´Ü ¿Ï¼ºÇüÀ» ksc5601.1987-0 ±Û²Ã ÀÎÄÚµùÀ¸·Î ¹Ù²Ù¾î ÁÖ·Á¸é MSB¸¦ Á¦°ÅÇØ¾ß Çϸç, 0x7f·Î ¸¶½ºÅ·ÇÏ¿© ½±°Ô ¾ò¾î³¾ ¼ö ÀÖ´Ù.

±Û²Ã Ãâ·ÂºÎ

±Û²Ã Ãâ·ÂÀ» À§ÇØ ¸ÕÀú ÄÚµå º¯È¯À» ÇØ¾ß ÇÑ´Ù. Áï ´ÙÀ½°ú °°Àº ÄÚµå º¯È¯ÀÌ ³»ºÎÀûÀ¸·Î ÀÌ ·ç¾îÁø´Ù.

Å͹̳ΠÀÎÄÚµù ³»ºÎó¸® È­¸é ±Û²Ã ÀÎÄÚµù
¿Ï¼ºÇü(ks) ¿Ï¼ºÇü(ksc5601.1987-[01])
Á¶ÇÕÇü(johab) <--> 3 ÀÎÄÚµù <--> Á¶ÇÕÇü ±Û²Ã(johab)
UTF-8(utf8) Á¶ÇÕÇü ±Û²Ã(jo844)

À̸¦ À§Çؼ­ hantermÀÇ hangul.c¿¡¼­´Â ´ÙÀ½°ú °°Àº ¿©·¯°¡ÁöÀÇ ÄÚµå º¯È¯ ÇÔ¼ö¸¦ Á¦°øÇÑ ´Ù.

 convert_ks_to_3(h, l, des)                    ¿Ï¼ºÇü -> 3ÀÎÄÚµù
 convert_3_to_ks(f, m, l, des)                 3ÀÎÄÚµù -> ¿Ï¼ºÇü
 convert_3_to_display(f, m, l, des)            3ÀÎÄÚµù -> È­¸é ±Û²Ã ÀÎÄÚµù
 convert_johab_to_display(src, des, len)       Á¶ÇÕÇü -> È­¸é ±Û²Ã ÀÎÄÚµù
 convert_3_to_johab(f, m, l, buf)              3ÀÎÄÚµù -> Á¶ÇÕÇü
 convert_3_to_jo844(f, m, l, des)              3ÀÎÄÚµù -> johab844 ±Û²Ã ÀÎÄÚµù
 convert_3_to_utf8(f, m, l, buf)               3ÀÎÄÚµù -> UTF-8
 convert_johab_to_3(src, f, m, l)              Á¶ÇÕÇü -> 3ÀÎÄÚµù
 convert_johab_to_utf8(src, f, m, l)           Á¶ÇÕÇü -> UTF-8
 convert_ks_to_johab(src, des, n)              ¿Ï¼ºÇü -> Á¶ÇÕÇü
 convert_johab_to_ks(src, des, len)            Á¶ÇÕÇü -> ¿Ï¼ºÇü
 convert_char_ksc5601_to_ucs2(byte1, byte2)    ¿Ï¼ºÇü -> UCS-2
 convert_char_ucs2_to_ksc5601(code_ucs2)       UCS-2 -> ¿Ï¼ºÇü
 convert_wc_to_mb(s, wc)                       UCS-2¸¦ UTF-8·Î
 convert_mb_to_wc(p, s, n)                     UTF-8À» UCS-2·Î
3ÀÎÄÚµù¿¡¼­ ÁÖÀÇÇÒ Á¡Àº, ÃʼºÀÌ 0xffÀÎ °æ¿ì ³ª¸ÓÁö µÎ ¹ÙÀÌÆ®´Â ¿Ï¼ºÇüÀÇ µÎ¹ÙÀÌÆ®¸¦ °¢ °¢ ³ªÅ¸³½´Ù´Â °ÍÀÌ´Ù. ÀÌ´Â ±×·¡ÇÈ ¹®ÀÚ³ª ÇÑÀÚ¸¦ Ç¥ÇöÇϱâ À§ÇØ »ç¿ëÇÑ´Ù. ¶ÇÇÑ, UTF-8 ÀÎÄÚµùÀº ÇѱÛÀÚ°¡ ÃÖ´ë 6ÀÚ±îÁö, ¿Ï¼ºÇü ÀÎÄÚµùÀº ÇѱÛÀÚ°¡ 2¹ÙÀÌÆ® ¶Ç´Â 8¹ÙÀÌÆ®·Î Ç¥½Ã µÉ ¼ö ÀÖ´Ù. 8¹ÙÀÌÆ®ÀÎ ÀÌÀ¯´Â, ¿Ï¼ºÇü Ç¥¿¡ ¾ø´Â ±ÛÀÚ¸¦ Ç¥½ÃÇϱâ À§ÇØ 'KSC 5601(Çö KSX1001) - 1992 Á¤º¸ ±³È¯¿ë ºÎÈ£ ÇØ¼³ 3.3Àý'¿¡ ÀǰÅÇÑ ¹æ½ÄÀ» »ç¿ëÇϱâ À§Çؼ­´Ù. ±¸ üÀûÀ¸·Î´Â ´ÙÀ½°ú °°´Ù.

--> [ä¿ò] ¤¨ ¤Ç ¤±

µû¶ó¼­ ÀÌ °æ¿ì ÇÑ ±ÛÀÚ¸¦ ³ªÅ¸³»±â À§Çؼ­´Â 8¹ÙÀÌÆ®°¡ µç´Ù.

hantermÀº ÀÌ ¸ðµç ÀÎÄÚµù ·çƾÀ» ÀûÀýÈ÷ Ȱ¿ëÇØ¼­ È­¸é Ãâ·ÂÀ» ¼öÇàÇÑ´Ù. Áï ¸ðµç Å͹̳ΠÀÎÄÚµùÀº 3ÀÎÄÚµù(¶Ç´Â Á¶ÇÕÇü)À» °ÅÃļ­ È­¸é¿¡ Ãâ·ÂÇÒ ±Û²ÃÀÇ Á¾·ù¿¡ µû¶ó johabÀ̳ª johab844, ksc5601.1987-0±Û²Ã·Î ¹Ù²Ù°í, À̸¦ Á÷Á¢ X11ÀÇ 2¹ÙÀÌÆ® ±ÛÀÚ Ãâ·Â ÇÔ¼ö (XDrawString16()µî)À» ÅëÇØ Ãâ·ÂÇÏ°Ô µÈ´Ù. ½ÇÁ¦·Î Ãâ·ÂÇÏ´Â ÇÔ¼ö´Â

 HDrawImageString(d, w, gc, hgc, x, y, str, len)
 HDrawString(d, w, gc, hgc, x, y, str, len)
ÀÇ µÎ°¡ÁöÀÌ´Ù. À̵é ÇÔ¼ö´Â ±âº»ÀûÀ¸·Î ´ÙÀ½ÀÇ ±¸Á¶¸¦ °®´Â´Ù.
 HDrawString(d, w, gc, hgc, x, y, str, len)
 {
    while(len>0){
       if (ÇѱÛ)
         while(ÇÑ±Û ±ÛÀÚ°¡ ³ª¿À´Â µ¿¾È)
            XDrawString16(d, w, hgc, x, y, buf, n);
       else
         while(¿µ¹® ±ÛÀÚ°¡ ³ª¿À´Â µ¿¾È)
            XDrawString(d, w, hgc, x, y, buf, n);
     }
  }
Áï, ¿µ¹® ±Û²Ã Ãâ·ÂÀ» À§Çؼ­´Â ¿µ¹® ±Û²ÃÀÌ ÁöÁ¤µÈ GC(Graphic Context, X11¿¡¼­ ±×¸²À» ±×¸®±â À§ÇÑ °³Ã¼ ¼Ó¼ºµéÀÇ ÁýÇÕÀÌ´Ù)ÀÎ gc¸¦, ÇÑ±Û ±Û²Ã Ãâ·ÂÀ» À§Çؼ­´Â ÇÑ±Û ±Û²ÃÀÌ Áö Á¤µÈ GCÀÎ hgc¸¦ »ç¿ëÇØ¼­ ±×¸°´Ù.

DG-UXÀÇ X¼­¹ö³ª, Exceed¸¦ »ç¿ëÇÏ´Â °æ¿ì hantermÀÇ Á¶ÇÕ ±Û²ÃÀÌ Á¦´ë·Î µ¿ÀÛÇÏÁö ¾Ê ´Â ¹®Á¦°¡ ÀÖ¾ú´Âµ¥, ÀÌ ¹®Á¦´Â hantermÀÌ Á¶ÇÕ ±ÛÀÚ¸¦ Ç¥½ÃÇϱâ À§ÇØ Áß°£¿¡ ³¢¿ö³Ö´Â ³Ê ºñ 0ÀÇ ±ÛÀÚ¸¦ X¼­¹ö¿¡¼­ Á¦´ë·Î ó¸® ¸øÇÏ´Â ¹®Á¦ ¶§¹®À̾ú´Ù. ÀÌ ¹®Á¦´Â 3.04beta5 ÀÌÈÄ ¿¡ ÇØ°áÀÌ µÇ¾ú´Âµ¥, ³Êºñ 0À» Ãâ·ÂÇϱâ À§ÇØ ³Êºñ -1°ú ³Êºñ 1ÀÇ ±ÛÀÚ¸¦ ¿¬¼ÓÀûÀ¸·Î Ãâ·Â ÇÏ´Â ¹æ½Ä¿¡ ÀÇÇØ ÇØ°áÇϰí ÀÖ´Ù. À̸¦ À§Çؼ­´Â Á¶ÇÕ ±Û²Ã Áß nzfont¶ó´Â °ÍÀ» µû·Î ¾ò¾î ¾ß Çϸç, hantermÀÇ FTP»çÀÌÆ®¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.

ÇÑÀÚ ±Û²Ã ó¸®

ÇÑÀÚ´Â ±×·¡ÇÈ ±ÛÀÚ¿Í ¸¶Âù°¡Áö ¹æ¹ýÀ¸·Î, 3ÀÎÄÚµù ³»¿¡¼­ ( 0xff, ÇÑÀÚ Ã¹¹øÂ° ¹ÙÀÌÆ®, ÇÑ ÀÚ µÎ¹øÂ° ¹ÙÀÌÆ® ) ÀÇ Çü½ÄÀ» °®´Â´Ù. À̸¦ ±×´ë·Î Ãâ·ÂÇÏ¸é µÈ´Ù.

±×¸²: hanja.gif Á¶ÇÕÇü(johabsh-1) ±Û²ÃÀÇ ÇÑÀÚ ½ÃÀÛºÎ

°ü·Ã ÇÁ·Î±×·¥

ÀÌ»óÀÇ hantermÀÇ ÇÑ±Û Ã³¸® ÄÚµå´Â ±× ¼Ò°³ ÀÌÈÄ ¸¹Àº °³¼±ÀÌ ÀÖ¾úÀ¸¸ç, ÃÖ±ÙÀÇ À¯´ÏÄÚµå ÀÇ »ç¿ë È®´ë¸¦ À§ÇØ UTF-8ÀÎÄÚµùÀÇ Ãß°¡ µîÀÌ ÀÖ¾úÁö¸¸ ±Ùº»ÀûÀÎ °³¼±Àº ¾ø¾ú´ø »óÅÂÀÌ ´Ù. ÇÏÁö¸¸ ÇöÀç »ç¿ë¿¡ Å« ºÒÆíÀÌ ¾ø¾ú°í hantermÀÇ µ¿ÀÛÀÌ »ó´çÈ÷ ¾ÈÁ¤µÇ¾ú´ø °ü°è·Î, ¸¹ Àº ¿ÀǼҽº ÇÑ±Û ÇÁ·Î±×·¥ÀÌ ÀÌ Äڵ带 »ç¿ëÇÏ¿© ¸¸µé¾îÁ³´Ù. ¾Æ·¡¿¡´Â ±×·± ÇÁ·Î±×·¥Áß ÀϺο¡ ´ëÇØ »ý°¢ÇØ º¸ÀÚ.

À̿ܿ¡ Á¶Çձ۲à µîÀ» »ç¿ëÇÏ´Â ÇÁ·Î±×·¥Àº hbannerµî ¿©·¯°¡Áö°¡ ÀÖ¾úÀ¸³ª, Áö±ÝÀº ã±âµµ ¾î·Á¿î °æ¿ì°¡ ¸¹ÀÌ ÀÖ´Ù. ÀÌ·± ÇÁ·Î±×·¥µéÀÌ Àß ¾²ÀÌÁö ¸øÇÏ°í »çÀåµÇ´Â °Í¿¡´Â ¿©·¯°¡Áö ¿øÀÎÀÌ ÀÖÁö¸¸, »ç¿ëÀÚÀÇ °ü½É ºÎÁ·°ú, È«º¸ ºÎÁ·À¸·Î »ç¶óÁ®°£ °ÍµéÀÌ ¸¹´Ù. ÀÌ·± À¯¿ëÇÑ ¿©·¯°¡Áö ÇÁ·Î±×·¥¿¡ °ü½ÉÀ» °¡Á® º¸´Â °ÍÀÌ ¾î¶³±î?

hantermÀÇ Àå´ÜÁ¡°ú ¹Ì·¡

hantermÀº ¿À·§µ¿¾È XÀ©µµ¿ì »ç¿ëÀÚ¿¡°Ô Æí¸®ÇÏ°Ô »ç¿ëµÇ´ø ÇÁ·Î±×·¥À̾úÁö¸¸, °è¼ÓÀûÀ¸·Î ÆÐÄ¡¸¸ µÇ°í Å« Çâ»óÀÌ ¾ø¾ú´ø °ü°è·Î Á¶±ÝÀº ±¸Á¶°¡ º¹ÀâÇÑ ÇÁ·Î±×·¥ÀÌ µÇ¾î ¹ö·È´Ù. ¼Ò½º Äڵ带 Àо´Ù¸é ±×µ¿¾È ¼ö¸¹Àº »ç¶÷µéÀÇ ÈçÀûÀ» ´À³¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù. hantermÀÇ ÀåÁ¡ Àº °ÅÀÇ ¸ðµç Ç÷§Æû¿¡¼­ µ¿ÀÛÇÑ´Ù´Â °Í°ú Á¶ÇÕÇü ÇѱÛÀÇ ÀÔÃâ·ÂÀÌ °¡´ÉÇÏ´Ù´Â °ÍÀÌÁö¸¸, ±×¿¡ ¸øÁö ¾Ê°Ô ´ÜÁ¡µµ ÀÖ´Ù.

Å« ¹®Á¦ ÁßÀÇ Çϳª´Â Á¶ÇÕ ±Û²ÃÀÇ ºÎÁ·ÀÌ´Ù. ÇöÀç Á¶ÇÕ ±Û²ÃÀº 16Çȼ¿ »çÀÌÁîÀÇ À̾߱â, ¸í Á¶, °íµñ, Çʱâü¸¸ Á¸ÀçÇÑ´Ù. ¹Ý¸é Á¶ÇÕ844±Û²ÃÀº ¿©·¯ Á¾·ù°¡ ÀÖÁö¸¸, ±×·¡ÇÈ ±âÈ£³ª ÇÑ ÀÚ µîÀÌ ºÎÁ·ÇÏ´Ù. µû¶ó¼­ ´Ù¸¥ Å©±âÀÇ ÇÑ±Û ±Û²ÃÀ» ¾²°í ½Í´Ù¸é ¿Ï¼ºÇü ±Û²ÃÀ» »ç¿ëÇØ¾ß ÇÏ´Â ¼ö ¹Û¿¡ ¾ø´Ù. ÀÌ ¹®Á¦´Â Á¶ÇÕ ±Û²ÃÀÇ »õ·Î¿î Á¦ÀÛ¿¡ ÀÇÇØ ÇØ°áµÉ ¼ö ÀÖ´Ù. º¸´Ù ´Ù¾ç ÇÑ ±Û²ÃÀ» ¸¸µé¾î³¾ ¼ö ÀÖ´Â ¹æ¹ýÀÌ »ý±â¸é °¡´ÉÇÒ °ÍÀÌ´Ù. µÎ¹øÂ° ¹®Á¦´Â °³¹ßÀÚ Áý´ÜÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù. Áö±Ý±îÁö ÃʱâÀÇ hantermÀ» Á¦¿ÜÇϰí, ÃÖ±Ù ¼ö³â°£ hantermÀ» ¸Ã¾Æ ¸±¸®ÁîÇÏ°í °³¹ßÀÚ¸¦ ¸ðÀ¸·Á´Â ³ë·ÂÀº Àû¾îµµ Ç¥¸éÀûÀ¸·Î´Â ¾ø¾ú´Ù. ´ëºÎºÐÀÇ ¼º°øÇÑ ¿ÀÇ ¼Ò½º ÇÁ·Î±×·¥Àº °­·ÂÇÑ ÇÙ½É °³¹ßÀÚ Áý´ÜÀÌ Á¸ÀçÇÏ¿©, À̵éÀÌ ¾ÕÀ¸·ÎÀÇ ¹æÇâ°ú »õ ±â ´É Ãß°¡ ¿©ºÎ µîÀ» °áÁ¤ÇÏÁö¸¸, Áö±Ý±îÁöÀÇ hanterm¿¡´Â ±×·± °ÍÀÌ ¾ø¾ú´Ù.

±×·¯³ª, ÃÖ±Ù¿¡ hanterm°³¹ßÀÚµéÀÌ »õ·Î ¸ð¿©¼­ hantermÀ» °ü¸®ÇÏ°í ¼Ò½º¸¦ º¸°í ³íÀÇÇÒ °ø°£ÀÌ »ý°å´Ù. hanterm-dev ¸ÞÀϸµ ¸®½ºÆ®°¡ ±×°ÍÀ¸·Î, http://elf.kaist.ac.kr/hantermÀÇ hanterm ȨÆäÀÌÁö¿¡¼­ »ó¼¼ÇÑ ³»¿ëÀ» ã¾Æº¼ ¼ö ÀÖ´Ù. ÇÊÀÚ°¡ ÀÌ ±ÛÀ» ¾²´Â ÇöÀç 3.04beta7¿¡ Ãß°¡µÈ ÆÐÄ¡¿¡ ±â´É ¾ÈÁ¤È­¸¦ ½ÃŲ 3.1pre3¹öÀüÀÌ ³ª¿Í ÀÖÀ¸¸ç, °ð 3.1 ¹öÀü ÀÇ ¸±¸®Áî°¡ ÀÌ·ç¾îÁö°í ´ÙÀ½ ¹öÀüÀÇ hanterm°³¹ß ÇÁ·ÎÁ§Æ®°¡ ½ÃÀÛµÉ °ÍÀÌ´Ù.

±×¸²: hanterm ȨÆäÀÌÁö. »õ·ÎÀÌ °³¹ßµÉ hantermÀÇ Á¤º¸¿Í ¼Ò½º¸¦ ¾òÀ» ¼ö ÀÖ´Ù

¾ÕÀ¸·ÎÀÇ hantermÀº ¾î¶² ¸ð½ÀÀ» °¡Áú±î? ¾ÆÁ÷ È®½ÇÇÏÁö´Â ¾ÊÁö¸¸ Áö±Ý ³íÀǵǴ »çÇ×À¸·Î ´Â ´ÙÀ½ ¸î°¡Áö¸¦ »ý°¢ÇØ º¼ ¼ö ÀÖ´Ù.

ÀÌ·± ¹®Á¦µéÀ» ¸ðµÎ ÇØ°áÇϱâ À§Çؼ­´Â ¿©·¯ºÐµéÀÇ Âü¿©¿Í Á¶¾ðÀÌ Àý½ÇÈ÷ ÇÊ¿äÇÏ´Ù. hantermÀÇ °³¹ß¿¡ °ü½É ÀÖ´Â µ¶ÀÚµéÀº À§¿¡¼­ ¼Ò°³ÇÑ hantermÆäÀÌÁö¸¦ ¹æ¹®ÇÏ°í ¸ÞÀϸµ ¸®½ºÆ®¿¡ °¡ÀÔÇØ¼­ Ȱ¹ßÇÑ ÀǰßÀ» ³ª´©±â¸¦ ¹Ù¶õ´Ù.

Âü°íÀÚ·á

$Id: index.shtml,v 1.3 2001/07/12 09:05:39 cjh Exp $

[ Home | Freetime works | FreeBSD | KFUG ]


Copyright © 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 CHOI Junho, all rights reserved.
Please send spam/UCE here to register your mail to razor