parent
9e59c401e0
commit
91e2f3b92a
1 changed files with 208 additions and 0 deletions
@ -0,0 +1,208 @@ |
|||||||
|
digraph { |
||||||
|
graph [outputorder=edgefirst]; |
||||||
|
node [shape="record", fontname="Courier-Bold", fontsize=15]; |
||||||
|
edge [fontname="Verdana", fontsize=12,labeldistance=7.5 ]; |
||||||
|
fontname="Verdana"; |
||||||
|
ranksep=0.02; nodesep=0.5; |
||||||
|
|
||||||
|
subgraph { |
||||||
|
ranksep="0.02 equally"; |
||||||
|
preprocessing[style=filled,fillcolor="lightgreen",fontname="Verdana",label="Glyph pre-processing"]; |
||||||
|
orthographic[style=filled,fillcolor="lightblue",fontname="Verdana",label="Orthographic Unit Shaping"]; |
||||||
|
reordering[style=filled, fillcolor="lightcoral",fontname="Verdana",label="Reordering group (USE)"]; |
||||||
|
topographic[style=filled,fillcolor="lightgoldenrod",fontname="Verdana",label="Topographical Features"]; |
||||||
|
typographic[style=filled,fillcolor="lightpink",fontname="Verdana",label="Typographic Presentation"]; |
||||||
|
positioning[style=filled,fillcolor="lightsalmon",fontname="Verdana",label="Positioning"]; |
||||||
|
preprocessing->reordering->orthographic->topographic->typographic->positioning; |
||||||
|
} |
||||||
|
|
||||||
|
decision1 [shape="diamond", label="Script\ndirection?",fontname="Verdana"]; |
||||||
|
rvrn->decision1; |
||||||
|
|
||||||
|
ltrfeatures [label="{ltra|ltrm}", fillcolor="lightgreen",style="filled"]; |
||||||
|
rtlfeatures [label="{rtla|rtlm}", fillcolor="lightgreen",style="filled"]; |
||||||
|
fracfeatures [label="frac|numr|dnom", fillcolor="lightpink",style="filled"]; |
||||||
|
rand [fillcolor="lightpink",style="filled"]; |
||||||
|
|
||||||
|
decision1 -> ltrfeatures [label="Left-to-right"]; |
||||||
|
decision1 -> rtlfeatures [label="Right-to-left"]; |
||||||
|
|
||||||
|
decision1 -> fracfeatures [label="Other"]; |
||||||
|
|
||||||
|
ltrfeatures -> fracfeatures; |
||||||
|
rtlfeatures -> fracfeatures; |
||||||
|
fracfeatures->rand; |
||||||
|
|
||||||
|
decision2 [shape="diamond", label="Script?",fontname="Verdana"]; |
||||||
|
|
||||||
|
{rank=same; HARF; notes;} |
||||||
|
rand -> trak -> HARF -> decision2; |
||||||
|
|
||||||
|
commonfeatures [shape=none,label=<<table border="0" cellspacing="0"> |
||||||
|
<tr> |
||||||
|
<td border="1" bgcolor="lightsalmon">abvm</td> |
||||||
|
<td border="1" bgcolor="lightsalmon">blwm</td> |
||||||
|
<td border="1" bgcolor="lightgreen">ccmp</td> |
||||||
|
<td border="1" bgcolor="lightgreen">locl</td> |
||||||
|
<td border="1" bgcolor="lightsalmon">mark</td> |
||||||
|
<td border="1" bgcolor="lightsalmon">mkmk</td> |
||||||
|
<td border="1" bgcolor="lightpink">rlig</td> |
||||||
|
</tr> |
||||||
|
</table>> |
||||||
|
]; |
||||||
|
decision3 [shape="diamond", label="Script\ndirection?",fontname="Verdana"]; |
||||||
|
BUZZ -> commonfeatures -> decision3; |
||||||
|
|
||||||
|
horizontalfeatures [ |
||||||
|
shape=none,label=<<table border="0" cellspacing="0"> |
||||||
|
<tr><td border="1" bgcolor="lightpink">calt <font face="Verdana">(not Hangul)</font></td></tr> |
||||||
|
<tr><td border="1" bgcolor="lightpink">clig <font face="Verdana">(not Khmer)</font></td></tr> |
||||||
|
<tr><td border="1" bgcolor="lightsalmon">curs</td></tr> |
||||||
|
<tr><td border="1" bgcolor="lightsalmon">dist</td></tr> |
||||||
|
<tr><td border="1" bgcolor="lightsalmon">kern</td></tr> |
||||||
|
<tr><td border="1" bgcolor="lightpink">liga <font face="Verdana">(not Khmer)</font></td></tr> |
||||||
|
<tr><td border="1" bgcolor="lightpink">rclt</td></tr> |
||||||
|
</table>> |
||||||
|
]; |
||||||
|
vert [label="vert",style=filled,fillcolor="lightpink"]; |
||||||
|
|
||||||
|
decision3 -> horizontalfeatures [label="Horizontal"]; |
||||||
|
decision3 -> vert [label="Vertical"]; |
||||||
|
|
||||||
|
discretionary [label="User-selected\ndiscretionary\nfeatures",fontname="Verdana"]; |
||||||
|
|
||||||
|
horizontalfeatures -> discretionary; |
||||||
|
vert -> discretionary; |
||||||
|
|
||||||
|
decision2->stch; |
||||||
|
|
||||||
|
BUZZ; |
||||||
|
|
||||||
|
subgraph complexshapers { |
||||||
|
subgraph cluster_arabic { |
||||||
|
bgcolor="lightyellow" |
||||||
|
label="Arabic, Syriac"; |
||||||
|
stch [ style="filled", fillcolor="lightgreen",label="ccmp|locl"]; |
||||||
|
ccmplocl [ style="filled", label="ccmp|locl", fillcolor="lightgreen"]; |
||||||
|
arabicfeatures [label="isol|fina|fin2|fin3|medi|med2|init", style="filled", fillcolor="lightgoldenrod"]; |
||||||
|
arabicfeatures2 [label="rclt|calt", style="filled",fillcolor="lightpink"]; |
||||||
|
rlig[style="filled",fillcolor="lightpink"]; |
||||||
|
mset [fillcolor="lightpink",style="filled"] |
||||||
|
stch->ccmplocl->arabicfeatures->rlig->arabicfeatures2->mset; |
||||||
|
} |
||||||
|
mset->BUZZ:n; |
||||||
|
|
||||||
|
subgraph cluster_hangul { |
||||||
|
bgcolor="lightyellow" |
||||||
|
label="Hangul"; |
||||||
|
hangulfeatures [label="ljmo|vjmo|tjmo", style="filled",fillcolor="lightblue"] |
||||||
|
} |
||||||
|
hangulfeatures->BUZZ:n; |
||||||
|
|
||||||
|
subgraph cluster_indic { |
||||||
|
label="Indic"; |
||||||
|
bgcolor="lightyellow" |
||||||
|
// Preprocessing |
||||||
|
loclccmpindic [label="locl|ccmp",style=filled,fillcolor="lightgreen"]; |
||||||
|
node[style=filled,fillcolor="lightgreen"]; |
||||||
|
loclccmpindic->indic_reorder_1->nukt->akhn; |
||||||
|
indic_reorder_1[label="Initial reordering", fontname="Verdana",fillcolor="lightgrey",shape=ellipse,style=filled] |
||||||
|
|
||||||
|
// Orthographic |
||||||
|
node[style=filled,fillcolor="lightblue"] |
||||||
|
akhn ->rphf -> rkpf -> pref -> blwf -> abvf -> half -> pstf -> vatu -> cjct; |
||||||
|
// Typographic presentation |
||||||
|
indic_typographic[style=filled,fillcolor="lightpink",label="init|pres|abvs|blws|psts|haln"] |
||||||
|
indic_reorder_2[label="Final reordering",fillcolor="lightgrey",fontname="Verdana", shape=ellipse,style=filled] |
||||||
|
cjct->indic_reorder_2->indic_typographic; |
||||||
|
} |
||||||
|
|
||||||
|
subgraph cluster_khmer { |
||||||
|
label="Khmer"; |
||||||
|
bgcolor="lightyellow" |
||||||
|
|
||||||
|
khmerbasic [style=filled,fillcolor="lightgreen",label="locl|ccmp|pref|bwlf|abvf|pstf|cfar"] |
||||||
|
khmerother [style=filled,fillcolor="lightpink",label="pres|abvs|blws|psts"] |
||||||
|
khmerbasic -> khmerother -> khmerclig; |
||||||
|
khmerclig [label="clig",style=filled,fillcolor="lightpink"]; |
||||||
|
} |
||||||
|
|
||||||
|
subgraph cluster_myanmar { |
||||||
|
label="Myanmar"; |
||||||
|
bgcolor="lightyellow" |
||||||
|
loclccmpmyanmar [label="locl|ccmp",style=filled,fillcolor="lightgreen"]; |
||||||
|
rphfmymr [label="rphf",style=filled,fillcolor="lightblue"] |
||||||
|
prefmymr [label="pref",style=filled,fillcolor="lightblue"] |
||||||
|
blwfmymr [label="blwf",style=filled,fillcolor="lightblue"] |
||||||
|
pstfmymr [label="pstf",style=filled,fillcolor="lightblue"] |
||||||
|
myanmarother [label="pres|abvs|blws|psts",style=filled,fillcolor="lightpink"]; |
||||||
|
reorder_myanmar[label="Reordering", shape=ellipse,style=filled,fontname="Verdana"] |
||||||
|
loclccmpmyanmar -> reorder_myanmar-> rphfmymr -> prefmymr -> blwfmymr -> pstfmymr -> myanmarother; |
||||||
|
} |
||||||
|
|
||||||
|
subgraph cluster_use { |
||||||
|
label="Universal Shaping Engine" |
||||||
|
bgcolor="lightyellow" |
||||||
|
use_preprocessing [style=filled, label="locl|ccmp|nukt|akhn", fillcolor="lightgreen"]; |
||||||
|
// Reoredering |
||||||
|
rphfuse [label="rphf", style=filled, fillcolor="lightcoral"]; |
||||||
|
prefuse [label="pref", style=filled, fillcolor="lightcoral"]; |
||||||
|
// Orthographic |
||||||
|
orthographicuse [label="rkrf|abvf|blwf|half|pstf|vatu|cjct", style="filled", fillcolor="lightblue"]; |
||||||
|
topographicaluse [label="isol|init|medi|fina", style="filled", fillcolor="lightgoldenrod"]; |
||||||
|
typographicaluse [label="abvs|blws|haln|pres|psts", style="filled", fillcolor="lightpink"]; |
||||||
|
reorder_use[label="Reordering", shape=ellipse,style=filled,fontname="Verdana"] |
||||||
|
use_preprocessing -> rphfuse -> prefuse->orthographicuse ->reorder_use -> topographicaluse -> typographicaluse; |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
indic_typographic->BUZZ:n; |
||||||
|
typographicaluse->BUZZ:n; |
||||||
|
khmerclig -> BUZZ:n; |
||||||
|
myanmarother -> BUZZ:n; |
||||||
|
|
||||||
|
|
||||||
|
decision2->hangulfeatures; |
||||||
|
decision2->loclccmpindic; |
||||||
|
decision2->khmerbasic; |
||||||
|
decision2->loclccmpmyanmar; |
||||||
|
decision2->use_preprocessing; |
||||||
|
decision2->BUZZ [label=" Hebrew, Thai,\n Lao, other"]; |
||||||
|
|
||||||
|
|
||||||
|
notes [fontname="Verdana",shape=box,label=<<table border="0" cellborder="0" cellspacing="0"> |
||||||
|
<tr><td align="left"> |
||||||
|
<b>Indic</b> scripts are: Bengali, Devanagari, |
||||||
|
Gujarati, Gurmukhi, Kannada, |
||||||
|
Malayalam, Oriya, Tamil, |
||||||
|
Telugu, Sinhala |
||||||
|
</td></tr> |
||||||
|
|
||||||
|
<tr><td align="left"> |
||||||
|
<b>USE</b> scripts are: |
||||||
|
Adlam, Ahom, Balinese, Batak, Bhaiksuki, Brahmi, Buginese, |
||||||
|
Buhid, Chakma, Cham, Chorasmian, Dives Akuru, Dogra, Duployan, |
||||||
|
</td></tr> |
||||||
|
<tr><td align="left"> |
||||||
|
Egyptian hieroglyphs, Elymaic, Grantha, Gunjala Ggondi, Hanifi Rohingya, |
||||||
|
Hanunoo, Javanese, Kaithi, Kayah li, Kharoshthi, Khojki, |
||||||
|
</td></tr> |
||||||
|
<tr><td align="left"> |
||||||
|
Khudawadi, Lepcha, Limbu, Mahajani, Makasar, Mandaic, Manichaean, |
||||||
|
Marchen, Masaram Gondi, Medefaidrin, Meetei Mayek, Miao, Modi, |
||||||
|
</td></tr> |
||||||
|
<tr><td align="left"> |
||||||
|
Mongolian, Multani, Nandinagari, Newa, Nko, Nyiakeng Puachue Hmong, |
||||||
|
Old Sogdian, Pahawh Hmong, Phags Pa, Psalter Pahlavi, Rejang, |
||||||
|
</td></tr> |
||||||
|
<tr><td align="left"> |
||||||
|
Saurashtra, Sharada, Siddham, Sogdian, Soyombo, Sundanese, |
||||||
|
Syloti Nagri, Tagalog, Tagbanwa, Tai Le, Tai Tham, Tai Viet, |
||||||
|
</td></tr> |
||||||
|
<tr><td align="left"> |
||||||
|
Takri, Tibetan, Tifinagh, Tirhuta, Wancho, Zanabazar square, |
||||||
|
</td></tr> |
||||||
|
|
||||||
|
</table>>] |
||||||
|
} |
Loading…
Reference in new issue