OSDN Git Service

Renamed Lua files and manuals (please do more tests).
[luatex-ja/luatexja.git] / src / luatexja-compat.sty
1 %
2 % luatexja-compat.sty
3 %
4
5 %! 外から読まれるので仰々しくなってます
6 %% Avoid multiple loading.
7 \csname\if11luatexjacompatLoaded\fi\endcsname
8 \edef\x{%
9 \catcode32=\the\catcode32%
10 \catcode33=\the\catcode33%
11 \catcode35=\the\catcode35%
12 \catcode40=\the\catcode40%
13 \catcode41=\the\catcode41%
14 \catcode42=\the\catcode42%
15 \catcode43=\the\catcode43%
16 \catcode44=\the\catcode44%
17 \catcode45=\the\catcode45%
18 \catcode46=\the\catcode46%
19 \catcode58=\the\catcode58%
20 \catcode59=\the\catcode59%
21 \catcode60=\the\catcode60%
22 \catcode61=\the\catcode61%
23 \catcode62=\the\catcode62%
24 \catcode64=\the\catcode64%
25 \catcode91=\the\catcode91%
26 \catcode93=\the\catcode93%
27 \catcode94=\the\catcode94%
28 \catcode95=\the\catcode95%
29 \catcode126=\the\catcode126%
30 \endlinechar=\the\endlinechar
31 \relax}
32 \catcode32=10 %< >
33 \catcode33=12 %<">
34 \catcode35=6  %<#>
35 \catcode40=12 %<(>
36 \catcode41=12 %<)>
37 \catcode42=12 %<*>
38 \catcode43=12 %<+>
39 \catcode44=12 %<,>
40 \catcode45=12 %<->
41 \catcode46=12 %<.>
42 \catcode58=12 %<:>
43 \catcode59=12 %<;>
44 \catcode60=12 %<<>
45 \catcode61=12 %<=>
46 \catcode62=12 %<>>
47 \catcode64=11 %<@>
48 \catcode91=12 %<[>
49 \catcode93=12 %<]>
50 \catcode94=7  %<^>
51 \catcode95=8  %<_>
52 \catcode126=13 %<~>
53 \endlinechar=-1 %
54 %! なお, 上のcatcode設定はcoreとcompatで同一にしておく.
55 \edef\ltj@compat@AtEnd{\x
56   \noexpand\let\noexpand\ltj@compat@AtEnd\relax}
57 \def\luatexjacompatLoaded{\endinput}
58
59 %% Check if LaTeX is used.
60 \begingroup\expandafter\expandafter\expandafter\endgroup
61 \expandafter\ifx\csname RequirePackage\endcsname\relax %<*!LaTeX>
62   \expandafter\let\csname ifltj@in@latex\expandafter\endcsname
63     \csname iffalse\endcsname
64 \else                           %<*LaTeX>
65   \expandafter\let\csname ifltj@in@latex\expandafter\endcsname
66     \csname iftrue\endcsname
67   \NeedsTeXFormat{LaTeX2e}
68   \ProvidesPackage{luatexja-compat}[2011/04/01 v0.1]
69 \fi                             %</LaTeX>
70
71 %% If the engine is pTeX, then load the module for it and exit.
72 \edef\ltj@@tempa{\string\kansuji}
73 \edef\ltj@@tempb{\meaning\kansuji}
74 \ifx\ltj@@tempa\ltj@@tempb      %<*pTeX>
75   \let\ltj@@compat@pTeX=t
76   \ifltj@in@latex                 %<*LaTeX>
77     \RequirePackage{luatexja-compat-ptex}[2011/04/01]
78   \else                           %<*!LaTeX>
79     \input luatexja-compat-ptex.sty %
80   \fi                             %</LaTeX>
81   \ltj@compat@AtEnd
82 \expandafter\endinput\fi\relax  %</pTeX>
83
84 % Load core module if not yet.
85 \ifx\luatexjacoreLoaded\@undefined
86   \ifltj@in@latex                 %<*LaTeX>
87     \RequirePackage{luatexja-core}[2012/04/20]
88   \else                           %<*!LaTeX>
89     \input luatexja-core.sty %
90   \fi                             %</LaTeX>
91 \fi
92
93 %% When environment check fails, exit now.
94 \ifx\LuaTeXjaAvailable\@undefined
95   \ltj@compat@AtEnd
96 \expandafter\endinput\fi\relax
97
98 %% Load Lua modules.
99 %\RequireLuaModule{luatexja.infomute}
100 % not yet implemented.
101
102 %% Silence info messages of luatexbase-mcb
103 %\directlua{ luatexja.infomute.add_mute("luatexbase-mcb") }
104 % not yet implemented.
105
106 %%------------------
107
108 \directlua{
109   luatexja.load_module('jisx0208');
110   luatexja.load_module('compat');
111 }
112
113 \def\euc{\ltj@code@conv{euc}}
114 \def\kuten{\ltj@code@conv{kuten}}
115 \def\jis{\ltj@code@conv{jis}}
116 \def\sjis{\ltj@code@conv{sjis}}
117 \def\ucs{\ltj@code@conv{ucs}}
118
119 \def\ltj@code@conv#1{%
120   \directlua{luatexja._cc_next = luatexja.compat.from_#1 }%
121   \ltj@code@convA
122 }
123 \def\ltj@code@convA{%
124   \expandafter\expandafter\expandafter
125    \ltj@code@convB\ltj@grab@num
126 }
127 \def\ltj@code@convB#1{%
128   \directlua{luatexja._cc_next(\ltj@safe@num{#1}) }%
129 }
130
131 \def\kansuji{%
132 \tracingall
133   \expandafter\expandafter\expandafter
134    \ltj@kansujiA\ltj@grab@num
135 }
136 \def\ltj@kansujiA#1{%
137   \directlua{luatexja.compat.to_kansuji(\ltj@safe@num{#1}) }%
138 }
139 \define@key[ltj]{japaram}{kansujichar}{%
140   \expandafter\ltj@@set@stack#1:{ksj}{0}{0x7FFFFFFF}}
141
142 \ltjsetparameter{kansujichar={0,`〇}}
143 \ltjsetparameter{kansujichar={1,`一}}
144 \ltjsetparameter{kansujichar={2,`二}}
145 \ltjsetparameter{kansujichar={3,`三}}
146 \ltjsetparameter{kansujichar={4,`四}}
147 \ltjsetparameter{kansujichar={5,`五}}
148 \ltjsetparameter{kansujichar={6,`六}}
149 \ltjsetparameter{kansujichar={7,`七}}
150 \ltjsetparameter{kansujichar={8,`八}}
151 \ltjsetparameter{kansujichar={9,`九}}
152
153 \ifltj@in@latex
154   \newcommand\printglossary{\@input@{\jobname.gls}}
155 \fi
156 \newcount\hour
157 \newcount\minute
158
159 %%------------------ all done
160 \ltj@compat@AtEnd
161 \endinput
162 %% EOF