From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/cstex/base/README | 30 +++++++++ macros/cstex/base/utf8cs.tex | 152 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 182 insertions(+) create mode 100644 macros/cstex/base/README create mode 100644 macros/cstex/base/utf8cs.tex (limited to 'macros/cstex/base') diff --git a/macros/cstex/base/README b/macros/cstex/base/README new file mode 100644 index 0000000000..86e04a1c11 --- /dev/null +++ b/macros/cstex/base/README @@ -0,0 +1,30 @@ +Zde jsou zakladni balicky CSTeXu + +csfonts.tar.gz ... CSfonty -- Metafontove soubory a metriky. +csplain.tar.gz ... Makra pro format CSplain a vzory deleni slov. +cslatex.tar.gz ... Makra pro format CSLaTeX. +cspsfonts.tar.gz ... Virtualni fonty zakladnich 35 PostScriptovych + fontu v~kodovani podle CSfontu. + +Pokud nekdo rekne, ze ma na sve distribuci TeXu instalovan CSTeX, +pak to znamena, ze ma urcite instalovany tyto ctyri baliky. +Krome toho k CSTeX{}u radime i nasledujici doplnujici software, +ktery uz nemuseji mit vsichni uzivatele CSTeXu instalovan: + +csfonts-t1.tar.gz .. Varianta CSfontu ve formatu PostScript Type1. +cstrip.tar.gz ... Test funkcionality formatu CSplain. +csindex-19980713.tar.gz ... Zdrojove soubory v~jazyce C programu + csindex, ktery je modifikaci programu + makeindex se zahrnutou podporou ceskeho a + slovenskeho razeni. +vlna.tar.gz ... Zdrojove soubory v~jazyce C a v~jazyce cweb + programu vlna na automaticke doplnovani vlnek + za neslabicne predlozky. + +Na Internetu naleznete vsechny uvedene baliky na + +ftp://math.feld.cvut.cz/pub/cstex/base +nebo +ftp://ftp.cstug.cz/pub/local/cstex/base + +25. 9. 2002 Petr Olsak diff --git a/macros/cstex/base/utf8cs.tex b/macros/cstex/base/utf8cs.tex new file mode 100644 index 0000000000..6550d10910 --- /dev/null +++ b/macros/cstex/base/utf8cs.tex @@ -0,0 +1,152 @@ +% utf8cs.tex +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Petr Olsak SLT2002, 9. 11. 2002 + +% Usage: +% \input utf8cs \activeUTF + +% See the Czech documentation at the end of this file. + +% The input text may be in ISO8859-2 OR in UTF8. +% The result after expansion of three active characters +% is in ISO-8859-2. +% The consequence: you can re-read the toc/aux etc. \write files. + +% Warning: use only the one-to-one tcx/tcp table (il2-cs.tcx for example) + +% Only the Czech and Slovak alphabet is supported here. + +\ifx \activeUTFcs\undefined \else \endinput \fi + +{\catcode`\^^c3=13 \expandafter}\expandafter \def \noexpand^^c3#1{% + \ifx ^^81#1^^c1\else % \'A + \ifx ^^a1#1^^e1\else % \'a + \ifx ^^89#1^^c9\else % \'E + \ifx ^^a9#1^^e9\else % \'e + \ifx ^^8d#1^^cd\else % \'I + \ifx ^^ad#1^^ed\else % \'i + \ifx ^^93#1^^d3\else % \'O + \ifx ^^b3#1^^f3\else % \'o + \ifx ^^9a#1^^da\else % \'U + \ifx ^^ba#1^^fa\else % \'u + \ifx ^^9d#1^^dd\else % \'Y + \ifx ^^bd#1^^fd\else % \'y + \ifx ^^94#1^^d4\else % \^O + \ifx ^^b4#1^^f4\else % \^o + \ifx ^^84#1^^c4\else % \"A + \ifx ^^a4#1^^e4\else % \"a + \ifx ^^96#1^^d6\else % \"O + \ifx ^^b6#1^^f6\else % \"o + \ifx ^^9c#1^^dc\else % \"U + \ifx ^^bc#1^^fc\else % \"u + ^^c3#1\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} +{\catcode`\^^c4=13 \expandafter}\expandafter \def \noexpand^^c4#1{% + \ifx ^^8c#1^^c8\else % \v C + \ifx ^^8d#1^^e8\else % \v c + \ifx ^^8e#1^^cf\else % \v D + \ifx ^^8f#1^^ef\else % \v d + \ifx ^^9a#1^^cc\else % \v E + \ifx ^^9b#1^^ec\else % \v e + \ifx ^^b9#1^^c5\else % \' L + \ifx ^^ba#1^^e5\else % \' l + \ifx ^^bd#1^^a5\else % \v L + \ifx ^^be#1^^b5\else % \v l + ^^c4#1\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} +{\catcode`\^^c5=13 \expandafter}\expandafter \def \noexpand^^c5#1{% + \ifx ^^87#1^^d2\else % \v N + \ifx ^^88#1^^f2\else % \v n + \ifx ^^98#1^^d8\else % \v R + \ifx ^^99#1^^f8\else % \v r + \ifx ^^a0#1^^a9\else % \v S + \ifx ^^a1#1^^b9\else % \v s + \ifx ^^a4#1^^ab\else % \v T + \ifx ^^a5#1^^bb\else % \v t + \ifx ^^ae#1^^d9\else % \r U + \ifx ^^af#1^^f9\else % \r u + \ifx ^^bd#1^^ae\else % \r Z + \ifx ^^be#1^^be\else % \v z + \ifx ^^94#1^^c0\else % \' R + \ifx ^^95#1^^e0\else % \' r + ^^c5#1\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} +\def\activeUTFcs{\catcode`\^^c3=13\catcode`\^^c4=13\catcode`\^^c5=13 + \message{The UTF-8 encoding for Czech and Slovak alphabet activated.}% + \message{The ISO-8859-2 input and internal encodings are still accepted.}% +} +\let\activeUTF=\activeUTFcs + +\endinput + +----------------------------------------------------- + +Ceska dokumentace nize je kodovana v UTF-8, protoze predpokladam, +ze bude nejvice zajimat uzivatele "postizene" timto kodovanim. + +Po provedení + +\input utf8cs \activeUTF + +se stanou tři znaky aktivní: 0xc3, 0xc4 a 0xc5 + +Jsou to právě všechny znaky, které pracují jako "prefixy" +pro písmena české a slovenské abecedy v kódování UTF-8. +Za tímto "prefixem" následuje další byte a tato dvojice bytů +určuje v UTF-8 jedno písmeno. + +Makra spojená se znaky 0xc3, 0xc4 a 0xc5 sejmou následující byte a +tato dvojice expanduje na znak podle ISO-8859-2. Protože je +koverze provedena na úrovni expand procesoru, není ohroženo dělení +slov. + +Až na výjimky ve slovenském jazyce (viz níže) je po provedení +\activeUTF akceptováno i kódování české a slovenské abecedy +podle ISO-8859-2. Důležitý důsledek: \write soubory (toc, aux apod.) +jsou po expanzi primitivem \write kódovány podle ISO-8859-2 a je +možné je použít při opakovaném čtení bez problémů. + +Upozornění: používejte jen tcx/tcp tabulku, která nedělá žádné změny +v kódování, např. csplain a cslatex v UNIXu používá implicitně +il2-cs.tcx, která je vyhovující. S tabulkou, která dělá konverzi +na úrovni pre-procesoru TeXu to nebude fungovat! + +Při použití tabulky il2-t1.tcx je potřeba načíst soubor utf8t1.tex +na místo tohoto souboru. Soubor uft8t1.tex bude vytvořen později. + +Český jazyk je zcela bez problémů pro vstup jednak v ISO-8859-2 a +jednak v UTF-8. Slovenština má tyto problémy: + +Za znakem Ĺ (\'L) kódovaném v ISO-8859-2 nesmí po \activeUTF +následovat mezera a svorky { }. Ostatní znaky za tímto znakem mohou +být přítomny bez problémů. Za tímto znakem kódovaném v UTF-8 může být +cokoli. Totéž platí pro znak Ä (\"A). Ostatní znaky jsou v obou +kódováních bez problémů. + +Jinak řečeno: dvojice "Ĺ ", "Ĺ{", "Ĺ}", "Ä ", "Ä{" a "Ä}" +nebudou fungovat za předpokladu, že písmena Ĺ a Ä jsou kódována +v ISO-8859-2 a současně ja zapnuto \activeUTF. + +Petr Olšák + +========================================================================== + +Zari 2005: + +Vsechny vyse popsane problemy resi encTeX. Mate-li tuto nadstavbu TeXu +v binarce zahrnutou (zkuste tex -enc), pak doporucuji zapomenout na +aktivni znaky a na tento soubor a generovat formaty csplain a cslatex +schopne rovnou pracovat s UTF8 kodovanim: + +tex -ini -enc '\let\enc=u \input csplain.ini' + +Podrobnejsi informace najdete v souboru csplain.ini a csenc-u.tex. + +Petr Olsak + + + + + + + + + + -- cgit v1.2.3