summaryrefslogtreecommitdiff
path: root/language/japanese/pxjahyper/pxjahyper-ajm.def
diff options
context:
space:
mode:
Diffstat (limited to 'language/japanese/pxjahyper/pxjahyper-ajm.def')
-rw-r--r--language/japanese/pxjahyper/pxjahyper-ajm.def30
1 files changed, 28 insertions, 2 deletions
diff --git a/language/japanese/pxjahyper/pxjahyper-ajm.def b/language/japanese/pxjahyper/pxjahyper-ajm.def
index 20eb4d32d8..d362b1df8f 100644
--- a/language/japanese/pxjahyper/pxjahyper-ajm.def
+++ b/language/japanese/pxjahyper/pxjahyper-ajm.def
@@ -11,7 +11,7 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxjahyper-ajm.def}[2022/05/10 v1.1]
+\ProvidesFile{pxjahyper-ajm.def}[2022/05/27 v1.2]
%% avoid multiple loading
\csname pxjahyperajmLoaded\endcsname
@@ -576,7 +576,33 @@
%%<!> \aj半角{<string>}
% Simply expands to the string.
-\pxhy@DeclareMacro{半角}#1{#1}{}
+\pxhy@DeclareMacro{半角}#1{%
+ `\ifpxhy@ajhankaku@chars
+ `\pxhy@ajHankaku{#1}%
+ `\else #1%
+ `\fi
+}
+\gdef\pxhy@ajHankaku#1{%
+ \pxhy@ajHankaku@a#1\pxhy@end
+}
+\gdef\pxhy@ajHankaku@a#1{%
+ \pxhy@cond\ifx#1\pxhy@end\fi{}{%else
+ \ifcsdef{pxhy@ucs@hw/#1}{\csuse{pxhy@ucs@hw/#1}}{#1}%
+ \pxhy@ajHankaku@a}%
+}
+\def\pxhy@next#1{%
+ \pxhy@cond\ifx#1\pxhy@end\fi{}{%else
+ \csxdef{pxhy@ucs@hw/#1}{\UTF{\expandafter\pxhy@FFhex\meaning\x;}}%
+ \chardef\y=\numexpr\x+1\relax \let\x\y
+ \pxhy@next}%
+}
+\def\pxhy@FFhex#1"#2;{FF#2}
+\chardef\x="61
+\pxhy@next
+ 。「」、・ヲァィゥェォャュョッーアイウエオカキクケ%
+ コサシスセソタチツテトナニヌネノハヒフヘホマミムメ%
+ モヤユヨラリルレロワン゛゜\pxhy@end
+\csgdef{pxhy@ucs@hw/ }{\space}
%%<OK> \○ / \● / \□ / \■ / \◇ / \◆
% Expands to \ajLig{} or \@ajNumber.