*** empty log message ***
[m17n/m17n-db.git] / FORMATS / FLT.ja.txt
1 /* Copyright (C) 2003, 2004
2      National Institute of Advanced Industrial Science and Technology (AIST)
3      Registration Number H15PRO112
4    See the end for copying conditions.  */
5
6 /***ja
7
8 @page mdbFLT ¥Õ¥©¥ó¥È¥ì¥¤¥¢¥¦¥È¥Æ¡¼¥Ö¥ë
9
10 @section flt-description ÀâÌÀ
11
12 ñ½ã¤Ê¥¹¥¯¥ê¥×¥È¤Î¾ì¹ç¡¢É½¼¨¥¨¥ó¥¸¥ó¤ÏÁªÂò¤·¤¿¥Õ¥©¥ó¥È¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó
13 ¥°¤Ë±þ¤¸¤Æʸ»ú¥³¡¼¥É¤ò¥°¥ê¥Õ¥³¡¼¥É¤Ë°ìʸ»ú¤º¤ÄÊÑ´¹¤¹¤ë¡£¤·¤«¤·¡¢Ê£»¨¤Ê
14 ¥ì¥¤¥¢¥¦¥È¤òÍ׵᤹¤ëʸ½ñ¡¢¤¿¤È¤¨¤Ð¥¿¥¤¤ä¥¤¥ó¥É·Ï¤Î¥¹¥¯¥ê¥×¥È¤Ê¤É¤Î¾ì¹ç¡¢
15 £±ÂУ±¤ÎÊÑ´¹¤Ç¤ÏÉÔ½½Ê¬¤Ç¤¢¤ë¡£Ê£¿ô¤Îʸ»ú¤¬°ì¤Ä¤Î¥ê¥¬¥Á¥ã¤È¤·¤ÆÉÁ¤«¤ì¤¿¤ê¡¢
16 £²¼¡¸µÅª¤Ë¤º¤é¤·¤¿°ÌÃÖ¤ËÉÁ¤«¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¥°¥ê¥Õ¤¬¤¢¤Ã¤¿¤ê¤¹¤ë¡£
17
18 ¤³¤Î¤è¤¦¤ÊÊ£»¨¤Ê¥¹¥¯¥ê¥×¥È¤ò½èÍý¤¹¤ë¤¿¤á¡¢m17n ¥é¥¤¥Ö¥é¥ê¤Ï¥Õ¥©¥ó¥È¥ì
19 ¥¤¥¢¥¦¥È¥Æ¡¼¥Ö¥ë (û½Ì¤·¤Æ FLT ¤È¸Æ¤Ö¤³¤È¤Ë¤¹¤ë) ¤òÍѤ¤¤ë¡£FLT ¥É¥é¥¤
20 ¥Ð¤Ï FLT ¤ò²ò¼á¤·¡¢Ê¸»úÎó¤òɽ¼¨¥¨¥ó¥¸¥ó¤ËÅϤ¹¤³¤È¤Î¤Ç¤­¤ë¥°¥ê¥ÕÎó¤ËÊÑ
21 ´¹¤¹¤ë¡£
22
23 FLT ¤Ï OpenType Layout Table ¤Ë¸«¤é¤ì¤ë¾ðÊó (CMAP, GSUB, and GPOS) ¤Ë
24 ²Ã¤¨¤Æ¡¢Ê¸»úÎ󤫤é½ñµ­ÁÇ (grapheme) ¥¯¥é¥¹¥¿¤òÃê½Ð¤·¤¿¤ê¡¢¥¯¥é¥¹¥¿Æâ¤Ç
25 ʸ»ú¤òʤÙÊѤ¨¤¿¤ê¤¹¤ë¤¿¤á¤Î¾ðÊó¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¤ë¡£
26
27 FLT ¤Ï 1 ¤Ä°Ê¾å¤ÎÊÑ´¹¥¹¥Æ¡¼¥¸¤¬Â³¤¤¤¿¤â¤Î¤Ç¤¢¤ë¡£³Æ¥¹¥Æ¡¼¥¸¤Ç¥³¡¼¥ÉÎó
28 ¤ÏÊ̤Τâ¤Î¤ËÊÑ´¹¤µ¤ì¡¢¼¡¤Î¥¹¥Æ¡¼¥¸¤ËÆɤޤì¤ë¡£Îó¤ÎŤµ¤Ï¥¹¥Æ¡¼¥¸Ëè¤Ë°Û
29 ¤Ê¤ë¤³¤È¤¬¤¢¤ë¡£¥³¡¼¥ÉÎó¤Î³ÆÍ×ÁǤϰʲ¼¤ÎÀ°¿ôÃͤΰÀ­¤ò»ý¤Ä¡£
30
31 <ul>
32 <li> ¥³¡¼¥É
33
34 ÊÑ´¹¤ÎºÇ½é¤Î¥¹¥Æ¡¼¥¸¤Ç¤Ï¡¢¸µ¤Îʸ»úÎó¤Îʸ»ú¥³¡¼¥É¡£ºÇ¸å¤Î¥¹¥Æ¡¼¥¸¤Ç¤Ï¡¢
35 ɽ¼¨¥¨¥ó¥¸¥ó¤ËÅϤµ¤ì¤ë¥°¥ê¥Õ¥³¡¼¥É¡£¤½¤ì°Ê³°¤Ç¤ÏÃæ´ÖŪ¤Ê¥°¥ê¥Õ¥³¡¼¥É¡£
36
37 <li> ¥«¥Æ¥´¥ê
38
39 ¤½¤Î¥¹¥Æ¡¼¥¸¤Î @c CATEGORY-TABLE ¤ÇÄêµÁ¤µ¤ì¤¿¤«¡¢°ÊÁ°¤Î¥¹¥Æ¡¼¥¸¤ÇÄêµÁ¤µ
40 ¤ì¾å½ñ¤­¤µ¤ì¤Æ¤¤¤Ê¤¤¥«¥Æ¥´¥ê¡¼¥³¡¼¥É¡£
41
42 <li> ·ë¹çµ¬Â§
43
44 0 ¤Ç¤Ê¤±¤ì¤Ð¡¢¤³¤Î¡ÊÃæ´Ö¡Ë¥°¥ê¥Õ¤òÁ°¤Î¤â¤Î¤È¤É¤¦·ë¹ç¤¹¤ë¤«¤ò»ØÄꤹ¤ë¡£
45
46 <li> º¸¥Ñ¥Ç¥£¥ó¥°¥Õ¥é¥°
47
48 0 ¤Ç¤Ê¤±¤ì¤Ð¡¢É½¼¨´Ø¿ô¤Ë¤³¤Î¡ÊÃæ´Ö¡Ë¥°¥ê¥Õ¤ÎÁ°¤Ë¥¹¥Ú¡¼¥¹¤òÁÞÆþ¤·¤Æ¡¢Á°
49 ¤Î¥°¥ê¥Õ¤È½Å¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤è¤¦»Ø¼¨¤¹¤ë¡£
50
51 <li> ±¦¥Ñ¥Ç¥£¥ó¥°¥Õ¥é¥°
52
53 0 ¤Ç¤Ê¤±¤ì¤Ð¡¢É½¼¨´Ø¿ô¤Ë¤³¤Î¡ÊÃæ´Ö¡Ë¥°¥ê¥Õ¤Î¸å¤Ë¥¹¥Ú¡¼¥¹¤òÁÞÆþ¤·¤Æ¡¢¸å
54 ¤Î¥°¥ê¥Õ¤È½Å¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤è¤¦»Ø¼¨¤¹¤ë¡£
55
56 </ul>
57
58 ¥ì¥¤¥¢¥¦¥È¥¨¥ó¥¸¥ó¤¬¥Æ¥­¥¹¥È¤òÉÁ¤¯ºÝ¤Ë¤Ï¡¢¤Þ¤º¥Æ¥­¥¹¥È¤Î³Æʸ»ú¤ËÂФ·¤Æ
59 ¤½¤ì¤¾¤ì¥Õ¥©¥ó¥È¤ÈFLT ¤ò·èÄꤹ¤ë¡£Æ±¤¸¥Õ¥©¥ó¥È¤È FLT ¤òÍѤ¤¤ëÉôʬʸ»úÎó
60 ¤Ë´Ø¤·¤Æ¡¢¥ì¥¤¥¢¥¦¥È¥¨¥ó¥¸¥ó¤ÏÂбþ¤¹¤ëÃæ´ÖŪ¤Ê¥°¥ê¥Õ¤ÎÎó¤òÀ¸À®¤¹¤ë¡£Ãæ
61 ´ÖŪ¤Ê¥°¥ê¥Õ¥³¡¼¥É¤Î³ÆÍ×ÁǤϡ¢¥³¡¼¥É¤Î°À­¤È¤·¤ÆÂбþ¤¹¤ëʸ»ú¥³¡¼¥É¡¢Â¾
62 ¤Î°À­¤È¤·¤Æ 0 ¤ò»ý¤Ä¡£¤³¤ÎÎó¤ÏFLT ¤ÎºÇ½é¤Î¥¹¥Æ¡¼¥¸¤Ç¸½¹Ô¤Î @e ¥é¥ó (Éô
63 ʬÎó) ¤È¤·¤Æ½èÍý¤µ¤ì¤ë¡£
64
65 ³Æ¥¹¥Æ¡¼¥¸¤Ï°Ê²¼¤Î¤è¤¦¤ËƯ¤¯¡£
66
67 ¤Þ¤º¤³¤Î¥¹¥Æ¡¼¥¸¤Ë @c CATEGORY-TABLE ¤¬¤¢¤ì¤Ð¡¢¸½¹Ô¤Î¥é¥ó¤Î¤¹¤Ù¤Æ¤Î¥°
68 ¥ê¥Õ¤Î¥«¥Æ¥´¥ê¤¬¹¹¿·¤µ¤ì¤ë¡£¥«¥Æ¥´¥ê¤Î̵¤¤¥°¥ê¥Õ¤¬¤¢¤ì¤Ð¡¢¥é¥ó¤Ï¤½¤Î¥°
69 ¥ê¥Õ¤ÎÁ°¤Ç½ª¤ë¡£
70
71 ¼¡¤Ë¤³¤Î¥¹¥Æ¡¼¥¸¤Î¥³¡¼¥É¥ª¥Õ¥»¥Ã¥È¡¢·ë¹çµ¬Â§¡¢º¸¥Ñ¥Ç¥£¥ó¥°¥Õ¥é¥°¤¬ 0 
72 ¤Ë½é´ü²½¤µ¤ì¤ë¡£
73
74 ¼¡¤¤¤Ç¡¢¤³¤Î¥¹¥Æ¡¼¥¸¤ÎºÇ½é¤ÎÊÑ´¹µ¬Â§¤¬¸½¹Ô¤Î¥é¥ó¤ËŬÍѤµ¤ì¤ë¡£
75
76 ºÇ¸å¤Ë¸½¹Ô¤Î¥é¥ó¤Ï¿·¤·¤¯ºî¤é¤ì¤¿¡ÊÃæ´Ö¡Ë¥°¥ê¥ÕÎó¤ËÃÖ¤­´¹¤¨¤é¤ì¤ë¡£
77
78 @section flt-syntax Ê¸Ë¡¤È°ÕÌ£
79
80 m17n ¥é¥¤¥Ö¥é¥ê ¤Ï m17n ¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¥¿¥° \<font, layouter,
81 FLT-NAME\> ¤òÍѤ¤¤Æ FLT ¤ò¥í¡¼¥É¤¹¤ë¡£FLT ¤Î¥Ç¡¼¥¿¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï°Ê²¼¤ÎÄ̤ꡧ
82
83 @verbatim
84 FONT-LAYOUT-TABLE ::= FLT-DECLARATION ? STAGE0 STAGE *
85
86 FLT-DECLARATION ::= '(' 'font' 'layouter' NAME nil PROP * ')'
87 NAME ::= SYMBOL
88 PROP :: = VERSION | FONT
89 VERSION ::= '(' 'version' MTEXT ')'
90 FONT ::= '(' 'font' FONT-SPEC ')'
91 FONT-SPEC ::=
92      '(' [[ FOUNDRY FAMILY
93            [ WEIGHT [ STYLE [ STRETCH [ ADSTYLE ]]]]]
94          REGISTRY ]
95          [ OTF-SPEC ] [ LANG-SPEC ] ')'
96
97 STAGE0 ::= CATEGORY-TABLE GENERATOR
98
99 STAGE ::= CATEGORY-TABLE ? GENERATOR
100
101 CATEGORY-TABLE ::= '(' 'category' CATEGORY-SPEC + ')'
102
103 CATEGORY-SPEC ::= '(' CODE CATEGORY ')'
104                   | '(' CODE CODE CATEGORY ')'
105
106 CODE ::= INTEGER
107
108 CATEGORY ::= INTEGER
109 @endverbatim
110
111 @c CATEGORY-SPEC ¤ÎÄêµÁÃæ¤Ç¡¢ @c CODE ¤Ï¥°¥ê¥Õ¥³¡¼¥É @c CATEGORY ¤ÏÂç
112 ʸ»ú¤¢¤ë¤¤¤Ï¾®Ê¸»ú¤Î ASCII code¡¢¤¹¤Ê¤ï¤Á 'A', ... 'Z', 'a', .. 'z' ¤Î
113 ¤¤¤º¤ì¤«¤Ç¤¢¤ë¡£
114
115 @c CATEGORY-SPEC ¤ÎºÇ½é¤Î·Á¼°¤Ï¡¢@c CATEGORY ¤ò¥³¡¼¥É @c CODE ¤ò»ý¤Ä¥°
116 ¥ê¥Õ¤Ë³ä¤êÅö¤Æ¡¢Æó¤ÄÌܤηÁ¼°¤Ï @c CATEGORY ¤òÆó¤Ä¤Î @c CODE ¤Î´Ö¤Î¥³¡¼
117 ¥É¤ò»ý¤Ä¥°¥ê¥Õ¤Ë³ä¤êÅö¤Æ¤ë¡£
118
119 @verbatim
120 GENERATOR ::= '(' 'generator' RULE MACRO-DEF * ')'
121
122 RULE ::= REGEXP-BLOCK | MATCH-BLOCK | SUBST-BLOCK | COND-BLOCK
123          FONT-FACILITY-BLOCK | DIRECT-CODE | COMBINING-SPEC | OTF-SPEC
124          | PREDEFINED-RULE | MACRO-NAME
125
126 MACOR-DEF ::= '(' MACRO-NAME RULE + ')'
127 @endverbatim
128
129 ³Æ @c RULE ¤Ï¡¢¾ÃÈñ¤¹¤ë¥°¥ê¥Õ¤ÈÀ¸À®¤¹¤ë¥°¥ê¥Õ¤ò»ØÄꤹ¤ë¡£¡Ö¾ÃÈñ¤µ¤ì¤¿¡×
130 ¥°¥ê¥Õ¤Ï¸½¹Ô¤Î¥é¥ó¤«¤é¼è¤ê½ü¤«¤ì¤ë¡£¥ë¡¼¥ë¤Ï¾õ¶·¤Ë¤è¤Ã¤Æ¤Ï¼ºÇÔ¤¹¤ë¡£ÌÀ
131 ¼¨Åª¤Ë¼ºÇԤȽñ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¤ò¤Î¤¾¤­¡¢À®¸ù¤È¤ß¤Ê¤¹¡£
132
133 @verbatim
134 DIRECT-CODE ::= INTEGER
135 @endverbatim
136
137 ¤³¤Î¥ë¡¼¥ë¤Ï¥°¥ê¥Õ¤ò¾ÃÈñ¤»¤º¡¢°Ê²¼¤Î°À­¤ò»ý¤Ä¥°¥ê¥Õ¤òÀ¸À®¤¹¤ë¡£
138
139 <ul>
140 <li> ¥³¡¼¥É : @c INTEGER ¤Ë¥Ç¥Õ¥©¥ë¥È¤Î¥³¡¼¥É¥ª¥Õ¥»¥Ã¥È¤ò­¤·¤¿¤â¤Î
141 <li> ·ë¹çµ¬Â§ : ¥Ç¥Õ¥©¥ë¥ÈÃÍ
142 <li> º¸¥Ñ¥Ç¥¤¥ó¥°¥Õ¥é¥° : ¥Ç¥Õ¥©¥ë¥ÈÃÍ
143 <li> ±¦¥Ñ¥Ç¥¤¥ó¥°¥Õ¥é¥° : 0
144 </ul>
145
146 ¥°¥ê¥ÕÀ¸À®¸å¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥³¡¼¥É¥ª¥Õ¥»¥Ã¥È¡¢·ë¹çµ¬Â§, º¸¥Ñ¥Ç¥£¥ó¥°¥Õ¥é
147 ¥° ¤Ï¤¹¤Ù¤Æ 0 ¤Ë¥ê¥»¥Ã¥È¤µ¤ì¤ë¡£
148
149 @verbatim
150 PREDEFINED-RULE ::= '=' | '*' | '<' | '>' | '|' | '[' | ']'
151 @endverbatim
152
153 ¤³¤ì¤é¤Ï°Ê²¼¤Î¤è¤¦¤ËƯ¤¯¡£
154
155 <ul>
156 <li> @c =
157
158 ¸½¹Ô¤Î¥é¥ó¤ÎºÇ½é¤Î¥°¥ê¥Õ¤ò¾ÃÈñ¤·¡¢Æ±¤¸¥°¥ê¥Õ¤òÀ¸À®¤¹¤ë¡£¸½¹Ô¤Î¥é¥ó¤¬¶õ
159 ¤Ê¤é¤Ð¼ºÇÔ¤¹¤ë¡£
160
161 <li> @c *
162
163 Á°¤Î¥ë¡¼¥ë¤ò·«¤êÊÖ¤·¼Â¹Ô¤¹¤ë¡£Á°¤Î¥ë¡¼¥ë¤¬¼ºÇÔ¤¹¤ì¤Ð¡¢²¿¤â¤»¤º¼ºÇÔ¤¹¤ë¡£
164
165 <li> @c @<
166
167 ½ñµ­ÁÇ¥¯¥é¥¹¥¿¤Î»Ï¤á¤ò¼¨¤¹¡£
168
169 <li> @c @>
170
171 ½ñµ­ÁÇ¥¯¥é¥¹¥¿¤Î½ª¤ê¤ò¼¨¤¹¡£
172
173 <li> @c @[
174
175 ¤³¤Îµ¬Â§¤Ï¥Ç¥Õ¥©¥ë¥È¤Îº¸¥Ñ¥Ç¥£¥ó¥°¥Õ¥é¥°¤ò 1 ¤Ë¤¹¤ë¡£¥°¥ê¥Õ¤Î¾ÃÈñ¤äÀ¸
176 À®¤Ï¤·¤Ê¤¤¡£
177
178 <li> @c @]
179
180 ¤³¤Îµ¬Â§¤ÏºÇ¶áÀ¸À®¤µ¤ì¤¿¥°¥ê¥Õ¤Î±¦¥Ñ¥Ç¥£¥ó¥°¥Õ¥é¥°¤ò 1 ¤Ë¤¹¤ë¡£¥°¥ê¥Õ
181 ¤Î¾ÃÈñ¤äÀ¸À®¤Ï¤·¤Ê¤¤¡£
182
183 <li> @c |
184
185 ¥°¥ê¥Õ¤ò¾ÃÈñ¤»¤º¡¢¥«¥Æ¥´¥ê¤¬ ' ' ¤Ç¾¤Î°À­¤¬ 0 ¤Ç¤¢¤ëÆÃÊ̤ʥ°¥ê¥Õ¤òÀ¸
186 À®¤¹¤ë¡£¤³¤Îµ¬Â§¤À¤±¤¬¤³¤ÎÆÃÊ̤ʥ°¥ê¥Õ¤òÀ¸À®¤¹¤ë¡£
187
188 </ul>
189
190 @verbatim
191 REGEXP-BLOCK ::= '(' REGEXP RULE * ')'
192
193 REGEXP ::= MTEXT
194 @endverbatim
195
196 @c MTEXT ¤Ï¸½¹Ô¤Î¥é¥ó¤Î¥«¥Æ¥´¥êÎó¤Ë¹çÃפ¹¤Ù¤­Àµµ¬É½¸½¤Ç¤¢¤ë¡£¹çÃפ¹¤ì
197 ¤Ð¡¢¤³¤Îµ¬Â§¤Ï°ì»þŪ¤Ë¸½¹Ô¤Î¥é¥ó¤ò¹çÃפ·¤¿Éôʬ¤À¤±¤Ë¸ÂÄꤷ¤¿¾å¤Ç¡¢@c
198 RULE ¤ò¼Â¹Ô¤¹¤ë¡£¹çÃפ·¤¿Éôʬ¤Ï¤³¤Îµ¬Â§¤Ë¤è¤Ã¤Æ¾ÃÈñ¤µ¤ì¤ë¡£
199
200 ³ç¸Ì¤Î¤Ä¤¤¤¿Éôʬɽ¸½¤¬¤¢¤ì¤Ð¡¢@c RULE ¤ÎÃæ¤Ë½Ð¸½¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤ @c
201 MATCH-BLOCK ¤Ë¤è¤Ã¤Æ»ÈÍѤ¹¤ë¤¿¤á¤Ëµ­Ï¿¤µ¤ì¤ë¡£
202
203 ¹çÃפ¹¤ëÉôʬ¤¬Ìµ¤±¤ì¤Ð¡¢¤³¤Îµ¬Â§¤Ï¼ºÇÔ¤¹¤ë¡£
204
205 @verbatim
206 MATCH-BLOCK ::= '(' MATCH-INDEX RULE * ')'
207
208 MATCH-INDEX ::= INTEGER
209 @endverbatim
210
211 @c MATCH-INDEX ¤ÏľÁ°¤Î @c REGEXP-BLOCK ¤Ë¤è¤Ã¤Æµ­Ï¿¤µ¤ì¤¿Éôʬɽ¸½¤ò»Ø
212 Äꤹ¤ëÀ°¿ô¤Ç¤¢¤ë¡£¤³¤Î¤è¤¦¤ÊÉôʬɽ¸½¤¬¤¢¤ì¤Ð¡¢¤³¤Îµ¬Â§¤Ï°ì»þŪ¤Ë¸½¹Ô¤Î
213 ¥é¥ó¤ò¹çÃפ·¤¿Éôʬɽ¸½¤À¤±¤Ë¸ÂÄꤷ¤¿¾å¤Ç¡¢@c RULE ¤ò¼Â¹Ô¤¹¤ë¡£¹çÃפ·¤¿
214 Éôʬ¤Ï¤³¤Îµ¬Â§¤Ë¤è¤Ã¤Æ¾ÃÈñ¤µ¤ì¤ë¡£
215
216 ¹çÃפ¹¤ëÉôʬ¤¬Ìµ¤±¤ì¤Ð¡¢¤³¤Îµ¬Â§¤Ï¼ºÇÔ¤¹¤ë¡£
217
218 ¤³¤Îµ¬Â§¤¬¥¹¥Æ¡¼¥¸¤ÎºÇ½é¤Îµ¬Â§¤Ç¤¢¤ë¾ì¹ç¤Ï¡¢@c MATCH-INDEX ¤Ï 0 ¤Ç¤Ê¤¯
219 ¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£¤³¤Î¾ì¹ç¥é¥óÁ´ÂΤ˹çÃפ¹¤ë¤³¤È¤Ë¤Ê¤ë¡£
220
221 @verbatim
222 SUBST-BLOCK ::= '(' SOURCE-PATTERN RULE * ')'
223
224 SOURCE-PATTERN ::= '(' CODE + ')'
225                    | (' 'range' CODE CODE ')'
226 @endverbatim
227
228 ¸½¹Ô¤Î¥é¥ó¤Î¥³¡¼¥ÉÎ󤬠@c SOURCE-PATTERN ¤È¹çÃפ¹¤ì¤Ð¡¢¤³¤Îµ¬Â§¤Ï°ì»þ
229 Ū¤Ë¸½¹Ô¤Î¥é¥ó¤ò¹çÃפ·¤¿Éôʬ¤À¤±¤Ë¸ÂÄꤷ¤¿¾å¤Ç¡¢@c RULE ¤ò¼Â¹Ô¤¹¤ë¡£
230 ¹çÃפ·¤¿Éôʬ¤Ï¾ÃÈñ¤µ¤ì¤ë¡£
231
232 @c SOURCE-PATTERN ¤ÎºÇ½é¤Î·Á¼°¤Ï¡¢¹çÃפ¹¤ë¥°¥ê¥Õ¥³¡¼¥É¤ÎÎó¤ò»ØÄꤹ¤ë¡£
233 ¤³¤Î¾ì¹ç¡¢¤³¤Îµ¬Â§¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥³¡¼¥É¥ª¥Õ¥»¥Ã¥È¤ò 0 ¤Ë¥ê¥»¥Ã¥È¤¹¤ë¡£
234
235 Æó¤Ä¤á¤Î·Á¼°¤Ï¡¢¥³¡¼¥ÉÎó¤ÎºÇ½é¤Î¥°¥ê¥Õ¥³¡¼¥É¤ÎÈϰϤò»ØÄꤹ¤ë¡£¤³¤Î¾ì¹ç¡¢
236 ¤³¤Îµ¬Â§¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¥³¡¼¥É¥ª¥Õ¥»¥Ã¥È¤òºÇ½é¤Î¥°¥ê¥Õ¥³¡¼¥É¤«¤éÈϰϤò»Ø
237 Äꤹ¤ë½é¤á¤Î @c CODE ¤ò°ú¤¤¤¿¤â¤Î¤ËÀßÄꤹ¤ë¡£
238
239 ¹çÃפ¹¤ëÉôʬ¤¬Ìµ¤±¤ì¤Ð¡¢¤³¤Îµ¬Â§¤Ï¼ºÇÔ¤¹¤ë¡£
240
241
242 @verbatim
243 FONT-FACILITY-BLOCK ::= '(' FONT-FACILITY RULE * ')'
244 FONT-FACILITY = '(' 'font-facility' CODE * ')'
245                 | '(' 'font-facility' FONT-SPEC ')'
246 @endverbatim
247
248 ¸½ºß¤Î¥Õ¥©¥ó¥È¤¬ @c CODE ¤Î¥°¥ê¥Õ¤ò»ý¤Ã¤Æ¤¤¤ë¤«¡¢@c FONT-SPEC ¤È¹çÃפ¹
249 ¤ì¤Ð¡¢¤³¤Îµ¬Â§¤ÏÀ®¸ù¤·¡¢@c RULE ¤ò¼Â¹Ô¤¹¤ë¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¤³¤Îµ¬Â§¤Ï
250 ¼ºÇÔ¤¹¤ë¡£
251
252 @verbatim
253 COND-BLOCK ::= '(' 'cond' RULE + ')'
254 @endverbatim
255
256 ¤³¤Îµ¬Â§¤Ï @c RULE ¤ò½ç¤Ë¡¢¤É¤ì¤«¤¬À®¸ù¤¹¤ë¤Þ¤Ç¼Â¹Ô¤¹¤ë¡£¤É¤Î¥ë¡¼¥ë¤â
257 À®¸ù¤·¤Ê¤±¤ì¤Ð¡¢¤³¤Îµ¬Â§¤Ï¼ºÇÔ¤¹¤ë¡£¤½¤¦¤Ç¤Ê¤±¤ì¤ÐÀ®¸ù¤Ç¤¢¤ë¡£
258
259 @anchor OTF-SPEC
260 @verbatim
261 OTF-SPEC ::= SYMBOL
262 @endverbatim
263
264 @c OTF-SPEC ¤Ï¡¢OTF ¥É¥é¥¤¥Ð¤Ø¤Î»Ø¼¨¤ò»ØÄꤹ¤ë̾Á°¤ò»ý¤Ä¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¡£
265 ̾Á°¤Ï°Ê²¼¤Îʸˡ¤Ë½¾¤¦¡£
266
267 @verbatim
268   OTF-SPEC-NAME ::= ':otf' SCRIPT LANGSYS ? GSUB-FEATURES ? GPOS-FEATURES ?
269
270   SCRIPT ::= SYMBOL
271
272   LANGSYS ::= '/' SYMBOL
273
274   GSUB-FEATURES ::= '=' FEATURE-LIST ?
275
276   GPOS-FEATURES ::= '+' FEATURE-LIST ?
277
278   FEATURE-LIST ::= ( SYMBOL ',' ) * [ SYMBOL | '*' ]
279
280 @endverbatim
281
282 ³Æ @c SYMBOL ¤Ï OpenType specification Ãæ¤Ç¤Î¥¿¥°Ì¾¤ò»ØÄꤹ¤ë¡£
283
284 @c SCRIPT ¤Ë¤Ä¤¤¤Æ¤Ï¡¢@c SYMBOL ¤Ï¥¹¥¯¥ê¥×¥È¥¿¥°Ì¾¤òɽ¤¹¡£(Devanagari 
285 ¤Ï deva ¤Ê¤É¡£)
286
287 @c LANGSYS ¤Î¾ì¹ç¤Ï¡¢@c SYMBOL ¤Ï¸À¸ì¥·¥¹¥Æ¥à¥¿¥°Ì¾¤ò»ØÄꤹ¤ë¡£@c
288 LANGSYS ¤¬¾Êά¤µ¤ì¤ì¤Ð¡¢¥Ç¥Õ¥©¥ë¥È¤Î¸À¸ì¥·¥¹¥Æ¥à¥Æ¡¼¥Ö¥ë¤¬»ÈÍѤµ¤ì¤ë¡£
289
290 @c GSUB-FEATURES ¤Ç¤Ï¡¢ @c FEATURE LIST Ãæ¤Î³Æ @c SYMBOL ¤Ï Å¬ÍѤ¹¤ë 
291 GSUB feature ¥¿¥°Ì¾¤ò»ØÄꤹ¤ë¡£'*' ¤Ï»Ä¤ê¤¹¤Ù¤Æ¤Î feature ¤ò»ØÄꤹ¤ë¤¿
292 ¤á¤ËºÇ¸å¤ÎÍ×ÁǤȤ·¤ÆÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ @c SYMBOL ¤ÎÁ°¤Ë'~' ¤¬¤Ä¤¤¤Æ
293 ¤ª¤ê¡¢ºÇ¸å¤ÎÍ×ÁǤ¬ '*' ¤Ê¤é¤Ð¡¢@c SYMBOL ¤ÏŬÍѤ¹¤ëfeature ¤«¤é½ü¤«¤ì
294 ¤ë¡£@c SYMBOL ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢GSUB feature ¤ÏŬÍѤµ¤ì¤Ê¤¤¡£@c
295 GSUB-FEATURES ¼«ÂΤ¬¾Êά¤µ¤ì¤ì¤Ð¤¹¤Ù¤Æ¤Î GSUB feature ¤¬Å¬ÍѤµ¤ì¤ë¡£
296
297 @c GPOS-FEATURES ¤Î»ØÄê¤Ï @c GSUB-FEATURES ¤Î¾ì¹ç¤ÈƱÍͤǤ¢¤ë¡£
298
299 Á´¤Æ¤Î¥¿¥°Ì¾¤Ï ASCII ¤Îɽ¼¨²Äǽʸ»ú£´¤Ä¤«¤é¤Ê¤ë¤³¤È¡£
300
301 OpenType ¤Î»ØÄêÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¼¡¤Î¥Ú¡¼¥¸¤ò»²¾È¤Î¤³¤È¡£\n
302     <http://www.microsoft.com/typography/otspec/default.htm>
303
304 @verbatim
305 COMBINING ::= SYMBOL
306 @endverbatim
307
308 @c COMBINING ¤Ï¡¢ ¼¡¤Î¥°¥ê¥Õ¤òÁ°¤Î¤â¤Î¤È¤É¤¦·ë¹ç¤¹¤ë¤«¤Î»Ø¼¨¤ò̾Á°¤È¤·
309 ¤Æ»ý¤Ä¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¡£¤³¤Î¥ë¡¼¥ë¤Ï¥Ç¥Õ¥©¥ë¥È¤Î·ë¹çµ¬Â§¤ò¥·¥ó¥Ü¥ë̾¸ÇÍ­
310 ¤ÎÀ°¿ô¥³¡¼¥É¤Ë¥»¥Ã¥È¤¹¤ë¡£Ì¾Á°¤Ï°Ê²¼¤Îʸˡ¤Ë½¾¤¦¡£
311 following syntax.
312
313 @verbatim
314   COMBINING-NAME ::= VPOS HPOS OFFSET VPOS HPOS
315
316   VPOS ::= 't' | 'c' | 'b' | 'B'
317
318   HPOS ::= 'l' | 'c' | 'r'
319
320   OFFSET :: = '.' | XOFF | YOFF XOFF ?
321
322   XOFF ::= ('<' | '>') INTEGER ?
323
324   YOFF ::= ('+' | '-') INTEGER ?
325 @endverbatim
326
327 @c VPOS ¤È @c HPOS ¤Ï¼¡¤Î¤è¤¦¤Ë¿âľ¡¢¿åÊ¿°ÌÃÖ¤ò»ØÄꤹ¤ë¡£
328
329 @verbatim
330                                 POINT VPOS HPOS
331                                 ----- ---- ----
332     0----1----2 <---- top       0     t    l
333     |         |                 1     t    c
334     |         |                 2     t    r
335     |         |                 3     B    l
336     9   10   11 <---- center    4     B    c
337     |         |                 5     B    r
338   --3----4----5-- <-- baseline  6     b    l
339     |         |                 7     b    c
340     6----7----8 <---- bottom    8     b    r
341                                 9     c    l
342     |    |    |                10     c    c
343   left center right            11     c    r
344 @endverbatim
345
346 º¸¤Î¿Þ¤Ï¤¢¤ë¥°¥ê¥Õ¤Î 12 ¤Î»²¾ÈÅÀ¤ò 0 ¤«¤é 11 ¤Þ¤Ç¤Î¿ô»ú¤Ç¼¨¤·¤Æ¤¤¤ë¡£
347 »Í³Ñ·Á 0-6-8-2 ¤Ï¥°¥ê¥Õ¤Îɽ¼¨Îΰè¤Ç¤¢¤ê¡¢°ÌÃÖ3, 4, 5 ¤Ï¥Ù¡¼¥¹¥é¥¤¥ó¾å
348 ¤Ë¤¢¤ë¡£ 9 ¤È 11 ¤Ï¤½¤ì¤¾¤ìÀþ0-6 ¤È 2-8 ¤ÎÃæ¿´¤Ç¤¢¤ë¡£1, 10, 4, 7 ¤Ï¤½
349 ¤ì¤¾¤ìÀþ1-2, 3-5, 9-11, 6-8 ¤ÎÃæ¿´¤Ç¤¢¤ë¡£
350
351 ±¦¤Îɽ¤Ï¡¢³Æ»²¾ÈÅÀ¤¬@c VPOS ¤È @c HPOS ¤ÎÁȹ礻¤Ë¤è¤Ã¤Æ¤É¤Î¤è¤¦¤Ë»ØÄê
352 ¤µ¤ì¤ë¤«¤ò¼¨¤·¤Æ¤¤¤ë¡£
353
354 @c COMBINING-NAME ¤ÎÄêµÁÃæ¤ÎºÇ½é¤Î @c VPOS ¤È @c HPOS ¤Ï¡¢Á°¤Î¥°¥ê¥Õ¤Î
355 »²¾ÈÅÀ¤ò¡¢Æó¤ÄÌܤΠ@c VPOS ¤È @c HPOS ¤Ï¼¡¤Î¥°¥ê¥Õ¤Î»²¾ÈÅÀ¤ò»ØÄꤹ¤ë¡£
356 ¼¡¤Î¥°¥ê¥Õ¤Ï¤³¤ÎÆó¸Ä¤Î»²¾ÈÅÀ¤¬½Å¤Ê¤ë¤è¤¦¤ËÉÁ¤«¤ì¤ë¡£
357
358 @c OFFSET ¤Ï½Å¤Ê¤ê¤«Â¾¤Î¾ÜºÙ¤ò»ØÄꤹ¤ë¡£'.' ¤Ç¤¢¤ì¤Ð¡¢»²¾ÈÅÀÆó¤Ä¤ÏƱ¤¸
359 °ÌÃ֤ˤ¢¤ë¡£
360
361 @c XOFF ¤Ï¡¢¼¡¤Î¥°¥ê¥Õ¤Î»²¾ÈÅÀ¤Î X ºÂɸ¤ò¡¢Á°¤Î»²¾ÈÅÀ¤«¤é¤É¤ì¤Û¤É±¦ 
362 ('<') ¤¢¤ë¤¤¤Ïº¸ ('>') ¤Ø¤º¤é¤¹¤«»ØÄꤹ¤ë¡£
363
364 @c YOFF ¤Ï¡¢¼¡¤Î¥°¥ê¥Õ¤Î»²¾ÈÅÀ¤Î Y ºÂɸ¤ò¡¢Á°¤Î»²¾ÈÅÀ¤«¤é¤É¤ì¤Û¤É¾å 
365 ('+') ¤¢¤ë¤¤¤Ï²¼ ('-') ¤Ø¤º¤é¤¹¤«»ØÄꤹ¤ë¡£
366
367 ¤É¤Á¤é¤Î¾ì¹ç¤Ë¤â¡¢@c INTEGER ¤Ï¥Õ¥©¥ó¥È¥µ¥¤¥º¤Î²¿¡ó¤º¤é¤¹¤«¤ò¼¨¤¹ÃͤÇ
368 ¤¢¤ë¡£¤¹¤Ê¤ï¤Á¡¢¤â¤· @c INTEGER ¤¬ 10 ¤Ê¤é¤Ð¥Õ¥©¥ó¥È¥µ¥¤¥º¤Î10% (1/10) 
369 ¤º¤é¤¹¤³¤È¤Ë¤Ê¤ë¡£ @c INTEGER ¤¬¾Êά¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¡¢5 ¤¬»ØÄꤵ¤ì¤¿¤â¤Î
370 ¤È¤¹¤ë¡£
371
372 ¼¡¤Î¥°¥ê¥Õ¤¬Á°¤Î¥°¥ê¥Õ¤Ë·ë¹ç¤µ¤ì¤ë¤È¡¢¤½¤ì¤é¤Ï°ì¤Ä¤Î·ë¹ç¥°¥ê¥Õ¤È¤·¤Æ°·
373 ¤ï¤ì¤ë¡£
374
375 @verbatim
376 MACRO-NAME ::= SYMBOL
377 @endverbatim
378
379 @c MACRO-NAME ¤Ï @c MACRO-DEF ¤Î¤¤¤º¤ì¤«¤Ë¸½¤ï¤ì¤ë¥·¥ó¥Ü¥ë¤Ç¤¢¤ê¡¢Âбþ
380 ¤¹¤ë@c RULE ¤ÎÎó¤ËŸ³«¤µ¤ì¤ë¡£
381
382 @section flt-context-dependent Ê¸Ì®¤Ë°Í¸¤¹¤ë¿¶Éñ
383
384 ¤³¤³¤Þ¤Ç¤Ï¡¢ÆÃÄê¤Î¥Õ¥©¥ó¥È¤ÇÉÁ¤«¤ì¤ë³Æʸ»ú¡¿¥°¥ê¥ÕÎó¤¬Ê¸Ì®¼«Í³¤Ç¤¢¤ë¤³
385 ¤È¡¢¤¹¤Ê¤ï¤ÁÁ°¸å¤Î¥°¥ê¥Õ¤Ë±Æ¶Á¤µ¤ì¤Ê¤¤¤³¤È¤òÁ°Äó¤È¤·¤Æ¤­¤¿¡£¤³¤ì¤Ï¡¢Îó 
386 S1 ¤¬¥Õ¥©¥ó¥ÈF1 ¤Ë¤è¤Ã¤ÆÉÁ¤«¤ì¡¢Àè¹Ô¤¹¤ëÎó S0 ¤¬¾ï¤Ë¥Õ¥©¥ó¥È F0 ¤òÍ×µá
387 ¤¹¤ë¾ì¹ç¤Ë¤ÏÀµ¤·¤¤¡£
388
389 @verbatim
390   Îó                            S0      S1
391   ¸½¹Ô¤Î¥Õ¥©¥ó¥È                F0      F1
392   ÍøÍѲÄǽ¤Ê¥Õ¥©¥ó¥È            F0      F1
393 @endverbatim
394
395 ¤·¤«¤·»þ¤Ë¤Ï¡¢Îó¤òÌÀ³Î¤Ë¶èÀڤ뤳¤È¤¬¤Ç¤­¤Ê¤¤¾ì¹ç¤â¤¢¤ë¡£Àè¹Ô¤¹¤ëÎó S0
396 ¤¬ F0 ¤À¤±¤Ç¤Ê¤¯ F1 ¤Ç¤âÉÁ¤±¤ë¤È¤·¤è¤¦¡£
397
398 @verbatim
399   Îó                            S0      S1
400   ¸½¹Ô¤Î¥Õ¥©¥ó¥È                F0      F1
401   ÍøÍѲÄǽ¤Ê¥Õ¥©¥ó¥È            F0,F1   F1
402 @endverbatim
403
404 ¤³¤Î¾ì¹ç¡¢Àè¹Ô¤¹¤ë S0 ¤òÉÁ¤¯¤¿¤á¤Ë»È¤ï¤ì¤¿¥°¥ê¥Õ¤¬ S1 ¤Î¥°¥ê¥Õ¤ÎÀ¸À®¤Ë
405 ±Æ¶Á¤òÍ¿¤¨¤ë¤³¤È¤â¤¢¤ë¡£¤½¤³¤Ç S1 ¤Î½èÍý¤ÎºÝ¤Ë¤¹¤Ç¤Ë½èÍý¤Î½ª¤Ã¤¿ S0 ¤Ë
406 ´Ø¤¹¤ë¾ðÊó¤Ë¥¢¥¯¥»¥¹¤¹¤ëɬÍפ¬¤¢¤ë¡£ºÇ½é¤Î¥¹¥Æ¡¼¥¸¡Ê¤³¤Î¥¹¥Æ¡¼¥¸¤Î¤ß¡Ë
407 ¤ÎÀ¸À®µ¬Â§¤Ï¡¢½èÍýºÑ¤ß¤ÎÉôʬ¤Ø¥¢¥¯¥»¥¹¤¹¤ëÆÃÊ̤ÊÀµµ¬É½¸½¤òµö¤·¤Æ¤¤¤ë¡£
408
409 @verbatim
410   "RE0 RE1"
411 @endverbatim
412
413 @c RE0 ¤È @c RE1 ¤ÏÀè¹Ô¤ÎÎó S0 ¤È¸å³¤ÎÎó S1 ¤Ë¤½¤ì¤¾¤ìÂбþ¤¹¤ëÀµµ¬É½
414 ¸½¤Ç¤¢¤ë¡£
415
416 Æó¤Ä¤ÎÀµµ¬É½¸½¤Î´Ö¤Î¥¹¥Ú¡¼¥¹¤ËÃí°Õ¡£¤³¤ì¤ÏÆÃÊ̤ʥ«¥Æ¥´¥ê ' ' ¤ò¼¨¤·¤Æ
417 ¤¤¤ë (¾åµ­»²¾È) ¡£¤³¤ÎÀµµ¬É½¸½¤Ï¥Õ¥©¥ó¥È F1 ¤ò»ÈÍѤ¹¤ë¥°¥ê¥ÕÀ¸À®µ¬Â§¤Ë
418 °¤·¤Æ¤ª¤ê¡¢¤·¤¿¤¬¤Ã¤Æ RE1 ¤À¤±¤Ç¤Ê¤¯RE0 ¤â F1 ÍѤΥ«¥Æ¥´¥ê¤òÍѤ¤¤Æɽ
419 ¸½¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤Ä¤Þ¤ê¡¢Àè¹Ô¤¹¤ëÎóS0 ¤¬ F1 ÍѤΥ«¥Æ¥´¥ê¤Çɽ¤»
420 ¤Ê¤¤¾ì¹ç¤Ë¤Ï(¾å¤ÎºÇ½é¤ÎÎã¤Î¤è¤¦¤Ë) ¤³¤Î¥Ñ¥¿¡¼¥ó¤ò»ý¤ÄÀ¸À®µ¬Â§¤Ë¤Ï¹çÃ×
421 ¤·¤Ê¤¤¡£
422
423 @section flt-seealso »²¾È
424
425 @ref mdbGeneral "mdbGeneral(5)", 
426 @ref flt-list "FLTs provided by the m17n database"
427 */
428
429 /* 
430 Copyright (C) 2003, 2004
431   National Institute of Advanced Industrial Science and Technology (AIST)
432   Registration Number H15PRO112
433
434 This file is part of the m17n database; a sub-part of the m17n
435 library.
436
437 The m17n library is free software; you can redistribute it and/or
438 modify it under the terms of the GNU Lesser General Public License
439 as published by the Free Software Foundation; either version 2.1 of
440 the License, or (at your option) any later version.
441
442 The m17n library is distributed in the hope that it will be useful,
443 but WITHOUT ANY WARRANTY; without even the implied warranty of
444 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
445 Lesser General Public License for more details.
446
447 You should have received a copy of the GNU Lesser General Public
448 License along with the m17n library; if not, write to the Free
449 Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
450 Boston, MA 02110-1301, USA.
451 */