<li> ¥«¥Æ¥´¥ê
-¤½¤Î¥¹¥Æ¡¼¥¸¤Î @c CATEGORY-TABLE ¤ÇÄêµÁ¤µ¤ì¤¿¥«¥Æ¥´¥ê¡¼¥³¡¼¥É¡£
+¤½¤Î¥¹¥Æ¡¼¥¸¤Î @c CATEGORY-TABLE ¤ÇÄêµÁ¤µ¤ì¤¿¤«¡¢°ÊÁ°¤Î¥¹¥Æ¡¼¥¸¤ÇÄêµÁ¤µ
+¤ì¾å½ñ¤¤µ¤ì¤Æ¤¤¤Ê¤¤¥«¥Æ¥´¥ê¡¼¥³¡¼¥É¡£
<li> ·ë¹çµ¬Â§
</ul>
¥ì¥¤¥¢¥¦¥È¥¨¥ó¥¸¥ó¤¬¥Æ¥¥¹¥È¤òÉÁ¤¯ºÝ¤Ë¤Ï¡¢¤Þ¤º¥Æ¥¥¹¥È¤Î³Æʸ»ú¤ËÂФ·¤Æ
-¤½¤ì¤¾¤ì¥Õ¥©¥ó¥È¤ÈFLT ¤ò·èÄꤹ¤ë¡£Æ±¤¸¥Õ¥©¥ó¥È¤È FLT ¤òÍѤ¤¤ëÉôʬʸ»ú
-Îó¤Ë´Ø¤·¤Æ¡¢¥ì¥¤¥¢¥¦¥È¥¨¥ó¥¸¥ó¤ÏÂбþ¤¹¤ëÃæ´ÖŪ¤Ê¥°¥ê¥Õ¤ÎÎó¤òÀ¸À®¤¹¤ë¡£
-Ãæ´ÖŪ¤Ê¥°¥ê¥Õ¥³¡¼¥É¤Î³ÆÍ×ÁǤϡ¢¥³¡¼¥É¤Î°À¤È¤·¤ÆÂбþ¤¹¤ëʸ»ú¥³¡¼¥É¡¢
-¾¤Î°À¤È¤·¤Æ 0 ¤ò»ý¤Ä¡£¤³¤ÎÎó¤ÏFLT ¤ÎºÇ½é¤Î¥¹¥Æ¡¼¥¸¤Ç¸½¹Ô¤Î @e ¥é¥ó
-(ÉôʬÎó) ¤È¤·¤Æ½èÍý¤µ¤ì¤ë¡£
+¤½¤ì¤¾¤ì¥Õ¥©¥ó¥È¤ÈFLT ¤ò·èÄꤹ¤ë¡£Æ±¤¸¥Õ¥©¥ó¥È¤È FLT ¤òÍѤ¤¤ëÉôʬʸ»úÎó
+¤Ë´Ø¤·¤Æ¡¢¥ì¥¤¥¢¥¦¥È¥¨¥ó¥¸¥ó¤ÏÂбþ¤¹¤ëÃæ´ÖŪ¤Ê¥°¥ê¥Õ¤ÎÎó¤òÀ¸À®¤¹¤ë¡£Ãæ
+´ÖŪ¤Ê¥°¥ê¥Õ¥³¡¼¥É¤Î³ÆÍ×ÁǤϡ¢¥³¡¼¥É¤Î°À¤È¤·¤ÆÂбþ¤¹¤ëʸ»ú¥³¡¼¥É¡¢Â¾
+¤Î°À¤È¤·¤Æ 0 ¤ò»ý¤Ä¡£¤³¤ÎÎó¤ÏFLT ¤ÎºÇ½é¤Î¥¹¥Æ¡¼¥¸¤Ç¸½¹Ô¤Î @e ¥é¥ó (Éô
+ʬÎó) ¤È¤·¤Æ½èÍý¤µ¤ì¤ë¡£
³Æ¥¹¥Æ¡¼¥¸¤Ï°Ê²¼¤Î¤è¤¦¤ËƯ¤¯¡£
FLT-NAME\> ¤òÍѤ¤¤Æ FLT ¤ò¥í¡¼¥É¤¹¤ë¡£FLT ¤Î¥Ç¡¼¥¿¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï°Ê²¼¤ÎÄ̤ꡧ
@verbatim
-FONT-LAYOUT-TABLE ::= STAGE0 STAGE *
+FONT-LAYOUT-TABLE ::= FLT-DECLARATION ? STAGE0 STAGE *
+
+FLT-DECLARATION ::= '(' 'font' 'layouter' NAME nil PROP * ')'
+NAME ::= SYMBOL
+PROP :: = VERSION | FONT
+VERSION ::= '(' 'version' MTEXT ')'
+FONT ::= '(' 'font' FONT-SPEC ')'
+FONT-SPEC ::=
+ '(' [[ FOUNDRY FAMILY
+ [ WEIGHT [ STYLE [ STRETCH [ ADSTYLE ]]]]]
+ REGISTRY ]
+ [ OTF-SPEC ] [ LANG-SPEC ] ')'
STAGE0 ::= CATEGORY-TABLE GENERATOR
GENERATOR ::= '(' 'generator' RULE MACRO-DEF * ')'
RULE ::= REGEXP-BLOCK | MATCH-BLOCK | SUBST-BLOCK | COND-BLOCK
- | DIRECT-CODE | COMBINING-SPEC | OTF-SPEC
+ FONT-FACILITY-BLOCK | DIRECT-CODE | COMBINING-SPEC | OTF-SPEC
| PREDEFINED-RULE | MACRO-NAME
MACOR-DEF ::= '(' MACRO-NAME RULE + ')'
¤³¤Î¥ë¡¼¥ë¤Ï¥°¥ê¥Õ¤ò¾ÃÈñ¤»¤º¡¢°Ê²¼¤Î°À¤ò»ý¤Ä¥°¥ê¥Õ¤òÀ¸À®¤¹¤ë¡£
<ul>
-<li> ¥³¡¼¥É : @c INTEGER ¡Ü ¥Ç¥Õ¥©¥ë¥È¤Î¥³¡¼¥É¥ª¥Õ¥»¥Ã¥È
+<li> ¥³¡¼¥É : @c INTEGER ¤Ë¥Ç¥Õ¥©¥ë¥È¤Î¥³¡¼¥É¥ª¥Õ¥»¥Ã¥È¤ò¤·¤¿¤â¤Î
<li> ·ë¹çµ¬Â§ : ¥Ç¥Õ¥©¥ë¥ÈÃÍ
<li> º¸¥Ñ¥Ç¥¤¥ó¥°¥Õ¥é¥° : ¥Ç¥Õ¥©¥ë¥ÈÃÍ
<li> ±¦¥Ñ¥Ç¥¤¥ó¥°¥Õ¥é¥° : 0
¹çÃפ¹¤ëÉôʬ¤¬Ìµ¤±¤ì¤Ð¡¢¤³¤Îµ¬Â§¤Ï¼ºÇÔ¤¹¤ë¡£
-¤³¤Îµ¬Â§¤¬¥¹¥Æ¡¼¥¸¤ÎºÇ½é¤Ëµ¬Â§¤Ç¤¢¤ì¤Ð¡¢@c MATCH-INDEX ¤Ï 0 ¤Ç¤¢¤ê¡¢¸½
-¹Ô¤Î¥é¥óÁ´ÂΤ˹çÃפ¹¤ë¡£
+¤³¤Îµ¬Â§¤¬¥¹¥Æ¡¼¥¸¤ÎºÇ½é¤Îµ¬Â§¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢@c MATCH-INDEX ¤Ï 0 ¤Ç¤Ê¤¯
+¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£¤³¤Î¾ì¹ç¥é¥óÁ´ÂΤ˹çÃפ¹¤ë¤³¤È¤Ë¤Ê¤ë¡£
@verbatim
SUBST-BLOCK ::= '(' SOURCE-PATTERN RULE * ')'
¹çÃפ¹¤ëÉôʬ¤¬Ìµ¤±¤ì¤Ð¡¢¤³¤Îµ¬Â§¤Ï¼ºÇÔ¤¹¤ë¡£
+
+@verbatim
+FONT-FACILITY-BLOCK ::= '(' FONT-FACILITY RULE * ')'
+FONT-FACILITY = '(' 'font-facility' CODE * ')'
+ | '(' 'font-facility' FONT-SPEC ')'
+@endverbatim
+
+¸½ºß¤Î¥Õ¥©¥ó¥È¤¬ @c CODE ¤Î¥°¥ê¥Õ¤ò»ý¤Ã¤Æ¤¤¤ë¤«¡¢@c FONT-SPEC ¤È¹çÃפ¹
+¤ì¤Ð¡¢¤³¤Îµ¬Â§¤ÏÀ®¸ù¤·¡¢@c RULE ¤ò¼Â¹Ô¤¹¤ë¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¤³¤Îµ¬Â§¤Ï
+¼ºÇÔ¤¹¤ë¡£
+
@verbatim
COND-BLOCK ::= '(' 'cond' RULE + ')'
@endverbatim
¤³¤Îµ¬Â§¤Ï @c RULE ¤ò½ç¤Ë¡¢¤É¤ì¤«¤¬À®¸ù¤¹¤ë¤Þ¤Ç¼Â¹Ô¤¹¤ë¡£¤É¤Î¥ë¡¼¥ë¤â
À®¸ù¤·¤Ê¤±¤ì¤Ð¡¢¤³¤Îµ¬Â§¤Ï¼ºÇÔ¤¹¤ë¡£¤½¤¦¤Ç¤Ê¤±¤ì¤ÐÀ®¸ù¤Ç¤¢¤ë¡£
+@anchor OTF-SPEC
@verbatim
OTF-SPEC ::= SYMBOL
@endverbatim
̾Á°¤Ï°Ê²¼¤Îʸˡ¤Ë½¾¤¦¡£
@verbatim
- OTF-SPEC-NAME ::= 'otf:' SCRIPT LANGSYS ? GSUB-FEATURES ? GPOS-FEATURES ?
+ OTF-SPEC-NAME ::= ':otf=' SCRIPT LANGSYS ? GSUB-FEATURES ? GPOS-FEATURES ?
SCRIPT ::= SYMBOL
³Æ @c SYMBOL ¤Ï OpenType specification Ãæ¤Ç¤Î¥¿¥°Ì¾¤ò»ØÄꤹ¤ë¡£
-@c SCRIPT ¤Ë¤Ä¤¤¤Æ¤Ï¡¢@c SYMBOL ¤Ï¥¹¥¯¥ê¥×¥È¥¿¥°Ì¾¤òɽ¤¹¡£Devanagari
+@c SCRIPT ¤Ë¤Ä¤¤¤Æ¤Ï¡¢@c SYMBOL ¤Ï¥¹¥¯¥ê¥×¥È¥¿¥°Ì¾¤òɽ¤¹¡£(Devanagari
¤Ï deva ¤Ê¤É¡£)
@c LANGSYS ¤Î¾ì¹ç¤Ï¡¢@c SYMBOL ¤Ï¸À¸ì¥·¥¹¥Æ¥à¥¿¥°Ì¾¤ò»ØÄꤹ¤ë¡£@c
@c GPOS-FEATURES ¤Î»ØÄê¤Ï @c GSUB-FEATURES ¤Î¾ì¹ç¤ÈƱÍͤǤ¢¤ë¡£
-Á´¤Æ¤Î¥¿¥°Ì¾¤Ï ASCII ¤Î£´Ê¸»ú¤Ç¤¢¤ë¤³¤È¡£
+Á´¤Æ¤Î¥¿¥°Ì¾¤Ï ASCII ¤Îɽ¼¨²Äǽʸ»ú£´¤Ä¤«¤é¤Ê¤ë¤³¤È¡£
OpenType ¤Î»ØÄêÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¼¡¤Î¥Ú¡¼¥¸¤ò»²¾È¤Î¤³¤È¡£\n
<http://www.microsoft.com/typography/otspec/default.htm>
@c COMBINING ¤Ï¡¢ ¼¡¤Î¥°¥ê¥Õ¤òÁ°¤Î¤â¤Î¤È¤É¤¦·ë¹ç¤¹¤ë¤«¤Î»Ø¼¨¤ò̾Á°¤È¤·
¤Æ»ý¤Ä¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¡£¤³¤Î¥ë¡¼¥ë¤Ï¥Ç¥Õ¥©¥ë¥È¤Î·ë¹çµ¬Â§¤ò¥·¥ó¥Ü¥ë̾¸ÇÍ
¤ÎÀ°¿ô¥³¡¼¥É¤Ë¥»¥Ã¥È¤¹¤ë¡£Ì¾Á°¤Ï°Ê²¼¤Îʸˡ¤Ë½¾¤¦¡£
-following syntax.
@verbatim
COMBINING-NAME ::= VPOS HPOS OFFSET VPOS HPOS