UTF-8 and Unicode FAQ for Unix/Linux <subtitle>À¯´Ð½º/¸®´ª½º »ç¿ëÀÚ¸¦ À§ÇÑ UTF-8 ¹× À¯´ÏÄÚµå °ü·Ã FAQ <author>Markus Kuhn(<url url="mailto:Markus.Kuhn@cl.cam.ac.uk" name="Markus.Kuhn@cl.cam.ac.uk">) <date>16 March 2001 <trans>±¹ºÀ°ü ¿ª(<url url="mailto:kook@hanyang.co.kr" name="kook@hanyang.co.kr">) <tdate>2001³â 3¿ù 29ÀÏ <abstract>ÀÌ ¹®¼­´Â À¯´Ð½º ȤÀº ¸®´ª½º ȯ°æ¿¡¼­ UTF-8°ú À¯´ÏÄڵ带 »ç¿ëÇÏ´Â ¹æ¹ý¿¡ °üÇÑ ³»¿ëÀ» ´ã°í ÀÖ½À´Ï´Ù. ¹ø¿ª »óÀÇ ½Ç¼ö ȤÀº ¿ÀŸ¸¦ ¹ß°ßÇϽŠºÐÀº ¸ÞÀÏ·Î ¿¬¶ôÁֽñ⠹ٶø´Ï´Ù. </abstract> <toc> <!-- Á¦ 1 ÀåÀÇ ½ÃÀÛ --> <sect>UCS¿Í ISO 10646Àº ¹«¾ùÀΰ¡? <p> <bf>ISO 10646</bf>±¹Á¦ Ç¥ÁØÀº <bf>Universal Character Set(UCS)</bf>¸¦ Á¤ÀÇÇÏ°í ÀÖ´Ù. UCS´Â ¸ðµç ´Ù¸¥ Á¾·ùÀÇ ¹®Àڼ ǥÁØ(character set standards)ÀÇ »óÀ§¿¡ Á¸ÀçÇÏ´Â ¹®ÀÚ¼ÂÀÌ´Ù. ÀÌ°ÍÀº ´Ù¸¥ ¹®Àڼ°úÀÇ »óÈ£ ȣȯ¼ºÀ» º¸ÁõÇÑ´Ù. ¸¸¾à ¾î¶² ÅؽºÆ® ¹®ÀÚ¿­À» UCS·Î º¯È¯ÇÏ°í ´Ù½Ã ¿ø·¡ÀÇ ÀÎÄÚµùÀ¸·Î º¯È¯ÇÒ °æ¿ì ¾î¶² Á¤º¸µµ ¼Õ½ÇµÇÁö ¾ÊÀ» °ÍÀÌ´Ù. <p> ISO 10646Àº °ø½ÄÀûÀ¸·Î 31ºñÆ® ¹®ÀÚ¼ÂÀ» Á¤ÀÇÇÏ°í ÀÖ´Ù. ±×·¯³ª Áö±Ý±îÁö ¹®ÀÚµéÀº ÀÌ·¯ÇÑ Å« ÄÚµå °ø°£(of this huge code space)Áß¿¡¼­µµ ¿ÀÁ÷ óÀ½¿¡¼­ºÎÅÍ 65534¹ø° À§Ä¡(0x0000 ºÎÅÍ 0xFFFD±îÁö)±îÁö¿¡¸¸ À§Ä¡Çß¾ú´Ù. ÀÌ·¯ÇÑ UCSÀÇ 16ºñÆ® ¼­ºê¼ÂÀº ±âº» ´Ù±¹¾î Æò¸é <bf>(Basic Multilingual Plane : BMP)</bf> ȤÀº Æò¸é 0(Plane 0)¶ó°í ºÎ¸¥´Ù. BMP ¿µ¿ªÀÌ ¾Æ´Ñ °÷¿¡ ÀÎÄÚµùµÇ´Â ¹®ÀÚµéÀº »óÇü¹®ÀÚ¿Í °°Àº °í´ë ¹®ÀÚ¿Í Çмú ±âÈ£ µî ¼Ò¼öÀÇ Àü¹®°¡µé¸¸ÀÌ »ç¿ëÇÏ´Â °ÍÀÌ °ÅÀÇ ´ÙÀÌ´Ù. ÇöÀç °èȹÀº ¾ÕÀ¸·Î ´Ù¸¥ ¹®ÀÚµéÀÌ ´õÇØÁø´Ù°í ÇÏ´õ¶óµµ 0x000000 ºÎÅÍ 0x10FFFF±îÁöÀÇ 21ºñÆ®ÀÇ ¹é¸¸ÀÌ ³Ñ´Â ÄÚµå °ø°£ ÀÌ»óÀÌ ÇÊ¿äÇÏÁö´Â ¾ÊÀ¸¸®¶ó°í »ý°¢ÇÏ°í ÀÖ´Ù. ISO 10646-1 ±âÁØÀº 1993³â¿¡ ÃÖÃÊ·Î Á¦¾ÈµÆÀ¸¸ç, ¹®ÀÚÀÇ ±¸Á¶¿Í BMP ¿µ¿ªÀÇ ³»¿ëÀ» Á¤ÀÇÇÏ°í ÀÖ´Ù. BMP ¿µ¿ªÀÇ ¿ÜºÎ¿¡ ÀÎÄÚµùµÇ´Â ¹®ÀÚµéÀ» Á¤ÀÇÇÏ°í ÀÖ´Â µÎ¹ø° ÆÄÆ®ÀÎ ISO 10646-2´Â Áغñ Áß¿¡ ÀÖÀ¸³ª, ±×°ÍÀÌ ¿Ï¼ºµÇ±â±îÁö´Â ¼ö³âÀÌ °É¸±Áöµµ ¸ð¸¥´Ù. ²÷ÀÓ¾øÀÌ »õ·Î¿î ¹®ÀÚµéÀÌ BMP ¿µ¿ª¿¡ Æ÷ÇԵǰí ÀÖÁö¸¸, ÇöÀç Á¸ÀçÇÏ°í ÀÖ´Â ¹®ÀÚµéÀº °áÄÚ º¯ÇÏÁö ¾ÊÀ» °ÍÀÌ¸ç ¾ÈÁ¤¼ºÀ» È®º¸ÇÏ°í ÀÖ´Ù. <p> 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 ¿µ¿ª ¿ÜºÎÀÇ °Å´ëÇÑ ¿µ¿ªÀº °³ÀÎÀûÀÎ ¿ëµµ¸¦ À§ÇØ º¸Á¸µÈ´Ù. <p> UCS Ç¥ÁØÀÇ ¿ÏÀüÇÑ ¸íĪÀº ´ÙÀ½°ú °°´Ù. <verb> 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. </verb> <p>ÀÌ°ÍÀº PDF ÆÄÀÏ·Î ÀúÀåµÈ CD-ROM ¼¼Æ®·Î 80 ½ºÀ§½ºÇÁ¶û(~54 À¯·ÎÈ­, ~45 ¹Ì±¹´Þ·¯, ~32 ¿µ±¹ÆÄ¿îµå)¿¡ <url url="http://www.iso.ch/cate/d29819.html" name="ISO·ÎºÎÅÍ ¿Â¶óÀÎÀ¸·Î ÁÖ¹®"> ÇÒ ¼ö ÀÖ´Ù. <!-- Á¦ 2 ÀåÀÇ ½ÃÀÛ --> <sect>°áÇÕ ¹®ÀÚ(Combining Characters)¶õ ¹«¾ùÀΰ¡? <p> UCS¿¡¼­ ¸î¸î code pointµéÀº °áÇÕ ¹®ÀÚ<bf>(combining characters)</bf>¿¡ ÇÒ´çµÇ¾ú ´Ù. À̰͵éÀº ŸÀڱ⿡¼­ °ø°£À» Â÷ÁöÇÏÁö ¾Ê´Â ¾×¼¾Æ® Å°¿Í °°´Ù. °áÇÕ ¹®ÀÚ´Â ±× ÀÚ Ã¼·Î´Â ÇϳªÀÇ ¿ÏÀüÇÑ ¹®ÀÚ°¡ ¾Æ´Ï´Ù. ±×°ÍÀº ¾Õ¼­´Â ¹®ÀÚ¿¡ ´õÇÏ´Â ¾×¼¾Æ®°Å³ª ȤÀº ±¸ºÐ ¸¶Å©ÀÌ´Ù. ÀÌ·±½ÄÀ¸·Î, ¾î¶² ¹®ÀÚ¿¡ ¾î¶² ¾×¼¾Æ®¸¦ ³õ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ÀϹÝÀûÀÎ ¾ð¾îÀÇ Ã¶ÀÚ¹ý¿¡¼­ »ç¿ëÇÏ´Â ¹®ÀÚó·³ °¡Àå Áß¿äÇÑ ¾×¼¾Æ®¸¦ °¡Áø ¹®ÀÚµéÀº ¿¾ ¹®ÀÚ ¼ÂÀ» °¡Áø ±¸ ¹öÀü°úÀÇ È£È¯¼ºÀ» È®º¸Çϱâ À§Çؼ­ UCS¿¡¼­ ±×µé ÀڽŸ¸ÀÇ Äڵ带 °®´Â´Ù. ¹Ì¸® ¸¸µé¾îÁø ¹®ÀÚ<bf>(precomposed characters)</bf>¶ó°í ¾Ë·ÁÁø ¾×¼¾Æ®¸¦ °¡Áø ¹®ÀÚµéÀº ÀڽŸ¸ÀÇ ÄÚµå À§Ä¡¸¦ °®Áö¸¸, ¶ÇÇÑ °áÇÕ ¹®ÀÚ¿¡ µÚµû¸£´Â ÇѽÖÀÇ ´Ù¸¥ ¹®ÀÚ·Î½á ³ªÅ¸³¾ ¼ö ÀÖ´Ù. ¹Ì¸® ¸¸µé¾îÁø ¹®ÀÚµéÀº ¾î¶°ÇÑ °áÇÕ ¹®ÀÚµµ °®Áö ¾Ê´Â ISO 8859¿Í °°Àº ¿¾ ¹æ½ÄÀÇ ÀÎÄÚµù°úÀÇ È£È¯¼ºÀ» À§Çؼ­ UCS¿¡¼­ »ç¿ë °¡´ÉÇÏ´Ù. °áÇÕ¹®ÀÚÀÇ ¸ÞÄ«´ÏÁòÀº ¾î¶² ¹®ÀÚ¿¡ ¾×¼¾Æ®³ª ´Ù¸¥ ±¸ºÐ ±âÈ£¸¦ ºÙÀÌ´Â °ÍÀ» Çã¶ôÇϴµ¥, ÀÌ °ÍÀº ƯÈ÷ ±âº» ¹®ÀÚ¿Í ÇÑ°¡Áö ȤÀº ¸î°¡ÁöÀÇ ±¸ºÐ ±âÈ£¿ÍÀÇ °áÇÕÀÌ ÇÊ¿äÇÑ ¼öÇÐ ¹æÁ¤ ½Ä°ú ±¹Á¦ Ç¥À½ ¾ËÆĺª°ú °°Àº °úÇРǥ±â¹ýÀ» À§Çؼ­ Áß¿äÇÏ´Ù. <p> °áÇÕ¹®ÀÚ´Â ±×µéÀÌ ¼öÁ¤ÇÏ´Â ¹®ÀÚ¸¦ µû¸¥´Ù. ¿¹¸¦ µé¸é, µ¶ÀÏ umlaut ¹®ÀÚ Ä´Â ¹Ì¸® ¸¸µé¾îÁø UCS ÄÚµå U+00C4·Î ³ªÅ¸³»°Å³ª ´ë¾ÈÀûÀ¸·Î "°áÇÕ ºÎÀ½ ºÎÈ£"(combin ing diaeresis)ÀÇ µÚ¸¦ ÀÕ´Â ÀϹÝÀûÀÎ "¶óƾ ´ë¹®ÀÚ A"ÀÇ °áÇÕÀ¸·Î ³ªÅ¸³¾ ¼ö Àִµ¥, U+0041 U+0308¿Í °°´Ù. ¸î¸îÀÇ °áÇÕ ¹®ÀÚ´Â ´Ù¼öÀÇ ¾×¼¾Æ®¸¦ À§¿¡ ³õ°Å³ª ±âº» ¹®ÀÚÀÇ À§¾Æ·¡ ¸ðµÎ¿¡ °áÇÕ ¸¶Å©¸¦ ´õ ÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¶§ Àû¿ëÇÒ ¼ö ÀÖ´Ù. ŸÀÌ ¹®ÀÚ¸¦ ¿¹ ·Î µé¸é, ÇϳªÀÇ ±âº» ¹®ÀÚ À§¿¡ °áÇÕ ¹®ÀÚ°¡ ÃÖ´ë 2°³±îÁö ÇÊ¿äÇÏ´Ù. <!-- Á¦ 3 ÀåÀÇ ½ÃÀÛ --> <sect>UCS ±¸Çö ·¹º§(UCS implementation levels)Àº ¹«¾ùÀΰ¡? <p> ¸ðµç ½Ã½ºÅÛµéÀÌ °áÇÕ ¹®ÀÚ¿Í °°Àº UCSÀÇ ¸ðµç Áøº¸µÈ ¸ÞÄ«´ÏÁòÀ» Áö¿øÇϸ®¶ó°í ±â ´ëÇÒ ¼ö ¾ø´Ù. ±×·¯¹Ç·Î, ISO 10646Àº ´ÙÀ½ÀÇ ¼¼°¡Áö ±¸Çö ·¹º§À» ¸í½ÃÇÏ°í ÀÖ´Ù. <itemize> <item>·¹º§ 1 : °áÇÕ ¹®ÀÚ¿Í ÇÑ±Û ÀÚ¸ð(µÎ°³ ȤÀº ¼¼°³ÀÇ ÀÛÀº ¹®ÀÚµé·Î ÇÑ±Û À½ÀýÀ» ÀÌ·ç´Â Ưº°ÇÏ¸ç ´õ¿í º¹ÀâÇÑ Çѱ¹ Ç¥À½ ¹®ÀÚÀÇ ÀÎÄÚµù)´Â Áö¿øÇÏÁö ¾Ê´Â´Ù. <item>·¹º§ 2 : ·¹º§ 1°ú °ÅÀÇ °°À¸³ª ¸î¸î ¼­Ã¼(script)¿¡ À־ °áÇÕ¹®ÀÚÀÇ °íÁ¤µÈ ¸ñ·Ï(fixed list)À» Çã¿ëÇÑ´Ù(¿¹¸¦ µé¸é, À¯Å¾î, ¾Æ¶ø¾î, Àεµ¾î, ¹æ±Û¶óµ¥½Ã¾î, ³×ÆȾî, Àεµ-¾Æ¸®¾È¾î, ¿À¸®»ç-Àεµ¾î, Ÿ¹Ð¾î, ¾Èµå¶ó¾î, Ä«¸£³ªÅ¸Ä«¾î, ¸»·¹ÀÌ½Ã¾Æ ¾î, ű¹¾î ¹× ¶ó¿À½º¾î°¡ ÀÖ´Ù). ÀÌ·¯ÇÑ ¹®ÀÚµéÀº ÃÖ¼ÒÇÑÀÇ °áÇÕ ¹®ÀÚµéÀ» À§ÇÑ Áö¿ø ¾øÀÌ´Â UCS¿¡¼­ ÀûÀýÇÏ°Ô ³ªÅ¸³¾ ¼ö ¾ø´Ù. <item>·¹º§ 3 : ¸ðµç UCS ¹®ÀÚµéÀ» Áö¿øÇÑ´Ù. ¿¹¸¦ µé¸é ¼öÇÐÀÚµéÀº ¾î¶² ¼öÇÐ ¹®ÀÚ»óÀÇ Æ¿µ¥³ª È­»ìÇ¥(ȤÀº ¾çÂÊ´Ù)¸¦ ³ªÅ¸³¾ ¼ö ÀÖ´Ù. </itemize> <!-- Á¦ 4 ÀåÀÇ ½ÃÀÛ --> <sect>UCS´Â ±¹Á¦ ±âÁØÀ¸·Î äÅõǾú´Â°¡? <p> ´ë´äÀº ¿¹ÀÌ´Ù. ¼ö¸¹Àº ±¹°¡µéÀÌ 1993³â¿¡ ISO 10646-1:1993À» ±¹°¡ÀûÀ¸·Î äÅÃÇÒ °ÍÀ» °øÇ¥ÇßÀ¸¸ç ¶§·Î´Â ¿¹Àü¿¡ ±¹°¡¿¡¼­ ±¸ÇöÇÑ ¿©·¯°¡Áö »çÇ×°ú ±âÁØ¿¡ ´ëÇÑ »óÈ£ Âü°í Á¶Ç׿¡ ºÎ°¡ÀûÀÎ Á¶Ç×À» ºÙÀÎ ÈÄ¿¡ °øÇ¥Çß´Ù. <itemize> <item>Áß±¹: GB 13000.1-93 <item>ÀϺ»: JIS X 0221-1995 <item>Çѱ¹: KS X 1005-1:1995 (ISO 10646-1:1993ÀÇ ¼öÁ¤¾È 1-7À» Æ÷ÇÔ) </itemize> <!-- Á¦ 5 ÀåÀÇ ½ÃÀÛ --> <sect>À¯´ÏÄÚµå¶õ ¹«¾ùÀΰ¡? <p> ¿ª»çÀûÀ¸·Î, ´ÜÀÏ ÅëÇÕ½ÃŲ ¹®ÀÚ¼ÂÀ» ¸¸µé·Á´Â µÎ°³ÀÇ µ¶¸³ÀûÀÎ ½Ãµµ°¡ ÀÖ¾ú´Ù. ÇÏ ³ª´Â <url url="http://www.iso.ch/" name="±¹Á¦ Ç¥ÁØ ±â±¸(ISO)">ÀÇ ISO 10646 ÇÁ·ÎÁ§Æ®¿´À¸¸ç, ´Ù¸¥ Çϳª´Â ´ÙÁß ¾ð¾î ¼ÒÇÁÆ®¿þ¾î Á¦Á¶»çµéÀÇ(Ãʱ⿡´Â ¹Ì±¹È¸»ç°¡ ´ëºÎºÐÀ̾ú ´ø) ÄÁ¼Ò½Ã¿òÀ¸·Î ±¸¼ºµÈ <url url="http://www.unicode.org/" name="À¯´ÏÄÚµå ÇÁ·ÎÁ§Æ®">¿´´Ù. ¿î ÁÁ°Ôµµ, µÎ ÇÁ·ÎÁ§Æ®¿¡ Âü¿©Çß´ø Âü°¡È¸»çµé ¸ðµÎ 1991³â°æ¿¡ µÎ°³ÀÇ ¼­·Î ´Ù¸¥ ÅëÇÕ ¹®ÀÚ¼ÂÀº ¼¼°è°¡ ¿øÇÏ´Â ¹Ù°¡ ¾Æ´Ï¶ó´Â °ÍÀ» ±ú´Þ¾Ò´Ù. ±×µéÀº ÇÔ²² ³ë·ÂÇßÀ¸¸ç ´ÜÀÏÇÑ ÄÚµå Å×À̺íÀ» ¸¸µé±â À§ÇØ ÇÔ²² ÀÛ¾÷Çß´Ù. ¾ç ÇÁ·ÎÁ§Æ® ¸ðµÎ ¿©ÀüÈ÷ Á¸ÀçÇÏ¸ç ±×µé °¢ÀÚÀÇ ±âÁØÀ» µ¶¸³ÀûÀ¸·Î °øÇ¥ÇÑ´Ù. ±×·¯³ª À¯´ÏÄÚµå ÄÁ¼Ò½Ã¿ò°ú ISO/IEC JTC1/SC2´Â ȣȯ°¡´ÉÇÑ À¯´ÏÄÚµå¿Í ISO 10646 ±âÁØÀÇ ÄÚµå Å×À̺íÀ» À¯ÁöÇϱâ·Î ÇÕÀÇÇß´Ù. ±×¸®°í ±×µéÀº ´õ¿í ¹ßÀüÀûÀÎ È®Àå ±â´ÉÀ» À§ÇØ ¸é¹ÐÈ÷ Çù·ÂÇÏ°í ÀÖ´Ù. À¯´ÏÄÚµå 1.1Àº °ú°Å ISO 10646-1:1993¿¡ ´ëÀÀÇß°í, À¯´ÏÄÚµå 3.0Àº ÇöÀç ISO 10646-1:2000¿¡ ´ëÀÀÇÑ´Ù. <p> À¯´ÏÄÚµå Ç¥ÁØÀº ¸î¸î ÀϹÝÀûÀΠåó·³ <url url="http://www.amazon.com/exec/obidos/ASIN/0201616335/mgk25" name="amazon.com">À¸·ÎºÎÅÍ ¾à 50 ´Þ·¯¿¡ ÁÖ¹®ÇÒ ¼ö ÀÖ´Ù. <quote> The Unicode Consortium: <url url="http://www.amazon.com/exec/obidos/ASIN/0201616335/mgk25" name="The Unicode Standard, Version 3.0">, Reading, MA, Addison-Wesley Developers Press, 2000, ISBN 0-201-61633-5. </quote> <p> ÅؽºÆ® ÇÁ·Î¼¼½Ì°ú ¹®ÀÚ¼ÂÀ» °¡Áö°í ÀÚÁÖ ÀÛ¾÷À» ÇÑ´Ù¸é, ¿©·¯ºÐµéÀº ¹Ýµå½Ã ÇÑ Ä« ÇǸ¦ ±¸ÀÔÇؾ߸¸ ÇÑ´Ù. <!-- Á¦ 6 ÀåÀÇ ½ÃÀÛ --> <sect>À¯´ÏÄÚµå¿Í ISO 10646 »çÀÌÀÇ Â÷ÀÌÁ¡Àº ¹«¾ùÀΰ¡? <p> À¯´ÏÄÚµå ÄÁ¼Ò½Ã¿òÀÌ °øÇ¥ÇÑ <url url="http://www.unicode.org/unicode/standard/s tandard.html" name="À¯´ÏÄÚµå Ç¥ÁØ">Àº ½ÇÁ¦·Î ±¸Çö ·¹º§ 3¿¡¼­ ±âº» ´Ù±¹¾î Æò¸é(BMP)À» Æ÷ÇÔÇÑ´Ù. µÎ Ç¥ÁØ °øÈ÷ ¸ðµç ¹®ÀÚµéÀº °°Àº À§Ä¡¸¦ °¡Áö¸ç °°Àº ¸íĪÀ» »ç¿ëÇÑ´Ù. <p> À¯´ÏÄÚµå Ç¥ÁØÀº ºÎ°¡ÀûÀ¸·Î ¸î¸î ¹®ÀÚ¿Í °ü·ÃµÈ ÈξÀ ¸¹Àº ¾ð¾î ü°è¸¦ Á¤ÀÇÇÏ°í ÀÖÀ¸¸ç ÀϹÝÀûÀ¸·Î ¾çÁúÀÇ Àμâ ÃâÆÇ ½Ã½ºÅÛ ±¸ÇöÀ» À§ÇÑ ´õ ³ªÀº Âü°í ÀÚ·á°¡ µÈ´Ù. À¯´ÏÄÚµå´Â ¿¹¸¦ µé¾î ¶óƾ¾î¿Í À¯Å¾ È¥ÇÕÇÏ´Â ¾ç ¹æÇâ ÅؽºÆ®¸¦ Ãë±ÞÇϹǷνá, ¸î¸î ¾ð¾îÀÇ ÇÁ¸®Á¨Å×ÀÌ¼Ç ¾ç½ÄÀ» ·»´õ¸µÇϱâ À§ÇÑ ¾Ë°í¸®Áò°ú ¹®ÀÚ¿­ ºñ±³¸¦ À§ÇÑ ¾Ë °í¸®Áò ¹× ±× ¿Ü ¸¹Àº °ÍÀ» ¸í½ÃÇÏ°í ÀÖ´Ù. <p> ´Ù¸¥ ÇÑÆí ISO 10646 Ç¥ÁØÀº Àß ¾Ë·ÁÁø ISO 8859 Ç¥ÁØ°ú ºñ±³ÇßÀ» ¶§ °£´ÜÇÑ ¹®Àڼ Å×ÀÌºí ±× ÀÌ»óÀº ¾Æ´Ï´Ù. ÀÌ°ÍÀº Ç¥ÁØ°ú °ü·ÃµÈ ¸î¸î ±â¼úµéÀ» ¸í½ÃÇÏ°í, ¸î¸î ÀÎ ÄÚµù ´ë¾ÈµéÀ» Á¤ÀÇÇϸç, ISO 6429¿Í ISO 2022¿Í °°Àº ´Ù¸¥ ISO Ç¥ÁØ°ú °ü·ÃµÈ UCS¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ °üÇÑ ¼¼ºÎ »çÇ×À» Æ÷ÇÔÇÑ´Ù. ISO Ç¥ÁØ°ú ¹ÐÁ¢ÇÏ°Ô °ü·ÃµÈ ´Ù¸¥ °Íµé µµ ÀÖ´Ù. ¿¹¸¦ µé¸é, UCS ¹®ÀÚ¿­ÀÇ Á¤·Ä¿¡ °üÇÑ ISO 14651ÀÌ ÀÖ´Ù. ISO 10646-1 Ç¥ÁØÀÇ ÈǸ¢ÇÑ Æ¯Â¡À¸·Î´Â ±×°ÍÀÌ ´Ù¼¸°¡Áö ´Ù¸¥ ½ºÅ¸ÀÏ·Î º¯Çü½ÃÄÑ ÇÑÁßÀÏ ±¹°¡ÀÇ glyph ¿¹¸¦ Á¦°øÇÑ´Ù´Â °ÍÀÌ´Ù. ¹Ý¸é À¯´ÏÄÚµå Ç¥ÁØÀº ÇÑÁßÀÏ ±¹°¡ÀÇ ÇÑÀÚ¸¦ ´ÜÁö Áß±¹ ½ÄÀ¸ ·Î¸¸ º¸¿©ÁØ´Ù. <!-- Á¦ 7 ÀåÀÇ ½ÃÀÛ --> <sect>UTF-8Àº ¹«¾ùÀΰ¡? <p> ¹«¾ùº¸´Ù ¸ÕÀú 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 ¹ÙÀÌÆ®¸¦ »ðÀÔÇؾ߸¸ ÇÑ´Ù. <p> À¯´Ð½º ȯ°æ¿¡¼­ UCS-2(¶Ç´Â UCS-4)¸¦ »ç¿ëÇÏ´Â °ÍÀº ¸Å¿ì ½É°¢ÇÑ ¹®Á¦Á¡À» ºÒ·¯¿Â´Ù. ÀÌ·¯ÇÑ ÀÎÄÚµùÀ» °¡Áø ¹®ÀÚ¿­µéÀº ÆÄÀϸí°ú C ¶óÀ̺귯¸® ÇÔ¼ö ÆĶó¹ÌÅÍ¿¡¼­ Ưº°ÇÑ Àǹ̸¦ °®´Â '\0' ȤÀº '/'¿Í °°ÀÌ ¸Å¿ì ±¤¹üÀ§ÇÑ ¹®ÀÚ ¹ÙÀÌÆ®¸¦ ºÎºÐÀûÀ¸·Î Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. ÀÌ¿¡ ´õÇØ, ´ë´Ù¼öÀÇ À¯´Ð½º ÅøµéÀº ASCII ÆÄÀÏÀ» ¿¹»óÇϸç, Å« ¼öÁ¤ÀÌ ¾øÀÌ´Â 16ºñÆ® ´Ü¾îµéÀ» ¹®ÀÚ·Î ÀÐÀ» ¼ö ¾ø´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯ ¶§¹®¿¡ <bf>UCS-2</bf>´Â ÆÄÀϸí°ú ÅؽºÆ® ÆÄÀÏ ¹× ȯ°æ º¯¼ö µî¿¡ ÀûÇÕÇÑ <bf>À¯´ÏÄÚµå</bf>ÀÇ ¿ÜºÎ ÀÎÄÚµù(suitable external encoding of Unicode)ÀÌ ¾Æ´Ï´Ù. <p> ISO 10646-1 ÀÇ <url url="http://www.cl.cam.ac.uk/~mgk25/ucs/ISO-10646-UTF-8.html" name="Annex R">°ú <url url="ftp://sunsite.doc.ic.ac.uk/packages/rfc/rfc2279.txt" name="RFC 2279">»ó¿¡ Á¤ÀÇµÈ <bf>UTF-8</bf> ÀÎÄÚµùÀº ÀÌ·¯ÇÑ ¹®Á¦Á¡µéÀÌ ¾ø´Ù. ÀÌ°ÍÀº À¯´Ð½º ½ºÅ¸ÀÏÀÇ ¿î¿µ üÁ¦ÇÏ¿¡¼­ <bf>À¯´ÏÄÚµå</bf>¸¦ »ç¿ëÇϱâ À§ÇÑ ÀǽÉÇÒ ¿©Áö¾øÀÌ ÁÁÀº ¹æ¹ýÀÌ´Ù. <p> UTF-8Àº ´ÙÀ½ÀÇ ¼ºÁúÀ» °®°í ÀÖ´Ù: <itemize> <item>U+0000ºÎÅÍ U+007F±îÁöÀÇ UCS ¹®ÀÚµéÀº 0x00¿¡¼­ 0x7f ¹ÙÀÌÆ®±îÁö ½±°Ô ÀÎÄÚµùµÈ´Ù(ASCII¿ÍÀÇ È£È¯¼º). ÀÌ°ÍÀº ¿ÀÁ÷ 7ºñÆ®ÀÇ ASCII ¹®ÀÚµéÀ» Æ÷ÇÔÇÏ´Â ÆÄÀÏ ¹× ¹®ÀÚ¿­µéÀÌ ASCII¿Í UTF-8 ¾çÂÊ ¸ðµÎ¿¡¼­ °°Àº ÀÎÄÚµùÀ» °®´Â´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. <item>U+007Fº¸´Ù Å« ¸ðµç UCS ¹®ÀÚµéÀº °¢°¢ µ¶ÀÚÀûÀÎ ¹ÙÀÌÆ®ÀÇ ½ÃÄö½º·Î½á ÀÎÄÚµùµÇ¸ç, À̰͵éÀº °¢°¢ °¡Àå Áß¿äÇÑ ºñÆ®¼Â(bit set)À» °¡Áø´Ù. ±×·¯¹Ç·Î ´Ù¸¥ ¹®ÀÚÀÇ ºÎºÐ¿¡ ¾î¶² ASCII ¹ÙÀÌÆ®(0x00-0x7f)µµ ³ªÅ¸³¯ ¼ö ¾ø´Ù. <item>ASCII°¡ ¾Æ´Ñ ¹®ÀÚ¸¦ ³ªÅ¸³»´Â ¸ÖƼ¹ÙÀÌÆ® ½ÃÄö½ºÀÇ Ã¹¹ø° ¹ÙÀÌÆ®´Â Ç×»ó 0xC0¿¡¼­ºÎÅÍ 0xFD ¹üÀ§¿¡ ÀÖÀ¸¸ç, ±×°ÍÀº ÀÌ·¯ÇÑ ¹®ÀÚ¸¦ À§ÇØ ¾ó¸¶³ª ¸¹Àº ¹ÙÀÌÆ®°¡ ÇÊ¿äÇÑ Áö¸¦ °¡¸£Å²´Ù. ¸ÖƼ¹ÙÀÌÆ® ½ÃÄö½ºÀÇ ¸ðµç ÀÌÈÄÀÇ ¹ÙÀÌÆ®µéÀº 0x80¿¡¼­ºÎÅÍ 0xBF ¹üÀ§¿¡ ÀÖ´Ù. ÀÌ ¶§¹®¿¡ resynchronizationÀ» ½±°ÔÇÒ ¼ö ÀÖ°í ±¹°¡¿¡ ±¸¾Ö¹ÞÁö ¾Ê°í ÀÎÄÚµùÇÒ ¼ö ÀÖÀ¸¸ç ¹ÙÀÌÆ®¸¦ ÀÒ¾î¹ö¸®Áö ¾Ê°Ô µÈ´Ù. <item>°¡´ÉÇÑ ¸ðµç 2<SUP>31</SUP> UCS Äڵ带 ÀÎÄÚµùÇÒ ¼ö ÀÖ´Ù. <item>UTF-8·Î ÀÎÄÚµùÇÑ ¹®ÀÚµéÀº ÀÌ·ÐÀûÀ¸·Î 6¹ÙÀÌÆ® ±æÀ̱îÁö °¡´ÉÇÏÁö¸¸, 16ºñÆ® BMP ¿µ¿ª ¹®ÀÚµéÀº ¿ÀÁ÷ 3¹ÙÀÌÆ® ±æÀ̱îÁö °¡´ÉÇÏ´Ù. <item>Bigendian UCS-4 ¹ÙÀÌÆ® ¹®ÀÚ¿­ÀÇ Á¤·Ä ¼ø¼­´Â º¸Á¸µÈ´Ù. <item>0xFE ¹× 0xFF ¹ÙÀÌÆ®´Â °áÄÚ UTF-8 ÀÎÄÚµù¿¡¼­ »ç¿ëÇÏÁö ¾Ê´Â´Ù. </itemize> <p> ´ÙÀ½ÀÇ ¹ÙÀÌÆ® ½ÃÄö½º´Â ÇÑ ¹®ÀÚ¸¦ ³ªÅ¸³»±â À§ÇØ »ç¿ëÇÑ´Ù. »ç¿ëµÇ´Â ½ÃÄö½º´Â ±× ¹®ÀÚÀÇ À¯´ÏÄÚµå ¹øÈ£¿¡ µû¶ó ´Þ¶óÁø´Ù. <p> <table> <tabular ca="||"> 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 </tabular> <table> <p> <em>xxx</em>ºñÆ®ÀÇ À§Ä¡´Â ÀÌÁø Ç¥±â¹ý¿¡ ÀÇÇØ ¹®ÀÚ ÄÚµå ¹øÈ£ÀÇ ºñÆ®µé·Î ä¿öÁø´Ù. ¿À¸¥ÂÊÀÇ <em>x</em>ºñÆ®´Â º°·Î Áß¿äÇÏÁö ¾Ê´Ù. ±× ¹®ÀÚÀÇ ÄÚµå ¹øÈ£¸¦ ³ªÅ¸³»´Â ¿ÀÁ÷ °¡Àå ªÀº ¸ÖƼ¹ÙÀÌÆ® ½ÃÄö½º¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸ÖƼ¹ÙÀÌÆ® ½ÃÄö½º¿¡¼­ ù ¹ø° ¹ÙÀÌÆ®ÀÇ ¿ÞÂÊ 1ºñÆ®ÀÇ ¼ö´Â Àüü ½ÃÄö½º¿¡¼­ÀÇ ¹ÙÀÌÆ® ¼ö¿Í °°´Ù´Â Á¡¿¡ ÁÖÀÇÇ϶ó. <p> <bf>¿¹:</bf> "À¯´ÏÄÚµå ¹®ÀÚ <tt>U+00A9 = 1010 1001"</tt>(ÀúÀÛ±Ç ºÎÈ£)´Â ´ÙÀ½°ú °°Àº UTF-8¿¡ µû¶ó ÀÎÄÚµùµÈ´Ù. <verb> 11000010 10101001 = 0xC2 0xA9 </verb> <p> ±×¸®°í ¹®ÀÚ <tt>U+2260 = 0010 0010 0110 0000</tt>(ÀúÀÛ±Ç ºÎÈ£)´Â ´ÙÀ½°ú °°Àº UTF-8¿¡ µû¶ó ÀÎÄÚµùµÈ´Ù. <verb> 11100010 10001001 10100000 = 0xE2 0x89 0xA0 </verb> <p> ÀÌ·¯ÇÑ ÀÎÄÚµùÀÇ °ø½Ä ¸íĪ°ú Á¤È®ÇÑ Ç¥±â´Â UTF-8À̸ç, UTF´Â <bf>U</bf>CS <bf>T</bf>ransformation <bf>F</bf>ormatÀ» ÀǹÌÇÑ´Ù. utf8ȤÀº UTF_8°ú °°Àº ´Ù¸¥ ¹æ¹ýÀ¸·Î UTF-8À» ¹®¼­¿¡ ¾²Áö¸¶¶ó. ¹°·Ð ÀÎÄÚµù ÀÚü¸¦ ÂüÁ¶ÇÏÁö ¾Ê°í º¯¼ö¸í¿¡ ÂüÁ¶ÇÒ °æ¿ì¿¡´Â±¦Âú´Ù. <p> <bf>UTF-8ÀÇ µðÄÚµù ó¸® ¼ø¼­¿¡ À־ Áß¿äÇÑ Á¡Àº ´ÙÀ½°ú °°´Ù:</bf> º¸¾È»óÀÇ ÀÌÀ¯ ¶§¹®¿¡, UTF-8 µðÄÚ´õ´Â ÇÑ ¹®ÀÚ¸¦ ÀÎÄÚµùÇϱâ À§Çؼ­ ÇÊ¿ä ÀÌ»óÀ¸·Î ±ä UTF-8 ½ÃÄö½º¸¦ ¹Þ¾Æµé¿©¼­´Â<url url="http://www.unicode.org/unicode/uni2errata/UTF-8_Corrigendum.html" name="¾È µÈ´Ù">. ¿¹¸¦ µé¾î U+000A(¶óÀÎ Çǵå) ¹®ÀÚ´Â <bf>¿ÀÁ÷</bf> 0x0A Çü½ÄÀ¸·Î UTF-8 ½ºÆ®¸²À¸·ÎºÎÅÍ ¹Þ¾Æµé¿©¾ß¸¸ Çϸç, ´ÙÀ½ÀÇ ´Ù¼¸°¡Áö¿Í °°ÀÌ °úµµÇÏ°Ô ±ä(overlong) Çü½ÄÀ¸·Î ¹Þ¾Æµé¿©¼­´Â ¾ÈµÈ´Ù. <verb> 0xc0 0x8A 0xe0 0x80 0x8A 0xf0 0x80 0x80 0x8A 0xf8 0x80 0x80 0x80 0x8A 0xfc 0x80 0x80 0x80 0x80 0x8A </verb> <p> °¡Àå ªÀº ÀÎÄÚµùÀ» ã±â À§ÇÑ UTF-8 ¼­ºê½ºÆ®¸µ Å×½ºÆ®¸¦ ¹«½ÃÇϱ⠾ °úµµÇÏ°Ô ±ä UTF-8 ½ÃÄö½º¸¦ ³²¿ëÇÒ ¼ö ÀÖ´Ù. ¸ðµç °úµµÇÏ°Ô ±ä Çü½ÄÀÇ UTF-8 ½ÃÄö½º´Â ´ÙÀ½ÀÇ ¹ÙÀÌÆ® ÆÐÅÏ Áß ÇÑ °¡Áö·Î ½ÃÀÛÇÑ´Ù. <p> <table> <tabular ca="|"> 1100000x (10xxxxxx)@ 11100000 100xxxxx (10xxxxxx)@ 11110000 1000xxxx (10xxxxxx 10xxxxxx)@ 11111000 10000xxx (10xxxxxx 10xxxxxx 10xxxxxx)@ 11111100 100000xx (10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx) </tabular> </table> <p> Á¤»óÀûÀÎ UTF-8 ȤÀº UCS-4 µ¥ÀÌÅͻ󿡼­ ÄÚµå À§Ä¡ U+FFFE¿Í U+FFFF »Ó¸¸ ¾Æ´Ï¶ó ÄÚµå À§Ä¡ U+D800 ºÎÅÍ U+DFFF(UTF-16 ´ë¿ë)±îÁö´Â »ç¿ëÇؼ­´Â ¾È µÈ´Ù. UTF-8 µðÄÚ´õ´Â ÀÌ·¯ÇÑ °ÍµéÀ» ¾ÈÀü¼ºÀ» ÀÌÀ¯·Î, À߸øµÈ Çü½ÄÀ¸·Î ȤÀº ³Ê¹« ±ä ½ÃÄö½º·Î Ãë±ÞÇØ¾ß ¸¸ ÇÑ´Ù. <p> <url url="http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt" name="Markus KuhnÀÇ UTF-8 decoder stress test file">Àº À߸øµÈ Çü½ÄÀ» °®´Â °úµµÇÏ°Ô ±ä UTF-8 ½ÃÄö½ºÀÇ Ã¼°èÀûÀÎ ¸ðÀ½À» Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç µðÄÚ´õÀÇ °­·ÂÇÔÀ» Áõ¸íÇØÁØ´Ù. <!-- Á¦ 8 ÀåÀÇ ½ÃÀÛ --> <sect>À¯´ÏÄڵ带 Áö¿øÇÏ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î´Â ¹«¾ùÀΰ¡? <p> 1993³â°æ ÀÌÈÄ¿¡ °³¹ßµÈ ÃÖ±ÙÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾îµéÀº ÀÌ¹Ì À¯´ÏÄÚµå/ISO 10646-1 ¹®ÀÚµéÀ» À§ÇÑ Æ¯º°ÇÑ µ¥ÀÌÅÍ ÇüÀ» °¡Áö°í ÀÖ´Ù. ÀÌ°ÍÀº Ada95ÀÇ °æ¿ì Wide_CharacterÀ̸ç ÀÚ¹ÙÀÇ °æ¿ì CharÀÌ´Ù. <p> ISO C´Â ¶ÇÇÑ ¸ÖƼ¹ÙÀÌÆ® ÀÎÄÚµù°ú ¿ÍÀÌµå ¹®ÀÚ(wide character)¸¦ Ãë±ÞÇϱâ À§ÇÑ ¸ÞÄ¿´ÏÁòÀ» ¸í½ÃÇÏ°í ÀÖÀ¸¸ç, <url url="http://www.lysator.liu.se/c/na1.html" name="Amendment 1 to ISO C">°¡ 1994³â 9¿ù¿¡ ¹ßÇàµÇ¾úÀ» ¶§ ´õ¿í ´õ ¸¹Àº °ÍµéÀÌ Ãß°¡µÇ¾ú´Ù. ÀÌ·¯ÇÑ Æí¸®ÇÑ ±â´ÉÀº ÁÖ·Î ¿©·¯°¡Áö µ¿¾Æ½Ã¾Æ ¹®ÀÚµéÀ» ÀÎÄÚµùÇϱâ À§Çؼ­ ¼³°èµÇ¾ú°í UCS¸¦ Ãë±ÞÇϱâ À§Çؼ­ ÇÊ¿äÇÑ °Íº¸´Ù ÈξÀ ´õ º¹ÀâÇØÁ³´Ù. UTF-8Àº ISO C Ç¥ÁØÀÌ ÇϳªÀÇ ¸ÖƼ¹ÙÀÌÆ® ¹®ÀÚ¿­°ú <tt>wchar_t</tt> ÇüÀ» È£ÃâÇϱâ À§ÇÑ ÇϳªÀÇ ÀÎÄÚµù ¿¹Àε¥, ÀÌ°ÍÀº ÇöÀçÀÇ È¯°æ¿¡¼­´Â º¸Åë 32ºñÆ®ÀÇ ºÎÈ£ÀÖ´Â Á¤¼öÀ̸ç, À¯´ÏÄÚµå ¹®ÀÚ¸¦ ÀúÀåÇϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ´Ù. C ÄÄÆÄÀÏ·¯´Â <tt>yyyymmL</tt> ÇüŸ¦ °®´Â »ó¼ö Á¤¼ö¸¦ <tt>__STDC_ISO_10646__</tt> º¯¼ö¿¡ ¸ÅÅ©·Î Á¤ÀÇÇϹǷνá, <tt>wchar_t</tt> º¯¼ö°¡ ¸ðµç ·ÎÄÉÀÏ¿¡ °áÄ£ À¯´ÏÄÚµå °ªÀ» ÀúÀåÇÑ´Ù´Â °ÍÀ» º¸ÁõÇÏ´Â ½ÅÈ£¸¦ ¾ÖÇø®ÄÉÀ̼ǿ¡ º¸³¾ ¼ö ÀÖ´Ù(199712LÀ» ¿¹·Î µé¾îº¸¸é, ¿¬µµ¿Í ¿ù ¼ö´Â ISO/IEC 10646°ú ±×°ÍÀÌ ¾ðÁ¦ ¸¸µé¾îÁ³°í ¾ðÁ¦ ¼öÁ¤µÇ¾ú´ÂÁö¸¦ ³ªÅ¸³»´Â ¹öÀüÀ» ÂüÁ¶ÇÑ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù). <!-- Á¦ 9 ÀåÀÇ ½ÃÀÛ --> <sect>¸®´ª½º¿¡¼­ À¯´ÏÄڵ带 ¾î¶»°Ô »ç¿ëÇϴ°¡? <p> UTF-8ÀÌ ¹ßÇ¥µÇ±â Àü¿¡´Â ´Ù¸¥ Áö¿ª¿¡ »ì°í ÀÖ´Â ¸®´ª½º À¯ÀúµéÀº ¿©·¯°¡Áö ASCII È®Àå ¹®ÀÚ¸¦ »ç¿ëÇÏ¿´´Ù. À¯·´¿¡¼­´Â ISO 8859-1°ú ISO 8859-2¸¦, ±×¸®½º¿¡¼­´Â ISO 8859-7À», ·¯½Ã¾Æ¿¡¼­´Â KOI-8À», ÀϺ»¿¡¼­´Â EUC¿Í Shift-JIS¸¦ °¡Àå ³Î¸® »ç¿ëÇÏ¿´´Ù. ÀÌ·Î ÀÎÇÏ¿© ÆÄÀÏÀ» ±³È¯ÇÏ´Â °ÍÀÌ ¾î·Á¿ü°í, ¾îÇø®ÄÉÀÌ¼Ç ¼ÒÇÁÆ®¿þ¾î¸¦ Á¦ÀÛÇϱâ À§Çؼ­´Â ÀÌ·¯ÇÑ ÀÎÄÚµùµé »çÀÌÀÇ Â÷ÀÌÁ¡À» °ÆÁ¤Çؾ߸¸ Çß´Ù. <p> À¯´ÏÄÚµå´Â °á±¹¿¡´Â ÀÌ·¯ÇÑ ¸ðµç ÀÎÄÚµùµéÀ» ´ë½ÅÇÒ °ÍÀ̸ç, UTF-8 Çü½ÄÀÌ ÁÖ¸¦ ÀÌ·ê °ÍÀÌ´Ù. UTF-8Àº ¾Æ·¡¿Í °°Àº °æ¿ì¿¡ »ç¿ëµÉ °ÍÀÌ´Ù. <itemize> <item>ÅؽºÆ® ÆÄÀÏ(¼Ò½º ÄÚµå, html ÆÄÀÏ, À̸ÞÀÏ ¸Þ½ÃÁö µî) <item>ÆÄÀϸí <item>Ç¥ÁØ ÀÔÃâ·Â, ÆÄÀÌÇÁ <item>ȯ°æ º¯¼ö <item>¼±ÅÃÇÑ ¹öÆÛ ³»¿ëÀ» ÀÚ¸£°í ºÙÀ̱â <item>ÅÚ³Ý, ¸ðµ©, Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ¿¡ ¿¬°áÇÑ ½Ã¸®¾ó Æ÷Æ® <item>¹ÙÀÌÆ® ½ÃÄö½º°¡ ASCII ÄÚµå·Î Çؼ®µÇ´Â °÷ÀÌ¸é ¾î¶² °÷À̵çÁö »ç¿ëµÈ´Ù. </itemize> <p> UTF-8 ¸ðµå¿¡¼­ xtermÀ̳ª ¸®´ª½º ÄÜ¼Ö µå¶óÀ̹ö¿Í °°Àº Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ´Â ´ëÀÀÇÏ´Â UTF-8 ½ÃÄö½º·Î ¸ðµç Å°ÀÔ·ÂÀ» Àü´ÞÇϸç, Å°ÀÔ·ÂÀ» Æ÷±×¶ó¿îµå ÇÁ·Î¼¼¼­ÀÇ Ç¥ÁØ ÀÔ·ÂÀ¸·Î º¸³½´Ù. ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ÇÁ·Î¼¼¼­ÀÇ Ç¥ÁØ Ãâ·ÂÀ» Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ·Î º¸³»°í ±×°÷¿¡¼­ Ãâ·ÂÀ» UTF-8 µðÄÚ´õ·Î ó¸®ÇÏ°í 16ºñÆ® ÆùÆ®¸¦ »ç¿ëÇÏ¿© µð½ºÇ÷¹ÀÌÇÑ´Ù. <p> °æ°íÀ½À» °®´Â ¿ÏÀüÇÑ À¯´ÏÄÚµå ±â´ÉÀº º¹ÀâÇÑ ´ÙÁß-¾ð¾î ¿öµå-ÇÁ·Î¼¼½Ì ÆÐÅ°Áö¿¡ »ç¿ëÇÒ °ÍÀ¸·Î ¿¹»óÇÒ ¼ö ÀÖ´Ù. ¸®´ª½º´Â Ʋ¸²¾øÀÌ ASCII ¹®ÀÚ¸¦ ´ë½ÅÇϱâ À§ÇÑ Æø ³ÐÀº ±â¹Ý À§¿¡¼­ »ç¿ëµÉ °ÍÀ̸ç, ´Ù¸¥ 8ºñÆ® ¹®ÀÚ¼ÂÀº ÈξÀ ´Ü¼øÇØÁú °ÍÀÌ´Ù. ¸®´ª½ºÀÇ Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ¿Í ¸í·É ¶óÀÎ µµ±¸µéÀº óÀ½ ´Ü°è¿¡¼­ ¹Ù·Î UTF-8·Î ÀüȯÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀÌ°ÍÀº ISO 10646-1À¸·Î ±¸ÇöÇÑ ·¹º§ 1ÀÌ (¾î¶°ÇÑ °áÇÕ ¹®ÀÚµµ »ç¿ëÇÏÁö ¾Ê°í) »ç¿ëµÊÀ» ÀǹÌÇϸç, ¾î¶°ÇÑ ÇÁ·Î¼¼½Ì Áö¿øµµ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â ¶óƾ¾î, ±×¸®½º¾î, Å°¸±¾î ¹× ¸¹Àº °úÇÐ ±âÈ£¿Í °°Àº ¼­Ã¼(script)µé¸¸ Áö¿øµÊÀ» ÀǹÌÇÑ´Ù. ÀÌ·¯ÇÑ ·¹º§¿¡¼­ UCS Áö¿øÀº ISO 8859 Áö¿ø¿¡ ºñ±³ÇÒ ¸¸ Çϸç À¯ÀÏÇÑ Áß¿äÇÑ Â÷ÀÌÁ¡Àº ÇöÀç À¯¿ëÇÑ ¼ö¸¹Àº ´Ù¸¥ Á¾·áÀÇ ¹®ÀÚµéÀÌ ÀÖÀ¸¸ç, ¹®ÀÚµéÀº ¸ÖƼ¹ÙÀÌÆ® ½ÃÄö½º·Î ³ªÅ¸³¾ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. <p>¸®´ª½º¿¡¼­ °á±¹ °áÇÕ ¹®ÀÚ°¡ Áö¿øµÇ°ÚÁö¸¸ ¹Ì¸® ¸¸µé¾îÁø(precomposed) ¹®ÀÚµéÀÌ À¯¿ëÇÑ °áÇÕ ¹®ÀÚ ½ÃÄö½ºº¸´Ù ´õ¿í ÁÁÀº ¼±ÅÃÀÌ µÇ¾î¾ß¸¸ ÇÑ´Ù. ´õ ¸í¹éÇÏ°Ô ¸»ÇÏÀÚ¸é, ¸®´ª½º»ó¿¡¼­ À¯´ÏÄÚµå·Î ¸¸µé¾îÁø ÅؽºÆ®¸¦ ÀÎÄÚµùÇÏ´Â ´õ ÁÁÀº ¹æ¹ýÀº <url url="http://www.unicode.org/unicode/reports/tr15/" name="Unicode Technical Report #15">¿¡¼­ Á¤ÀÇÇÑ Ç¥ÁØ Çü½Ä C <em>(Normalization Form C)</em>°¡ µÇ¾î¾ß¸¸ ÇÑ´Ù. <p> ¿µÇâ·ÂÀÖ´Â 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 ¼¼°è¿¡¼­´Â »ç¿ëÇÏÁö ¾Ê´Â´Ù. <!-- Á¦ 10 ÀåÀÇ ½ÃÀÛ --> <sect>¼ÒÇÁÆ®¿þ¾î¸¦ ¾î¶»°Ô ¼öÁ¤Çؾ߸¸ Çϴ°¡? <p> UTF-8 Áö¿øÀ» À§ÇÑ µÎ °¡Áö Á¢±Ù ¹æ¹ýÀÌ ÀÖ´Ù. ÀÌ°ÍÀ» ¼ÒÇÁÆ® ¹× ÇÏµå º¯È¯À̶ó ºÎ¸£±â·Î ÇÏ°Ú´Ù. ¼ÒÇÁÆ® º¯È¯¿¡¼­ µ¥ÀÌÅÍ´Â UTF-8 Çü½ÄÀ¸·Î ¾îµð¼­³ª º¸Á¸µÇ¸ç ´ÜÁö ¸Å¿ì ÀûÀº ¼öÀÇ ¼ÒÇÁÆ®¿þ¾î¸¸ º¯È­½Ãų ÇÊ¿ä°¡ ÀÖ´Ù. ÇÏµå º¯È¯¿¡¼­ ÇÁ·Î±×·¥ÀÌ ÀоîµéÀÌ´Â UTF-8 µ¥ÀÌÅÍ´Â ÆøÀÌ Å«(wide) ¹®ÀÚ ¹è¿­·Î º¯È¯ µÉ °ÍÀ̸ç, ¶ÇÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ³»ºÎÀÇ ¾î´À °÷¿¡¼­µµ ó¸®µÉ °ÍÀÌ´Ù. <p> ´ëºÎºÐÀÇ ¾ÖÇø®ÄÉÀ̼ǵéÀº ´ÜÁö ¼ÒÇÁÆ® º¯È¯¸¸À¸·Îµµ Àß µ¿ÀÛÇÑ´Ù. ¼ÒÇÁÆ® º¯È¯Àº À¯´Ð½º »ó¿¡¼­ UTF-8À» ¹Þ¾ÆµéÀÏ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¸é, <tt>cat</tt>°ú <tt>echo</tt>¿Í °°Àº ÇÁ·Î±×·¥µéÀº ÀüÇô ¼öÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ±×°ÍµéÀº ÀÔÃâ·ÂÀÌ ISO 8859-2 À̵ç UTF-8ÀÌµç »ó°ü¾øÀÌ ¿Ïº®ÇÏ°Ô ¹«½ÃÇÑ´Ù. ¿Ö³ÄÇϸé, ±×°ÍµéÀº ÀÔÃâ·ÂÀ» ÇÁ·Î¼¼½ºÈ­ÇÏÁö ¾Ê°í ´Ü Áö ¹ÙÀÌÆ® ½ºÆ®¸²À» Ãë±ÞÇϱ⠶§¹®ÀÌ´Ù. ±×°ÍµéÀº ¿ÀÁ÷ UTF-8 »ó¿¡¼­ ¾î¶°ÇÑ º¯È­µµ ÀϾÁö ¾Ê´Â <tt>'\n'</tt>°ú °°Àº Á¦¾î ÄÚµå¿Í ASCII ¹®ÀÚ¸¸ ÀνÄÇÑ´Ù. ±×·¯¹Ç·Î UTF-8 ÀÎÄÚµù ¹× µðÄÚµùÀº Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ¿¡¼­ µ¿ÀÛÇÏ´Â ÀÌ·¯ÇÑ ¾îÇø®ÄÉÀ̼ǿ¡ ´ëÇؼ­ ¿Ïº®ÇÏ°Ô ÀÌ·ç¾îÁø´Ù. <p> ¹ÙÀÌÆ® ¼ö¸¦ °è»êÇÏ¿© ÇÑ ¹®ÀÚ¿­ ¾ÈÀÇ ¹®ÀÚ ¼ö¸¦ °áÁ¤ÇÏ´Â ¸ðµç ÇÁ·Î±×·¥À» À§Çؼ­ ¾à°£ÀÇ ¼öÁ¤ÀÌ ÇÊ¿äÇÒ °ÍÀÌ´Ù. UTF-8 ¸ðµå¿¡¼­, ÇÁ·Î±×·¥µéÀº 0x80ºÎÅÍ 0xBF ¹üÀ§ »çÀÌÀÇ ¾î¶² ¹ÙÀÌÆ® ¼öµµ °è»êÇؼ­´Â ¾ÈµÈ´Ù. ¿Ö³ÄÇϸé ÀÌ·¯ÇÑ ¹ÙÀÌÆ® ¼ö´Â ¿¬¼Ó ¹ÙÀÌÆ®(continuation bytes)ÀÌ¸ç ¼ÒÀ¯ÇÏ°í ÀÖ´Â ¹®ÀÚ´Â ¾Æ´Ï±â ¶§¹®ÀÌ´Ù. UTF-8°ú ÇÔ²² C¾ð¾îÀÇ <tt>strlen(s)</tt>ÇÔ ¼ö ¶ÇÇÑ ¹®ÀÚ¿­ ¾ÈÀÇ ¹®ÀÚ¼ö¸¦ ¹Ù¸£°Ô °è»êÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ±× ´ë½Å, ¸¸ ¾à UTF-8 ·ÎÄÉÀÏÀÌ ¼±ÅõǾú´Ù¸é ¹®ÀÚ¼ö¸¦ °è»êÇϱâ À§ÇÏ¿© <tt>mbstowcs (NULL,s,0)</tt> ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. <p> ¿¹¸¦ µé¾î, <tt>ls</tt> ÇÁ·Î±×·¥Àº ¼öÁ¤Çؾ߸¸ ÇÑ´Ù. ¿Ö³ÄÇÏ¸é ±× °ÍÀº µð·ºÅ丮¸¦ À¯Àú¿¡°Ô º¸¿©ÁÖ±â À§ÇÑ Å×À̺íÀÇ ·¹À̾ƿô ü°è¸¦ °®Ãß±â À§Çؼ­ ¹®ÀÚ¼ö¸¦ ÆÄÀϸíÀ¸·Î °è»êÇϱ⠶§¹®ÀÌ´Ù. ÀÌ¿Í À¯»çÇÏ°Ô °íÁ¤µÈ Æø À» °®´Â ÆùÆ®·Î Ãâ·ÂÇÏ°í ±× Ãâ·ÂÀ» Æ÷¸ËÇÏ´Â ÇÁ·Î±×·¥µéÀº ±×°Í¿¡ ¾Ë¸Â°Ô UTF-8 ÅؽºÆ® »óÀÇ ¹®ÀÚ ¼ö¸¦ °è»êÇϱâ À§ÇÑ ¹æ¹ýÀ» ¾Ë¾Æ¾ß¸¸ ÇÑ´Ù. ÇÑ ¹® ÀÚ¸¦ Áö¿ì´Â °Í°ú °°Àº ¿¡µðÅÍ ÇÔ¼ö´Â ÇÑ ¹®ÀÚ¿¡ ¼ÓÇÏ´Â ¸ðµç ¹ÙÀÌÆ®¸¦ Áö ¿ì±â À§Çؼ­ ¾à°£ ¼öÁ¤Çؾ߸¸ ÇÑ´Ù. ¿¹¸¦ µé¸é, <tt>ncurses</tt> ¶óÀÌ ºê·¯¸®¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ »Ó¸¸ ¾Æ´Ï¶ó <tt>vi</tt>³ª <tt>emacs </tt>¿Í °°Àº ¿¡µðÅÍ ¿ª½Ã ÀÌ¿Í ºñ½ÁÇÑ ¿µÇâÀ» ¹Þ´Â´Ù. <p> ¸®´ª½º Ä¿³Î ¶ÇÇÑ ¼ÒÇÁÆ® º¯È¯¸¸À¸·Îµµ Àß µ¿ÀÛÇÒ ¼ö ÀÖÀ¸¸ç, UTF-8À» ¿Ïº®ÇÏ°Ô Áö¿øÇϱâ À§ÇÑ ¾ÆÁÖ ¾à°£ÀÇ ¼öÁ¤¸¸ ÇÊ¿äÇÏ´Ù. ¹®ÀÚ¿­(¿¹¸¦ µé¾î ÆÄÀϸí, ȯ°æ º¯¼ö µî)À» Ãë±ÞÇÏ´Â ´ëºÎºÐÀÇ Ä¿³Î ÇÔ¼öµéÀº ¿µÇâÀ» ¹ÞÁö ¾Ê ´Â´Ù. ´ÙÀ½°ú °°Àº °æ¿ì¿¡ ¼öÁ¤ÀÌ ÇÊ¿äÇÒ ¼ö ÀÖ´Ù. <itemize> <item>ÄÜ¼Ö µð½ºÅ¬·¹ÀÌ¿Í Å°º¸µå µå¶óÀ̹ö(Çϳª ´õÇÏÀÚ¸é VT100 ¿¡¹Ä·¹ÀÌÅÍ) ´Â UTF-8À» ÀÎÄÚµù ¹× µðÄÚµùÇØ¾ß Çϸç Àû¾îµµ À¯´ÏÄÚµå ¹®ÀÚ¼ÂÀÇ ¸î¸î ¼­ ºê¼Â(subset)À» Áö¿øÇؾ߸¸ ÇÑ´Ù. <item>VFAT°ú WinNT¿Í °°Àº ¿ÜºÎ ÆÄÀÏ ½Ã½ºÅÛ µå¶óÀ̹ö´Â ÆÄÀϸíÀ» ³ªÅ¸³»´Â ¹®ÀÚ ÀÎÄÚµùÀ» º¯È¯½ÃÄѾ߸¸ ÇÑ´Ù. ÀÌÀü¿¡ À¯È¿Çß´ø º¯È¯ ¿É¼Ç ¸ñ·Ï¿¡ UTF- 8À» ´õÇؾ߸¸ Çϸç, <tt>mount</tt> ¸í·ÉÀº À¯Àú°¡ ½ÇÇà½ÃŲ ÇÁ·Î¼¼¼­ °¡ UTF-8 ÆÄÀϸíÀ» º¼ ¼ö ÀÖµµ·Ï Ä¿³Î µå¶óÀ̹ö¿¡°Ô ¾Ë·Á¾ß¸¸ ÇÑ´Ù. VFAT ¹× WinNT ÆÄÀÏ ½Ã½ºÅÛÀº ÀÌ¹Ì À¯´ÏÄڵ带 »ç¿ëÇÏ°í Àֱ⠶§¹®¿¡, UTF-8Àº º¯È¯ Áß¿¡ ¼Õ½ÇÀÌ ÀϾÁö ¾Ê´Â´Ù´Â °ÍÀ» º¸ÁõÇÑ´Ù. <item>¸ðµç POSIX ½Ã½ºÅÛÀÇ tty µå¶óÀ̹ö´Â ¿ø½ÃÀûÀÎ ÇÑ Çà ÆíÁý ±â´ÉÀ» »ç¿ë ÇÒ ¼ö ÀÖ°Ô ÇÏ´Â ÀÏÁ¾ÀÇ "cooked" ¸ðµå¸¦ Áö¿øÇÑ´Ù. ¹®ÀÚ »èÁ¦ ÇÔ¼ö°¡ ÀûÀý È÷ ÀÛ¿ëµÇµµ·Ï Çϱâ À§Çؼ­ stty´Â ttyÀÇ UTF-8 ¸ðµå°¡ 0x80¿¡¼­ºÎÅÍ 0xBF ±îÁöÀÇ ¹üÀ§ ¾È¿¡¼­ ¿¬¼Ó ¹è¿­À» ¹®ÀÚ·Î °è»êÇÏÁö ¾Êµµ·Ï UTF-8 ¸ðµå¸¦ ¼³ Á¤Çؾ߸¸ ÇÑ´Ù. <url url="http://clisp.cons.org/~haible/" name="Bruno Haible">ÀÌ Á¦°øÇÏ´Â <tt>stty<tt>¿Í Ä¿³ÎÀÇ tty µå¶óÀ̹ö¸¦ À§ÇÑ ¸î°¡Áö <url url="ftp://ftp.ilog.fr/pub/Users/haible/utf8/" name="¸®´ª½º ÆÐÄ¡">°¡ Á¸ÀçÇÑ´Ù. </itemize> <!-- Á¦ 11 ÀåÀÇ ½ÃÀÛ --> <sect>À¯´ÏÄÚµå¿Í UTF-8À» À§ÇÑ CÀÇ Áö¿ø <p> GNU glibc 2.2ºÎÅÍ »ìÆ캸¸é, ÇöÀç »ç¿ëÇÏ´Â ·ÎÄÉÀÏ°ú »ó°ü¾øÀÌ, <tt> wchar_t</tt> ÇüÀº °ø½ÄÀûÀ¸·Î ¿ÀÁ÷ 32ºñÆ® ISO 10646 °ªÀ¸·Î »ç¿ëµÇ´Â °æÇâÀÌ ÀÖ´Ù. ISO C99¿¡¼­ ÇÊ¿ä·Î Çϱ⠶§¹®¿¡ <tt>__STDC_ISO_10646__</tt> ¸ÅÅ©·Î Á¤ÀÇ¿¡ ÀÇÇؼ­ ¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÌ°ÍÀ» ½Ã±×³Î·Î º¸³½´Ù. ISO C ¸ÖƼ-¹ÙÀÌÆ® º¯È¯ ÇÔ¼öµé(<tt>wprintf()</tt>, <tt>mbstowcs()</tt> µî)Àº glibc 2.2 ȤÀº ±× À̻󿡼­ ¿Ïº®ÇÏ°Ô ±¸ÇöµÇ¸ç, UTF-8 °úÁ¤À» Æ÷ÇÔÇϸ鼭 <tt>wchar_t</tt>¿Í ·ÎÄÉÀÏ µ¶¸³ÀûÀÎ ¸ÖƼ¹ÙÀÌÆ® ÀÎÄÚµù »ç ÀÌ¿¡¼­ º¯È¯Çϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ´Ù. <p> ¿¹¸¦ µé¸é ¾Æ·¡¿Í °°ÀÌ ¾µ ¼ö ÀÖ´Ù. <verb> wprintf(L"Schone Gru©¬e!\n"); </verb> <p> ±×·± µÚ¿¡ ¼ÒÇÁÆ®¿þ¾î´Â ÀÌ·¯ÇÑ ÅؽºÆ®¸¦ »ç¿ëÀÚ°¡ ȯ°æ º¯¼ö <tt>LC_CTY PE</tt>(¿¹¸¦ µé¸é, <tt>en_US.UTF-8</tt> ȤÀº <tt>de_DE.ISO_885 9-1</tt>)À¸·Î ¼±ÅÃÇÑ ·ÎÄÉÀÏ¿¡ ¸í½ÃµÈ ÀÎÄÚµù»ó¿¡ Ãâ·ÂÇÒ °ÍÀÌ´Ù. ÄÄÆÄ ÀÏ·¯´Â C ¼Ò½º ÆÄÀÏ¿¡¼­ »ç¿ëÇÏ´Â ÀÎÄÚµù¿¡ ÀûÇÕÇÑ ·ÎÄÉÀÏ¿¡¼­ µ¿ÀÛÇؾ߸¸ ÇÑ´Ù. ±×¸®°í ³ª¸é À§ÀÇ ¹®ÀÚ¿­Àº À¯´ÏÄÚµå wchar_t ¹®ÀÚ¿­¿¡ ÀÇÇؼ­ ¿Àºê Á§Æ® ÆÄÀÏ¿¡ Á¤È®ÇÏ°Ô ÀúÀåµÉ °ÍÀÌ´Ù. Ãâ·Â½Ã¿¡´Â ·±-ŸÀÓ ¶óÀ̺귯¸®°¡ wc har_t ¹®ÀÚ¿­À» ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ´Â ȯ°æÀÇ ·ÎÄÉÀÏ¿¡ ²À ¸Â´Â ÀÎÄÚµùÀ¸·Î ´Ù½Ã º¯È¯½Ãų °ÍÀÌ´Ù. <!-- Á¦ 12 ÀåÀÇ ½ÃÀÛ --> <sect>UTF-8 ¸ðµå´Â ¾î¶»°Ô È°¼ºÈ­µÇ¾î¾ß Çϴ°¡? <p> ¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÌ 8ºñÆ® ¹®ÀÚ¼Â(ISO 8859-*, KOI-8 µî) °ú UTF-8 ¸ðµÎ¸¦ Áö¿øÇÑ´Ù¸é ±×°ÍÀÌ UTF-8 ¸ðµå¸¦ »ç¿ëÇÑ´Ù°í °¡Á¤ÇÒ ¼ö ÀÖ ´Â Áö ¾ø´ÂÁö¸¦ ¸î °¡Áö ¹æ¹ýÀ¸·Î ¾Ë¾Æ³»¾ß¸¸ ÇÑ´Ù. ¹Ù¶ó°Ç´ë, ¸î ³â ¾È¿¡ ¸ðµç »ç¶÷µéÀÌ ¿ÀÁ÷ UTF-8¸¸À» »ç¿ëÇÏ°í ÀÖÀ» °ÍÀ̸ç, ¿©·¯ºÐµéÀº ±×°ÍÀ» ±âº»°ªÀ¸·Î ¸¸µé ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¯³ª °íÀüÀûÀÎ 8ºñÆ® ¼Â°ú UTF-8 ¸ðµÎ °¡ Ʋ¸²¾øÀÌ Áö¿øµÇ±â Àü±îÁö´Â ¾Æ´Ï´Ù. <p> ÇöÀç »ç¿ëµÇ´Â ¾ÖÇø®ÄÉÀ̼ǵéÀº ±×µé °¢°¢ÀÇ UTF-8 ¸ðµå¸¦ È°¼ºÈ­½ÃÅ° ±â À§ÇØ ÀüüÀûÀ¸·Î ´Ù¸¥ ¸í·É ¶óÀÎ ½ºÀ§Ä¡µéÀ» »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¸é: <itemize> <item>xtermÀÇ ¸í·É ¶óÀÎ ¿É¼Ç "-u8"°ú X ¸®¼Ò½ºÀÇ "XTerm*utf8: 1" <item>gnat/gccÀÇ ¸í·É ¶óÀÎ ¿É¼Ç "-gnatW8" <item>sttyÀÇ ¸í·É ¶óÀÎ ¿É¼Ç "iutf8" <item>minedÀÇ ¸í·É ¶óÀÎ ¿É¼Ç "-U" <item>xemacs¿¡´Â UTF-8°ú ³»ºÎÀûÀ¸·Î »ç¿ëÇÏ´Â MULE ÀÎÄÚµù »çÀÌ¿¡¼­ º¯È¯½Ã Å°±â À§ÇÑ elisp ÆÐÅ°Áö°¡ ÀÖ´Ù. <item>vimÀÇ 'fileencoding' ¿É¼Ç <item>lessÀÇ È¯°æ º¯¼ö LESSCHARSET=utf-8 </itemize> <p> Ưº°ÇÑ ¸í·É ¶óÀÎ ¿É¼ÇÀ̳ª ¸ðµç ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇØ ¸ðµç ¼³Á¤ ¸ÞÄ«´ÏÁò À» ±â¾ïÇÏ´Â °ÍÀº ¸÷½Ã Áö·çÇÑ ÀÏÀÌ´Ù. ±×·¯¹Ç·Î ¸î °¡Áö Ç¥ÁØ »çÇ×À» ±ÞÈ÷ ¸¸µé ÇÊ¿ä°¡ ÀÖ´Ù. <!-- Á¦ 13 ÀåÀÇ ½ÃÀÛ --> <sect>UTF-8À» Áö¿øÇÏ´Â X-term ¹öÀüÀº ¾î¶»°Ô ±¸Çϴ°¡? <p> (<url url="http://dickey.his.com/" name="Thomas Dickey">°¡ °ü¸®ÇÏ´Â <url url="http://www.xfree86.org/" name="XFree86"> 4.0 ȤÀº º¸´Ù ³ôÀº ¹öÀü¿¡¼­ »ç¿ëÇÏ´Â <url url="http://dickey.his.com/xterm/xterm.html" name="xterm"> ¹öÀüÀº ÀÌ¹Ì UTF-8 Áö¿øÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. ¸¸¾à ´ç½ÅÀÌ XFree86 4.0À» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é, ´ë¾ÈÀ¸·Î½á <url url="ftp://dickey.his.com/xterm/ xterm.tar.gz" name="°¡Àå ÃÖ½ÅÀÇ xterm °³¹ß ¹öÀü">À» µû·Î ´Ù¿î·ÎµåÇÒ ¼ö ÀÖÀ¸¸ç ¿©·¯ºÐÀÌ Á÷Á¢ "<tt>./configure --enable-wide-chars ; make</tt>" ¸í·ÉÀ» »ç¿ëÇÏ¿© ÄÄÆÄÀÏ ÇÒ ¼ö ÀÖ´Ù. <p> xtermÀÇ ÀÔÃâ·Â ¸ðµå¸¦ UTF-8·Î º¯È¯½ÃÅ°±â À§Çؼ­´Â ¸í·É ¶óÀÎ ¿É¼Ç <tt> -u8</tt>À» »ç¿ëÇÏ°í UTF-8 ¸ðµåÀÏ °æ¿ì <tt>*-ISO10646-1</tt> ÆùÆ®¸¦ »ç¿ëÇ϶ó. ISO 10646-1 ÆùÆ®µéÀº ISO 8859-1 ÆùÆ®µéÀÇ ÇÏÀ§ ¹öÀü°ú ¿Ïº®ÇÏ°Ô È£È¯µÇ±â ¶§¹®¿¡ ISO 8859-1 ¸ðµåÀÏ °æ¿ì <tt>*-ISO10646-1</tt> ÆùÆ® ¶ÇÇÑ »ç¿ëÇÒ ¼ö ÀÖ´Ù. <!-- Á¦ 14 ÀåÀÇ ½ÃÀÛ --> <sect>xtermÀº ¾ó¸¶³ª ¸¹Àº À¯´ÏÄڵ带 Áö¿øÇϴ°¡? <p> XFree86 4.0.1¿¡ Æ÷ÇÔµÈ XtermÀº ÇöÀç °íÁ¤ ¹®ÀÚ ÆøÀ» °¡Áö¸ç ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊ ¹æÇâÀ¸·Î ½á¾ßÇÏ´Â ISO 10646-1ÀÇ ·¹º§ 1¸¸À» Áö¿øÇÑ´Ù. ´Ù½Ã ¸»ÇÏ ¸é, Å͹̳ÎÀÇ ÀÇ¹Ì ¿¬°á ü°è(terminal semantic)°¡ ÀÌÁ¦ UTF-8À» µðÄÚµùÇÒ ¼ö ÀÖ°í 16ºñÆ® ¹®ÀÚ¿¡ ¾×¼¼½º ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» Á¦¿ÜÇϸé, Å͹̳ÎÀÇ ÀÇ ¹Ì ¿¬°á ü°è´Â ISO 8859-1ÀÇ °æ¿ì¿Í ±âº»ÀûÀ¸·Î °°´Ù. <p> <url url="ftp://dickey.his.com/xterm/xterm.tar.gz" name="°¡Àå ÃÖ½ÅÀÇ xterm °³¹ß ¹öÀü">Àº ÀÌ¿¡ µÎ °¡Áö »õ·Î¿î ÇÔ¼öµé(<url url="http://www.zepler .org/~rwb197/xterm/" name="Robert Brady">°¡ Á¦°ø)À» Ãß°¡ÇÑ´Ù. <itemize> <item>ÇÑÁßÀϾî±ÇÀÇ Ç¥Àǹ®ÀÚ¸¦ À§ÇÑ µÎ¹èÀÇ ÆøÀ» °®´Â ÆùÆ®¿¡ ´ëÇÑ ÀÚµ¿ º¯È¯ <item>°£´ÜÇÑ °áÇÕ ¹®ÀÚ °ãÃľ²±â(simple overstriking combining characters) </itemize> <p> ¼±ÅÃµÈ ÀÏ¹Ý ¹®ÀÚ°¡ <tt>X</tt>×<tt>Y</tt> Çȼ¿ Å©±â¸¦ °®´Â´Ù¸é , xtermÀº ÀÌÁ¦ ºÎ°¡ÀûÀÎ <tt>2X</tt>×<tt>Y</tt> Çȼ¿ Å©±âÀÇ Æù Æ®¸¦ ·ÎµåÇÏ·Á°í ½ÃµµÇÒ °ÍÀÌ´Ù(<tt>AVERAGE_WIDTH</tt> ¼Ó¼ºÀÇ µÎ ¹è °ªÀ» °®´Â´Ù´Â Á¡À» Á¦¿ÜÇϸé XLFD¿Í °°´Ù). <url url="http://www.unicode. org/unicode/reports/tr11/" name="Unicode Technical Report #11">¿¡ µû¸£¸é <em>East Asian Wide(W)</em> ȤÀº <em>East Asian FullWidth(F)</em>ÀÇ Æø Ư¼º(Width property)À» °®´Â ¸ðµç À¯´ÏÄÚµå ¹®ÀÚµéÀ» ³ªÅ¸³»±â À§Çؼ­ xte rmÀº ÀÌ·¯ÇÑ ÆùÆ®¸¦ »ç¿ëÇÒ °ÍÀÌ´Ù. <p> ½ºÆäÀ̽º°¡ ¾ø°Å³ª(nonspacing) µÑ·¯½Î°í ÀÖ´Â(enclosing) °áÇÕ ¹®ÀÚµé( ¿¹¸¦ µé¸é, <url url="ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData.t xt" name="À¯´ÏÄÚµå µ¥ÀÌÅͺ£À̽º">¾È¿¡ <url url="ftp://ftp.unicode.org/Publi c/UNIDATA/UnicodeData.html#GeneralCategory" name="ÀϹÝÀûÀÎ Ä«Å×°í¸® ÄÚµå"> Mn À̳ª Me¸¦ °¡Áö°í ÀÖ´Â ¹®ÀÚµé) ¶ÇÇÑ ÇöÀç »ç¿ë °¡´ÉÇϸç ÀÌ°ÍÀº ±âº» -¹®ÀÚ glyph(base-character glyph)À» µÎ °³ÀÇ °áÇÕ ¹®ÀÚ glyph±îÁö ´ÜÁö °ãÃľ²¹Ç·Î½á(³í¸® ¿¬»êÀÚ OR-ing) ±¸ÇöÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ±âº» ¶óÀÎ ¾Æ·¡ ¿¡ ¾×¼¾Æ®¸¦ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ°Ô ÇÏ°í, ÀÛÀº ¹®ÀÚ À§¿¡ ¾×¼¾Æ®¸¦ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ°Ô ÇÑ´Ù. ¿¹¸¦ µé¸é °ãÃľ²±â¿Í ÇÔ²² »ç¿ëÇϱâ À§Çؼ­ Ưº°È÷ ¼³°èµÈ Å ±¹ ÆùÆ®¿¡ ´ëÇؼ­µµ ¶ÇÇÑ Àß µ¿ÀÛÇÑ´Ù. ±×·¯³ª Ưº°È÷ "°íÁ¤µÇ°í" Áý´ÜÈ­µÈ ÆùÆ®¿Í °°Àº ¾î¶² ÆùÆ® ¾È¿¡¼­ Å°°¡ Å« ¹®ÀÚ À§¿¡ ¾×¼¾Æ®¸¦ °áÇÕÇÏ´Â °ÍÀº ¿ÏÀüÈ÷ ¸¸Á·½º·´Áö ¾ÊÀ» Áöµµ ¸ð¸¥´Ù. ±×·¯¹Ç·Î ¹Ì¸® ¸¸µé¾îÁø(precompose d) ¹®ÀÚµéÀ» »ç¿ë °¡´ÉÇÑ °æ¿ì¿¡´Â ±×°ÍÀÌ ´õ ³ªÀº °á°ú¸¦ ³ºÀ» °ÍÀÌ´Ù. <p> <bf>ÅؽºÆ® ¸ðµå ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¡¸ÓµéÀÌ ÁÖÀÇÇØ¾ß ÇÒ Á¡:</bf> <p> xtermÀÇ Ãâ·ÂÀº ÇÑÁßÀϾî±ÇÀÇ ÇÑÀÚ¿Í °áÇÕ ¹®ÀÚ¸¦ À§ÇÑ Áö¿øÀ¸·Î½á º¸´Ù ´Â ºñ·Ê ¹®ÀÚó·³ ¹ÝÀÀÇÒ °ÍÀÌ´Ù. ¿Ö³ÄÇÏ¸é ¶óƾ/±×¸®½º/Å°¸± µîÀÇ ¹®ÀÚ´Â ÇϳªÀÇ ¼¼·Î¿­ À§Ä¡¸¦ ÇÊ¿ä·Î ÇÏ´Â ¹Ý¸é, ÇÑÁßÀϾî±ÇÀÇ ÇÑÀÚ´Â 2°³ÀÇ ¹®ÀÚ ¸¦ ÇÊ¿ä·Î ÇÏ¸ç °áÇÕ ¹®ÀÚ´Â Çϳªµµ ÇÊ¿ä·Î ÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù. <p> ¿ÀÇ ¼Ò½º ±×·ìÀÇ <url url="http://www.UNIX-systems.org/online.html" name="´ÜÀÏ À¯´Ð½º »ç¾ç">Àº ÇϳªÀÇ ¹®ÀÚ°¡ ¾ó¸¶³ª ¸¹Àº ¼¼·Î¿­À» Â÷ÁöÇÏ°í ÀÖ ´ÂÁö¸¦ ¾ÖÇø®ÄÉÀ̼ÇÀÌ Å×½ºÆ® ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â µÎ °³ÀÇ C ÇÔ¼ö <url url= "http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.html" name="wcwidth()">¿Í <url url="http://www.cl.cam.ac.uk/~mgk25/ucs/wcswidth.html" name="wcswidth()"> ¸¦ ¸í½ÃÇÏ°í ÀÖ´Ù. <verb> #include <wchar.h> int wcwidth(wchar_t wc); int wcswidth(const wchar_t *pwcs, size_t n); </verb> <p> <url url="http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c" name="Markus Kuhn ÀÌ ºñ »ó¿ë(free)À¸·Î ¹èÆ÷ÇÏ´Â wcwidth() ÇÔ¼ö">´Â C ¶óÀ̺귯¸®°¡ ¾ÆÁ÷ ÀûÇÕÇÑ ÇÔ¼ö¸¦ Á¦°øÇÏÁö ¾Ê´Â Ç÷§ÆûÀÇ ¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÇÇØ »ç¿ëµÉ ¼ö ÀÖ ´Ù. <p> xtermÀº ¾ÕÀ¸·Î ´Ù°¡¿Ã ¹Ì·¡¿¡ ´õ¿í º¹ÀâÇÑ ¿ÏÀüÇÑ À¯´ÏÄÚµå ·»´õ¸µ ¿£ Áø¿¡¼­ ´ç½ÅÀÌ ±â´ëÇÒ Áöµµ ¸ð¸¦ ´ÙÀ½ÀÇ ±â´ÉµéÀ» ¾Æ¸¶µµ Áö¿øÇÏÁö ¾ÊÀ» °Í ÀÌ´Ù. <itemize> <item>À¯Å¾î¿Í ¾Æ¶ø ¹®ÀÚµéÀ» À§ÇÑ ¾ç¹æÇâ Ãâ·Â <item>¾Æ¶øÀÇ ÇÁ¸®Á¨Å×ÀÌ¼Ç ¾ç½ÄÀ» ´ë½ÅÇÒ ¾ç½Ä <item>ÀεµÀÇ ¿¬°á¼±(ligature)À» ´ë½ÅÇÒ ¹®ÀÚ <item>ÇÑ±Û ÀÚ¸ð <item>°áÇÕ ¹®ÀÚ¸¦ ÀúÀåÇÒ ÀÓÀÇÀÇ ½ºÅà </itemize> <p> ±×·¯¹Ç·Î À¯Å¾î¿Í ¾Æ¶ø¾î »ç¿ëÀÚµéÀº À¯Å¾î¿Í ¾Æ¶ø ¹®ÀÚ¿­À» Å͹̳ηΠº¸³»±â Àü¿¡ ¹®ÀÚ¿­ÀÇ ¹æÇâÀ» ¹ÝÀü½ÃÅ°°í ¿ÞÂÊÀ» ä¿ì´Â ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ ·Î±×·¥À» »ç¿ëÇؾ߸¸ ÇÑ´Ù. ´Ù½Ã ¸»ÇØ, ¾ç¹æÇâ ÇÁ·Î¼¼½ÌÀº xterm¿¡ ÀÇÇؼ­ °¡ ¾Æ´Ï¶ó ¾ÖÇø®ÄÉÀ̼ǿ¡ ÀÇÇؼ­ ÀÌ·ç¾îÁ®¾ß¸¸ ÇÑ´Ù. À¯ÅÂ¾î ¹× ¾Æ¶ø¾î¿Í °ü·ÃµÈ »óȲÀº ¹Ì¸® ¸¸µé¾îÁø glyph°ú ÇÁ¸®Á¨Å×ÀÌ¼Ç ¾ç½ÄÀÇ À¯È¿¼º¿¡ ÀÖ¾î ¼­ Àû¾îµµ ISO 8859 ÀÌÈÄ °³¼±µÇ°í ÀÖ´Ù. Áö±ÝÀ¸·Î½á´Â ¾ç¹æÇâ Áö¿øÀÌ Á¤¸» ·Î xterm¿¡ ³»ÀåµÉ °ÍÀÎÁö ÀÌ°ÍÀÌ ¾ó¸¶³ª Á¤È®ÇÏ°Ô ÀÛµ¿ÇÒ °ÍÀÎÁö ¸íÈ®ÇÏÁö ¾Ê´Ù. <url url= "http://www.ecma.ch/ecma1/STAND/ECMA-048.HTM" name="ISO 6429 = ECMA-48">°ú <url url="http://www.unicode.org/unicode/reports/tr9/" name="À¯´ÏÄÚµå bidi ¾Ë°í¸®Áò"> ¸ðµÎ ´ë¾ÈÀûÀÎ ½ÃÀÛ Æ÷ÀÎÆ®(starting point) ¸¦ Á¦°øÇÑ´Ù. <url url="http://www.ecma.ch/ecma1/TECHREP/E-TR-053.HTM" name="E CMA Technical Report TR/53">À» º¸µµ·Ï Ç϶ó. <p> ¸¸¾à ´ç½ÅÀÌ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ ¾ç¹æÇâ ÅؽºÆ® Ãâ·ÂÀ» Áö¿øÇÒ °èȹÀ̶ó¸é , À¯´ÏÄÚµå Bidi ¾Ë°í¸®ÁòÀ» ºñ »ó¿ë(free)À¸·Î ±¸ÇöÇÑ Dov GrobgeldÀÇ <url url="http://imagic.weizmann.ac.il/~dov/freesw/FriBidi/" name="FriBidi"> ȤÀº Mark LeisherÀÇ <url url="http://crl.nmsu.edu/~mleisher/ucdata.html" name="PretBidi ¾Ë°í¸®Áò">À» º¸¶ó. <p> ÃÖ±Ù¿¡ ºñ·Ï <url url="http://www.zepler.org/~rwb197/xterm/" name="Robert B rady">°¡ bidi Áö¿øÀ» À§ÇÑ ¸î¸î Ãʱ⠽ÇÇèÀûÀÎ ÆÐÄ¡¸¦ ¹ßÇ¥Çϱä ÇßÁö¸¸ xtermÀº ÇöÀç ¾Æ¶ø¾î, ÇÑ±Û ÀÚ¸ð ¹× Àεµ ÅؽºÆ® Æ÷¸ËÆà ¾Ë°í¸®ÁòÀ» Áö¿øÇÏ Áö ¾Ê´Â´Ù. VT100 ¾Ö¹Ä·¹ÀÌÅÍ¿¡¼­ ÀÌ·¯ÇÑ °ÍµéÀ» Áö¿øÇÏ´Â °ÍÀÌ ¾Ë¸ÂÀºÁö > ȤÀº ¹Ù¶÷Á÷ÇÑÁö ¿©ÀüÈ÷ ºÒ¸íÈ®ÇÏ´Ù. ¾ÖÇø®ÄÉÀ̼ǵéÀº ¾Æ¶ø¾î¿Í ÇѱÛÀ» Æ÷ ¸ËÇÏ´Â ¾Ë°í¸®ÁòÀ» ½±°Ô ¾ÖÇø®ÄÉÀÌ¼Ç ½º½º·Î Àû¿ëÇÒ ¼ö ÀÖ´Ù. ¿Ö³ÄÇϸé xt ermÀÌ ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ÇÏ¿©±Ý ¸ðµç ÇÊ¿äÇÑ ÇÁ¸®Á¨Å×ÀÌ¼Ç ¾ç½ÄÀ» Ãâ·ÂÇÏ´Â °ÍÀ» Çã¿ëÇϱ⠶§¹®ÀÌ´Ù. Àεµ ¼­Ã¼¿¡ °üÇؼ­ X ÆùÆ® ¸ÞÄ«´ÏÁòÀº ÇʼöÀûÀÎ ¿¬°á¼±(ligature)À» ´ëüÇÒ ¶Ç ´Ù¸¥ ÇüÅÂÀÇ ¿¬°á¼±À» À§ÇÑ ÀÎÄÚµùÀ» Áö±Ý> À¸·Î½á´Â ÀüÇô Áö¿øÇÏÁö ¾Ê°í ÀÖ´Ù. ±×·¡¼­ Á¦°øÇÒ¸¸ ÇÑ xtermÀÌ ÀüÇô ¾ø´Ù . Àεµ¾î Ãâ·ÂÀÌ ÇÊ¿äÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀº xterm°ú °°Àº VT100 ¿¡¹Ä·¹ÀÌÅÍ ´ë ½Å¿¡ <url url="http://www.pango.org/" name="Pango">¿Í °°Àº ÀûÀýÇÑ À¯´ÏÄÚµå X11 ·»´õ¸µ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ´õ¿í ÁÁ´Ù. <!-- Á¦ 15 ÀåÀÇ ½ÃÀÛ --> <sect>ISO-10646ÀÇ X11¿ë ÆùÆ®´Â ¾îµð¼­ ±¸ÇÒ ¼ö Àִ°¡? <p> Áö³­ ¸î³â µ¿¾È ²Ï ¸¹Àº ¼öÀÇ À¯´ÏÄÚµå ÆùÆ®µéÀÌ X11¿ëÀ¸·Î »ç¿ë °¡´ÉÇÏ°Ô µÇ¾úÀ¸¸ç, »ç¿ë °¡´ÉÇÑ ÆùÆ®ÀÇ ¼ö´Â ºü¸¥ ¼Óµµ·Î Áõ°¡ÇÏ°í ÀÖ´Ù. <itemize> <item>Markus KuhnÀº ¸¹Àº ´Ù¸¥ Áö¿øÀÚµé°ú ÇÔ²² X11°ú °ü·ÃÇÑ °ú°ÅÀÇ <SAMP> -misc-FIXED-*-Iso8859-1</SAMP> ÆùÆ®µéÀ» ¸ðµç À¯·´ ¹®ÀÚµé(¶óƾ¾î, ±×¸® ½º¾î, Å°¸±¾î, ±¹Á¦ÀûÀΠǥÀ½ ¹®ÀÚ, ¼öÇÐ ¹× ±â¼ú ºÎÈ£¿Í ¾Æ¸£¸Þ´Ï¾Æ¾î, ±× ·çÁö¾Æ¾î, īŸī³ª, ű¹¾î, ±×¿ÜÀÇ ´Ù¸¥ ¹®ÀÚ¿Í °°Àº ¸î¸î ÆùÆ®µé¿¡¼­ »ç ¿ëÇÏ´Â)À» Áö¿øÇÏ´Â ¸ñ·Ï À϶÷À¸·Î È®Àå½ÃÄ×´Ù. ´õ ¸¹Àº Á¤º¸¸¦ ¾òÀ¸·Á¸é <url url="http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html" name="X11À» À§ÇÑ À¯´Ï ÄÚµå ÆùÆ®¿Í Åø"> ÆäÀÌÁö¸¦ »ìÆ캸¶ó. ÀÌ·¯ÇÑ ÆùÆ®µéÀº ÇöÀç <url url="ht tp://www.xfree86.org/" name="XFree86"> 4.0.1 ȤÀº ±× ÀÌ»óÀÇ ¹öÀü°ú ÇÔ²² ¹è Æ÷µÈ´Ù. <item>Markus´Â ¶ÇÇÑ <url url="http://www.cl.cam.ac.uk/~mgk25/download/ucs -fonts-75dpi100dpi.tar.gz" name="X11R6.4 ¹èÆ÷ÆÇ ³»¿¡ Æ÷ÇÔµÈ ¸ðµç Adobe¿Í B&a mp;H BDFÀÇ ÆùÆ®µéÀÇ ISO 10646-1 ¹öÀü">À» ÁغñÇß´Ù. ÀÌ·¯ÇÑ ÆùÆ®µéÀº ÀÌ¹Ì ¿ÏÀüÇÑ Æ÷½ºÆ®½ºÅ©¸³Æ® ÆùÆ®ÀÇ ¸ñ·Ï À϶÷(´ë·« 30°³ÀÇ ¹®ÀÚµéÀÌ Ãß°¡ µÇ¾úÀ¸¸ç ´ëºÎºÐ CP1252 MS-À©µµ¿ìÁî¿¡¼­ ¶ÇÇÑ »ç¿ëµÈ´Ù. ¿¹¸¦ µé¸é, ±ò²û ÇÑ ÀοëºÎÈ£¿Í ´ë½Ã ±âÈ£(-) µîÀÌ ÀÖ´Ù)À» Æ÷ÇÔÇÑ´Ù. ±×·¯³ª ÀÌ·¯ÇÑ °ÍµéÀº ISO 8859-1 ÀÎÄÚµù ¾Æ·¡¿¡¼­´Â »ç¿ëÇÒ ¼ö ¾ø¾ú´Ù. Áö±ÝÀº ISO 10646-1 ¹ö Àü³»¿¡¼­ ¸ðµÎ ¾×¼¼½º ÇÒ ¼ö ÀÖ´Ù. <item>XFree86 4.0Àº ISO 10646-1 ÀÎÄÚµù¿¡¼­ ¸ðµç ¾ÖÇÃ/¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ÆùÆ® ¸¦ X ¾îÇø®ÄÉÀ̼ǿ¡¼­ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ´Â <url url="http://www.dcs.ed.a c.uk/home/jec/programs/xfsft/" name="ÅëÇÕµÈ Æ®·çŸÀÔ ÆùÆ® ¿£Áø">°ú ÇÔ²² Á¦ °øµÈ´Ù. <item>¾ÕÀ¸·ÎÀÇ XFree86 ¸±¸®Áî´Â ¹èÆ÷ÆÇÀ¸·ÎºÎÅÍ °ú°ÅÀÇ BDF ÆùÆ®µéÀ» ´ëºÎ ºÐ Á¦°ÅÇÏ°í ±×°ÍµéÀ» ISO 10646-1·Î ÀÎÄÚµùÇÑ ¹öÀüÀ¸·Î ´ëüµÉ °Í °°´Ù. X ¼­¹ö´Â °ú°ÅÀÇ 8ºñÆ® ¼ÒÇÁÆ®¿þ¾î°¡ ¾î¶² ÆùÆ®¸¦ ¿äûÇÒ ¶§ À绡¸® ISO 106 46-1 ÆùÆ® ÆÄÀϷκÎÅÍ ISO 8859-*¿Í °°Àº ´Ù¸¥ ÆùÆ® ÀÎÄÚµùÀ» »ý¼ºÇÏ´Â ÀÚ µ¿ ÀÎÄÚµù º¯È¯±â·Î È®ÀåµÉ °ÍÀÌ´Ù. Çö´ëÀÇ ¼ÒÇÁÆ®¿þ¾î´Â ISO 10646-1 ÆùÆ® ÀÎÄÚµùÀ» ¿ÀÈ÷·Á Á÷Á¢ »ç¿ëÇؾ߸¸ ÇÑ´Ù. <item><url url="ftp://crl.nmsu.edu/CLR/multiling/unicode/fonts/" name="ClearlyU (cu12)">´Â <url url="mailto:mleisher@crl.nmsu.edu" name="Mark Leisher">°¡ ¸¸µç 3700°³ ÀÌ»óÀÇ ¹®ÀÚµéÀ» °¡Áø X11À» À§ÇÑ 12°³ÀÇ Á¡°ú 100dpi(´ÜÀ§ ÀÎÄ¡´ç Á¡ÀÇ °³¼ö)¿¡ ºñ·ÊÇÏ´Â Å©±âÀÇ ¸Å¿ì À¯¿ëÇÑ ISO 10646-1 BDF ÆùÆ®ÀÌ ´Ù.(<url url="http://crl.nmsu.edu/~mleisher/cu-examples.html" name="À̹ÌÁö ¿¹ ">) <item><bf>NEW</bf>: Dmitry Yu. Bolkhovityanov´Â Åؽº Æ® ¸ðµåÀÇ IBM PC ¿¡¹Ä·¹ÀÌÅÍ¿¡¼­ »ç¿ëÇϱâ À§Çؼ­ BDF ÆÄÀÏ ¾È¿¡ <url url= "http://www.inp.nsk.su/~bolkhov/files/fonts/univga/index.html" name="À¯´ÏÄÚ µå VGA ÆùÆ®">¸¦ ¸¸µé¾ú´Ù. <item>Roman CzyborraÀÇ <url url="http://czyborra.com/unifont/" name="GNU À¯´ÏÄÚ µå ÆùÆ®"> ÇÁ·ÎÁ§Æ®´Â ºñ »ó¿ë(free)ÀÇ ¿Ïº®ÇÑ 8×16/16×16 ÇÈ ¼¿ À¯´ÏÄÚµå ÆùÆ®¸¦ ¸ðÀ¸´Â ¿¬±¸¸¦ ÇÏ°í ÀÖ´Ù. <item><url url="ftp://ftp.x.org/contrib/fonts/etl-unicode.tar.gz" name="etl-unicode">´Â <url url="mailto:primoz.peterlin@biofiz.mf.uni-lj.si" name="Primoz Peterlin">ÀÌ ÁغñÇÑ ISO 10646-1 BDF ÆùÆ®ÀÌ´Ù. <item>George Williams´Â <url url="http://bibliofile.mc.duke.edu/gww/fonts /Unicode.html" name="Type1 À¯´ÏÄÚµå ÆùÆ® Æйи®">¸¦ ¸¸µé¾ú´Âµ¥, ÀÌ°ÍÀº ¶ÇÇÑ BDF¿¡¼­µµ À¯¿ëÇÏ´Ù. ±×´Â ¶ÇÇÑ <url url="http://bibliofile.mc.duke.edu/gww/FreeWare/PfaEdit/" name="PfaEdit"> Æ÷½ºÆ®½ºÅ©¸³Æ®¿Í ºñÆ®¸Ê ÆùÆ® ¿¡µðÅ͸¦ °³¹ßÇß´Ù. </itemize> <p> À¯´ÏÄÚµå X11¿ë ÆùÆ®ÀÇ ¸íĪÀº <tt>-ISO10646-1</tt>À̶ó´Â ´Ü¾î·Î ³¡³­´Ù. ÀÌ°ÍÀº ÇöÀç ¸ðµç À¯´ÏÄÚµå¿Í ISO 10646-1 16ºñÆ® ÆùÆ®µéÀ» À§ÇÑ <url url="ftp://sunsite.doc.ic.ac.uk/packages/X11/pub/R6.4/xc/doc/hardco py/XLFD/xlfd.PS.gz" name="X ³í¸® ÆùÆ® ±â¼úÀÚ(X Logical Font Descriptor: XLF D)"> ¿µ¿ª <tt>CHARSET_REGISTRY</tt>¿Í <tt>CHARSET_ENCODING</tt> À» À§ÇØ °ø½ÄÀûÀ¸·Î <url url="ftp://sunsite.doc.ic.ac.uk/packages/X11 /pub/R6.4/xc/registry" name="µî·ÏµÈ"> °ªÀÌ´Ù. <tt>*-ISO10646-1</tt> Æù Æ®µéÀº Àüü À¯´ÏÄÚµå ¹®ÀÚ¼ÂÀÇ ¸í½ÃµÇÁö ¾ÊÀº ¸î¸î ¼­ºê¼ÂÀ» Æ÷ÇÔÇÏ°í ÀÖ ´Ù. ±×¸®°í »ç¿ëÀÚµéÀº ±×µéÀÌ ¼±ÅÃÇÑ ÆùÆ®°¡ ¹«¾ùÀ̵çÁö °£¿¡ ÇÊ¿äÇÑ ¹®ÀÚ µéÀÇ ¼­ºê¼ÂÀ» Æ÷ÇÔÇÏ´ÂÁö È®ÀÎÇؾ߸¸ ÇÑ´Ù. <p> <tt>*-IS010646-1</tt> ÆùÆ®µéÀº ÀϹÝÀûÀ¸·Î ÆùÆ®¿¡¼­ À¯È¿ÇÏÁö ¾Ê Àº ¾î¶² ¹®ÀÚ¸¦ ³ªÅ¸³»±â À§Çؼ­ À¯´ÏÄڵ尡 ¾Æ´Ñ(non-Unicode) Ưº°ÇÑ gly phÀ» °¡¸®Å°´Â <tt>DEFAULT_CHAR</tt> °ªÀ» ¸í½ÃÇÏ°í ÀÖ´Ù(ÀϹÝÀûÀ¸·Î 0x00¿¡ À§Ä¡ÇÏ°í H Å©±â¸¦ °®´Â ´ë½Ã(-)·Î ¿¬°áµÈ boxÀÌ´Ù). ÀÌ°ÍÀº »ç¿ëÀÚ µéÀÌ Àû¾îµµ Áö¿øÇÏÁö ¾Ê´Â ¹®ÀÚ°¡ ÀÖ´Ù´Â °ÍÀ» ¸í¹éÇÏ°Ô ¾Ë¾ÆÂ÷¸± ¼ö ÀÖµµ ·Ï ÇÑ´Ù. xtermÀ» À§ÇÑ 6x13°ú °°Àº Å©±âÀÇ ÀÛÀº °íÁ¤-Æø ÆùÆ®µé(the small er fixed-width fonts)Àº ¸ðµç À¯´ÏÄڵ带 Áö¿øÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù. ¿Ö³ÄÇÏ ¸é °£Áö(Kanji)¿Í °°Àº ¸¹Àº ¼­Ã¼µé(scripts)Àº À¯·´Áö¿ª À¯ÀúµéÀÌ Æø³Ð°Ô »ç¿ëÇÏ´Â Çȼ¿ »çÀÌÁî º¸´Ù ÈξÀ ´õ Å« Çȼ¿ »çÀÌÁî·Î ³ªÅ¸³»±â ¶§¹®ÀÌ´Ù. À¯·´ÀÎÀÌ »ç¿ëÇϱâ À§ÇÑ ÀüÇüÀûÀÎ À¯´ÏÄÚµå ÆùÆ®µéÀº <url url="http://www. egt.ie/standards/iso10646/pdf/cwa13873.pdf" name="CEN MES-3 ·¹ÆÛÅ丮">¿Í °°Àº ¿ÀÁ÷ 1000³»Áö 3000°¡Áö ¹®ÀÚµéÀÇ ¼­ºê¼ÂÀ» Æ÷ÇÔÇÒ °ÍÀÌ´Ù. <p> ¿©·¯ºÐµéÀº *-ISO10646-1 ÆùÆ®¿¡¼­ <url url="http://www.cl.cam.ac.uk/~ mgk25/ucs/quotes.html" name="ASCII ¹®ÀÚÀÇ ÀÎ¿ë ºÎÈ£ ÇüÅÂ">°¡ Ç¥ÁØ ¶óÀÎ ¾È ¿¡ ÀÎ¿ë ºÎÈ£¸¦ ¹èÄ¡ÇÏ°í ´Ù¸¥ Ç÷§Æû¿¡¼­µµ ½ÇÇàÇϱâ À§Çؼ­ ¾à°£ ¹Ù²î¾ú ´Ù´Â °ÍÀ» ¾Ë¾Æ Â÷¸± ¼ö ÀÖÀ» °ÍÀÌ´Ù. <!-- Á¦ 16 ÀåÀÇ ½ÃÀÛ --> <sect>UTF-8 Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ¿Í °ü·ÃµÈ À̽´´Â ¹«¾ùÀΰ¡? <p> VT100 Å͹̳Π¿¡¹Ä·¹ÀÌÅ͵éÀº ´Ù¸¥ ¹®ÀÚ¼Âµé »çÀ̸¦ ÀüȯÇϱâ À§Çؼ­ ISO 2022 (=<url url="http://www.ecma.ch/ecma1/STAND/ECMA-035.HTM" name="ECMA-35">) ESC ½ÃÄö½º¸¦ ¹Þ¾ÆµéÀδÙ. <p> 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 ¸ðµå·Î °íÁ¤½ÃÄÑ ³õ´Â °ÍÀÌ È¿°úÀûÀÌ´Ù. <p> ISO 2022 Ç¥ÁØÀº ISO 2022 ¸ðµå¿¡¼­ ¹þ¾î³ª±â À§ÇÑ À̽ºÄÉÀÌÇÁ ¹®ÀÚ %ÀÇ ½ÃÄö½º ¹üÀ§¸¦ ¸í½ÃÇÏ°í ÀÖ´Ù(´Ù¸¥ ÄÚµù ½Ã½ºÅÛ ÁöÁ¤, DOCS). ±×¸®°í ±×·¯ ÇÑ ¼ö¸¹Àº ½ÃÄö½ºµéÀº <url url="ftp://ftp.informatik.uni-erlangen.de/pub /doc/ISO/charsets/ISO-10646-UTF-8.html" name="UTF-8">À» À§Çؼ­ <url url="ht tp://www.itscj.ipsj.or.jp/ISO-IR/" name="ISO 2375 ¹®ÀÚ ÄÚµå ¼Â ±¹Á¦ µî·ÏºÎ(I nternational Register of Coded Character Sets)">ÀÇ ¼½¼Ç 2.8¿¡ µî·ÏµÇ ¾ú´Ù. <itemize> <item><tt>ESC %G</tt>´Â ISO 2022·Î ´Ù½Ã µ¹¾Æ°¡µµ·Ï ÇÏ´Â ¹æ½ÄÀ¸·Î ISO 2022¿¡ ¸í½ÃµÇÁö ¾ÊÀº ±¸Çö ·¹º§·Î UTF-8À» È°¼ºÈ­½ÃŲ´Ù. <item><tt>ESC %@</tt>´Â <tt>ESC %G</tt>¸¦ °ÅÃļ­ UTF-8·Î µé¾î°£ °æ¿ì¿¡ UTF-8¿¡¼­ ISO 2022·Î µÇµ¹¾Æ°¡°Ô ÇÑ´Ù. <item><tt>ESC %/G</tt>´Â UTF-8ÀÇ ·¹º§ 1À¸·Î ¹Ýȯ°ª ¾øÀÌ Àüȯ½ÃŲ´Ù. <item><tt>ESC %/H</tt>´Â UTF-8ÀÇ ·¹º§ 2À¸·Î ¹Ýȯ°ª ¾øÀÌ Àüȯ½ÃŲ´Ù. <item><tt>ESC %/I</tt>´Â UTF-8ÀÇ ·¹º§ 3À¸·Î ¹Ýȯ°ª ¾øÀÌ Àüȯ½ÃŲ´Ù. </itemize> <p> Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ°¡ UTF-8 ¸ðµå¿¡ ÀÖ´Â µ¿¾È¿¡ G2/G3·Î Àüȯ½ÃÅ°´Â ÀÌ ½ºÄÉÀÌÇÁ ½ÃÄö½º¿Í °°Àº ¸ðµç ISO 2022 À̽ºÄÉÀÌÇÁ ½ÃÄö½º´Â ¹«½ÃµÈ´Ù. UTF -8 ¸ðµå¿¡¼­ µ¿ÀÛÇÏ´Â Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ »óÀÇ À¯ÀÏÇÑ ISO 2022 ½ÃÄö½º´Â, UTF-8¿¡¼­ ISO 2022 ü°è·Î ´Ù½Ã Àüȯ½ÃÅ°´Â <tt>ESC %@</tt>ÀÌ´Ù. <p> ºñ·Ï UTF-8 ¸ðµå°¡ 0x80¿¡¼­ 0x9F±îÁöÀÇ ¹üÀ§¸¦ °®´Â ¹ÙÀÌÆ® °ø°£À» »ç ¿ëÇÏÁö¸¸, ¿©ÀüÈ÷ CSI¿Í °°Àº C1 Á¦¾î ¹®ÀÚµéÀ» »ç¿ëÇÏ´Â °ÍÀ» Çã¿ëÇÑ´Ù. UTF-8 ¸ðµå¿¡ ÀÖ´Â Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ´Â ¾î¶² Á¦¾î ¹®ÀÚ¸¦ Çؼ®Çϱâ <bf>Àü¿¡</bf> UTF-8 µðÄÚ´õ¸¦ ÀԷµǴ ¹ÙÀÌÆ® ½ºÆ®¸²¿¡ Àû¿ëÇؾ߸¸ ÇÑ´Ù ´Â °ÍÀ» ÀÌÇØÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù. C1 ¹®ÀÚµéÀº U+007F¸¦ ³Ñ´Â ´Ù¸¥ ¹®ÀÚµé ó·³ UTF-8 ¸ðµå·Î µðÄÚµùµÈ´Ù. <!-- Á¦ 17 ÀåÀÇ ½ÃÀÛ --> <sect>UTF-8ÀÌ °¡´ÉÇÑ Áö±Ý »ç¿ë ÁßÀÎ ¾ÖÇø®ÄÉÀ̼ÇÀº ¾î¶² °ÍÀÌ Àִ°¡? <p> <itemize> <item> XFree86 4.0 ȤÀº ±× ÀÌ»óÀÇ ¹öÀü°ú ÇÔ²² »ç¿ëµÇ´Â <url url="http://d ickey.his.com/xterm/xterm.html" name="xterm">("<tt>./configure --enable- wide-chars; make</tt>" ¸í·ÉÀ¸·Î ÄÄÆÄÀÏÇÏ°í xtermÀ» ½ÇÇàÇÒ ¶§ ¸í·É ¶ó ÀÎ ¿É¼Ç <tt>-u8</tt>À» »ç¿ëÇ϶ó). <item><bf>NEW:</bf> <url url="http://www.yudit.org/" name="Yudit 2.0">Àº Gaspar Sinai°¡ °³¹ßÇÑ ºñ »ó¿ë X11 À¯´ÏÄÚµå ¿¡µðÅÍÀÌ´Ù. <item><url url="http://www.inf.fu-berlin.de/~wolff/" name="Thomas Wolff">°¡ °³¹ßÇÑ <url url="http://www.inf.fu-berlin.de/~wolff/mined.html" name="Mined 9 8">Àº UTF-8 »ç¿ëÀÌ °¡´ÉÇÑ ÅؽºÆ® ¿¡µðÅÍÀÌ´Ù. <item><url url="http://cooledit.org/" name="Cooledit">´Â 3.15.0¹öÀü ÀÌÈÄ·Î UT F-8°ú UCS¸¦ Áö¿øÇÑ´Ù. <item><bf>NEW:</bf> <url url="http://www-stud.enst.fr /~bellard/qemacs/" name="QEmacs">´Â UTF-8 Å͹̳ο¡¼­ »ç¿ëÇϱâ À§ÇÑ ÀÛÀº ¿¡ µðÅÍÀÌ´Ù. <item>346¹öÀü ÀÌÈÄÀÇ <url url="http://www.flash.net/~marknu/less/" name="less ">´Â UTF-8À» Áö¿øÇÑ´Ù. <item><url url="http://www.columbia.edu/kermit/ckermit.html" name="C-Kermit 7.0 ">Àº Àü¼Û(transfer), Å͹̳Π¹× ÆÄÀÏ ¹®Àڼ¿¡ °üÇØ UTF-8À» Áö¿øÇÑ´Ù. <item><url url="http://www.perl.org/" name="Perl">Àº "use utf8;" ¿É¼ÇÀ¸·Î ¿ä ûÇßÀ» °æ¿ì¿¡ ¹öÀü 5.6ºÎÅÍ ¸î¸î <url url="http://rf.net/~james/perli18n .html" name="ÇÙ½ÉÀûÀÎ UTF-8À» Áö¿ø(core UTF-8 support)">ÇÑ´Ù. ÀÌ°ÍÀº ¹®ÀÚ ¿­ÀÌ UTF-8·Î ÀúÀåµÇ°í(±×¸®°í UTF-8·Î ű×È­ µÇ¸ç) length() ÇÔ¼ö°¡ ¹ÙÀÌ Æ® ¼ö ´ë½Å¿¡ ¹®ÀÚµéÀ» ¹ÝȯÇÔÀ» ÀǹÌÇÑ´Ù. UTF-8 Áö¿øÀ» °­È­Çϱâ À§ÇÑ ¸¹ Àº ¿¬±¸µéÀÌ Áö±Ý ¼ø°£¿¡µµ ¿©ÀüÈ÷ ÁøÇà ÁßÀÌ´Ù(<url url="mailto:perl-unic ode-help@perl.org" name="perl-unicode@perl.org"> ¸ÞÀϸµ ¸®½ºÆ®¸¦ º¸¶ó). »ç ¿ë °¡´ÉÇÑ ±â´É°ú Á¦ÇѵǴ ±â´ÉÀ» º¸·Á¸é <tt>perldoc perlunicode</tt> ¿Í <tt>perldoc utf8</tt>À» Àо¶ó. <item><url url="http://www.python.org/1.6/" name="Python 1.6">Àº ÇöÀç <url url="http://starship.python.net/crew/lemburg/unicode-proposal.txt" name="À¯´ÏÄÚµå Áö¿ø">À» ¿Ï¼ºÇÏ°í ÀÖ´Ù. <item><url url="http://dev.scriptics.com/" name="Tcl/Tk">´Â ¹öÀü 8.1ºÎÅÍ <url url="http://dev.scriptics.com/doc/howto/i18n.html" name="À¯´ÏÄڵ带 ±âº» ¹®ÀÚ¼Â">À¸·Î »ç¿ëÇÏ¿© °¡µ¿µÈ´Ù. ±×·¯³ª ºÒÇàÇÏ°Ôµµ TkÀÇ ÆùÆ® ó¸® ÄÚµå ¿¡´Â ¿©ÀüÈ÷ <url url="http://dev.scriptics.com/ticket/issue-view.tcl?m sg_id=2349&return_url=%2fticket%2findex%2etcl%3fmsg%5fid%3d%26proj ect%5fid%3d11182%26domain%5fid%3d13586%26query%5fstring%3dunicode%26ca tegory%5fid%3d23828%26orderby%3dscore%252a%252cmsg%255fid%252a%252c%26 submitby%3dmine%26assign%3dmine%26status%3dactive%26create26view%3dtab le" name="¹ö±×">°¡ À־ 16ºñÆ® *-iso10646-1 ÆùÆ®¸¦ À¯´ÏÄÚµå ¹®ÀÚ¿­À» µð ½ºÇ÷¹ÀÌÇϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ¾ø´Ù. <item><url url="http://www.beedub.com/exmh/" name="Exmh">´Â MH ¸ÞÀÏ ½Ã½ºÅÛÀ» À§ÇÑ GUI ÇÁ·±Æ®¿£µåÀÌ¸ç ¸¸¾à Tcl/Tk 8.1 ÀÌ»ó ¹öÀü¿¡¼­ »ç¿ëµÇ´Â °æ¿ì ¹ö Àü 2.1.1 ÀÌÈĺÎÅÍ À¯´ÏÄڵ带 Áö¿øÇÑ´Ù. <item>2000-03-06 ¸±¸®Áî ÀÌÈĺÎÅÍ <url url="http://clisp.cons.org" name="CLISP">´Â UTF-8À» Æ÷ÇÔÇÑ ¸ðµç ¸ÖƼ-¹ÙÀÌÆ® ÀÎÄÚµù°ú <tt>wcwidth()</tt> ¹× <tt>wcswidth()</tt>ÇÔ¼ö¿Í ºñ±³ÇÒ ¸¸ÇÑ API¸¦ °¡Áø <tt>char-wid th</tt> ¹× <tt>string-width</tt> ÇÔ¼ö¿Í ÇÔ²² µ¿ÀÛÇÒ ¼ö ÀÖ´Ù. <item><url url="http://hawkwind.utcs.utoronto.ca:8001/mlists/sam.html" name="Sam">Àº vi¶û ºñ½ÁÇÑ Plan9 UTF-8 ¿¡µðÅÍÀ̸ç, ¸®´ª½º¿Í Win32¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù.(<url url="http://plan9.bell-labs.com/plan9/" name="Plan9">Àº <url url="ftp://ftp.informatik.uni-erlangen.de/pub/doc/ISO/charsets/UTF-8-Pl an9-paper.ps.gz" name="¹®ÀÚ ÀÎÄÚµùÀ¸·Î½á UTF-8·Î ¿Ïº®ÇÏ°Ô ÀüȯµÇ´Â(switchedc ompletely to UTF-8 as its character encoding)"> ÃÖÃÊÀÇ ¿î¿µÃ¼Á¦¿´´Ù) <item><url url="http://www.gh.cs.usyd.edu.au/~matty/" name="Matty Farrow">°¡ °³¹ßÇÑ <url url="http://www.gh.cs.usyd.edu.au/~matty/9term/" name="9term"> Àº Plan9 ¿î¿µÃ¼Á¦ÀÇ À¯´ÏÄÚµå/UTF-8¿ë Å͹̳Π¿¡¹Ä·¹ÀÌÅÍÀÇ À¯´Ð½º Æ÷Æ®ÀÇ ÀÏÁ¾ÀÌ´Ù. <item><url url="http://www.cs.su.oz.au/~gary/hobby/wily/auug.html" name="Wily"> ´Â Plan9ÀÇ Acme ¿¡µðÅ͸¦ À¯´Ð½º¿ëÀ¸·Î ±¸ÇöÇÑ °ÍÀÌ´Ù. <item><url url="ftp://ftp.dcs.ed.ac.uk/pub/jec/programs/" name="ucm-0.1">Àº <url url="http://www.dcs.ed.ac.uk/home/jec/" name="Juliusz Chroboczek">Juliu sz ChroboczekÀÌ °³¹ßÇÑ À¯´ÏÄÚµå ¹®ÀÚ ÁöµµÀÌ´Ù. ÀÌ°ÍÀº À¯´ÏÄÚµå ¹®ÀÚ¸¦ ¼±ÅÃÇÏ°í ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ºÙ¿©³ÖÀ» ¼ö ÀÖ°Ô ÇÏ´Â ÀÛÀº µµ±¸ÀÌ´Ù. <item><url url="http://www.linuxstart.com/~winitzki/" name="Serge Winitzki"> °¡ °³¹ßÇÑ <url url="http://www.linuxstart.com/~winitzki/txtbdf2ps.html" name="txtbdf2ps">´Â BDF Çȼ¿ ÆùÆ®µéÀ» »ç¿ëÇÏ¿© UTF-8 plaintext¸¦ Æ÷½ºÆ®½º Å©¸³Æ®·Î Ãâ·ÂÇÏ´Â ÀÏÁ¾ÀÇ Perl ½ºÅ©¸³Æ®ÀÌ´Ù. <item><url url="http://st-www.cs.uiuc.edu/users/chai/figlet.html" name="FIGlet 2.2"> ¶Ç´Â ±× ÀÌÈÄÀÇ ¹öÀüÀº ºí·Ï ±×·¡ÇÈ ¿ä¼Ò(block graphics elements)·Î½á ¸ð³ë½ºÆäÀ̽º ¹®ÀÚ(monospaced characters)¸¦ »ç¿ëÇÏ¿© Å« ±ÛÀÚ·Î ¹è ³Ê ÅؽºÆ®(banner text)¸¦ Ãâ·ÂÇÏ´Â µµ±¸ÀÇ ÀÏÁ¾ÀÌ´Ù. <item><url url="http://www.rano.org/" name="Edmund Grimley Evans">´Â UCS ÆùÆ® Áö¿øÀ» »ç¿ëÇÏ¿© <url url="http://www.msu.edu/user/pfaffben/" name="BOGL"> ¸®´ª½º ÇÁ·¹ÀÓ¹öÅÍ ±×·¡ÇÈÀ» È®ÀåÇÏ¿´´Ù. ¶ÇÇÑ UCS ÆùÆ® Áö¿øÀ» ÀÌ¿ëÇÏ¿© <tt>bterm</tt>À̶ó ºÒ¸®´Â °£´ÜÇÑ UTF-8 ÄÜ¼Ö Å͹̳Π¿¡¹Ä·¹ÀÌÅ͸¦ Á¦ ÀÛÇÏ¿´´Ù. </itemize> <!-- Á¦ 18 ÀåÀÇ ½ÃÀÛ --> <sect>UTF-8À» Áö¿øÇϱâ À§Çؼ­ »ç¿ë°¡´ÉÇÑ ÆÐÄ¡´Â ¹«¾ùÀΰ¡? <p> <itemize> <item><url url="http://clisp.cons.org/~haible/" name="Bruno Haible">Àº stty¿Í ¸®´ª½º Ä¿³Î tty ¹× groff µîÀ» À§ÇÑ <url url="ftp://ftp.ilog.fr/pub/Use rs/haible/utf8/" name="¿©·¯°¡Áö ÆÐÄ¡">¸¦ ÁغñÇß´Ù. <item>Miyashita Hisashi´Â Emacs 20.6°ú ±× ÀÌ»óÀÇ ¹öÀüÀ» À§ÇÑ ¹®Àڼ º¯¿ª ÆÐÅ°ÁöÀÎ <url url="ftp://ftp.m17n.org/pub/mule/Mule-UCS/" name="MULE-UCS"> ¸¦ ÀÛ¼ºÇß´Ù. ÀÌ°ÍÀº Mule ÀÎÄÚµù(Emacs¿¡¼­ ³»ºÎÀûÀ¸·Î »ç¿ëÇÏ´Â)°ú ISO 1 0646 »çÀ̸¦ Àüȯ½Ãų ¼ö ÀÖ´Ù. <item>Otfried CheongÀº <url url="http://www.cs.uu.nl/~otfried/Mule/" name="GNU Emacs¸¦ À§ÇÑ À¯´ÏÄÚµå ÀÎÄÚµù"> ÆäÀÌÁö¿¡, ¶Ç´Ù¸¥ Emacs ¹®ÀÚ¼ÂÀ¸·Î <tt>utf-8</tt>À» µ¡ºÙÀÓÀ¸·Î½á ¸ðµç BMP¸¦ Áö¿øÇÏ´Â MULE-UCS¿¡ ´ëÇÑ ÀÏ Á¾ÀÇ È®Àå±â´ÉÀ» Á¦°øÇÑ´Ù. ±×°¡ ¸¸µç ÆäÀÌÁö´Â ¶ÇÇÑ MULE-UCS¸¦ À§ÇÑ ÂªÀº ¼³Ä¡ ¾È³»¼­¸¦ Æ÷ÇÔÇÑ´Ù. <item>Tomohiko Morioka´Â <url url="http://turnbull.sk.tsukuba.ac.jp/Tools /XEmacs/" name="UTF-8 xemacs¸¦ À§ÇÑ ÆÐÄ¡">¸¦ ³»³õ¾Ò´Ù. <item><url url="http://www.rano.org/" name="Edmund Grimley Evans">´Â À̸ÞÀÏ ÇÁ·Î±×·¥ÀÎ Mutt¿Í curses libraryÀÇ ÀÏÁ¾ÀÎ SlangÀ» À§ÇÑ UTF-8 <url url=" http://www.rano.org/mutt.html" name="ÆÐÄ¡">¸¦ ÁغñÇß´Ù. </itemize> <!-- Á¦ 19 ÀåÀÇ ½ÃÀÛ --> <sect>À¯´ÏÄڵ带 ´Ù·ç´Â »ç¿ë°¡´ÉÇÑ ºñ »ó¿ë(free) ¶óÀ̺귯¸®´Â Àִ°¡? <p> <itemize> <item><bf>NEW:</bf> Ulrich Drepper°¡ °³¹ßÇÑ <url url= "http://sourceware.cygnus.com/glibc/" name="GNU C ¶óÀ̺귯¸® glibc 2.2.1"> Àº UTF-8À» À§ÇÑ ¿Ïº®ÇÑ ¸ÖƼ-¹ÙÀÌÆ® ·ÎÄÉÀÏÀ» Áö¿øÇϱâ À§Çؼ­ À¯´ÏÄÚµå Á¤·Ä ¼ø¼­ ¾Ë°í¸®Áò(sorting order algorithm)À» Æ÷ÇÔÇϸç, ÀÌ°ÍÀº ´Ù¸¥ ¸¹ Àº ÀÎÄÚµùÀ¸·Î ´Ù½Ã ÄÚµùÇÒ ¼ö ÀÖ´Ù. ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷ÆǵéÀº °¡±î¿î ¹Ì·¡¿¡ glibc 2.2.1À» ¾÷±×·¹À̵åÇÒ °ÍÀ¸·Î ¿¹»óµÇÁö¸¸, °æÇè ¸¹Àº ¸®´ª½º »ç¿ëÀÚµéÀº <url url= "ftp://sourceware.cygnus.com/pub/glibc/releases" name="glibc 2.2.1 ¼Ò½º">¸¦ Á÷Á¢ ¼³Ä¡ÇÏ·Á°í ½ÃµµÇÒ ¼ö ÀÖ´Ù(ÀÌ·± ¹æ¹ýÀº ´Ù·ç ±â°¡ ¾î·Æ°í À§ÇèÇÏ´Ù). Bruno HaibleÀÇ <url url="http://clisp.cons.org/% 7ehaible/glibc22-HOWTO.html" name="glibc 2.2 ¼³Ä¡ Áöħ¼­"> »Ó¸¸ ¾Æ´Ï¶ó Çö Àç ÁøÇà ÁßÀÎ °³¹ß »óȲ¿¡ ´ëÇÑ UlrichÀÇ <url url="http://www.cygnus.com/ ~drepper/TODO.html" name="TODO list">¿Í CVS ¾ÆÄ«À̺긦 º¸µµ·Ï Ç϶ó. <item><url url="http://www.icu-project.org/" name="À¯´ÏÄڵ带 À§ÇÑ ±¹Á¦ ÄÄ Æ÷³ÍÆ®">. <item><url url="http://crl.nmsu.edu/~mleisher/" name="Mark Leisher">ÀÇ wchar_ t Áö¿ø Å×½ºÆ® ÄÚµå(<tt>wchar_t<tt> support test code) ¹× UCData À¯ ´ÏÄÚµå ¹®ÀÚ ¼Ó¼º(UCData Unicode character property)°ú bidi ¶óÀ̺귯¸® <item><url url="http://clisp.cons.org/~haible/" name="Bruno Haible">ÀÇ <url url="http://clisp.cons.org/~haible/packages-libiconv.html" name="libiconv"> ¹®Àڼ º¯È¯ ¶óÀ̺귯¸®´Â ÀÏÁ¾ÀÇ <url url="http://www.opengroup.org/onlinepubs/007908799/xsh/iconv.h.html" name="iconv()">±¸Çö ÇÔ¼ö¸¦ Á¦°øÇϴµ¥ ÀÌ°ÍÀº ±¸Çö ÇÔ¼ö¸¦ Çϳªµµ °¡Áö°í ÀÖÁö ¾Ê°Å³ª ÇÔ¼ö·Î ±¸ÇöÇصµ À¯´ÏÄÚµå·ÎºÎÅÍ È¤Àº À¯´ÏÄÚµå·Î ÀüȯµÇÁö ¾Ê´Â ½Ã½ºÅÛÀ» À§ÇÑ °ÍÀÌ´Ù. <item><url url="http://clisp.cons.org/~haible/packages-libutf8.html" name="Bruno HaibleÀÇ libutf8">Àº UTF-8 ¹®ÀÚ¿­À» ó¸®Çϱâ À§ÇÑ, ƯÈ÷ ¾ÆÁ÷ ÀûÀý ÇÑ UTF-8 ·ÎÄÉÀÏÀ» Á¦°øÇÏÁö ¾Ê´Â Ç÷§ÆûÀ» À§ÇÑ ¿©·¯°¡Áö ÇÔ¼öµéÀ» Á¦°øÇÑ´Ù. <item><url url="mailto:tromey@cygnus.com" name="Tom Tromey">ÀÇ <url url="http: //people.redhat.com/otaylor/pango-mirror/download/libunicode-0.4.tar.g z" name="libunicode"> ¶óÀ̺귯¸®´Â Gnome µ¥½ºÅ©Å¾ ÇÁ·ÎÁ§Æ®ÀÇ ÀÏȯÀÌÁö¸¸, G nome°ú »ó°ü¾øÀÌ ºôµåÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ¿©·¯°¡Áö ¹®ÀÚ Å¬·¡½º¿Í º¯È¯ ÇÔ ¼ö¸¦ Á¦°øÇÑ´Ù.(<url url="http://cvs.gnome.org/lxr/source/libunicode/" name=" VS">) <item><url url="http://imagic.weizmann.ac.il/~dov/freesw/FriBidi/" name=" FriBidi">´Â Unicode bidi ¾Ë°í¸®ÁòÀ» ºñ »ó¿ëÀ¸·Î ±¸ÇöÇÑ °ÍÀ̸ç Dov Grobgeld °¡ °³¹ßÇß´Ù. <item><url url="http://czyborra.com/arabjoin/" name="Arabjoin">Àº ¾Æ¶ø ¹®ÀÚ¿ë UTF-8 ÅؽºÆ®(Áö¿ª ¼ø¼­·Î´Â U+06<tt>xx</tt> ¾Æ¶ø¾î ºí·Ï¿¡ ÀÎÄÚµùµÈ´Ù )¸¦ ÀÔ·ÂÀ¸·Î ¹Þ¾ÆµéÀÌ°í, ¾Æ¶ø¾î glyph Á¶ÇÕÀ» ½ÇÇàÇϸç, ´«¿¡ º¸ÀÌ´Â ¼ø ¼­´ë·Î Á¤·ÄµÇ´Â 8ºñÆ® ¹è¼öÀÇ UTF-8 ½ºÆ®¸²À» Ãâ·ÂÇÏ´Â Roman Cryborra°¡ ¸¸µç ÀÛÀº Perl µµ±¸ÀÌ´Ù. ÀÌ°ÍÀº ¾Æ¶ø ¹®ÀÚ¸¦ ´Ù¸£°Ô Ãë±ÞÇÏ´Â °ÍÀÌ ¾Æ´Ï ¶ó ´Ü¼øÈ÷ ¸ðµç glyphÀ» ¿ÞÂÊ¿¡¼­ ¿À¸¥ÂÊ ¼øÀ¸·Î Ãâ·ÂÇÏ´Â xterm ȤÀº yudi t¿Í °°Àº °£´ÜÇÑ À¯´ÏÄÚµå ·»´õ¸µ µµ±¸(renderer)·Î Æ÷¸ËÇßÀ» ¶§ ÀÐÀ» ¼ö ÀÖ´Â °á°ú¸¦ º¸¿©ÁØ´Ù. <item><bf>NEW:</bf> <url url="http://www.w3.org/Inter national/charlint/" name="Charlint">´Â <url url="http://www.w3.org/TR/charm od/" name="W3C ¹®ÀÚ ¸ðµ¨">À» À§ÇÑ ¹®ÀÚ Ç¥ÁØÈ­ µµ±¸ÀÌ´Ù. <item><url url="ucs/wcwidth.c" name="Markus KuhnÀÇ ºñ »ó¿ë wcwidth() ±¸Çö ÇÔ¼ö"> ´Â, C ¶óÀ̺귯¸®¿¡¼­ ¾î¶² ¹®ÀÚ³ª ¹®ÀÚ¿­ÀÌ UTF-8 Å͹̳Π¿¡¹Ä·¹ÀÌÅÍ ½ºÅ©¸°¿¡¼­ ¾ó¸¶³ª ¸¹Àº ¿­(column) À§Ä¡¸¦ Â÷ÁöÇÏ°í ÀÖ´ÂÁö ¾Ë¾Æ³»±â À§ÇÑ ÇÔ¼ö°¡ Á¦°øµÇÁö ¾Ê´Â Ç÷§Æû»óÀÇ ¾ÖÇø®ÄÉÀ̼ǿ¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Ù. <item>Markus KuhnÀÇ <url url="download/transtab.tar.gz" name="º¯È¯ÅÇ(transtab)"> Àº À¯´ÏÄڵ忡¼­ ASCII³ª ¸î¸î 8ºñÆ® ¹®ÀÚ¼ÂÀ¸·Î º¯È¯Çϱâ Èûµç ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇÑ ¹®ÀÚ º¯È¯ Å×À̺íÀÌ´Ù. ÀÌ°ÍÀº À¯´ÏÄÚµå ¹®ÀÚµéÀ» À§ÇÑ Ä¡È¯ ¹®ÀÚ¿­¿¡ °üÇÑ ±¤¹üÀ§ÇÑ ¸ñ·ÏÀ» Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç »ç¿ëºÒ°¡´ÉÇÑ ¹®ÀÚµéÀ» ³ªÅ¸³»±â À§Çؼ­ »ç¶÷µéÀÌ À̸ÞÀÏÀ̳ª ŸÀڱ⿡¼­ »ç¿ëÇÏ´Â ´ëü Ç¥±â¹ý(fa llback notation)°ú ºñ½ÁÇÏ´Ù. ±× Å×À̺íÀº POSIX ·ÎÄÉÀÏ Á¤ÀÇ ÆÄÀÏ(POSIX locale definition file)¿¡ Æ÷ÇÔ½ÃÅ°±â À§Çؼ­ <url url="volatile/ISO-1465 2.pdf" name="ISO/IEC TR 14652>ISO/IEC TR 14652 Æ÷¸ËÀ¸·Î µÇ¾î ÀÖ´Ù. </itemize> <!-- Á¦ 20 ÀåÀÇ ½ÃÀÛ --> <sect>¿©·¯°¡Áö X À§Á¬ ¶óÀ̺귯¸®¸¦ À§ÇÑ À¯´ÏÄÚµå Áö¿øÀÇ ÇöÀç »óȲÀº ¾î¶°ÇÑ°¡? <p> <itemize> <item><url url="http://www.pango.org/" name="Pango - Unicode and Complex Text P rocessing">Àº <url url="http://www.gtk.org/" name="GTK+">¿¡ ¿Ïº®ÇÑ Æ¯¼ºÀ» °®´Â À¯´ÏÄÚµå Áö¿øÀ» Ãß°¡Çϱâ À§ÇÑ ÇÁ·ÎÁ§Æ®ÀÇ ÀÏȯÀÌ´Ù. <item><url url="http://www.troll.no/announce/qt-200.html" name="Qt 2.0">Àº Çö Àç *-ISO10646-1 ÆùÆ® »ç¿ëÀ» Áö¿øÇÏ°í ÀÖ´Ù. </itemize> <!-- Á¦ 21 ÀåÀÇ ½ÃÀÛ --> <sect>UTF-8À» Áö¿øÇϱâ À§ÇØ ¾î¶² ÆÐÅ°Áö°¡ ÇöÀç °³¹ß ÁßÀΰ¡? <p> <itemize> <item><bf>NEW:</bf> °íÀüÀûÀÎ vi ¿¡µðÅÍÀÇ ÀαâÀִ Ŭ·ÐÀÎ VimÀÇ ÃֽŠ<url url="ftp://ftp.vim.org/pub/vim/unreleased/" name="¾ËÆÄ Å×½ºÆ® ¹öÀü 6.0s">´Â ÇöÀç ¿ÍÀÌµå ¹®ÀÚ¿Í 2°³±îÁöÀÇ °áÇÕ ¹®ÀÚ¸¦ Áö¿øÇÔ°ú µ¿½Ã¿¡ UTF-8À» Áö¿øÇÑ´Ù. ÀÚ¼¼ÇÑ °ÍÀº Bram MoolenaarÀÇ <url url="http ://mail.nl.linux.org/linux-utf8/2000-07/msg00036.html" name="announcement"> ¸¦ Àо¶ó. </itemize> <!-- Á¦ 22 ÀåÀÇ ½ÃÀÛ --> <sect>¼Ö¶ó¸®½º »ó¿¡¼­ UTF-8À» À§ÇÑ Áö¿øÀº ¾î¶»°Ô µ¿ÀÛÇϴ°¡? <p> Solaris 2.8¹öÀüºÎÅÍ ±× ÀÌÈÄ·Î UTF-8Àº Àû¾îµµ ºÎºÐÀûÀ¸·Î Áö¿øµÈ´Ù. UTF-8À» »ç ¿ëÇϱâ À§Çؼ­´Â UTF-8 ·ÎÄÉÀÏ Áß Çϳª¸¦ ¼³Á¤Ç϶ó. ¿¹¸¦ µé¸é ´ÙÀ½°ú °°ÀÌ C ½©¿¡¼­ ÀÔ·ÂÇÑ´Ù. <verb> setenv LANG en_US.UTF-8 </verb> <p> ÇöÀç UTF-8 ÅؽºÆ®¸¦ ÀÔ·Â ¹× Ãâ·ÂÇϱâ À§Çؼ­ <tt>dtterm</tt> Å͹̳Π¿¡¹Ä·¹ÀÌÅ͸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, <tt>mp</tt> print filter´Â Æ÷½ºÆ®½ºÅ©¸³Æ® ÇÁ¸°ÅÍ¿¡¼­ UTF-8 ÆÄÀÏÀ» Ãâ·ÂÇÒ °ÍÀÌ´Ù. <tt>en_US.UTF-8</tt> ·ÎÄÉÀÏÀº Áö±ÝÀ¸·Î½á´Â Motif¿Í CDE µ¥½ºÅ©Å¾ ¾ÖÇø®ÄÉÀÌ¼Ç ¹× ¶óÀ̺귯¸®¿¡ ÀÇÇؼ­ Áö¿øµÇÁö¸¸, OpenWindows, XView ¹× OPENLOOK DeskSet ¾ÖÇø®ÄÉÀ̼ǰú ¶óÀ̺귯¸®¿¡ ÀÇÇؼ­´Â Áö¿øµÇÁö ¾Ê´Â´Ù. <p> ´õ ¸¹Àº Á¤º¸¸¦ ¿øÇÑ´Ù¸é, en_US.UTF-8 ·ÎÄÉÀÏ Áö¿ø À¥ ÆäÀÌÁöÀÇ Sun's <url url="h ttp://docs.sun.com:80/ab2/coll.45.13/I18NDG/@Ab2PageView/10821?Ab2Lang=C&Ab2 Enc=iso-8859-1" name="Overview">¸¦ Àо¶ó. <!-- Á¦ 23 ÀåÀÇ ½ÃÀÛ --> <sect>Æ÷½ºÆ® ½ºÅ©¸³Æ® glyph ¸íĪ(Postscript glyph names)>Àº ¾î¶»°Ô UCS ÄÚµå¿Í °ü·ÃµÇ¾î Àִ°¡? <p> Adobe»çÀÇ <url url="http://partners.adobe.com/asn/developer/typeforum/unicodeg n.html" name="Unicode and Glyph Names"> °¡À̵带 Àо¶ó. <!-- Á¦ 24 ÀåÀÇ ½ÃÀÛ --> <sect>Àß Á¤ÀÇµÈ UCS subsetÀº Àִ°¡? <p> 40000°³ÀÇ ¹®ÀÚ¸¦ °¡Áö´Â À¯´ÏÄڵ带 ¿Ïº®ÇÏ°Ô ±¸ÇöÇÏ´Â °ÍÀº °Å´ëÇÑ ÇÁ·ÎÁ§Æ®ÀÌ´Ù . ±×·¯³ª Àü°ú °°ÀÌ ´ÜÁö ¼ö¹é ¶Ç´Â ¼öõ ¹®ÀÚ¸¦ ±¸ÇöÇÏ´Â °Í°ú À¯´ÏÄÚµåÈ­¸¦ °ÅÄ£ ´Ü ¼øÇÑ ÇϳªÀÇ ÀÎÄÚµù¼Ó¿¡¼­ ¸ðµç ÇÊ¿äÇÑ ¹®ÀÚ¿¡ Á¢±ÙÇÏ´Â ´Ü¼øÇÔÀ» Áñ±â´Â °Íµµ Á¾Á¾ Áß¿äÇÏ´Ù(ƯÈ÷ À¯·´ ½ÃÀåÀ» À§Çؼ­). ¼ö¸¹Àº ´Ù¸¥ UCS ¼­ºê¼ÂµéÀº ÀÌ¹Ì È®¸³µÇ¾ú´Ù. <itemize> <item><url url="http://partners.adobe.com/asn/developer/opentype/wgl4.htm" name="Windows Glyph List 4.0 (WGL4)">´Â 8ºñÆ® MS-DOS, Windows, Mac ¹× ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡ ¿¹Àü¿¡ »ç¿ëÇÑ ÀûÀÌ ÀÖ´Â ISO ÄÚµå ÆäÀÌÁö¸¦ ¸ðµÎ Áö¿øÇÏ´Â 650 ¹®ÀÚ·Î ±¸¼ºµÈ ¼ÂÀÌ´Ù. ¸ðµç Windows ÆùÆ®´Â ÇöÀç Àû¾îµµ WGL4 Àü ¸ñ·ÏÀ» Æ÷ÇÔÇÑ´Ù. WGL4´Â CEN MES-1(<url url="http://www.cl.cam.ac.uk/~mgk25/ucs/wgl4.txt" name"= WGL4 Å×½ºÆ® ÆÄÀÏ">)À» ¸ðµÎ Æ÷ÇÔÇÏ´Â ¼ÂÀÌ´Ù. <item>¼¼°¡Áö <url url="http://www.egt.ie/standards/iso10646/pdf/cwa13873.pdf" name="À¯·´¿ë UCS ¼­ºê¼Â MES-1, MES-2 ¹× MES-3">Àº À¯·´ Ç¥ÁØ À§¿øȸ CEN/TC304¿¡ ÀÇÇؼ­ CWA 13873 ¾È¿¡ Á¤ÀÇ µÇ¾ú´Ù. <itemize> <item>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.] <item>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¿Í ÀÏÄ¡½Ãų ¼ö ÀÖ´Ù. <item>MES-3´Â 2819¹®ÀÚ¸¦ °®´Â ¸Å¿ì Æ÷°ýÀûÀÎ UCS ¼­ºê¼ÂÀÌ´Ù. ÀÌ°ÍÀº ´Ü¼øÈ÷ À¯·´ »ç¿ëÀڵ鿡°Ô´Â ÀáÀç·ÂÀÌ ÀÖ´Â ¸Å¿ì À¯¿ëÇÑ UCS ¸ðÀ½(collection)À» ¸ðµÎ Æ÷ÇÔÇÑ´Ù. ÀÌ°ÍÀº ´õ¿í´õ ¿­Á¤ÀûÀÎ °³¹ßÀÚµéÀ» À§ÇÑ °ÍÀÌ´Ù. MES-3Àº MES-2¿Í WGL4¸¦ Æ÷ÇÔÇÏ´Â ¹®ÀÚ¼ÂÀÌ´Ù. </itemize> <item>JIS X 0221-1995´Â ÀϺ»¾î »ç¿ëÀÚµéÀ» À§ÇÑ 7°³ÀÇ °ãÄ¡Áö ¾Ê´Â UCS ¼­ºê¼ÂÀ» ¸í½ÃÇÏ°í ÀÖ´Ù. <itemize> <item>±âº»ÀûÀÎ ÀϺ»¾î(6884°³ ¹®ÀÚ): JIS X 0208-1997, JIS X 0201-1997 <item>ÀϺ»¾î ºñ-Ç¥ÀÇ ¹®ÀÚ(Non-ideographic) º¸¿Ï(1913°³ ¹®ÀÚ): JIS X 0212-1990 ºñ-°£Áö ¹®ÀÚ(non-kanji) ¹× ¿©·¯°¡Áö ´Ù¸¥ ºñ-°£Áö ¹®ÀÚ <item>ÀϺ»¾î Ç¥ÀÇ ¹®ÀÚ º¸¿Ï 1(918°³ ¹®ÀÚ): ¸î¸î JIS X 0212-1990 °£Áö ¹®ÀÚ <item>ÀϺ»¾î Ç¥ÀÇ ¹®ÀÚ º¸¿Ï 2(4883°³ ¹®ÀÚ): ³ª¸ÓÁö JIS X 0212-1990 °£Áö ¹®ÀÚ <item>ÀϺ»¾î Ç¥ÀÇ ¹®ÀÚ º¸¿Ï 3(8745°³ ¹®ÀÚ): ³ª¸ÓÁö Áß±¹¾î ¹®ÀÚ <item>¿ÏÀüÇÑ ÆøÀ» °®´Â Alphanumeric(94°³ ¹®ÀÚ): ȣȯ¼ºÀ» À§Çؼ­ <item>Àý¹ÝÀÇ ÆøÀ» °®´Â īŸī³ª ¹®ÀÚ(63°³ ¹®ÀÚ): ȣȯ¼ºÀ» À§Çؼ­ </itemize> <item>ISO 10646 Ç¥ÁØÀº ±×°ÍÀÇ Àüü ¸ñ·ÏÀ», ¼­ºê¼ÂÀ» Á¤ÀÇÇÏ°í ±â·ÏÇϱâ À§Çؼ­ »ç¿ëÇÏ´Â ¼ö¸¹Àº <url url= "http://www.egt.ie/standards/iso10646/ ucs-collections.html" name="¹­À½µé(collections)">·Î ³ª´«´Ù. À¯´ÏÄڵ嵵 ºñ½ÁÇÏÁö¸¸, ¶È°°Áö´Â ¾ÊÀº À¯´ÏÄÚµå Ç¥ÁØÀÇ °¢ ¼½¼Ç¿¡ ´ëÀÀÇÏ´Â ¹®ÀÚµéÀÇ <url url="ftp://ftp.unicode.org/Public/UNIDATA/Blocks.txt" name="ºí·Ï"> (blocks of characters)À» Á¤ÀÇÇÏ°í ÀÖ´Ù. <item><url url="ftp://sunsite.doc.ic.ac.uk/packages/rfc/rfc1815.txt" name="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´Â ¿À´Ã³¯ ¿ÏÀüÈ÷ ½Ã´ë¿¡ µÚ¶³¾îÁ³À¸¸ç ÀûÀýÇÏÁö ¾ÊÀ¸¸ç, ¹«½ÃÇÏ´Â °ÍÀÌ ÃÖ¼±ÀÌ´Ù. <item>Markus KuhnÀº <url url="http://www.cl.cam.ac.uk/~mgk25/download/ ucs-fonts.tar.gz" name="ucs-fonts.tar.gz">ÀÇ README ÆÄÀÏ¿¡¼­ ¼¼°¡Áö UCS ¼­ºê¼Â TARGET1, TARGET2 ¹× TARGET3À» Á¤ÀÇÇÏ°í Àִµ¥ À̵éÀº ´ëÀÀÇÏ´Â MES ¼­ºê¼ÂÀ» ¾Ë¸Â°Ô È®ÀåÇÑ °ÍÀ̸ç, xtermÀÇ ÆùÆ® ÆÐÅ°Áö¸¦ ¿Ï¼ºÇϱâ À§ÇÑ ±Ù°£ÀÌ µÇ¾ú´Ù. </itemize> <p> Markus KuhnÀÇ <url url="http://www.cl.cam.ac.uk/~mgk25/download/uniset.tar.gz" name="À¯´Ï¼Â(uniset)"> Perl ½ºÅ©¸³Æ®´Â ±¸ÇöÇÑ ÇÁ·Î±×·¥ÀÌ Á¦´ë·Î µ¿ÀÛÇÏ´Â Áö¸¦ üũÇϱ⸦ ¿øÇϰųª »õ·Î¿î ÇÁ·Î±×·¥À» ¸¸µé°í ½Í¾îÇÏ´Â »ç¶÷µéÀ» À§ÇÏ¿© UCS ¼­ºê¼Â À§¿¡ Æí¸®ÇÑ »ê¼ú °è»ê ¼Â(set)À» »ç¿ëÇÏ´Â °ÍÀ» Çã¿ëÇÏ°í ÀÖ´Ù. <!-- Á¦ 25 ÀåÀÇ ½ÃÀÛ --> <sect>X11 R6.4 ½ºÆå°ú À¯´ÏÄڵ忡 ¾î¶² ¹®Á¦Á¡ÀÌ Àִ°¡? <p> <url url="ftp://ftp.x.org/pub/R6.4/" name="X11 R6.4 ¸±¸®Áî">(1998)´Â X ÄÁ¼Ò½Ã¿òÀÌ °³¹ßÇÑ X11 À©µµ¿ì ½Ã½ºÅÛ Ç¥ÁØ¿¡ ¸Â´Â »ùÇà ÇÁ·Î±×·¥ÀÇ ÃֽŠ¹öÀüÀÌ´Ù. ´ëºÎºÐÀÇ <url url="ftp://ftp.x.org/pub/R6.4/xc/doc/hardcopy/" name="ÇöÀçÀÇ X11 Ç¥ÁØ">°ú »ùÇà ÇÁ·Î±×·¥Àº À¯´Ð½º ȯ°æ¿¡¼­ÀÇ À¯´ÏÄڵ忡 ´ëÇÑ ±¤¹üÀ§ÇÑ °ü½ÉÀ» ÀÏÂïºÎÅÍ ºÒ·¯ÀÏÀ¸Å°°í ÀÖ´Ù. <itemize> <item><p><bf>UTF-8 À߶󳻱â¿Í ºÙÀ̱â:</bf> <url url="ftp://ftp.x.org/pub/R6.4/ xc/doc/hardcopy/ICCCM/icccm.PS.gz" name="ICCCM"> Ç¥ÁØÀº ¼±ÅÃÇÑ UCS ¹®ÀÚ¿­À» º¯È¯ÇÏ´Â ¹æ¹ýÀ» ¸í½ÃÇÏÁö ¾Ê°í ÀÖ´Ù. ¸î¸î º¥´õµéÀº ÇöÁ¸ÇÏ´Â <url url= "ftp:// ftp.x.org/pub/R6.4/xc/doc/hardcopy/CTEXT/ctext.PS.gz" name="COMPOUND_TEXT"> ¸ÞÄ«´ÏÁò (CTEXT)¿¡ UTF-8À» ¶Ç ÇϳªÀÇ ÀÎÄÚµùÀ¸·Î½á Ãß°¡ÇÏ¿´´Ù. ÀÌ°ÍÀº Àû¾îµµ ´ÙÀ½°ú °°Àº ÀÌÀ¯¿¡¼­ ÁÁÀº ÇØ°áÃ¥ÀÌ ¾Æ´Ï´Ù. <itemize> <item>CTEXT´Â ´Ù¼Ò º¹ÀâÇÑ ISO 2022 ¸ÞÄ«´ÏÁòÀÌ´Ù. ±×·¯³ª À¯´ÏÄÚµå´Â CTEXT¿¡ ¶Ç ´Ù¸¥ Ãß°¡ Ç׸ñÀ» Á¦°øÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ²ûÂïÇÑ ¸ÞÄ«´ÏÁò Àüü¸¦ ÈξÀ °£´ÜÇÏ°í ´õ¿í Æí¸®ÇÏ¸ç µ¿µîÇÑ ´É·ÂÀ» °®´Â ¹«¾ð°¡·Î ´ëüÇÒ ±âȸ¸¦ Á¦°øÇÑ´Ù. <item>Á¸ÀçÇÏ´Â ¸¹Àº ¾ÖÇø®ÄÉÀ̼ǵéÀº CTEXT¸¦ ÅëÇØ ¼±ÅÃÇÑ °Í°ú Åë½ÅÇÒ ¼ö ÀÖÁö¸¸, »õ·Ó°Ô Ãß°¡ÇÑ UTF-8 ¿É¼ÇÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. CTEXT »ç¿ëÀÚ´Â °ú°ÅÀÇ ISO 2022 ÀÎÄÚµùÀ» »ç¿ëÇÒ °ÍÀÎÁö »õ·Î¿î UTF-8 ÀÎÄÚµùÀ» »ç¿ëÇÒ °ÍÀÎÁö¸¦ °áÁ¤Çؾ߸¸ ÇÑ´Ù. ±×·¯³ª µÎ°¡Áö¸¦ µ¿½Ã¿¡ »ç¿ëÇÒ ¼ö´Â ¾ø´Ù. ´Ù½Ã ¸»Çؼ­, CTEXT¿¡ UTF-8À» ½ÅÁßÈ÷ Ãß°¡ÇÑ´Ù°í ÇÒÁö¶óµµ Á¸ÀçÇÏ´Â CTEXT ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÇÏÀ§ ¹öÀü°úÀÇ È£È¯¼ºÀº ±úÁø´Ù. <item>ÇöÀçÀÇ CTEXT ½ºÆåÀº ¼½¼Ç 6¿¡¼­ ¸íÈ®ÇÏ°Ô ´ÙÀ½°ú °°ÀÌ UTF-8ÀÇ Ãß°¡¸¦ ±ÝÁöÇÏ°í ÀÖ´Ù. "'´Ù¸¥ ÄÚµù ½Ã½ºÅÛ'¿¡ µî·ÏµÈ ISO´Â ÄÄÆÄ¿îµå ÅؽºÆ®¿¡¼­ »ç¿ëµÇÁö ¾Ê´Â´Ù; È®ÀåµÈ ¼¼±×¸ÕÆ®µéÀº ISO 2022°¡ ¾Æ´Ñ ÀÎÄÚµù(non-2022 encodings)À» À§ÇÑ À¯ÀÏÇÑ ¸ÞÄ«´ÏÁòÀÌ´Ù." </itemize> <p><url url="http://www.dcs.ed.ac.uk/home/jec/" name="Juliusz Chroboczek">Àº ¼Ó¼º Çü(property type)°ú ¼±Åà ¸ñÇ¥(selection target)·Î »ç¿ëÇÒ ¼ö ÀÖ´Â »õ·Î¿î UTF8_STRING ¿ä¼Ò¸¦ ÀÌ¿ëÇÏ¿© UTF-8ÀÇ ¼±Åà ¿©ºÎ¸¦ ´Ù·ç±â À§ÇÑ ICCMÀÇ È®Àå¿¡ ´ëÇؼ­, "<url url="http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/ UTF8-selections.text" name="À¯´ÏÄÚµå ÅؽºÆ®ÀÇ ³»ºÎ-Ŭ¶óÀ̾ðÆ® ±³È¯">¿¡ °üÇÑ Á¦¾È ÃʾÈ(Inter-Client Exchange of Unicode Text draft proposal)"À» ÀÛ¼ºÇÏ¿´´Ù. <item><bf>¾µ¸ð ¾ø´Â ÆùÆ® µ¥ÀÌÅÍ ±¸Á¶µé:</bf> ÆùÆ®ÀÇ ¹ÌÅÍ ´ÜÀ§ ±æÀÌ¿¡ °üÇÑ Á¤º¸¸¦ ³ªÅ¸³»±â À§ÇØ »ç¿ëÇÏ´Â 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)¿Í µ¥ÀÌÅÍ Àü¼ÛÀ» ÇÊ¿ä·Î ÇÔÀ» ÀǹÌÇÑ´Ù. <p>Áö±Ý±îÁö °Å·ÐÇØ¿Ô´ø ÀÏ°ú °ü·ÃµÈ ¸î¸î ÁÖº¯ÀÇ Àϵé: <itemize> <item>XFree86 4.0¿¡ ÇÔ²² Á¦°øµÇ´Â ºñ-¾Æ½Ã¾Æ±Ç¿ë <bf>-misc-fixed-*-iso10646-1</bf > ÆùÆ®µéÀº U+31FF ÀÌ»óÀÇ ¿µ¿ª¿¡¼­´Â ¾î¶°ÇÑ ¹®ÀÚµµ Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù. ÀÌ°ÍÀº ÇÊ¿ä ÇÑ ¸Þ¸ð¸®·®À» 153 ų·Î¹ÙÀÌÆ®±îÁö·Î Á¦ÇÑÇÑ´Ù. ÀÌ°ÍÀº ¿©ÀüÈ÷ ÁÁÁö ¾ÊÀº ÀÏÀÌÁö¸¸, ±×·¸°Ô ³ª»Û Àϵµ ¾Æ´Ï´Ù.(BDF ÆÄÀÏ¿¡¼­ ³ªÅ¸³ª´Â U+31FF ÀÌ»óÀÇ ¿µ¿ª¿¡¼­ À¯¿ëÇÑ ¹® ÀÚµéÀÌ ½ÇÁ¦·Î Á¸ÀçÇϸç, ÀÌ·¯ÇÑ ¹®Á¦°¡ ÇØ°áµÉ ±× ³¯¸¸À» ±â´Ù¸®°í ÀÖ´Ù. ±×·¯³ª ±× µéÀº ÇöÀç´Â -1·Î ÀÎÄÚµùµÇ¸ç, µû¶ó¼­ X ¼­¹ö¿¡ ÀÇÇؼ­ ¹«½ÃµÈ´Ù.) <item>Bruno HaibleÀº ¼­¹ö¿¡¼­ Ŭ¶óÀ̾ðÆ®·Î ¾ÐÃà½ÃÄÑ XCharStruct¸¦ Àü¼ÛÇÏ°í, °°Àº ÆùÆ®¸¦ ·ÎµåÇÏ´Â ´Ù¼öÀÇ »ç¿ëÀÚ¸¦ À§ÇÑ XlibÀÇ °øÀ¯ ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ´Â, XFree86 4.0À» À§ÇÑ BIGFONT ÇÁ·ÎÅäÄÝ È®ÀåÀÚ(extension)¸¦ ÀÛ¼ºÇÏ¿´´Ù. </itemize> <p> ÀÌ·¯ÇÑ ÁÖº¯ÀÇ ÀϵéÀº XFontStruct°¡ µå¹°°Ô »ç¿ëÇÏ´Â ÆùÆ®µé¿¡°Ô ÀûÇÕÇÏÁö ¾Ê´Ù´Â ÀáÀçÀûÀÎ ¹®Á¦¸¦ ÇØ°áÇØ ÁÖÁö ¾Ê´Â´Ù. ±×·¯³ª ±×µéÀº API ȤÀº Ŭ¶óÀ̾ðÆ® ¼Ò½º ÄÚµå ¸¦ º¯°æÇÒ ÇÊ¿ä ¾øÀÌ Áß¿äÇÑ È¿À² Çâ»óÀ» Á¦°øÇÑ´Ù. ÇÑ°¡Áö ÁøÁ¤ÇÑ ÇØ°áÃ¥Àº XFontStr uct¸¦ ¹è¿­°ú´Â ´ëÁ¶ÀûÀ¸·Î ¹®ÀÚ¸¦ ÀúÀåÇÏ´Â Á¤·Ä ¸®½ºÆ®³ª Çؽà Å×À̺íÀ» Æ÷ÇÔÇÏ´Â ÈξÀ À¯¿¬ÇÑ ¹«¾ð°¡·Î È®Àå ȤÀº ´ëüÇÏ´Â °ÍÀÌ µÉ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ XFontStructÀÇ Àç ¼³°è´Â ¶ÇÇÑ °áÇÕ ¹®ÀÚ¿Í Àεµ ¹®ÀÚÀÇ ¿¬°á¼±À» µ¿½Ã¿¡ »ç¿ëÇϱâ À§ÇØ ±ÞÈ÷ ÇÊ¿äÇÑ ´ë ºñÃ¥ÀÌ µÉ °ÍÀÌ´Ù. <item><bf>Keysyms:</bf> Áö±Ý±îÁö Á¤ÀÇµÈ ¹Ù·Î´Â 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ÀÇ <url url="http://www.cl.cam.ac.uk/~mgk25/ucs/keysym2ucs.c" name="keysym2ucs.c"> ÆÄÀÏÀ» º¸¶ó. Markus´Â ¶ÇÇÑ X ÇÁ·ÎÅäÄÝ Ç¥ÁØ <url url="http://www.cl.cam.ac.uk/ ~mgk25/ucs/X11.keysyms" name="ºÎ·Ï A: KEYSYM ÀÎÄÚµù">ÀÇ °³Á¤ÆÇ ÃÊ¾È À» ÀÛ¼ºÇß´Ù. ±×°ÍÀº UCS »óÈ£ ÂüÁ¶ Å×À̺íÀ» Ãß°¡ÇÑ KEYSYM ÀÎÄÚµù(<url url="http: //www.cl.cam.ac.uk/~mgk25/ucs/keysyms.pdf" name="PDF">)ÀÌ´Ù. <item><bf>°áÇÕ ¹®ÀÚ:</bf> X11ÀÇ ¼¼ºÎ »çÇ×À» º¸¸é °áÇÕ ¹®ÀÚ¸¦ ¾î¶² ½ÄÀ¸·Îµµ Áö¿øÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ÆùÆ® Á¤º¸¿¡´Â ¾×¼¾Æ®¸¦ ÀÚµ¿À¸·Î ºÙÀ̴µ¥ ÇÊ¿äÇÑ µ¥ÀÌÅÍ°¡ ºÎÁ·ÇÏ´Ù(¿¹µé µé¸é, TeX¿¡´Â ¸ðµç ÆùÆ®¿¡ ¾×¼¾Æ®¸¦ ÀÚµ¿À¸·Î ºÙÀÌ´Â ±â´ÉÀÌ ÀÖ´Ù). ´Ù¾çÇÑ »ç¶÷µéÀÌ À×Å©¸¦ °¡Áö°í ¹®ÀÚÀÇ ¿ÞÆí¿¡ ÆøÀÌ ¾ø´Â ¹®ÀÚ(zero-width characters)¸¦ »ç¿ëÇÏ´Â °¡Àå °£´ÜÇÑ °áÇÕ ¹®ÀÚ °ãÃľ²±â(simplest overstriking combining characters)¸¦ ±¸ÇöÇϱâ À§Çؼ­ ½ÇÇèÀ» ÇØ¿Ô´Ù. ±×·¯³ª ÀÌ°ÍÀ» ±¸ÇöÇÏ´Â ¹æ¹ý¿¡ °üÇÑ ¼¼ºÎ »çÇ×Àº ½ÇÁ¦·Î ¸í½ÃµÇÁö ¾Ê°í ÀÖ´Ù. (¿¹¸¦ µé¸é, CharCell°ú ¸ð³ë½ºÆäÀ̽º ÆùÆ®(monospaced fonts)´Â ÆøÀÌ ¾ø´Â ¹®ÀÚ¸¦ Çã¿ëÇÏÁö ¾Ê´Â´Ù.) ±×·¯¹Ç·Î ÀÌ°ÍÀº ¾ÆÁ÷ Æø³Ð°Ô È®¸³µÈ ±â¼úÀÌ ¾Æ´Ï´Ù. <item><bf>¿¬°á¼±:</bf> Àεµ ¼­Ã¼´Â ¿¬°á¼± ġȯÀ» Áö¿øÇÏ´Â ÆùÆ® ÆÄÀÏ Æ÷¸ËÀ» ÇÊ¿ä·Î ÇÑ´Ù. ÀÌ°ÍÀº Áö±ÝÀ¸·Î½á´Â °áÇÕ ¹®ÀÚó·³ X11ÀÇ ¼¼ºÎ »çÇ׿¡ Æ÷ÇԵǾî ÀÖÁö ¾Ê´Ù. <item><bf>UTF-8 ·ÎÄÉÀÏ:</bf> X11 R6.4 »ùÇÃÀº Áö±ÝÀ¸·Î½á´Â UTF-8 ·ÎÄÉÀÏÀ» À§ÇÑ ¾î¶°ÇÑ Áö¿øµµ Æ÷ÇÔÇÏÁö ¾Ê°í ÀÖ´Ù. °ú°ÅÀÇ UTF ·ÎÄÉÀÏÀº ÀÖÁö¸¸, ±×°ÍÀº ºÒ¿ÏÀüÇϸç ÇöÀç¿¡´Â ¾µ¸ð¾ø´Â UTF-1 ÀÎÄÚµùÀ» »ç¿ëÇÑ´Ù. UTF-8 ·ÎÄÉÀÏÀ» ±¸ÇöÇϱâ À§Çؼ­´Â ÀϹÝÀûÀÎ ÀÎÄÚµù º¯È¯ °úÁ¤ÀÌ ÇÊ¿äÇÒ »Ó¸¸ ¾Æ´Ï¶ó ¿©·¯°¡Áö Å°º¸µå µî·Ï(entry) ¹æ¹ý, Á¸ÀçÇÏ´Â ISO 8859¿Í keysym Å°º¸µå¸¦ UCS·Î ¸ÅÇÎÇÏ¿© ¹èÄ¡Çϱâ, ÇÕ¼º Å° (compose key)¸¦ À§ÇÑ ±Øµµ·Î È®ÀåµÈ Áö¿ø ¹× Çѱ۰ú ÇÑÀÚ µî·Ï Áö¿ø(entry support)À» ÀÔ·ÂÇϱâ À§ÇÑ ÀÓÀÇ ¹®ÀÚÀÇ <url url="http://www.cl.cam.ac. uk/~mgk25/volatile/ISO-14755.pdf" name="ISO 14755"> 16Áø¼ö µî·ÏÀÌ ÇÊ¿äÇÏ´Ù. <item><bf>»ùÇà ±¸Çö(sample implementation):</bf> xterm, xfontsel, À©µµ¿ì ¸Å´ÏÀúµî°ú °°Àº °íÀüÀûÀΠǥÁØ ÅøÀ» À§ÇÑ À¯´ÏÄÚµå Áö¿ø »Ó¸¸ ¾Æ´Ï¶ó ¼ö¸¹Àº ±¤¹üÀ§ÇÑ À¯´ÏÄÚµå Ç¥ÁØ ÆùÆ®µéÀÌ »ùÇà ±¸Çö¿¡ Ãß°¡µÇ¾î¾ß¸¸ ÇÑ´Ù. ÀÌ·¯ÇÑ ºÎºÐ¿¡ °üÇÑ ¸î¸î ¿¬±¸µéÀÌ ÀÌ¹Ì XFree86 ³»ºÎ¿¡¼­ ÀÌ·ç¾îÁö°í ÀÖÀ¸¸ç ±× ¹ÛÀÇ ÀϵéÀº ÀÌÀüÀÇ Áß¿ä »ç¾ÈµéÀÌ ¾ÆÁ÷ ÇØ°áµÇÁö ¾Ê¾Ò´Ù´Â »ç½Ç·Î ÀÎÇØ ÇöÀç ¿¬±âµÇ°í ÀÖ´Ù. </itemize> <p> ÀÌ·¯ÇÑ À̽´µéÀ» ¿¬±¸ÇÏ´Â ÀÛ¾÷ÀÌ ÁøÇà ÁßÀΰ¡? ¸ð¸£°Ú´Ù. ³ª´Â ¸î ÀÏ¿¡ °ÉÃÄ X ÄÁ ¼Ò½Ã¿òÀ» °ø½ÄÀûÀ¸·Î °è½ÂÇÑ ´ÜüÀÌÀÚ X11 Ç¥ÁØ°ú »ùÇà ±¸ÇöÀÇ °ü¸®ÀÚ ¿ªÇÒÀ» ÇÏ´Â Op engroupÀÎ <url url="http://www.x.org/" name="X.Org">¿¡ Á¢ÃËÇÏ·Á ½ÃµµÇßÁö¸¸, ±×µé·ÎºÎÅÍ ¾ÆÁ÷ ¾µ¸ð ÀÖ´Â ¾î¶°ÇÑ ´ë´äµµ ¾òÁö ¸øÇß´Ù(X.OrgÀÇ ÇÑ ¸â¹öÀÎ XFree86¿¡µµ Á¢ÃËÇßÁö¸¸, ¿ª½Ã ´ë´äÀ» ¾òÁö ¸øÇß´Ù). <!-- Á¦ 26 ÀåÀÇ ½ÃÀÛ --> <sect>ÀÌ·± ¹®Á¦¿¡ °üÇÑ ÁÁÀº ¸ÞÀϸµ ¸®½ºÆ®´Â Àִ°¡? <p> ¹Ýµå½Ã <url url="http://www.unicode.org/unicode/consortium/distlist.html" name="unicode@unicode.org"> ¸ÞÀϸµ ¸®½ºÆ®¿¡ °¡ÀÔÇؾ߸¸ ÇÑ´Ù. ÀÌ°ÍÀÌ Ç¥ÁØ ÀÛ ¼ºÀÚ¿Í ¸¹Àº ´Ù¸¥ µµ»çµéÀÇ ÀÇ°ßÀ» µè±â À§ÇÑ ÃÖ¼±ÀÇ ¹æ¹ýÀÌ´Ù. ±âºÎ±ÝÀ» ³»°íÀÚ ÇÑ´Ù ¸é, <url url="mailto:unicode-request@unicode.org" name="unicode-request@ unicode.org">¿¡ "subscribe"¶ó´Â Á¦¸ñ°ú ÇÔ²² "subscribe <em>YOUR@EMAIL.ADDRESS </em> unicode" ¶ó´Â ³»¿ëÀ¸·Î ¸Þ½ÃÁö¸¦ º¸³»¸é µÈ´Ù. <p> ¶ÇÇÑ GNU/Linux ½Ã½ºÅÛ¿¡¼­ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇÑ ´õ¿í Çâ»óµÈ UTF-8 Áö¿øÃ¥À» ¿¬±¸Çϱâ À§Çؼ­ ¾²ÀÌ´Â <bf>linux-utf8@nl.linux.org</bf> ¸ÞÀÏ ¸µ ¸®½ºÆ®°¡ ÀÖ´Ù. ±âºÎ±ÝÀ» ³»°íÀÚ ÇÑ´Ù¸é, "subscribe linux-utf8"À̶ó´Â ÇÑ ÁÙÀÇ ³»¿ëÀ» Àû¾î <url url="mailto:majordomo@nl.linux.org" name="majordomo@nl.linux. org">·Î ¸Þ½ÃÁö¸¦ º¸³»¶ó. ¶ÇÇÑ <url url="http://www.linux.eu.org/lists/linux- utf8/" name="linux-utf8 archive">¸¦ ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù. <p> Xlib¿Í X ¼­¹ö¿¡¼­ÀÇ À¯´ÏÄÚµå Áö¿ø¿¡ °üÇÑ ÀûÀýÇÑ ¸ÞÀϸµ ¸®½ºÆ®´Â <url url="http ://XFree86.Org/mailman/listinfo/fonts" name="fonts@xfree86.org">¿Í <url url= "http://XFree86.Org/mailman/listinfo/i18n" name="i18n@xfree86.org">°¡ ÀÖ´Ù. <!-- Á¦ 27 ÀåÀÇ ½ÃÀÛ --> <sect>´õ¿í »ó¼¼ÇÑ Âü°í ÀÚ·á <p> <itemize> <item>Bruno HaibleÀÇ <url url="ftp://ftp.ilog.fr/pub/Users/haible/utf8/ Unicode-HOWTO.html" name="Unicode HOWTO">. <item><url url="http://www.amazon.com/exec/obidos/ASIN/0201616335/mgk25" name="The Unicode Standard, Version 3.0">, Addison-Wesley, 2000. ÆùÆ®¿Í ¹®ÀÚ¿¡ °ü°èµÈ ÀÏÀ» ÇÏ°íÀÚ ÇÑ´Ù¸é ¹Ýµå½Ã ÀÌ ¹®¼­ÀÇ º¹»çº»À» ±¸ÇØ¾ß ÇÑ´Ù. <item>Ken LundeÀÇ <url url="http://www.amazon.com/exec/obidos/ASIN/1565922247/ mgk25" name="CJKV Information Processing">, O'Reilly & Associates, 1999. µ¿ ¾Æ½Ã¾Æ ¹®Àڼ¿¡ °ü½ÉÀÌ ÀÖ´Ù¸é Ʋ¸²¾ø´Â °¡Àå À¯¿ëÇÑ Ã¥ÀÌ´Ù. <item><url url="http://www.unicode.org/unicode/reports/" name="Unicode Technical Reports"> <item>Mark DavisÀÇ <url url="http://www.unicode.org/unicode/faq/" name=" Unicode FAQ"> <item><url url="http://www.iso.ch/cate/d18741.html" name="ISO/IEC 10646-1:1993"> <item><url url="http://people.netscape.com/ftang/i18n.html" name="Frank TangÀÇ Internationalization Secrets"> <item><url url="http://www.ibm.com/developer/unicode/" name="IBM's Unicode Zone"> <item><url url="http://www.sun.com/software/white-papers/wp-unicode/" name=" Unicode Support in the Solaris 7 Operating Environment"> <item><url url="ftp://ftp.informatik.uni-erlangen.de/pub/doc/ISO/charsets/ UTF-8-Plan9-paper.ps.gz" name="introduction of UTF-8 under Plan9">¿¡¼­ Rob Pike¿Í Ken ThompsonÀÌ ÀÛ¼ºÇÑ The USENIX paper´Â 1992³â¿¡ ÀÌ¹Ì UTF-8(±× ½Ã±â¿¡´Â UTF-2·Î ºÒ·È´Ù)·Î ¿Ïº®ÇÏ°Ô ¼öÁ¤ÇÑ Ã¹ ¹ø° ¿î¿µÃ¼Á¦¿¡ ´ëÇؼ­ º¸°íÇÏ°í ÀÖ´Ù. <item><url url="http://www.li18nux.net/" name="Li18nux">´Â ¸®´ª½º¸¦ À§ÇÑ À¯´ÏÄÚµå Áö¿øÀ» °­È­Çϱâ À§Çؼ­ ¸î¸î ¸®´ª½º ¹èÆ÷¾÷Àڵ鿡 ÀÇÇؼ­ ½ÃÀÛµÈ ÇÁ·ÎÁ§Æ®ÀÇ ÀÏÁ¾ÀÌ´Ù. ±× ÇÁ·ÎÁ§Æ®´Â ÃÖ±Ù¿¡ °ø°ø ºñÆòÀ» À§Çؼ­ <url url="http: //www.li18nux.net/root/LI18NUX2000/li18nux2k_draft.html" name="Li18nux 2000 Globalization Specification">À» ¹ßÇàÇß´Ù. <item><url url="http://www.UNIX-systems.org/online.html" name="Online Single Unix Specification">Àº wcwidth()¿Í °°Àº È®Àå ÇÔ¼öÀ» Æ÷ÇÔÇÑ ¸ðµç ISO C Amendment 1 ÇÔ¼ö¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. <item>Open GroupÀÇ <url url="http://www.unix-systems.org/version2/whatsnew/ login_mse.html" name="ISO C Amendment 1"> ¿ä¾à¼­. <item><url url="http://sourceware.cygnus.com/glibc/" name="GNU libc"> <item><url url="http://lct.sourceforge.net/" name="The Linux Console Tools"> <item>À¯´ÏÄÚµå ÄÁ¼Ò½Ã¾ö <url url="ftp://ftp.unicode.org/Public/UNIDATA/" name= "character database">¿Í <url url="ftp://ftp.unicode.org/Public/MAPPINGS/" name="character set conversion tables">´Â À¯´ÏÄÚµå °ü·Ã µµ±¸¸¦ °³¹ßÇÏ·Á´Â »ç¶÷¿¡°Ô´Â ÇʼöÀûÀÎ ÀÚ·áÀÌ´Ù. <item><url url="http://www.microsoft.com/globaldev/reference/WinCP.asp" name= "Microsoft">¿Í <url url="ftp://dkuug.dk/i18n/WG15-collection/charmaps/" name= Keld Simonsen's WG15 archive">ÀÇ º¯È¯ Å×ÀÌºíµµ ¶ÇÇÑ À¯¿ëÇÏ´Ù. <item>Michael EversonÀÇ <url url="http://www.indigo.ie/egt/standards/iso10646/ pdf/" name="ISO10646-1 archive">´Â ´õ¿í ÃÖ½ÅÀÇ ISO 10646-1 amendmentsÀÇ ¿Â¶óÀÎ ¹öÀü¿¡ ´õÇØ ±× ¹ÛÀÇ ¸¹Àº À¯ÀÍÇÑ ³»¿ëÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. ¶ÇÇÑ ±×ÀÇ <url url="http://www.indigo.ie/egt/standards/iso10646/ucs-roadmap.html" name="Roadmaps to the Universal Character Set">À» º¼ ¼ö ÀÖ´Ù. <item><url url="http://www.stri.is/TC304/guidecharactersets/guideannexb.html" name="The Universal Character Set (UCS)">¿¡ ´ëÇÑ ¼Ò°³. <item>Otfried Cheong's essay on <url url="http://www.cs.uu.nl/~otfried/Mule/ unihan.html" name="Han Unification in Unicode"> <item><url url="http://www.ams.org/STIX/" name="AMS STIX"> ÇÁ·ÎÁ§Æ®´Â Unicode 4.0°ú ISO 10646-2¸¦ À§ÇÑ ¼öÇÐ ¹®ÀÚ¸¦ ¼öÁ¤ ¹× È®ÀåÇÏ´Â ¿¬±¸¸¦ ÇÏ°í ÀÖ´Ù. <item>Jukka KorpelaÀÇ <url url="http://www.hut.fi/~jkorpela/shy.html" name="Soft hyphen (SHY) - a hard problem?">Àº U+00AD¸¦ µÑ·¯½Ñ ³íÀï¿¡ °üÇÑ ¸ÚÁø Åä·Ð ÀÚ·áÀÌ´Ù. <item>James BriggÀÇ <url url="http://rf.net/~james/perli18n.html" name=" Perl, Unicode and I18N FAQ">. <item>Mark Davis´Â <url url="http://www-4.ibm.com/software/developer/library/ utfencodingforms/" name="Forms of Unicode">¿¡¼­ UTF-8, UTF-16 ¹× UCS-4(ÇöÀç Á¤Ä¡Àû ÀÌÀ¯·Î UTF-32·Îµµ ºÒ¸°´Ù) »çÀÌÀÇ ÇùÁ¤¿¡ °üÇØ ³íÀÇÇÏ°í ÀÖ´Ù. <item>Alan Wood´Â <url url="http://www.hclrss.demon.co.uk/unicode/" name= "Unicode and Multilingual Support in Web Browsers and HTML">¿¡ ÁÁÀº ³»¿ëÀ» ½Ç¾ú´Ù. <item><url url="http://anubis.dkuug.dk/jtc1/sc22/WG20/docs/projects" name= "ISO/JTC1/SC22/WG20">Àº <url url="http://anubis.dkuug.dk/jtc1/sc22/WG20/docs/ projects/n731-fdis14651.pdf" name="International String Ordering (ISO 14651)"> °ú <url url="http://anubis.dkuug.dk/jtc1/sc22/WG20/docs/n690.pdf" name= "Cultural Convention Specification TR (ISO TR 14652)"> (¿¹¸¦ µé¾î, ¿ÍÀÌµå ¹®ÀÚ Ãâ·ÂÀÇ ¹®ÀÚ º¯È¯À» Áö¿øÇÏ´Â POSIX ·ÎÄÉÀÏ Æ÷¸ËÀÇ È®Àå)°ú °°Àº ´Ù¾çÇÑ À¯´ÏÄÚµå °ü·Ã Ç¥ÁØÀ» ¸¸µé¾î ³Â´Ù. <item><url url="http://www.cse.cuhk.edu.hk/~irg/" name="ISO/JTC1/SC2/WG2/IRG"> (Ideographic Rapporteur Group) <item><url url="http://www.eki.ee/letter/" name="Letter Database">´Â ¾ð¾î¿Í ¹®Àڼ ¹× ¸íĪ¿¡ °üÇÑ Áú¹®¿¡ ´äº¯À» Á¦°øÇÑ´Ù. <item>»õ·Î¿î Áß±¹ÀÇ ÄÚµù Ç¥ÁØ <url url="ftp://ftp.oreilly.com/pub/examples/ nutshell/cjkv/pdf/GB18030_Summary.pdf">GB 18030</A>Àº UCS¸¦ ¿ÏÀüÈ÷ º¸ÀåÇÏ´Â ´Ü¼øÈ­µÈ Áß±¹¾î¸¦ À§ÇØ Æø³Ð°Ô »ç¿ëµÇ´Â GB 2312 ÀÎÄÚµùÀÇ ±¸ ¹öÀü°ú ȣȯ °¡´ÉÇÑ È®Àå ±â´ÉÀÌ´Ù. </itemize> <p>³ª´Â ÀÌ ¹®¼­¿¡ »õ·Î¿î ³»¿ëÀ» ¸Å¿ì ÀÚÁÖ Ãß°¡ÇÒ °ÍÀÌ´Ù. ±×·¯¹Ç·Î ±ÔÄ¢ÀûÀ¸·Î ÀÌ ¹®¼­¸¦ üũÇϰųª ´ç½Å¿¡°Ô À̸ÞÀÏ·Î ÅëÁöÇØ ÁÖ´Â <url url="http://www.netmind. com/URL-minder/new/register.html" name="Netminder">¸¦ ÀÌ¿ëÇÏ¿© ¹®¼­ÀÇ º¯È­¸¦ üũÇ϶ó. ´õ¿í Çâ»óµÈ UTF-8 Áö¿øÀ» À§ÇÑ freeware community¿¡¼­ÀÇ ±¤°í »Ó¸¸ ¾Æ´Ï¶ó <url url="mailto:Markus.Kuhn@cl.cam.ac.uk" name="Á¦¾È">Àº ¸Å¿ì ȯ¿µÇÑ´Ù. ¸®´ª½º¿¡¼­ UTF-8À» »ç¿ëÇÏ´Â °ÍÀº ¸Å¿ì ³¸¼± ÀÏÀÌ´Ù. ±×·¯¹Ç·Î ´ÙÀ½ ¸î ´Þ ÈÄÀÇ ÀÌ ¹®¼­¿¡ ¸¹Àº ÁøÀüÀÌ ÀÖÀ» °ÍÀÌ´Ù. <p> Ulrich Drepper, Bruno Haible, Robert Brady, Shuhei Amakawa¿Í °¡Ä¡ ÀÖ´Â ºñÆòÀ» ÇØÁØ ´Ù¸¥ ¸¹Àº À̵é°ú Áö¿øÀ» ÇØÁØ SuSE GmbH, Nürnberg¿¡°Ô Ưº°ÇÑ °í¸¶¿òÀ» Ç¥ÇÑ´Ù. <p> <tt><url url="http://www.cl.cam.ac.uk/~mgk25/" name="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</tt> </article>