diff options
Diffstat (limited to 'macros/luatex/generic/luatexja/src/luatexja-compat.sty')
-rw-r--r-- | macros/luatex/generic/luatexja/src/luatexja-compat.sty | 140 |
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 |