diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | Makefile | 148 | ||||
| -rw-r--r-- | doc/Makefile | 47 | ||||
| -rw-r--r-- | doc/filegraph.dot (renamed from filegraph.dot) | 0 | ||||
| -rw-r--r-- | doc/luaotfload-tool.rst (renamed from luaotfload-tool.rst) | 0 | ||||
| -rw-r--r-- | doc/luaotfload.dtx (renamed from luaotfload.dtx) | 37 | ||||
| -rw-r--r-- | luaotfload-parsers.lua | 2 | ||||
| -rw-r--r-- | luaotfload.sty | 45 | 
8 files changed, 173 insertions, 107 deletions
@@ -19,7 +19,6 @@ luaotfload/*  # Files generated by 'make world' and removed by 'make mrproper'  luaotfload.pdf -luaotfload.sty  luaotfload.tds.zip  luaotfload.zip @@ -1,82 +1,71 @@  # Makefile for luaotfload -NAME         = luaotfload -DOC          = $(NAME).pdf -DTX          = $(NAME).dtx -OTFL         = $(wildcard luaotfload-*.lua) luaotfload-blacklist.cnf +NAME		= luaotfload +LUAOTFLOAD	= $(wildcard luaotfload-*.lua) luaotfload-blacklist.cnf -GLYPHSCRIPT  = mkglyphlist -GLYPHSOURCE  = glyphlist.txt -CHARSCRIPT   = mkcharacters -STATUSSCRIPT = mkstatus +GLYPHSCRIPT	= mkglyphlist +GLYPHSOURCE	= glyphlist.txt +CHARSCRIPT	= mkcharacters +STATUSSCRIPT	= mkstatus  RESOURCESCRIPTS = $(GLYPHSCRIPT) $(CHARSCRIPT) $(STATUSSCRIPT) -SCRIPTNAME   = luaotfload-tool -SCRIPT       = $(SCRIPTNAME).lua -MANSOURCE	 = $(SCRIPTNAME).rst -MANPAGE   	 = $(SCRIPTNAME).1 -OLDSCRIPT    = luaotfload-legacy-tool.lua +SCRIPTNAME	= luaotfload-tool +SCRIPT		= $(SCRIPTNAME).lua -GRAPH  		 = filegraph -DOTPDF 		 = $(GRAPH).pdf -DOT    		 = $(GRAPH).dot +DOCSRCDIR	= ./doc +GRAPH		= filegraph +DOCSRC		= $(DOCSRCDIR)/$(NAME).dtx +GRAPHSRC	= $(DOCSRCDIR)/$(GRAPH).dot +MANSRC		= $(DOCSRCDIR)/$(SCRIPTNAME).rst + +DOCPDF		= $(DOCSRCDIR)/$(NAME).pdf +DOTPDF		= $(DOCSRCDIR)/$(GRAPH).pdf +MANPAGE		= $(DOCSRCDIR)/$(SCRIPTNAME).1 + +DOCS		= $(DOCPDF) $(DOTPDF) $(MANPAGE)  # Files grouped by generation mode -GLYPHS      = luaotfload-glyphlist.lua -CHARS       = luaotfload-characters.lua -STATUS      = luaotfload-status.lua +GLYPHS		= luaotfload-glyphlist.lua +CHARS		= luaotfload-characters.lua +STATUS		= luaotfload-status.lua  RESOURCES	= $(GLYPHS) $(CHARS) $(STATUS) -GRAPHED     = $(DOTPDF) -MAN			= $(MANPAGE) -COMPILED    = $(DOC) -UNPACKED    = luaotfload.sty -GENERATED   = $(GRAPHED) $(UNPACKED) $(COMPILED) $(RESOURCES) $(MAN) -SOURCE 		= $(DTX) $(MANSOURCE) $(OTFL) README Makefile NEWS $(RESOURCESCRIPTS) +SOURCE		= $(DOCSRC) $(MANSRC) $(LUAOTFLOAD) README Makefile NEWS $(RESOURCESCRIPTS)  # Files grouped by installation location -SCRIPTSTATUS = $(SCRIPT) $(OLDSCRIPT) $(RESOURCESCRIPTS) -RUNSTATUS    = $(UNPACKED) $(filter-out $(SCRIPTSTATUS),$(OTFL)) -DOCSTATUS    = $(DOC) $(DOTPDF) README NEWS +SCRIPTSTATUS	= $(SCRIPT) $(OLDSCRIPT) $(RESOURCESCRIPTS) +RUNSTATUS	= $(UNPACKED) $(filter-out $(SCRIPTSTATUS),$(LUAOTFLOAD)) +DOCSTATUS	= $(DOCPDF) $(DOTPDF) README NEWS  MANSTATUS	= $(MANPAGE) -SRCSTATUS    = $(DTX) Makefile +SRCSTATUS	= $(DOCSRC) $(MANSRC) $(GRAPHSRC) Makefile  # The following definitions should be equivalent  # ALL_STATUS = $(RUNSTATUS) $(DOCSTATUS) $(SRCSTATUS) -ALL_STATUS = $(GENERATED) $(SOURCE) +ALL_STATUS = $(RESOURCES) $(SOURCE)  # Installation locations  FORMAT = luatex -SCRIPTDIR = $(TEXMFROOT)/scripts/$(NAME) -RUNDIR    = $(TEXMFROOT)/tex/$(FORMAT)/$(NAME) -DOCDIR    = $(TEXMFROOT)/doc/$(FORMAT)/$(NAME) -MANDIR    = $(TEXMFROOT)/doc/man/man1/ -SRCDIR    = $(TEXMFROOT)/source/$(FORMAT)/$(NAME) -TEXMFROOT = $(shell kpsewhich --var-value TEXMFHOME) +SCRIPTDIR	= $(TEXMFROOT)/scripts/$(NAME) +RUNDIR		= $(TEXMFROOT)/tex/$(FORMAT)/$(NAME) +DOCDIR		= $(TEXMFROOT)/doc/$(FORMAT)/$(NAME) +MANDIR		= $(TEXMFROOT)/doc/man/man1/ +SRCDIR		= $(TEXMFROOT)/source/$(FORMAT)/$(NAME) +TEXMFROOT	= $(shell kpsewhich --var-value TEXMFHOME)  # CTAN-friendly subdirectory for packaging -DISTDIR	  = ./luaotfload +DISTDIR		= ./$(NAME) -CTAN_ZIP = $(NAME).zip -TDS_ZIP  = $(NAME).tds.zip -ZIPS 	 = $(CTAN_ZIP) $(TDS_ZIP) +CTAN_ZIP	= $(NAME).zip +TDS_ZIP		= $(NAME).tds.zip +ZIPS		= $(CTAN_ZIP) $(TDS_ZIP) -LUA	= texlua +LUA		= texlua -DO_TEX 		  	= luatex --interaction=batchmode $< >/dev/null -DO_LATEXMK	 	= latexmk -e '$$max_repeat = 5' -pdf -lualatex -silent $< >/dev/null -# latexmk does only one run on my machine, so we’re not going to rely on it -DO_LATEX  	 	= lualatex -interaction=batchmode $< >/dev/null -DO_GRAPHVIZ 	= dot -Tpdf -o $@ $< > /dev/null -DO_GLYPHS 		= $(LUA) $(GLYPHSCRIPT) > /dev/null -DO_CHARS 		= $(LUA) $(CHARSCRIPT)  > /dev/null -DO_STATUS 		= $(LUA) $(STATUSSCRIPT)  > /dev/null -DO_DOCUTILS 	= rst2man $< >$@ 2>/dev/null +DO_GLYPHS	= $(LUA) $(GLYPHSCRIPT) > /dev/null +DO_CHARS	= $(LUA) $(CHARSCRIPT)  > /dev/null +DO_STATUS	= $(LUA) $(STATUSSCRIPT)  > /dev/null  all: $(GENERATED) -graph: $(GRAPHED) -doc: $(GRAPHED) $(COMPILED) $(MAN) -manual: $(MAN)  unpack: $(UNPACKED)  resources: $(RESOURCES)  chars: $(CHARS) @@ -85,6 +74,20 @@ ctan: $(CTAN_ZIP)  tds: $(TDS_ZIP)  world: all ctan +graph: $(DOTPDF) +doc: $(DOCS) +pdf: $(DOCPDF) +manual: $(MANPAGE) + +$(DOTPDF): +	@make -C $(DOCSRCDIR) graph + +$(DOCPDF): +	@make -C $(DOCSRCDIR) doc + +$(MANPAGE): +	@make -C $(DOCSRCDIR) manual +  $(GLYPHS): /dev/null  	$(DO_GLYPHS) @@ -94,42 +97,33 @@ $(CHARS): /dev/null  $(STATUS): /dev/null  	$(DO_STATUS) -$(GRAPHED): $(DOT) -	$(DO_GRAPHVIZ) - -$(COMPILED): $(DTX) -	$(DO_LATEX) -	$(DO_LATEX) - -$(UNPACKED): $(DTX) -	$(DO_TEX) - -$(MAN): $(MANSOURCE) -	$(DO_DOCUTILS) -  define make-ctandir  @$(RM) -rf $(DISTDIR)  @mkdir -p $(DISTDIR) && cp $(SOURCE) $(COMPILED) $(DISTDIR)  endef -$(CTAN_ZIP): $(SOURCE) $(COMPILED) $(TDS_ZIP) +$(CTAN_ZIP): $(DOCS) $(SOURCE) $(COMPILED) $(TDS_ZIP)  	@echo "Making $@ for CTAN upload."  	@$(RM) -- $@  	$(make-ctandir)  	@zip -r -9 $@ $(TDS_ZIP) $(DISTDIR) >/dev/null +define run-install-doc +@mkdir -p $(DOCDIR) && cp -- $(DOCSTATUS) $(DOCDIR) +@mkdir -p $(SRCDIR) && cp -- $(SRCSTATUS) $(SRCDIR) +@mkdir -p $(MANDIR) && cp -- $(MANSTATUS) $(MANDIR) +endef +  define run-install -@mkdir -p $(SCRIPTDIR) && cp $(SCRIPTSTATUS) $(SCRIPTDIR) -@mkdir -p $(RUNDIR) && cp $(RUNSTATUS) $(RUNDIR) -@mkdir -p $(DOCDIR) && cp $(DOCSTATUS) $(DOCDIR) -@mkdir -p $(SRCDIR) && cp $(SRCSTATUS) $(SRCDIR) -@mkdir -p $(MANDIR) && cp $(MANSTATUS) $(MANDIR) +@mkdir -p $(SCRIPTDIR) && cp -- $(SCRIPTSTATUS) $(SCRIPTDIR) +@mkdir -p $(RUNDIR) && cp -- $(RUNSTATUS) $(RUNDIR)  endef  $(TDS_ZIP): TEXMFROOT=./tmp-texmf -$(TDS_ZIP): $(ALL_STATUS) +$(TDS_ZIP): $(DOCS) $(ALL_STATUS)  	@echo "Making TDS-ready archive $@."  	@$(RM) -- $@ +	$(run-install-doc)  	$(run-install)  	@cd $(TEXMFROOT) && zip -9 ../$@ -r . >/dev/null  	@$(RM) -r -- $(TEXMFROOT) @@ -138,19 +132,23 @@ $(TDS_ZIP): $(ALL_STATUS)  install: $(ALL_STATUS)  	@echo "Installing in '$(TEXMFROOT)'." +	$(run-install-docs)  	$(run-install) -manifest:  +manifest:  	@echo "Source files:"  	@for f in $(SOURCE); do echo $$f; done  	@echo ""  	@echo "Derived files:"  	@for f in $(GENERATED); do echo $$f; done -clean:  +clean: +	make -C $(DOCSRCDIR) $@  	@$(RM) -- *.log *.aux *.toc *.idx *.ind *.ilg *.out  mrproper: clean +	make -C $(DOCSRCDIR) $@  	@$(RM) -- $(GENERATED) $(ZIPS) $(GLYPHSOURCE)  	@$(RM) -r -- $(DISTDIR) +# vim:set noexpandtab:tabstop=8:shiftwidth=2 diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000..2040f5a --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,47 @@ +NAME		= luaotfload +DOCPDF		= $(NAME).pdf +DOCDTX		= $(NAME).dtx + +SCRIPTNAME	= luaotfload-tool +MANSOURCE	= $(SCRIPTNAME).rst +MANPAGE		= $(SCRIPTNAME).1 + +GRAPH		= filegraph +DOTPDF		= $(GRAPH).pdf +DOT		= $(GRAPH).dot + +DOCS		= $(DOTPDF) $(DOCPDF) $(MANPAGE) + +DO_LATEXMK	= @latexmk -e '$$max_repeat = 5' -pdf -lualatex -silent $< >/dev/null +# latexmk does only one run on my machine, so we’re not going to rely on it +DO_LATEX	= @lualatex -interaction=batchmode $< >/dev/null +DO_GRAPHVIZ	= @dot -Tpdf -o $@ $< > /dev/null +DO_DOCUTILS	= @rst2man $< >$@ 2>/dev/null + +doc: graph $(DOCPDF) +all: manual doc +graph: $(DOTPDF) +manual: $(MANPAGE) + +$(DOCPDF): $(DOCDTX) +	@echo "creating PDF documentation ($(DOCPDF))" +	$(DO_LATEX) +	$(DO_LATEX) + +$(MANPAGE): $(MANSOURCE) +	@echo "creating man page ($(MANPAGE))" +	$(DO_DOCUTILS) + +$(DOTPDF): $(DOT) +	@echo "creating file graph ($(DOTPDF))" +	$(DO_GRAPHVIZ) + +.PHONY: clean mrproper + +clean: +	@$(RM) -- *.log *.aux *.toc *.idx *.ind *.ilg *.out + +mrproper: clean +	@$(RM) -- $(DOCS) + +# vim:set noexpandtab:tabstop=8:shiftwidth=2 diff --git a/filegraph.dot b/doc/filegraph.dot index 47db9ea..47db9ea 100644 --- a/filegraph.dot +++ b/doc/filegraph.dot diff --git a/luaotfload-tool.rst b/doc/luaotfload-tool.rst index 6863918..6863918 100644 --- a/luaotfload-tool.rst +++ b/doc/luaotfload-tool.rst diff --git a/luaotfload.dtx b/doc/luaotfload.dtx index 8f8632c..e0311a4 100644 --- a/luaotfload.dtx +++ b/doc/luaotfload.dtx @@ -67,13 +67,6 @@ and the derived files  \endpreamble -\let\MetaPrefix\DoubleperCent - -\generate{% -  \usedir{tex/luatex/luaotfload}% -  \file{luaotfload.sty}{\from{luaotfload.dtx}{package}}% -} -  \obeyspaces  \Msg{************************************************************************}  \Msg{*} @@ -1558,30 +1551,12 @@ and the derived files  %  % \section{\fileent{luaotfload.sty}}  % -% \iffalse -%<*package> -% \fi -% -%    Classical Plain+\LATEX package initialization. -% -%    \begin{macrocode} -\csname ifluaotfloadloaded\endcsname -\let\ifluaotfloadloaded\endinput -\bgroup\expandafter\expandafter\expandafter\egroup -\expandafter\ifx\csname ProvidesPackage\endcsname\relax -  \input luatexbase.sty -\else -  \NeedsTeXFormat{LaTeX2e} -  \ProvidesPackage{luaotfload}% -    [2014/42/42 v2.5 OpenType layout system] -  \RequirePackage{luatexbase} -\fi -\RequireLuaModule{luaotfload-main} -\endinput -%    \end{macrocode} -% \iffalse -%</package> -% \fi +% As of version 2.5, the file \fileent{luaotfload.sty} is no longer +% generated from the \abbrev{dtx}. +% Instead, it is maintained separately as a plain \identifier{\TEX} file +% in the Luaotfload \identifier{git} tree. +% The file documentation which used to be found in this section has +% been preserved in the comments.  %  % \clearpage  % \section{The GNU GPL License v2} diff --git a/luaotfload-parsers.lua b/luaotfload-parsers.lua index 5145ca0..1048e1d 100644 --- a/luaotfload-parsers.lua +++ b/luaotfload-parsers.lua @@ -46,6 +46,8 @@ local stringsub         = string.sub  local stringfind        = string.find  local stringlower       = string.lower +local mathceil          = math.ceil +  local lfs               = lfs  local lfsisfile         = lfs.isfile  local lfsisdir          = lfs.isdir diff --git a/luaotfload.sty b/luaotfload.sty new file mode 100644 index 0000000..a235d6b --- /dev/null +++ b/luaotfload.sty @@ -0,0 +1,45 @@ +%% Copyright (C) 2009-2014 +%% +%%      by  Elie Roux      <elie.roux@telecom-bretagne.eu> +%%      and Khaled Hosny   <khaledhosny@eglug.org> +%%      and Philipp Gesang <philipp.gesang@alumni.uni-heidelberg.de> +%% +%% This file is part of Luaotfload. +%% +%%      Home:      https://github.com/lualatex/luaotfload +%%      Support:   <lualatex-dev@tug.org>. +%% +%% Luaotfload is under the GPL v2.0 (exactly) license. +%% +%% ---------------------------------------------------------------------------- +%% +%% Luaotfload is free software; you can redistribute it and/or +%% modify it under the terms of the GNU General Public License +%% as published by the Free Software Foundation; version 2 +%% of the License. +%% +%% Luaotfload is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% +%% You should have received a copy of the GNU General Public License +%% along with Luaotfload; if not, see <http://www.gnu.org/licenses/>. +%% +%% ---------------------------------------------------------------------------- +%% +%% Classical Plain+\LATEX package initialization. +%% +\csname ifluaotfloadloaded\endcsname +\let\ifluaotfloadloaded\endinput +\bgroup\expandafter\expandafter\expandafter\egroup +\expandafter\ifx\csname ProvidesPackage\endcsname\relax +  \input luatexbase.sty +\else +  \NeedsTeXFormat{LaTeX2e} +  \ProvidesPackage{luaotfload}% +    [2014/42/42 v2.5 OpenType layout system] +  \RequirePackage{luatexbase} +\fi +\RequireLuaModule{luaotfload-main} +  | 
