diff options
author | Philipp Gesang <phg@phi-gamma.net> | 2015-11-05 23:09:12 +0100 |
---|---|---|
committer | Philipp Gesang <phg@phi-gamma.net> | 2015-11-05 23:09:15 +0100 |
commit | 6b80e23341e454f6416d8c36c16820dcdf9a7bba (patch) | |
tree | 68d0e956d7b6454abdcfb7b236b64208621f06a7 /doc | |
parent | de66d7228b7b91c93cb38c8bf50008f7137b0985 (diff) | |
download | luaotfload-6b80e23341e454f6416d8c36c16820dcdf9a7bba.tar.gz |
[doc] kill off Context prototype
This was an experiment to improve documentation. Certain items like the
BNF syntax of the request parser proved too tedious to convert. Also
verbatim semantics differ greatly which requires tons of hacks to work
around. Not worth it.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/luaotfload-context.tex | 485 |
1 files changed, 0 insertions, 485 deletions
diff --git a/doc/luaotfload-context.tex b/doc/luaotfload-context.tex deleted file mode 100644 index 6c8d4b2..0000000 --- a/doc/luaotfload-context.tex +++ /dev/null @@ -1,485 +0,0 @@ -% macros=mkvi -%% 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/>. -%% -%% ---------------------------------------------------------------------------- -%% - -\unprotect - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% layout and paper -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\setuppapersize [A5] [A5] %% 148×210 - -\definelayout [mainlayout] [ - backspace=15mm, %% 133 - textwidth=103mm, - topspace=15mm, -] - -\setuplayout [mainlayout] - -\setuppagenumbering [location=,alternative=doublesided] - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% colors -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\usecolors [x11] -\definecolor [primarycolor] [dodgerblue4] -\definecolor [secondarycolor] [goldenrod4] - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% interaction -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\setupinteraction [ - state=start, - page=no, - click=yes, - style=italic, - color=primarycolor, - contrastcolor=secondarycolor, - title={The Luaotfload package}, - subtitle={OpenType layout system for Plain TeX and LaTeX}, - author={Elie Roux & Khaled Hosny & Philipp Gesang}, - keywords={luatex, lualatex, unicode, opentype}, -] - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% fonts -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\usemodule [simplefonts] - -\definefontfeature [default] [default] [mode=base,liga=yes,dlig=yes,tlig=yes,onum=yes] -\definefontfeature [monospace] [liga=no,tlig=no,onum=no] - -\definefontfamily [mainface] [serif] [Linux Libertine O] [features=default] -%definefontfamily [mainface] [serif] [Liberation Serif] [feature=default] -%definefontfamily [mainface] [sans] [Iwona] [feature=default] -\definefontfamily [mainface] [sans] [Iwona Medium] [ - feature=default, - it=file:IwonaMedium-Italic.otf, - tf=file:IwonaMedium-Regular.otf, - bf=file:Iwona-Bold.otf, - bi=file:Iwona-BoldItalic.otf, -] -%definefontfamily [mainface] [sans] [DejaVu Sans] [feature=default] -\definefontfamily [mainface] [mono] [Liberation Mono] [scale=0.85,features=monospace] - -\setupbodyfont [mainface,10pt] - -\def \LUA {Lua} -\def \LUALATEX {Lua\LATEX} -\def \OpenType {\identifier{Open\kern-.25ex Type}} - -\definealternativestyle [emphasis:texmacro] [\ss \it \letterbackslash] [\ss \it \letterbackslash] -\definealternativestyle [emphasis:identifier] [\ss] [\ss] -\definealternativestyle [emphasis:normal] [\sl] [\sl] -\definealternativestyle [emphasis:abbrev] [{\feature [+][smallcaps]}] [{\feature [+][smallcaps]}] -\definealternativestyle [emphasis:Largefont] [{\switchtobodyfont[14pt]}] [{\switchtobodyfont[14pt]}] -\definealternativestyle [emphasis:smallcaps] [{\feature [+][smallcaps]}] [{\feature [+][smallcaps]}] -%definealternativestyle [emphasis:nonproportional] [\mono] [\mono] -\definealternativestyle [emphasis:nonproportional] [\tt] [\tt] -\definealternativestyle [head:section] [{\roman\feature[+][smallcaps]}] [{\roman\feature[+][smallcaps]}] -\definealternativestyle [head:subsection] [{\roman\feature[+][smallcaps]}] [{\roman\feature[+][smallcaps]}] -\definealternativestyle [head:subsubsection] [{\roman\feature[+][smallcaps]}] [{\roman\feature[+][smallcaps]}] -\definealternativestyle [typing:luafunction] [\italic] [\italic] -\definealternativestyle [typing:fileent] [\tt] [\tt] - -\definehighlight [texmacro] [style=emphasis:texmacro] %% cs -\definehighlight [identifier] [style=emphasis:identifier] %% names -\definehighlight [abbrev] [style=emphasis:abbrev] %% acronyms -\definehighlight [emphasis] [style=emphasis:normal] %% level 1 emph - -\definehighlight [Largefont] [style=emphasis:Largefont] %% font size -\definehighlight [smallcaps] [style=emphasis:smallcaps] %% font feature -\definehighlight [nonproportional] [style=emphasis:nonproportional] %% font switch - -\definetype [fileent] [style=typing:fileent] -\definetype [luafunction] [style=typing:luafunction] -\setuptyping [style=ttx] - -\definebodyfontenvironment [8pt] -\definebodyfontenvironment [10pt] -\definebodyfontenvironment [12pt] - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% headings -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\setuphead [section] [style=head:section, alternative=inmargin] -\setuphead [subsection] [style=head:subsection, alternative=inmargin] -\setuphead [subsubsection] [style=head:subsubsection,alternative=inmargin] - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% running headers -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\setupheadertexts - [{\tfx \getmarking[section]}] [pagenumber] - [pagenumber] [{\tfx \fileent{Luaotfload} Manual}] - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% structurals -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% section -\def \beginsection {\dosingleempty \section_begin_indeed} - -\def \section_begin_indeed [#ref]#title{% - \iffirstargument - \startsection [reference=#ref,title=#title]% - \else - \startsection [title=#title]% - \fi -} - -\let \endsection \stopsection - -%% subsection -\def \beginsubsection {\dosingleempty \section_begin_indeed} - -\def \subsection_begin_indeed [#ref]#title{% - \iffirstargument - \startsubsection [reference=#ref,title=#title]% - \else - \startsubsection [title=#title]% - \fi -} - -\let \endsubsection \stopsection - -%% subsubsection -\def \beginsubsubsection {\dosingleempty \section_begin_indeed} - -\def \subsubsection_begin_indeed [#ref]#title{% - \iffirstargument - \startsubsubsection [reference=#ref,title=#title]% - \else - \startsubsubsection [title=#title]% - \fi -} - -\let \endsubsubsection \stopsection - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% inline verbatim -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% Context offers both \type{…} and \type<<…>>, but not an unbalanced -%% one that we could map directly onto Latex’s \verb|…|. - -\definetype [inlinecode_indeed] [style=emphasis:nonproportional] - -%% The listings macros don’t seem to handle backslashes and braces -%% well. We emulate this behavior by handling the escaping in Lua. - -\startluacode - local lpeg = require "lpeg" - local Cs, P, S = lpeg.Cs, lpeg.P, lpeg.S - local lpegmatch = lpeg.match - local unescape_char = S[[\letterbackslash\letterleftbrace\letterrightbrace]] - local backslash = P[[\letterbackslash]] - local unescape = Cs (((backslash / "" * unescape_char) + 1)^0) - commands.unescape_things = function (str) - context.type (lpegmatch (unescape, str)) - end -\stopluacode - -\unexpanded \def \inlinecode #content{% - \ctxcommand {unescape_things \!!bs \detokenize {#content}\!!es}% -} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% codelistings -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Now *that’s* what I call easy. - -\unexpanded \def \beginlisting {% - \grabbufferdatadirect{listing}{beginlisting}{endlisting}% -} - -\unexpanded \def \endlisting {\typebuffer [listing]} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% enumerations and lists -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\definedescription [descriptionitem] [ - align=right, - alternative=hanging, - width=2em, -] - -\def \begindescriptions {% - \begingroup - \def \beginnormalitem ##1\endnormalitem{% - \startitem##1\stopitem - } - \let \endnormalitem \relax - \let \beginaltitem \startdescriptionitem - \let \endaltitem \stopdescriptionitem -} - -\let \enddescriptions \endgroup - - -\definedescription [definitionitem] [ - align=right, - alternative=hanging, -] - -\def \begindefinitions {% - \begingroup - \def \beginnormalitem ##1\endnormalitem{% - \startitem##1\stopitem - } - \let \endnormalitem \relax - \let \beginaltitem \startdefinitionitem - \let \endaltitem \stopdefinitionitem -} - -\let \enddefinitions \endgroup - - -\definedescription [filelistitem] [ - align=normal, - alternative=hanging, - headstyle=typing:fileent, - width=4cm, -] - -\def \beginfilelist {% - \begingroup - \def \beginnormalitem ##1\endnormalitem{% - \startitem##1\stopitem - } - \let \endnormalitem \relax - \let \beginaltitem \startfilelistitem - \let \endaltitem \stopfilelistitem -} - -\let \endfilelist \endgroup - -\definedescription [functionlistitem] [ - align=normal, - alternative=hanging, - headstyle=typing:luafunction, - width=4cm, -] - -\def \beginfunctionlist {% - \begingroup - \def \beginnormalitem ##1\endnormalitem{% - \startitem##1\stopitem - } - \let \endnormalitem \relax - \let \beginaltitem \startfunctionlistitem - \let \endaltitem \stopfunctionlistitem -} - -\let \endfunctionlist \endgroup - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% columns -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\def \begindoublecolumns {\startcolumns [2]} -\let \enddoublecolumns \stopcolumns - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% alignment -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\setupnarrower [before={\blank[line]},after={\blank[line]}] -\let \beginnarrower \startnarrower -\let \endnarrower \stopnarrower - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% special elements -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\definefont [lmromantenregular] [file:lmroman10-regular.otf*default] - -\def \meta #1{% - {\lmromantenregular<}% - {\italic #1}% - {\lmromantenregular>}% -} - -\def \beginabstractcontent {% - \grabbufferdatadirect{abstractcontent}{beginabstractcontent}{endabstractcontent}% -} - -\let \endabstractcontent \relax - -\def \setdocumenttitle #1{\setvalue {document_title}{#1}} -\def \setdocumentdate #1{\setvalue {document_date}{#1}} -\def \setdocumentauthor #1{\setvalue {document_author}{#1}} - -\let \typesetdocumenttitle \relax -\let \beginfrontmatter \relax - -\def \endfrontmatter { - \startstandardmakeup - \vfill - \strut \hfill - \startframed [frame=off,align=middle,width=.5\textwidth] - \Largefont{\getvalue {document_title}} - \stopframed - \hfill \strut \par - - \blank [2*big] - - \strut \hfill - \startframed [frame=off,align=middle,width=.65\textwidth] - \setuplocalinterlinespace [18pt] - \getvalue {document_author} - \stopframed - \hfill \strut \par - - \vfill - \strut \hfill \getvalue {document_date} \hfill \strut - \blank [2*big] - - \strut \hfill - \startframed [width=.7\textwidth,align=normal,style=tfx,frame=off]% - \getbuffer [abstractcontent] - \stopframed - \hfill \strut - \stopstandardmakeup -} - -\let \typesetcontent \completecontent - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% floats -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% XXX we can improve on this part later - -\usemodule [vim] -\definevimtyping [bnf] [syntax=bnf] -\definefloat [syntax] [figure] - -\def \beginsyntaxfloat #reference#caption{% - \begingroup - \edef \currentreference {#reference}% - \edef \currentcaption {#caption}% - \grabbufferdatadirect{rawsyntaxdata}{beginsyntaxfloat}{endsyntaxfloat}% -} - -\def \endsyntaxfloat {% - \savebuffer [rawsyntaxdata] [rawsyntaxdata] - \startplacesyntax [ - reference=\currentreference, - title={\currentcaption}, - ] - %% there’s no \typebnfbuffer in t-vim :( - \typebnffile {\jobname-rawsyntaxdata.tmp} - \stopplacesyntax - \endgroup% -} - -\def \figurefloat #reference#caption#file{% - \startplacefigure [ - reference=#reference, - title={#caption}, - ] - \externalfigure [#file] [width=\textwidth] - \stopplacefigure -} - - -\def \tablefloat #reference#caption#content{% - \startplacetable [ - reference=#reference, - title={#caption}, - ] - #content - \stopplacetable -} - - -%% tables - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% tables -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\setupxtable [frame=off,option=stretch,textwidth=\dimexpr(\textwidth/2)] - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% hyperlinks and references -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\unexpanded \def \hyperlink{% - \dosingleempty \hyperlink_indeed% -} - -\def \hyperlink_indeed [#text]#url{% - \iffirstargument - \useURL [temporary_url] [#url] [] [#text]% - \else - \useURL [temporary_url] [#url]% - \fi% - \from [temporary_url]% -} - - -\def \email #1{\goto{#1}[url(mailto:#1)]} - -\def \label #tag{\reference [#tag]\empty} -\def \pageref #tag{\at{page}{#tag}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% escaped characters -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\let \charpercent \letterpercent -\let \charbackslash \letterbackslash -\let \chartilde \lettertilde - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% main -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\protect - -\newif \ifcontextmkiv \contextmkivtrue - -\starttext - \input luaotfload-main.tex -\stoptext - |