summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/optex/README12
-rw-r--r--Master/texmf-dist/doc/latex/optex/op-demo.tex (renamed from Master/texmf-dist/doc/latex/optex/demo.tex)12
-rw-r--r--Master/texmf-dist/doc/latex/optex/optex-doc.pdfbin0 -> 145296 bytes
-rw-r--r--Master/texmf-dist/doc/latex/optex/optex-doc.tex1546
-rw-r--r--Master/texmf-dist/doc/man/man1/optex.142
-rw-r--r--Master/texmf-dist/doc/man/man1/optex.man1.pdfbin0 -> 16296 bytes
-rw-r--r--Master/texmf-dist/tex/luatex/optex/alloc.opm10
-rw-r--r--Master/texmf-dist/tex/luatex/optex/basics-a.opm47
-rw-r--r--Master/texmf-dist/tex/luatex/optex/basics-macros.opm22
-rw-r--r--Master/texmf-dist/tex/luatex/optex/bib-iso690.opm922
-rw-r--r--Master/texmf-dist/tex/luatex/optex/bib-simple.opm183
-rw-r--r--Master/texmf-dist/tex/luatex/optex/catcodes.opm137
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-adventor.opm2
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-antt.opm4
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-baskerville.opm2
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-bonum.opm4
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-cursor.opm2
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-gfsbodoni.opm2
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-heros.opm4
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-libertine-s.opm2
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-libertine.opm4
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-lmfonts.opm4
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-pagella.opm4
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-schola.opm4
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-technika.opm2
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-termes.opm4
-rw-r--r--Master/texmf-dist/tex/luatex/optex/f-xcharter.opm2
-rw-r--r--Master/texmf-dist/tex/luatex/optex/fams-ini.opm22
-rw-r--r--Master/texmf-dist/tex/luatex/optex/fonts-catalog.opm36
-rw-r--r--Master/texmf-dist/tex/luatex/optex/fonts-opmac.opm2
-rw-r--r--Master/texmf-dist/tex/luatex/optex/fonts-resize.opm8
-rw-r--r--Master/texmf-dist/tex/luatex/optex/fonts-select.opm41
-rw-r--r--Master/texmf-dist/tex/luatex/optex/hyphen-lan.opm130
-rw-r--r--Master/texmf-dist/tex/luatex/optex/if-macros.opm19
-rw-r--r--Master/texmf-dist/tex/luatex/optex/logos.opm13
-rw-r--r--Master/texmf-dist/tex/luatex/optex/luatex-ini.opm7
-rw-r--r--Master/texmf-dist/tex/luatex/optex/math-macros.opm12
-rw-r--r--Master/texmf-dist/tex/luatex/optex/math-preload.opm5
-rw-r--r--Master/texmf-dist/tex/luatex/optex/math-unicode.opm155
-rw-r--r--Master/texmf-dist/tex/luatex/optex/mathclass.opm1591
-rw-r--r--Master/texmf-dist/tex/luatex/optex/op-macros.opm94
-rw-r--r--Master/texmf-dist/tex/luatex/optex/opmac-rest.opm148
-rw-r--r--Master/texmf-dist/tex/luatex/optex/optex.ini37
-rw-r--r--Master/texmf-dist/tex/luatex/optex/pdfuni-string.opm15
-rw-r--r--Master/texmf-dist/tex/luatex/optex/plain-macros.opm30
-rw-r--r--Master/texmf-dist/tex/luatex/optex/prefixed.opm17
-rw-r--r--Master/texmf-dist/tex/luatex/optex/unimath-codes.opm304
-rw-r--r--Master/texmf-dist/tex/luatex/optex/unimath-table.opm2467
-rw-r--r--Master/texmf-dist/tex/luatex/optex/usebib.opm334
-rw-r--r--Master/texmf-dist/tex/luatex/optex/verbatim.opm189
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds2
51 files changed, 8137 insertions, 520 deletions
diff --git a/Master/texmf-dist/doc/latex/optex/README b/Master/texmf-dist/doc/latex/optex/README
index 066037a0f97..8cc02a11bf1 100644
--- a/Master/texmf-dist/doc/latex/optex/README
+++ b/Master/texmf-dist/doc/latex/optex/README
@@ -5,3 +5,15 @@ Author: Petr Olsak, <petr@olsak.net>
This software is in public domain.
See http://petr.olsak.net/optex
+
+History:
+
+<0.03> optex-doc optex.1 included,
+ verbatim.opm re-implmented,
+ math-unicode implemented,
+ usebib.opm + bib-style.opm included
+ \catcodetable stack implemented
+ bugfixing of macros.
+ catcodes.opl: removed, one can use \catcodetable, ... primitives,
+ pdfuni-string: lua code for lua5.3 fixed.
+<0.02> Released.
diff --git a/Master/texmf-dist/doc/latex/optex/demo.tex b/Master/texmf-dist/doc/latex/optex/op-demo.tex
index 458f44257a7..f06bd2639b8 100644
--- a/Master/texmf-dist/doc/latex/optex/demo.tex
+++ b/Master/texmf-dist/doc/latex/optex/op-demo.tex
@@ -5,7 +5,8 @@
\parindent=10pt % typesetting parameters
\hyperlinks \Blue\Blue % active hyperlinks
\activettchar` % in-text verbatim by `...`
-\def\intthook{\localcolor\Red} % in-text verbatim Red
+\intthook={\localcolor\Red} % in-text verbatim Red
+\enquotes % use \"text" for English quotation
\tit Demonstration
@@ -59,12 +60,12 @@ Internal links are activated too.
\sec Tables
The `\table` sequence can be used
-instead of ``low level'' `\halign`.
+instead of \"low level" `\halign`.
The following table is framed by `\frame` sequence
in order to get a double frame.
\label[my-tab]
-\medskip
+\bigskip
\caption/t Testing table.
\smallskip\nobreak
\centerline{%
@@ -96,7 +97,7 @@ This is verbatim.
\endtt
or it can be included by `\verbinput` from external file.
-\verbinput (95-97) demo.tex
+\verbinput (98-100) op-demo.tex
\sec Math
@@ -108,10 +109,11 @@ $$
\frak M & \bbchar R }.
$$
Hundreds of AMS symbols are available:
-$\sphericalangle, \Finv, \boxplus, \Cup, \Cap, \ldots$
+$\sphericalangle, \boxplus, \Cup, \Cap, \ldots$
\sec Others
+The `\fontfam` command selects a desired family of fonts.
The `\typosize` or `\typoscale` sequences set the size
and baselineskip of used fonts (including math fonts).
The `\fnote` generates a footnote\fnote{Like this} and
diff --git a/Master/texmf-dist/doc/latex/optex/optex-doc.pdf b/Master/texmf-dist/doc/latex/optex/optex-doc.pdf
new file mode 100644
index 00000000000..93a6d13eb3a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/optex/optex-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/optex/optex-doc.tex b/Master/texmf-dist/doc/latex/optex/optex-doc.tex
new file mode 100644
index 00000000000..514a322dd70
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/optex/optex-doc.tex
@@ -0,0 +1,1546 @@
+
+\fontfam[LMfonts]
+\typosize[11/13]
+\enlang
+
+\localcolor
+\catcode`<=13
+\def<#1>{\hbox{$\langle$\it#1\/$\rangle$}}
+\intthook={\catcode`\<=13}
+\tthook=\intthook
+\chardef\"="201C
+
+\def\new{\mnote{\Red$\blacktriangleleft$}}
+\fixmnotes\right
+
+\activettchar`
+
+\hyperlinks{\Blue}{\Green}
+\insertoutline{CONTENTS} \outlines{0}
+
+
+\tit \OpTeX/\nl Format Based on Plain \TeX/ and OPmac\fnotemark1
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\hfill Version Alpha 0.03
+
+\centerline{\it Petr Olšák, 2020}
+
+\bigskip
+\centerline{\url{http://petr.olsak.net/optex}}
+
+
+\fnotetext {The OPmac package is a set of simple additional macros to plain\TeX{}. It
+enables users to take advantage of basic \LaTeX/ functionality but keeps
+plain \TeX/ simplicity. See
+\url{http://petr.olsak.net/opmac-e.html} for more information about it.
+For OPmac users: the red triangle {\Red$\blacktriangleleft$} in the right margin
+means that there is a difference from standard OPmac features.}
+
+\notoc\nonum \sec Contents
+\maketoc
+
+\nonum \sec Introduction
+%%%%%%%%%%%%
+
+\OpTeX/ is \LuaTeX/ format with plain \TeX/ and OPmac. Only \LuaTeX/ engine
+is supported. The main goal of \OpTeX/ is:
+
+\begitems
+* \OpTeX/ keeps the simplicity (like in plain \TeX/ and OPmac macros).
+* There is no old obscurities concerning with various 8-bit encodings and
+ various engines.
+* \OpTeX/ provides a powerful font selection system (for Unicode font
+ families, of course).
+* \OpTeX/ supports hyphenations of all languages installed in your \TeX/ system.
+* All features from OPmac macros are copied (for example, you can see
+ opmac-prospectus.pdf)
+* Macros are documented in the same place where code is (macros for printing
+ this documentation will come in the future).
+* User name space of control sequences is separated from internal name space
+ of OpTeX and primitives (`\foo` versus `\_foo`).
+\enditems
+
+\OpTeX/ should be a modern plain \TeX/ with power from OPmac (fonts selection
+system, colors, external graphics, references, hyperlinks...) with unicode
+fonts.
+
+\OpTeX/ (like OPmac) offers a markup language for authors of texts (like \LaTeX),
+i.e. the fixed set of tags to define the structure of the document. This
+markup is different from the \LaTeX{} markup. It may offer to write the
+source text of the document somewhat clearer and more attractive.
+
+\new
+{\bf Disclaimer:} This software is under construction.
+It is possible that some features documented here will be changed in future.
+
+
+\sec Using \OpTeX/
+%%%%%%%%%%%%%%%%%%
+
+\new
+\OpTeX/ is compiled as a format for \LuaTeX/. Maybe there is a command
+`optex` in your \TeX/ distribution. Then you can write into command line
+
+\begtt
+optex document
+\endtt
+%
+You can try to process `optex demo` or `optex optex-doc`.
+
+If there is no `optex` command, see more information about installation
+\OpTeX/ at \url{http://petr.olsak.net/optex}.
+
+A minimal document should be
+
+\begtt
+\fontfam[LMfonts]
+Hello World! \bye
+\endtt
+
+The first line `\fontfam[LMfonts]` tells that Unicode Latin Modern
+fonts (derived from Computer Modern) are used. If you omit this line then
+preloaded Latin Modern fonts are used but preloaded fonts cannot be in
+Unicode\fnote
+{This is technical limitations of \LuaTeX/ for fonts in formats:
+only 8bit fonts can be preloaded.}.
+So the sentence `Hello World` will be OK without the first line, but you
+cannot print such sentence in another languges (like `Ahoj světe!`)
+where Unicode fonts are needed
+because of the characters like `ě` are not mapped correctly in preloaded
+font.
+
+A somewhat larger example with common settings shoud be:
+
+\begtt
+\fontfam[Termes] % selecting Unicode font family Termes
+\typosize[11/13] % setting the basic font size and the baselineskip
+\margins/1 a4 (1,1,1,1)in % setting 1in margins for A4 paper
+\cslang % Czech hyphenation patterns
+
+Tady je text.
+\bye
+\endtt
+%
+You can look at `demo.tex` file for more examples.
+
+
+\sec Compatibility with Plain \TeX/
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+All macros of plain \TeX/ are re-written in \OpTeX/. Common macros should be
+work in the same sense as in original plain \TeX. Internal control sequences
+\new
+like `\p@` or `\f@@t` are removed and mostly replaced by control sequences
+prefixed by `_` (like `\_this`). All primitives and common macros have two
+control sequences in prefixed and unprefixed form with the same
+meaning. For example `\hbox` is equal to `\_hbox`.
+Internal macros of \OpTeX/ have and use only prefixed form. User should use
+unprefixed forms, but prefixed forms are accessibe too, bacause the `_` is
+set as a letter globally (in macro files and in users document too). User
+should re-define unprefixed forms of control sequences with no worries that
+something internal will be broken (only the sequence `\par` cannot be
+re-defined without internal change of \TeX/ behavior because it is
+hard-coded in \TeX/s tokenization processor).
+
+\new
+The Latin Modern 8bit fonts instead Computer Modern 7bit fonts are
+preloaded in the format, but only few ones. The full family set is ready to
+use after the command `\fontfam[LMfonts]` which reads the fonts in OTF
+format.
+
+\new
+The `\tenrm`, `\tenbf` etc. selectors are not defined. There are internal
+selectors `\_tenrm`, `\_tenbf` etc. instead them. Don't use them directly
+until you understand the \OpTeX/ font selection system from
+internal point of view.
+
+\new
+The accents macros like `\'`, `\v` are undefined in \OpTeX/. Use real
+letters like ř, ž in your soucre document instead these old accents macros.
+If you really want to use them, you can initialize them by `\oldaccents`
+command.
+
+\new
+The paper size is not set as letter with 1\,in margins but as a4 with 2\,cm
+marins. You can change it by `\margins/1 letter (1,1,1,1)in` (this example
+sets the classical plainTeX parameters).
+
+\new
+The origin for typographical area is not at top left 1\,in 1\,in coordinates
+but at top left paper corner exactly. For example, `\hoffset` includes directly left
+margin.
+
+
+\sec Selection of font family
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+You can select the font family by `\fontfam[<Family_name>]`.
+The argument <Family_Name> is case insensitive and spaces are ignored. So,
+`\fontfam[LM Fonts]` is equal to `\fontfam[LMfonts]` and it is equal
+to `\fontfam[lmfonts]`. Several aliases are prepared, thus
+`\fontfam[Latin Modern]` can be used for loading Latin Modern family too.
+
+If you write `\fontfam[?]` then all font families registered in \OpTeX/
+are listed on the terminal and in the log file.
+
+If you write `\fontfam[catalog]` then a catalogue of all fonts registered in
+\OpTeX/ and available in your \TeX/ system is printed. And the instructions
+how to register your own font family is appedned in such catalogue.
+
+If the family is loaded then {\em font modifiers} applicable in such font family
+are listed on the terminal: (`\caps`, `\cond` for example).
+And there are four basic {\em varinat selectors} (`\rm`, `\bf`, `\it`, `\bi`).
+The font modifiers of basic variants (`\caps`, `\cond` for example) can
+be used immediately before a basic variant selector and they
+can be (independently) combined: `\caps\it` or `\cond\caps\bf`. The
+modifiers keeps their internal setting until group ends or until another
+modifier which negates the previous feature is used. So
+`\caps \rm... \it...` uses normal and italics in Caps and SmallCaps.
+
+\new
+There is one special variant selector `\currvar` which does not change the
+selected variant but reloads the font in respect of tne (maybe newly
+specified) font slector(s).
+
+\new Most declared font families are configured with recommended Unicode
+Math font. This font is automaticlally loaded unless you specify
+`\noloadmath` before first `\fontfam` command. See log file for more
+information about loading Text font family and UnicodeMath fonts. If you
+prefer another Unicode Math font, specify it by `\loadmath{[<font_file>]}`
+or `\loadmath{font_name}` before first `\loadfam` command.
+
+The `\em` macro acts as `\it` if the current font is `\rm`, acts as `\rm` if
+the current font is `\it`, acts as `\bi` if the current font is `\bf` and
+acts as `\bf` if the current font is `\bi`. The `\/` spaces are inserted
+automatically. Example:
+
+\begtt
+This is {\em important} text. % = This is {\it important\/} text.
+\it This is {\em important} text. % = This is\/ {\rm important} text.
+\bf This is {\em important} text. % = This is {\bi important\/} text.
+\bi This is {\em important} text. % = This is\/ {\bf important} text.
+\endtt
+
+\new
+More about the \OpTeX/ font selection system is written the file
+`fonts-select.opm`. You can mix more font families in your document, you can
+declare your variant selectors o modifiers etc.
+
+\new
+The `\boldify` macro can be used for titles. It sets `\it` to `\bi` and
+`\rm` to `\bf`. It means that user can write `{\it something}` in the title
+and the result is the same as `{\bi something}`. Math formulae are in bold
+variant too. The `\boldify` macro has local validity like others font
+modifiers. Example:
+
+\begtt
+{\boldify\typosize[14/16] Title in {\it bold}\par}
+\endtt
+
+
+\sec Font sizes
+%%%%%%%%%%%%%%%
+
+The commands for font size setting described below, for variant selectors and
+modifiers desribed above have local validity. If you put them into a group,
+the font features are selected locally.
+
+The command `\typosize[<fontsize>/<baselineskip>]` sets the font size of text and
+math fonts and baselineskip. If one of these two parameters is empty, the
+corresponding feature stays unchanged. Don't write the unit of these
+parameters. The unit is internally set to `\ptunit` which is 1pt by default.
+You can change the unit by the command `\ptunit=<something-else>`,
+for instance `\ptunit=1mm` enlages all font sizes declared by `\typosize`.
+Examples:
+
+\begtt
+\typosize[10/12] % default of plainTeX
+\typosize[11/12.5] % font 11pt, baseline 12.5pt
+\typosize[8/] % font 8pt, baseline unchanged
+\endtt
+
+The command
+`\typoscale[<font-factor>/<baselineskip-factor>]`
+sets the text and math fonts
+size and baselineskip as a multiple of the current fonts size and
+baselineskip. The factor is written in \"scaled"-like way, it means that 1000
+means factor one. The empty parameter is equal to the parameter 1000,
+i.e. the value stays unchanged. Examples:
+
+\begtt
+\typoscale[800/800] % fonts and baselineskip re-size to 80 %
+\typoscale[\magstep2/] % fonts bigger 1,44times
+\endtt
+
+First usage of `\typosize` or `\typoscale` macro in your document sets so
+called {\em main values}, i.\ e. main font size and main baselineskip. They are internally
+saved in registers `\mainfosize` and `\mainbaselineskip`.
+
+\new
+The `\typoscale` comand does scaling in respect to current values by default.
+If you want to do it in respect to main values, type `\scalemain` immediately
+before `\typoscale` command.
+
+\begtt
+\typosize[12/14.4] % first usage in document, sets main values internally
+\typosize[15/18] % bigger font
+\scalemain \typoscale[800/800] % reduces from main values, no from current.
+\endtt
+
+The size of the current font can be changed by the command
+`\thefontsize[<font-size>]` or can be rescaled by
+`\thefontscale[<factor>]`. These macros don't change math fonts sizes nor
+baselineskip.
+
+\new
+There is `\setfontsize{<size_spec>}` command which behaves like other
+font modifiers. For example `\setfontsize{at15pt}\currvar`.
+
+More information about resizing of fonts is documented in `fonts-resize.opm`
+file.
+
+
+\sec Parts of the document
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+The document can be divided into chapters, sections and subsections and titled
+by `\tit` command. The parameters are separed by the end of current line (no
+braces are used):
+
+\begtt
+\tit Document title <end of line>
+\chap Chapter title <end of line>
+\sec Section title <end of line>
+\secc Subsection title <end of line>
+\endtt
+
+The chapters are numbered by one number, sections by two numbers
+(chapter.section) and subsections by three numbers. If there are no chapters
+then section have only one number and subsection two.
+
+The implicit design of the titles of chapter etc.\ are implemented in the
+macros `\printchap`, `\printsec` and `\printsecc`. User can simply change
+these macros if he/she needs another behavior.
+
+The first paragraph after the title of chapter, section and subsection is
+not indented but you can type `\let\firstnoindent=\relax` if you need all
+paragraphs indented.
+
+If a title is so long then it breaks to more lines. It is better to hint the
+breakpoints because \TeX/ does not interpret the meaning of the title.
+User can put the `\nl` (it means newline) macro to the breakpoints.
+
+The chapter, section or subsection isn't numbered if the `\nonum` precedes.
+And the chapter, section or subsection isn't delivered to the table of
+contents if `\notoc` precedes.
+
+
+\sec Another numbered objects
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+Apart from chapters, sections and subsections, there are another
+automatically numbered objects: equations and captions for tables and
+figures.
+
+If user write the `\eqmark` as the last element of the display mode then
+this equation is numbered. The format is one number in brackets. This number
+is reset in each section.
+
+If the `\eqalignno` is used, then user can put `\eqmark` to the last column
+before `\cr`. For example:
+
+\begtt
+\eqalignno{
+ a^2+b^2 &= c^2 \cr
+ c &= \sqrt{a^2+b^2} & \eqmark \cr}
+\endtt
+
+The next numbered object is caption which is tagged by `\caption/t` for
+tables and `\caption/f` for figures. Example:
+
+\begtt
+\hfil\table{rl}{
+ age & value \crl\noalign{\smallskip}
+ 0--1 & unmeasured \cr
+ 1--6 & observable \cr
+ 6--12 & significant \cr
+ 12--20 & extremal \cr
+ 20--40 & normal \cr
+ 40--60 & various \cr
+ 60--$\infty$ & moderate}
+\par\nobreak\medskip
+\caption/t The dependency of the computer-dependency on the age.
+\endtt
+
+This example produces:
+
+\bigskip
+{\def\addto#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}}
+\hfil\table{rl}{age & value \crl\noalign{\smallskip}
+ 0--1 & unmeasured \cr
+ 1--6 & observable \cr
+ 6--12 & significant \cr
+ 12--20 & extremal \cr
+ 20--40 & normal \cr
+ 40--60 & various \cr
+ 60--$\infty$ & moderate}
+\par\nobreak\medskip
+{ \leftskip=\parindent plus1fil
+ \rightskip=\parindent plus-1fil
+ \parfillskip=0pt plus2fil \noindent
+{\bf Table 2.3} The dependency of the com\-puter-dependency on the age.\par}
+}
+\bigskip
+
+The word \"Table" followed by a number is added by the macro
+`\caption/t`.
+
+The macro `\caption/f` creates the word figure.
+The caption text is centered. If it occupies more lines then the
+last line is centered.
+
+The added word (table, figure) depends on the actual number of the
+`\language` register. \OpTeX/ implements the mapping from `\language`
+numbers to the languages and the mapping from languages to the generated
+words.
+
+If you wish to make the table or figure as floating object, you need to use
+plain \TeX/ macros `\midinsert`, `\topinsert` and `\endinsert`.
+
+Each automatically numbered object can be referenced, if the
+`\label[<label>]` command precedes. The reference commands are
+`\ref[<label>]` and `\pgref[<label>]`. Example:
+
+\begtt
+\label[beatle] \sec About Beatles
+
+\label[comp-dependence]
+\hfil\table{rl}{...} % the table
+\caption/t The dependency of the computer-dependency on the age.
+
+\label[pythagoras]
+$$ a^2 + b^2 = c^2 \eqmark $$
+
+Now we can point to the section~\ref[beatle] on the page~\pgref[beatle]
+or write about the equation~\ref[pythagoras]. Finally there
+is an interesting Table~\ref[comp-dependence].
+\endtt
+
+If there are forward referenced objects then user have to run \TeX{} twice.
+During each pass, the working `*.ref` file (with refereces data) is created
+and this file is used (if it exists) at the begin of the document.
+
+You can create a reference to whatever else by commands
+`\label[<label>]\wlabel{<text>}`. The connection between <label> and
+<text> is established. The `\ref[<label>]` will print <text>.
+
+
+\sec Lists
+%%%%%%%%%%
+
+The list of items is surrounded by `\begitems` and `\enditems` commands.
+The asterisk (`*`) is active within this environment and it starts one item.
+The item style can be chosen by `\style` parameter written after `\begitems`:
+
+\begtt
+\style o % small bullet
+\style O % big bullet (default)
+\style - % hyphen char
+\style n % numbered items 1., 2., 3., ...
+\style N % numbered items 1), 2), 3), ...
+\style i % numbered items (i), (ii), (iii), ...
+\style I % numbered items I, II, III, IV, ...
+\style a % items of type a), b), c), ...
+\style A % items of type A), B), C), ...
+\style x % small rectangle
+\style X % big rectangle
+\endtt
+
+Another style can be defined by the command `\sdef{_item:<style>}{<text>}`.
+Default item can be redefined by `\def\normalitem{<text>}`.
+The list environments can be nested. Each new level of item is indented by
+next multiple of `\iindent` which is set to `\parindent` by default.
+The vertical space at begin and end of the environment is inserted by the
+macro `\iiskip`.
+
+
+\sec Table of contents
+%%%%%%%%%%%%%%%%%%%%%%
+
+The `\maketoc` command prints the table of contents of all `\chap`, `\sec`
+and `\secc` used in the document. These data are read from external `*.ref` file, so
+you have to run \TeX/ more than once (typically three times if the table of
+contents is at the beginning of the document).
+
+The name of the section with table of contents is not printed. The direct usage
+of `\chap` or `\sec` isn't recommended here because the table of contents
+is typically not referenced to itself. You can print the unnumbered and unreferenced
+title of the section by the code:
+
+\begtt
+\nonum\notoc\sec Table of Contents
+\endtt
+
+
+\sec Making the index
+%%%%%%%%%%%%%%%%%%%%%
+
+The index can be included into document by `\makeindex` macro. No external
+program is needed, the alphabetical sorting are done inside \TeX/ at macro
+level.
+
+The `\ii` command (insert to index) declares the word separated by the space
+as the index item. This declaration is represented as invisible atom on the
+page connected to the next visible word. The page number of the page where
+this atom occurs is listed in the index entry. So you can type:
+
+\begtt
+The \ii resistor resistor is a passive electrical component ...
+\endtt
+
+You cannot double the word if you use the `\iid` instead `\ii`:
+
+\begtt
+The \iid resistor is a passive electrical component ...
+or:
+Now we'll deal with the \iid resistor .
+\endtt
+
+Note that the dot or comma have to be separated by space when `\iid` is
+used. This space (before dot or comma) is removed by the macro in
+the current text.
+
+The multiple-words entries are commonly organized in the index by the format
+(for example):
+
+\medskip
+
+linear~dependency 11, 40--50
+
+--- independency 12, 42--53
+
+--- space 57, 76
+
+--- subspace 58
+
+\medskip
+
+To do this you have to declare the parts of the words by the `/` separator.
+Example:
+
+\begtt
+{\bf Definition.}
+\ii linear/space,vector/space
+{\em Linear space} (or {\em vector space}) is a nonempty set of...
+\endtt
+
+The number of the parts of one index entry is unlimited. Note, that you can
+spare your typing by the comma in the `\ii` parameter. The previous example
+is equivalent to `\ii linear/space` `\ii vector/space`.
+
+Maybe you need to propagate to the index the similar entry to the
+linear/space in the form space/linear. You can do this by the shorthand `,@`
+at the end of the `\ii` parameter. Example:
+
+\begtt
+\ii linear/space,vector/space,@
+is equivalent to:
+\ii linear/space,vector/space \ii space/linear,space/vector
+\endtt
+
+If you really need to insert the space into the index entry, write `~`.
+
+The `\makeindex` creates the list of alphabetically sorted index entries
+without the title of the section and without creating more columns. \OpTeX/
+provides another macros for more columns:
+
+\begtt
+\begmulti <number of columns>
+<text>
+\endmulti
+\endtt
+
+The columns will be balanced. The Index can be printed by the following
+code:
+
+\begtt
+\sec Index\par
+\begmulti 3 \makeindex \endmulti
+\endtt
+
+Only {\em pure words} can be propagated to the index by the `\ii` command. It
+means that there cannot be any macro, \TeX/ primitive, math selector etc.
+But there is another possibility to create such complex index entry. Use
+``pure equivalent'' in the `\ii` parameter and map this equivalent to the
+real word which is printed in the index by `\iis` command. Example:
+
+\begtt
+The \ii chiquadrat $\chi$-quadrat method is
+...
+If the \ii relax `\relax` command is used then \TeX/ is relaxing.
+...
+\iis chiquadrat {$\chi$-quadrat}
+\iis relax {{\tt \char`\\relax}}
+...
+\endtt
+
+The `\iis <equivalent> {<text>}` creates one entry in the {\em dictionary
+of the exceptions}. The sorting is done by the <equivalent> but the
+<text> is printed in the index entry list.
+
+The special sorting by the Czech or Slovak standard of alphabetical sorting
+can be activated by `\cssort`. Another languages should be implemented in
+future.
+
+
+\sec Colors
+%%%%%%%%%%%
+
+\OpTeX/ provides a small number of color selectors:
+{\localcolor\Blue `\Blue`},
+{\localcolor\Red `\Red`},
+{\localcolor\Brown `\Brown`},
+{\localcolor\Green `\Green`},
+{\localcolor\Yellow `\Yellow`},
+{\localcolor\Cyan `\Cyan`},
+{\localcolor\Magenta `\Magenta`},
+{`\White`},
+{\localcolor\Grey `\Grey`},
+{\localcolor\LightGrey `\LightGrey`} and
+`\Black`. User can define more
+such selectors by setting the CMYK components. For example
+
+\begtt
+\def\Orange{\setcmykcolor{0 0.5 1 0}}
+\endtt
+
+The current color in CMYK format is saved in the `\currentcolor` macro, thus you
+can save it to your macro by `\let\yourmacro=\currentcolor` and you can return to
+this color by the command `\setcmykcolor\yourmacro`.
+
+The color selectors work globally by default. It means that colors don't
+respect the \TeX/ groups and you have to return back to the black
+typesetting explicitly by the `\Black` selector.
+
+\OpTeX/ provides the macro `\localcolor`. If it is used then the
+colors return back to the original value after \TeX/ groups automatically.
+The macro has local validity. You can use it at begin of your document
+(for all \TeX/ groups) or only in selected \TeX/ group (for this group
+and nested goups). Example:
+
+\begtt
+\Red The text is red
+{\localcolor \Blue here is blue {\Green and green}
+ restored blue \Brown and brown}
+now the text is red.
+\endtt
+
+\def\coloron#1#2#3{%
+ \setbox0=\hbox{#3}\leavevmode
+ {\localcolor\rlap{#1\strut \vrule width\wd0}#2\box0}%
+}
+The more usable example follows. It defines a macro which creates the
+\coloron\Yellow\Brown{colored text on the}
+\coloron\Yellow\Brown{colored background}. Usage:
+`\coloron<background><foreground>{<text>}`
+
+The `\coloron` can be defined as follows:
+
+\begtt
+\def\coloron#1#2#3{%
+ \setbox0=\hbox{#3}\leavevmode
+ {\localcolor\rlap{#1\strut \vrule width\wd0}#2\box0}%
+}
+\coloron\Yellow\Brown{The brown text on the yellow backround}
+\endtt
+
+{\bf The watermark} is grey text on the backrounf of the page. \OpTeX/ offers
+an example: the macro `\draft` which creates grey scaled and rotated text
+DRAFT on the background of every page.
+
+
+\sec Hyperlinks, outlines
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+If the command `\hyperlinks{<color-in>}{<color-out>}` is used at the beginning of
+the file, then the following objects are hyperlinked when PDF output is used:
+
+\begitems
+* numbers generated by `\ref` or `\pgref`,
+* numbers of chapters, sections and subsections in the table of contents,
+* numbers or marks generated by `\cite` command (bibliography references),
+* texts printed by `\url` command.
+\enditems
+
+The last object is an external link and it is colored by
+`<color-out>`. Others links are internal and they are colored by
+`<color-in>`. Example:
+
+\begtt
+\hyperlinks \Blue \Green % internal links blue, URLs green.
+\endtt
+
+You can use another marking of active links: by frames which are visible in
+the PDF viewer but invisible when the document is printed. The way to do it
+is to define the macros `\pgborder`, `\tocborder`, `\citeborder`,
+`\refborder` and `\urlborder` as the triple of RGB components of the used
+color. Example:
+
+\begtt
+\def\tocborder {1 0 0} % links in table of contents: red frame
+\def\pgborder {0 1 0} % links to pages: green frame
+\def\citeborder {0 0 1} % links to references: blue frame
+\endtt
+
+By default these macros are not defined. It means that no frames are created.
+
+There are {\em low level} commands to create the links. You can specify the
+destination of the internal link by `\dest[<type>:<label>]`. The
+active text linked to the `\dest` can be created by
+`\link[<type>:<label>]{<color>}{<text>}`. The `<type>` parameter is one of
+the `toc`, `pg`, `cite`, `ref` or another special for your purpose.
+
+The `\url` macro prints its parameter in `\tt` font and creates a potential
+breakpoints in it (after slash or dot, for example). If `\hyperlinks`
+declaration is used then the parameter of `\url` is treated as an external URL link.
+An example: `\url{http://www.olsak.net}` creates \url{http://www.olsak.net}.
+The charecters \code{\%}, `\`, `#`, `{` and `}` have to be protected by
+backslash in the `\url` argument, the other special charecters `~`,
+`^`, `&` can be written as single character\fnote
+{More exactly, there is the same rules as for \code{\\code} command, see
+section~\ref[verbatim].}.
+You can insert the `\|` command
+in the `\url` argument as a potential breakpoint.
+
+If the linked text have to be different than the URL, you can use
+`\ulink[<url>]{text}` macro. For example:
+
+\begtt
+\ulink[http://petr.olsak.net/optex]{\OpTeX/ page}
+\endtt
+creates
+\ulink[http://petr.olsak.net/optex]{\OpTeX/ page}.
+
+The PDF format provides {\em outlines} which are notes placed in the special frame of
+the PDF viewer. These notes can be managed as structured and hyperlinked
+table of contents of the document. The command `\outlines{<level>}` creates
+such outlines from data used for table of contents in the document. The
+<level> parameter gives the level of opened sub-outlines
+in the default view. The deeper levels can be open by mouse click on the
+triangle symbol after that.
+
+The command `\insertoutline{<text>}` inserts next entry into PDF outlines at
+the main level~0. This entry can be placed before table of contents (created
+by `\outlines`) or after it.
+
+
+\label[verbatim]\sec Verbatim
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+The display verbatim text have to be surrounded by the `\begtt` and
+`\endtt` couple.
+The in-line verbatim have to be tagged (before and after)
+by a character which is declared by
+`\activettchar<char>`. For example \code{\\activettchar`}
+declares the character \code{`}
+for in-line verbatim markup.
+And you can use \code{`\\relax`} for
+verbatim `\relax` (for example).
+\new
+Another alternative of printing in-line
+verbatim text is `\code{<text>}` (see below).
+
+If the numerical register `\ttline` is set to the non-negative value then
+display verbatim will number the lines. The first line has the number
+`\ttline+1` and when the verbatim ends then the `\ttline` value is equal to the
+number of last line printed. Next `\begtt...\endtt` environment will follow
+the line numbering. \OpTeX/ sets `\ttline=-1` by default.
+
+The indentation of each line in display verbatim is controlled by
+`\ttindent` register. This register is set to the `\parindent` by default.
+User can change values of the `\parindent` and `\ttindent` independently.
+
+The `\begtt` command starts internal group in which the catcodes are changed.
+\new
+Then the `\tthook` string reister is run. It is empty by default and user can
+control fine behavior by it. For example the cactodes can be reset here. If
+you need to define active character in the `\tthook`, use `\adef` as in the
+following example:
+
+\begtt \adef@{\string\endtt}
+\tthook={\adef!{?}\adef?{!}}
+\begtt
+Each occurrence of the exclamation mark will be changed to
+the question mark and vice versa. Really? You can try it!
+@
+\endtt
+
+The `\adef` command sets its parameter as active {\it after\/}
+the body of `\tthook` is read. So you can't worry about active
+categories.
+
+The `\tthook` is applied to all `\begtt...\endtt` environments (if it is not
+decared in a group). There are tips for such global `\tthook` definitions here:
+
+\begtt
+\tthook={\typosize[9/11]} % setting font size for verbatim
+\tthook={\ttline=0} % each listing will be numbered from one
+\tthook={\adef{ }{\char9251 }} % visualisation of spaces (unicode fonts)
+\endtt
+
+\new
+If you want to apply a `\tthook` material only for one `\begtt...\endtt`
+environment then don't set any `\tthook` but put desired material at the
+same line where `\begtt` is. For example:
+
+\begtt \adef@{\string\endtt}
+\begtt \adef!{?}\adef?{!}
+Each occurrence of ? will be changed to ! and vice versa.
+@
+\endtt
+
+The in-line verbatim surrounded by an `\activettchar` doesn't work in
+parameter of macros and macro definitions, especially in titles declared by
+`\chap`, `\sec` etc.
+\new
+You ca use more robust command `\code{<text>}` in such
+situations, but you must escape following charaters in the <text>:
+`\`, `#`, `%`, braces (if the braces are unmatched in the <text>),
+and space or `^` (if there are more than one subsequent spaces or `^` in
+the <text>). Examples:
+
+\begtt
+\code{\\text, \%\#} ... prints \text, %#
+\code{@{..}*&^$ $} ... prints @{..}*&^$ $ without escaping, but you can
+ escape these characters too, if you want.
+\code{a \ b} ... two spaces between a b, the second one must be escaped
+\code{xy\{z} ... xy{z ... unbalanced brace must be escaped
+\code{^\^M} ... prints ^^M, the second ^ must be escaped
+\endtt
+
+There is an alternative to `\tthook` named `\intthook` which is used for
+in-line verbatim surrounded by an `\activettchar` or processed by the `\code`
+command.
+
+You can print verbatim listing from external files by `\verbinput` command.
+Examples:
+
+\begtt
+\verbinput (12-42) program.c % listing from program.c, only lines 12-42
+\verbinput (-60) program.c % print from begin to the line 60
+\verbinput (61-) program.c % from line 61 to the end
+\verbinput (-) program.c % whole file is printed
+\verbinput (70+10) program.c % from line 70, only 10 lines printed
+\verbinput (+10) program.c % from the last line read, print 10 lines
+\vebrinput (-5+7) program.c % from the last line read, skip 5, print 7
+\verbinput (+) program.c % from the last line read to the end
+\endtt
+
+
+The `\ttline` influences the line numbering by the same way as in
+`\begtt...\endtt` environment. If `\ttline=-1` then real line numbers are
+printed (this is default). If \code{\\ttline<-1} then no line
+numbers are printed.
+
+The `\verbinput` can be controlled by `\tthook`, `\ttindent` just like
+in `\begtt...\endtt`.
+
+
+\sec Tables
+%%%%%%%%%%%
+
+The macro `\table{<declaration>}{<data>}` provides similar <declaration>
+as in \LaTeX: you can use letters `l`, `r`, `c`, each letter declares
+one column (aligned to left, right, center respectively).
+These letters can be combined by the `|` character (vertical line). Example
+
+\begtt
+\table{||lc|r||}{ \crl
+ Month & commodity & price \crli \tskip.2em
+ January & notebook & \$ 700 \cr
+ February & skateboard & \$ 100 \cr
+ July & yacht & k\$ 170 \crl}
+\endtt
+%
+generates the following result:
+
+\bigskip
+\hfil\table{||lc|r||}{ \crl
+ Month & commodity & price \crli
+ \tskip.2em
+ January & notebook & \$ 700 \cr
+ February & skateboard & \$ 100 \cr
+ July & yacht & k\$ 170 \crl}
+\bigskip
+
+Apart from `l`, `r`, `c` declarators, you can use the `p{<size>}` declarator
+which declares the column of given width. More preciselly, a long text in
+the table cell is printed as an paragraph with given width.
+To avoid the problems with narrow left-right aligned paragraphs you can write
+`p{<size>\raggedright}`, then the paragraph will be only left aligned.
+
+You can use `(<text>)` in the <declaration>. Then this text is applied in
+each line of table. For example `r(\kern10pt)l` adds more 10\,pt space
+between `r` and `l` rows.
+
+An arbitrary part of the <declaration> can be repeated by a <number>
+prefixed. For example `3c` means `ccc` or `c 3{|c}` means
+`c|c|c|c`. Note that spaces in the <declaration> are ignored and you
+can use them in order to more legibility.
+
+The command `\cr` used in the <data> part of the table (the end row
+separator) is generally known.
+Moreover \OpTeX/ defines following similar commands:
+
+\begitems
+* `\crl` \dots\ the end of the row with a horizontal line after it.
+* `\crli` \dots\ like `\crl` but the horizontal line doesn't intersect the
+ vertical double lines.
+* `\crlli` \dots\ like `\crli` but horizontal line is doubled.
+* `\crlp{<list>}` \dots\ like `\crli` but the lines are drawn only in the
+ columns mentioned in comma separated `<list>` of their numbers.
+ The <list> can include `<from>-<to>` declarators, for example
+ `\crlp{1-3,5}` is equal to `\crlp{1,2,3,5}`.
+\enditems
+
+The `\tskip<dimen>` command works like the `\noalign{\vskip<dimen>}`
+after `\cr*` commands but it doesn't interrupt the vertical lines.
+
+The configuration macros for `\table` are defined in the following listing
+with their default values:
+
+\begtt
+\def\tabiteml{\enspace} % left material in each column
+\def\tabitemr{\enspace} % right material in each column
+\def\tabstrut{\strut} % strut inserted in each line
+\def\vvkern{1pt} % space between double vertical line
+\def\hhkern{1pt} % space between double horizontal line
+\endtt
+
+If you do `\def\tabiteml{$\enspace}\def\tabitemr{\enspace$}` then
+the `\table` acts like \LaTeX's array environment.
+
+If there is an item which spans to more than one column in the table then
+`\multispan{<number>}` macro from plain \TeX{} can help you or, you can use
+`\mspan<number>[<declaration>]{<text>}`
+which spans <number> columns and formats the <text> by the
+<declaration>. The <declaration> must include a declaration of right one column
+with the same syntax as comon `\table` <declaration>.
+If your table includes vertical rules and you want to
+create continuous vertical rules by `\mspan`, then use rules
+only after `c`, `l` or `r` letter in `\mspan` <declaration>. The
+exception is only in the case when `\mspan` includes first
+column and the table have rules on the left side. The example of `\mspan` usage is below.
+
+The `\frame{<text>}` makes a frame around <text>. You can put the whole `\table`
+into `\frame` if you need double-ruled border of the table. Example:
+
+\begtt
+\frame{\table{|c||l||r|}{ \crl
+ \mspan3[|c|]{\bf Title} \crl \noalign{\kern\hhkern}\crli
+ first & second & third \crlli
+ seven & eight & nine \crli}}
+\endtt
+%
+creates the following result:
+
+%\bigskip
+\hfil\frame{\table{|c||l||r|}{\crl
+ \mspan3[|c|]{\bf Title} \crl \noalign{\kern\hhkern}\crli
+ first & second & third \crlli
+ seven & eight & nine \crli}}
+\bigskip
+
+The `c`, `l`, `r` and `p` are default <declaration> letters but you can define
+more such letters by `\def\tabdeclare<letter>{<left>##<right>}`. More about
+it is in technical documentation in the file `table.opm`.
+
+The rule width of tables (and implicit width of all `\vrule`s and `\hrule`s)
+can be set by the command `\rulewidth=<dimen>`. The default value given
+by \TeX/ is 0.4\,pt.
+
+Many tips about tables can be seen on
+\url{http://petr.olsak.net/opmac-tricks-e.html}.
+
+
+\sec Images
+%%%%%%%%%%%
+
+The `\inspic <filename>.<extension><space>` inserts the picture stored in
+the graphics file with the name `<filename>.<extension>`.
+You can set the picture width by `\picw=<dimen>`
+before `\inspic` command which declares the width of the picture
+The image files can be in the PNG, JPG, JBIG2 or PDF format.
+
+The `\picwidth` is an equivalent the register to `\picw`. Moreover there is an
+`\picheight` register which denotes the height of the picture. If both
+registers are set then the picture will be (probably) deformed.
+
+The image files are searched in `\picdir`. This macro is empty by default, this
+means that the image files are searched in the current directory.
+
+
+
+\sec PDF transformations
+%%%%%%%%%%%%%%%%%%%%%%%%
+
+All typesetting elements are transformed in pdf\TeX{} by linear
+transformation given by the current transformation matrix. The
+`\pdfsetmatrix {<a> <b> <c> <d>}` command makes the internal multiplication
+with the current matrix so linear transformations can be composed. The
+stack-oriented commands `\pdfsave` and `\pdfrestore` gives a possibility of
+storing and restoring the current transformation matrix and current point.
+The possition of current point have to be the same from \TeX{}'s point of
+view as from transformation point of view when `\pdfrestore` is processed.
+Due to this fact the `\pdfsave\rlap{<transformed text>}\pdfrestore`
+or something similar is recomeded.
+
+\OpTeX/ provides the macros
+
+\begtt
+\pdfscale{<horizontal-factor>}{<vertical-factor>}
+\pdfrotate{<angle-in-degrees>}
+\endtt
+
+These macros simply calls the
+properly `\pdfsetmatrix` primitive command.
+
+It is known that the comosition of transformations is not commutative. It
+means that the order is important. You have to read the tranformation
+matrices from right to left. Example:
+
+\begtt
+First: \pdfsave \pdfrotate{30}\pdfscale{-2}{2}\rlap{text1}\pdfrestore
+ % text1 is scaled two times and it is reflected about vertical axis
+ % and next it is rotated by 30 degrees left.
+second: \pdfsave \pdfscale{-2}{2}\pdfrotate{30}\rlap{text2}\pdfrestore
+ % text2 is rotated by 30 degrees left then it is scaled two times
+ % and reflected about vertical axis.
+third: \pdfsave \pdfrotate{-15.3}\pdfsetmatrix{2 0 1.5 2}\rlap{text3}%
+ \pdfrestore % first slanted, then rotated by 15.3 degrees right
+\endtt
+%
+\par\nobreak\bigskip\smallskip
+This gives the following result.
+First: \pdfsave \pdfrotate{30}\pdfscale{-2}{2}\rlap{text1}\pdfrestore
+second: \pdfsave \pdfscale{-2}{2}\pdfrotate{30}\rlap{text2}\pdfrestore
+third: \pdfsave \pdfrotate{-15.3}\pdfsetmatrix{2 0 1.5 2}\rlap{text3}\pdfrestore
+\bigskip\bigskip
+
+
+\sec Footnotes and marginal notes
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+The plain \TeX/'s macro `\footnote` can be used as usual. But a new macro
+`\fnote{<text>}` is defined. The footnote mark is added automatically and it
+is numbered on each page from one\fnote
+{This behavior is changed if \code{\\runningfnotes} is used:
+the footnotes are numbered from one in whole document in such case.
+Alternatives are possible, see OPmac tricks.}.
+The <text> is scaled by
+`\typoscale[800]`. The implicit visual aspect of the footnote mark is defined by
+`\def\thefnote{$^{\locfnum}$}`.
+%\fnote{%
+% Note the right parenthesis in the mark. This isn't bug, this is used in Czech
+% traditional typography. If you need to remove it, you can define
+% {\def\s{\string}\tt\s\def\s\thefnote\s{\$\s^\s{\s\locfnum\s}\$\s}}.
+% }.
+User can redefine it, for example:
+
+\begtt
+\def\thefnote{\ifcase\locfnum\or *\or**\or***\or$^{\dag}$\or
+ $^{\ddag}$\or$^{\dag\dag}$\fi}
+\endtt
+
+The `\fnote` macro is fully applicable only in \"normal outer" paragraph.
+It doesn't work inside boxes (tables for example). If you are solving such
+case you can use `\fnotemark<number>` inside the box (only the footnote mark is
+generated). When the box is finished you can use `\fnotetext{<text>}`. This
+macro puts the <text> to the footnote. The <number> after `\fnotemark`
+have to be "1" if only one such command is in the box. Second `\fnotemark`
+inside the same box have to have the parameter `2` etc.
+The same number of `\fnotetext`s have to be written
+after the box as the number of `\fnotemark`s inserted inside the box.
+
+The marginal note can be printed by the `\mnote{<text>}` macro. The <text>
+is placed to the right margin on the odd pages and it is placed to the left
+margin on the even pages. This is done after second \TeX{} run because the
+relevant information is stored in an external file. If you need to place the
+notes only to the fixed margin write `\fixmnotes\right` or
+`\fixmnotes\left`.
+
+The <text> is formatted as a little paragraph with the maximal width
+`\mnotesize` ragged left on the left margins or ragged right on the right
+margins. The first line of this little paragraph is at the same height as
+the invisible mark created by `\mnote` in the current paragraph. The
+exceptions are possible by `\mnoteskip` register. You can implement such
+exceptions to each `\mnote` manually in final printing in order to margin
+notes do not overlap. The positive value of `\mnoteskip` shifts the note up
+and negative value shifts it down. For example
+`\mnoteskip=2\baselineskip \mnote{<text>}` shifts this (and only this) note
+two lines up.
+
+
+\sec Bib\TeX/ing
+%%%%%%%%%%%%%%%%
+
+The command `\cite[<label>]` or its variants of the type
+\hbox{`\cite[<label-1>,<label-2>,<label-3>]`}
+create the citations in the form [42] or [15,~19,~26].
+If `\shortcitations` is declared at the beginning of the document then
+continuous sequences of numbers are re-printed like this:
+\hbox{[3--5,~7,~9--11]}. If
+`\sortcitations` is declared then numbers generated by one `\cite` command
+are sorted upward.
+
+If `\nonumcitations` is used then the marks instead numbers are generated
+depending on the used bib\TeX{} style. For example the citations look like
+[Now08] or [Nowak, 2008], it depends on <style> used (see below).
+
+The `\rcite[<labels>]` creates the same list as `\cite[<labels>]` but without
+the outer brackets. Example: `[\rcite[tbn], pg.~13]` creates [4,~pg.13].
+
+The `\ecite[<label>]{<text>}` prints the `<text>` only, but the entry labeled
+<label> is decided as to be cited. If `\hyperlinks` is used then <text>
+is linked to the references list.
+
+You can define alternative formating of `\cite` command. Example:
+
+\begtt
+\def\cite[#1]{(\rcite[#1])} % \cite[<label>] creates (27)
+\def\cite[#1]{$^{\rcite[#1]}$} % \cite[<label>] creates^{27}
+\endtt
+
+The numbers printed by `\cite` correspond to the same numbers generated in
+the list of references.
+There are two possibilities to generate this
+references list:
+
+\begitems
+* Manually using `\bib[<label>]` commands.
+* By `\usebib/<type> (<style>) <bbl-base>` command which reads `*.bib`
+ databases directly.
+\enditems
+
+\new
+Note that another two possibilities documented in OPmac (using external
+Bib\TeX/ program) isn't supported because Bib\TeX/ is old program which does not
+supports Unicode. And Biber seems to be not compliant with Plain \TeX.
+
+\medskip\noindent
+{\bf References created manually using `\bib[<label>]` command.}
+
+\begtt
+\bib [tbn] P. Olšák. {\it\TeX{}book naruby.} 468~s. Brno: Konvoj, 1997.
+\bib [tst] P. Olšák. {\it Typografický systém \TeX.}
+ 269~s. Praha: CSTUG, 1995.
+\endtt
+
+If you are using `\nonumcitations` then you need to declare the <marks>
+used by `\cite` command. To do it you must use long form of the `\bib`
+command in the format `\bib[<label>] = {<mark>}`. The spaces around
+equal sign are mandatory. Example:
+
+\begtt
+\bib [tbn] = {Olšák, 2001}
+ P. Olšák. {\it\TeX{}book naruby.} 468~s. Brno: Konvoj, 2001.
+\endtt
+
+\noindent
+{\bf Direct reading of `.bib` files} is possible by `\usebib` macro.
+This macro reads macro package `opmac-bib.tex` (on demand) which uses the external
+package `librarian.tex` by Paul Isambert. The usage is:
+
+\begtt
+\usebib/c (<style>) <bib-base> % sorted by \cite-order (c=cite),
+\usebib/s (<style>) <bib-base> % sorted by style (s=style).
+% example:
+\usebib/s (simple) op-example
+\endtt
+
+The <bib-base> is one or more `*.bib` database source files (separated by
+spaces and without extension) and the <style> is the part of the filename
+`bib-<style>.opm` where the formatting of the references list is
+defined. Possible styles are `simple` or `iso690`. The behavior of
+`opmac-bib.tex` and `opmac-bib-iso690.tex` is full documented in these files
+(after `\endinput` command).
+
+The command `\usebib` select from database files only such bib-records which
+were used in `\cite` or `\nocite` commands in your document. It means, not
+all records are printed. The `\nocite` behaves as `\cite` but prints
+nothing. It only tels that mentioned bib-record should be printed in
+the reference list. If `\notcite[*]` is used then all records from <bib-base>
+are printed.
+
+\medskip\noindent
+{\bf Formatting of the references list} is controlled by the `\printb` macro.
+It is called at the begin of each entry. The default `\printb` macro prints
+the number of the entry in square brackets. If the `\nonumcitations` is set
+then no numbers are printed, only all lines (but no first one) are indented.
+The `\printb` macro can use the following values: `\the\bibnum` (the number
+of the entry) and `\the\bibmark` (the mark of the entry used when
+`\nonumcitations` is set). Examples:
+
+\begtt
+% The numbers are without square brackets:
+\def\printbib{\hangindent=\parindent \indent \llap{\the\bibnum. }}
+% Printing of <marks> when \nonumcitations is set:
+\def\printbib{\hangindent=\parindent \noindent [\the\bibmark]\quad}
+\endtt
+
+Another examples can be found on the
+\ulink[http://petr.olsak.net/opmac-tricks-e.html]{OPmac tricks WWW page}.
+
+
+\sec Typesetting math
+%%%%%%%%%%%%%%%%%%%%%
+
+\OpTeX/ preloads a collection of 7bit Computer modern and AMS fonts.
+You can use them in any size and in the `\boldmath` variant.
+
+Hundreds math symbols and operators like in AMS\TeX/ are accesible.
+For example `\alpha` $\alpha$, `\geq` $\geq$, `\sum` $\sum$,
+`\sphericalangle` $\sphericalangle$, `\bumpeq`, $\bumpeq$. See AMS\TeX/
+manual for complete list of symbols.
+
+The following math alphabets are available:
+
+\begtt \catcode`\$=3 \catcode`/=0 \medmuskip=0mu \adef{ }{ }
+\mit % mathematical variables $abc-xyz,ABC-XYZ$
+\it % text italics $/it abc-xyz,ABC-XYZ$
+\rm % text roman $/rm abc-xyz,ABC-XYZ$
+\cal % normal calligraphics $/cal ABC-XYZ$
+\script % script $/script ABC-XYZ$
+\frak % fracture $/frak abc-xyz,ABC-XYZ$
+\bbchar % double stroked letters $/bbchar ABC-XYZ$
+\bf % sans serif bold $/bf abc-xyz,ABC-XYZ$
+\bi % sans serif bold slanted $/bi abc-xyz,ABC-XYZ$
+\endtt
+
+The last two selectors `\bf` and `\bi` select the sans serif fonts regardless
+current text font family.
+
+You can use `\noloadmath` before first `\fontfam` command in your document.
+Then `\fontfam` loads only text fonts. On the other case, by default, first
+`\fontfam` command loads Unicode-math fonts related to given text font
+family and Computer Modern nor AMS fonts are not used in math formulae.
+(note, that in version Feb 2020, the Unicode math fonts are in TODO list,
+`\fontfam` commands loads only text fonts now).
+
+The math fonts can be scaled by `\typosize` and `\typoscale` macros.
+Two math fonts collections are prepared: `\normalmath` for normal weight
+and `\boldmath` for bold. The first one is set by default.
+
+
+\sec Setting the margins
+%%%%%%%%%%%%%%%%%%%%%%%%
+
+\OpTeX/ declares paper formats a4, a4l (landscape~a4), a5, a5l, b5, letter and
+user can declare another own format by `\sdef`:
+
+\begtt
+\sdef{pgs:b5l}{(250,176)mm}
+\sdef{pgs:letterl}{(11,8.5)in}
+\endtt
+
+The `\margins` command declares margins of the document. This command have
+the following parameters:
+
+\begtt
+\margins/<pg> <fmt> (<left>,<right>,<top>,<bot>)<unit>
+ example:
+\margins/1 a4 (2.5,2.5,2,2)cm
+\endtt
+
+Parameters are:
+
+\begitems
+* <pg> \dots\ `1` or `2` specifies one-page or two-pages design.
+* <fmt> \dots\ paper format (a4, a4l, a5, letter, etc. or user defined).
+* <left>, <right>, <top>, <bot> \dots\ gives the amount of left, right,
+ top and bottom margins.
+* <unit> \dots\ unit used for values <left>, <right>, <top>, <bot>.
+\enditems
+
+Each of the parameters <left>, <right>, <top>, <bot> can be empty.
+If both <left> and <right> are nonempty then `\hsize` is set. Else `\hsize`
+is unchanged. If both <left> and <right> are empty then typesetting area is
+centered in the paper format. The analogical rule works when <top> or <bot>
+parameter is empty (`\vsize` instead `\hsize` is used). Examples:
+
+\begtt
+\margins/1 a4 (,,,)mm % \hsize, \vsize untouched,
+ % typesetting area centered
+\margins/1 a4 (,2,,)cm % right margin set to 2cm
+ % \hsize, \vsize untouched, vertically centered
+\endtt
+
+If `<pg>=1` then all pages have the same margins. If `<pg>=2` then the
+declared margins are true for odd pages. The margins at the even pages are
+mirrored in such case, it means that <left> is replaced by <right> and vice
+versa.
+
+The `<fmt>` can be in the form `(<width>,<height>)<unit>` where `<unit>` is
+optional. If it is missing then `<unit>` after margins specification is
+used. For example:
+
+\begtt
+\margins/1 (100,200) (7,7,7,7)mm
+\endtt
+%
+declares the paper 100$\times$200\,mm with all four margins 7\,mm. The spaces
+before and after <fmt> parameter are necessery.
+
+The command `\magscale[<factor>]` scales the whole typesetting area.
+\new The fixed point of such scaling is the upper left corner of the paper sheet.
+Typesetting (breakpoints etc.) is unchanged. All units are relative after
+such scaling. Only paper formats dimensions stays unscaled. Example:
+
+\begtt
+\margins/2 a5 (22,17,19,21)mm
+\magscale[1414] \margins/1 a4 (,,,)mm
+\endtt
+%
+The first line sets the `\hsize` and `\vsize` and margins for final
+printing at a5 format. The setting on the second line centers the scaled
+typesetting area to the true a4 paper while breaking points for paragraphs
+and pages are unchanged. It may be usable for
+review printing. After review is done, the second line can be commented out.
+
+
+\sec The last page
+%%%%%%%%%%%%%%%%%%
+
+The number of the last page (it may be different from number of pages) is
+stored in the `\lastpage` register after first \TeX/ run if the working `*.ref`
+file is open. This file isn't open for every documents; only for those
+where the forward references are printed or table of contents is created.
+If the `*.ref` file isn't open for your document and you need to use the
+`\lastpage` register then you have to write the command `\openref`. This command opens
+the `*.ref` file immediatelly.
+
+There is an example for footlines in the format \"current page / last page":
+
+\begtt
+\footline={\hss \rm \thefontsize[10]\the\pageno/\the\lastpage \hss}
+\endtt
+
+
+\sec Using more languages
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\OpTeX/ prepares hyphenation patterns for all languafes if such patterns are
+available in your \TeX/ system.
+\new
+Only USenglish patterns (original from Plain \TeX/) are preloaded.
+Hyphenation patterns of all aother languages are loaded on demand when you first use
+the `\<iso-code>lang` command in your document.
+For example `\delang` for German, `\cslang` for
+Czech, `\pllang` for Polish. The <iso-code> is a shortcut
+of the language (mostly from ISO 639-1).
+You can list all available languages by `\langlist`
+macro. This macro prints now:
+
+\medskip
+{\typosize[9/11.5]\emergencystretch=4em \hbadness=2000
+\noindent \langlist
+\par}
+\medskip
+
+\new
+For compatibility with e-plain macros, there is the command
+`\uselanguege{<language>}`. The parameter <language> is long form of
+language name, i.e.\ `\uselanguage{Czech}` does the same work as `\cslang`.
+The `\uselanguage` parameter is case insensitive.
+
+For compatibility with \csplain/ these are macros `\ehyph`, `\chyph`,
+`\shyph` which are equivalent to `\enlang`, `\cslang` and `\sklang`.
+
+You can switch between language patterns by `\<iso-code>lang` commands mentioned
+above.
+
+\OpTeX/ needs to know three words for catpions and titles in technical
+articles: \"Chapter", \"Table" and \"Figure". THese words needs to be know
+in used language. \OpTeX/ declares these words only for few languages:
+Czech, Slovak, English. If you need to use these words in another languages,
+you can declare them by `\sdef` command
+\new
+with `_mt:chap:` `_mt:t:` and `_mt:f`
+followed by the <iso-code> of your language. Example is for Spanish
+
+
+\begtt
+\input lmfonts % Unicode fonts
+
+\sdef{_mt:chap:es}{Capítulo} % Chapter in es
+\sdef{_mt:t:es}{Cuadro} % Table in es
+\sdef{_mt:f:es}{Figura} % Figure in es
+
+\eslang % Spanish hyphenation + activation of declated "es" words
+
+\sec Mañana
+
+Mañana.
+
+\caption/f Test % generates the text "Figura 1.1 Test"
+
+\bye
+\endtt
+
+The declaration of the Spanish words \"Capítulo", \"Cuadro" and \"Figura"
+is shown in this example. You can see that such declaration is based on the
+<iso-code> `es`. The declared words are activated
+after the hyphenation selector `\eslang` is used.
+
+If you want to use sorting rules given for your language
+(used in `\makeindex` command, for example) then
+you must define the macro `\sortingdata<iso-code>`. And you can optionally
+define the `\specsortingdata<iso-code>` macro. Example:
+%{\emergencystretch=2em\par}
+
+\begtt
+\def\sortingdataes {aAäÄáÁ,bB,cCçÇ,^^P^^Q^^R,dD,...,zZ,.}
+\def\specsortingdataes {ch:^^P Ch:^^Q CH:^^R}
+\endtt
+
+There are groups of letters separated by comma and ended by comma-dot in
+the parameter of the macro `\sortingdata<iso-code>`. (In the example above, three dots must
+be replaced by real data by the user.) All letters in one group are not
+distinguished during first step of sorting (primary sorting). If some items
+are equal from this point of view then the secondary sorting is processed
+for such items where all mentioned letters are distinguished in the order
+given in the macro.
+
+Sorting algorithm can treat couple of letters (like Dz, Ch etc.) as one letter
+if the parameter of the macro `\specsortingdata<iso-code>` is defined. There is
+a space separated list of items in the form `<couple>:<one-token>`. The
+replacing from <couple> to <one-token> is done before sorting, so you can
+use `<one-token>` in the `\sortingdata<iso-code>` macro. The `<one-token>`
+must be something special not used as the letter of the alphabet. The usage of
+`^^A`, `^^B` etc. is recommended but you must avoid the `^^I` and `^^M` because
+these characters have special catcode.
+
+The macros `\sortingdata<iso-code>` and `\specsortingdata<iso-code>` are
+active when the language selector `\<iso-code>lang` is used.
+
+The list of ignored characters for sorting point of view is defined in the
+`\setignoredchars` macro. \OpTeX/ defines this macro like:
+
+{\catcode`\<=12
+\begtt
+\def\setignoredchars{\setlccodes ,.;.?.!.:.'.".|.(.).[.].<.>.=.+.{}{}}
+\endtt
+}%
+It means that comma, semicolon, question mark, \dots, plus mark are treated
+as dot and dot is ignored by sorting algorithm. You can redefine this macro,
+but you must keep the format, keep `\setlccodes` in the front and `{}{}` in
+the end.
+
+
+\sec Pre-defined styles
+%%%%%%%%%%%%%%%%%%%%%%%
+
+\OpTeX/ defines two style-declaration macros `\report` and `\letter`
+You can use them at the beginning of your document if you are
+preparing these types of document and you don't need to create your own
+macros.
+
+The `\report` declaration is intended to create reports. It
+sets default font size to 11\,pt and `\parindent` (paragraph indentation) to 1.2\,em.
+The `\tit` macro uses smaller font because we assume that \"chapter" level
+will be not used in reports. The first page has no page number, but next pages
+are numbered (from number~2). Footnotes are numbered from one in whole
+document. The macro `\author <authors><end-line>` can be used when
+`\report` is declared. It prints `<authors>` in italics at center of the
+line. You can separate authors by `\nl` to more lines.
+
+The `\letter` declaration is intended to create letters. It sets default
+font size to 11\,pt and `\parindent` to 0\,pt. It sets half-line space
+between paragraphs. The page numbers are not printed. The `\subject` macro
+can be used, it prints the word \"Subject:" or \"Věc" in bold
+depending on used language if `\sdef{_mt:subj:<iso-code>}` is defined.
+Moreover, the `\address` macro
+can be used when `\letter` is declared. The usage of the `\address` macro
+looks like:
+
+\begtt
+\address
+ <first line of address>
+ <second line of address>
+ <etc.>
+ <empty line>
+\endtt
+
+It means that you need not to use any special mark at the end of lines: end
+of lines in the source file are the same as in printed output. The
+`\address` macro creates `\vtop` with address lines. The width of such
+`\vtop` is equal to the most wide line used in it. So, you can use
+`\hfill\address...` in order to put the address box to the right side of the
+document. Or you can use `<prefixed text>\address...` to put
+`<prefixed text>` before first line of the address.
+
+Analogical declaration macros `\book` or `\slides` are not prepared. Each
+book needs an individual typographical care so you need to cerate specific
+macros for design. And you can find an inspiration of slides in OPmac tricks
+\ulink[http://petr.olsak.net/opmac-tricks-e.html\#slidy]{0017 and 0022}.
+
+
+\sec Summary
+%%%%%%%%%%%%
+
+\begtt \typosize[10/12]\adef!{\string\endtt}\adef&{\kern.25em}
+\tit Title (terminated by end of line)
+\chap Chapter Title (terminated by end of line)
+\sec Section Title (terminated by end of line)
+\secc Subsection Title (terminanted by end of line)
+
+\maketoc % table of contents generation
+\ii item1,item2 % insertion the items to the index
+\makeindex % the index is generated
+
+\label [labname] % link target location
+\ref [labname] % link to the chapter, section, subsection, equation
+\pgref [labname] % link to the page of the chapter, section, ...
+
+\caption/t % a numbered table caption
+\caption/f % a numbered caption for the picture
+\eqmark % a numbered equation
+
+\begitems % start list of the items
+\enditems % end of list of the items
+\begtt % start verbatim text
+! % end verbatim text
+\activettchar X % initialization character X for in-text verbatim
+\code % another alternative for in-text vrbatim
+\verbinput % verbatim extract from the external file
+\begmulti num % start multicolumn text (num columns)
+\endmulti % end multicolumn text
+
+\cite [labnames] % refers to the item in the lits of references
+\rcite [labnames] % similar to \cite but [] are not printed.
+\sortcitations \shortcitations \nonumcitations % cite format
+\bib [labname] % an item in the list of references
+\usebib/? (style) bib-base % direct using of .bib file, ? in {s,c}
+
+\fontfam [FamilyName] % selection of font family
+\typosize [font-size/baselineskip] % size setting of typesetting
+\typoscale [factor-font/factor-baselineskip] % size scaling
+\thefontsize [size] \thefontscale [factor] % current font size
+
+\inspic file.ext % insert a picture, extensions: jpg, png, pdf
+\table {rule}{data} % simple macro for the tables like in LaTeX
+
+\fnote % footnote (local numbering on each page)
+\mnote % note in the margin (left or right by page number)
+
+\hyperlinks {color-in}{color-out} % PDF links activate as clickable
+\outlines {level} % PDF will have a table of contents in the left tab
+
+\magscale[factor] % resize typesetting, line/page breaking unchanged
+\margins/pg format (left, right, top, bottom)unit % margins setting
+
+\report \letter % style declaration macros
+\endtt
+
+\end
diff --git a/Master/texmf-dist/doc/man/man1/optex.1 b/Master/texmf-dist/doc/man/man1/optex.1
new file mode 100644
index 00000000000..7b912e12a8c
--- /dev/null
+++ b/Master/texmf-dist/doc/man/man1/optex.1
@@ -0,0 +1,42 @@
+.TH OPTEX 1 "17 Feb. 2020" "Petr Olsak"
+.\"=====================================================================
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP\" for troff
+.el .ds OX TeX\" for nroff
+.\" the same but obliqued
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+optex \- OPmac and Plain TeX for LuaTeX engine.
+.SH SYNOPSIS
+.B optex
+[ first line ]
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page was derived from the manual page for \*(LX and is not meant
+to be exhaustive. The complete
+documentation for this version of \*(TX can be found in the info file
+or manual
+.IR "Web2C: A TeX implementation" .
+.PP
+.B OpTeX
+is LuaTeX macro package initialized as the LuaTeX format optex.fmt.
+It is based on Plain TeX macros by Donlad Knuth and on OPmac macros from
+csplain package. For more information about it see
+http://petr.olsak.net/optex web page.
+.\"=====================================================================
+.SH "SEE ALSO"
+.BR luatex (1),
+.BR tex (1),
+.br
+.SH AUTHORS
+The author of
+.B OpTeX
+is Petr Olsak.
+.PP
diff --git a/Master/texmf-dist/doc/man/man1/optex.man1.pdf b/Master/texmf-dist/doc/man/man1/optex.man1.pdf
new file mode 100644
index 00000000000..0370cc3dd67
--- /dev/null
+++ b/Master/texmf-dist/doc/man/man1/optex.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/luatex/optex/alloc.opm b/Master/texmf-dist/tex/luatex/optex/alloc.opm
index 1e27d0cc23d..6ca5939ab1f 100644
--- a/Master/texmf-dist/tex/luatex/optex/alloc.opm
+++ b/Master/texmf-dist/tex/luatex/optex/alloc.opm
@@ -55,6 +55,14 @@
\_fi
}
+\_newcount \_attributealloc \_attributealloc=0
+\_chardef\_maiattribute=\_maicount
+\_def\_newattribute #1{\_allocator #1{attribute}\_attributedef}
+
+\_newcount \_catcodetablealloc \_catcodetablealloc=10
+\_chardef\_maicatcodetable=32767
+\_def\_newcatcodetable #1{\_allocator #1{catcodetable}\_chardef}
+
\_newcount \tmpnum \_newcount \_tmpnum
\_newdimen \tmpdim \_newdimen \_tmpdim
@@ -65,8 +73,8 @@
\_newbox\_voidbox % permanently void box register
\_public
- \maicount \maidimen \maiskip \maimuskip \maibox \maitoks \mairead \maiwrite \maimath
\newcount \newdimen \newskip \newmuskip \newbox \newtoks \newread \newwrite \newmath
+ \newattribute \newcatcodetable
\insertmin \newinsert
\maxdimen \hideskip \centering \zoskip \voidbox ;
diff --git a/Master/texmf-dist/tex/luatex/optex/basics-a.opm b/Master/texmf-dist/tex/luatex/optex/basics-a.opm
deleted file mode 100644
index 988457837dc..00000000000
--- a/Master/texmf-dist/tex/luatex/optex/basics-a.opm
+++ /dev/null
@@ -1,47 +0,0 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
-
-\_codedecl \sdef {Basic macros for OpTeX <2019-05-21>}
-
-\let\_bgroup={ \let\_egroup=}
-
-\_bgroup \_lccode`\.=`\\ \_lowercase{\_egroup \_def\_nbackslash {.}}
-\_def\_empty {}
-\_def\_wlog {\_immediate\_write-1 } % write on log file (only)
-
-\_def\_sdef #1{\_ea\_def \_csname#1\_endcsname}
-\_def\_sxdef #1{\_ea\_xdef \_csname#1\_endcsname}
-\_def\_slet#1#2{\_ea\_let \_csname#1\_ea\_endcsname \_csname#2\_endcsname}
-\_def\_adef#1{\_catcode`#1=13 \_begingroup \_lccode`\~=`#1\_lowercase{\_endgroup\_def~}}
-\_def\_cs #1{\_csname#1\_endcsname}
-
-\_long\_def \_addto #1#2{\_ea\_def\_ea#1\_ea{#1#2}}
-\_ea\_def \_ea\_meaningsepare \_ea#\_ea1\_string m#2:#3->#4^{{#1}{#3}{#4}}
-
-\_long\_def\_isinlist #1#2#3{% \isinlist \list{word}\iftrue
- \_long\_def\_isinlistA ##1#2##2\_end{%
- \_def\_isinlistA {##2}%
- \_unless\_ifx\_isinlistA\_empty
- }%
- \_ea \_isinlistA #1\_endlistsep#2\_end
-}
-\_bgroup \_catcode`!=3 \_catcode`?=3
-\_gdef\_replstring #1#2#3{% \replstring #1{stringA}{stringB}
- \_long\_def\_replacestringsA##1#2{\_def #1{##1}\_replacestringsB}%
- \_long\_def\_replacestringsB##1#2{\_ifx!##1\_relax \_else \_addto #1{#3##1}%
- \_ea\_replacestringsB\_fi}%
- \_ea\_replacestringsA #1?#2!#2%
- \_long\_def\_replacestringsA##1?{\_def #1{##1}}\_ea\_replacestringsA #1}
-\_egroup
-
-\_def\_loggingall{\_tracingcommands=3 \tracingstats=2 \tracingassigns=1
- \tracingpages=1 \tracingoutput=1 \tracinglostchars=1
- \tracingmacros=2 \tracingparagraphs=1 \tracingrestores=1 }
-\_def\_tracingall{\tracingonline=1 \loggingall}
-
-\_public
- \bgroup \egroup \nbackslash \sdef \sxdef \slet \adef
- \addto \meaningsepare \wlog \empty
- \isinlist \replstring \loggingall \tracingall ;
-
-\_endcode % -------------------------------------
-
diff --git a/Master/texmf-dist/tex/luatex/optex/basics-macros.opm b/Master/texmf-dist/tex/luatex/optex/basics-macros.opm
index 368b9bd3320..638270d38b5 100644
--- a/Master/texmf-dist/tex/luatex/optex/basics-macros.opm
+++ b/Master/texmf-dist/tex/luatex/optex/basics-macros.opm
@@ -1,17 +1,16 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \sdef {Basic macros for OpTeX <2019-05-21>}
+\_codedecl \sdef {Basic macros for OpTeX <2020-02-14>}
\let\_bgroup={ \let\_egroup=}
\_bgroup \_lccode`\.=`\\ \_lowercase{\_egroup \_def\_nbackslash {.}}
\_edef \_nbb {\_nbackslash\_nbackslash}
-\_edef \_pcent{\_xstring\%}
+\_edef \_pcent{\_csstring\%}
\_def \_empty {}
\_def \_space { }
\_def \_null {\_hbox{}}
\_def \_wlog {\_immediate\_write-1 } % write on log file (only)
-\_def \_wterm {\_immediate\_write16 }
\_def \_opwarning #1{\_wterm{WARNING: #1.}}
\_def \_sdef #1{\_ea\_def \_csname#1\_endcsname}
@@ -21,16 +20,6 @@
\_def \_cs #1{\_csname#1\_endcsname}
\_long\_def \_addto #1#2{\_ea\_def\_ea#1\_ea{#1#2}}
-\_ea\_def \_ea\_meaningsepare \_ea#\_ea1\_string m#2:#3->#4^{{#1}{#3}{#4}}
-
-\_bgroup \_catcode`!=3 \_catcode`?=3
-\_gdef\_replstring #1#2#3{% \replstring #1{stringA}{stringB}
- \_long\_def\_replacestringsA##1#2{\_def #1{##1}\_replacestringsB}%
- \_long\_def\_replacestringsB##1#2{\_ifx!##1\_relax \_else \_addto #1{#3##1}%
- \_ea\_replacestringsB\_fi}%
- \_ea\_replacestringsA #1?#2!#2%
- \_long\_def\_replacestringsA##1?{\_def #1{##1}}\_ea\_replacestringsA #1}
-\_egroup
\_def\_loggingall{\_tracingcommands=3 \tracingstats=2 \tracingassigns=1
\tracingpages=1 \tracingoutput=1 \tracinglostchars=1
@@ -41,10 +30,11 @@
\_def\_remfirstunderscoreA#1#2\_relax#3{\_if _#1\_def#3{#2}\_fi}
\_public
- \bgroup \egroup \nbackslash \sdef \sxdef \slet \cs \adef
- \addto \meaningsepare \wlog \wterm \opwarning
+ \bgroup \egroup \nbackslash
\empty \space \null \nbb \pcent \ncaret
- \isinlist \replstring \remfirstunderscore \loggingall \tracingall ;
+ \sdef \sxdef \slet \cs \adef
+ \addto \wlog \opwarning
+ \loggingall \tracingall ;
\_endcode % -------------------------------------
diff --git a/Master/texmf-dist/tex/luatex/optex/bib-iso690.opm b/Master/texmf-dist/tex/luatex/optex/bib-iso690.opm
new file mode 100644
index 00000000000..a104e589214
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/optex/bib-iso690.opm
@@ -0,0 +1,922 @@
+% opmac-bib-iso690 ... the OPmac bib style for reading .bib databases
+% Petr Olsak, Apr. 2015 (beta)
+%
+% The bibliography printing from .bib files by ISO 690 standard is defied here.
+% See the end of this file and the file opmac-bib.tex for more information.
+
+\ifx\opmacbibstyle\undefined \errmessage
+ {This file can be read by ``\string\usebib/? (simple) bibfiles'' command only}
+ \endinput \fi
+
+% misc:
+
+\def\maybedot{\ifnum\spacefactor=\sfcode`\.\relax\else.\fi}
+\tmpnum=\sfcode`\. \advance\tmpnum by-2 \sfcode`\.=\tmpnum \sfcode`\?=\tmpnum \sfcode`\!=\tmpnum
+\let\.=\maybedot % prevents from double periods
+
+\CreateField {option}
+\def\isbiboption#1#2{\edef\tmp{\noexpand\isbiboptionA{#1}}\tmp}
+\def\isbiboptionA#1{\def\tmp##1 #1 ##2\relax{%
+ \if^##2^\csname iffalse\expandafter\endcsname \else\csname iftrue\expandafter\endcsname \fi}%
+ \expandafter\tmp\biboptionsi #1 \relax}
+\def\bibopt[#1]#2#3{\isbiboption{#1}\iftrue\def\tmp{#2}\else\def\tmp{#3}\fi\tmp}
+\def\biboptionvalue#1#2{\def\tmp##1 #1:##2 ##3\relax{\def#2{##2}}%
+ \expandafter\tmp\biboptionsi #1: \relax}
+
+\def\readbiboptions{%
+ \RetrieveFieldIn{option}\biboptionsi
+ \toks1=\expandafter{\biboptionsi}%
+ \ifx\biboptions\undefined \toks2={}\else \toks2=\expandafter{\biboptions}\fi
+ \edef\biboptionsi{\space \the\toks1 \space \the\toks2 \space}%
+}
+
+% Formating of Author/Editor lists:
+
+\def\firstauthorformat{%
+ \upper{\Lastname}\bprintc\Firstname{, *}\bprintc\Von{ *}\bprintc\Junior{, *}%
+}
+\def\otherauthorformat{%
+ \bprintc\Firstname{* }\bprintc\Von{* }\upper{\Lastname}\bprintc\Junior{, *}%
+}
+\def\commonname{%
+ \ifnum\NameCount=1
+ \firstauthorformat
+ \ifx\dobibmark\undefined \edef\dobibmark{\Lastname}\fi
+ \else
+ \ifnum0\namecount=\NameCount
+ \ifx\maybeetal\empty \bibconjunctionand\else , \fi
+ \else , \fi
+ \otherauthorformat
+ \fi
+}
+\def\authorname{%
+ \ifnum\NameCount>0\namecount\relax\else \commonname \fi
+ \ifnum\NameCount=0\namecount\relax \maybeetal \fi
+}
+\let\editorname=\authorname
+
+\def\prepareauedoptions#1{%
+ \def\mabyetal{}\csname lb@abbreviatefalse\endcsname
+ \biboptionvalue{#1max}\authormax
+ \biboptionvalue{#1min}\authormin
+ \biboptionvalue{#1pre}\authorpre
+ \biboptionvalue{#1print}\authorprint
+ \isbiboption{#1etal}\iftrue \def\maybeetal{\Mtext{bib.etal}}\fi
+ \biboptionvalue{#1trim}\autrim
+ \let\namecountraw=\namecount
+ \ifx\authormax\empty \else
+ \ifnum 0\authormax<0\namecount
+ \edef\namecount{\ifx\authormin\empty\authormax\else\authormin\fi}%
+ \def\maybeetal{\Mtext{bib.etal}}%
+ \fi\fi
+ \ifx\autrim\empty \def\autrim{10000}\fi
+ \ifnum\autrim=0 \def\autrim{10000}\fi
+ \ifnum 0\namecount<\autrim\relax \else \AbbreviateFirstname \fi
+}
+\def\maybeetal{}
+
+\ifx\upper\undefined
+ \ifx\sc\undefined \def\upper{\uppercase\expandafter}\else \def\upper#1{{\sc#1}}\fi
+\fi
+
+% Preparing bib-mark (used when \nonumcitations is set):
+
+\def\setbibmark{%
+ \ifx\dobibmark\undefined \def\dobibmark{}\fi
+ \RetrieveFieldIn{bibmark}\tmp
+ \ifx\tmp\empty \RetrieveFieldIn{year}\tmp \edef\tmp{\dobibmark, \tmp}\fi
+ \bibmark=\expandafter{\tmp}%
+}
+
+% Multilinguals: English Czech Slovak
+
+\mtdef{bib.and} {, and } { a } {}
+\mtdef{bib.etal} { et al.} { a~kol.} {}
+\mtdef{bib.edition} { ed.} { vyd.} {}
+\mtdef{bib.bachthesis} {Bachelor's Thesis} {Bakalářská práce} {Bakalárska práca}
+\mtdef{bib.masthesis} {Master's Thesis} {Diplomová práce} {Diplomová práca}
+\mtdef{bib.phdthesis} {Ph.D. Thesis} {Disertační práce} {Dizertačná práca}
+\mtdef{bib.available} {Available from } {Dostupné na } {}
+\mtdef{bib.availablealso} {Available also from } {Dostupné též na } {Dotupné tiež na }
+\mtdef{bib.citedate} {cit.~} {vid.~} {}
+\mtdef{bib.volume} {Vol.~} {ročník~} {}
+\mtdef{bib.number} {No.~} {č.~} {}
+\mtdef{bib.prepages} {pp.~} {s.~} {}
+\mtdef{bib.postpages} {~p.} {~s.} {}
+\mtdef{bib.editor} {,~ed.} {,~editor} {}
+\mtdef{bib.editors} {,~eds.} {,~editoři} {,~editori}
+
+
+\def\bibconjunctionand{\Mtext{bib.and}}
+\def\preurl{\Mtext{bib.available}}
+\let\predoi=\preurl
+\def\postedition{\mtext{bib.edition}}
+\def\Inclause{In:~}
+\def\prevolume{\mtext{bib.volume}}
+\def\prenumber{\mtext{bib.number}}
+\def\prepages{\mtext{bib.prepages}}
+\def\posteditor{\ifnum0\namecountraw>1 \Mtext{bib.editors}\else\Mtext{bib.editor}\fi}
+
+
+\chardef\documentlanguage=\language
+\def\Mtext#1{\csname _mt:#1:\csname lan:\the\documentlanguage\endcsname\endcsname}
+
+\CreateField {lang}
+\def\setlang#1{\ifx#1\empty \else
+ \expandafter \ifx \csname #1Patt\endcsname \relax
+ \opwarning{The language "#1" used in .bib file is unknown}
+ \else \language=\csname #1Patt\endcsname
+ \fi\fi
+}
+\ifx\USenglish\undefined \chardef\USenglish=0 \fi
+\let\enPatt=\USenglish \let\usPatt=\USenglish
+\ifx\csPatt \undefined \let\csPatt=\czPatt \else \let\czPatt=\csPatt \fi
+
+% Non-standard fieldnames:
+
+\CreateField {ednote}
+\CreateField {citedate}
+\CreateField {numbering}
+\CreateField {isbn}
+\CreateField {issn}
+\CreateField {doi}
+\CreateField {url}
+\CreateField {bibmark}
+
+% Sorting:
+
+\SortingOrder{name,year}{lfvj}
+\SpecialSort {key}
+
+% Misc:
+
+\def\bibwarninga{\bibwarning}
+\def\bibwarningb{\bibwarning}
+
+\def\docitedate #1/#2/#3/#4\relax{[\Mtext{bib.citedate}%
+ \if^#2^#1\else
+ \if^#3^#1/#2\else
+ \docitedateA{#1}{#2}{#3}%
+ \fi\fi ]%
+}
+\def\docitedateA#1#2#3{%
+ \ifx\csPatt\undefined \mathchardef\csPatt=10000 \fi
+ \ifx\skPatt\undefined \mathchardef\skPatt=10000 \fi
+ \ifnum\documentlanguage=\csPatt \docitedateCS{#1}{#2}{#3}%
+ \else \ifnum\documentlanguage=\skPatt \docitedateSK{#1}{#2}{#3}%
+ \else \docitedateEN{#1}{#2}{#3}%
+ \fi\fi
+}
+\def\docitedateEN#1#2#3{#1-#2-#3}
+\def\docitedateCS#1#2#3{\hbox{\tmpnum=#3 \the\tmpnum. \tmpnum=#2 \the\tmpnum. #1}}
+\let\docitedateSK=\docitedateCS
+
+\def\doyear#1{
+ \biboptionvalue{yearprint}\yearprint
+ \ifx\yearprint\empty#1\else\def\YEAR{#1}\yearprint\fi
+}
+\def\preparenumbering{%
+ \def\VOL{\RetrieveField{volume}}%
+ \def\NO{\RetrieveField{number}}%
+ \def\PP{\RetrieveField{pages}}%
+}
+\def\prepareednote{%
+ \def\EDN{\RetrieveField{edition}}%
+ \def\ADDR{\RetrieveField{address}}%
+ \def\PUBL{\RetrieveField{publisher}}%
+ \def\YEAR{\RetrieveField{year}}%
+ \def\AU{\bprintb[!author]{\doauthor0{####1}}{}}%
+ \def\ED{\bprintb[!editor]{\doeditor0{####1}}{}}%
+ \preparenumbering
+}
+\def\doedition#1{%
+ \biboptionvalue{editionprint}\editionprint
+ \ifx\editionprint\empty#1\postedition\else\def\ED{#1}\editionprint\fi
+}
+\def\doauthor#1#2{\prepareauedoptions{au}\let\iseditorlist=\undefined
+ \if1#1\def\AU{#2}\else\let\authorprint=\empty\fi
+ \ifx\authorprint\empty #2\else \authorprint\fi
+}
+\def\doeditor#1#2{\prepareauedoptions{ed}\let\firstauthorformat=\otherauthorformat
+ \if1#1\def\ED{#2}\else\let\authorprint=\empty\fi
+ \ifx\authorprint\empty #2\posteditor\else \authorprint\fi
+}
+
+% Entry types:
+
+\sdef{print:BEGIN}{%
+ \readbiboptions
+ \biboptionvalue{titlepost}\titlepost
+ \isbiboption{unpublished}\iftrue \let\bibwarninga=\relax \let\bibwarningb=\relax \fi
+ \isbiboption{nowarn}\iftrue \let\bibwarning=\relax \fi
+ \isbiboption{urlalso}\iftrue \def\preurl{\Mtext{bib.availablealso}}\fi
+ \RetrieveFieldIn{lang}\langentry \setlang\langentry
+}
+\sdef{print:END}{%
+ \bprinta [note] {*.}{}%
+ \setbibmark
+}
+\def\bookgeneric#1{%
+ \bprinta [howpublished] {[*].\ }{}%
+ \bprintb [edition] {\doedition{##1}\.\ }{}%
+ \bprinta [ednote] {*.\ }{}%
+ \bprinta [address] {*\bprintv[publisher]{:}{\bprintv[year]{,}{.}}\ }{\bibwarninga}%
+ \bprinta [publisher] {*\bprintv[year]{,}{.}\ }{\bibwarninga}%
+ \bprintb [year] {\doyear{##1}\bprintv[citedate]{\bprintv[numbering]{.}{}}{.}\ }{\bibwarning}%
+ \bprinta [numbering] {\preparenumbering*\bprintv[citedate]{}{\.}\ }{}%
+ \bprinta [citedate] {\docitedate*///\relax.\ }{}%
+ #1%
+ \bprinta [series] {*.\ }{}%
+ \bprinta [isbn] {ISBN~*.\ }{\bibwarningb}%
+ \bprinta [issn] {ISSN~*.\ }{}%
+ \bprintb [doi] {\predoi DOI \ulink[http://dx.doi.org/##1]{##1}.\ }{}%
+ \bprintb [url] {\preurl\url{##1}. }{}%
+}
+\sdef{print:book}{%
+ \bprintb [!author] {\doauthor1{##1}\.\ }{\bibwarning}%
+ \bprintb [title] {{\em##1}\bprintc\titlepost{\.\ *}\bprintv[howpublished]{}{\.}\ }{\bibwarning}%
+ \bookgeneric{}%
+}
+\sdef{print:article}{%
+ \biboptionvalue{journalpost}\journalpost
+ \bprintb [!author] {\doauthor1{##1}\.\ }{\bibwarning}%
+ \bprinta [title] {*.\ \bprintc\titlepost{*.\ }}{\bibwarning}%
+ \bprintb [journal] {{\em##1}\bprintc\journalpost{\.\ *}\bprintv[howpublished]{}{\.}\ }{\bibwarninga}%
+ \bprinta [howpublished] {[*].\ }{}%
+ \bprinta [address] {*\bprintb[publisher]{:}{,}\ }{}%
+ \bprinta [publisher] {*, }{}%
+ \bprinta [month] {*, }{}%
+ \bprintb [year] {\doyear{##1}\bprintv[volume,number,pages]{,}{\.}\ }{}%
+ \bprinta [numbering] {\preparenumbering*\bprintv[citedate]{}{\.}\ }
+ {\bprinta [volume] {\prevolume*\bprintv[number,pages]{,}{\.}\ }{}%
+ \bprinta [number] {\prenumber*\bprintv[pages]{,}{\.}\ }{}%
+ \bprintb [pages] {\prepages\hbox{##1}\bprintv[citedate]{}{\.}\ }{\bibwarninga}}%
+ \bprinta [citedate] {\docitedate*///\relax.\ }{}%
+ \bprinta [issn] {ISSN~*.\ }{}%
+ \bprintb [doi] {\predoi DOI \ulink[http://dx.doi.org/##1]{##1}.\ }{}%
+ \bprintb [url] {\preurl\url{##1}. }{}%
+}
+\sdef{print:inbook}{%
+ \let\bibwarningb=\relax
+ \bprintb [!author] {\doauthor1{##1}\.\ }{\bibwarning}%
+ \bprinta [title] {*.\ }{\bibwarning}%
+ \Inclause
+ \bprintb [!editor] {\doeditor1{##1}\.\ }{}%
+ \bprintb [booktitle] {{\em##1}\bprintc\titlepost{\.\ *}\bprintv[howpublished]{}{\.}\ }{\bibwarning}%
+ \bookgeneric{\bprintb [pages] {\prepages\hbox{##1}. }{}}%
+}
+\slet{print:inproceedings}{print:inbook}
+\slet{print:conference}{print:inbook}
+
+\sdef{print:thesis}{%
+ \bprintb [!author] {\doauthor1{##1}\.\ }{\bibwarning}%
+ \bprintb [title] {{\em##1}\bprintc\titlepost{\.\ *}\bprintv[howpublished]{}{\.}\ }{\bibwarning}%
+ \bprinta [howpublished] {[*].\ }{}%
+ \bprinta [address] {*\bprintv[school]{:}{\bprintv[year]{,}{.}}\ }{\bibwarning}%
+ \bprinta [school] {*\bprintv[year]{,}{.}\ }{\bibwarning}%
+ \bprinta [month] {*, }{}%
+ \bprintb [year] {\doyear{##1}\bprintv[citedate]{}{.}\ }{\bibwarninga}%
+ \bprinta [citedate] {\docitedate*///\relax.\ }{}%
+ \bprinta [type] {*\bprintv[ednote]{,}{.}\ }%
+ {\ifx\thesistype\undefined\bibwarning\else\thesistype\bprintv[ednote]{,}{.}\ \fi}%
+ \bprinta [ednote] {*.\ }{}%
+ \bprintb [doi] {\predoi DOI \ulink[http://dx.doi.org/##1]{##1}.\ }{}%
+ \bprintb [url] {\preurl\url{##1}. }{}%
+}
+\sdef{print:phdthesis}{\def\thesistype{\Mtext{bib.phdthesis}}\csname print:thesis\endcsname}
+\sdef{print:mastershesis}{\def\thesistype{\Mtext{bib.masthesis}}\csname print:thesis\endcsname}
+\sdef{print:bachelorsthesis}{\def\thesistype{\Mtext{bib.bachthesis}}\csname print:thesis\endcsname}
+
+\sdef{print:generic}{%
+ \bprintb [!author] {\doauthor1{##1}\.\ }{\bibwarning}%
+ \bprintb [title] {{\em##1}\bprintc\titlepost{\.\ *}\bprintv[howpublished]{}{\.}\ }{\bibwarning}%
+ \bprinta [howpublished] {[*].\ }{}%
+ \bprinta [ednote] {\prepareednote*\bprintv[citedate]{}{.}\ }{\bibwarning}%
+ \bprinta [year] {}{\bibwarning}%
+ \bprinta [citedate] {\docitedate*///\relax.\ }{}%
+ \bprintb [doi] {\predoi DOI \ulink[http://dx.doi.org/##1]{##1}.\ }{}%
+ \bprintb [url] {\preurl\url{##1}. }{}%
+}
+\slet{print:booklet}{print:generic}
+\slet{print:incolleciton}{print:generic}
+\slet{print:manual}{print:generic}
+\slet{print:proceedings}{print:generic}
+\slet{print:techreport}{print:generic}
+\slet{print:unpublished}{print:generic}
+
+\sdef{print:misc}{\let\bibwarning=\relax \csname print:generic\endcsname}
+
+\endinput
+
+
+opmac-bib-iso690.tex
+====================
+
+This is the iso690 bibliographic style used by opmac-bib.tex package.
+
+See op-example.bib for an example of the .bib input. You can try it by:
+
+\input opmac-bib
+\nocite[*]
+\usebib/s (iso690) op-example
+\end
+
+
+Common rules in .bib files:
+--------------------------
+
+There are entries of type @FOO{...} in the .bib file. Each entry consists of
+fields in the form name = "value", or name = {value}. No matter which form is
+used. If the value is pure numeric then you can say simply name = value.
+Warning: the comma after each field value is mandatory! If it is missing then the
+next field is ignored or bad interpreted.
+
+The entry names and field names are case insensitive. If there exist a data
+field no mentioned here then it is simply ignored. You can use it to store
+more information (abstract, for example).
+
+There are ``standard fields'' used in ancient bibTeX (author, title, editor, edition,
+etc., see http://en.wikipedia.org/wiki/BibTeX). The iso690 style introduces
+several ``non-standard'' fields: ednote, numbering, isbn, issn, doi, url,
+citedate, key, bibmark. They are documented here.
+
+Moreover, there are two optional special fields:
+
+lang = language of the entry. The hyphenation plus autogenerated phrases and
+ abbreviations will be typeset by this language.
+option = options by which you can control special printing of vairous fields.
+
+There can be only one option field per each entry with (may be) more options
+separated by spaces. You can declare the global option(s) in your document
+applied for each entry by \def\biboptions{...}.
+
+
+The author field
+----------------
+
+All names in the author list have to be separated by " and ". Each author
+can be written by various formats (the ``von'' part is typically missing):
+
+ Firstname(s) von Lastname
+ or
+ von Lastname, Firstname(s)
+ or
+ von Lastname, After, Firstname(s)
+
+Only the Lastname part is mandatory. Examples:
+
+ Petr Olšák
+ or
+ Olšák, Petr
+
+ Leonardo Piero da Vinci
+ or
+ da Vinci, Leonardo Piero
+ or
+ da Vinci, painter, Leonardo Piero
+
+The separator " and " between authors will be converted to comma during
+printing, but between semifinal and final author the word "and" (or something
+different depending on current language) is printed.
+
+The first author is printed in reverse order: ``LASTNAME, Firstname(s) von,
+After'' and the others author are printed in normal order: ``Firstname(s)
+von LASTNAME, After''. This feature follows the ISO 690 norm. The Lastname
+is capitalised using uppercase letters, but if the \sc command is defined,
+then it is used as an font switcher in the form {\sc Lastname}. You can
+declare the ``Caps and small caps'' font here.
+
+You can specify the option "aumax:<number>". The <number> denotes the
+maximum authors to be printed. The rest of authors are ignored and the
+"et~al." is appended to the list of printed authors. This text is
+printed only if the "aumax" value is less than the real number of authors.
+If you have the same number of authors in the .bib file as you need to print
+but you want to append "et~al." then you can use "auetal" option.
+
+There is a "aumin:<number>" option which denotes the definitive number of
+printed authors if the author list is not fully printed due to "aumax".
+If "aumin" is unused then "aumax" authors is printed in such case.
+
+All authors are printed if "aumax:<number>" option isn't given.
+There is no internal limit. But you can set the global options in
+your document by setting the \biboptions macro. For example:
+
+ \def\biboptions {aumax:7 aumin:1}
+ % if there is 8 or more authors then only first author is printed.
+
+Examples:
+
+ author = "John Green and Bob Brown and Alice Black",
+
+output: GREEN, John, Bob BROWN, and Alice BLACK.
+
+ author = "John Green and Bob Brown and Alice Black",
+ option = "aumax:1",
+
+output: GREEN, John~et~al.
+
+ author = "John Green and Bob Brown and Alice Black",
+ option = "aumax:2",
+
+output: GREEN, John, Bob BROWN~et~al.
+
+ author = "John Green and Bob Brown and Alice Black",
+ option = "aumax:3",
+
+output: GREEN, John, Bob BROWN, and Alice BLACK.
+
+ author = "John Green and Bob Brown and Alice Black",
+ option = "auetal",
+
+output: GREEN, John, Bob BROWN, Alice BLACK~et~al.
+
+If you need to add a text before or after authors list, you can use
+the "auprint:{<value>}" option. The <value> will be printed instead of the
+authors list. The <value> can include \AU macro which expands to the authors
+list. Example:
+
+ author = "Robert Calbraith",
+ option = "auprint:{\AU\space [pseudonym of J. K. Rowling]}",
+
+output: CALBRAITH Robert [pseudonym of J. K. Rowling].
+
+You can use the "autrim:<number>" option. All Firstnames of all authors
+are trimmed (i. e. reduced to initials) iff the number of authors in the
+author field is greater than or equal to <number>. There is an exception:
+"autrim:0" means that no Firstnames are trimmed. This is default behavior.
+Another example: "autrim:1" means that all Firstnames are trimmed.
+
+ author = "John Green and Bob Brown and Alice Black",
+ option = "auetal autrim:1",
+
+output: GREEN, J., B. BROWN, A. BLACK~et~al.
+
+If you need to write a team name or institution instead authors, replace all
+spaces by \<space> in this name. Such text is interpreted as Lastname. You
+can add the secondary name (interpreted as Firstname) after comma. Example:
+
+ author = "Czech\ Technical\ University\ in\ Prague, Faculty\ of\ Electrical\ Engeneering",
+
+output: CZECH TECHNICAL UNIVERSITY IN PRAGUE, Faculty of Electrical Engeneering.
+
+
+The editor field
+----------------
+
+The editor field is used for list of the authors of the collection. The
+analogous rules as in author field are used here. It means that the
+authors are separated by " and ", the Firstnames, Lastnames etc. are
+interpreted and you can use the options "edmax:<number>", "edmin:<number>",
+"edetal", "edtrim:<number>" and "edprint:<value>" (with \ED macro).
+Example:
+
+ editor = "Jan Tomek and Petr Karas",
+ option = "edprint:{\ED, editors.} edtrim:1",
+
+Output: J. TOMEK and P. KARAS, editors.
+
+If edprint option is not set then {\ED, eds.} or {\ED, ed.} is used
+depending on the entry language and on the singular or plural of
+the editor(s).
+
+
+The ednote field
+----------------
+
+The ednote is used as the secondary authors and more editional info. The
+value is read as raw data without any interpretation of Lastname, Firstname
+etc.
+
+ ednote = "Illustrations by Robert \upper{Agarwal}, edited by Tom \upper{Nowak}",
+
+output: Illustrations by Robert AGARWAL, edited by Tom NOWAK.
+
+The \upper command have to be used for Lastnames in ednote field.
+
+
+The title field
+---------------
+
+This is the title of the work. It will be printed (in common entry types) by
+italics. The ISO 690 norm declares, that the title plus optional subtitle
+are in italics and they are separated by colon. Next, the optional secondary
+title have to be printed in upright font. This can be added by
+"titlepost:{<value>}". Example:
+
+ title = "The Simple Title of The Work",
+or
+ title = "Main Title: Subtitle",
+or
+ title = "Main Title: Subtitle",
+ option = "titlepost:{Secondary title}",
+
+The output of the last example:
+
+{\it Main Title: Subtitle}. Secondary title.
+
+
+The edition field
+-----------------
+
+This field is used only for second or more edition of cited work. Write
+only the number without the word "edition". The shortcut "ed." (or something
+else depending on current language) is added automatically. Examples:
+
+ edition = "Second",
+ edition = "2nd",
+ edition = "2$^{\rm nd}$",
+ edition = "2.",
+
+Output of the last example: 2. ed.
+
+ edition = "2."
+ lang = "cs",
+
+Output: 2. vyd.
+
+Note, that the example edition = "Second" may cause problems. If you are
+using language "cs" then the output is bad: Second vyd. So, you need to
+say:
+
+ edition = "Second",
+ lang = "en",
+
+You can use "ednprint:{<value>}" option. The the <value> is printed
+instead of edition field and shortcut. The edition field must be set. Example:
+
+ edition = "whatever",
+ option = "ednprint:{Second full revised edition}",
+
+Output: Second full revised edition.
+
+You can use \EDN macro in "ednprint" value. This macro is expanded
+to the edition value. Example:
+
+ edition = "Second",
+ option = "ednprint:{\EDN\space full revised edition}",
+
+or
+
+ edition = "Second full revised edition",
+ option = "ednprint:{\EDN}",
+
+
+The address, publisher, year fields
+-----------------------------------
+
+This is an anachronism from ancient BibTeX (unfortunately no exclusive) that
+the address field includes only the city of the publisher residence. No more
+data are here. The publisher field includes the name of the publisher.
+
+ address = "Berlin",
+ publisher = "Springer Verlag",
+ year = 2012,
+
+Output: Berlin: Springer Verlag, 2012.
+
+Note, that the year needn't to be inserted into quotes because it is pure
+numeric.
+
+The letter a, b etc. are appended to the year automatically, if two or more
+subsequent entries in the bibliography list are not distinct by the first
+author and year fields. If you needn't this feature, you can use the
+"noautoletters" option.
+
+You can use "yearprint:{<value>}" option. If it is set then the <value>
+is used for printing year instead the real field value. The reason: year is
+sort sensitive, may be you need to print something else than sorting key.
+Example:
+
+ year = 2000,
+ option = "yearpint:{\copyright 2000}",
+
+Output: \copyright 2000, sorted by: 2000.
+
+ year = "2012a",
+ option = "yearprint:{2012}",
+
+Output: 2012, sorted by: 2012a.
+
+The address, publisher and year are typically mandatory fields. If they are
+missing then the OPmac warning occurs. But you can set "unpublished"
+option. Then this warning is suppressed. There is no difference in the
+printed output.
+
+
+The url field
+-------------
+
+Use it without \url macro, but with http:// prefix. Example:
+
+ url = "http://petr.olsak.net/opmac.html",
+
+The ISO 690 norm recommends to add the text ``Available from'' (or
+something else if different current language is used) before URL.
+It means, that the output of previous example is:
+
+Available from \url{http://petr.olsak.net/opmac.html}.
+
+If the "cs" language is the current one than the output is:
+
+Dostupné z: \url{http://petr.olsak.net/opmac.html}.
+
+If the "urlalso" option is used, then the added text has the form
+``Available also from'' or ``Dostupné také z:'' (if "cs" language is
+current).
+
+
+The citedate field
+------------------
+
+This is the citation date. The field must be in the form year/month/day. It
+means, that the two slashes must be written here. The output depends on the
+current language. Example:
+
+ citedate = "2004/05/21",
+
+Output when "en" is current: [cit. 2004-05-21].
+Output when "cs" is current: [vid. 21.~5.~2004].
+
+
+The howpublished field
+----------------------
+
+This declares the available medium for cited document if it is not in printed
+form. Alternatives: online, CD, DVD, etc. Example:
+
+ howpublished = "online",
+
+Output: [online].
+
+
+The volume, number, pages and numbering fields
+----------------------------------------------
+
+The volume is the ``big mark'' of the journal issue and the number is the
+``small mark'' of the journal issue and pages includes the page range of
+the cited article in the journal. The volume is prefixed by Vol.~,
+the number by No.~ and the pages by pp.~. But these prefixes depends on the
+language of the entry.
+
+Example:
+
+ volume = 31,
+ number = 3,
+ pages = "37--42",
+
+Output: Vol.~31, No.~3, pp.~37--42.
+
+ volume = 31,
+ number = 3,
+ pages = "37--42",
+ lang = "cs",
+
+Output: ročník~31, č.~3, s.~37--42.
+
+If you disagree with the default prefixes, you can use the numbering field.
+When it is set then it is is used instead of volume, number, pages fields
+and instead of any mentioned prefixes. The numbering can include macros \VOL,
+\NO, \PP, which are expanded to the respective values of fields. Example:
+
+ volume = 31,
+ number = 3,
+ pages = "37--42"
+ numbering = "Issue~\VOL/\NO, pages~\PP",
+
+Output: Issue~31/3, pages~37--42
+
+Note: The volume, numbers and pages fields are printed without numbering
+filed only in the @ARTICLE entry. It means, that if you need to visible them
+in the @INBOOK, @INPROCEEDINGS etc. fields, then you must to use numbering field.
+
+
+Common notes about entries
+--------------------------
+
+The order of the fields in the entry is irrelevant. We use the printed order
+in this manual. The exclamation mark (!) denotes the mandatory field. If
+such field is missing then the warning occurs during processing.
+
+If the "unpublished" option is set then the fields address, publisher, year,
+isbn and pages are not mandatory. If the "nowarn" option is set then no
+warnings about missing mandatory fields occurs.
+
+If the field is used but not mentioned in the entry documentation below then
+it is silently ignored.
+
+The @BOOK entry
+---------------
+
+This is used for book-like entries.
+
+Fields: author(!), title(!), howpublished, edition, ednote, address(!),
+publisher(!), year(!), citedate, series, isbn(!), doi, url, note.
+
+The ednote field here means the secondary authors (illustrator, cover design
+etc.).
+
+
+The @ARTICLE entry
+------------------
+
+This is used for articles published in a journal.
+
+Fields: author(!), title(!), journal(!), howpublished, address, publisher,
+month, year, [numbering or volume, number, pages(!)], citedate, issn,
+doi, url, note.
+
+If the numbering is used then it is used instead volume, number, pages.
+
+
+The @INBOOK entry
+-----------------
+
+This is used for the part of a book.
+
+Fields: author(!), title(!), booktitle(!), howpublished, edition, ednote,
+address(!), publisher(!), year(!), numbering, citedate, series, isbn or
+issn, doi, url, note.
+
+The author field is used for author(s) of the part, the editor field
+includes author(s) or editor(s) of whole document. The pages field specifies
+the page range of the part. The series field can include more information
+about the part (chapter numbers etc.).
+
+The @INPROCEEDINGS and @CONFERENCE entries are equivalent to @INBOOK entry.
+
+
+The @THESIS entry
+-----------------
+
+This is used for student's thesis.
+
+Fields: author(!), title(!), howpublished, address(!), school(!),
+month, year(!), citedate, type(!), ednote, doi, url, note.
+
+The type field must include the text "Master's Thesis" or something
+similar (depending on the language of the outer document).
+
+There are nearly equivalent entries: @BACHELORSTHESIS, @MASTERSTHESIS and
+@PHDTHESIS. These entries sets the type field to an appropriate value
+automatically. The type field is optional in such case. If it is used then
+it has a precedence before default setting.
+
+
+The @MISC entry
+---------------
+
+It is intended for various usage.
+
+Fields: author, title, howpublished, ednote, citedate, doi, url, note.
+
+You can use \AU, \ED, \EDN, \VOL, \NO, \PP, \ADDR, \PUBL, \YEAR
+macros in ednote field. These macros print authors list, editors list,
+edition, volume, number, pages, address, publisher and year field values
+respecitively. If they are are missing then the appropriate macro is empty.
+
+The reason of this entry is to give to you the possibility to set the format of
+entry by your own decision. The most of data are concentrated in ednote
+field.
+
+
+The @BOOKLET, @INCOLLECION, @MANUAL, @PROCEEDINGS, @TECHREPORT, @UNPUBLISHED entries
+-------------------------------------------------------------------------------------
+
+These entries are equivalent to @MICS entry because we need to save the
+simplicity. They are implemented only for (almost) backward compatibility
+with the ancient BibTeX. But the ednote is mandatory field here, so you
+cannot use these entries from the old databases without warnings and without
+some additional work in the .bib file.
+
+
+The cite-marks (bibmark) used when \nonumcitations is set
+---------------------------------------------------------
+
+When \nonumcitations is set then \cite prints the cite-marks (called
+bibmark) instead numbers. This style file autogenerates these marks in the
+form "Lastname of the first author, comma, space, the year" if bibmark field
+isn't declared. If you need to set an exception from this common format,
+then you can use bibmark field.
+
+The OPmac trick http://petr.olsak.net/opmac-tricks-e.html#bibmark
+describes how to redefine the algorithm for bibmark auto-generating when you
+need the short form of the type [Au13].
+
+
+Sorting
+-------
+
+If \usebib/c is used then entries are sorted by citation order in the text.
+If \usebib/s is used then entries are sorted by ``Lastname, Firstname(s)'' of
+the first author and if more entries have this value equal, then the year is
+used (from older to newer). This feature follows the recommendation of the
+ISO 690 norm.
+
+If you have the same authors and the same year, you can control the sorting
+by setting years as 2013, 2013a, 2013b, etc. You can print something
+different to the list using "yearprint{<value>}" option, see the section about
+address, publisher and year above. The real value of year field (ie. not
+yearprint value) is also used in citations when \nonumcitations is set.
+
+If you have some problems with name sorting, you can use the hidden field
+"key", which is used for sorting instead of the ``Lastname Firstname(s)''
+of authors. If the "key" field is unset then the ``Lastname Firstname(s)''
+is used for sorting normally. Example:
+
+ author = "Světla Čmejrková",
+ key = "Czzmejrkova Svetla",
+
+This entry is now sorted between C and D.
+
+The norm recommends to place the autocitations to the top of the list of
+references. You can do this by setting key = "@", to each entry with your
+name because the "@" character is sorted before A.
+
+
+Languages
+---------
+
+There is the language of the outer document and the languages of each entry.
+The ISO 690 norm recommends that the technical notes (the prefix before URL,
+the media type, the ``and'' conjunction between semifinal and final author)
+may be printed in the language of the outer document. The data of the entry
+have to be printed in the entry language (edition ed./vyd., Vol./ročník,
+No./č. etc.). Finally there are the phrases independent on the language
+(for example In:). Unfortunately, the bibTeX supposes that the entry data
+are not fully included in value parts of the fields (see edition, volume
+etc. fields) so the automaton have to add some text during processing.
+But what language have to be chosen?
+
+The current value of the \language register at the start of the .bib
+processing is decided as the language of the outer document. This language
+is used for technical notes regardless of the entry language. Each entry can
+have the lang field with the two-letter mark of the entry language. This
+language is used for ed./vyd., vol./ročník etc. and it is used for
+hyphenation too. If the entry language is not set then the outer document
+language is used.
+
+If the outer document language is know before creating of the .bib file, you
+can store some language-dependent phrases into it. On the other hand, if the
+main document language is unknown, you can use the \Mtext macro to
+create the text multilingual. Example:
+
+ howpublished = "\Mtext{bue-ray}"
+
+Now, you can set the variants of blue-ray into your macros:
+
+ \mtdef {blue-ray} {Blue-ray disc} {Blue-ray disk} {}
+
+
+Tips for using more languages
+-----------------------------
+
+OPmac prefers English, Czech and Slovak languages. However, you can add
+more languages. If you are using csplain, you can download the
+hyphen-patterns for many languages, see the hyphen.lan file. For example,
+you have had \dePatt and \plPatt downloaded (for German and Polish
+languages). Now, you can do
+
+\sdef{lan:21}{de} \sdef{lan:121}{de}
+\sdef{lan:23}{pl} \sdef{lan:123}{pl}
+\def\mtdefx#1#2#3{\sdef{_mt:#1:de}{#2}\sdef{_mt:#1:pl}{#3}}
+
+ % German % Polish
+\mtdefx {bib.and} { und } { a }
+\mtdefx {bib.phdthesis} {Ph.D. Dissertation} {Praca doktorska}
+...
+
+
+Summary of non-standard fields
+------------------------------
+
+This style uses the following fields unkown by bibTeX:
+
+option ... options separated by spaces
+lang ... the language two-letter code of one entry
+ednote ... editional info (secondary authors etc.) or
+ global data in @MISC-like entries
+citedate ... the date of the citation in year/month/day format
+numbering ... format for volume, number, pages
+isbn ... ISBN
+issn ... ISSN
+doi ... DOI
+url ... URL
+
+
+Summary of options
+------------------
+
+aumax:<number> ... maximum number of printed authors
+aumin:<number> ... number of printed authors if aumax exceedes
+autrim:<number> ... full Firstnames iff number of authors are less than this
+auprint:{<value>} ... text instead auhors list (\AU macro may be used)
+edmax, edmin, edtrim ... similar as above for editors list
+edprint:{<value>} ... text instead editors list (\ED macro may be used)
+titlepost:{<value>} ... text after title
+yearprint:{<value>} ... text instead real year (\YEAR macro may be used)
+ednprint:{<value>} ... text instead real edition (\EDN macro may be used)
+urlalso ... the ``available also from'' is used instead ``available from''
+unpublished ... the publisher etc. fields are not mandatory
+nowarn ... no mandatory fields
+
+Another options in the option field are silently ignored.
diff --git a/Master/texmf-dist/tex/luatex/optex/bib-simple.opm b/Master/texmf-dist/tex/luatex/optex/bib-simple.opm
new file mode 100644
index 00000000000..642c6d84825
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/optex/bib-simple.opm
@@ -0,0 +1,183 @@
+% opmac-bib-simple ... the OPmac bib style for reading .bib databases
+% Petr Olsak, version Apr. 2015 (beta)
+% See the end of the file opmac-bib.tex for more information.
+% You can compare this file with the old Forth-like BibTeX .bst files.
+% What seems to be more understandable?
+
+\ifx\opmacbibstyle\undefined \errmessage
+ {This file can be read by ``\string\usebib/? (simple) bibfiles'' command only}
+ \endinput \fi
+
+% misc:
+
+\def\maybedot{\ifnum\spacefactor=\sfcode`\.\relax\else.\fi}
+\tmpnum=\sfcode`\. \advance\tmpnum by-2 \sfcode`\.=\tmpnum
+\sfcode`\?=\tmpnum \sfcode`\!=\tmpnum
+\let\.=\maybedot % prevents from double periods
+
+% Formating of Author/Editor lists:
+
+\def\authorname{%
+ \ifnum\NameCount>1
+ \ifnum0\namecount=\NameCount \mtext{bib.and}\else , \fi
+ \else
+ \ifx\dobibmark\undefined \edef\dobibmark{\Lastname}\fi
+ \fi
+ \bprintc\Firstname{* }\bprintc\Von{* }\Lastname\bprintc\Junior{, *}%
+}
+\let\editorname=\authorname
+
+% Preparing bib-mark (used when \nonumcitations is set):
+
+\def\setbibmark{%
+ \ifx\dobibmark\undefined \def\dobibmark{}\fi
+ \RetrieveFieldIn{bibmark}\tmp
+ \ifx\tmp\empty \RetrieveFieldIn{year}\tmp \edef\tmp{\dobibmark, \tmp}\fi
+ \bibmark=\expandafter{\tmp}%
+}
+
+% Multilinguals: English Czech Slovak
+
+\mtdef{bib.and} {, and } { a } {}
+\mtdef{bib.edition} {edition} {vydání} {vydanie}
+\mtdef{bib.masterthesis} {Master's Thesis} {Diplomová práce} {Diplomová práca}
+\mtdef{bib.phdthesis} {Ph.D. Thesis} {Disertační práce} {Dizertačná práca}
+
+
+\def\preurl{\hfil\break}
+
+% Non-standard fieldnames:
+
+\CreateField {isbn}
+\CreateField {doi}
+\CreateField {url}
+\CreateField {bibmark}
+
+% Sorting:
+
+\SortingOrder{name,year}{lfvj}
+\SpecialSort {key}
+
+% Entry types:
+
+\sdef{print:END}{%
+ \bprinta [note] {*.}{}%
+ \setbibmark
+}
+\sdef{print:book}{%
+ \bprinta [!author] {*\.\ }{\bibwarning}%
+ \bprintb [title] {{\em##1}.\ }{\bibwarning}%
+ \bprinta [edition] {*~\mtext{bib.edition}.\ }{}%
+ \bprinta [address] {*: }{\bibwarning}%
+ \bprinta [publisher] {*, }{\bibwarning}%
+ \bprinta [year] {*.\ }{\bibwarning}%
+ \bprinta [isbn] {ISBN~*.\ }{\bibwarning}%
+ \bprintb [url] {\preurl\url{##1}. }{}%
+}
+\sdef{print:article}{%
+ \bprinta [!author] {*\.\ }{\bibwarning}%
+ \bprinta [title] {*.\ }{\bibwarning}%
+ \bprintb [journal] {{\em##1}.\ }{\bibwarning}%
+ \bprinta [year] {*, }{}%
+ \bprinta [volume] {* }{}%
+ \bprinta [number] {(*), }{}%
+ \bprinta [pages] {*.\ }{}%
+ \bprintb [doi] {DOI~\ulink[http://dx.doi.org/##1]{##1}.\ }{}%
+}
+\sdef{print:inbook}{%
+ \bprinta [!author] {*\.\ }{\bibwarning}%
+ \bprintb [title] {{\em##1.}\ }{\bibwarning}%
+ In:~%
+ \bprinta [!editor] {*,~eds.\ }{}%
+ \bprintb [booktitle] {{\em##1}.\ }{\bibwarning}%
+ \bprinta [address] {*: }{\bibwarning}%
+ \bprinta [publisher] {*, }{\bibwarning}%
+ \bprinta [year] {*.\ }{\bibwarning}%
+ \bprinta [chapter] {*.\ }{%
+ \bprinta [pages] {*.\ }{}}%
+ \bprinta [isbn] {ISBN~*.\ }{\bibwarning}%
+ \bprintb [url] {\preurl\url{##1}. }{}%
+}
+\slet{print:inproceedings}{print:inbook}
+
+\sdef{print:incolection}{%
+ \bprinta [!author] {*\.\ }{\bibwarning}%
+ \bprintb [title] {{\em##1}.\ }{\bibwarning}%
+ \bprinta [crossreff] {In~\cite[*]. }{%
+ \bprinta [booktitle] {*. }{\bibwarning}%
+ \bprinta [!editor] {*,~eds.\ }{\bibwarning}%
+ \bprinta [edition] {*~\mtext{bib.edition}.\ }{\bibwarning}%
+ \bprinta [address] {*: }{\bibwarning}%
+ \bprinta [publisher] {*, }{\bibwarning}%
+ \bprinta [year] {*.\ }{\bibwarning}%
+ \bprinta [pages] {*.\ }{}%
+ \bprintb [url] {\preurl\url{####1}. }{}}%
+}
+\sdef{print:conference}{%
+ \bprinta [!author] {*\.\ }{\bibwarning}%
+ \bprintb [title] {{\em##1}\.\ }{\bibwarning}%
+ \bprinta [edition] {*~\mtext{bib.edition}.\ }{}%
+ \bprinta [address] {*: }{\bibwarning}%
+ \bprinta [publisher] {*, }{\bibwarning}%
+ \bprinta [year] {*.\ }{\bibwarning}%
+ \bprinta [isbn] {ISBN~*.\ }{}%
+ \bprintb [url] {\preurl\url{##1}. }{}%
+}
+\sdef{print:phdthesis}{%
+ \bprinta [!author] {*\.\ }{\bibwarning}%
+ \bprintb [title] {{\em##1}\.\ }{\bibwarning}%
+ \mtext{bib.phdthesis}, %
+ \bprinta [school] {*.\ }{}%
+ \bprinta [address] {*, }{}%
+ \bprinta [year] {*.\ }{}%
+ \bprintb [url] {\preurl\url{##1}. }{}%
+}
+\sdef{print:mastersthesis}{%
+ \bprinta [!author] {*\.\ }{\bibwarning}%
+ \bprintb [title] {{\em##1}\.\ }{\bibwarning}%
+ \mtext{bib.masterthesis}, %
+ \bprinta [school] {*.\ }{}%
+ \bprinta [address] {*, }{}%
+ \bprinta [year] {*.\ }{}%
+ \bprintb [url] {\preurl\url{##1}. }{}%
+}
+\sdef{print:proceedings}{%
+ \bprinta [!author] {*\.\ }{\bibwarning}%
+ \bprintb [title] {{\em##1}\.\ }{\bibwarning}%
+ \bprinta [publisher] {*.\ }{%
+ \bprinta [organization] {*.\ }{\bibwarning}}%
+}
+\sdef{print:techreport}{%
+ \bprinta [!author] {*\.\ }{\bibwarning}%
+ \bprintb [title] {{\em##1}\.\ }{\bibwarning}%
+ \mtext{bib.techreport}.
+ \bprinta [institution] {*.\ }{}%
+}
+\sdef{print:booklet}{%
+ \bprinta [!author] {*\.\ }{\bibwarning}%
+ \bprintb [title] {{\em##1}\.\ }{\bibwarning}%
+ \bprinta [howpublished] {*.\ }{\bibwarning}%
+}
+\sdef{print:manual}{%
+ \bprinta [!author] {*\.\ }{}%
+ \bprintb [title] {{\em##1}\.\ }{\bibwarning}%
+ \bprinta [year] {*.\ }{}%
+ \bprinta [institution] {*.\ }{}%
+ \bprintb [url] {\preurl\url{##1}. }{}%
+}
+\sdef{print:misc}{%
+ \bprinta [!author] {*\.\ }{}%
+ \bprintb [title] {{\em##1}\.\ }{}%
+ \bprinta [howpublished] {*.\ }{}%
+ \bprinta [institution] {*.\ }{}%
+ \bprinta [series] {*.\ }{}%
+ \bprinta [year] {*.\ }{}%
+ \bprintb [url] {\preurl\url{##1}. }{}%
+}
+
+%%% end of the style file
+
+\endinput
+
+You can copy this file to opmac-bib-yourname.tex and modify it by your
+needs...
diff --git a/Master/texmf-dist/tex/luatex/optex/catcodes.opm b/Master/texmf-dist/tex/luatex/optex/catcodes.opm
deleted file mode 100644
index d675e482bed..00000000000
--- a/Master/texmf-dist/tex/luatex/optex/catcodes.opm
+++ /dev/null
@@ -1,137 +0,0 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
-
-\_codedecl \setcatcode {Initialization category codes <2020-01-23>}
-
-\_def \_optexcatcodes {%
- \_setcatcode `\\=0 % backlslash starts control sequences
- \_setcatcode `\{=1 % left brace is begin-group character
- \_setcatcode `\}=2 % right brace is end-group character
- \_setcatcode `\$=3 % dollar sign is math shift
- \_setcatcode `\&=4 % ampersand is alignment tab
- \_setcatcode `\^^M=5 % ascii return is end-line
- \_setcatcode `\#=6 % hash mark is macro parameter character
- \_setcatcode `\^=7
- \_setcatcode `\^^K=7 % circumflex and uparrow are for superscripts
- \_setcatcode `\^^A=8 % downarrow is for subscripts
- \_setcatcode `\ =10 % ascii space is blank space
- \_setcatcode `\^^I=10 % ascii tab is a blank space
- \_setcatcode `\_=11 % underline can be used in control sequences
- \_setcatcode `\~=13 % tilde is active
- \_setcatcode `\%=14 % percent sign is comment character
- \_setcatcode 127=12 % normal character
-}
-\_let \_setcatcode =\catcode \_optexcatcodes % catcode initialization
-
-\_def \_normalasciicatcodes {%
- \_setcatcodes 33-34: 12
- \_setcatcodes 39-64: 12
- \_setcatcodes 65-90: 11
- \_setcatcode `\[=12
- \_setcatcode `\]=12
- \_setcatcode `\`=12
- \_setcatcodes 97-122: 11
- \_setcatcode `\|=12
- \_optexcatcodes
-}
-\_def \_setcatcodes #1-#2: #3 {%
- \_tmpnum=#1
- \_loop
- \_setcatcode \_the\_tmpnum =#3
- \_advance \_tmpnum by1
- \_unless \_ifnum \_tmpnum >#2 \_repeat
-}
-\_def \_setcatcode #1=#2 {%
- \_ifx \_setcatcode \_empty \_errmessage {Use \_noexpand\savecatcode before \_noexpand\setcatcode}\_fi
- \_unless \_ifnum \_catcode #1=#2
- \_ea \_setcatcodeA \_catcodelist \_end {#1}%
- \_catcode #1=#2
- \_fi
-}
-\_def \_setcatcodeA #1#2\_end #3{\_edef \_catcodelist{{#1}\_catcode #3=\_the\_catcode #3 #2}}
-\_def \_savecatcodes {\_edef\_catcodelist {{\_catcodelist}}}
-\_def \_restorecatcodes {\_ea\_def \_ea\_catcodelist \_catcodelist}
-\_def \_catcodelist{{}}
-
-\_chardef\_active=13 \_catcode`\~=\_active % tilde is active
-%\catcode`\^^L=\active \outer\def^^L{\par} % ascii form-feed is "\outer\par", obsolete
-
-\public
- \optexcatcodes \normalasciicatcodes \setcatcodes \setcatcode
- \savecatcodes \restorecatcodes \active ;
-
-\_endcode % ----------------------------------------
-
-Basic category codes inspired by plain \TeX/ are set here. The only
-difference is underline: it can be used in control sequences in \SpTeX/, so
-its category code is 11. But plain \TeX/ sets it to 8 for subscripts. We'll
-define `_` subscript only in math mode, see `math-basics.spm`.
-
-Second differnece from plain \TeX/ is `\catcode127`, which is set to invalid
-character in plain \TeX/ but we set it as normal character.
-
-`\normalasciicatodes` sets catcodes of all ascii visible characters to its
-"normal" values used in \SpTeX/.
-
-We implement catcodes stack by three macros: `\savecatcodes`, `\setcatcode`
-and `\restorecatcodes` which bahaves with catcode values like
-`\begingroup`, `\catcode` and `\endgroup` but it does not
-open/close any \TeX/ group. You can use it for eaxample
-
-\begtt
-\savecatcodes \normalasciicatcodes \input macrofile.tex \restorecatcodes
-\endtt
-%
-and you are sure that
-
-\begitems
-* `macrofile.tex` is read with normal catodes,
-* previous catcode setting is restored after the `macrofile.tex` is read.
-\enditems
-
-The catcodes stack cannot be crossed by \TeX/ groups. But it is not
-problem to re-implement it to global setting if you want.
-
-You can use `\setcatcodes <from>-<to>: <value>` to set a range of characters.
-This macro uses `\setcatcode` repeatedly.
-
-
-\sec Implemetation details:
-
-First, we define `\_plaintexcatcodes` and use it macro with
-`\_let\_setcatcode=\catcode`. This code sets the "normal" catcodes.
-
-The main idea of catcode stack implementation is that the macro
-`\_setcatcode` does nothing if previus catcode value is the same as desired
-value. Else it saves previous value into `\_catcodelist` and sets desired
-value. Finally `\_restorecatcodes` restores values from the `\_catcodelist`.
-
-We need to support stack behavior, it means that nested pairs
-`\_savecatcodes` and `\_restorecatcodes` work well. This is a reason why the
-current value of the `\_catcodelist` looks like this:
-
-\begtt
-{data actual before last \_savecatcodes} currently generated data
-\endtt
-%
-Then `\_restorecatcodes` does
-
-\begtt
-\_def \_catcodelist {data actual before savecatcodes} apply currently generated data
-\endtt
-
-We need to apply currently generated data in reverse order. This is done by
-the macro `\setcatcodeA` (invoked by the `\setcatcode`) which inserts new
-data HERE-NEW:
-
-\begtt
-{data actual before last savecatdodes} HERE-NEW currently generated data
-\endtt
-
-One record of data is in the form `\catode char-code=previous-value`, so we
-need simply to "run" the currently generated data in order to restore
-values.
-
-Notice: the `\_codedecl` and `\_endcode` macros are redefined and explained in basic.opm
-
-
-
diff --git a/Master/texmf-dist/tex/luatex/optex/f-adventor.opm b/Master/texmf-dist/tex/luatex/optex/f-adventor.opm
index 54986c05129..93afbee7876 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-adventor.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-adventor.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [Adventor] \Adventor {TeX Gyre Adventor based on Avantgarde Book}
- {\caps} {\rm \bf \it \bi} {TX}
+ {\caps} {\rm \bf \it \bi} {}
"[texgyreadventor-regular]"
\_wlog{\_detokenize{%
diff --git a/Master/texmf-dist/tex/luatex/optex/f-antt.opm b/Master/texmf-dist/tex/luatex/optex/f-antt.opm
index 6a1fe50688a..efbdb9a1d68 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-antt.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-antt.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [Antykwa Torunska] \Antt {Traditional Polish font family}
- {\cond \medium \light \caps} {\rm \bf \it \bi} {TX}
+ {\cond \medium \light \caps} {\rm \bf \it \bi} {Pagella}
"[AntykwaTorunska-Regular]"
\_wlog{\_detokenize{%
@@ -23,6 +23,8 @@ Modifier:^^J
\_initfontfamily % new font family must be initialized
+\_loadmath{[texgyrepagella-math]}
+
\_endcode
See the file `f-heros.opm` for information about principles of such
diff --git a/Master/texmf-dist/tex/luatex/optex/f-baskerville.opm b/Master/texmf-dist/tex/luatex/optex/f-baskerville.opm
index 9d8974939de..c493f7e0b57 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-baskerville.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-baskerville.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [Baskerville] \Baskerville {Free vaiants of classical Baskerville}
- {\caps} {\rm \bf \it \bi} {TX}
+ {\caps} {\rm \bf \it \bi} {}
"[BaskervilleF-Regular]"
\_wlog{\_detokenize{%
diff --git a/Master/texmf-dist/tex/luatex/optex/f-bonum.opm b/Master/texmf-dist/tex/luatex/optex/f-bonum.opm
index 89131175a08..e1fc78680bd 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-bonum.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-bonum.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [Bonum] \Bonum {TeX Gyre Bonum fonts based on Bookman}
- {\caps} {\rm \bf \it \bi} {TX}
+ {\caps} {\rm \bf \it \bi} {Bonum}
"[texgyrebonum-regular]"
\_wlog{\_detokenize{%
@@ -19,6 +19,8 @@ Modifier:^^J
\_initfontfamily % new font family must be initialized
+\_loadmath {[texgyrebonum-math]}
+
\_endcode
See the file `f-heros.opm` for information about principles of such
diff --git a/Master/texmf-dist/tex/luatex/optex/f-cursor.opm b/Master/texmf-dist/tex/luatex/optex/f-cursor.opm
index 00097831a60..b89a4a74119 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-cursor.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-cursor.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [Cursor] \Cursor {TeX Gyre Cursor fonts based on Courier}
- {\caps} {\rm \bf \it \bi} {TX}
+ {\caps} {\rm \bf \it \bi} {}
"[texgyrecursor-regular]"
\_wlog{\_detokenize{%
diff --git a/Master/texmf-dist/tex/luatex/optex/f-gfsbodoni.opm b/Master/texmf-dist/tex/luatex/optex/f-gfsbodoni.opm
index ccdef2126d7..7afbe001cce 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-gfsbodoni.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-gfsbodoni.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [GFS Bodoni] \GFSBodoni {Based on Bodoni with greek letters}
- {} {\rm \bf \it \bi} {TX}
+ {} {\rm \bf \it \bi} {}
"[GFSBodoni]"
\_wlog{\_detokenize{%
diff --git a/Master/texmf-dist/tex/luatex/optex/f-heros.opm b/Master/texmf-dist/tex/luatex/optex/f-heros.opm
index 7e466432a3d..6bea7a2642c 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-heros.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-heros.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [Heros] \Heros {TeX Gyre Heros fonts based on Helvetica}
- {\caps \cond} {\rm \bf \it \bi} {TX}
+ {\caps \cond} {\rm \bf \it \bi} {FiraMath}
"[texgyreheros-regular]"
\_wlog{\_detokenize{%
@@ -23,6 +23,8 @@ Modifiers:^^J
\_initfontfamily % new font family must be initialized
+\_loadmath {[FiraMath-Regular]}
+
\_endcode
diff --git a/Master/texmf-dist/tex/luatex/optex/f-libertine-s.opm b/Master/texmf-dist/tex/luatex/optex/f-libertine-s.opm
index 351a55fc579..1eb2933faa6 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-libertine-s.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-libertine-s.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [Linux Libertine] \libertine {Free Linux Libertine fonts}
- {\sans \mono \caps} {\rm \bf \it \bi \initials \displ \keybr} {TX}
+ {\sans \mono \caps} {\rm \bf \it \bi \initials \displ \keybr} {}
"Linux Libertine O"
\_wlog{\_detokenize{%
diff --git a/Master/texmf-dist/tex/luatex/optex/f-libertine.opm b/Master/texmf-dist/tex/luatex/optex/f-libertine.opm
index 8b45f06e7c9..adc0961f7a7 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-libertine.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-libertine.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [Linux Libertine] \Libertine {Free Linux Libertine fonts}
- {\sans \mono \caps \semi} {\rm \bf \it \bi \initials \displ \keybr} {TX}
+ {\sans \mono \caps \semi} {\rm \bf \it \bi \initials \displ \keybr} {Libertinus}
"[LinLibertine_R]"
\_wlog{\_detokenize{%
@@ -34,6 +34,8 @@ Special variants:^^J
\_initfontfamily % new font family must be initialized
+\_loadmath {[LibertinusMath-Regular]}
+
\_endcode
This file declares Linux Libertine font family from font files. The
diff --git a/Master/texmf-dist/tex/luatex/optex/f-lmfonts.opm b/Master/texmf-dist/tex/luatex/optex/f-lmfonts.opm
index bfd63fd00fe..5be1362b0b0 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-lmfonts.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-lmfonts.opm
@@ -2,7 +2,7 @@
\_fontdecl [Latin Modern] \LMfonts {TeX Gyre fonts based on Coputer Modern}
{\roman \sans \quotset \ttset \ttprop \ttlight \ttcond \upital
- \dunhill submods:\caps \slant \nbold \bolder} {\rm \bf \it \bi \tt} {CM+AMS}
+ \dunhill submods:\caps \slant \nbold \bolder} {\rm \bf \it \bi \tt} {LM}
"[lmroman10-regular]"
\_wlog{\_detokenize{%
@@ -114,6 +114,8 @@ Submodifiers (setlects special variants of given subfamily):^^J
\_initfontfamily % new font family must be initialized
+\_loadmath {[latinmodern-math]}
+
\_endcode
\sec How to wite font-macro-file with optical sizes for \OpTeX/
diff --git a/Master/texmf-dist/tex/luatex/optex/f-pagella.opm b/Master/texmf-dist/tex/luatex/optex/f-pagella.opm
index 77d4d53877a..1f9b8dac806 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-pagella.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-pagella.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [Pagella] \Pagella {TeX Gyre Pagella fonts based on Palatino}
- {\caps} {\rm \bf \it \bi} {TX}
+ {\caps} {\rm \bf \it \bi} {Pagella}
"[texgyrepagella-regular]"
\_wlog{\_detokenize{%
@@ -19,6 +19,8 @@ Modifier:^^J
\_initfontfamily % new font family must be initialized
+\_loadmath {[texgyrepagella-math]}
+
\_endcode
See the file `f-heros.opm` for information about principles of such
diff --git a/Master/texmf-dist/tex/luatex/optex/f-schola.opm b/Master/texmf-dist/tex/luatex/optex/f-schola.opm
index b29444166c4..649515e4a1a 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-schola.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-schola.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [Schola] \Schola {TeX Gyre Schola fonts based on New Century}
- {\caps} {\rm \bf \it \bi} {TX}
+ {\caps} {\rm \bf \it \bi} {Schola}
"[texgyreschola-regular]"
\_wlog{\_detokenize{%
@@ -19,6 +19,8 @@ Modifier:^^J
\_initfontfamily % new font family must be initialized
+\_loadmath {[texgyreschola-math]}
+
\_endcode
See the file `f-heros.opm` for information about principles of such
diff --git a/Master/texmf-dist/tex/luatex/optex/f-technika.opm b/Master/texmf-dist/tex/luatex/optex/f-technika.opm
index d7f006d6f41..cf9a197dda2 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-technika.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-technika.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [Technika] \Technika {Fonts from visual style of CTU in Prague}
- {\caps \light} {\rm \bf \it \bi \stencil} {TX}
+ {\caps \light} {\rm \bf \it \bi \stencil} {}
"[Technika-Regular]"
\_wlog{\_detokenize{%
diff --git a/Master/texmf-dist/tex/luatex/optex/f-termes.opm b/Master/texmf-dist/tex/luatex/optex/f-termes.opm
index 25d9ef1911e..d64d6a463e5 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-termes.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-termes.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [Termes] \Termes {TeX Gyre Termes fonts based on Times}
- {\caps} {\rm \bf \it \bi} {TX}
+ {\caps} {\rm \bf \it \bi} {Termes}
"[texgyretermes-regular]"
\_wlog{\_detokenize{%
@@ -19,6 +19,8 @@ Modifier:^^J
\_initfontfamily % new font family must be initialized
+\_loadmath {[texgyretermes-math]}
+
\_endcode
See the file `f-heros.opm` for information about principles of such
diff --git a/Master/texmf-dist/tex/luatex/optex/f-xcharter.opm b/Master/texmf-dist/tex/luatex/optex/f-xcharter.opm
index 98db483ea4e..d7b4d475487 100644
--- a/Master/texmf-dist/tex/luatex/optex/f-xcharter.opm
+++ b/Master/texmf-dist/tex/luatex/optex/f-xcharter.opm
@@ -1,7 +1,7 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
\_fontdecl [XCharter] \XCharter {An extension of Bitstream Charter}
- {\caps \slant} {\rm \bf \it \bi} {TX}
+ {\caps \slant} {\rm \bf \it \bi} {}
"[XCharter-Roman]"
\_wlog{\_detokenize{%
diff --git a/Master/texmf-dist/tex/luatex/optex/fams-ini.opm b/Master/texmf-dist/tex/luatex/optex/fams-ini.opm
index 3d9c5685770..096e32df5c2 100644
--- a/Master/texmf-dist/tex/luatex/optex/fams-ini.opm
+++ b/Master/texmf-dist/tex/luatex/optex/fams-ini.opm
@@ -108,25 +108,5 @@ The `\_famtext` writes a line to the terminal and to the log file when all
families are listed.
For modifiers and variants declared by `\_faminfo` the sample of letters
-and other characters from is printed from `\catalogsample` register.
-You can redeclare the printed sample by:
-
-\begtt
- \catalogsample={Hello world!}
-\endtt
-
-You can restrict the families to be printed in catalogue by:
-
-\begtt
- \catalogonly={Termes, Latin Modern, Heros}
-\endtt
-
-If `\catalogonly` is empty (this is default value) then all families are
-printed but no families listed in `\catalogexclude`, for example
-
-\begtt
- \catalogexclude={Latin Modern, XCharter}
-\endtt
-
-The `\cataogexclude` is empty by default.
+and other characters is printed. from `\catalogsample` register.
diff --git a/Master/texmf-dist/tex/luatex/optex/fonts-catalog.opm b/Master/texmf-dist/tex/luatex/optex/fonts-catalog.opm
index 88d0d1174fb..f771fe92ebe 100644
--- a/Master/texmf-dist/tex/luatex/optex/fonts-catalog.opm
+++ b/Master/texmf-dist/tex/luatex/optex/fonts-catalog.opm
@@ -3,6 +3,7 @@
\_initunifonts
\_begingroup
+\_noloadmath
\_let\_ttfixed=\_tentt
\_suppressfontnotfounderror=1
@@ -63,9 +64,42 @@
\_input fams-ini.opm
\_isfile {fams-user.opm}\_iftrue \_input fams-user.opm \_fi
-\_vfil\_break
\_endgroup
+\parindent=0pt
+
+\nonum\sec Customization of the catalogue
+
+
+You can redeclare the printed sample of each font by:
+
+\begtt
+\catalogsample={Hello world!}
+\endtt
+
+before \code{\\fontfam[catalog]} command is used.
+You can restrict the families to be printed in catalogue by:
+
+\begtt
+\catalogonly={Termes, Latin Modern, Heros}
+\endtt
+
+If the \code{\\catalogonly} is empty (this is default value) then all families are
+printed but families listed in the \code{\\catalogexclude} are excluded. For example
+
+\begtt
+\catalogexclude={Latin Modern, XCharter}
+\endtt
+
+The \code{\\cataogexclude} is empty by default.
+
+\bigskip The font families printed in the catalogue must be declared by the
+\code{\\_faminfo} command in the file \code{fams-ini.opm} (declarations used
+as default for \OpTeX/) or in the file \code{fams-user.opm}. The second file
+does not exist by default but user can create it. The syntax rules are
+described in the \code{fams-ini.opm} file.
+
+
\_endcode % -------------------------------------
\ No newline at end of file
diff --git a/Master/texmf-dist/tex/luatex/optex/fonts-opmac.opm b/Master/texmf-dist/tex/luatex/optex/fonts-opmac.opm
index 2224d722b05..40f3f4dd50d 100644
--- a/Master/texmf-dist/tex/luatex/optex/fonts-opmac.opm
+++ b/Master/texmf-dist/tex/luatex/optex/fonts-opmac.opm
@@ -132,7 +132,7 @@ before `\typoscale` command.
\begtt
\typosize[12/14.4] % first usage in document, sets main values internally
- \typosize[15/18 bigger font
+ \typosize[15/18] % bigger font
\scalemain \typoscale[800/800] % reduces from main values, no from current values.
\endtt
diff --git a/Master/texmf-dist/tex/luatex/optex/fonts-resize.opm b/Master/texmf-dist/tex/luatex/optex/fonts-resize.opm
index 4a7bf75468d..b537c2d7224 100644
--- a/Master/texmf-dist/tex/luatex/optex/fonts-resize.opm
+++ b/Master/texmf-dist/tex/luatex/optex/fonts-resize.opm
@@ -1,6 +1,6 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \setfontsize {Font resizing macros <2020-01-23>}
+\_codedecl \setfontsize {Font resizing macros <2020-02-14>}
%% resizefont variant-name \fontswitch, for example \resizefont{bf}\_tenbf
@@ -33,7 +33,7 @@
\_def\_reloading{\_loadf{rm}\_tenrm \_loadf{bf}\_tenbf
\_loadf{it}\_tenit \_loadf{bi}\_tenbi
}
-\_def\_loadf#1#2{\sdef{_tryload#1}{\_resizefont{#1}#2}}
+\_def\_loadf#1#2{\sdef{_tryload#1}{\_ifmmode \_else \_resizefont{#1}#2\_fi}}
\_def\_tryloadtt{\fontlet\_tentt=\_tentt \_sizespec\_relax}
\_def\_setoptsize {\_isnextchar a{\_setoptsizeA}
@@ -83,7 +83,7 @@
\_def \_keepmeaning #1#2{\_global\_let\_keepmeaningdata=#1%
#2\_let#1=\_keepmeaningdata \_global\_let\_keepmeaningdata=\_undefined
}
-\_protected \_def \_currvar{\_cs{_currvar:\_ea \_xstring \_the\_font}}
+\_protected \_def \_currvar{\_cs{_currvar:\_ea \_csstring \_the\_font}}
\_sdef{_currvar:_tenrm}{\_rm}
\_sdef{_currvar:_tenbf}{\_bf}
\_sdef{_currvar:_tenit}{\_it}
@@ -91,7 +91,7 @@
\_sdef{_currvar:_tentt}{\_tt}
\_def \_newcurrfontsize #1{% \newcurrfontsize{at25pt}
- \_edef\_tmp{\_ea\_xstring \_the\_font}%
+ \_edef\_tmp{\_ea\_csstring \_the\_font}%
\_ea \_fontlet \_csname \_tmp\_ea\_endcsname \_the\_font \_space #1\_relax
\_csname \_tmp\_endcsname
}
diff --git a/Master/texmf-dist/tex/luatex/optex/fonts-select.opm b/Master/texmf-dist/tex/luatex/optex/fonts-select.opm
index f9d63556393..ee8fa7709ba 100644
--- a/Master/texmf-dist/tex/luatex/optex/fonts-select.opm
+++ b/Master/texmf-dist/tex/luatex/optex/fonts-select.opm
@@ -1,6 +1,6 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \fontfam {Fonts selection system <2020-01-23>}
+\_codedecl \fontfam {Fonts selection system <2020-02-14>}
\_def\_initunifonts {%
\_ea\_newcount \_csname e@alloc@attribute@count\_endcsname
@@ -12,8 +12,9 @@
\_gdef\_rfskipatX ##1" ##2\_relax{"##1"}%
\_gdef\_doresizefont ##1{\_logfont{##1}%
\_font##1=\_fontnamegen\_space \_sizespec \_relax}%
- \_def \_fontnamegen{lmr10}%
+ \_def \_fontnamegen{ec-lmr10}%
\_global\_let\_initunifonts=\_relax % we need not to do this work twice
+ \_global\_let\initunifonts=\_relax
}
\_def\_fontdecl [#1]#2#3#4#5#6#7"#8"{%
\_initunifonts \_uniaccents
@@ -21,7 +22,7 @@
\_isfont"#8"\_iffalse
\_opwarning{Family [#1] skipped, font "#7" not found}\_ea\_ea\_ea\_endinput \_else
\_def\_textfamily{#1}%
- \_edef\_currfamily {\_xstring #2}%
+ \_edef\_currfamily {\_csstring #2}%
\_def\_mainfamcommand{#2}%
\_wterm {FONT: [#1] -- \string#2 \_detokenize{(#3)^^J mods:{#4} vars:{#5} math:{#6}}}%
\_fi
@@ -71,7 +72,7 @@
\_edef\_act{\_noexpand\_isinlist{,#2,}{,\_cs{_#1V},}}\_act
\_iftrue #3\_fi
}
-\_def \_moddef #1#2{\_edef\_tmp{\_xstring#1}\_remfirstunderscore\_tmp
+\_def \_moddef #1#2{\_edef\_tmp{\_csstring#1}\_remfirstunderscore\_tmp
\_sdef{_f:\_currfamily:\_tmp}{#2\_reloading}%
\_protected \_edef #1{\noexpand\_famdepend\noexpand#1{_f:\noexpand\_currfamily:\_tmp}}%
\_ea \_ifx \_csname\_tmp\_endcsname #1\_else
@@ -82,7 +83,7 @@
\_def\_famdepend#1#2{\_ifcsname#2\_endcsname \_csname#2\_ea\_endcsname \_else
\_opwarning{\string#1 is undeclared in current family "\_currfamily", ignored}\_fi
}
-\_def\_famvardef#1{\_edef\_tmp{\_xstring#1}\_remfirstunderscore\_tmp
+\_def\_famvardef#1{\_edef\_tmp{\_csstring#1}\_remfirstunderscore\_tmp
\_ea\_famvardefA \_ea#1\_csname _ten\_tmp\_ea\_endcsname
\_csname _tryload\_tmp\_ea\_endcsname \_csname \_tmp\_endcsname
}
@@ -95,7 +96,7 @@
\_sdef{_f:\_currfamily:\_tmp}{#3#2}%
\_def#3{\_fontdef#2{\_reloading#5}}%
\_ifx#1\tt \addto#1{\_fam\_ttfam}\fi
- \_sdef{_currvar:\xstring#2}{#1}%
+ \_sdef{_currvar:\csstring#2}{#1}%
\_ifx#1#4\_else \_public#4;\_fi
\_fi
}
@@ -108,11 +109,11 @@
\_else \_edef\_famfile{f-\_famname}\_fi
\_ifx \_famfile\_empty \_listfamnames \_fi
\_isfile {f-\_famname.opm}\_iftrue
- \_input "f-\_famname.opm"%
- \_else \_isfile {fams-user.opm}\_iftrue \_input fams-user.opm \_fi
+ \_opinput {f-\_famname.opm}
+ \_else \_isfile {fams-user.opm}\_iftrue \_opinput {fams-user.opm} \_fi
\_ifcsname _famf:\_famname\_endcsname \_edef\_famfile{\_cs{_famf:\_famname}}%
\_else \_edef\_famfile{f-\_famname}\_fi
- \_isfile {\_famfile.opm}\_iftrue \_input "\_famfile.opm"%
+ \_isfile {\_famfile.opm}\_iftrue \_opinput {\_famfile.opm}
\_else \_opwarning{Family [#1] undeclared, "\_famfile.opm" not found}%
\_fi \_fi \_relax
}
@@ -122,10 +123,10 @@
\_begingroup
\_let\_famtext=\_wterm
\_def\_faminfo [##1]##2##3##4{%
- \_wterm{ \_space\_noexpand\_fontfam [##1] -- ##2}%
+ \_wterm{ \_space\_noexpand\fontfam [##1] -- ##2}%
\_let\_famalias=\_famaliasA}%
- \_input fams-ini.opm
- \_isfile {fams-declared.opm}\_iftrue \_input fams-declared.opm \_fi
+ \_opinput {fams-ini.opm}
+ \_isfile {fams-user.opm}\_iftrue \_opinput {fams-user.opm} \_fi
\_message{^^J}%
\_endgroup
}
@@ -149,7 +150,8 @@
\_catalogsample={ABCDabcd Qsty fi fl áéíóúüů řžč ÁÉÍÓÚ ŘŽČ 0123456789}
\_public
- \fontfam \isfont \famvardef \moddef \catalogonly \catalogexclude \catalogsample ;
+ \fontfam \initunifonts \isfont \famvardef \moddef
+ \catalogonly \catalogexclude \catalogsample ;
\_endcode %---------------------------------------------------
@@ -270,6 +272,19 @@ Maybe, one needs a context switching between `\rm`<-->`\bf` and
`\it`<-->`\bi`. This is done by `\em` macro, see opmac-fonts.ofm.
+\secc Math Fonts
+%---------------
+
+First usage of `\fontfam` loads UnicodeMath fonts too if the specified font
+family is configured with an UnicodeMath font. If you neeed not this feature
+(because preloaded 8bit math fonts seem to be sufficient for you) then write
+`\noloadmath` before first `\fontfam`.
+
+If you want to use your specially selected UnicodeMath font then use
+`\loadmath{[<font_file>]}` or `\loadmath{<font_name>}` before first
+`\fontfam` is used.
+
+
\secc Defining a font commands
%-----------------------------
diff --git a/Master/texmf-dist/tex/luatex/optex/hyphen-lan.opm b/Master/texmf-dist/tex/luatex/optex/hyphen-lan.opm
index 9532243ebaf..86df5cdc46e 100644
--- a/Master/texmf-dist/tex/luatex/optex/hyphen-lan.opm
+++ b/Master/texmf-dist/tex/luatex/optex/hyphen-lan.opm
@@ -4,21 +4,21 @@
\_chardef\_enPatt=0
\_def\_pattlist{\_enPatt=0}
-\_def\_langlist{en(USpreloaded)}
+\_def\_langlist{en(USenglish)}
\_sdef{_lan:0}{en}
-\_sdef{_ulan:USpreloaded}{en}
+\_sdef{_ulan:usenglish}{en}
\_def\enlang{\_uselang{en}\_enPatt23} % \lefthyph=2 \righthyph=3
\_sdef{langspecific:en}{\_nonfrenchspacing}
\_lefthyphenmin=2 \_righthyphenmin=3 % disallow x- or -xx breaks
-\_input hyphen % en(USpreloaded) patterns from TeX82
+\_input hyphen % en(USenglish) patterns from TeX82
\_def\_preplang #1 #2 #3#4 #5 {%
\_chardef#3=#4
- \_sdef{_lan:#4}{#1}\_sdef{_ulan:#2}{#1}%
+ \_sdef{_lan:#4}{#1}\_lowercase{\_sdef{_ulan:#2}}{#1}%
\_def\_next{\_expandafter\_noexpand\_csname #1lang\_endcsname}
- \_expandafter\_edef \_csname #1lang\_endcsname {%
- \_noexpand\_loadpattrs #2 #4
+ \_ea\_edef \_csname #1lang\_endcsname {%
+ \_lowercase{\_noexpand\_loadpattrs #2} #4
\_gdef\_next{\_noexpand\_uselang{#1}#3#5}%
\_next
}
@@ -32,68 +32,68 @@
}
\_def\_uselang#1#2#3#4{\_language=#2\_lefthyphenmin=#3\_righthyphenmin=#4\_relax
\_frenchspacing % \nonfrenchspacing can be set in \cs{langspecific:lan}
- \_cs{langscpecific:#1}%
+ \_cs{langspecific:#1}%
}
-\_def\_uselanguage#1{\_cs{\_cs{_ulan:#1}lan}}
+\_def\_uselanguage#1{\_lowercase{\_cs{\_cs{_ulan:#1}lang}}}
-\_preplang enus usenglishmax \_enusPatt 100 23
-\_preplang engb ukenglish \_engbPatt 101 23
-\_preplang it italian \_itPatt 102 22
-\_preplang ia interlingua \_iaPatt 103 22
-\_preplang id indonesian \_idPatt 104 22
+\_preplang enus USenglishmax \_enusPatt 100 23
+\_preplang engb UKenglish \_engbPatt 101 23
+\_preplang it Italian \_itPatt 102 22
+\_preplang ia Interlingua \_iaPatt 103 22
+\_preplang id Indonesian \_idPatt 104 22
-\_preplang cs czech \_csPatt 115 23
-\_preplang sk slovak \_skPatt 116 23
-\_preplang de ngerman \_dePatt 121 22
-\_preplang fr french \_frPatt 122 22
-\_preplang pl polish \_plPatt 123 22
-\_preplang cy welsh \_cyPatt 124 23
-\_preplang da danish \_daPatt 125 22
-\_preplang es spanish \_esPatt 126 22
-\_preplang sl slovenian \_slPatt 128 22
-\_preplang fi finnish \_fiPatt 129 22
-\_preplang hy hungarian \_huPatt 130 22
-\_preplang tr turkish \_trPatt 131 22
-\_preplang et estoniak \_etPatt 132 23
-\_preplang eu basque \_euPatt 133 22
-\_preplang ga irish \_gaPatt 134 23
-\_preplang nb bokmal \_nbPatt 135 22
-\_preplang nn nynorsk \_nnPatt 136 22
-\_preplang nl dutch \_nlPatt 137 22
-\_preplang pt portuguese \_ptPatt 138 23
-\_preplang ro romanian \_roPatt 139 22
-\_preplang hr croatian \_hrPatt 140 22
-\_preplang zh pinyin \_zhPatt 141 11
-\_preplang is icelandic \_isPatt 142 22
-\_preplang hsb uppersorbian \_hsbPatt 143 22
-\_preplang af afrikaans \_afPatt 144 12
-\_preplang gl galician \_glPatt 145 22
-\_preplang kmr kurmanji \_kmrPatt 146 22
-\_preplang tk turkmen \_tkPatt 147 22
-\_preplang la latin \_laPatt 148 22
-\_preplang lac classiclatin \_lacPatt 149 22
-\_preplang lal liturgicallatin \_lalPatt 150 22
-\_preplang elm monogreek \_elmPatt 201 11
-\_preplang elp greek \_elpPatt 202 11
-\_preplang grc ancientgreek \_grcPatt 203 11
-\_preplang ca catalan \_caPatt 204 22
-\_preplang cop coptic \_copPatt 205 11
-\_preplang mn mongolian \_mnPatt 206 22
-\_preplang sa sanskrit \_saPatt 207 13
-\_preplang ru russian \_ruPatt 208 22
-\_preplang uk ukrainian \_ukPatt 209 22
-\_preplang hy armenian \_hyPatt 210 12
-\_preplang as assamese \_asPatt 211 11
-\_preplang hi hindi \_hiPatt 212 11
-\_preplang kn kannada \_knPatt 213 11
-\_preplang lv latvian \_lvPatt 215 22
-\_preplang lt lithuanian \_ltPatt 216 22
-\_preplang ml malayalam \_mlPatt 217 11
-\_preplang mr marathi \_mrPatt 218 11
-\_preplang or oriya \_orPatt 219 11
-\_preplang pa panjabi \_paPatt 220 11
-\_preplang ta tamil \_taPatt 221 11
-\_preplang te telugu \_tePatt 222 11
+\_preplang cs Czech \_csPatt 115 23
+\_preplang sk Slovak \_skPatt 116 23
+\_preplang de nGerman \_dePatt 121 22
+\_preplang fr French \_frPatt 122 22
+\_preplang pl Polish \_plPatt 123 22
+\_preplang cy Welsh \_cyPatt 124 23
+\_preplang da Danish \_daPatt 125 22
+\_preplang es Spanish \_esPatt 126 22
+\_preplang sl Slovenian \_slPatt 128 22
+\_preplang fi Finnish \_fiPatt 129 22
+\_preplang hy Hungarian \_huPatt 130 22
+\_preplang tr Turkish \_trPatt 131 22
+\_preplang et Estoniak \_etPatt 132 23
+\_preplang eu Basque \_euPatt 133 22
+\_preplang ga Irish \_gaPatt 134 23
+\_preplang nb Bokmal \_nbPatt 135 22
+\_preplang nn Nynorsk \_nnPatt 136 22
+\_preplang nl Dutch \_nlPatt 137 22
+\_preplang pt Portuguese \_ptPatt 138 23
+\_preplang ro Romanian \_roPatt 139 22
+\_preplang hr Croatian \_hrPatt 140 22
+\_preplang zh Pinyin \_zhPatt 141 11
+\_preplang is Icelandic \_isPatt 142 22
+\_preplang hsb Uppersorbian \_hsbPatt 143 22
+\_preplang af Afrikaans \_afPatt 144 12
+\_preplang gl Galician \_glPatt 145 22
+\_preplang kmr Kurmanji \_kmrPatt 146 22
+\_preplang tk Turkmen \_tkPatt 147 22
+\_preplang la Latin \_laPatt 148 22
+\_preplang lac classicLatin \_lacPatt 149 22
+\_preplang lal liturgicalLatin \_lalPatt 150 22
+\_preplang elm monoGreek \_elmPatt 201 11
+\_preplang elp Greek \_elpPatt 202 11
+\_preplang grc ancientGreek \_grcPatt 203 11
+\_preplang ca Catalan \_caPatt 204 22
+\_preplang cop Coptic \_copPatt 205 11
+\_preplang mn Mongolian \_mnPatt 206 22
+\_preplang sa Sanskrit \_saPatt 207 13
+\_preplang ru Russian \_ruPatt 208 22
+\_preplang uk Ukrainian \_ukPatt 209 22
+\_preplang hy Armenian \_hyPatt 210 12
+\_preplang as Assamese \_asPatt 211 11
+\_preplang hi Hindi \_hiPatt 212 11
+\_preplang kn Kannada \_knPatt 213 11
+\_preplang lv Latvian \_lvPatt 215 22
+\_preplang lt Lithuanian \_ltPatt 216 22
+\_preplang ml Malayalam \_mlPatt 217 11
+\_preplang mr Marathi \_mrPatt 218 11
+\_preplang or Oriya \_orPatt 219 11
+\_preplang pa Panjabi \_paPatt 220 11
+\_preplang ta Tamil \_taPatt 221 11
+\_preplang te Telugu \_tePatt 222 11
\message{Language hyph.patterns ready to load: \_langlist.
Use \string\<shortname>lang to initialize language,
diff --git a/Master/texmf-dist/tex/luatex/optex/if-macros.opm b/Master/texmf-dist/tex/luatex/optex/if-macros.opm
index c3e4619110c..5f3f4d91cf0 100644
--- a/Master/texmf-dist/tex/luatex/optex/if-macros.opm
+++ b/Master/texmf-dist/tex/luatex/optex/if-macros.opm
@@ -19,9 +19,11 @@
% \loop like in plain\TeX/:
-\_def \_loop #1\repeat{\_def\_body{#1}\_iterate}
+\_def \_loop #1\_repeat{\_def\_body{#1}\_iterate}
+\_def \loop #1\repeat{\_def\_body{#1}\_iterate}
+\_let \_repeat=\_fi % this makes \loop...\if...\repeat skippable
+\_let \repeat=\_fi
\_def \_iterate {\_body \_ea \_iterate \_fi}
-\_let \repeat=\fi % this makes \loop...\if...\repeat skippable
% \isempty{text}\iftrue, \isempty{text}\iffalse:
@@ -38,6 +40,15 @@
\_ea\_tmp#1\_endlistsep#2\_end/_%
}
+% \isequal{text}{text}\iftrue ...
+
+\_def\_isequal#1#2#3{\_directlua{%
+ if "\_luaescapestring{#1}"=="\_luaescapestring{#2}" then else tex.print("\_nbb unless") end}#3}
+
+% \ismacro\macro{text}\iftrue ...
+
+\_def\_ismacro#1{\_ea\_isequal\_ea{#1}}
+
% \isnextchar <char>{exec if true}{exec if false}
\_long\_def\_isnextchar#1#2#3{\_begingroup\_toks0={\_endgroup#2}\_toks1={\_endgroup#3}%
@@ -62,8 +73,8 @@
\_public
- \newif \loop \repeat \isempty \istoksempty \isinlist \isnextchar
- \isfile \removespaces ;
+ \newif \isempty \istoksempty \isinlist \isnextchar
+ \isfile \ismacro \isequal \removespaces ;
\_endcode %---------------------------------------------------------
diff --git a/Master/texmf-dist/tex/luatex/optex/logos.opm b/Master/texmf-dist/tex/luatex/optex/logos.opm
index 8d96d332ff0..f691aa0b61c 100644
--- a/Master/texmf-dist/tex/luatex/optex/logos.opm
+++ b/Master/texmf-dist/tex/luatex/optex/logos.opm
@@ -5,7 +5,7 @@
\_protected\_def \_TeX {T\_kern-.1667em\_lower.5ex\_hbox{E}\_kern-.125emX\_ignoreslash}
\_protected\_def \_OpTeX {Op\kern-.1em\_TeX}
\_protected\_def \_LuaTeX {Lua\_TeX}
-\_protected\_def \XeTeX {X\_kern-.125em\_phantom E%
+\_protected\_def \_XeTeX {X\_kern-.125em\_phantom E%
\_pdfsave\_rlap{\_pdfscale{-1}{1}\_lower.5ex\_hbox{E}}\_pdfrestore \_kern-.1667em \_TeX}
\_def\_LaTeX{\_tmpdim=.42ex L\_kern-.36em \_kern \_slantcorr % slant correction
\_raise \_tmpdim \_hbox{\_thefontscale[710]A}%
@@ -20,8 +20,15 @@
\_def\_OPmac{\_leavevmode
\_lower.2ex\_hbox{\_thefontscale[1400]O}\_kern-.86em P{\_em mac}\_ignoreslash}
\_def\_CS{$\_cal C$\_kern-.1667em\_lower.5ex\_hbox{$\_cal S$}\_ignoreslash}
-\_def\_csplain{\_CS plain}
-
+\_def\_csplain{\_CS plain\_ignoreslash}
+\_def\_ignslash#1{\_ifx/#1\_else #1\_fi}
+
+\_toksapp \_pdfstringout {% conversion for PDF outlines
+ \_def\TeX{TeX\_ignslash}\_def\OpTeX{OpTeX\_ignslash}%
+ \_def\LuaTeX{LuaTeX\_ignslash}\_def\XeTeX{XeTeX\_ignslash}%
+ \_def\LaTeX{LaTeX\_ignslash}\_def\OPmac{OPmac\_ignslash}%
+ \_def\CS{CS}\_def\csplain{csplain\_ignslash}%
+}
\_public
\TeX \OpTeX \LuaTeX \XeTeX \LaTeX \OPmac \CS \csplain
diff --git a/Master/texmf-dist/tex/luatex/optex/luatex-ini.opm b/Master/texmf-dist/tex/luatex/optex/luatex-ini.opm
index 7ce9667f79b..d84e0da8b1a 100644
--- a/Master/texmf-dist/tex/luatex/optex/luatex-ini.opm
+++ b/Master/texmf-dist/tex/luatex/optex/luatex-ini.opm
@@ -2,13 +2,6 @@
\_codedecl \pdfprimitive {LuaTeX initialization code <2020-01-23>}
-\_directlua {
- % enable all primitives without prefixing
- tex.enableprimitives('', tex.extraprimitives())
- % enable all primitives with _ prefix
- tex.enableprimitives('_', tex.extraprimitives())
-}
-
\_let\_pdfpagewidth \pagewidth
\_let\_pdfpageheight \pageheight
\_let\_pdfadjustspacing \adjustspacing
diff --git a/Master/texmf-dist/tex/luatex/optex/math-macros.opm b/Master/texmf-dist/tex/luatex/optex/math-macros.opm
index a71a089ab24..27bea8dcc41 100644
--- a/Master/texmf-dist/tex/luatex/optex/math-macros.opm
+++ b/Master/texmf-dist/tex/luatex/optex/math-macros.opm
@@ -1,6 +1,6 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \sin {Math macros plus mathchardefs <2020-01-23>}
+\_codedecl \sin {Math macros plus mathchardefs <2020-02-14>}
%% The character _ as subscript prefix:
@@ -274,8 +274,8 @@
\_protected\_def\lg {\_mathop{\_rm lg}\_nolimits}
\_protected\_def\ln {\_mathop{\_rm ln}\_nolimits}
\_protected\_def\lim {\_mathop{\_rm lim}}
-\_protected\_def\limsup {\_mathop{\_rm lim\_,sup}}
-\_protected\_def\liminf {\_mathop{\_rm lim\_,inf}}
+\_protected\_def\limsup {\_mathop{\_rm lim\_thinsk sup}}
+\_protected\_def\liminf {\_mathop{\_rm lim\_thinsk inf}}
\_protected\_def\sin {\_mathop{\_rm sin}\_nolimits}
\_protected\_def\arcsin {\_mathop{\_rm arcsin}\_nolimits}
\_protected\_def\sinh {\_mathop{\_rm sinh}\_nolimits}
@@ -495,7 +495,7 @@
\_protected\_def\_cases#1{\_left\{\_thinsk\_vcenter{\_normalbaselines\_math
\_ialign{$##\_hfil$&\_quad##\_hfil\_crcr#1\_crcr}}\_right.}
-\_protected\_def\_matrix#1{\_null\_,\_vcenter{\_normalbaselines\_math
+\_protected\_def\_matrix#1{\_null\_thinsk\_vcenter{\_normalbaselines\_math
\_ialign{\_hfil$##$\_hfil&&\_quad\_hfil$##$\_hfil\_crcr
\_mathstrut\_crcr\_noalign{\_kern-\_baselineskip}
#1\_crcr\_mathstrut\_crcr\_noalign{\_kern-\_baselineskip}}}\_thinsk}
@@ -521,7 +521,7 @@
\_def\_openupA{\_advance\_lineskip by\_dimen0
\_advance\_baselineskip by\_dimen0
\_advance\_lineskiplimit by\_dimen0 }
-\_def\_eqalign#1{\_null\_,\_vcenter{\_openup\_jot\_math
+\_def\_eqalign#1{\_null\_thinsk\_vcenter{\_openup\_jot\_math
\_ialign{\_strut\_hfil$\_displaystyle{##}$&$\_displaystyle{{}##}$\_hfil
\_crcr#1\_crcr}}\_thinsk}
\_newifi\_ifdtop
@@ -796,7 +796,7 @@
\_protected\_def \_not#1{%
\_ifx #1<\_nless \_else
\_ifx #1>\_ngtr \_else
- \_edef\_tmpn{\_xstring#1}%
+ \_edef\_tmpn{\_csstring#1}%
\_ifcsname _not\tmpn\_endcsname \_csname _not\tmpn\_endcsname
\_else \_ifcsname _n\tmpn\_endcsname \_csname _n\tmpn\_endcsname
\_else \_mathrel{\_mathord{\_notchar}\_mathord{#1}}%
diff --git a/Master/texmf-dist/tex/luatex/optex/math-preload.opm b/Master/texmf-dist/tex/luatex/optex/math-preload.opm
index 70cc5e798f7..a2a5669831e 100644
--- a/Master/texmf-dist/tex/luatex/optex/math-preload.opm
+++ b/Master/texmf-dist/tex/luatex/optex/math-preload.opm
@@ -130,9 +130,12 @@
\_newdimen\_ptunit \_ptunit=1pt
\_newdimen\_ptmunit \_ptmunit=1\_ptunit
+\_suppressfontnotfounderror=1
\_setmathsizes[10/7/5]\_normalmath
+\_suppressfontnotfounderror=0
-\_public \normalmath \boldmath \setmathsizes
+\_public
+ \normalmath \boldmath \setmathsizes
\bf \it \bi \tt \mit \cal \bbchar \frak \script \ptunit ;
\_endcode %---------------------------------------------------
diff --git a/Master/texmf-dist/tex/luatex/optex/math-unicode.opm b/Master/texmf-dist/tex/luatex/optex/math-unicode.opm
new file mode 100644
index 00000000000..9b4cf60acbc
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/optex/math-unicode.opm
@@ -0,0 +1,155 @@
+%% This is part of OpTeX project, see http://petr.olsak.net/optex
+
+\_codedecl \loadmath {Unicode Math fonts <2020-02-14>}
+
+\_newifi \_ifmathloading \_mathloadingtrue
+
+\_def\_noloadmath{\_mathloadingfalse}
+\_def\_doloadmath{\_mathloadingtrue}
+
+\_def\_loadmath#1{%
+ \_ifmathloading
+ \_initunifonts
+ \_isfont"#1"\_iffalse
+ \_opwarning{Math font "#1" not found, skipped...}%
+ \_else
+ \_def\_unimathfont{#1}%
+ \_def\_normalmath{%
+ \_loadumathfamily 1 {\_unimathfont}{} % Base font
+ \_loadmathfamily 4 rsfs % script
+ \_setmathdimens
+ }%
+ \_let\_boldmath=\_normalmath
+ \_addto\_boldmath{\_pdfliteral direct {2 Tr .3 w}\_aftergroup\_noboldmath}%
+ \_def\_noboldmath{\_pdfliteral direct {0 Tr 0 w}}% faked bold only :-(
+ \_normalmath
+ \_wterm {MATH-FONT: "#1" -- unicode math prepared.}%
+ \_setctable\_optexcatcodes \_input unimath-codes.opm \_restorectable
+ \_mathloadingfalse
+ \_fi\_fi}
+
+\_def\_loadboldmath#1#2\to #3{%
+ \_def\_tmp{#3}\_ifx\_unimathfont\_tmp % do work only if #3 is loaded as normal Math
+ \_isfont"#1"\_iffalse
+ \_opwarning{Bold-Math font "#1" not found, skipped...}
+ \_else
+ \_def\_unimathboldfont{#1}%
+ \_def\_boldmath{%
+ \_loadumathfamily 1 {\_unimathboldfont}{} % Base font
+ \_loadmathfamily 4 rsfs % script
+ \_setmathdimens
+ }%
+ \_wterm {MATH-FONT: "#1" -- unicode math bold prepared.}%
+ \_fi\_fi}
+
+\_def\_umathname#1#2{"#1:\_mfontfeatures#2"}
+\_def\_mfontfeatures{mode=base;script=math;}
+
+\_def\_loadumathfamily #1 #2#3 {%
+ \_edef\_optsizesave{\_the\_optsize}%
+ \_optsize=\_sizemtext \_font\_mF=\_umathname{#2}{#3} at\_optsize \_textfont#1=\_mF
+ \_ifnum#1=1 \_textfont2=\_mF \_textfont3=\_mF \_fi
+ \_optsize=\_sizemscript \_font\_mF=\_umathname{#2}{+ssty=0;#3} at\_optsize \_scriptfont#1=\_mF
+ \_ifnum#1=1 \_scriptfont2=\_mF \_scriptfont3=\_mF \_fi
+ \_optsize=\_sizemsscript \_font\_mF=\_umathname{#2}{+ssty=1;#3} at\_optsize \_scriptscriptfont#1=\_mF
+ \_ifnum#1=1 \_scriptscriptfont2=\_mF \_scriptscriptfont3=\_mF \_fi
+ \_optsize=\_optsizesave \_relax
+}
+
+\_newcount\umathnumA \_newcount\umathnumB
+
+\def\umathcorr#1#2{\expandafter#1\expandafter{\the#2}}
+\def\umathprepare#1{\def\umathscanholes##1[#1]##2##3\relax{##2}}
+\def\umathvalue#1{\expandafter\umathscanholes\umathcharholes[#1]{#1}\relax}
+
+\def\umathcharholes{% holes in math alphabets:
+ [119893]{"210E}[119965]{"212C}[119968]{"2130}[119969]{"2131}%
+ [119971]{"210B}[119972]{"2110}[119975]{"2112}[119976]{"2133}[119981]{"211B}%
+ [119994]{"212F}[119996]{"210A}[120004]{"2134}%
+ [120070]{"212D}[120075]{"210C}[120076]{"2111}[120085]{"211C}[120093]{"2128}%
+ [120122]{"2102}[120127]{"210D}[120133]{"2115}[120135]{"2119}
+ [120136]{"211A}[120137]{"211D}[120145]{"2124}%
+}
+\def\umathrange#1#2{\umathnumB=#2\relax \umathrangeA#1}
+\def\umathrangeA#1-#2{\umathnumA=`#1\relax
+ \loop
+ \umathcorr\umathprepare\umathnumB
+ \Umathcode \umathnumA = 7 1 \umathcorr\umathvalue{\umathnumB}
+ \ifnum\umathnumA<`#2\relax
+ \advance\umathnumA by1 \advance\umathnumB by1
+ \repeat
+}
+\def\umathrangeGREEK{\begingroup
+ \lccode`A="0391 \lccode`Z="03A9
+ \lowercase{\endgroup\umathrange{A-Z}}}
+\def\umathrangegreek{\begingroup
+ \lccode`A="03B1 \lccode`Z="03D6
+ \lowercase{\endgroup\umathrange{A-Z}}}
+\def\greekdef#1{\ifx#1\relax \else
+ \begingroup \lccode`X=\umathnumB \lowercase{\endgroup \def#1{X}}%
+ \advance\umathnumB by 1
+ \expandafter\greekdef \fi
+}
+
+\_public
+ \loadmath \loadboldmath \noloadmath \doloadmath ;
+
+\_endcode
+
+--------------------------------------------
+
+The `\loadmath` macro loads math fonts and sets math-codes using \input
+unimath-codes.opm. If UnicodeMath font is loaded then `\_mathloadingfalse`
+is set, so new UnicodeMath font isn't loaded until `\domathload` is used.
+
+`\loadadboldmath{<bold-font>} \to {<normal-font>}` loads bold variant only
+if <normal-font> was sucessully loaded. For example:
+
+\begtt
+\loadmath {[xitsmath-regular]}
+\loadboldmath {[xitsmath-bold]} \to {[xitsmath-regular]}
+\endtt
+
+You can combine more fonts, if you register them to another
+math families (5, 6, 7, etc.) in \normalmath macro.
+
+The default value of \normalmath shows a combination of base Unicode Math
+font with 8bit Math font at family 4. See definition of \script macro where
+\fam4 is used. Of course, we need to set \rmvariables too, because 8bit font
+accepts only codes less than 255.
+
+See http://tex.stackexchange.com/questions/308749/ for more technical details.
+
+The poor bold is used for complete bold vaiant of the font. If the selected
+font has its bold vaiant (like xits-math), you can re-define \boldmath macro
+by:
+
+\def\boldmath{%
+ \loadumathfamily 1 {[xitsmath-bold]}{} % Base font
+ \loadmathfamily 4 rsfs % script
+ \setmathdimens
+}
+
+XITSmath-bold needs correction: the norm symbol ||x|| is missing here. So, you
+can define:
+
+\def\boldmath{%
+ \loadumathfamily 1 {[xitsmath-bold]}{} % Base font
+ \loadmathfamily 4 rsfs % script
+ \loadumathfamily 5 {[xitsmath-regular]}{}
+ \def\|{\Udelimiter 0 5 "02016 }% % norm delimiter from family 5
+ \setmathdimens
+}
+
+--------------------
+
+\loadmath{[XITSMath-Regular]} ... XITS MATH^^J
+\loadmath{[latinmodern-math]} ... Latin Modern Math^^J
+\loadmath{[texgyretermes-math]} ... TeXGyre Termes Math^^J
+\loadmath{[texgyrebonum-math]} ... TeXGyre Bonum Math^^J
+\loadmath{[texgyrepagella-math]} ... TeXGyre Pagella Math^^J
+\loadmath{[texgyreschola-math]} ... TeXGyre Schola Math^^J
+\loadmath{[texgyredejavu-math]} ... TeXGyre DeJaVu Math^^J
+\loadmath{[LibertinusMath-Regular]} ... Libertinus Math^^J
+\loadmath{[FiraMath-Regular]} ... Fira Math^^J
+\loadmath{[Asana-Math]} ... Asana Math^^J
diff --git a/Master/texmf-dist/tex/luatex/optex/mathclass.opm b/Master/texmf-dist/tex/luatex/optex/mathclass.opm
new file mode 100644
index 00000000000..458431abcad
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/optex/mathclass.opm
@@ -0,0 +1,1591 @@
+# File: MathClass.txt
+# Revision: 15
+# Date: 2017-06-01, 12:35:00 GMT
+#
+# © 2017 Unicode®, Inc.
+# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
+# For documentation, see http://www.unicode.org/reports/tr25/
+#
+# ------------------------------------------------
+# This file is a classification of characters based on their usage in
+# mathematical notation.
+#
+# While the contents of this file represent the best information
+# available to the authors and the Unicode Technical Committee as
+# of the date referenced above, it is likely that the information
+# in this file will change from time to time.
+#
+# This file is *NOT* formally part of the Unicode Character Database
+# at this time.
+#
+# The character encoding of this plain-text file is UTF-8.
+#
+# The data consists of 2 fields.
+#
+# 1: code point or range
+#
+# 2: class, one of:
+#
+# N - Normal - includes all digits and symbols requiring only one form
+# A - Alphabetic
+# B - Binary
+# C - Closing - usually paired with opening delimiter
+# D - Diacritic
+# F - Fence - unpaired delimiter (often used as opening or closing)
+# G - Glyph_Part - piece of large operator
+# L - Large - n-ary or large operator, often takes limits
+# O - Opening - usually paired with closing delimiter
+# P - Punctuation
+# R - Relation - includes arrows
+# S - Space
+# U - Unary - operators that are only unary
+# V - Vary - operators that can be unary or binary depending on context
+# X - Special - characters not covered by other classes
+#
+# Fields are delimited by ';'. Spaces adjacent to the delimiter or the '#' are
+# not significant. Future versions of this file may use different amounts of
+# whitespace.
+#
+# Some character positions in the Mathematical Alphanumeric Symbols block are
+# reserved and have been mapped to the Letterlike Symbols block in Unicode.
+# This is indicated in 24 special purpose comments.
+#
+# The character repertoire of this revision is the repertoire of Unicode
+# Version 9.0. For more information see Revision 15 or later of UTR #25.
+# ------------------------------------------------
+
+0020;S
+0021;N
+0023;N
+0024;N
+0025;N
+0026;N
+0028;O
+0029;C
+002A;N
+002B;V
+002C;P
+002D;N
+002E;P
+002F;B
+0030..0039;N
+003A;P
+003B;P
+003C;R
+003D;R
+003E;R
+003F;P
+0040;N
+0041..005A;A
+005B;O
+005C;B
+005D;C
+005E;N
+005F;N
+0060;D
+0061..007A;A
+007B;O
+007C;F
+007D;C
+007E;N
+00A0;S
+00A1;P
+00A2;N
+00A3;N
+00A4;N
+00A5;N
+00A6;N
+00A7;N
+00A8;D
+00AC;U
+00AF;D
+00B0;N
+00B1;V
+00B2;N
+00B3;N
+00B4;N
+00B5;N
+00B6;N
+00B7;B
+00B9;N
+00BC;N
+00BD;N
+00BE;N
+00BF;P
+00D7;B
+00F7;B
+0131;A
+0237;A
+02C6;D
+02C7;D
+02D8;D
+02D9;D
+02DA;D
+02DC;D
+0300;D
+0301;D
+0302;D
+0303;D
+0304;D
+0305;D
+0306;D
+0307;D
+0308;D
+030A;D
+030C;D
+0311;D
+0323;D
+032C;D
+032D;D
+032E;D
+032F;D
+0330;D
+0331;D
+0332;D
+0333;D
+0338;D
+033A;D
+033F;D
+0346;D
+0391;A
+0392;A
+0393;A
+0394;A
+0395;A
+0396;A
+0397;A
+0398;A
+0399;A
+039A;A
+039B;A
+039C;A
+039D;A
+039E;A
+039F;A
+03A0;A
+03A1;A
+03A3;A
+03A4;A
+03A6;A
+03A7;A
+03A8;A
+03A9;A
+03B1;A
+03B2;A
+03B3;A
+03B4;A
+03B5;A
+03B6;A
+03B7;A
+03B8;A
+03B9;A
+03BA;A
+03BB;A
+03BC;A
+03BD;A
+03BE;A
+03BF;A
+03C0;A
+03C1;A
+03C3;A
+03C4;A
+03C5;A
+03C6;A
+03C7;A
+03C8;A
+03C9;A
+03D0;A
+03D1;A
+03D2;A
+03D5;A
+03D6;A
+03D8;N
+03D9;N
+03DA;A
+03DB;A
+03DC;A
+03DD;A
+03E0;A
+03E1;A
+03F0;A
+03F1;A
+03F4;A
+03F5;A
+03F6;N
+0428;A
+0606;L
+0607;L
+0608;A
+2000;S
+2001;S
+2002;S
+2003;S
+2004;S
+2005;S
+2006;S
+2007;S
+2009;S
+200A;S
+200B;S
+2010;P
+2012;P
+2013;P
+2014;P
+2016;F
+2020;R
+2021;R
+2022;B
+2026;N
+2032;N
+2033;N
+2034;N
+2035;N
+2036;N
+2037;N
+203B;N
+203C;N
+2040;B
+2044;B
+204E;B
+204F;R
+2050;R
+2051;N
+2052;N
+2057;N
+205F;S
+2061;B
+2062;B
+2063;P
+2064;X
+207A..207E;N
+208A..208E;N
+20D0;D
+20D1;D
+20D2;D
+20D3;X
+20D4;D
+20D5;D
+20D6;D
+20D7;D
+20D8;D
+20D9;D
+20DA;D
+20DB;D
+20DC;D
+20DD;D
+20DE;D
+20DF;D
+20E1;D
+20E4;D
+20E5;D
+20E6;D
+20E7;D
+20E8;D
+20E9;D
+20EA;D
+20EB;D
+20EC;D
+20ED;D
+20EE;D
+20EF;D
+2102;A
+2107;N
+210A;A
+210B;A
+210C;A
+210D;A
+210E;N
+210F;N
+2110;A
+2111;A
+2112;A
+2113;A
+2115;A
+2118;A
+2119;A
+211A;A
+211B;A
+211C;A
+211D;A
+2124;A
+2126;N
+2127;N
+2128;A
+2129;N
+212B;A
+212C;A
+212D;A
+212F;A
+2130;A
+2131;A
+2132;N
+2133;A
+2134;A
+2135;A
+2136;A
+2137;A
+2138;A
+213C;A
+213D;A
+213E;N
+213F;A
+2140;L
+2141;N
+2142;N
+2143;N
+2144;N
+2145;N
+2146;N
+2147;N
+2148;N
+2149;N
+214B;N
+2190..21B3;R
+21B6;R
+21B7;R
+21BA..21FF;R
+2200;U
+2201;U
+2202;N
+2203;U
+2204;U
+2205;N
+2206;U
+2207;U
+2208;R
+2209;R
+220A;R
+220B;R
+220C;R
+220D;R
+220E;N
+220F;L
+2210;L
+2211;L
+2212;V
+2213;V
+2214;B
+2215;B
+2216;B
+2217;B
+2218;B
+2219;B
+221A;L
+221B;L
+221C;L
+221D;R
+221E;N
+221F;N
+2220;N
+2221;N
+2222;N
+2223;R
+2224;R
+2225;R
+2226;R
+2227;B
+2228;B
+2229;B
+222A;B
+222B;L
+222C;L
+222D;L
+222E;L
+222F;L
+2230;L
+2231;L
+2232;L
+2233;L
+2234;R
+2235;R
+2236;R
+2237;R
+2238;B
+2239;R
+223A;R
+223B;R
+223C;R
+223D;R
+223E;B
+223F;N
+2240;B
+2241;R
+2242;R
+2243;R
+2244;R
+2245;R
+2246;R
+2247;R
+2248;R
+2249;R
+224A;R
+224B;R
+224C;R
+224D;R
+224E;R
+224F;R
+2250;R
+2251;R
+2252;R
+2253;R
+2254;R
+2255;R
+2256;R
+2257;R
+2258;R
+2259;R
+225A;R
+225B;R
+225C;R
+225D;R
+225E;R
+225F;R
+2260;R
+2261;R
+2262;R
+2263;R
+2264;R
+2265;R
+2266;R
+2267;R
+2268;R
+2269;R
+226A;R
+226B;R
+226C;R
+226D;R
+226E;R
+226F;R
+2270;R
+2271;R
+2272;R
+2273;R
+2274;R
+2275;R
+2276;R
+2277;R
+2278;R
+2279;R
+227A;R
+227B;R
+227C;R
+227D;R
+227E;R
+227F;R
+2280;R
+2281;R
+2282;R
+2283;R
+2284;R
+2285;R
+2286;R
+2287;R
+2288;R
+2289;R
+228A;R
+228B;R
+228C;B
+228D;B
+228E;B
+228F;R
+2290;R
+2291;R
+2292;R
+2293;B
+2294;B
+2295;B
+2296;B
+2297;B
+2298;B
+2299;B
+229A;B
+229B;B
+229C;B
+229D;B
+229E;B
+229F;B
+22A0;B
+22A1;B
+22A2;R
+22A3;R
+22A4;N
+22A5;R
+22A6;R
+22A7;R
+22A8;R
+22A9;R
+22AA;R
+22AB;R
+22AC;R
+22AD;R
+22AE;R
+22AF;R
+22B0;R
+22B1;R
+22B2;R
+22B3;R
+22B4;R
+22B5;R
+22B6;R
+22B7;R
+22B8;R
+22B9;B
+22BA;B
+22BB;B
+22BC;B
+22BD;B
+22BE;N
+22BF;N
+22C0;L
+22C1;L
+22C2;L
+22C3;L
+22C4;B
+22C5;B
+22C6;B
+22C7;B
+22C8;R
+22C9;B
+22CA;B
+22CB;B
+22CC;B
+22CD;R
+22CE;B
+22CF;B
+22D0;R
+22D1;R
+22D2;B
+22D3;B
+22D4;R
+22D5;R
+22D6;R
+22D7;R
+22D8;R
+22D9;R
+22DA;R
+22DB;R
+22DC;R
+22DD;R
+22DE;R
+22DF;R
+22E0;R
+22E1;R
+22E2;R
+22E3;R
+22E4;R
+22E5;R
+22E6;R
+22E7;R
+22E8;R
+22E9;R
+22EA;R
+22EB;R
+22EC;R
+22ED;R
+22EE;R
+22EF;R
+22F0;R
+22F1;R
+22F2;R
+22F3;R
+22F4;R
+22F5;R
+22F6;R
+22F7;R
+22F8;R
+22F9;R
+22FA;R
+22FB;R
+22FC;R
+22FD;R
+22FE;R
+22FF;R
+2300;N
+2302;N
+2305;B
+2306;B
+2308;O
+2309;C
+230A;O
+230B;C
+2310;N
+2311;N
+2319;N
+231C;O
+231D;C
+231E;O
+231F;C
+2320..2321;G
+2322;R
+2323;R
+#2329;O
+#232A;C
+2336;N
+233D;B
+233F;R
+237C;R
+2394;N
+239B..23AF;G
+23B0;R
+23B1;R
+23B2..23B3;G
+23B4;N
+23B5;N
+23B6;N
+23B7;G
+23D0;G
+23DC;N
+23DD;N
+23DE;N
+23DF;N
+23E0;N
+23E1;N
+23E2;N
+23E3;N
+23E4;N
+23E5;N
+23E6;N
+23E7;N
+24C8;N
+25A0;N
+25A1;N
+25AA;N
+25AB;N
+25AD;N
+25AE;N
+25AF;N
+25B0;N
+25B1;N
+25B2;B
+25B3;B
+25B4;B
+25B5;B
+25B6;B
+25B7;B
+25B8;B
+25B9;B
+25BC;B
+25BD;B
+25BE;B
+25BF;B
+25C0;B
+25C1;B
+25C2;B
+25C3;B
+25C4;B
+25C5;B
+25C6;N
+25C7;N
+25C8;N
+25C9;N
+25CA;B
+25CB;B
+25CE;N
+25CF;N
+25D0..25D3;N
+25D6;N
+25D7;N
+25E2;N
+25E3;N
+25E4;N
+25E5;N
+25E6;B
+25E7..25EA;N
+25EB;B
+25EC;B
+25EF;N
+25F8;B
+25F9;B
+25FA;B
+25FB;B
+25FC;B
+25FD;B
+25FE;B
+25FF;B
+2605;B
+2606;B
+2609;N
+260C;N
+263D;N
+263E;N
+263F;N
+2640;N
+2641;N
+2642;N
+2643;N
+2644;N
+2646;N
+2647;N
+2648;N
+2649;N
+2660;N
+2661;N
+2662;N
+2663;N
+2664;N
+2665;N
+2666;N
+2667;N
+2669;N
+266D;N
+266E;N
+266F;N
+2680;N
+2681;N
+2682;N
+2683;N
+2684;N
+2685;N
+2686;N
+2687;N
+2688;N
+2689;N
+26AA;N
+26AB;N
+26AC;N
+26B2;N
+2713;N
+2717;N
+2720;N
+272A;N
+2736;N
+2772;O
+2773;C
+27C0;N
+27C1;N
+27C2;R
+27C3;R
+27C4;R
+27C5;R
+27C6;R
+27C7;R
+27C8;R
+27C9;R
+27CA;R
+27CB;R
+27CC;L
+27CD;R
+27CE;B
+27CF;B
+27D0;N
+27D1;B
+27D2;R
+27D3;R
+27D4;R
+27D5;L
+27D6;L
+27D7;L
+27D8;L
+27D9;L
+27DA;R
+27DB;R
+27DC;R
+27DD;R
+27DE;R
+27DF;R
+27E0;B
+27E1;B
+27E2;B
+27E3;B
+27E4;B
+27E5;B
+27E6;O
+27E7;C
+27E8;O
+27E9;C
+27EA;O
+27EB;C
+27EC;O
+27ED;C
+27EE;O
+27EF;C
+27F0;R
+27F1;R
+27F2;R
+27F3;R
+27F4;R
+27F5;R
+27F6;R
+27F7;R
+27F8;R
+27F9;R
+27FA;R
+27FB;R
+27FC;R
+27FD;R
+27FE;R
+27FF;R
+2900;R
+2901;R
+2902;R
+2903;R
+2904;R
+2905;R
+2906;R
+2907;R
+2908;R
+2909;R
+290A;R
+290B;R
+290C;R
+290D;R
+290E;R
+290F;R
+2910;R
+2911;R
+2912;R
+2913;R
+2914;R
+2915;R
+2916;R
+2917;R
+2918;R
+2919;R
+291A;R
+291B;R
+291C;R
+291D;R
+291E;R
+291F;R
+2920;R
+2921;R
+2922;R
+2923;R
+2924;R
+2925;R
+2926;R
+2927;R
+2928;R
+2929;R
+292A;R
+292B;R
+292C;R
+292D;R
+292E;R
+292F;R
+2930;R
+2931;R
+2932;R
+2933;R
+2934;R
+2935;R
+2936;R
+2937;R
+2938;R
+2939;R
+293A;R
+293B;R
+293C;R
+293D;R
+293E;R
+293F;R
+2940;R
+2941;R
+2942;R
+2943;R
+2944;R
+2945;R
+2946;R
+2947;R
+2948;R
+2949;R
+294A;R
+294B;R
+294C;R
+294D;R
+294E;R
+294F;R
+2950;R
+2951;R
+2952;R
+2953;R
+2954;R
+2955;R
+2956;R
+2957;R
+2958;R
+2959;R
+295A;R
+295B;R
+295C;R
+295D;R
+295E;R
+295F;R
+2960;R
+2961;R
+2962;R
+2963;R
+2964;R
+2965;R
+2966;R
+2967;R
+2968;R
+2969;R
+296A;R
+296B;R
+296C;R
+296D;R
+296E;R
+296F;R
+2970;R
+2971;R
+2972;R
+2973;R
+2974;R
+2975;R
+2976;R
+2977;R
+2978;R
+2979;R
+297A;R
+297B;R
+297C;R
+297D;R
+297E;R
+297F;R
+2980;F
+2981;N
+2982;F
+2983;O
+2984;C
+2985;O
+2986;C
+2987;O
+2988;C
+2989;O
+298A;C
+298B;O
+298C;C
+298D;O
+298E;C
+298F;O
+2990;C
+2991;O
+2992;C
+2993;O
+2994;C
+2995;O
+2996;C
+2997;O
+2998;C
+2999;F
+299A;F
+299B;N
+299C;N
+299D;N
+299E;N
+299F;N
+29A0;N
+29A1;N
+29A2;N
+29A3;N
+29A4;N
+29A5;N
+29A6;N
+29A7;N
+29A8;N
+29A9;N
+29AA;N
+29AB;N
+29AC;N
+29AD;N
+29AE;N
+29AF;N
+29B0;N
+29B1;N
+29B2;N
+29B3;N
+29B4;N
+29B5;N
+29B6;B
+29B7;B
+29B8;B
+29B9;B
+29BA;N
+29BB;N
+29BC;N
+29BD;N
+29BE;N
+29BF;N
+29C0;B
+29C1;B
+29C2;N
+29C3;N
+29C4;B
+29C5;B
+29C6;B
+29C7;B
+29C8;B
+29C9;N
+29CA;N
+29CB;N
+29CC;N
+29CD;N
+29CE;R
+29CF;R
+29D0;R
+29D1;R
+29D2;R
+29D3;R
+29D4;R
+29D5;R
+29D6;B
+29D7;B
+29D8;O
+29D9;C
+29DA;O
+29DB;C
+29DC;N
+29DD;N
+29DE;N
+29DF;R
+29E0;N
+29E1;R
+29E2;B
+29E3;R
+29E4;R
+29E5;R
+29E6;R
+29E7;N
+29E8;N
+29E9;N
+29EA;N
+29EB;B
+29EC;N
+29ED;N
+29EE;N
+29EF;N
+29F0;N
+29F1;N
+29F2;N
+29F3;N
+29F4;R
+29F5;B
+29F6;B
+29F7;B
+29F8;L
+29F9;L
+29FA;B
+29FB;B
+29FC;O
+29FD;C
+29FE;B
+29FF;B
+2A00;L
+2A01;L
+2A02;L
+2A03;L
+2A04;L
+2A05;L
+2A06;L
+2A07;L
+2A08;L
+2A09;L
+2A0A;L
+2A0B;L
+2A0C;L
+2A0D;L
+2A0E;L
+2A0F;L
+2A10;L
+2A11;L
+2A12;L
+2A13;L
+2A14;L
+2A15;L
+2A16;L
+2A17;L
+2A18;L
+2A19;L
+2A1A;L
+2A1B;L
+2A1C;L
+2A1D;L
+2A1E;L
+2A1F;L
+2A20;L
+2A21;L
+2A22;B
+2A23;B
+2A24;B
+2A25;B
+2A26;B
+2A27;B
+2A28;B
+2A29;B
+2A2A;B
+2A2B;B
+2A2C;B
+2A2D;B
+2A2E;B
+2A2F;B
+2A30;B
+2A31;B
+2A32;B
+2A33;B
+2A34;B
+2A35;B
+2A36;B
+2A37;B
+2A38;B
+2A39;B
+2A3A;B
+2A3B;B
+2A3C;B
+2A3D;B
+2A3E;B
+2A3F;B
+2A40;B
+2A41;B
+2A42;B
+2A43;B
+2A44;B
+2A45;B
+2A46;B
+2A47;B
+2A48;B
+2A49;B
+2A4A;B
+2A4B;B
+2A4C;B
+2A4D;B
+2A4E;B
+2A4F;B
+2A50;B
+2A51;B
+2A52;B
+2A53;B
+2A54;B
+2A55;B
+2A56;B
+2A57;B
+2A58;B
+2A59;R
+2A5A;B
+2A5B;B
+2A5C;B
+2A5D;B
+2A5E;B
+2A5F;B
+2A60;B
+2A61;B
+2A62;B
+2A63;B
+2A64;B
+2A65;B
+2A66;R
+2A67;R
+2A68;R
+2A69;R
+2A6A;R
+2A6B;R
+2A6C;R
+2A6D;R
+2A6E;R
+2A6F;R
+2A70;R
+2A71;B
+2A72;B
+2A73;R
+2A74;R
+2A75;R
+2A76;R
+2A77;R
+2A78;R
+2A79;R
+2A7A;R
+2A7B;R
+2A7C;R
+2A7D;R
+2A7E;R
+2A7F;R
+2A80;R
+2A81;R
+2A82;R
+2A83;R
+2A84;R
+2A85;R
+2A86;R
+2A87;R
+2A88;R
+2A89;R
+2A8A;R
+2A8B;R
+2A8C;R
+2A8D;R
+2A8E;R
+2A8F;R
+2A90;R
+2A91;R
+2A92;R
+2A93;R
+2A94;R
+2A95;R
+2A96;R
+2A97;R
+2A98;R
+2A99;R
+2A9A;R
+2A9B;R
+2A9C;R
+2A9D;R
+2A9E;R
+2A9F;R
+2AA0;R
+2AA1;R
+2AA2;R
+2AA3;R
+2AA4;R
+2AA5;R
+2AA6;R
+2AA7;R
+2AA8;R
+2AA9;R
+2AAA;R
+2AAB;R
+2AAC;R
+2AAD;R
+2AAE;R
+2AAF;R
+2AB0;R
+2AB1;R
+2AB2;R
+2AB3;R
+2AB4;R
+2AB5;R
+2AB6;R
+2AB7;R
+2AB8;R
+2AB9;R
+2ABA;R
+2ABB;R
+2ABC;R
+2ABD;R
+2ABE;R
+2ABF;R
+2AC0;R
+2AC1;R
+2AC2;R
+2AC3;R
+2AC4;R
+2AC5;R
+2AC6;R
+2AC7;R
+2AC8;R
+2AC9;R
+2ACA;R
+2ACB;R
+2ACC;R
+2ACD;R
+2ACE;R
+2ACF;R
+2AD0;R
+2AD1;R
+2AD2;R
+2AD3;R
+2AD4;R
+2AD5;R
+2AD6;R
+2AD7;R
+2AD8;R
+2AD9;R
+2ADA;R
+2ADB;R
+2ADC;R
+2ADD;R
+2ADE;R
+2ADF;R
+2AE0;R
+2AE1;N
+2AE2;R
+2AE3;R
+2AE4;R
+2AE5;R
+2AE6;R
+2AE7;R
+2AE8;R
+2AE9;R
+2AEA;R
+2AEB;R
+2AEC;R
+2AED;R
+2AEE;R
+2AEF;R
+2AF0;R
+2AF1;N
+2AF2;R
+2AF3;R
+2AF4;B
+2AF5;B
+2AF6;B
+2AF7;R
+2AF8;R
+2AF9;R
+2AFA;R
+2AFB;B
+2AFC;L
+2AFD;B
+2AFE;B
+2AFF;L
+2B00..2B11;R
+2B12;N
+2B13;N
+2B14;N
+2B15;N
+2B16;N
+2B17;N
+2B18;N
+2B19;N
+2B1B..2B1F;N
+2B20;N
+2B21;N
+2B22;N
+2B23;N
+2B24..2B2F;N
+2B30..2B44;R
+2B45;R
+2B46;R
+2B47..2B4C;R
+2B50..2B54;N
+2B95;R
+2BC2..2BC8;N
+2BCA;N
+2BCB;N
+3008;X
+3009;X
+#3014;O
+#3015;C
+#3018;O
+#3019;C
+301A;X
+301B;X
+306E;N
+FB29;X
+FE00;D
+#deprecFE35;
+#deprecFE36;
+#deprecFE37;
+#deprecFE38;
+FE61..FE66;X
+FE68;X
+FF0B;X
+FF1C..FF1E;X
+FF3C;X
+FF3E;X
+FF5C;X
+FF5E;X
+FFE2;X
+FFE9..FFEC;X
+1D400..1D454;A
+#1D455=210E;N
+1D456..1D49B;A
+1D49C;A
+#1D49D=212C;A
+1D49E;A
+1D49F;A
+#1D4A0=2130;A
+#1D4A1=2131;A
+1D4A2;A
+#1D4A3=210B;A
+#1D4A4=2110;A
+1D4A5;A
+1D4A6;A
+#1D4A7=2112;A
+#1D4A8=2133;A
+1D4A9;A
+1D4AA;A
+1D4AB;A
+1D4AC;A
+#1D4AD=211B;A
+1D4AE;A
+1D4AF;A
+1D4B0;A
+1D4B1;A
+1D4B2;A
+1D4B3;A
+1D4B4;A
+1D4B5;A
+1D4B6;A
+1D4B7;A
+1D4B8;A
+1D4B9;A
+#1D4BA=212F;A
+1D4BB;A
+#1D4BC=210A;A
+1D4BD;A
+1D4BE;A
+1D4BF;A
+1D4C0;A
+1D4C1;A
+1D4C2;A
+1D4C3;A
+#1D4C4=2134;A
+1D4C5;A
+1D4C6;A
+1D4C7;A
+1D4C8;A
+1D4C9;A
+1D4CA;A
+1D4CB;A
+1D4CC;A
+1D4CD;A
+1D4CE;A
+1D4CF;A
+1D4D0..1D503;A
+1D504;A
+1D505;A
+#1D506=212D;A
+1D507;A
+1D508;A
+1D509;A
+1D50A;A
+#1D50B=210C;A
+#1D50C=2111;A
+1D50D;A
+1D50E;A
+1D50F;A
+1D510;A
+1D511;A
+1D512;A
+1D513;A
+1D514;A
+#1D515=211C;A
+1D516;A
+1D517;A
+1D518;A
+1D519;A
+1D51A;A
+1D51B;A
+1D51C;A
+#1D51D=2128;A
+1D51E;A
+1D51F;A
+1D520;A
+1D521;A
+1D522;A
+1D523;A
+1D524;A
+1D525;A
+1D526;A
+1D527;A
+1D528;A
+1D529;A
+1D52A;A
+1D52B;A
+1D52C;A
+1D52D;A
+1D52E;A
+1D52F;A
+1D530;A
+1D531;A
+1D532;A
+1D533;A
+1D534;A
+1D535;A
+1D536;A
+1D537;A
+1D538;A
+1D539;A
+#1D53A=2102;A
+1D53B;A
+1D53C;A
+1D53D;A
+1D53E;A
+#1D53F=210D;A
+1D540;A
+1D541;A
+1D542;A
+1D543;A
+1D544;A
+#1D545=2115;A
+1D546;A
+#1D547=2119;A
+#1D548=211A;A
+#1D549=211D;A
+1D54A;A
+1D54B;A
+1D54C;A
+1D54D;A
+1D54E;A
+1D54F;A
+1D550;A
+#1D551=2124;A
+1D552;A
+1D553;A
+1D554;A
+1D555;A
+1D556;A
+1D557;A
+1D558;A
+1D559;A
+1D55A;A
+1D55B;A
+1D55C;A
+1D55D;A
+1D55E;A
+1D55F;A
+1D560;A
+1D561;A
+1D562;A
+1D563;A
+1D564;A
+1D565;A
+1D566;A
+1D567;A
+1D568;A
+1D569;A
+1D56A;A
+1D56B;A
+1D56C..1D6A3;A
+1D6A4;A
+1D6A5;A
+1D6A8..1D7C9;A
+1D7CA;A
+1D7CB;A
+1D7CE..1D7FF;N
+1EE00..1EE03;A
+1EE05..1EE1F;A
+1EE21;A
+1EE22;A
+1EE24;A
+1EE27;A
+1EE29..1EE32;A
+1EE34..1EE37;A
+1EE39;A
+1EE3B;A
+1EE42;A
+1EE47;A
+1EE49;A
+1EE4B;A
+1EE4D..1EE4F;A
+1EE51;A
+1EE52;A
+1EE54;A
+1EE57;A
+1EE59;A
+1EE5B;A
+1EE5D;A
+1EE5F;A
+1EE61;A
+1EE62;A
+1EE64;A
+1EE67..1EE6A;A
+1EE6C..1EE72;A
+1EE74..1EE77;A
+1EE79..1EE7C;A
+1EE7E;A
+1EE80..1EE89;A
+1EE8B..1EE9B;A
+1EEA1..1EEA3;A
+1EEA5..1EEA9;A
+1EEAB..1EEBB;A
+1EEF0;L
+1EEF1;L
+1F784;N
+1F78C;N
+1F78D;N
+1F797..1F799;N
+1F79D..1F79F;N
+
+# EOF
diff --git a/Master/texmf-dist/tex/luatex/optex/op-macros.opm b/Master/texmf-dist/tex/luatex/optex/op-macros.opm
new file mode 100644
index 00000000000..659abfe8750
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/optex/op-macros.opm
@@ -0,0 +1,94 @@
+%% This is part of OpTeX project, see http://petr.olsak.net/optex
+
+\_codedecl \eoldef {OpTeX useful macos <2020-02-14>}
+
+\_newcatcodetable \_optexcatcodes
+\_savecatcodetable\_optexcatcodes
+
+\_def\_normalcatcodes {\_catcodetable\_optexcatcodes \_savecatcodetable0 \_catcodetable0 }
+
+\_newcatcodetable \_plaintexcatcodes
+\_public
+ \optexcatcodes \plaintexcatcodes ;
+
+{\_catcode`_=8 \savecatcodetable\plaintexcatcodes}
+
+% \catcodetable stack
+% use \setctable<num> ... \setctable<num> ... \restorectable ... \restorectable
+
+\_newcount\_currctable \_currctable=0
+\_catcodetable0
+
+\_def\_setctable#1{\_edef\_ctablelist{{\_the\_currctable}\_ctablelist}%
+ \_catcodetable#1\_relax \_currctable=#1\_relax
+}
+\_def\_restorectable{\_ea\_restorectableA\_ctablelist\_relax}
+\_def\_restorectableA#1#2\_relax{%
+ \_ifx^#2^\_opwarning
+ {You can't use \_noindent\restorectable without previous \_string\setctable}%
+ \_else \_def\_ctablelist{#2}\_catcodetable#1\_relax \_currctable=#1\_relax \_fi
+}
+\_def\_ctablelist{.}
+
+\_def\_opinput #1{\_setctable\_optexcatcodes \_input "#1" \_restorectable}
+
+
+% \optdef \foo [opt-default] #1#2{...\the\opt...}, usage \foo {}{} or \foo [opt] {}{}
+
+\_def\_optdef#1[#2]{%
+ \_def#1{\_opt={#2}\_isnextchar[{\_cs{_oA:\_string#1}}{\_cs{_oB:\_string#1}}}%
+ \_sdef{_oA:\_string#1}[##1]{\_opt={##1}\_cs{_oB:\string#1\_nospaceafter}}%
+ \_sdef{_oB:\_string#1\_nospaceafter}%
+}
+\_def\_nospaceafter#1{\_ea#1\_romannumeral-`\.}
+
+\_newtoks\_opt
+
+
+% \eoldef \foo #1{thex to end of line is: #1}
+
+\_def\_eoldef #1{\_def #1{\_begingroup \_catcode`\^^M=12 \_eoldefA #1}%
+ \_ea\_def\_csname _\_string #1:M\_endcsname}
+\_catcode`\^^M=12 %
+\_def\_eoldefA #1#2^^M{\_endgroup\_csname _\_string #1:M\_endcsname{#2}}%
+\_normalcatcodes %
+
+\_public \opt \optdef \eoldef ;
+
+\_catcode`!=3 \_catcode`?=3
+\_def\_replstring #1#2#3{% \replstring #1{stringA}{stringB}
+ \_long\_def\_replacestringsA##1#2{\_def #1{##1}\_replacestringsB}%
+ \_long\_def\_replacestringsB##1#2{\_ifx!##1\_relax \_else \_addto #1{#3##1}%
+ \_ea\_replacestringsB\_fi}%
+ \_ea\_replacestringsA #1?#2!#2%
+ \_long\_def\_replacestringsA##1?{\_def #1{##1}}\_ea\_replacestringsA #1}
+\_normalcatcodes
+
+\_def\_remfirstunderscore#1{\_ea\_remfirstunderscoreA#1\_relax#1}
+\_def\_remfirstunderscoreA#1#2\_relax#3{\_if _#1\_def#3{#2}\_fi}
+
+\_ea\_def \_ea\_meaningsepare \_ea#\_ea1\_string m#2:#3->#4^{{#1}{#3}{#4}}
+
+% \keepinputnames ... \input foo ... \lastinputname -> foo
+
+\_def\_keepinputnames{\_directlua{%
+ callback.register("find_read_file",
+ function (id, name)
+ input_file_name = name
+ return name
+ end)
+}}
+\_def\_lastinputname{\_directlua{tex.print(input_file_name)}}
+
+\def\catcode{\_catcode\_string} % more robust in cases \catcode` or \catcode"
+
+\_def\_enquotes{\_chardef\"="201C } % use \"text" for English quotes
+
+\public
+ \setctable \restorectable
+ \normalcatodes \opt \optdef \eoldef \replstring
+ \keepinputnames \lastinputname \enquotes ;
+
+
+\_endcode % -------------------------------------
+
diff --git a/Master/texmf-dist/tex/luatex/optex/opmac-rest.opm b/Master/texmf-dist/tex/luatex/optex/opmac-rest.opm
index 1e8a3415c5b..4f9dbd1aaf0 100644
--- a/Master/texmf-dist/tex/luatex/optex/opmac-rest.opm
+++ b/Master/texmf-dist/tex/luatex/optex/opmac-rest.opm
@@ -17,8 +17,6 @@
\newcount\tmpnum % auxiliary count
\newdimen\tmpdim % auxiliary dimen
-\def\opwarning#1{\immediate\write16{l.\the\inputlineno\space OPmac WARNING: #1.}}
-
\long\def\addto#1#2{\expandafter\def\expandafter#1\expandafter{#1#2}}
\def\protectlist{}
@@ -54,10 +52,6 @@
}
\def\isnextcharA{\the\toks\ifx\tmp\next0\else1\fi\space}
-\def\eoldef#1{\def#1{\begingroup \catcode`\^^M=12 \eoldefA#1}%
- \expandafter\def\csname\string#1:M\endcsname}
-{\catcode`\^^M=12 \gdef\eoldefA#1#2^^M{\endgroup\csname\string#1:M\endcsname{#2}}}
-
\def\maybebreak{\afterassignment\maybebreakA\tmpdim=}
\def\maybebreakA{\ifvmode \vskip0pt plus\tmpdim \penalty-130 \vskip0pt plus-\tmpdim
\else \hskip0pt plus\tmpdim \penalty-130 \hskip0pt plus-\tmpdim \fi \relax
@@ -87,14 +81,6 @@
\newdimen\iindent \iindent=\parindent
% indentation of items, TOC, captions, list of bib. references
-\newdimen\ttindent \ttindent=\parindent
- % indentation in \begtt...\endtt and \verbinput
-
-\def\ttskip{\medskip} % space above and below \begtt, \verbinput
-\mathchardef\ttpenalty=100 % penalty between lines in \begtt, \verbinput
-\def\tthook{} % hook in \begtt, \verbinput
-\def\intthook{} % hook in in-text verbatim
-\def\ptthook{} % hook in \begtt, \verbinput for post-processing
\def\iiskip{\medskip} % space above and below \begitems...\enditems
\def\itemhook{} % hook in \startitem
@@ -134,12 +120,14 @@
%%%%%%%%%%%%%% Multilingual support, sec. 3.5 in opmac-d.pdf
-\def\mtext#1{\csname mt:#1:\csname _lan:\the\language\endcsname\endcsname}
-
-\sdef{mt:chap:en}{Chapter} \sdef{mt:chap:cs}{Kapitola} \sdef{mt:chap:sk}{Kapitola}
-\sdef{mt:t:en}{Table} \sdef{mt:t:cs}{Tabulka} \sdef{mt:t:sk}{Tabu\v lka}
-\sdef{mt:f:en}{Figure} \sdef{mt:f:cs}{Obr\'azek} \sdef{mt:f:sk}{Obr\'azok}
-\sdef{mt:subj:en}{Subject} \sdef{mt:subj:cs}{V\v{e}c} \sdef{mt:subj:sk}{Vec}
+\def\mtext#1{\_ifcsname _mt:#1:\csname _lan:\_the\_language\_endcsname\_endcsname
+ \_csname _mt:#1:\_csname _lan:\_the\_language\_endcsname\_endcsname
+ \_else \_csname _mt:#1:en\_endcsname \_fi
+}
+\sdef{_mt:chap:en}{Chapter} \sdef{_mt:chap:cs}{Kapitola} \sdef{_mt:chap:sk}{Kapitola}
+\sdef{_mt:t:en}{Table} \sdef{_mt:t:cs}{Tabulka} \sdef{_mt:t:sk}{Tabuľka}
+\sdef{_mt:f:en}{Figure} \sdef{_mt:f:cs}{Obrázek} \sdef{_mt:f:sk}{Obrázok}
+\sdef{_mt:subj:en}{Subject} \sdef{_mt:subj:cs}{Věc} \sdef{_mt:subj:sk}{Vec}
%%%%%%%%%%%%%% REF file, sec 3.6 in opmac-d.pdf
@@ -217,7 +205,7 @@
\titfont \noindent #1\par}%
\nobreak\bigskip
}
-\def\titfont{\scalemain\boldify\typoscale[\magstep4/\magstep4]}
+\def\titfont{\scalemain\boldify\typoscale[\magstep4/\magstep5]}
\def\chapfont{\scalemain\boldify\typoscale[\magstep3/\magstep3]}
\def\secfont{\scalemain\boldify\typoscale[\magstep2/\magstep2]}
\def\seccfont{\scalemain\boldify\typoscale[\magstep1/\magstep1]}
@@ -279,8 +267,8 @@
\def\othe#1.{\ifnum#1>0 \the#1.\fi}
\def\thechapnum{} \def\thesecnum{} \def\theseccnum{}
-\def\afternoindent{\global\everypar={\wipeepar\setbox7=\lastbox}}
-\def\wipeepar{\global\everypar={}}
+\def\afternoindent{\global\everypar={\_wipeepar\setbox7=\lastbox}}
+\def\_wipeepar{\global\everypar={}}
\let\firstnoindent=\afternoindent
\def\nbpar{{\interlinepenalty=10000\endgraf}}
\def\nl{\hfil\break}
@@ -644,7 +632,7 @@
\def\corrsize #1{%% #1 := #1 + \splittopskip - \topskip
\advance #1 by \splittopskip \advance #1 by-\topskip
}
-\def\begmulti #1 {\par\bgroup\wipeepar\multiskip\penalty0 \def\Ncols{#1}
+\def\begmulti #1 {\par\bgroup\_wipeepar\multiskip\penalty0 \def\Ncols{#1}
\setbox6=\vbox\bgroup\penalty0
%% \hsize := Sirka sloupce = (\hsize+\colsep) / n - \colsep
\advance\hsize by\colsep
@@ -856,112 +844,6 @@
%%%%%%%%%%%%%% Verbatim, \begtt, \endtt -- sec. 3.18 in opmac-d.pdf
-\newcount\ttline \ttline=-1
-\newcount\viline
-\newread\vifile
-
-\def\setverb{\frenchspacing\def\do##1{\catcode`##1=12}\dospecials \catcode`\*=12 }
-\def\begtt{\par \vskip\parskip \ttskip \bgroup \wipeepar
- \setverb \adef{ }{\ }%
- \ifx\savedttchar\undefined \else \catcode\savedttchar=12 \fi
- \parindent=\ttindent \parskip=0pt
- \tthook\relax
- \ifnum\ttline<0 \else
- \_tenrm \thefontscale[700]\ea\let\ea\sevenrm\the\font
- \everypar\expandafter{\the\everypar \global\advance\ttline by1 \printttline}\fi
- \def\par##1{\endgraf\ifx##1\egroup\else\penalty\ttpenalty\leavevmode\fi ##1}%
- \obeylines \startverb}
-{\catcode`\|=0 \catcode`\\=12
-|gdef|startverb#1\endtt{|tt|ptthook#1|egroup|par|ttskip|testparA}}
-\def\testparA{\expandafter\testparB\romannumeral-`\.}
-\def\testparB{\futurelet\tmpa\testparC}
-\def\testparC{\ifx\tmpa\par\else\afternoindent\fi}
-
-\def\printttline{\llap{\sevenrm\the\ttline\kern.9em}}
-
-\def\activettchar#1{%
- \ifx\savedttchar\undefined\else \catcode\savedttchar=\savedttcharc \fi
- \chardef\savedttchar=`#1%
- \chardef\savedttcharc=\catcode`#1%
- \bgroup\lccode`\~=`#1%
- \lowercase {\egroup\def~}{\leavevmode\hbox\bgroup\setverb\adef{ }{\ }%
- \intthook\tt\readverb}%
- \bgroup\lccode`\~=`#1\lowercase{\egroup\def\readverb ##1~}{##1\egroup}%
- \catcode`#1=13
-}
-
-\def\verbinput (#1) #2 {\par \def\tmpa{#2}%
- \ifx\vifilename\tmpa \else
- \openin\vifile=#2
- \global\viline=0 \global\let\vifilename=\tmpa
- \ifeof\vifile
- \opwarning{\noexpand\verbinput - file "#2" is unable to reading}
- \expandafter\expandafter\expandafter\skiptorelax
- \fi
- \fi
- \viscanparameter #1+\relax
-}
-\def\skiptorelax#1\relax{}
-
-\def \viscanparameter #1+#2\relax{%
- \if$#2$\viscanminus(#1)\else \viscanplus(#1+#2)\fi
-}
-\def\viscanplus(#1+#2+){%
- \if$#1$\tmpnum=\viline
- \else \ifnum#1<0 \tmpnum=\viline \advance\tmpnum by-#1
- \else \tmpnum=#1
- \advance\tmpnum by-1
- \ifnum\tmpnum<0 \tmpnum=0 \fi % (0+13) = (1+13)
- \fi \fi
- \edef\vinolines{\the\tmpnum}%
- \if$#2$\def\vidolines{0}\else\edef\vidolines{#2}\fi
- \doverbinput
-}
-\def\viscanminus(#1-#2){%
- \if$#1$\tmpnum=0
- \else \tmpnum=#1 \advance\tmpnum by-1 \fi
- \ifnum\tmpnum<0 \tmpnum=0 \fi % (0-13) = (1-13)
- \edef\vinolines{\the\tmpnum}%
- \if$#2$\tmpnum=0
- \else \tmpnum=#2 \advance\tmpnum by-\vinolines \fi
- \edef\vidolines{\the\tmpnum}%
- \doverbinput
-}
-\def\doverbinput{%
- \tmpnum=\vinolines
- \advance\tmpnum by-\viline
- \ifnum\tmpnum<0
- \openin\vifile=\vifilename\space
- \global\viline=0
- \else
- \edef\vinolines{\the\tmpnum}%
- \fi
- \vskip\parskip \ttskip \bgroup \wipeepar
- \setverb \adef{ }{\ }%
- \ifx\savedttchar\undefined \else \catcode\savedttchar=12 \fi
- \parindent=\ttindent \parskip=0pt
- \tthook\relax
- \ifnum\ttline<-1 \else
- \_tenrm \thefontscale[700]\ea\let\ea\sevenrm\the\font
- \everypar\expandafter{\the\everypar \glob\advance\ttline by1 \printttline}\fi
- \def\par##1{\endgraf\ifx##1\egroup\else\penalty\ttpenalty\leavevmode\fi ##1}%
- \obeylines \tmpnum=0 \lccode`\~=`\^^M \lowercase{\def\tmpb{~}}%
- \loop \ifeof\vifile \tmpnum=\vinolines\space \fi
- \ifnum\tmpnum<\vinolines\space
- \vireadline \advance\tmpnum by1 \repeat %% skip line
- \ifnum\ttline=-1 \ttline=\viline \let\glob=\relax \else\let\glob=\global \fi
- \tmpnum=0 \ifnum\vidolines=0 \tmpnum=-1 \fi
- \ifeof\vifile \tmpnum=\vidolines\space \fi
- \loop \ifnum\tmpnum<\vidolines\space
- \vireadline
- \ifeof\vifile \tmpnum=\vidolines\space \else \viprintline \fi %% print line
- \ifnum\vidolines=0 \else\advance\tmpnum by1 \fi
- \repeat
- \tt\expandafter\ptthook\tmpb\egroup\par\ttskip\testparA
-}
-\def\vireadline{\read\vifile to \tmp \global\advance\viline by1 }
-\def\viprintline{\expandafter\addto\expandafter\tmpb\expandafter{\tmp}}
-
%%%%%%%%%%%%%% \table -- sec. 3.19 in opmac-d.pdf
\newtoks\tabdata
@@ -1365,7 +1247,9 @@
}
\def\Xcite#1{\addto\citelistB{\citeI[#1]}}
-\def\usebib{\par \input opmac-bib \usebib}
+\newcatcodetable\savedcatcodes
+
+\def\usebib{\par \_opinput {usebib.opm} \usebib}
%%%%%%%%%%%%%% output -- sec. 3.24 in opmac-d.pdf
@@ -1403,7 +1287,7 @@
\eoldef\author##1{\removelastskip\bigskip
{\leftskip=0pt plus1fill \rightskip=\leftskip \it \noindent ##1\par}\nobreak\bigskip
}
- \parindent=1.2em \iindent=\parindent \ttindent=\parindent
+ \parindent=1.2em \iindent=\parindent \_ttindent=\parindent
\footline={\global\footline={\hss\_tenrm\thefontsize[10]\folio\hss}}
\runningfnotes
}
diff --git a/Master/texmf-dist/tex/luatex/optex/optex.ini b/Master/texmf-dist/tex/luatex/optex/optex.ini
index 2ec0665c853..280dd347ca0 100644
--- a/Master/texmf-dist/tex/luatex/optex/optex.ini
+++ b/Master/texmf-dist/tex/luatex/optex/optex.ini
@@ -3,17 +3,24 @@
%% OpTeX ini file
%% Petr Olsak <started from: Jan. 2020>
-% Basic catcodes:
-
-\catcode `\_=11
-\catcode `\{=1
-\catcode `\}=2
-\catcode `\#=6
-\catcode `\^=7
+% Catcodes:
+
+\catcode `\{=1 % left brace is begin-group character
+\catcode `\}=2 % right brace is end-group character
+\catcode `\$=3 % dollar sign is math shift
+\catcode `\&=4 % ampersand is alignment tab
+\catcode `\#=6 % hash mark is macro parameter character
+\catcode `\^=7 %
+\catcode `\^^K=7 % circumflex and uparrow are for superscripts
+\catcode `\^^A=8 % downarrow is for subscripts
+\catcode `\^^I=10 % ascii tab is a blank space
+\catcode `\_=11 % underline can be used in control sequences
+\catcode `\~=13 % tilde is active
+\catcode 127=12 % normal character
% OpTeX version
-\def\optexversion{Alpha 0.02 Feb 2020}
+\def\optexversion{Alpha 0.03 Feb 2020}
% Engine testing:
@@ -40,23 +47,25 @@
\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 op-macros.opm % OpTeX useful macros
+\input plain-macros.opm % plainTeX macros
+\input fonts-preload.opm % preloaded Latin 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 math-unicode.opm % macros for loading UnicodeMath fonts
\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 verbatim.opm % verbatim
+\input logos.opm % standard logos
\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
@@ -76,11 +85,13 @@
TODO:
- re-implement macros from opmac-rest.opm
- add unicode math support (from uni-math.tex from csplain)
+- re-implement usebib, bib-style.opm
- add modules support (for example opmac-bib)
-- write more documentation
+- write more and better documentation
- ...
DOC:
+- optex-doc.tex optex-doc.pdf
- about Font selection system: ....... files: fonts-select.opm, fonts-opmac.opm,
fonts-resize.opm, f-heros.opm, f-lmfonts.opm
fams-ini.opm
diff --git a/Master/texmf-dist/tex/luatex/optex/pdfuni-string.opm b/Master/texmf-dist/tex/luatex/optex/pdfuni-string.opm
index d9732472f2e..dac1c5c3b82 100644
--- a/Master/texmf-dist/tex/luatex/optex/pdfuni-string.opm
+++ b/Master/texmf-dist/tex/luatex/optex/pdfuni-string.opm
@@ -1,20 +1,20 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \pdfunidef {PDFunicode strings for outlines <2019-05-21>}
+\_codedecl \pdfunidef {PDFunicode strings for outlines <2020-02-14>}
\_edef\_octalprint#1#2{\_noexpand\_directlua{% #1=character-code #2=character
if ('#2'>='A' and '#2'<='Z') or ('#2'>='a' and '#2'<='z') then
tex.print(string.format('000\_pcent s',"#2"))
else
- tex.print(string.format('\_pcent 03o\_nbb\_pcent03o',#1/256,#1\_pcent256))
+ local num=#1\_pcent256
+ tex.print(string.format('\_pcent 03o\_nbb\_pcent03o',(#1-num)/256,num))
end
}}
\_def\_pdfunidef#1#2{%
\_begingroup
\_catcode`\\=12 \_let\\=\_nbackslash
- \_ea\_def\_ea#1\_ea{\_detokenize\_ea{#2}}%
- \_ea\_replstring\_ea#1\_ea{\\}{\_pdfunidefA}%
- \_edef#1{#1 ^}\_replstring#1{ ^}{}% \TeX /u -> \TeX/u
+ \_the\_pdfstringout % extra defnitions of logos etc.
+ \_edef#1{#2}%
\_replstring#1{ }{{ }}% text text -> text{ }text
\_edef\_out{\\376\\377}%
\_ea\_pdfunidefB#1^% text -> \_out in octal
@@ -22,7 +22,6 @@
\_endgroup
\_ea\_def\_ea#1\_ea{\_out}
}
-\_def\_pdfunidefA #1 #2{\\#1\_ifx/#2/\_else\_space \_ea#2\_fi}
\_def\_pdfunidefB#1{%
\_ifx^#1\_else
\_tmpnum=`#1
@@ -31,7 +30,9 @@
}
\_def\_pdfunidefC #1{\_edef\_out{\_out \\\_ea\_octalprint\_ea{\_the\_tmpnum}{#1}}}
-\public \pdfunidef ;
+\_newtoks \_pdfstringout
+
+\public \pdfunidef \pdfstringout ;
\_endcode % --------------------------------
diff --git a/Master/texmf-dist/tex/luatex/optex/plain-macros.opm b/Master/texmf-dist/tex/luatex/optex/plain-macros.opm
index f2cf66f3cbb..7402ff5cd5e 100644
--- a/Master/texmf-dist/tex/luatex/optex/plain-macros.opm
+++ b/Master/texmf-dist/tex/luatex/optex/plain-macros.opm
@@ -1,11 +1,13 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \magstep {Macros from plain TeX <2019-05-21>}
+\_codedecl \magstep {Macros from plain TeX <2019-02-14>}
+
+\_chardef\_active = 13
\_def\_dospecials {\do\ \do\\\do\{\do\}\do\$\do\&%
\do\#\do\^\do\^^K\do\^^A\do\%\do\~}
\_public
- \dospecials ;
+ \dospecials \active ;
\_def \_magstephalf{1095 }
\_def \_magstep#1{\_ifcase#1 1000\_or 1200\_or 1440\_or 1728\_or 2074\_or 2488\_fi\_space}
@@ -181,15 +183,15 @@
\oalign \ooalign \d \b \c \dots ;
\def \_oldaccents {%
- \_def\`##1{{\_accent\_grave ##1}}%
- \_def\'##1{{\_accent\_acute ##1}}%
+ \_def\`##1{{\_accent\_tgrave ##1}}%
+ \_def\'##1{{\_accent\_tacute ##1}}%
\_def\v##1{{\_accent\_caron ##1}}%
- \_def\u##1{{\_accent\_breve ##1}}%
+ \_def\u##1{{\_accent\_tbreve ##1}}%
\_def\=##1{{\_accent\_macron ##1}}%
\_def\^##1{{\_accent\_circumflex ##1}}%
\_def\.##1{{\_accent\_dotaccent ##1}}%
\_def\H##1{{\_accent\_hungarumlaut ##1}}%
- \_def\~##1{{\_accent\_tilde ##1}}%
+ \_def\~##1{{\_accent\_ttilde ##1}}%
\_def\"##1{{\_accent\_dieresis ##1}}%
\_def\r##1{{\_accent\_ring ##1}}%
}
@@ -197,29 +199,29 @@
\oldaccents ;
% ec-lmr encoding (will be changed after \fontfam macro):
-\_chardef\_grave=0
-\_chardef\_acute=1
+\_chardef\_tgrave=0
+\_chardef\_tacute=1
\_chardef\_circumflex=2
-\_chardef\_tilde=3
+\_chardef\_ttilde=3
\_chardef\_dieresis=4
\_chardef\_hungarumlaut=5
\_chardef\_ring=6
\_chardef\_caron=7
-\_chardef\_breve=8
+\_chardef\_tbreve=8
\_chardef\_macron=9
\_chardef\_dotaccent=10
\_chardef\_cedilla=11
\_def \_uniaccents {% accents with Unicode
- \_chardef\_grave="0060
- \_chardef\_acute="00B4
+ \_chardef\_tgrave="0060
+ \_chardef\_tacute="00B4
\_chardef\_circumflex="005E
- \_chardef\_tilde="02DC
+ \_chardef\_ttilde="02DC
\_chardef\_dieresis="00A8
\_chardef\_hungarumlaut="02DD
\_chardef\_ring="02DA
\_chardef\_caron="02C7
- \_chardef\_breve="02D8
+ \_chardef\_tbreve="02D8
\_chardef\_macron="00AF
\_chardef\_dotaccent="02D9
\_chardef\_cedilla="00B8
diff --git a/Master/texmf-dist/tex/luatex/optex/prefixed.opm b/Master/texmf-dist/tex/luatex/optex/prefixed.opm
index 8b730523373..ca84181f6ea 100644
--- a/Master/texmf-dist/tex/luatex/optex/prefixed.opm
+++ b/Master/texmf-dist/tex/luatex/optex/prefixed.opm
@@ -1,26 +1,29 @@
%% This is part of OpTeX project, see http://petr.olsak.net/optex
-\_codedecl \public {Prefixing and code syntax <2020-01-23>}
+\_codedecl \public {Prefixing and code syntax <2020-02-14>}
% all TeX82 primitives have alternative control sequence \_hbox \_string, ...
\let\_directlua = \directlua
\_directlua {
- tex.enableprimitives('_', tex.extraprimitives('tex'))
+ % enable all primitives with _ prefix
+ tex.enableprimitives('_', tex.extraprimitives('tex'))
+ % enable all primitives without prefixing
+ tex.enableprimitives('', tex.extraprimitives())
+ % enable all primitives with _ prefix
+ tex.enableprimitives('_', tex.extraprimitives())
}
\_let\_ea =\_expandafter % usefull shortcut
\_long\_def \_xargs #1#2{\_ifx #2;\_else \_ea#1\_ea#2\_ea\_xargs \_ea #1\_fi}
-\_long\_def \_xstring #1{\_ea\_xstringA \_string#1^}
-\_def \_xstringA #1#2^{#2}
\_def \_public {\_xargs \_publicA}
-\_def \_publicA #1{\_ea\_let \_ea#1\_csname _\_xstring #1\_endcsname}
+\_def \_publicA #1{\_ea\_let \_ea#1\_csname _\_csstring #1\_endcsname}
\_def \_private {\_xargs \_privateA}
-\_def \_privateA #1{\_ea\_let \_csname _\_xstring #1\_endcsname =#1}
+\_def \_privateA #1{\_ea\_let \_csname _\_csstring #1\_endcsname =#1}
\_def \_codedecl #1#2{%
\_ifx #1\_undefined \_wterm{#2}%
@@ -28,7 +31,7 @@
}
\_def \_wterm {\_immediate \_write16 }
-\_public \public \private \xargs \xstring \ea \wterm ;
+\_public \public \private \xargs \ea \wterm ;
\_endcode %----------------------------------------------------
diff --git a/Master/texmf-dist/tex/luatex/optex/unimath-codes.opm b/Master/texmf-dist/tex/luatex/optex/unimath-codes.opm
new file mode 100644
index 00000000000..816584022ec
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/optex/unimath-codes.opm
@@ -0,0 +1,304 @@
+%% This is part of OpTeX project, see http://petr.olsak.net/optex
+
+% This file is read when \loadmath is used.
+
+\_ifx \ncharrmA\undefined \_else \_endinput \_fi
+
+\umathnumB="0391
+\greekdef \Alpha \Beta \Gamma \Delta \Epsilon \Zeta \Eta \Theta \Iota \Kappa
+ \Lambda \Mu \Nu \Xi \Omicron \Pi \Rho \varTheta \Sigma \Tau \Upsilon \Phi
+ \Chi \Psi \Omega \relax
+
+\umathnumB="03B1
+\greekdef \alpha \beta \gamma \delta \epsilon \zeta \eta \theta \iota \kappa
+ \lambda \mu \nu \xi \omicron \pi \rho \varsigma \sigma \tau \upsilon
+ \varphi \chi \psi \omega \varbeta \vartheta \phi \varpi \relax
+
+\chardef\ncharrmA=`A \chardef\ncharrma=`a
+\chardef\ncharbfA="1D400 \chardef\ncharbfa="1D41A
+\chardef\ncharitA="1D434 \chardef\ncharita="1D44E
+\chardef\ncharbiA="1D468 \chardef\ncharbia="1D482
+\chardef\ncharclA="1D49C \chardef\ncharcla="1D4B6
+\chardef\ncharbcA="1D4D0 \chardef\ncharbca="1D4EA
+\chardef\ncharfrA="1D504 \chardef\ncharfra="1D51E
+\chardef\ncharbrA="1D56C \chardef\ncharbra="1D586
+\chardef\ncharbbA="1D538 \chardef\ncharbba="1D552
+\chardef\ncharsnA="1D5A0 \chardef\ncharsna="1D5BA
+\chardef\ncharbsA="1D5D4 \chardef\ncharbsa="1D5EE
+\chardef\ncharsiA="1D608 \chardef\ncharsia="1D622
+\chardef\ncharsxA="1D63C \chardef\ncharsxa="1D656
+\chardef\ncharttA="1D670 \chardef\nchartta="1D68A
+
+\protected\def\rmvariables {\umathrange{A-Z}\ncharrmA \umathrange{a-z}\ncharrma}
+\protected\def\bfvariables {\umathrange{A-Z}\ncharbfA \umathrange{a-z}\ncharbfa}
+\protected\def\nitvariables {\umathrange{A-Z}\ncharitA \umathrange{a-z}\ncharita}
+\protected\def\bivariables {\umathrange{A-Z}\ncharbiA \umathrange{a-z}\ncharbia}
+\protected\def\calvariables {\umathrange{A-Z}\ncharclA \umathrange{a-z}\ncharcla}
+\protected\def\bcalvariables {\umathrange{A-Z}\ncharbcA \umathrange{a-z}\ncharbca}
+\protected\def\frakvariables {\umathrange{A-Z}\ncharfrA \umathrange{a-z}\ncharfra}
+\protected\def\bfrakvariables {\umathrange{A-Z}\ncharbrA \umathrange{a-z}\ncharbra}
+\protected\def\bbvariables {\umathrange{A-Z}\ncharbbA \umathrange{a-z}\ncharbba}
+\protected\def\sansvariables {\umathrange{A-Z}\ncharsnA \umathrange{a-z}\ncharsna}
+\protected\def\bsansvariables {\umathrange{A-Z}\ncharbsA \umathrange{a-z}\ncharbsa}
+\protected\def\isansvariables {\umathrange{A-Z}\ncharsiA \umathrange{a-z}\ncharsia}
+\protected\def\bisansvariables {\umathrange{A-Z}\ncharsxA \umathrange{a-z}\ncharsxa}
+\protected\def\ttvariables {\umathrange{A-Z}\ncharttA \umathrange{a-z}\nchartta}
+
+\chardef\greekrmA="0391 \chardef\greekrma="03B1
+\chardef\greekbfA="1D6A8 \chardef\greekbfa="1D6C2
+\chardef\greekitA="1D6E2 \chardef\greekita="1D6FC
+\chardef\greekbiA="1D71C \chardef\greekbia="1D736
+\chardef\greeksnA="1D756 \chardef\greeksna="1D770
+\chardef\greeksiA="1D790 \chardef\greeksia="1D7AA
+
+\protected\def\nitgreek {\umathrangeGREEK\greekrmA \umathrangegreek\greekita}
+\protected\def\rmgreek {\umathrangeGREEK\greekrmA \umathrangegreek\greekrma}
+\protected\def\bfgreek {\umathrangeGREEK\greekbfA \umathrangegreek\greekbfa}
+\protected\def\bigreek {\umathrangeGREEK\greekbfA \umathrangegreek\greekbia}
+\protected\def\sansgreek {\umathrangeGREEK\greeksnA \umathrangegreek\greeksna}
+\protected\def\isansgreek {\umathrangeGREEK\greeksnA \umathrangegreek\greeksia}
+
+% Another possibility (slanted capitals in \nitgreek, \bigreek, \isansgreek):
+%\protected\def\nitgreek {\umathrangeGREEK\greekitA \umathrangegreek\greekita}
+%\protected\def\rmgreek {\umathrangeGREEK\greekrmA \umathrangegreek\greekrma}
+%\protected\def\bfgreek {\umathrangeGREEK\greekbfA \umathrangegreek\greekbfa}
+%\protected\def\bigreek {\umathrangeGREEK\greekbiA \umathrangegreek\greekbia}
+%\protected\def\sansgreek {\umathrangeGREEK\greeksnA \umathrangegreek\greeksna}
+%\protected\def\isansgreek {\umathrangeGREEK\greeksiA \umathrangegreek\greeksia}
+
+\chardef\digitrmO=`0
+\chardef\digitbfO="1D7CE
+\chardef\digitbbO="1D7D8
+\chardef\digitsnO="1D7E2
+\chardef\digitbsO="1D7EC
+\chardef\digitttO="1D7F6
+
+\protected\def\rmdigits {\umathrange{0-9}\digitrmO}
+\protected\def\bfdigits {\umathrange{0-9}\digitbfO}
+\protected\def\bbdigits {\umathrange{0-9}\digitbbO}
+\protected\def\sansdigits {\umathrange{0-9}\digitsnO}
+\protected\def\bsansdigits {\umathrange{0-9}\digitbsO}
+\protected\def\ttdigits {\umathrange{0-9}\digitttO}
+
+\protected\def\inmath#1{\relax \ifmmode#1\fi} % to keep off \loop processing in text mode
+
+% You can redefine these macros to follow your wishes.
+% For example you need upgright lowercase greek letters, you don't need
+% \bf and \bi behaves as sans serif in math, ...
+
+\protected\def\rm {\_tryloadrm \_tenrm \inmath{\rmvariables \rmdigits}}
+\protected\def\it {\_tryloadit \_tenit \inmath{\nitvariables}}
+\protected\def\bf {\_tryloadbf \_tenbf \inmath{\bsansvariables \sansgreek \bsansdigits}}
+\protected\def\bi {\_tryloadbi \_tenbi \inmath{\bisansvariables \isansgreek \bsansdigits}}
+\protected\def\tt {\_tryloadtt \_tentt \inmath{\ttvariables \ttdigits}}
+\protected\def\bbchar {\bbvariables \bbdigits}
+\protected\def\cal {\calvariables}
+\protected\def\frak {\frakvariables}
+\protected\def\misans {\isansvariables \isansgreek \sansdigits}
+\protected\def\mbisans {\bisansvariables \isansgreek \bsansdigits}
+\protected\def\script {\rmvariables \fam4 }
+
+% Math codes:
+
+\begingroup % \input mathclass.opm (which is a copy of MathClass.txt):
+ \def\p#1;#2{\edef\tmp{\pB#2}\ifx\tmp\empty \else\pA#1....\end#2\fi}
+ \def\pA#1..#2..#3\end#4{%
+ \ifx\relax#2\relax \pset{"#1}{#4}\else
+ \umathnumA="#1
+ \loop
+ \pset{\umathnumA}{#4}%
+ \ifnum\umathnumA<"#2 \advance\umathnumA by1
+ \repeat
+ \fi
+ }
+ \def\pB#1{\if#1L1\fi \if#1B2\fi \if#1V2\fi \if#1R3\fi \if#1N0\fi \if#1U0\fi
+ \if#1F0\fi \if#1O4\fi \if#1C5\fi \if#1P6\fi \if#1A7\fi}
+ \def\pset#1#2{\global\Umathcode#1=\tmp\space 1 #1\relax
+ \if#2O\global\Udelcode#1=1 #1\relax\fi
+ \if#2C\global\Udelcode#1=1 #1\relax\fi
+ \if#2F\global\Udelcode#1=1 #1\relax\fi
+ }
+ \catcode`#=14
+ \everypar={\setbox0=\lastbox \par \p}
+ \input mathclass.opm
+\endgroup
+
+\begingroup % \input unimath-table.opm (it is a copy of unicode-math-table.tex):
+ \def\UnicodeMathSymbol #1#2#3#4{%
+ \global\Umathcharnumdef#2=\Umathcodenum#1\relax
+ \ifx#3\mathopen \gdef#2{\Udelimiter 4 1 #1 }\fi
+ \ifx#3\mathclose \gdef#2{\Udelimiter 5 1 #1 }\fi
+ \ifx#3\mathaccent \gdef#2{\Umathaccent fixed 7 1 #1 }\fi
+ }
+ \input unimath-table.opm
+\endgroup
+
+\nitgreek \nitvariables \rmdigits % default setting
+
+\Umathcode `- = 2 1 "2212
+\let\{=\lbrace \let\}=\rbrace
+
+\def\sqrt {\Uradical 1 "0221A }
+\def\cuberoot {\Uradical 1 "0221B }
+\def\fourthroot {\Uradical 1 "0221C }
+
+\def\intwithnolimits#1{\ifx#1\relax \escapechar=`\\ \else \escapechar=-1
+ \expandafter\let\csname\string#1op\endcsname=#1%
+ \expandafter\def\expandafter#1\expandafter{\csname\string#1op\endcsname \nolimits}%
+ \expandafter \intwithnolimits \fi
+}
+\intwithnolimits \int \iint \iiint \oint \oiint \oiiint \intclockwise
+ \varointclockwise \ointctrclockwise \sumint \iiiint \intbar \intBar \fint
+ \pointint \sqint \intlarhk \intx \intcap \intcup \upint \lowint \relax
+
+\def\vert {\Udelimiter 0 1 "07C }
+\def\Vert {\Udelimiter 0 1 "02016 }
+\def\Vvert {\Udelimiter 0 1 "02980 }
+
+\def\overbrace #1{\mathop {\Umathaccent 7 1 "023DE{#1}}\limits}
+\def\underbrace #1{\mathop {\Umathaccent bottom 7 1 "023DF{#1}}\limits}
+\def\overparen #1{\mathop {\Umathaccent 7 1 "023DC{#1}}\limits}
+\def\underparen #1{\mathop {\Umathaccent bottom 7 1 "023DD{#1}}\limits}
+\def\overbracket #1{\mathop {\Umathaccent 7 1 "023B4{#1}}\limits}
+\def\underbracket #1{\mathop {\Umathaccent bottom 7 1 "023B5{#1}}\limits}
+
+\def\widehat {\Umathaccent 7 1 "00302 }
+\def\widetilde {\Umathaccent 7 1 "00303 }
+\def\overleftharpoon {\Umathaccent 7 1 "020D0 }
+\def\overrightharpoon {\Umathaccent 7 1 "020D1 }
+\def\overleftarrow {\Umathaccent 7 1 "020D6 }
+\def\overrightarrow {\Umathaccent 7 1 "020D7 }
+\def\overleftrightarrow {\Umathaccent 7 1 "020E1 }
+
+% corrections:
+
+\mathchardef\ldotp="612E
+\let\|=\Vert
+
+\let\setminus=\smallsetminus
+\let\diamond=\smwhtdiamond
+\let\bullet=\smblkcircle
+\let\circ=\vysmwhtcircle
+\let\bigcirc=\mdlgwhtcircle
+\let\to=\rightarrow
+\let\le=\leq
+\let\ge=\geq
+\let\neq=\ne
+\protected\def\triangle{\mathord{\bigtriangleup}}
+\let\emptyset=\varnothing
+\let\hbar=\hslash
+\let\land=\wedge
+\let\lor=\vee
+\let\owns=\ni
+\let\gets=\leftarrow
+\let\mathring=\ocirc
+\let\lnot=\neg
+\let\longdivision=\longdivisionsign
+\let\backepsilon=\upbackepsilon
+\let\eth=\matheth
+\let\dbkarow=\dbkarrow
+\let\drbkarow=\drbkarrow
+\let\hksearow=\hksearrow
+\let\hkswarow=\hkswarrow
+
+\let\varepsilon=\epsilon
+\let\upalpha=\mupalpha
+\let\upbeta=\mupbeta
+\let\upgamma=\mupgamma
+\let\updelta=\mupdelta
+\let\upepsilon=\mupvarepsilon
+\let\upvarepsilon=\mupvarepsilon
+\let\upzeta=\mupzeta
+\let\upeta=\mupeta
+\let\uptheta=\muptheta
+\let\upiota=\mupiota
+\let\upkappa=\mupkappa
+\let\uplambda=\muplambda
+\let\upmu=\mupmu
+\let\upnu=\mupnu
+\let\upxi=\mupxi
+\let\upomicron=\mupomicron
+\let\uppi=\muppi
+\let\uprho=\muprho
+\let\upvarrho=\mupvarrho
+\let\upvarsigma=\mupvarsigma
+\let\upsigma=\mupsigma
+\let\uptau=\muptau
+\let\upupsilon=\mupupsilon
+\let\upvarphi=\mupvarphi
+\let\upchi=\mupchi
+\let\uppsi=\muppsi
+\let\upomega=\mupomega
+\let\upvartheta=\mupvartheta
+\let\upphi=\mupphi
+\let\upvarpi=\mupvarpi
+
+\protected\def\not#1{%
+ \expandafter\ifx \csname not!\string#1\endcsname \relax
+ \mathrel{\mathord{\rlap{\kern1pt/}}\mathord{#1}}%
+ \else \csname not!\string#1\endcsname
+ \fi
+}
+\def\negationof#1#2{\expandafter\let \csname not!\string#1\endcsname =#2}
+\negationof = \neq
+\negationof < \nless
+\negationof > \ngtr
+\negationof \gets \nleftarrow
+\negationof \simeq \nsime
+\negationof \equal \ne
+\negationof \le \nleq
+\negationof \ge \ngeq
+\negationof \greater \ngtr
+\negationof \forksnot \forks
+\negationof \in \notin
+
+% we need no more 8bit math fonts
+
+\mathcode`\_="8000
+\mathcode`\∫="8000
+{\catcode`\∫=13 \_ea}\_ea \_let \_noexpand ∫ = \int
+
+\_private
+ \ldotp \cdotp \triangleleft \trianglerigt \mapstochar \rightarrow \prime
+ \lhook \rightarrow \leftarrow \rhook \triangleright \triangleleft
+ \Relbar \Rightarrow \relbar \rightarrow \Leftarrow \mapstochar
+ \longrightarrow \Longleftrightarrow \vdots \ddots ;
+
+
+\def\boldmath{\pdfliteral direct {2 Tr .3 w}\aftergroup\noboldmath}
+\def\noboldmath{\pdfliteral direct {0 Tr 0 w}} % faked bold only :-(
+
+\_endcode
+
+--------------------------------------------
+
+You can combine more fonts, if you register them to another
+math families (5, 6, 7, etc.) in \normalmath macro.
+
+The default value of \normalmath shows a combination of base Unicode Math
+font with 8bit Math font at family 4. See definition of \script macro where
+\fam4 is used. Of course, we need to set \rmvariables too, because 8bit font
+accepts only codes less than 255.
+
+See http://tex.stackexchange.com/questions/308749/ for more technical details.
+
+The poor bold is used for complete bold vaiant of the font. If the selected
+font has its bold vaiant (like xits-math), you can re-define \boldmath macro
+by:
+
+\def\boldmath{%
+ \loadumathfamily 1 {[xitsmath-bold]}{} % Base font
+ \loadmathfamily 4 rsfs % script
+ \setmathdimens
+}
+
+XITSmath-bold needs correction: the norm symbol ||x|| is missing here. So, you
+can define:
+
+\def\boldmath{%
+ \loadumathfamily 1 {[xitsmath-bold]}{} % Base font
+ \loadmathfamily 4 rsfs % script
+ \loadumathfamily 5 {[xitsmath-regular]}{}
+ \def\|{\Udelimiter 0 5 "02016 }% % norm delimiter from family 5
+ \setmathdimens
+}
diff --git a/Master/texmf-dist/tex/luatex/optex/unimath-table.opm b/Master/texmf-dist/tex/luatex/optex/unimath-table.opm
new file mode 100644
index 00000000000..511b67e8ce5
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/optex/unimath-table.opm
@@ -0,0 +1,2467 @@
+%%^^A%% unicode-math-table.tex -- part of UNICODE-MATH <wspr.io/unicode-math>
+%%^^A%% Source file of the math symbols.
+
+\UnicodeMathSymbol{"00021}{\mathexclam }{\mathclose}{exclamation mark}%
+\UnicodeMathSymbol{"00023}{\mathoctothorpe }{\mathord}{number sign}%
+\UnicodeMathSymbol{"00024}{\mathdollar }{\mathord}{dollar sign}%
+\UnicodeMathSymbol{"00025}{\mathpercent }{\mathord}{percent sign}%
+\UnicodeMathSymbol{"00026}{\mathampersand }{\mathord}{ampersand}%
+\UnicodeMathSymbol{"00028}{\lparen }{\mathopen}{left parenthesis}%
+\UnicodeMathSymbol{"00029}{\rparen }{\mathclose}{right parenthesis}%
+\UnicodeMathSymbol{"0002B}{\mathplus }{\mathbin}{plus sign b:}%
+\UnicodeMathSymbol{"0002C}{\mathcomma }{\mathpunct}{comma}%
+\UnicodeMathSymbol{"0002E}{\mathperiod }{\mathord}{full stop, period}%
+\UnicodeMathSymbol{"0002F}{\mathslash }{\mathord}{solidus}%
+\UnicodeMathSymbol{"0003A}{\mathcolon }{\mathpunct}{colon}%
+\UnicodeMathSymbol{"0003B}{\mathsemicolon }{\mathpunct}{semicolon p:}%
+\UnicodeMathSymbol{"0003C}{\less }{\mathrel}{less-than sign r:}%
+\UnicodeMathSymbol{"0003D}{\equal }{\mathrel}{equals sign r:}%
+\UnicodeMathSymbol{"0003E}{\greater }{\mathrel}{greater-than sign r:}%
+\UnicodeMathSymbol{"0003F}{\mathquestion }{\mathord}{question mark}%
+\UnicodeMathSymbol{"00040}{\mathatsign }{\mathord}{commercial at}%
+\UnicodeMathSymbol{"0005B}{\lbrack }{\mathopen}{left square bracket}%
+\UnicodeMathSymbol{"0005C}{\backslash }{\mathord}{reverse solidus}%
+\UnicodeMathSymbol{"0005D}{\rbrack }{\mathclose}{right square bracket}%
+\UnicodeMathSymbol{"0007B}{\lbrace }{\mathopen}{left curly bracket}%
+\UnicodeMathSymbol{"0007C}{\vert }{\mathfence}{vertical bar}%
+\UnicodeMathSymbol{"0007D}{\rbrace }{\mathclose}{right curly bracket}%
+\UnicodeMathSymbol{"000A3}{\mathsterling }{\mathord}{pound sign}%
+\UnicodeMathSymbol{"000A5}{\mathyen }{\mathord}{yen sign}%
+\UnicodeMathSymbol{"000A7}{\mathsection }{\mathord}{section symbol}%
+\UnicodeMathSymbol{"000AC}{\neg }{\mathord}{/neg /lnot not sign}%
+\UnicodeMathSymbol{"000B1}{\pm }{\mathbin}{plus-or-minus sign}%
+\UnicodeMathSymbol{"000B6}{\mathparagraph }{\mathord}{paragraph symbol}%
+\UnicodeMathSymbol{"000B7}{\cdotp }{\mathbin}{/centerdot b: middle dot}%
+\UnicodeMathSymbol{"000D7}{\times }{\mathbin}{multiply sign}%
+\UnicodeMathSymbol{"000F0}{\matheth }{\mathalpha}{eth}%
+\UnicodeMathSymbol{"000F7}{\div }{\mathbin}{divide sign}%
+\UnicodeMathSymbol{"001B5}{\Zbar }{\mathord}{impedance (latin capital letter z with stroke)}%
+\UnicodeMathSymbol{"00300}{\grave }{\mathaccent}{grave accent}%
+\UnicodeMathSymbol{"00301}{\acute }{\mathaccent}{acute accent}%
+\UnicodeMathSymbol{"00302}{\hat }{\mathaccent}{circumflex accent}%
+\UnicodeMathSymbol{"00302}{\widehat }{\mathaccentwide}{circumflex accent}%
+\UnicodeMathSymbol{"00303}{\tilde }{\mathaccent}{tilde}%
+\UnicodeMathSymbol{"00303}{\widetilde }{\mathaccentwide}{tilde}%
+\UnicodeMathSymbol{"00304}{\bar }{\mathaccent}{macron}%
+\UnicodeMathSymbol{"00305}{\overbar }{\mathaccent}{overbar embellishment}%
+\UnicodeMathSymbol{"00305}{\wideoverbar }{\mathaccentwide}{stretchy overbar embellishment}%
+\UnicodeMathSymbol{"00306}{\breve }{\mathaccent}{breve}%
+\UnicodeMathSymbol{"00306}{\widebreve }{\mathaccentwide}{stretchy breve}%
+\UnicodeMathSymbol{"00307}{\dot }{\mathaccent}{dot above}%
+\UnicodeMathSymbol{"00308}{\ddot }{\mathaccent}{dieresis}%
+\UnicodeMathSymbol{"00309}{\ovhook }{\mathaccent}{combining hook above}%
+\UnicodeMathSymbol{"0030A}{\ocirc }{\mathaccent}{ring}%
+\UnicodeMathSymbol{"0030C}{\check }{\mathaccent}{caron}%
+\UnicodeMathSymbol{"0030C}{\widecheck }{\mathaccentwide}{stretchy caron}%
+\UnicodeMathSymbol{"00310}{\candra }{\mathaccent}{candrabindu (non-spacing)}%
+\UnicodeMathSymbol{"00312}{\oturnedcomma }{\mathaccent}{combining turned comma above}%
+\UnicodeMathSymbol{"00315}{\ocommatopright }{\mathaccent}{combining comma above right}%
+\UnicodeMathSymbol{"0031A}{\droang }{\mathaccent}{left angle above (non-spacing)}%
+\UnicodeMathSymbol{"00330}{\wideutilde }{\mathbotaccentwide}{under tilde accent (multiple characters and non-spacing)}%
+\UnicodeMathSymbol{"00332}{\mathunderbar }{\mathbotaccentwide}{combining low line}%
+\UnicodeMathSymbol{"00338}{\notaccent }{\mathaccentoverlay}{combining long solidus overlay}%
+\UnicodeMathSymbol{"0034D}{\underleftrightarrow }{\mathbotaccentwide}{underleftrightarrow accent}%
+\UnicodeMathSymbol{"00391}{\mupAlpha }{\mathalpha}{capital alpha, greek}%
+\UnicodeMathSymbol{"00392}{\mupBeta }{\mathalpha}{capital beta, greek}%
+\UnicodeMathSymbol{"00393}{\mupGamma }{\mathalpha}{capital gamma, greek}%
+\UnicodeMathSymbol{"00394}{\mupDelta }{\mathalpha}{capital delta, greek}%
+\UnicodeMathSymbol{"00395}{\mupEpsilon }{\mathalpha}{capital epsilon, greek}%
+\UnicodeMathSymbol{"00396}{\mupZeta }{\mathalpha}{capital zeta, greek}%
+\UnicodeMathSymbol{"00397}{\mupEta }{\mathalpha}{capital eta, greek}%
+\UnicodeMathSymbol{"00398}{\mupTheta }{\mathalpha}{capital theta, greek}%
+\UnicodeMathSymbol{"00399}{\mupIota }{\mathalpha}{capital iota, greek}%
+\UnicodeMathSymbol{"0039A}{\mupKappa }{\mathalpha}{capital kappa, greek}%
+\UnicodeMathSymbol{"0039B}{\mupLambda }{\mathalpha}{capital lambda, greek}%
+\UnicodeMathSymbol{"0039C}{\mupMu }{\mathalpha}{capital mu, greek}%
+\UnicodeMathSymbol{"0039D}{\mupNu }{\mathalpha}{capital nu, greek}%
+\UnicodeMathSymbol{"0039E}{\mupXi }{\mathalpha}{capital xi, greek}%
+\UnicodeMathSymbol{"0039F}{\mupOmicron }{\mathalpha}{capital omicron, greek}%
+\UnicodeMathSymbol{"003A0}{\mupPi }{\mathalpha}{capital pi, greek}%
+\UnicodeMathSymbol{"003A1}{\mupRho }{\mathalpha}{capital rho, greek}%
+\UnicodeMathSymbol{"003A3}{\mupSigma }{\mathalpha}{capital sigma, greek}%
+\UnicodeMathSymbol{"003A4}{\mupTau }{\mathalpha}{capital tau, greek}%
+\UnicodeMathSymbol{"003A5}{\mupUpsilon }{\mathalpha}{capital upsilon, greek}%
+\UnicodeMathSymbol{"003A6}{\mupPhi }{\mathalpha}{capital phi, greek}%
+\UnicodeMathSymbol{"003A7}{\mupChi }{\mathalpha}{capital chi, greek}%
+\UnicodeMathSymbol{"003A8}{\mupPsi }{\mathalpha}{capital psi, greek}%
+\UnicodeMathSymbol{"003A9}{\mupOmega }{\mathalpha}{capital omega, greek}%
+\UnicodeMathSymbol{"003B1}{\mupalpha }{\mathalpha}{small alpha, greek}%
+\UnicodeMathSymbol{"003B2}{\mupbeta }{\mathalpha}{small beta, greek}%
+\UnicodeMathSymbol{"003B3}{\mupgamma }{\mathalpha}{small gamma, greek}%
+\UnicodeMathSymbol{"003B4}{\mupdelta }{\mathalpha}{small delta, greek}%
+\UnicodeMathSymbol{"003B5}{\mupvarepsilon }{\mathalpha}{rounded small varepsilon, greek}%
+\UnicodeMathSymbol{"003B6}{\mupzeta }{\mathalpha}{small zeta, greek}%
+\UnicodeMathSymbol{"003B7}{\mupeta }{\mathalpha}{small eta, greek}%
+\UnicodeMathSymbol{"003B8}{\muptheta }{\mathalpha}{straight theta, small theta, greek}%
+\UnicodeMathSymbol{"003B9}{\mupiota }{\mathalpha}{small iota, greek}%
+\UnicodeMathSymbol{"003BA}{\mupkappa }{\mathalpha}{small kappa, greek}%
+\UnicodeMathSymbol{"003BB}{\muplambda }{\mathalpha}{small lambda, greek}%
+\UnicodeMathSymbol{"003BC}{\mupmu }{\mathalpha}{small mu, greek}%
+\UnicodeMathSymbol{"003BD}{\mupnu }{\mathalpha}{small nu, greek}%
+\UnicodeMathSymbol{"003BE}{\mupxi }{\mathalpha}{small xi, greek}%
+\UnicodeMathSymbol{"003BF}{\mupomicron }{\mathalpha}{small omicron, greek}%
+\UnicodeMathSymbol{"003C0}{\muppi }{\mathalpha}{small pi, greek}%
+\UnicodeMathSymbol{"003C1}{\muprho }{\mathalpha}{small rho, greek}%
+\UnicodeMathSymbol{"003C2}{\mupvarsigma }{\mathalpha}{terminal sigma, greek}%
+\UnicodeMathSymbol{"003C3}{\mupsigma }{\mathalpha}{small sigma, greek}%
+\UnicodeMathSymbol{"003C4}{\muptau }{\mathalpha}{small tau, greek}%
+\UnicodeMathSymbol{"003C5}{\mupupsilon }{\mathalpha}{small upsilon, greek}%
+\UnicodeMathSymbol{"003C6}{\mupvarphi }{\mathalpha}{curly or open small phi, greek}%
+\UnicodeMathSymbol{"003C7}{\mupchi }{\mathalpha}{small chi, greek}%
+\UnicodeMathSymbol{"003C8}{\muppsi }{\mathalpha}{small psi, greek}%
+\UnicodeMathSymbol{"003C9}{\mupomega }{\mathalpha}{small omega, greek}%
+\UnicodeMathSymbol{"003D1}{\mupvartheta }{\mathalpha}{/vartheta - curly or open theta}%
+\UnicodeMathSymbol{"003D5}{\mupphi }{\mathalpha}{/straightphi - small phi, greek}%
+\UnicodeMathSymbol{"003D6}{\mupvarpi }{\mathalpha}{rounded small pi (pomega), greek}%
+\UnicodeMathSymbol{"003DC}{\upDigamma }{\mathalpha}{capital digamma}%
+\UnicodeMathSymbol{"003DD}{\updigamma }{\mathalpha}{old greek small letter digamma}%
+\UnicodeMathSymbol{"003F0}{\mupvarkappa }{\mathalpha}{rounded small kappa, greek}%
+\UnicodeMathSymbol{"003F1}{\mupvarrho }{\mathalpha}{rounded small rho, greek}%
+\UnicodeMathSymbol{"003F4}{\mupvarTheta }{\mathalpha}{greek capital theta symbol}%
+\UnicodeMathSymbol{"003F5}{\mupepsilon }{\mathalpha}{greek lunate varepsilon symbol}%
+\UnicodeMathSymbol{"003F6}{\upbackepsilon }{\mathord}{greek reversed lunate epsilon symbol}%
+\UnicodeMathSymbol{"02010}{\mathhyphen }{\mathalpha}{hyphen}%
+\UnicodeMathSymbol{"02015}{\horizbar }{\mathord}{horizontal bar}%
+\UnicodeMathSymbol{"02016}{\Vert }{\mathfence}{double vertical bar}%
+\UnicodeMathSymbol{"02017}{\twolowline }{\mathord}{double low line (spacing)}%
+\UnicodeMathSymbol{"02020}{\dagger }{\mathbin}{dagger relation}%
+\UnicodeMathSymbol{"02021}{\ddagger }{\mathbin}{double dagger relation}%
+\UnicodeMathSymbol{"02022}{\smblkcircle }{\mathbin}{/bullet b: round bullet, filled}%
+\UnicodeMathSymbol{"02025}{\enleadertwodots }{\mathord}{double baseline dot (en leader)}%
+\UnicodeMathSymbol{"02026}{\unicodeellipsis }{\mathord}{ellipsis (horizontal)}%
+\UnicodeMathSymbol{"02032}{\prime }{\mathord}{prime or minute, not superscripted}%
+\UnicodeMathSymbol{"02033}{\dprime }{\mathord}{double prime or second, not superscripted}%
+\UnicodeMathSymbol{"02034}{\trprime }{\mathord}{triple prime (not superscripted)}%
+\UnicodeMathSymbol{"02035}{\backprime }{\mathord}{reverse prime, not superscripted}%
+\UnicodeMathSymbol{"02036}{\backdprime }{\mathord}{double reverse prime, not superscripted}%
+\UnicodeMathSymbol{"02037}{\backtrprime }{\mathord}{triple reverse prime, not superscripted}%
+\UnicodeMathSymbol{"02038}{\caretinsert }{\mathord}{caret (insertion mark)}%
+\UnicodeMathSymbol{"0203C}{\Exclam }{\mathord}{double exclamation mark}%
+\UnicodeMathSymbol{"02040}{\tieconcat }{\mathbin}{character tie, z notation sequence concatenation}%
+\UnicodeMathSymbol{"02043}{\hyphenbullet }{\mathord}{rectangle, filled (hyphen bullet)}%
+\UnicodeMathSymbol{"02044}{\fracslash }{\mathbin}{fraction slash}%
+\UnicodeMathSymbol{"02047}{\Question }{\mathord}{double question mark}%
+\UnicodeMathSymbol{"02050}{\closure }{\mathrel}{close up}%
+\UnicodeMathSymbol{"02057}{\qprime }{\mathord}{quadruple prime, not superscripted}%
+\UnicodeMathSymbol{"020AC}{\euro }{\mathord}{euro sign}%
+\UnicodeMathSymbol{"020D0}{\leftharpoonaccent }{\mathaccent}{combining left harpoon above}%
+\UnicodeMathSymbol{"020D0}{\overleftharpoon }{\mathaccentwide}{combining left harpoon above}%
+\UnicodeMathSymbol{"020D1}{\rightharpoonaccent }{\mathaccent}{combining right harpoon above}%
+\UnicodeMathSymbol{"020D1}{\overrightharpoon }{\mathaccentwide}{combining right harpoon above}%
+\UnicodeMathSymbol{"020D2}{\vertoverlay }{\mathaccent}{combining long vertical line overlay}%
+\UnicodeMathSymbol{"020D6}{\overleftarrow }{\mathaccentwide}{combining left arrow above}%
+\UnicodeMathSymbol{"020D7}{\overrightarrow }{\mathaccentwide}{combining left arrow above}%
+\UnicodeMathSymbol{"020D7}{\vec }{\mathaccent}{combining right arrow above}%
+\UnicodeMathSymbol{"020DB}{\dddot }{\mathaccent}{combining three dots above}%
+\UnicodeMathSymbol{"020DC}{\ddddot }{\mathaccent}{combining four dots above}%
+\UnicodeMathSymbol{"020DD}{\enclosecircle }{\mathord}{combining enclosing circle}%
+\UnicodeMathSymbol{"020DE}{\enclosesquare }{\mathord}{combining enclosing square}%
+\UnicodeMathSymbol{"020DF}{\enclosediamond }{\mathord}{combining enclosing diamond}%
+\UnicodeMathSymbol{"020E1}{\overleftrightarrow }{\mathaccentwide}{combining left right arrow above}%
+\UnicodeMathSymbol{"020E4}{\enclosetriangle }{\mathord}{combining enclosing upward pointing triangle}%
+\UnicodeMathSymbol{"020E7}{\annuity }{\mathaccent}{combining annuity symbol}%
+\UnicodeMathSymbol{"020E8}{\threeunderdot }{\mathbotaccent}{combining triple underdot}%
+\UnicodeMathSymbol{"020E9}{\widebridgeabove }{\mathaccent}{combining wide bridge above}%
+\UnicodeMathSymbol{"020EC}{\underrightharpoondown }{\mathbotaccentwide}{combining rightwards harpoon with barb downwards}%
+\UnicodeMathSymbol{"020ED}{\underleftharpoondown }{\mathbotaccentwide}{combining leftwards harpoon with barb downwards}%
+\UnicodeMathSymbol{"020EE}{\underleftarrow }{\mathbotaccentwide}{combining left arrow below}%
+\UnicodeMathSymbol{"020EF}{\underrightarrow }{\mathbotaccentwide}{combining right arrow below}%
+\UnicodeMathSymbol{"020F0}{\asteraccent }{\mathaccent}{combining asterisk above}%
+\UnicodeMathSymbol{"02102}{\BbbC }{\mathalpha}{/bbb c, open face c}%
+\UnicodeMathSymbol{"02107}{\Eulerconst }{\mathord}{euler constant}%
+\UnicodeMathSymbol{"0210A}{\mscrg }{\mathalpha}{/scr g, script letter g}%
+\UnicodeMathSymbol{"0210B}{\mscrH }{\mathalpha}{hamiltonian (script capital h)}%
+\UnicodeMathSymbol{"0210C}{\mfrakH }{\mathalpha}{/frak h, upper case h}%
+\UnicodeMathSymbol{"0210D}{\BbbH }{\mathalpha}{/bbb h, open face h}%
+\UnicodeMathSymbol{"0210E}{\Planckconst }{\mathord}{planck constant}%
+\UnicodeMathSymbol{"0210F}{\hslash }{\mathalpha}{/hslash - variant planck's over 2pi}%
+\UnicodeMathSymbol{"02110}{\mscrI }{\mathalpha}{/scr i, script letter i}%
+\UnicodeMathSymbol{"02111}{\Im }{\mathalpha}{imaginary part}%
+\UnicodeMathSymbol{"02112}{\mscrL }{\mathalpha}{lagrangian (script capital l)}%
+\UnicodeMathSymbol{"02113}{\ell }{\mathalpha}{cursive small l}%
+\UnicodeMathSymbol{"02115}{\BbbN }{\mathalpha}{/bbb n, open face n}%
+\UnicodeMathSymbol{"02118}{\wp }{\mathalpha}{weierstrass p}%
+\UnicodeMathSymbol{"02119}{\BbbP }{\mathalpha}{/bbb p, open face p}%
+\UnicodeMathSymbol{"0211A}{\BbbQ }{\mathalpha}{/bbb q, open face q}%
+\UnicodeMathSymbol{"0211B}{\mscrR }{\mathalpha}{/scr r, script letter r}%
+\UnicodeMathSymbol{"0211C}{\Re }{\mathalpha}{real part}%
+\UnicodeMathSymbol{"0211D}{\BbbR }{\mathalpha}{/bbb r, open face r}%
+\UnicodeMathSymbol{"02124}{\BbbZ }{\mathalpha}{/bbb z, open face z}%
+\UnicodeMathSymbol{"02127}{\mho }{\mathord}{conductance}%
+\UnicodeMathSymbol{"02128}{\mfrakZ }{\mathalpha}{/frak z, upper case z}%
+\UnicodeMathSymbol{"02129}{\turnediota }{\mathalpha}{turned iota}%
+\UnicodeMathSymbol{"0212B}{\Angstrom }{\mathalpha}{angstrom capital a, ring}%
+\UnicodeMathSymbol{"0212C}{\mscrB }{\mathalpha}{bernoulli function (script capital b)}%
+\UnicodeMathSymbol{"0212D}{\mfrakC }{\mathalpha}{black-letter capital c}%
+\UnicodeMathSymbol{"0212F}{\mscre }{\mathalpha}{/scr e, script letter e}%
+\UnicodeMathSymbol{"02130}{\mscrE }{\mathalpha}{/scr e, script letter e}%
+\UnicodeMathSymbol{"02131}{\mscrF }{\mathalpha}{/scr f, script letter f}%
+\UnicodeMathSymbol{"02132}{\Finv }{\mathord}{turned capital f}%
+\UnicodeMathSymbol{"02133}{\mscrM }{\mathalpha}{physics m-matrix (script capital m)}%
+\UnicodeMathSymbol{"02134}{\mscro }{\mathalpha}{order of (script small o)}%
+\UnicodeMathSymbol{"02135}{\aleph }{\mathalpha}{aleph, hebrew}%
+\UnicodeMathSymbol{"02136}{\beth }{\mathalpha}{beth, hebrew}%
+\UnicodeMathSymbol{"02137}{\gimel }{\mathalpha}{gimel, hebrew}%
+\UnicodeMathSymbol{"02138}{\daleth }{\mathalpha}{daleth, hebrew}%
+\UnicodeMathSymbol{"0213C}{\Bbbpi }{\mathord}{double-struck small pi}%
+\UnicodeMathSymbol{"0213D}{\Bbbgamma }{\mathalpha}{double-struck small gamma}%
+\UnicodeMathSymbol{"0213E}{\BbbGamma }{\mathalpha}{double-struck capital gamma}%
+\UnicodeMathSymbol{"0213F}{\BbbPi }{\mathalpha}{double-struck capital pi}%
+\UnicodeMathSymbol{"02140}{\Bbbsum }{\mathop}{double-struck n-ary summation}%
+\UnicodeMathSymbol{"02141}{\Game }{\mathord}{turned sans-serif capital g}%
+\UnicodeMathSymbol{"02142}{\sansLturned }{\mathord}{turned sans-serif capital l}%
+\UnicodeMathSymbol{"02143}{\sansLmirrored }{\mathord}{reversed sans-serif capital l}%
+\UnicodeMathSymbol{"02144}{\Yup }{\mathord}{turned sans-serif capital y}%
+\UnicodeMathSymbol{"02145}{\mitBbbD }{\mathord}{double-struck italic capital d}%
+\UnicodeMathSymbol{"02146}{\mitBbbd }{\mathord}{double-struck italic small d}%
+\UnicodeMathSymbol{"02147}{\mitBbbe }{\mathord}{double-struck italic small e}%
+\UnicodeMathSymbol{"02148}{\mitBbbi }{\mathord}{double-struck italic small i}%
+\UnicodeMathSymbol{"02149}{\mitBbbj }{\mathord}{double-struck italic small j}%
+\UnicodeMathSymbol{"0214A}{\PropertyLine }{\mathord}{property line}%
+\UnicodeMathSymbol{"0214B}{\upand }{\mathbin}{turned ampersand}%
+\UnicodeMathSymbol{"02190}{\leftarrow }{\mathrel}{/leftarrow /gets a: leftward arrow}%
+\UnicodeMathSymbol{"02191}{\uparrow }{\mathrel}{upward arrow}%
+\UnicodeMathSymbol{"02192}{\rightarrow }{\mathrel}{/rightarrow /to a: rightward arrow}%
+\UnicodeMathSymbol{"02193}{\downarrow }{\mathrel}{downward arrow}%
+\UnicodeMathSymbol{"02194}{\leftrightarrow }{\mathrel}{left and right arrow}%
+\UnicodeMathSymbol{"02195}{\updownarrow }{\mathrel}{up and down arrow}%
+\UnicodeMathSymbol{"02196}{\nwarrow }{\mathrel}{nw pointing arrow}%
+\UnicodeMathSymbol{"02197}{\nearrow }{\mathrel}{ne pointing arrow}%
+\UnicodeMathSymbol{"02198}{\searrow }{\mathrel}{se pointing arrow}%
+\UnicodeMathSymbol{"02199}{\swarrow }{\mathrel}{sw pointing arrow}%
+\UnicodeMathSymbol{"0219A}{\nleftarrow }{\mathrel}{not left arrow}%
+\UnicodeMathSymbol{"0219B}{\nrightarrow }{\mathrel}{not right arrow}%
+\UnicodeMathSymbol{"0219C}{\leftwavearrow }{\mathrel}{left arrow-wavy}%
+\UnicodeMathSymbol{"0219D}{\rightwavearrow }{\mathrel}{right arrow-wavy}%
+\UnicodeMathSymbol{"0219E}{\twoheadleftarrow }{\mathrel}{left two-headed arrow}%
+\UnicodeMathSymbol{"0219F}{\twoheaduparrow }{\mathrel}{up two-headed arrow}%
+\UnicodeMathSymbol{"021A0}{\twoheadrightarrow }{\mathrel}{right two-headed arrow}%
+\UnicodeMathSymbol{"021A1}{\twoheaddownarrow }{\mathrel}{down two-headed arrow}%
+\UnicodeMathSymbol{"021A2}{\leftarrowtail }{\mathrel}{left arrow-tailed}%
+\UnicodeMathSymbol{"021A3}{\rightarrowtail }{\mathrel}{right arrow-tailed}%
+\UnicodeMathSymbol{"021A4}{\mapsfrom }{\mathrel}{maps to, leftward}%
+\UnicodeMathSymbol{"021A5}{\mapsup }{\mathrel}{maps to, upward}%
+\UnicodeMathSymbol{"021A6}{\mapsto }{\mathrel}{maps to, rightward}%
+\UnicodeMathSymbol{"021A7}{\mapsdown }{\mathrel}{maps to, downward}%
+\UnicodeMathSymbol{"021A8}{\updownarrowbar }{\mathord}{up down arrow with base (perpendicular)}%
+\UnicodeMathSymbol{"021A9}{\hookleftarrow }{\mathrel}{left arrow-hooked}%
+\UnicodeMathSymbol{"021AA}{\hookrightarrow }{\mathrel}{right arrow-hooked}%
+\UnicodeMathSymbol{"021AB}{\looparrowleft }{\mathrel}{left arrow-looped}%
+\UnicodeMathSymbol{"021AC}{\looparrowright }{\mathrel}{right arrow-looped}%
+\UnicodeMathSymbol{"021AD}{\leftrightsquigarrow }{\mathrel}{left and right arr-wavy}%
+\UnicodeMathSymbol{"021AE}{\nleftrightarrow }{\mathrel}{not left and right arrow}%
+\UnicodeMathSymbol{"021AF}{\downzigzagarrow }{\mathrel}{downwards zigzag arrow}%
+\UnicodeMathSymbol{"021B0}{\Lsh }{\mathrel}{/lsh a:}%
+\UnicodeMathSymbol{"021B1}{\Rsh }{\mathrel}{/rsh a:}%
+\UnicodeMathSymbol{"021B2}{\Ldsh }{\mathrel}{left down angled arrow}%
+\UnicodeMathSymbol{"021B3}{\Rdsh }{\mathrel}{right down angled arrow}%
+\UnicodeMathSymbol{"021B4}{\linefeed }{\mathord}{rightwards arrow with corner downwards}%
+\UnicodeMathSymbol{"021B5}{\carriagereturn }{\mathord}{downwards arrow with corner leftward = carriage return}%
+\UnicodeMathSymbol{"021B6}{\curvearrowleft }{\mathrel}{left curved arrow}%
+\UnicodeMathSymbol{"021B7}{\curvearrowright }{\mathrel}{right curved arrow}%
+\UnicodeMathSymbol{"021B8}{\barovernorthwestarrow }{\mathord}{north west arrow to long bar}%
+\UnicodeMathSymbol{"021B9}{\barleftarrowrightarrowbar}{\mathord}{leftwards arrow to bar over rightwards arrow to bar}%
+\UnicodeMathSymbol{"021BA}{\acwopencirclearrow }{\mathord}{anticlockwise open circle arrow}%
+\UnicodeMathSymbol{"021BB}{\cwopencirclearrow }{\mathord}{clockwise open circle arrow}%
+\UnicodeMathSymbol{"021BC}{\leftharpoonup }{\mathrel}{left harpoon-up}%
+\UnicodeMathSymbol{"021BD}{\leftharpoondown }{\mathrel}{left harpoon-down}%
+\UnicodeMathSymbol{"021BE}{\upharpoonright }{\mathrel}{/upharpoonright /restriction a: up harpoon-right}%
+\UnicodeMathSymbol{"021BF}{\upharpoonleft }{\mathrel}{up harpoon-left}%
+\UnicodeMathSymbol{"021C0}{\rightharpoonup }{\mathrel}{right harpoon-up}%
+\UnicodeMathSymbol{"021C1}{\rightharpoondown }{\mathrel}{right harpoon-down}%
+\UnicodeMathSymbol{"021C2}{\downharpoonright }{\mathrel}{down harpoon-right}%
+\UnicodeMathSymbol{"021C3}{\downharpoonleft }{\mathrel}{down harpoon-left}%
+\UnicodeMathSymbol{"021C4}{\rightleftarrows }{\mathrel}{right arrow over left arrow}%
+\UnicodeMathSymbol{"021C5}{\updownarrows }{\mathrel}{up arrow, down arrow}%
+\UnicodeMathSymbol{"021C6}{\leftrightarrows }{\mathrel}{left arrow over right arrow}%
+\UnicodeMathSymbol{"021C7}{\leftleftarrows }{\mathrel}{two left arrows}%
+\UnicodeMathSymbol{"021C8}{\upuparrows }{\mathrel}{two up arrows}%
+\UnicodeMathSymbol{"021C9}{\rightrightarrows }{\mathrel}{two right arrows}%
+\UnicodeMathSymbol{"021CA}{\downdownarrows }{\mathrel}{two down arrows}%
+\UnicodeMathSymbol{"021CB}{\leftrightharpoons }{\mathrel}{left harpoon over right}%
+\UnicodeMathSymbol{"021CC}{\rightleftharpoons }{\mathrel}{right harpoon over left}%
+\UnicodeMathSymbol{"021CD}{\nLeftarrow }{\mathrel}{not implied by}%
+\UnicodeMathSymbol{"021CE}{\nLeftrightarrow }{\mathrel}{not left and right double arrows}%
+\UnicodeMathSymbol{"021CF}{\nRightarrow }{\mathrel}{not implies}%
+\UnicodeMathSymbol{"021D0}{\Leftarrow }{\mathrel}{is implied by}%
+\UnicodeMathSymbol{"021D1}{\Uparrow }{\mathrel}{up double arrow}%
+\UnicodeMathSymbol{"021D2}{\Rightarrow }{\mathrel}{implies}%
+\UnicodeMathSymbol{"021D3}{\Downarrow }{\mathrel}{down double arrow}%
+\UnicodeMathSymbol{"021D4}{\Leftrightarrow }{\mathrel}{left and right double arrow}%
+\UnicodeMathSymbol{"021D5}{\Updownarrow }{\mathrel}{up and down double arrow}%
+\UnicodeMathSymbol{"021D6}{\Nwarrow }{\mathrel}{nw pointing double arrow}%
+\UnicodeMathSymbol{"021D7}{\Nearrow }{\mathrel}{ne pointing double arrow}%
+\UnicodeMathSymbol{"021D8}{\Searrow }{\mathrel}{se pointing double arrow}%
+\UnicodeMathSymbol{"021D9}{\Swarrow }{\mathrel}{sw pointing double arrow}%
+\UnicodeMathSymbol{"021DA}{\Lleftarrow }{\mathrel}{left triple arrow}%
+\UnicodeMathSymbol{"021DB}{\Rrightarrow }{\mathrel}{right triple arrow}%
+\UnicodeMathSymbol{"021DC}{\leftsquigarrow }{\mathrel}{leftwards squiggle arrow}%
+\UnicodeMathSymbol{"021DD}{\rightsquigarrow }{\mathrel}{rightwards squiggle arrow}%
+\UnicodeMathSymbol{"021DE}{\nHuparrow }{\mathord}{upwards arrow with double stroke}%
+\UnicodeMathSymbol{"021DF}{\nHdownarrow }{\mathord}{downwards arrow with double stroke}%
+\UnicodeMathSymbol{"021E0}{\leftdasharrow }{\mathord}{leftwards dashed arrow}%
+\UnicodeMathSymbol{"021E1}{\updasharrow }{\mathord}{upwards dashed arrow}%
+\UnicodeMathSymbol{"021E2}{\rightdasharrow }{\mathord}{rightwards dashed arrow}%
+\UnicodeMathSymbol{"021E3}{\downdasharrow }{\mathord}{downwards dashed arrow}%
+\UnicodeMathSymbol{"021E4}{\barleftarrow }{\mathrel}{leftwards arrow to bar}%
+\UnicodeMathSymbol{"021E5}{\rightarrowbar }{\mathrel}{rightwards arrow to bar}%
+\UnicodeMathSymbol{"021E6}{\leftwhitearrow }{\mathord}{leftwards white arrow}%
+\UnicodeMathSymbol{"021E7}{\upwhitearrow }{\mathord}{upwards white arrow}%
+\UnicodeMathSymbol{"021E8}{\rightwhitearrow }{\mathord}{rightwards white arrow}%
+\UnicodeMathSymbol{"021E9}{\downwhitearrow }{\mathord}{downwards white arrow}%
+\UnicodeMathSymbol{"021EA}{\whitearrowupfrombar }{\mathord}{upwards white arrow from bar}%
+\UnicodeMathSymbol{"021F4}{\circleonrightarrow }{\mathrel}{right arrow with small circle}%
+\UnicodeMathSymbol{"021F5}{\downuparrows }{\mathrel}{downwards arrow leftwards of upwards arrow}%
+\UnicodeMathSymbol{"021F6}{\rightthreearrows }{\mathrel}{three rightwards arrows}%
+\UnicodeMathSymbol{"021F7}{\nvleftarrow }{\mathrel}{leftwards arrow with vertical stroke}%
+\UnicodeMathSymbol{"021F8}{\nvrightarrow }{\mathrel}{rightwards arrow with vertical stroke}%
+\UnicodeMathSymbol{"021F9}{\nvleftrightarrow }{\mathrel}{left right arrow with vertical stroke}%
+\UnicodeMathSymbol{"021FA}{\nVleftarrow }{\mathrel}{leftwards arrow with double vertical stroke}%
+\UnicodeMathSymbol{"021FB}{\nVrightarrow }{\mathrel}{rightwards arrow with double vertical stroke}%
+\UnicodeMathSymbol{"021FC}{\nVleftrightarrow }{\mathrel}{left right arrow with double vertical stroke}%
+\UnicodeMathSymbol{"021FD}{\leftarrowtriangle }{\mathrel}{leftwards open-headed arrow}%
+\UnicodeMathSymbol{"021FE}{\rightarrowtriangle }{\mathrel}{rightwards open-headed arrow}%
+\UnicodeMathSymbol{"021FF}{\leftrightarrowtriangle }{\mathrel}{left right open-headed arrow}%
+\UnicodeMathSymbol{"02200}{\forall }{\mathord}{for all}%
+\UnicodeMathSymbol{"02201}{\complement }{\mathord}{complement sign}%
+\UnicodeMathSymbol{"02202}{\partial }{\mathalpha}{partial differential}%
+\UnicodeMathSymbol{"02203}{\exists }{\mathord}{at least one exists}%
+\UnicodeMathSymbol{"02204}{\nexists }{\mathord}{negated exists}%
+\UnicodeMathSymbol{"02205}{\varnothing }{\mathord}{circle, slash}%
+\UnicodeMathSymbol{"02206}{\increment }{\mathord}{laplacian (delta; nabla\string^2)}%
+\UnicodeMathSymbol{"02207}{\nabla }{\mathalpha}{nabla, del, hamilton operator}%
+\UnicodeMathSymbol{"02208}{\in }{\mathrel}{set membership, variant}%
+\UnicodeMathSymbol{"02209}{\notin }{\mathrel}{negated set membership}%
+\UnicodeMathSymbol{"0220A}{\smallin }{\mathrel}{set membership (small set membership)}%
+\UnicodeMathSymbol{"0220B}{\ni }{\mathrel}{contains, variant}%
+\UnicodeMathSymbol{"0220C}{\nni }{\mathrel}{negated contains, variant}%
+\UnicodeMathSymbol{"0220D}{\smallni }{\mathrel}{/ni /owns r: contains (small contains as member)}%
+\UnicodeMathSymbol{"0220E}{\QED }{\mathord}{end of proof}%
+\UnicodeMathSymbol{"0220F}{\prod }{\mathop}{product operator}%
+\UnicodeMathSymbol{"02210}{\coprod }{\mathop}{coproduct operator}%
+\UnicodeMathSymbol{"02211}{\sum }{\mathop}{summation operator}%
+\UnicodeMathSymbol{"02212}{\minus }{\mathbin}{minus sign}%
+\UnicodeMathSymbol{"02213}{\mp }{\mathbin}{minus-or-plus sign}%
+\UnicodeMathSymbol{"02214}{\dotplus }{\mathbin}{plus sign, dot above}%
+\UnicodeMathSymbol{"02215}{\divslash }{\mathbin}{division slash}%
+\UnicodeMathSymbol{"02216}{\smallsetminus }{\mathbin}{small set minus (cf. reverse solidus)}%
+\UnicodeMathSymbol{"02217}{\ast }{\mathbin}{centered asterisk}%
+\UnicodeMathSymbol{"02218}{\vysmwhtcircle }{\mathbin}{composite function (small circle)}%
+\UnicodeMathSymbol{"02219}{\vysmblkcircle }{\mathbin}{bullet operator}%
+\UnicodeMathSymbol{"0221A}{\sqrt }{\mathopen}{radical}%
+\UnicodeMathSymbol{"0221A}{\surd }{\mathord}{radical}%
+\UnicodeMathSymbol{"0221B}{\cuberoot }{\mathopen}{cube root}%
+\UnicodeMathSymbol{"0221C}{\fourthroot }{\mathopen}{fourth root}%
+\UnicodeMathSymbol{"0221D}{\propto }{\mathrel}{is proportional to}%
+\UnicodeMathSymbol{"0221E}{\infty }{\mathord}{infinity}%
+\UnicodeMathSymbol{"0221F}{\rightangle }{\mathord}{right (90 degree) angle}%
+\UnicodeMathSymbol{"02220}{\angle }{\mathord}{angle}%
+\UnicodeMathSymbol{"02221}{\measuredangle }{\mathord}{angle-measured}%
+\UnicodeMathSymbol{"02222}{\sphericalangle }{\mathord}{angle-spherical}%
+\UnicodeMathSymbol{"02223}{\mid }{\mathrel}{/mid r:}%
+\UnicodeMathSymbol{"02224}{\nmid }{\mathrel}{negated mid}%
+\UnicodeMathSymbol{"02225}{\parallel }{\mathrel}{parallel}%
+\UnicodeMathSymbol{"02226}{\nparallel }{\mathrel}{not parallel}%
+\UnicodeMathSymbol{"02227}{\wedge }{\mathbin}{/wedge /land b: logical and}%
+\UnicodeMathSymbol{"02228}{\vee }{\mathbin}{/vee /lor b: logical or}%
+\UnicodeMathSymbol{"02229}{\cap }{\mathbin}{intersection}%
+\UnicodeMathSymbol{"0222A}{\cup }{\mathbin}{union or logical sum}%
+\UnicodeMathSymbol{"0222B}{\int }{\mathop}{integral operator}%
+\UnicodeMathSymbol{"0222C}{\iint }{\mathop}{double integral operator}%
+\UnicodeMathSymbol{"0222D}{\iiint }{\mathop}{triple integral operator}%
+\UnicodeMathSymbol{"0222E}{\oint }{\mathop}{contour integral operator}%
+\UnicodeMathSymbol{"0222F}{\oiint }{\mathop}{double contour integral operator}%
+\UnicodeMathSymbol{"02230}{\oiiint }{\mathop}{triple contour integral operator}%
+\UnicodeMathSymbol{"02231}{\intclockwise }{\mathop}{clockwise integral}%
+\UnicodeMathSymbol{"02232}{\varointclockwise }{\mathop}{contour integral, clockwise}%
+\UnicodeMathSymbol{"02233}{\ointctrclockwise }{\mathop}{contour integral, anticlockwise}%
+\UnicodeMathSymbol{"02234}{\therefore }{\mathord}{therefore}%
+\UnicodeMathSymbol{"02235}{\because }{\mathord}{because}%
+\UnicodeMathSymbol{"02236}{\mathratio }{\mathrel}{ratio}%
+\UnicodeMathSymbol{"02237}{\Colon }{\mathrel}{two colons}%
+\UnicodeMathSymbol{"02238}{\dotminus }{\mathbin}{minus sign, dot above}%
+\UnicodeMathSymbol{"02239}{\dashcolon }{\mathrel}{excess (-:)}%
+\UnicodeMathSymbol{"0223A}{\dotsminusdots }{\mathrel}{minus with four dots, geometric properties}%
+\UnicodeMathSymbol{"0223B}{\kernelcontraction }{\mathrel}{homothetic}%
+\UnicodeMathSymbol{"0223C}{\sim }{\mathrel}{similar}%
+\UnicodeMathSymbol{"0223D}{\backsim }{\mathrel}{reverse similar}%
+\UnicodeMathSymbol{"0223E}{\invlazys }{\mathbin}{most positive [inverted lazy s]}%
+\UnicodeMathSymbol{"0223F}{\sinewave }{\mathord}{sine wave}%
+\UnicodeMathSymbol{"02240}{\wr }{\mathbin}{wreath product}%
+\UnicodeMathSymbol{"02241}{\nsim }{\mathrel}{not similar}%
+\UnicodeMathSymbol{"02242}{\eqsim }{\mathrel}{equals, similar}%
+\UnicodeMathSymbol{"02243}{\simeq }{\mathrel}{similar, equals}%
+\UnicodeMathSymbol{"02244}{\nsime }{\mathrel}{not similar, equals}%
+\UnicodeMathSymbol{"02243}{\sime }{\mathrel}{similar, equals (alias)}%
+\UnicodeMathSymbol{"02244}{\nsimeq }{\mathrel}{not similar, equals (alias)}%
+\UnicodeMathSymbol{"02245}{\cong }{\mathrel}{congruent with}%
+\UnicodeMathSymbol{"02246}{\simneqq }{\mathrel}{similar, not equals [vert only for 9573 entity]}%
+\UnicodeMathSymbol{"02247}{\ncong }{\mathrel}{not congruent with}%
+\UnicodeMathSymbol{"02248}{\approx }{\mathrel}{approximate}%
+\UnicodeMathSymbol{"02249}{\napprox }{\mathrel}{not approximate}%
+\UnicodeMathSymbol{"0224A}{\approxeq }{\mathrel}{approximate, equals}%
+\UnicodeMathSymbol{"0224B}{\approxident }{\mathrel}{approximately identical to}%
+\UnicodeMathSymbol{"0224C}{\backcong }{\mathrel}{all equal to}%
+\UnicodeMathSymbol{"0224D}{\asymp }{\mathrel}{asymptotically equal to}%
+\UnicodeMathSymbol{"0224E}{\Bumpeq }{\mathrel}{bumpy equals}%
+\UnicodeMathSymbol{"0224F}{\bumpeq }{\mathrel}{bumpy equals, equals}%
+\UnicodeMathSymbol{"02250}{\doteq }{\mathrel}{equals, single dot above}%
+\UnicodeMathSymbol{"02251}{\Doteq }{\mathrel}{/doteqdot /doteq r: equals, even dots}%
+\UnicodeMathSymbol{"02252}{\fallingdotseq }{\mathrel}{equals, falling dots}%
+\UnicodeMathSymbol{"02253}{\risingdotseq }{\mathrel}{equals, rising dots}%
+\UnicodeMathSymbol{"02254}{\coloneq }{\mathrel}{colon, equals}%
+\UnicodeMathSymbol{"02255}{\eqcolon }{\mathrel}{equals, colon}%
+\UnicodeMathSymbol{"02256}{\eqcirc }{\mathrel}{circle on equals sign}%
+\UnicodeMathSymbol{"02257}{\circeq }{\mathrel}{circle, equals}%
+\UnicodeMathSymbol{"02258}{\arceq }{\mathrel}{arc, equals; corresponds to}%
+\UnicodeMathSymbol{"02259}{\wedgeq }{\mathrel}{corresponds to (wedge, equals)}%
+\UnicodeMathSymbol{"0225A}{\veeeq }{\mathrel}{logical or, equals}%
+\UnicodeMathSymbol{"0225B}{\stareq }{\mathrel}{star equals}%
+\UnicodeMathSymbol{"0225C}{\triangleq }{\mathrel}{triangle, equals}%
+\UnicodeMathSymbol{"0225D}{\eqdef }{\mathrel}{equals by definition}%
+\UnicodeMathSymbol{"0225E}{\measeq }{\mathrel}{measured by (m over equals)}%
+\UnicodeMathSymbol{"0225F}{\questeq }{\mathrel}{equal with questionmark}%
+\UnicodeMathSymbol{"02260}{\ne }{\mathrel}{/ne /neq r: not equal}%
+\UnicodeMathSymbol{"02261}{\equiv }{\mathrel}{identical with}%
+\UnicodeMathSymbol{"02262}{\nequiv }{\mathrel}{not identical with}%
+\UnicodeMathSymbol{"02263}{\Equiv }{\mathrel}{strict equivalence (4 lines)}%
+\UnicodeMathSymbol{"02264}{\leq }{\mathrel}{/leq /le r: less-than-or-equal}%
+\UnicodeMathSymbol{"02265}{\geq }{\mathrel}{/geq /ge r: greater-than-or-equal}%
+\UnicodeMathSymbol{"02266}{\leqq }{\mathrel}{less, double equals}%
+\UnicodeMathSymbol{"02267}{\geqq }{\mathrel}{greater, double equals}%
+\UnicodeMathSymbol{"02268}{\lneqq }{\mathrel}{less, not double equals}%
+\UnicodeMathSymbol{"02269}{\gneqq }{\mathrel}{greater, not double equals}%
+\UnicodeMathSymbol{"0226A}{\ll }{\mathrel}{much less than, type 2}%
+\UnicodeMathSymbol{"0226B}{\gg }{\mathrel}{much greater than, type 2}%
+\UnicodeMathSymbol{"0226C}{\between }{\mathrel}{between}%
+\UnicodeMathSymbol{"0226D}{\nasymp }{\mathrel}{not asymptotically equal to}%
+\UnicodeMathSymbol{"0226E}{\nless }{\mathrel}{not less-than}%
+\UnicodeMathSymbol{"0226F}{\ngtr }{\mathrel}{not greater-than}%
+\UnicodeMathSymbol{"02270}{\nleq }{\mathrel}{not less-than-or-equal}%
+\UnicodeMathSymbol{"02271}{\ngeq }{\mathrel}{not greater-than-or-equal}%
+\UnicodeMathSymbol{"02272}{\lesssim }{\mathrel}{less, similar}%
+\UnicodeMathSymbol{"02273}{\gtrsim }{\mathrel}{greater, similar}%
+\UnicodeMathSymbol{"02274}{\nlesssim }{\mathrel}{not less, similar}%
+\UnicodeMathSymbol{"02275}{\ngtrsim }{\mathrel}{not greater, similar}%
+\UnicodeMathSymbol{"02276}{\lessgtr }{\mathrel}{less, greater}%
+\UnicodeMathSymbol{"02277}{\gtrless }{\mathrel}{greater, less}%
+\UnicodeMathSymbol{"02278}{\nlessgtr }{\mathrel}{not less, greater}%
+\UnicodeMathSymbol{"02279}{\ngtrless }{\mathrel}{not greater, less}%
+\UnicodeMathSymbol{"0227A}{\prec }{\mathrel}{precedes}%
+\UnicodeMathSymbol{"0227B}{\succ }{\mathrel}{succeeds}%
+\UnicodeMathSymbol{"0227C}{\preccurlyeq }{\mathrel}{precedes, curly equals}%
+\UnicodeMathSymbol{"0227D}{\succcurlyeq }{\mathrel}{succeeds, curly equals}%
+\UnicodeMathSymbol{"0227E}{\precsim }{\mathrel}{precedes, similar}%
+\UnicodeMathSymbol{"0227F}{\succsim }{\mathrel}{succeeds, similar}%
+\UnicodeMathSymbol{"02280}{\nprec }{\mathrel}{not precedes}%
+\UnicodeMathSymbol{"02281}{\nsucc }{\mathrel}{not succeeds}%
+\UnicodeMathSymbol{"02282}{\subset }{\mathrel}{subset or is implied by}%
+\UnicodeMathSymbol{"02283}{\supset }{\mathrel}{superset or implies}%
+\UnicodeMathSymbol{"02284}{\nsubset }{\mathrel}{not subset, variant [slash negation]}%
+\UnicodeMathSymbol{"02285}{\nsupset }{\mathrel}{not superset, variant [slash negation]}%
+\UnicodeMathSymbol{"02286}{\subseteq }{\mathrel}{subset, equals}%
+\UnicodeMathSymbol{"02287}{\supseteq }{\mathrel}{superset, equals}%
+\UnicodeMathSymbol{"02288}{\nsubseteq }{\mathrel}{not subset, equals}%
+\UnicodeMathSymbol{"02289}{\nsupseteq }{\mathrel}{not superset, equals}%
+\UnicodeMathSymbol{"0228A}{\subsetneq }{\mathrel}{subset, not equals}%
+\UnicodeMathSymbol{"0228B}{\supsetneq }{\mathrel}{superset, not equals}%
+\UnicodeMathSymbol{"0228C}{\cupleftarrow }{\mathbin}{multiset}%
+\UnicodeMathSymbol{"0228D}{\cupdot }{\mathbin}{union, with dot}%
+\UnicodeMathSymbol{"0228E}{\uplus }{\mathbin}{plus sign in union}%
+\UnicodeMathSymbol{"0228F}{\sqsubset }{\mathrel}{square subset}%
+\UnicodeMathSymbol{"02290}{\sqsupset }{\mathrel}{square superset}%
+\UnicodeMathSymbol{"02291}{\sqsubseteq }{\mathrel}{square subset, equals}%
+\UnicodeMathSymbol{"02292}{\sqsupseteq }{\mathrel}{square superset, equals}%
+\UnicodeMathSymbol{"02293}{\sqcap }{\mathbin}{square intersection}%
+\UnicodeMathSymbol{"02294}{\sqcup }{\mathbin}{square union}%
+\UnicodeMathSymbol{"02295}{\oplus }{\mathbin}{plus sign in circle}%
+\UnicodeMathSymbol{"02296}{\ominus }{\mathbin}{minus sign in circle}%
+\UnicodeMathSymbol{"02297}{\otimes }{\mathbin}{multiply sign in circle}%
+\UnicodeMathSymbol{"02298}{\oslash }{\mathbin}{solidus in circle}%
+\UnicodeMathSymbol{"02299}{\odot }{\mathbin}{middle dot in circle}%
+\UnicodeMathSymbol{"0229A}{\circledcirc }{\mathbin}{small circle in circle}%
+\UnicodeMathSymbol{"0229B}{\circledast }{\mathbin}{asterisk in circle}%
+\UnicodeMathSymbol{"0229C}{\circledequal }{\mathbin}{equal in circle}%
+\UnicodeMathSymbol{"0229D}{\circleddash }{\mathbin}{hyphen in circle}%
+\UnicodeMathSymbol{"0229E}{\boxplus }{\mathbin}{plus sign in box}%
+\UnicodeMathSymbol{"0229F}{\boxminus }{\mathbin}{minus sign in box}%
+\UnicodeMathSymbol{"022A0}{\boxtimes }{\mathbin}{multiply sign in box}%
+\UnicodeMathSymbol{"022A1}{\boxdot }{\mathbin}{/dotsquare /boxdot b: small dot in box}%
+\UnicodeMathSymbol{"022A2}{\vdash }{\mathrel}{vertical, dash}%
+\UnicodeMathSymbol{"022A3}{\dashv }{\mathrel}{dash, vertical}%
+\UnicodeMathSymbol{"022A4}{\top }{\mathord}{top}%
+\UnicodeMathSymbol{"022A5}{\bot }{\mathord}{bottom}%
+\UnicodeMathSymbol{"022A6}{\assert }{\mathrel}{assertion (vertical, short dash)}%
+\UnicodeMathSymbol{"022A7}{\models }{\mathrel}{models (vertical, short double dash)}%
+\UnicodeMathSymbol{"022A8}{\vDash }{\mathrel}{vertical, double dash}%
+\UnicodeMathSymbol{"022A9}{\Vdash }{\mathrel}{double vertical, dash}%
+\UnicodeMathSymbol{"022AA}{\Vvdash }{\mathrel}{triple vertical, dash}%
+\UnicodeMathSymbol{"022AB}{\VDash }{\mathrel}{double vert, double dash}%
+\UnicodeMathSymbol{"022AC}{\nvdash }{\mathrel}{not vertical, dash}%
+\UnicodeMathSymbol{"022AD}{\nvDash }{\mathrel}{not vertical, double dash}%
+\UnicodeMathSymbol{"022AE}{\nVdash }{\mathrel}{not double vertical, dash}%
+\UnicodeMathSymbol{"022AF}{\nVDash }{\mathrel}{not double vert, double dash}%
+\UnicodeMathSymbol{"022B0}{\prurel }{\mathrel}{element precedes under relation}%
+\UnicodeMathSymbol{"022B1}{\scurel }{\mathrel}{succeeds under relation}%
+\UnicodeMathSymbol{"022B2}{\vartriangleleft }{\mathrel}{left triangle, open, variant}%
+\UnicodeMathSymbol{"022B3}{\vartriangleright }{\mathrel}{right triangle, open, variant}%
+\UnicodeMathSymbol{"022B4}{\trianglelefteq }{\mathrel}{left triangle, equals}%
+\UnicodeMathSymbol{"022B5}{\trianglerighteq }{\mathrel}{right triangle, equals}%
+\UnicodeMathSymbol{"022B6}{\origof }{\mathrel}{original of}%
+\UnicodeMathSymbol{"022B7}{\imageof }{\mathrel}{image of}%
+\UnicodeMathSymbol{"022B8}{\multimap }{\mathrel}{/multimap a:}%
+\UnicodeMathSymbol{"022B9}{\hermitmatrix }{\mathord}{hermitian conjugate matrix}%
+\UnicodeMathSymbol{"022BA}{\intercal }{\mathbin}{intercal}%
+\UnicodeMathSymbol{"022BB}{\veebar }{\mathbin}{logical or, bar below (large vee); exclusive disjunction}%
+\UnicodeMathSymbol{"022BC}{\barwedge }{\mathbin}{bar, wedge (large wedge)}%
+\UnicodeMathSymbol{"022BD}{\barvee }{\mathbin}{bar, vee (large vee)}%
+\UnicodeMathSymbol{"022BE}{\measuredrightangle }{\mathord}{right angle-measured [with arc]}%
+\UnicodeMathSymbol{"022BF}{\varlrtriangle }{\mathord}{right triangle}%
+\UnicodeMathSymbol{"022C0}{\bigwedge }{\mathop}{logical and operator}%
+\UnicodeMathSymbol{"022C1}{\bigvee }{\mathop}{logical or operator}%
+\UnicodeMathSymbol{"022C2}{\bigcap }{\mathop}{intersection operator}%
+\UnicodeMathSymbol{"022C3}{\bigcup }{\mathop}{union operator}%
+\UnicodeMathSymbol{"022C4}{\smwhtdiamond }{\mathbin}{white diamond}%
+\UnicodeMathSymbol{"022C5}{\cdot }{\mathbin}{small middle dot}%
+\UnicodeMathSymbol{"022C6}{\star }{\mathbin}{small star, filled, low}%
+\UnicodeMathSymbol{"022C7}{\divideontimes }{\mathbin}{division on times}%
+\UnicodeMathSymbol{"022C8}{\bowtie }{\mathrel}{bowtie}%
+\UnicodeMathSymbol{"022C9}{\ltimes }{\mathbin}{times sign, left closed}%
+\UnicodeMathSymbol{"022CA}{\rtimes }{\mathbin}{times sign, right closed}%
+\UnicodeMathSymbol{"022CB}{\leftthreetimes }{\mathbin}{left semidirect product}%
+\UnicodeMathSymbol{"022CC}{\rightthreetimes }{\mathbin}{right semidirect product}%
+\UnicodeMathSymbol{"022CD}{\backsimeq }{\mathrel}{reverse similar, equals}%
+\UnicodeMathSymbol{"022CE}{\curlyvee }{\mathbin}{curly logical or}%
+\UnicodeMathSymbol{"022CF}{\curlywedge }{\mathbin}{curly logical and}%
+\UnicodeMathSymbol{"022D0}{\Subset }{\mathrel}{double subset}%
+\UnicodeMathSymbol{"022D1}{\Supset }{\mathrel}{double superset}%
+\UnicodeMathSymbol{"022D2}{\Cap }{\mathbin}{/cap /doublecap b: double intersection}%
+\UnicodeMathSymbol{"022D3}{\Cup }{\mathbin}{/cup /doublecup b: double union}%
+\UnicodeMathSymbol{"022D4}{\pitchfork }{\mathrel}{pitchfork}%
+\UnicodeMathSymbol{"022D5}{\equalparallel }{\mathrel}{parallel, equal; equal or parallel}%
+\UnicodeMathSymbol{"022D6}{\lessdot }{\mathrel}{less than, with dot}%
+\UnicodeMathSymbol{"022D7}{\gtrdot }{\mathrel}{greater than, with dot}%
+\UnicodeMathSymbol{"022D8}{\lll }{\mathrel}{/ll /lll /llless r: triple less-than}%
+\UnicodeMathSymbol{"022D9}{\ggg }{\mathrel}{/ggg /gg /gggtr r: triple greater-than}%
+\UnicodeMathSymbol{"022DA}{\lesseqgtr }{\mathrel}{less, equals, greater}%
+\UnicodeMathSymbol{"022DB}{\gtreqless }{\mathrel}{greater, equals, less}%
+\UnicodeMathSymbol{"022DC}{\eqless }{\mathrel}{equal-or-less}%
+\UnicodeMathSymbol{"022DD}{\eqgtr }{\mathrel}{equal-or-greater}%
+\UnicodeMathSymbol{"022DE}{\curlyeqprec }{\mathrel}{curly equals, precedes}%
+\UnicodeMathSymbol{"022DF}{\curlyeqsucc }{\mathrel}{curly equals, succeeds}%
+\UnicodeMathSymbol{"022E0}{\npreccurlyeq }{\mathrel}{not precedes, curly equals}%
+\UnicodeMathSymbol{"022E1}{\nsucccurlyeq }{\mathrel}{not succeeds, curly equals}%
+\UnicodeMathSymbol{"022E2}{\nsqsubseteq }{\mathrel}{not, square subset, equals}%
+\UnicodeMathSymbol{"022E3}{\nsqsupseteq }{\mathrel}{not, square superset, equals}%
+\UnicodeMathSymbol{"022E4}{\sqsubsetneq }{\mathrel}{square subset, not equals}%
+\UnicodeMathSymbol{"022E5}{\sqsupsetneq }{\mathrel}{square superset, not equals}%
+\UnicodeMathSymbol{"022E6}{\lnsim }{\mathrel}{less, not similar}%
+\UnicodeMathSymbol{"022E7}{\gnsim }{\mathrel}{greater, not similar}%
+\UnicodeMathSymbol{"022E8}{\precnsim }{\mathrel}{precedes, not similar}%
+\UnicodeMathSymbol{"022E9}{\succnsim }{\mathrel}{succeeds, not similar}%
+\UnicodeMathSymbol{"022EA}{\nvartriangleleft }{\mathrel}{not left triangle}%
+\UnicodeMathSymbol{"022EB}{\nvartriangleright }{\mathrel}{not right triangle}%
+\UnicodeMathSymbol{"022EC}{\ntrianglelefteq }{\mathrel}{not left triangle, equals}%
+\UnicodeMathSymbol{"022ED}{\ntrianglerighteq }{\mathrel}{not right triangle, equals}%
+\UnicodeMathSymbol{"022EE}{\vdots }{\mathrel}{vertical ellipsis}%
+\UnicodeMathSymbol{"022EF}{\unicodecdots }{\mathord}{three dots, centered}%
+\UnicodeMathSymbol{"022F0}{\adots }{\mathrel}{three dots, ascending}%
+\UnicodeMathSymbol{"022F1}{\ddots }{\mathrel}{three dots, descending}%
+\UnicodeMathSymbol{"022F2}{\disin }{\mathrel}{element of with long horizontal stroke}%
+\UnicodeMathSymbol{"022F3}{\varisins }{\mathrel}{element of with vertical bar at end of horizontal stroke}%
+\UnicodeMathSymbol{"022F4}{\isins }{\mathrel}{small element of with vertical bar at end of horizontal stroke}%
+\UnicodeMathSymbol{"022F5}{\isindot }{\mathrel}{element of with dot above}%
+\UnicodeMathSymbol{"022F6}{\varisinobar }{\mathrel}{element of with overbar}%
+\UnicodeMathSymbol{"022F7}{\isinobar }{\mathrel}{small element of with overbar}%
+\UnicodeMathSymbol{"022F8}{\isinvb }{\mathrel}{element of with underbar}%
+\UnicodeMathSymbol{"022F9}{\isinE }{\mathrel}{element of with two horizontal strokes}%
+\UnicodeMathSymbol{"022FA}{\nisd }{\mathrel}{contains with long horizontal stroke}%
+\UnicodeMathSymbol{"022FB}{\varnis }{\mathrel}{contains with vertical bar at end of horizontal stroke}%
+\UnicodeMathSymbol{"022FC}{\nis }{\mathrel}{small contains with vertical bar at end of horizontal stroke}%
+\UnicodeMathSymbol{"022FD}{\varniobar }{\mathrel}{contains with overbar}%
+\UnicodeMathSymbol{"022FE}{\niobar }{\mathrel}{small contains with overbar}%
+\UnicodeMathSymbol{"022FF}{\bagmember }{\mathrel}{z notation bag membership}%
+\UnicodeMathSymbol{"02300}{\diameter }{\mathord}{diameter sign}%
+\UnicodeMathSymbol{"02302}{\house }{\mathord}{house}%
+\UnicodeMathSymbol{"02305}{\varbarwedge }{\mathbin}{/barwedge b: logical and, bar above [projective (bar over small wedge)]}%
+\UnicodeMathSymbol{"02306}{\vardoublebarwedge }{\mathbin}{/doublebarwedge b: logical and, double bar above [perspective (double bar over small wedge)]}%
+\UnicodeMathSymbol{"02308}{\lceil }{\mathopen}{left ceiling}%
+\UnicodeMathSymbol{"02309}{\rceil }{\mathclose}{right ceiling}%
+\UnicodeMathSymbol{"0230A}{\lfloor }{\mathopen}{left floor}%
+\UnicodeMathSymbol{"0230B}{\rfloor }{\mathclose}{right floor}%
+\UnicodeMathSymbol{"02310}{\invnot }{\mathord}{reverse not}%
+\UnicodeMathSymbol{"02311}{\sqlozenge }{\mathord}{square lozenge}%
+\UnicodeMathSymbol{"02312}{\profline }{\mathord}{profile of a line}%
+\UnicodeMathSymbol{"02313}{\profsurf }{\mathord}{profile of a surface}%
+\UnicodeMathSymbol{"02317}{\viewdata }{\mathord}{viewdata square}%
+\UnicodeMathSymbol{"02319}{\turnednot }{\mathord}{turned not sign}%
+\UnicodeMathSymbol{"0231C}{\ulcorner }{\mathopen}{upper left corner}%
+\UnicodeMathSymbol{"0231D}{\urcorner }{\mathclose}{upper right corner}%
+\UnicodeMathSymbol{"0231E}{\llcorner }{\mathopen}{lower left corner}%
+\UnicodeMathSymbol{"0231F}{\lrcorner }{\mathclose}{lower right corner}%
+\UnicodeMathSymbol{"02320}{\inttop }{\mathord}{top half integral}%
+\UnicodeMathSymbol{"02321}{\intbottom }{\mathord}{bottom half integral}%
+\UnicodeMathSymbol{"02322}{\frown }{\mathrel}{down curve}%
+\UnicodeMathSymbol{"02323}{\smile }{\mathrel}{up curve}%
+\UnicodeMathSymbol{"0232C}{\varhexagonlrbonds }{\mathord}{six carbon ring, corner down, double bonds lower right etc}%
+\UnicodeMathSymbol{"02332}{\conictaper }{\mathord}{conical taper }%
+\UnicodeMathSymbol{"02336}{\topbot }{\mathord}{top and bottom}%
+\UnicodeMathSymbol{"0233D}{\obar }{\mathbin}{circle with vertical bar}%
+\UnicodeMathSymbol{"0233F}{\APLnotslash }{\mathrel}{solidus, bar through (apl functional symbol slash bar)}%
+\UnicodeMathSymbol{"02340}{\APLnotbackslash }{\mathord}{apl functional symbol backslash bar}%
+\UnicodeMathSymbol{"02353}{\APLboxupcaret }{\mathord}{boxed up caret}%
+\UnicodeMathSymbol{"02370}{\APLboxquestion }{\mathord}{boxed question mark}%
+\UnicodeMathSymbol{"0237C}{\rangledownzigzagarrow }{\mathord}{right angle with downwards zigzag arrow}%
+\UnicodeMathSymbol{"02394}{\hexagon }{\mathord}{horizontal benzene ring [hexagon flat open]}%
+\UnicodeMathSymbol{"0239B}{\lparenuend }{\mathord}{left parenthesis upper hook}%
+\UnicodeMathSymbol{"0239C}{\lparenextender }{\mathord}{left parenthesis extension}%
+\UnicodeMathSymbol{"0239D}{\lparenlend }{\mathord}{left parenthesis lower hook}%
+\UnicodeMathSymbol{"0239E}{\rparenuend }{\mathord}{right parenthesis upper hook}%
+\UnicodeMathSymbol{"0239F}{\rparenextender }{\mathord}{right parenthesis extension}%
+\UnicodeMathSymbol{"023A0}{\rparenlend }{\mathord}{right parenthesis lower hook}%
+\UnicodeMathSymbol{"023A1}{\lbrackuend }{\mathord}{left square bracket upper corner}%
+\UnicodeMathSymbol{"023A2}{\lbrackextender }{\mathord}{left square bracket extension}%
+\UnicodeMathSymbol{"023A3}{\lbracklend }{\mathord}{left square bracket lower corner}%
+\UnicodeMathSymbol{"023A4}{\rbrackuend }{\mathord}{right square bracket upper corner}%
+\UnicodeMathSymbol{"023A5}{\rbrackextender }{\mathord}{right square bracket extension}%
+\UnicodeMathSymbol{"023A6}{\rbracklend }{\mathord}{right square bracket lower corner}%
+\UnicodeMathSymbol{"023A7}{\lbraceuend }{\mathord}{left curly bracket upper hook}%
+\UnicodeMathSymbol{"023A8}{\lbracemid }{\mathord}{left curly bracket middle piece}%
+\UnicodeMathSymbol{"023A9}{\lbracelend }{\mathord}{left curly bracket lower hook}%
+\UnicodeMathSymbol{"023AA}{\vbraceextender }{\mathord}{curly bracket extension}%
+\UnicodeMathSymbol{"023AB}{\rbraceuend }{\mathord}{right curly bracket upper hook}%
+\UnicodeMathSymbol{"023AC}{\rbracemid }{\mathord}{right curly bracket middle piece}%
+\UnicodeMathSymbol{"023AD}{\rbracelend }{\mathord}{right curly bracket lower hook}%
+\UnicodeMathSymbol{"023AE}{\intextender }{\mathord}{integral extension}%
+\UnicodeMathSymbol{"023AF}{\harrowextender }{\mathord}{horizontal line extension (used to extend arrows)}%
+\UnicodeMathSymbol{"023B0}{\lmoustache }{\mathopen}{upper left or lower right curly bracket section}%
+\UnicodeMathSymbol{"023B1}{\rmoustache }{\mathclose}{upper right or lower left curly bracket section}%
+\UnicodeMathSymbol{"023B2}{\sumtop }{\mathord}{summation top}%
+\UnicodeMathSymbol{"023B3}{\sumbottom }{\mathord}{summation bottom}%
+\UnicodeMathSymbol{"023B4}{\overbracket }{\mathover}{top square bracket}%
+\UnicodeMathSymbol{"023B5}{\underbracket }{\mathunder}{bottom square bracket}%
+\UnicodeMathSymbol{"023B6}{\bbrktbrk }{\mathord}{bottom square bracket over top square bracket}%
+\UnicodeMathSymbol{"023B7}{\sqrtbottom }{\mathord}{radical symbol bottom}%
+\UnicodeMathSymbol{"023B8}{\lvboxline }{\mathord}{left vertical box line}%
+\UnicodeMathSymbol{"023B9}{\rvboxline }{\mathord}{right vertical box line}%
+\UnicodeMathSymbol{"023CE}{\varcarriagereturn }{\mathord}{return symbol}%
+\UnicodeMathSymbol{"023DC}{\overparen }{\mathover}{top parenthesis (mathematical use)}%
+\UnicodeMathSymbol{"023DD}{\underparen }{\mathunder}{bottom parenthesis (mathematical use)}%
+\UnicodeMathSymbol{"023DE}{\overbrace }{\mathover}{top curly bracket (mathematical use)}%
+\UnicodeMathSymbol{"023DF}{\underbrace }{\mathunder}{bottom curly bracket (mathematical use)}%
+\UnicodeMathSymbol{"023E0}{\obrbrak }{\mathord}{top tortoise shell bracket (mathematical use)}%
+\UnicodeMathSymbol{"023E1}{\ubrbrak }{\mathord}{bottom tortoise shell bracket (mathematical use)}%
+\UnicodeMathSymbol{"023E2}{\trapezium }{\mathord}{white trapezium}%
+\UnicodeMathSymbol{"023E3}{\benzenr }{\mathord}{benzene ring with circle}%
+\UnicodeMathSymbol{"023E4}{\strns }{\mathord}{straightness}%
+\UnicodeMathSymbol{"023E5}{\fltns }{\mathord}{flatness}%
+\UnicodeMathSymbol{"023E6}{\accurrent }{\mathord}{ac current}%
+\UnicodeMathSymbol{"023E7}{\elinters }{\mathord}{electrical intersection}%
+\UnicodeMathSymbol{"02422}{\blanksymbol }{\mathord}{blank symbol}%
+\UnicodeMathSymbol{"02423}{\mathvisiblespace }{\mathord}{open box}%
+\UnicodeMathSymbol{"02506}{\bdtriplevdash }{\mathord}{doubly broken vert}%
+\UnicodeMathSymbol{"02580}{\blockuphalf }{\mathord}{upper half block}%
+\UnicodeMathSymbol{"02584}{\blocklowhalf }{\mathord}{lower half block}%
+\UnicodeMathSymbol{"02588}{\blockfull }{\mathord}{full block}%
+\UnicodeMathSymbol{"0258C}{\blocklefthalf }{\mathord}{left half block}%
+\UnicodeMathSymbol{"02590}{\blockrighthalf }{\mathord}{right half block}%
+\UnicodeMathSymbol{"02591}{\blockqtrshaded }{\mathord}{25\% shaded block}%
+\UnicodeMathSymbol{"02592}{\blockhalfshaded }{\mathord}{50\% shaded block}%
+\UnicodeMathSymbol{"02593}{\blockthreeqtrshaded }{\mathord}{75\% shaded block}%
+\UnicodeMathSymbol{"025A0}{\mdlgblksquare }{\mathord}{square, filled}%
+\UnicodeMathSymbol{"025A1}{\mdlgwhtsquare }{\mathord}{square, open}%
+\UnicodeMathSymbol{"025A2}{\squoval }{\mathord}{white square with rounded corners}%
+\UnicodeMathSymbol{"025A3}{\blackinwhitesquare }{\mathord}{white square containing black small square}%
+\UnicodeMathSymbol{"025A4}{\squarehfill }{\mathord}{square, horizontal rule filled}%
+\UnicodeMathSymbol{"025A5}{\squarevfill }{\mathord}{square, vertical rule filled}%
+\UnicodeMathSymbol{"025A6}{\squarehvfill }{\mathord}{square with orthogonal crosshatch fill}%
+\UnicodeMathSymbol{"025A7}{\squarenwsefill }{\mathord}{square, nw-to-se rule filled}%
+\UnicodeMathSymbol{"025A8}{\squareneswfill }{\mathord}{square, ne-to-sw rule filled}%
+\UnicodeMathSymbol{"025A9}{\squarecrossfill }{\mathord}{square with diagonal crosshatch fill}%
+\UnicodeMathSymbol{"025AA}{\smblksquare }{\mathord}{/blacksquare - sq bullet, filled}%
+\UnicodeMathSymbol{"025AB}{\smwhtsquare }{\mathord}{white small square}%
+\UnicodeMathSymbol{"025AC}{\hrectangleblack }{\mathord}{black rectangle}%
+\UnicodeMathSymbol{"025AD}{\hrectangle }{\mathord}{horizontal rectangle, open}%
+\UnicodeMathSymbol{"025AE}{\vrectangleblack }{\mathord}{black vertical rectangle}%
+\UnicodeMathSymbol{"025AF}{\vrectangle }{\mathord}{rectangle, white (vertical)}%
+\UnicodeMathSymbol{"025B0}{\parallelogramblack }{\mathord}{black parallelogram}%
+\UnicodeMathSymbol{"025B1}{\parallelogram }{\mathord}{parallelogram, open}%
+\UnicodeMathSymbol{"025B2}{\bigblacktriangleup }{\mathord}{black up-pointing triangle}%
+\UnicodeMathSymbol{"025B3}{\bigtriangleup }{\mathbin}{big up triangle, open}%
+\UnicodeMathSymbol{"025B4}{\blacktriangle }{\mathord}{up triangle, filled}%
+\UnicodeMathSymbol{"025B5}{\vartriangle }{\mathrel}{/triangle - up triangle, open}%
+\UnicodeMathSymbol{"025B6}{\blacktriangleright }{\mathord}{(large) right triangle, filled}%
+\UnicodeMathSymbol{"025B7}{\triangleright }{\mathbin}{(large) right triangle, open; z notation range restriction}%
+\UnicodeMathSymbol{"025B8}{\smallblacktriangleright }{\mathord}{right triangle, filled}%
+\UnicodeMathSymbol{"025B9}{\smalltriangleright }{\mathord}{right triangle, open}%
+\UnicodeMathSymbol{"025BA}{\blackpointerright }{\mathord}{black right-pointing pointer}%
+\UnicodeMathSymbol{"025BB}{\whitepointerright }{\mathord}{white right-pointing pointer}%
+\UnicodeMathSymbol{"025BC}{\bigblacktriangledown }{\mathord}{big down triangle, filled}%
+\UnicodeMathSymbol{"025BD}{\bigtriangledown }{\mathord}{big down triangle, open}%
+\UnicodeMathSymbol{"025BE}{\blacktriangledown }{\mathord}{down triangle, filled}%
+\UnicodeMathSymbol{"025BF}{\triangledown }{\mathord}{down triangle, open}%
+\UnicodeMathSymbol{"025C0}{\blacktriangleleft }{\mathord}{(large) left triangle, filled}%
+\UnicodeMathSymbol{"025C1}{\triangleleft }{\mathbin}{(large) left triangle, open; z notation domain restriction}%
+\UnicodeMathSymbol{"025C2}{\smallblacktriangleleft }{\mathord}{left triangle, filled}%
+\UnicodeMathSymbol{"025C3}{\smalltriangleleft }{\mathord}{left triangle, open}%
+\UnicodeMathSymbol{"025C4}{\blackpointerleft }{\mathord}{black left-pointing pointer}%
+\UnicodeMathSymbol{"025C5}{\whitepointerleft }{\mathord}{white left-pointing pointer}%
+\UnicodeMathSymbol{"025C6}{\mdlgblkdiamond }{\mathord}{black diamond}%
+\UnicodeMathSymbol{"025C7}{\mdlgwhtdiamond }{\mathord}{white diamond; diamond, open}%
+\UnicodeMathSymbol{"025C8}{\blackinwhitediamond }{\mathord}{white diamond containing black small diamond}%
+\UnicodeMathSymbol{"025C9}{\fisheye }{\mathord}{fisheye}%
+\UnicodeMathSymbol{"025CA}{\mdlgwhtlozenge }{\mathord}{lozenge or total mark}%
+\UnicodeMathSymbol{"025CB}{\mdlgwhtcircle }{\mathbin}{medium large circle}%
+\UnicodeMathSymbol{"025CC}{\dottedcircle }{\mathord}{dotted circle}%
+\UnicodeMathSymbol{"025CD}{\circlevertfill }{\mathord}{circle with vertical fill}%
+\UnicodeMathSymbol{"025CE}{\bullseye }{\mathord}{bullseye}%
+\UnicodeMathSymbol{"025CF}{\mdlgblkcircle }{\mathord}{circle, filled}%
+\UnicodeMathSymbol{"025D0}{\circlelefthalfblack }{\mathord}{circle, filled left half [harvey ball]}%
+\UnicodeMathSymbol{"025D1}{\circlerighthalfblack }{\mathord}{circle, filled right half}%
+\UnicodeMathSymbol{"025D2}{\circlebottomhalfblack }{\mathord}{circle, filled bottom half}%
+\UnicodeMathSymbol{"025D3}{\circletophalfblack }{\mathord}{circle, filled top half}%
+\UnicodeMathSymbol{"025D4}{\circleurquadblack }{\mathord}{circle with upper right quadrant black}%
+\UnicodeMathSymbol{"025D5}{\blackcircleulquadwhite }{\mathord}{circle with all but upper left quadrant black}%
+\UnicodeMathSymbol{"025D6}{\blacklefthalfcircle }{\mathord}{left half black circle}%
+\UnicodeMathSymbol{"025D7}{\blackrighthalfcircle }{\mathord}{right half black circle}%
+\UnicodeMathSymbol{"025D8}{\inversebullet }{\mathord}{inverse bullet }%
+\UnicodeMathSymbol{"025D9}{\inversewhitecircle }{\mathord}{inverse white circle}%
+\UnicodeMathSymbol{"025DA}{\invwhiteupperhalfcircle }{\mathord}{upper half inverse white circle}%
+\UnicodeMathSymbol{"025DB}{\invwhitelowerhalfcircle }{\mathord}{lower half inverse white circle}%
+\UnicodeMathSymbol{"025DC}{\ularc }{\mathord}{upper left quadrant circular arc}%
+\UnicodeMathSymbol{"025DD}{\urarc }{\mathord}{upper right quadrant circular arc}%
+\UnicodeMathSymbol{"025DE}{\lrarc }{\mathord}{lower right quadrant circular arc}%
+\UnicodeMathSymbol{"025DF}{\llarc }{\mathord}{lower left quadrant circular arc}%
+\UnicodeMathSymbol{"025E0}{\topsemicircle }{\mathord}{upper half circle}%
+\UnicodeMathSymbol{"025E1}{\botsemicircle }{\mathord}{lower half circle}%
+\UnicodeMathSymbol{"025E2}{\lrblacktriangle }{\mathord}{lower right triangle, filled}%
+\UnicodeMathSymbol{"025E3}{\llblacktriangle }{\mathord}{lower left triangle, filled}%
+\UnicodeMathSymbol{"025E4}{\ulblacktriangle }{\mathord}{upper left triangle, filled}%
+\UnicodeMathSymbol{"025E5}{\urblacktriangle }{\mathord}{upper right triangle, filled}%
+\UnicodeMathSymbol{"025E6}{\smwhtcircle }{\mathord}{white bullet}%
+\UnicodeMathSymbol{"025E7}{\squareleftblack }{\mathord}{square, filled left half}%
+\UnicodeMathSymbol{"025E8}{\squarerightblack }{\mathord}{square, filled right half}%
+\UnicodeMathSymbol{"025E9}{\squareulblack }{\mathord}{square, filled top left corner}%
+\UnicodeMathSymbol{"025EA}{\squarelrblack }{\mathord}{square, filled bottom right corner}%
+\UnicodeMathSymbol{"025EB}{\boxbar }{\mathbin}{vertical bar in box}%
+\UnicodeMathSymbol{"025EC}{\trianglecdot }{\mathord}{triangle with centered dot}%
+\UnicodeMathSymbol{"025ED}{\triangleleftblack }{\mathord}{up-pointing triangle with left half black}%
+\UnicodeMathSymbol{"025EE}{\trianglerightblack }{\mathord}{up-pointing triangle with right half black}%
+\UnicodeMathSymbol{"025EF}{\lgwhtcircle }{\mathord}{large circle}%
+\UnicodeMathSymbol{"025F0}{\squareulquad }{\mathord}{white square with upper left quadrant}%
+\UnicodeMathSymbol{"025F1}{\squarellquad }{\mathord}{white square with lower left quadrant}%
+\UnicodeMathSymbol{"025F2}{\squarelrquad }{\mathord}{white square with lower right quadrant}%
+\UnicodeMathSymbol{"025F3}{\squareurquad }{\mathord}{white square with upper right quadrant}%
+\UnicodeMathSymbol{"025F4}{\circleulquad }{\mathord}{white circle with upper left quadrant}%
+\UnicodeMathSymbol{"025F5}{\circlellquad }{\mathord}{white circle with lower left quadrant}%
+\UnicodeMathSymbol{"025F6}{\circlelrquad }{\mathord}{white circle with lower right quadrant}%
+\UnicodeMathSymbol{"025F7}{\circleurquad }{\mathord}{white circle with upper right quadrant}%
+\UnicodeMathSymbol{"025F8}{\ultriangle }{\mathord}{upper left triangle}%
+\UnicodeMathSymbol{"025F9}{\urtriangle }{\mathord}{upper right triangle}%
+\UnicodeMathSymbol{"025FA}{\lltriangle }{\mathord}{lower left triangle}%
+\UnicodeMathSymbol{"025FB}{\mdwhtsquare }{\mathord}{white medium square}%
+\UnicodeMathSymbol{"025FC}{\mdblksquare }{\mathord}{black medium square}%
+\UnicodeMathSymbol{"025FD}{\mdsmwhtsquare }{\mathord}{white medium small square}%
+\UnicodeMathSymbol{"025FE}{\mdsmblksquare }{\mathord}{black medium small square}%
+\UnicodeMathSymbol{"025FF}{\lrtriangle }{\mathord}{lower right triangle}%
+\UnicodeMathSymbol{"02605}{\bigstar }{\mathord}{star, filled}%
+\UnicodeMathSymbol{"02606}{\bigwhitestar }{\mathord}{star, open}%
+\UnicodeMathSymbol{"02609}{\astrosun }{\mathord}{sun}%
+\UnicodeMathSymbol{"02621}{\danger }{\mathord}{dangerous bend (caution sign)}%
+\UnicodeMathSymbol{"0263B}{\blacksmiley }{\mathord}{black smiling face}%
+\UnicodeMathSymbol{"0263C}{\sun }{\mathord}{white sun with rays}%
+\UnicodeMathSymbol{"0263D}{\rightmoon }{\mathord}{first quarter moon}%
+\UnicodeMathSymbol{"0263E}{\leftmoon }{\mathord}{last quarter moon}%
+\UnicodeMathSymbol{"02640}{\female }{\mathord}{venus, female}%
+\UnicodeMathSymbol{"02642}{\male }{\mathord}{mars, male}%
+\UnicodeMathSymbol{"02660}{\spadesuit }{\mathord}{spades suit symbol}%
+\UnicodeMathSymbol{"02661}{\heartsuit }{\mathord}{heart suit symbol}%
+\UnicodeMathSymbol{"02662}{\diamondsuit }{\mathord}{diamond suit symbol}%
+\UnicodeMathSymbol{"02663}{\clubsuit }{\mathord}{club suit symbol}%
+\UnicodeMathSymbol{"02664}{\varspadesuit }{\mathord}{spade, white (card suit)}%
+\UnicodeMathSymbol{"02665}{\varheartsuit }{\mathord}{filled heart (card suit)}%
+\UnicodeMathSymbol{"02666}{\vardiamondsuit }{\mathord}{filled diamond (card suit)}%
+\UnicodeMathSymbol{"02667}{\varclubsuit }{\mathord}{club, white (card suit)}%
+\UnicodeMathSymbol{"02669}{\quarternote }{\mathord}{music note (sung text sign)}%
+\UnicodeMathSymbol{"0266A}{\eighthnote }{\mathord}{eighth note}%
+\UnicodeMathSymbol{"0266B}{\twonotes }{\mathord}{beamed eighth notes}%
+\UnicodeMathSymbol{"0266D}{\flat }{\mathord}{musical flat}%
+\UnicodeMathSymbol{"0266E}{\natural }{\mathord}{music natural}%
+\UnicodeMathSymbol{"0266F}{\sharp }{\mathord}{musical sharp}%
+\UnicodeMathSymbol{"0267E}{\acidfree }{\mathord}{permanent paper sign}%
+\UnicodeMathSymbol{"02680}{\dicei }{\mathord}{die face-1}%
+\UnicodeMathSymbol{"02681}{\diceii }{\mathord}{die face-2}%
+\UnicodeMathSymbol{"02682}{\diceiii }{\mathord}{die face-3}%
+\UnicodeMathSymbol{"02683}{\diceiv }{\mathord}{die face-4}%
+\UnicodeMathSymbol{"02684}{\dicev }{\mathord}{die face-5}%
+\UnicodeMathSymbol{"02685}{\dicevi }{\mathord}{die face-6}%
+\UnicodeMathSymbol{"02686}{\circledrightdot }{\mathord}{white circle with dot right}%
+\UnicodeMathSymbol{"02687}{\circledtwodots }{\mathord}{white circle with two dots}%
+\UnicodeMathSymbol{"02688}{\blackcircledrightdot }{\mathord}{black circle with white dot right}%
+\UnicodeMathSymbol{"02689}{\blackcircledtwodots }{\mathord}{black circle with two white dots}%
+\UnicodeMathSymbol{"026A5}{\Hermaphrodite }{\mathord}{male and female sign}%
+\UnicodeMathSymbol{"026AA}{\mdwhtcircle }{\mathord}{medium white circle}%
+\UnicodeMathSymbol{"026AB}{\mdblkcircle }{\mathord}{medium black circle}%
+\UnicodeMathSymbol{"026AC}{\mdsmwhtcircle }{\mathord}{medium small white circle}%
+\UnicodeMathSymbol{"026B2}{\neuter }{\mathord}{neuter}%
+\UnicodeMathSymbol{"02713}{\checkmark }{\mathord}{tick, check mark}%
+\UnicodeMathSymbol{"02720}{\maltese }{\mathord}{maltese cross}%
+\UnicodeMathSymbol{"0272A}{\circledstar }{\mathord}{circled white star}%
+\UnicodeMathSymbol{"02736}{\varstar }{\mathord}{six pointed black star}%
+\UnicodeMathSymbol{"0273D}{\dingasterisk }{\mathord}{heavy teardrop-spoked asterisk}%
+\UnicodeMathSymbol{"02772}{\lbrbrak }{\mathopen}{light left tortoise shell bracket ornament}%
+\UnicodeMathSymbol{"02773}{\rbrbrak }{\mathclose}{light right tortoise shell bracket ornament}%
+\UnicodeMathSymbol{"0279B}{\draftingarrow }{\mathord}{right arrow with bold head (drafting)}%
+\UnicodeMathSymbol{"027C0}{\threedangle }{\mathord}{three dimensional angle}%
+\UnicodeMathSymbol{"027C1}{\whiteinwhitetriangle }{\mathord}{white triangle containing small white triangle}%
+\UnicodeMathSymbol{"027C2}{\perp }{\mathrel}{perpendicular}%
+\UnicodeMathSymbol{"027C3}{\subsetcirc }{\mathord}{open subset}%
+\UnicodeMathSymbol{"027C4}{\supsetcirc }{\mathord}{open superset}%
+\UnicodeMathSymbol{"027C5}{\lbag }{\mathopen}{left s-shaped bag delimiter}%
+\UnicodeMathSymbol{"027C6}{\rbag }{\mathclose}{right s-shaped bag delimiter}%
+\UnicodeMathSymbol{"027C7}{\veedot }{\mathbin}{or with dot inside}%
+\UnicodeMathSymbol{"027C8}{\bsolhsub }{\mathrel}{reverse solidus preceding subset}%
+\UnicodeMathSymbol{"027C9}{\suphsol }{\mathrel}{superset preceding solidus}%
+\UnicodeMathSymbol{"027CC}{\longdivision }{\mathopen}{long division}%
+\UnicodeMathSymbol{"027D0}{\diamondcdot }{\mathord}{white diamond with centred dot}%
+\UnicodeMathSymbol{"027D1}{\wedgedot }{\mathbin}{and with dot}%
+\UnicodeMathSymbol{"027D2}{\upin }{\mathrel}{element of opening upwards}%
+\UnicodeMathSymbol{"027D3}{\pullback }{\mathrel}{lower right corner with dot}%
+\UnicodeMathSymbol{"027D4}{\pushout }{\mathrel}{upper left corner with dot}%
+\UnicodeMathSymbol{"027D5}{\leftouterjoin }{\mathop}{left outer join}%
+\UnicodeMathSymbol{"027D6}{\rightouterjoin }{\mathop}{right outer join}%
+\UnicodeMathSymbol{"027D7}{\fullouterjoin }{\mathop}{full outer join}%
+\UnicodeMathSymbol{"027D8}{\bigbot }{\mathop}{large up tack}%
+\UnicodeMathSymbol{"027D9}{\bigtop }{\mathop}{large down tack}%
+\UnicodeMathSymbol{"027DA}{\DashVDash }{\mathrel}{left and right double turnstile}%
+\UnicodeMathSymbol{"027DB}{\dashVdash }{\mathrel}{left and right tack}%
+\UnicodeMathSymbol{"027DC}{\multimapinv }{\mathrel}{left multimap}%
+\UnicodeMathSymbol{"027DD}{\vlongdash }{\mathrel}{long left tack}%
+\UnicodeMathSymbol{"027DE}{\longdashv }{\mathrel}{long right tack}%
+\UnicodeMathSymbol{"027DF}{\cirbot }{\mathrel}{up tack with circle above}%
+\UnicodeMathSymbol{"027E0}{\lozengeminus }{\mathbin}{lozenge divided by horizontal rule}%
+\UnicodeMathSymbol{"027E1}{\concavediamond }{\mathbin}{white concave-sided diamond}%
+\UnicodeMathSymbol{"027E2}{\concavediamondtickleft }{\mathbin}{white concave-sided diamond with leftwards tick}%
+\UnicodeMathSymbol{"027E3}{\concavediamondtickright }{\mathbin}{white concave-sided diamond with rightwards tick}%
+\UnicodeMathSymbol{"027E4}{\whitesquaretickleft }{\mathbin}{white square with leftwards tick}%
+\UnicodeMathSymbol{"027E5}{\whitesquaretickright }{\mathbin}{white square with rightwards tick}%
+\UnicodeMathSymbol{"027E6}{\lBrack }{\mathopen}{mathematical left white square bracket}%
+\UnicodeMathSymbol{"027E7}{\rBrack }{\mathclose}{mathematical right white square bracket}%
+\UnicodeMathSymbol{"027E8}{\langle }{\mathopen}{mathematical left angle bracket}%
+\UnicodeMathSymbol{"027E9}{\rangle }{\mathclose}{mathematical right angle bracket}%
+\UnicodeMathSymbol{"027EA}{\lAngle }{\mathopen}{mathematical left double angle bracket}%
+\UnicodeMathSymbol{"027EB}{\rAngle }{\mathclose}{mathematical right double angle bracket}%
+\UnicodeMathSymbol{"027EC}{\Lbrbrak }{\mathopen}{mathematical left white tortoise shell bracket}%
+\UnicodeMathSymbol{"027ED}{\Rbrbrak }{\mathclose}{mathematical right white tortoise shell bracket}%
+\UnicodeMathSymbol{"027EE}{\lgroup }{\mathopen}{mathematical left flattened parenthesis}%
+\UnicodeMathSymbol{"027EF}{\rgroup }{\mathclose}{mathematical right flattened parenthesis}%
+\UnicodeMathSymbol{"027F0}{\UUparrow }{\mathrel}{upwards quadruple arrow}%
+\UnicodeMathSymbol{"027F1}{\DDownarrow }{\mathrel}{downwards quadruple arrow}%
+\UnicodeMathSymbol{"027F2}{\acwgapcirclearrow }{\mathrel}{anticlockwise gapped circle arrow}%
+\UnicodeMathSymbol{"027F3}{\cwgapcirclearrow }{\mathrel}{clockwise gapped circle arrow}%
+\UnicodeMathSymbol{"027F4}{\rightarrowonoplus }{\mathrel}{right arrow with circled plus}%
+\UnicodeMathSymbol{"027F5}{\longleftarrow }{\mathrel}{long leftwards arrow}%
+\UnicodeMathSymbol{"027F6}{\longrightarrow }{\mathrel}{long rightwards arrow}%
+\UnicodeMathSymbol{"027F7}{\longleftrightarrow }{\mathrel}{long left right arrow}%
+\UnicodeMathSymbol{"027F8}{\Longleftarrow }{\mathrel}{long leftwards double arrow}%
+\UnicodeMathSymbol{"027F9}{\Longrightarrow }{\mathrel}{long rightwards double arrow}%
+\UnicodeMathSymbol{"027FA}{\Longleftrightarrow }{\mathrel}{long left right double arrow}%
+\UnicodeMathSymbol{"027FB}{\longmapsfrom }{\mathrel}{long leftwards arrow from bar}%
+\UnicodeMathSymbol{"027FC}{\longmapsto }{\mathrel}{long rightwards arrow from bar}%
+\UnicodeMathSymbol{"027FD}{\Longmapsfrom }{\mathrel}{long leftwards double arrow from bar}%
+\UnicodeMathSymbol{"027FE}{\Longmapsto }{\mathrel}{long rightwards double arrow from bar}%
+\UnicodeMathSymbol{"027FF}{\longrightsquigarrow }{\mathrel}{long rightwards squiggle arrow}%
+\UnicodeMathSymbol{"02900}{\nvtwoheadrightarrow }{\mathrel}{rightwards two-headed arrow with vertical stroke}%
+\UnicodeMathSymbol{"02901}{\nVtwoheadrightarrow }{\mathrel}{rightwards two-headed arrow with double vertical stroke}%
+\UnicodeMathSymbol{"02902}{\nvLeftarrow }{\mathrel}{leftwards double arrow with vertical stroke}%
+\UnicodeMathSymbol{"02903}{\nvRightarrow }{\mathrel}{rightwards double arrow with vertical stroke}%
+\UnicodeMathSymbol{"02904}{\nvLeftrightarrow }{\mathrel}{left right double arrow with vertical stroke}%
+\UnicodeMathSymbol{"02905}{\twoheadmapsto }{\mathrel}{rightwards two-headed arrow from bar}%
+\UnicodeMathSymbol{"02906}{\Mapsfrom }{\mathrel}{leftwards double arrow from bar}%
+\UnicodeMathSymbol{"02907}{\Mapsto }{\mathrel}{rightwards double arrow from bar}%
+\UnicodeMathSymbol{"02908}{\downarrowbarred }{\mathrel}{downwards arrow with horizontal stroke}%
+\UnicodeMathSymbol{"02909}{\uparrowbarred }{\mathrel}{upwards arrow with horizontal stroke}%
+\UnicodeMathSymbol{"0290A}{\Uuparrow }{\mathrel}{upwards triple arrow}%
+\UnicodeMathSymbol{"0290B}{\Ddownarrow }{\mathrel}{downwards triple arrow}%
+\UnicodeMathSymbol{"0290C}{\leftbkarrow }{\mathrel}{leftwards double dash arrow}%
+\UnicodeMathSymbol{"0290D}{\rightbkarrow }{\mathrel}{rightwards double dash arrow}%
+\UnicodeMathSymbol{"0290E}{\leftdbkarrow }{\mathrel}{leftwards triple dash arrow}%
+\UnicodeMathSymbol{"0290F}{\dbkarrow }{\mathrel}{rightwards triple dash arrow}%
+\UnicodeMathSymbol{"02910}{\drbkarrow }{\mathrel}{rightwards two-headed triple dash arrow}%
+\UnicodeMathSymbol{"02911}{\rightdotarrow }{\mathrel}{rightwards arrow with dotted stem}%
+\UnicodeMathSymbol{"02912}{\baruparrow }{\mathrel}{upwards arrow to bar}%
+\UnicodeMathSymbol{"02913}{\downarrowbar }{\mathrel}{downwards arrow to bar}%
+\UnicodeMathSymbol{"02914}{\nvrightarrowtail }{\mathrel}{rightwards arrow with tail with vertical stroke}%
+\UnicodeMathSymbol{"02915}{\nVrightarrowtail }{\mathrel}{rightwards arrow with tail with double vertical stroke}%
+\UnicodeMathSymbol{"02916}{\twoheadrightarrowtail }{\mathrel}{rightwards two-headed arrow with tail}%
+\UnicodeMathSymbol{"02917}{\nvtwoheadrightarrowtail }{\mathrel}{rightwards two-headed arrow with tail with vertical stroke}%
+\UnicodeMathSymbol{"02918}{\nVtwoheadrightarrowtail }{\mathrel}{rightwards two-headed arrow with tail with double vertical stroke}%
+\UnicodeMathSymbol{"02919}{\lefttail }{\mathrel}{leftwards arrow-tail}%
+\UnicodeMathSymbol{"0291A}{\righttail }{\mathrel}{rightwards arrow-tail}%
+\UnicodeMathSymbol{"0291B}{\leftdbltail }{\mathrel}{leftwards double arrow-tail}%
+\UnicodeMathSymbol{"0291C}{\rightdbltail }{\mathrel}{rightwards double arrow-tail}%
+\UnicodeMathSymbol{"0291D}{\diamondleftarrow }{\mathrel}{leftwards arrow to black diamond}%
+\UnicodeMathSymbol{"0291E}{\rightarrowdiamond }{\mathrel}{rightwards arrow to black diamond}%
+\UnicodeMathSymbol{"0291F}{\diamondleftarrowbar }{\mathrel}{leftwards arrow from bar to black diamond}%
+\UnicodeMathSymbol{"02920}{\barrightarrowdiamond }{\mathrel}{rightwards arrow from bar to black diamond}%
+\UnicodeMathSymbol{"02921}{\nwsearrow }{\mathrel}{north west and south east arrow}%
+\UnicodeMathSymbol{"02922}{\neswarrow }{\mathrel}{north east and south west arrow}%
+\UnicodeMathSymbol{"02923}{\hknwarrow }{\mathrel}{north west arrow with hook}%
+\UnicodeMathSymbol{"02924}{\hknearrow }{\mathrel}{north east arrow with hook}%
+\UnicodeMathSymbol{"02925}{\hksearrow }{\mathrel}{south east arrow with hook}%
+\UnicodeMathSymbol{"02926}{\hkswarrow }{\mathrel}{south west arrow with hook}%
+\UnicodeMathSymbol{"02927}{\tona }{\mathrel}{north west arrow and north east arrow}%
+\UnicodeMathSymbol{"02928}{\toea }{\mathrel}{north east arrow and south east arrow}%
+\UnicodeMathSymbol{"02929}{\tosa }{\mathrel}{south east arrow and south west arrow}%
+\UnicodeMathSymbol{"0292A}{\towa }{\mathrel}{south west arrow and north west arrow}%
+\UnicodeMathSymbol{"0292B}{\rdiagovfdiag }{\mathord}{rising diagonal crossing falling diagonal}%
+\UnicodeMathSymbol{"0292C}{\fdiagovrdiag }{\mathord}{falling diagonal crossing rising diagonal}%
+\UnicodeMathSymbol{"0292D}{\seovnearrow }{\mathord}{south east arrow crossing north east arrow}%
+\UnicodeMathSymbol{"0292E}{\neovsearrow }{\mathord}{north east arrow crossing south east arrow}%
+\UnicodeMathSymbol{"0292F}{\fdiagovnearrow }{\mathord}{falling diagonal crossing north east arrow}%
+\UnicodeMathSymbol{"02930}{\rdiagovsearrow }{\mathord}{rising diagonal crossing south east arrow}%
+\UnicodeMathSymbol{"02931}{\neovnwarrow }{\mathord}{north east arrow crossing north west arrow}%
+\UnicodeMathSymbol{"02932}{\nwovnearrow }{\mathord}{north west arrow crossing north east arrow}%
+\UnicodeMathSymbol{"02933}{\rightcurvedarrow }{\mathrel}{wave arrow pointing directly right}%
+\UnicodeMathSymbol{"02934}{\uprightcurvearrow }{\mathord}{arrow pointing rightwards then curving upwards}%
+\UnicodeMathSymbol{"02935}{\downrightcurvedarrow }{\mathord}{arrow pointing rightwards then curving downwards}%
+\UnicodeMathSymbol{"02936}{\leftdowncurvedarrow }{\mathrel}{arrow pointing downwards then curving leftwards}%
+\UnicodeMathSymbol{"02937}{\rightdowncurvedarrow }{\mathrel}{arrow pointing downwards then curving rightwards}%
+\UnicodeMathSymbol{"02938}{\cwrightarcarrow }{\mathrel}{right-side arc clockwise arrow}%
+\UnicodeMathSymbol{"02939}{\acwleftarcarrow }{\mathrel}{left-side arc anticlockwise arrow}%
+\UnicodeMathSymbol{"0293A}{\acwoverarcarrow }{\mathrel}{top arc anticlockwise arrow}%
+\UnicodeMathSymbol{"0293B}{\acwunderarcarrow }{\mathrel}{bottom arc anticlockwise arrow}%
+\UnicodeMathSymbol{"0293C}{\curvearrowrightminus }{\mathrel}{top arc clockwise arrow with minus}%
+\UnicodeMathSymbol{"0293D}{\curvearrowleftplus }{\mathrel}{top arc anticlockwise arrow with plus}%
+\UnicodeMathSymbol{"0293E}{\cwundercurvearrow }{\mathrel}{lower right semicircular clockwise arrow}%
+\UnicodeMathSymbol{"0293F}{\ccwundercurvearrow }{\mathrel}{lower left semicircular anticlockwise arrow}%
+\UnicodeMathSymbol{"02940}{\acwcirclearrow }{\mathrel}{anticlockwise closed circle arrow}%
+\UnicodeMathSymbol{"02941}{\cwcirclearrow }{\mathrel}{clockwise closed circle arrow}%
+\UnicodeMathSymbol{"02942}{\rightarrowshortleftarrow }{\mathrel}{rightwards arrow above short leftwards arrow}%
+\UnicodeMathSymbol{"02943}{\leftarrowshortrightarrow }{\mathrel}{leftwards arrow above short rightwards arrow}%
+\UnicodeMathSymbol{"02944}{\shortrightarrowleftarrow }{\mathrel}{short rightwards arrow above leftwards arrow}%
+\UnicodeMathSymbol{"02945}{\rightarrowplus }{\mathrel}{rightwards arrow with plus below}%
+\UnicodeMathSymbol{"02946}{\leftarrowplus }{\mathrel}{leftwards arrow with plus below}%
+\UnicodeMathSymbol{"02947}{\rightarrowx }{\mathrel}{rightwards arrow through x}%
+\UnicodeMathSymbol{"02948}{\leftrightarrowcircle }{\mathrel}{left right arrow through small circle}%
+\UnicodeMathSymbol{"02949}{\twoheaduparrowcircle }{\mathrel}{upwards two-headed arrow from small circle}%
+\UnicodeMathSymbol{"0294A}{\leftrightharpoonupdown }{\mathrel}{left barb up right barb down harpoon}%
+\UnicodeMathSymbol{"0294B}{\leftrightharpoondownup }{\mathrel}{left barb down right barb up harpoon}%
+\UnicodeMathSymbol{"0294C}{\updownharpoonrightleft }{\mathrel}{up barb right down barb left harpoon}%
+\UnicodeMathSymbol{"0294D}{\updownharpoonleftright }{\mathrel}{up barb left down barb right harpoon}%
+\UnicodeMathSymbol{"0294E}{\leftrightharpoonupup }{\mathrel}{left barb up right barb up harpoon}%
+\UnicodeMathSymbol{"0294F}{\updownharpoonrightright }{\mathrel}{up barb right down barb right harpoon}%
+\UnicodeMathSymbol{"02950}{\leftrightharpoondowndown }{\mathrel}{left barb down right barb down harpoon}%
+\UnicodeMathSymbol{"02951}{\updownharpoonleftleft }{\mathrel}{up barb left down barb left harpoon}%
+\UnicodeMathSymbol{"02952}{\barleftharpoonup }{\mathrel}{leftwards harpoon with barb up to bar}%
+\UnicodeMathSymbol{"02953}{\rightharpoonupbar }{\mathrel}{rightwards harpoon with barb up to bar}%
+\UnicodeMathSymbol{"02954}{\barupharpoonright }{\mathrel}{upwards harpoon with barb right to bar}%
+\UnicodeMathSymbol{"02955}{\downharpoonrightbar }{\mathrel}{downwards harpoon with barb right to bar}%
+\UnicodeMathSymbol{"02956}{\barleftharpoondown }{\mathrel}{leftwards harpoon with barb down to bar}%
+\UnicodeMathSymbol{"02957}{\rightharpoondownbar }{\mathrel}{rightwards harpoon with barb down to bar}%
+\UnicodeMathSymbol{"02958}{\barupharpoonleft }{\mathrel}{upwards harpoon with barb left to bar}%
+\UnicodeMathSymbol{"02959}{\downharpoonleftbar }{\mathrel}{downwards harpoon with barb left to bar}%
+\UnicodeMathSymbol{"0295A}{\leftharpoonupbar }{\mathrel}{leftwards harpoon with barb up from bar}%
+\UnicodeMathSymbol{"0295B}{\barrightharpoonup }{\mathrel}{rightwards harpoon with barb up from bar}%
+\UnicodeMathSymbol{"0295C}{\upharpoonrightbar }{\mathrel}{upwards harpoon with barb right from bar}%
+\UnicodeMathSymbol{"0295D}{\bardownharpoonright }{\mathrel}{downwards harpoon with barb right from bar}%
+\UnicodeMathSymbol{"0295E}{\leftharpoondownbar }{\mathrel}{leftwards harpoon with barb down from bar}%
+\UnicodeMathSymbol{"0295F}{\barrightharpoondown }{\mathrel}{rightwards harpoon with barb down from bar}%
+\UnicodeMathSymbol{"02960}{\upharpoonleftbar }{\mathrel}{upwards harpoon with barb left from bar}%
+\UnicodeMathSymbol{"02961}{\bardownharpoonleft }{\mathrel}{downwards harpoon with barb left from bar}%
+\UnicodeMathSymbol{"02962}{\leftharpoonsupdown }{\mathrel}{leftwards harpoon with barb up above leftwards harpoon with barb down}%
+\UnicodeMathSymbol{"02963}{\upharpoonsleftright }{\mathrel}{upwards harpoon with barb left beside upwards harpoon with barb right}%
+\UnicodeMathSymbol{"02964}{\rightharpoonsupdown }{\mathrel}{rightwards harpoon with barb up above rightwards harpoon with barb down}%
+\UnicodeMathSymbol{"02965}{\downharpoonsleftright }{\mathrel}{downwards harpoon with barb left beside downwards harpoon with barb right}%
+\UnicodeMathSymbol{"02966}{\leftrightharpoonsup }{\mathrel}{leftwards harpoon with barb up above rightwards harpoon with barb up}%
+\UnicodeMathSymbol{"02967}{\leftrightharpoonsdown }{\mathrel}{leftwards harpoon with barb down above rightwards harpoon with barb down}%
+\UnicodeMathSymbol{"02968}{\rightleftharpoonsup }{\mathrel}{rightwards harpoon with barb up above leftwards harpoon with barb up}%
+\UnicodeMathSymbol{"02969}{\rightleftharpoonsdown }{\mathrel}{rightwards harpoon with barb down above leftwards harpoon with barb down}%
+\UnicodeMathSymbol{"0296A}{\leftharpoonupdash }{\mathrel}{leftwards harpoon with barb up above long dash}%
+\UnicodeMathSymbol{"0296B}{\dashleftharpoondown }{\mathrel}{leftwards harpoon with barb down below long dash}%
+\UnicodeMathSymbol{"0296C}{\rightharpoonupdash }{\mathrel}{rightwards harpoon with barb up above long dash}%
+\UnicodeMathSymbol{"0296D}{\dashrightharpoondown }{\mathrel}{rightwards harpoon with barb down below long dash}%
+\UnicodeMathSymbol{"0296E}{\updownharpoonsleftright }{\mathrel}{upwards harpoon with barb left beside downwards harpoon with barb right}%
+\UnicodeMathSymbol{"0296F}{\downupharpoonsleftright }{\mathrel}{downwards harpoon with barb left beside upwards harpoon with barb right}%
+\UnicodeMathSymbol{"02970}{\rightimply }{\mathrel}{right double arrow with rounded head}%
+\UnicodeMathSymbol{"02971}{\equalrightarrow }{\mathrel}{equals sign above rightwards arrow}%
+\UnicodeMathSymbol{"02972}{\similarrightarrow }{\mathrel}{tilde operator above rightwards arrow}%
+\UnicodeMathSymbol{"02973}{\leftarrowsimilar }{\mathrel}{leftwards arrow above tilde operator}%
+\UnicodeMathSymbol{"02974}{\rightarrowsimilar }{\mathrel}{rightwards arrow above tilde operator}%
+\UnicodeMathSymbol{"02975}{\rightarrowapprox }{\mathrel}{rightwards arrow above almost equal to}%
+\UnicodeMathSymbol{"02976}{\ltlarr }{\mathrel}{less-than above leftwards arrow}%
+\UnicodeMathSymbol{"02977}{\leftarrowless }{\mathrel}{leftwards arrow through less-than}%
+\UnicodeMathSymbol{"02978}{\gtrarr }{\mathrel}{greater-than above rightwards arrow}%
+\UnicodeMathSymbol{"02979}{\subrarr }{\mathrel}{subset above rightwards arrow}%
+\UnicodeMathSymbol{"0297A}{\leftarrowsubset }{\mathrel}{leftwards arrow through subset}%
+\UnicodeMathSymbol{"0297B}{\suplarr }{\mathrel}{superset above leftwards arrow}%
+\UnicodeMathSymbol{"0297C}{\leftfishtail }{\mathrel}{left fish tail}%
+\UnicodeMathSymbol{"0297D}{\rightfishtail }{\mathrel}{right fish tail}%
+\UnicodeMathSymbol{"0297E}{\upfishtail }{\mathrel}{up fish tail}%
+\UnicodeMathSymbol{"0297F}{\downfishtail }{\mathrel}{down fish tail}%
+\UnicodeMathSymbol{"02980}{\Vvert }{\mathfence}{triple vertical bar delimiter}%
+\UnicodeMathSymbol{"02981}{\mdsmblkcircle }{\mathord}{z notation spot}%
+\UnicodeMathSymbol{"02982}{\typecolon }{\mathrel}{z notation type colon}%
+\UnicodeMathSymbol{"02983}{\lBrace }{\mathopen}{left white curly bracket}%
+\UnicodeMathSymbol{"02984}{\rBrace }{\mathclose}{right white curly bracket}%
+\UnicodeMathSymbol{"02985}{\lParen }{\mathopen}{left white parenthesis}%
+\UnicodeMathSymbol{"02986}{\rParen }{\mathclose}{right white parenthesis}%
+\UnicodeMathSymbol{"02987}{\llparenthesis }{\mathopen}{z notation left image bracket}%
+\UnicodeMathSymbol{"02988}{\rrparenthesis }{\mathclose}{z notation right image bracket}%
+\UnicodeMathSymbol{"02989}{\llangle }{\mathopen}{z notation left binding bracket}%
+\UnicodeMathSymbol{"0298A}{\rrangle }{\mathclose}{z notation right binding bracket}%
+\UnicodeMathSymbol{"0298B}{\lbrackubar }{\mathopen}{left square bracket with underbar}%
+\UnicodeMathSymbol{"0298C}{\rbrackubar }{\mathclose}{right square bracket with underbar}%
+\UnicodeMathSymbol{"0298D}{\lbrackultick }{\mathopen}{left square bracket with tick in top corner}%
+\UnicodeMathSymbol{"0298E}{\rbracklrtick }{\mathclose}{right square bracket with tick in bottom corner}%
+\UnicodeMathSymbol{"0298F}{\lbracklltick }{\mathopen}{left square bracket with tick in bottom corner}%
+\UnicodeMathSymbol{"02990}{\rbrackurtick }{\mathclose}{right square bracket with tick in top corner}%
+\UnicodeMathSymbol{"02991}{\langledot }{\mathopen}{left angle bracket with dot}%
+\UnicodeMathSymbol{"02992}{\rangledot }{\mathclose}{right angle bracket with dot}%
+\UnicodeMathSymbol{"02993}{\lparenless }{\mathopen}{left arc less-than bracket}%
+\UnicodeMathSymbol{"02994}{\rparengtr }{\mathclose}{right arc greater-than bracket}%
+\UnicodeMathSymbol{"02995}{\Lparengtr }{\mathopen}{double left arc greater-than bracket}%
+\UnicodeMathSymbol{"02996}{\Rparenless }{\mathclose}{double right arc less-than bracket}%
+\UnicodeMathSymbol{"02997}{\lblkbrbrak }{\mathopen}{left black tortoise shell bracket}%
+\UnicodeMathSymbol{"02998}{\rblkbrbrak }{\mathclose}{right black tortoise shell bracket}%
+\UnicodeMathSymbol{"02999}{\fourvdots }{\mathord}{dotted fence}%
+\UnicodeMathSymbol{"0299A}{\vzigzag }{\mathord}{vertical zigzag line}%
+\UnicodeMathSymbol{"0299B}{\measuredangleleft }{\mathord}{measured angle opening left}%
+\UnicodeMathSymbol{"0299C}{\rightanglesqr }{\mathord}{right angle variant with square}%
+\UnicodeMathSymbol{"0299D}{\rightanglemdot }{\mathord}{measured right angle with dot}%
+\UnicodeMathSymbol{"0299E}{\angles }{\mathord}{angle with s inside}%
+\UnicodeMathSymbol{"0299F}{\angdnr }{\mathord}{acute angle}%
+\UnicodeMathSymbol{"029A0}{\gtlpar }{\mathord}{spherical angle opening left}%
+\UnicodeMathSymbol{"029A1}{\sphericalangleup }{\mathord}{spherical angle opening up}%
+\UnicodeMathSymbol{"029A2}{\turnangle }{\mathord}{turned angle}%
+\UnicodeMathSymbol{"029A3}{\revangle }{\mathord}{reversed angle}%
+\UnicodeMathSymbol{"029A4}{\angleubar }{\mathord}{angle with underbar}%
+\UnicodeMathSymbol{"029A5}{\revangleubar }{\mathord}{reversed angle with underbar}%
+\UnicodeMathSymbol{"029A6}{\wideangledown }{\mathord}{oblique angle opening up}%
+\UnicodeMathSymbol{"029A7}{\wideangleup }{\mathord}{oblique angle opening down}%
+\UnicodeMathSymbol{"029A8}{\measanglerutone }{\mathord}{measured angle with open arm ending in arrow pointing up and right}%
+\UnicodeMathSymbol{"029A9}{\measanglelutonw }{\mathord}{measured angle with open arm ending in arrow pointing up and left}%
+\UnicodeMathSymbol{"029AA}{\measanglerdtose }{\mathord}{measured angle with open arm ending in arrow pointing down and right}%
+\UnicodeMathSymbol{"029AB}{\measangleldtosw }{\mathord}{measured angle with open arm ending in arrow pointing down and left}%
+\UnicodeMathSymbol{"029AC}{\measangleurtone }{\mathord}{measured angle with open arm ending in arrow pointing right and up}%
+\UnicodeMathSymbol{"029AD}{\measangleultonw }{\mathord}{measured angle with open arm ending in arrow pointing left and up}%
+\UnicodeMathSymbol{"029AE}{\measangledrtose }{\mathord}{measured angle with open arm ending in arrow pointing right and down}%
+\UnicodeMathSymbol{"029AF}{\measangledltosw }{\mathord}{measured angle with open arm ending in arrow pointing left and down}%
+\UnicodeMathSymbol{"029B0}{\revemptyset }{\mathord}{reversed empty set}%
+\UnicodeMathSymbol{"029B1}{\emptysetobar }{\mathord}{empty set with overbar}%
+\UnicodeMathSymbol{"029B2}{\emptysetocirc }{\mathord}{empty set with small circle above}%
+\UnicodeMathSymbol{"029B3}{\emptysetoarr }{\mathord}{empty set with right arrow above}%
+\UnicodeMathSymbol{"029B4}{\emptysetoarrl }{\mathord}{empty set with left arrow above}%
+\UnicodeMathSymbol{"029B5}{\circlehbar }{\mathbin}{circle with horizontal bar}%
+\UnicodeMathSymbol{"029B6}{\circledvert }{\mathbin}{circled vertical bar}%
+\UnicodeMathSymbol{"029B7}{\circledparallel }{\mathbin}{circled parallel}%
+\UnicodeMathSymbol{"029B8}{\obslash }{\mathbin}{circled reverse solidus}%
+\UnicodeMathSymbol{"029B9}{\operp }{\mathbin}{circled perpendicular}%
+\UnicodeMathSymbol{"029BA}{\obot }{\mathord}{circle divided by horizontal bar and top half divided by vertical bar}%
+\UnicodeMathSymbol{"029BB}{\olcross }{\mathord}{circle with superimposed x}%
+\UnicodeMathSymbol{"029BC}{\odotslashdot }{\mathord}{circled anticlockwise-rotated division sign}%
+\UnicodeMathSymbol{"029BD}{\uparrowoncircle }{\mathord}{up arrow through circle}%
+\UnicodeMathSymbol{"029BE}{\circledwhitebullet }{\mathord}{circled white bullet}%
+\UnicodeMathSymbol{"029BF}{\circledbullet }{\mathord}{circled bullet}%
+\UnicodeMathSymbol{"029C0}{\olessthan }{\mathbin}{circled less-than}%
+\UnicodeMathSymbol{"029C1}{\ogreaterthan }{\mathbin}{circled greater-than}%
+\UnicodeMathSymbol{"029C2}{\cirscir }{\mathord}{circle with small circle to the right}%
+\UnicodeMathSymbol{"029C3}{\cirE }{\mathord}{circle with two horizontal strokes to the right}%
+\UnicodeMathSymbol{"029C4}{\boxdiag }{\mathbin}{squared rising diagonal slash}%
+\UnicodeMathSymbol{"029C5}{\boxbslash }{\mathbin}{squared falling diagonal slash}%
+\UnicodeMathSymbol{"029C6}{\boxast }{\mathbin}{squared asterisk}%
+\UnicodeMathSymbol{"029C7}{\boxcircle }{\mathbin}{squared small circle}%
+\UnicodeMathSymbol{"029C8}{\boxbox }{\mathbin}{squared square}%
+\UnicodeMathSymbol{"029C9}{\boxonbox }{\mathord}{two joined squares}%
+\UnicodeMathSymbol{"029CA}{\triangleodot }{\mathord}{triangle with dot above}%
+\UnicodeMathSymbol{"029CB}{\triangleubar }{\mathord}{triangle with underbar}%
+\UnicodeMathSymbol{"029CC}{\triangles }{\mathord}{s in triangle}%
+\UnicodeMathSymbol{"029CD}{\triangleserifs }{\mathbin}{triangle with serifs at bottom}%
+\UnicodeMathSymbol{"029CE}{\rtriltri }{\mathrel}{right triangle above left triangle}%
+\UnicodeMathSymbol{"029CF}{\ltrivb }{\mathrel}{left triangle beside vertical bar}%
+\UnicodeMathSymbol{"029D0}{\vbrtri }{\mathrel}{vertical bar beside right triangle}%
+\UnicodeMathSymbol{"029D1}{\lfbowtie }{\mathrel}{left black bowtie}%
+\UnicodeMathSymbol{"029D2}{\rfbowtie }{\mathrel}{right black bowtie}%
+\UnicodeMathSymbol{"029D3}{\fbowtie }{\mathrel}{black bowtie}%
+\UnicodeMathSymbol{"029D4}{\lftimes }{\mathrel}{left black times}%
+\UnicodeMathSymbol{"029D5}{\rftimes }{\mathrel}{right black times}%
+\UnicodeMathSymbol{"029D6}{\hourglass }{\mathbin}{white hourglass}%
+\UnicodeMathSymbol{"029D7}{\blackhourglass }{\mathbin}{black hourglass}%
+\UnicodeMathSymbol{"029D8}{\lvzigzag }{\mathopen}{left wiggly fence}%
+\UnicodeMathSymbol{"029D9}{\rvzigzag }{\mathclose}{right wiggly fence}%
+\UnicodeMathSymbol{"029DA}{\Lvzigzag }{\mathopen}{left double wiggly fence}%
+\UnicodeMathSymbol{"029DB}{\Rvzigzag }{\mathclose}{right double wiggly fence}%
+\UnicodeMathSymbol{"029DC}{\iinfin }{\mathord}{incomplete infinity}%
+\UnicodeMathSymbol{"029DD}{\tieinfty }{\mathord}{tie over infinity}%
+\UnicodeMathSymbol{"029DE}{\nvinfty }{\mathord}{infinity negated with vertical bar}%
+\UnicodeMathSymbol{"029DF}{\dualmap }{\mathrel}{double-ended multimap}%
+\UnicodeMathSymbol{"029E0}{\laplac }{\mathord}{square with contoured outline}%
+\UnicodeMathSymbol{"029E1}{\lrtriangleeq }{\mathrel}{increases as}%
+\UnicodeMathSymbol{"029E2}{\shuffle }{\mathbin}{shuffle product}%
+\UnicodeMathSymbol{"029E3}{\eparsl }{\mathrel}{equals sign and slanted parallel}%
+\UnicodeMathSymbol{"029E4}{\smeparsl }{\mathrel}{equals sign and slanted parallel with tilde above}%
+\UnicodeMathSymbol{"029E5}{\eqvparsl }{\mathrel}{identical to and slanted parallel}%
+\UnicodeMathSymbol{"029E6}{\gleichstark }{\mathrel}{gleich stark}%
+\UnicodeMathSymbol{"029E7}{\thermod }{\mathord}{thermodynamic}%
+\UnicodeMathSymbol{"029E8}{\downtriangleleftblack }{\mathord}{down-pointing triangle with left half black}%
+\UnicodeMathSymbol{"029E9}{\downtrianglerightblack }{\mathord}{down-pointing triangle with right half black}%
+\UnicodeMathSymbol{"029EA}{\blackdiamonddownarrow }{\mathord}{black diamond with down arrow}%
+\UnicodeMathSymbol{"029EB}{\mdlgblklozenge }{\mathbin}{black lozenge}%
+\UnicodeMathSymbol{"029EC}{\circledownarrow }{\mathord}{white circle with down arrow}%
+\UnicodeMathSymbol{"029ED}{\blackcircledownarrow }{\mathord}{black circle with down arrow}%
+\UnicodeMathSymbol{"029EE}{\errbarsquare }{\mathord}{error-barred white square}%
+\UnicodeMathSymbol{"029EF}{\errbarblacksquare }{\mathord}{error-barred black square}%
+\UnicodeMathSymbol{"029F0}{\errbardiamond }{\mathord}{error-barred white diamond}%
+\UnicodeMathSymbol{"029F1}{\errbarblackdiamond }{\mathord}{error-barred black diamond}%
+\UnicodeMathSymbol{"029F2}{\errbarcircle }{\mathord}{error-barred white circle}%
+\UnicodeMathSymbol{"029F3}{\errbarblackcircle }{\mathord}{error-barred black circle}%
+\UnicodeMathSymbol{"029F4}{\ruledelayed }{\mathrel}{rule-delayed}%
+\UnicodeMathSymbol{"029F5}{\setminus }{\mathbin}{reverse solidus operator}%
+\UnicodeMathSymbol{"029F6}{\dsol }{\mathbin}{solidus with overbar}%
+\UnicodeMathSymbol{"029F7}{\rsolbar }{\mathbin}{reverse solidus with horizontal stroke}%
+\UnicodeMathSymbol{"029F8}{\xsol }{\mathop}{big solidus}%
+\UnicodeMathSymbol{"029F9}{\xbsol }{\mathop}{big reverse solidus}%
+\UnicodeMathSymbol{"029FA}{\doubleplus }{\mathbin}{double plus}%
+\UnicodeMathSymbol{"029FB}{\tripleplus }{\mathbin}{triple plus}%
+\UnicodeMathSymbol{"029FC}{\lcurvyangle }{\mathopen}{left pointing curved angle bracket}%
+\UnicodeMathSymbol{"029FD}{\rcurvyangle }{\mathclose}{right pointing curved angle bracket}%
+\UnicodeMathSymbol{"029FE}{\tplus }{\mathbin}{tiny}%
+\UnicodeMathSymbol{"029FF}{\tminus }{\mathbin}{miny}%
+\UnicodeMathSymbol{"02A00}{\bigodot }{\mathop}{n-ary circled dot operator}%
+\UnicodeMathSymbol{"02A01}{\bigoplus }{\mathop}{n-ary circled plus operator}%
+\UnicodeMathSymbol{"02A02}{\bigotimes }{\mathop}{n-ary circled times operator}%
+\UnicodeMathSymbol{"02A03}{\bigcupdot }{\mathop}{n-ary union operator with dot}%
+\UnicodeMathSymbol{"02A04}{\biguplus }{\mathop}{n-ary union operator with plus}%
+\UnicodeMathSymbol{"02A05}{\bigsqcap }{\mathop}{n-ary square intersection operator}%
+\UnicodeMathSymbol{"02A06}{\bigsqcup }{\mathop}{n-ary square union operator}%
+\UnicodeMathSymbol{"02A07}{\conjquant }{\mathop}{two logical and operator}%
+\UnicodeMathSymbol{"02A08}{\disjquant }{\mathop}{two logical or operator}%
+\UnicodeMathSymbol{"02A09}{\bigtimes }{\mathop}{n-ary times operator}%
+\UnicodeMathSymbol{"02A0A}{\modtwosum }{\mathop}{modulo two sum}%
+\UnicodeMathSymbol{"02A0B}{\sumint }{\mathop}{summation with integral}%
+\UnicodeMathSymbol{"02A0C}{\iiiint }{\mathop}{quadruple integral operator}%
+\UnicodeMathSymbol{"02A0D}{\intbar }{\mathop}{finite part integral}%
+\UnicodeMathSymbol{"02A0E}{\intBar }{\mathop}{integral with double stroke}%
+\UnicodeMathSymbol{"02A0F}{\fint }{\mathop}{integral average with slash}%
+\UnicodeMathSymbol{"02A10}{\cirfnint }{\mathop}{circulation function}%
+\UnicodeMathSymbol{"02A11}{\awint }{\mathop}{anticlockwise integration}%
+\UnicodeMathSymbol{"02A12}{\rppolint }{\mathop}{line integration with rectangular path around pole}%
+\UnicodeMathSymbol{"02A13}{\scpolint }{\mathop}{line integration with semicircular path around pole}%
+\UnicodeMathSymbol{"02A14}{\npolint }{\mathop}{line integration not including the pole}%
+\UnicodeMathSymbol{"02A15}{\pointint }{\mathop}{integral around a point operator}%
+\UnicodeMathSymbol{"02A16}{\sqint }{\mathop}{quaternion integral operator}%
+\UnicodeMathSymbol{"02A17}{\intlarhk }{\mathop}{integral with leftwards arrow with hook}%
+\UnicodeMathSymbol{"02A18}{\intx }{\mathop}{integral with times sign}%
+\UnicodeMathSymbol{"02A19}{\intcap }{\mathop}{integral with intersection}%
+\UnicodeMathSymbol{"02A1A}{\intcup }{\mathop}{integral with union}%
+\UnicodeMathSymbol{"02A1B}{\upint }{\mathop}{integral with overbar}%
+\UnicodeMathSymbol{"02A1C}{\lowint }{\mathop}{integral with underbar}%
+\UnicodeMathSymbol{"02A1D}{\Join }{\mathop}{join}%
+\UnicodeMathSymbol{"02A1E}{\bigtriangleleft }{\mathop}{large left triangle operator}%
+\UnicodeMathSymbol{"02A1F}{\zcmp }{\mathop}{z notation schema composition}%
+\UnicodeMathSymbol{"02A20}{\zpipe }{\mathop}{z notation schema piping}%
+\UnicodeMathSymbol{"02A21}{\zproject }{\mathop}{z notation schema projection}%
+\UnicodeMathSymbol{"02A22}{\ringplus }{\mathbin}{plus sign with small circle above}%
+\UnicodeMathSymbol{"02A23}{\plushat }{\mathbin}{plus sign with circumflex accent above}%
+\UnicodeMathSymbol{"02A24}{\simplus }{\mathbin}{plus sign with tilde above}%
+\UnicodeMathSymbol{"02A25}{\plusdot }{\mathbin}{plus sign with dot below}%
+\UnicodeMathSymbol{"02A26}{\plussim }{\mathbin}{plus sign with tilde below}%
+\UnicodeMathSymbol{"02A27}{\plussubtwo }{\mathbin}{plus sign with subscript two}%
+\UnicodeMathSymbol{"02A28}{\plustrif }{\mathbin}{plus sign with black triangle}%
+\UnicodeMathSymbol{"02A29}{\commaminus }{\mathbin}{minus sign with comma above}%
+\UnicodeMathSymbol{"02A2A}{\minusdot }{\mathbin}{minus sign with dot below}%
+\UnicodeMathSymbol{"02A2B}{\minusfdots }{\mathbin}{minus sign with falling dots}%
+\UnicodeMathSymbol{"02A2C}{\minusrdots }{\mathbin}{minus sign with rising dots}%
+\UnicodeMathSymbol{"02A2D}{\opluslhrim }{\mathbin}{plus sign in left half circle}%
+\UnicodeMathSymbol{"02A2E}{\oplusrhrim }{\mathbin}{plus sign in right half circle}%
+\UnicodeMathSymbol{"02A2F}{\vectimes }{\mathbin}{vector or cross product}%
+\UnicodeMathSymbol{"02A30}{\dottimes }{\mathbin}{multiplication sign with dot above}%
+\UnicodeMathSymbol{"02A31}{\timesbar }{\mathbin}{multiplication sign with underbar}%
+\UnicodeMathSymbol{"02A32}{\btimes }{\mathbin}{semidirect product with bottom closed}%
+\UnicodeMathSymbol{"02A33}{\smashtimes }{\mathbin}{smash product}%
+\UnicodeMathSymbol{"02A34}{\otimeslhrim }{\mathbin}{multiplication sign in left half circle}%
+\UnicodeMathSymbol{"02A35}{\otimesrhrim }{\mathbin}{multiplication sign in right half circle}%
+\UnicodeMathSymbol{"02A36}{\otimeshat }{\mathbin}{circled multiplication sign with circumflex accent}%
+\UnicodeMathSymbol{"02A37}{\Otimes }{\mathbin}{multiplication sign in double circle}%
+\UnicodeMathSymbol{"02A38}{\odiv }{\mathbin}{circled division sign}%
+\UnicodeMathSymbol{"02A39}{\triangleplus }{\mathbin}{plus sign in triangle}%
+\UnicodeMathSymbol{"02A3A}{\triangleminus }{\mathbin}{minus sign in triangle}%
+\UnicodeMathSymbol{"02A3B}{\triangletimes }{\mathbin}{multiplication sign in triangle}%
+\UnicodeMathSymbol{"02A3C}{\intprod }{\mathbin}{interior product}%
+\UnicodeMathSymbol{"02A3D}{\intprodr }{\mathbin}{righthand interior product}%
+\UnicodeMathSymbol{"02A3E}{\fcmp }{\mathbin}{z notation relational composition}%
+\UnicodeMathSymbol{"02A3F}{\amalg }{\mathbin}{amalgamation or coproduct}%
+\UnicodeMathSymbol{"02A40}{\capdot }{\mathbin}{intersection with dot}%
+\UnicodeMathSymbol{"02A41}{\uminus }{\mathbin}{union with minus sign}%
+\UnicodeMathSymbol{"02A42}{\barcup }{\mathbin}{union with overbar}%
+\UnicodeMathSymbol{"02A43}{\barcap }{\mathbin}{intersection with overbar}%
+\UnicodeMathSymbol{"02A44}{\capwedge }{\mathbin}{intersection with logical and}%
+\UnicodeMathSymbol{"02A45}{\cupvee }{\mathbin}{union with logical or}%
+\UnicodeMathSymbol{"02A46}{\cupovercap }{\mathbin}{union above intersection}%
+\UnicodeMathSymbol{"02A47}{\capovercup }{\mathbin}{intersection above union}%
+\UnicodeMathSymbol{"02A48}{\cupbarcap }{\mathbin}{union above bar above intersection}%
+\UnicodeMathSymbol{"02A49}{\capbarcup }{\mathbin}{intersection above bar above union}%
+\UnicodeMathSymbol{"02A4A}{\twocups }{\mathbin}{union beside and joined with union}%
+\UnicodeMathSymbol{"02A4B}{\twocaps }{\mathbin}{intersection beside and joined with intersection}%
+\UnicodeMathSymbol{"02A4C}{\closedvarcup }{\mathbin}{closed union with serifs}%
+\UnicodeMathSymbol{"02A4D}{\closedvarcap }{\mathbin}{closed intersection with serifs}%
+\UnicodeMathSymbol{"02A4E}{\Sqcap }{\mathbin}{double square intersection}%
+\UnicodeMathSymbol{"02A4F}{\Sqcup }{\mathbin}{double square union}%
+\UnicodeMathSymbol{"02A50}{\closedvarcupsmashprod }{\mathbin}{closed union with serifs and smash product}%
+\UnicodeMathSymbol{"02A51}{\wedgeodot }{\mathbin}{logical and with dot above}%
+\UnicodeMathSymbol{"02A52}{\veeodot }{\mathbin}{logical or with dot above}%
+\UnicodeMathSymbol{"02A53}{\Wedge }{\mathbin}{double logical and}%
+\UnicodeMathSymbol{"02A54}{\Vee }{\mathbin}{double logical or}%
+\UnicodeMathSymbol{"02A55}{\wedgeonwedge }{\mathbin}{two intersecting logical and}%
+\UnicodeMathSymbol{"02A56}{\veeonvee }{\mathbin}{two intersecting logical or}%
+\UnicodeMathSymbol{"02A57}{\bigslopedvee }{\mathbin}{sloping large or}%
+\UnicodeMathSymbol{"02A58}{\bigslopedwedge }{\mathbin}{sloping large and}%
+\UnicodeMathSymbol{"02A59}{\veeonwedge }{\mathrel}{logical or overlapping logical and}%
+\UnicodeMathSymbol{"02A5A}{\wedgemidvert }{\mathbin}{logical and with middle stem}%
+\UnicodeMathSymbol{"02A5B}{\veemidvert }{\mathbin}{logical or with middle stem}%
+\UnicodeMathSymbol{"02A5C}{\midbarwedge }{\mathbin}{ogical and with horizontal dash}%
+\UnicodeMathSymbol{"02A5D}{\midbarvee }{\mathbin}{logical or with horizontal dash}%
+\UnicodeMathSymbol{"02A5E}{\doublebarwedge }{\mathbin}{logical and with double overbar}%
+\UnicodeMathSymbol{"02A5F}{\wedgebar }{\mathbin}{logical and with underbar}%
+\UnicodeMathSymbol{"02A60}{\wedgedoublebar }{\mathbin}{logical and with double underbar}%
+\UnicodeMathSymbol{"02A61}{\varveebar }{\mathbin}{small vee with underbar}%
+\UnicodeMathSymbol{"02A62}{\doublebarvee }{\mathbin}{logical or with double overbar}%
+\UnicodeMathSymbol{"02A63}{\veedoublebar }{\mathbin}{logical or with double underbar}%
+\UnicodeMathSymbol{"02A64}{\dsub }{\mathbin}{z notation domain antirestriction}%
+\UnicodeMathSymbol{"02A65}{\rsub }{\mathbin}{z notation range antirestriction}%
+\UnicodeMathSymbol{"02A66}{\eqdot }{\mathrel}{equals sign with dot below}%
+\UnicodeMathSymbol{"02A67}{\dotequiv }{\mathrel}{identical with dot above}%
+\UnicodeMathSymbol{"02A68}{\equivVert }{\mathrel}{triple horizontal bar with double vertical stroke}%
+\UnicodeMathSymbol{"02A69}{\equivVvert }{\mathrel}{triple horizontal bar with triple vertical stroke}%
+\UnicodeMathSymbol{"02A6A}{\dotsim }{\mathrel}{tilde operator with dot above}%
+\UnicodeMathSymbol{"02A6B}{\simrdots }{\mathrel}{tilde operator with rising dots}%
+\UnicodeMathSymbol{"02A6C}{\simminussim }{\mathrel}{similar minus similar}%
+\UnicodeMathSymbol{"02A6D}{\congdot }{\mathrel}{congruent with dot above}%
+\UnicodeMathSymbol{"02A6E}{\asteq }{\mathrel}{equals with asterisk}%
+\UnicodeMathSymbol{"02A6F}{\hatapprox }{\mathrel}{almost equal to with circumflex accent}%
+\UnicodeMathSymbol{"02A70}{\approxeqq }{\mathrel}{approximately equal or equal to}%
+\UnicodeMathSymbol{"02A71}{\eqqplus }{\mathbin}{equals sign above plus sign}%
+\UnicodeMathSymbol{"02A72}{\pluseqq }{\mathbin}{plus sign above equals sign}%
+\UnicodeMathSymbol{"02A73}{\eqqsim }{\mathrel}{equals sign above tilde operator}%
+\UnicodeMathSymbol{"02A74}{\Coloneq }{\mathrel}{double colon equal}%
+\UnicodeMathSymbol{"02A75}{\eqeq }{\mathrel}{two consecutive equals signs}%
+\UnicodeMathSymbol{"02A76}{\eqeqeq }{\mathrel}{three consecutive equals signs}%
+\UnicodeMathSymbol{"02A77}{\ddotseq }{\mathrel}{equals sign with two dots above and two dots below}%
+\UnicodeMathSymbol{"02A78}{\equivDD }{\mathrel}{equivalent with four dots above}%
+\UnicodeMathSymbol{"02A79}{\ltcir }{\mathrel}{less-than with circle inside}%
+\UnicodeMathSymbol{"02A7A}{\gtcir }{\mathrel}{greater-than with circle inside}%
+\UnicodeMathSymbol{"02A7B}{\ltquest }{\mathrel}{less-than with question mark above}%
+\UnicodeMathSymbol{"02A7C}{\gtquest }{\mathrel}{greater-than with question mark above}%
+\UnicodeMathSymbol{"02A7D}{\leqslant }{\mathrel}{less-than or slanted equal to}%
+\UnicodeMathSymbol{"02A7E}{\geqslant }{\mathrel}{greater-than or slanted equal to}%
+\UnicodeMathSymbol{"02A7F}{\lesdot }{\mathrel}{less-than or slanted equal to with dot inside}%
+\UnicodeMathSymbol{"02A80}{\gesdot }{\mathrel}{greater-than or slanted equal to with dot inside}%
+\UnicodeMathSymbol{"02A81}{\lesdoto }{\mathrel}{less-than or slanted equal to with dot above}%
+\UnicodeMathSymbol{"02A82}{\gesdoto }{\mathrel}{greater-than or slanted equal to with dot above}%
+\UnicodeMathSymbol{"02A83}{\lesdotor }{\mathrel}{less-than or slanted equal to with dot above right}%
+\UnicodeMathSymbol{"02A84}{\gesdotol }{\mathrel}{greater-than or slanted equal to with dot above left}%
+\UnicodeMathSymbol{"02A85}{\lessapprox }{\mathrel}{less-than or approximate}%
+\UnicodeMathSymbol{"02A86}{\gtrapprox }{\mathrel}{greater-than or approximate}%
+\UnicodeMathSymbol{"02A87}{\lneq }{\mathrel}{less-than and single-line not equal to}%
+\UnicodeMathSymbol{"02A88}{\gneq }{\mathrel}{greater-than and single-line not equal to}%
+\UnicodeMathSymbol{"02A89}{\lnapprox }{\mathrel}{less-than and not approximate}%
+\UnicodeMathSymbol{"02A8A}{\gnapprox }{\mathrel}{greater-than and not approximate}%
+\UnicodeMathSymbol{"02A8B}{\lesseqqgtr }{\mathrel}{less-than above double-line equal above greater-than}%
+\UnicodeMathSymbol{"02A8C}{\gtreqqless }{\mathrel}{greater-than above double-line equal above less-than}%
+\UnicodeMathSymbol{"02A8D}{\lsime }{\mathrel}{less-than above similar or equal}%
+\UnicodeMathSymbol{"02A8E}{\gsime }{\mathrel}{greater-than above similar or equal}%
+\UnicodeMathSymbol{"02A8F}{\lsimg }{\mathrel}{less-than above similar above greater-than}%
+\UnicodeMathSymbol{"02A90}{\gsiml }{\mathrel}{greater-than above similar above less-than}%
+\UnicodeMathSymbol{"02A91}{\lgE }{\mathrel}{less-than above greater-than above double-line equal}%
+\UnicodeMathSymbol{"02A92}{\glE }{\mathrel}{greater-than above less-than above double-line equal}%
+\UnicodeMathSymbol{"02A93}{\lesges }{\mathrel}{less-than above slanted equal above greater-than above slanted equal}%
+\UnicodeMathSymbol{"02A94}{\gesles }{\mathrel}{greater-than above slanted equal above less-than above slanted equal}%
+\UnicodeMathSymbol{"02A95}{\eqslantless }{\mathrel}{slanted equal to or less-than}%
+\UnicodeMathSymbol{"02A96}{\eqslantgtr }{\mathrel}{slanted equal to or greater-than}%
+\UnicodeMathSymbol{"02A97}{\elsdot }{\mathrel}{slanted equal to or less-than with dot inside}%
+\UnicodeMathSymbol{"02A98}{\egsdot }{\mathrel}{slanted equal to or greater-than with dot inside}%
+\UnicodeMathSymbol{"02A99}{\eqqless }{\mathrel}{double-line equal to or less-than}%
+\UnicodeMathSymbol{"02A9A}{\eqqgtr }{\mathrel}{double-line equal to or greater-than}%
+\UnicodeMathSymbol{"02A9B}{\eqqslantless }{\mathrel}{double-line slanted equal to or less-than}%
+\UnicodeMathSymbol{"02A9C}{\eqqslantgtr }{\mathrel}{double-line slanted equal to or greater-than}%
+\UnicodeMathSymbol{"02A9D}{\simless }{\mathrel}{similar or less-than}%
+\UnicodeMathSymbol{"02A9E}{\simgtr }{\mathrel}{similar or greater-than}%
+\UnicodeMathSymbol{"02A9F}{\simlE }{\mathrel}{similar above less-than above equals sign}%
+\UnicodeMathSymbol{"02AA0}{\simgE }{\mathrel}{similar above greater-than above equals sign}%
+\UnicodeMathSymbol{"02AA1}{\Lt }{\mathrel}{double nested less-than}%
+\UnicodeMathSymbol{"02AA2}{\Gt }{\mathrel}{double nested greater-than}%
+\UnicodeMathSymbol{"02AA3}{\partialmeetcontraction }{\mathrel}{double less-than with underbar}%
+\UnicodeMathSymbol{"02AA4}{\glj }{\mathrel}{greater-than overlapping less-than}%
+\UnicodeMathSymbol{"02AA5}{\gla }{\mathrel}{greater-than beside less-than}%
+\UnicodeMathSymbol{"02AA6}{\ltcc }{\mathrel}{less-than closed by curve}%
+\UnicodeMathSymbol{"02AA7}{\gtcc }{\mathrel}{greater-than closed by curve}%
+\UnicodeMathSymbol{"02AA8}{\lescc }{\mathrel}{less-than closed by curve above slanted equal}%
+\UnicodeMathSymbol{"02AA9}{\gescc }{\mathrel}{greater-than closed by curve above slanted equal}%
+\UnicodeMathSymbol{"02AAA}{\smt }{\mathrel}{smaller than}%
+\UnicodeMathSymbol{"02AAB}{\lat }{\mathrel}{larger than}%
+\UnicodeMathSymbol{"02AAC}{\smte }{\mathrel}{smaller than or equal to}%
+\UnicodeMathSymbol{"02AAD}{\late }{\mathrel}{larger than or equal to}%
+\UnicodeMathSymbol{"02AAE}{\bumpeqq }{\mathrel}{equals sign with bumpy above}%
+\UnicodeMathSymbol{"02AAF}{\preceq }{\mathrel}{precedes above single-line equals sign}%
+\UnicodeMathSymbol{"02AB0}{\succeq }{\mathrel}{succeeds above single-line equals sign}%
+\UnicodeMathSymbol{"02AB1}{\precneq }{\mathrel}{precedes above single-line not equal to}%
+\UnicodeMathSymbol{"02AB2}{\succneq }{\mathrel}{succeeds above single-line not equal to}%
+\UnicodeMathSymbol{"02AB3}{\preceqq }{\mathrel}{precedes above equals sign}%
+\UnicodeMathSymbol{"02AB4}{\succeqq }{\mathrel}{succeeds above equals sign}%
+\UnicodeMathSymbol{"02AB5}{\precneqq }{\mathrel}{precedes above not equal to}%
+\UnicodeMathSymbol{"02AB6}{\succneqq }{\mathrel}{succeeds above not equal to}%
+\UnicodeMathSymbol{"02AB7}{\precapprox }{\mathrel}{precedes above almost equal to}%
+\UnicodeMathSymbol{"02AB8}{\succapprox }{\mathrel}{succeeds above almost equal to}%
+\UnicodeMathSymbol{"02AB9}{\precnapprox }{\mathrel}{precedes above not almost equal to}%
+\UnicodeMathSymbol{"02ABA}{\succnapprox }{\mathrel}{succeeds above not almost equal to}%
+\UnicodeMathSymbol{"02ABB}{\Prec }{\mathrel}{double precedes}%
+\UnicodeMathSymbol{"02ABC}{\Succ }{\mathrel}{double succeeds}%
+\UnicodeMathSymbol{"02ABD}{\subsetdot }{\mathrel}{subset with dot}%
+\UnicodeMathSymbol{"02ABE}{\supsetdot }{\mathrel}{superset with dot}%
+\UnicodeMathSymbol{"02ABF}{\subsetplus }{\mathrel}{subset with plus sign below}%
+\UnicodeMathSymbol{"02AC0}{\supsetplus }{\mathrel}{superset with plus sign below}%
+\UnicodeMathSymbol{"02AC1}{\submult }{\mathrel}{subset with multiplication sign below}%
+\UnicodeMathSymbol{"02AC2}{\supmult }{\mathrel}{superset with multiplication sign below}%
+\UnicodeMathSymbol{"02AC3}{\subedot }{\mathrel}{subset of or equal to with dot above}%
+\UnicodeMathSymbol{"02AC4}{\supedot }{\mathrel}{superset of or equal to with dot above}%
+\UnicodeMathSymbol{"02AC5}{\subseteqq }{\mathrel}{subset of above equals sign}%
+\UnicodeMathSymbol{"02AC6}{\supseteqq }{\mathrel}{superset of above equals sign}%
+\UnicodeMathSymbol{"02AC7}{\subsim }{\mathrel}{subset of above tilde operator}%
+\UnicodeMathSymbol{"02AC8}{\supsim }{\mathrel}{superset of above tilde operator}%
+\UnicodeMathSymbol{"02AC9}{\subsetapprox }{\mathrel}{subset of above almost equal to}%
+\UnicodeMathSymbol{"02ACA}{\supsetapprox }{\mathrel}{superset of above almost equal to}%
+\UnicodeMathSymbol{"02ACB}{\subsetneqq }{\mathrel}{subset of above not equal to}%
+\UnicodeMathSymbol{"02ACC}{\supsetneqq }{\mathrel}{superset of above not equal to}%
+\UnicodeMathSymbol{"02ACD}{\lsqhook }{\mathrel}{square left open box operator}%
+\UnicodeMathSymbol{"02ACE}{\rsqhook }{\mathrel}{square right open box operator}%
+\UnicodeMathSymbol{"02ACF}{\csub }{\mathrel}{closed subset}%
+\UnicodeMathSymbol{"02AD0}{\csup }{\mathrel}{closed superset}%
+\UnicodeMathSymbol{"02AD1}{\csube }{\mathrel}{closed subset or equal to}%
+\UnicodeMathSymbol{"02AD2}{\csupe }{\mathrel}{closed superset or equal to}%
+\UnicodeMathSymbol{"02AD3}{\subsup }{\mathrel}{subset above superset}%
+\UnicodeMathSymbol{"02AD4}{\supsub }{\mathrel}{superset above subset}%
+\UnicodeMathSymbol{"02AD5}{\subsub }{\mathrel}{subset above subset}%
+\UnicodeMathSymbol{"02AD6}{\supsup }{\mathrel}{superset above superset}%
+\UnicodeMathSymbol{"02AD7}{\suphsub }{\mathrel}{superset beside subset}%
+\UnicodeMathSymbol{"02AD8}{\supdsub }{\mathrel}{superset beside and joined by dash with subset}%
+\UnicodeMathSymbol{"02AD9}{\forkv }{\mathrel}{element of opening downwards}%
+\UnicodeMathSymbol{"02ADA}{\topfork }{\mathrel}{pitchfork with tee top}%
+\UnicodeMathSymbol{"02ADB}{\mlcp }{\mathrel}{transversal intersection}%
+\UnicodeMathSymbol{"02ADC}{\forks }{\mathrel}{forking}%
+\UnicodeMathSymbol{"02ADD}{\forksnot }{\mathrel}{nonforking}%
+\UnicodeMathSymbol{"02ADE}{\shortlefttack }{\mathrel}{short left tack}%
+\UnicodeMathSymbol{"02ADF}{\shortdowntack }{\mathrel}{short down tack}%
+\UnicodeMathSymbol{"02AE0}{\shortuptack }{\mathrel}{short up tack}%
+\UnicodeMathSymbol{"02AE1}{\perps }{\mathord}{perpendicular with s}%
+\UnicodeMathSymbol{"02AE2}{\vDdash }{\mathrel}{vertical bar triple right turnstile}%
+\UnicodeMathSymbol{"02AE3}{\dashV }{\mathrel}{double vertical bar left turnstile}%
+\UnicodeMathSymbol{"02AE4}{\Dashv }{\mathrel}{vertical bar double left turnstile}%
+\UnicodeMathSymbol{"02AE5}{\DashV }{\mathrel}{double vertical bar double left turnstile}%
+\UnicodeMathSymbol{"02AE6}{\varVdash }{\mathrel}{long dash from left member of double vertical}%
+\UnicodeMathSymbol{"02AE7}{\Barv }{\mathrel}{short down tack with overbar}%
+\UnicodeMathSymbol{"02AE8}{\vBar }{\mathrel}{short up tack with underbar}%
+\UnicodeMathSymbol{"02AE9}{\vBarv }{\mathrel}{short up tack above short down tack}%
+\UnicodeMathSymbol{"02AEA}{\barV }{\mathrel}{double down tack}%
+\UnicodeMathSymbol{"02AEB}{\Vbar }{\mathrel}{double up tack}%
+\UnicodeMathSymbol{"02AEC}{\Not }{\mathrel}{double stroke not sign}%
+\UnicodeMathSymbol{"02AED}{\bNot }{\mathrel}{reversed double stroke not sign}%
+\UnicodeMathSymbol{"02AEE}{\revnmid }{\mathrel}{does not divide with reversed negation slash}%
+\UnicodeMathSymbol{"02AEF}{\cirmid }{\mathrel}{vertical line with circle above}%
+\UnicodeMathSymbol{"02AF0}{\midcir }{\mathrel}{vertical line with circle below}%
+\UnicodeMathSymbol{"02AF1}{\topcir }{\mathord}{down tack with circle below}%
+\UnicodeMathSymbol{"02AF2}{\nhpar }{\mathrel}{parallel with horizontal stroke}%
+\UnicodeMathSymbol{"02AF3}{\parsim }{\mathrel}{parallel with tilde operator}%
+\UnicodeMathSymbol{"02AF4}{\interleave }{\mathbin}{triple vertical bar binary relation}%
+\UnicodeMathSymbol{"02AF5}{\nhVvert }{\mathbin}{triple vertical bar with horizontal stroke}%
+\UnicodeMathSymbol{"02AF6}{\threedotcolon }{\mathbin}{triple colon operator}%
+\UnicodeMathSymbol{"02AF7}{\lllnest }{\mathrel}{stacked very much less-than}%
+\UnicodeMathSymbol{"02AF8}{\gggnest }{\mathrel}{stacked very much greater-than}%
+\UnicodeMathSymbol{"02AF9}{\leqqslant }{\mathrel}{double-line slanted less-than or equal to}%
+\UnicodeMathSymbol{"02AFA}{\geqqslant }{\mathrel}{double-line slanted greater-than or equal to}%
+\UnicodeMathSymbol{"02AFB}{\trslash }{\mathbin}{triple solidus binary relation}%
+\UnicodeMathSymbol{"02AFC}{\biginterleave }{\mathop}{large triple vertical bar operator}%
+\UnicodeMathSymbol{"02AFD}{\sslash }{\mathbin}{double solidus operator}%
+\UnicodeMathSymbol{"02AFE}{\talloblong }{\mathbin}{white vertical bar}%
+\UnicodeMathSymbol{"02AFF}{\bigtalloblong }{\mathop}{n-ary white vertical bar}%
+\UnicodeMathSymbol{"02B12}{\squaretopblack }{\mathord}{square with top half black}%
+\UnicodeMathSymbol{"02B13}{\squarebotblack }{\mathord}{square with bottom half black}%
+\UnicodeMathSymbol{"02B14}{\squareurblack }{\mathord}{square with upper right diagonal half black}%
+\UnicodeMathSymbol{"02B15}{\squarellblack }{\mathord}{square with lower left diagonal half black}%
+\UnicodeMathSymbol{"02B16}{\diamondleftblack }{\mathord}{diamond with left half black}%
+\UnicodeMathSymbol{"02B17}{\diamondrightblack }{\mathord}{diamond with right half black}%
+\UnicodeMathSymbol{"02B18}{\diamondtopblack }{\mathord}{diamond with top half black}%
+\UnicodeMathSymbol{"02B19}{\diamondbotblack }{\mathord}{diamond with bottom half black}%
+\UnicodeMathSymbol{"02B1A}{\dottedsquare }{\mathord}{dotted square}%
+\UnicodeMathSymbol{"02B1B}{\lgblksquare }{\mathord}{black large square}%
+\UnicodeMathSymbol{"02B1C}{\lgwhtsquare }{\mathord}{white large square}%
+\UnicodeMathSymbol{"02B1D}{\vysmblksquare }{\mathord}{black very small square}%
+\UnicodeMathSymbol{"02B1E}{\vysmwhtsquare }{\mathord}{white very small square}%
+\UnicodeMathSymbol{"02B1F}{\pentagonblack }{\mathord}{black pentagon}%
+\UnicodeMathSymbol{"02B20}{\pentagon }{\mathord}{white pentagon}%
+\UnicodeMathSymbol{"02B21}{\varhexagon }{\mathord}{white hexagon}%
+\UnicodeMathSymbol{"02B22}{\varhexagonblack }{\mathord}{black hexagon}%
+\UnicodeMathSymbol{"02B23}{\hexagonblack }{\mathord}{horizontal black hexagon}%
+\UnicodeMathSymbol{"02B24}{\lgblkcircle }{\mathord}{black large circle}%
+\UnicodeMathSymbol{"02B25}{\mdblkdiamond }{\mathord}{black medium diamond}%
+\UnicodeMathSymbol{"02B26}{\mdwhtdiamond }{\mathord}{white medium diamond}%
+\UnicodeMathSymbol{"02B27}{\mdblklozenge }{\mathord}{black medium lozenge}%
+\UnicodeMathSymbol{"02B28}{\mdwhtlozenge }{\mathord}{white medium lozenge}%
+\UnicodeMathSymbol{"02B29}{\smblkdiamond }{\mathord}{black small diamond}%
+\UnicodeMathSymbol{"02B2A}{\smblklozenge }{\mathord}{black small lozenge}%
+\UnicodeMathSymbol{"02B2B}{\smwhtlozenge }{\mathord}{white small lozenge}%
+\UnicodeMathSymbol{"02B2C}{\blkhorzoval }{\mathord}{black horizontal ellipse}%
+\UnicodeMathSymbol{"02B2D}{\whthorzoval }{\mathord}{white horizontal ellipse}%
+\UnicodeMathSymbol{"02B2E}{\blkvertoval }{\mathord}{black vertical ellipse}%
+\UnicodeMathSymbol{"02B2F}{\whtvertoval }{\mathord}{white vertical ellipse}%
+\UnicodeMathSymbol{"02B30}{\circleonleftarrow }{\mathrel}{left arrow with small circle}%
+\UnicodeMathSymbol{"02B31}{\leftthreearrows }{\mathrel}{three leftwards arrows}%
+\UnicodeMathSymbol{"02B32}{\leftarrowonoplus }{\mathrel}{left arrow with circled plus}%
+\UnicodeMathSymbol{"02B33}{\longleftsquigarrow }{\mathrel}{long leftwards squiggle arrow}%
+\UnicodeMathSymbol{"02B34}{\nvtwoheadleftarrow }{\mathrel}{leftwards two-headed arrow with vertical stroke}%
+\UnicodeMathSymbol{"02B35}{\nVtwoheadleftarrow }{\mathrel}{leftwards two-headed arrow with double vertical stroke}%
+\UnicodeMathSymbol{"02B36}{\twoheadmapsfrom }{\mathrel}{leftwards two-headed arrow from bar}%
+\UnicodeMathSymbol{"02B37}{\twoheadleftdbkarrow }{\mathrel}{leftwards two-headed triple-dash arrow}%
+\UnicodeMathSymbol{"02B38}{\leftdotarrow }{\mathrel}{leftwards arrow with dotted stem}%
+\UnicodeMathSymbol{"02B39}{\nvleftarrowtail }{\mathrel}{leftwards arrow with tail with vertical stroke}%
+\UnicodeMathSymbol{"02B3A}{\nVleftarrowtail }{\mathrel}{leftwards arrow with tail with double vertical stroke}%
+\UnicodeMathSymbol{"02B3B}{\twoheadleftarrowtail }{\mathrel}{leftwards two-headed arrow with tail}%
+\UnicodeMathSymbol{"02B3C}{\nvtwoheadleftarrowtail }{\mathrel}{leftwards two-headed arrow with tail with vertical stroke}%
+\UnicodeMathSymbol{"02B3D}{\nVtwoheadleftarrowtail }{\mathrel}{leftwards two-headed arrow with tail with double vertical stroke}%
+\UnicodeMathSymbol{"02B3E}{\leftarrowx }{\mathrel}{leftwards arrow through x}%
+\UnicodeMathSymbol{"02B3F}{\leftcurvedarrow }{\mathrel}{wave arrow pointing directly left}%
+\UnicodeMathSymbol{"02B40}{\equalleftarrow }{\mathrel}{equals sign above leftwards arrow}%
+\UnicodeMathSymbol{"02B41}{\bsimilarleftarrow }{\mathrel}{reverse tilde operator above leftwards arrow}%
+\UnicodeMathSymbol{"02B42}{\leftarrowbackapprox }{\mathrel}{leftwards arrow above reverse almost equal to}%
+\UnicodeMathSymbol{"02B43}{\rightarrowgtr }{\mathrel}{rightwards arrow through greater-than}%
+\UnicodeMathSymbol{"02B44}{\rightarrowsupset }{\mathrel}{rightwards arrow through subset}%
+\UnicodeMathSymbol{"02B45}{\LLeftarrow }{\mathrel}{leftwards quadruple arrow}%
+\UnicodeMathSymbol{"02B46}{\RRightarrow }{\mathrel}{rightwards quadruple arrow}%
+\UnicodeMathSymbol{"02B47}{\bsimilarrightarrow }{\mathrel}{reverse tilde operator above rightwards arrow}%
+\UnicodeMathSymbol{"02B48}{\rightarrowbackapprox }{\mathrel}{rightwards arrow above reverse almost equal to}%
+\UnicodeMathSymbol{"02B49}{\similarleftarrow }{\mathrel}{tilde operator above leftwards arrow}%
+\UnicodeMathSymbol{"02B4A}{\leftarrowapprox }{\mathrel}{leftwards arrow above almost equal to}%
+\UnicodeMathSymbol{"02B4B}{\leftarrowbsimilar }{\mathrel}{leftwards arrow above reverse tilde operator}%
+\UnicodeMathSymbol{"02B4C}{\rightarrowbsimilar }{\mathrel}{righttwards arrow above reverse tilde operator}%
+\UnicodeMathSymbol{"02B50}{\medwhitestar }{\mathord}{white medium star}%
+\UnicodeMathSymbol{"02B51}{\medblackstar }{\mathord}{black medium star}%
+\UnicodeMathSymbol{"02B52}{\smwhitestar }{\mathord}{white small star}%
+\UnicodeMathSymbol{"02B53}{\rightpentagonblack }{\mathord}{black right-pointing pentagon}%
+\UnicodeMathSymbol{"02B54}{\rightpentagon }{\mathord}{white right-pointing pentagon}%
+\UnicodeMathSymbol{"03012}{\postalmark }{\mathord}{postal mark}%
+\UnicodeMathSymbol{"03030}{\hzigzag }{\mathord}{zigzag}%
+\UnicodeMathSymbol{"1D400}{\mbfA }{\mathalpha}{mathematical bold capital a}%
+\UnicodeMathSymbol{"1D401}{\mbfB }{\mathalpha}{mathematical bold capital b}%
+\UnicodeMathSymbol{"1D402}{\mbfC }{\mathalpha}{mathematical bold capital c}%
+\UnicodeMathSymbol{"1D403}{\mbfD }{\mathalpha}{mathematical bold capital d}%
+\UnicodeMathSymbol{"1D404}{\mbfE }{\mathalpha}{mathematical bold capital e}%
+\UnicodeMathSymbol{"1D405}{\mbfF }{\mathalpha}{mathematical bold capital f}%
+\UnicodeMathSymbol{"1D406}{\mbfG }{\mathalpha}{mathematical bold capital g}%
+\UnicodeMathSymbol{"1D407}{\mbfH }{\mathalpha}{mathematical bold capital h}%
+\UnicodeMathSymbol{"1D408}{\mbfI }{\mathalpha}{mathematical bold capital i}%
+\UnicodeMathSymbol{"1D409}{\mbfJ }{\mathalpha}{mathematical bold capital j}%
+\UnicodeMathSymbol{"1D40A}{\mbfK }{\mathalpha}{mathematical bold capital k}%
+\UnicodeMathSymbol{"1D40B}{\mbfL }{\mathalpha}{mathematical bold capital l}%
+\UnicodeMathSymbol{"1D40C}{\mbfM }{\mathalpha}{mathematical bold capital m}%
+\UnicodeMathSymbol{"1D40D}{\mbfN }{\mathalpha}{mathematical bold capital n}%
+\UnicodeMathSymbol{"1D40E}{\mbfO }{\mathalpha}{mathematical bold capital o}%
+\UnicodeMathSymbol{"1D40F}{\mbfP }{\mathalpha}{mathematical bold capital p}%
+\UnicodeMathSymbol{"1D410}{\mbfQ }{\mathalpha}{mathematical bold capital q}%
+\UnicodeMathSymbol{"1D411}{\mbfR }{\mathalpha}{mathematical bold capital r}%
+\UnicodeMathSymbol{"1D412}{\mbfS }{\mathalpha}{mathematical bold capital s}%
+\UnicodeMathSymbol{"1D413}{\mbfT }{\mathalpha}{mathematical bold capital t}%
+\UnicodeMathSymbol{"1D414}{\mbfU }{\mathalpha}{mathematical bold capital u}%
+\UnicodeMathSymbol{"1D415}{\mbfV }{\mathalpha}{mathematical bold capital v}%
+\UnicodeMathSymbol{"1D416}{\mbfW }{\mathalpha}{mathematical bold capital w}%
+\UnicodeMathSymbol{"1D417}{\mbfX }{\mathalpha}{mathematical bold capital x}%
+\UnicodeMathSymbol{"1D418}{\mbfY }{\mathalpha}{mathematical bold capital y}%
+\UnicodeMathSymbol{"1D419}{\mbfZ }{\mathalpha}{mathematical bold capital z}%
+\UnicodeMathSymbol{"1D41A}{\mbfa }{\mathalpha}{mathematical bold small a}%
+\UnicodeMathSymbol{"1D41B}{\mbfb }{\mathalpha}{mathematical bold small b}%
+\UnicodeMathSymbol{"1D41C}{\mbfc }{\mathalpha}{mathematical bold small c}%
+\UnicodeMathSymbol{"1D41D}{\mbfd }{\mathalpha}{mathematical bold small d}%
+\UnicodeMathSymbol{"1D41E}{\mbfe }{\mathalpha}{mathematical bold small e}%
+\UnicodeMathSymbol{"1D41F}{\mbff }{\mathalpha}{mathematical bold small f}%
+\UnicodeMathSymbol{"1D420}{\mbfg }{\mathalpha}{mathematical bold small g}%
+\UnicodeMathSymbol{"1D421}{\mbfh }{\mathalpha}{mathematical bold small h}%
+\UnicodeMathSymbol{"1D422}{\mbfi }{\mathalpha}{mathematical bold small i}%
+\UnicodeMathSymbol{"1D423}{\mbfj }{\mathalpha}{mathematical bold small j}%
+\UnicodeMathSymbol{"1D424}{\mbfk }{\mathalpha}{mathematical bold small k}%
+\UnicodeMathSymbol{"1D425}{\mbfl }{\mathalpha}{mathematical bold small l}%
+\UnicodeMathSymbol{"1D426}{\mbfm }{\mathalpha}{mathematical bold small m}%
+\UnicodeMathSymbol{"1D427}{\mbfn }{\mathalpha}{mathematical bold small n}%
+\UnicodeMathSymbol{"1D428}{\mbfo }{\mathalpha}{mathematical bold small o}%
+\UnicodeMathSymbol{"1D429}{\mbfp }{\mathalpha}{mathematical bold small p}%
+\UnicodeMathSymbol{"1D42A}{\mbfq }{\mathalpha}{mathematical bold small q}%
+\UnicodeMathSymbol{"1D42B}{\mbfr }{\mathalpha}{mathematical bold small r}%
+\UnicodeMathSymbol{"1D42C}{\mbfs }{\mathalpha}{mathematical bold small s}%
+\UnicodeMathSymbol{"1D42D}{\mbft }{\mathalpha}{mathematical bold small t}%
+\UnicodeMathSymbol{"1D42E}{\mbfu }{\mathalpha}{mathematical bold small u}%
+\UnicodeMathSymbol{"1D42F}{\mbfv }{\mathalpha}{mathematical bold small v}%
+\UnicodeMathSymbol{"1D430}{\mbfw }{\mathalpha}{mathematical bold small w}%
+\UnicodeMathSymbol{"1D431}{\mbfx }{\mathalpha}{mathematical bold small x}%
+\UnicodeMathSymbol{"1D432}{\mbfy }{\mathalpha}{mathematical bold small y}%
+\UnicodeMathSymbol{"1D433}{\mbfz }{\mathalpha}{mathematical bold small z}%
+\UnicodeMathSymbol{"1D434}{\mitA }{\mathalpha}{mathematical italic capital a}%
+\UnicodeMathSymbol{"1D435}{\mitB }{\mathalpha}{mathematical italic capital b}%
+\UnicodeMathSymbol{"1D436}{\mitC }{\mathalpha}{mathematical italic capital c}%
+\UnicodeMathSymbol{"1D437}{\mitD }{\mathalpha}{mathematical italic capital d}%
+\UnicodeMathSymbol{"1D438}{\mitE }{\mathalpha}{mathematical italic capital e}%
+\UnicodeMathSymbol{"1D439}{\mitF }{\mathalpha}{mathematical italic capital f}%
+\UnicodeMathSymbol{"1D43A}{\mitG }{\mathalpha}{mathematical italic capital g}%
+\UnicodeMathSymbol{"1D43B}{\mitH }{\mathalpha}{mathematical italic capital h}%
+\UnicodeMathSymbol{"1D43C}{\mitI }{\mathalpha}{mathematical italic capital i}%
+\UnicodeMathSymbol{"1D43D}{\mitJ }{\mathalpha}{mathematical italic capital j}%
+\UnicodeMathSymbol{"1D43E}{\mitK }{\mathalpha}{mathematical italic capital k}%
+\UnicodeMathSymbol{"1D43F}{\mitL }{\mathalpha}{mathematical italic capital l}%
+\UnicodeMathSymbol{"1D440}{\mitM }{\mathalpha}{mathematical italic capital m}%
+\UnicodeMathSymbol{"1D441}{\mitN }{\mathalpha}{mathematical italic capital n}%
+\UnicodeMathSymbol{"1D442}{\mitO }{\mathalpha}{mathematical italic capital o}%
+\UnicodeMathSymbol{"1D443}{\mitP }{\mathalpha}{mathematical italic capital p}%
+\UnicodeMathSymbol{"1D444}{\mitQ }{\mathalpha}{mathematical italic capital q}%
+\UnicodeMathSymbol{"1D445}{\mitR }{\mathalpha}{mathematical italic capital r}%
+\UnicodeMathSymbol{"1D446}{\mitS }{\mathalpha}{mathematical italic capital s}%
+\UnicodeMathSymbol{"1D447}{\mitT }{\mathalpha}{mathematical italic capital t}%
+\UnicodeMathSymbol{"1D448}{\mitU }{\mathalpha}{mathematical italic capital u}%
+\UnicodeMathSymbol{"1D449}{\mitV }{\mathalpha}{mathematical italic capital v}%
+\UnicodeMathSymbol{"1D44A}{\mitW }{\mathalpha}{mathematical italic capital w}%
+\UnicodeMathSymbol{"1D44B}{\mitX }{\mathalpha}{mathematical italic capital x}%
+\UnicodeMathSymbol{"1D44C}{\mitY }{\mathalpha}{mathematical italic capital y}%
+\UnicodeMathSymbol{"1D44D}{\mitZ }{\mathalpha}{mathematical italic capital z}%
+\UnicodeMathSymbol{"1D44E}{\mita }{\mathalpha}{mathematical italic small a}%
+\UnicodeMathSymbol{"1D44F}{\mitb }{\mathalpha}{mathematical italic small b}%
+\UnicodeMathSymbol{"1D450}{\mitc }{\mathalpha}{mathematical italic small c}%
+\UnicodeMathSymbol{"1D451}{\mitd }{\mathalpha}{mathematical italic small d}%
+\UnicodeMathSymbol{"1D452}{\mite }{\mathalpha}{mathematical italic small e}%
+\UnicodeMathSymbol{"1D453}{\mitf }{\mathalpha}{mathematical italic small f}%
+\UnicodeMathSymbol{"1D454}{\mitg }{\mathalpha}{mathematical italic small g}%
+\UnicodeMathSymbol{"1D456}{\miti }{\mathalpha}{mathematical italic small i}%
+\UnicodeMathSymbol{"1D457}{\mitj }{\mathalpha}{mathematical italic small j}%
+\UnicodeMathSymbol{"1D458}{\mitk }{\mathalpha}{mathematical italic small k}%
+\UnicodeMathSymbol{"1D459}{\mitl }{\mathalpha}{mathematical italic small l}%
+\UnicodeMathSymbol{"1D45A}{\mitm }{\mathalpha}{mathematical italic small m}%
+\UnicodeMathSymbol{"1D45B}{\mitn }{\mathalpha}{mathematical italic small n}%
+\UnicodeMathSymbol{"1D45C}{\mito }{\mathalpha}{mathematical italic small o}%
+\UnicodeMathSymbol{"1D45D}{\mitp }{\mathalpha}{mathematical italic small p}%
+\UnicodeMathSymbol{"1D45E}{\mitq }{\mathalpha}{mathematical italic small q}%
+\UnicodeMathSymbol{"1D45F}{\mitr }{\mathalpha}{mathematical italic small r}%
+\UnicodeMathSymbol{"1D460}{\mits }{\mathalpha}{mathematical italic small s}%
+\UnicodeMathSymbol{"1D461}{\mitt }{\mathalpha}{mathematical italic small t}%
+\UnicodeMathSymbol{"1D462}{\mitu }{\mathalpha}{mathematical italic small u}%
+\UnicodeMathSymbol{"1D463}{\mitv }{\mathalpha}{mathematical italic small v}%
+\UnicodeMathSymbol{"1D464}{\mitw }{\mathalpha}{mathematical italic small w}%
+\UnicodeMathSymbol{"1D465}{\mitx }{\mathalpha}{mathematical italic small x}%
+\UnicodeMathSymbol{"1D466}{\mity }{\mathalpha}{mathematical italic small y}%
+\UnicodeMathSymbol{"1D467}{\mitz }{\mathalpha}{mathematical italic small z}%
+\UnicodeMathSymbol{"1D468}{\mbfitA }{\mathalpha}{mathematical bold italic capital a}%
+\UnicodeMathSymbol{"1D469}{\mbfitB }{\mathalpha}{mathematical bold italic capital b}%
+\UnicodeMathSymbol{"1D46A}{\mbfitC }{\mathalpha}{mathematical bold italic capital c}%
+\UnicodeMathSymbol{"1D46B}{\mbfitD }{\mathalpha}{mathematical bold italic capital d}%
+\UnicodeMathSymbol{"1D46C}{\mbfitE }{\mathalpha}{mathematical bold italic capital e}%
+\UnicodeMathSymbol{"1D46D}{\mbfitF }{\mathalpha}{mathematical bold italic capital f}%
+\UnicodeMathSymbol{"1D46E}{\mbfitG }{\mathalpha}{mathematical bold italic capital g}%
+\UnicodeMathSymbol{"1D46F}{\mbfitH }{\mathalpha}{mathematical bold italic capital h}%
+\UnicodeMathSymbol{"1D470}{\mbfitI }{\mathalpha}{mathematical bold italic capital i}%
+\UnicodeMathSymbol{"1D471}{\mbfitJ }{\mathalpha}{mathematical bold italic capital j}%
+\UnicodeMathSymbol{"1D472}{\mbfitK }{\mathalpha}{mathematical bold italic capital k}%
+\UnicodeMathSymbol{"1D473}{\mbfitL }{\mathalpha}{mathematical bold italic capital l}%
+\UnicodeMathSymbol{"1D474}{\mbfitM }{\mathalpha}{mathematical bold italic capital m}%
+\UnicodeMathSymbol{"1D475}{\mbfitN }{\mathalpha}{mathematical bold italic capital n}%
+\UnicodeMathSymbol{"1D476}{\mbfitO }{\mathalpha}{mathematical bold italic capital o}%
+\UnicodeMathSymbol{"1D477}{\mbfitP }{\mathalpha}{mathematical bold italic capital p}%
+\UnicodeMathSymbol{"1D478}{\mbfitQ }{\mathalpha}{mathematical bold italic capital q}%
+\UnicodeMathSymbol{"1D479}{\mbfitR }{\mathalpha}{mathematical bold italic capital r}%
+\UnicodeMathSymbol{"1D47A}{\mbfitS }{\mathalpha}{mathematical bold italic capital s}%
+\UnicodeMathSymbol{"1D47B}{\mbfitT }{\mathalpha}{mathematical bold italic capital t}%
+\UnicodeMathSymbol{"1D47C}{\mbfitU }{\mathalpha}{mathematical bold italic capital u}%
+\UnicodeMathSymbol{"1D47D}{\mbfitV }{\mathalpha}{mathematical bold italic capital v}%
+\UnicodeMathSymbol{"1D47E}{\mbfitW }{\mathalpha}{mathematical bold italic capital w}%
+\UnicodeMathSymbol{"1D47F}{\mbfitX }{\mathalpha}{mathematical bold italic capital x}%
+\UnicodeMathSymbol{"1D480}{\mbfitY }{\mathalpha}{mathematical bold italic capital y}%
+\UnicodeMathSymbol{"1D481}{\mbfitZ }{\mathalpha}{mathematical bold italic capital z}%
+\UnicodeMathSymbol{"1D482}{\mbfita }{\mathalpha}{mathematical bold italic small a}%
+\UnicodeMathSymbol{"1D483}{\mbfitb }{\mathalpha}{mathematical bold italic small b}%
+\UnicodeMathSymbol{"1D484}{\mbfitc }{\mathalpha}{mathematical bold italic small c}%
+\UnicodeMathSymbol{"1D485}{\mbfitd }{\mathalpha}{mathematical bold italic small d}%
+\UnicodeMathSymbol{"1D486}{\mbfite }{\mathalpha}{mathematical bold italic small e}%
+\UnicodeMathSymbol{"1D487}{\mbfitf }{\mathalpha}{mathematical bold italic small f}%
+\UnicodeMathSymbol{"1D488}{\mbfitg }{\mathalpha}{mathematical bold italic small g}%
+\UnicodeMathSymbol{"1D489}{\mbfith }{\mathalpha}{mathematical bold italic small h}%
+\UnicodeMathSymbol{"1D48A}{\mbfiti }{\mathalpha}{mathematical bold italic small i}%
+\UnicodeMathSymbol{"1D48B}{\mbfitj }{\mathalpha}{mathematical bold italic small j}%
+\UnicodeMathSymbol{"1D48C}{\mbfitk }{\mathalpha}{mathematical bold italic small k}%
+\UnicodeMathSymbol{"1D48D}{\mbfitl }{\mathalpha}{mathematical bold italic small l}%
+\UnicodeMathSymbol{"1D48E}{\mbfitm }{\mathalpha}{mathematical bold italic small m}%
+\UnicodeMathSymbol{"1D48F}{\mbfitn }{\mathalpha}{mathematical bold italic small n}%
+\UnicodeMathSymbol{"1D490}{\mbfito }{\mathalpha}{mathematical bold italic small o}%
+\UnicodeMathSymbol{"1D491}{\mbfitp }{\mathalpha}{mathematical bold italic small p}%
+\UnicodeMathSymbol{"1D492}{\mbfitq }{\mathalpha}{mathematical bold italic small q}%
+\UnicodeMathSymbol{"1D493}{\mbfitr }{\mathalpha}{mathematical bold italic small r}%
+\UnicodeMathSymbol{"1D494}{\mbfits }{\mathalpha}{mathematical bold italic small s}%
+\UnicodeMathSymbol{"1D495}{\mbfitt }{\mathalpha}{mathematical bold italic small t}%
+\UnicodeMathSymbol{"1D496}{\mbfitu }{\mathalpha}{mathematical bold italic small u}%
+\UnicodeMathSymbol{"1D497}{\mbfitv }{\mathalpha}{mathematical bold italic small v}%
+\UnicodeMathSymbol{"1D498}{\mbfitw }{\mathalpha}{mathematical bold italic small w}%
+\UnicodeMathSymbol{"1D499}{\mbfitx }{\mathalpha}{mathematical bold italic small x}%
+\UnicodeMathSymbol{"1D49A}{\mbfity }{\mathalpha}{mathematical bold italic small y}%
+\UnicodeMathSymbol{"1D49B}{\mbfitz }{\mathalpha}{mathematical bold italic small z}%
+\UnicodeMathSymbol{"1D49C}{\mscrA }{\mathalpha}{mathematical script capital a}%
+\UnicodeMathSymbol{"1D49E}{\mscrC }{\mathalpha}{mathematical script capital c}%
+\UnicodeMathSymbol{"1D49F}{\mscrD }{\mathalpha}{mathematical script capital d}%
+\UnicodeMathSymbol{"1D4A2}{\mscrG }{\mathalpha}{mathematical script capital g}%
+\UnicodeMathSymbol{"1D4A5}{\mscrJ }{\mathalpha}{mathematical script capital j}%
+\UnicodeMathSymbol{"1D4A6}{\mscrK }{\mathalpha}{mathematical script capital k}%
+\UnicodeMathSymbol{"1D4A9}{\mscrN }{\mathalpha}{mathematical script capital n}%
+\UnicodeMathSymbol{"1D4AA}{\mscrO }{\mathalpha}{mathematical script capital o}%
+\UnicodeMathSymbol{"1D4AB}{\mscrP }{\mathalpha}{mathematical script capital p}%
+\UnicodeMathSymbol{"1D4AC}{\mscrQ }{\mathalpha}{mathematical script capital q}%
+\UnicodeMathSymbol{"1D4AE}{\mscrS }{\mathalpha}{mathematical script capital s}%
+\UnicodeMathSymbol{"1D4AF}{\mscrT }{\mathalpha}{mathematical script capital t}%
+\UnicodeMathSymbol{"1D4B0}{\mscrU }{\mathalpha}{mathematical script capital u}%
+\UnicodeMathSymbol{"1D4B1}{\mscrV }{\mathalpha}{mathematical script capital v}%
+\UnicodeMathSymbol{"1D4B2}{\mscrW }{\mathalpha}{mathematical script capital w}%
+\UnicodeMathSymbol{"1D4B3}{\mscrX }{\mathalpha}{mathematical script capital x}%
+\UnicodeMathSymbol{"1D4B4}{\mscrY }{\mathalpha}{mathematical script capital y}%
+\UnicodeMathSymbol{"1D4B5}{\mscrZ }{\mathalpha}{mathematical script capital z}%
+\UnicodeMathSymbol{"1D4B6}{\mscra }{\mathalpha}{mathematical script small a}%
+\UnicodeMathSymbol{"1D4B7}{\mscrb }{\mathalpha}{mathematical script small b}%
+\UnicodeMathSymbol{"1D4B8}{\mscrc }{\mathalpha}{mathematical script small c}%
+\UnicodeMathSymbol{"1D4B9}{\mscrd }{\mathalpha}{mathematical script small d}%
+\UnicodeMathSymbol{"1D4BB}{\mscrf }{\mathalpha}{mathematical script small f}%
+\UnicodeMathSymbol{"1D4BD}{\mscrh }{\mathalpha}{mathematical script small h}%
+\UnicodeMathSymbol{"1D4BE}{\mscri }{\mathalpha}{mathematical script small i}%
+\UnicodeMathSymbol{"1D4BF}{\mscrj }{\mathalpha}{mathematical script small j}%
+\UnicodeMathSymbol{"1D4C0}{\mscrk }{\mathalpha}{mathematical script small k}%
+\UnicodeMathSymbol{"1D4C1}{\mscrl }{\mathalpha}{mathematical script small l}%
+\UnicodeMathSymbol{"1D4C2}{\mscrm }{\mathalpha}{mathematical script small m}%
+\UnicodeMathSymbol{"1D4C3}{\mscrn }{\mathalpha}{mathematical script small n}%
+\UnicodeMathSymbol{"1D4C5}{\mscrp }{\mathalpha}{mathematical script small p}%
+\UnicodeMathSymbol{"1D4C6}{\mscrq }{\mathalpha}{mathematical script small q}%
+\UnicodeMathSymbol{"1D4C7}{\mscrr }{\mathalpha}{mathematical script small r}%
+\UnicodeMathSymbol{"1D4C8}{\mscrs }{\mathalpha}{mathematical script small s}%
+\UnicodeMathSymbol{"1D4C9}{\mscrt }{\mathalpha}{mathematical script small t}%
+\UnicodeMathSymbol{"1D4CA}{\mscru }{\mathalpha}{mathematical script small u}%
+\UnicodeMathSymbol{"1D4CB}{\mscrv }{\mathalpha}{mathematical script small v}%
+\UnicodeMathSymbol{"1D4CC}{\mscrw }{\mathalpha}{mathematical script small w}%
+\UnicodeMathSymbol{"1D4CD}{\mscrx }{\mathalpha}{mathematical script small x}%
+\UnicodeMathSymbol{"1D4CE}{\mscry }{\mathalpha}{mathematical script small y}%
+\UnicodeMathSymbol{"1D4CF}{\mscrz }{\mathalpha}{mathematical script small z}%
+\UnicodeMathSymbol{"1D4D0}{\mbfscrA }{\mathalpha}{mathematical bold script capital a}%
+\UnicodeMathSymbol{"1D4D1}{\mbfscrB }{\mathalpha}{mathematical bold script capital b}%
+\UnicodeMathSymbol{"1D4D2}{\mbfscrC }{\mathalpha}{mathematical bold script capital c}%
+\UnicodeMathSymbol{"1D4D3}{\mbfscrD }{\mathalpha}{mathematical bold script capital d}%
+\UnicodeMathSymbol{"1D4D4}{\mbfscrE }{\mathalpha}{mathematical bold script capital e}%
+\UnicodeMathSymbol{"1D4D5}{\mbfscrF }{\mathalpha}{mathematical bold script capital f}%
+\UnicodeMathSymbol{"1D4D6}{\mbfscrG }{\mathalpha}{mathematical bold script capital g}%
+\UnicodeMathSymbol{"1D4D7}{\mbfscrH }{\mathalpha}{mathematical bold script capital h}%
+\UnicodeMathSymbol{"1D4D8}{\mbfscrI }{\mathalpha}{mathematical bold script capital i}%
+\UnicodeMathSymbol{"1D4D9}{\mbfscrJ }{\mathalpha}{mathematical bold script capital j}%
+\UnicodeMathSymbol{"1D4DA}{\mbfscrK }{\mathalpha}{mathematical bold script capital k}%
+\UnicodeMathSymbol{"1D4DB}{\mbfscrL }{\mathalpha}{mathematical bold script capital l}%
+\UnicodeMathSymbol{"1D4DC}{\mbfscrM }{\mathalpha}{mathematical bold script capital m}%
+\UnicodeMathSymbol{"1D4DD}{\mbfscrN }{\mathalpha}{mathematical bold script capital n}%
+\UnicodeMathSymbol{"1D4DE}{\mbfscrO }{\mathalpha}{mathematical bold script capital o}%
+\UnicodeMathSymbol{"1D4DF}{\mbfscrP }{\mathalpha}{mathematical bold script capital p}%
+\UnicodeMathSymbol{"1D4E0}{\mbfscrQ }{\mathalpha}{mathematical bold script capital q}%
+\UnicodeMathSymbol{"1D4E1}{\mbfscrR }{\mathalpha}{mathematical bold script capital r}%
+\UnicodeMathSymbol{"1D4E2}{\mbfscrS }{\mathalpha}{mathematical bold script capital s}%
+\UnicodeMathSymbol{"1D4E3}{\mbfscrT }{\mathalpha}{mathematical bold script capital t}%
+\UnicodeMathSymbol{"1D4E4}{\mbfscrU }{\mathalpha}{mathematical bold script capital u}%
+\UnicodeMathSymbol{"1D4E5}{\mbfscrV }{\mathalpha}{mathematical bold script capital v}%
+\UnicodeMathSymbol{"1D4E6}{\mbfscrW }{\mathalpha}{mathematical bold script capital w}%
+\UnicodeMathSymbol{"1D4E7}{\mbfscrX }{\mathalpha}{mathematical bold script capital x}%
+\UnicodeMathSymbol{"1D4E8}{\mbfscrY }{\mathalpha}{mathematical bold script capital y}%
+\UnicodeMathSymbol{"1D4E9}{\mbfscrZ }{\mathalpha}{mathematical bold script capital z}%
+\UnicodeMathSymbol{"1D4EA}{\mbfscra }{\mathalpha}{mathematical bold script small a}%
+\UnicodeMathSymbol{"1D4EB}{\mbfscrb }{\mathalpha}{mathematical bold script small b}%
+\UnicodeMathSymbol{"1D4EC}{\mbfscrc }{\mathalpha}{mathematical bold script small c}%
+\UnicodeMathSymbol{"1D4ED}{\mbfscrd }{\mathalpha}{mathematical bold script small d}%
+\UnicodeMathSymbol{"1D4EE}{\mbfscre }{\mathalpha}{mathematical bold script small e}%
+\UnicodeMathSymbol{"1D4EF}{\mbfscrf }{\mathalpha}{mathematical bold script small f}%
+\UnicodeMathSymbol{"1D4F0}{\mbfscrg }{\mathalpha}{mathematical bold script small g}%
+\UnicodeMathSymbol{"1D4F1}{\mbfscrh }{\mathalpha}{mathematical bold script small h}%
+\UnicodeMathSymbol{"1D4F2}{\mbfscri }{\mathalpha}{mathematical bold script small i}%
+\UnicodeMathSymbol{"1D4F3}{\mbfscrj }{\mathalpha}{mathematical bold script small j}%
+\UnicodeMathSymbol{"1D4F4}{\mbfscrk }{\mathalpha}{mathematical bold script small k}%
+\UnicodeMathSymbol{"1D4F5}{\mbfscrl }{\mathalpha}{mathematical bold script small l}%
+\UnicodeMathSymbol{"1D4F6}{\mbfscrm }{\mathalpha}{mathematical bold script small m}%
+\UnicodeMathSymbol{"1D4F7}{\mbfscrn }{\mathalpha}{mathematical bold script small n}%
+\UnicodeMathSymbol{"1D4F8}{\mbfscro }{\mathalpha}{mathematical bold script small o}%
+\UnicodeMathSymbol{"1D4F9}{\mbfscrp }{\mathalpha}{mathematical bold script small p}%
+\UnicodeMathSymbol{"1D4FA}{\mbfscrq }{\mathalpha}{mathematical bold script small q}%
+\UnicodeMathSymbol{"1D4FB}{\mbfscrr }{\mathalpha}{mathematical bold script small r}%
+\UnicodeMathSymbol{"1D4FC}{\mbfscrs }{\mathalpha}{mathematical bold script small s}%
+\UnicodeMathSymbol{"1D4FD}{\mbfscrt }{\mathalpha}{mathematical bold script small t}%
+\UnicodeMathSymbol{"1D4FE}{\mbfscru }{\mathalpha}{mathematical bold script small u}%
+\UnicodeMathSymbol{"1D4FF}{\mbfscrv }{\mathalpha}{mathematical bold script small v}%
+\UnicodeMathSymbol{"1D500}{\mbfscrw }{\mathalpha}{mathematical bold script small w}%
+\UnicodeMathSymbol{"1D501}{\mbfscrx }{\mathalpha}{mathematical bold script small x}%
+\UnicodeMathSymbol{"1D502}{\mbfscry }{\mathalpha}{mathematical bold script small y}%
+\UnicodeMathSymbol{"1D503}{\mbfscrz }{\mathalpha}{mathematical bold script small z}%
+\UnicodeMathSymbol{"1D504}{\mfrakA }{\mathalpha}{mathematical fraktur capital a}%
+\UnicodeMathSymbol{"1D505}{\mfrakB }{\mathalpha}{mathematical fraktur capital b}%
+\UnicodeMathSymbol{"1D507}{\mfrakD }{\mathalpha}{mathematical fraktur capital d}%
+\UnicodeMathSymbol{"1D508}{\mfrakE }{\mathalpha}{mathematical fraktur capital e}%
+\UnicodeMathSymbol{"1D509}{\mfrakF }{\mathalpha}{mathematical fraktur capital f}%
+\UnicodeMathSymbol{"1D50A}{\mfrakG }{\mathalpha}{mathematical fraktur capital g}%
+\UnicodeMathSymbol{"1D50D}{\mfrakJ }{\mathalpha}{mathematical fraktur capital j}%
+\UnicodeMathSymbol{"1D50E}{\mfrakK }{\mathalpha}{mathematical fraktur capital k}%
+\UnicodeMathSymbol{"1D50F}{\mfrakL }{\mathalpha}{mathematical fraktur capital l}%
+\UnicodeMathSymbol{"1D510}{\mfrakM }{\mathalpha}{mathematical fraktur capital m}%
+\UnicodeMathSymbol{"1D511}{\mfrakN }{\mathalpha}{mathematical fraktur capital n}%
+\UnicodeMathSymbol{"1D512}{\mfrakO }{\mathalpha}{mathematical fraktur capital o}%
+\UnicodeMathSymbol{"1D513}{\mfrakP }{\mathalpha}{mathematical fraktur capital p}%
+\UnicodeMathSymbol{"1D514}{\mfrakQ }{\mathalpha}{mathematical fraktur capital q}%
+\UnicodeMathSymbol{"1D516}{\mfrakS }{\mathalpha}{mathematical fraktur capital s}%
+\UnicodeMathSymbol{"1D517}{\mfrakT }{\mathalpha}{mathematical fraktur capital t}%
+\UnicodeMathSymbol{"1D518}{\mfrakU }{\mathalpha}{mathematical fraktur capital u}%
+\UnicodeMathSymbol{"1D519}{\mfrakV }{\mathalpha}{mathematical fraktur capital v}%
+\UnicodeMathSymbol{"1D51A}{\mfrakW }{\mathalpha}{mathematical fraktur capital w}%
+\UnicodeMathSymbol{"1D51B}{\mfrakX }{\mathalpha}{mathematical fraktur capital x}%
+\UnicodeMathSymbol{"1D51C}{\mfrakY }{\mathalpha}{mathematical fraktur capital y}%
+\UnicodeMathSymbol{"1D51E}{\mfraka }{\mathalpha}{mathematical fraktur small a}%
+\UnicodeMathSymbol{"1D51F}{\mfrakb }{\mathalpha}{mathematical fraktur small b}%
+\UnicodeMathSymbol{"1D520}{\mfrakc }{\mathalpha}{mathematical fraktur small c}%
+\UnicodeMathSymbol{"1D521}{\mfrakd }{\mathalpha}{mathematical fraktur small d}%
+\UnicodeMathSymbol{"1D522}{\mfrake }{\mathalpha}{mathematical fraktur small e}%
+\UnicodeMathSymbol{"1D523}{\mfrakf }{\mathalpha}{mathematical fraktur small f}%
+\UnicodeMathSymbol{"1D524}{\mfrakg }{\mathalpha}{mathematical fraktur small g}%
+\UnicodeMathSymbol{"1D525}{\mfrakh }{\mathalpha}{mathematical fraktur small h}%
+\UnicodeMathSymbol{"1D526}{\mfraki }{\mathalpha}{mathematical fraktur small i}%
+\UnicodeMathSymbol{"1D527}{\mfrakj }{\mathalpha}{mathematical fraktur small j}%
+\UnicodeMathSymbol{"1D528}{\mfrakk }{\mathalpha}{mathematical fraktur small k}%
+\UnicodeMathSymbol{"1D529}{\mfrakl }{\mathalpha}{mathematical fraktur small l}%
+\UnicodeMathSymbol{"1D52A}{\mfrakm }{\mathalpha}{mathematical fraktur small m}%
+\UnicodeMathSymbol{"1D52B}{\mfrakn }{\mathalpha}{mathematical fraktur small n}%
+\UnicodeMathSymbol{"1D52C}{\mfrako }{\mathalpha}{mathematical fraktur small o}%
+\UnicodeMathSymbol{"1D52D}{\mfrakp }{\mathalpha}{mathematical fraktur small p}%
+\UnicodeMathSymbol{"1D52E}{\mfrakq }{\mathalpha}{mathematical fraktur small q}%
+\UnicodeMathSymbol{"1D52F}{\mfrakr }{\mathalpha}{mathematical fraktur small r}%
+\UnicodeMathSymbol{"1D530}{\mfraks }{\mathalpha}{mathematical fraktur small s}%
+\UnicodeMathSymbol{"1D531}{\mfrakt }{\mathalpha}{mathematical fraktur small t}%
+\UnicodeMathSymbol{"1D532}{\mfraku }{\mathalpha}{mathematical fraktur small u}%
+\UnicodeMathSymbol{"1D533}{\mfrakv }{\mathalpha}{mathematical fraktur small v}%
+\UnicodeMathSymbol{"1D534}{\mfrakw }{\mathalpha}{mathematical fraktur small w}%
+\UnicodeMathSymbol{"1D535}{\mfrakx }{\mathalpha}{mathematical fraktur small x}%
+\UnicodeMathSymbol{"1D536}{\mfraky }{\mathalpha}{mathematical fraktur small y}%
+\UnicodeMathSymbol{"1D537}{\mfrakz }{\mathalpha}{mathematical fraktur small z}%
+\UnicodeMathSymbol{"1D538}{\BbbA }{\mathalpha}{mathematical double-struck capital a}%
+\UnicodeMathSymbol{"1D539}{\BbbB }{\mathalpha}{mathematical double-struck capital b}%
+\UnicodeMathSymbol{"1D53B}{\BbbD }{\mathalpha}{mathematical double-struck capital d}%
+\UnicodeMathSymbol{"1D53C}{\BbbE }{\mathalpha}{mathematical double-struck capital e}%
+\UnicodeMathSymbol{"1D53D}{\BbbF }{\mathalpha}{mathematical double-struck capital f}%
+\UnicodeMathSymbol{"1D53E}{\BbbG }{\mathalpha}{mathematical double-struck capital g}%
+\UnicodeMathSymbol{"1D540}{\BbbI }{\mathalpha}{mathematical double-struck capital i}%
+\UnicodeMathSymbol{"1D541}{\BbbJ }{\mathalpha}{mathematical double-struck capital j}%
+\UnicodeMathSymbol{"1D542}{\BbbK }{\mathalpha}{mathematical double-struck capital k}%
+\UnicodeMathSymbol{"1D543}{\BbbL }{\mathalpha}{mathematical double-struck capital l}%
+\UnicodeMathSymbol{"1D544}{\BbbM }{\mathalpha}{mathematical double-struck capital m}%
+\UnicodeMathSymbol{"1D546}{\BbbO }{\mathalpha}{mathematical double-struck capital o}%
+\UnicodeMathSymbol{"1D54A}{\BbbS }{\mathalpha}{mathematical double-struck capital s}%
+\UnicodeMathSymbol{"1D54B}{\BbbT }{\mathalpha}{mathematical double-struck capital t}%
+\UnicodeMathSymbol{"1D54C}{\BbbU }{\mathalpha}{mathematical double-struck capital u}%
+\UnicodeMathSymbol{"1D54D}{\BbbV }{\mathalpha}{mathematical double-struck capital v}%
+\UnicodeMathSymbol{"1D54E}{\BbbW }{\mathalpha}{mathematical double-struck capital w}%
+\UnicodeMathSymbol{"1D54F}{\BbbX }{\mathalpha}{mathematical double-struck capital x}%
+\UnicodeMathSymbol{"1D550}{\BbbY }{\mathalpha}{mathematical double-struck capital y}%
+\UnicodeMathSymbol{"1D552}{\Bbba }{\mathalpha}{mathematical double-struck small a}%
+\UnicodeMathSymbol{"1D553}{\Bbbb }{\mathalpha}{mathematical double-struck small b}%
+\UnicodeMathSymbol{"1D554}{\Bbbc }{\mathalpha}{mathematical double-struck small c}%
+\UnicodeMathSymbol{"1D555}{\Bbbd }{\mathalpha}{mathematical double-struck small d}%
+\UnicodeMathSymbol{"1D556}{\Bbbe }{\mathalpha}{mathematical double-struck small e}%
+\UnicodeMathSymbol{"1D557}{\Bbbf }{\mathalpha}{mathematical double-struck small f}%
+\UnicodeMathSymbol{"1D558}{\Bbbg }{\mathalpha}{mathematical double-struck small g}%
+\UnicodeMathSymbol{"1D559}{\Bbbh }{\mathalpha}{mathematical double-struck small h}%
+\UnicodeMathSymbol{"1D55A}{\Bbbi }{\mathalpha}{mathematical double-struck small i}%
+\UnicodeMathSymbol{"1D55B}{\Bbbj }{\mathalpha}{mathematical double-struck small j}%
+\UnicodeMathSymbol{"1D55C}{\Bbbk }{\mathalpha}{mathematical double-struck small k}%
+\UnicodeMathSymbol{"1D55D}{\Bbbl }{\mathalpha}{mathematical double-struck small l}%
+\UnicodeMathSymbol{"1D55E}{\Bbbm }{\mathalpha}{mathematical double-struck small m}%
+\UnicodeMathSymbol{"1D55F}{\Bbbn }{\mathalpha}{mathematical double-struck small n}%
+\UnicodeMathSymbol{"1D560}{\Bbbo }{\mathalpha}{mathematical double-struck small o}%
+\UnicodeMathSymbol{"1D561}{\Bbbp }{\mathalpha}{mathematical double-struck small p}%
+\UnicodeMathSymbol{"1D562}{\Bbbq }{\mathalpha}{mathematical double-struck small q}%
+\UnicodeMathSymbol{"1D563}{\Bbbr }{\mathalpha}{mathematical double-struck small r}%
+\UnicodeMathSymbol{"1D564}{\Bbbs }{\mathalpha}{mathematical double-struck small s}%
+\UnicodeMathSymbol{"1D565}{\Bbbt }{\mathalpha}{mathematical double-struck small t}%
+\UnicodeMathSymbol{"1D566}{\Bbbu }{\mathalpha}{mathematical double-struck small u}%
+\UnicodeMathSymbol{"1D567}{\Bbbv }{\mathalpha}{mathematical double-struck small v}%
+\UnicodeMathSymbol{"1D568}{\Bbbw }{\mathalpha}{mathematical double-struck small w}%
+\UnicodeMathSymbol{"1D569}{\Bbbx }{\mathalpha}{mathematical double-struck small x}%
+\UnicodeMathSymbol{"1D56A}{\Bbby }{\mathalpha}{mathematical double-struck small y}%
+\UnicodeMathSymbol{"1D56B}{\Bbbz }{\mathalpha}{mathematical double-struck small z}%
+\UnicodeMathSymbol{"1D56C}{\mbffrakA }{\mathalpha}{mathematical bold fraktur capital a}%
+\UnicodeMathSymbol{"1D56D}{\mbffrakB }{\mathalpha}{mathematical bold fraktur capital b}%
+\UnicodeMathSymbol{"1D56E}{\mbffrakC }{\mathalpha}{mathematical bold fraktur capital c}%
+\UnicodeMathSymbol{"1D56F}{\mbffrakD }{\mathalpha}{mathematical bold fraktur capital d}%
+\UnicodeMathSymbol{"1D570}{\mbffrakE }{\mathalpha}{mathematical bold fraktur capital e}%
+\UnicodeMathSymbol{"1D571}{\mbffrakF }{\mathalpha}{mathematical bold fraktur capital f}%
+\UnicodeMathSymbol{"1D572}{\mbffrakG }{\mathalpha}{mathematical bold fraktur capital g}%
+\UnicodeMathSymbol{"1D573}{\mbffrakH }{\mathalpha}{mathematical bold fraktur capital h}%
+\UnicodeMathSymbol{"1D574}{\mbffrakI }{\mathalpha}{mathematical bold fraktur capital i}%
+\UnicodeMathSymbol{"1D575}{\mbffrakJ }{\mathalpha}{mathematical bold fraktur capital j}%
+\UnicodeMathSymbol{"1D576}{\mbffrakK }{\mathalpha}{mathematical bold fraktur capital k}%
+\UnicodeMathSymbol{"1D577}{\mbffrakL }{\mathalpha}{mathematical bold fraktur capital l}%
+\UnicodeMathSymbol{"1D578}{\mbffrakM }{\mathalpha}{mathematical bold fraktur capital m}%
+\UnicodeMathSymbol{"1D579}{\mbffrakN }{\mathalpha}{mathematical bold fraktur capital n}%
+\UnicodeMathSymbol{"1D57A}{\mbffrakO }{\mathalpha}{mathematical bold fraktur capital o}%
+\UnicodeMathSymbol{"1D57B}{\mbffrakP }{\mathalpha}{mathematical bold fraktur capital p}%
+\UnicodeMathSymbol{"1D57C}{\mbffrakQ }{\mathalpha}{mathematical bold fraktur capital q}%
+\UnicodeMathSymbol{"1D57D}{\mbffrakR }{\mathalpha}{mathematical bold fraktur capital r}%
+\UnicodeMathSymbol{"1D57E}{\mbffrakS }{\mathalpha}{mathematical bold fraktur capital s}%
+\UnicodeMathSymbol{"1D57F}{\mbffrakT }{\mathalpha}{mathematical bold fraktur capital t}%
+\UnicodeMathSymbol{"1D580}{\mbffrakU }{\mathalpha}{mathematical bold fraktur capital u}%
+\UnicodeMathSymbol{"1D581}{\mbffrakV }{\mathalpha}{mathematical bold fraktur capital v}%
+\UnicodeMathSymbol{"1D582}{\mbffrakW }{\mathalpha}{mathematical bold fraktur capital w}%
+\UnicodeMathSymbol{"1D583}{\mbffrakX }{\mathalpha}{mathematical bold fraktur capital x}%
+\UnicodeMathSymbol{"1D584}{\mbffrakY }{\mathalpha}{mathematical bold fraktur capital y}%
+\UnicodeMathSymbol{"1D585}{\mbffrakZ }{\mathalpha}{mathematical bold fraktur capital z}%
+\UnicodeMathSymbol{"1D586}{\mbffraka }{\mathalpha}{mathematical bold fraktur small a}%
+\UnicodeMathSymbol{"1D587}{\mbffrakb }{\mathalpha}{mathematical bold fraktur small b}%
+\UnicodeMathSymbol{"1D588}{\mbffrakc }{\mathalpha}{mathematical bold fraktur small c}%
+\UnicodeMathSymbol{"1D589}{\mbffrakd }{\mathalpha}{mathematical bold fraktur small d}%
+\UnicodeMathSymbol{"1D58A}{\mbffrake }{\mathalpha}{mathematical bold fraktur small e}%
+\UnicodeMathSymbol{"1D58B}{\mbffrakf }{\mathalpha}{mathematical bold fraktur small f}%
+\UnicodeMathSymbol{"1D58C}{\mbffrakg }{\mathalpha}{mathematical bold fraktur small g}%
+\UnicodeMathSymbol{"1D58D}{\mbffrakh }{\mathalpha}{mathematical bold fraktur small h}%
+\UnicodeMathSymbol{"1D58E}{\mbffraki }{\mathalpha}{mathematical bold fraktur small i}%
+\UnicodeMathSymbol{"1D58F}{\mbffrakj }{\mathalpha}{mathematical bold fraktur small j}%
+\UnicodeMathSymbol{"1D590}{\mbffrakk }{\mathalpha}{mathematical bold fraktur small k}%
+\UnicodeMathSymbol{"1D591}{\mbffrakl }{\mathalpha}{mathematical bold fraktur small l}%
+\UnicodeMathSymbol{"1D592}{\mbffrakm }{\mathalpha}{mathematical bold fraktur small m}%
+\UnicodeMathSymbol{"1D593}{\mbffrakn }{\mathalpha}{mathematical bold fraktur small n}%
+\UnicodeMathSymbol{"1D594}{\mbffrako }{\mathalpha}{mathematical bold fraktur small o}%
+\UnicodeMathSymbol{"1D595}{\mbffrakp }{\mathalpha}{mathematical bold fraktur small p}%
+\UnicodeMathSymbol{"1D596}{\mbffrakq }{\mathalpha}{mathematical bold fraktur small q}%
+\UnicodeMathSymbol{"1D597}{\mbffrakr }{\mathalpha}{mathematical bold fraktur small r}%
+\UnicodeMathSymbol{"1D598}{\mbffraks }{\mathalpha}{mathematical bold fraktur small s}%
+\UnicodeMathSymbol{"1D599}{\mbffrakt }{\mathalpha}{mathematical bold fraktur small t}%
+\UnicodeMathSymbol{"1D59A}{\mbffraku }{\mathalpha}{mathematical bold fraktur small u}%
+\UnicodeMathSymbol{"1D59B}{\mbffrakv }{\mathalpha}{mathematical bold fraktur small v}%
+\UnicodeMathSymbol{"1D59C}{\mbffrakw }{\mathalpha}{mathematical bold fraktur small w}%
+\UnicodeMathSymbol{"1D59D}{\mbffrakx }{\mathalpha}{mathematical bold fraktur small x}%
+\UnicodeMathSymbol{"1D59E}{\mbffraky }{\mathalpha}{mathematical bold fraktur small y}%
+\UnicodeMathSymbol{"1D59F}{\mbffrakz }{\mathalpha}{mathematical bold fraktur small z}%
+\UnicodeMathSymbol{"1D5A0}{\msansA }{\mathalpha}{mathematical sans-serif capital a}%
+\UnicodeMathSymbol{"1D5A1}{\msansB }{\mathalpha}{mathematical sans-serif capital b}%
+\UnicodeMathSymbol{"1D5A2}{\msansC }{\mathalpha}{mathematical sans-serif capital c}%
+\UnicodeMathSymbol{"1D5A3}{\msansD }{\mathalpha}{mathematical sans-serif capital d}%
+\UnicodeMathSymbol{"1D5A4}{\msansE }{\mathalpha}{mathematical sans-serif capital e}%
+\UnicodeMathSymbol{"1D5A5}{\msansF }{\mathalpha}{mathematical sans-serif capital f}%
+\UnicodeMathSymbol{"1D5A6}{\msansG }{\mathalpha}{mathematical sans-serif capital g}%
+\UnicodeMathSymbol{"1D5A7}{\msansH }{\mathalpha}{mathematical sans-serif capital h}%
+\UnicodeMathSymbol{"1D5A8}{\msansI }{\mathalpha}{mathematical sans-serif capital i}%
+\UnicodeMathSymbol{"1D5A9}{\msansJ }{\mathalpha}{mathematical sans-serif capital j}%
+\UnicodeMathSymbol{"1D5AA}{\msansK }{\mathalpha}{mathematical sans-serif capital k}%
+\UnicodeMathSymbol{"1D5AB}{\msansL }{\mathalpha}{mathematical sans-serif capital l}%
+\UnicodeMathSymbol{"1D5AC}{\msansM }{\mathalpha}{mathematical sans-serif capital m}%
+\UnicodeMathSymbol{"1D5AD}{\msansN }{\mathalpha}{mathematical sans-serif capital n}%
+\UnicodeMathSymbol{"1D5AE}{\msansO }{\mathalpha}{mathematical sans-serif capital o}%
+\UnicodeMathSymbol{"1D5AF}{\msansP }{\mathalpha}{mathematical sans-serif capital p}%
+\UnicodeMathSymbol{"1D5B0}{\msansQ }{\mathalpha}{mathematical sans-serif capital q}%
+\UnicodeMathSymbol{"1D5B1}{\msansR }{\mathalpha}{mathematical sans-serif capital r}%
+\UnicodeMathSymbol{"1D5B2}{\msansS }{\mathalpha}{mathematical sans-serif capital s}%
+\UnicodeMathSymbol{"1D5B3}{\msansT }{\mathalpha}{mathematical sans-serif capital t}%
+\UnicodeMathSymbol{"1D5B4}{\msansU }{\mathalpha}{mathematical sans-serif capital u}%
+\UnicodeMathSymbol{"1D5B5}{\msansV }{\mathalpha}{mathematical sans-serif capital v}%
+\UnicodeMathSymbol{"1D5B6}{\msansW }{\mathalpha}{mathematical sans-serif capital w}%
+\UnicodeMathSymbol{"1D5B7}{\msansX }{\mathalpha}{mathematical sans-serif capital x}%
+\UnicodeMathSymbol{"1D5B8}{\msansY }{\mathalpha}{mathematical sans-serif capital y}%
+\UnicodeMathSymbol{"1D5B9}{\msansZ }{\mathalpha}{mathematical sans-serif capital z}%
+\UnicodeMathSymbol{"1D5BA}{\msansa }{\mathalpha}{mathematical sans-serif small a}%
+\UnicodeMathSymbol{"1D5BB}{\msansb }{\mathalpha}{mathematical sans-serif small b}%
+\UnicodeMathSymbol{"1D5BC}{\msansc }{\mathalpha}{mathematical sans-serif small c}%
+\UnicodeMathSymbol{"1D5BD}{\msansd }{\mathalpha}{mathematical sans-serif small d}%
+\UnicodeMathSymbol{"1D5BE}{\msanse }{\mathalpha}{mathematical sans-serif small e}%
+\UnicodeMathSymbol{"1D5BF}{\msansf }{\mathalpha}{mathematical sans-serif small f}%
+\UnicodeMathSymbol{"1D5C0}{\msansg }{\mathalpha}{mathematical sans-serif small g}%
+\UnicodeMathSymbol{"1D5C1}{\msansh }{\mathalpha}{mathematical sans-serif small h}%
+\UnicodeMathSymbol{"1D5C2}{\msansi }{\mathalpha}{mathematical sans-serif small i}%
+\UnicodeMathSymbol{"1D5C3}{\msansj }{\mathalpha}{mathematical sans-serif small j}%
+\UnicodeMathSymbol{"1D5C4}{\msansk }{\mathalpha}{mathematical sans-serif small k}%
+\UnicodeMathSymbol{"1D5C5}{\msansl }{\mathalpha}{mathematical sans-serif small l}%
+\UnicodeMathSymbol{"1D5C6}{\msansm }{\mathalpha}{mathematical sans-serif small m}%
+\UnicodeMathSymbol{"1D5C7}{\msansn }{\mathalpha}{mathematical sans-serif small n}%
+\UnicodeMathSymbol{"1D5C8}{\msanso }{\mathalpha}{mathematical sans-serif small o}%
+\UnicodeMathSymbol{"1D5C9}{\msansp }{\mathalpha}{mathematical sans-serif small p}%
+\UnicodeMathSymbol{"1D5CA}{\msansq }{\mathalpha}{mathematical sans-serif small q}%
+\UnicodeMathSymbol{"1D5CB}{\msansr }{\mathalpha}{mathematical sans-serif small r}%
+\UnicodeMathSymbol{"1D5CC}{\msanss }{\mathalpha}{mathematical sans-serif small s}%
+\UnicodeMathSymbol{"1D5CD}{\msanst }{\mathalpha}{mathematical sans-serif small t}%
+\UnicodeMathSymbol{"1D5CE}{\msansu }{\mathalpha}{mathematical sans-serif small u}%
+\UnicodeMathSymbol{"1D5CF}{\msansv }{\mathalpha}{mathematical sans-serif small v}%
+\UnicodeMathSymbol{"1D5D0}{\msansw }{\mathalpha}{mathematical sans-serif small w}%
+\UnicodeMathSymbol{"1D5D1}{\msansx }{\mathalpha}{mathematical sans-serif small x}%
+\UnicodeMathSymbol{"1D5D2}{\msansy }{\mathalpha}{mathematical sans-serif small y}%
+\UnicodeMathSymbol{"1D5D3}{\msansz }{\mathalpha}{mathematical sans-serif small z}%
+\UnicodeMathSymbol{"1D5D4}{\mbfsansA }{\mathalpha}{mathematical sans-serif bold capital a}%
+\UnicodeMathSymbol{"1D5D5}{\mbfsansB }{\mathalpha}{mathematical sans-serif bold capital b}%
+\UnicodeMathSymbol{"1D5D6}{\mbfsansC }{\mathalpha}{mathematical sans-serif bold capital c}%
+\UnicodeMathSymbol{"1D5D7}{\mbfsansD }{\mathalpha}{mathematical sans-serif bold capital d}%
+\UnicodeMathSymbol{"1D5D8}{\mbfsansE }{\mathalpha}{mathematical sans-serif bold capital e}%
+\UnicodeMathSymbol{"1D5D9}{\mbfsansF }{\mathalpha}{mathematical sans-serif bold capital f}%
+\UnicodeMathSymbol{"1D5DA}{\mbfsansG }{\mathalpha}{mathematical sans-serif bold capital g}%
+\UnicodeMathSymbol{"1D5DB}{\mbfsansH }{\mathalpha}{mathematical sans-serif bold capital h}%
+\UnicodeMathSymbol{"1D5DC}{\mbfsansI }{\mathalpha}{mathematical sans-serif bold capital i}%
+\UnicodeMathSymbol{"1D5DD}{\mbfsansJ }{\mathalpha}{mathematical sans-serif bold capital j}%
+\UnicodeMathSymbol{"1D5DE}{\mbfsansK }{\mathalpha}{mathematical sans-serif bold capital k}%
+\UnicodeMathSymbol{"1D5DF}{\mbfsansL }{\mathalpha}{mathematical sans-serif bold capital l}%
+\UnicodeMathSymbol{"1D5E0}{\mbfsansM }{\mathalpha}{mathematical sans-serif bold capital m}%
+\UnicodeMathSymbol{"1D5E1}{\mbfsansN }{\mathalpha}{mathematical sans-serif bold capital n}%
+\UnicodeMathSymbol{"1D5E2}{\mbfsansO }{\mathalpha}{mathematical sans-serif bold capital o}%
+\UnicodeMathSymbol{"1D5E3}{\mbfsansP }{\mathalpha}{mathematical sans-serif bold capital p}%
+\UnicodeMathSymbol{"1D5E4}{\mbfsansQ }{\mathalpha}{mathematical sans-serif bold capital q}%
+\UnicodeMathSymbol{"1D5E5}{\mbfsansR }{\mathalpha}{mathematical sans-serif bold capital r}%
+\UnicodeMathSymbol{"1D5E6}{\mbfsansS }{\mathalpha}{mathematical sans-serif bold capital s}%
+\UnicodeMathSymbol{"1D5E7}{\mbfsansT }{\mathalpha}{mathematical sans-serif bold capital t}%
+\UnicodeMathSymbol{"1D5E8}{\mbfsansU }{\mathalpha}{mathematical sans-serif bold capital u}%
+\UnicodeMathSymbol{"1D5E9}{\mbfsansV }{\mathalpha}{mathematical sans-serif bold capital v}%
+\UnicodeMathSymbol{"1D5EA}{\mbfsansW }{\mathalpha}{mathematical sans-serif bold capital w}%
+\UnicodeMathSymbol{"1D5EB}{\mbfsansX }{\mathalpha}{mathematical sans-serif bold capital x}%
+\UnicodeMathSymbol{"1D5EC}{\mbfsansY }{\mathalpha}{mathematical sans-serif bold capital y}%
+\UnicodeMathSymbol{"1D5ED}{\mbfsansZ }{\mathalpha}{mathematical sans-serif bold capital z}%
+\UnicodeMathSymbol{"1D5EE}{\mbfsansa }{\mathalpha}{mathematical sans-serif bold small a}%
+\UnicodeMathSymbol{"1D5EF}{\mbfsansb }{\mathalpha}{mathematical sans-serif bold small b}%
+\UnicodeMathSymbol{"1D5F0}{\mbfsansc }{\mathalpha}{mathematical sans-serif bold small c}%
+\UnicodeMathSymbol{"1D5F1}{\mbfsansd }{\mathalpha}{mathematical sans-serif bold small d}%
+\UnicodeMathSymbol{"1D5F2}{\mbfsanse }{\mathalpha}{mathematical sans-serif bold small e}%
+\UnicodeMathSymbol{"1D5F3}{\mbfsansf }{\mathalpha}{mathematical sans-serif bold small f}%
+\UnicodeMathSymbol{"1D5F4}{\mbfsansg }{\mathalpha}{mathematical sans-serif bold small g}%
+\UnicodeMathSymbol{"1D5F5}{\mbfsansh }{\mathalpha}{mathematical sans-serif bold small h}%
+\UnicodeMathSymbol{"1D5F6}{\mbfsansi }{\mathalpha}{mathematical sans-serif bold small i}%
+\UnicodeMathSymbol{"1D5F7}{\mbfsansj }{\mathalpha}{mathematical sans-serif bold small j}%
+\UnicodeMathSymbol{"1D5F8}{\mbfsansk }{\mathalpha}{mathematical sans-serif bold small k}%
+\UnicodeMathSymbol{"1D5F9}{\mbfsansl }{\mathalpha}{mathematical sans-serif bold small l}%
+\UnicodeMathSymbol{"1D5FA}{\mbfsansm }{\mathalpha}{mathematical sans-serif bold small m}%
+\UnicodeMathSymbol{"1D5FB}{\mbfsansn }{\mathalpha}{mathematical sans-serif bold small n}%
+\UnicodeMathSymbol{"1D5FC}{\mbfsanso }{\mathalpha}{mathematical sans-serif bold small o}%
+\UnicodeMathSymbol{"1D5FD}{\mbfsansp }{\mathalpha}{mathematical sans-serif bold small p}%
+\UnicodeMathSymbol{"1D5FE}{\mbfsansq }{\mathalpha}{mathematical sans-serif bold small q}%
+\UnicodeMathSymbol{"1D5FF}{\mbfsansr }{\mathalpha}{mathematical sans-serif bold small r}%
+\UnicodeMathSymbol{"1D600}{\mbfsanss }{\mathalpha}{mathematical sans-serif bold small s}%
+\UnicodeMathSymbol{"1D601}{\mbfsanst }{\mathalpha}{mathematical sans-serif bold small t}%
+\UnicodeMathSymbol{"1D602}{\mbfsansu }{\mathalpha}{mathematical sans-serif bold small u}%
+\UnicodeMathSymbol{"1D603}{\mbfsansv }{\mathalpha}{mathematical sans-serif bold small v}%
+\UnicodeMathSymbol{"1D604}{\mbfsansw }{\mathalpha}{mathematical sans-serif bold small w}%
+\UnicodeMathSymbol{"1D605}{\mbfsansx }{\mathalpha}{mathematical sans-serif bold small x}%
+\UnicodeMathSymbol{"1D606}{\mbfsansy }{\mathalpha}{mathematical sans-serif bold small y}%
+\UnicodeMathSymbol{"1D607}{\mbfsansz }{\mathalpha}{mathematical sans-serif bold small z}%
+\UnicodeMathSymbol{"1D608}{\mitsansA }{\mathalpha}{mathematical sans-serif italic capital a}%
+\UnicodeMathSymbol{"1D609}{\mitsansB }{\mathalpha}{mathematical sans-serif italic capital b}%
+\UnicodeMathSymbol{"1D60A}{\mitsansC }{\mathalpha}{mathematical sans-serif italic capital c}%
+\UnicodeMathSymbol{"1D60B}{\mitsansD }{\mathalpha}{mathematical sans-serif italic capital d}%
+\UnicodeMathSymbol{"1D60C}{\mitsansE }{\mathalpha}{mathematical sans-serif italic capital e}%
+\UnicodeMathSymbol{"1D60D}{\mitsansF }{\mathalpha}{mathematical sans-serif italic capital f}%
+\UnicodeMathSymbol{"1D60E}{\mitsansG }{\mathalpha}{mathematical sans-serif italic capital g}%
+\UnicodeMathSymbol{"1D60F}{\mitsansH }{\mathalpha}{mathematical sans-serif italic capital h}%
+\UnicodeMathSymbol{"1D610}{\mitsansI }{\mathalpha}{mathematical sans-serif italic capital i}%
+\UnicodeMathSymbol{"1D611}{\mitsansJ }{\mathalpha}{mathematical sans-serif italic capital j}%
+\UnicodeMathSymbol{"1D612}{\mitsansK }{\mathalpha}{mathematical sans-serif italic capital k}%
+\UnicodeMathSymbol{"1D613}{\mitsansL }{\mathalpha}{mathematical sans-serif italic capital l}%
+\UnicodeMathSymbol{"1D614}{\mitsansM }{\mathalpha}{mathematical sans-serif italic capital m}%
+\UnicodeMathSymbol{"1D615}{\mitsansN }{\mathalpha}{mathematical sans-serif italic capital n}%
+\UnicodeMathSymbol{"1D616}{\mitsansO }{\mathalpha}{mathematical sans-serif italic capital o}%
+\UnicodeMathSymbol{"1D617}{\mitsansP }{\mathalpha}{mathematical sans-serif italic capital p}%
+\UnicodeMathSymbol{"1D618}{\mitsansQ }{\mathalpha}{mathematical sans-serif italic capital q}%
+\UnicodeMathSymbol{"1D619}{\mitsansR }{\mathalpha}{mathematical sans-serif italic capital r}%
+\UnicodeMathSymbol{"1D61A}{\mitsansS }{\mathalpha}{mathematical sans-serif italic capital s}%
+\UnicodeMathSymbol{"1D61B}{\mitsansT }{\mathalpha}{mathematical sans-serif italic capital t}%
+\UnicodeMathSymbol{"1D61C}{\mitsansU }{\mathalpha}{mathematical sans-serif italic capital u}%
+\UnicodeMathSymbol{"1D61D}{\mitsansV }{\mathalpha}{mathematical sans-serif italic capital v}%
+\UnicodeMathSymbol{"1D61E}{\mitsansW }{\mathalpha}{mathematical sans-serif italic capital w}%
+\UnicodeMathSymbol{"1D61F}{\mitsansX }{\mathalpha}{mathematical sans-serif italic capital x}%
+\UnicodeMathSymbol{"1D620}{\mitsansY }{\mathalpha}{mathematical sans-serif italic capital y}%
+\UnicodeMathSymbol{"1D621}{\mitsansZ }{\mathalpha}{mathematical sans-serif italic capital z}%
+\UnicodeMathSymbol{"1D622}{\mitsansa }{\mathalpha}{mathematical sans-serif italic small a}%
+\UnicodeMathSymbol{"1D623}{\mitsansb }{\mathalpha}{mathematical sans-serif italic small b}%
+\UnicodeMathSymbol{"1D624}{\mitsansc }{\mathalpha}{mathematical sans-serif italic small c}%
+\UnicodeMathSymbol{"1D625}{\mitsansd }{\mathalpha}{mathematical sans-serif italic small d}%
+\UnicodeMathSymbol{"1D626}{\mitsanse }{\mathalpha}{mathematical sans-serif italic small e}%
+\UnicodeMathSymbol{"1D627}{\mitsansf }{\mathalpha}{mathematical sans-serif italic small f}%
+\UnicodeMathSymbol{"1D628}{\mitsansg }{\mathalpha}{mathematical sans-serif italic small g}%
+\UnicodeMathSymbol{"1D629}{\mitsansh }{\mathalpha}{mathematical sans-serif italic small h}%
+\UnicodeMathSymbol{"1D62A}{\mitsansi }{\mathalpha}{mathematical sans-serif italic small i}%
+\UnicodeMathSymbol{"1D62B}{\mitsansj }{\mathalpha}{mathematical sans-serif italic small j}%
+\UnicodeMathSymbol{"1D62C}{\mitsansk }{\mathalpha}{mathematical sans-serif italic small k}%
+\UnicodeMathSymbol{"1D62D}{\mitsansl }{\mathalpha}{mathematical sans-serif italic small l}%
+\UnicodeMathSymbol{"1D62E}{\mitsansm }{\mathalpha}{mathematical sans-serif italic small m}%
+\UnicodeMathSymbol{"1D62F}{\mitsansn }{\mathalpha}{mathematical sans-serif italic small n}%
+\UnicodeMathSymbol{"1D630}{\mitsanso }{\mathalpha}{mathematical sans-serif italic small o}%
+\UnicodeMathSymbol{"1D631}{\mitsansp }{\mathalpha}{mathematical sans-serif italic small p}%
+\UnicodeMathSymbol{"1D632}{\mitsansq }{\mathalpha}{mathematical sans-serif italic small q}%
+\UnicodeMathSymbol{"1D633}{\mitsansr }{\mathalpha}{mathematical sans-serif italic small r}%
+\UnicodeMathSymbol{"1D634}{\mitsanss }{\mathalpha}{mathematical sans-serif italic small s}%
+\UnicodeMathSymbol{"1D635}{\mitsanst }{\mathalpha}{mathematical sans-serif italic small t}%
+\UnicodeMathSymbol{"1D636}{\mitsansu }{\mathalpha}{mathematical sans-serif italic small u}%
+\UnicodeMathSymbol{"1D637}{\mitsansv }{\mathalpha}{mathematical sans-serif italic small v}%
+\UnicodeMathSymbol{"1D638}{\mitsansw }{\mathalpha}{mathematical sans-serif italic small w}%
+\UnicodeMathSymbol{"1D639}{\mitsansx }{\mathalpha}{mathematical sans-serif italic small x}%
+\UnicodeMathSymbol{"1D63A}{\mitsansy }{\mathalpha}{mathematical sans-serif italic small y}%
+\UnicodeMathSymbol{"1D63B}{\mitsansz }{\mathalpha}{mathematical sans-serif italic small z}%
+\UnicodeMathSymbol{"1D63C}{\mbfitsansA }{\mathalpha}{mathematical sans-serif bold italic capital a}%
+\UnicodeMathSymbol{"1D63D}{\mbfitsansB }{\mathalpha}{mathematical sans-serif bold italic capital b}%
+\UnicodeMathSymbol{"1D63E}{\mbfitsansC }{\mathalpha}{mathematical sans-serif bold italic capital c}%
+\UnicodeMathSymbol{"1D63F}{\mbfitsansD }{\mathalpha}{mathematical sans-serif bold italic capital d}%
+\UnicodeMathSymbol{"1D640}{\mbfitsansE }{\mathalpha}{mathematical sans-serif bold italic capital e}%
+\UnicodeMathSymbol{"1D641}{\mbfitsansF }{\mathalpha}{mathematical sans-serif bold italic capital f}%
+\UnicodeMathSymbol{"1D642}{\mbfitsansG }{\mathalpha}{mathematical sans-serif bold italic capital g}%
+\UnicodeMathSymbol{"1D643}{\mbfitsansH }{\mathalpha}{mathematical sans-serif bold italic capital h}%
+\UnicodeMathSymbol{"1D644}{\mbfitsansI }{\mathalpha}{mathematical sans-serif bold italic capital i}%
+\UnicodeMathSymbol{"1D645}{\mbfitsansJ }{\mathalpha}{mathematical sans-serif bold italic capital j}%
+\UnicodeMathSymbol{"1D646}{\mbfitsansK }{\mathalpha}{mathematical sans-serif bold italic capital k}%
+\UnicodeMathSymbol{"1D647}{\mbfitsansL }{\mathalpha}{mathematical sans-serif bold italic capital l}%
+\UnicodeMathSymbol{"1D648}{\mbfitsansM }{\mathalpha}{mathematical sans-serif bold italic capital m}%
+\UnicodeMathSymbol{"1D649}{\mbfitsansN }{\mathalpha}{mathematical sans-serif bold italic capital n}%
+\UnicodeMathSymbol{"1D64A}{\mbfitsansO }{\mathalpha}{mathematical sans-serif bold italic capital o}%
+\UnicodeMathSymbol{"1D64B}{\mbfitsansP }{\mathalpha}{mathematical sans-serif bold italic capital p}%
+\UnicodeMathSymbol{"1D64C}{\mbfitsansQ }{\mathalpha}{mathematical sans-serif bold italic capital q}%
+\UnicodeMathSymbol{"1D64D}{\mbfitsansR }{\mathalpha}{mathematical sans-serif bold italic capital r}%
+\UnicodeMathSymbol{"1D64E}{\mbfitsansS }{\mathalpha}{mathematical sans-serif bold italic capital s}%
+\UnicodeMathSymbol{"1D64F}{\mbfitsansT }{\mathalpha}{mathematical sans-serif bold italic capital t}%
+\UnicodeMathSymbol{"1D650}{\mbfitsansU }{\mathalpha}{mathematical sans-serif bold italic capital u}%
+\UnicodeMathSymbol{"1D651}{\mbfitsansV }{\mathalpha}{mathematical sans-serif bold italic capital v}%
+\UnicodeMathSymbol{"1D652}{\mbfitsansW }{\mathalpha}{mathematical sans-serif bold italic capital w}%
+\UnicodeMathSymbol{"1D653}{\mbfitsansX }{\mathalpha}{mathematical sans-serif bold italic capital x}%
+\UnicodeMathSymbol{"1D654}{\mbfitsansY }{\mathalpha}{mathematical sans-serif bold italic capital y}%
+\UnicodeMathSymbol{"1D655}{\mbfitsansZ }{\mathalpha}{mathematical sans-serif bold italic capital z}%
+\UnicodeMathSymbol{"1D656}{\mbfitsansa }{\mathalpha}{mathematical sans-serif bold italic small a}%
+\UnicodeMathSymbol{"1D657}{\mbfitsansb }{\mathalpha}{mathematical sans-serif bold italic small b}%
+\UnicodeMathSymbol{"1D658}{\mbfitsansc }{\mathalpha}{mathematical sans-serif bold italic small c}%
+\UnicodeMathSymbol{"1D659}{\mbfitsansd }{\mathalpha}{mathematical sans-serif bold italic small d}%
+\UnicodeMathSymbol{"1D65A}{\mbfitsanse }{\mathalpha}{mathematical sans-serif bold italic small e}%
+\UnicodeMathSymbol{"1D65B}{\mbfitsansf }{\mathalpha}{mathematical sans-serif bold italic small f}%
+\UnicodeMathSymbol{"1D65C}{\mbfitsansg }{\mathalpha}{mathematical sans-serif bold italic small g}%
+\UnicodeMathSymbol{"1D65D}{\mbfitsansh }{\mathalpha}{mathematical sans-serif bold italic small h}%
+\UnicodeMathSymbol{"1D65E}{\mbfitsansi }{\mathalpha}{mathematical sans-serif bold italic small i}%
+\UnicodeMathSymbol{"1D65F}{\mbfitsansj }{\mathalpha}{mathematical sans-serif bold italic small j}%
+\UnicodeMathSymbol{"1D660}{\mbfitsansk }{\mathalpha}{mathematical sans-serif bold italic small k}%
+\UnicodeMathSymbol{"1D661}{\mbfitsansl }{\mathalpha}{mathematical sans-serif bold italic small l}%
+\UnicodeMathSymbol{"1D662}{\mbfitsansm }{\mathalpha}{mathematical sans-serif bold italic small m}%
+\UnicodeMathSymbol{"1D663}{\mbfitsansn }{\mathalpha}{mathematical sans-serif bold italic small n}%
+\UnicodeMathSymbol{"1D664}{\mbfitsanso }{\mathalpha}{mathematical sans-serif bold italic small o}%
+\UnicodeMathSymbol{"1D665}{\mbfitsansp }{\mathalpha}{mathematical sans-serif bold italic small p}%
+\UnicodeMathSymbol{"1D666}{\mbfitsansq }{\mathalpha}{mathematical sans-serif bold italic small q}%
+\UnicodeMathSymbol{"1D667}{\mbfitsansr }{\mathalpha}{mathematical sans-serif bold italic small r}%
+\UnicodeMathSymbol{"1D668}{\mbfitsanss }{\mathalpha}{mathematical sans-serif bold italic small s}%
+\UnicodeMathSymbol{"1D669}{\mbfitsanst }{\mathalpha}{mathematical sans-serif bold italic small t}%
+\UnicodeMathSymbol{"1D66A}{\mbfitsansu }{\mathalpha}{mathematical sans-serif bold italic small u}%
+\UnicodeMathSymbol{"1D66B}{\mbfitsansv }{\mathalpha}{mathematical sans-serif bold italic small v}%
+\UnicodeMathSymbol{"1D66C}{\mbfitsansw }{\mathalpha}{mathematical sans-serif bold italic small w}%
+\UnicodeMathSymbol{"1D66D}{\mbfitsansx }{\mathalpha}{mathematical sans-serif bold italic small x}%
+\UnicodeMathSymbol{"1D66E}{\mbfitsansy }{\mathalpha}{mathematical sans-serif bold italic small y}%
+\UnicodeMathSymbol{"1D66F}{\mbfitsansz }{\mathalpha}{mathematical sans-serif bold italic small z}%
+\UnicodeMathSymbol{"1D670}{\mttA }{\mathalpha}{mathematical monospace capital a}%
+\UnicodeMathSymbol{"1D671}{\mttB }{\mathalpha}{mathematical monospace capital b}%
+\UnicodeMathSymbol{"1D672}{\mttC }{\mathalpha}{mathematical monospace capital c}%
+\UnicodeMathSymbol{"1D673}{\mttD }{\mathalpha}{mathematical monospace capital d}%
+\UnicodeMathSymbol{"1D674}{\mttE }{\mathalpha}{mathematical monospace capital e}%
+\UnicodeMathSymbol{"1D675}{\mttF }{\mathalpha}{mathematical monospace capital f}%
+\UnicodeMathSymbol{"1D676}{\mttG }{\mathalpha}{mathematical monospace capital g}%
+\UnicodeMathSymbol{"1D677}{\mttH }{\mathalpha}{mathematical monospace capital h}%
+\UnicodeMathSymbol{"1D678}{\mttI }{\mathalpha}{mathematical monospace capital i}%
+\UnicodeMathSymbol{"1D679}{\mttJ }{\mathalpha}{mathematical monospace capital j}%
+\UnicodeMathSymbol{"1D67A}{\mttK }{\mathalpha}{mathematical monospace capital k}%
+\UnicodeMathSymbol{"1D67B}{\mttL }{\mathalpha}{mathematical monospace capital l}%
+\UnicodeMathSymbol{"1D67C}{\mttM }{\mathalpha}{mathematical monospace capital m}%
+\UnicodeMathSymbol{"1D67D}{\mttN }{\mathalpha}{mathematical monospace capital n}%
+\UnicodeMathSymbol{"1D67E}{\mttO }{\mathalpha}{mathematical monospace capital o}%
+\UnicodeMathSymbol{"1D67F}{\mttP }{\mathalpha}{mathematical monospace capital p}%
+\UnicodeMathSymbol{"1D680}{\mttQ }{\mathalpha}{mathematical monospace capital q}%
+\UnicodeMathSymbol{"1D681}{\mttR }{\mathalpha}{mathematical monospace capital r}%
+\UnicodeMathSymbol{"1D682}{\mttS }{\mathalpha}{mathematical monospace capital s}%
+\UnicodeMathSymbol{"1D683}{\mttT }{\mathalpha}{mathematical monospace capital t}%
+\UnicodeMathSymbol{"1D684}{\mttU }{\mathalpha}{mathematical monospace capital u}%
+\UnicodeMathSymbol{"1D685}{\mttV }{\mathalpha}{mathematical monospace capital v}%
+\UnicodeMathSymbol{"1D686}{\mttW }{\mathalpha}{mathematical monospace capital w}%
+\UnicodeMathSymbol{"1D687}{\mttX }{\mathalpha}{mathematical monospace capital x}%
+\UnicodeMathSymbol{"1D688}{\mttY }{\mathalpha}{mathematical monospace capital y}%
+\UnicodeMathSymbol{"1D689}{\mttZ }{\mathalpha}{mathematical monospace capital z}%
+\UnicodeMathSymbol{"1D68A}{\mtta }{\mathalpha}{mathematical monospace small a}%
+\UnicodeMathSymbol{"1D68B}{\mttb }{\mathalpha}{mathematical monospace small b}%
+\UnicodeMathSymbol{"1D68C}{\mttc }{\mathalpha}{mathematical monospace small c}%
+\UnicodeMathSymbol{"1D68D}{\mttd }{\mathalpha}{mathematical monospace small d}%
+\UnicodeMathSymbol{"1D68E}{\mtte }{\mathalpha}{mathematical monospace small e}%
+\UnicodeMathSymbol{"1D68F}{\mttf }{\mathalpha}{mathematical monospace small f}%
+\UnicodeMathSymbol{"1D690}{\mttg }{\mathalpha}{mathematical monospace small g}%
+\UnicodeMathSymbol{"1D691}{\mtth }{\mathalpha}{mathematical monospace small h}%
+\UnicodeMathSymbol{"1D692}{\mtti }{\mathalpha}{mathematical monospace small i}%
+\UnicodeMathSymbol{"1D693}{\mttj }{\mathalpha}{mathematical monospace small j}%
+\UnicodeMathSymbol{"1D694}{\mttk }{\mathalpha}{mathematical monospace small k}%
+\UnicodeMathSymbol{"1D695}{\mttl }{\mathalpha}{mathematical monospace small l}%
+\UnicodeMathSymbol{"1D696}{\mttm }{\mathalpha}{mathematical monospace small m}%
+\UnicodeMathSymbol{"1D697}{\mttn }{\mathalpha}{mathematical monospace small n}%
+\UnicodeMathSymbol{"1D698}{\mtto }{\mathalpha}{mathematical monospace small o}%
+\UnicodeMathSymbol{"1D699}{\mttp }{\mathalpha}{mathematical monospace small p}%
+\UnicodeMathSymbol{"1D69A}{\mttq }{\mathalpha}{mathematical monospace small q}%
+\UnicodeMathSymbol{"1D69B}{\mttr }{\mathalpha}{mathematical monospace small r}%
+\UnicodeMathSymbol{"1D69C}{\mtts }{\mathalpha}{mathematical monospace small s}%
+\UnicodeMathSymbol{"1D69D}{\mttt }{\mathalpha}{mathematical monospace small t}%
+\UnicodeMathSymbol{"1D69E}{\mttu }{\mathalpha}{mathematical monospace small u}%
+\UnicodeMathSymbol{"1D69F}{\mttv }{\mathalpha}{mathematical monospace small v}%
+\UnicodeMathSymbol{"1D6A0}{\mttw }{\mathalpha}{mathematical monospace small w}%
+\UnicodeMathSymbol{"1D6A1}{\mttx }{\mathalpha}{mathematical monospace small x}%
+\UnicodeMathSymbol{"1D6A2}{\mtty }{\mathalpha}{mathematical monospace small y}%
+\UnicodeMathSymbol{"1D6A3}{\mttz }{\mathalpha}{mathematical monospace small z}%
+\UnicodeMathSymbol{"1D6A4}{\imath }{\mathalpha}{mathematical italic small dotless i}%
+\UnicodeMathSymbol{"1D6A5}{\jmath }{\mathalpha}{mathematical italic small dotless j}%
+\UnicodeMathSymbol{"1D6A8}{\mbfAlpha }{\mathalpha}{mathematical bold capital alpha}%
+\UnicodeMathSymbol{"1D6A9}{\mbfBeta }{\mathalpha}{mathematical bold capital beta}%
+\UnicodeMathSymbol{"1D6AA}{\mbfGamma }{\mathalpha}{mathematical bold capital gamma}%
+\UnicodeMathSymbol{"1D6AB}{\mbfDelta }{\mathalpha}{mathematical bold capital delta}%
+\UnicodeMathSymbol{"1D6AC}{\mbfEpsilon }{\mathalpha}{mathematical bold capital epsilon}%
+\UnicodeMathSymbol{"1D6AD}{\mbfZeta }{\mathalpha}{mathematical bold capital zeta}%
+\UnicodeMathSymbol{"1D6AE}{\mbfEta }{\mathalpha}{mathematical bold capital eta}%
+\UnicodeMathSymbol{"1D6AF}{\mbfTheta }{\mathalpha}{mathematical bold capital theta}%
+\UnicodeMathSymbol{"1D6B0}{\mbfIota }{\mathalpha}{mathematical bold capital iota}%
+\UnicodeMathSymbol{"1D6B1}{\mbfKappa }{\mathalpha}{mathematical bold capital kappa}%
+\UnicodeMathSymbol{"1D6B2}{\mbfLambda }{\mathalpha}{mathematical bold capital lambda}%
+\UnicodeMathSymbol{"1D6B3}{\mbfMu }{\mathalpha}{mathematical bold capital mu}%
+\UnicodeMathSymbol{"1D6B4}{\mbfNu }{\mathalpha}{mathematical bold capital nu}%
+\UnicodeMathSymbol{"1D6B5}{\mbfXi }{\mathalpha}{mathematical bold capital xi}%
+\UnicodeMathSymbol{"1D6B6}{\mbfOmicron }{\mathalpha}{mathematical bold capital omicron}%
+\UnicodeMathSymbol{"1D6B7}{\mbfPi }{\mathalpha}{mathematical bold capital pi}%
+\UnicodeMathSymbol{"1D6B8}{\mbfRho }{\mathalpha}{mathematical bold capital rho}%
+\UnicodeMathSymbol{"1D6B9}{\mbfvarTheta }{\mathalpha}{mathematical bold capital theta symbol}%
+\UnicodeMathSymbol{"1D6BA}{\mbfSigma }{\mathalpha}{mathematical bold capital sigma}%
+\UnicodeMathSymbol{"1D6BB}{\mbfTau }{\mathalpha}{mathematical bold capital tau}%
+\UnicodeMathSymbol{"1D6BC}{\mbfUpsilon }{\mathalpha}{mathematical bold capital upsilon}%
+\UnicodeMathSymbol{"1D6BD}{\mbfPhi }{\mathalpha}{mathematical bold capital phi}%
+\UnicodeMathSymbol{"1D6BE}{\mbfChi }{\mathalpha}{mathematical bold capital chi}%
+\UnicodeMathSymbol{"1D6BF}{\mbfPsi }{\mathalpha}{mathematical bold capital psi}%
+\UnicodeMathSymbol{"1D6C0}{\mbfOmega }{\mathalpha}{mathematical bold capital omega}%
+\UnicodeMathSymbol{"1D6C1}{\mbfnabla }{\mathalpha}{mathematical bold nabla}%
+\UnicodeMathSymbol{"1D6C2}{\mbfalpha }{\mathalpha}{mathematical bold small alpha}%
+\UnicodeMathSymbol{"1D6C3}{\mbfbeta }{\mathalpha}{mathematical bold small beta}%
+\UnicodeMathSymbol{"1D6C4}{\mbfgamma }{\mathalpha}{mathematical bold small gamma}%
+\UnicodeMathSymbol{"1D6C5}{\mbfdelta }{\mathalpha}{mathematical bold small delta}%
+\UnicodeMathSymbol{"1D6C6}{\mbfvarepsilon }{\mathalpha}{mathematical bold small varepsilon}%
+\UnicodeMathSymbol{"1D6C7}{\mbfzeta }{\mathalpha}{mathematical bold small zeta}%
+\UnicodeMathSymbol{"1D6C8}{\mbfeta }{\mathalpha}{mathematical bold small eta}%
+\UnicodeMathSymbol{"1D6C9}{\mbftheta }{\mathalpha}{mathematical bold small theta}%
+\UnicodeMathSymbol{"1D6CA}{\mbfiota }{\mathalpha}{mathematical bold small iota}%
+\UnicodeMathSymbol{"1D6CB}{\mbfkappa }{\mathalpha}{mathematical bold small kappa}%
+\UnicodeMathSymbol{"1D6CC}{\mbflambda }{\mathalpha}{mathematical bold small lambda}%
+\UnicodeMathSymbol{"1D6CD}{\mbfmu }{\mathalpha}{mathematical bold small mu}%
+\UnicodeMathSymbol{"1D6CE}{\mbfnu }{\mathalpha}{mathematical bold small nu}%
+\UnicodeMathSymbol{"1D6CF}{\mbfxi }{\mathalpha}{mathematical bold small xi}%
+\UnicodeMathSymbol{"1D6D0}{\mbfomicron }{\mathalpha}{mathematical bold small omicron}%
+\UnicodeMathSymbol{"1D6D1}{\mbfpi }{\mathalpha}{mathematical bold small pi}%
+\UnicodeMathSymbol{"1D6D2}{\mbfrho }{\mathalpha}{mathematical bold small rho}%
+\UnicodeMathSymbol{"1D6D3}{\mbfvarsigma }{\mathalpha}{mathematical bold small final sigma}%
+\UnicodeMathSymbol{"1D6D4}{\mbfsigma }{\mathalpha}{mathematical bold small sigma}%
+\UnicodeMathSymbol{"1D6D5}{\mbftau }{\mathalpha}{mathematical bold small tau}%
+\UnicodeMathSymbol{"1D6D6}{\mbfupsilon }{\mathalpha}{mathematical bold small upsilon}%
+\UnicodeMathSymbol{"1D6D7}{\mbfvarphi }{\mathalpha}{mathematical bold small phi}%
+\UnicodeMathSymbol{"1D6D8}{\mbfchi }{\mathalpha}{mathematical bold small chi}%
+\UnicodeMathSymbol{"1D6D9}{\mbfpsi }{\mathalpha}{mathematical bold small psi}%
+\UnicodeMathSymbol{"1D6DA}{\mbfomega }{\mathalpha}{mathematical bold small omega}%
+\UnicodeMathSymbol{"1D6DB}{\mbfpartial }{\mathalpha}{mathematical bold partial differential}%
+\UnicodeMathSymbol{"1D6DC}{\mbfepsilon }{\mathalpha}{mathematical bold varepsilon symbol}%
+\UnicodeMathSymbol{"1D6DD}{\mbfvartheta }{\mathalpha}{mathematical bold theta symbol}%
+\UnicodeMathSymbol{"1D6DE}{\mbfvarkappa }{\mathalpha}{mathematical bold kappa symbol}%
+\UnicodeMathSymbol{"1D6DF}{\mbfphi }{\mathalpha}{mathematical bold phi symbol}%
+\UnicodeMathSymbol{"1D6E0}{\mbfvarrho }{\mathalpha}{mathematical bold rho symbol}%
+\UnicodeMathSymbol{"1D6E1}{\mbfvarpi }{\mathalpha}{mathematical bold pi symbol}%
+\UnicodeMathSymbol{"1D6E2}{\mitAlpha }{\mathalpha}{mathematical italic capital alpha}%
+\UnicodeMathSymbol{"1D6E3}{\mitBeta }{\mathalpha}{mathematical italic capital beta}%
+\UnicodeMathSymbol{"1D6E4}{\mitGamma }{\mathalpha}{mathematical italic capital gamma}%
+\UnicodeMathSymbol{"1D6E5}{\mitDelta }{\mathalpha}{mathematical italic capital delta}%
+\UnicodeMathSymbol{"1D6E6}{\mitEpsilon }{\mathalpha}{mathematical italic capital epsilon}%
+\UnicodeMathSymbol{"1D6E7}{\mitZeta }{\mathalpha}{mathematical italic capital zeta}%
+\UnicodeMathSymbol{"1D6E8}{\mitEta }{\mathalpha}{mathematical italic capital eta}%
+\UnicodeMathSymbol{"1D6E9}{\mitTheta }{\mathalpha}{mathematical italic capital theta}%
+\UnicodeMathSymbol{"1D6EA}{\mitIota }{\mathalpha}{mathematical italic capital iota}%
+\UnicodeMathSymbol{"1D6EB}{\mitKappa }{\mathalpha}{mathematical italic capital kappa}%
+\UnicodeMathSymbol{"1D6EC}{\mitLambda }{\mathalpha}{mathematical italic capital lambda}%
+\UnicodeMathSymbol{"1D6ED}{\mitMu }{\mathalpha}{mathematical italic capital mu}%
+\UnicodeMathSymbol{"1D6EE}{\mitNu }{\mathalpha}{mathematical italic capital nu}%
+\UnicodeMathSymbol{"1D6EF}{\mitXi }{\mathalpha}{mathematical italic capital xi}%
+\UnicodeMathSymbol{"1D6F0}{\mitOmicron }{\mathalpha}{mathematical italic capital omicron}%
+\UnicodeMathSymbol{"1D6F1}{\mitPi }{\mathalpha}{mathematical italic capital pi}%
+\UnicodeMathSymbol{"1D6F2}{\mitRho }{\mathalpha}{mathematical italic capital rho}%
+\UnicodeMathSymbol{"1D6F3}{\mitvarTheta }{\mathalpha}{mathematical italic capital theta symbol}%
+\UnicodeMathSymbol{"1D6F4}{\mitSigma }{\mathalpha}{mathematical italic capital sigma}%
+\UnicodeMathSymbol{"1D6F5}{\mitTau }{\mathalpha}{mathematical italic capital tau}%
+\UnicodeMathSymbol{"1D6F6}{\mitUpsilon }{\mathalpha}{mathematical italic capital upsilon}%
+\UnicodeMathSymbol{"1D6F7}{\mitPhi }{\mathalpha}{mathematical italic capital phi}%
+\UnicodeMathSymbol{"1D6F8}{\mitChi }{\mathalpha}{mathematical italic capital chi}%
+\UnicodeMathSymbol{"1D6F9}{\mitPsi }{\mathalpha}{mathematical italic capital psi}%
+\UnicodeMathSymbol{"1D6FA}{\mitOmega }{\mathalpha}{mathematical italic capital omega}%
+\UnicodeMathSymbol{"1D6FB}{\mitnabla }{\mathalpha}{mathematical italic nabla}%
+\UnicodeMathSymbol{"1D6FC}{\mitalpha }{\mathalpha}{mathematical italic small alpha}%
+\UnicodeMathSymbol{"1D6FD}{\mitbeta }{\mathalpha}{mathematical italic small beta}%
+\UnicodeMathSymbol{"1D6FE}{\mitgamma }{\mathalpha}{mathematical italic small gamma}%
+\UnicodeMathSymbol{"1D6FF}{\mitdelta }{\mathalpha}{mathematical italic small delta}%
+\UnicodeMathSymbol{"1D700}{\mitvarepsilon }{\mathalpha}{mathematical italic small varepsilon}%
+\UnicodeMathSymbol{"1D701}{\mitzeta }{\mathalpha}{mathematical italic small zeta}%
+\UnicodeMathSymbol{"1D702}{\miteta }{\mathalpha}{mathematical italic small eta}%
+\UnicodeMathSymbol{"1D703}{\mittheta }{\mathalpha}{mathematical italic small theta}%
+\UnicodeMathSymbol{"1D704}{\mitiota }{\mathalpha}{mathematical italic small iota}%
+\UnicodeMathSymbol{"1D705}{\mitkappa }{\mathalpha}{mathematical italic small kappa}%
+\UnicodeMathSymbol{"1D706}{\mitlambda }{\mathalpha}{mathematical italic small lambda}%
+\UnicodeMathSymbol{"1D707}{\mitmu }{\mathalpha}{mathematical italic small mu}%
+\UnicodeMathSymbol{"1D708}{\mitnu }{\mathalpha}{mathematical italic small nu}%
+\UnicodeMathSymbol{"1D709}{\mitxi }{\mathalpha}{mathematical italic small xi}%
+\UnicodeMathSymbol{"1D70A}{\mitomicron }{\mathalpha}{mathematical italic small omicron}%
+\UnicodeMathSymbol{"1D70B}{\mitpi }{\mathalpha}{mathematical italic small pi}%
+\UnicodeMathSymbol{"1D70C}{\mitrho }{\mathalpha}{mathematical italic small rho}%
+\UnicodeMathSymbol{"1D70D}{\mitvarsigma }{\mathalpha}{mathematical italic small final sigma}%
+\UnicodeMathSymbol{"1D70E}{\mitsigma }{\mathalpha}{mathematical italic small sigma}%
+\UnicodeMathSymbol{"1D70F}{\mittau }{\mathalpha}{mathematical italic small tau}%
+\UnicodeMathSymbol{"1D710}{\mitupsilon }{\mathalpha}{mathematical italic small upsilon}%
+\UnicodeMathSymbol{"1D711}{\mitvarphi }{\mathalpha}{mathematical italic small phi}%
+\UnicodeMathSymbol{"1D712}{\mitchi }{\mathalpha}{mathematical italic small chi}%
+\UnicodeMathSymbol{"1D713}{\mitpsi }{\mathalpha}{mathematical italic small psi}%
+\UnicodeMathSymbol{"1D714}{\mitomega }{\mathalpha}{mathematical italic small omega}%
+\UnicodeMathSymbol{"1D715}{\mitpartial }{\mathalpha}{mathematical italic partial differential}%
+\UnicodeMathSymbol{"1D716}{\mitepsilon }{\mathalpha}{mathematical italic varepsilon symbol}%
+\UnicodeMathSymbol{"1D717}{\mitvartheta }{\mathalpha}{mathematical italic theta symbol}%
+\UnicodeMathSymbol{"1D718}{\mitvarkappa }{\mathalpha}{mathematical italic kappa symbol}%
+\UnicodeMathSymbol{"1D719}{\mitphi }{\mathalpha}{mathematical italic phi symbol}%
+\UnicodeMathSymbol{"1D71A}{\mitvarrho }{\mathalpha}{mathematical italic rho symbol}%
+\UnicodeMathSymbol{"1D71B}{\mitvarpi }{\mathalpha}{mathematical italic pi symbol}%
+\UnicodeMathSymbol{"1D71C}{\mbfitAlpha }{\mathalpha}{mathematical bold italic capital alpha}%
+\UnicodeMathSymbol{"1D71D}{\mbfitBeta }{\mathalpha}{mathematical bold italic capital beta}%
+\UnicodeMathSymbol{"1D71E}{\mbfitGamma }{\mathalpha}{mathematical bold italic capital gamma}%
+\UnicodeMathSymbol{"1D71F}{\mbfitDelta }{\mathalpha}{mathematical bold italic capital delta}%
+\UnicodeMathSymbol{"1D720}{\mbfitEpsilon }{\mathalpha}{mathematical bold italic capital epsilon}%
+\UnicodeMathSymbol{"1D721}{\mbfitZeta }{\mathalpha}{mathematical bold italic capital zeta}%
+\UnicodeMathSymbol{"1D722}{\mbfitEta }{\mathalpha}{mathematical bold italic capital eta}%
+\UnicodeMathSymbol{"1D723}{\mbfitTheta }{\mathalpha}{mathematical bold italic capital theta}%
+\UnicodeMathSymbol{"1D724}{\mbfitIota }{\mathalpha}{mathematical bold italic capital iota}%
+\UnicodeMathSymbol{"1D725}{\mbfitKappa }{\mathalpha}{mathematical bold italic capital kappa}%
+\UnicodeMathSymbol{"1D726}{\mbfitLambda }{\mathalpha}{mathematical bold italic capital lambda}%
+\UnicodeMathSymbol{"1D727}{\mbfitMu }{\mathalpha}{mathematical bold italic capital mu}%
+\UnicodeMathSymbol{"1D728}{\mbfitNu }{\mathalpha}{mathematical bold italic capital nu}%
+\UnicodeMathSymbol{"1D729}{\mbfitXi }{\mathalpha}{mathematical bold italic capital xi}%
+\UnicodeMathSymbol{"1D72A}{\mbfitOmicron }{\mathalpha}{mathematical bold italic capital omicron}%
+\UnicodeMathSymbol{"1D72B}{\mbfitPi }{\mathalpha}{mathematical bold italic capital pi}%
+\UnicodeMathSymbol{"1D72C}{\mbfitRho }{\mathalpha}{mathematical bold italic capital rho}%
+\UnicodeMathSymbol{"1D72D}{\mbfitvarTheta }{\mathalpha}{mathematical bold italic capital theta symbol}%
+\UnicodeMathSymbol{"1D72E}{\mbfitSigma }{\mathalpha}{mathematical bold italic capital sigma}%
+\UnicodeMathSymbol{"1D72F}{\mbfitTau }{\mathalpha}{mathematical bold italic capital tau}%
+\UnicodeMathSymbol{"1D730}{\mbfitUpsilon }{\mathalpha}{mathematical bold italic capital upsilon}%
+\UnicodeMathSymbol{"1D731}{\mbfitPhi }{\mathalpha}{mathematical bold italic capital phi}%
+\UnicodeMathSymbol{"1D732}{\mbfitChi }{\mathalpha}{mathematical bold italic capital chi}%
+\UnicodeMathSymbol{"1D733}{\mbfitPsi }{\mathalpha}{mathematical bold italic capital psi}%
+\UnicodeMathSymbol{"1D734}{\mbfitOmega }{\mathalpha}{mathematical bold italic capital omega}%
+\UnicodeMathSymbol{"1D735}{\mbfitnabla }{\mathalpha}{mathematical bold italic nabla}%
+\UnicodeMathSymbol{"1D736}{\mbfitalpha }{\mathalpha}{mathematical bold italic small alpha}%
+\UnicodeMathSymbol{"1D737}{\mbfitbeta }{\mathalpha}{mathematical bold italic small beta}%
+\UnicodeMathSymbol{"1D738}{\mbfitgamma }{\mathalpha}{mathematical bold italic small gamma}%
+\UnicodeMathSymbol{"1D739}{\mbfitdelta }{\mathalpha}{mathematical bold italic small delta}%
+\UnicodeMathSymbol{"1D73A}{\mbfitvarepsilon }{\mathalpha}{mathematical bold italic small varepsilon}%
+\UnicodeMathSymbol{"1D73B}{\mbfitzeta }{\mathalpha}{mathematical bold italic small zeta}%
+\UnicodeMathSymbol{"1D73C}{\mbfiteta }{\mathalpha}{mathematical bold italic small eta}%
+\UnicodeMathSymbol{"1D73D}{\mbfittheta }{\mathalpha}{mathematical bold italic small theta}%
+\UnicodeMathSymbol{"1D73E}{\mbfitiota }{\mathalpha}{mathematical bold italic small iota}%
+\UnicodeMathSymbol{"1D73F}{\mbfitkappa }{\mathalpha}{mathematical bold italic small kappa}%
+\UnicodeMathSymbol{"1D740}{\mbfitlambda }{\mathalpha}{mathematical bold italic small lambda}%
+\UnicodeMathSymbol{"1D741}{\mbfitmu }{\mathalpha}{mathematical bold italic small mu}%
+\UnicodeMathSymbol{"1D742}{\mbfitnu }{\mathalpha}{mathematical bold italic small nu}%
+\UnicodeMathSymbol{"1D743}{\mbfitxi }{\mathalpha}{mathematical bold italic small xi}%
+\UnicodeMathSymbol{"1D744}{\mbfitomicron }{\mathalpha}{mathematical bold italic small omicron}%
+\UnicodeMathSymbol{"1D745}{\mbfitpi }{\mathalpha}{mathematical bold italic small pi}%
+\UnicodeMathSymbol{"1D746}{\mbfitrho }{\mathalpha}{mathematical bold italic small rho}%
+\UnicodeMathSymbol{"1D747}{\mbfitvarsigma }{\mathalpha}{mathematical bold italic small final sigma}%
+\UnicodeMathSymbol{"1D748}{\mbfitsigma }{\mathalpha}{mathematical bold italic small sigma}%
+\UnicodeMathSymbol{"1D749}{\mbfittau }{\mathalpha}{mathematical bold italic small tau}%
+\UnicodeMathSymbol{"1D74A}{\mbfitupsilon }{\mathalpha}{mathematical bold italic small upsilon}%
+\UnicodeMathSymbol{"1D74B}{\mbfitvarphi }{\mathalpha}{mathematical bold italic small phi}%
+\UnicodeMathSymbol{"1D74C}{\mbfitchi }{\mathalpha}{mathematical bold italic small chi}%
+\UnicodeMathSymbol{"1D74D}{\mbfitpsi }{\mathalpha}{mathematical bold italic small psi}%
+\UnicodeMathSymbol{"1D74E}{\mbfitomega }{\mathalpha}{mathematical bold italic small omega}%
+\UnicodeMathSymbol{"1D74F}{\mbfitpartial }{\mathalpha}{mathematical bold italic partial differential}%
+\UnicodeMathSymbol{"1D750}{\mbfitepsilon }{\mathalpha}{mathematical bold italic varepsilon symbol}%
+\UnicodeMathSymbol{"1D751}{\mbfitvartheta }{\mathalpha}{mathematical bold italic theta symbol}%
+\UnicodeMathSymbol{"1D752}{\mbfitvarkappa }{\mathalpha}{mathematical bold italic kappa symbol}%
+\UnicodeMathSymbol{"1D753}{\mbfitphi }{\mathalpha}{mathematical bold italic phi symbol}%
+\UnicodeMathSymbol{"1D754}{\mbfitvarrho }{\mathalpha}{mathematical bold italic rho symbol}%
+\UnicodeMathSymbol{"1D755}{\mbfitvarpi }{\mathalpha}{mathematical bold italic pi symbol}%
+\UnicodeMathSymbol{"1D756}{\mbfsansAlpha }{\mathalpha}{mathematical sans-serif bold capital alpha}%
+\UnicodeMathSymbol{"1D757}{\mbfsansBeta }{\mathalpha}{mathematical sans-serif bold capital beta}%
+\UnicodeMathSymbol{"1D758}{\mbfsansGamma }{\mathalpha}{mathematical sans-serif bold capital gamma}%
+\UnicodeMathSymbol{"1D759}{\mbfsansDelta }{\mathalpha}{mathematical sans-serif bold capital delta}%
+\UnicodeMathSymbol{"1D75A}{\mbfsansEpsilon }{\mathalpha}{mathematical sans-serif bold capital epsilon}%
+\UnicodeMathSymbol{"1D75B}{\mbfsansZeta }{\mathalpha}{mathematical sans-serif bold capital zeta}%
+\UnicodeMathSymbol{"1D75C}{\mbfsansEta }{\mathalpha}{mathematical sans-serif bold capital eta}%
+\UnicodeMathSymbol{"1D75D}{\mbfsansTheta }{\mathalpha}{mathematical sans-serif bold capital theta}%
+\UnicodeMathSymbol{"1D75E}{\mbfsansIota }{\mathalpha}{mathematical sans-serif bold capital iota}%
+\UnicodeMathSymbol{"1D75F}{\mbfsansKappa }{\mathalpha}{mathematical sans-serif bold capital kappa}%
+\UnicodeMathSymbol{"1D760}{\mbfsansLambda }{\mathalpha}{mathematical sans-serif bold capital lambda}%
+\UnicodeMathSymbol{"1D761}{\mbfsansMu }{\mathalpha}{mathematical sans-serif bold capital mu}%
+\UnicodeMathSymbol{"1D762}{\mbfsansNu }{\mathalpha}{mathematical sans-serif bold capital nu}%
+\UnicodeMathSymbol{"1D763}{\mbfsansXi }{\mathalpha}{mathematical sans-serif bold capital xi}%
+\UnicodeMathSymbol{"1D764}{\mbfsansOmicron }{\mathalpha}{mathematical sans-serif bold capital omicron}%
+\UnicodeMathSymbol{"1D765}{\mbfsansPi }{\mathalpha}{mathematical sans-serif bold capital pi}%
+\UnicodeMathSymbol{"1D766}{\mbfsansRho }{\mathalpha}{mathematical sans-serif bold capital rho}%
+\UnicodeMathSymbol{"1D767}{\mbfsansvarTheta }{\mathalpha}{mathematical sans-serif bold capital theta symbol}%
+\UnicodeMathSymbol{"1D768}{\mbfsansSigma }{\mathalpha}{mathematical sans-serif bold capital sigma}%
+\UnicodeMathSymbol{"1D769}{\mbfsansTau }{\mathalpha}{mathematical sans-serif bold capital tau}%
+\UnicodeMathSymbol{"1D76A}{\mbfsansUpsilon }{\mathalpha}{mathematical sans-serif bold capital upsilon}%
+\UnicodeMathSymbol{"1D76B}{\mbfsansPhi }{\mathalpha}{mathematical sans-serif bold capital phi}%
+\UnicodeMathSymbol{"1D76C}{\mbfsansChi }{\mathalpha}{mathematical sans-serif bold capital chi}%
+\UnicodeMathSymbol{"1D76D}{\mbfsansPsi }{\mathalpha}{mathematical sans-serif bold capital psi}%
+\UnicodeMathSymbol{"1D76E}{\mbfsansOmega }{\mathalpha}{mathematical sans-serif bold capital omega}%
+\UnicodeMathSymbol{"1D76F}{\mbfsansnabla }{\mathalpha}{mathematical sans-serif bold nabla}%
+\UnicodeMathSymbol{"1D770}{\mbfsansalpha }{\mathalpha}{mathematical sans-serif bold small alpha}%
+\UnicodeMathSymbol{"1D771}{\mbfsansbeta }{\mathalpha}{mathematical sans-serif bold small beta}%
+\UnicodeMathSymbol{"1D772}{\mbfsansgamma }{\mathalpha}{mathematical sans-serif bold small gamma}%
+\UnicodeMathSymbol{"1D773}{\mbfsansdelta }{\mathalpha}{mathematical sans-serif bold small delta}%
+\UnicodeMathSymbol{"1D774}{\mbfsansvarepsilon }{\mathalpha}{mathematical sans-serif bold small varepsilon}%
+\UnicodeMathSymbol{"1D775}{\mbfsanszeta }{\mathalpha}{mathematical sans-serif bold small zeta}%
+\UnicodeMathSymbol{"1D776}{\mbfsanseta }{\mathalpha}{mathematical sans-serif bold small eta}%
+\UnicodeMathSymbol{"1D777}{\mbfsanstheta }{\mathalpha}{mathematical sans-serif bold small theta}%
+\UnicodeMathSymbol{"1D778}{\mbfsansiota }{\mathalpha}{mathematical sans-serif bold small iota}%
+\UnicodeMathSymbol{"1D779}{\mbfsanskappa }{\mathalpha}{mathematical sans-serif bold small kappa}%
+\UnicodeMathSymbol{"1D77A}{\mbfsanslambda }{\mathalpha}{mathematical sans-serif bold small lambda}%
+\UnicodeMathSymbol{"1D77B}{\mbfsansmu }{\mathalpha}{mathematical sans-serif bold small mu}%
+\UnicodeMathSymbol{"1D77C}{\mbfsansnu }{\mathalpha}{mathematical sans-serif bold small nu}%
+\UnicodeMathSymbol{"1D77D}{\mbfsansxi }{\mathalpha}{mathematical sans-serif bold small xi}%
+\UnicodeMathSymbol{"1D77E}{\mbfsansomicron }{\mathalpha}{mathematical sans-serif bold small omicron}%
+\UnicodeMathSymbol{"1D77F}{\mbfsanspi }{\mathalpha}{mathematical sans-serif bold small pi}%
+\UnicodeMathSymbol{"1D780}{\mbfsansrho }{\mathalpha}{mathematical sans-serif bold small rho}%
+\UnicodeMathSymbol{"1D781}{\mbfsansvarsigma }{\mathalpha}{mathematical sans-serif bold small final sigma}%
+\UnicodeMathSymbol{"1D782}{\mbfsanssigma }{\mathalpha}{mathematical sans-serif bold small sigma}%
+\UnicodeMathSymbol{"1D783}{\mbfsanstau }{\mathalpha}{mathematical sans-serif bold small tau}%
+\UnicodeMathSymbol{"1D784}{\mbfsansupsilon }{\mathalpha}{mathematical sans-serif bold small upsilon}%
+\UnicodeMathSymbol{"1D785}{\mbfsansvarphi }{\mathalpha}{mathematical sans-serif bold small phi}%
+\UnicodeMathSymbol{"1D786}{\mbfsanschi }{\mathalpha}{mathematical sans-serif bold small chi}%
+\UnicodeMathSymbol{"1D787}{\mbfsanspsi }{\mathalpha}{mathematical sans-serif bold small psi}%
+\UnicodeMathSymbol{"1D788}{\mbfsansomega }{\mathalpha}{mathematical sans-serif bold small omega}%
+\UnicodeMathSymbol{"1D789}{\mbfsanspartial }{\mathalpha}{mathematical sans-serif bold partial differential}%
+\UnicodeMathSymbol{"1D78A}{\mbfsansepsilon }{\mathalpha}{mathematical sans-serif bold varepsilon symbol}%
+\UnicodeMathSymbol{"1D78B}{\mbfsansvartheta }{\mathalpha}{mathematical sans-serif bold theta symbol}%
+\UnicodeMathSymbol{"1D78C}{\mbfsansvarkappa }{\mathalpha}{mathematical sans-serif bold kappa symbol}%
+\UnicodeMathSymbol{"1D78D}{\mbfsansphi }{\mathalpha}{mathematical sans-serif bold phi symbol}%
+\UnicodeMathSymbol{"1D78E}{\mbfsansvarrho }{\mathalpha}{mathematical sans-serif bold rho symbol}%
+\UnicodeMathSymbol{"1D78F}{\mbfsansvarpi }{\mathalpha}{mathematical sans-serif bold pi symbol}%
+\UnicodeMathSymbol{"1D790}{\mbfitsansAlpha }{\mathalpha}{mathematical sans-serif bold italic capital alpha}%
+\UnicodeMathSymbol{"1D791}{\mbfitsansBeta }{\mathalpha}{mathematical sans-serif bold italic capital beta}%
+\UnicodeMathSymbol{"1D792}{\mbfitsansGamma }{\mathalpha}{mathematical sans-serif bold italic capital gamma}%
+\UnicodeMathSymbol{"1D793}{\mbfitsansDelta }{\mathalpha}{mathematical sans-serif bold italic capital delta}%
+\UnicodeMathSymbol{"1D794}{\mbfitsansEpsilon }{\mathalpha}{mathematical sans-serif bold italic capital epsilon}%
+\UnicodeMathSymbol{"1D795}{\mbfitsansZeta }{\mathalpha}{mathematical sans-serif bold italic capital zeta}%
+\UnicodeMathSymbol{"1D796}{\mbfitsansEta }{\mathalpha}{mathematical sans-serif bold italic capital eta}%
+\UnicodeMathSymbol{"1D797}{\mbfitsansTheta }{\mathalpha}{mathematical sans-serif bold italic capital theta}%
+\UnicodeMathSymbol{"1D798}{\mbfitsansIota }{\mathalpha}{mathematical sans-serif bold italic capital iota}%
+\UnicodeMathSymbol{"1D799}{\mbfitsansKappa }{\mathalpha}{mathematical sans-serif bold italic capital kappa}%
+\UnicodeMathSymbol{"1D79A}{\mbfitsansLambda }{\mathalpha}{mathematical sans-serif bold italic capital lambda}%
+\UnicodeMathSymbol{"1D79B}{\mbfitsansMu }{\mathalpha}{mathematical sans-serif bold italic capital mu}%
+\UnicodeMathSymbol{"1D79C}{\mbfitsansNu }{\mathalpha}{mathematical sans-serif bold italic capital nu}%
+\UnicodeMathSymbol{"1D79D}{\mbfitsansXi }{\mathalpha}{mathematical sans-serif bold italic capital xi}%
+\UnicodeMathSymbol{"1D79E}{\mbfitsansOmicron }{\mathalpha}{mathematical sans-serif bold italic capital omicron}%
+\UnicodeMathSymbol{"1D79F}{\mbfitsansPi }{\mathalpha}{mathematical sans-serif bold italic capital pi}%
+\UnicodeMathSymbol{"1D7A0}{\mbfitsansRho }{\mathalpha}{mathematical sans-serif bold italic capital rho}%
+\UnicodeMathSymbol{"1D7A1}{\mbfitsansvarTheta }{\mathalpha}{mathematical sans-serif bold italic capital theta symbol}%
+\UnicodeMathSymbol{"1D7A2}{\mbfitsansSigma }{\mathalpha}{mathematical sans-serif bold italic capital sigma}%
+\UnicodeMathSymbol{"1D7A3}{\mbfitsansTau }{\mathalpha}{mathematical sans-serif bold italic capital tau}%
+\UnicodeMathSymbol{"1D7A4}{\mbfitsansUpsilon }{\mathalpha}{mathematical sans-serif bold italic capital upsilon}%
+\UnicodeMathSymbol{"1D7A5}{\mbfitsansPhi }{\mathalpha}{mathematical sans-serif bold italic capital phi}%
+\UnicodeMathSymbol{"1D7A6}{\mbfitsansChi }{\mathalpha}{mathematical sans-serif bold italic capital chi}%
+\UnicodeMathSymbol{"1D7A7}{\mbfitsansPsi }{\mathalpha}{mathematical sans-serif bold italic capital psi}%
+\UnicodeMathSymbol{"1D7A8}{\mbfitsansOmega }{\mathalpha}{mathematical sans-serif bold italic capital omega}%
+\UnicodeMathSymbol{"1D7A9}{\mbfitsansnabla }{\mathalpha}{mathematical sans-serif bold italic nabla}%
+\UnicodeMathSymbol{"1D7AA}{\mbfitsansalpha }{\mathalpha}{mathematical sans-serif bold italic small alpha}%
+\UnicodeMathSymbol{"1D7AB}{\mbfitsansbeta }{\mathalpha}{mathematical sans-serif bold italic small beta}%
+\UnicodeMathSymbol{"1D7AC}{\mbfitsansgamma }{\mathalpha}{mathematical sans-serif bold italic small gamma}%
+\UnicodeMathSymbol{"1D7AD}{\mbfitsansdelta }{\mathalpha}{mathematical sans-serif bold italic small delta}%
+\UnicodeMathSymbol{"1D7AE}{\mbfitsansvarepsilon }{\mathalpha}{mathematical sans-serif bold italic small varepsilon}%
+\UnicodeMathSymbol{"1D7AF}{\mbfitsanszeta }{\mathalpha}{mathematical sans-serif bold italic small zeta}%
+\UnicodeMathSymbol{"1D7B0}{\mbfitsanseta }{\mathalpha}{mathematical sans-serif bold italic small eta}%
+\UnicodeMathSymbol{"1D7B1}{\mbfitsanstheta }{\mathalpha}{mathematical sans-serif bold italic small theta}%
+\UnicodeMathSymbol{"1D7B2}{\mbfitsansiota }{\mathalpha}{mathematical sans-serif bold italic small iota}%
+\UnicodeMathSymbol{"1D7B3}{\mbfitsanskappa }{\mathalpha}{mathematical sans-serif bold italic small kappa}%
+\UnicodeMathSymbol{"1D7B4}{\mbfitsanslambda }{\mathalpha}{mathematical sans-serif bold italic small lambda}%
+\UnicodeMathSymbol{"1D7B5}{\mbfitsansmu }{\mathalpha}{mathematical sans-serif bold italic small mu}%
+\UnicodeMathSymbol{"1D7B6}{\mbfitsansnu }{\mathalpha}{mathematical sans-serif bold italic small nu}%
+\UnicodeMathSymbol{"1D7B7}{\mbfitsansxi }{\mathalpha}{mathematical sans-serif bold italic small xi}%
+\UnicodeMathSymbol{"1D7B8}{\mbfitsansomicron }{\mathalpha}{mathematical sans-serif bold italic small omicron}%
+\UnicodeMathSymbol{"1D7B9}{\mbfitsanspi }{\mathalpha}{mathematical sans-serif bold italic small pi}%
+\UnicodeMathSymbol{"1D7BA}{\mbfitsansrho }{\mathalpha}{mathematical sans-serif bold italic small rho}%
+\UnicodeMathSymbol{"1D7BB}{\mbfitsansvarsigma }{\mathalpha}{mathematical sans-serif bold italic small final sigma}%
+\UnicodeMathSymbol{"1D7BC}{\mbfitsanssigma }{\mathalpha}{mathematical sans-serif bold italic small sigma}%
+\UnicodeMathSymbol{"1D7BD}{\mbfitsanstau }{\mathalpha}{mathematical sans-serif bold italic small tau}%
+\UnicodeMathSymbol{"1D7BE}{\mbfitsansupsilon }{\mathalpha}{mathematical sans-serif bold italic small upsilon}%
+\UnicodeMathSymbol{"1D7BF}{\mbfitsansvarphi }{\mathalpha}{mathematical sans-serif bold italic small phi}%
+\UnicodeMathSymbol{"1D7C0}{\mbfitsanschi }{\mathalpha}{mathematical sans-serif bold italic small chi}%
+\UnicodeMathSymbol{"1D7C1}{\mbfitsanspsi }{\mathalpha}{mathematical sans-serif bold italic small psi}%
+\UnicodeMathSymbol{"1D7C2}{\mbfitsansomega }{\mathalpha}{mathematical sans-serif bold italic small omega}%
+\UnicodeMathSymbol{"1D7C3}{\mbfitsanspartial }{\mathalpha}{mathematical sans-serif bold italic partial differential}%
+\UnicodeMathSymbol{"1D7C4}{\mbfitsansepsilon }{\mathalpha}{mathematical sans-serif bold italic varepsilon symbol}%
+\UnicodeMathSymbol{"1D7C5}{\mbfitsansvartheta }{\mathalpha}{mathematical sans-serif bold italic theta symbol}%
+\UnicodeMathSymbol{"1D7C6}{\mbfitsansvarkappa }{\mathalpha}{mathematical sans-serif bold italic kappa symbol}%
+\UnicodeMathSymbol{"1D7C7}{\mbfitsansphi }{\mathalpha}{mathematical sans-serif bold italic phi symbol}%
+\UnicodeMathSymbol{"1D7C8}{\mbfitsansvarrho }{\mathalpha}{mathematical sans-serif bold italic rho symbol}%
+\UnicodeMathSymbol{"1D7C9}{\mbfitsansvarpi }{\mathalpha}{mathematical sans-serif bold italic pi symbol}%
+\UnicodeMathSymbol{"1D7CA}{\mbfDigamma }{\mathalpha}{mathematical bold capital digamma}%
+\UnicodeMathSymbol{"1D7CB}{\mbfdigamma }{\mathalpha}{mathematical bold small digamma}%
+\UnicodeMathSymbol{"1D7CE}{\mbfzero }{\mathord}{mathematical bold digit 0}%
+\UnicodeMathSymbol{"1D7CF}{\mbfone }{\mathord}{mathematical bold digit 1}%
+\UnicodeMathSymbol{"1D7D0}{\mbftwo }{\mathord}{mathematical bold digit 2}%
+\UnicodeMathSymbol{"1D7D1}{\mbfthree }{\mathord}{mathematical bold digit 3}%
+\UnicodeMathSymbol{"1D7D2}{\mbffour }{\mathord}{mathematical bold digit 4}%
+\UnicodeMathSymbol{"1D7D3}{\mbffive }{\mathord}{mathematical bold digit 5}%
+\UnicodeMathSymbol{"1D7D4}{\mbfsix }{\mathord}{mathematical bold digit 6}%
+\UnicodeMathSymbol{"1D7D5}{\mbfseven }{\mathord}{mathematical bold digit 7}%
+\UnicodeMathSymbol{"1D7D6}{\mbfeight }{\mathord}{mathematical bold digit 8}%
+\UnicodeMathSymbol{"1D7D7}{\mbfnine }{\mathord}{mathematical bold digit 9}%
+\UnicodeMathSymbol{"1D7D8}{\Bbbzero }{\mathord}{mathematical double-struck digit 0}%
+\UnicodeMathSymbol{"1D7D9}{\Bbbone }{\mathord}{mathematical double-struck digit 1}%
+\UnicodeMathSymbol{"1D7DA}{\Bbbtwo }{\mathord}{mathematical double-struck digit 2}%
+\UnicodeMathSymbol{"1D7DB}{\Bbbthree }{\mathord}{mathematical double-struck digit 3}%
+\UnicodeMathSymbol{"1D7DC}{\Bbbfour }{\mathord}{mathematical double-struck digit 4}%
+\UnicodeMathSymbol{"1D7DD}{\Bbbfive }{\mathord}{mathematical double-struck digit 5}%
+\UnicodeMathSymbol{"1D7DE}{\Bbbsix }{\mathord}{mathematical double-struck digit 6}%
+\UnicodeMathSymbol{"1D7DF}{\Bbbseven }{\mathord}{mathematical double-struck digit 7}%
+\UnicodeMathSymbol{"1D7E0}{\Bbbeight }{\mathord}{mathematical double-struck digit 8}%
+\UnicodeMathSymbol{"1D7E1}{\Bbbnine }{\mathord}{mathematical double-struck digit 9}%
+\UnicodeMathSymbol{"1D7E2}{\msanszero }{\mathord}{mathematical sans-serif digit 0}%
+\UnicodeMathSymbol{"1D7E3}{\msansone }{\mathord}{mathematical sans-serif digit 1}%
+\UnicodeMathSymbol{"1D7E4}{\msanstwo }{\mathord}{mathematical sans-serif digit 2}%
+\UnicodeMathSymbol{"1D7E5}{\msansthree }{\mathord}{mathematical sans-serif digit 3}%
+\UnicodeMathSymbol{"1D7E6}{\msansfour }{\mathord}{mathematical sans-serif digit 4}%
+\UnicodeMathSymbol{"1D7E7}{\msansfive }{\mathord}{mathematical sans-serif digit 5}%
+\UnicodeMathSymbol{"1D7E8}{\msanssix }{\mathord}{mathematical sans-serif digit 6}%
+\UnicodeMathSymbol{"1D7E9}{\msansseven }{\mathord}{mathematical sans-serif digit 7}%
+\UnicodeMathSymbol{"1D7EA}{\msanseight }{\mathord}{mathematical sans-serif digit 8}%
+\UnicodeMathSymbol{"1D7EB}{\msansnine }{\mathord}{mathematical sans-serif digit 9}%
+\UnicodeMathSymbol{"1D7EC}{\mbfsanszero }{\mathord}{mathematical sans-serif bold digit 0}%
+\UnicodeMathSymbol{"1D7ED}{\mbfsansone }{\mathord}{mathematical sans-serif bold digit 1}%
+\UnicodeMathSymbol{"1D7EE}{\mbfsanstwo }{\mathord}{mathematical sans-serif bold digit 2}%
+\UnicodeMathSymbol{"1D7EF}{\mbfsansthree }{\mathord}{mathematical sans-serif bold digit 3}%
+\UnicodeMathSymbol{"1D7F0}{\mbfsansfour }{\mathord}{mathematical sans-serif bold digit 4}%
+\UnicodeMathSymbol{"1D7F1}{\mbfsansfive }{\mathord}{mathematical sans-serif bold digit 5}%
+\UnicodeMathSymbol{"1D7F2}{\mbfsanssix }{\mathord}{mathematical sans-serif bold digit 6}%
+\UnicodeMathSymbol{"1D7F3}{\mbfsansseven }{\mathord}{mathematical sans-serif bold digit 7}%
+\UnicodeMathSymbol{"1D7F4}{\mbfsanseight }{\mathord}{mathematical sans-serif bold digit 8}%
+\UnicodeMathSymbol{"1D7F5}{\mbfsansnine }{\mathord}{mathematical sans-serif bold digit 9}%
+\UnicodeMathSymbol{"1D7F6}{\mttzero }{\mathord}{mathematical monospace digit 0}%
+\UnicodeMathSymbol{"1D7F7}{\mttone }{\mathord}{mathematical monospace digit 1}%
+\UnicodeMathSymbol{"1D7F8}{\mtttwo }{\mathord}{mathematical monospace digit 2}%
+\UnicodeMathSymbol{"1D7F9}{\mttthree }{\mathord}{mathematical monospace digit 3}%
+\UnicodeMathSymbol{"1D7FA}{\mttfour }{\mathord}{mathematical monospace digit 4}%
+\UnicodeMathSymbol{"1D7FB}{\mttfive }{\mathord}{mathematical monospace digit 5}%
+\UnicodeMathSymbol{"1D7FC}{\mttsix }{\mathord}{mathematical monospace digit 6}%
+\UnicodeMathSymbol{"1D7FD}{\mttseven }{\mathord}{mathematical monospace digit 7}%
+\UnicodeMathSymbol{"1D7FE}{\mtteight }{\mathord}{mathematical monospace digit 8}%
+\UnicodeMathSymbol{"1D7FF}{\mttnine }{\mathord}{mathematical monospace digit 9}%
+\UnicodeMathSymbol{"1EEF0}{\arabicmaj }{\mathop}{arabic mathematical operator meem with hah with tatweel}%
+\UnicodeMathSymbol{"1EEF1}{\arabichad }{\mathop}{arabic mathematical operator hah with dal}%
+
+% /©
+%
+% ------------------------------------------------
+% The UNICODE-MATH package <wspr.io/unicode-math>
+% ------------------------------------------------
+% This package is free software and may be redistributed and/or modified under
+% the conditions of the LaTeX Project Public License, version 1.3c or higher
+% (your choice): <http://www.latex-project.org/lppl/>.
+% ------------------------------------------------
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
+% Copyright 2010-2017 Philipp Stephani
+% Copyright 2011-2017 Joseph Wright
+% Copyright 2012-2015 Khaled Hosny
+% ------------------------------------------------
+%
+% ©/
+
diff --git a/Master/texmf-dist/tex/luatex/optex/usebib.opm b/Master/texmf-dist/tex/luatex/optex/usebib.opm
new file mode 100644
index 00000000000..4ff38c87369
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/optex/usebib.opm
@@ -0,0 +1,334 @@
+% opmac-bib
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Petr Olsak, version Feb. 2018 (beta)
+
+% This is module for OPmac macros, see http://petr.olsak.net/opmac.html
+% The command:
+% \usebib/<sorttype> (<style>) (bibfiles>
+% for direct reading .bib files by OPmac macros (without bibTeX) is implemented here.
+% The implementation depends on librarian.tex package by Paul Isambert.
+% Use:
+% \input opmac \input opmac-bib
+% or simply:
+% \input opmac-bib
+% before using the command \usebib.
+% For more information see the end of this file.
+
+\ifx\MakeReference\udefined \else \endinput \fi
+\ifx\OPmacversion\undefined \input opmac \fi
+\ifx\printbib\undefined
+ \errmessage{Please, upgrade OPmac to version Apr. 2014 or newer}
+ \endinput\fi
+
+% we needn't \errmessage when bad TeX engnine is detected during \input librarian:
+
+\def\tmp{}
+\let\errmessageori=\errmessage
+\def\errmessage#1{\def\tmp{error}}
+\let\newwriteori=\newwrite % we need not to create \jobname.lbr:
+\def\newwrite#1{\csname lb@restoreat\endcsname \endinput}
+\catcode`\_=12
+\input librarian
+\catcode`\_=11
+\let\errmessage=\errmessageori
+\let\newwrite=\newwriteori
+\ifx\tmp\empty\else
+ \def\usebib/#1 (#2) #3 {%
+ \opwarning{eTeX and (pdfTeX or XeTeX or LuaTeX) not detected}%
+ \immediate\write16{\space\space
+ But librarian package needs it. \noexpand\usebib ignored.}%
+ }
+ \endinput \fi
+
+% The \usebib command:
+
+\def\usebib/#1 (#2) #3 {%
+ \ifx\citelist\empty
+ \opwarning{No cited items. \noexpand\usebib ignored}%
+ \else
+ \bgroup \par
+ \ifx\bibpart\undefined \def\bibpart{none}\fi
+ \catcode`<=12
+ \ifx\savedttchar\undefined\else \catcode\savedttchar=12 \fi
+ \def\opmacbibstyle{#2}%
+ \input bib-#2.opm
+ \bibtexhook
+ \let\citeI=\relax \xdef\citelist{\citelist\citelistB}%
+ \global\let\addcitelist=\writeXcite
+ \def\tmp##1[*]##2\relax{\def\tmp{##2}}\expandafter\tmp\citelist[*]\relax
+ \ifx\tmp\empty\else % there was \nocite[*] used.
+ \setbox0=\vbox{\def\citelist{}\adef@{\readbibentry}%
+ \input #3.bib
+ \expandafter}\expandafter\def\expandafter\citelist\expandafter{\citelist}%
+ \fi
+ \def\citeI[##1]{\csname lb@cite\endcsname{##1}{\bibpart}{}{}}\citelist
+ \BibFile{#3}%
+ \if s#1\def\warntwobytes{}\def\warnthreebytes{}% \scantokens is used during sorting
+ \SortList{\bibpart}\fi
+ \ReadList{\bibpart}%
+ \egroup
+ \fi
+}
+\def\readbibentry#1#{\readbibentryA}
+\def\readbibentryA#1{\readbibentryB#1,,\relax!.}
+\def\readbibentryB#1#2,#3\relax!.{\addto\citelist{\citeI[#1#2]}}
+
+% Corrections in librarian macros:
+
+\tmpnum=\catcode`\@ \catcode`\@=11
+\def\lb@checkmissingentries#1,{% we needn't \errmessage here, only \opmacwarning
+ \def\lb@temp{#1}%
+ \unless\ifx\lb@temp\lb@eoe
+ \lb@ifcs{#1}{fields}%
+ {}%
+ {\opwarning{\string\usebib: entry [#1] isn't found in .bib file(s)}}%
+ \expandafter\lb@checkmissingentries
+ \fi
+}
+\def\lb@readentry#1#2#3,{% space before key have to be ingnored
+ \def\lb@temp{#2#3}% we need case sensitive keys
+ \def\lb@next{\expandafter\lb@gotoat\lb@gobbletoeoe}%
+ \lb@ifcs\lb@temp{requested}%
+ {\let\lb@entrykey\lb@temp
+ \lb@ifcs\lb@entrykey{fields}{}%
+ {\lb@defcs\lb@entrykey{fields}{}%
+ \lowercase{\lb@addfield{entrytype}{#1}}%
+ \let\lb@next\lb@analyzeentry}}{}%
+ \lb@next
+}
+\let\lb@compareA=\lb@compare
+\let\lb@preparesortA=\lb@preparesort
+\def\lb@compare#1\lb@eoe#2\lb@eoe{% SpecialSort:
+ \ifx\lb@sorttype\lb@namestring
+ \ifx\sortfield\undefined \lb@compareA#1\lb@eoe#2\lb@eoe
+ \else
+ \expandafter\RetrieveFieldInFor\expandafter{\sortfield}\lb@entrykey\lb@temp
+ \ifx\lb@temp\empty \toks1={#1\lb@eoe}\else \toks1=\expandafter{\lb@temp\lb@eoe}\fi
+ \expandafter\RetrieveFieldInFor\expandafter{\sortfield}\lb@currententry\lb@temp
+ \ifx\lb@temp\empty \toks2={#2\lb@eoe}\else \toks2=\expandafter{\lb@temp\lb@eoe}\fi
+ \edef\lb@temp{\noexpand\lb@compareA\space\the\toks1 \space\the\toks2}\lb@temp
+ \fi
+ \else \lb@compareA#1\lb@eoe#2\lb@eoe \fi
+}
+\def\lb@preparesort#1#2\lb@eoe{%
+ \if#1-%
+ \def\lb@sorttype{#2}%
+ \else
+ \def\lb@sorttype{#1#2}%
+ \fi
+ \lb@preparesortA#1#2\lb@eoe
+}
+\def\SpecialSort#1{\def\sortfield{#1}}
+\def\WriteImmediateInfo#1{} % the existence of .lbr file bocks new reading of .bib
+\catcode`\@=\tmpnum
+
+% Main action per every entry:
+
+\def\MakeReference{\par \ifnum\bibnum>0 \bibskip \fi
+ \advance\bibnum by1
+ \isdefined{bim:\the\bibnum}\iftrue
+ \edef\tmpb{\csname bim:\the\bibnum\endcsname}%
+ \bibmark=\expandafter{\tmpb}%
+ \else \bibmark={}\fi
+ \noindent \edef\tmpb{\EntryKey}%
+ \printbib \dest[cite:\the\bibnum]%
+ \bgroup
+ \RetrieveFieldIn{entrytype}\entrytype
+ \csname print:BEGIN\endcsname
+ \isdefined{print:\entrytype}\iftrue
+ \csname print:\entrytype\endcsname
+ \else
+ \ifx\entrytype\empty \else
+ \opwarning{Entrytype @\entrytype\space from [\EntryKey] undefined}%
+ \csname print:misc\endcsname
+ \fi\fi
+ \csname print:END\endcsname
+ \ifx\wref\wrefrelax\else \immediate\wref\Xbib{{\EntryKey}{\the\bibnum}{\the\bibmark}}\fi
+ \egroup \par
+}
+
+% The \bprinta, \bprintb, \bprintc, \bprintv commands used in the style files:
+
+\def\bprinta {\bprintb*}
+\def\bprintb #1[#2#3]{%
+ \def\bibfieldname{#2#3}%
+ \if!#2\relax
+ \def\bibfieldname{#3}%
+ \RetrieveFieldIn{#3}\bibfield
+ \ifx\bibfield\empty\else
+ \RetrieveFieldIn{#3number}\namecount
+ \def\bibfield{\csname Read#3\expandafter\endcsname\csname #3name\endcsname}%
+ \fi
+ \else
+ \RetrieveFieldIn{#2#3}\bibfield
+ \fi
+ \if^#1^%
+ \ifx\bibfield\empty \expandafter\expandafter\expandafter \doemptyfield
+ \else \expandafter\expandafter\expandafter \dofullfield \fi
+ \else \expandafter \bprintaA
+ \fi
+}
+\def\dofullfield#1#2{\def\dofield##1{#1}\expandafter\dofield\expandafter{\bibfield}}
+\def\doemptyfield#1#2{\def\dofield##1{#2}\expandafter\dofield\expandafter{\bibfield}}
+\let\Readauthor=\ReadAuthor \let\Readeditor=\ReadEditor
+\def\bprintaA #1#2{\ifx\bibfield\empty #2\else\bprintaB #1**\eee\fi}
+\def\bprintaB #1*#2*#3\eee{\if^#3^#1\else\expandafter\bprintaC\expandafter{\bibfield}{#1}{#2}\fi}
+\def\bprintaC #1#2#3{#2#1#3}
+\def\bprintc#1#2{\bprintcA#1#2**\relax}
+\def\bprintcA#1#2*#3*#4\relax{\ifx#1\empty \else \if^#4^#2\else#2#1#3\fi\fi}
+\def\bprintv [#1]#2#3{\def\tmpa{#2}\def\tmpb{#3}\bprintvA #1,,}
+\def\bprintvA #1,{%
+ \if^#1^\tmpb\else
+ \RetrieveFieldIn{#1}\tmp
+ \ifx \tmp\empty
+ \else \tmpa \def\tmpb{}\def\tmpa{}%
+ \fi
+ \expandafter \bprintvA
+ \fi
+}
+
+% Various macros + multilinguas:
+
+\def\bibwarning{\opwarning{Missing field \string"\bibfieldname\string" in [\EntryKey]}}
+
+\def\slet#1#2{\expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+\def\mtdef#1#2#3#4{\sdef{_mt:#1:en}{#2} \sdef{_mt:#1:cs}{#3}
+ \if$#4$\slet{_mt:#1:sk}{_mt:#1:cs}
+ \else \sdef{_mt:#1:sk}{#4}
+ \fi
+}
+
+\endinput
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+The following command is implemented here:
+
+ \usebib/<sorttype> (<style>) <bibfiles>
+
+where <sorttype> is one letter 'c' (references ordered by citation order in
+the text) or 's' (references ordered by key in the style file),
+<style> is the part of the name `opmac-bib-<style>.tex' of the style file
+and <bibfiles> are one or more .bib file names without suffix separated by
+comma without space. Example:
+
+ \usebib/s (simple) mybase,yourbase
+
+This command reads the <bibfiles> directly and creates the list of
+bibliographics references (only those declared by by \cite[] or \nocite[]
+in the text). The formatting of such references is defined in the style
+file. The usage is mentioned in OPmac documentation too.
+
+The principle "first entry wins" is used. Suppose
+
+ \usebib/s (simple) local,global
+
+If an entry with the same label is declared in local.bib and in
+global.bib too then the first wins. So, you can set an exceptions in your
+local.bib file for your document, for example.
+
+
+Notes for style writers:
+------------------------
+
+The opmac-bib-<style>.tex file must define the commands:
+
+\authorname ... formatting of one name in the authors list. The macro can
+ use the following data: \NameCount (the number of the currently
+ processed author name in the list), 0\namecount (the total number of the
+ authors in the list), \Lastname, \Firstname, \Von, \Junior (the parts of
+ the name). See the documentation of the librarian package for more info.
+
+\editorname ... the same as \authorname, but for editors list.
+
+print:<entrytype> (defined by \sdef) for formatting the entry of <entrytype>.
+ The <entrytype> have to be lowercase. This command can use the command:
+
+\bprinta [<fieldname>] {<if defined>} {<if not defined>}. The part <if defined>
+ is executed if <fieldname> is declared in .bib file for the entry which is
+ currently processed. Else the part <if not defined> is processed.
+ The part <if defined> can include the * parameter which is replaced
+ by the value of the <fieldname>. The part <if not defined> can include
+ the \bibwarning command if the <fieldname> is mandatory.
+\bprintb [<fieldname>] {<if defined>} {<if not defined>}. The same as
+ \bprinta, but the ##1 parameter is used instead *. Differences: ##1
+ parameter can be used more than once and can be enclosed in nested
+ braces. The * parameter can be used at most once and cannot be enclosed
+ in braces. Warning: if the \bprintb commands are nested (\bprintb in
+ \bprintb), then you need to write ####1 parameter for internal \bprintb.
+ But if \bprinta commands are nested then the * parameter is not dubbled.
+\pbprintc \macro {<if non-empty>}. The <if non-empty> part is executed if
+ \macro is non-empty. The * parameter can be used, it is replaced by
+ the \macro.
+\bprintv [<field1>,<field2>,...] {<if defined>} {<if not defined>}.
+ The part <if defined> is executed if <field1> or <filed2> or ...
+ is defined, else the second part <if not defined> is executed.
+ There is one filed name or the list field names separated by commas.
+ The parts cannot include any parameter.
+
+There are two special fieldnames: !author and !editor. The processed list of
+authors or editors (by repeatedly calling \authorname or \editorname) are
+used here insted of raw data.
+
+You can define print:BEGIN and/or print:END which is executed at the begin or
+end of each <entrytype>. The formatting does not solve the numbering and
+paragraph indentation of the entry. This is processed by \printbib macro
+used in OPmac (and may be redefined by the author or document designer).
+
+You can declare \bimark={something} in the print:END macro. This bibmark is
+saved to the .ref file (created by OPmac) and used in the next TeX run as \cite
+marks when \nonumcitations is set.
+
+The whole style file is read in the group during \usebib command is executed
+before typesetting the reference list. Each definition or setting is local
+here.
+
+If you are using non-standard fieldnames in .bib database and bib. style,
+you has to declare them by \CreateField {<fieldname>}.
+
+You can declare \SortingOrder in the manner documented by librarian package.
+
+If your style adds some words or abbreviations you can make them
+multilingual by saying \mtext{<label>} instead such word and
+\mtdef{<label>} {<English>} {<Czech>} {<Slovak>} declaration.
+The right part is printed by current value of the \language regiter.
+You can add more languages by re-defining the \mtdef command
+and by \sdef{lan:<language number>}{<language mark>}. See the opmac.tex
+for inspiration.
+
+If you are using \nonumcitations, then the \bibmark toks register have to be
+prepared in the style file (in print:BEGIN, print:END, in \authorname etc.)
+This value will be used in the \cite[] places in the document.
+
+The example of the style file is in opmac-bib-simple.tex.
+
+User or author of the bib. style can create the hidden field which has a
+precedence while sorting names. Example:
+
+ \CreateField {sortedby}
+ \SpecialSort {sortedby}
+
+Suppose that the .bib file includes:
+
+ ...
+ author = "Jan Chadima",
+ sortedby = "Hzzadima Jan",
+ ...
+
+Now, this author is sorted between H and I, because the Ch digraph in this
+name has to be sorted by this rule.
+
+If you need (for example) to place the autocitations before other citations,
+then you can mark your entries in .bib file by sortedby = "@", because this
+character is sorted before A.
+
+
+History:
+--------
+
+Apr. 2014: released
+Jan. 2016: "first entry wins" implemented
+Apr. 2016: \readentry -> \readbibentry, \usebib->\MakeReference
+Feb. 2018: \input librarian does not create \jobname.lbr
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end of the opmac-bib.tex
diff --git a/Master/texmf-dist/tex/luatex/optex/verbatim.opm b/Master/texmf-dist/tex/luatex/optex/verbatim.opm
new file mode 100644
index 00000000000..acc7922a8da
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/optex/verbatim.opm
@@ -0,0 +1,189 @@
+%% This is part of OpTeX project, see http://petr.olsak.net/optex
+
+\_codedecl \begtt {Verbatim <2020-02-14>}
+
+\_newdimen\_ttindent \_ttindent=\_parindent
+ % indentation in \begtt...\endtt and \verbinput
+\_def\_ttskip{\medskip} % space above and below \begtt, \verbinput
+\_mathchardef\_ttpenalty=100 % penalty between lines in \begtt, \verbinput
+
+\_def\_code#1{\_unexpanded\_ea{\_csname _code \_endcsname{#1}}}
+\_protected\_sdef{_code }#1{{\_escapechar=-1 \_ea}%
+ \_ea\_printinverbatim\_ea{\_detokenize{#1}}}
+\_def\_printinverbatim#1{\_leavevmode\_hbox{\_tt \_the\_intthook\_relax #1}}
+
+\_public \code ;
+
+\_newcount\_ttline \_ttline=-1
+\_newcount\_viline
+\_newread\_vifile
+
+\_newcatcodetable \_verbatimcatcodes
+\_def\_setverb{\_begingroup
+ \_def\do##1{\_catcode`##1=12 }
+ \_dospecials
+ \_savecatcodetable\_verbatimcatcodes % all characters are normal
+ \_endgroup
+}
+\_setverb
+\_def\_setverb{\_catcodetable\_verbatimcatcodes }%
+
+% \begtt ... \endtt
+
+\_eoldef \_begtt #1{%
+ \_par \_vskip\_parskip \_ttskip \_bgroup \_wipeepar
+ \_setverb \_adef{ }{\ }%
+ \_parindent=\_ttindent \_parskip=0pt
+ \_the\_tthook #1%
+ \_ifnum\_ttline<0 \_else
+ \_tenrm \_thefontscale[700]\_ea\_let\_ea\_sevenrm\_the\_font
+ \_toksapp\_everypar{\_global\_advance\_ttline by1 \_printttline}\_fi
+ \_def\par##1{\_endgraf\_ifx##1\_egroup\_else\_penalty\_ttpenalty\_leavevmode\_fi ##1}%
+ \_obeylines \_startverb}
+
+\_catcode`\|=0 \_catcode`\\=12
+ |_def|_startverb#1\endtt{|_tt|_the|_ptthook#1|_endtt}
+|_normalcatcodes
+
+\def\_endtt{\_egroup\_par\_ttskip\_testparA}
+\_def\_testparA{\_ea\_testparB\_romannumeral-`\.}
+\_def\_testparB{\_futurelet\_tmpa\_testparC}
+\_def\_testparC{\_ifx\_tmpa\_par\_else\afternoindent\_fi}
+
+\_def\_printttline{\_llap{\_sevenrm\_the\_ttline\_kern.9em}}
+
+\_newtoks\_tthook
+\_newtoks\_ptthook
+\_newtoks\_intthook
+
+\_def\_activettchar#1{%
+ \_ifx\_savedttchar\_undefined\_else \_catcode\_savedttchar=\_savedttcharc \_fi
+ \_chardef\_savedttchar=`#1%
+ \_chardef\_savedttcharc=\_catcode`#1%
+ \_adef{#1}{{\_setverb\_adef{ }{\ }\_catcode`#1=13 \_ea}\_readverb}%
+ \_bgroup\_lccode`\~=`#1\_lowercase{\_egroup\_def\_readverb ##1~}{\_printinverbatim{##1}}%
+ \_catcode`#1=13
+}
+
+\_newcount\_viline
+\_newread\_vifile
+
+\_def\_verbinput (#1) #2 {\_par \_def\_tmpa{#2}%
+ \_ifx\_vifilename\_tmpa \_else
+ \_openin\_vifile=#2
+ \_global\_viline=0 \_global\_let\_vifilename=\_tmpa
+ \_ifeof\_vifile
+ \_opwarning{\_noexpand\verbinput - file "#2" is unable to reading}
+ \_ea\_ea\_ea\_skiptorelax
+ \_fi
+ \_fi
+ \_viscanparameter #1+\_relax
+}
+\_def\_skiptorelax#1\_relax{}
+
+\_def \_viscanparameter #1+#2\_relax{%
+ \_if$#2$\_viscanminus(#1)\_else \_viscanplus(#1+#2)\_fi
+}
+\_def\_viscanplus(#1+#2+){%
+ \_if$#1$\_tmpnum=\_viline
+ \_else \_ifnum#1<0 \_tmpnum=\_viline \_advance\_tmpnum by-#1
+ \_else \_tmpnum=#1
+ \_advance\_tmpnum by-1
+ \_ifnum\_tmpnum<0 \_tmpnum=0 \_fi % (0+13) = (1+13)
+ \_fi \_fi
+ \_edef\_vinolines{\_the\_tmpnum}%
+ \_if$#2$\_def\_vidolines{0}\_else\_edef\_vidolines{#2}\_fi
+ \_doverbinput
+}
+\_def\_viscanminus(#1-#2){%
+ \_if$#1$\_tmpnum=0
+ \_else \_tmpnum=#1 \_advance\_tmpnum by-1 \_fi
+ \_ifnum\_tmpnum<0 \_tmpnum=0 \_fi % (0-13) = (1-13)
+ \_edef\_vinolines{\_the\_tmpnum}%
+ \_if$#2$\_tmpnum=0
+ \_else \_tmpnum=#2 \_advance\_tmpnum by-\_vinolines \_fi
+ \_edef\_vidolines{\_the\_tmpnum}%
+ \_doverbinput
+}
+\_def\_doverbinput{%
+ \_tmpnum=\_vinolines
+ \_advance\_tmpnum by-\_viline
+ \_ifnum\_tmpnum<0
+ \_openin\_vifile=\_vifilename\_space
+ \_global\_viline=0
+ \_else
+ \_edef\_vinolines{\_the\_tmpnum}%
+ \_fi
+ \_vskip\_parskip \_ttskip \_bgroup \_wipeepar
+ \_setverb \_adef{ }{\ }%
+ \_ifx\_savedttchar\_undefined \_else \_catcode\_savedttchar=12 \_fi
+ \_parindent=\_ttindent \_parskip=0pt
+ \_the\_tthook\_relax
+ \_ifnum\_ttline<-1 \_else
+ \_tenrm \_thefontscale[700]\_ea\_let\_ea\_sevenrm\_the\_font
+ \_everypar\_ea{\_the\_everypar \_glob\_advance\_ttline by1 \_printttline}\_fi
+ \_def\par##1{\_endgraf\_ifx##1\_egroup\_else\_penalty\_ttpenalty\_leavevmode\_fi ##1}%
+ \_obeylines \_tmpnum=0 \_lccode`\~=`\^^M \_lowercase{\_def\_tmpb{~}}%
+ \_loop \_ifeof\_vifile \_tmpnum=\_vinolines\_space \_fi
+ \_ifnum\_tmpnum<\_vinolines\_space
+ \_vireadline \_advance\_tmpnum by1 \_repeat %% skip line
+ \_ifnum\_ttline=-1 \_ttline=\_viline \_let\_glob=\_relax \_else\_let\_glob=\_global \_fi
+ \_tmpnum=0 \_ifnum\_vidolines=0 \_tmpnum=-1 \_fi
+ \_ifeof\_vifile \_tmpnum=\_vidolines\_space \_fi
+ \_loop \_ifnum\_tmpnum<\_vidolines\_space
+ \_vireadline
+ \_ifeof\_vifile \_tmpnum=\_vidolines\_space \_else \_viprintline \_fi %% print line
+ \_ifnum\_vidolines=0 \_else\_advance\_tmpnum by1 \_fi
+ \_repeat
+ \_tt\_ea\_the\_ea\_ptthook\_tmpb\_egroup\_par\_ttskip\_testparA
+}
+\_def\_vireadline{\_read\_vifile to \_tmp \_global\_advance\_viline by1 }
+\_def\_viprintline{\_ea\_addto\_ea\_tmpb\_ea{\_tmp}}
+
+\_public
+ \begtt \activettchar \tthook \ptthook \intthook \verbinput ;
+
+
+
+\_endcode %---------------------------------------
+
+`\code{text}` is a macro which writes verbatim-like inline text and it is
+robust to use it in parameters of macros or section names etc. User have to
+escape the following characters: percent, hash mark, escape, space (if there
+are more than one consecutive spaces) and `{`, `}` (if these braces are
+unbalanced in the `\code` parameter). For example
+
+\begtt
+ \code{\\text, \%\#} ... \text, %#
+ \code{@{..}*&^$ $} ... prints the same without escaping, but you can
+ escape these characters too, if you want.
+ \code{a \ b} ... two spaces between a b, the second one must be escaped
+ \code{xy\{z} ... unbalanced brace must be escaped
+\endtt
+
+If you set a character as `\activettchar` then it can be used as boundary
+character of inline code. The text betweent these boundary characters are
+printed without any change. For example
+\code{\`}`\print % whatever #&`\code{\`} does `\print % whatever #&`
+if `\activettchar`\code{\`} was declared.
+
+But this in/line verbatim text cannot be used inside parameters of
+macros, for example inside section names. Use `\code` in such situation.
+
+
+\secc Implementation notes
+
+If the code is used in non-detokenized `\write` parameter, we must to
+`detokenize` its parameter and write `\code` as prefix again. The second
+(internal) `\code` is a macro with the name followed by a space. So
+
+\begtt
+ \code{\\aha\%} ... writes: \code {\\aha\%} into workong file.
+\endtt
+
+This can be read again without any chnge of meaning of the parameter (the
+second space after `\code` sequence will be ingnored).
+
+If the `\code` is used in normal horizontal mode, then escape characters are
+ignored using `\ecsapechar=-1 \detokenize`.
+
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index ad43ab551a4..01a692897b4 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -898,6 +898,7 @@ chomp (my $ctan_root = `tlpkginfo --ctan-root`);
'onepagem', "die 'skipping, use piff'",
'opacity-pro', "die 'skipping, adobe required (dps)'",
'opensans', "&MAKEcopy",
+ 'optex', "&MAKEflatten",
'optima', "die 'skipping, nonfree font'",
'osa', "die 'skipping, relies on endfloat.cfg and non-unique filenames'",
'osmanian', "die 'skipping, no good license info'",
@@ -3250,6 +3251,7 @@ $standardttf = '\.ttf|\.TTC';
'mathspic' => 'mathspic.1',
'mkjobtexmf' => 'mkjobtexmf.man',
'musixtnt' => '\.1$',
+ 'optex' => '\.1$',
'pedigree-perl' => '\.1$',
'perltex' => 'perltex.1',
'pdfbook2' => '\.1$',