diff --git a/docs/features.dot b/docs/features.dot
new file mode 100644
index 000000000..2d4eab7ec
--- /dev/null
+++ b/docs/features.dot
@@ -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=<
+
+Indic scripts are: Bengali, Devanagari,
+ Gujarati, Gurmukhi, Kannada,
+ Malayalam, Oriya, Tamil,
+ Telugu, Sinhala
+ |
+
+
+USE scripts are:
+ Adlam, Ahom, Balinese, Batak, Bhaiksuki, Brahmi, Buginese,
+ Buhid, Chakma, Cham, Chorasmian, Dives Akuru, Dogra, Duployan,
+ |
+
+Egyptian hieroglyphs, Elymaic, Grantha, Gunjala Ggondi, Hanifi Rohingya,
+ Hanunoo, Javanese, Kaithi, Kayah li, Kharoshthi, Khojki,
+ |
+
+Khudawadi, Lepcha, Limbu, Mahajani, Makasar, Mandaic, Manichaean,
+ Marchen, Masaram Gondi, Medefaidrin, Meetei Mayek, Miao, Modi,
+ |
+
+Mongolian, Multani, Nandinagari, Newa, Nko, Nyiakeng Puachue Hmong,
+ Old Sogdian, Pahawh Hmong, Phags Pa, Psalter Pahlavi, Rejang,
+ |
+
+Saurashtra, Sharada, Siddham, Sogdian, Soyombo, Sundanese,
+ Syloti Nagri, Tagalog, Tagbanwa, Tai Le, Tai Tham, Tai Viet,
+ |
+
+Takri, Tibetan, Tifinagh, Tirhuta, Wancho, Zanabazar square,
+ |
+
+
>]
+}