summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/luatexja/src/luatexja-compat.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/luatex/generic/luatexja/src/luatexja-compat.sty
Initial commit
Diffstat (limited to 'macros/luatex/generic/luatexja/src/luatexja-compat.sty')
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja-compat.sty140
1 files changed, 140 insertions, 0 deletions
diff --git a/macros/luatex/generic/luatexja/src/luatexja-compat.sty b/macros/luatex/generic/luatexja/src/luatexja-compat.sty
new file mode 100644
index 0000000000..f55bf51114
--- /dev/null
+++ b/macros/luatex/generic/luatexja/src/luatexja-compat.sty
@@ -0,0 +1,140 @@
+%
+% luatexja-compat.sty
+%
+
+%! 外から読まれるので仰々しくなってます
+%% Avoid multiple loading.
+\csname\if11luatexjacompatLoaded\fi\endcsname
+\edef\x{%
+\catcode32=\the\catcode32%
+\catcode33=\the\catcode33%
+\catcode35=\the\catcode35%
+\catcode40=\the\catcode40%
+\catcode41=\the\catcode41%
+\catcode42=\the\catcode42%
+\catcode43=\the\catcode43%
+\catcode44=\the\catcode44%
+\catcode45=\the\catcode45%
+\catcode46=\the\catcode46%
+\catcode58=\the\catcode58%
+\catcode59=\the\catcode59%
+\catcode60=\the\catcode60%
+\catcode61=\the\catcode61%
+\catcode62=\the\catcode62%
+\catcode64=\the\catcode64%
+\catcode91=\the\catcode91%
+\catcode93=\the\catcode93%
+\catcode94=\the\catcode94%
+\catcode95=\the\catcode95%
+\catcode126=\the\catcode126%
+\endlinechar=\the\endlinechar
+\relax}
+\catcode32=10 %< >
+\catcode33=12 %<">
+\catcode35=6 %<#>
+\catcode40=12 %<(>
+\catcode41=12 %<)>
+\catcode42=12 %<*>
+\catcode43=12 %<+>
+\catcode44=12 %<,>
+\catcode45=12 %<->
+\catcode46=12 %<.>
+\catcode58=12 %<:>
+\catcode59=12 %<;>
+\catcode60=12 %<<>
+\catcode61=12 %<=>
+\catcode62=12 %<>>
+\catcode64=11 %<@>
+\catcode91=12 %<[>
+\catcode93=12 %<]>
+\catcode94=7 %<^>
+\catcode95=8 %<_>
+\catcode126=13 %<~>
+\endlinechar=-1 %
+%! なお, 上のcatcode設定はcoreとcompatで同一にしておく.
+\edef\ltj@compat@AtEnd{\x
+ \noexpand\let\noexpand\ltj@compat@AtEnd\relax}
+\def\luatexjacompatLoaded{\endinput}
+
+%% Check if LaTeX is used.
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname RequirePackage\endcsname\relax %<*!LaTeX>
+ \expandafter\let\csname ifltj@in@latex\expandafter\endcsname
+ \csname iffalse\endcsname
+\else %<*LaTeX>
+ \expandafter\let\csname ifltj@in@latex\expandafter\endcsname
+ \csname iftrue\endcsname
+ \NeedsTeXFormat{LaTeX2e}
+ \ProvidesPackage{luatexja-compat}[2018/03/29 Compatibility with pTeX]
+\fi %</LaTeX>
+
+% Load core module if not yet.
+\ifx\luatexjacoreLoaded\@undefined
+ \ifltj@in@latex %<*LaTeX>
+ \RequirePackage{luatexja-core}
+ \else %<*!LaTeX>
+ \input luatexja-core.sty %
+ \fi %</LaTeX>
+\fi
+
+%% When environment check fails, exit now.
+\ifx\LuaTeXjaAvailable\@undefined
+ \ltj@compat@AtEnd
+\expandafter\endinput\fi\relax
+
+%% Load Lua modules.
+%\RequireLuaModule{luatexja.infomute}
+% not yet implemented.
+
+%% Silence info messages of luatexbase-mcb
+%\directlua{ luatexja.infomute.add_mute("luatexbase-mcb") }
+% not yet implemented.
+
+%%------------------
+\RequireLuaTeXjaSubmodule{compat}
+
+\def\euc{\ltj@code@conv{euc}}
+\def\kuten{\ltj@code@conv{kuten}}
+\def\jis{\ltj@code@conv{jis}}
+\def\sjis{\ltj@code@conv{sjis}}
+\def\ucs{\ltj@code@conv{ucs}}
+
+\def\ltj@code@conv#1{%
+ \directlua{luatexja.compat.from_#1(token.scan_int())}%
+}
+
+\def\kansuji{%
+ \directlua{luatexja.compat.to_kansuji(token.scan_int())}%
+}
+
+\define@key[ltj]{japaram}{kansujichar}{\ltj@@set@stack{KSJ}{0}{0x7FFFFFFF}#1 }
+
+\ltjsetparameter{kansujichar={0,`〇}}
+\ltjsetparameter{kansujichar={1,`一}}
+\ltjsetparameter{kansujichar={2,`二}}
+\ltjsetparameter{kansujichar={3,`三}}
+\ltjsetparameter{kansujichar={4,`四}}
+\ltjsetparameter{kansujichar={5,`五}}
+\ltjsetparameter{kansujichar={6,`六}}
+\ltjsetparameter{kansujichar={7,`七}}
+\ltjsetparameter{kansujichar={8,`八}}
+\ltjsetparameter{kansujichar={9,`九}}
+\ltj@@decl@array@param{kansujichar}
+
+\ifltj@in@latex
+% \pltx@next@inhibitglue (pLaTeX 2018-03-09)
+\protected\def\pltx@next@inhibitglue{%
+ \ifhmode\inhibitglue\else
+ \edef\@tempa{\everypar{%
+ \everypar{\unexpanded\expandafter{\the\everypar}}%
+ \unexpanded\expandafter{\the\everypar}\inhibitglue}}%
+\@tempa\fi}
+ \newcommand\printglossary{\@input@{\jobname.gls}}
+\csname newcount\endcsname\hour
+\csname newcount\endcsname\minute
+\fi
+
+%%------------------ all done
+\ltj@compat@AtEnd
+\endinput
+%% EOF