blob: a703d5bfe9436dc70473cbfb61346a0be1d0c1d7 (
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
|
%
% bxutf8x.def
%
%%%% package declarations
\ProvidesFile{bxutf8x.def}[2008/04/06 v0.3
BX UTF-8 input encoding (ucs ver.)]
%
% Note: All definitions in this file should be local.
%
%%%% preparation
\catcode32=10\relax
\expandafter\edef\csname bx@b@resetcatcodes\endcsname{% " . : @
\catcode34=\the\catcode34\catcode46=\the\catcode46%
\catcode58=\the\catcode39\catcode64=\the\catcode64\relax}%
\catcode34=12 \catcode46=12 \catcode58=12 \catcode64=11 %
\def\bxus@i@error{\PackageError{inputenc}}%
\ifx\@nodocument\relax
\ifx\bxus@bxutfx@loaded\@undefined
\bxus@i@error{cannot load `bxutf8x' after \string\begin{document}}%
\@eha \bx@b@resetcatcodes\endinput\fi\fi
%
%%%% load 'utf8x' encoding
\InputIfFileExists{utf8x.def}{}%
{\PackageError{inputenc}{input encoding `utf8x' unavailable}%
{You must install `unicode' package to use it.}%
\bx@b@resetcatcodes\endinput}%
%\@inpenc@test % This is done in utf8.def
%
% When this file is reloaded, the 'static' part will be skipped.
\ifx\bxus@bxutfx@loaded\@undefined\else
\bx@b@resetcatcodes \endinput \fi
\let\bxus@bxutfx@loaded=t%
%
%%---------- Beginning of static part
%
%%%% error messages
\def\bxus@err@nodrv{\bxus@i@error{Unicode driver not found}\@ehb}%
%
%%%% \bxus@uc@char@notloaded
% Hooked version of \uc@char@notloaded
\def\bxus@uc@char@notloaded#1{%
\count@=#1\divide\count@256%
\edef\uc@temp@a{uni-\number\count@.def}%
\expandafter\ifx\csname\uc@temp@a\endcsname\relax\else
\uc@secondtry#1\relax\fi
\ifnum\uc@secondtry=#1\relax % all trial of utf8x failed
\bxUInt{#1}%
\else
\begingroup
\ifUnicodeOptionsavemem\else
\global\expandafter\let\csname\uc@temp@a\endcsname\@ne \fi
\def\uc@got{#1}\uni@resetcatcodes
\expandafter\InputIfFileExists\expandafter{\uc@temp@a}{%
\global\let\uni@dataloaded1}{}%
\endgroup
\uc@secondtry#1\relax\uni@char{#1}%
\fi}%
\def\bxus@uc@notloaderr#1#2#3{%
\bxUInt{#1}}% \bxUInt should be robust
%
%%%% attach the hook
% Note that ucs.sty could be loaded after utf8x.def.
\AtBeginDocument{%
\let\uc@notloaderr\bxus@uc@notloaderr
\let\uc@char@notloaded\bxus@uc@char@notloaded}%
%
%%%% force ucs 'fasterrors' option switched on
% Heavy 'uninames' decoding process is of no use in presence of the hook,
% and it causes unexpected result in use of pTeX.
\AtBeginDocument{%
\let\UnicodeOptionfasterrorsfalse\UnicodeOptionfasterrorstrue
\UnicodeOptionfasterrorstrue}%
%
%%%% default (useless) Unicode driver
\providecommand*\bxUInt[1]{?\protect\bxus@err@nodrv}%
%
%%%% all done
\bx@b@resetcatcodes
\endinput
%% EOF
|