summaryrefslogtreecommitdiff
path: root/language/japanese/BX/bxbase/bxtoolbox-ja.def
diff options
context:
space:
mode:
Diffstat (limited to 'language/japanese/BX/bxbase/bxtoolbox-ja.def')
-rw-r--r--language/japanese/BX/bxbase/bxtoolbox-ja.def186
1 files changed, 186 insertions, 0 deletions
diff --git a/language/japanese/BX/bxbase/bxtoolbox-ja.def b/language/japanese/BX/bxbase/bxtoolbox-ja.def
new file mode 100644
index 0000000000..a522d6e29a
--- /dev/null
+++ b/language/japanese/BX/bxbase/bxtoolbox-ja.def
@@ -0,0 +1,186 @@
+%%
+%% This is file 'bxtoolbox-ja.def'.
+%%
+
+%% file declaration
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{bxtoolbox-ja.def}[2017/05/29 v1.1]
+
+%% check intergrity
+\edef\bxtb@tmpa{\@currname.\@currext}\def\bxtb@tmpb{bxtoolbox-ja.def}
+\ifx\bxtb@tmpa\bxtb@tmpb\else
+ \PackageError\bxtb@pkgname{Illegal load sequence}\@eha
+\expandafter\endinput\fi\relax
+
+%% load submodule
+\providecommand*\bxRequireDefinition[1]{%
+ \def\bx@@def{def}\@onefilewithoptions{#1}[][]\bx@@def}
+\bxRequireDefinition{bxtoolbox-ext}
+
+%% code guards
+\edef\bxtb@j@restore@codes{%
+ \catcode34=\the\catcode34%
+ \catcode45=\the\catcode45%
+ \catcode46=\the\catcode46%
+ \catcode47=\the\catcode47%
+ \catcode58=\the\catcode58%
+ \catcode59=\the\catcode59%
+ \catcode63=\the\catcode63%
+ \catcode96=\the\catcode96%
+\relax}
+\catcode34=12 % <">
+\catcode45=12 % <->
+\catcode46=12 % <.>
+\catcode47=12 % </>
+\catcode58=12 % <:>
+\catcode59=12 % <;>
+\catcode63=12 % <?>
+\catcode96=12 % <`>
+\AtEndOfPackage{%
+ \bxtb@j@restore@codes
+ \undef\bxtb@j@restore@codes}
+
+%--------------------------------------- pTeX something
+
+%% switch 'bxtb@pxbase@ok'
+\newbool{bxtb@pxbase@ok}
+\ifbxinpTeX
+ \IfFileExists{pxbase.sty}{%
+ \bxtb@pxbase@oktrue
+ }{}
+\fi
+
+%%<+> \bxToYokoDir
+% Switches to horizontal(yoko) writing direction
+% when using pTeX.
+\ifbxinpTeX %----<*pTeX>
+\newcommand*\bxToYokoDir{%
+ \bxIfydir{}{\yoko}}
+\else %----<*!pTeX>
+\newcommand*\bxToYokoDir{}
+\fi %----</pTeX>
+
+%%<+> \bxAtBeginDviX
+% \AtBeginDvi that is safe to use in pTeX.
+\newcommand\bxAtBeginDviX[1]{%
+ \global\setbox\@begindvibox\vbox{%
+ \bxToYokoDir\unvbox\@begindvibox#1}}
+
+%--------------------------------------- Japanese something
+
+%%<+> \bxGetZenkakuWidth
+% Assigns 1zw to \bxResDim
+\ifbxinpTeX
+ \bxNewrobustcmd*\bxGetZenkakuWidth{%
+ \bxResDim=1zw\relax}
+\else\ifbxHasAlUcsChar
+ \bxToUcsChar{"4E00}\let\bx@jan@onekanji\bxRes
+ \bxNewrobustcmd*\bxGetZenkakuWidth{%
+ \begingroup \setbox\z@\hbox{\bx@jan@onekanji}%
+ \xdef\bx@jan@g@next{\bxResDim=\the\wd\z@\relax}%
+ \endgroup \bx@jan@g@next}
+ \AtBeginDocument{%
+ \ifdef\jsZw{%
+ \bxRenewrobustcmd*\bxGetZenkakuWidth{%
+ \bxResDim=1\jsZw}}{}%
+ \ifdef\zw{%
+ \bxRenewrobustcmd*\bxGetZenkakuWidth{%
+ \bxResDim=1\zw}}{}%
+ }
+\fi\fi
+
+%%<+> \bxIfCharToken{<token>}{<yes>}{<no>}
+% Tests if the token is a character token with catcode 11 or 12.
+\newcommand*\bxIfCharToken[1]{%
+ \bxIfcat{\relax\noexpand#1}{\@secondoftwo}%
+ {\expandafter\bxtb@ifchartok@a\meaning#1\bxtb@end}}
+\def\bxtb@ifchartok@a#1{%
+ \bxIfcsundefX{bxtb@ICTF/#1}{\bxtb@ifchartok@false}%
+ {\bxtb@ifchartok@b#1}}
+\def\bxtb@ifchartok@b#1#2#3#4#5#6{%
+ \bxIfcsundefX{bxtb@ICT/#1#2#3#4#5#6}{\bxtb@ifchartok@false}%
+ {\bxtb@ifchartok@true}}
+\def\bxtb@ifchartok@true#1\bxtb@end#2#3{#2}
+\def\bxtb@ifchartok@false#1\bxtb@end#2#3{#3}
+\def\do#1#2:{\cslet{bxtb@ICTF/#1}{t}\cslet{bxtb@ICT/#1#2}{t}}
+\do thelet:% 11
+\do thecha:% 12
+\do kanjic:% 16-19(upTeX)
+
+%--------------------------------------- kanji-encoding something
+
+%%<+> \bxInternalJaEncoding
+\let\bxInternalJaEncoding=?
+\ifbxHasAlUcsChar
+ \let\bxInternalJaEncoding=u
+\else\ifbxinpdfTeX
+ \let\bxInternalJaEncoding=b
+\else\ifbxinpTeX
+ \ifnum\jis"2121="8140 \let\bxInternalJaEncoding=s\else
+ \ifnum\jis"2121="A1A1 \let\bxInternalJaEncoding=e\else
+ \ifnum\jis"2121="3000 \let\bxInternalJaEncoding=u\fi\fi\fi
+\fi\fi\fi
+
+%%<+> \bxInputJaEncoding
+\let\bxInputJaEncoding=?
+\ifbxHasAlUcsChar
+ \let\bxInputJaEncoding=u
+\else\ifbxinpdfTeX
+ \let\bxInputJaEncoding=b
+\else\ifbxtb@pxbase@ok
+ \@@input pxbsjc.def\relax
+ \def\bxtb@tmpb#1#2\@nil{%
+ \ifnum `#1=\jis"723F \let\bxInputJaEncoding=s\else
+ \ifnum `#1=\jis"693D \let\bxInputJaEncoding=e\else
+ \ifnum `#1=\jis"7379 \let\bxInputJaEncoding=u\fi\fi\fi}
+ \expandafter\bxtb@tmpb\bxtb@tmpa\@nil
+ \ifx e\bxInputJaEncoding
+ \@@input pxbsjc1.def\relax
+ \def\bxtb@tmpb#1#2\@nil{%
+ \ifnum `#1=\jis"723F \let\bxInputJaEncoding=a\fi}
+ \expandafter\bxtb@tmpb\bxtb@tmpa\@nil
+ \fi
+\fi\fi\fi
+
+%%<+> \bxOutputJaEncoding
+\let\bxOutputJaEncoding=?
+% if input is 'auto', output should not be equal to it,
+% but I don't know what to do then.
+\let\bxOutputJaEncoding=\bxInputJaEncoding
+
+%% \bxtb@jaencname
+\def\bxtb@jaencname#1#2{%
+ \ifx u#1#2\else
+ \ifx s#1sjis\else
+ \ifx e#1euc\else
+ \ifx a#1auto\else
+ \ifx b#1byte\else
+ (unknown)\fi\fi\fi\fi\fi}
+
+%%<*> \internaljaencodingname
+\newcommand*\internaljaencodingname{}
+\edef\internaljaencodingname{%
+ \bxtb@jaencname\bxInternalJaEncoding{unicode}}
+
+%%<*> \inputjaencodingname
+\newcommand*\inputjaencodingname{}
+\edef\inputjaencodingname{%
+ \bxtb@jaencname\bxInputJaEncoding{utf8}}
+
+%%<*> \outputjaencodingname
+\newcommand*\outputjaencodingname{}
+\edef\outputjaencodingname{%
+ \bxtb@jaencname\bxOutputJaEncoding{utf8}}
+
+%%<*> \infojenc
+\newcommand*\infojenc{%
+ \typeout{%
+ Kanji encoding:
+ input=\inputjaencodingname;
+ output=\outputjaencodingname;
+ internal=\internaljaencodingname}%
+}
+
+%--------------------------------------- all done
+\endinput
+%% EOF