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 -> merged_lua_libs [style=solid] luaotfload -> luaotfload_init [label="main()", style=solid] luaotfload -> luaotfload_libs [label="main()", style=solid] fontloader -> merged_luatex_fonts [label="merged", style=dotted, lhead=cluster_merged] fontloader -> merged_context_libs [label="merged", style=dotted, lhead=cluster_merged] luaotfload_init -> luaotfload_log [label="init_early()", style=solid] luaotfload_init -> luaotfload_basics_gen [label="init_early()", style=solid] luaotfload_init -> fontloader [label="init_main()", style=solid] luaotfload_init -> merged_luatex_fonts [label="unmerged", style=solid] luaotfload_init -> merged_context_libs [label="unmerged", style=solid] merged_luatex_fonts -> font_age [label="luatex-fonts-enc.lua", ltail=cluster_merged] fontdbutil -> fontdbutil_diagnostics [label="--diagnose"] fontdbutil -> status [label="version information"] mkimport -> fontloader [label="merges", style=dashed] merged_luatex_fonts -> characters [label="luaotfload-auxiliary.lua", ltail=cluster_merged] luaotfload_libs -> font_names [label="luaotfload-database.lua"] luaotfload_libs -> otfl_blacklist_cnf [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] fontdbutil_diagnostics -> status [label="hash files"] mkimport -> merged_luatex_fonts [label="pulls", style=dashed, constraint=no]; mkimport -> merged_context_libs [label="pulls", style=dashed, constraint=no]; subgraph { rank = same; fontdbutil; luaotfload } subgraph cluster_scripts { node [style=filled, color=white]; style = "filled,rounded"; color = "#44000011:#CCCCCC77"; //nodesep = "3.0"; rank = same; label = "Standalone scripts"; gradientangle=90; mkcharacters; mkglyphlist; mkimport; mktest; mkstatus; } /* ···································································· * 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] mktest [label = "mktest", shape = rect, width = "3.2cm", height = "0.618cm", color = "#FFFFFF66", style = "filled,rounded", penwidth=2] mkimport [label = "mkimport", shape = rect, width = "3.2cm", height = "0.618cm", color = "#FFFFFF66", style = "filled,rounded", penwidth=2] mkstatus [label = "mkstatus", shape = rect, width = "3.2cm", height = "0.618cm", color = "#FFFFFF66", style = "filled,rounded", penwidth=2] mkglyphlist [label = "mkglyphlist", shape = rect, width = "3.2cm", height = "0.618cm", color = "#FFFFFF66", style = "filled,rounded", penwidth=2] mkcharacters [label = "mkcharacters", shape = rect, width = "3.2cm", height = "0.618cm", color = "#FFFFFF66", 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] */ luaotfload_init [label = "luaotfload-init.lua", shape = rect, width = "3.2cm", height = "1.2cm", color = "#44440122", style = "filled,rounded", penwidth=2] luaotfload_log [label = "luaotfload-log.lua", shape = rect, width = "3.2cm", height = "1.2cm", color = "#44440122", style = "filled,rounded", penwidth=2] luaotfload_basics_gen [label = "fontloader-basics-gen.lua", shape = rect, width = "3.2cm", height = "1.2cm", color = "#FFFFFF66", style = "filled,rounded", penwidth=2] fontloader [label = "fontloader-YY-MM-DD.lua", shape = rect, width = "3.2cm", height = "1.2cm", color = "#FFFFFF66", 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", fontsize = 10, label = <
Luaotfload Libraries
luaotfload-auxiliary.lua luaotfload-features.lua
luaotfload-loaders.lua luaotfload-colors.lua
luaotfload-resolvers.lua luaotfload-letterspace.lua
luaotfload-parsers.lua luaotfload-database.lua
luaotfload-configuration.lua
>, ] /* ···································································· * merged files * ································································· */ subgraph cluster_merged { node [style=filled, color=white]; style = "filled,rounded"; color = "#912CEE33"; //nodesep = "3.0"; rank = same; label = "Merged Libraries"; gradientangle=0; merged_luatex_fonts; merged_context_libs; } fontloader -> merged_luatex_fonts fontloader -> merged_context_libs subgraph cluster_fontloader { node [style=filled, color=white]; style = "filled,rounded"; color = "bisque"; //nodesep = "3.0"; rank = same; label = "Fontloader"; gradientangle=0; luaotfload_basics_gen; fontloader; } merged_lua_libs [ shape = box, style = "filled,rounded", color = "#CCCC1166", fontsize = 10, fontsize = 10, label = <
Lualibs – Lua Libraries from Context
l-lua.lua l-lpeg.lua l-function.lua
l-string.lua l-table.lua l-io.lua
l-file.lua l-boolean.lua l-math.lua
util-str.lua util-fil.lua
>, ] merged_luatex_fonts [ shape = box, style = "filled,rounded", color = "#FFFFFFAA", fontsize = 10, label = <
Font Loader (LuaTeX-Fonts)
luatex-basics-nod.lua luatex-basics-chr.lua
luatex-fonts-enc.lua luatex-fonts-syn.lua
luatex-fonts-ext.lua
>, ] merged_context_libs [ shape = box, style = "filled,rounded", color = "#FFFFFFAA", fontsize = 10, label = <
Font and Node Libraries from Context
data-con.lua font-ini.lua font-con.lua
font-cid.lua font-map.lua font-tfm.lua
font-afm.lua font-afk.lua font-oti.lua
font-otr.lua font-cff.lua font-ttf.lua
font-dsp.lua font-oup.lua font-otl.lua
font-oto.lua font-otj.lua font-ota.lua
font-ots.lua font-osd.lua font-lua.lua
font-def.lua font-xtx.lua font-gbn.lua
>, ] } // vim:ft=dot:sw=4:ts=4:expandtab