ÇѾçPUA±Û²Ã

ºñÇ¥ÁØ ÇѾçPUA ¿¾ÇѱÛÀ» Áö¿øÇÏ´Â ±Û²Ã

ÇѾçPUA¸¸ Áö¿øÇÏ´Â ±Û²ÃÀ» ù°¡³¡µµ Áö¿øÇÏ°Ô ¸¸µé±â

HanyangPuaTableProject¿¡ ÀÇÇÏ ¸¸µé¾îÁø ù°¡³¡ <=> ÇѾçPUAÄÚµå º¯È¯ Å×À̺íÀ» ÀÌ¿ëÇϸé GSUB ccmp¿¡ ù°¡³¡-ÇѾçPUAÄڵ忡 ´ëÀÀÇÏ´Â ligature Å×À̺íÀ» Áý¾î³Ö´Â ÀÛ¾÷¸¸À¸·Î ÇѾçPUAÄڵ带 Áö¿øÇϸ鼭 ±×¿¡ »óÀÀÇϴ ù°¡³¡Äڵ带 ¿¹»Ú°Ô º¸¿©ÁÖ°Ô²û ¸¸µé ¼ö ÀÖ´Ù.

  • @pua_only.fea.txt (226.87 KB) - ù°¡³¡ ÀÚ¸ð´Â Á¦¿ÜÇÑ ÇѾçPUA¿µ¿ª¸¸ Æ÷ÇÔ. ccmp¸¸ ÀÖÀ½
  • @pua.fea.txt (224.35 KB) - ù°¡³¡ Àڸ𵵠1´ë1·Î ¸ÅÇνÃÅ´ => Àǵµ´ë·Î ÀÛµ¿ ¾ÈµÊ. ccmp¸¸ ÀÖÀ½
  • @pua_gsub_1x1x1.fea.txt (208.12 KB) - ù°¡³¡ Àڸ𿡠´ëÇÑ 1x1x1 ljmo, vjmo, tjmo GSUB Å×À̺í Ãß°¡.
    • fontforge ÃÖ½ÅÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù <!>
    • Chaining contextual sub°¡ Á¦´ë·Î ¸ÔÈ÷Áö ¾Ê½À´Ï´Ù. http://www.adobe.com/devnet/opentype/afdko/topic_feature_file_syntax.html#5.f.i
      • (./) ÀϺΠ¹®Á¦ÀÖÀ½ ÇÏ´Ü ÂüÁ¶.
    • ignore subÀÇ µ¿ÀÛ¿©ºÎµµ È®ÀÎÇÒ ¼ö ¾ø³×¿ä. http://www.adobe.com/devnet/opentype/afdko/topic_feature_file_syntax.html#5.f.ii
      • (./) ÃֽŠ¹öÀü¿¡¼­ Àß µ¿ÀÛÇÔ È®ÀÎ. DeleteMe ÀÌ ¸ðµç ±â´ÉµéÀÌ Á¤»ó ÀÛµ¿ÇÕ´Ï´Ù. ÇÔÃÊ·Ò gsub table ¸¸µé¸é¼­ È®ÀÎÇß½À´Ï´Ù. ¼ø¼­°¡ Áß¿äÇѵ¥ lookupµéÀÇ ¼ø¼­°¡ feature ¹®Àå ¹Û¿¡¼­µµ ÁöÄÑÁ®¾ß ÇÕ´Ï´Ù. ¶Ç ignore substitute´Â µ¶¸³µÈ lookup¿¡ ¾²¸é ¾Æ¹« ¼Ò¿ëÀÌ ¾ø°í °ü·Ã sub ¹®Àå ¹Ù·Î ¾Õ¿¡ ¿Í¾ß ÇÕ´Ï´Ù.

        ¾Ë·ÁÁּż­ °¨»çÇÕ´Ï´Ù~¤¾ ÆÄÀÏÀ» º¸½Ã¸é ½ÃµµÇصµ ¾ÈµÇ±æ·¡ comment outÇÑ ÈçÀûÀÌ º¸ÀÏ °Ì´Ï´Ù. ÀÌ°ÍÀº ´ÙÀ½ÀÇ contextual sub°¡ Á¦´ë·Î ¾È¸Ô¾ú´ø ¹®Á¦¿´½À´Ï´Ù.
        sub @ljmo00' lookup pua_liga2 @vjmo00';
           
        ÀÌ·¸°Ô Çؼ­ ±Û²ÃÀ» ¸¸µç ÈÄ¿¡ feature ÆÄÀÏÀ» ´Ù½Ã exportÇؼ­ »ìÆ캸¸é ³¡¿¡ µÎ¹ø° lookupÀÌ ºÙ´Â °ÍÀ̾ú½À´Ï´Ù.
        sub @ljmo00' lookup pua_liga2 @vjmo00' lookup pua_liga2;
           
        ±×·¡¼­ ºñ¾îÀÖ´Â lookupÀ» ¸¸µé¾î¼­ ½ÃµµÇغ¸´Ï Àß µÇ³×¿ä;;
        lookup null_lookup {
          lookupflag 0;
            sub \.notdef by \.notdef;
        } null_lookup;
        
        lookup pua_liga2_chain {
          ignore sub @ljmo00' @vjmo00' @tjmo00;
          sub @ljmo00' lookup pua_liga2 @vjmo00' lookup null_lookup;
        } pua_liga2_chain;
           


