UTF-8 and Unicode FAQ for Unix/Linux
UTF-8 and Unicode FAQ for Unix/Linux
À¯´Ð½º/¸®´ª½º »ç¿ëÀÚ¸¦ À§ÇÑ UTF-8 ¹× À¯´ÏÄÚµå °ü·Ã FAQ
16 March 2001
±¹ºÀ°ü ¿ª(
kook@hanyang.co.kr)
2001³â 3¿ù 29ÀÏ
ÀÌ ¹®¼´Â À¯´Ð½º ȤÀº ¸®´ª½º ȯ°æ¿¡¼ UTF-8°ú À¯´ÏÄڵ带 »ç¿ëÇÏ´Â ¹æ¹ý¿¡ °üÇÑ ³»¿ëÀ» ´ã°í ÀÖ½À´Ï´Ù. ¹ø¿ª »óÀÇ ½Ç¼ö ȤÀº ¿ÀŸ¸¦ ¹ß°ßÇϽŠºÐÀº ¸ÞÀÏ·Î ¿¬¶ôÁֽñ⠹ٶø´Ï´Ù.
ISO 10646±¹Á¦ Ç¥ÁØÀº Universal Character Set(UCS)¸¦ Á¤ÀÇÇÏ°í ÀÖ´Ù. UCS´Â ¸ðµç ´Ù¸¥ Á¾·ùÀÇ ¹®Àڼ ǥÁØ(character set standards)ÀÇ »óÀ§¿¡ Á¸ÀçÇÏ´Â ¹®ÀÚ¼ÂÀÌ´Ù. ÀÌ°ÍÀº ´Ù¸¥ ¹®Àڼ°úÀÇ »óÈ£ ȣȯ¼ºÀ» º¸ÁõÇÑ´Ù. ¸¸¾à ¾î¶² ÅؽºÆ® ¹®ÀÚ¿À» UCS·Î º¯È¯ÇÏ°í ´Ù½Ã ¿ø·¡ÀÇ ÀÎÄÚµùÀ¸·Î º¯È¯ÇÒ °æ¿ì ¾î¶² Á¤º¸µµ ¼Õ½ÇµÇÁö ¾ÊÀ» °ÍÀÌ´Ù.
ISO 10646Àº °ø½ÄÀûÀ¸·Î 31ºñÆ® ¹®ÀÚ¼ÂÀ» Á¤ÀÇÇÏ°í ÀÖ´Ù. ±×·¯³ª Áö±Ý±îÁö ¹®ÀÚµéÀº ÀÌ·¯ÇÑ Å« ÄÚµå °ø°£(of this huge code space)Áß¿¡¼µµ ¿ÀÁ÷ óÀ½¿¡¼ºÎÅÍ 65534¹ø° À§Ä¡(0x0000 ºÎÅÍ 0xFFFD±îÁö)±îÁö¿¡¸¸ À§Ä¡Çß¾ú´Ù. ÀÌ·¯ÇÑ UCSÀÇ 16ºñÆ® ¼ºê¼ÂÀº ±âº» ´Ù±¹¾î Æò¸é (Basic Multilingual Plane : BMP) ȤÀº Æò¸é 0(Plane 0)¶ó°í ºÎ¸¥´Ù. BMP ¿µ¿ªÀÌ ¾Æ´Ñ °÷¿¡ ÀÎÄÚµùµÇ´Â ¹®ÀÚµéÀº »óÇü¹®ÀÚ¿Í °°Àº °í´ë ¹®ÀÚ¿Í Çмú ±âÈ£ µî ¼Ò¼öÀÇ Àü¹®°¡µé¸¸ÀÌ »ç¿ëÇÏ´Â °ÍÀÌ °ÅÀÇ ´ÙÀÌ´Ù. ÇöÀç °èȹÀº ¾ÕÀ¸·Î ´Ù¸¥ ¹®ÀÚµéÀÌ ´õÇØÁø´Ù°í ÇÏ´õ¶óµµ 0x000000 ºÎÅÍ 0x10FFFF±îÁöÀÇ 21ºñÆ®ÀÇ ¹é¸¸ÀÌ ³Ñ´Â ÄÚµå °ø°£ ÀÌ»óÀÌ ÇÊ¿äÇÏÁö´Â ¾ÊÀ¸¸®¶ó°í »ý°¢ÇÏ°í ÀÖ´Ù. ISO 10646-1 ±âÁØÀº 1993³â¿¡ ÃÖÃÊ·Î Á¦¾ÈµÆÀ¸¸ç, ¹®ÀÚÀÇ ±¸Á¶¿Í BMP ¿µ¿ªÀÇ ³»¿ëÀ» Á¤ÀÇÇÏ°í ÀÖ´Ù. BMP ¿µ¿ªÀÇ ¿ÜºÎ¿¡ ÀÎÄÚµùµÇ´Â ¹®ÀÚµéÀ» Á¤ÀÇÇÏ°í ÀÖ´Â µÎ¹ø° ÆÄÆ®ÀÎ ISO 10646-2´Â Áغñ Áß¿¡ ÀÖÀ¸³ª, ±×°ÍÀÌ ¿Ï¼ºµÇ±â±îÁö´Â ¼ö³âÀÌ °É¸±Áöµµ ¸ð¸¥´Ù. ²÷ÀÓ¾øÀÌ »õ·Î¿î ¹®ÀÚµéÀÌ BMP ¿µ¿ª¿¡ Æ÷ÇԵǰí ÀÖÁö¸¸, ÇöÀç Á¸ÀçÇÏ°í ÀÖ´Â ¹®ÀÚµéÀº °áÄÚ º¯ÇÏÁö ¾ÊÀ» °ÍÀÌ¸ç ¾ÈÁ¤¼ºÀ» È®º¸ÇÏ°í ÀÖ´Ù.
UCS´Â °¢°¢ÀÇ ¹®ÀÚ¿¡ ÄÚµå ¹øÈ£ »Ó¸¸ ¾Æ´Ï¶ó °ø½Ä ¸íĪµµ ÇÒ´çÇÏ°í ÀÖ´Ù. UCS ȤÀº À¯´ÏÄÚµå °ªÀº "U+"¸¦ ¾Õ¿¡ ºÙÀÎ 16Áø¼ö·Î Ç¥½ÃÇϸç, ÀÏ·Ê·Î "¶óƾ ´ë¹®ÀÚ A"´Â U+0041·Î Ç¥½ÃµÈ´Ù. UCS ¹®ÀÚ U+0000 ºÎÅÍ U+007F´Â US-ASCII(ISO 646 IRV)¿Í µ¿ÀÏÇϸç, ³ª¾Æ°¡ U+0000 ºÎÅÍ U+00FF±îÁöÀÇ ¹üÀ§´Â ISO 8859-1(Latin-1)¿Í °°´Ù. U+E000¿¡¼ºÎÅÍ U+F8FF±îÁöÀÇ ¹üÀ§¿Í BMP ¿µ¿ª ¿ÜºÎÀÇ °Å´ëÇÑ ¿µ¿ªÀº °³ÀÎÀûÀÎ ¿ëµµ¸¦ À§ÇØ º¸Á¸µÈ´Ù.
UCS Ç¥ÁØÀÇ ¿ÏÀüÇÑ ¸íĪÀº ´ÙÀ½°ú °°´Ù.
International Standard ISO/IEC 10646-1, Information technology --
Universal Multiple-Octet Coded Character Set (UCS) -- Part 1:
Architecture and Basic Multilingual Plane. Second edition,
International Organization for Standardization, Geneva, 2000-09-15.
ÀÌ°ÍÀº PDF ÆÄÀÏ·Î ÀúÀåµÈ CD-ROM ¼¼Æ®·Î 80 ½ºÀ§½ºÇÁ¶û( 54 À¯·ÎÈ, 45 ¹Ì±¹´Þ·¯, 32 ¿µ±¹ÆÄ¿îµå)¿¡
ISO·ÎºÎÅÍ ¿Â¶óÀÎÀ¸·Î ÁÖ¹® ÇÒ ¼ö ÀÖ´Ù.
UCS¿¡¼ ¸î¸î code pointµéÀº °áÇÕ ¹®ÀÚ(combining characters)¿¡ ÇÒ´çµÇ¾ú
´Ù. À̰͵éÀº ŸÀڱ⿡¼ °ø°£À» Â÷ÁöÇÏÁö ¾Ê´Â ¾×¼¾Æ® Å°¿Í °°´Ù. °áÇÕ ¹®ÀÚ´Â ±× ÀÚ
ü·Î´Â ÇϳªÀÇ ¿ÏÀüÇÑ ¹®ÀÚ°¡ ¾Æ´Ï´Ù. ±×°ÍÀº ¾Õ¼´Â ¹®ÀÚ¿¡ ´õÇÏ´Â ¾×¼¾Æ®°Å³ª ȤÀº
±¸ºÐ ¸¶Å©ÀÌ´Ù. ÀÌ·±½ÄÀ¸·Î, ¾î¶² ¹®ÀÚ¿¡ ¾î¶² ¾×¼¾Æ®¸¦ ³õ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ÀϹÝÀûÀÎ ¾ð¾îÀÇ Ã¶ÀÚ¹ý¿¡¼ »ç¿ëÇÏ´Â ¹®ÀÚó·³ °¡Àå Áß¿äÇÑ ¾×¼¾Æ®¸¦ °¡Áø ¹®ÀÚµéÀº ¿¾ ¹®ÀÚ ¼ÂÀ» °¡Áø ±¸ ¹öÀü°úÀÇ È£È¯¼ºÀ» È®º¸Çϱâ À§Çؼ UCS¿¡¼ ±×µé ÀڽŸ¸ÀÇ Äڵ带 °®´Â´Ù. ¹Ì¸® ¸¸µé¾îÁø ¹®ÀÚ(precomposed characters)¶ó°í ¾Ë·ÁÁø ¾×¼¾Æ®¸¦ °¡Áø ¹®ÀÚµéÀº ÀڽŸ¸ÀÇ ÄÚµå À§Ä¡¸¦ °®Áö¸¸, ¶ÇÇÑ °áÇÕ ¹®ÀÚ¿¡ µÚµû¸£´Â ÇѽÖÀÇ ´Ù¸¥ ¹®ÀÚ·Î½á ³ªÅ¸³¾ ¼ö ÀÖ´Ù. ¹Ì¸® ¸¸µé¾îÁø ¹®ÀÚµéÀº ¾î¶°ÇÑ °áÇÕ ¹®ÀÚµµ °®Áö ¾Ê´Â ISO
8859¿Í °°Àº ¿¾ ¹æ½ÄÀÇ ÀÎÄÚµù°úÀÇ È£È¯¼ºÀ» À§Çؼ UCS¿¡¼ »ç¿ë °¡´ÉÇÏ´Ù. °áÇÕ¹®ÀÚÀÇ ¸ÞÄ«´ÏÁòÀº ¾î¶² ¹®ÀÚ¿¡ ¾×¼¾Æ®³ª ´Ù¸¥ ±¸ºÐ ±âÈ£¸¦ ºÙÀÌ´Â °ÍÀ» Çã¶ôÇϴµ¥, ÀÌ
°ÍÀº ƯÈ÷ ±âº» ¹®ÀÚ¿Í ÇÑ°¡Áö ȤÀº ¸î°¡ÁöÀÇ ±¸ºÐ ±âÈ£¿ÍÀÇ °áÇÕÀÌ ÇÊ¿äÇÑ ¼öÇÐ ¹æÁ¤
½Ä°ú ±¹Á¦ Ç¥À½ ¾ËÆĺª°ú °°Àº °úÇРǥ±â¹ýÀ» À§Çؼ Áß¿äÇÏ´Ù.
°áÇÕ¹®ÀÚ´Â ±×µéÀÌ ¼öÁ¤ÇÏ´Â ¹®ÀÚ¸¦ µû¸¥´Ù. ¿¹¸¦ µé¸é, µ¶ÀÏ umlaut ¹®ÀÚ Ä´Â ¹Ì¸® ¸¸µé¾îÁø UCS ÄÚµå U+00C4·Î ³ªÅ¸³»°Å³ª ´ë¾ÈÀûÀ¸·Î "°áÇÕ ºÎÀ½ ºÎÈ£"(combin
ing diaeresis)ÀÇ µÚ¸¦ ÀÕ´Â ÀϹÝÀûÀÎ "¶óƾ ´ë¹®ÀÚ A"ÀÇ °áÇÕÀ¸·Î ³ªÅ¸³¾ ¼ö Àִµ¥,
U+0041 U+0308¿Í °°´Ù. ¸î¸îÀÇ °áÇÕ ¹®ÀÚ´Â ´Ù¼öÀÇ ¾×¼¾Æ®¸¦ À§¿¡ ³õ°Å³ª ±âº» ¹®ÀÚÀÇ À§¾Æ·¡ ¸ðµÎ¿¡ °áÇÕ ¸¶Å©¸¦ ´õ ÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¶§ Àû¿ëÇÒ ¼ö ÀÖ´Ù. ŸÀÌ ¹®ÀÚ¸¦ ¿¹
·Î µé¸é, ÇϳªÀÇ ±âº» ¹®ÀÚ À§¿¡ °áÇÕ ¹®ÀÚ°¡ ÃÖ´ë 2°³±îÁö ÇÊ¿äÇÏ´Ù.
¸ðµç ½Ã½ºÅÛµéÀÌ °áÇÕ ¹®ÀÚ¿Í °°Àº UCSÀÇ ¸ðµç Áøº¸µÈ ¸ÞÄ«´ÏÁòÀ» Áö¿øÇϸ®¶ó°í ±â
´ëÇÒ ¼ö ¾ø´Ù. ±×·¯¹Ç·Î, ISO 10646Àº ´ÙÀ½ÀÇ ¼¼°¡Áö ±¸Çö ·¹º§À» ¸í½ÃÇÏ°í ÀÖ´Ù.
- ·¹º§ 1 : °áÇÕ ¹®ÀÚ¿Í ÇÑ±Û ÀÚ¸ð(µÎ°³ ȤÀº ¼¼°³ÀÇ ÀÛÀº ¹®ÀÚµé·Î ÇÑ±Û À½ÀýÀ» ÀÌ·ç´Â Ưº°ÇÏ¸ç ´õ¿í º¹ÀâÇÑ Çѱ¹ Ç¥À½ ¹®ÀÚÀÇ ÀÎÄÚµù)´Â Áö¿øÇÏÁö ¾Ê´Â´Ù.
- ·¹º§ 2 : ·¹º§ 1°ú °ÅÀÇ °°À¸³ª ¸î¸î ¼Ã¼(script)¿¡ ÀÖ¾î¼ °áÇÕ¹®ÀÚÀÇ °íÁ¤µÈ ¸ñ·Ï(fixed list)À» Çã¿ëÇÑ´Ù(¿¹¸¦ µé¸é, À¯Å¾î, ¾Æ¶ø¾î, Àεµ¾î, ¹æ±Û¶óµ¥½Ã¾î,
³×ÆȾî, Àεµ-¾Æ¸®¾È¾î, ¿À¸®»ç-Àεµ¾î, Ÿ¹Ð¾î, ¾Èµå¶ó¾î, Ä«¸£³ªÅ¸Ä«¾î, ¸»·¹À̽þÆ
¾î, ű¹¾î ¹× ¶ó¿À½º¾î°¡ ÀÖ´Ù). ÀÌ·¯ÇÑ ¹®ÀÚµéÀº ÃÖ¼ÒÇÑÀÇ °áÇÕ ¹®ÀÚµéÀ» À§ÇÑ Áö¿ø
¾øÀÌ´Â UCS¿¡¼ ÀûÀýÇÏ°Ô ³ªÅ¸³¾ ¼ö ¾ø´Ù.
- ·¹º§ 3 : ¸ðµç UCS ¹®ÀÚµéÀ» Áö¿øÇÑ´Ù. ¿¹¸¦ µé¸é ¼öÇÐÀÚµéÀº ¾î¶² ¼öÇÐ ¹®ÀÚ»óÀÇ Æ¿µ¥³ª È»ìÇ¥(ȤÀº ¾çÂÊ´Ù)¸¦ ³ªÅ¸³¾ ¼ö ÀÖ´Ù.
´ë´äÀº ¿¹ÀÌ´Ù. ¼ö¸¹Àº ±¹°¡µéÀÌ 1993³â¿¡ ISO 10646-1:1993À» ±¹°¡ÀûÀ¸·Î äÅÃÇÒ
°ÍÀ» °øÇ¥ÇßÀ¸¸ç ¶§·Î´Â ¿¹Àü¿¡ ±¹°¡¿¡¼ ±¸ÇöÇÑ ¿©·¯°¡Áö »çÇ×°ú ±âÁØ¿¡ ´ëÇÑ »óÈ£ Âü°í Á¶Ç׿¡ ºÎ°¡ÀûÀÎ Á¶Ç×À» ºÙÀÎ ÈÄ¿¡ °øÇ¥Çß´Ù.
- Áß±¹: GB 13000.1-93
- ÀϺ»: JIS X 0221-1995
- Çѱ¹: KS X 1005-1:1995 (ISO 10646-1:1993ÀÇ ¼öÁ¤¾È 1-7À» Æ÷ÇÔ)
¿ª»çÀûÀ¸·Î, ´ÜÀÏ ÅëÇÕ½ÃŲ ¹®ÀÚ¼ÂÀ» ¸¸µé·Á´Â µÎ°³ÀÇ µ¶¸³ÀûÀÎ ½Ãµµ°¡ ÀÖ¾ú´Ù. ÇÏ
³ª´Â
±¹Á¦ Ç¥ÁØ ±â±¸(ISO)ÀÇ ISO 10646 ÇÁ·ÎÁ§Æ®¿´À¸¸ç, ´Ù¸¥ Çϳª´Â ´ÙÁß ¾ð¾î ¼ÒÇÁÆ®¿þ¾î Á¦Á¶»çµéÀÇ(Ãʱ⿡´Â ¹Ì±¹È¸»ç°¡ ´ëºÎºÐÀ̾ú
´ø) ÄÁ¼Ò½Ã¿òÀ¸·Î ±¸¼ºµÈ
À¯´ÏÄÚµå ÇÁ·ÎÁ§Æ®¿´´Ù. ¿î ÁÁ°Ôµµ, µÎ ÇÁ·ÎÁ§Æ®¿¡ Âü¿©Çß´ø Âü°¡È¸»çµé ¸ðµÎ 1991³â°æ¿¡ µÎ°³ÀÇ ¼·Î ´Ù¸¥ ÅëÇÕ ¹®ÀÚ¼ÂÀº ¼¼°è°¡ ¿øÇÏ´Â ¹Ù°¡ ¾Æ´Ï¶ó´Â °ÍÀ» ±ú´Þ¾Ò´Ù. ±×µéÀº ÇÔ²² ³ë·ÂÇßÀ¸¸ç ´ÜÀÏÇÑ ÄÚµå Å×À̺íÀ» ¸¸µé±â À§ÇØ ÇÔ²² ÀÛ¾÷Çß´Ù. ¾ç ÇÁ·ÎÁ§Æ® ¸ðµÎ ¿©ÀüÈ÷ Á¸ÀçÇÏ¸ç ±×µé °¢ÀÚÀÇ ±âÁØÀ» µ¶¸³ÀûÀ¸·Î °øÇ¥ÇÑ´Ù. ±×·¯³ª À¯´ÏÄÚµå ÄÁ¼Ò½Ã¿ò°ú ISO/IEC JTC1/SC2´Â ȣȯ°¡´ÉÇÑ À¯´ÏÄÚµå¿Í ISO 10646 ±âÁØÀÇ ÄÚµå Å×À̺íÀ» À¯ÁöÇϱâ·Î ÇÕÀÇÇß´Ù. ±×¸®°í ±×µéÀº ´õ¿í ¹ßÀüÀûÀÎ È®Àå ±â´ÉÀ» À§ÇØ ¸é¹ÐÈ÷ Çù·ÂÇÏ°í ÀÖ´Ù. À¯´ÏÄÚµå 1.1Àº °ú°Å ISO 10646-1:1993¿¡ ´ëÀÀÇß°í, À¯´ÏÄÚµå 3.0Àº ÇöÀç ISO 10646-1:2000¿¡ ´ëÀÀÇÑ´Ù.
À¯´ÏÄÚµå Ç¥ÁØÀº ¸î¸î ÀϹÝÀûÀΠåó·³
amazon.comÀ¸·ÎºÎÅÍ ¾à 50 ´Þ·¯¿¡ ÁÖ¹®ÇÒ ¼ö ÀÖ´Ù.
The Unicode Consortium:
The Unicode Standard, Version 3.0,
Reading, MA, Addison-Wesley Developers Press, 2000,
ISBN 0-201-61633-5.
ÅؽºÆ® ÇÁ·Î¼¼½Ì°ú ¹®ÀÚ¼ÂÀ» °¡Áö°í ÀÚÁÖ ÀÛ¾÷À» ÇÑ´Ù¸é, ¿©·¯ºÐµéÀº ¹Ýµå½Ã ÇÑ Ä«
ÇǸ¦ ±¸ÀÔÇؾ߸¸ ÇÑ´Ù.
À¯´ÏÄÚµå ÄÁ¼Ò½Ã¿òÀÌ °øÇ¥ÇÑ
À¯´ÏÄÚµå Ç¥ÁØÀº ½ÇÁ¦·Î ±¸Çö ·¹º§ 3¿¡¼ ±âº» ´Ù±¹¾î Æò¸é(BMP)À» Æ÷ÇÔÇÑ´Ù. µÎ Ç¥ÁØ °øÈ÷ ¸ðµç ¹®ÀÚµéÀº °°Àº À§Ä¡¸¦ °¡Áö¸ç °°Àº ¸íĪÀ» »ç¿ëÇÑ´Ù.
À¯´ÏÄÚµå Ç¥ÁØÀº ºÎ°¡ÀûÀ¸·Î ¸î¸î ¹®ÀÚ¿Í °ü·ÃµÈ ÈξÀ ¸¹Àº ¾ð¾î ü°è¸¦ Á¤ÀÇÇÏ°í
ÀÖÀ¸¸ç ÀϹÝÀûÀ¸·Î ¾çÁúÀÇ Àμâ ÃâÆÇ ½Ã½ºÅÛ ±¸ÇöÀ» À§ÇÑ ´õ ³ªÀº Âü°í ÀÚ·á°¡ µÈ´Ù.
À¯´ÏÄÚµå´Â ¿¹¸¦ µé¾î ¶óƾ¾î¿Í À¯Å¾ È¥ÇÕÇÏ´Â ¾ç ¹æÇâ ÅؽºÆ®¸¦ Ãë±ÞÇϹǷνá, ¸î¸î ¾ð¾îÀÇ ÇÁ¸®Á¨Å×ÀÌ¼Ç ¾ç½ÄÀ» ·»´õ¸µÇϱâ À§ÇÑ ¾Ë°í¸®Áò°ú ¹®ÀÚ¿ ºñ±³¸¦ À§ÇÑ ¾Ë
°í¸®Áò ¹× ±× ¿Ü ¸¹Àº °ÍÀ» ¸í½ÃÇÏ°í ÀÖ´Ù.
´Ù¸¥ ÇÑÆí ISO 10646 Ç¥ÁØÀº Àß ¾Ë·ÁÁø ISO 8859 Ç¥ÁØ°ú ºñ±³ÇßÀ» ¶§ °£´ÜÇÑ ¹®Àڼ Å×ÀÌºí ±× ÀÌ»óÀº ¾Æ´Ï´Ù. ÀÌ°ÍÀº Ç¥ÁØ°ú °ü·ÃµÈ ¸î¸î ±â¼úµéÀ» ¸í½ÃÇÏ°í, ¸î¸î ÀÎ
ÄÚµù ´ë¾ÈµéÀ» Á¤ÀÇÇϸç, ISO 6429¿Í ISO 2022¿Í °°Àº ´Ù¸¥ ISO Ç¥ÁØ°ú °ü·ÃµÈ UCS¸¦
»ç¿ëÇÏ´Â ¹æ¹ý¿¡ °üÇÑ ¼¼ºÎ »çÇ×À» Æ÷ÇÔÇÑ´Ù. ISO Ç¥ÁØ°ú ¹ÐÁ¢ÇÏ°Ô °ü·ÃµÈ ´Ù¸¥ °Íµé
µµ ÀÖ´Ù. ¿¹¸¦ µé¸é, UCS ¹®ÀÚ¿ÀÇ Á¤·Ä¿¡ °üÇÑ ISO 14651ÀÌ ÀÖ´Ù. ISO 10646-1 Ç¥ÁØÀÇ ÈǸ¢ÇÑ Æ¯Â¡À¸·Î´Â ±×°ÍÀÌ ´Ù¼¸°¡Áö ´Ù¸¥ ½ºÅ¸ÀÏ·Î º¯Çü½ÃÄÑ ÇÑÁßÀÏ ±¹°¡ÀÇ glyph
¿¹¸¦ Á¦°øÇÑ´Ù´Â °ÍÀÌ´Ù. ¹Ý¸é À¯´ÏÄÚµå Ç¥ÁØÀº ÇÑÁßÀÏ ±¹°¡ÀÇ ÇÑÀÚ¸¦ ´ÜÁö Áß±¹ ½ÄÀ¸
·Î¸¸ º¸¿©ÁØ´Ù.
¹«¾ùº¸´Ù ¸ÕÀú UCS¿Í À¯´ÏÄÚµå´Â ´ÜÁö Á¤¼ö¸¦ ¹®ÀÚ¿¡ ÇÒ´çÇÏ´Â ÄÚµå Å×À̺íÀÏ »ÓÀÌ
¶ó´Â °ÍÀÌ´Ù. ±×·¯ÇÑ ¹®ÀÚ È¤Àº ¹®ÀÚ °¢°¢ÀÇ Á¤¼ö °ªÀÇ ½ÃÄö½º°¡ ¾î¶»°Ô ¹ÙÀÌÆ® ½ÃÄö½º·Î ³ªÅ¸³¯ ¼ö ÀÖ´Â Áö¿¡ ´ëÇÑ ¸î °¡Áö ´ë¾ÈµéÀÌ Á¸ÀçÇÑ´Ù. ´ë´ÜÈ÷ ÀÌÇØÇϱ⠽¬¿î µÎ
°³ÀÇ ÀÎÄÚµùÀº À¯´ÏÄÚµå ÅؽºÆ®¸¦ 2 ȤÀº 4¹ÙÀÌÆ® ½ÃÄö½ºÀÇ ½ÃÄö½º(sequences of either 2 or 4 bytes sequences)
·Î½á ÀúÀåÇÑ´Ù. ÀÌ·¯ÇÑ ¿ë¾î¿¡ °üÇÑ °ø½ÄÀûÀÎ ¸íĪÀº °¢
°¢ UCS-2¿Í UCS-4ÀÌ´Ù. ´Ù¸¥ ¹æ¹ýÀ¸·Î ¸í½ÃµÇÁö ¾Ê´Â´Ù¸é, °¡Àå Áß¿äÇÑ ¹ÙÀÌÆ®°¡ À̵éÀÇ Ã¹¹ø°·Î ¿Â´Ù(Bigendian convention). ASCII ¶Ç´Â Latin-1 ÆÄÀÏÀº ¸ðµç ASCII ¹ÙÀÌÆ®ÀÇ ¾Õ¿¡ 0x00 ¹ÙÀÌÆ®¸¦ »ðÀÔÇϹǷνá, UCS-2 ÆÄÀÏ·Î º¯È¯½Ãų ¼ö ÀÖ´Ù. UCS-4 ÆÄÀÏÀ» ¿øÇÑ´Ù¸é, ¸ðµç ASCII ¹ÙÀÌÆ® ¾Õ¿¡ ±× ´ë½Å¿¡ ¼¼°³ÀÇ 0x00 ¹ÙÀÌÆ®¸¦ »ðÀÔÇؾ߸¸ ÇÑ´Ù.
À¯´Ð½º ȯ°æ¿¡¼ UCS-2(¶Ç´Â UCS-4)¸¦ »ç¿ëÇÏ´Â °ÍÀº ¸Å¿ì ½É°¢ÇÑ ¹®Á¦Á¡À» ºÒ·¯¿Â´Ù.
ÀÌ·¯ÇÑ ÀÎÄÚµùÀ» °¡Áø ¹®ÀÚ¿µéÀº ÆÄÀϸí°ú C ¶óÀ̺귯¸® ÇÔ¼ö ÆĶó¹ÌÅÍ¿¡¼ Ưº°ÇÑ
Àǹ̸¦ °®´Â '\0' ȤÀº '/'¿Í °°ÀÌ ¸Å¿ì ±¤¹üÀ§ÇÑ ¹®ÀÚ ¹ÙÀÌÆ®¸¦ ºÎºÐÀûÀ¸·Î Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. ÀÌ¿¡ ´õÇØ, ´ë´Ù¼öÀÇ À¯´Ð½º ÅøµéÀº ASCII ÆÄÀÏÀ» ¿¹»óÇϸç, Å« ¼öÁ¤ÀÌ ¾øÀÌ´Â 16ºñÆ® ´Ü¾îµéÀ» ¹®ÀÚ·Î ÀÐÀ» ¼ö ¾ø´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯ ¶§¹®¿¡ UCS-2´Â ÆÄÀϸí°ú ÅؽºÆ® ÆÄÀÏ ¹× ȯ°æ º¯¼ö µî¿¡ ÀûÇÕÇÑ À¯´ÏÄÚµåÀÇ ¿ÜºÎ ÀÎÄÚµù(suitable external encoding of Unicode)ÀÌ ¾Æ´Ï´Ù.
ISO 10646-1 ÀÇ
Annex R°ú
RFC 2279»ó¿¡ Á¤ÀÇµÈ UTF-8 ÀÎÄÚµùÀº ÀÌ·¯ÇÑ ¹®Á¦Á¡µéÀÌ ¾ø´Ù. ÀÌ°ÍÀº À¯´Ð½º ½ºÅ¸ÀÏÀÇ ¿î¿µ üÁ¦ÇÏ¿¡¼ À¯´ÏÄڵ带 »ç¿ëÇϱâ À§ÇÑ ÀǽÉÇÒ ¿©Áö¾øÀÌ ÁÁÀº ¹æ¹ýÀÌ´Ù.
UTF-8Àº ´ÙÀ½ÀÇ ¼ºÁúÀ» °®°í ÀÖ´Ù:
- U+0000ºÎÅÍ U+007F±îÁöÀÇ UCS ¹®ÀÚµéÀº 0x00¿¡¼ 0x7f ¹ÙÀÌÆ®±îÁö ½±°Ô ÀÎÄÚµùµÈ´Ù(ASCII¿ÍÀÇ È£È¯¼º). ÀÌ°ÍÀº ¿ÀÁ÷ 7ºñÆ®ÀÇ ASCII ¹®ÀÚµéÀ» Æ÷ÇÔÇÏ´Â ÆÄÀÏ ¹× ¹®ÀÚ¿µéÀÌ ASCII¿Í UTF-8 ¾çÂÊ ¸ðµÎ¿¡¼ °°Àº ÀÎÄÚµùÀ» °®´Â´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.
- U+007Fº¸´Ù Å« ¸ðµç UCS ¹®ÀÚµéÀº °¢°¢ µ¶ÀÚÀûÀÎ ¹ÙÀÌÆ®ÀÇ ½ÃÄö½º·Î½á ÀÎÄÚµùµÇ¸ç, À̰͵éÀº °¢°¢ °¡Àå Áß¿äÇÑ ºñÆ®¼Â(bit set)À» °¡Áø´Ù. ±×·¯¹Ç·Î ´Ù¸¥ ¹®ÀÚÀÇ ºÎºÐ¿¡ ¾î¶² ASCII ¹ÙÀÌÆ®(0x00-0x7f)µµ ³ªÅ¸³¯ ¼ö ¾ø´Ù.
- ASCII°¡ ¾Æ´Ñ ¹®ÀÚ¸¦ ³ªÅ¸³»´Â ¸ÖƼ¹ÙÀÌÆ® ½ÃÄö½ºÀÇ Ã¹¹ø° ¹ÙÀÌÆ®´Â Ç×»ó 0xC0¿¡¼ºÎÅÍ 0xFD ¹üÀ§¿¡ ÀÖÀ¸¸ç, ±×°ÍÀº ÀÌ·¯ÇÑ ¹®ÀÚ¸¦ À§ÇØ ¾ó¸¶³ª ¸¹Àº ¹ÙÀÌÆ®°¡ ÇÊ¿äÇÑ Áö¸¦ °¡¸£Å²´Ù. ¸ÖƼ¹ÙÀÌÆ® ½ÃÄö½ºÀÇ ¸ðµç ÀÌÈÄÀÇ ¹ÙÀÌÆ®µéÀº 0x80¿¡¼ºÎÅÍ 0xBF ¹üÀ§¿¡ ÀÖ´Ù. ÀÌ ¶§¹®¿¡ resynchronizationÀ» ½±°ÔÇÒ ¼ö ÀÖ°í ±¹°¡¿¡ ±¸¾Ö¹ÞÁö ¾Ê°í ÀÎÄÚµùÇÒ ¼ö ÀÖÀ¸¸ç ¹ÙÀÌÆ®¸¦ ÀÒ¾î¹ö¸®Áö ¾Ê°Ô µÈ´Ù.
- °¡´ÉÇÑ ¸ðµç 231 UCS Äڵ带 ÀÎÄÚµùÇÒ ¼ö ÀÖ´Ù.
- UTF-8·Î ÀÎÄÚµùÇÑ ¹®ÀÚµéÀº ÀÌ·ÐÀûÀ¸·Î 6¹ÙÀÌÆ® ±æÀ̱îÁö °¡´ÉÇÏÁö¸¸, 16ºñÆ® BMP ¿µ¿ª ¹®ÀÚµéÀº ¿ÀÁ÷ 3¹ÙÀÌÆ® ±æÀ̱îÁö °¡´ÉÇÏ´Ù.
- Bigendian UCS-4 ¹ÙÀÌÆ® ¹®ÀÚ¿ÀÇ Á¤·Ä ¼ø¼´Â º¸Á¸µÈ´Ù.
- 0xFE ¹× 0xFF ¹ÙÀÌÆ®´Â °áÄÚ UTF-8 ÀÎÄÚµù¿¡¼ »ç¿ëÇÏÁö ¾Ê´Â´Ù.
´ÙÀ½ÀÇ ¹ÙÀÌÆ® ½ÃÄö½º´Â ÇÑ ¹®ÀÚ¸¦ ³ªÅ¸³»±â À§ÇØ »ç¿ëÇÑ´Ù. »ç¿ëµÇ´Â ½ÃÄö½º´Â ±× ¹®ÀÚÀÇ À¯´ÏÄÚµå ¹øÈ£¿¡ µû¶ó ´Þ¶óÁø´Ù.
U-00000000 - U-0000007F: | 0xxxxxxx |
U-00000080 - U-000007FF: | 110xxxxx 10xxxxxx |
U-00000800 - U-0000FFFF: | 1110xxxx 10xxxxxx 10xxxxxx |
U-00010000 - U-001FFFFF: | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
U-00200000 - U-03FFFFFF: | 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
U-04000000 - U-7FFFFFFF: | 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
|
xxxºñÆ®ÀÇ À§Ä¡´Â ÀÌÁø Ç¥±â¹ý¿¡ ÀÇÇØ ¹®ÀÚ ÄÚµå ¹øÈ£ÀÇ ºñÆ®µé·Î ä¿öÁø´Ù. ¿À¸¥ÂÊÀÇ xºñÆ®´Â º°·Î Áß¿äÇÏÁö ¾Ê´Ù. ±× ¹®ÀÚÀÇ ÄÚµå ¹øÈ£¸¦ ³ªÅ¸³»´Â ¿ÀÁ÷ °¡Àå ªÀº ¸ÖƼ¹ÙÀÌÆ® ½ÃÄö½º¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸ÖƼ¹ÙÀÌÆ® ½ÃÄö½º¿¡¼ ù ¹ø° ¹ÙÀÌÆ®ÀÇ ¿ÞÂÊ 1ºñÆ®ÀÇ ¼ö´Â Àüü ½ÃÄö½º¿¡¼ÀÇ ¹ÙÀÌÆ® ¼ö¿Í °°´Ù´Â Á¡¿¡ ÁÖÀÇÇ϶ó.
¿¹: "À¯´ÏÄÚµå ¹®ÀÚ U+00A9 = 1010 1001"
(ÀúÀÛ±Ç ºÎÈ£)´Â ´ÙÀ½°ú °°Àº UTF-8¿¡ µû¶ó ÀÎÄÚµùµÈ´Ù.
11000010 10101001 = 0xC2 0xA9
±×¸®°í ¹®ÀÚ U+2260 = 0010 0010 0110 0000
(ÀúÀÛ±Ç ºÎÈ£)´Â ´ÙÀ½°ú °°Àº UTF-8¿¡ µû¶ó ÀÎÄÚµùµÈ´Ù.
11100010 10001001 10100000 = 0xE2 0x89 0xA0
ÀÌ·¯ÇÑ ÀÎÄÚµùÀÇ °ø½Ä ¸íĪ°ú Á¤È®ÇÑ Ç¥±â´Â UTF-8À̸ç, UTF´Â UCS Transformation FormatÀ» ÀǹÌÇÑ´Ù. utf8ȤÀº UTF_8°ú °°Àº ´Ù¸¥ ¹æ¹ýÀ¸·Î UTF-8À» ¹®¼¿¡ ¾²Áö¸¶¶ó. ¹°·Ð ÀÎÄÚµù ÀÚü¸¦ ÂüÁ¶ÇÏÁö ¾Ê°í º¯¼ö¸í¿¡ ÂüÁ¶ÇÒ °æ¿ì¿¡´Â±¦Âú´Ù.
UTF-8ÀÇ µðÄÚµù ó¸® ¼ø¼¿¡ ÀÖ¾î¼ Áß¿äÇÑ Á¡Àº ´ÙÀ½°ú °°´Ù: º¸¾È»óÀÇ ÀÌÀ¯ ¶§¹®¿¡, UTF-8 µðÄÚ´õ´Â ÇÑ ¹®ÀÚ¸¦ ÀÎÄÚµùÇϱâ À§Çؼ ÇÊ¿ä ÀÌ»óÀ¸·Î ±ä UTF-8 ½ÃÄö½º¸¦ ¹Þ¾Æµé¿©¼´Â
¾È µÈ´Ù. ¿¹¸¦ µé¾î U+000A(¶óÀÎ Çǵå) ¹®ÀÚ´Â ¿ÀÁ÷ 0x0A Çü½ÄÀ¸·Î UTF-8 ½ºÆ®¸²À¸·ÎºÎÅÍ ¹Þ¾Æµé¿©¾ß¸¸ Çϸç, ´ÙÀ½ÀÇ ´Ù¼¸°¡Áö¿Í °°ÀÌ °úµµÇÏ°Ô ±ä(overlong) Çü½ÄÀ¸·Î ¹Þ¾Æµé¿©¼´Â ¾ÈµÈ´Ù.
0xc0 0x8A
0xe0 0x80 0x8A
0xf0 0x80 0x80 0x8A
0xf8 0x80 0x80 0x80 0x8A
0xfc 0x80 0x80 0x80 0x80 0x8A
°¡Àå ªÀº ÀÎÄÚµùÀ» ã±â À§ÇÑ UTF-8 ¼ºê½ºÆ®¸µ Å×½ºÆ®¸¦ ¹«½ÃÇϱ⠾ °úµµÇÏ°Ô ±ä UTF-8 ½ÃÄö½º¸¦ ³²¿ëÇÒ ¼ö ÀÖ´Ù. ¸ðµç °úµµÇÏ°Ô ±ä Çü½ÄÀÇ UTF-8 ½ÃÄö½º´Â ´ÙÀ½ÀÇ ¹ÙÀÌÆ® ÆÐÅÏ Áß ÇÑ °¡Áö·Î ½ÃÀÛÇÑ´Ù.
1100000x (10xxxxxx) |
11100000 100xxxxx (10xxxxxx) |
11110000 1000xxxx (10xxxxxx 10xxxxxx) |
11111000 10000xxx (10xxxxxx 10xxxxxx 10xxxxxx) |
11111100 100000xx (10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx)
|
Á¤»óÀûÀÎ UTF-8 ȤÀº UCS-4 µ¥ÀÌÅͻ󿡼 ÄÚµå À§Ä¡ U+FFFE¿Í U+FFFF »Ó¸¸ ¾Æ´Ï¶ó ÄÚµå À§Ä¡ U+D800 ºÎÅÍ U+DFFF(UTF-16 ´ë¿ë)±îÁö´Â »ç¿ëÇؼ´Â ¾È µÈ´Ù. UTF-8 µðÄÚ´õ´Â ÀÌ·¯ÇÑ °ÍµéÀ» ¾ÈÀü¼ºÀ» ÀÌÀ¯·Î, À߸øµÈ Çü½ÄÀ¸·Î ȤÀº ³Ê¹« ±ä ½ÃÄö½º·Î Ãë±ÞÇØ¾ß ¸¸ ÇÑ´Ù.
Markus KuhnÀÇ UTF-8 decoder stress test fileÀº À߸øµÈ Çü½ÄÀ» °®´Â °úµµÇÏ°Ô ±ä UTF-8 ½ÃÄö½ºÀÇ Ã¼°èÀûÀÎ ¸ðÀ½À» Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç µðÄÚ´õÀÇ °·ÂÇÔÀ» Áõ¸íÇØÁØ´Ù.
1993³â°æ ÀÌÈÄ¿¡ °³¹ßµÈ ÃÖ±ÙÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀº ÀÌ¹Ì À¯´ÏÄÚµå/ISO 10646-1 ¹®ÀÚµéÀ» À§ÇÑ Æ¯º°ÇÑ µ¥ÀÌÅÍ ÇüÀ» °¡Áö°í ÀÖ´Ù. ÀÌ°ÍÀº Ada95ÀÇ °æ¿ì Wide_CharacterÀ̸ç ÀÚ¹ÙÀÇ °æ¿ì CharÀÌ´Ù.
ISO C´Â ¶ÇÇÑ ¸ÖƼ¹ÙÀÌÆ® ÀÎÄÚµù°ú ¿ÍÀÌµå ¹®ÀÚ(wide character)¸¦ Ãë±ÞÇϱâ À§ÇÑ
¸ÞÄ¿´ÏÁòÀ» ¸í½ÃÇÏ°í ÀÖÀ¸¸ç,
Amendment 1 to ISO C°¡ 1994³â 9¿ù¿¡ ¹ßÇàµÇ¾úÀ» ¶§ ´õ¿í ´õ ¸¹Àº °ÍµéÀÌ Ãß°¡µÇ¾ú´Ù. ÀÌ·¯ÇÑ Æí¸®ÇÑ ±â´ÉÀº ÁÖ·Î ¿©·¯°¡Áö µ¿¾Æ½Ã¾Æ ¹®ÀÚµéÀ» ÀÎÄÚµùÇϱâ À§Çؼ ¼³°èµÇ¾ú°í UCS¸¦ Ãë±ÞÇϱâ À§Çؼ ÇÊ¿äÇÑ °Íº¸´Ù ÈξÀ ´õ º¹ÀâÇØÁ³´Ù. UTF-8Àº ISO C Ç¥ÁØÀÌ ÇϳªÀÇ ¸ÖƼ¹ÙÀÌÆ® ¹®ÀÚ¿°ú wchar_t
ÇüÀ» È£ÃâÇϱâ À§ÇÑ ÇϳªÀÇ ÀÎÄÚµù ¿¹Àε¥, ÀÌ°ÍÀº ÇöÀçÀÇ È¯°æ¿¡¼´Â º¸Åë 32ºñÆ®ÀÇ ºÎÈ£ÀÖ´Â Á¤¼öÀ̸ç, À¯´ÏÄÚµå ¹®ÀÚ¸¦ ÀúÀåÇϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ´Ù. C ÄÄÆÄÀÏ·¯´Â yyyymmL
ÇüŸ¦ °®´Â »ó¼ö Á¤¼ö¸¦ __STDC_ISO_10646__
º¯¼ö¿¡ ¸ÅÅ©·Î Á¤ÀÇÇϹǷνá, wchar_t
º¯¼ö°¡ ¸ðµç ·ÎÄÉÀÏ¿¡ °áÄ£ À¯´ÏÄÚµå °ªÀ» ÀúÀåÇÑ´Ù´Â °ÍÀ» º¸ÁõÇÏ´Â ½ÅÈ£¸¦ ¾ÖÇø®ÄÉÀ̼ǿ¡ º¸³¾ ¼ö ÀÖ´Ù(199712LÀ» ¿¹·Î µé¾îº¸¸é, ¿¬µµ¿Í ¿ù ¼ö´Â ISO/IEC 10646°ú ±×°ÍÀÌ ¾ðÁ¦ ¸¸µé¾îÁ³°í ¾ðÁ¦ ¼öÁ¤µÇ¾ú´ÂÁö¸¦ ³ªÅ¸³»´Â ¹öÀüÀ» ÂüÁ¶ÇÑ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù).
UTF-8ÀÌ ¹ßÇ¥µÇ±â Àü¿¡´Â ´Ù¸¥ Áö¿ª¿¡ »ì°í ÀÖ´Â ¸®´ª½º À¯ÀúµéÀº ¿©·¯°¡Áö ASCII È®Àå ¹®ÀÚ¸¦ »ç¿ëÇÏ¿´´Ù. À¯·´¿¡¼´Â ISO 8859-1°ú ISO 8859-2¸¦, ±×¸®½º¿¡¼´Â ISO 8859-7À», ·¯½Ã¾Æ¿¡¼´Â KOI-8À», ÀϺ»¿¡¼´Â EUC¿Í Shift-JIS¸¦ °¡Àå ³Î¸® »ç¿ëÇÏ¿´´Ù. ÀÌ·Î ÀÎÇÏ¿© ÆÄÀÏÀ» ±³È¯ÇÏ´Â °ÍÀÌ ¾î·Á¿ü°í, ¾îÇø®ÄÉÀÌ¼Ç ¼ÒÇÁÆ®¿þ¾î¸¦ Á¦ÀÛÇϱâ À§Çؼ´Â ÀÌ·¯ÇÑ ÀÎÄÚµùµé »çÀÌÀÇ Â÷ÀÌÁ¡À» °ÆÁ¤Çؾ߸¸ Çß´Ù.
À¯´ÏÄÚµå´Â °á±¹¿¡´Â ÀÌ·¯ÇÑ ¸ðµç ÀÎÄÚµùµéÀ» ´ë½ÅÇÒ °ÍÀ̸ç, UTF-8 Çü½ÄÀÌ ÁÖ¸¦ ÀÌ·ê °ÍÀÌ´Ù. UTF-8Àº ¾Æ·¡¿Í °°Àº °æ¿ì¿¡ »ç¿ëµÉ °ÍÀÌ´Ù.
- ÅؽºÆ® ÆÄÀÏ(¼Ò½º ÄÚµå, html ÆÄÀÏ, À̸ÞÀÏ ¸Þ½ÃÁö µî)
- ÆÄÀϸí
- Ç¥ÁØ ÀÔÃâ·Â, ÆÄÀÌÇÁ
- ȯ°æ º¯¼ö
- ¼±ÅÃÇÑ ¹öÆÛ ³»¿ëÀ» ÀÚ¸£°í ºÙÀ̱â
- ÅÚ³Ý, ¸ðµ©, Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ¿¡ ¿¬°áÇÑ ½Ã¸®¾ó Æ÷Æ®
- ¹ÙÀÌÆ® ½ÃÄö½º°¡ ASCII ÄÚµå·Î Çؼ®µÇ´Â °÷ÀÌ¸é ¾î¶² °÷À̵çÁö »ç¿ëµÈ´Ù.
UTF-8 ¸ðµå¿¡¼ xtermÀ̳ª ¸®´ª½º ÄÜ¼Ö µå¶óÀ̹ö¿Í °°Àº Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ´Â ´ëÀÀÇÏ´Â
UTF-8 ½ÃÄö½º·Î ¸ðµç Å°ÀÔ·ÂÀ» Àü´ÞÇϸç, Å°ÀÔ·ÂÀ» Æ÷±×¶ó¿îµå ÇÁ·Î¼¼¼ÀÇ Ç¥ÁØ
ÀÔ·ÂÀ¸·Î º¸³½´Ù. ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ÇÁ·Î¼¼¼ÀÇ Ç¥ÁØ Ãâ·ÂÀ» Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ·Î º¸³»°í
±×°÷¿¡¼ Ãâ·ÂÀ» UTF-8 µðÄÚ´õ·Î ó¸®ÇÏ°í 16ºñÆ® ÆùÆ®¸¦ »ç¿ëÇÏ¿© µð½ºÇ÷¹ÀÌÇÑ´Ù.
°æ°íÀ½À» °®´Â ¿ÏÀüÇÑ À¯´ÏÄÚµå ±â´ÉÀº º¹ÀâÇÑ ´ÙÁß-¾ð¾î ¿öµå-ÇÁ·Î¼¼½Ì ÆÐÅ°Áö¿¡
»ç¿ëÇÒ °ÍÀ¸·Î ¿¹»óÇÒ ¼ö ÀÖ´Ù. ¸®´ª½º´Â Ʋ¸²¾øÀÌ ASCII ¹®ÀÚ¸¦ ´ë½ÅÇϱâ À§ÇÑ Æø ³ÐÀº
±â¹Ý À§¿¡¼ »ç¿ëµÉ °ÍÀ̸ç, ´Ù¸¥ 8ºñÆ® ¹®ÀÚ¼ÂÀº ÈξÀ ´Ü¼øÇØÁú °ÍÀÌ´Ù. ¸®´ª½ºÀÇ
Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ¿Í ¸í·É ¶óÀÎ µµ±¸µéÀº óÀ½ ´Ü°è¿¡¼ ¹Ù·Î UTF-8·Î ÀüȯÇÒ ¼ö ÀÖÀ»
°ÍÀÌ´Ù. ÀÌ°ÍÀº ISO 10646-1À¸·Î ±¸ÇöÇÑ ·¹º§ 1ÀÌ (¾î¶°ÇÑ °áÇÕ ¹®ÀÚµµ »ç¿ëÇÏÁö ¾Ê°í)
»ç¿ëµÊÀ» ÀǹÌÇϸç, ¾î¶°ÇÑ ÇÁ·Î¼¼½Ì Áö¿øµµ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â ¶óƾ¾î, ±×¸®½º¾î, Å°¸±¾î
¹× ¸¹Àº °úÇÐ ±âÈ£¿Í °°Àº ¼Ã¼(script)µé¸¸ Áö¿øµÊÀ» ÀǹÌÇÑ´Ù. ÀÌ·¯ÇÑ ·¹º§¿¡¼ UCS
Áö¿øÀº ISO 8859 Áö¿ø¿¡ ºñ±³ÇÒ ¸¸ Çϸç À¯ÀÏÇÑ Áß¿äÇÑ Â÷ÀÌÁ¡Àº ÇöÀç À¯¿ëÇÑ ¼ö¸¹Àº
´Ù¸¥ Á¾·áÀÇ ¹®ÀÚµéÀÌ ÀÖÀ¸¸ç, ¹®ÀÚµéÀº ¸ÖƼ¹ÙÀÌÆ® ½ÃÄö½º·Î ³ªÅ¸³¾ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù.
¸®´ª½º¿¡¼ °á±¹ °áÇÕ ¹®ÀÚ°¡ Áö¿øµÇ°ÚÁö¸¸ ¹Ì¸® ¸¸µé¾îÁø(precomposed) ¹®ÀÚµéÀÌ
À¯¿ëÇÑ °áÇÕ ¹®ÀÚ ½ÃÄö½ºº¸´Ù ´õ¿í ÁÁÀº ¼±ÅÃÀÌ µÇ¾î¾ß¸¸ ÇÑ´Ù. ´õ ¸í¹éÇÏ°Ô
¸»ÇÏÀÚ¸é, ¸®´ª½º»ó¿¡¼ À¯´ÏÄÚµå·Î ¸¸µé¾îÁø ÅؽºÆ®¸¦ ÀÎÄÚµùÇÏ´Â ´õ ÁÁÀº ¹æ¹ýÀº
Unicode Technical Report #15¿¡¼ Á¤ÀÇÇÑ Ç¥ÁØ Çü½Ä C
(Normalization Form C)°¡ µÇ¾î¾ß¸¸ ÇÑ´Ù.
¿µÇâ·ÂÀÖ´Â POSIX ºñȣȯ PC ¿î¿µÃ¼Á¦ ÆǸŠȸ»ç Áß Çϳª´Â(¿©±â¼ À̸§À» ¹àÈ÷Áö´Â ¾Ê°Ú´Ù) ¾î¶² ÆÄÀÏ¿¡¼, »ç¿ëµÇ´Â ÀÎÄÚµù°ú ¹ÙÀÌÆ® ¼ø¼¸¦ ½Äº°Çϱâ À§Çؼ ¸ðµç À¯´ÏÄÚµå ÆÄÀÏÀÌ ÆøÀÌ ¾ø´Â ³ëºê·¹ÀÌÅ© ½ºÆäÀ̽º ¹®ÀÚ(ZERO WIDTH NOBREAK SPACE: U+FEFF)·Î ½ÃÀÛÇÏ°Ô ÇÏÀÚ°í Á¦¾ÈÇߴµ¥, ÀÌ·¯ÇÑ ±ÔÄ¢¿¡ µû¸£¸é ¾î¶² ÆÄÀÏ¿¡¼ »ç¿ëµÇ´Â ÀÎÄÚµù°ú ¹ÙÀÌÆ® ¼ø¼(byte-order)¸¦ ½Äº°Çϱâ À§Çؼ ÆøÀÌ ¾ø´Â ³ëºê·¹ÀÌÅ© ½ºÆäÀ̽º
¹®ÀÚ´Â signature ȤÀº "¹ÙÀÌÆ®-¼ø¼ ¸¶Å©(byte-order mark: BOM)"·Î½á ÂüÁ¶ÇÒ ¼ö ÀÖ
´Ù. ¸®´ª½º´Â BOMÀ̳ª signature¸¦ ÀüÇô »ç¿ëÇÏÁö ¾Ê´Â´Ù. BOMÀ̳ª signatureÀÇ »ç¿ëÀº ¼ö¾øÀÌ ¸¹ÀÌ Á¸ÀçÇÏ°í ÀÖ´Â ASCII-ÆÄÀÏ ¹®¹ý ±ÔÄ¢À» ±ú¶ß¸± °ÍÀÌ´Ù. POSIX ½Ã½ºÅÛ¿¡¼, ¼±ÅÃÇÑ ·ÎÄÉÀÏÀº ¾î¶² ÇÁ·Î¼¼½ºÀÇ ÀÔÃâ·Â ÆÄÀÏ¿¡¼ ÇÊ¿ä·Î ÇÏ´Â ÀÎÄÚµùÀ» ¹Ì¸®
È®ÀÎÇÑ´Ù. ¶ÇÇÑ signature "UTF-8N" ÆÄÀÏ ¾øÀÌ UTF-8 ÆÄÀϵéÀ» È£Ãâ Çϱâ À§Çؼ ±×°ÍÀ»
Á¦¾ÈÇß¾ú´Ù. ±×·¯³ª ÀÌ·¯ÇÑ ºñ Ç¥ÁØÀûÀÎ ¿ë¾î´Â º¸Åë POSIX ¼¼°è¿¡¼´Â »ç¿ëÇÏÁö ¾Ê´Â´Ù.
UTF-8 Áö¿øÀ» À§ÇÑ µÎ °¡Áö Á¢±Ù ¹æ¹ýÀÌ ÀÖ´Ù. ÀÌ°ÍÀ» ¼ÒÇÁÆ® ¹× Çϵå
º¯È¯À̶ó ºÎ¸£±â·Î ÇÏ°Ú´Ù. ¼ÒÇÁÆ® º¯È¯¿¡¼ µ¥ÀÌÅÍ´Â UTF-8 Çü½ÄÀ¸·Î ¾îµð¼³ª
º¸Á¸µÇ¸ç ´ÜÁö ¸Å¿ì ÀûÀº ¼öÀÇ ¼ÒÇÁÆ®¿þ¾î¸¸ º¯È½Ãų ÇÊ¿ä°¡ ÀÖ´Ù.
ÇÏµå º¯È¯¿¡¼ ÇÁ·Î±×·¥ÀÌ ÀоîµéÀÌ´Â UTF-8 µ¥ÀÌÅÍ´Â ÆøÀÌ Å«(wide) ¹®ÀÚ
¹è¿·Î º¯È¯ µÉ °ÍÀ̸ç, ¶ÇÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ³»ºÎÀÇ ¾î´À °÷¿¡¼µµ ó¸®µÉ °ÍÀÌ´Ù.
´ëºÎºÐÀÇ ¾ÖÇø®ÄÉÀ̼ǵéÀº ´ÜÁö ¼ÒÇÁÆ® º¯È¯¸¸À¸·Îµµ Àß µ¿ÀÛÇÑ´Ù.
¼ÒÇÁÆ® º¯È¯Àº À¯´Ð½º »ó¿¡¼ UTF-8À» ¹Þ¾ÆµéÀÏ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀÌ´Ù. ¿¹¸¦
µé¸é, cat
°ú echo
¿Í °°Àº ÇÁ·Î±×·¥µéÀº ÀüÇô
¼öÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ±×°ÍµéÀº ÀÔÃâ·ÂÀÌ ISO 8859-2 À̵ç UTF-8ÀÌµç »ó°ü¾øÀÌ
¿Ïº®ÇÏ°Ô ¹«½ÃÇÑ´Ù. ¿Ö³ÄÇϸé, ±×°ÍµéÀº ÀÔÃâ·ÂÀ» ÇÁ·Î¼¼½ºÈÇÏÁö ¾Ê°í ´Ü
Áö ¹ÙÀÌÆ® ½ºÆ®¸²À» Ãë±ÞÇϱ⠶§¹®ÀÌ´Ù. ±×°ÍµéÀº ¿ÀÁ÷ UTF-8 »ó¿¡¼ ¾î¶°ÇÑ
º¯Èµµ ÀϾÁö ¾Ê´Â '\n'
°ú °°Àº Á¦¾î ÄÚµå¿Í ASCII ¹®ÀÚ¸¸
ÀνÄÇÑ´Ù. ±×·¯¹Ç·Î UTF-8 ÀÎÄÚµù ¹× µðÄÚµùÀº Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ¿¡¼
µ¿ÀÛÇÏ´Â ÀÌ·¯ÇÑ ¾îÇø®ÄÉÀ̼ǿ¡ ´ëÇؼ ¿Ïº®ÇÏ°Ô ÀÌ·ç¾îÁø´Ù.
¹ÙÀÌÆ® ¼ö¸¦ °è»êÇÏ¿© ÇÑ ¹®ÀÚ¿ ¾ÈÀÇ ¹®ÀÚ ¼ö¸¦ °áÁ¤ÇÏ´Â ¸ðµç ÇÁ·Î±×·¥À»
À§Çؼ ¾à°£ÀÇ ¼öÁ¤ÀÌ ÇÊ¿äÇÒ °ÍÀÌ´Ù. UTF-8 ¸ðµå¿¡¼, ÇÁ·Î±×·¥µéÀº
0x80ºÎÅÍ 0xBF ¹üÀ§ »çÀÌÀÇ ¾î¶² ¹ÙÀÌÆ® ¼öµµ °è»êÇؼ´Â ¾ÈµÈ´Ù. ¿Ö³ÄÇϸé
ÀÌ·¯ÇÑ ¹ÙÀÌÆ® ¼ö´Â ¿¬¼Ó ¹ÙÀÌÆ®(continuation bytes)ÀÌ¸ç ¼ÒÀ¯ÇÏ°í ÀÖ´Â
¹®ÀÚ´Â ¾Æ´Ï±â ¶§¹®ÀÌ´Ù. UTF-8°ú ÇÔ²² C¾ð¾îÀÇ strlen(s)
ÇÔ
¼ö ¶ÇÇÑ ¹®ÀÚ¿ ¾ÈÀÇ ¹®ÀÚ¼ö¸¦ ¹Ù¸£°Ô °è»êÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ±× ´ë½Å, ¸¸
¾à UTF-8 ·ÎÄÉÀÏÀÌ ¼±ÅõǾú´Ù¸é ¹®ÀÚ¼ö¸¦ °è»êÇϱâ À§ÇÏ¿© mbstowcs
(NULL,s,0)
ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¿¹¸¦ µé¾î, ls
ÇÁ·Î±×·¥Àº ¼öÁ¤Çؾ߸¸ ÇÑ´Ù. ¿Ö³ÄÇÏ¸é ±×
°ÍÀº µð·ºÅ丮¸¦ À¯Àú¿¡°Ô º¸¿©ÁÖ±â À§ÇÑ Å×À̺íÀÇ ·¹À̾ƿô ü°è¸¦ °®Ãß±â
À§Çؼ ¹®ÀÚ¼ö¸¦ ÆÄÀϸíÀ¸·Î °è»êÇϱ⠶§¹®ÀÌ´Ù. ÀÌ¿Í À¯»çÇÏ°Ô °íÁ¤µÈ Æø
À» °®´Â ÆùÆ®·Î Ãâ·ÂÇÏ°í ±× Ãâ·ÂÀ» Æ÷¸ËÇÏ´Â ÇÁ·Î±×·¥µéÀº ±×°Í¿¡ ¾Ë¸Â°Ô
UTF-8 ÅؽºÆ® »óÀÇ ¹®ÀÚ ¼ö¸¦ °è»êÇϱâ À§ÇÑ ¹æ¹ýÀ» ¾Ë¾Æ¾ß¸¸ ÇÑ´Ù. ÇÑ ¹®
ÀÚ¸¦ Áö¿ì´Â °Í°ú °°Àº ¿¡µðÅÍ ÇÔ¼ö´Â ÇÑ ¹®ÀÚ¿¡ ¼ÓÇÏ´Â ¸ðµç ¹ÙÀÌÆ®¸¦ Áö
¿ì±â À§Çؼ ¾à°£ ¼öÁ¤Çؾ߸¸ ÇÑ´Ù. ¿¹¸¦ µé¸é, ncurses
¶óÀÌ
ºê·¯¸®¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ »Ó¸¸ ¾Æ´Ï¶ó vi
³ª emacs
¿Í °°Àº ¿¡µðÅÍ ¿ª½Ã ÀÌ¿Í ºñ½ÁÇÑ ¿µÇâÀ» ¹Þ´Â´Ù.
¸®´ª½º Ä¿³Î ¶ÇÇÑ ¼ÒÇÁÆ® º¯È¯¸¸À¸·Îµµ Àß µ¿ÀÛÇÒ ¼ö ÀÖÀ¸¸ç, UTF-8À»
¿Ïº®ÇÏ°Ô Áö¿øÇϱâ À§ÇÑ ¾ÆÁÖ ¾à°£ÀÇ ¼öÁ¤¸¸ ÇÊ¿äÇÏ´Ù. ¹®ÀÚ¿(¿¹¸¦ µé¾î
ÆÄÀϸí, ȯ°æ º¯¼ö µî)À» Ãë±ÞÇÏ´Â ´ëºÎºÐÀÇ Ä¿³Î ÇÔ¼öµéÀº ¿µÇâÀ» ¹ÞÁö ¾Ê
´Â´Ù. ´ÙÀ½°ú °°Àº °æ¿ì¿¡ ¼öÁ¤ÀÌ ÇÊ¿äÇÒ ¼ö ÀÖ´Ù.
- ÄÜ¼Ö µð½ºÅ¬·¹ÀÌ¿Í Å°º¸µå µå¶óÀ̹ö(Çϳª ´õÇÏÀÚ¸é VT100 ¿¡¹Ä·¹ÀÌÅÍ)
´Â UTF-8À» ÀÎÄÚµù ¹× µðÄÚµùÇØ¾ß Çϸç Àû¾îµµ À¯´ÏÄÚµå ¹®ÀÚ¼ÂÀÇ ¸î¸î ¼
ºê¼Â(subset)À» Áö¿øÇؾ߸¸ ÇÑ´Ù.
- VFAT°ú WinNT¿Í °°Àº ¿ÜºÎ ÆÄÀÏ ½Ã½ºÅÛ µå¶óÀ̹ö´Â ÆÄÀϸíÀ» ³ªÅ¸³»´Â
¹®ÀÚ ÀÎÄÚµùÀ» º¯È¯½ÃÄѾ߸¸ ÇÑ´Ù. ÀÌÀü¿¡ À¯È¿Çß´ø º¯È¯ ¿É¼Ç ¸ñ·Ï¿¡ UTF-
8À» ´õÇؾ߸¸ Çϸç,
mount
¸í·ÉÀº À¯Àú°¡ ½ÇÇà½ÃŲ ÇÁ·Î¼¼¼
°¡ UTF-8 ÆÄÀϸíÀ» º¼ ¼ö ÀÖµµ·Ï Ä¿³Î µå¶óÀ̹ö¿¡°Ô ¾Ë·Á¾ß¸¸ ÇÑ´Ù. VFAT
¹× WinNT ÆÄÀÏ ½Ã½ºÅÛÀº ÀÌ¹Ì À¯´ÏÄڵ带 »ç¿ëÇÏ°í Àֱ⠶§¹®¿¡, UTF-8Àº
º¯È¯ Áß¿¡ ¼Õ½ÇÀÌ ÀϾÁö ¾Ê´Â´Ù´Â °ÍÀ» º¸ÁõÇÑ´Ù.
- ¸ðµç POSIX ½Ã½ºÅÛÀÇ tty µå¶óÀ̹ö´Â ¿ø½ÃÀûÀÎ ÇÑ Çà ÆíÁý ±â´ÉÀ» »ç¿ë
ÇÒ ¼ö ÀÖ°Ô ÇÏ´Â ÀÏÁ¾ÀÇ "cooked" ¸ðµå¸¦ Áö¿øÇÑ´Ù. ¹®ÀÚ »èÁ¦ ÇÔ¼ö°¡ ÀûÀý
È÷ ÀÛ¿ëµÇµµ·Ï Çϱâ À§Çؼ stty´Â ttyÀÇ UTF-8 ¸ðµå°¡ 0x80¿¡¼ºÎÅÍ 0xBF
±îÁöÀÇ ¹üÀ§ ¾È¿¡¼ ¿¬¼Ó ¹è¿À» ¹®ÀÚ·Î °è»êÇÏÁö ¾Êµµ·Ï UTF-8 ¸ðµå¸¦ ¼³
Á¤Çؾ߸¸ ÇÑ´Ù.
Bruno HaibleÀÌ Á¦°øÇÏ´Â
stty¿Í Ä¿³ÎÀÇ tty µå¶óÀ̹ö¸¦ À§ÇÑ ¸î°¡Áö
¸®´ª½º ÆÐÄ¡°¡ Á¸ÀçÇÑ´Ù.
GNU glibc 2.2ºÎÅÍ »ìÆ캸¸é, ÇöÀç »ç¿ëÇÏ´Â ·ÎÄÉÀÏ°ú »ó°ü¾øÀÌ, wchar_t
ÇüÀº °ø½ÄÀûÀ¸·Î ¿ÀÁ÷ 32ºñÆ® ISO 10646 °ªÀ¸·Î »ç¿ëµÇ´Â
°æÇâÀÌ ÀÖ´Ù. ISO C99¿¡¼ ÇÊ¿ä·Î Çϱ⠶§¹®¿¡ __STDC_ISO_10646__
¸ÅÅ©·Î Á¤ÀÇ¿¡ ÀÇÇؼ ¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÌ°ÍÀ» ½Ã±×³Î·Î º¸³½´Ù. ISO
C ¸ÖƼ-¹ÙÀÌÆ® º¯È¯ ÇÔ¼öµé(wprintf()
, mbstowcs()
µî)Àº glibc 2.2 ȤÀº ±× À̻󿡼 ¿Ïº®ÇÏ°Ô ±¸ÇöµÇ¸ç, UTF-8 °úÁ¤À»
Æ÷ÇÔÇÏ¸é¼ wchar_t
¿Í ·ÎÄÉÀÏ µ¶¸³ÀûÀÎ ¸ÖƼ¹ÙÀÌÆ® ÀÎÄÚµù »ç
ÀÌ¿¡¼ º¯È¯Çϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¿¹¸¦ µé¸é ¾Æ·¡¿Í °°ÀÌ ¾µ ¼ö ÀÖ´Ù.
wprintf(L"Schone Gru©¬e!\n");
±×·± µÚ¿¡ ¼ÒÇÁÆ®¿þ¾î´Â ÀÌ·¯ÇÑ ÅؽºÆ®¸¦ »ç¿ëÀÚ°¡ ȯ°æ º¯¼ö LC_CTY
PE
(¿¹¸¦ µé¸é, en_US.UTF-8
ȤÀº de_DE.ISO_885
9-1
)À¸·Î ¼±ÅÃÇÑ ·ÎÄÉÀÏ¿¡ ¸í½ÃµÈ ÀÎÄÚµù»ó¿¡ Ãâ·ÂÇÒ °ÍÀÌ´Ù. ÄÄÆÄ
ÀÏ·¯´Â C ¼Ò½º ÆÄÀÏ¿¡¼ »ç¿ëÇÏ´Â ÀÎÄÚµù¿¡ ÀûÇÕÇÑ ·ÎÄÉÀÏ¿¡¼ µ¿ÀÛÇؾ߸¸
ÇÑ´Ù. ±×¸®°í ³ª¸é À§ÀÇ ¹®ÀÚ¿Àº À¯´ÏÄÚµå wchar_t ¹®ÀÚ¿¿¡ ÀÇÇؼ ¿Àºê
Á§Æ® ÆÄÀÏ¿¡ Á¤È®ÇÏ°Ô ÀúÀåµÉ °ÍÀÌ´Ù. Ãâ·Â½Ã¿¡´Â ·±-ŸÀÓ ¶óÀ̺귯¸®°¡ wc
har_t ¹®ÀÚ¿À» ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ´Â ȯ°æÀÇ ·ÎÄÉÀÏ¿¡ ²À ¸Â´Â ÀÎÄÚµùÀ¸·Î
´Ù½Ã º¯È¯½Ãų °ÍÀÌ´Ù.
¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÌ 8ºñÆ® ¹®ÀÚ¼Â(ISO 8859-*, KOI-8 µî)
°ú UTF-8 ¸ðµÎ¸¦ Áö¿øÇÑ´Ù¸é ±×°ÍÀÌ UTF-8 ¸ðµå¸¦ »ç¿ëÇÑ´Ù°í °¡Á¤ÇÒ ¼ö ÀÖ
´Â Áö ¾ø´ÂÁö¸¦ ¸î °¡Áö ¹æ¹ýÀ¸·Î ¾Ë¾Æ³»¾ß¸¸ ÇÑ´Ù. ¹Ù¶ó°Ç´ë, ¸î ³â ¾È¿¡
¸ðµç »ç¶÷µéÀÌ ¿ÀÁ÷ UTF-8¸¸À» »ç¿ëÇÏ°í ÀÖÀ» °ÍÀ̸ç, ¿©·¯ºÐµéÀº ±×°ÍÀ»
±âº»°ªÀ¸·Î ¸¸µé ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª °íÀüÀûÀÎ 8ºñÆ® ¼Â°ú UTF-8 ¸ðµÎ
°¡ Ʋ¸²¾øÀÌ Áö¿øµÇ±â Àü±îÁö´Â ¾Æ´Ï´Ù.
ÇöÀç »ç¿ëµÇ´Â ¾ÖÇø®ÄÉÀ̼ǵéÀº ±×µé °¢°¢ÀÇ UTF-8 ¸ðµå¸¦ È°¼ºÈ½ÃÅ°
±â À§ÇØ ÀüüÀûÀ¸·Î ´Ù¸¥ ¸í·É ¶óÀÎ ½ºÀ§Ä¡µéÀ» »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¸é:
- xtermÀÇ ¸í·É ¶óÀÎ ¿É¼Ç "-u8"°ú X ¸®¼Ò½ºÀÇ "XTerm*utf8: 1"
- gnat/gccÀÇ ¸í·É ¶óÀÎ ¿É¼Ç "-gnatW8"
- sttyÀÇ ¸í·É ¶óÀÎ ¿É¼Ç "iutf8"
- minedÀÇ ¸í·É ¶óÀÎ ¿É¼Ç "-U"
- xemacs¿¡´Â UTF-8°ú ³»ºÎÀûÀ¸·Î »ç¿ëÇÏ´Â MULE ÀÎÄÚµù »çÀÌ¿¡¼ º¯È¯½Ã
Å°±â À§ÇÑ elisp ÆÐÅ°Áö°¡ ÀÖ´Ù.
- vimÀÇ 'fileencoding' ¿É¼Ç
- lessÀÇ È¯°æ º¯¼ö LESSCHARSET=utf-8
Ưº°ÇÑ ¸í·É ¶óÀÎ ¿É¼ÇÀ̳ª ¸ðµç ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇØ ¸ðµç ¼³Á¤ ¸ÞÄ«´ÏÁò
À» ±â¾ïÇÏ´Â °ÍÀº ¸÷½Ã Áö·çÇÑ ÀÏÀÌ´Ù. ±×·¯¹Ç·Î ¸î °¡Áö Ç¥ÁØ »çÇ×À» ±ÞÈ÷
¸¸µé ÇÊ¿ä°¡ ÀÖ´Ù.
(
Thomas Dickey°¡ °ü¸®ÇÏ´Â
XFree86 4.0 ȤÀº º¸´Ù ³ôÀº
¹öÀü¿¡¼ »ç¿ëÇÏ´Â
xterm ¹öÀüÀº ÀÌ¹Ì UTF-8 Áö¿øÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. ¸¸¾à ´ç½ÅÀÌ XFree86
4.0À» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é, ´ë¾ÈÀ¸·Î½á
°¡Àå ÃÖ½ÅÀÇ xterm °³¹ß ¹öÀüÀ» µû·Î ´Ù¿î·ÎµåÇÒ ¼ö
ÀÖÀ¸¸ç ¿©·¯ºÐÀÌ Á÷Á¢ "./configure --enable-wide-chars ; make
"
¸í·ÉÀ» »ç¿ëÇÏ¿© ÄÄÆÄÀÏ ÇÒ ¼ö ÀÖ´Ù.
xtermÀÇ ÀÔÃâ·Â ¸ðµå¸¦ UTF-8·Î º¯È¯½ÃÅ°±â À§Çؼ´Â ¸í·É ¶óÀÎ ¿É¼Ç -u8
À» »ç¿ëÇÏ°í UTF-8 ¸ðµåÀÏ °æ¿ì *-ISO10646-1
ÆùÆ®¸¦ »ç¿ëÇ϶ó. ISO 10646-1 ÆùÆ®µéÀº ISO 8859-1 ÆùÆ®µéÀÇ ÇÏÀ§ ¹öÀü°ú
¿Ïº®ÇÏ°Ô È£È¯µÇ±â ¶§¹®¿¡ ISO 8859-1 ¸ðµåÀÏ °æ¿ì *-ISO10646-1
ÆùÆ® ¶ÇÇÑ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
XFree86 4.0.1¿¡ Æ÷ÇÔµÈ XtermÀº ÇöÀç °íÁ¤ ¹®ÀÚ ÆøÀ» °¡Áö¸ç ¿ÞÂÊ¿¡¼
¿À¸¥ÂÊ ¹æÇâÀ¸·Î ½á¾ßÇÏ´Â ISO 10646-1ÀÇ ·¹º§ 1¸¸À» Áö¿øÇÑ´Ù. ´Ù½Ã ¸»ÇÏ
¸é, Å͹̳ÎÀÇ ÀÇ¹Ì ¿¬°á ü°è(terminal semantic)°¡ ÀÌÁ¦ UTF-8À» µðÄÚµùÇÒ
¼ö ÀÖ°í 16ºñÆ® ¹®ÀÚ¿¡ ¾×¼¼½º ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» Á¦¿ÜÇϸé, Å͹̳ÎÀÇ ÀÇ
¹Ì ¿¬°á ü°è´Â ISO 8859-1ÀÇ °æ¿ì¿Í ±âº»ÀûÀ¸·Î °°´Ù.
°¡Àå ÃÖ½ÅÀÇ xterm °³¹ß ¹öÀüÀº ÀÌ¿¡ µÎ °¡Áö »õ·Î¿î ÇÔ¼öµé(
Robert Brady°¡ Á¦°ø)À» Ãß°¡ÇÑ´Ù.
- ÇÑÁßÀϾî±ÇÀÇ Ç¥Àǹ®ÀÚ¸¦ À§ÇÑ µÎ¹èÀÇ ÆøÀ» °®´Â ÆùÆ®¿¡ ´ëÇÑ ÀÚµ¿ º¯È¯
- °£´ÜÇÑ °áÇÕ ¹®ÀÚ °ãÃľ²±â(simple overstriking combining characters)
¼±ÅÃµÈ ÀÏ¹Ý ¹®ÀÚ°¡ X
×Y
Çȼ¿ Å©±â¸¦ °®´Â´Ù¸é
, xtermÀº ÀÌÁ¦ ºÎ°¡ÀûÀÎ 2X
×Y
Çȼ¿ Å©±âÀÇ Æù
Æ®¸¦ ·ÎµåÇÏ·Á°í ½ÃµµÇÒ °ÍÀÌ´Ù(AVERAGE_WIDTH
¼Ó¼ºÀÇ µÎ ¹è
°ªÀ» °®´Â´Ù´Â Á¡À» Á¦¿ÜÇϸé XLFD¿Í °°´Ù).
Unicode Technical Report #11¿¡ µû¸£¸é
East Asian Wide(W) ȤÀº East Asian FullWidth(F)ÀÇ Æø
Ư¼º(Width property)À» °®´Â ¸ðµç À¯´ÏÄÚµå ¹®ÀÚµéÀ» ³ªÅ¸³»±â À§Çؼ xte
rmÀº ÀÌ·¯ÇÑ ÆùÆ®¸¦ »ç¿ëÇÒ °ÍÀÌ´Ù.
½ºÆäÀ̽º°¡ ¾ø°Å³ª(nonspacing) µÑ·¯½Î°í ÀÖ´Â(enclosing) °áÇÕ ¹®ÀÚµé(
¿¹¸¦ µé¸é,
À¯´ÏÄÚµå µ¥ÀÌÅͺ£À̽º¾È¿¡
ÀϹÝÀûÀÎ Ä«Å×°í¸® ÄÚµå
Mn À̳ª Me¸¦ °¡Áö°í ÀÖ´Â ¹®ÀÚµé) ¶ÇÇÑ ÇöÀç »ç¿ë °¡´ÉÇϸç ÀÌ°ÍÀº ±âº»
-¹®ÀÚ glyph(base-character glyph)À» µÎ °³ÀÇ °áÇÕ ¹®ÀÚ glyph±îÁö ´ÜÁö
°ãÃľ²¹Ç·Î½á(³í¸® ¿¬»êÀÚ OR-ing) ±¸ÇöÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ±âº» ¶óÀÎ ¾Æ·¡
¿¡ ¾×¼¾Æ®¸¦ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ°Ô ÇÏ°í, ÀÛÀº ¹®ÀÚ À§¿¡ ¾×¼¾Æ®¸¦ ¹Þ¾ÆµéÀÏ ¼ö
ÀÖ°Ô ÇÑ´Ù. ¿¹¸¦ µé¸é °ãÃľ²±â¿Í ÇÔ²² »ç¿ëÇϱâ À§Çؼ Ưº°È÷ ¼³°èµÈ ÅÂ
±¹ ÆùÆ®¿¡ ´ëÇؼµµ ¶ÇÇÑ Àß µ¿ÀÛÇÑ´Ù. ±×·¯³ª Ưº°È÷ "°íÁ¤µÇ°í" Áý´ÜȵÈ
ÆùÆ®¿Í °°Àº ¾î¶² ÆùÆ® ¾È¿¡¼ Å°°¡ Å« ¹®ÀÚ À§¿¡ ¾×¼¾Æ®¸¦ °áÇÕÇÏ´Â °ÍÀº
¿ÏÀüÈ÷ ¸¸Á·½º·´Áö ¾ÊÀ» Áöµµ ¸ð¸¥´Ù. ±×·¯¹Ç·Î ¹Ì¸® ¸¸µé¾îÁø(precompose
d) ¹®ÀÚµéÀ» »ç¿ë °¡´ÉÇÑ °æ¿ì¿¡´Â ±×°ÍÀÌ ´õ ³ªÀº °á°ú¸¦ ³ºÀ» °ÍÀÌ´Ù.
ÅؽºÆ® ¸ðµå ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¡¸ÓµéÀÌ ÁÖÀÇÇØ¾ß ÇÒ Á¡:
xtermÀÇ Ãâ·ÂÀº ÇÑÁßÀϾî±ÇÀÇ ÇÑÀÚ¿Í °áÇÕ ¹®ÀÚ¸¦ À§ÇÑ Áö¿øÀ¸·Î½á º¸´Ù
´Â ºñ·Ê ¹®ÀÚó·³ ¹ÝÀÀÇÒ °ÍÀÌ´Ù. ¿Ö³ÄÇÏ¸é ¶óƾ/±×¸®½º/Å°¸± µîÀÇ ¹®ÀÚ´Â
ÇϳªÀÇ ¼¼·Î¿ À§Ä¡¸¦ ÇÊ¿ä·Î ÇÏ´Â ¹Ý¸é, ÇÑÁßÀϾî±ÇÀÇ ÇÑÀÚ´Â 2°³ÀÇ ¹®ÀÚ
¸¦ ÇÊ¿ä·Î ÇÏ¸ç °áÇÕ ¹®ÀÚ´Â Çϳªµµ ÇÊ¿ä·Î ÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù.
¿ÀÇ ¼Ò½º ±×·ìÀÇ
´ÜÀÏ À¯´Ð½º »ç¾çÀº ÇϳªÀÇ ¹®ÀÚ°¡ ¾ó¸¶³ª ¸¹Àº ¼¼·Î¿À» Â÷ÁöÇÏ°í ÀÖ
´ÂÁö¸¦ ¾ÖÇø®ÄÉÀ̼ÇÀÌ Å×½ºÆ® ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â µÎ °³ÀÇ C ÇÔ¼ö
wcwidth()¿Í
wcswidth()
¸¦ ¸í½ÃÇÏ°í ÀÖ´Ù.
#include <wchar.h>
int wcwidth(wchar_t wc);
int wcswidth(const wchar_t *pwcs, size_t n);
Markus Kuhn ÀÌ ºñ »ó¿ë(free)À¸·Î ¹èÆ÷ÇÏ´Â wcwidth() ÇÔ¼ö´Â C ¶óÀ̺귯¸®°¡ ¾ÆÁ÷
ÀûÇÕÇÑ ÇÔ¼ö¸¦ Á¦°øÇÏÁö ¾Ê´Â Ç÷§ÆûÀÇ ¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ »ç¿ëµÉ ¼ö ÀÖ
´Ù.
xtermÀº ¾ÕÀ¸·Î ´Ù°¡¿Ã ¹Ì·¡¿¡ ´õ¿í º¹ÀâÇÑ ¿ÏÀüÇÑ À¯´ÏÄÚµå ·»´õ¸µ ¿£
Áø¿¡¼ ´ç½ÅÀÌ ±â´ëÇÒ Áöµµ ¸ð¸¦ ´ÙÀ½ÀÇ ±â´ÉµéÀ» ¾Æ¸¶µµ Áö¿øÇÏÁö ¾ÊÀ» °Í
ÀÌ´Ù.
- À¯Å¾î¿Í ¾Æ¶ø ¹®ÀÚµéÀ» À§ÇÑ ¾ç¹æÇâ Ãâ·Â
- ¾Æ¶øÀÇ ÇÁ¸®Á¨Å×ÀÌ¼Ç ¾ç½ÄÀ» ´ë½ÅÇÒ ¾ç½Ä
- ÀεµÀÇ ¿¬°á¼±(ligature)À» ´ë½ÅÇÒ ¹®ÀÚ
- ÇÑ±Û ÀÚ¸ð
- °áÇÕ ¹®ÀÚ¸¦ ÀúÀåÇÒ ÀÓÀÇÀÇ ½ºÅÃ
±×·¯¹Ç·Î À¯Å¾î¿Í ¾Æ¶ø¾î »ç¿ëÀÚµéÀº À¯Å¾î¿Í ¾Æ¶ø ¹®ÀÚ¿À» Å͹̳ηÎ
º¸³»±â Àü¿¡ ¹®ÀÚ¿ÀÇ ¹æÇâÀ» ¹ÝÀü½ÃÅ°°í ¿ÞÂÊÀ» ä¿ì´Â ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ
·Î±×·¥À» »ç¿ëÇؾ߸¸ ÇÑ´Ù. ´Ù½Ã ¸»ÇØ, ¾ç¹æÇâ ÇÁ·Î¼¼½ÌÀº xterm¿¡ ÀÇÇؼ
°¡ ¾Æ´Ï¶ó ¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÇÇؼ ÀÌ·ç¾îÁ®¾ß¸¸ ÇÑ´Ù. À¯ÅÂ¾î ¹× ¾Æ¶ø¾î¿Í
°ü·ÃµÈ »óȲÀº ¹Ì¸® ¸¸µé¾îÁø glyph°ú ÇÁ¸®Á¨Å×ÀÌ¼Ç ¾ç½ÄÀÇ À¯È¿¼º¿¡ ÀÖ¾î
¼ Àû¾îµµ ISO 8859 ÀÌÈÄ °³¼±µÇ°í ÀÖ´Ù. Áö±ÝÀ¸·Î½á´Â ¾ç¹æÇâ Áö¿øÀÌ Á¤¸»
·Î xterm¿¡ ³»ÀåµÉ °ÍÀÎÁö ÀÌ°ÍÀÌ ¾ó¸¶³ª Á¤È®ÇÏ°Ô ÀÛµ¿ÇÒ °ÍÀÎÁö ¸íÈ®ÇÏÁö
¾Ê´Ù.
ISO 6429 = ECMA-48°ú
À¯´ÏÄÚµå bidi ¾Ë°í¸®Áò ¸ðµÎ ´ë¾ÈÀûÀÎ ½ÃÀÛ Æ÷ÀÎÆ®(starting point)
¸¦ Á¦°øÇÑ´Ù.
E CMA Technical Report TR/53À» º¸µµ·Ï Ç϶ó.
¸¸¾à ´ç½ÅÀÌ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ¾ç¹æÇâ ÅؽºÆ® Ãâ·ÂÀ» Áö¿øÇÒ °èȹÀ̶ó¸é
, À¯´ÏÄÚµå Bidi ¾Ë°í¸®ÁòÀ» ºñ »ó¿ë(free)À¸·Î ±¸ÇöÇÑ Dov GrobgeldÀÇ
FriBidi
ȤÀº Mark LeisherÀÇ
PretBidi ¾Ë°í¸®ÁòÀ» º¸¶ó.
ÃÖ±Ù¿¡ ºñ·Ï
Robert B rady°¡ bidi Áö¿øÀ» À§ÇÑ ¸î¸î Ãʱ⠽ÇÇèÀûÀÎ ÆÐÄ¡¸¦ ¹ßÇ¥Çϱä ÇßÁö¸¸
xtermÀº ÇöÀç ¾Æ¶ø¾î, ÇÑ±Û ÀÚ¸ð ¹× Àεµ ÅؽºÆ® Æ÷¸ËÆà ¾Ë°í¸®ÁòÀ» Áö¿øÇÏ
Áö ¾Ê´Â´Ù. VT100 ¾Ö¹Ä·¹ÀÌÅÍ¿¡¼ ÀÌ·¯ÇÑ °ÍµéÀ» Áö¿øÇÏ´Â °ÍÀÌ ¾Ë¸ÂÀºÁö >
ȤÀº ¹Ù¶÷Á÷ÇÑÁö ¿©ÀüÈ÷ ºÒ¸íÈ®ÇÏ´Ù. ¾ÖÇø®ÄÉÀ̼ǵéÀº ¾Æ¶ø¾î¿Í ÇѱÛÀ» Æ÷
¸ËÇÏ´Â ¾Ë°í¸®ÁòÀ» ½±°Ô ¾ÖÇø®ÄÉÀÌ¼Ç ½º½º·Î Àû¿ëÇÒ ¼ö ÀÖ´Ù. ¿Ö³ÄÇϸé xt
ermÀÌ ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ÇÏ¿©±Ý ¸ðµç ÇÊ¿äÇÑ ÇÁ¸®Á¨Å×ÀÌ¼Ç ¾ç½ÄÀ» Ãâ·ÂÇÏ´Â
°ÍÀ» Çã¿ëÇϱ⠶§¹®ÀÌ´Ù. Àεµ ¼Ã¼¿¡ °üÇؼ X ÆùÆ® ¸ÞÄ«´ÏÁòÀº ÇʼöÀûÀÎ
¿¬°á¼±(ligature)À» ´ëüÇÒ ¶Ç ´Ù¸¥ ÇüÅÂÀÇ ¿¬°á¼±À» À§ÇÑ ÀÎÄÚµùÀ» Áö±Ý>
À¸·Î½á´Â ÀüÇô Áö¿øÇÏÁö ¾Ê°í ÀÖ´Ù. ±×·¡¼ Á¦°øÇÒ¸¸ ÇÑ xtermÀÌ ÀüÇô ¾ø´Ù
. Àεµ¾î Ãâ·ÂÀÌ ÇÊ¿äÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀº xterm°ú °°Àº VT100 ¿¡¹Ä·¹ÀÌÅÍ ´ë
½Å¿¡
Pango¿Í °°Àº ÀûÀýÇÑ À¯´ÏÄÚµå
X11 ·»´õ¸µ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ´õ¿í ÁÁ´Ù.
Áö³ ¸î³â µ¿¾È ²Ï ¸¹Àº ¼öÀÇ À¯´ÏÄÚµå ÆùÆ®µéÀÌ X11¿ëÀ¸·Î »ç¿ë °¡´ÉÇÏ°Ô
µÇ¾úÀ¸¸ç, »ç¿ë °¡´ÉÇÑ ÆùÆ®ÀÇ ¼ö´Â ºü¸¥ ¼Óµµ·Î Áõ°¡ÇÏ°í ÀÖ´Ù.
- Markus KuhnÀº ¸¹Àº ´Ù¸¥ Áö¿øÀÚµé°ú ÇÔ²² X11°ú °ü·ÃÇÑ °ú°ÅÀÇ -misc-FIXED-*-Iso8859-1 ÆùÆ®µéÀ» ¸ðµç À¯·´ ¹®ÀÚµé(¶óƾ¾î, ±×¸®
½º¾î, Å°¸±¾î, ±¹Á¦ÀûÀΠǥÀ½ ¹®ÀÚ, ¼öÇÐ ¹× ±â¼ú ºÎÈ£¿Í ¾Æ¸£¸Þ´Ï¾Æ¾î, ±×
·çÁö¾Æ¾î, īŸī³ª, ű¹¾î, ±×¿ÜÀÇ ´Ù¸¥ ¹®ÀÚ¿Í °°Àº ¸î¸î ÆùÆ®µé¿¡¼ »ç
¿ëÇÏ´Â)À» Áö¿øÇÏ´Â ¸ñ·Ï À϶÷À¸·Î È®Àå½ÃÄ×´Ù. ´õ ¸¹Àº Á¤º¸¸¦ ¾òÀ¸·Á¸é
X11À» À§ÇÑ À¯´Ï ÄÚµå ÆùÆ®¿Í Åø ÆäÀÌÁö¸¦ »ìÆ캸¶ó. ÀÌ·¯ÇÑ ÆùÆ®µéÀº ÇöÀç
XFree86 4.0.1 ȤÀº ±× ÀÌ»óÀÇ ¹öÀü°ú ÇÔ²² ¹è
Æ÷µÈ´Ù.
- Markus´Â ¶ÇÇÑ
X11R6.4 ¹èÆ÷ÆÇ ³»¿¡ Æ÷ÇÔµÈ ¸ðµç Adobe¿Í Bmp;H BDFÀÇ ÆùÆ®µéÀÇ ISO 10646-1 ¹öÀüÀ» ÁغñÇß´Ù. ÀÌ·¯ÇÑ ÆùÆ®µéÀº
ÀÌ¹Ì ¿ÏÀüÇÑ Æ÷½ºÆ®½ºÅ©¸³Æ® ÆùÆ®ÀÇ ¸ñ·Ï À϶÷(´ë·« 30°³ÀÇ ¹®ÀÚµéÀÌ Ãß°¡
µÇ¾úÀ¸¸ç ´ëºÎºÐ CP1252 MS-À©µµ¿ìÁî¿¡¼ ¶ÇÇÑ »ç¿ëµÈ´Ù. ¿¹¸¦ µé¸é, ±ò²û
ÇÑ ÀοëºÎÈ£¿Í ´ë½Ã ±âÈ£(-) µîÀÌ ÀÖ´Ù)À» Æ÷ÇÔÇÑ´Ù. ±×·¯³ª ÀÌ·¯ÇÑ °ÍµéÀº
ISO 8859-1 ÀÎÄÚµù ¾Æ·¡¿¡¼´Â »ç¿ëÇÒ ¼ö ¾ø¾ú´Ù. Áö±ÝÀº ISO 10646-1 ¹ö
Àü³»¿¡¼ ¸ðµÎ ¾×¼¼½º ÇÒ ¼ö ÀÖ´Ù.
- XFree86 4.0Àº ISO 10646-1 ÀÎÄÚµù¿¡¼ ¸ðµç ¾ÖÇÃ/¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ÆùÆ®
¸¦ X ¾îÇø®ÄÉÀ̼ǿ¡¼ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ´Â
ÅëÇÕµÈ Æ®·çŸÀÔ ÆùÆ® ¿£Áø°ú ÇÔ²² Á¦
°øµÈ´Ù.
- ¾ÕÀ¸·ÎÀÇ XFree86 ¸±¸®Áî´Â ¹èÆ÷ÆÇÀ¸·ÎºÎÅÍ °ú°ÅÀÇ BDF ÆùÆ®µéÀ» ´ëºÎ
ºÐ Á¦°ÅÇÏ°í ±×°ÍµéÀ» ISO 10646-1·Î ÀÎÄÚµùÇÑ ¹öÀüÀ¸·Î ´ëüµÉ °Í °°´Ù. X
¼¹ö´Â °ú°ÅÀÇ 8ºñÆ® ¼ÒÇÁÆ®¿þ¾î°¡ ¾î¶² ÆùÆ®¸¦ ¿äûÇÒ ¶§ À绡¸® ISO 106
46-1 ÆùÆ® ÆÄÀϷκÎÅÍ ISO 8859-*¿Í °°Àº ´Ù¸¥ ÆùÆ® ÀÎÄÚµùÀ» »ý¼ºÇÏ´Â ÀÚ
µ¿ ÀÎÄÚµù º¯È¯±â·Î È®ÀåµÉ °ÍÀÌ´Ù. Çö´ëÀÇ ¼ÒÇÁÆ®¿þ¾î´Â ISO 10646-1 ÆùÆ®
ÀÎÄÚµùÀ» ¿ÀÈ÷·Á Á÷Á¢ »ç¿ëÇؾ߸¸ ÇÑ´Ù.
-
ClearlyU (cu12)´Â
Mark Leisher°¡
¸¸µç 3700°³ ÀÌ»óÀÇ ¹®ÀÚµéÀ» °¡Áø X11À» À§ÇÑ 12°³ÀÇ Á¡°ú 100dpi(´ÜÀ§
ÀÎÄ¡´ç Á¡ÀÇ °³¼ö)¿¡ ºñ·ÊÇÏ´Â Å©±âÀÇ ¸Å¿ì À¯¿ëÇÑ ISO 10646-1 BDF ÆùÆ®ÀÌ
´Ù.(
À̹ÌÁö ¿¹ )
- NEW: Dmitry Yu. Bolkhovityanov´Â Åؽº
Æ® ¸ðµåÀÇ IBM PC ¿¡¹Ä·¹ÀÌÅÍ¿¡¼ »ç¿ëÇϱâ À§Çؼ BDF ÆÄÀÏ ¾È¿¡
À¯´ÏÄÚ µå VGA ÆùÆ®¸¦ ¸¸µé¾ú´Ù.
- Roman CzyborraÀÇ
GNU À¯´ÏÄÚ µå ÆùÆ® ÇÁ·ÎÁ§Æ®´Â ºñ »ó¿ë(free)ÀÇ ¿Ïº®ÇÑ 8×16/16×16 ÇÈ
¼¿ À¯´ÏÄÚµå ÆùÆ®¸¦ ¸ðÀ¸´Â ¿¬±¸¸¦ ÇÏ°í ÀÖ´Ù.
-
etl-unicode´Â
Primoz PeterlinÀÌ ÁغñÇÑ ISO 10646-1 BDF ÆùÆ®ÀÌ´Ù.
- George Williams´Â
Type1 À¯´ÏÄÚµå ÆùÆ® Æйи®¸¦ ¸¸µé¾ú´Âµ¥, ÀÌ°ÍÀº ¶ÇÇÑ
BDF¿¡¼µµ À¯¿ëÇÏ´Ù. ±×´Â ¶ÇÇÑ
PfaEdit Æ÷½ºÆ®½ºÅ©¸³Æ®¿Í ºñÆ®¸Ê ÆùÆ® ¿¡µðÅ͸¦ °³¹ßÇß´Ù.
À¯´ÏÄÚµå X11¿ë ÆùÆ®ÀÇ ¸íĪÀº -ISO10646-1
À̶ó´Â ´Ü¾î·Î
³¡³´Ù. ÀÌ°ÍÀº ÇöÀç ¸ðµç À¯´ÏÄÚµå¿Í ISO 10646-1 16ºñÆ® ÆùÆ®µéÀ» À§ÇÑ
X ³í¸® ÆùÆ® ±â¼úÀÚ(X Logical Font Descriptor: XLF D) ¿µ¿ª CHARSET_REGISTRY
¿Í CHARSET_ENCODING
À» À§ÇØ °ø½ÄÀûÀ¸·Î
µî·ÏµÈ °ªÀÌ´Ù. *-ISO10646-1
Æù
Æ®µéÀº Àüü À¯´ÏÄÚµå ¹®ÀÚ¼ÂÀÇ ¸í½ÃµÇÁö ¾ÊÀº ¸î¸î ¼ºê¼ÂÀ» Æ÷ÇÔÇÏ°í ÀÖ
´Ù. ±×¸®°í »ç¿ëÀÚµéÀº ±×µéÀÌ ¼±ÅÃÇÑ ÆùÆ®°¡ ¹«¾ùÀ̵çÁö °£¿¡ ÇÊ¿äÇÑ ¹®ÀÚ
µéÀÇ ¼ºê¼ÂÀ» Æ÷ÇÔÇÏ´ÂÁö È®ÀÎÇؾ߸¸ ÇÑ´Ù.
*-IS010646-1
ÆùÆ®µéÀº ÀϹÝÀûÀ¸·Î ÆùÆ®¿¡¼ À¯È¿ÇÏÁö ¾Ê
Àº ¾î¶² ¹®ÀÚ¸¦ ³ªÅ¸³»±â À§Çؼ À¯´ÏÄڵ尡 ¾Æ´Ñ(non-Unicode) Ưº°ÇÑ gly
phÀ» °¡¸®Å°´Â DEFAULT_CHAR
°ªÀ» ¸í½ÃÇÏ°í ÀÖ´Ù(ÀϹÝÀûÀ¸·Î
0x00¿¡ À§Ä¡ÇÏ°í H Å©±â¸¦ °®´Â ´ë½Ã(-)·Î ¿¬°áµÈ boxÀÌ´Ù). ÀÌ°ÍÀº »ç¿ëÀÚ
µéÀÌ Àû¾îµµ Áö¿øÇÏÁö ¾Ê´Â ¹®ÀÚ°¡ ÀÖ´Ù´Â °ÍÀ» ¸í¹éÇÏ°Ô ¾Ë¾ÆÂ÷¸± ¼ö ÀÖµµ
·Ï ÇÑ´Ù. xtermÀ» À§ÇÑ 6x13°ú °°Àº Å©±âÀÇ ÀÛÀº °íÁ¤-Æø ÆùÆ®µé(the small
er fixed-width fonts)Àº ¸ðµç À¯´ÏÄڵ带 Áö¿øÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù. ¿Ö³ÄÇÏ
¸é °£Áö(Kanji)¿Í °°Àº ¸¹Àº ¼Ã¼µé(scripts)Àº À¯·´Áö¿ª À¯ÀúµéÀÌ Æø³Ð°Ô
»ç¿ëÇÏ´Â Çȼ¿ »çÀÌÁî º¸´Ù ÈξÀ ´õ Å« Çȼ¿ »çÀÌÁî·Î ³ªÅ¸³»±â ¶§¹®ÀÌ´Ù.
À¯·´ÀÎÀÌ »ç¿ëÇϱâ À§ÇÑ ÀüÇüÀûÀÎ À¯´ÏÄÚµå ÆùÆ®µéÀº
CEN MES-3 ·¹ÆÛÅ丮¿Í
°°Àº ¿ÀÁ÷ 1000³»Áö 3000°¡Áö ¹®ÀÚµéÀÇ ¼ºê¼ÂÀ» Æ÷ÇÔÇÒ °ÍÀÌ´Ù.
¿©·¯ºÐµéÀº *-ISO10646-1 ÆùÆ®¿¡¼
ASCII ¹®ÀÚÀÇ ÀÎ¿ë ºÎÈ£ ÇüÅ°¡ Ç¥ÁØ ¶óÀÎ ¾È
¿¡ ÀÎ¿ë ºÎÈ£¸¦ ¹èÄ¡ÇÏ°í ´Ù¸¥ Ç÷§Æû¿¡¼µµ ½ÇÇàÇϱâ À§Çؼ ¾à°£ ¹Ù²î¾ú
´Ù´Â °ÍÀ» ¾Ë¾Æ Â÷¸± ¼ö ÀÖÀ» °ÍÀÌ´Ù.
VT100 Å͹̳Π¿¡¹Ä·¹ÀÌÅ͵éÀº ´Ù¸¥ ¹®ÀÚ¼Âµé »çÀ̸¦ ÀüȯÇϱâ À§Çؼ ISO 2022
(=
ECMA-35)
ESC ½ÃÄö½º¸¦ ¹Þ¾ÆµéÀδÙ.
UTF-8Àº ISO 2022ÀÇ °üÁ¡¿¡¼ º¸¸é "´Ù¸¥ ÄÚµù ½Ã½ºÅÛ(other coding system)"ÀÌ´Ù
(ECMA 35ÀÇ ¼½¼Ç 15.4¸¦ º¸¶ó). UTF-8Àº ISO 2022 SS2/SS3/G0/G1/
G2/G3ÀÌ ¼ÓÇÏ´Â ¼¼°èÀÇ ¿ÜºÎ¿¡ ÀÖ´Ù. ±×·¯¹Ç·Î ¸¸¾à ISO 2022¿¡¼ UTF-8·Î
ÀüȯÇϸé, ¸ðµç SS2/SS3/G0/G1/G2/G3 ¹®Àº UTF-8À» ¹þ¾î³ª ´Ù½Ã ISO 2022·Î
µ¹¾Æ°¡±â Àü±îÁö´Â Àǹ̸¦ ÀÒ°Ô µÈ´Ù. UTF-8Àº ±¹ÀûÀÌ ¾ø´Â ÀÎÄÚµùÀ̹ǷÎ,
½º½º·Î Á¾°á½ÃÅ°´Â(self-terminating) ªÀº ±æÀÌÀÇ ¹ÙÀÌÆ®¸¦ °®´Â ½ÃÄö½º(
short byte sequence)´Â ÀüȯÇÏ´Â ¹®Àå°ú´Â µ¶¸³ÀûÀ¸·Î ¾î¶² ¹®ÀÚ°¡ Àǹ̰¡
ÀÖ´ÂÁö¸¦ ¿Ïº®ÇÏ°Ô ÆÇÁ¤ÇÑ´Ù. ISO 10646-1 ¾ÈÀÇ G0¿Í G1Àº ISO 8859-1ÀÇ
±×°Íµé°ú °°´Ù. ±×¸®°í G2/G3´Â ISO 10646 ³»¿¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù. ¿Ö³ÄÇϸé
¸ðµç ¹®ÀÚ´Â °íÁ¤µÈ À§Ä¡¸¦ °¡Áö¸ç ¾î¶²ÇÑ º¯°æµµ ÀϾÁö ¾Ê±â ¶§¹®ÀÌ´Ù
. ¿ì¿¬È÷ ¹ÙÀ̳ʸ® ÆÄÀÏÀ» Å͹̳ο¡ ´ýÇÁÇÑ ÈÄ¿¡ Å͹̳ÎÀÌ ÀÌ»óÇÑ ±×·¡ÇÈ-
¹®ÀÚ ¸ðµå·Î ÀüȯµÈ ä ³²¾ÆÀÖ´Â °ÍÀº UTF-8¿¡¼´Â °¡´ÉÇÏÁö ¾Ê´Ù. ÀÌ°ÍÀº
UTF-8 ¸ðµå¿¡ ÀÖ´Â ¾î¶² Å͹̳ÎÀ» ISO 2022 ¸ðµå À϶§º¸´Ù ÈξÀ ´õ °·ÂÇÏ
°Ô µ¿ÀÛÇϵµ·Ï ÇÑ´Ù. ±×·¯¹Ç·Î Å͹̳ÎÀÌ ¿ì¿¬È÷ ISO 2022 ¸ðµå·Î µ¹¾Æ°¥ ¼ö
¾øµµ·Ï ±×°ÍÀ» UTF-8 ¸ðµå·Î °íÁ¤½ÃÄÑ ³õ´Â °ÍÀÌ È¿°úÀûÀÌ´Ù.
ISO 2022 Ç¥ÁØÀº ISO 2022 ¸ðµå¿¡¼ ¹þ¾î³ª±â À§ÇÑ À̽ºÄÉÀÌÇÁ ¹®ÀÚ %ÀÇ
½ÃÄö½º ¹üÀ§¸¦ ¸í½ÃÇÏ°í ÀÖ´Ù(´Ù¸¥ ÄÚµù ½Ã½ºÅÛ ÁöÁ¤, DOCS). ±×¸®°í ±×·¯
ÇÑ ¼ö¸¹Àº ½ÃÄö½ºµéÀº
UTF-8À» À§Çؼ
ISO 2375 ¹®ÀÚ ÄÚµå ¼Â ±¹Á¦ µî·ÏºÎ(I nternational Register of Coded Character Sets)ÀÇ ¼½¼Ç 2.8¿¡ µî·ÏµÇ
¾ú´Ù.
ESC %G
´Â ISO 2022·Î ´Ù½Ã µ¹¾Æ°¡µµ·Ï ÇÏ´Â ¹æ½ÄÀ¸·Î ISO
2022¿¡ ¸í½ÃµÇÁö ¾ÊÀº ±¸Çö ·¹º§·Î UTF-8À» È°¼ºÈ½ÃŲ´Ù.
ESC %@
´Â ESC %G
¸¦ °ÅÃļ UTF-8·Î µé¾î°£
°æ¿ì¿¡ UTF-8¿¡¼ ISO 2022·Î µÇµ¹¾Æ°¡°Ô ÇÑ´Ù.
ESC %/G
´Â UTF-8ÀÇ ·¹º§ 1À¸·Î ¹Ýȯ°ª ¾øÀÌ Àüȯ½ÃŲ´Ù.
ESC %/H
´Â UTF-8ÀÇ ·¹º§ 2À¸·Î ¹Ýȯ°ª ¾øÀÌ Àüȯ½ÃŲ´Ù.
ESC %/I
´Â UTF-8ÀÇ ·¹º§ 3À¸·Î ¹Ýȯ°ª ¾øÀÌ Àüȯ½ÃŲ´Ù.
Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ°¡ UTF-8 ¸ðµå¿¡ ÀÖ´Â µ¿¾È¿¡ G2/G3·Î Àüȯ½ÃÅ°´Â ÀÌ
½ºÄÉÀÌÇÁ ½ÃÄö½º¿Í °°Àº ¸ðµç ISO 2022 À̽ºÄÉÀÌÇÁ ½ÃÄö½º´Â ¹«½ÃµÈ´Ù. UTF
-8 ¸ðµå¿¡¼ µ¿ÀÛÇÏ´Â Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ »óÀÇ À¯ÀÏÇÑ ISO 2022 ½ÃÄö½º´Â,
UTF-8¿¡¼ ISO 2022 ü°è·Î ´Ù½Ã Àüȯ½ÃÅ°´Â ESC %@
ÀÌ´Ù.
ºñ·Ï UTF-8 ¸ðµå°¡ 0x80¿¡¼ 0x9F±îÁöÀÇ ¹üÀ§¸¦ °®´Â ¹ÙÀÌÆ® °ø°£À» »ç
¿ëÇÏÁö¸¸, ¿©ÀüÈ÷ CSI¿Í °°Àº C1 Á¦¾î ¹®ÀÚµéÀ» »ç¿ëÇÏ´Â °ÍÀ» Çã¿ëÇÑ´Ù. UTF-8
¸ðµå¿¡ ÀÖ´Â Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ´Â ¾î¶² Á¦¾î ¹®ÀÚ¸¦ Çؼ®Çϱâ
Àü¿¡ UTF-8 µðÄÚ´õ¸¦ ÀԷµǴ ¹ÙÀÌÆ® ½ºÆ®¸²¿¡ Àû¿ëÇؾ߸¸ ÇÑ´Ù
´Â °ÍÀ» ÀÌÇØÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù. C1 ¹®ÀÚµéÀº U+007F¸¦ ³Ñ´Â ´Ù¸¥ ¹®ÀÚµé
ó·³ UTF-8 ¸ðµå·Î µðÄÚµùµÈ´Ù.
- XFree86 4.0 ȤÀº ±× ÀÌ»óÀÇ ¹öÀü°ú ÇÔ²² »ç¿ëµÇ´Â
xterm("
./configure --enable-
wide-chars; make
" ¸í·ÉÀ¸·Î ÄÄÆÄÀÏÇÏ°í xtermÀ» ½ÇÇàÇÒ ¶§ ¸í·É ¶ó
ÀÎ ¿É¼Ç -u8
À» »ç¿ëÇ϶ó).
- NEW:
Yudit 2.0˼
Gaspar Sinai°¡ °³¹ßÇÑ ºñ »ó¿ë X11 À¯´ÏÄÚµå ¿¡µðÅÍÀÌ´Ù.
-
Thomas Wolff°¡
°³¹ßÇÑ
Mined 9 8Àº UTF-8 »ç¿ëÀÌ °¡´ÉÇÑ ÅؽºÆ® ¿¡µðÅÍÀÌ´Ù.
-
Cooledit´Â 3.15.0¹öÀü ÀÌÈÄ·Î UT
F-8°ú UCS¸¦ Áö¿øÇÑ´Ù.
- NEW:
QEmacs´Â UTF-8 Å͹̳ο¡¼ »ç¿ëÇϱâ À§ÇÑ ÀÛÀº ¿¡
µðÅÍÀÌ´Ù.
- 346¹öÀü ÀÌÈÄÀÇ
less ´Â UTF-8À» Áö¿øÇÑ´Ù.
-
C-Kermit 7.0 Àº Àü¼Û(transfer), Å͹̳Π¹× ÆÄÀÏ ¹®Àڼ¿¡ °üÇØ UTF-8À» Áö¿øÇÑ´Ù.
-
PerlÀº "use utf8;" ¿É¼ÇÀ¸·Î ¿ä
ûÇßÀ» °æ¿ì¿¡ ¹öÀü 5.6ºÎÅÍ ¸î¸î
ÇÙ½ÉÀûÀÎ UTF-8À» Áö¿ø(core UTF-8 support)ÇÑ´Ù. ÀÌ°ÍÀº ¹®ÀÚ
¿ÀÌ UTF-8·Î ÀúÀåµÇ°í(±×¸®°í UTF-8·Î ű×È µÇ¸ç) length() ÇÔ¼ö°¡ ¹ÙÀÌ
Æ® ¼ö ´ë½Å¿¡ ¹®ÀÚµéÀ» ¹ÝȯÇÔÀ» ÀǹÌÇÑ´Ù. UTF-8 Áö¿øÀ» °ÈÇϱâ À§ÇÑ ¸¹
Àº ¿¬±¸µéÀÌ Áö±Ý ¼ø°£¿¡µµ ¿©ÀüÈ÷ ÁøÇà ÁßÀÌ´Ù(
perl-unicode@perl.org ¸ÞÀϸµ ¸®½ºÆ®¸¦ º¸¶ó). »ç
¿ë °¡´ÉÇÑ ±â´É°ú Á¦ÇѵǴ ±â´ÉÀ» º¸·Á¸é
perldoc perlunicode
¿Í perldoc utf8
À» Àо¶ó.
-
Python 1.6Àº ÇöÀç
À¯´ÏÄÚµå Áö¿øÀ» ¿Ï¼ºÇÏ°í ÀÖ´Ù.
-
Tcl/Tk´Â ¹öÀü 8.1ºÎÅÍ
À¯´ÏÄڵ带 ±âº» ¹®ÀÚ¼ÂÀ¸·Î »ç¿ëÇÏ¿© °¡µ¿µÈ´Ù. ±×·¯³ª ºÒÇàÇÏ°Ôµµ TkÀÇ ÆùÆ® ó¸® ÄÚµå
¿¡´Â ¿©ÀüÈ÷
¹ö±×°¡ ÀÖ¾î¼ 16ºñÆ® *-iso10646-1 ÆùÆ®¸¦ À¯´ÏÄÚµå ¹®ÀÚ¿À» µð
½ºÇ÷¹ÀÌÇϱâ À§Çؼ »ç¿ëÇÒ ¼ö ¾ø´Ù.
-
Exmh´Â MH ¸ÞÀÏ ½Ã½ºÅÛÀ»
À§ÇÑ GUI ÇÁ·±Æ®¿£µåÀÌ¸ç ¸¸¾à Tcl/Tk 8.1 ÀÌ»ó ¹öÀü¿¡¼ »ç¿ëµÇ´Â °æ¿ì ¹ö
Àü 2.1.1 ÀÌÈĺÎÅÍ À¯´ÏÄڵ带 Áö¿øÇÑ´Ù.
- 2000-03-06 ¸±¸®Áî ÀÌÈĺÎÅÍ
CLISP´Â UTF-8À» Æ÷ÇÔÇÑ ¸ðµç ¸ÖƼ-¹ÙÀÌÆ® ÀÎÄÚµù°ú
wcwidth()
¹× wcswidth()
ÇÔ¼ö¿Í ºñ±³ÇÒ ¸¸ÇÑ API¸¦ °¡Áø char-wid
th
¹× string-width
ÇÔ¼ö¿Í ÇÔ²² µ¿ÀÛÇÒ ¼ö ÀÖ´Ù.
-
SamÀº vi¶û ºñ½ÁÇÑ Plan9 UTF-8 ¿¡µðÅÍÀ̸ç, ¸®´ª½º¿Í Win32¿¡¼ »ç¿ëÇÒ
¼ö ÀÖ´Ù.(
Plan9˼
¹®ÀÚ ÀÎÄÚµùÀ¸·Î½á UTF-8·Î ¿Ïº®ÇÏ°Ô ÀüȯµÇ´Â(switchedc ompletely to UTF-8 as its character encoding) ÃÖÃÊÀÇ ¿î¿µÃ¼Á¦¿´´Ù)
-
Matty Farrow°¡
°³¹ßÇÑ
9term
Àº Plan9 ¿î¿µÃ¼Á¦ÀÇ À¯´ÏÄÚµå/UTF-8¿ë Å͹̳Π¿¡¹Ä·¹ÀÌÅÍÀÇ À¯´Ð½º Æ÷Æ®ÀÇ
ÀÏÁ¾ÀÌ´Ù.
-
Wily
´Â Plan9ÀÇ Acme ¿¡µðÅ͸¦ À¯´Ð½º¿ëÀ¸·Î ±¸ÇöÇÑ °ÍÀÌ´Ù.
-
ucm-0.1˼
Juliusz ChroboczekJuliu
sz ChroboczekÀÌ °³¹ßÇÑ À¯´ÏÄÚµå ¹®ÀÚ ÁöµµÀÌ´Ù. ÀÌ°ÍÀº À¯´ÏÄÚµå ¹®ÀÚ¸¦
¼±ÅÃÇÏ°í ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ºÙ¿©³ÖÀ» ¼ö ÀÖ°Ô ÇÏ´Â ÀÛÀº µµ±¸ÀÌ´Ù.
-
Serge Winitzki
°¡ °³¹ßÇÑ
txtbdf2ps´Â BDF Çȼ¿ ÆùÆ®µéÀ» »ç¿ëÇÏ¿© UTF-8 plaintext¸¦ Æ÷½ºÆ®½º
Å©¸³Æ®·Î Ãâ·ÂÇÏ´Â ÀÏÁ¾ÀÇ Perl ½ºÅ©¸³Æ®ÀÌ´Ù.
-
FIGlet 2.2 ¶Ç´Â ±× ÀÌÈÄÀÇ ¹öÀüÀº ºí·Ï ±×·¡ÇÈ ¿ä¼Ò(block graphics
elements)·Î½á ¸ð³ë½ºÆäÀ̽º ¹®ÀÚ(monospaced characters)¸¦ »ç¿ëÇÏ¿© Å« ±ÛÀÚ·Î ¹è
³Ê ÅؽºÆ®(banner text)¸¦ Ãâ·ÂÇÏ´Â µµ±¸ÀÇ ÀÏÁ¾ÀÌ´Ù.
-
Edmund Grimley Evans´Â UCS ÆùÆ®
Áö¿øÀ» »ç¿ëÇÏ¿©
BOGL
¸®´ª½º ÇÁ·¹ÀÓ¹öÅÍ ±×·¡ÇÈÀ» È®ÀåÇÏ¿´´Ù. ¶ÇÇÑ UCS ÆùÆ® Áö¿øÀ» ÀÌ¿ëÇÏ¿©
bterm
À̶ó ºÒ¸®´Â °£´ÜÇÑ UTF-8 ÄÜ¼Ö Å͹̳Π¿¡¹Ä·¹ÀÌÅ͸¦ Á¦
ÀÛÇÏ¿´´Ù.
-
Bruno HaibleÀº stty¿Í
¸®´ª½º Ä¿³Î tty ¹× groff µîÀ» À§ÇÑ
¿©·¯°¡Áö ÆÐÄ¡¸¦ ÁغñÇß´Ù.
- Miyashita Hisashi´Â Emacs 20.6°ú ±× ÀÌ»óÀÇ ¹öÀüÀ» À§ÇÑ ¹®Àڼ º¯¿ª
ÆÐÅ°ÁöÀÎ
MULE-UCS
¸¦ ÀÛ¼ºÇß´Ù. ÀÌ°ÍÀº Mule ÀÎÄÚµù(Emacs¿¡¼ ³»ºÎÀûÀ¸·Î »ç¿ëÇÏ´Â)°ú ISO 1
0646 »çÀ̸¦ Àüȯ½Ãų ¼ö ÀÖ´Ù.
- Otfried Cheong˼
GNU Emacs¸¦ À§ÇÑ À¯´ÏÄÚµå ÀÎÄÚµù ÆäÀÌÁö¿¡, ¶Ç´Ù¸¥ Emacs ¹®ÀÚ¼ÂÀ¸·Î
utf-8
À» µ¡ºÙÀÓÀ¸·Î½á ¸ðµç BMP¸¦ Áö¿øÇÏ´Â MULE-UCS¿¡ ´ëÇÑ ÀÏ
Á¾ÀÇ È®Àå±â´ÉÀ» Á¦°øÇÑ´Ù. ±×°¡ ¸¸µç ÆäÀÌÁö´Â ¶ÇÇÑ MULE-UCS¸¦ À§ÇÑ ÂªÀº
¼³Ä¡ ¾È³»¼¸¦ Æ÷ÇÔÇÑ´Ù.
- Tomohiko Morioka´Â
UTF-8 xemacs¸¦ À§ÇÑ ÆÐÄ¡¸¦ ³»³õ¾Ò´Ù.
-
Edmund Grimley Evans´Â À̸ÞÀÏ
ÇÁ·Î±×·¥ÀÎ Mutt¿Í curses libraryÀÇ ÀÏÁ¾ÀÎ SlangÀ» À§ÇÑ UTF-8
ÆÐÄ¡¸¦ ÁغñÇß´Ù.
- NEW: Ulrich Drepper°¡ °³¹ßÇÑ
GNU C ¶óÀ̺귯¸® glibc 2.2.1
Àº UTF-8À» À§ÇÑ ¿Ïº®ÇÑ ¸ÖƼ-¹ÙÀÌÆ® ·ÎÄÉÀÏÀ» Áö¿øÇϱâ À§Çؼ À¯´ÏÄÚµå
Á¤·Ä ¼ø¼ ¾Ë°í¸®Áò(sorting order algorithm)À» Æ÷ÇÔÇϸç, ÀÌ°ÍÀº ´Ù¸¥ ¸¹
Àº ÀÎÄÚµùÀ¸·Î ´Ù½Ã ÄÚµùÇÒ ¼ö ÀÖ´Ù. ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷ÆǵéÀº °¡±î¿î
¹Ì·¡¿¡ glibc 2.2.1À» ¾÷±×·¹À̵åÇÒ °ÍÀ¸·Î ¿¹»óµÇÁö¸¸, °æÇè ¸¹Àº ¸®´ª½º
»ç¿ëÀÚµéÀº
glibc 2.2.1 ¼Ò½º¸¦ Á÷Á¢ ¼³Ä¡ÇÏ·Á°í ½ÃµµÇÒ ¼ö ÀÖ´Ù(ÀÌ·± ¹æ¹ýÀº ´Ù·ç
±â°¡ ¾î·Æ°í À§ÇèÇÏ´Ù). Bruno HaibleÀÇ
glibc 2.2 ¼³Ä¡ Áöħ¼ »Ó¸¸ ¾Æ´Ï¶ó Çö
Àç ÁøÇà ÁßÀÎ °³¹ß »óȲ¿¡ ´ëÇÑ UlrichÀÇ
TODO list¿Í CVS ¾ÆÄ«À̺긦 º¸µµ·Ï Ç϶ó.
-
À¯´ÏÄڵ带 À§ÇÑ ±¹Á¦ ÄÄ Æ÷³ÍÆ®.
-
Mark LeisherÀÇ wchar_
t Áö¿ø Å×½ºÆ® ÄÚµå(
wchar_t support test code) ¹× UCData À¯
´ÏÄÚµå ¹®ÀÚ ¼Ó¼º(UCData Unicode character property)°ú bidi ¶óÀ̺귯¸®
-
Bruno HaibleÀÇ
libiconv ¹®Àڼ º¯È¯ ¶óÀ̺귯¸®´Â ÀÏÁ¾ÀÇ
iconv()±¸Çö ÇÔ¼ö¸¦ Á¦°øÇϴµ¥ ÀÌ°ÍÀº ±¸Çö ÇÔ¼ö¸¦ Çϳªµµ °¡Áö°í ÀÖÁö ¾Ê°Å³ª ÇÔ¼ö·Î ±¸ÇöÇصµ À¯´ÏÄÚµå·ÎºÎÅÍ È¤Àº À¯´ÏÄÚµå·Î ÀüȯµÇÁö ¾Ê´Â ½Ã½ºÅÛÀ» À§ÇÑ °ÍÀÌ´Ù.
-
Bruno HaibleÀÇ libutf8Àº UTF-8 ¹®ÀÚ¿À» ó¸®Çϱâ À§ÇÑ, ƯÈ÷ ¾ÆÁ÷ ÀûÀý
ÇÑ UTF-8 ·ÎÄÉÀÏÀ» Á¦°øÇÏÁö ¾Ê´Â Ç÷§ÆûÀ» À§ÇÑ ¿©·¯°¡Áö ÇÔ¼öµéÀ» Á¦°øÇÑ´Ù.
-
Tom TromeyÀÇ
libunicode ¶óÀ̺귯¸®´Â Gnome µ¥½ºÅ©Å¾ ÇÁ·ÎÁ§Æ®ÀÇ ÀÏȯÀÌÁö¸¸, G
nome°ú »ó°ü¾øÀÌ ºôµåÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ¿©·¯°¡Áö ¹®ÀÚ Å¬·¡½º¿Í º¯È¯ ÇÔ
¼ö¸¦ Á¦°øÇÑ´Ù.(
VS)
-
FriBidi´Â Unicode bidi ¾Ë°í¸®ÁòÀ» ºñ »ó¿ëÀ¸·Î ±¸ÇöÇÑ °ÍÀ̸ç Dov Grobgeld
°¡ °³¹ßÇß´Ù.
-
ArabjoinÀº ¾Æ¶ø ¹®ÀÚ¿ë
UTF-8 ÅؽºÆ®(Áö¿ª ¼ø¼·Î´Â U+06
xx
¾Æ¶ø¾î ºí·Ï¿¡ ÀÎÄÚµùµÈ´Ù
)¸¦ ÀÔ·ÂÀ¸·Î ¹Þ¾ÆµéÀÌ°í, ¾Æ¶ø¾î glyph Á¶ÇÕÀ» ½ÇÇàÇϸç, ´«¿¡ º¸ÀÌ´Â ¼ø
¼´ë·Î Á¤·ÄµÇ´Â 8ºñÆ® ¹è¼öÀÇ UTF-8 ½ºÆ®¸²À» Ãâ·ÂÇÏ´Â Roman Cryborra°¡
¸¸µç ÀÛÀº Perl µµ±¸ÀÌ´Ù. ÀÌ°ÍÀº ¾Æ¶ø ¹®ÀÚ¸¦ ´Ù¸£°Ô Ãë±ÞÇÏ´Â °ÍÀÌ ¾Æ´Ï
¶ó ´Ü¼øÈ÷ ¸ðµç glyphÀ» ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊ ¼øÀ¸·Î Ãâ·ÂÇÏ´Â xterm ȤÀº yudi
t¿Í °°Àº °£´ÜÇÑ À¯´ÏÄÚµå ·»´õ¸µ µµ±¸(renderer)·Î Æ÷¸ËÇßÀ» ¶§ ÀÐÀ» ¼ö ÀÖ´Â °á°ú¸¦ º¸¿©ÁØ´Ù.
- NEW:
Charlint´Â
W3C ¹®ÀÚ ¸ðµ¨À» À§ÇÑ ¹®ÀÚ Ç¥ÁØÈ µµ±¸ÀÌ´Ù.
-
Markus KuhnÀÇ ºñ »ó¿ë wcwidth() ±¸Çö ÇÔ¼ö
´Â, C ¶óÀ̺귯¸®¿¡¼ ¾î¶² ¹®ÀÚ³ª ¹®ÀÚ¿ÀÌ UTF-8 Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ ½ºÅ©¸°¿¡¼ ¾ó¸¶³ª ¸¹Àº ¿(column) À§Ä¡¸¦ Â÷ÁöÇÏ°í ÀÖ´ÂÁö ¾Ë¾Æ³»±â À§ÇÑ
ÇÔ¼ö°¡ Á¦°øµÇÁö ¾Ê´Â Ç÷§Æû»óÀÇ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
- Markus KuhnÀÇ
º¯È¯ÅÇ(transtab)
Àº À¯´ÏÄڵ忡¼ ASCII³ª ¸î¸î 8ºñÆ® ¹®ÀÚ¼ÂÀ¸·Î º¯È¯Çϱâ Èûµç ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇÑ ¹®ÀÚ º¯È¯ Å×À̺íÀÌ´Ù. ÀÌ°ÍÀº À¯´ÏÄÚµå ¹®ÀÚµéÀ» À§ÇÑ Ä¡È¯
¹®ÀÚ¿¿¡ °üÇÑ ±¤¹üÀ§ÇÑ ¸ñ·ÏÀ» Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç »ç¿ëºÒ°¡´ÉÇÑ ¹®ÀÚµéÀ» ³ªÅ¸³»±â À§Çؼ »ç¶÷µéÀÌ À̸ÞÀÏÀ̳ª ŸÀڱ⿡¼ »ç¿ëÇÏ´Â ´ëü Ç¥±â¹ý(fa
llback notation)°ú ºñ½ÁÇÏ´Ù. ±× Å×À̺íÀº POSIX ·ÎÄÉÀÏ Á¤ÀÇ ÆÄÀÏ(POSIX
locale definition file)¿¡ Æ÷ÇÔ½ÃÅ°±â À§Çؼ
ISO/IEC TR 14652>ISO/IEC TR 14652 Æ÷¸ËÀ¸·Î µÇ¾î ÀÖ´Ù. </itemize> <!-- Á¦ 20 ÀåÀÇ ½ÃÀÛ --> <sect>¿©·¯°¡Áö X À§Á¬ ¶óÀ̺귯¸®¸¦ À§ÇÑ À¯´ÏÄÚµå Áö¿øÀÇ ÇöÀç »óȲÀº ¾î¶°ÇÑ°¡? <p> <itemize> <item><url url= name="Pango - Unicode and Complex Text P
rocessing">˼
GTK+¿¡ ¿Ïº®ÇÑ Æ¯¼ºÀ»
°®´Â À¯´ÏÄÚµå Áö¿øÀ» Ãß°¡Çϱâ À§ÇÑ ÇÁ·ÎÁ§Æ®ÀÇ ÀÏȯÀÌ´Ù.
-
Qt 2.0Àº Çö
Àç *-ISO10646-1 ÆùÆ® »ç¿ëÀ» Áö¿øÇÏ°í ÀÖ´Ù.
- NEW: °íÀüÀûÀÎ vi ¿¡µðÅÍÀÇ ÀαâÀִ Ŭ·ÐÀÎ
VimÀÇ ÃÖ½Å
¾ËÆÄ Å×½ºÆ® ¹öÀü 6.0s´Â ÇöÀç ¿ÍÀÌµå ¹®ÀÚ¿Í 2°³±îÁöÀÇ °áÇÕ ¹®ÀÚ¸¦ Áö¿øÇÔ°ú
µ¿½Ã¿¡ UTF-8À» Áö¿øÇÑ´Ù. ÀÚ¼¼ÇÑ °ÍÀº Bram MoolenaarÀÇ
announcement
¸¦ Àо¶ó.
Solaris 2.8¹öÀüºÎÅÍ ±× ÀÌÈÄ·Î UTF-8Àº Àû¾îµµ ºÎºÐÀûÀ¸·Î Áö¿øµÈ´Ù. UTF-8À» »ç
¿ëÇϱâ À§Çؼ´Â UTF-8 ·ÎÄÉÀÏ Áß Çϳª¸¦ ¼³Á¤Ç϶ó. ¿¹¸¦ µé¸é ´ÙÀ½°ú °°ÀÌ C ½©¿¡¼
ÀÔ·ÂÇÑ´Ù.
setenv LANG en_US.UTF-8
ÇöÀç UTF-8 ÅؽºÆ®¸¦ ÀÔ·Â ¹× Ãâ·ÂÇϱâ À§Çؼ dtterm
Å͹̳Π¿¡¹Ä·¹ÀÌÅ͸¦
»ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, mp
print filter´Â Æ÷½ºÆ®½ºÅ©¸³Æ® ÇÁ¸°ÅÍ¿¡¼
UTF-8 ÆÄÀÏÀ» Ãâ·ÂÇÒ °ÍÀÌ´Ù. en_US.UTF-8
·ÎÄÉÀÏÀº Áö±ÝÀ¸·Î½á´Â Motif¿Í
CDE µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀÌ¼Ç ¹× ¶óÀ̺귯¸®¿¡ ÀÇÇؼ Áö¿øµÇÁö¸¸, OpenWindows,
XView ¹× OPENLOOK DeskSet ¾ÖÇø®ÄÉÀ̼ǰú ¶óÀ̺귯¸®¿¡ ÀÇÇؼ´Â Áö¿øµÇÁö ¾Ê´Â´Ù.
´õ ¸¹Àº Á¤º¸¸¦ ¿øÇÑ´Ù¸é, en_US.UTF-8 ·ÎÄÉÀÏ Áö¿ø À¥ ÆäÀÌÁöÀÇ Sun's
Overview¸¦ Àо¶ó.
Adobeȍ˂
Unicode and Glyph Names °¡À̵带 Àо¶ó.
40000°³ÀÇ ¹®ÀÚ¸¦ °¡Áö´Â À¯´ÏÄڵ带 ¿Ïº®ÇÏ°Ô ±¸ÇöÇÏ´Â °ÍÀº °Å´ëÇÑ ÇÁ·ÎÁ§Æ®ÀÌ´Ù
. ±×·¯³ª Àü°ú °°ÀÌ ´ÜÁö ¼ö¹é ¶Ç´Â ¼öõ ¹®ÀÚ¸¦ ±¸ÇöÇÏ´Â °Í°ú À¯´ÏÄÚµåȸ¦ °ÅÄ£ ´Ü
¼øÇÑ ÇϳªÀÇ ÀÎÄÚµù¼Ó¿¡¼ ¸ðµç ÇÊ¿äÇÑ ¹®ÀÚ¿¡ Á¢±ÙÇÏ´Â ´Ü¼øÇÔÀ» Áñ±â´Â °Íµµ Á¾Á¾
Áß¿äÇÏ´Ù(ƯÈ÷ À¯·´ ½ÃÀåÀ» À§Çؼ). ¼ö¸¹Àº ´Ù¸¥ UCS ¼ºê¼ÂµéÀº ÀÌ¹Ì È®¸³µÇ¾ú´Ù.
-
Windows Glyph List 4.0 (WGL4)´Â 8ºñÆ® MS-DOS, Windows, Mac ¹×
¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡ ¿¹Àü¿¡ »ç¿ëÇÑ ÀûÀÌ ÀÖ´Â ISO ÄÚµå ÆäÀÌÁö¸¦ ¸ðµÎ Áö¿øÇÏ´Â 650
¹®ÀÚ·Î ±¸¼ºµÈ ¼ÂÀÌ´Ù. ¸ðµç Windows ÆùÆ®´Â ÇöÀç Àû¾îµµ WGL4 Àü ¸ñ·ÏÀ» Æ÷ÇÔÇÑ´Ù.
WGL4´Â CEN MES-1(
=
WGL4 Å×½ºÆ® ÆÄÀÏ">)À» ¸ðµÎ Æ÷ÇÔÇÏ´Â ¼ÂÀÌ´Ù.
- ¼¼°¡Áö
À¯·´¿ë UCS ¼ºê¼Â MES-1, MES-2 ¹× MES-3Àº À¯·´ Ç¥ÁØ À§¿øȸ CEN/TC304¿¡
ÀÇÇؼ CWA 13873 ¾È¿¡ Á¤ÀÇ µÇ¾ú´Ù.
- MES-1Àº ´ÜÁö 335°¡Áö ¹®ÀÚ¸¦ °®´Â ¸Å¿ì ÀÛÀº ¶óƾ¾î ÇÏÀ§ ¹®ÀÚ¼ÂÀÌ´Ù.
ÀÌ°ÍÀº Á¤È®ÇÏ°Ô ISO 6937¿¡¼ º¼ ¼ö ÀÖ´Â ¸ðµç ¹®ÀÚ¿Í ÀÌ¿¡ ´õÇÑ EURO SIGNÀ»
Æ÷ÇÔÇÑ´Ù. ÀÌ°ÍÀº ISO 8859ÀÇ 1,2,3,4,9,10,15 ºÎºÐÀÇ ¸ðµç ¹®ÀÚ¸¦ MES-1ÀÌ
Æ÷ÇÔÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÁÖÀÇ: ¸¸¾à ¿©·¯ºÐÀÇ ¸ñÀûÀÌ ´ÜÁö °¡Àå ºñ¿ëÀÌ Àû°Ô
µé°í °£´ÜÇÑ ÇÕ¸®ÀûÀÎ Áß¾Ó À¯·´¿ë UCS ÇÏÀ§ ¹®ÀÚ¼ÂÀ» Á¦°øÇÏ´Â °ÍÀ̶ó¸é, ³ª´Â
MES-1¿¡ MES-1¿¡´Â ¾ø´Â Windows ÄÚµå ÆäÀÌÁö 1252ÂÊ¿¡¼ º¼ ¼ö ÀÖ´Â ´ÙÀ½ÀÇ Áß¿äÇÑ
14°³ÀÇ ºÎ°¡ ¹®ÀÚµéÀ» ´õÇؼ ±¸ÇöÇÒ °ÍÀÌ´Ù: U+0192, U+02C6, U+02DC, U+2013,
U+2014, U+201A, U+201E, U+2020, U+2021, U+2022, U+2026, U+2030, U+2039, U+203A.]
- MES-2´Â 1052°³ÀÇ ¹®ÀÚµéÀ» °¡Áø ¶óƾ¾î/±×¸®½º¾î/Å°¸±¾î/¹Ì±¹¾î/±×·çÁö¾Æ¾î¸¦
À§ÇÑ ÇÏÀ§ ¹®ÀÚ¼ÂÀÌ´Ù. ÀÌ°ÍÀº À¯·´(´ÜÁö EU ±¹°¡µé¸¸ÀÌ ¾Æ´Ñ)°ú À¯·´ÀÇ ¾ð¾î¸¦
»ç¿ëÇÏ´Â ³ª¶ó¿¡¼ »ç¿ëµÇ´Â ¸ðµç ¾ð¾î¿Í ¸ðµç 8ºñÆ® ÄÚµå ÆäÀÌÁö¸¦ Æ÷ÇÔÇÑ´Ù.
ÀÌ°ÍÀº ¶ÇÇÑ ±â¼ú ¹®¼¿¡¼ »ç¿ëÇÏ´Â ÀûÀº ·®ÀÇ ¼öÇÐ ±âÈ£¸¦ ´õ Æ÷ÇÔÇÏ°í ÀÖ´Ù.
MES-2´Â MES-1À» Æ÷ÇÔÇÏ´Â ¹®ÀÚ¼ÂÀÌ´Ù. ¸¸¾à ¿©·¯ºÐÀÌ ´ÜÁö À¯·´ ȤÀº ¼¹æ ½ÃÀåÀ»
À§Çؼ °³¹ßÇÏ°í ÀÖ´Ù¸é, MES-2´Â ÃßõÇÒ ¸¸ÇÑ ¹®ÀÚ¼ÂÀÌ´Ù. [ÁÖÀÇ: ¾û¶×ÇÑ
»çȸ-Á¤Ä¡Àû ÀÌÀ¯¶§¹®¿¡, MES-2¿¡¼ ´ÙÀ½ÀÇ 8°¡Áö WGL4¹®ÀÚµéÀº Æ÷ÇÔÇÏÁö ¾Ê°í ÀÖ´Ù:
U+2113, U+212E, U+2215, U+25A1, U+25AA, U+25AB, U+25CF, U+25E6. ¸¸¾à ´ç½ÅÀÌ
MES-2¸¦ ±¸ÇöÇÑ´Ù¸é, Àý´ëÀûÀ¸·Î ºüÁø 8°¡Áö WGL4¹®ÀÚµéÀ» Ãß°¡Çؾ߸¸Çϸç,
±×·± ÈÄ¿¡¾ß ¹®ÀÚ¼ÂÀ» WGL4¿Í ÀÏÄ¡½Ãų ¼ö ÀÖ´Ù.
- MES-3´Â 2819¹®ÀÚ¸¦ °®´Â ¸Å¿ì Æ÷°ýÀûÀÎ UCS ¼ºê¼ÂÀÌ´Ù. ÀÌ°ÍÀº ´Ü¼øÈ÷
À¯·´ »ç¿ëÀڵ鿡°Ô´Â ÀáÀç·ÂÀÌ ÀÖ´Â ¸Å¿ì À¯¿ëÇÑ UCS ¸ðÀ½(collection)À» ¸ðµÎ
Æ÷ÇÔÇÑ´Ù. ÀÌ°ÍÀº ´õ¿í´õ ¿Á¤ÀûÀÎ °³¹ßÀÚµéÀ» À§ÇÑ °ÍÀÌ´Ù. MES-3Àº MES-2¿Í
WGL4¸¦ Æ÷ÇÔÇÏ´Â ¹®ÀÚ¼ÂÀÌ´Ù.
JIS X 0221-1995´Â ÀϺ»¾î »ç¿ëÀÚµéÀ» À§ÇÑ 7°³ÀÇ °ãÄ¡Áö ¾Ê´Â UCS ¼ºê¼ÂÀ»
¸í½ÃÇÏ°í ÀÖ´Ù.
- ±âº»ÀûÀÎ ÀϺ»¾î(6884°³ ¹®ÀÚ): JIS X 0208-1997, JIS X 0201-1997
- ÀϺ»¾î ºñ-Ç¥ÀÇ ¹®ÀÚ(Non-ideographic) º¸¿Ï(1913°³ ¹®ÀÚ): JIS X 0212-1990
ºñ-°£Áö ¹®ÀÚ(non-kanji) ¹× ¿©·¯°¡Áö ´Ù¸¥ ºñ-°£Áö ¹®ÀÚ
- ÀϺ»¾î Ç¥ÀÇ ¹®ÀÚ º¸¿Ï 1(918°³ ¹®ÀÚ): ¸î¸î JIS X 0212-1990 °£Áö ¹®ÀÚ
- ÀϺ»¾î Ç¥ÀÇ ¹®ÀÚ º¸¿Ï 2(4883°³ ¹®ÀÚ): ³ª¸ÓÁö JIS X 0212-1990 °£Áö ¹®ÀÚ
- ÀϺ»¾î Ç¥ÀÇ ¹®ÀÚ º¸¿Ï 3(8745°³ ¹®ÀÚ): ³ª¸ÓÁö Áß±¹¾î ¹®ÀÚ
- ¿ÏÀüÇÑ ÆøÀ» °®´Â Alphanumeric(94°³ ¹®ÀÚ): ȣȯ¼ºÀ» À§Çؼ
- Àý¹ÝÀÇ ÆøÀ» °®´Â īŸī³ª ¹®ÀÚ(63°³ ¹®ÀÚ): ȣȯ¼ºÀ» À§Çؼ
ISO 10646 Ç¥ÁØÀº ±×°ÍÀÇ Àüü ¸ñ·ÏÀ», ¼ºê¼ÂÀ» Á¤ÀÇÇÏ°í ±â·ÏÇϱâ À§Çؼ
»ç¿ëÇÏ´Â ¼ö¸¹Àº
¹À½µé(collections)·Î ³ª´«´Ù. À¯´ÏÄڵ嵵
ºñ½ÁÇÏÁö¸¸, ¶È°°Áö´Â ¾ÊÀº À¯´ÏÄÚµå Ç¥ÁØÀÇ °¢ ¼½¼Ç¿¡ ´ëÀÀÇÏ´Â ¹®ÀÚµéÀÇ
ºí·Ï
(blocks of characters)À» Á¤ÀÇÇÏ°í ÀÖ´Ù.
RFC 1815´Â ISO 10646À» ¸í¹éÈ÷ ÁÁ¾ÆÇÏÁö ¾ÊÀ¸¸ç JIS X 0221-1995¸¦ Àß
¸ð¸£´Â ´©±º°¡¿¡ ÀÇÇؼ 1995³â¿¡ ¾²¿©Áø ÀÏÁ¾ÀÇ ¸Þ¸ðÀÌ´Ù. ±×°ÍÀº 14°³ÀÇ UCS
¹À½À¸·Î ±¸¼ºµÈ "ISO-10646-J-1"À̶ó°í ºÒ¸®´Â ¾î¶² UCS ¼ºê¼Â¿¡ °üÇØ ³íÀÇÇÏ°í
ÀÖÀ¸¸ç, 14°³ÀÇ UCS ¹À½ÀÇ ¸î¸îÀº JIS X 0208°ú ¾ù°¥¸°´Ù. ÀÌ°ÍÀº °ú°Å 1995³âÀÇ
ÀϺ»ÆÇ Windows NT ¹öÀü¿¡ Æ÷ÇÔµÈ ¾î¶² Ưº°ÇÑ ÆùÆ®°¡ ¿ì¿¬È÷ ¸¸µé¾îÁ³´Ù´Â °ÍÀÌ´Ù.
RFC 1815´Â ¿À´Ã³¯ ¿ÏÀüÈ÷ ½Ã´ë¿¡ µÚ¶³¾îÁ³À¸¸ç ÀûÀýÇÏÁö ¾ÊÀ¸¸ç, ¹«½ÃÇÏ´Â °ÍÀÌ
ÃÖ¼±ÀÌ´Ù.
Markus Kuhn˼
ucs-fonts.tar.gzÀÇ README ÆÄÀÏ¿¡¼ ¼¼°¡Áö UCS ¼ºê¼Â
TARGET1, TARGET2 ¹× TARGET3À» Á¤ÀÇÇÏ°í Àִµ¥ À̵éÀº ´ëÀÀÇÏ´Â MES ¼ºê¼ÂÀ»
¾Ë¸Â°Ô È®ÀåÇÑ °ÍÀ̸ç, xtermÀÇ ÆùÆ® ÆÐÅ°Áö¸¦ ¿Ï¼ºÇϱâ À§ÇÑ ±Ù°£ÀÌ µÇ¾ú´Ù.
Markus KuhnÀÇ
À¯´Ï¼Â(uniset) Perl ½ºÅ©¸³Æ®´Â ±¸ÇöÇÑ ÇÁ·Î±×·¥ÀÌ Á¦´ë·Î µ¿ÀÛÇÏ´Â Áö¸¦
üũÇϱ⸦ ¿øÇϰųª »õ·Î¿î ÇÁ·Î±×·¥À» ¸¸µé°í ½Í¾îÇÏ´Â »ç¶÷µéÀ» À§ÇÏ¿© UCS
¼ºê¼Â À§¿¡ Æí¸®ÇÑ »ê¼ú °è»ê ¼Â(set)À» »ç¿ëÇÏ´Â °ÍÀ» Çã¿ëÇÏ°í ÀÖ´Ù.
X11 R6.4 ¸±¸®Áî(1998)´Â
X ÄÁ¼Ò½Ã¿òÀÌ °³¹ßÇÑ X11 À©µµ¿ì ½Ã½ºÅÛ Ç¥ÁØ¿¡ ¸Â´Â »ùÇà ÇÁ·Î±×·¥ÀÇ ÃÖ½Å
¹öÀüÀÌ´Ù. ´ëºÎºÐÀÇ
ÇöÀçÀÇ X11 Ç¥ÁØ°ú »ùÇà ÇÁ·Î±×·¥Àº À¯´Ð½º ȯ°æ¿¡¼ÀÇ À¯´ÏÄڵ忡 ´ëÇÑ
±¤¹üÀ§ÇÑ °ü½ÉÀ» ÀÏÂïºÎÅÍ ºÒ·¯ÀÏÀ¸Å°°í ÀÖ´Ù.
-
UTF-8 À߶󳻱â¿Í ºÙÀ̱â:
ICCCM Ç¥ÁØÀº ¼±ÅÃÇÑ UCS ¹®ÀÚ¿À»
º¯È¯ÇÏ´Â ¹æ¹ýÀ» ¸í½ÃÇÏÁö ¾Ê°í ÀÖ´Ù. ¸î¸î º¥´õµéÀº ÇöÁ¸ÇÏ´Â
COMPOUND_TEXT
¸ÞÄ«´ÏÁò (CTEXT)¿¡ UTF-8À» ¶Ç ÇϳªÀÇ ÀÎÄÚµùÀ¸·Î½á Ãß°¡ÇÏ¿´´Ù. ÀÌ°ÍÀº Àû¾îµµ
´ÙÀ½°ú °°Àº ÀÌÀ¯¿¡¼ ÁÁÀº ÇØ°áÃ¥ÀÌ ¾Æ´Ï´Ù.
- CTEXT´Â ´Ù¼Ò º¹ÀâÇÑ ISO 2022 ¸ÞÄ«´ÏÁòÀÌ´Ù. ±×·¯³ª À¯´ÏÄÚµå´Â CTEXT¿¡ ¶Ç
´Ù¸¥ Ãß°¡ Ç׸ñÀ» Á¦°øÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ²ûÂïÇÑ ¸ÞÄ«´ÏÁò Àüü¸¦ ÈξÀ °£´ÜÇÏ°í
´õ¿í Æí¸®ÇÏ¸ç µ¿µîÇÑ ´É·ÂÀ» °®´Â ¹«¾ð°¡·Î ´ëüÇÒ ±âȸ¸¦ Á¦°øÇÑ´Ù.
- Á¸ÀçÇÏ´Â ¸¹Àº ¾ÖÇø®ÄÉÀ̼ǵéÀº CTEXT¸¦ ÅëÇØ ¼±ÅÃÇÑ °Í°ú Åë½ÅÇÒ ¼ö ÀÖÁö¸¸,
»õ·Ó°Ô Ãß°¡ÇÑ UTF-8 ¿É¼ÇÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. CTEXT »ç¿ëÀÚ´Â °ú°ÅÀÇ ISO 2022
ÀÎÄÚµùÀ» »ç¿ëÇÒ °ÍÀÎÁö »õ·Î¿î UTF-8 ÀÎÄÚµùÀ» »ç¿ëÇÒ °ÍÀÎÁö¸¦ °áÁ¤Çؾ߸¸ ÇÑ´Ù.
±×·¯³ª µÎ°¡Áö¸¦ µ¿½Ã¿¡ »ç¿ëÇÒ ¼ö´Â ¾ø´Ù. ´Ù½Ã ¸»Çؼ, CTEXT¿¡ UTF-8À» ½ÅÁßÈ÷
Ãß°¡ÇÑ´Ù°í ÇÒÁö¶óµµ Á¸ÀçÇÏ´Â CTEXT ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÇÏÀ§ ¹öÀü°úÀÇ È£È¯¼ºÀº ±úÁø´Ù.
- ÇöÀçÀÇ CTEXT ½ºÆåÀº ¼½¼Ç 6¿¡¼ ¸íÈ®ÇÏ°Ô ´ÙÀ½°ú °°ÀÌ UTF-8ÀÇ Ãß°¡¸¦
±ÝÁöÇÏ°í ÀÖ´Ù. "'´Ù¸¥ ÄÚµù ½Ã½ºÅÛ'¿¡ µî·ÏµÈ ISO´Â ÄÄÆÄ¿îµå ÅؽºÆ®¿¡¼ »ç¿ëµÇÁö
¾Ê´Â´Ù; È®ÀåµÈ ¼¼±×¸ÕÆ®µéÀº ISO 2022°¡ ¾Æ´Ñ ÀÎÄÚµù(non-2022 encodings)À» À§ÇÑ
À¯ÀÏÇÑ ¸ÞÄ«´ÏÁòÀÌ´Ù."
Juliusz Chroboczek˼
¼Ó¼º Çü(property type)°ú ¼±Åà ¸ñÇ¥(selection target)·Î »ç¿ëÇÒ ¼ö ÀÖ´Â »õ·Î¿î
UTF8_STRING ¿ä¼Ò¸¦ ÀÌ¿ëÇÏ¿© UTF-8ÀÇ ¼±Åà ¿©ºÎ¸¦ ´Ù·ç±â À§ÇÑ ICCMÀÇ È®Àå¿¡
´ëÇؼ, "
À¯´ÏÄÚµå ÅؽºÆ®ÀÇ ³»ºÎ-Ŭ¶óÀ̾ðÆ® ±³È¯¿¡ °üÇÑ
Á¦¾È ÃʾÈ(Inter-Client Exchange of Unicode Text draft proposal)"À» ÀÛ¼ºÇÏ¿´´Ù.
- ¾µ¸ð ¾ø´Â ÆùÆ® µ¥ÀÌÅÍ ±¸Á¶µé: ÆùÆ®ÀÇ ¹ÌÅÍ ´ÜÀ§ ±æÀÌ¿¡ °üÇÑ
Á¤º¸¸¦ ³ªÅ¸³»±â À§ÇØ »ç¿ëÇÏ´Â Xlib API¿Í X11 ÇÁ·ÎÅäÄÝ µ¥ÀÌÅÍ ±¸Á¶´Â Èñ¹ÚÇÏ°Ô
ºÐÆ÷µÈ ÆùÆ®µé(sparsely populated fonts)À» ó¸®ÇÒ ¶§´Â ´ë´ÜÈ÷ ¾µ¸ð°¡ ¾ø´Ù.
X Ŭ¶óÀ̾ðÆ®¿¡¼ ¾î¶² ÆùÆ®¿¡ ¾×¼¼½ºÇÏ´Â °¡Àå ÀϹÝÀûÀÎ ¹æ¹ýÀº XLoadQueryFont()
ÇÔ¼ö¸¦ È£ÃâÇÏ´Â °ÍÀ̸ç, ÀÌ°ÍÀº XFontStruct¸¦ À§ÇØ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÏ°í ¼¹ö·ÎºÎÅÍ
±×°ÍÀÇ ³»¿ëÀ» ºÒ·¯¿Â´Ù. XFontStruct´Â °¢°¢ 12¹ÙÀÌÆ®ÀÎ XCharStruct
¿£Æ®¸®(entry)ÀÇ ¹è¿À» Æ÷ÇÔÇÑ´Ù. ÀÌ·¯ÇÑ ¹è¿ÀÇ Å©±â´Â ¸¶Áö¸· ¹®ÀÚÀÇ ÄÚµå À§Ä¡ -
ù ¹ø° ¹®ÀÚÀÇ ÄÚµå À§Ä¡ + 1 ÀÌ´Ù. ±×·¯¹Ç·Î U+0020°ú U+FFFD¸¦ ¸ðµÎ Æ÷ÇÔÇÏ´Â
ÀÓÀÇÀÇ "*-iso10646-1" ÆùÆ®´Â 65502 ¿ä¼Ò¸¦ °®´Â XCharStruct ¹è¿ÀÌ ÇÒ´çµÇµµ·Ï
ÇÒ °ÍÀÌ´Ù(½ÉÁö¾î´Â CharCell ÆùÆ®µé¿¡ ´ëÇؼµµ °°Àº °á°ú°¡ ¹ß»ýÇÒ °ÍÀÌ´Ù).
ÀÌ°ÍÀº ±× ÆùÆ®°¡ ¿ÀÁ÷ 1000°³ÀÇ ¹®ÀÚµéÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù ÇÒ Áö¶óµµ 786
ų·Î¹ÙÀÌÆ®ÀÇ Å¬¶óÀ̾ðÆ®-»çÀÌµå ¸Þ¸ð¸®(client-side memory)¿Í µ¥ÀÌÅÍ Àü¼ÛÀ»
ÇÊ¿ä·Î ÇÔÀ» ÀǹÌÇÑ´Ù.
Áö±Ý±îÁö °Å·ÐÇØ¿Ô´ø ÀÏ°ú °ü·ÃµÈ ¸î¸î ÁÖº¯ÀÇ Àϵé:
- XFree86 4.0¿¡ ÇÔ²² Á¦°øµÇ´Â ºñ-¾Æ½Ã¾Æ±Ç¿ë -misc-fixed-*-iso10646-1 ÆùÆ®µéÀº U+31FF ÀÌ»óÀÇ ¿µ¿ª¿¡¼´Â ¾î¶°ÇÑ ¹®ÀÚµµ Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù. ÀÌ°ÍÀº ÇÊ¿ä
ÇÑ ¸Þ¸ð¸®·®À» 153 ų·Î¹ÙÀÌÆ®±îÁö·Î Á¦ÇÑÇÑ´Ù. ÀÌ°ÍÀº ¿©ÀüÈ÷ ÁÁÁö ¾ÊÀº ÀÏÀÌÁö¸¸,
±×·¸°Ô ³ª»Û Àϵµ ¾Æ´Ï´Ù.(BDF ÆÄÀÏ¿¡¼ ³ªÅ¸³ª´Â U+31FF ÀÌ»óÀÇ ¿µ¿ª¿¡¼ À¯¿ëÇÑ ¹®
ÀÚµéÀÌ ½ÇÁ¦·Î Á¸ÀçÇϸç, ÀÌ·¯ÇÑ ¹®Á¦°¡ ÇØ°áµÉ ±× ³¯¸¸À» ±â´Ù¸®°í ÀÖ´Ù. ±×·¯³ª ±×
µéÀº ÇöÀç´Â -1·Î ÀÎÄÚµùµÇ¸ç, µû¶ó¼ X ¼¹ö¿¡ ÀÇÇؼ ¹«½ÃµÈ´Ù.)
- Bruno HaibleÀº ¼¹ö¿¡¼ Ŭ¶óÀ̾ðÆ®·Î ¾ÐÃà½ÃÄÑ XCharStruct¸¦ Àü¼ÛÇÏ°í,
°°Àº ÆùÆ®¸¦ ·ÎµåÇÏ´Â ´Ù¼öÀÇ »ç¿ëÀÚ¸¦ À§ÇÑ XlibÀÇ °øÀ¯ ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ´Â,
XFree86 4.0À» À§ÇÑ BIGFONT ÇÁ·ÎÅäÄÝ È®ÀåÀÚ(extension)¸¦ ÀÛ¼ºÇÏ¿´´Ù.
ÀÌ·¯ÇÑ ÁÖº¯ÀÇ ÀϵéÀº XFontStruct°¡ µå¹°°Ô »ç¿ëÇÏ´Â ÆùÆ®µé¿¡°Ô ÀûÇÕÇÏÁö ¾Ê´Ù´Â
ÀáÀçÀûÀÎ ¹®Á¦¸¦ ÇØ°áÇØ ÁÖÁö ¾Ê´Â´Ù. ±×·¯³ª ±×µéÀº API ȤÀº Ŭ¶óÀ̾ðÆ® ¼Ò½º ÄÚµå
¸¦ º¯°æÇÒ ÇÊ¿ä ¾øÀÌ Áß¿äÇÑ È¿À² Çâ»óÀ» Á¦°øÇÑ´Ù. ÇÑ°¡Áö ÁøÁ¤ÇÑ ÇØ°áÃ¥Àº XFontStr
uct¸¦ ¹è¿°ú´Â ´ëÁ¶ÀûÀ¸·Î ¹®ÀÚ¸¦ ÀúÀåÇÏ´Â Á¤·Ä ¸®½ºÆ®³ª Çؽà Å×À̺íÀ» Æ÷ÇÔÇÏ´Â
ÈξÀ À¯¿¬ÇÑ ¹«¾ð°¡·Î È®Àå ȤÀº ´ëüÇÏ´Â °ÍÀÌ µÉ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ XFontStructÀÇ Àç
¼³°è´Â ¶ÇÇÑ °áÇÕ ¹®ÀÚ¿Í Àεµ ¹®ÀÚÀÇ ¿¬°á¼±À» µ¿½Ã¿¡ »ç¿ëÇϱâ À§ÇØ ±ÞÈ÷ ÇÊ¿äÇÑ ´ë
ºñÃ¥ÀÌ µÉ °ÍÀÌ´Ù.
- Keysyms: Áö±Ý±îÁö Á¤ÀÇµÈ ¹Ù·Î´Â keysyms´Â ´ÜÁö ¾ÆÁÖ ÀÛÀº
Unicode ¸ñ·Ï ¸¸À» Æ÷ÇÔÇÑ´Ù. Markus KuhnÀº U-00000000 ºÎÅÍ U-00FFFFFF±îÁöÀÇ
¹üÀ§³»ÀÇ ¸ðµç UCS ¹®ÀÚ´Â 0x01000000 ºÎÅÍ 0x01ffffff±îÁöÀÇ ¹üÀ§³»ÀÇ keysym
°ªÀ¸·Î ³ªÅ¸³¾ ¼ö ÀÖ´Ù°í Á¦¾ÈÇÏ¿´´Ù(±×¸®°í xterm¿¡¼ ÀÌ°ÍÀ» ±¸ÇöÇÏ¿´´Ù).
ÀÌ°ÍÀº ³Î¸® ÀÎÁ¤µÇ°í ÀÖ´Â °Íó·³ Àüü 31ºñÆ®ÀÇ UCS °ø°£À» Áö¿øÇÏÁö ¾Ê´Â´Ù.
±×·¯³ª ÀÌ°ÍÀº UTF-16°ú ±× ÀÌ»óÀÇ ¸ðµå¿¡¼ ³ªÅ¸³¾ ¼ö ÀÖ´Â U-0010FFFF±îÁöÀÇ
¸ðµç ¹®ÀÚµéÀ» Áö¿øÇϸç, ISO°¡ ´õ Å« ¿µ¿ªÀÇ UCS ÄÚµåµéÀ» ÇÒ´çÇÒ °Í °°Áö´Â
¾Ê´Ù(»ç½Ç ¹Ì·¡¿¡´Â ISO 10646À¸·ÎºÎÅÍ U-0010FFFF¸¦ ³Ñ´Â ÄÚµå °ø°£À» ¾ø¾ÖÀÚ´Â
Á¦¾ÈÀÌ ÀÖ´Ù). µû¶ó¼ À¯´ÏÄÚµå ¹®ÀÚ U+ABCD¸¦ ¾ò±â À§Çؼ´Â keysyms 0x0100abcd¸¦
Á÷Á¢ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ °íÀüÀûÀÎ keysyms¿Í UCS(X11 Ç¥ÁØ¿¡ µé¾î°¡¾ß¸¸ ÇÒ °Í
ÁßÀÇ ÇϳªÀÌ´Ù) »çÀ̸¦ º¯È¯½ÃÅ°±â À§ÇØ Á¦¾ÈµÈ Å×ÀÌºí¿¡ °üÇÑ ¼Ò½º ÄÚµåÀÎ xtermÀÇ
keysym2ucs.c
ÆÄÀÏÀ» º¸¶ó. Markus´Â ¶ÇÇÑ X ÇÁ·ÎÅäÄÝ Ç¥ÁØ
ºÎ·Ï A: KEYSYM ÀÎÄÚµùÀÇ °³Á¤ÆÇ ÃʾÈ
À» ÀÛ¼ºÇß´Ù. ±×°ÍÀº UCS »óÈ£ ÂüÁ¶ Å×À̺íÀ» Ãß°¡ÇÑ KEYSYM ÀÎÄÚµù(
PDF)ÀÌ´Ù.
- °áÇÕ ¹®ÀÚ: X11ÀÇ ¼¼ºÎ »çÇ×À» º¸¸é °áÇÕ ¹®ÀÚ¸¦ ¾î¶² ½ÄÀ¸·Îµµ
Áö¿øÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ÆùÆ® Á¤º¸¿¡´Â ¾×¼¾Æ®¸¦ ÀÚµ¿À¸·Î ºÙÀ̴µ¥
ÇÊ¿äÇÑ µ¥ÀÌÅÍ°¡ ºÎÁ·ÇÏ´Ù(¿¹µé µé¸é, TeX¿¡´Â ¸ðµç ÆùÆ®¿¡ ¾×¼¾Æ®¸¦ ÀÚµ¿À¸·Î
ºÙÀÌ´Â ±â´ÉÀÌ ÀÖ´Ù). ´Ù¾çÇÑ »ç¶÷µéÀÌ À×Å©¸¦ °¡Áö°í ¹®ÀÚÀÇ ¿ÞÆí¿¡ ÆøÀÌ ¾ø´Â
¹®ÀÚ(zero-width characters)¸¦ »ç¿ëÇÏ´Â °¡Àå °£´ÜÇÑ °áÇÕ ¹®ÀÚ °ãÃľ²±â(simplest
overstriking combining characters)¸¦ ±¸ÇöÇϱâ À§Çؼ ½ÇÇèÀ» ÇØ¿Ô´Ù. ±×·¯³ª
ÀÌ°ÍÀ» ±¸ÇöÇÏ´Â ¹æ¹ý¿¡ °üÇÑ ¼¼ºÎ »çÇ×Àº ½ÇÁ¦·Î ¸í½ÃµÇÁö ¾Ê°í ÀÖ´Ù. (¿¹¸¦ µé¸é,
CharCell°ú ¸ð³ë½ºÆäÀ̽º ÆùÆ®(monospaced fonts)´Â ÆøÀÌ ¾ø´Â ¹®ÀÚ¸¦ Çã¿ëÇÏÁö
¾Ê´Â´Ù.) ±×·¯¹Ç·Î ÀÌ°ÍÀº ¾ÆÁ÷ Æø³Ð°Ô È®¸³µÈ ±â¼úÀÌ ¾Æ´Ï´Ù.
- ¿¬°á¼±: Àεµ ¼Ã¼´Â ¿¬°á¼± ġȯÀ» Áö¿øÇÏ´Â ÆùÆ® ÆÄÀÏ Æ÷¸ËÀ»
ÇÊ¿ä·Î ÇÑ´Ù. ÀÌ°ÍÀº Áö±ÝÀ¸·Î½á´Â °áÇÕ ¹®ÀÚó·³ X11ÀÇ ¼¼ºÎ »çÇ׿¡ Æ÷ÇԵǾî
ÀÖÁö ¾Ê´Ù.
- UTF-8 ·ÎÄÉÀÏ: X11 R6.4 »ùÇÃÀº Áö±ÝÀ¸·Î½á´Â UTF-8 ·ÎÄÉÀÏÀ» À§ÇÑ
¾î¶°ÇÑ Áö¿øµµ Æ÷ÇÔÇÏÁö ¾Ê°í ÀÖ´Ù. °ú°ÅÀÇ UTF ·ÎÄÉÀÏÀº ÀÖÁö¸¸, ±×°ÍÀº ºÒ¿ÏÀüÇϸç
ÇöÀç¿¡´Â ¾µ¸ð¾ø´Â UTF-1 ÀÎÄÚµùÀ» »ç¿ëÇÑ´Ù. UTF-8 ·ÎÄÉÀÏÀ» ±¸ÇöÇϱâ À§Çؼ´Â
ÀϹÝÀûÀÎ ÀÎÄÚµù º¯È¯ °úÁ¤ÀÌ ÇÊ¿äÇÒ »Ó¸¸ ¾Æ´Ï¶ó ¿©·¯°¡Áö Å°º¸µå µî·Ï(entry)
¹æ¹ý, Á¸ÀçÇÏ´Â ISO 8859¿Í keysym Å°º¸µå¸¦ UCS·Î ¸ÅÇÎÇÏ¿© ¹èÄ¡Çϱâ, ÇÕ¼º Å°
(compose key)¸¦ À§ÇÑ ±Øµµ·Î È®ÀåµÈ Áö¿ø ¹× Çѱ۰ú ÇÑÀÚ µî·Ï
Áö¿ø(entry support)À» ÀÔ·ÂÇϱâ À§ÇÑ ÀÓÀÇ ¹®ÀÚÀÇ
ISO 14755 16Áø¼ö µî·ÏÀÌ ÇÊ¿äÇÏ´Ù.
- »ùÇà ±¸Çö(sample implementation): xterm, xfontsel, À©µµ¿ì
¸Å´ÏÀúµî°ú °°Àº °íÀüÀûÀΠǥÁØ ÅøÀ» À§ÇÑ À¯´ÏÄÚµå Áö¿ø »Ó¸¸ ¾Æ´Ï¶ó ¼ö¸¹Àº
±¤¹üÀ§ÇÑ À¯´ÏÄÚµå Ç¥ÁØ ÆùÆ®µéÀÌ »ùÇà ±¸Çö¿¡ Ãß°¡µÇ¾î¾ß¸¸ ÇÑ´Ù. ÀÌ·¯ÇÑ ºÎºÐ¿¡
°üÇÑ ¸î¸î ¿¬±¸µéÀÌ ÀÌ¹Ì XFree86 ³»ºÎ¿¡¼ ÀÌ·ç¾îÁö°í ÀÖÀ¸¸ç ±× ¹ÛÀÇ ÀϵéÀº
ÀÌÀüÀÇ Áß¿ä »ç¾ÈµéÀÌ ¾ÆÁ÷ ÇØ°áµÇÁö ¾Ê¾Ò´Ù´Â »ç½Ç·Î ÀÎÇØ ÇöÀç ¿¬±âµÇ°í ÀÖ´Ù.
ÀÌ·¯ÇÑ À̽´µéÀ» ¿¬±¸ÇÏ´Â ÀÛ¾÷ÀÌ ÁøÇà ÁßÀΰ¡? ¸ð¸£°Ú´Ù. ³ª´Â ¸î ÀÏ¿¡ °ÉÃÄ X ÄÁ
¼Ò½Ã¿òÀ» °ø½ÄÀûÀ¸·Î °è½ÂÇÑ ´ÜüÀÌÀÚ X11 Ç¥ÁØ°ú »ùÇà ±¸ÇöÀÇ °ü¸®ÀÚ ¿ªÇÒÀ» ÇÏ´Â Op
engroupÀÎ
X.Org¿¡ Á¢ÃËÇÏ·Á ½ÃµµÇßÁö¸¸,
±×µé·ÎºÎÅÍ ¾ÆÁ÷ ¾µ¸ð ÀÖ´Â ¾î¶°ÇÑ ´ë´äµµ ¾òÁö ¸øÇß´Ù(X.OrgÀÇ ÇÑ ¸â¹öÀÎ
XFree86¿¡µµ Á¢ÃËÇßÁö¸¸, ¿ª½Ã ´ë´äÀ» ¾òÁö ¸øÇß´Ù).
¹Ýµå½Ã
unicode@unicode.org ¸ÞÀϸµ ¸®½ºÆ®¿¡ °¡ÀÔÇؾ߸¸ ÇÑ´Ù. ÀÌ°ÍÀÌ Ç¥ÁØ ÀÛ
¼ºÀÚ¿Í ¸¹Àº ´Ù¸¥ µµ»çµéÀÇ ÀÇ°ßÀ» µè±â À§ÇÑ ÃÖ¼±ÀÇ ¹æ¹ýÀÌ´Ù. ±âºÎ±ÝÀ» ³»°íÀÚ ÇÑ´Ù
¸é,
unicode-request@ unicode.org¿¡ "subscribe"¶ó´Â Á¦¸ñ°ú ÇÔ²² "subscribe YOUR@EMAIL.ADDRESS unicode" ¶ó´Â ³»¿ëÀ¸·Î ¸Þ½ÃÁö¸¦ º¸³»¸é µÈ´Ù.
¶ÇÇÑ GNU/Linux ½Ã½ºÅÛ¿¡¼ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇÑ ´õ¿í Çâ»óµÈ
UTF-8 Áö¿øÃ¥À» ¿¬±¸Çϱâ À§Çؼ ¾²ÀÌ´Â linux-utf8@nl.linux.org ¸ÞÀÏ
¸µ ¸®½ºÆ®°¡ ÀÖ´Ù. ±âºÎ±ÝÀ» ³»°íÀÚ ÇÑ´Ù¸é, "subscribe linux-utf8"À̶ó´Â ÇÑ ÁÙÀÇ
³»¿ëÀ» Àû¾î
majordomo@nl.linux. org·Î ¸Þ½ÃÁö¸¦ º¸³»¶ó. ¶ÇÇÑ
linux-utf8 archive¸¦ ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù.
Xlib¿Í X ¼¹ö¿¡¼ÀÇ À¯´ÏÄÚµå Áö¿ø¿¡ °üÇÑ ÀûÀýÇÑ ¸ÞÀϸµ ¸®½ºÆ®´Â
fonts@xfree86.org¿Í
i18n@xfree86.org°¡ ÀÖ´Ù.
³ª´Â ÀÌ ¹®¼¿¡ »õ·Î¿î ³»¿ëÀ» ¸Å¿ì ÀÚÁÖ Ãß°¡ÇÒ °ÍÀÌ´Ù. ±×·¯¹Ç·Î ±ÔÄ¢ÀûÀ¸·Î ÀÌ
¹®¼¸¦ üũÇϰųª ´ç½Å¿¡°Ô À̸ÞÀÏ·Î ÅëÁöÇØ ÁÖ´Â
Netminder¸¦ ÀÌ¿ëÇÏ¿© ¹®¼ÀÇ º¯È¸¦
üũÇ϶ó. ´õ¿í Çâ»óµÈ UTF-8 Áö¿øÀ» À§ÇÑ freeware community¿¡¼ÀÇ ±¤°í »Ó¸¸
¾Æ´Ï¶ó
Á¦¾ÈÀº ¸Å¿ì ȯ¿µÇÑ´Ù.
¸®´ª½º¿¡¼ UTF-8À» »ç¿ëÇÏ´Â °ÍÀº ¸Å¿ì ³¸¼± ÀÏÀÌ´Ù. ±×·¯¹Ç·Î ´ÙÀ½ ¸î ´Þ ÈÄÀÇ
ÀÌ ¹®¼¿¡ ¸¹Àº ÁøÀüÀÌ ÀÖÀ» °ÍÀÌ´Ù.
Ulrich Drepper, Bruno Haible, Robert Brady, Shuhei Amakawa¿Í °¡Ä¡ ÀÖ´Â ºñÆòÀ»
ÇØÁØ ´Ù¸¥ ¸¹Àº À̵é°ú Áö¿øÀ» ÇØÁØ SuSE GmbH, Nürnberg¿¡°Ô Ưº°ÇÑ °í¸¶¿òÀ»
Ç¥ÇÑ´Ù.
Markus Kuhn
<Markus.Kuhn@cl.cam.ac.uk>
created 1999-06-04 -- last modified 2001-02-06 --http://www.cl.cam.ac.uk/
~mgk25/unicode.html