summaryrefslogtreecommitdiff
path: root/macros/luatex/optex/optex.ini
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/optex/optex.ini')
-rw-r--r--macros/luatex/optex/optex.ini101
1 files changed, 101 insertions, 0 deletions
diff --git a/macros/luatex/optex/optex.ini b/macros/luatex/optex/optex.ini
new file mode 100644
index 0000000000..2ec0665c85
--- /dev/null
+++ b/macros/luatex/optex/optex.ini
@@ -0,0 +1,101 @@
+%% This is part of OpTeX project, see http://petr.olsak.net/optex
+
+%% OpTeX ini file
+%% Petr Olsak <started from: Jan. 2020>
+
+% Basic catcodes:
+
+\catcode `\_=11
+\catcode `\{=1
+\catcode `\}=2
+\catcode `\#=6
+\catcode `\^=7
+
+% OpTeX version
+
+\def\optexversion{Alpha 0.02 Feb 2020}
+
+% Engine testing:
+
+\newlinechar=`\^^J
+\ifx\directlua\undefined
+ \message{This format is based only on LuaTeX, use luatex -ini optex.ini^^J}
+ \endinput \fi
+
+\ifx\bgroup\undefined \else
+ \message{This file can be used only for format initialisation, use luatex -ini^^J}
+ \endinput \fi
+
+% Basic \_codedecl / \_endcode pair:
+
+\let\_endcode =\endinput
+\def \_codedecl #1#2{%
+ \ifx #1\undefined \message{#2^^J}%
+ \else \expandafter \endinput \fi
+}
+
+% Initialization:
+
+\message{OpTeX (Olsak's Plain TeX) initialization <\optexversion>^^J}
+
+\input prefixed.opm % prefixed primitives and code syntax
+\input luatex-ini.opm % luaTeX initialization
+\input catcodes.opm % catcode setting
+\input basics-macros.opm % basic macros
+\input alloc.opm % allocators for registers
+\input if-macros.opm % special \if-macros, \is-macros and loops
+\input logos.opm % standard logos
+\input parameters.opm % parameters setting
+\input fonts-preload.opm % preloaded Computer Modern fonts
+\input fonts-resize.opm % font resizing (low-level macros)
+\input fonts-select.opm % font selection system
+\input math-preload.opm % math fams CM + AMS preloaded
+\input math-macros.opm % basic macros for math plus mathchardefs
+\input plain-macros.opm % plainTeX macros
+\input fonts-opmac.opm % font managing macros from OPmac
+\input outlines.opm % PDF outlines
+\input pdfuni-string.opm % PDFunicode strings for outlines
+\input output.opm % output routine
+\input margins.opm % macros for margins setting
+\input uni-lcuc.opm % Setting lccodes and uccodes for Unicode characters
+\input hyphen-lan.opm % initialization of hyphenation patterns
+\input opmac-rest.opm % TODO: needs to be re-implement
+\input csplain-params.opm % compatibility with CSplain
+
+\_everyjob = {%
+ \_message{This is OpTeX (Olsak's Plain TeX), version <\optexversion>^^J}%
+ \_mathsbon % replaces \int_a^b to \int _a^b
+ \inputref % inputs \jobname.ref if exists
+}
+\let\loadmathfonts=\relax % TODO: unicode-math
+
+\_dump
+
+\_endcode % ------------------------------
+
+TODO:
+- re-implement macros from opmac-rest.opm
+- add unicode math support (from uni-math.tex from csplain)
+- add modules support (for example opmac-bib)
+- write more documentation
+- ...
+
+DOC:
+- about Font selection system: ....... files: fonts-select.opm, fonts-opmac.opm,
+ fonts-resize.opm, f-heros.opm, f-lmfonts.opm
+ fams-ini.opm
+- about user/internal name spaces .... files: prefixed.opm, math-macros.opm
+- additional doc is in more files...
+
+NOTES FOR TESTERS:
+- We don't want to keep absolutely backward compatibility. For example obscurities like
+ \z@, \p@, \f@@t are not supported.
+- The page origin is at left upper corner of the paper (no at 1in, 1in coordinates).
+- The default papersize is A4 with 2cm margins (no letter with 1in margins].
+ Use \margins macro to change these parameters.
+- Only few 8bit fonts are preloaded in format. Use \fontfam[LMfonts] (or select another
+ fonts family by \fontfam[?]) at beginning of document. Unicode fonts will be loaded.
+- The accents macros \v, \' are undefined, Use native characters š,č,é, etc.
+ If you expicitly needs this old feature, use \oldaccents macro.
+- The font switchers like \_tenrm, \_tenbf have only internal names, i.e
+ \tenrm, \tenbf are undefined.