summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/csplain/base/t1code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/csplain/base/t1code.tex')
-rw-r--r--Master/texmf-dist/tex/csplain/base/t1code.tex268
1 files changed, 203 insertions, 65 deletions
diff --git a/Master/texmf-dist/tex/csplain/base/t1code.tex b/Master/texmf-dist/tex/csplain/base/t1code.tex
index eb3d02ecb04..896c5a4d8fc 100644
--- a/Master/texmf-dist/tex/csplain/base/t1code.tex
+++ b/Master/texmf-dist/tex/csplain/base/t1code.tex
@@ -3,15 +3,20 @@
% (1) sets \catcode, \l/uccode for characters (code by Cork),
% (2) defines \csaccents for new behavior of \v, \', etc (code by Cork),
% (3) defines some \sequences for special cs-fonts characters.
+% (4) redefines character-like macros from plainTeX as \chardef
+% (5) if encTeX with \mubytein>0 is activated reads t1enc-u.tex file
%
% Created by Petr Olsak <olsak@math.feld.cvut.cz>, February 2000
% Inspired by Jan Kasprzak
% February 2005: bug in \uccodes removed, thanks to Marek Pomp
+% October 2012: new \lc/\uccode declaration, new parts (4) (5)
\message{Font encoding set to Cork.}
+\let\corkencoded\font % macros can do \ifx\font\corkencoded ...\else...\fi
+
%% (0) \czech, \slovak. You can use \chyph, \shyph after this file is loaded.
-\ifx\toneczech\undefined
+\ifx\czCork\undefined
{\newlinechar=`^^J
\errhelp={The hyphen patterns are not loaded in Cork encoding in csplain.^^J
Hyphen patterns are supported only in ISO-8859-2.^^J
@@ -23,69 +28,105 @@
{The Cork encoding is not supported in this format} % Press h for more help.
}
\else
- \czech=\toneczech \slovak=\toneslovak
+ \csname corklangs\endcsname
\fi
-%% (1) \catcode, \lccode, \uccode.
-\catcode225=11 \lccode225=225 \uccode225=193 % a-acute
-\catcode193=11 \lccode193=225 \uccode193=193 % A-acute
-\catcode228=11 \lccode228=228 \uccode228=196 % a-diaeresis
-\catcode196=11 \lccode196=228 \uccode196=196 % A-diaeresis
-\catcode163=11 \lccode163=163 \uccode163=131 % c-caron
-\catcode131=11 \lccode131=163 \uccode131=131 % C-caron
-\catcode164=11 \lccode164=164 \uccode164=132 % d-caron
-\catcode132=11 \lccode132=164 \uccode132=132 % D-caron
-\catcode233=11 \lccode233=233 \uccode233=201 % e-acute
-\catcode201=11 \lccode201=233 \uccode201=201 % E-acute
-\catcode165=11 \lccode165=165 \uccode165=133 % e-caron
-\catcode133=11 \lccode133=165 \uccode133=133 % E-caron
-\catcode237=11 \lccode237=237 \uccode237=205 % i-acute
-\catcode205=11 \lccode205=237 \uccode205=205 % I-acute
-\catcode168=11 \lccode168=168 \uccode168=136 % l-acute
-\catcode136=11 \lccode136=168 \uccode136=136 % L-acute
-\catcode169=11 \lccode169=169 \uccode169=137 % l-caron
-\catcode137=11 \lccode137=169 \uccode137=137 % L-caron
-\catcode172=11 \lccode172=172 \uccode172=140 % n-caron
-\catcode140=11 \lccode140=172 \uccode140=140 % N-caron
-\catcode243=11 \lccode243=243 \uccode243=211 % o-acute
-\catcode211=11 \lccode211=243 \uccode211=211 % O-acute
-\catcode244=11 \lccode244=244 \uccode244=212 % o-circumflex
-\catcode212=11 \lccode212=244 \uccode212=212 % O-circumflex
-\catcode246=11 \lccode246=246 \uccode246=214 % o-diaeresis
-\catcode214=11 \lccode214=246 \uccode214=214 % O-diaeresis
-\catcode175=11 \lccode175=175 \uccode175=143 % r-acute
-\catcode143=11 \lccode143=175 \uccode143=143 % R-acute
-\catcode176=11 \lccode176=176 \uccode176=144 % r-caron
-\catcode144=11 \lccode144=176 \uccode144=144 % R-caron
-\catcode178=11 \lccode178=178 \uccode178=146 % s-caron
-\catcode146=11 \lccode146=178 \uccode146=146 % S-caron
-\catcode180=11 \lccode180=180 \uccode180=148 % t-caron
-\catcode148=11 \lccode148=180 \uccode148=148 % T-caron
-\catcode250=11 \lccode250=250 \uccode250=218 % u-acute
-\catcode218=11 \lccode218=250 \uccode218=218 % U-acute
-\catcode183=11 \lccode183=183 \uccode183=151 % u-ring
-\catcode151=11 \lccode151=183 \uccode151=151 % U-ring
-\catcode252=11 \lccode252=252 \uccode252=220 % u-diaeresis
-\catcode220=11 \lccode220=252 \uccode220=220 % U-diaeresis
-\catcode253=11 \lccode253=253 \uccode253=221 % y-acute
-\catcode221=11 \lccode221=253 \uccode221=221 % Y-acute
-\catcode186=11 \lccode186=186 \uccode186=154 % z-caron
-\catcode154=11 \lccode154=186 \uccode154=154 % Z-caron
-
+%% (1a) \catcodes:
+\catcode225=11 % a-acute
+\catcode193=11 % A-acute
+\catcode228=11 % a-diaeresis
+\catcode196=11 % A-diaeresis
+\catcode163=11 % c-caron
+\catcode131=11 % C-caron
+\catcode164=11 % d-caron
+\catcode132=11 % D-caron
+\catcode233=11 % e-acute
+\catcode201=11 % E-acute
+\catcode165=11 % e-caron
+\catcode133=11 % E-caron
+\catcode237=11 % i-acute
+\catcode205=11 % I-acute
+\catcode168=11 % l-acute
+\catcode136=11 % L-acute
+\catcode169=11 % l-caron
+\catcode137=11 % L-caron
+\catcode172=11 % n-caron
+\catcode140=11 % N-caron
+\catcode243=11 % o-acute
+\catcode211=11 % O-acute
+\catcode244=11 % o-circumflex
+\catcode212=11 % O-circumflex
+\catcode246=11 % o-diaeresis
+\catcode214=11 % O-diaeresis
+\catcode175=11 % r-acute
+\catcode143=11 % R-acute
+\catcode176=11 % r-caron
+\catcode144=11 % R-caron
+\catcode178=11 % s-caron
+\catcode146=11 % S-caron
+\catcode180=11 % t-caron
+\catcode148=11 % T-caron
+\catcode250=11 % u-acute
+\catcode218=11 % U-acute
+\catcode183=11 % u-ring
+\catcode151=11 % U-ring
+\catcode252=11 % u-diaeresis
+\catcode220=11 % U-diaeresis
+\catcode253=11 % y-acute
+\catcode221=11 % Y-acute
+\catcode186=11 % z-caron
+\catcode154=11 % Z-caron
+
+%% (1b) \lccodes, \uccodes:
+\def\tmp #1 {\loop
+ \lccode\count100=\count200 \uccode\count100=\count100
+ \lccode\count200=\count200 \uccode\count200=\count100
+ \ifnum\count100<#1 \advance\count100 by1 \advance\count200 by1
+ \repeat}
+\count100=128 \count200=160 \tmp 156
+\count100=192 \count200=224 \tmp 223
+\lccode 157=105 \uccode 157=157 % dotted I
+\lccode 25=25 \uccode 25=73 % dotless i
+\lccode 26=26 \uccode 26=74 % dotless j
+\lccode 158=158 \uccode 158=158
+\lccode 159=159 \uccode 159=159
+\lccode 189=189 \uccode 189=189
+\lccode 190=190 \uccode 189=190
+\lccode 191=191 \uccode 189=191
+
%% (2) \csaccents, \cmaccents
-\def\accentscommands{\string\^, \string\`, \string\', \string\v,
- \string\" and \string\r}
+\def\accentscommands{\string\^,\string\`,\string\',\string\v,\string\",%
+ \string\r,\string\c,\string\~,\string\H,\string\u,%
+ \string\. and \string\k}
\def\csaccentsmessage{%
- \message{The \accentscommands\space expands to characters by Cork.}}
-\def\cmaccentsmessage{%
- \message{The \accentscommands\space have original plainTeX meaning.}}
+ \message{The \accentscommands\space expands to characters by Cork.}}
+\ifx\cmaccentsmessage\undefined
+ \def\cmaccentsmessage{%
+ \message{The \accentscommands\space are defined similar as plainTeX.}}
+\fi
\def\csaccents{\csaccentsmessage
\def\^##1{\ifx o##1^^f4\else
\ifx O##1^^d4\else
- {\accent94 ##1}\fi\fi}\let\^^D=\^%
- \def\`##1{\ifx a##1^^b8\else
- \ifx A##1^^98\else
- {\accent18 ##1}\fi\fi}%
+ \ifx a##1^^e2\else
+ \ifx A##1^^c2\else
+ \ifx e##1^^ea\else
+ \ifx E##1^^ca\else
+ \ifx i##1^^ee\else
+ \ifx I##1^^ce\else
+ \ifx u##1^^fb\else
+ \ifx U##1^^db\else
+ {\accent94 ##1}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}\let\^^D=\^%
+ \def\`##1{\ifx a##1^^e0\else
+ \ifx A##1^^c0\else
+ \ifx e##1^^e8\else
+ \ifx E##1^^c8\else
+ \ifx i##1^^ec\else
+ \ifx I##1^^cc\else
+ \ifx o##1^^f2\else
+ \ifx O##1^^d2\else
+ \ifx u##1^^f9\else
+ \ifx U##1^^d9\else
+ {\accent18 ##1}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
\def\'##1{\ifx a##1^^e1\else
\ifx e##1^^e9\else
\ifx\i##1^^ed\else
@@ -103,8 +144,17 @@
\ifx Y##1^^dd\else
\ifx R##1^^8f\else
\ifx L##1^^88\else
- {\accent19 ##1}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
+ \ifx C##1^^82\else
+ \ifx N##1^^8b\else
+ \ifx S##1^^91\else
+ \ifx Z##1^^99\else
+ \ifx c##1^^a2\else
+ \ifx n##1^^ab\else
+ \ifx s##1^^b1\else
+ \ifx z##1^^b9\else
+ {\accent19 ##1}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
\def\v##1{\ifx e##1^^a5\else
\ifx s##1^^b2\else
\ifx c##1^^a3\else
@@ -124,17 +174,62 @@
\ifx L##1^^89\else
\ifx N##1^^8c\else
{\accent20 ##1}%
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}\let\^^_=\v%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \fi\fi\fi\fi\fi\fi}\let\^^_=\v%
\def\"##1{\ifx a##1^^e4\else
\ifx o##1^^f6\else
\ifx u##1^^fc\else
\ifx A##1^^c4\else
\ifx O##1^^d6\else
\ifx U##1^^dc\else
- {\accent"7F ##1}\fi\fi\fi\fi\fi\fi}%
+ \ifx Y##1^^98\else
+ \ifx E##1^^cb\else
+ \ifx I##1^^cf\else
+ \ifx y##1^^b8\else
+ \ifx e##1^^eb\else
+ \ifx i##1^^ef\else
+ {\accent"7F ##1}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
\def\r##1{\ifx u##1^^b7\else
\ifx U##1^^97\else
- {\accent23 ##1}\fi\fi}%
+ \ifx A##1^^c5\else
+ \ifx a##1^^e5\else
+ {\accent23 ##1}\fi\fi\fi\fi}%
+ \def\c##1{\ifx C##1^^c7\else
+ \ifx c##1^^e7\else
+ \ifx S##1^^93\else
+ \ifx s##1^^b3\else
+ \ifx T##1^^95\else
+ \ifx t##1^^b5\else
+ {\char11 ##1}\fi\fi\fi\fi\fi\fi}%
+ \def\~##1{\ifx A##1^^c3\else
+ \ifx N##1^^d1\else
+ \ifx O##1^^d5\else
+ \ifx a##1^^e3\else
+ \ifx n##1^^f1\else
+ \ifx o##1^^f5\else
+ {\accent3 ##1}\fi\fi\fi\fi\fi\fi}%
+ \def\H##1{\ifx O##1^^8e\else
+ \ifx U##1^^96\else
+ \ifx o##1^^ae\else
+ \ifx u##1^^b6\else
+ {\accent5 ##1}\fi\fi\fi\fi}%
+ \def\u##1{\ifx A##1^^80\else
+ \ifx G##1^^87\else
+ \ifx a##1^^a0\else
+ \ifx g##1^^a7\else
+ {\accent8 ##1}\fi\fi\fi\fi}%
+ \def\=##1{\ifx d##1^^9e\else
+ {\accent9 ##1}\fi}%
+ \def\.##1{\ifx i##1^^69\else
+ \ifx z##1^^bb\else
+ \ifx I##1^^9d\else
+ \ifx Z##1^^9b\else
+ {\accent10 ##1}\fi\fi\fi\fi}%
+ \def\k##1{\ifx A##1^^81\else
+ \ifx E##1^^86\else
+ \ifx a##1^^a1\else
+ \ifx e##1^^a6\else
+ {\char12 ##1}\fi\fi\fi\fi}%
%% for backward compatibility:
\def\softd{\v{d}}\def\softt{\v{t}}\def\ou{\r{u}}%
\def\softl{\v{l}}\def\softL{\v{L}}}
@@ -146,13 +241,15 @@
\def\"##1{{\accent"7F ##1}}%
\let\r=\undefined\def\ou{{\accent6u}}}
+\ifx\r\undefined \else \csaccents \fi %% re-set \csaccents
+
%% (3) special \sequences for T1 encoded fonts.
%% Czech left a right double qoutes
\chardef\clqq=18 \sfcode18=0
\chardef\crqq=16 \sfcode16=0
%% French double quotes
-\chardef\flqq=14 \sfcode14=0
-\chardef\frqq=13 \sfcode13=0
+\chardef\flqq=19 \sfcode19=0
+\chardef\frqq=20 \sfcode20=0
%% Other characters
\def\ogonek #1{\setbox0\hbox{#1}\ifdim\ht0=1ex\accent12 #1%
\else{\ooalign{\unhbox0\crcr\hss\char12}}\fi}
@@ -165,7 +262,48 @@
\afterassignment\clqq\let\next=}
\def\closequotes{\unskip\crqq\relax}
-\chardef\i=25
+%% (4) re-definition character-like macros from plainTeX:
+
+\chardef \S 159
+\chardef \P 182
+\chardef \ss 255
+\chardef \L 138
+\chardef \l 170
+\chardef \ae 230
+\chardef \oe 247
+\chardef \o 248
+\chardef \AE 198
+\chardef \OE 215
+\chardef \O 216
+\chardef \i 25
+\chardef \j 26
+\chardef \aa 229
+\chardef \AA 197
+
+% new characters in T1 encoding:
+
+\chardef \Eth 208
+\chardef \NG 141
+\chardef \Thorn 222
+\chardef \eth 240
+\chardef \ng 173
+\chardef \thorn 254
+\chardef \flq 14
+\chardef \frq 15
+\chardef \clq 13
+\chardef \crq 60
+\chardef \elqq 16
+\chardef \erqq 17
+\chardef \sterling 191
+\let\pound=\sterling
+
+%% (5) reading UTF-8 input encoding from t1enc-u.tex file
+
+\ifx\mubytein\undefined \expandafter \endinput \fi
+\ifnum\mubytein=0 \expandafter \endinput \fi
+
+\input t1enc-u
+
\endinput