texlive[63040] Master/texmf-dist: pxjahyper (16apr22)

commits+karl at tug.org commits+karl at tug.org
Sat Apr 16 22:23:32 CEST 2022


Revision: 63040
          http://tug.org/svn/texlive?view=revision&revision=63040
Author:   karl
Date:     2022-04-16 22:23:32 +0200 (Sat, 16 Apr 2022)
Log Message:
-----------
pxjahyper (16apr22)

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	2022-04-16 10:00:56 UTC (rev 63039)
+++ trunk/Master/texmf-dist/doc/platex/pxjahyper/README-ja.md	2022-04-16 20:23:32 UTC (rev 63040)
@@ -73,6 +73,9 @@
 更新履歴
 --------
 
+  * Version 1.0a 〈2022/04/15〉
+      - バグ修正。
+
   * Version 1.0  〈2022/04/01〉
       - オプション `auto` を `autodvidriver` に改名(旧名は非推奨)。
       - オプション `nodvidriver` の非推奨の旧名 `none`を廃止した。

Modified: trunk/Master/texmf-dist/doc/platex/pxjahyper/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxjahyper/README.md	2022-04-16 10:00:56 UTC (rev 63039)
+++ trunk/Master/texmf-dist/doc/platex/pxjahyper/README.md	2022-04-16 20:23:32 UTC (rev 63040)
@@ -52,6 +52,7 @@
 Revision History
 ----------------
 
+  * Version 1.0a 〈2022/04/15〉
   * Version 1.0  〈2022/04/01〉
   * Version 0.9d 〈2022/03/15〉
   * Version 0.9c 〈2021/06/06〉

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	2022-04-16 10:00:56 UTC (rev 63039)
+++ trunk/Master/texmf-dist/doc/platex/pxjahyper/pxjahyper.tex	2022-04-16 20:23:32 UTC (rev 63040)
@@ -16,8 +16,8 @@
 \bxtexlogoimport{*}
 \usepackage{shortvrb}
 \MakeShortVerb{\|}
