summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/mex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-12 23:46:29 +0000
committerKarl Berry <karl@freefriends.org>2006-01-12 23:46:29 +0000
commit34cf2bced7210d5c38431cd36ed4e73999cf0444 (patch)
treef34316ebc264344b217ffcd924c57c2c4bb63d02 /Master/texmf-dist/tex/mex
parentadc8aaaf59099761577342d1050abb05625eeffc (diff)
trunk/Master/texmf-dist/tex/mex
git-svn-id: svn://tug.org/texlive/trunk@617 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/mex')
-rw-r--r--Master/texmf-dist/tex/mex/base/lamex.tex168
-rw-r--r--Master/texmf-dist/tex/mex/base/mex.tex56
-rw-r--r--Master/texmf-dist/tex/mex/base/mex1.tex776
-rw-r--r--Master/texmf-dist/tex/mex/base/mex2.tex98
-rw-r--r--Master/texmf-dist/tex/mex/base/mexconf.tex91
-rw-r--r--Master/texmf-dist/tex/mex/config/mex.ini22
-rw-r--r--Master/texmf-dist/tex/mex/config/pdfmex.ini4
-rw-r--r--Master/texmf-dist/tex/mex/utf8mex/utf8-pl.tex119
-rw-r--r--Master/texmf-dist/tex/mex/utf8mex/utf8mex.ini33
-rw-r--r--Master/texmf-dist/tex/mex/utf8mex/utf8plsq.tex65
10 files changed, 1432 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/mex/base/lamex.tex b/Master/texmf-dist/tex/mex/base/lamex.tex
new file mode 100644
index 00000000000..469e6cd5ea2
--- /dev/null
+++ b/Master/texmf-dist/tex/mex/base/lamex.tex
@@ -0,0 +1,168 @@
+% This is LaMeX.TeX - the Polish LaTeX format.
+% (The version number and date is at the end of the file)
+%
+% Authors: Marek Ry\'cko & Bogus\l{}aw Jackowski
+%
+% This macro file belongs to the public domain
+% under the conditions specified by the author of TeX:
+%
+% ``Macro files like PLAIN.TEX should not be changed in any way,
+% except with respect to preloaded fonts,
+% unless the changes are authorized by the authors of the macros.''
+%
+% Donald E. Knuth
+%
+% For details see MEXINFO.ENG or MEXINFO.POL.
+%
+\catcode`\{=1 % left brace is begin-group character
+\catcode`\}=2 % right brace is end-group character
+\message{Preloading the LaMeX format:}
+%
+\input mex1
+
+% redefinition of the macro /
+\@ct\/ % make slash active
+\let\P@lch\l@slash
+\let/\P@lch
+
+% reading LPLAIN with `\input hyphen' eliminated
+\let\@ridump\dump \let\dump\endinput
+\let\of@n\font \let\font\f@n
+\let\i@t\input
+\let\i@tf H% input file type
+\def\input#1 {%
+ \if\i@tf H\let\i@tf F\message{SKIPPED}%
+ \else\if\i@tf F\let\i@tf T\i@t\lf@nts \relax
+ \else\if\i@tf T\let\i@tf X\let\input\i@t \input\l@tex \relax
+ \else\message{This can't happen!!!}%
+ \fi\fi\fi}%
+ % in LPLAIN there will be three \input-s:
+ % \input hyphen \input lfonts \input latex
+ % (each followed by a space token)
+\i@t \lpl@in \relax
+\catcode`@=11 % @ is again a letter
+\let\font\of@n \let\f@n\undefined
+\let\i@t\undefined
+\let\dump\@ridump
+\let\@ridump\undefined
+
+% Fonts loaded on demand:
+% In the following definition copied directly from the file `LFONTS.TEX'
+% there is only one change:
+% \global\expandafter\font
+% is changed to
+% \expandafter\f@@nt
+% (see MEX1.TEX file for the definition of \f@@nt).
+\def\@getfont#1#2#3#4{\@ifundefined{\string #1\string #3}{\expandafter
+ \f@@nt \csname \string #1\string #3\endcsname #4\relax
+ \@addfontinfo#3{\textfont #2\csname \string #1\string #3\endcsname
+ \scriptfont #2\csname \string #1\string #3\endcsname
+ \scriptscriptfont #2\csname \string #1\string #3\endcsname
+ \def#1{\fam #2\csname\string #1\string #3\endcsname}}}{}#3#1}
+% redefinitions:
+% (see MEX1.TEX file for the definition of \redeff@nt).
+\redeff@nt\@mbi
+\redeff@nt\@mbsy
+% there is no need to redefine \@mcsc and \@mss.
+
+% If prefixing is used then the macros writing index and glossary
+% should use the slash of category ``other''
+% (and active slash should expand to ``other'' slash --
+% this makes possible to use macros containing active slash
+% in their replacement text):
+\expandafter\def\expandafter\@sanitize\expandafter
+{\@sanitize \ifx\pr@fix T\@makeother\/\let/\normalslash\fi}
+
+% the \LaMeX logo:
+\def\LaMeX{{\rm L\kern-.345em\raise.3ex\hbox{\sc a}\kern-.16em
+ M\kern-.111em\lower.6ex\hbox{E}\kern-.075emX}}%
+
+\input mex2
+
+\let\emulateLaTeX\emulateplain
+
+% Dates and captions (following the ideas of J. Shrod and H. Partl):
+% (for use with special style files:
+% IARTICLE.STY, IREPORT.STY, IBOOK.STY, ILETTER.STY,
+% IPROC.STY, IMAKEIDX.STY).
+
+\gdef\datepolish{\def\today{\number\day~\ifcase\month\or
+ stycznia\or lutego\or marca\or kwietnia\or maja\or czerwca\or
+ lipca\or sierpnia\or wrze\pslash snia\or pa\pslash xdziernika\or
+ listopada\or grudnia\fi~\number\year~r.}}
+
+\gdef\dateenglish{\def\today{\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or
+ December\fi~\number\day,~\number\year}}
+
+\gdef\captionsenglish{%
+\def\refname{References}%
+\def\abstractname{Abstract}%
+\def\bibname{Bibliography}%
+\def\chaptername{Chapter}%
+\def\appendixname{Appendix}%
+\def\contentsname{Contents}%
+\def\listfigurename{List of Figures}%
+\def\listtablename{List of Tables}%
+\def\indexname{Index}%
+\def\figurename{Figure}%
+\def\tablename{Table}%
+\def\partname{Part}%
+\def\enclname{encl}%
+\def\ccname{cc}%
+\def\headtoname{To}%
+\def\pagename{Page}%
+\def\seename{see}}
+
+\gdef\captionspolish{%
+\def\refname{Cytowana literatura}%
+\def\abstractname{Streszczenie}%
+\def\bibname{Bibliografia}%
+\def\chaptername{Rozdzia\pslash l}%
+\def\appendixname{Dodatek}%
+\def\contentsname{Spis tre\pslash sci}%
+\def\listfigurename{Wykaz ilustracji}%
+\def\listtablename{Wykaz tablic}%
+\def\indexname{Skorowidz}%
+\def\figurename{Rysunek}%
+\def\tablename{Tablica}%
+\def\partname{Cz\pslash e\pslash s\pslash c}%
+\def\enclname{Za\pslash l.}%
+\def\ccname{Do wiadomo\pslash sci}%
+\def\headtoname{Do}%
+\def\pagename{Strona}%
+\def\seename{patrz}}
+
+\datepolish \captionspolish
+
+% LaMeX version of the Polish special discretionary:
+\let\sdiscret\= \def\={\protect\sdiscret}
+% In LaMeX \@acciii stores the new meaning of \= (a special discretionary).
+% In tabbing environment, where \= has a different meaning
+% one may use \a= as the special discretionary.
+\let\@acciii\=
+\expandafter\let\csname a=\endcsname\=
+
+% Format identification:
+%
+\begingroup \let~\space \def\'{\string\'} \catcode`\&=12 % other
+%
+% identification data:
+\def\a{LaMeX} % format name
+\def\b{1.05} % format version
+\def\c{18~XII~1993} % format date
+%
+\edef\x{\a~Version~\b~~\c~(B.~Jackowski~&~M.~Ry\'cko)}
+\edef\z{\the\everyjob\immediate\write16{\x}\noexpand\the\everyjob}
+\global\everyjob\expandafter{\z}
+\newtoks\everyjob\global\everyjob{}
+%
+\global\let\plainfmtname\fmtname
+\global\let\plainfmtversion\fmtversion
+\xdef\fmtname{\a}
+\xdef\fmtversion{\b}% identifies the current format
+%
+\endgroup
+
+\@th\@% @ are no longer letters
diff --git a/Master/texmf-dist/tex/mex/base/mex.tex b/Master/texmf-dist/tex/mex/base/mex.tex
new file mode 100644
index 00000000000..a6b0854f2dc
--- /dev/null
+++ b/Master/texmf-dist/tex/mex/base/mex.tex
@@ -0,0 +1,56 @@
+% This is MEX.TEX - the Polish plain TeX format.
+% (The version number and date is at the end of the file)
+%
+% Authors: Marek Ry\'cko & Bogus\l{}aw Jackowski
+%
+% This macro file belongs to the public domain
+% under the conditions specified by the author of TeX:
+%
+% ``Macro files like PLAIN.TEX should not be changed in any way,
+% except with respect to preloaded fonts,
+% unless the changes are authorized by the authors of the macros.''
+%
+% Donald E. Knuth
+%
+% For details see MEXINFO.ENG or MEXINFO.POL.
+%
+\catcode`\{=1 % left brace is begin-group character
+\catcode`\}=2 % right brace is end-group character
+\message{Preloading the MeX format:}
+%
+\input mex1
+
+% reading PLAIN with `\input hyphen' eliminated
+\let\i@t\input \def\input#1 {\message{SKIPPED}}%
+ % in PLAIN there is only `\input hyphen' followed by a space token
+\let\of@n\font \let\font\f@n
+\i@t \pl@in \relax
+\catcode`@=11 % @ is again a letter
+\let\input\i@t \let\i@t\undefined
+\let\font\of@n \let\f@n\undefined
+
+\input mex2
+
+% Format identification:
+%
+\begingroup \let~\space \def\'{\string\'} \catcode`\&=12 % other
+%
+% identification data:
+\def\a{MeX} % format name
+\def\b{1.05} % format version
+\def\c{18~XII~1993} % format date
+%
+\edef\x{This~is~\a~~Version~\b~~\c~~(B.~Jackowski~&~M.~Ry\'cko)}
+\edef\z{\immediate\write16{\x}\noexpand\the\everyjob}
+\global\everyjob\expandafter{\z}
+\newtoks\everyjob\global\everyjob{}
+%
+\global\let\plainfmtname\fmtname
+\global\let\plainfmtversion\fmtversion
+\xdef\fmtname{\a}
+\xdef\fmtversion{\b}% identifies the current format
+%
+\endgroup
+
+\@th\@% @ are no longer letters
+% local modifications, then \dump
diff --git a/Master/texmf-dist/tex/mex/base/mex1.tex b/Master/texmf-dist/tex/mex/base/mex1.tex
new file mode 100644
index 00000000000..77989347ae4
--- /dev/null
+++ b/Master/texmf-dist/tex/mex/base/mex1.tex
@@ -0,0 +1,776 @@
+% This is MEX1.TEX - a part of the Polish plain TeX and LaTeX formats.
+% Version 1.05, 18 December 1993
+%
+% Authors: Marek Ry\'cko & Bogus\l{}aw Jackowski
+%
+% This macro file belongs to the public domain
+% under the conditions specified by the author of TeX:
+%
+% ``Macro files like PLAIN.TEX should not be changed in any way,
+% except with respect to preloaded fonts,
+% unless the changes are authorized by the authors of the macros.''
+%
+% Donald E. Knuth
+%
+% For details see MEXINFO.ENG or MEXINFO.POL.
+%
+% INITIAL ASSIGNMENTS:
+\catcode`\#=6 % hash mark is macro parameter character
+\catcode`\^=7 % circumflex is for superscripts (and for the next line)
+\catcode`\^^I=10 % ascii tab is a blank space
+\chardef\active=13 \catcode`\~=\active % tilde is active
+\catcode`\^^L=\active \outer\def^^L{\par} % ascii form-feed is `\outer\par'
+\catcode`@=11 % @ is temporarily a letter
+
+\message{polish auxiliary macros,}
+% not available for user
+
+% macros for making operations on sequences:
+
+\def\m@pone%
+ #1% one-argument operation (applicable to hexadecimal numbers)
+% #2% a macro of the form `\do A\do C ...'
+ {%
+ \def\do##1{#1{\P@lcd{##1}}}%
+% #2% execute
+ }
+\def\m@ptwo%
+ #1% two-argument operation (applicable to hexadecimal numbers)
+% #2% a macro of the form `\do Aa\do Cc ...'
+ {%
+ \def\do##1##2%
+ {#1{\P@lcd{##1}}{\P@lcd{##2}}}%
+% #2% execute
+ }
+
+% operations on character codes and on pairs of char. codes:
+\def\l@t% make letter a character
+ #1%
+ {\catcode`#1=11 }
+\def\@th% make other a character
+ #1%
+ {\catcode`#1=12 }
+\def\@ct% make active a character
+ #1%
+ {\catcode`#1=\active}
+
+\def\mkl@t% make letter
+ #1%
+ {\catcode"#1=11 }
+
+\def\P@lsf% space factor of capital letters
+ #1%
+ {\sfcode"#1=999 }
+\def\P@lcase
+ #1% UC letter code
+ #2% lc letter code
+ {\uccode"#1="#1
+ \lccode"#2="#2
+ \uccode"#2="#1
+ \lccode"#1="#2 }
+\def\P@lm
+ #1% polish character code like 86
+ {%
+ \mathcode"#1="71#1 % e.g., \mathcode"86="7186
+ }
+
+% prepare reading the `font encoding' of the polish characters:
+
+% the primary meanings of the macros \@Pl and \@qq:
+
+% macro \@Pl for defining the encoding of polish characters:
+% syntax & semantics, e.g.:
+% \@Pl a a1
+% define a category code of ^^a1 as `letter',
+% define the token /a as a macro expanding to the letter ^^a1,
+% define the token /aa as a macro expanding to uppercase hexadecimal A1
+
+\@th\/% / is of category "other"
+\l@t\^^00% character of the code 0 is a letter
+\def\prim@Pl% Polish letter encoding
+ #1 % letter (e.g., a)
+ #2 % hex code (UC or lc) of a polish letter
+ {%
+ % during the execution of this definition
+ % all the codes of `a' and `A' must be `normal'
+ \def\defineone{\expandafter\def\csname/#1\endcsname}%
+ \def\definetwo{\expandafter\def\csname/#1#1\endcsname}%
+ % auxiliary macros for defining something later
+ % in the `\uppercase' environment such that #1
+ % is not converted to the uppercase
+ \uppercase{\def\H@x{#2}}%
+ \uppercase{\uccode`\a"#2}%
+ % if #2 is a hex number including lowercase
+ % letters, then they are first converted to uppercase
+ % (one of them may be `a')
+ % and then the UC code of `a' becomes temporarily
+ % a character of a code "#2
+ \ifnum"\H@x=0
+ \defineone{^^00}%
+ % the letter of the code 0 cannot be created by uppercacing
+ \else
+ \uppercase{\defineone{a}}%
+ % first convert a letter `a' to uppercase
+ % which is temporarily a character of a code "#2
+ % then define a token /#1 as expanding to this letter
+ \fi
+ \uccode`\a=`\A
+ % restore the original UC value for `a'
+ \uppercase{\definetwo{#2}}%
+ % if #2 is a hex number including lowercase
+ % letters, then they are first converted to uppercase
+ % (one of them may be `a')
+ % and then the control sequence like /aa is defined
+ % as a macro expanding to a two-digit hexadecimal (uppercase)
+ % representation of a code of the corresponding
+ % polish letter
+ \uppercase{\catcode"#2=11 }%
+ % assign category `letter' to #2
+ }%
+\catcode`\^^00=9% character of the code 0 is ignored
+
+\def\prim@qq% quotation mark encoding
+ % define /,, token as the hex code of the char ,, (etc.)
+ #1#2 % two characters representing a quote: ,, '' << >>
+ #3 % two heahadecimal digits (`af' etc.) (UC or lc)
+ {%
+ % #1#2 must have categories `other'
+ \uppercase{\expandafter\def\csname/#1#2\endcsname{#3}}%
+ % first convert #3 to uppercase and then
+ % define /,, token as the hex code of the char ,, (etc.)
+ }%
+
+% the secondary meanings of the macros \@Pl and \@qq:
+
+\@ct\^^00% character of the code 0 is active
+\def\sec@Pl% Polish letter encoding
+ #1 % letter (e.g., a)
+ #2 % hex code (e.g., a1) (UC or lc) of a polish letter
+ % - define the character of the code a1 as an active character
+ % - define this active character as a macro expanding to the
+ % polish diacritical letter corresponding to a, in the current
+ % font layout)
+ {%
+ % It is assumed that during the execution of this definition
+ % the UC code of `~' is 0
+ \def\defineit##1{\edef##1{\csname/#1\endcsname}}%
+ % auxiliary macro for defining something later
+ % in the `\uppercase' environment such that #1
+ % is not converted to the uppercase
+ \uppercase{\def\H@x{#2}}%
+ \uppercase{\uccode`\~"#2}%
+ % if #2 is a hex number including lowercase
+ % letters, then they are first converted to uppercase
+ % and then the UC code of `~' becomes temporarily
+ % a character of a code "#2
+ \ifnum"\H@x=0
+ \defineit{^^00}%
+ % the active char. of the code 0 cannot be created by uppercacing
+ \else
+ \uppercase{\defineit~}%
+ % first convert the active `~' to uppercase
+ % which is temporarily a character of a code "#2
+ % then define this new active character as a macro
+ % expanding to the Polish diacritical
+ % letter corresponding to #1 in the current font layout
+ \fi
+ \uccode`\~=\z@
+ % restore the original UC value for `~'
+ \uppercase{\catcode"#2\active}%
+ % assign category `active' to #2
+ }%
+\catcode`\^^00=9% character of the code 0 is ignored
+\def\sec@qq% quotation mark encoding
+ % define /,, token as the hex code of the char ,, (etc.)
+ #1#2 % two characters representing a quote: ,, '' << >>
+ #3 % two heahadecimal digits (`af' etc.) (UC or lc)
+ {}% do nothing
+
+% auxiliary macros for reading font definitions
+% from PLAIN.TEX and LFONTS.TEX files:
+
+% ASSUMPTION:
+%
+% It's assumed that in the files `plain.tex' and `lfonts.tex'
+% the commands `\font' consist of the following components:
+% 1. the control sequence \font
+% 2. a control sequence (TeX's font identifier)
+% 3. the equality sign =
+% 4. a (possibly empty) sequence of spaces
+% 5. a name of a font consisting of at least two characters
+
+\def\f@n#1=#2#3%
+ {%
+ \def\thepr@f{#2#3}%
+ \of@n#1%
+ \ifx\thepr@f\@ldpref % see the MEXCONF.TEX file
+ \n@wpref%
+ \else
+ \thepr@f%
+ \fi
+ }%
+
+% The command \f@@nt substitutes \font in the LaTeX macro \@getfont
+% used for loading font on demand.
+
+\def\f@@nt
+ #1% a control sequence name
+ % We assume that the macro \@getfont is used in such a way
+ % that the fourth parameter to this macro is either
+ % 1. a name of a font consisting of at least two characters or
+ % 2. a sequence of tokens expanding to a name of a font
+ % such that the first token expands to at least two
+ % first characters of this name.
+ % This assumption is satisfied by all standard versions
+ % of the LFONTS.TEX file.
+ %
+ % The token following `\f@@nt#1' is either the first letter
+ % of the font name (usually the letter `c' of the `cm...' name)
+ % or it is an abbreviation of a font name (a macro)
+ % expanding at the first level to a multicharacter name
+ % (e.g., `\@mbi' expanding to `cmmib10').
+ {\expandafter\f@@@t\expandafter#1}
+
+\def\f@@@t#1#2#3%
+ {%
+ \def\thepr@f{#2#3}%
+ \global\font#1%
+ \ifx\thepr@f\@ldpref % see the MEXCONF.TEX file
+ \n@wpref%
+ \else
+ \thepr@f%
+ \fi
+ }%
+
+% Macros for redefining font abbreviations like \@mbi and \@mbsy.
+% It is assumed that \@mbi and \@mbsy expand to a sequence to at least
+% two characters.
+
+\def\redeff@nt#1%
+ {\expandafter\redeff@@nt#1\redeff@@@nt#1}
+\def\redeff@@nt#1#2#3\redeff@@@nt#4%
+ {%
+ \def\thepr@f{#1#2}%
+ \edef#4%
+ {\ifx\thepr@f\@ldpref % see the MEXCONF.TEX file
+ \n@wpref%
+ \else
+ \thepr@f%
+ \fi#3}%
+ }%
+
+% auxiliary definitions for the lists of characters:
+\@th\/% / is of category `other'
+\def\P@lcd% Polish code
+ % \P@lcd{a} expands on the third level to something like 86
+ % (two-digit UC hex representation of code)
+ #1% letter
+ {\csname/#1#1\endcsname}%
+
+\def\P@lqq% Polish quote
+ % \P@lqq,, expands on the third level to two character hexadecimal
+ % code of the corresponding character
+ #1#2% representation of a quote
+ {\csname/#1#2\endcsname}
+
+% lists of Polish characters:
+\def\UCP@llist
+ {%
+ \do A% A with ogonek
+ \do C% accented C
+ \do E% E with ogonek
+ \do L% crossed L
+ \do N% accented N
+ \do O% accented O
+ \do S% accented S
+ \do X% accented Z
+ \do Z% dotted Z
+ }
+\def\P@llist
+ {%
+ \do A% A with ogonek
+ \do C% accented C
+ \do E% E with ogonek
+ \do L% crossed L
+ \do N% accented N
+ \do O% accented O
+ \do S% accented S
+ \do X% accented Z
+ \do Z% dotted Z
+ \do a% tailed a
+ \do c% accented c
+ \do e% tailed e
+ \do l% crossed l
+ \do n% accented n
+ \do o% accented o
+ \do s% accented s
+ \do x% accented z
+ \do z% dotted z
+ }
+\def\UClcP@llist
+ {%
+ \do Aa% A with ogonek
+ \do Cc% accented C
+ \do Ee% E with ogonek
+ \do Ll% crossed L
+ \do Nn% accented N
+ \do Oo% accented O
+ \do Ss% accented S
+ \do Xx% accented Z
+ \do Zz% dotted Z
+ }%
+
+% auxiliary macros for language and font layout definitions:
+\def\d@finelanguage
+ #1% language name (e.g., `english')
+ #2% full language name (if different from #1)
+ #3% layout codes
+ #4% hyphenation patterns file name
+ #5% special notation before reading hyphenation patterns
+ {%
+ \expandafter\def\csname f@nt#1\endcsname{#3}%
+ \donothyph@nate{#1}%
+ %
+ % `\chardef\...language=...\relax' etc.
+ \def\ch@rd{\expandafter\chardef\csname#1language\endcsname}%
+ \expandafter\ch@rd\number\count@\relax
+ \advance\count@1
+ %
+ \begingroup
+ \let\e\expandafter
+ %
+ % prepare reading the hyphenation patterns
+ \e\toks\e0\e{\r@adpatterns}%
+ \toks1{\r@adpatt{#1}{#2}{#4}{#5}}%
+ \xdef\r@adpatterns{\the\toks0 \the\toks1 }
+ %
+ % prepare executing the appropriate `\newlanguage' commands
+ % after reading PLAIN or LPLAIN
+ \e\toks\e0\e{\n@wlanguages}%
+ \e\toks\e1\e{\e\newlanguage\csname#1language\endcsname}%
+ \xdef\n@wlanguages{\the\toks0 \the\toks1 }%
+ %
+ \endgroup
+ }
+\def\r@adpatt
+ % the command used several times by \r@adpatterns:
+ % read the hyphenation patterns for the language #1
+ #1% name of the language (english, pl, pone, mazovia, latintwo, etc.)
+ #2% full language name
+ #3% name of the hyphenation patterns file
+ #4% special notation like \P@lhyphnotation
+ % Only \patterns and \hyphenation are to be defined globally;
+ % the rest of changes is to be done only for the time
+ % of reading patterns and exceptions.
+ % (Group around the replacement text of \r@adpatt added 18 XII 1993.)
+ {{%
+ \csname f@nt#1\endcsname % define the #1 encoding
+ #4% turn on the special notation
+ %
+ % define the name to be displayed:
+ \uppercase{\def\l@nname{#2}}%
+ \ifx\empty\l@nname \uppercase{\def\l@nname{#1}}\fi
+ %
+ \expandafter\language\csname#1language\endcsname% turn on the language
+ \expandafter\if\csname hyph@nat@#1\endcsname T%
+ \def\next{\input#3\relax}%
+ \def\extram@ssage{}%
+ \else
+ \def\next{\patterns{}\hyphenation{}}%
+ \def\extram@ssage{, empty}%
+ \fi
+ \message{hyphenation [\l@nname\extram@ssage],}%
+ \next
+ }}
+\def\P@lhyphnotation
+ % special notation to be introduced before reading
+ % polish hyphenation pattern files
+ {%
+ \m@ptwo\P@lcase\UClcP@llist% assign UC & lc codes
+ \prefixing
+ }
+\def\donothyph@nate
+ #1% language name
+ {%
+ % do not hyphenate this language unless otherwise specified:
+ \expandafter\let\csname hyph@nat@#1\endcsname F%
+ }
+\def\hyph@nate
+ % allow hyphenating this language
+ #1% (pl, pone, mazovia, ...)
+ {\expandafter\let\csname hyph@nat@#1\endcsname T}%
+
+% The main macros for defining languages.
+
+% The following macros can be used to define languages
+% (almost) arbitrary number of times and in any order.
+
+\def\d@finesinglelanguage
+ % macro for defining `single-layout languages', i.e., languages,
+ % where characters are in the same positions for all fonts:
+ #1% language name (e.g., `english')
+ #2% language full name
+ #3% hyphenation patterns file name
+ {%
+ \d@finelanguage{#1}{#2}{}{#3}{}%
+ %
+ % For single-layout languages like English
+ % the commands \english and \englishlanguage are synonims.
+ % For the English language the following two lines are
+ % equivalent to: \let\english\englishlanguage
+ \def\l@t{\expandafter\let\csname#1\endcsname}%
+ \expandafter\l@t\csname#1language\endcsname%
+ }
+% define the Polish font layout (language in TeX terms):
+\def\d@finelayout
+ #1% layout (language) name (pl, pone, mazovia, latin)
+ #2% full language name
+ #3% layout codes
+ {%
+ \d@finelanguage{#1}{#2}{#3}{\P@lhyphen}{\P@lhyphnotation}%
+ }
+
+\message{prefixing,}
+% prefixing and non-prefixing
+
+% In the following section nothing is dependent on particular
+% codes of Polish characters in a font.
+
+% The following Polish characters in the Mazovia encoding
+% are used in comments:
+%
+% (meaning: /a /c /e /Z)
+
+% there are two possible notations:
+% 1. with \prefixing turned on: /a /c /e ...
+% 2. with \prefixing turned off (\nonprefixing): ...
+
+% prefixed /a (with active /) expands to a single letter
+
+\@ct\/
+\def\prefixing % / becomes `active' and meaning \P@lch
+ {\@ct \/% make / active
+ \let/\P@lch % assign the (Plain or LaTeX) meaning
+ \let\pr@fix T}
+\@th\/
+\def\nonprefixing % / becomes `other'
+ {\let\pr@fix F\@th\/}
+% we use \let\pr@fix T and \let\pr@fix F instead of \newif-s
+% because we are before reading plain
+
+% \normalslash expands to / of category `other'
+\def\normalslash{/}
+
+% In the forthcoming definitions the following short macro expanding to
+% \ifx followed by active / will be useful to make them more efficient:
+\@ct\/% / is active
+\def\P@lifs% \ifx active-slash
+ {\ifx/}
+\@th\/% / is "other" again
+% we will define a macro expanding to `\ifx/#1/\else...' where the first /
+% is active and the remaining ones are of the category `other'
+
+% The active / will be a synonim of the macro \P@lch,
+% where \P@lch is equivalent either to \pslash or to \l@slash
+% in Plain or in LaTeX, respectively;
+
+% \pslash (for Plain and to-be-protected in LaTeX)
+\expandafter\def\expandafter\pslash\expandafter#\expandafter1\expandafter
+ {\P@lifs
+ % Think about the two lines above as:
+ % \def\pslash#1{\ifx/
+ % where the / is active.
+ %
+ #1\expandafter/% the slash is of category `other'
+ \else\ifx#1\pslash\expandafter/% \pslash\pslash
+ \else\expandafter\ifx
+ \csname
+ /%
+ \noexpand#1% \noexpand is included in case of active #1
+ % or of /\a where \def\a{anything}
+ \endcsname
+ \relax % THEN:
+ \P@lerr{#1}%
+ \else
+ \@xpfififi
+ \csname/#1\endcsname
+ \fi\fi\fi}
+\def\@xpfififi{\expandafter\@xpiii}
+\def\@xpiii{\expandafter\@xpii\expandafter}%
+\def\@xpii{\expandafter\expandafter\expandafter}%
+% The \expandafter trickery in the macro replacement text causes
+% that in the correct use of the macro / or \pslash
+% (// \pslash\pslash /\pslash \pslash/ /a /e /c etc.)
+% after typesetting the appropriate character, no tokens from
+% the replacement text of this macro are left in the TeX's input
+% token list.
+\def\P@lerr
+ #1% illegal argument
+ {\begingroup
+ \newlinechar=`\*%
+ \errorcontextlines=0 %
+ \errhelp={%
+ Only the characters: aeclnosxzAECLNOSXYZ/ can appear after / .*%
+ % (We do not mention the possibility of writing /\pslash)
+ Proceed, I'll omit both / and the following character.*%
+ You can also correct your mistake by typing now `I' followed by*%
+ whatever should be in place of the incorrect pair of characters.*%
+ For example if you typed `/w' and you meant `w', type `Iw' now.}%
+ \errmessage{%
+ MeX error: Illegal pair of characters%
+ \space\space\noexpand/\noexpand#1\space\space occured}%
+ \endgroup}
+
+\@ct\/% / is active
+\def\l@slash{\protect\pslash}
+% In Plain \P@lch is \pslash, in LaTeX \P@lch is \l@slash.
+% Default (in Plain):
+\let\P@lch\pslash
+\let/\P@lch
+
+% Synonims to ,, '' << >> to be used in math mode:
+\def\plqq{\char"\P@lqq,, }% Polish left quote ,,
+\def\prqq{\char"\P@lqq'' }% Polish right quote ''
+\def\flqq{\char"\P@lqq<< }% French left quote <<
+\def\frqq{\char"\P@lqq>> }% French right quote >>
+
+\message{definitions of languages,}
+% initial values (prepare reading language definitions):
+\countdef\count@=255 \count@0 % for counting languages
+\def\empty{}
+\def\r@adpatterns{}
+\def\n@wlanguages{\count19=-1 }% starting from 0
+
+% the first (zero in fact) language is English
+\d@finesinglelanguage{english}{}{\@nghyphen}%
+
+% definitions of codes in the font layout in the Polish fonts:
+% (the hexadecimal digits may be upper or lowercase)
+
+% Each of the following \d@finelayout commands
+% includes the definition of a \f@nt<layout> command,
+% where <layout> is a font layout name like `pl' `mazovia' etc.
+
+% The \f@nt<layout> command results in executing several times
+% a command of the form: \@Pl <letter> <code>
+% and a command of the form: \@qq <char><char> <code>
+%
+% There are two meanings of the \@Pl and \@qq commands:
+% the primary meanings and the secondary meanings.
+%
+% The primary meanings of the commands \@Pl and \@qq
+% change the `state' of MeX, in the following way:
+%
+% command of the form: \@Pl <letter> <code>
+% (take \@Pl a a1 as an example, i.e., <letter>=a <code>=a1)
+% - define the character of the code a1 as a `letter'
+% - define the control sequence /a as a macro expanding to the
+% letter of the code a1
+% - define the control sequence /aa as a macro expanding to the
+% two-character uppercase hexadecimal code of the corresponding
+% letter, in this case to A1
+%
+% command of the form: \@qq <char><char> <code>
+% (take \@qq ,, ff as an example, i.e., <char>=, <code>=ff)
+% - define the control sequence /,, as a macro expanding to the
+% two-character uppercase hexadecimal code of the corresponding
+% quotation mark, in this case to FF
+
+% The secondary meanings of the commands \@Pl and \@qq are the following:
+
+% command of the form: \@Pl <letter> <code>
+% (take \@Pl a a1 as an example, i.e., <letter>=a <code>=a1)
+% - define the character of the code a1 as an active character
+% - define this active character as a macro expanding to the
+% polish diacritical letter corresponding to a, in the current
+% font layout)
+%
+% command of the form: \@qq <char><char> <code>
+% - do nothing
+
+% the default meaning is primary
+% it is redefined for a moment by the macro \layout
+
+\let\@Pl\prim@Pl
+\let\@qq\prim@qq
+
+% (The \f@nt... commands are used by the layout switching commands
+% -- see the MEX2.TEX file)
+
+% The PL font layout:
+% (The codes of the Polish letters in the PL font layout
+% equal to the corresponding codes of the Polish letters
+% in the Extended Computer Modern font layout;
+% This is the standard INTERNAL code of the MeX and LaMeX formats.)
+
+\def\standardf@ntlayout{pl}% might be moved to MEXCONF.TEX
+ % after checking out thoroughly if everything is OK.
+
+\d@finelayout{pl}{}
+{%
+\@Pl A 81 %
+\@Pl C 82 %
+\@Pl E 86 %
+\@Pl L 8a %
+\@Pl N 8b %
+\@Pl O d3 %
+\@Pl S 91 %
+\@Pl X 99 %
+\@Pl Z 9b %
+%
+\@Pl a a1 %
+\@Pl c a2 %
+\@Pl e a6 %
+\@Pl l aa %
+\@Pl n ab %
+\@Pl o f3 %
+\@Pl s b1 %
+\@Pl x b9 %
+\@Pl z bb %
+%
+\@qq ,, ff
+\@qq '' 22
+\@qq << ae
+\@qq >> af
+}
+
+% the Mazovia font layout:
+
+\d@finelayout{mazovia}{}
+{%
+\@Pl A 8f %
+\@Pl C 95 %
+\@Pl E 90 %
+\@Pl L 9c %
+\@Pl N a5 %
+\@Pl O a3 %
+\@Pl S 98 %
+\@Pl X a0 %
+\@Pl Z a1 %
+%
+\@Pl a 86 %
+\@Pl c 8d %
+\@Pl e 91 %
+\@Pl l 92 %
+\@Pl n a4 %
+\@Pl o a2 %
+\@Pl s 9e %
+\@Pl x a6 %
+\@Pl z a7 %
+%
+\@qq ,, ff
+\@qq '' 22
+\@qq << ae
+\@qq >> af
+}
+
+% the Latin 2 font layout:
+
+\d@finelayout{latintwo}{latin 2}
+{%
+\@Pl A a4 %
+\@Pl C 8f %
+\@Pl E a8 %
+\@Pl L 9d %
+\@Pl N e3 %
+\@Pl O e0 %
+\@Pl S 97 %
+\@Pl X 8d %
+\@Pl Z bd %
+%
+\@Pl a a5 %
+\@Pl c 86 %
+\@Pl e a9 %
+\@Pl l 88 %
+\@Pl n e4 %
+\@Pl o a2 %
+\@Pl s 98 %
+\@Pl x ab %
+\@Pl z be %
+%
+\@qq ,, ff
+\@qq '' 22
+\@qq << ae
+\@qq >> af
+}
+
+% the (old) P1 font layout:
+
+\d@finelayout{pone}{p1}
+{%
+\@Pl A 00 %
+\@Pl C 01 %
+\@Pl E 02 %
+\@Pl L 03 %
+\@Pl N 04 %
+\@Pl O 05 %
+\@Pl S 06 %
+\@Pl X 07 %
+\@Pl Z 08 %
+%
+\@Pl a 0a %
+\@Pl c 10 %
+\@Pl e 11 %
+\@Pl l 19 %
+\@Pl n 1b %
+\@Pl o 1c %
+\@Pl s 1d %
+\@Pl x 1e %
+\@Pl z 1f %
+%
+\@qq ,, 18
+\@qq '' 22
+\@qq << 1a
+\@qq >> 20
+}
+\count@0 % restore the normal value of the counter
+
+% macro for switching font layouts
+% (also turns on the appropriate hyphenation patterns)
+\def\layout
+ #1% language name (pl, mazovia etc...}
+ {%
+ % change the `state' of MeX -- remember the new layout:
+ \csname f@nt#1\endcsname%
+ % assign the category \letter to the Polish characters:
+ \m@pone\mkl@t\P@llist
+ % possibly define the Polish characters in the internal MeX encoding
+ % as active characters expanding to letters in the font codes:
+ \edef\currf@ntlayout{#1}%
+ \ifx\currf@ntlayout\standardf@ntlayout
+ % just leave as it is
+ \else
+ % define active Polish diacritical characters:
+ % first assign the secondary meaning to \@Pl and \@qq
+ \let\@Pl\sec@Pl \let\@qq\sec@qq
+ % now define the active characters of the internal MeX codes
+ % (the same as the codes of the \standardf@ntlayout)
+ \csname f@nt\standardf@ntlayout\endcsname%
+ % restore the primary meaning of \@Pl and \@qq
+ \let\@Pl\prim@Pl \let\@qq\prim@qq
+ \fi
+ \m@pone\P@lsf\UCP@llist% assign space factor 999 to UC Pol. let.
+ \m@ptwo\P@lcase\UClcP@llist% assign UC & lc codes
+ % note that UC & lc codes are assigned
+ % to the letters according to the FONT layout
+ % and not to the active characters expanding to them
+ % (so in nonstandard font layouts
+ % first expand, then apply \upper-lower-case)
+ \m@pone\P@lm\P@llist % assign mathcodes to polish letters
+ % change the meaning of `\polish' to one of the languages
+ \expandafter\let\expandafter\polish
+ \csname#1language\endcsname%
+ \language\polish
+ }
+
+% No languages are hyphenated
+% unless specified otherwise in the configuration file.
+
+\input mexconf % MeX configuration file
+
+% Read (empty or real) hyphenation patterns
+% for all defined languages and for all font layouts
+% (Prefixing is turned on automatically, then turned off):
+\r@adpatterns
+\nonprefixing % prefix notation should not be turned on while reading PLAIN
+\endinput
diff --git a/Master/texmf-dist/tex/mex/base/mex2.tex b/Master/texmf-dist/tex/mex/base/mex2.tex
new file mode 100644
index 00000000000..81de5331a95
--- /dev/null
+++ b/Master/texmf-dist/tex/mex/base/mex2.tex
@@ -0,0 +1,98 @@
+% This is MEX2.TEX - a part of the Polish plain TeX and LaTeX formats.
+% Version 1.05, 18 December 1993
+%
+% Authors: Marek Ry\'cko & Bogus\l{}aw Jackowski
+%
+% This macro file belongs to the public domain
+% under the conditions specified by the author of TeX:
+%
+% ``Macro files like PLAIN.TEX should not be changed in any way,
+% except with respect to preloaded fonts,
+% unless the changes are authorized by the authors of the macros.''
+%
+% Donald E. Knuth
+%
+% For details see MEXINFO.ENG or MEXINFO.POL.
+
+\n@wlanguages
+
+\message{redefinitions of plain rules,}
+
+% Polish \dospecials sometimes must \do something also with active /
+\let\plaindospecials\dospecials % save the original meaning
+\expandafter\def\expandafter\dospecials\expandafter
+{\dospecials \ifx\pr@fix T\do\/\fi}
+% see also the redefinition of \@sanitize in LaMeX
+
+% The definition of \=
+% If you type
+% `niebiesko\=czerwony'
+% to the input file then it will be hyphenated
+% niebiesko-
+% -czerwony
+% instead of:
+% niebiesko-
+% czerwony
+% The possibility of hyphenating both `niebiesko' and `czerwony' is retained.
+\exhyphenpenalty=10000 % breaking after explicit hyphen disabled
+\let\macron\=
+\def\={\kern0sp\discretionary{-}{-}{-}\penalty10000\hskip0sp\relax}
+% \kern0sp allows for the hyphenation of a word to the left of \=
+% \hskip0sp starts a new potentialy hyphenatable word
+% \penalty10000 disables line breaking at the glue.
+% (See The TeXbook, p. 454)
+% \penalty10000 is used instead of \nobreak deliberately because
+% \nobreak expands to \penalty\@MM and may cause troubles when written
+% in the expanded version to a file which is read while \catcode`@=12.
+% Please note that \= will work independently of the current value
+% of \hyphenchar. Always the character `-' is used. In particular, when
+% \hyphenchar does not lay between 0 and 255 breaking at \= is still allowed.
+
+% logos:
+\def\f@sl{\fontdimen1\the\font}% font slant
+% MeX
+\def\nM@X{M\kern-.111em\lower.6ex\hbox{E}\kern-.075emX}
+% to be used with slanted typefaces:
+\def\sM@X{M\kern-.25em\lower.6ex\hbox{E}\kern-.075emX}
+% general macro:
+\def\MeX{\ifnum\f@sl=0 \nM@X \else \sM@X \fi}
+
+% slightly different Polish mathematical customs
+% (write \arc\tg to obtain `arc tg' (with a tiny space))
+\def\arc#1{\mathop{\rm arc\,\escapechar-1 \string#1}\nolimits}
+
+\def\tg{\mathop{\rm tg}\nolimits}
+\def\tgh{\mathop{\rm tgh}\nolimits}
+\def\ctg{\mathop{\rm ctg}\nolimits}
+\def\ctgh{\mathop{\rm ctgh}\nolimits}
+
+% different shapes of less-or-equal and greater-or-equal:
+% in new positions in the font PLSY10 (family 2)
+\mathchardef\xleq="32AC \let\xle=\xleq
+\mathchardef\xgeq="32AD \let\xge=\xgeq
+
+% ``transparent'' space factor of the French closing quote:
+\sfcode`\>=\z@% 0
+% but NOT: \sfcode"\P@lqq>>=\z@% (following PLAIN TeX conventions)
+
+% Emulate the original plain and LaTeX formats using PL fonts:
+\def\emulateplain
+ {%
+ \exhyphenpenalty50
+ \let\=\macron
+ \let\slash\normalslash
+ \language\english
+ \nonfrenchspacing
+ \nonprefixing
+ }
+
+\message{defaults,}
+% (see the configuration file `MEXCONF.TEX'):
+
+\d@faultspacing
+\layout{\d@faultlayout} % defines also the meaning of `\polish'
+\language\d@faultlanguage
+\d@faultprefixing
+
+\endinput
+
diff --git a/Master/texmf-dist/tex/mex/base/mexconf.tex b/Master/texmf-dist/tex/mex/base/mexconf.tex
new file mode 100644
index 00000000000..47f0e07d33e
--- /dev/null
+++ b/Master/texmf-dist/tex/mex/base/mexconf.tex
@@ -0,0 +1,91 @@
+% This is MEXCONF.TEX - a part of the Polish plain TeX and LaTeX formats.
+% Version 1.05, 18 December 1993
+%
+% Authors: Marek Ry\'cko & Bogus\l{}aw Jackowski
+%
+% This macro file belongs to the public domain
+% under the conditions specified by the author of TeX:
+%
+% ``Macro files like PLAIN.TEX should not be changed in any way,
+% except with respect to preloaded fonts,
+% unless the changes are authorized by the authors of the macros.''
+%
+% Donald E. Knuth
+%
+% You are entitled to modify this file obeying the rules specified below.
+%
+% For details see MEXINFO.ENG or MEXINFO.POL.
+
+\message{MeX configuration,}
+
+% The following lines define which hyphenation patterns
+% are to be included in the current configuration of the MeX format.
+% We assume that fonts with different positions of Polish diacritical
+% characters can be used within the same document and each font layout
+% requires its own hyphenation patterns.
+% The standard positions of Polish diacritical characters in TeX's fonts
+% is the layout accepted at the 5th European TeX Conference in Cork (1990);
+% this layout is called here `PL'.
+%
+% The standard configuration of the MeX format includes the hyphenation
+% patterns for:
+% - the English language (OK for all fonts),
+% - the Polish language used with the fonts in the `PL' layout.
+% In such configuration switching to another font layout disables
+% hyphenation for the Polish language.
+%
+% However, the hyphenation patterns for other layouts of fonts including
+% Polish diacritical letters are prepared and if memory space in the
+% particular instalation of TeX permits the user is free to use INITEX
+% to generate a new MeX or LaMeX format containing these patterns.
+% Just `unpercent' some of the following lines.
+
+\hyph@nate{english}
+\hyph@nate{pl}
+%\hyph@nate{pone}
+%\hyph@nate{mazovia}
+%\hyph@nate{latintwo}
+
+% ``deafault'' means -- at the beginning
+% (unpercent only one possibility)
+\def\d@faultlayout
+ {pl}
+ %{mazovia}
+ %{latintwo}
+ %{pone}
+\def\d@faultlanguage
+ {\polish}
+ %{\english}
+\def\d@faultprefixing
+ {\nonprefixing}
+ %{\prefixing}
+\def\d@faultspacing
+ {\frenchspacing}
+ %{\nonfrenchspacing}
+
+% in PLAIN.TeX and LFONTS.TeX files the prefix:
+\def\@ldpref % exactly two characters
+ {cm}
+% is changed to:
+\def\n@wpref % an arbitrary number of characters
+ {pl}
+
+\def\pl@in % the name of the file containing the original plain TeX format
+ % (usually: `plain.tex')
+ {plain.tex}
+\def\lpl@in % the name of the file containing the original lplain file
+ % (usually: `lplain.tex')
+ {lplain.tex}
+\def\lf@nts % the name of the file containing the original lfonts file
+ % (usually: `lfonts.tex')
+ {lfonts.tex}
+\def\l@tex % the name of the file containing the original latex file
+ % (usually: `latex.tex')
+ {latex.tex}
+\def\P@lhyphen % name of the file containing Polish hyphenation patterns
+ % the patterns must be in the prefix notation
+ {plhyph.tex}
+\def\@nghyphen % name of the file containing the US-English
+ % hyphenation patterns (usually `hyphen.tex')
+ {hyphen.tex}
+\endinput
diff --git a/Master/texmf-dist/tex/mex/config/mex.ini b/Master/texmf-dist/tex/mex/config/mex.ini
new file mode 100644
index 00000000000..5e3bfa43d9a
--- /dev/null
+++ b/Master/texmf-dist/tex/mex/config/mex.ini
@@ -0,0 +1,22 @@
+%% Polish Plain format (for some historical reasons called MeX)
+%% Generowanie formatu MeX dla Web2c (teTeX, TeXlive), mikTeX itp.
+%% 21.06.2004 Staszek Wawrykiewicz (public domain)
+\ifx\pdfoutput\undefined \else
+ \ifx\pdfoutput\relax \else
+ %
+ % We're building the Mex format with the pdfetex engine (started 2004).
+ \input pdftexconfig
+ \pdfoutput=0
+ %
+ % pdfTeX related primitives are no longer hidden by default
+ % (started 2005). Uncomment and recreate the format files by running
+ % "fmtutil --all" resp. "fmtutil-sys --all" to revert to the old
+ % (2004) behaviour.
+ % \input pdftex-dvi.tex
+ %
+ \fi
+\fi
+%
+% the usual format initialization.
+\input mex
+\dump
diff --git a/Master/texmf-dist/tex/mex/config/pdfmex.ini b/Master/texmf-dist/tex/mex/config/pdfmex.ini
new file mode 100644
index 00000000000..cbbcf115d77
--- /dev/null
+++ b/Master/texmf-dist/tex/mex/config/pdfmex.ini
@@ -0,0 +1,4 @@
+% pdfmex.ini. Thomas Esser, 1999. Public domain.
+\input pdftexconfig.tex
+\input mex
+\dump
diff --git a/Master/texmf-dist/tex/mex/utf8mex/utf8-pl.tex b/Master/texmf-dist/tex/mex/utf8mex/utf8-pl.tex
new file mode 100644
index 00000000000..d6aa7590a84
--- /dev/null
+++ b/Master/texmf-dist/tex/mex/utf8mex/utf8-pl.tex
@@ -0,0 +1,119 @@
+%
+% utf8-pl.tex
+%
+% This file implements the conversion from UTF8 to PL
+% encoding (used by PLR fonts).
+%
+% Copyright (C) 2004 Wlodek Bzyl, <matwb@univ.gda.pl>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+\ifx\mubyte\undefined
+ \errhelp{Sorry, you can't use this file without encTeX ver. Jun. 2004.}
+ \errmessage{The encTeX extension of TeX is not found}
+ \endinput \fi
+
+% first, we set the identity mapping in xord/xchr:
+
+\count255=128
+\loop \xordcode\count255=\count255
+ \xchrcode\count255=\count255
+ \advance\count255 by 1
+\ifnum \count255<256 \repeat
+
+
+% next, we remove the current conversion table, if exists:
+
+{\catcode`\^^@=12
+\gdef\clearmubytes{\bgroup \count255=1
+ \loop \uccode`X=\count255
+ \uppercase{\mubyte XX\endmubyte}%
+ \advance\count255 by1
+ \ifnum\count255<256 \repeat
+ \mubyte ^^@^^@\endmubyte
+ \egroup}
+}
+\clearmubytes
+
+
+% include these files first, so we can redefine some characters later
+
+\input utf8math
+\input utf8unkn
+\input utf8plsq
+
+
+% create the conversion table:
+
+
+% uppercase letters
+
+\mubyte ^^81 ^^c4^^84\endmubyte % Aogonek
+\mubyte ^^82 ^^c4^^86\endmubyte % Cacute
+\mubyte ^^86 ^^c4^^98\endmubyte % Eogonek
+\mubyte ^^8a ^^c5^^81\endmubyte % Lslash
+\mubyte ^^8b ^^c5^^83\endmubyte % Nacute
+\mubyte ^^d3 ^^c3^^93\endmubyte % Oacute
+\mubyte ^^91 ^^c5^^9a\endmubyte % Sacute
+\mubyte ^^9b ^^c5^^bb\endmubyte % Zdotaccent
+\mubyte ^^99 ^^c5^^b9\endmubyte % Zacute
+
+% lowercase letters
+
+\mubyte ^^a1 ^^c4^^85\endmubyte % aogonek
+\mubyte ^^a2 ^^c4^^87\endmubyte % cacute
+\mubyte ^^a6 ^^c4^^99\endmubyte % eogonek
+\mubyte ^^aa ^^c5^^82\endmubyte % lslash
+\mubyte ^^ab ^^c5^^84\endmubyte % nacute
+\mubyte ^^f3 ^^c3^^b3\endmubyte % oacute
+\mubyte ^^b1 ^^c5^^9b\endmubyte % sacute
+\mubyte ^^bb ^^c5^^bc\endmubyte % zdotaccent
+\mubyte ^^b9 ^^c5^^ba\endmubyte % zacute
+
+% non-characters
+
+\chardef\erq="27
+\mubyte \erq ^^e2^^80^^99\endmubyte % right single quotation mark
+
+% there's no \elqq, \elq, they are the same
+% Unicode character as \crqq, \crq
+
+\chardef\endash="7B
+\chardef\emdash="7C
+\mubyte \endash ^^e2^^80^^93\endmubyte % en dash
+\mubyte \emdash ^^e2^^80^^94\endmubyte % em dash
+
+\chardef\utfinvexclamation="3C
+\chardef\utfinvquestion="3E
+\mubyte \utfinvexclamation ^^c2^^a1\endmubyte % inverted exclamation mark
+\mubyte \utfinvquestion ^^c2^^bf\endmubyte % inverted question mark
+
+\chardef\utfligatureff="0B
+\chardef\utfligaturefi="0C
+\chardef\utfligaturefl="0D
+\chardef\utfligatureffi="0E
+\chardef\utfligatureffl="0F
+\mubyte \utfligatureff ^^ef^^ac^^80\endmubyte % latin small ligature ff
+\mubyte \utfligaturefi ^^ef^^ac^^81\endmubyte % latin small ligature fi
+\mubyte \utfligaturefl ^^ef^^ac^^82\endmubyte % latin small ligature fl
+\mubyte \utfligatureffi ^^ef^^ac^^83\endmubyte % latin small ligature ffi
+\mubyte \utfligatureffl ^^ef^^ac^^84\endmubyte % latin small ligature ffl
+
+
+% finally, make the tables work
+
+\mubytein=1 \mubyteout=3
+
+\endinput
diff --git a/Master/texmf-dist/tex/mex/utf8mex/utf8mex.ini b/Master/texmf-dist/tex/mex/utf8mex/utf8mex.ini
new file mode 100644
index 00000000000..7a1a6423e57
--- /dev/null
+++ b/Master/texmf-dist/tex/mex/utf8mex/utf8mex.ini
@@ -0,0 +1,33 @@
+%% June 2004 W\l{}odek Bzyl (public domain)
+%% UTF8MeX
+%% MeX format for UTF-8 encoded files
+%%
+%% Requires:
+%% - version 7.5.3 of Web2C implementation of TeX
+%% - `utf8math.tex', `utf8raw.tex, `utf8unkn.tex'
+%% (these files belong to the EncTeX package:
+%% ftp://math.feld.cvut.cz/pub/olsak/enctex/)
+%%
+\ifx\pdfoutput\undefined \else
+ \ifx\pdfoutput\relax \else
+ %
+ % We're building the Mex format with the pdfetex engine (started 2004).
+ \input pdftexconfig
+ \pdfoutput=0
+ %
+ % pdfTeX related primitives are no longer hidden by default
+ % (started 2005). Uncomment and recreate the format files by running
+ % "fmtutil --all" resp. "fmtutil-sys --all" to revert to the old
+ % (2004) behaviour.
+ % \input pdftex-dvi.tex
+ %
+ \fi
+\fi
+%
+% the usual format initialization.
+\input mex
+\input utf8-pl
+%\input plaina4 % set \hsize and \vsize for A4 %not important, needs cslatex (SW)
+\everyjob=\expandafter{\the\everyjob
+ \message{This is UTF8MeX Version 0.1 13.VI.2004 (W. Bzyl)}}
+\dump
diff --git a/Master/texmf-dist/tex/mex/utf8mex/utf8plsq.tex b/Master/texmf-dist/tex/mex/utf8mex/utf8plsq.tex
new file mode 100644
index 00000000000..a8f1d999543
--- /dev/null
+++ b/Master/texmf-dist/tex/mex/utf8mex/utf8plsq.tex
@@ -0,0 +1,65 @@
+%
+% utf8plsq.tex
+%
+% UTF-8 characters expanding to control sequences which
+% are independent on internal TeX encoding.
+%
+% Note: the control sequences: \plqq, \prqq, \flqq, \frqq
+% are defined in mex1.tex.
+%
+% Copyright (C) 2004 Wlodek Bzyl, <matwb@univ.gda.pl>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program; if not, write to the Free Software
+% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+% punctuation
+
+\let\nbsp~
+\mubyte \nbsp ^^c2^^a0\endmubyte % no-break space
+\mubyte \quad ^^e2^^80^^83\endmubyte % em space
+\mubyte \plqq ^^e2^^80^^9e\endmubyte % double low-9 quotation mark
+\mubyte \prqq ^^e2^^80^^9d\endmubyte % double high-9 quotation mark
+\mubyte \flqq ^^c2^^ab\endmubyte % left-pointing double angle quotation mark
+\mubyte \frqq ^^c2^^bb\endmubyte % right-pointing double angle quotation mark
+\mubyte \dots ^^e2^^80^^a6\endmubyte % horizontal ellipsis
+\mubyte \- ^^c2^^ad\endmubyte % soft hyphen
+\def\utfhyphen{\discretionary{-}{-}{-}} % hyphenchar?
+\mubyte \utfhyphen ^^e2^^80^^90\endmubyte % hyphen
+
+% latin 1 characters
+
+\mubyte \ss ^^c3^^9f\endmubyte % latin small letter sharp s
+\mubyte \AA ^^c3^^85\endmubyte % latin capital letter a with ring above
+\mubyte \aa ^^c3^^a5\endmubyte % latin small letter a with ring above
+\mubyte \AE ^^c3^^86\endmubyte % latin capital ligature ae
+\mubyte \ae ^^c3^^a6\endmubyte % latin small ligature ae
+\mubyte \OE ^^c5^^92\endmubyte % latin capital ligature oe
+\mubyte \oe ^^c5^^93\endmubyte % latin small ligature oe
+\mubyte \O ^^c3^^98\endmubyte % latin capital letter o slash
+\mubyte \o ^^c3^^b8\endmubyte % latin small letter o slash
+
+% other text symbols
+
+\mubyte \dag ^^e2^^80^^a0\endmubyte % dagger
+\mubyte \ddag ^^e2^^80^^a1\endmubyte % double dagger
+\mubyte \S ^^c2^^a7\endmubyte % section sign
+\mubyte \P ^^c2^^b6\endmubyte % pilcrow sign
+
+% control sequences for Polish \leq and \geq symbols
+
+\mubyte \xle ^^e2^^89^^a4\endmubyte % less-than or equal to
+\mubyte \xge ^^e2^^89^^a5\endmubyte % greater-than or equal to
+
+\endinput