Current File : //usr/share/texlive/texmf-dist/tex/generic/stringenc/stringenc.sty |
%%
%% 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.
%%
%% Project: stringenc
%% Version: 2019/11/29 v1.12
%%
%% Copyright (C)
%% 2007-2011 Heiko Oberdiek
%% 2016-2019 Oberdiek Package Support Group
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3c of this license or (at your option) any later
%% version. This version of this license is in
%% https://www.latex-project.org/lppl/lppl-1-3c.txt
%% and the latest version of this license is in
%% https://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".
%%
%% The Current Maintainers of this work are
%% Heiko Oberdiek and the Oberdiek Package Support Group
%% https://github.com/ho-tex/stringenc/issues
%%
%%
%% The Base Interpreter refers to any `TeX-Format',
%% because some files are installed in TDS:tex/generic//.
%%
%% 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-ascii-print.def, se-clean7bit.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\catcode61\catcode48\catcode32=10\relax%
\catcode13=5 % ^^M
\endlinechar=13 %
\catcode35=6 % #
\catcode39=12 % '
\catcode44=12 % ,
\catcode45=12 % -
\catcode46=12 % .
\catcode58=12 % :
\catcode64=11 % @
\catcode123=1 % {
\catcode125=2 % }
\expandafter\let\expandafter\x\csname ver@stringenc.sty\endcsname
\ifx\x\relax % plain-TeX, first loading
\else
\def\empty{}%
\ifx\x\empty % LaTeX, first loading,
% variable is initialized, but \ProvidesPackage not yet seen
\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}%
\aftergroup\endinput
\fi
\fi
\endgroup%
\begingroup\catcode61\catcode48\catcode32=10\relax%
\catcode13=5 % ^^M
\endlinechar=13 %
\catcode35=6 % #
\catcode39=12 % '
\catcode40=12 % (
\catcode41=12 % )
\catcode44=12 % ,
\catcode45=12 % -
\catcode46=12 % .
\catcode47=12 % /
\catcode58=12 % :
\catcode64=11 % @
\catcode91=12 % [
\catcode93=12 % ]
\catcode123=1 % {
\catcode125=2 % }
\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\@undefined
\xdef#1{#3}%
\fi
\ifx#1\relax
\xdef#1{#3}%
\fi
}%
\fi
\expandafter\x\csname ver@stringenc.sty\endcsname
\ProvidesPackage{stringenc}%
[2019/11/29 v1.12 Convert strings between diff. encodings (HO)]%
\begingroup\catcode61\catcode48\catcode32=10\relax%
\catcode13=5 % ^^M
\endlinechar=13 %
\catcode123 1 % {
\catcode125 2 % }
\catcode64 11 %
\def\x{\endgroup
\expandafter\edef\csname SE@AtEnd\endcsname{%
\endlinechar=\the\endlinechar\relax
\catcode13=\the\catcode13\relax
\catcode32=\the\catcode32\relax
\catcode35=\the\catcode35\relax
\catcode61=\the\catcode61\relax
\catcode64=\the\catcode64\relax
\catcode123=\the\catcode123\relax
\catcode125=\the\catcode125\relax
}%
}%
\x\catcode61\catcode48\catcode32=10\relax%
\catcode13=5 % ^^M
\endlinechar=13 %
\catcode35=6 % #
\catcode64=11 % @
\catcode123=1 % {
\catcode125=2 % }
\def\TMP@EnsureCode#1#2#3{%
\edef\SE@AtEnd{%
\SE@AtEnd
#1#2=\the#1#2\relax
}%
#1#2=#3\relax
}
\TMP@EnsureCode\catcode{34}{12}% "
\TMP@EnsureCode\catcode{36}{3}% $
\TMP@EnsureCode\catcode{38}{4}% &
\TMP@EnsureCode\catcode{39}{12}% '
\TMP@EnsureCode\catcode{40}{12}% (
\TMP@EnsureCode\catcode{41}{12}% )
\TMP@EnsureCode\catcode{42}{12}% *
\TMP@EnsureCode\catcode{43}{12}% +
\TMP@EnsureCode\catcode{44}{12}% ,
\TMP@EnsureCode\catcode{45}{12}% -
\TMP@EnsureCode\catcode{46}{12}% .
\TMP@EnsureCode\catcode{47}{12}% /
\TMP@EnsureCode\catcode{58}{12}% :
\TMP@EnsureCode\catcode{60}{12}% <
\TMP@EnsureCode\catcode{62}{12}% >
\TMP@EnsureCode\catcode{91}{12}% [
\TMP@EnsureCode\catcode{93}{12}% ]
\TMP@EnsureCode\catcode{94}{7}% ^
\TMP@EnsureCode\catcode{96}{12}% `
\TMP@EnsureCode\uccode{34}{0}% "
\TMP@EnsureCode\uccode{48}{0}% 0
\TMP@EnsureCode\uccode{61}{0}% =
\edef\SE@AtEnd{\SE@AtEnd\noexpand\endinput}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname RequirePackage\endcsname\relax
\input infwarerr.sty\relax
\input ltxcmds.sty\relax
\input pdfescape.sty\relax
\else
\RequirePackage{infwarerr}[2007/09/09]%
\RequirePackage{ltxcmds}[2010/03/01]%
\RequirePackage{pdfescape}[2010/03/01]%
\fi
\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>>}
\def\SE@ResultAdd#1{%
\edef\SE@result{\SE@result#1}%
}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname newif\endcsname\relax
\def\SE@newif#1{%
\begingroup
\escapechar=-1 %
\expandafter\endgroup
\expandafter\SE@@newif\string#1\@nil
}%
\def\SE@@newif#1#2#3\@nil{%
\expandafter\edef\csname#3true\endcsname{%
\let
\expandafter\noexpand\csname if#3\endcsname
\expandafter\noexpand\csname iftrue\endcsname
}%
\expandafter\edef\csname#3false\endcsname{%
\let
\expandafter\noexpand\csname if#3\endcsname
\expandafter\noexpand\csname iffalse\endcsname
}%
\csname#3false\endcsname
}%
\else
\expandafter\let\expandafter\SE@newif\csname newif\endcsname
\fi
\SE@newif\ifSE@invalid
\def\SE@InvalidCharacter{%
\SE@invalidtrue
}
\def\SE@ConvertTo#1#2#3{%
\let\SE@result\ltx@empty
\EdefSanitize\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
\ifSE@TestMode
\ifSE@invalid
\let\SE@next\SE@SkipRemaining
\fi
\fi
\fi
\fi
\SE@next
}
\def\SE@SkipRemaining#1\relax{}
\def\SE@@ScanLow#1#2#3#4{%
\ifx#4\relax
\SE@InvalidCharacter
\let\SE@next\relax
\else
\ifcase\ifnum"#1#2#3#4<"DC00 %
\ltx@zero
\else
\ifnum"#1#2#3#4>"DFFF %
\ltx@zero
\else
\ltx@one
\fi
\fi
\SE@InvalidCharacter
\ifSE@TestMode
\let\SE@next\SE@SkipRemaining
\else
\def\SE@next{SE@@ConvertTo#1#2#3#4}%
\fi
\else
\ifx\SE@ConvertSurrogate\relax
\else
\expandafter\SE@ConvertSurrogate\SE@high#1#2#3#4%
\fi
\let\SE@next\SE@@ConvertTo
\ifSE@TestMode
\ifSE@invalid
\let\SE@next\SE@SkipRemaining
\fi
\fi
\fi
\fi
\SE@next
}
\def\SE@ConvertFrom#1#2#3{%
\let\SE@result\ltx@empty
\EdefSanitize\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
\catcode35=6 % #/parameter
\catcode37=14 % percent/comment character
\catcode92=0 % backslash/escape character
\catcode123=1 % {/beginning of group
\catcode125=2 % }/end of group
\endlinechar=-1 %
\SE@MakeLetters @ABCDEFGHIKLMNOPRSTU%
abcdefghiklmnoprstuvwxyz\relax
\SE@MakeOthers "-./:<=>[]0123456789\relax
\expandafter\ifx\csname ProvidesFile\endcsname\relax
\def\ProvidesFile##1[##2]{%
\immediate\write-1{File: ##1 ##2}%
}%
\fi
\SE@InputIfFileExists{se-#1.def}%
\endgroup
}
\def\SE@MakeLetters#1{%
\ifx#1\relax
\else
\catcode`#1=11 %
\expandafter\SE@MakeLetters
\fi
}
\def\SE@MakeOthers#1{%
\ifx#1\relax
\else
\catcode`#1=12 %
\expandafter\SE@MakeOthers
\fi
}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname IfFileExists\endcsname\relax
\input pdftexcmds.sty\relax
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname pdf@filesize\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\expandafter\expandafter
\ifx\expandafter\expandafter\expandafter\\\pdf@filesize{#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
\SE@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
& \ifcase\expandafter\ltx@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
& \ifcase\expandafter\ltx@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\ltx@empty\ltx@empty
\ltx@empty\ltx@empty
}
\def\SE@@Nibbles@BinToHex#1#2#3#4{%
\ifx#1\ltx@empty
\else
$ \SE@Nibble@NumToHex{%
$ \numexpr#4+2*(#3+2*(#2+2*#1))\relax
$ }%
& \ifnum#1>\ltx@zero
& \ifnum#2>\ltx@zero
& \ifnum#3>\ltx@zero
& \ifnum#4>\ltx@zero
& F%
& \else
& E%
& \fi
& \else
& \ifnum#4>\ltx@zero
& D%
& \else
& C%
& \fi
& \fi
& \else
& \ifnum#3>\ltx@zero
& \ifnum#4>\ltx@zero
& B%
& \else
& A%
& \fi
& \else
& \ifnum#4>\ltx@zero
& 9%
& \else
& 8%
& \fi
& \fi
& \fi
& \else
& \ifnum#2>\ltx@zero
& \ifnum#3>\ltx@zero
& \ifnum#4>\ltx@zero
& 7%
& \else
& 6%
& \fi
& \else
& \ifnum#4>\ltx@zero
& 5%
& \else
& 4%
& \fi
& \fi
& \else
& \ifnum#3>\ltx@zero
& \ifnum#4>\ltx@zero
& 3%
& \else
& 2%
& \fi
& \else
& \ifnum#4>\ltx@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\ltx@zero=#2\relax
& \advance\count\ltx@zero by#3\relax
& \edef\x{\endgroup
& \def\noexpand#1{\the\count\ltx@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
$ \ifSE@TestMode
$ \let\SE@next\SE@SkipRemaining
$ \fi
$ \fi
& \begingroup\expandafter\expandafter\expandafter\endgroup
& \expandafter\ifx\csname SE->#1@#2\endcsname\relax
& \SE@InvalidCharacter
& \ifSE@TestMode
& \let\SE@next\SE@SkipRemaining
& \fi
& \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{%
\EdefSanitize\SE@from{#3}%
\EdefSanitize\SE@to{#4}%
\expandafter\ifx\csname SE@alias@\SE@from\endcsname\relax
\else
\EdefSanitize\SE@from{\csname SE@alias@\SE@from\endcsname}%
\fi
\expandafter\ifx\csname SE@alias@\SE@to\endcsname\relax
\else
\EdefSanitize\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\ltx@secondoftwo
\else
\expandafter\ltx@firstoftwo
\fi
}
\def\StringEncodingConvertTest#1#2#3#4{%
\SE@TestModetrue
\StringEncodingConvert{#1}{#2}{#3}{#4}%
\SE@TestModefalse
\StringEncodingSuccessFailure
}
\SE@newif\ifSE@TestMode
\EdefSanitize\SE@utfxvi{utf16}
\EdefSanitize\SE@utfxvibe{utf16be}
\EdefSanitize\SE@utfxvile{utf16le}
\EdefSanitize\SE@utfxxxii{utf32}
\EdefSanitize\SE@utfxxxiibe{utf32be}
\EdefSanitize\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\ltx@gobblefour\SE@result}%
\else
\ifnum"#3#4#1#2="FEFF %
\let\SE@from\SE@utfxvile
\edef\SE@result{\expandafter\ltx@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=\ltx@zero
\ifnum"#5#6#7#8="FEFF %
\edef\SE@result{\expandafter\SE@GobbleEight\SE@result}%
\fi
\else
\ifnum"#7#8#5#6=\ltx@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
\ltx@empty\ltx@empty\ltx@empty\ltx@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
\ltx@empty\ltx@empty\ltx@empty\ltx@empty
\ltx@empty\ltx@empty\ltx@empty\ltx@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{ascii-printable}{ascii-print}
\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{ascii-print}
\SE@temp{clean7bit}
\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{nextstep}
\def\StringEncodingList{%
ascii,%
ascii-print,%
clean7bit,%
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{%
\let\SE@next\SE@@from@general
\expandafter\SE@@from@general#1\relax\relax
}
\def\SE@@from@general#1#2{%
\ifx#1\relax
\let\SE@next\relax
\else
\ifnum"#1<8 % "#1#2<128
\SE@ResultAdd{00#1#2}%
\else
\SE@MapConvertFrom\SE@encoding{#1#2}%
\fi
\fi
\SE@next
}
\SE@AtEnd%
\endinput
%%
%% End of file `stringenc.sty'.