-\newcommand{\PkgVersion}{1.0}
-\newcommand{\PkgDate}{2022/04/01}
+\newcommand{\PkgVersion}{1.0a}
+\newcommand{\PkgDate}{2022/04/15}
 \newcommand{\Pkg}[1]{\textsf{#1}}
 \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
 \newcommand{\Note}{\par\noindent ※}
@@ -35,8 +35,9 @@
 \section{概要}
 
 (u){\pLaTeX} + hyperref + dvipdfmxの組み合わせで
-日本語を含む「しおり」をもつPDF文書を作成する
-場合に必要となる機能を提供する。
+日本語を含む\Strong{PDF文字列}%
+(“しおり”などの文書情報の文字列)
+をもつPDF文書を作成する場合に必要となる機能を提供する。
 \begin{itemize}
 \item dvipdfmx用の「tounicode special」について、
   内部漢字コードに応じて適切なものを出力する。
@@ -208,9 +209,9 @@
 \begin{itemize}
 \item 当該のAJ1のグリフに“対応”する\textbf{単独の}Unicode文字が
   あればそれを出力し、なければ
-  (警告を出した上で)削除する。
-  \footnote{他の同様の場合と合わせてゲタ記号を出力するようにしたい。
-    1.0版において仕様を変更する予定。}
+  (警告を出した上で)ゲタ記号を出力する。
+  \footnote{旧版では削除していたが、他の同様の場合と合わせるため
+    1.0版よりゲタ記号を出力する仕様を変更した。}
 \item ただし |\Ux| 命令(\ref{ssec:ux-command}節参照)が
   無効になる場合は、そもそもUnicode文字も出力できないため、
   常に(警告を出した上で)ゲタ記号を出力する。
@@ -236,12 +237,17 @@
 \item Unicode文字で表現可能であればそれを出力し、
   なければ代替表現を出力する。
 \item Unicode文字を出力する場合の仕様は |\CID| と同じ。
-  代替表現の場合は文字自体が出力されうる。
+  代替表現の場合は「普通の文字の出力に置き換えられる」
+  可能性がある。
+  \Note 例えば、|\ajLig{ドル}|(“ドル”の組文字)はUnicode文字の
+  U+3326に“対応”するので |\Ux{3326}| と同等になるが、
+  |\ajLig{ウルシ}|(“ウルシ”の組文字)はUnicodeに“対応”する
+  文字がないため単に“|ウルシ|”と書いたのと同等になる。
 \end{itemize}
 
 \Note |otfmacros| を有効にする場合は |otfcid| も有効にする必要がある。
 (従って |otfcid| と同じ前提条件が課される。)
-|nootfcid| を指定した場合は |otfmacros| も無効になる。
+|otfcid| が無効な場合は |otfmacros| も無効になる。
 \Note \Pkg{ajmacros}パッケージの多くの命令は“脆弱(fragile)”である。
 そのため、節見出し(|\section| 等の引数)で |\ajMaru| 等の命令を
 使いたい場合は、命令の前に |\protect| 付ける必要がある。
@@ -291,8 +297,8 @@
 \Pkg{hyperref}では基本的なテキスト装飾命令
 (多くは{\LaTeX}カーネルが提供するもの)
 について、「PDF文字列として扱う場合は自動的に無力化
-\footnote{例えば、“|\textit{text}|”や“|{\large text}|”は
-  単に“|text|”と書いたものと見なされる。}
+%\footnote{例えば、“|\textit{text}|”や“|{\large text}|”は
+%  単に“|text|”と書いたものと見なされる。}
 する」機構を実装している。
 これにより、例えば節見出しのテキストに“|\textit{text}|”が
 含まれていたとすると、
@@ -325,4 +331,37 @@
   |\jafontsize| |\tatechuyoko| |\jidori| % |\jaspace| |\akigumi|
 \end{itemize}
 
+%===========================================================
+\section{hyperrefの“unicodeモード”での動作}
+\newcommand*{\cXAdj}{\mbox{}\vspace*{-2pt}}% WOW!
+
+\Pkg{hyperref}パッケージの |unicode| オプションが有効である場合
+(これを“unicodeモード”と呼ぶことにする
+\footnote{“unicodeモード”を有効にする方法は |unicode|(|=true|)
+  の指定以外にも存在する。
+  また、\Pkg{hyperref}の7.00g版[2021-02-04]より、
+  {\pLaTeX}以外のエンジン(\Strong{{\upLaTeX}も含む})について
+  “unicodeモード”は既定で有効になっていることに注意。}%
+)で動作している場合は、PDF文字列のUnicodeへの変換は
+(DVIドライバ等でなく)\Pkg{hyperref}自身により行われる。
+\Pkg{hyperref}が“unicodeモード”である場合には、\Pkg{pxjahyper}は
+それを自動的に検知してそれに適応した動作に切り替える。
+\begin{itemize}
+\item \cXAdj|\Ux| 命令は\Pkg{hyperref}の |\unichar| 命令を利用して出力する。
+  このため、{\pLaTeX}でもUnicode文字の出力が可能になる。
+\item PDF文字列中の和文文字やLICR命令の処理は
+  \Pkg{hyperref}の側に任せられる。
+  \Note ただし現状では「tounicode special」の発行は
+  (特に害はないため)無効化されない。
+\end{itemize}
+ただし、現状での“unicodeモード”対応動作には以下の制限がある。
+\begin{itemize}
+\item \cXAdj\Pkg{hyperref}の(|pdftitle| 等の)パッケージオプション中での
+  和文文字の処理は失敗する。
+  このため、文書情報は |\hypersetup| 命令で指定する必要がある。
+\item \cXAdj{\pLaTeX}における“unicodeモード”対応動作は試験的機能の
+  扱いであるため、その旨の警告が表示される。
+  この警告は |force-unicode| オプションを指定すれば抑止できる。
+\end{itemize}
+
 \end{document}

Modified: trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-ajm.def
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-ajm.def	2022-04-16 10:00:56 UTC (rev 63039)
+++ trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-ajm.def	2022-04-16 20:23:32 UTC (rev 63040)
@@ -11,7 +11,7 @@
 
 %% package declaration
 \NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxjahyper-ajm.def}[2022/04/01 v1.0]
+\ProvidesFile{pxjahyper-ajm.def}[2022/04/15 v1.0a]
 
 %% avoid multiple loading
 \csname pxjahyperajmLoaded\endcsname
@@ -119,7 +119,7 @@
 %--------------------------------------- helpers
 
 %% prepare
-\pxhy at forcecjktoken
+\pxhy at forcecjktoken{0}
 
 %% shorthands
 \catcode`\`=\active \let`\noexpand

Modified: trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-enc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-enc.sty	2022-04-16 10:00:56 UTC (rev 63039)
+++ trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-enc.sty	2022-04-16 20:23:32 UTC (rev 63040)
@@ -10,7 +10,7 @@
 
 %% package declaration
 \NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxjahyper-enc}[2022/04/01 v1.0]
