strict digraph luaotfload_files { //looks weird with circo ... compound = true; // label = "Schematic of the files included in Luaotfload."; // labelloc = "b"; fontsize = "14.4"; labelfontname = "Iwona Medium Regular"; fontname = "Iwona Light Regular"; size = "21cm"; rankdir = LR; ranksep = 0.618; nodesep = 1.618; edge [ arrowhead = onormal, fontname = "Iwona Cond Regular", penwidth = 1.0, ]; node [ //penwidth = 0.7, fontname = "Liberation Mono", fontsize = 12, ]; /* ···································································· * file structure * ································································· */ fontdbutil -> font_names [label="--update", style=dashed] luaotfload -> otfl_fonts_merged [label="merged"] luaotfload -> merged_lua_libs [label="unmerged", style=solid] luaotfload -> merged_luatex_fonts [label="unmerged", style=solid] luaotfload -> merged_context_libs [label="unmerged", style=solid] luaotfload -> luaotfload_libs luaotfload -> otfl_blacklist_cnf otfl_fonts_merged -> merged_lua_libs [label="merged", style=dotted, lhead=cluster_merged] otfl_fonts_merged -> merged_luatex_fonts [label="merged", style=dotted, lhead=cluster_merged] otfl_fonts_merged -> merged_context_libs [label="merged", style=dotted, lhead=cluster_merged] merged_luatex_fonts -> font_age [label="luatex-fonts-enc.lua", ltail=cluster_merged] fontdbutil -> fontdbutil_diagnostics [label="--diagnose"] fontdbutil -> status [label="version information"] fontdbutil_diagnostics -> status [constraint=no, label="hash files"] merged_luatex_fonts -> characters [label="luaotfload-auxiliary.lua", ltail=cluster_merged] luaotfload_libs -> font_names [label="luaotfload-database.lua"] mkstatus -> status [label="generates from distribution files", style=dashed] mkglyphlist -> font_age [label="generates from glyphlist.txt", style=dashed] mkcharacters -> characters [label="generates from Context’s char-def.lua", style=dashed] subgraph { rank = same; mkcharacters; mkglyphlist; mkstatus; fontdbutil; luaotfload } /* ···································································· * main files * ································································· */ fontdbutil [label = "luaotfload-tool.lua", shape = rect, width = "3.2cm", height = "1.2cm", color = "#01012222", style = "filled,rounded", penwidth=2] fontdbutil_diagnostics [label = "luaotfload-diagnostics.lua", shape = rect, width = "3.2cm", height = "1.2cm", color = "#01012222", style = "filled,rounded", penwidth=2] mkstatus [label = "mkstatus", shape = rect, width = "3.2cm", height = "1.2cm", color = "#01012222", style = "filled,rounded", penwidth=2] mkglyphlist [label = "mkglyphlist", shape = rect, width = "3.2cm", height = "1.2cm", color = "#01012222", style = "filled,rounded", penwidth=2] mkcharacters [label = "mkcharacters", shape = rect, width = "3.2cm", height = "1.2cm", color = "#01012222", style = "filled,rounded", penwidth=2] luaotfload [label = "luaotfload-main.lua", shape = rect, width = "3.2cm", height = "1.2cm", color = "#01012222", style = "filled,rounded", penwidth=2] /* *otfl_fonts [label = "luaotfload-fonts.lua", * shape = rect, * width = "3.2cm", * height = "1.2cm", * color = "#01012222", * style = "filled,rounded", * penwidth=2] */ otfl_fonts_merged [label = "luaotfload-fontloader.lua", shape = rect, width = "3.2cm", height = "1.2cm", color = "#01012222", style = "filled,rounded", penwidth=2] /* ···································································· * luaotfload files * ································································· */ characters [style = "filled,dashed", shape = rect, width = "3.2cm", fillcolor = "#01012222", color = grey40, style = "filled,dotted,rounded", label = "luaotfload-characters.lua"] font_age [style = "filled,dashed", shape = rect, width = "3.2cm", fillcolor = "#01012222", color = grey40, style = "filled,dotted,rounded", label = "luaotfload-glyphlist.lua"] font_names [style = "filled,dashed", shape = rect, width = "3.2cm", fillcolor = "#01012222", color = grey40, style = "filled,dotted,rounded", label = "luaotfload-names.lua.gz\nluaotfload-names.luc"] status [style = "filled,dashed", shape = rect, width = "3.2cm", fillcolor = "#01012222", color = grey40, style = "filled,dotted,rounded", label = "luaotfload-status.lua"] otfl_blacklist_cnf [style = "filled,dashed", shape = rect, width = "3.2cm", fillcolor = "#01012222", color = grey40, style = "filled,dotted,rounded", label = "luaotfload-blacklist.cnf"] luaotfload_libs [ shape = box, style = "filled,rounded", color = "grey90:goldenrod4", fontsize = 10, label = < <table cellborder="0" bgcolor="#FFFFFFAA"> <th> <td colspan="2"> <font point-size="12" face="Iwona Italic">Luaotfload Libraries</font> </td> </th> <tr> <td>luaotfload-auxiliary.lua</td> <td>luaotfload-features.lua</td> </tr> <tr> <td>luaotfload-loaders.lua</td> <td>luaotfload-color.lua</td> </tr> <tr> <td>luaotfload-log.lua</td> <td>luaotfload-letterspace.lua</td> </tr> <tr> <td>luaotfload-parsers.lua</td> <td>luaotfload-database.lua</td> </tr> </table> >, ] /* ···································································· * merged files * ································································· */ subgraph cluster_merged { node [style=filled, color=white]; style = "filled,rounded"; color = "grey90:dodgerblue4"; //nodesep = "3.0"; rank = same; label = "Merged Libraries"; gradientangle=0; merged_lua_libs; merged_luatex_fonts; merged_context_libs; } otfl_fonts_merged -> merged_lua_libs otfl_fonts_merged -> merged_luatex_fonts otfl_fonts_merged -> merged_context_libs merged_lua_libs [ shape = box, style = "filled,rounded", color = "#FFFFFFAA", fontsize = 10, label = < <table border="0"> <th> <td colspan="3"> <font point-size="12" face="Iwona Italic">Lua Libraries from Context</font> </td> </th> <tr> <td>l-lua.lua</td> <td>l-lpeg.lua</td> <td>l-function.lua</td> </tr> <tr> <td>l-string.lua</td> <td>l-table.lua</td> <td>l-io.lua</td> </tr> <tr> <td>l-file.lua</td> <td>l-boolean.lua</td> <td>l-math.lua</td> </tr> <tr> <td>util-str.lua</td> </tr> </table> >, ] merged_luatex_fonts [ shape = box, style = "filled,rounded", color = "#FFFFFFAA", fontsize = 10, label = < <table border="0"> <th> <td colspan="2"> <font point-size="12" face="Iwona Italic">Font Loader (LuaTeX-Fonts)</font> </td> </th> <tr> <td>luatex-basics-gen.lua</td> <td>luatex-basics-nod.lua</td> </tr> <tr> <td>luatex-fonts-enc.lua</td> <td>luatex-fonts-syn.lua</td> </tr> <tr> <td>luatex-font-tfm.lua</td> <td>luatex-font-afm.lua</td> </tr> <tr> <td>luatex-font-afk.lua</td> <td>luatex-fonts-tfm.lua</td> </tr> <tr> <td>luatex-fonts-chr.lua</td> <td>luatex-fonts-lua.lua</td> </tr> <tr> <td>luatex-fonts-inj.lua</td> <td>luatex-fonts-otn.lua</td> </tr> <tr> <td>luatex-fonts-def.lua</td> <td>luatex-fonts-ext.lua</td> </tr> <tr> <td>luatex-fonts-cbk.lua</td> </tr> </table> >, ] merged_context_libs [ shape = box, style = "filled,rounded", color = "#FFFFFFAA", fontsize = 10, label = < <table border="0"> <th> <td colspan="3"> <font point-size="12" face="Iwona Italic"> Font and Node Libraries from Context </font> </td> </th> <tr> <td>data-con.lua</td> <td>font-ini.lua</td> <td>font-con.lua</td> </tr> <tr> <td>font-cid.lua</td> <td>font-map.lua</td> <td>font-oti.lua</td> </tr> <tr> <td>font-otf.lua</td> <td>font-otb.lua</td> <td>font-ota.lua</td> </tr> <tr> <td>font-def.lua</td> </tr> </table> >, ] } // vim:ft=dot:sw=4:ts=4:expandtab