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.