texlive[72114] Master/texmf-dist: pxjahyper (26aug24)

commits+karl at tug.org commits+karl at tug.org
Mon Aug 26 22:07:30 CEST 2024


Revision: 72114
          https://tug.org/svn/texlive?view=revision&revision=72114
Author:   karl
Date:     2024-08-26 22:07:29 +0200 (Mon, 26 Aug 2024)
Log Message:
-----------
pxjahyper (26aug24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/platex/pxjahyper/README-ja.md
    trunk/Master/texmf-dist/doc/platex/pxjahyper/README.md
    trunk/Master/texmf-dist/doc/platex/pxjahyper/pxjahyper.pdf
    trunk/Master/texmf-dist/doc/platex/pxjahyper/pxjahyper.tex
    trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-ajm.def
    trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-enc.sty
    trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-uni.def
    trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper.sty

Modified: trunk/Master/texmf-dist/doc/platex/pxjahyper/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxjahyper/README-ja.md	2024-08-26 20:07:21 UTC (rev 72113)
+++ trunk/Master/texmf-dist/doc/platex/pxjahyper/README-ja.md	2024-08-26 20:07:29 UTC (rev 72114)
@@ -73,6 +73,9 @@
 更新履歴
 --------
 
+  * Version 1.5  〈2024/08/25〉
+      - アンカー文字列での動作を修正。
+
   * Version 1.4  〈2024/08/14〉
       - 設定キー `fallback-warn` を追加。
       - 設定キー `fallback-cidm` を追加。

Modified: trunk/Master/texmf-dist/doc/platex/pxjahyper/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxjahyper/README.md	2024-08-26 20:07:21 UTC (rev 72113)
+++ trunk/Master/texmf-dist/doc/platex/pxjahyper/README.md	2024-08-26 20:07:29 UTC (rev 72114)
@@ -52,6 +52,7 @@
 Revision History
 ----------------
 
+  * Version 1.5  〈2024/08/25〉
   * Version 1.4  〈2024/08/14〉
   * Version 1.3  〈2023/03/01〉
   * Version 1.2a 〈2022/10/19〉

Modified: trunk/Master/texmf-dist/doc/platex/pxjahyper/pxjahyper.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/platex/pxjahyper/pxjahyper.tex
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxjahyper/pxjahyper.tex	2024-08-26 20:07:21 UTC (rev 72113)
+++ trunk/Master/texmf-dist/doc/platex/pxjahyper/pxjahyper.tex	2024-08-26 20:07:29 UTC (rev 72114)
@@ -17,12 +17,13 @@
 \usepackage{shortvrb}
 \MakeShortVerb{\|}
 \usepackage[verb]{bxghost}
-\newcommand{\PkgVersion}{1.4}
-\newcommand{\PkgDate}{2024/08/14}
+\newcommand{\PkgVersion}{1.5}
+\newcommand{\PkgDate}{2024/08/25}
 \newcommand{\Pkg}[1]{\textsf{#1}}
 \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
 \newcommand{\Note}{\par\noindent ※}
 \newcommand{\Means}{:\quad}
+\newcommand{\/}{\mbox{}/\mbox{}}
 \providecommand{\Strong}[1]{{\headfont#1}}
 %-----------------------------------------------------------
 \begin{document}
@@ -79,7 +80,7 @@
 \paragraph{plautopatchとの関係}
 \Pkg{plautopatch}パッケージが事前に読み込まれている場合は、
 \Pkg{hyperref}が読み込まれるとその直後に自動的に\Pkg{pxjahyper}が
-オプション無しで読み込まれる。
+\Strong{オプション無しで}読み込まれる。
 もし何らかのオプションを指定したい場合は、
 \Pkg{hyperref}の読込より前に|\PassOptionsToPackage|で
 オプションを指定する必要がある。
@@ -89,14 +90,14 @@
 
 \paragraph{使用可能なオプション}\mbox{}
 \begin{itemize}
-\item \Strong{設定キー記述}\Means
-  |\pxjahypersetup|命令の引数に書く設定記述をパッケージオプションに
-  書くことができる。
+\item \Strong{パラメタ設定}\Means
+  |\pxjahypersetup|命令の引数に書くパラメタ設定設定記述を
+  パッケージオプションに書くことができる。
   例えば
 \begin{quote}\small\begin{verbatim}
 \usepackage[fallback=delete]{pxjahyper}
 \end{verbatim}\end{quote}
-  と指定すると、表現不能文字を代替するゲタ文字が出力されなくなる。
+  と指定すると、表現不能な文字を代替するゲタ文字が出力されなくなる。
 \item \Strong{ドライバオプション}\Means
   以下の値が指定できる。
   \begin{itemize}
@@ -110,8 +111,8 @@
         この旧名も\Strong{非推奨}とする。}%
       は\Strong{非推奨}とする。
   \item |nodvidriver|\Means
-    ドライバ依存動作の無効化を明示的に指示する。
-    ほとんどの動作が無効になる。
+    ドライバ依存動作の無効化を指示する。
+    ほとんどの機能が無効になる。
     \footnote{1.0版において|nodvidriver|の非推奨の別名の|none|は
       \Strong{廃止}された。}
     %(0.5版から非推奨だった。)
@@ -191,7 +192,7 @@
   \Pkg{hyperref}が出力する|.out|ファイルの先頭に日本語の文字を含む
   コメント行を出力する。
   \Note {\pTeX}系エンジンの「入力漢字コード自動判定」に対する対策。
-\item |jacommentline|\Means
+\item |nojacommentline|\Means
   |jacommentline|の否定。
   \Note 不具合が発生したときのために無効化できるようにしている。
 \item |force-unicode|(1.4版で\Strong{非推奨})\Means
@@ -207,14 +208,15 @@
 自動的に実施される。
 
 %-------------------
-\subsection{設定}
+\subsection{パラメタ設定}
 \label{ssec:setup}
 
-パッケージの動作の設定を|\pxjahypersetup|命令で行える。
+パッケージの動作を制御する設定を|\pxjahypersetup|命令で行える。
 
 \begin{quote}\small
 |\pxjahypersetup{|\Meta{キー}|=|\Meta{値}|,...}|
 \end{quote}
+\Note 真偽値は|true|\/|false|で指定する。
 
 有効な設定キーは以下の通り。
 
@@ -232,8 +234,7 @@
   \end{itemize}
   \Note 以下、パッケージ動作の解説中で「ゲタ記号を出力」と
     ある場合は実際にはこの設定に従う。
-\item |fallback-warn=|\Meta{真偽値}%
-  \footnote{真偽値は|true|/|false|で指定する。}\Means
+\item |fallback-warn=|\Meta{真偽値}\Means
   PDF文字列中の表現不能な文字について「ゲタ記号を出力」する際に
   警告を出すか。
   既定値は真。

Modified: trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-ajm.def
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-ajm.def	2024-08-26 20:07:21 UTC (rev 72113)
+++ trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-ajm.def	2024-08-26 20:07:29 UTC (rev 72114)
@@ -11,7 +11,7 @@
 
 %% package declaration
 \NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxjahyper-ajm.def}[2024/08/14 v1.4]
+\ProvidesFile{pxjahyper-ajm.def}[2024/08/25 v1.5]
 
 %% avoid multiple loading
 \csname pxjahyperajmLoaded\endcsname
@@ -104,6 +104,12 @@
   \fi
 }
 
+%% \pxhy at cc@anchor at string{<macro-name>}{<number>}
+% Expands to "anchor-string form" of a CC macro.
+\def\pxhy at cc@anchor at string#1#2{%
+  \pxjahyperBadCharacter{aj#1+\number#2}%
+}
+
 %--------------------------------------- \pdfstringdef hook
 
 \pdfstringdefDisableCommands{%
@@ -209,6 +215,45 @@
 \let\pxhy at two@digits\relax
 \let\pxhy at knumeral\relax
 
+%--------------------------------------- for counter commands
+
+%% \pxhy at cc@macro at name@list
+\let\pxhy at cc@macro at name@list\@empty
+
+%% \pxhy at DeclareCCMacro{<macro-name>}...{<body>}
+\def\pxhy at DeclareCCMacro#1{%
+  \eappto\pxhy at cc@macro at name@list{`\do{#1}}%
+  \pxhy at DeclareMacro{#1}%
+}
+
+%% \pxhy at DeclareCCMacroVar{<macro-name>}...{<body-n>}{<body-v>}
+% Variant of \pxhy at DeclareMacro, where the *-variant of the macro
+% is declared. The parameter '...' will be shared with both forms.
+\def\pxhy at DeclareCCMacroVar#1{%
+  \eappto\pxhy at cc@macro at name@list{`\do{#1 at N}`\do{#1 at V}}%
+  \pxhy at DeclareMacroVar{#1}%
+}
+
+%% \pxhy at finish@declare at cc@macros
+% Must be invoked after all CC macros are defined.
+\def\pxhy at finish@declare at cc@macros{%
+  \let\do\pxhy at amend@cc at macro
+  \pxhy at cc@macro at name@list
+  \let\pxhy at cc@macro at name@list\@empty
+}
+
+%% \pxhy at amend@cc at macro{<macro-name>}
+\def\pxhy at amend@cc at macro#1{%
+  \expandafter\pxhy at amend@cc at macro@a
+      \csname\pxhy@#1\expandafter\endcsname
+      \csname\pxhy@#1 at A\expandafter\endcsname
+      \csname\pxhy@#1 at D\endcsname{#1}%
+}
+\def\pxhy at amend@cc at macro@a#1#2#3#4{%
+  \gdef#2{\pxhy at cc@anchor at string{#4}}%
+  \global\let#3#1%
+  \gdef#1{\pxhy at if@in at anchor#2#3}%
+}
 %--------------------------------------- the redefinitions
 
 % A text command invoked in PDF-sttings must be "string-OK".
@@ -242,7 +287,7 @@
 % used as fallback (e.g. \ajKuroMaru{21}→“㉑)”.
 
 %%<!> \ajMaru[*]{<number>}
-\pxhy at DeclareMacroVar{Maru}#1{%N
+\pxhy at DeclareCCMacroVar{Maru}#1{%N
   \pxhy at fallback{0}{51}{100}{%
     \pxhy at rshift{0/8224,1/7554,21/8070,22/8080,32/10212,101}%
   }{\pxhy at numeral{#1}}%
@@ -252,7 +297,7 @@
   }{`\ajMaru{#1}}%
 }
 %%<!> \ajKuroMaru[*]{<number>}
-\pxhy at DeclareMacroVar{KuroMaru}#1{%N
+\pxhy at DeclareCCMacroVar{KuroMaru}#1{%N
   \pxhy at fallback{0}{21}{100}{%
     \pxhy at rshift{0/10503,1/8285,10/10504,101}%
   }{`\ajMaru{#1}}%
@@ -262,7 +307,7 @@
   }{`\ajKuroMaru{#1}}%
 }
 %%<!> \ajKaku[*]{<number>}
-\pxhy at DeclareMacroVar{Kaku}#1{%N
+\pxhy at DeclareCCMacroVar{Kaku}#1{%N
   \pxhy at fallback{0}{0}{100}{%
     \pxhy at twirange{10764}{10774}%
   }{`\ajMaru{#1}}%
@@ -272,7 +317,7 @@
   }{`\ajMaru{#1}}%
 }
 %%<!> \ajKuroKaku[*]{<number>}
-\pxhy at DeclareMacroVar{KuroKaku}#1{%N
+\pxhy at DeclareCCMacroVar{KuroKaku}#1{%N
   \pxhy at fallback{0}{0}{100}{%
     \pxhy at twirange{11037}{11047}%
   }{`\ajMaru{#1}}%
@@ -282,7 +327,7 @@
   }{`\ajMaru{#1}}%
 }
 %%<!> \ajMaruKaku[*]{<number>}
-\pxhy at DeclareMacroVar{MaruKaku}#1{%N
+\pxhy at DeclareCCMacroVar{MaruKaku}#1{%N
   \pxhy at fallback{0}{0}{100}{%
     \pxhy at twirange{11307}{11317}%
   }{`\ajMaru{#1}}%
@@ -293,7 +338,7 @@
   }{`\ajMaru{#1}}%
 }
 %%<!> \ajKuroMaruKaku[*]{<number>}
-\pxhy at DeclareMacroVar{KuroMaruKaku}#1{%N
+\pxhy at DeclareCCMacroVar{KuroMaruKaku}#1{%N
   \pxhy at fallback{0}{0}{100}{%
     \pxhy at twirange{11576}{11586}%
   }{`\ajMaru{#1}}%
@@ -303,7 +348,7 @@
   }{`\ajMaru{#1}}%
 }
 %%<!> \ajKakko[*]{<number>}
-\pxhy at DeclareMacroVar{Kakko}#1{%N
+\pxhy at DeclareCCMacroVar{Kakko}#1{%N
   \pxhy at fallback{0}{21}{100}{%
     \pxhy at rshift{0/8227,1/8070,21/9873,101}%
   }{(\pxhy at numeral{#1})}%
@@ -313,7 +358,7 @@
   }{`\ajKakko{#1}}%
 }
 %%<!> \ajRoman[*]{<number>}
-\pxhy at DeclareMacroVar{Roman}#1{%N
+\pxhy at DeclareCCMacroVar{Roman}#1{%N
   \pxhy at fallback{1}{13}{15}{%
     \pxhy at rshift{1/7574,11/8214,13/8282,16}%
   }{`\@Roman{#1}}%
@@ -323,132 +368,132 @@
   }{`\ifnum#1=\#{4}IIII`\else`\ajRoman{#1}`\fi}%
 }
 %%<!> \ajroman{<number>}
-\pxhy at DeclareMacro{roman}#1{%
+\pxhy at DeclareCCMacro{roman}#1{%
   \pxhy at fallback{1}{13}{15}{%
     \pxhy at rshift{1/8091,11/8287,16}%
   }{`\@roman{#1}}%
 }
 %%<!> \ajPeriod{<number>}
-\pxhy at DeclareMacro{Period}#1{%
+\pxhy at DeclareCCMacro{Period}#1{%
   \pxhy at fallback{0}{1}{11}{%
     0.%
   }{\pxhy at rshift{0/8061,10/20577,12}}%
 }
 %%<!> \ajKakkoYobi{<number>}
-\pxhy at DeclareMacro{KakkoYobi}#1{\pxhy at rshift{1/8196,10}}
+\pxhy at DeclareCCMacro{KakkoYobi}#1{\pxhy at rshift{1/8196,10}}
 %%<!> \ajKakkoroman{<number>}
-\pxhy at DeclareMacro{Kakkoroman}#1{%
+\pxhy at DeclareCCMacro{Kakkoroman}#1{%
   \pxhy at fallback{1}{1}{15}{%
     \pxhy at rshift{1/9973,16}%
   }{(`\ajroman{#1})}%
 }
 %%<!> \ajKakkoRoman{<number>}
-\pxhy at DeclareMacro{KakkoRoman}#1{%
+\pxhy at DeclareCCMacro{KakkoRoman}#1{%
   \pxhy at fallback{1}{1}{15}{%
     \pxhy at rshift{1/9988,16}%
   }{(`\ajRoman{#1})}%
 }
 %%<!> \ajKakkoalph{<number>}
-\pxhy at DeclareMacro{Kakkoalph}#1{\pxhy at rshift{1/8111,27}}
+\pxhy at DeclareCCMacro{Kakkoalph}#1{\pxhy at rshift{1/8111,27}}
 %%<!> \ajKakkoAlph{<number>}
-\pxhy at DeclareMacro{KakkoAlph}#1{\pxhy at rshift{1/10003,27}}
+\pxhy at DeclareCCMacro{KakkoAlph}#1{\pxhy at rshift{1/10003,27}}
 %%<!> \ajKakkoHira{<number>}
-\pxhy at DeclareMacro{KakkoHira}#1{%
+\pxhy at DeclareCCMacro{KakkoHira}#1{%
   \pxhy at fallback{1}{1}{48}{%
     \pxhy at rshift{1/10029,49}%
   }{(\pxhy at rshift{1/10029,49})}% with parens
 }
 %%<!> \ajKakkoKata{<number>}
-\pxhy at DeclareMacro{KakkoKata}#1{%
+\pxhy at DeclareCCMacro{KakkoKata}#1{%
   \pxhy at fallback{1}{1}{48}{%
     \pxhy at rshift{1/10077,49}%
   }{(\pxhy at rshift{1/10077,49})}% with parens
 }
 %%<!> \ajKakkoKansuji{<number>}
-\pxhy at DeclareMacro{KakkoKansuji}#1{%
+\pxhy at DeclareCCMacro{KakkoKansuji}#1{%
   \pxhy at fallback{1}{11}{20}{%
     \pxhy at rshift{1/10125,21}%
   }{(\pxhy at knumeral{#1})}%
 }
 %%<!> \ajMaruKansuji{<number>}
-\pxhy at DeclareMacro{MaruKansuji}#1{\pxhy at rshift{1/10460,11}}
+\pxhy at DeclareCCMacro{MaruKansuji}#1{\pxhy at rshift{1/10460,11}}
 %%<!> \ajMarualph{<number>}
-\pxhy at DeclareMacro{Marualph}#1{\pxhy at rshift{1/10312,27}}
+\pxhy at DeclareCCMacro{Marualph}#1{\pxhy at rshift{1/10312,27}}
 %%<!> \ajMaruAlph{<number>}
-\pxhy at DeclareMacro{MaruAlph}#1{\pxhy at rshift{1/10338,27}}
+\pxhy at DeclareCCMacro{MaruAlph}#1{\pxhy at rshift{1/10338,27}}
 %%<!> \ajMaruHira{<number>}
-\pxhy at DeclareMacro{MaruHira}#1{\pxhy at rshift{1/10364,49}}
+\pxhy at DeclareCCMacro{MaruHira}#1{\pxhy at rshift{1/10364,49}}
 %%<!> \ajMaruKata{<number>}
-\pxhy at DeclareMacro{MaruKata}#1{\pxhy at rshift{1/10412,49}}
+\pxhy at DeclareCCMacro{MaruKata}#1{\pxhy at rshift{1/10412,49}}
 %%<!> \ajMaruYobi{<number>}
-\pxhy at DeclareMacro{MaruYobi}#1{%
+\pxhy at DeclareCCMacro{MaruYobi}#1{%
   \pxhy at rshift{1/10470,8/10484,9/10478,10}%
 }
 %%<!> \ajKuroMarualph{<number>} : Fallback.
-\pxhy at DeclareMacro{KuroMarualph}#1{`\ajMarualph{#1}}
+\pxhy at DeclareCCMacro{KuroMarualph}#1{`\ajMarualph{#1}}
 %%<!> \ajKuroMaruAlph{<number>}
-\pxhy at DeclareMacro{KuroMaruAlph}#1{\pxhy at rshift{1/10630,27}}
+\pxhy at DeclareCCMacro{KuroMaruAlph}#1{\pxhy at rshift{1/10630,27}}
 %%<!> \ajKuroMaruHira{<number>} : Fallback.
-\pxhy at DeclareMacro{KuroMaruHira}#1{`\ajMaruHira{#1}}
+\pxhy at DeclareCCMacro{KuroMaruHira}#1{`\ajMaruHira{#1}}
 %%<!> \ajKuroMaruKata{<number>} : Fallback.
-\pxhy at DeclareMacro{KuroMaruKata}#1{`\ajMaruKata{#1}}
+\pxhy at DeclareCCMacro{KuroMaruKata}#1{`\ajMaruKata{#1}}
 %%<!> \ajKuroMaruYobi{<number>} : Fallback.
 % fallback to \ajKakuYobi, which is simpler.
-\pxhy at DeclareMacro{KuroMaruYobi}#1{`\ajKakuYobi{#1}}
+\pxhy at DeclareCCMacro{KuroMaruYobi}#1{`\ajKakuYobi{#1}}
 %%<!> \ajKakualph{<number>} : Fallback.
-\pxhy at DeclareMacro{Kakualph}#1{`\ajMarualph{#1}}
+\pxhy at DeclareCCMacro{Kakualph}#1{`\ajMarualph{#1}}
 %%<!> \ajKakuAlph{<number>}
-\pxhy at DeclareMacro{KakuAlph}#1{\pxhy at rshift{1/10900,27}}
+\pxhy at DeclareCCMacro{KakuAlph}#1{\pxhy at rshift{1/10900,27}}
 %%<!> \ajKakuHira{<number>} : Fallback.
-\pxhy at DeclareMacro{KakuHira}#1{`\ajMaruHira{#1}}
+\pxhy at DeclareCCMacro{KakuHira}#1{`\ajMaruHira{#1}}
 %%<!> \ajKakuKata{<number>} : Fallback.
-\pxhy at DeclareMacro{KakuKata}#1{`\ajMaruKata{#1}}
+\pxhy at DeclareCCMacro{KakuKata}#1{`\ajMaruKata{#1}}
 %%<!> \ajKakuYobi{<number>}
-\pxhy at DeclareMacro{KakuYobi}#1{\pxhy at rshift{1/11022,8}}
+\pxhy at DeclareCCMacro{KakuYobi}#1{\pxhy at rshift{1/11022,8}}
 %%<!> \ajKuroKakualph{<number>} : Fallback.
-\pxhy at DeclareMacro{KuroKakualph}#1{`\ajMarualph{#1}}
+\pxhy at DeclareCCMacro{KuroKakualph}#1{`\ajMarualph{#1}}
 %%<!> \ajKuroKakuAlph{<number>}
-\pxhy at DeclareMacro{KuroKakuAlph}#1{\pxhy at rshift{1/11173,27}}
+\pxhy at DeclareCCMacro{KuroKakuAlph}#1{\pxhy at rshift{1/11173,27}}
 %%<!> \ajKuroKakuHira{<number>} : Fallback.
-\pxhy at DeclareMacro{KuroKakuHira}#1{`\ajMaruHira{#1}}
+\pxhy at DeclareCCMacro{KuroKakuHira}#1{`\ajMaruHira{#1}}
 %%<!> \ajKuroKakuKata{<number>} : Fallback.
-\pxhy at DeclareMacro{KuroKakuKata}#1{`\ajMaruKata{#1}}
+\pxhy at DeclareCCMacro{KuroKakuKata}#1{`\ajMaruKata{#1}}
 %%<!> \ajKuroKakuYobi{<number>} : Fallback.
-\pxhy at DeclareMacro{KuroKakuYobi}#1{`\ajKakuYobi{#1}}
+\pxhy at DeclareCCMacro{KuroKakuYobi}#1{`\ajKakuYobi{#1}}
 %%<!> \ajMaruKakualph{<number>} : Fallback.
-\pxhy at DeclareMacro{MaruKakualph}#1{`\ajMarualph{#1}}
+\pxhy at DeclareCCMacro{MaruKakualph}#1{`\ajMarualph{#1}}
 %%<!> \ajMaruKakuAlph{<number>}
-\pxhy at DeclareMacro{MaruKakuAlph}#1{\pxhy at rshift{1/11443,27}}
+\pxhy at DeclareCCMacro{MaruKakuAlph}#1{\pxhy at rshift{1/11443,27}}
 %%<!> \ajMaruKakuHira{<number>} : Fallback.
-\pxhy at DeclareMacro{MaruKakuHira}#1{`\ajMaruHira{#1}}
+\pxhy at DeclareCCMacro{MaruKakuHira}#1{`\ajMaruHira{#1}}
 %%<!> \ajMaruKakuKata{<number>} : Fallback.
-\pxhy at DeclareMacro{MaruKakuKata}#1{`\ajMaruKata{#1}}
+\pxhy at DeclareCCMacro{MaruKakuKata}#1{`\ajMaruKata{#1}}
 %%<!> \ajMaruKakuYobi{<number>} : Fallback.
-\pxhy at DeclareMacro{MaruKakuYobi}#1{`\ajKakuYobi{#1}}
+\pxhy at DeclareCCMacro{MaruKakuYobi}#1{`\ajKakuYobi{#1}}
 %%<!> \ajKuroMaruKakualph{<number>} : Fallback.
-\pxhy at DeclareMacro{KuroMaruKakualph}#1{`\ajMarualph{#1}}
+\pxhy at DeclareCCMacro{KuroMaruKakualph}#1{`\ajMarualph{#1}}
 %%<!> \ajKuroMaruKakuAlph{<number>}
-\pxhy at DeclareMacro{KuroMaruKakuAlph}#1{\pxhy at rshift{1/11712,27}}
+\pxhy at DeclareCCMacro{KuroMaruKakuAlph}#1{\pxhy at rshift{1/11712,27}}
 %%<!> \ajKuroMaruKakuHira{<number>} : Fallback.
-\pxhy at DeclareMacro{KuroMaruKakuHira}#1{`\ajMaruHira{#1}}
+\pxhy at DeclareCCMacro{KuroMaruKakuHira}#1{`\ajMaruHira{#1}}
 %%<!> \ajKuroMaruKakuKata{<number>} : Fallback.
-\pxhy at DeclareMacro{KuroMaruKakuKata}#1{`\ajMaruKata{#1}}
+\pxhy at DeclareCCMacro{KuroMaruKakuKata}#1{`\ajMaruKata{#1}}
 %%<!> \ajKuroMaruKakuYobi{<number>} : Fallback.
-\pxhy at DeclareMacro{KuroMaruKakuYobi}#1{`\ajKakuYobi{#1}}
+\pxhy at DeclareCCMacro{KuroMaruKakuYobi}#1{`\ajKakuYobi{#1}}
 %%<!> \ajNijuMaru{<number>}
-\pxhy at DeclareMacro{NijuMaru}#1{\pxhy at rshift{1/16222,11}}
+\pxhy at DeclareCCMacro{NijuMaru}#1{\pxhy at rshift{1/16222,11}}
 %%<!> \ajRecycle{<number>}
-\pxhy at DeclareMacro{Recycle}#1{\pxhy at rshift{0/16314,12}}
+\pxhy at DeclareCCMacro{Recycle}#1{\pxhy at rshift{0/16314,12}}
 %%<!> \ajHasenKakuAlph{<number>}
-\pxhy at DeclareMacro{HasenKakuAlph}#1{\pxhy at rshift{1/20496,7}}
+\pxhy at DeclareCCMacro{HasenKakuAlph}#1{\pxhy at rshift{1/20496,7}}
 %%<!> \ajCross{<number>}
-\pxhy at DeclareMacro{Cross}#1{%
+\pxhy at DeclareCCMacro{Cross}#1{%
   \pxhy at fallback{0}{0}{9}{%
     \pxhy at rshift{0/20523,10}%
   }{\pxhy at numeral{#1}\UTF{00D7}}%
 }
 %%<!> \ajSlanted[*]{<number>}
-\pxhy at DeclareMacroVar{Slanted}#1{%N
+\pxhy at DeclareCCMacroVar{Slanted}#1{%N
   \pxhy at fallback{0}{0}{59}{%
     \pxhy at rshift{0/9460,10/20589,60}%
   }{\pxhy at numeral{#1}}%
@@ -459,7 +504,7 @@
 }
 %%<!> \ajApostrophe{<number>}
 %%<!> \ajYear{<number>} (alias)
-\pxhy at DeclareMacro{Apostrophe}#1{%
+\pxhy at DeclareCCMacro{Apostrophe}#1{%
   \pxhy at fallback{0}{0}{99}{%
     \pxhy at rshift{0/20649,100}%
   }{\UTF{2019}\pxhy at two@digits{#1}}%
@@ -467,14 +512,16 @@
 \pxhy at DeclareAlias{Year}{Apostrophe}
 %%<!> \ajSquareMark[*]{<number>}
 % Note: +-variant is unsupported.
-\pxhy at DeclareMacroVar{SquareMark}#1{%N
+\pxhy at DeclareCCMacroVar{SquareMark}#1{%N
   \pxhy at rshift{1/12229,13}%
 }{%V
   \pxhy at rshift{1/12241,10}%
 }
 %%<!> \ajHishi{<number>}
-\pxhy at DeclareMacro{Hishi}#1{\pxhy at rshift{1/12256,5}}
+\pxhy at DeclareCCMacro{Hishi}#1{\pxhy at rshift{1/12256,5}}
 
+\pxhy at finish@declare at cc@macros
+
 %-----------------------
 
 % The choice of numerals (Western or kanji) depends on the rendering

Modified: trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-enc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-enc.sty	2024-08-26 20:07:21 UTC (rev 72113)
+++ trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-enc.sty	2024-08-26 20:07:29 UTC (rev 72114)
@@ -10,7 +10,7 @@
 
 %% package declaration
 \NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxjahyper-enc}[2024/08/14 v1.4]
+\ProvidesPackage{pxjahyper-enc}[2024/08/25 v1.5]
 \def\pxhe at pkgname{pxjahyper-enc}
 \providecommand{\bxDebug}[1]{}
 

Modified: trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-uni.def
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-uni.def	2024-08-26 20:07:21 UTC (rev 72113)
+++ trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-uni.def	2024-08-26 20:07:29 UTC (rev 72114)
@@ -10,7 +10,7 @@
 
 %% package declaration
 \NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxjahyper-uni.def}[2024/08/14 v1.4]
+\ProvidesFile{pxjahyper-uni.def}[2024/08/25 v1.5]
 \providecommand{\bxDebug}[1]{}
 
 %--------------------------------------- environment check

Modified: trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper.sty
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper.sty	2024-08-26 20:07:21 UTC (rev 72113)
+++ trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper.sty	2024-08-26 20:07:29 UTC (rev 72114)
@@ -10,7 +10,7 @@
 
 %% package declaration
 \NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxjahyper}[2024/08/14 v1.4]
+\ProvidesPackage{pxjahyper}[2024/08/25 v1.5]
 \def\pxhy at pkgname{pxjahyper}
 \providecommand{\bxDebug}[1]{}
 
@@ -62,8 +62,10 @@
 \newif\ifpxhy at ajhankaku@chars
 
 %%<*> \pxjahypersetup{<key>=<value>,...}
-\newcommand*\pxjahypersetup{%
-  \setkeys{\pxhy at pkgname}%
+\@ifdefinable\pxjahypersetup{%
+  \DeclareRobustCommand*\pxjahypersetup{%
+    \setkeys{\pxhy at pkgname}%
+  }%
 }
 %% \pxhy at handle@key{<key>}{<value>}{<name>}
 \def\pxhy at handle@key#1#2#3{%
@@ -346,10 +348,25 @@
   \pxhy at uniescapetrue
 \fi\fi
 
+%% \pxhy at if@really at unicode{<true>}{<false>}
+% Tests if hyperref unicode-mode is *currently* in effect.
+% (Assuming unicode-mode is enabled by the settings.)
+\let\pxhy at if@really at unicode\@undefined
+
 % hyperref 'unicode' mode
 \ifpxhy at hy@unicode
   \pxhy at uniescapefalse
   %\pxhy at otfutftrue
+  % placed at the top of the hook
+  \AtEndOfPackage{\ltx at GlobalPrependToMacro\pdfstringdefPreHook{%
+    \ifx\ifpdfstringunicode\@undefined
+      \ifHy at unicode \let\pxhy at if@really at unicode\@firstoftwo
+      \else \let\pxhy at if@really at unicode\@secondoftwo
+      \fi
+    \else % '\ifpdfstringunicode' is provided by hyperref
+      \let\pxhy at if@really at unicode\ifpdfstringunicode
+    \fi
+  }}
 \fi
 % otfcid requrires otfutf.
 \ifpxhy at otfutf \else \ifpxhy at otfcid
@@ -488,6 +505,15 @@
   \pxhy at cond\ifx\pxhy at mt#1\pxhy at mt\fi
 }
 
+%% \pxhy at E\newrobustcmd*\CS...
+% Does \newrobustcmd* if etoolbox is available;
+% does \DeclareRobustCommand* otherwise.
+\def\pxhy at E\newrobustcmd*#1{%
+  \def\pxhy at next{\providecommand*\pxhy at next}%
+  \@ifdefinable#1{\def\pxhy at next{\DeclareRobustCommand*#1}}%
+  \pxhy at next
+}
+
 %% \pxhy at read@num{<text>}\CScont
 \def\pxhy at read@num#1{%
   \expandafter\pxhy at read@num at a\number#1\pxhy at mk#1\pxhy at mk#1\pxhy at mk
@@ -508,6 +534,8 @@
 %% packages
 \ifpxhy at etoolbox
   \RequirePackage{etoolbox}[2011/01/03]%v2.1
+  \robustify\pxjahypersetup
+  \let\pxhy at E\relax
 \fi
 
 %% \pxhy at if@star{<varient>}{<normal>}
@@ -739,7 +767,7 @@
     \pxhy at cond \ifpxhy at utfXVI \fi{%
       \pxhy at uchex@big#1"000000\pxhy at end
     }{%else
-      \pxhy at uchex@out{#1}%
+      \pxhy at uchex@out at pre{#1}%
     }%
   }{%else
     \pxhy at uchex@small#1"0000\pxhy at end
@@ -749,7 +777,7 @@
   \pxhy at uchex@small at a#1#2#3#4#5\pxhy at end
 }
 \def\pxhy at uchex@small at a#1"#2\pxhy at end{%
-  \pxhy at uchex@out{#2#1}%
+  \pxhy at uchex@out at pre{#2#1}%
 }
 \def\pxhy at uchex@big#1#2#3#4#5#6#7#8\pxhy at end{%
   \pxhy at uchex@big at a#1#2#3#4#5#6#7\pxhy at end
@@ -771,22 +799,33 @@
       \csname pxhy at qh/3#6\endcsname
 }
 \def\pxhy at uchex@big at d#1#2#3#4#5\pxhy at end{%
-  \pxhy at uchex@out{D#1#2#3}%
-  \pxhy at uchex@out{D#4#5}%
+  \pxhy at uchex@out at pre{D#1#2#3}%
+  \pxhy at uchex@out at pre{D#4#5}%
 }
 \edef\pxhy at uchex@error{%
-  \noexpand\pxhy at uchex@out{\pxhy at uc@REPL}%
+  \noexpand\pxhy at uchex@out at pre{\pxhy at uc@REPL}%
 }
+\def\pxhy at uchex@out at pre#1{%
+  \pxhy at if@in at anchor{% then Unicode does not work
+    \pxjahyperBadCharacter{U+#1}%
+  }{%else
+    \pxhy at uchex@out{#1}%
+  }%
+}
 
 %--------------------------------------- Unavailable characters
 
 %%<+> \pxjahyperBadCharacter{<label>}
 \newcommand*\pxjahyperBadCharacter[1]{%
-  \ifpxhy at fallback@warn
-    % issue a warning
-    \pxhy at bad@character at a{#1}%
-  \fi
-  \pxhy at print@geta
+  \pxhy at if@in at anchor{%
+    #1;% label is output as-is
+  }{%else
+    \ifpxhy at fallback@warn
+      % issue a warning
+      \pxhy at bad@character at a{#1}%
+    \fi
+    \pxhy at print@geta
+  }%
 }
 \def\pxhy at bad@character at a#1{%
   % Here the control sequence with name <label> is supposed to be
@@ -805,7 +844,7 @@
 % Makes a bad character with label '<prefix><number>', after parsing
 % the given number input.
 \def\pxhy at fallback@num#1#2#3{%
-  \ifpxhy at fallback@warn
+  \if \ifpxhy at fallback@warn T\else \pxhy at if@in at anchor{T}{F}\fi T%
     \if t#2%
       \expandafter\pxhy at fallback@num at a\expandafter{\number#3}{#1}%
     \else
@@ -819,11 +858,34 @@
   \pxjahyperBadCharacter{#2#1}%
 }
 
+%--------------------------------------- Stuffs for anchor strings
+
+% Sometimes \pdfstringdef is invoked to form anchor strings.
+% There "unicode-mode" of hyperref is temporarily disabled;
+% moreover, ToUnicode specials are not applied to such strings.
+% Consequently, only ASCII characters can be used there.
+% Anchor strings are for identification and not presentation;
+% so special fallback for special characters are needed.
+
+%% \pxhy at if@in at anchor{<true>}{<false>}
+% Tests if we are inside anchors.
+\let\pxhy at if@in at anchor\@secondoftwo
+\ifx\Hy at PageAnchorSlide\@undefined\else
+  % We resort to some heuristics....
+  \g at addto@macro\Hy at PageAnchorSlide{%
+    \let\pxhy at if@in at anchor\@firstoftwo
+  }
+\fi
+
 %--------------------------------------- Hooks to pdfstringdef
 
 %% variables
 \let\pxhy at str\relax
 
+%%<+> \Ux{<hex>}
+% (This is a dummy declaration.)
+\ifodd\z@ \providecommand*\Ux[1]{} \fi
+
 %% \pxhy at Ux
 % The definition of \Ux in PDF strings.
 \let\pxhy at Ux\@undefined
@@ -835,7 +897,11 @@
   \def\pxhy at Ux{\pxhy at uchex}%
   \pxhy at utfXVIfalse
   \def\pxhy at uchex@out#1{%
-    \unichar{"#1}%
+    \pxhy at if@really at unicode{%
+      \unichar{"#1}%
+    }{%else % something wrong!
+      \pxjahyperBadCharacter{U+#1}%
+    }%
   }
 
 \else\ifpxhy at Uchar@avail           %<*Uchar>
@@ -1252,7 +1318,7 @@
 
 %%<+> \pxDeclarePdfTextCommand{\CS}{<jis>}{<ucs>}
 \@onlypreamble\pxDeclarePdfTextCommand
-\newcommand*\pxDeclarePdfTextCommand[3]{%
+\pxhy at E\newrobustcmd*\pxDeclarePdfTextCommand[3]{%
   \pxhy at prepare@txtcmd#1%
   \pxhy at decl@pdf at tc{#2}{#3}%
    {\DeclareTextCommand{#1}{\pxhy at pdfenc}}%
@@ -1261,7 +1327,7 @@
 
 %%<+> \pxDeclarePdfTextComposite{\CS}{<arg>}{<jis>}{<ucs>}
 \@onlypreamble\pxDeclarePdfTextComposite
-\newcommand*\pxDeclarePdfTextComposite[4]{%
+\pxhy at E\newrobustcmd*\pxDeclarePdfTextComposite[4]{%
   \pxhy at prepare@txtcmd#1%
   \pxhy at decl@pdf at tc{#3}{#4}%
    {\DeclareTextCompositeCommand{#1}{\pxhy at pdfenc}{#2}}%



More information about the tex-live-commits mailing list.