diff options
Diffstat (limited to 'language')
-rw-r--r-- | language/japanese/BX/bxjatoucs/LICENSE | 2 | ||||
-rw-r--r-- | language/japanese/BX/bxjatoucs/README.md | 14 | ||||
-rw-r--r-- | language/japanese/BX/bxjatoucs/bxjatoucs-tojis.tfm | bin | 0 -> 94324 bytes | |||
-rw-r--r-- | language/japanese/BX/bxjatoucs/bxjatoucs.sty | 80 | ||||
-rw-r--r-- | language/japanese/BX/bxjscls/README-ja.md | 3 | ||||
-rw-r--r-- | language/japanese/BX/bxjscls/README.md | 1 | ||||
-rw-r--r-- | language/japanese/BX/bxjscls/bxjscls-manual.pdf | bin | 407611 -> 407675 bytes | |||
-rw-r--r-- | language/japanese/BX/bxjscls/bxjscls-manual.tex | 4 | ||||
-rw-r--r-- | language/japanese/BX/bxjscls/bxjscls.dtx | 90 | ||||
-rw-r--r-- | language/japanese/BX/bxjscls/bxjscls.pdf | bin | 884432 -> 887244 bytes |
10 files changed, 177 insertions, 17 deletions
diff --git a/language/japanese/BX/bxjatoucs/LICENSE b/language/japanese/BX/bxjatoucs/LICENSE index 534324b756..aff6b30c93 100644 --- a/language/japanese/BX/bxjatoucs/LICENSE +++ b/language/japanese/BX/bxjatoucs/LICENSE @@ -1,6 +1,6 @@ The MIT License -Copyright (c) 2019 Takayuki YATO (aka. "ZR") +Copyright (c) 2019-2024 Takayuki YATO (aka. "ZR") Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/language/japanese/BX/bxjatoucs/README.md b/language/japanese/BX/bxjatoucs/README.md index 6e2c9bb7bc..cc3dd0a7a5 100644 --- a/language/japanese/BX/bxjatoucs/README.md +++ b/language/japanese/BX/bxjatoucs/README.md @@ -69,6 +69,16 @@ Additional variants: the argument is assumed to be a valid decimal string. - `\bxjaFastCidToUcsHex{<value>}`: same for `\bxjaCidToUcsHex`. +### Conversions from Unicode + +Starting from v0.3, macros for some conversions *from* Unicode (rather +than conversions *to* Unicode) are available. The rule of input/output +is the same as the existing macros. + + - `\bxjaUcsToJis{<value>}`: converts to a jis scalar value. + - `\bxjaUcsToEuc{<value>}`: converts to an euc scalar value. + - `\bxjaUcsToSjis{<value>}`: converts to a sjis scalar value. + ## Example The following `\message` lines all display `23551:21496`. @@ -89,6 +99,10 @@ The following `\message` lines all display `5BFF:53F8`. Revision History ---------------- + * Version 0.3a ‹2024/07/22› + - Renamed TFM 'bxjatoucs-fromjis' to 'bxjatoucs-tojis'. + * Version 0.3 ‹2024/07/20› + - Added “Unicode to JIS”type conversions. * Version 0.2 ‹2019/10/20› - The first public version. diff --git a/language/japanese/BX/bxjatoucs/bxjatoucs-tojis.tfm b/language/japanese/BX/bxjatoucs/bxjatoucs-tojis.tfm Binary files differnew file mode 100644 index 0000000000..fc0ede1a9d --- /dev/null +++ b/language/japanese/BX/bxjatoucs/bxjatoucs-tojis.tfm diff --git a/language/japanese/BX/bxjatoucs/bxjatoucs.sty b/language/japanese/BX/bxjatoucs/bxjatoucs.sty index b387872640..04fb01765a 100644 --- a/language/japanese/BX/bxjatoucs/bxjatoucs.sty +++ b/language/japanese/BX/bxjatoucs/bxjatoucs.sty @@ -1,7 +1,7 @@ %% %% This is file 'bxjatoucs.sty'. %% -%% Copyright (c) 2019 Takayuki YATO (aka. "ZR") +%% Copyright (c) 2019-2024 Takayuki YATO (aka. "ZR") %% GitHub: https://github.com/zr-tex8r %% Twitter: @zr_tex8r %% @@ -53,7 +53,7 @@ %% package declaration \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{bxjatoucs}[2019/10/20 v0.2] +\ProvidesPackage{bxjatoucs}[2024/07/22 v0.3a] \def\bxju@pkgname{bxjatoucs} %--------------------------------------- "check-avail" @@ -167,6 +167,22 @@ \bxju@ifdefinable\bxjaFastJscToUcsHex{% \def\bxjaFastJscToUcsHex{% \bxju@burst-`>\bxju@in@hex\bxju@fast@jsc@to@ucs}} +%%<*> \bxjaUcsToJis{<ucs>} +\bxju@ifdefinable\bxjaUcsToJis{% + \def\bxjaUcsToJis{% + \bxju@burst-`>\bxju@ucs@to@jis}} +%%<*> \bxjaUcsToEuc{<ucs>} +\bxju@ifdefinable\bxjaUcsToEuc{% + \def\bxjaUcsToEuc{% + \bxju@burst-`>\bxju@ucs@to@euc}} +%%<*> \bxjaUcsToSjis{<ucs>} +\bxju@ifdefinable\bxjaUcsToSjis{% + \def\bxjaUcsToSjis{% + \bxju@burst-`>\bxju@ucs@to@sjis}} +%%<*> \bxjaFastUcsToJsc{<ucs>} +\bxju@ifdefinable\bxjaFastUcsToJsc{% + \def\bxjaFastUcsToJsc{% + \bxju@burst-`>\bxju@fast@ucs@to@jsc}} %--------------------------------------- auxiliary @@ -195,6 +211,16 @@ \expandafter\bxju@decomp@b\the\numexpr#2-#1*256:#1:} \def\bxju@decomp@b#1:#2:#3{#3{#2}{#1}} +%% \bxju@decomp@int{<number>}\CScont +% Divides the <number> by 94 and returns the quotient and +% the remainder as \CScont{<high>}{<low>}. +\def\bxju@decomp@int#1{% + \expandafter\bxju@decomp@int@a + \number\numexpr\ifnum#1>\ltx@zero(#1-47)/94\else0\fi:#1:} +\def\bxju@decomp@int@a#1:#2:{% + \expandafter\bxju@decomp@int@b\the\numexpr#2-#1*94:#1:} +\def\bxju@decomp@int@b#1:#2:#3{#3{#2}{#1}} + %% \bxju@in@hex\CSconv{<arg>} \def\bxju@in@hex#1#2{% \expandafter\bxju@in@hex@a\bxju@burst-`>#1{#2}:>} @@ -231,6 +257,7 @@ %% umbralist fontdefs \font\bxju@ul@cid=bxjatoucs-cid \font\bxju@ul@jis=bxjatoucs-jis +\font\bxju@ul@tojis=bxjatoucs-tojis %% \bxju@cid@to@ucs{<cid>} \def\bxju@cid@to@ucs#1{% @@ -284,6 +311,55 @@ \def\bxju@fast@jsc@to@ucs#1{% \number\fontdimen\numexpr(#1)+8\bxju@ul@jis} +%% \bxju@conv@ucs@to@jsc{<ucs>}\CScont +% Converts a UCS value <ucs> to JSC and returns the result. +% If no corresponding JSC codepoint exists, returns 9999. +\def\bxju@conv@ucs@to@jsc#1{% + \expandafter\bxju@conv@ucs@to@jsc@a\number\numexpr#1\bxju@mk} +\def\bxju@conv@ucs@to@jsc@a#1\bxju@mk{% + \bxju@cond\ifnum#1<"10000 \fi{% + \expandafter\bxju@conv@ucs@to@jsc@b + \number\fontdimen\numexpr(#1+480)/64\bxju@ul@tojis:#1\bxju@mk + }{\bxju@conv@ucs@to@jsc@a0\bxju@mk}} +\def\bxju@conv@ucs@to@jsc@b#1:#2\bxju@mk{% + \expandafter\bxju@conv@ucs@to@jsc@c + \number\fontdimen\numexpr#2+1088-#1\bxju@ul@tojis\bxju@mk} +\def\bxju@conv@ucs@to@jsc@c#1\bxju@mk#2{#2{#1}} + +%% \bxju@ucs@to@jis{<ucs>} +\def\bxju@ucs@to@jis#1{% + \bxju@check@number{#1}\bxju@ucs@to@jiseuc{8481}} +\def\bxju@ucs@to@jiseuc#1{% + \bxju@conv@ucs@to@jsc{#1}\bxju@ucs@to@jiseuc@a} +\def\bxju@ucs@to@jiseuc@a#1{% + \bxju@cond\ifnum#1=9999 \fi{\ltx@firstoftwo{0}}{%else + \bxju@decomp@int{#1}\bxju@ucs@to@jiseuc@b}} +\def\bxju@ucs@to@jiseuc@b#1#2#3{% + \number\numexpr#1*256+#2+#3\relax} + +%% \bxju@ucs@to@euc{<ucs>} +\def\bxju@ucs@to@euc#1{% + \bxju@check@number{#1}\bxju@ucs@to@jiseuc{41377}} + +%% \bxju@ucs@to@sjis{<ucs>} +\def\bxju@ucs@to@sjis#1{% + \bxju@check@number{#1}\bxju@ucs@to@sjis@a} +\def\bxju@ucs@to@sjis@a#1{% + \bxju@conv@ucs@to@jsc{#1}\bxju@ucs@to@sjis@b} +\def\bxju@ucs@to@sjis@b#1{% + \bxju@cond\ifnum#1=9999 \fi{0}{%else + \bxju@decomp@int{#1}\bxju@ucs@to@sjis@c}} +\def\bxju@ucs@to@sjis@c#1#2{% + \number\numexpr#1*128+#2 % + \ifodd#1 -33 \else\ifnum#2>62 +1 \fi\fi + \ifnum#1<62 +33088 \else +49472 \fi\relax} + +%% \bxju@fast@ucs@to@jsc{<ucs>} +\def\bxju@fast@ucs@to@jsc#1{% + \bxju@conv@ucs@to@jsc{#1}\bxju@fast@ucs@to@jsc@a} +\def\bxju@fast@ucs@to@jsc@a#1{% + \bxju@cond\ifnum#1=9999 \fi{-1}{#1}} + %--------------------------------------- all done \let\bxju@next\@undefined \let\bxju@ifdefinable\@undefined diff --git a/language/japanese/BX/bxjscls/README-ja.md b/language/japanese/BX/bxjscls/README-ja.md index 1b91f19f95..4d7450a19c 100644 --- a/language/japanese/BX/bxjscls/README-ja.md +++ b/language/japanese/BX/bxjscls/README-ja.md @@ -111,6 +111,9 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使 更新履歴 -------- + * Version 2.9c 〈2024/07/19〉 + - bm パッケージとの併用で起こる不具合をほぼ解消した。 + - hyperref 使用時の不具合を修正した。 * Version 2.9b 〈2024/01/22〉 - bm パッケージとの併用で起こる不具合を回避した。 * Version 2.9a 〈2023/08/02〉 diff --git a/language/japanese/BX/bxjscls/README.md b/language/japanese/BX/bxjscls/README.md index b42534e38c..1f10ac7ff7 100644 --- a/language/japanese/BX/bxjscls/README.md +++ b/language/japanese/BX/bxjscls/README.md @@ -102,6 +102,7 @@ This package is distributed under the BSD 2-Clause License. Revision History ---------------- + * Version 2.9c 〈2024/07/19〉 * Version 2.9b 〈2024/01/22〉 * Version 2.9a 〈2023/08/02〉 * Version 2.9 〈2023/07/17〉 diff --git a/language/japanese/BX/bxjscls/bxjscls-manual.pdf b/language/japanese/BX/bxjscls/bxjscls-manual.pdf Binary files differindex 29812903d4..d1b16869b4 100644 --- a/language/japanese/BX/bxjscls/bxjscls-manual.pdf +++ b/language/japanese/BX/bxjscls/bxjscls-manual.pdf diff --git a/language/japanese/BX/bxjscls/bxjscls-manual.tex b/language/japanese/BX/bxjscls/bxjscls-manual.tex index aee9ffd06b..2d69227170 100644 --- a/language/japanese/BX/bxjscls/bxjscls-manual.tex +++ b/language/japanese/BX/bxjscls/bxjscls-manual.tex @@ -12,8 +12,8 @@ \bxtexlogoimport{*} \usepackage{shortvrb} \MakeShortVerb{\|} -\newcommand{\PkgVersion}{2.9b} -\newcommand{\PkgDate}{2024/01/22} +\newcommand{\PkgVersion}{2.9c} +\newcommand{\PkgDate}{2024/07/19} \newcommand{\Pkg}[1]{\textsf{#1}} \newcommand{\Meta}[1]{$\langle$\mbox{}\nobr#1\nobr\mbox{}$\rangle$} \newcommand{\Note}{\par\noindent ※} diff --git a/language/japanese/BX/bxjscls/bxjscls.dtx b/language/japanese/BX/bxjscls/bxjscls.dtx index d8708af2d9..9b4b59c73d 100644 --- a/language/japanese/BX/bxjscls/bxjscls.dtx +++ b/language/japanese/BX/bxjscls/bxjscls.dtx @@ -56,7 +56,8 @@ %<*driver> \ProvidesFile{bxjscls.dtx} %</driver> - [2024/01/22 v2.9b BXJS document classes] + [2024/07/19 v2.9c BXJS document classes] +% [2024/01/22 v2.9b BXJS document classes] % [2023/08/02 v2.9a BXJS document classes] % [2023/07/17 v2.9 BXJS document classes] % [2023/07/01 v2.8b BXJS document classes] @@ -5515,6 +5516,20 @@ % % \section{文書のマークアップ} % +% \begin{ZRnote} +% \begin{macro}{\bxjs@phantomsection} +% |hyperref| が読み込まれている場合に |\phantomsection| を実行する。 +% \begin{macrocode} +\let\bxjs@phantomsection\relax +\g@addto@macro\bxjs@begin@document@hook{% + \@ifpackageloaded{hyperref}{% + \let\bxjs@phantomsection\phantomsection + }{}% +} +% \end{macrocode} +% \end{macro} +% \end{ZRnote} +% % \subsection{表題} % % \begin{macro}{\title} @@ -8288,8 +8303,15 @@ \fi \columnseprule.4pt \columnsep 2\jsZw \ifx\multicols\@undefined -%<book|report> \twocolumn[\@makeschapterhead{\indexname}% -%<book|report> \addcontentsline{toc}{chapter}{\indexname}]% +% \end{macrocode} +% \begin{ZRnote} +% |hyperref| 使用時に索引へのリンクが正常に作られるように、 +% |hyperref| の説明書の解説に従って |\phantomsection| を配置した。 +% \end{ZRnote} +% \begin{macrocode} +%<book|report> \twocolumn[\bxjs@phantomsection +%<book|report> \addcontentsline{toc}{chapter}{\indexname}% +%<book|report> \@makeschapterhead{\indexname}]% %<!book&!report> \def\presectionname{}\def\postsectionname{}% %<!book&!report> \twocolumn[\section*{\indexname}]% \else @@ -10847,6 +10869,56 @@ % \end{macrocode} % \end{macro} % +% \paragraph{bmパッケージ対策} +% +% |\reDeclareMathAlphabet| を適用した数式英字フォント命令は +% 通常の場合とは定義文の形が異なる。 +% このため |bm| パッケージを利用して |\bm{\mathrm{A}}| を +% 実行するとエラーが発生する。 +% これを回避するため、 +% 「|\bm| の引数中では数式英字フォントの和文連動を無効にする」 +% ことにする。 +% +% |\reDeclareMathAlphabet| の適用により例えば |\mathrm| は +% 以下のように変更される。 +% \begin{itemize} +% \item 適用前は |\mathrm| の一回展開は % +% |\protect\|[|mathrm|\verb*| |] である。 +% \item 適用後は |\mathrm| の一回展開が % +% |\protect\|[|mathrm|\verb*| |] になる。 +% \item |\|[|mathrm|\verb*| |] の一回展開は以下のようになる。\\ +% |\DualLang@mathalph@bet{\RDMAorg@mathrm}{\RDMAorg@mathmc}| +% \item |\RDMAorg@mathrm| の一回展開は |\|[|mathrm|\verb*| |] になる。 +% \end{itemize} +% +% \begin{macro}{\bxjs@patch@RDMA@for@bm} +% |\reDeclareMathAlphabet| の機能に対して |bm| パッケージ対策の +% パッチを当てる。 +% \begin{macrocode} +\@onlypreamble\bxjs@patch@RDMA@for@bm +\def\bxjs@patch@RDMA@for@bm{% +% \end{macrocode} +% 実際に改変するのは |\DualLang@mathalph@bet| である。 +% \begin{macrocode} + \let\bxjs@org@DualLang@mathalph@bet\DualLang@mathalph@bet + \def\DualLang@mathalph@bet{% +% \end{macrocode} +% |\bm| の引数の中 +% (そこでは |\bm| が |\@firstofone| に等置されているので +% これを判定に利用する) +% では、|\DualLang@mathalph@bet| を |\@firstoftwo| の動作に変える。 +% これにより、|\mathrm| の +% (|\protect| を無視する場合の) +% 先頭完全展開形が、「適用」前のものと一致する。 +% このため |\bm| は「適用」の影響を受けずに正常動作できる。 +% \begin{macrocode} + \ifx\bm\@firstofone \expandafter\@firstoftwo + \else \expandafter\bxjs@org@DualLang@mathalph@bet + \fi}% +} +% \end{macrocode} +% \end{macro} +% %^^A---------------- % \subsection{{\pTeX}用設定} % @@ -11124,19 +11196,12 @@ \g@addto@macro\bxjs@begin@document@hook{% \ifx\reDeclareMathAlphabet\@undefined\else % \end{macrocode} -% |\reDeclareMathAlphabet| を適用した数式英字フォント命令は{\LaTeX}の -% 通常の命令とは定義文の形が異なる。 -% このため |bm| パッケージを読み込んで |\bm{\mathrm{A}}| を -% 実行するとエラーが発生する。 -% これを回避するための暫定対応として、|bm| が読み込まれた場合は -% 数式英字フォントの和文連動を無効にする。 -% \TODO ユーザが数式英字フォントの和文連動を制御できるようにする。 +% |bm| パッケージが読込済であればパッチを適用する。 % \begin{macrocode} - \@ifpackageloaded{bm}{}{%else + \@ifpackageloaded{bm}{\bxjs@patch@RDMA@for@bm}{}% \reDeclareMathAlphabet{\mathrm}{\@mathrm}{\@mathmc}% \reDeclareMathAlphabet{\mathbf}{\@mathbf}{\@mathgt}% \reDeclareMathAlphabet{\mathsf}{\@mathsf}{\@mathgt}% - }% \fi} \fi % \end{macrocode} @@ -11544,6 +11609,7 @@ \@ltj@match@familytrue \fi \g@addto@macro\bxjs@begin@document@hook{% + \@ifpackageloaded{bm}{\bxjs@patch@RDMA@for@bm}{}% \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}% \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}% \reDeclareMathAlphabet{\mathsf}{\mathsf}{\mathgt}}% diff --git a/language/japanese/BX/bxjscls/bxjscls.pdf b/language/japanese/BX/bxjscls/bxjscls.pdf Binary files differindex 81899778a2..6b940a52c3 100644 --- a/language/japanese/BX/bxjscls/bxjscls.pdf +++ b/language/japanese/BX/bxjscls/bxjscls.pdf |