diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/oberdiek/stringenc.sty')
-rw-r--r-- | Master/texmf-dist/tex/generic/oberdiek/stringenc.sty | 752 |
1 files changed, 752 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/oberdiek/stringenc.sty b/Master/texmf-dist/tex/generic/oberdiek/stringenc.sty new file mode 100644 index 00000000000..4a440745ffb --- /dev/null +++ b/Master/texmf-dist/tex/generic/oberdiek/stringenc.sty @@ -0,0 +1,752 @@ +%% +%% This is file `stringenc.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% stringenc.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright (C) 2007 by Heiko Oberdiek <oberdiek@uni-freiburg.de> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3 of this license or (at your option) any later +%% version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% This Current Maintainer of this work is Heiko Oberdiek. +%% +%% This work consists of the main source file stringenc.dtx +%% and the derived files +%% stringenc.sty, stringenc.pdf, stringenc.ins, stringenc.drv, +%% se-utf32be.def, se-utf32le.def, se-utf8.def, se-utf16le.def, +%% se-pdfdoc.def, se-iso-8859-1.def, se-cp1252.def, +%% se-ascii.def, se-iso-8859-2.def, se-iso-8859-3.def, +%% se-iso-8859-4.def, se-iso-8859-5.def, se-iso-8859-6.def, +%% se-iso-8859-7.def, se-iso-8859-8.def, se-iso-8859-9.def, +%% se-iso-8859-10.def, se-iso-8859-11.def, se-iso-8859-13.def, +%% se-iso-8859-14.def, se-iso-8859-15.def, se-iso-8859-16.def, +%% se-koi8-r.def, se-nextstep.def, se-mac-centeuro.def, +%% se-mac-cyrillic.def, se-mac-roman.def, se-dec-mcs.def, +%% se-cp437.def, se-cp850.def, se-cp852.def, se-cp855.def, +%% se-cp858.def, se-cp865.def, se-cp866.def, se-cp1250.def, +%% se-cp1251.def, se-cp1257.def, stringenc-test1.tex, +%% stringenc-test2.tex. +%% +\begingroup + \catcode44 12 % , + \catcode45 12 % - + \catcode46 12 % . + \catcode58 12 % : + \catcode64 11 % @ + \expandafter\let\expandafter\x\csname ver@stringenc.sty\endcsname + \ifcase 0% + \ifx\x\relax % plain + \else + \ifx\x\empty % LaTeX + \else + 1% + \fi + \fi + \else + \expandafter\ifx\csname PackageInfo\endcsname\relax + \def\x#1#2{% + \immediate\write-1{Package #1 Info: #2.}% + }% + \else + \def\x#1#2{\PackageInfo{#1}{#2, stopped}}% + \fi + \x{stringenc}{The package is already loaded}% + \endgroup + \expandafter\endinput + \fi +\endgroup +\begingroup + \catcode40 12 % ( + \catcode41 12 % ) + \catcode44 12 % , + \catcode45 12 % - + \catcode46 12 % . + \catcode47 12 % / + \catcode58 12 % : + \catcode64 11 % @ + \expandafter\ifx\csname ProvidesPackage\endcsname\relax + \def\x#1#2#3[#4]{\endgroup + \immediate\write-1{Package: #3 #4}% + \xdef#1{#4}% + }% + \else + \def\x#1#2[#3]{\endgroup + #2[{#3}]% + \ifx#1\relax + \xdef#1{#3}% + \fi + }% + \fi +\expandafter\x\csname ver@stringenc.sty\endcsname +\ProvidesPackage{stringenc}% + [2007/06/14 v1.0 Converts strings between encodings (HO)] +\expandafter\edef\csname SE@AtEnd\endcsname{% + \catcode64 \the\catcode64\relax +} +\catcode64 11 % @ +\def\SE@EnsureCode#1#2#3{% + \edef\SE@AtEnd{% + \SE@AtEnd + #1#2 \the#1#2\relax + }% + #1#2 #3\relax +} +\SE@EnsureCode\catcode{34}{12}% " +\SE@EnsureCode\catcode{36}{3}% $ +\SE@EnsureCode\catcode{38}{4}% & +\SE@EnsureCode\catcode{39}{12}% ' +\SE@EnsureCode\catcode{40}{12}% ( +\SE@EnsureCode\catcode{41}{12}% ) +\SE@EnsureCode\catcode{42}{12}% * +\SE@EnsureCode\catcode{43}{12}% + +\SE@EnsureCode\catcode{44}{12}% , +\SE@EnsureCode\catcode{45}{12}% - +\SE@EnsureCode\catcode{46}{12}% . +\SE@EnsureCode\catcode{58}{12}% : +\SE@EnsureCode\catcode{60}{12}% < +\SE@EnsureCode\catcode{61}{12}% = +\SE@EnsureCode\catcode{62}{12}% > +\SE@EnsureCode\catcode{91}{12}% [ +\SE@EnsureCode\catcode{93}{12}% ] +\SE@EnsureCode\catcode{94}{7}% ^ +\SE@EnsureCode\catcode{96}{12}% ` +\SE@EnsureCode\uccode{34}{0}% " +\SE@EnsureCode\uccode{48}{0}% 0 +\SE@EnsureCode\uccode{61}{0}% = +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname RequirePackage\endcsname\relax + \input infwarerr.sty\relax + \input pdfescape.sty\relax +\else + \RequirePackage{infwarerr}% + \RequirePackage{pdfescape}% +\fi +\def\SE@Empty{} +\long\def\SE@FirstOfOne#1{#1} +\long\def\SE@FirstOfTwo#1#2{#1} +\long\def\SE@SecondOfTwo#1#2{#2} +\long\def\SE@GobbleTwo#1#2{} +\long\def\SE@GobbleFour#1#2#3#4{} +\long\def\SE@GobbleEight#1#2#3#4#5#6#7#8{} +\long\def\SE@CarTwo#1#2#3\@nil{#1#2} +\def\SE@PrefixFrom{SE<} +\def\SE@PrefixSurrogateFrom{SE<<} +\def\SE@PrefixTo{SE>} +\def\SE@PrefixSurrogateTo{SE>>} +\chardef\SE@zero=0 % +\chardef\SE@one=1 % +\def\SE@ResultAdd#1{% + \edef\SE@result{\SE@result#1}% +} +\newif\ifSE@invalid +\def\SE@InvalidCharacter{% + \SE@invalidtrue +} +\def\SE@ConvertTo#1#2#3{% + \let\SE@result\SE@Empty + \PE@sanitize\SE@encoding{#3}% + \expandafter\ifx\csname\SE@PrefixTo\SE@encoding\endcsname\relax + \StringEncodingLoad\SE@encoding + \fi + \expandafter\ifx\csname\SE@PrefixTo\SE@encoding\endcsname\relax + \@PackageError{stringenc}{% + Conversion to encoding `\SE@encoding'\MessageBreak + is not supported% + }\@ehc + \else + \expandafter\let\expandafter\SE@ConvertNormal + \csname\SE@PrefixTo\SE@encoding\endcsname + \expandafter\let\expandafter\SE@ConvertSurrogate + \csname\SE@PrefixSurrogateTo\SE@encoding\endcsname + \SE@@ConvertTo#2\relax\relax\relax\relax + \fi + \let#1\SE@result +} +\def\SE@@ConvertTo#1#2#3#4{% + \ifx#1\relax + \let\SE@next\relax + \else + \ifx#4\relax + \let\SE@next\relax + \SE@InvalidCharacter + \else + \let\SE@next\SE@@ConvertTo + \ifnum"#1#2#3#4<"D800 % + \SE@ConvertNormal#1#2#3#4% + \else + \ifnum"#1#2#3#4>"DFFF % + \SE@ConvertNormal#1#2#3#4% + \else + \ifnum"#1#2#3#4>"DBFF % + \SE@InvalidCharacter + \else + \def\SE@high{#1#2#3#4}% + \let\SE@next\SE@@ScanLow + \fi + \fi + \fi + \fi + \fi + \SE@next +} +\def\SE@@ScanLow#1#2#3#4{% + \ifx#4\relax + \SE@InvalidCharacter + \let\SE@next\relax + \else + \ifcase\ifnum"#1#2#3#4<"DC00 % + \SE@zero + \else + \ifnum"#1#2#3#4>"DFFF % + \SE@zero + \else + \SE@one + \fi + \fi + \SE@InvalidCharacter + \def\SE@next{% + SE@@ConvertTo#1#2#3#4% + }% + \else + \ifx\SE@ConvertSurrogate\relax + \else + \expandafter\SE@ConvertSurrogate\SE@high#1#2#3#4% + \fi + \let\SE@next\SE@@ConvertTo + \fi + \fi + \SE@next +} +\def\SE@ConvertFrom#1#2#3{% + \let\SE@result\SE@Empty + \PE@sanitize\SE@encoding{#3}% + \expandafter\ifx\csname\SE@PrefixFrom\SE@encoding\endcsname\relax + \StringEncodingLoad\SE@encoding + \fi + \expandafter\ifx\csname\SE@PrefixFrom\SE@encoding\endcsname\relax + \@PackageError{stringenc}{% + Conversion from encoding `\SE@encoding'\MessageBreak + is not supported% + }\@ehc + \else + \csname\SE@PrefixFrom\SE@encoding\endcsname{#2}% + \fi + \let#1\SE@result +} +\def\StringEncodingLoad#1{% + \begingroup + \catcode32=10 % space/space + \catcode34=12 % " + \catcode35=6 % #/parameter + \catcode37=14 % percent/comment character + \catcode45=12 % - + \catcode46=12 % . + \catcode47=12 % / + \catcode58=12 % : + \catcode60=12 % < + \catcode61=12 % = + \catcode62=12 % > + \catcode64=11 % @ + \catcode91=12 % [ + \catcode92=0 % backslash/escape character + \catcode93=12 % ] + \catcode123=1 % {/beginning of group + \catcode125=2 % }/end of group + \endlinechar=-1 % + \expandafter\ifx\csname ProvidesFile\endcsname\relax + \def\ProvidesFile##1[##2]{% + \immediate\write-1{File: ##1 ##2}% + }% + \fi + \SE@InputIfFileExists{se-#1.def}% + \endgroup +} +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname IfFileExists\endcsname\relax + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname pdffilesize\endcsname\relax + \def\SE@InputIfFileExists#1{% + \expandafter\ifx\csname @inputcheck\endcsname\relax + \csname newread\endcsname\@inputcheck + \fi + \openin\@inputcheck#1\relax + \ifeof\@inputcheck + \SE@FileNotFound{#1}% + \else + \SE@Input{#1}% + \fi + }% + \else + \def\SE@InputIfFileExists#1{% + \expandafter\ifx\expandafter\\\pdffilesize{#1}\\% + \SE@FileNotFound{#1}% + \else + \SE@Input{#1}% + \fi + }% + \fi +\else + \def\SE@InputIfFileExists#1{% + \IfFileExists{#1}{% + \SE@Input{#1}% + }{% + \SE@FileNotFound{#1}% + }% + }% +\fi +\def\SE@FileNotFound#1{% + \@PackageWarning{stringenc}{% + Encoding file `#1'\MessageBreak + not found% + }% +} +\def\SE@Input{% + \@ifnextchar\bgroup\@iinput\@@input +} +\ifx\input\SE@Input + \def\SE@Input#1{% + \input{#1}% + }% +\else + \def\SE@Input#1{% + \input#1\relax + }% +\fi +\newif\ifSE@numexpr +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname numexpr\endcsname\relax +\else + \SE@numexprtrue +\fi +\ifSE@numexpr + \catcode36=9 % $ ignore + \catcode38=14 % & comment +\else + \catcode36=14 % $ comment + \catcode38=9 % & ignore +\fi +\def\SE@Nibble@NumToHex#1{% +$ \ifcase\numexpr#1\relax +& \expandafter\ifcase\expandafter\SE@FirstOfOne\expandafter{\number#1} % + 0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or + 8\or 9\or A\or B\or C\or D\or E\or F% + \fi +} +\def\SE@Nibble@NumToBin#1{% +$ \ifcase\numexpr#1\relax +& \expandafter +& \ifcase\expandafter\SE@FirstOfOne\expandafter{\number#1} % + 0000\or + 0001\or + 0010\or + 0011\or + 0100\or + 0101\or + 0110\or + 0111\or + 1000\or + 1001\or + 1010\or + 1011\or + 1100\or + 1101\or + 1110\or + 1111% + \fi +} +\def\SE@Nibbles@BinToHex#1{% + \expandafter\SE@@Nibbles@BinToHex#1\SE@Empty\SE@Empty + \SE@Empty\SE@Empty +} +\def\SE@@Nibbles@BinToHex#1#2#3#4{% + \ifx#1\SE@Empty + \else +$ \SE@Nibble@NumToHex{% +$ \numexpr#4+2*(#3+2*(#2+2*#1))\relax +$ }% +& \ifnum#1>\SE@zero +& \ifnum#2>\SE@zero +& \ifnum#3>\SE@zero +& \ifnum#4>\SE@zero +& F% +& \else +& E% +& \fi +& \else +& \ifnum#4>\SE@zero +& D% +& \else +& C% +& \fi +& \fi +& \else +& \ifnum#3>\SE@zero +& \ifnum#4>\SE@zero +& B% +& \else +& A% +& \fi +& \else +& \ifnum#4>\SE@zero +& 9% +& \else +& 8% +& \fi +& \fi +& \fi +& \else +& \ifnum#2>\SE@zero +& \ifnum#3>\SE@zero +& \ifnum#4>\SE@zero +& 7% +& \else +& 6% +& \fi +& \else +& \ifnum#4>\SE@zero +& 5% +& \else +& 4% +& \fi +& \fi +& \else +& \ifnum#3>\SE@zero +& \ifnum#4>\SE@zero +& 3% +& \else +& 2% +& \fi +& \else +& \ifnum#4>\SE@zero +& 1% +& \else +& 0% +& \fi +& \fi +& \fi +& \fi + \expandafter\SE@@Nibbles@BinToHex + \fi +} +\def\SE@Add#1#2#3{% +$ \edef#1{\the\numexpr(#2)+(#3)\relax}% +& \begingroup +& \count\SE@zero=#2\relax +& \advance\count\SE@zero by#3\relax +& \edef\x{\endgroup +& \def\noexpand#1{\the\count\SE@zero}% +& }% +& \x +} +\def\SE@MapDeclare#1#2#3{% + \SE@MapDeclareFrom{#1}{#2}{#3}% + \SE@MapDeclareTo{#1}{#2}{#3}% +} +\def\SE@MapDeclareFrom#1#2#3{% + \expandafter\gdef\csname SE->#1@#2\endcsname{#3}% +} +\def\SE@MapDeclareTo#1#2#3{% + \expandafter\gdef\csname SE<-#1@#3\endcsname{#2}% +} +\def\SE@MapConvertFrom#1#2{% +$ \ifcsname SE->#1@#2\endcsname +$ \SE@ResultAdd{\csname SE->#1@#2\endcsname}% +$ \else +$ \SE@InvalidCharacter +$ \fi +& \begingroup\expandafter\expandafter\expandafter\endgroup +& \expandafter\ifx\csname SE->#1@#2\endcsname\relax +& \SE@InvalidCharacter +& \else +& \SE@ResultAdd{\csname SE->#1@#2\endcsname}% +& \fi +} +\def\SE@MapConvertTo#1#2{% +$ \ifcsname SE<-#1@#2\endcsname +$ \SE@ResultAdd{\csname SE<-#1@#2\endcsname}% +$ \else +$ \SE@InvalidCharacter +$ \fi +& \begingroup\expandafter\expandafter\expandafter\endgroup +& \expandafter\ifx\csname SE<-#1@#2\endcsname\relax +& \SE@InvalidCharacter +& \else +& \SE@ResultAdd{\csname SE<-#1@#2\endcsname}% +& \fi +} +\def\StringEncodingConvert#1#2#3#4{% + \PE@sanitize\SE@from{#3}% + \PE@sanitize\SE@to{#4}% + \expandafter\ifx\csname SE@alias@\SE@from\endcsname\relax + \else + \PE@sanitize\SE@from{\csname SE@alias@\SE@from\endcsname}% + \fi + \expandafter\ifx\csname SE@alias@\SE@to\endcsname\relax + \else + \PE@sanitize\SE@to{\csname SE@alias@\SE@to\endcsname}% + \fi + \ifx\SE@to\SE@utfxvi + \let\SE@to\SE@utfxvibe + \else + \ifx\SE@to\SE@utfxxxii + \let\SE@to\SE@utfxxxiibe + \fi + \fi + \SE@invalidfalse + \EdefEscapeHex\SE@result{#2}% + \ifx\SE@from\SE@utfxvi + \SE@CheckByteOrderTwo + \else + \ifx\SE@from\SE@utfxvibe + \SE@RemoveByteOrderTwo{FEFF}% + \else + \ifx\SE@from\SE@utfxvile + \SE@RemoveByteOrderTwo{FFFE}% + \else + \ifx\SE@from\SE@utfxxxii + \SE@CheckByteOrderFour + \else + \ifx\SE@from\SE@utfxxxiibe + \SE@RemoveByteOrderFour{0}{FEFF}% + \else + \ifx\SE@from\SE@utfxxxiile + \SE@RemoveByteOrderFour{FFFE}{0}% + \fi + \fi + \fi + \fi + \fi + \fi + \ifx\SE@from\SE@to + \else + \ifx\SE@from\SE@utfxvibe + \else + \expandafter\SE@ConvertFrom\expandafter\SE@result + \expandafter{\SE@result}\SE@from + \fi + \ifx\SE@to\SE@utfxvibe + \else + \expandafter\SE@ConvertTo\expandafter\SE@result + \expandafter{\SE@result}\SE@to + \fi + \fi + \EdefUnescapeHex#1\SE@result +} +\def\StringEncodingSuccessFailure{% + \ifSE@invalid + \expandafter\SE@SecondOfTwo + \else + \expandafter\SE@FirstOfTwo + \fi +} +\PE@sanitize\SE@utfxvi{utf16} +\PE@sanitize\SE@utfxvibe{utf16be} +\PE@sanitize\SE@utfxvile{utf16le} +\PE@sanitize\SE@utfxxxii{utf32} +\PE@sanitize\SE@utfxxxiibe{utf32be} +\PE@sanitize\SE@utfxxxiile{utf32le} +\def\SE@CheckByteOrderTwo{% + \expandafter\SE@@CheckByteOrderTwo\SE@result0000\@nil +} +\def\SE@@CheckByteOrderTwo#1#2#3#4#5\@nil{% + \ifnum"#1#2#3#4="FEFF % + \let\SE@from\SE@utfxvibe + \edef\SE@result{\expandafter\SE@GobbleFour\SE@result}% + \else + \ifnum"#3#4#1#2="FEFF % + \let\SE@from\SE@utfxvile + \edef\SE@result{\expandafter\SE@GobbleFour\SE@result}% + \else + \let\SE@from\SE@utfxvibe + \fi + \fi +} +\def\SE@CheckByteOrderFour{% + \expandafter\SE@@CheckByteOrderFour\SE@result00000000\@nil +} +\def\SE@@CheckByteOrderFour#1#2#3#4#5#6#7#8#9\@nil{% + \let\SE@from\SE@utfxxxiibe + \ifnum"#1#2#3#4=\SE@zero + \ifnum"#5#6#7#8="FEFF % + \edef\SE@result{\expandafter\SE@GobbleEight\SE@result}% + \fi + \else + \ifnum"#7#8#5#6=\SE@zero + \ifnum"#3#4#1#2="FEFF % + \let\SE@from\SE@utfxxxiile + \edef\SE@result{\expandafter\SE@GobbleEight\SE@result}% + \fi + \fi + \fi +} +\def\SE@RemoveByteOrderTwo{% + \expandafter\SE@@RemoveByteOrderTwo\SE@result + \SE@Empty\SE@Empty\SE@Empty\SE@Empty\@nil +} +\def\SE@@RemoveByteOrderTwo#1#2#3#4#5\@nil#6{% + \ifnum"0#1#2#3#4="#6 % + \edef\SE@result{#5}% + \fi +} +\def\SE@RemoveByteOrderFour#1#2{% + \def\SE@a{"#1 }% + \def\SE@b{"#2 }% + \expandafter\SE@@RemoveByteOrderFour\SE@result + \SE@Empty\SE@Empty\SE@Empty\SE@Empty + \SE@Empty\SE@Empty\SE@Empty\SE@Empty + \@nil +} +\def\SE@@RemoveByteOrderFour#1#2#3#4#5#6#7#8#9\@nil{% + \ifnum"0#1#2#3#4=\SE@a + \ifnum"0#5#6#7#8=\SE@b + \edef\SE@result{#9}% + \fi + \fi +} +\def\SE@EncodingAlias#1#2{% + \expandafter\def\csname SE@alias@#1\endcsname{#2}% +} +\SE@EncodingAlias{ansinew}{cp1252} +\SE@EncodingAlias{applemac}{mac-roman} +\SE@EncodingAlias{cp437de}{cp437} +\SE@EncodingAlias{decmulti}{dec-mcs} +\SE@EncodingAlias{latin1}{iso-8859-1} +\SE@EncodingAlias{latin2}{iso-8859-2} +\SE@EncodingAlias{latin3}{iso-8859-3} +\SE@EncodingAlias{latin4}{iso-8859-4} +\SE@EncodingAlias{latin5}{iso-8859-9} +\SE@EncodingAlias{latin6}{iso-8859-10} +\SE@EncodingAlias{latin7}{iso-8859-13} +\SE@EncodingAlias{latin8}{iso-8859-14} +\SE@EncodingAlias{latin9}{iso-8859-15} +\SE@EncodingAlias{latin10}{iso-8859-16} +\SE@EncodingAlias{mac-ce}{mac-centeuro} +\SE@EncodingAlias{mac-ukrainian}{mac-cyrillic} +\SE@EncodingAlias{macce}{mac-centeuro} +\SE@EncodingAlias{maccyr}{mac-cyrillic} +\SE@EncodingAlias{macukr}{mac-cyrillic} +\SE@EncodingAlias{next}{nextstep} +\SE@EncodingAlias{us-ascii}{ascii} +\SE@EncodingAlias{utf-8}{utf8} +\SE@EncodingAlias{utf-16}{utf16} +\SE@EncodingAlias{utf-16be}{utf16be} +\SE@EncodingAlias{utf-16le}{utf16le} +\SE@EncodingAlias{utf-32}{utf32} +\SE@EncodingAlias{utf-32be}{utf32be} +\SE@EncodingAlias{utf-32le}{utf32le} +\def\SE@temp#1{% + \SE@EncodingAlias{x-#1}{#1}% +} +\SE@temp{ascii} +\SE@temp{cp437} +\SE@temp{cp850} +\SE@temp{cp852} +\SE@temp{cp855} +\SE@temp{cp858} +\SE@temp{cp865} +\SE@temp{cp866} +\SE@temp{cp1250} +\SE@temp{cp1251} +\SE@temp{cp1252} +\SE@temp{cp1257} +\SE@temp{dec-mcs} +\SE@temp{koi8-r} +\SE@temp{iso-8859-1} +\SE@temp{iso-8859-2} +\SE@temp{iso-8859-3} +\SE@temp{iso-8859-4} +\SE@temp{iso-8859-5} +\SE@temp{iso-8859-6} +\SE@temp{iso-8859-7} +\SE@temp{iso-8859-8} +\SE@temp{iso-8859-9} +\SE@temp{iso-8859-10} +\SE@temp{iso-8859-11} +\SE@temp{iso-8859-13} +\SE@temp{iso-8859-14} +\SE@temp{iso-8859-15} +\SE@temp{iso-8859-16} +\SE@temp{mac-centeuro} +\SE@temp{mac-cyrillic} +\SE@temp{mac-roman} +\SE@temp{mac-nextstep} +\def\SE@EncodingFileList{% + ascii,% + cp437,% + cp850,% + cp852,% + cp855,% + cp858,% + cp865,% + cp866,% + cp1250,% + cp1251,% + cp1252,% + cp1257,% + dec-mcs,% + iso-8859-1,% + iso-8859-2,% + iso-8859-3,% + iso-8859-4,% + iso-8859-5,% + iso-8859-6,% + iso-8859-7,% + iso-8859-8,% + iso-8859-9,% + iso-8859-10,% + iso-8859-11,% + iso-8859-13,% + iso-8859-14,% + iso-8859-15,% + iso-8859-16,% + koi8-r,% + mac-centeuro,% + mac-cyrillic,% + mac-roman,% + nextstep,% + pdfdoc,% + utf8,% + utf16le,% + utf32be,% + utf32le% +} +\def\SE@to@general#1#2#3#4{% + \ifnum"#1#2#3#4<128 % + \SE@ResultAdd{#3#4}% + \else + \SE@MapConvertTo\SE@encoding{#1#2#3#4}% + \fi +} +\def\SE@to@general@surrogate#1#2#3#4#5#6#7#8{% + \SE@InvalidCharacter +} +\def\SE@from@general#1{% + \expandafter\SE@@from@general#1\relax\relax +} +\def\SE@@from@general#1#2{% + \ifx#1\relax + \else + \ifnum"#1<8 % "#1#2<128 + \SE@ResultAdd{00#1#2}% + \else + \SE@MapConvertFrom\SE@encoding{#1#2}% + \fi + \expandafter\SE@@from@general + \fi +} +\SE@AtEnd +\endinput +%% +%% End of file `stringenc.sty'. |