From 34cf2bced7210d5c38431cd36ed4e73999cf0444 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:46:29 +0000 Subject: trunk/Master/texmf-dist/tex/mex git-svn-id: svn://tug.org/texlive/trunk@617 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/mex/base/lamex.tex | 168 ++++++ Master/texmf-dist/tex/mex/base/mex.tex | 56 ++ Master/texmf-dist/tex/mex/base/mex1.tex | 776 +++++++++++++++++++++++++ Master/texmf-dist/tex/mex/base/mex2.tex | 98 ++++ Master/texmf-dist/tex/mex/base/mexconf.tex | 91 +++ Master/texmf-dist/tex/mex/config/mex.ini | 22 + Master/texmf-dist/tex/mex/config/pdfmex.ini | 4 + Master/texmf-dist/tex/mex/utf8mex/utf8-pl.tex | 119 ++++ Master/texmf-dist/tex/mex/utf8mex/utf8mex.ini | 33 ++ Master/texmf-dist/tex/mex/utf8mex/utf8plsq.tex | 65 +++ 10 files changed, 1432 insertions(+) create mode 100644 Master/texmf-dist/tex/mex/base/lamex.tex create mode 100644 Master/texmf-dist/tex/mex/base/mex.tex create mode 100644 Master/texmf-dist/tex/mex/base/mex1.tex create mode 100644 Master/texmf-dist/tex/mex/base/mex2.tex create mode 100644 Master/texmf-dist/tex/mex/base/mexconf.tex create mode 100644 Master/texmf-dist/tex/mex/config/mex.ini create mode 100644 Master/texmf-dist/tex/mex/config/pdfmex.ini create mode 100644 Master/texmf-dist/tex/mex/utf8mex/utf8-pl.tex create mode 100644 Master/texmf-dist/tex/mex/utf8mex/utf8mex.ini create mode 100644 Master/texmf-dist/tex/mex/utf8mex/utf8plsq.tex (limited to 'Master/texmf-dist/tex/mex') 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 command, +% where is a font layout name like `pl' `mazovia' etc. + +% The \f@nt command results in executing several times +% a command of the form: \@Pl +% and a command of the form: \@qq +% +% 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 +% (take \@Pl a a1 as an example, i.e., =a =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 +% (take \@qq ,, ff as an example, i.e., =, =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 +% (take \@Pl a a1 as an example, i.e., =a =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 +% - 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, +% +% 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, +% +% 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 -- cgit v1.2.3