summaryrefslogtreecommitdiff
path: root/language/japanese/jlreq/jlreq-helpers.sty
diff options
context:
space:
mode:
Diffstat (limited to 'language/japanese/jlreq/jlreq-helpers.sty')
-rw-r--r--language/japanese/jlreq/jlreq-helpers.sty119
1 files changed, 61 insertions, 58 deletions
diff --git a/language/japanese/jlreq/jlreq-helpers.sty b/language/japanese/jlreq/jlreq-helpers.sty
index 83251193bb..5d6ae8791c 100644
--- a/language/japanese/jlreq/jlreq-helpers.sty
+++ b/language/japanese/jlreq/jlreq-helpers.sty
@@ -1,8 +1,8 @@
% エンジン非依存のマクロ集
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{jlreq-helpers}[2018/08/15 jlreq-helpers]
-\RequirePackage{xkeyval,etoolbox}
+\ProvidesPackage{jlreq-helpers}[2021/07/22 jlreq-helpers]
+\RequirePackage{etoolbox}
%. helper1
\newcount\jlreq@tempcnta
@@ -210,53 +210,53 @@
% *{key}{\def\val{#1}} % デフォルト値を空文字列にする
% {key}[choice1,choice2]{\def\valchoice{#1}}
%}{parse対象}
-\newcommand*{\jlreq@parsekeyval}{%
- \@ifstar{\jlreq@helper@parsekeyval@{*}}{\jlreq@helper@parsekeyval@{}}%
-}
-\def\jlreq@helper@parsekeyval@#1{%
- \@ifnextchar[{\jlreq@helper@parsekeyval@@{#1}}{\jlreq@helper@parsekeyval@@{#1}[jlreq@key]}%
-}
-\long\def\jlreq@helper@parsekeyval@@#1[#2]#3#4{%
- \begingroup
- \def\jlreq@do{}% \setkeysの結果処理がここに入れられる(よってループ内で利用不可)
- \jlreq@helper@parsekeyval@@@{#2}#3{\jlreq@endmark}%
- \setkeys#1{#2}{#4}%
- \expandafter\endgroup
- \jlreq@do
-}
-\def\jlreq@helper@parsekeyval@@@#1#2#{%
- \jlreq@iffirsttoken@ignorespaces{#2}{*}{%
- \jlreq@helper@parsekeyval@@@definekeywithdefault{#1}%
- }{%
- \jlreq@helper@parsekeyval@@@@{#1}%
- }%
-}
-\long\def\jlreq@helper@parsekeyval@@@@#1#2{%
- \jlreq@ifendmark{#2}{}{%
- \@ifnextchar[{\jlreq@helper@parsekeyval@@@choicekey{#1}{#2}}{\jlreq@helper@parsekeyval@@@definekey{#1}{#2}}%
- }%
-}
-\long\def\jlreq@helper@parsekeyval@@@choicekey#1#2[#3]#4{%
- \@for\@tempa:=#2\do{%
- \edef\jlreq@next{\unexpanded{\define@choicekey{#1}}{\expandonce{\@tempa}}}%
- \jlreq@next{#3}{\eappto\jlreq@do{\unexpanded{#4}}}%
- }%
- \jlreq@helper@parsekeyval@@@{#1}%
-}
-\long\def\jlreq@helper@parsekeyval@@@definekeywithdefault#1#2#3{%
- \@for\@tempa:=#2\do{%
- \edef\jlreq@next{\unexpanded{\define@key{#1}}{\expandonce{\@tempa}}}%
- \jlreq@next[]{\eappto\jlreq@do{\unexpanded{#3}}}%
- }%
- \jlreq@helper@parsekeyval@@@{#1}%
-}
-\long\def\jlreq@helper@parsekeyval@@@definekey#1#2#3{%
- \@for\@tempa:=#2\do{%
- \edef\jlreq@next{\unexpanded{\define@key{#1}}{\expandonce{\@tempa}}}%
- \jlreq@next{\eappto\jlreq@do{\unexpanded{#3}}}%
- }%
- \jlreq@helper@parsekeyval@@@{#1}%
-}
+%\newcommand*{\jlreq@parsekeyval}{%
+% \@ifstar{\jlreq@helper@parsekeyval@{*}}{\jlreq@helper@parsekeyval@{}}%
+%}
+%\def\jlreq@helper@parsekeyval@#1{%
+% \@ifnextchar[{\jlreq@helper@parsekeyval@@{#1}}{\jlreq@helper@parsekeyval@@{#1}[jlreq@key]}%
+%}
+%\long\def\jlreq@helper@parsekeyval@@#1[#2]#3#4{%
+% \begingroup
+% \def\jlreq@do{}% \setkeysの結果処理がここに入れられる(よってループ内で利用不可)
+% \jlreq@helper@parsekeyval@@@{#2}#3{\jlreq@endmark}%
+% \setkeys#1{#2}{#4}%
+% \expandafter\endgroup
+% \jlreq@do
+%}
+%\def\jlreq@helper@parsekeyval@@@#1#2#{%
+% \jlreq@iffirsttoken@ignorespaces{#2}{*}{%
+% \jlreq@helper@parsekeyval@@@definekeywithdefault{#1}%
+% }{%
+% \jlreq@helper@parsekeyval@@@@{#1}%
+% }%
+%}
+%\long\def\jlreq@helper@parsekeyval@@@@#1#2{%
+% \jlreq@ifendmark{#2}{}{%
+% \@ifnextchar[{\jlreq@helper@parsekeyval@@@choicekey{#1}{#2}}{\jlreq@helper@parsekeyval@@@definekey{#1}{#2}}%
+% }%
+%}
+%\long\def\jlreq@helper@parsekeyval@@@choicekey#1#2[#3]#4{%
+% \@for\@tempa:=#2\do{%
+% \edef\jlreq@next{\unexpanded{\define@choicekey{#1}}{\expandonce{\@tempa}}}%
+% \jlreq@next{#3}{\eappto\jlreq@do{\unexpanded{#4}}}%
+% }%
+% \jlreq@helper@parsekeyval@@@{#1}%
+%}
+%\long\def\jlreq@helper@parsekeyval@@@definekeywithdefault#1#2#3{%
+% \@for\@tempa:=#2\do{%
+% \edef\jlreq@next{\unexpanded{\define@key{#1}}{\expandonce{\@tempa}}}%
+% \jlreq@next[]{\eappto\jlreq@do{\unexpanded{#3}}}%
+% }%
+% \jlreq@helper@parsekeyval@@@{#1}%
+%}
+%\long\def\jlreq@helper@parsekeyval@@@definekey#1#2#3{%
+% \@for\@tempa:=#2\do{%
+% \edef\jlreq@next{\unexpanded{\define@key{#1}}{\expandonce{\@tempa}}}%
+% \jlreq@next{\eappto\jlreq@do{\unexpanded{#3}}}%
+% }%
+% \jlreq@helper@parsekeyval@@@{#1}%
+%}
% キー指定しないkeyval(独自実装)
% \jlreq@parsekeyval@nokey{<action>}{<parse対象>}
@@ -449,17 +449,20 @@
\ifx\@tempa\@tempb\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
}
+\ExplSyntaxOn
\newcommand*{\jlreq@helper@guessengine}{%
- \jlreq@ifprimitive\directlua{%
- \let\jlreq@result=l%
- }{%
- \jlreq@ifprimitive\ucs{%
- \let\jlreq@result=u%
- }{%
- \let\jlreq@result=p%
- }%
- }%
+ \token_if_primitive:NTF \directlua {
+ \let\jlreq@result=l
+ }{
+ \let\jlreq@result=p
+ \token_if_primitive:NT \ucs {
+ \int_compare:nT { \ucs"FA4A = "FA4A } {
+ \let\jlreq@result=u
+ }
+ }
+ }
}
+\ExplSyntaxOff
% #1を\@undefinedに,既に\@undefinedならば#2{#1}を呼ぶ
\newcommand*{\jlreq@helper@undefcs}[2]{%