summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/oberdiek/se-clean7bit.def
blob: ab6d7c9c27fbc9778c336a52049dae1ae994c772 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
%%
%% This is file `se-clean7bit.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% stringenc.dtx  (with options: `clean7bit')
%% 
%% This is a generated file.
%% 
%% Copyright (C) 2007-2009 by
%%    Heiko Oberdiek <heiko.oberdiek at googlemail.com>
%% 
%% 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
%%    http://www.latex-project.org/lppl/lppl-1-3c.txt
%% and 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.
%% 
%% 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-clean7bit.def}[2009/12/15 v1.7 stringenc: Clean7Bit]
\expandafter\gdef\csname\SE@PrefixTo clean7bit\endcsname#1#2#3#4{%
  \ifnum"#1#2#3<8 %
    \ifnum"#3#4<128 %
      \ifnum"#3#4>26 %
        \SE@ResultAdd{#3#4}%
      \else
        \ifnum"#3#4=10 %
          \SE@ResultAdd{0A}%
        \else
          \ifnum"#3#4=13 %
            \SE@ResultAdd{0D}%
          \else
            \ifnum"#3#4=9 %
              \SE@ResultAdd{09}%
            \else
              \SE@InvalidCharacter
            \fi
          \fi
        \fi
      \fi
    \else
      \SE@InvalidCharacter
    \fi
  \else
    \SE@InvalidCharacter
  \fi
}
\expandafter\gdef\csname\SE@PrefixSurrogateTo clean7bit\endcsname
    #1#2#3#4#5#6#7#8{%
  \SE@InvalidCharacter
}
\expandafter\gdef\csname\SE@PrefixFrom clean7bit\endcsname#1{%
  \let\SE@next\SE@cleansevenbit@from
  \expandafter\SE@cleansevenbit@from#1\relax\relax
}
\gdef\SE@cleansevenbit@from#1#2{%
  \ifx#1\relax
    \let\SE@next\relax
  \else
    \ifnum"#1#2>126 %
      \SE@InvalidCharacter
      \ifSE@TestMode
        \let\SE@next\SE@SkipRemaining
      \fi
    \else
      \ifnum"#1#2<27 %
        \ifnum"#1#2=10 %
          \SE@ResultAdd{0010}%
        \else
          \ifnum"#1#2=13 %
            \SE@ResultAdd{000D}%
          \else
            \ifnum"#1#2=9 %
              \SE@ResultAdd{0009}%
            \else
              \SE@InvalidCharacter
              \ifSE@TestMode
              \let\SE@next\SE@SkipRemaining
            \fi
          \fi
        \fi
      \else
        \SE@ResultAdd{00#1#2}%
      \fi
    \fi
  \fi
  \SE@next
}
\endinput
%%
%% End of file `se-clean7bit.def'.