summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Gesang <phg42.2a@gmail.com>2013-04-17 19:31:36 +0200
committerPhilipp Gesang <phg42.2a@gmail.com>2013-04-17 19:31:36 +0200
commitaab09dff0183a5ce7e58a43b449d422ae9c42004 (patch)
treef7c7988752c5b29a0dce4aaffb59b5f6a1ed9dfe
parentac2b107faa5ca91292a3c63fd8b15ca16b817f70 (diff)
downloadluaotfload-aab09dff0183a5ce7e58a43b449d422ae9c42004.tar.gz
add graph of included files
-rw-r--r--Makefile22
-rw-r--r--filegraph.dot199
2 files changed, 215 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index 69c5ede..6606861 100644
--- a/Makefile
+++ b/Makefile
@@ -1,15 +1,20 @@
# Makefile for luaotfload
-NAME = luaotfload
-DOC = $(NAME).pdf
-DTX = $(NAME).dtx
-OTFL = $(wildcard otfl-*.lua) otfl-blacklist.cnf font-age.lua
+NAME = luaotfload
+DOC = $(NAME).pdf
+DTX = $(NAME).dtx
+OTFL = $(wildcard otfl-*.lua) otfl-blacklist.cnf font-age.lua
SCRIPT = mkluatexfontdb.lua
+GRAPH = filegraph
+DOTPDF = $(GRAPH).pdf
+DOT = $(GRAPH).dot
+
# Files grouped by generation mode
+GRAPHED = $(DOTPDF)
COMPILED = $(DOC)
UNPACKED = luaotfload.sty luaotfload.lua
-GENERATED = $(COMPILED) $(UNPACKED)
+GENERATED = $(GRAPHED) $(COMPILED) $(UNPACKED)
SOURCE = $(DTX) $(OTFL) README Makefile NEWS $(SCRIPT)
# test files
@@ -43,14 +48,19 @@ ZIPS = $(CTAN_ZIP) $(TDS_ZIP)
DO_TEX = tex --interaction=batchmode $< >/dev/null
DO_LATEX = latexmk -pdf -pdflatex=lualatex -silent $< >/dev/null
+DO_GRAPHVIZ = dot -Tpdf -o $@ $< > /dev/null
all: $(GENERATED)
-doc: $(COMPILED)
+graph: $(GRAPHED)
+doc: $(GRAPHED) $(COMPILED)
unpack: $(UNPACKED)
ctan: check $(CTAN_ZIP)
tds: $(TDS_ZIP)
world: all ctan
+$(GRAPHED): $(DOT)
+ $(DO_GRAPHVIZ)
+
$(COMPILED): $(DTX)
$(DO_LATEX)
diff --git a/filegraph.dot b/filegraph.dot
new file mode 100644
index 0000000..b86568b
--- /dev/null
+++ b/filegraph.dot
@@ -0,0 +1,199 @@
+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
+ * ································································· */
+ luaotfload -> otfl_fonts
+ otfl_fonts -> otfl_fonts_merged [label="merged"]
+ 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]
+
+ otfl_fonts -> merged_lua_libs [label="unmerged", style=solid]
+ otfl_fonts -> merged_luatex_fonts [label="unmerged", style=solid]
+ otfl_fonts -> merged_context_libs [label="unmerged", style=solid]
+
+
+/* ····································································
+ * main files
+ * ································································· */
+
+ luaotfload [label = "luaotfload.lua",
+ shape = rect,
+ width = "3.2cm",
+ height = "1.2cm",
+ color = "#01012222",
+ style = "filled,rounded",
+ penwidth=2]
+ otfl_fonts [label = "otfl-fonts.lua",
+ shape = rect,
+ width = "3.2cm",
+ height = "1.2cm",
+ color = "#01012222",
+ style = "filled,rounded",
+ penwidth=2]
+ otfl_fonts_merged [label = "otfl-fonts-merged.lua",
+ shape = rect,
+ width = "3.2cm",
+ height = "1.2cm",
+ color = "#01012222",
+ style = "filled,rounded",
+ penwidth=2]
+
+/* ····································································
+ * luaotfload files
+ * ································································· */
+
+/*
+ * subgraph cluster_luaotfload_libs {
+ * style = "filled,rounded";
+ * color = "grey90:goldenrod4";
+ * gradientangle=0;
+ * //nodesep = "3.0";
+ * rank = same;
+ * label = "Luaotfload";
+ * otfl_font_otc; otfl_lib_dir; otfl_luat_ovr;
+ * otfl_font_pfb; otfl_font_nms; otfl_font_clr;
+ * otfl_font_ltx; otfl_features; otfl_blacklist_cnf;
+ * }
+ *
+ * otfl_font_otc [style=filled, color=white, shape=box, label="otfl-font-otc.lua"]
+ * otfl_lib_dir [style=filled, color=white, shape=box, label="otfl-lib-dir.lua"]
+ * otfl_luat_ovr [style=filled, color=white, shape=box, label="otfl-luat-ovr.lua"]
+ * otfl_font_pfb [style=filled, color=white, shape=box, label="otfl-font-pfb.lua"]
+ * otfl_font_nms [style=filled, color=white, shape=box, label="otfl-font-nms.lua"]
+ * otfl_font_clr [style=filled, color=white, shape=box, label="otfl-font-clr.lua"]
+ * otfl_font_ltx [style=filled, color=white, shape=box, label="otfl-font-ltx.lua"]
+ * otfl_features [style=filled, color=white, shape=box, label="otfl-features.lua"]
+ */
+
+ otfl_blacklist_cnf [style = "filled,dashed",
+ shape = rect,
+ width = "3.2cm",
+ fillcolor = "#01012222",
+ color = grey40,
+ style = "filled,dotted,rounded",
+ label = "otfl-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>otfl-font-otc.lua</td> <td>otfl-lib-dir.lua</td> </tr>
+ <tr> <td>otfl-luat-ovr.lua</td> <td>otfl-font-pfb.lua</td> </tr>
+ <tr> <td>otfl-font-nms.lua</td> <td>otfl-font-clr.lua</td> </tr>
+ <tr> <td>otfl-font-ltx.lua</td> <td>otfl-features.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-fonts-tfm.lua</td> <td>luatex-fonts-chr.lua</td> </tr>
+ <tr> <td>luatex-fonts-lua.lua</td> <td>luatex-fonts-def.lua</td> </tr>
+ <tr> <td>luatex-fonts-ext.lua</td> <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>node-inj.lua</td> </tr>
+ <tr> <td>font-ota.lua</td> <td>font-otn.lua</td> <td>font-def.lua</td> </tr>
+ </table>
+ >,
+ ]
+}
+
+/* vim:ft=dot:sw=4:ts=4:expandtab */