+\ProvidesPackage{pxjahyper-enc}[2022/04/15 v1.0a]
 \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	2022-04-16 10:00:56 UTC (rev 63039)
+++ trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper-uni.def	2022-04-16 20:23:32 UTC (rev 63040)
@@ -10,7 +10,7 @@
 
 %% package declaration
 \NeedsTeXFormat{pLaTeX2e}
-\ProvidesFile{pxjahyper-uni.def}[2022/04/01 v1.0]
+\ProvidesFile{pxjahyper-uni.def}[2022/04/15 v1.0a]
 \providecommand{\bxDebug}[1]{}
 
 %--------------------------------------- environment check

Modified: trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper.sty
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper.sty	2022-04-16 10:00:56 UTC (rev 63039)
+++ trunk/Master/texmf-dist/tex/platex/pxjahyper/pxjahyper.sty	2022-04-16 20:23:32 UTC (rev 63040)
@@ -10,7 +10,7 @@
 
 %% package declaration
 \NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxjahyper}[2022/04/01 v1.0]
+\ProvidesPackage{pxjahyper}[2022/04/15 v1.0a]
 \def\pxhy at pkgname{pxjahyper}
 \providecommand{\bxDebug}[1]{}
 
@@ -201,8 +201,19 @@
   \pxhy at etextrue
   \IfFileExists{etoolbox.sty}{\pxhy at etoolboxtrue}{}%
 }
-\pxhy at check\kanjiskip{\pxhy at ptextrue}
-\pxhy at check\forcecjktoken{\pxhy at uptextrue}
+\pxhy at check\kanjiskip{%
+  \pxhy at ptextrue
+  \pxhy at check\ucs{%
+    \pxhy at check\ptexversion{\pxhy at uptextrue}
+    \pxhy at check\kchardef{\pxhy at uptextrue}
+    \ifpxhy at uptex\else % upTeX v<0.10
+      \pxhy at error{This upTeX engine is too old}
+       {\pxhy at eh@fatal}
+      \endinput
+    \fi % only upTeX in Unicode is seen as upTeX
+    \ifnum\ucs"3000="3000 \else \pxhy at uptexfalse \fi
+  }
+}
 \ifpxhy at ptex\else
   \pxhy at error{Unknown engine used}%
    {\pxhy at eh@fatal}
@@ -228,10 +239,6 @@
 }{}}
 
 %% adjustment
-% upTeX not in unicode is not seen as upTeX.
-\ifnum\jis"2121="3000 \else
-  \pxhy at uptexfalse
-\fi
 % bigcode cannot be used without upTeX.
 \ifpxhy at bigcode \ifpxhy at uptex\else
   \pxhy at bigcodefalse
@@ -330,7 +337,7 @@
 % of the char code <num>.
 \def\pxhy at get@jchar#1{%
   \begingroup
-    \pxhy at forcecjktoken
+    \pxhy at forcecjktoken{#1}%
     \kansujichar\@ne=#1\relax
     \xdef\pxhy at jchar{\kansuji\@ne}%
   \endgroup
@@ -342,11 +349,14 @@
   \let#1\pxhy at jchar
 }
 
-%% \pxhy at forcecjktoken
+%% \pxhy at forcecjktoken{<code>}
 \ifpxhy at uptex
-  \let\pxhy at forcecjktoken\forcecjktoken
+  \ifx\forcecjktoken\@undefined
+    \def\pxhy at forcecjktoken#1{\kcatcode#1=18 }
+  \else \def\pxhy at forcecjktoken#1{\forcecjktoken}
+  \fi
 \else
-  \let\pxhy at forcecjktoken\relax
+  \def\pxhy at forcecjktoken#1{\relax}
 \fi
 
 %% \pxhy at geta : GETA MARK



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