You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
153 lines
4.4 KiB
153 lines
4.4 KiB
%%
|
|
%% This is file `se-utf32be.def',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% stringenc.dtx (with options: `utf32,utf32be')
|
|
%%
|
|
%% 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.
|
|
%%
|
|
\ProvidesFile{se-utf32be.def}[2019/11/29 v1.12 stringenc: UTF-32BE]
|
|
\expandafter\gdef\csname\SE@PrefixTo utf32be\endcsname#1#2#3#4{%
|
|
\SE@ResultAdd{0000#1#2#3#4}%
|
|
}
|
|
\expandafter\gdef\csname\SE@PrefixSurrogateTo utf32be\endcsname
|
|
#1#2#3#4#5#6#7#8{%
|
|
\edef\SE@w{\SE@Nibble@NumToBin{"#2}}%
|
|
\edef\SE@a{\SE@Nibble@NumToBin{"#3}}%
|
|
\edef\SE@c{\SE@Nibble@NumToBin{"#6}}%
|
|
\edef\SE@w{%
|
|
\expandafter\ltx@gobbletwo\SE@w
|
|
\expandafter\SE@CarTwo\SE@a\@nil
|
|
}%
|
|
\edef\SE@w{%
|
|
\SE@Nibbles@BinToHex\SE@w
|
|
}%
|
|
\SE@Add\SE@w{\expandafter"\SE@w}\ltx@one
|
|
\edef\SE@a{%
|
|
\expandafter\ltx@gobbletwo\SE@a
|
|
\SE@Nibble@NumToBin{"#4}%
|
|
\expandafter\ltx@gobbletwo\SE@c
|
|
}%
|
|
\SE@ResultAdd{%
|
|
00%
|
|
\ifnum\SE@w>15 %
|
|
10%
|
|
\else
|
|
0%
|
|
\SE@Nibble@NumToHex\SE@w
|
|
\fi
|
|
\SE@Nibbles@BinToHex\SE@a
|
|
#7#8%
|
|
}%
|
|
}
|
|
\expandafter\gdef\csname\SE@PrefixFrom utf32be\endcsname#1{%
|
|
\expandafter\SE@utfxxxii@be@from#1\relax\relax\relax\relax
|
|
\relax\relax\relax\relax
|
|
}
|
|
\gdef\SE@utfxxxii@be@from#1#2#3#4#5#6#7#8{%
|
|
\ifx#1\relax
|
|
\let\SE@next\relax
|
|
\else
|
|
\ifx#8\relax
|
|
\let\SE@next\relax
|
|
\SE@InvalidCharacter
|
|
\else
|
|
\let\SE@next\SE@utfxxxii@be@from
|
|
\SE@utfxxxii@from#1#2#3#4#5#6#7#8%
|
|
\fi
|
|
\fi
|
|
\SE@next
|
|
}
|
|
\gdef\SE@utfxxxii@from#1#2#3#4#5#6#7#8{%
|
|
\ifcase\ifnum"#1#2>\ltx@zero
|
|
\ltx@zero
|
|
\else
|
|
\ifnum"#3#4#5#6#7#8>"10FFFF %
|
|
\ltx@zero
|
|
\else
|
|
\ifnum"#3#4#5#6#7#8<"D800 %
|
|
\ltx@one
|
|
\else
|
|
\ifnum"#3#4#5#6#7#8>"DFFF %
|
|
\ltx@one
|
|
\else
|
|
\ltx@zero
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\SE@InvalidCharacter
|
|
\ifSE@TestMode
|
|
\let\SE@next\SE@SkipRemaining
|
|
\fi
|
|
\else
|
|
\ifcase"#3#4 %
|
|
\SE@ResultAdd{#5#6#7#8}%
|
|
\else
|
|
\edef\SE@low{\SE@Nibble@NumToBin{"#6}}%
|
|
\SE@Add\SE@high{"#3#4}{-1}%
|
|
\edef\SE@high{%
|
|
10\SE@Nibble@NumToBin\SE@high
|
|
\SE@Nibble@NumToBin{"#5}%
|
|
\expandafter\SE@CarTwo\SE@low\@nil
|
|
}%
|
|
\edef\SE@low{%
|
|
11\expandafter\ltx@gobbletwo\SE@low
|
|
}%
|
|
\SE@ResultAdd{%
|
|
D\SE@Nibbles@BinToHex\SE@high
|
|
D\SE@Nibbles@BinToHex\SE@low
|
|
#7#8%
|
|
}%
|
|
\fi
|
|
\fi
|
|
}
|
|
\endinput
|
|
%%
|
|
%% End of file `se-utf32be.def'.
|
|
|