ÀÌ ÆÄÀÏÀ» ÀÌ¿ëÇؼ­ fontforge ½ºÅ©¸³Æ®¸¦ µ¹¸®¸é µÈ´Ù.

#!/usr/bin/fontforge

Open("naverdic.ttf"); # º¯È¯ÇÏ°í ½ÍÀº ttf±Û²Ã

MergeFeature("pua.fea");

#SelectNone();
Generate("naverdic.pua.ttf",'ttf'); # ttf¸¦ ³Ö¾îÁÖ¸é EBDT, EBLC Á¤º¸µµ ±×´ë·Î º¸Á¸µÈ ttf¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
# Generate("naverdic.pua.ttf"); # EBDT, EBLC Á¤º¸°¡ ¾ø´Â °æ¿ì ȤÀº »©°í½ÍÀº °æ¿ì¿¡´Â ÀÌ ¸í·ÉÀ» ¾´´Ù.

Close();
<!> º¯È¯µÈ ±Û²Ã (Å×½ºÆ®¿ë) »õ±¼¸² : @ngulim_gsub2.zip (16.09 MB) /!\ (¹èÆ÷¿¡ ¹®Á¦ÀÖ´Â ±Û²ÃÀÔ´Ï´Ù. Á¶¸¸°£ Áö¿öÁú ¿¹Á¤.)

½ºÅ©¸°¼¦


GSUB Àû¿ë Àü
pua_only.png
GSUB Àû¿ë ÈÄ
pua_gsub.png



º¯È¯ °¡´ÉÇÑ ±Û²Ãµé

  1. naver»çÀüü : ³×À̹ö »çÀüü´Â ÇѾçPUAÄڵ带 Áö¿øÇÏ´Â ±Û²ÃÀÌ´Ù.
  2. ÇÔÃÊ·Òü : ÇÑÄÄ¿¡¼­ ¹«·á·Î ¹èÆ÷ÇÏ´Â ±Û²ÃÀº ù°¡³¡°ú ÇѾçPUA¸¦ µ¿½Ã¿¡ Áö¿øÇÏ°í ÀÖ´Ù. ù°¡³¡¿¡ ´ëÀÀÇÏ´Â ÇѾçPUAÀÚÇüÀÌ ÀÖ´Â °æ¿ì´Â º¯È¯ ÈÄ¿¡ ´õ ¿¹»Ú°Ô º¸¿©ÁØ´Ù.

±×¹Û¿¡ À̾߱â

ÀÌ°É ¸¸µé¾î º» ÀÌÀ¯´Â 1) »õ³ª·ç ÇÑ±Û ÀԷ±⿡¼­ ÇѾçPUAÄڵ带 ÀԷ±⠷¹º§¿¡¼­ Áö¿øÇÏ·Á´Ù°¡.. 2) ÀԷ±⠷¹º§º¸´Ù´Â ±Û²Ã ·¹º§ÀÇ Áö¿øÀÌ ³´Áö ¾ÊÀ»±î ÇÏ´Â »ý°¢¿¡¼­ Å×½ºÆ®Çغ» °ÍÀÔ´Ï´Ù. ¿¹Àü¿¡µµ Old±¼¸² (OHFont.exe¿¡ Æ÷ÇÔµÈ OGulim.ttf)¿¡ GSUB¸¦ ³ÖÀº ±Û²ÃÀ» ½ÅÁ¤½Ä´ÔÀÌ MS¿¡ ¿äûÇÑ ÀûÀÌ ÀÖ¾ú´Ù°í ÇÕ´Ï´Ù ºÒ¹ß¿¡ ±×ÃÆÁö¸¸. 3) ÇÏÁö¸¸ MS°¡ ¾Æ´Ñ naver»çÀüü³ª ÇÔÃʷұ۲ð°Àº °æ¿ì´Â ±×º¸´Ù ½±°Ô GSUB¸¦ Æ÷ÇÔ½Ãų ¼ö ÀÖÁö ¾ÊÀ»±î Çؼ­~

±×¹Û¿¡
  1. Àº±Û²Ãµµ PUA¸¦ Áö¿øÇÒ ¼ö ÀÖ°Ô Çϴ°ÍÀÌ °¡´ÉÇÏÁö ¾ÊÀ»±î¿ä?
Retrieved from http://faq.ktug.org/faq/ÇѾçPUA±Û²Ã
last modified 2010-03-02 20:08:51