xref: /aosp_15_r20/external/harfbuzz_ng/docs/features.dot (revision 2d1272b857b1f7575e6e246373e1cb218663db8a)
1*2d1272b8SAndroid Build Coastguard Workerdigraph {
2*2d1272b8SAndroid Build Coastguard Worker  graph [outputorder=edgefirst];
3*2d1272b8SAndroid Build Coastguard Worker	node [shape="record", fontname="Noto Sans Mono SemiBold", fontsize=15];
4*2d1272b8SAndroid Build Coastguard Worker	edge [fontname="Verdana", fontsize=12,labeldistance=7.5 ];
5*2d1272b8SAndroid Build Coastguard Worker	fontname="Verdana";
6*2d1272b8SAndroid Build Coastguard Worker  ranksep=0.02; nodesep=0.5;
7*2d1272b8SAndroid Build Coastguard Worker
8*2d1272b8SAndroid Build Coastguard Workersubgraph {
9*2d1272b8SAndroid Build Coastguard Worker	ranksep="0.02 equally";
10*2d1272b8SAndroid Build Coastguard Worker	preprocessing[style=filled,fillcolor="lightgreen",fontname="Verdana",label="Glyph pre-processing"];
11*2d1272b8SAndroid Build Coastguard Worker	orthographic[style=filled,fillcolor="lightblue",fontname="Verdana",label="Orthographic Unit Shaping"];
12*2d1272b8SAndroid Build Coastguard Worker	reordering[style=filled, fillcolor="lightcoral",fontname="Verdana",label="Reordering group (USE)"];
13*2d1272b8SAndroid Build Coastguard Worker	topographic[style=filled,fillcolor="lightgoldenrod",fontname="Verdana",label="Topographical Features‡"];
14*2d1272b8SAndroid Build Coastguard Worker	typographic[style=filled,fillcolor="lightpink",fontname="Verdana",label="Typographic Presentation"];
15*2d1272b8SAndroid Build Coastguard Worker	positioning[style=filled,fillcolor="lightsalmon",fontname="Verdana",label="Positioning"];
16*2d1272b8SAndroid Build Coastguard Worker	preprocessing->reordering->orthographic->topographic->typographic->positioning;
17*2d1272b8SAndroid Build Coastguard Worker}
18*2d1272b8SAndroid Build Coastguard Worker
19*2d1272b8SAndroid Build Coastguard Worker	decision1 [shape="diamond", label="Script\ndirection?",fontname="Verdana"];
20*2d1272b8SAndroid Build Coastguard Worker	rvrn->decision1;
21*2d1272b8SAndroid Build Coastguard Worker
22*2d1272b8SAndroid Build Coastguard Worker	ltrfeatures [label="{ltra|ltrm}", fillcolor="lightgreen",style="filled"];
23*2d1272b8SAndroid Build Coastguard Worker	{
24*2d1272b8SAndroid Build Coastguard Worker	rtlfeatures [label="{rtla|rtlm¹}", fillcolor="lightgreen",style="filled"];
25*2d1272b8SAndroid Build Coastguard Worker	}
26*2d1272b8SAndroid Build Coastguard Worker	{
27*2d1272b8SAndroid Build Coastguard Worker		rank=same;
28*2d1272b8SAndroid Build Coastguard Worker		fracfeatures [label="frac²|numr³|dnom⁴", fillcolor="lightpink",style="filled"];
29*2d1272b8SAndroid Build Coastguard Worker		fracnotes [fontname="Verdana",shape=plaintext,label=<<table border="0" cellborder="0" cellspacing="0">
30*2d1272b8SAndroid Build Coastguard Worker			<tr><td align="left">¹ rtlm is scoped to characters with a Unicode mirroring property</td></tr>
31*2d1272b8SAndroid Build Coastguard Worker			<tr><td align="left">² frac is scoped to numr + the slash + dnom</td></tr>
32*2d1272b8SAndroid Build Coastguard Worker			<tr><td align="left">³ numr is scoped to all decimal numbers before a U+2044 FRACTION SLASH.</td></tr>
33*2d1272b8SAndroid Build Coastguard Worker			<tr><td align="left">⁴ dnom is scoped to all decimal numbers after a U+2044 FRACTION SLASH.</td></tr>
34*2d1272b8SAndroid Build Coastguard Worker	</table>
35*2d1272b8SAndroid Build Coastguard Worker		>];
36*2d1272b8SAndroid Build Coastguard Worker
37*2d1272b8SAndroid Build Coastguard Worker	}
38*2d1272b8SAndroid Build Coastguard Worker	rand [fillcolor="lightpink",style="filled"];
39*2d1272b8SAndroid Build Coastguard Worker
40*2d1272b8SAndroid Build Coastguard Worker	decision1 -> ltrfeatures [label="Left-to-right"];
41*2d1272b8SAndroid Build Coastguard Worker	decision1 -> rtlfeatures [label="Right-to-left"];
42*2d1272b8SAndroid Build Coastguard Worker
43*2d1272b8SAndroid Build Coastguard Worker	decision1 -> fracfeatures [label="Other"];
44*2d1272b8SAndroid Build Coastguard Worker
45*2d1272b8SAndroid Build Coastguard Worker	ltrfeatures -> fracfeatures;
46*2d1272b8SAndroid Build Coastguard Worker	rtlfeatures -> fracfeatures;
47*2d1272b8SAndroid Build Coastguard Worker	fracfeatures->rand;
48*2d1272b8SAndroid Build Coastguard Worker
49*2d1272b8SAndroid Build Coastguard Worker	decision2 [shape="diamond", label="Script?",fontname="Verdana"];
50*2d1272b8SAndroid Build Coastguard Worker
51*2d1272b8SAndroid Build Coastguard Worker{rank=same; HARF [label="{Harf|HARF}"]; notes;}
52*2d1272b8SAndroid Build Coastguard Worker	rand -> trak -> HARF -> decision2;
53*2d1272b8SAndroid Build Coastguard Worker
54*2d1272b8SAndroid Build Coastguard Worker	commonfeatures [shape=none,label=<<table border="0" cellspacing="0">
55*2d1272b8SAndroid Build Coastguard Worker                    <tr>
56*2d1272b8SAndroid Build Coastguard Worker                    	<td border="1" bgcolor="lightsalmon">abvm</td>
57*2d1272b8SAndroid Build Coastguard Worker                    	<td border="1" bgcolor="lightsalmon">blwm</td>
58*2d1272b8SAndroid Build Coastguard Worker                    	<td border="1" bgcolor="lightgreen">ccmp</td>
59*2d1272b8SAndroid Build Coastguard Worker                    	<td border="1" bgcolor="lightgreen">locl</td>
60*2d1272b8SAndroid Build Coastguard Worker                    	<td border="1" bgcolor="lightsalmon">mark</td>
61*2d1272b8SAndroid Build Coastguard Worker                    	<td border="1" bgcolor="lightsalmon">mkmk</td>
62*2d1272b8SAndroid Build Coastguard Worker                    	<td border="1" bgcolor="lightpink">rlig</td>
63*2d1272b8SAndroid Build Coastguard Worker                    </tr>
64*2d1272b8SAndroid Build Coastguard Worker                </table>>
65*2d1272b8SAndroid Build Coastguard Worker    ];
66*2d1272b8SAndroid Build Coastguard Worker
67*2d1272b8SAndroid Build Coastguard Worker	decision3 [shape="diamond", label="Script\ndirection?",fontname="Verdana"];
68*2d1272b8SAndroid Build Coastguard Worker
69*2d1272b8SAndroid Build Coastguard Worker	BUZZ  [label="{Buzz|BUZZ}"];
70*2d1272b8SAndroid Build Coastguard Worker	BUZZ -> commonfeatures -> decision3;
71*2d1272b8SAndroid Build Coastguard Worker
72*2d1272b8SAndroid Build Coastguard Worker	horizontalfeatures [
73*2d1272b8SAndroid Build Coastguard Worker	shape=none,label=<<table border="0" cellspacing="0">
74*2d1272b8SAndroid Build Coastguard Worker                    <tr><td border="1" bgcolor="lightpink">calt <font face="Verdana">(not Hangul)</font></td></tr>
75*2d1272b8SAndroid Build Coastguard Worker                    <tr><td border="1" bgcolor="lightpink">clig <font face="Verdana">(not Khmer)</font></td></tr>
76*2d1272b8SAndroid Build Coastguard Worker                    <tr><td border="1" bgcolor="lightsalmon">curs</td></tr>
77*2d1272b8SAndroid Build Coastguard Worker                    <tr><td border="1" bgcolor="lightsalmon">dist</td></tr>
78*2d1272b8SAndroid Build Coastguard Worker                    <tr><td border="1" bgcolor="lightsalmon">kern</td></tr>
79*2d1272b8SAndroid Build Coastguard Worker                    <tr><td border="1" bgcolor="lightpink">liga <font face="Verdana">(not Khmer)</font></td></tr>
80*2d1272b8SAndroid Build Coastguard Worker                    <tr><td border="1" bgcolor="lightpink">rclt</td></tr>
81*2d1272b8SAndroid Build Coastguard Worker                </table>>
82*2d1272b8SAndroid Build Coastguard Worker                ];
83*2d1272b8SAndroid Build Coastguard Worker	vert [label="vert",style=filled,fillcolor="lightpink"];
84*2d1272b8SAndroid Build Coastguard Worker
85*2d1272b8SAndroid Build Coastguard Worker	decision3 -> horizontalfeatures [label="Horizontal"];
86*2d1272b8SAndroid Build Coastguard Worker	decision3 -> vert [label="Vertical"];
87*2d1272b8SAndroid Build Coastguard Worker
88*2d1272b8SAndroid Build Coastguard Worker	discretionary [label="User-selected\ndiscretionary\nfeatures",fontname="Verdana"];
89*2d1272b8SAndroid Build Coastguard Worker
90*2d1272b8SAndroid Build Coastguard Worker	horizontalfeatures -> discretionary;
91*2d1272b8SAndroid Build Coastguard Worker	vert -> discretionary;
92*2d1272b8SAndroid Build Coastguard Worker
93*2d1272b8SAndroid Build Coastguard Worker	decision2->stch;
94*2d1272b8SAndroid Build Coastguard Worker
95*2d1272b8SAndroid Build Coastguard Worker	BUZZ;
96*2d1272b8SAndroid Build Coastguard Worker
97*2d1272b8SAndroid Build Coastguard Workersubgraph shapers {
98*2d1272b8SAndroid Build Coastguard Worker	subgraph cluster_arabic {
99*2d1272b8SAndroid Build Coastguard Worker		bgcolor="lightyellow"
100*2d1272b8SAndroid Build Coastguard Worker		label="Arabic, Syriac";
101*2d1272b8SAndroid Build Coastguard Worker	stch [ style="filled", fillcolor="lightgreen",label="stch"];
102*2d1272b8SAndroid Build Coastguard Worker	ccmplocl [ style="filled", label="ccmp|locl", fillcolor="lightgreen"];
103*2d1272b8SAndroid Build Coastguard Worker	arabicfeatures [label="isol|fina|fin2|fin3|medi|med2|init", style="filled", fillcolor="lightgoldenrod"];
104*2d1272b8SAndroid Build Coastguard Worker	arabicfeatures2 [label="rclt|calt", style="filled",fillcolor="lightpink"];
105*2d1272b8SAndroid Build Coastguard Workerrlig[style="filled",fillcolor="lightpink"];
106*2d1272b8SAndroid Build Coastguard Workermset [fillcolor="lightpink",style="filled"]
107*2d1272b8SAndroid Build Coastguard Worker	stch->ccmplocl->arabicfeatures->rlig->arabicfeatures2->mset;
108*2d1272b8SAndroid Build Coastguard Worker	}
109*2d1272b8SAndroid Build Coastguard Worker	mset->BUZZ:n;
110*2d1272b8SAndroid Build Coastguard Worker
111*2d1272b8SAndroid Build Coastguard Worker	subgraph cluster_hangul {
112*2d1272b8SAndroid Build Coastguard Worker		bgcolor="lightyellow"
113*2d1272b8SAndroid Build Coastguard Worker		label="Hangul";
114*2d1272b8SAndroid Build Coastguard Worker		hangulfeatures [label="ljmo|vjmo|tjmo", style="filled",fillcolor="lightgoldenrod"]
115*2d1272b8SAndroid Build Coastguard Worker	}
116*2d1272b8SAndroid Build Coastguard Worker	  hangulfeatures->BUZZ:n;
117*2d1272b8SAndroid Build Coastguard Worker
118*2d1272b8SAndroid Build Coastguard Worker	subgraph cluster_indic {
119*2d1272b8SAndroid Build Coastguard Worker		label="Indic";
120*2d1272b8SAndroid Build Coastguard Worker		bgcolor="lightyellow"
121*2d1272b8SAndroid Build Coastguard Worker		// Preprocessing
122*2d1272b8SAndroid Build Coastguard Worker		loclccmpindic [label="locl†|ccmp†",style=filled,fillcolor="lightgreen"];
123*2d1272b8SAndroid Build Coastguard Worker		node[style=filled,fillcolor="lightgreen"];
124*2d1272b8SAndroid Build Coastguard Worker		nukt [label="nukt†"];
125*2d1272b8SAndroid Build Coastguard Worker		akhn [label="akhn†"];
126*2d1272b8SAndroid Build Coastguard Worker		loclccmpindic->indic_reorder_1->nukt->akhn;
127*2d1272b8SAndroid Build Coastguard Worker		indic_reorder_1[label="Initial reordering", fontname="Verdana",fillcolor="lightgrey",shape=ellipse,style=filled]
128*2d1272b8SAndroid Build Coastguard Worker
129*2d1272b8SAndroid Build Coastguard Worker		// Orthographic
130*2d1272b8SAndroid Build Coastguard Worker		node[style=filled,fillcolor="lightblue"]
131*2d1272b8SAndroid Build Coastguard Worker		rphf [label="rphf⁵"];
132*2d1272b8SAndroid Build Coastguard Worker		rkpf [label="rkpf†"];
133*2d1272b8SAndroid Build Coastguard Worker		pref [label="pref⁶"];
134*2d1272b8SAndroid Build Coastguard Worker		blwf [label="blwf⁷"];
135*2d1272b8SAndroid Build Coastguard Worker		abvf [label="abvf⁸"];
136*2d1272b8SAndroid Build Coastguard Worker		half [label="half⁹"];
137*2d1272b8SAndroid Build Coastguard Worker		pstf [label="pstf⁸"];
138*2d1272b8SAndroid Build Coastguard Worker		vatu [label="vatu†"];
139*2d1272b8SAndroid Build Coastguard Worker		cjct [label="cjct†"];
140*2d1272b8SAndroid Build Coastguard Worker		akhn ->rphf -> rkpf -> pref -> blwf -> abvf -> half -> pstf -> vatu -> cjct;
141*2d1272b8SAndroid Build Coastguard Worker		// Typographic presentation
142*2d1272b8SAndroid Build Coastguard Worker		indic_typographic[style=filled,fillcolor="lightpink",label="init|pres|abvs|blws|psts|haln"]
143*2d1272b8SAndroid Build Coastguard Worker		indic_reorder_2[label="Final reordering",fillcolor="lightgrey",fontname="Verdana", shape=ellipse,style=filled]
144*2d1272b8SAndroid Build Coastguard Worker		cjct->indic_reorder_2->indic_typographic;
145*2d1272b8SAndroid Build Coastguard Worker
146*2d1272b8SAndroid Build Coastguard Worker	notes2 [fontname="Verdana",shape=plaintext,style="",label=<<table border="0" cellborder="0" cellspacing="0">
147*2d1272b8SAndroid Build Coastguard Worker<tr><td align="right">⁵ rphf is scoped to pre-base ra+halant sequences</td></tr>
148*2d1272b8SAndroid Build Coastguard Worker<tr><td align="right">⁶ pref is scoped to the two glyphs after the base; outputs are reordered</td></tr>
149*2d1272b8SAndroid Build Coastguard Worker<tr><td align="right">⁷ blwf is usually scoped to the whole syllable, except in Telugu and Kannada where it is post-base</td></tr>
150*2d1272b8SAndroid Build Coastguard Worker<tr><td align="right">⁸ abvf and pstf are scoped to post-base</td></tr>
151*2d1272b8SAndroid Build Coastguard Worker<tr><td align="right">⁹ half is scoped to pre-base</td></tr>
152*2d1272b8SAndroid Build Coastguard Worker</table>
153*2d1272b8SAndroid Build Coastguard Worker>];
154*2d1272b8SAndroid Build Coastguard Worker		indic_typographic -> notes2 [style=invis];
155*2d1272b8SAndroid Build Coastguard Worker	}
156*2d1272b8SAndroid Build Coastguard Worker
157*2d1272b8SAndroid Build Coastguard Worker
158*2d1272b8SAndroid Build Coastguard Worker	subgraph cluster_khmer {
159*2d1272b8SAndroid Build Coastguard Worker		label="Khmer";
160*2d1272b8SAndroid Build Coastguard Worker		bgcolor="lightyellow"
161*2d1272b8SAndroid Build Coastguard Worker
162*2d1272b8SAndroid Build Coastguard Worker		khmerbasic [style=filled,fillcolor="lightgreen",label="locl†|ccmp†|pref†|bwlf†|abvf†|pstf†|cfar†"]
163*2d1272b8SAndroid Build Coastguard Worker		khmerother [style=filled,fillcolor="lightpink",label="pres|abvs|blws|psts"]
164*2d1272b8SAndroid Build Coastguard Worker		khmerbasic -> khmerother -> khmerclig;
165*2d1272b8SAndroid Build Coastguard Worker				khmerclig [label="clig",style=filled,fillcolor="lightpink"];
166*2d1272b8SAndroid Build Coastguard Worker	}
167*2d1272b8SAndroid Build Coastguard Worker
168*2d1272b8SAndroid Build Coastguard Worker	subgraph cluster_myanmar {
169*2d1272b8SAndroid Build Coastguard Worker		label="Myanmar";
170*2d1272b8SAndroid Build Coastguard Worker		bgcolor="lightyellow"
171*2d1272b8SAndroid Build Coastguard Worker		loclccmpmyanmar [label="locl†|ccmp†",style=filled,fillcolor="lightgreen"];
172*2d1272b8SAndroid Build Coastguard Worker		rphfmymr [label="rphf†",style=filled,fillcolor="lightblue"]
173*2d1272b8SAndroid Build Coastguard Worker		prefmymr [label="pref†",style=filled,fillcolor="lightblue"]
174*2d1272b8SAndroid Build Coastguard Worker		blwfmymr [label="blwf†",style=filled,fillcolor="lightblue"]
175*2d1272b8SAndroid Build Coastguard Worker		pstfmymr [label="pstf†",style=filled,fillcolor="lightblue"]
176*2d1272b8SAndroid Build Coastguard Worker		myanmarother [label="pres|abvs|blws|psts",style=filled,fillcolor="lightpink"];
177*2d1272b8SAndroid Build Coastguard Worker		reorder_myanmar[label="Reordering", shape=ellipse,style=filled,fontname="Verdana"]
178*2d1272b8SAndroid Build Coastguard Worker		loclccmpmyanmar -> reorder_myanmar-> rphfmymr -> prefmymr -> blwfmymr -> pstfmymr -> myanmarother;
179*2d1272b8SAndroid Build Coastguard Worker	}
180*2d1272b8SAndroid Build Coastguard Worker
181*2d1272b8SAndroid Build Coastguard Worker	subgraph cluster_use {
182*2d1272b8SAndroid Build Coastguard Worker		label="Universal Shaping Engine"
183*2d1272b8SAndroid Build Coastguard Worker		bgcolor="lightyellow"
184*2d1272b8SAndroid Build Coastguard Worker		use_preprocessing [style=filled, label="locl†|ccmp†|nukt†|akhn†", fillcolor="lightgreen"];
185*2d1272b8SAndroid Build Coastguard Worker		// Reoredering
186*2d1272b8SAndroid Build Coastguard Worker		rphfuse [label="rphf¹⁰", style=filled, fillcolor="lightcoral"];
187*2d1272b8SAndroid Build Coastguard Worker		prefuse [label="pref¹¹", style=filled, fillcolor="lightcoral"];
188*2d1272b8SAndroid Build Coastguard Worker		// Orthographic
189*2d1272b8SAndroid Build Coastguard Worker		orthographicuse [label="rkrf†|abvf†|blwf†|half†|pstf†|vatu†|cjct†", style="filled", fillcolor="lightblue"];
190*2d1272b8SAndroid Build Coastguard Worker		topographicaluse [label="isol|init|medi|fina", style="filled", fillcolor="lightgoldenrod"];
191*2d1272b8SAndroid Build Coastguard Worker		typographicaluse [label="abvs|blws|haln|pres|psts", style="filled", fillcolor="lightpink"];
192*2d1272b8SAndroid Build Coastguard Worker		reorder_use[label="Reordering", shape=ellipse,style=filled,fontname="Verdana"]
193*2d1272b8SAndroid Build Coastguard Worker		use_preprocessing -> rphfuse -> prefuse->orthographicuse ->reorder_use -> topographicaluse -> typographicaluse;
194*2d1272b8SAndroid Build Coastguard Worker			notes3 [fontname="Verdana",shape=plaintext,label=<<table border="0" cellborder="0" cellspacing="0">
195*2d1272b8SAndroid Build Coastguard Worker		<tr><td align="left">¹⁰ Outputs are reordered as category R</td></tr>
196*2d1272b8SAndroid Build Coastguard Worker		<tr><td align="left">¹¹ Outputs are reordered to before base</td></tr>
197*2d1272b8SAndroid Build Coastguard Worker		</table>
198*2d1272b8SAndroid Build Coastguard Worker		>];
199*2d1272b8SAndroid Build Coastguard Worker		typographicaluse -> notes3 [style=invis];
200*2d1272b8SAndroid Build Coastguard Worker	}
201*2d1272b8SAndroid Build Coastguard Worker
202*2d1272b8SAndroid Build Coastguard Worker}
203*2d1272b8SAndroid Build Coastguard Worker
204*2d1272b8SAndroid Build Coastguard Worker	indic_typographic->BUZZ:n;
205*2d1272b8SAndroid Build Coastguard Worker	typographicaluse->BUZZ:n;
206*2d1272b8SAndroid Build Coastguard Worker	khmerclig -> BUZZ:n;
207*2d1272b8SAndroid Build Coastguard Worker	myanmarother -> BUZZ:n;
208*2d1272b8SAndroid Build Coastguard Worker
209*2d1272b8SAndroid Build Coastguard Worker
210*2d1272b8SAndroid Build Coastguard Worker	decision2->hangulfeatures;
211*2d1272b8SAndroid Build Coastguard Worker	decision2->loclccmpindic;
212*2d1272b8SAndroid Build Coastguard Worker	decision2->khmerbasic;
213*2d1272b8SAndroid Build Coastguard Worker	decision2->loclccmpmyanmar;
214*2d1272b8SAndroid Build Coastguard Worker	decision2->use_preprocessing;
215*2d1272b8SAndroid Build Coastguard Worker	decision2->BUZZ [label="  Hebrew, Thai,\n  Lao, other"];
216*2d1272b8SAndroid Build Coastguard Worker
217*2d1272b8SAndroid Build Coastguard Workernotes [fontname="Verdana",shape=box,label=<<table border="0" cellborder="0" cellspacing="0">
218*2d1272b8SAndroid Build Coastguard Worker	<tr><td align="left">
219*2d1272b8SAndroid Build Coastguard Worker<b>Indic</b> scripts are: Bengali, Devanagari,
220*2d1272b8SAndroid Build Coastguard Worker Gujarati, Gurmukhi, Kannada,
221*2d1272b8SAndroid Build Coastguard Worker Malayalam, Oriya, Tamil,
222*2d1272b8SAndroid Build Coastguard Worker Telugu
223*2d1272b8SAndroid Build Coastguard Worker</td></tr>
224*2d1272b8SAndroid Build Coastguard Worker
225*2d1272b8SAndroid Build Coastguard Worker	<tr><td align="left">
226*2d1272b8SAndroid Build Coastguard Worker<b>USE</b> scripts are:
227*2d1272b8SAndroid Build Coastguard Worker Adlam, Ahom, Balinese, Batak, Bhaiksuki, Brahmi, Buginese,
228*2d1272b8SAndroid Build Coastguard Worker Buhid, Chakma, Cham, Chorasmian, Dives Akuru, Dogra, Duployan,
229*2d1272b8SAndroid Build Coastguard Worker</td></tr>
230*2d1272b8SAndroid Build Coastguard Worker	<tr><td align="left">
231*2d1272b8SAndroid Build Coastguard WorkerEgyptian hieroglyphs, Elymaic, Grantha, Gunjala Ggondi, Hanifi Rohingya,
232*2d1272b8SAndroid Build Coastguard Worker Hanunoo, Javanese, Kaithi, Kayah li, Kharoshthi, Khojki,
233*2d1272b8SAndroid Build Coastguard Worker</td></tr>
234*2d1272b8SAndroid Build Coastguard Worker	<tr><td align="left">
235*2d1272b8SAndroid Build Coastguard WorkerKhudawadi, Lepcha, Limbu, Mahajani, Makasar, Mandaic, Manichaean,
236*2d1272b8SAndroid Build Coastguard Worker Marchen, Masaram Gondi, Medefaidrin, Meetei Mayek, Miao, Modi,
237*2d1272b8SAndroid Build Coastguard Worker</td></tr>
238*2d1272b8SAndroid Build Coastguard Worker	<tr><td align="left">
239*2d1272b8SAndroid Build Coastguard WorkerMongolian, Multani, Nandinagari, Newa, Nko, Nyiakeng Puachue Hmong,
240*2d1272b8SAndroid Build Coastguard Worker Old Sogdian, Pahawh Hmong, Phags Pa, Psalter Pahlavi, Rejang,
241*2d1272b8SAndroid Build Coastguard Worker</td></tr>
242*2d1272b8SAndroid Build Coastguard Worker	<tr><td align="left">
243*2d1272b8SAndroid Build Coastguard WorkerSaurashtra, Sharada, Siddham, Sinhala, Sogdian, Soyombo, Sundanese,
244*2d1272b8SAndroid Build Coastguard Worker Syloti Nagri, Tagalog, Tagbanwa, Tai Le, Tai Tham, Tai Viet,
245*2d1272b8SAndroid Build Coastguard Worker</td></tr>
246*2d1272b8SAndroid Build Coastguard Worker	<tr><td align="left">
247*2d1272b8SAndroid Build Coastguard WorkerTakri, Tibetan, Tifinagh, Tirhuta, Wancho, Zanabazar square,
248*2d1272b8SAndroid Build Coastguard Worker</td></tr>
249*2d1272b8SAndroid Build Coastguard Worker
250*2d1272b8SAndroid Build Coastguard Worker</table>>]
251*2d1272b8SAndroid Build Coastguard Worker
252*2d1272b8SAndroid Build Coastguard Worker
253*2d1272b8SAndroid Build Coastguard Worker	footnote[fontname="Verdana",label=<<table border="0" cellborder="0" cellspacing="0">
254*2d1272b8SAndroid Build Coastguard Worker		<tr><td align="left">† Feature is scoped to each syllable</td></tr>
255*2d1272b8SAndroid Build Coastguard Worker		<tr><td align="left">‡ All topographic features are scoped based on topographic position</td></tr>
256*2d1272b8SAndroid Build Coastguard Worker		</table>>];
257*2d1272b8SAndroid Build Coastguard Worker	notes3->footnote[style=invis];
258*2d1272b8SAndroid Build Coastguard Worker
259*2d1272b8SAndroid Build Coastguard Worker}
260