texlive[52878] Master/texmf-dist: pxchfon (21nov19)

commits+karl at tug.org commits+karl at tug.org
Thu Nov 21 22:48:43 CET 2019


Revision: 52878
          http://tug.org/svn/texlive?view=revision&revision=52878
Author:   karl
Date:     2019-11-21 22:48:42 +0100 (Thu, 21 Nov 2019)
Log Message:
-----------
pxchfon (21nov19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/platex/pxchfon/README-ja.md
    trunk/Master/texmf-dist/doc/platex/pxchfon/README.md
    trunk/Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdf
    trunk/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex
    trunk/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty

Modified: trunk/Master/texmf-dist/doc/platex/pxchfon/README-ja.md
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/platex/pxchfon/README.md
===================================================================
(Binary files differ)

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

Modified: trunk/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex	2019-11-21 21:48:21 UTC (rev 52877)
+++ trunk/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex	2019-11-21 21:48:42 UTC (rev 52878)
@@ -9,20 +9,18 @@
 \usepackage[colorlinks,hyperfootnotes=false]{hyperref}
 \usepackage{pxjahyper}
 \hypersetup{linkcolor=myblue,urlcolor=mygreen}
-\usepackage{metalogo}
+\usepackage{bxtexlogo}
+\bxtexlogoimport{*}
 \usepackage{shortvrb}
 \MakeShortVerb{\|}
-\newcommand{\PkgVersion}{1.5a}
-\newcommand{\PkgDate}{2019/07/10}
+\newcommand{\PkgVersion}{1.7}
+\newcommand{\PkgDate}{2019/11/19}
 \newcommand{\Pkg}[1]{\textsf{#1}}
 \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
 \newcommand{\Note}{\par\noindent ※}
 \newcommand{\Means}{:\ }
+\newcommand{\Zk}{\mbox{}}
 \providecommand{\Strong}[1]{\textsf{#1}}
-\providecommand{\pTeX}{p\TeX}
-\providecommand{\pLaTeX}{p\LaTeX}
-\providecommand{\upTeX}{u\pTeX}
-\providecommand{\upLaTeX}{u\pLaTeX}
 %-----------------------------------------------------------
 \begin{document}
 \title{\Pkg{pxchfon} パッケージ}
@@ -41,9 +39,10 @@
 一度パッケージをインストールするだけで、
 任意の日本語フォント(ただし等幅に限る)を使うことができる。
 欧文部分を同じ日本語フォントで置き換えることも可能である。
-\Pkg{japanese-otf}\footnote{\Pkg{japanese-otf}パッケージ\Means
+\Pkg{japanese-otf}パッケージ%
+\footnote{\Pkg{japanese-otf}パッケージ\Means
   https://www.ctan.org/pkg/japanese-otf}%
-パッケージにも対応している。
+にも対応している。
 
 また、{(u)\pLaTeX}において広く行われているフォント設定
 (IPAexフォントの使用等)をパッケージオプション一つで適用する機能
@@ -82,6 +81,8 @@
   ただし、本パッケージの主要機能である
   「フォントマップの文書内での指定」
   がサポートされるのはdvipdfmxのみである。
+  \footnote{現状では、|dvipdfmx| 以外のドライバ指定は
+    全て |nodvidriver| と等価である。}%
   他のDVIウェアにおける動作については
   \ref{sec:Other-Drivers}節を参照。
   ドライバオプションの既定値は |dvipdfmx| である。
@@ -88,8 +89,13 @@
 \item \Strong{プリセット指定オプション}(|ipaex|、|hiragino-pron| 等)
   名前に対応するプリセット指定を有効にする。
   \Note 詳細については\ref{sec:Preset}節を参照。
+\item \Strong{カスタムプリセット指定オプション}%
+  (|user:|\Zk\textgt{名前})
+  ユーザ定義のプリセット指定を有効にする。
+  \Note 詳細については\ref{sec:CustomPreset}節を参照。
 \item \Strong{ファイルプリセット指定オプション}%
-  (|+|\mbox{}\textgt{名前} または |*|\mbox{}\textgt{名前})
+  (|tl:|\Zk\textgt{名前} または |file:|\Zk\textgt{名前}%
+  \footnote{旧形式は |+|\Zk\textgt{名前} および |*|\Zk\textgt{名前}})
   名前に対応するファイルプリセット指定を有効にする。
   \Note 詳細については\ref{sec:FilePreset}節を参照。
 \item |alphabet|\Means
@@ -143,14 +149,14 @@
 \item |oneweight|\Means
   \Pkg{japanese-otf}パッケージを単ウェイトで使用する場合に、
   プリセット設定で使われるフォントの集合を{\pTeX}標準と同一にする。
-  \footnote{小塚フォントのプリセットでは、{\pTeX}標準のゴシック
-  (jisg等)にはMウェイト(Acrobatに付属のフォントの一つ)を
+  \footnote{多ウェイト用プリセット設定の一部において、
+  このオプションによりゴシックのウェイトが変更される。
+  例えば、小塚フォントのプリセットでは、{\pTeX}標準のゴシック
+  (jisg等)にはMウェイトを
   割り当てる一方で、\Pkg{japanese-otf}パッケージの3ウェイトのゴシックには
   R、B、Hウェイトを割り当てている。
   従って、\Pkg{japanese-otf}を単ウェイトで用いる時にMウェイトを使いたい
-  場合には \texttt{oneweight} オプションを指定すればよい。
-  現状では、小塚フォント以外のプリセットではこのオプションを
-  用いる必要はない。}
+  場合には |oneweight| オプションを指定すればよい。}
 \item |nooneweight|(既定)\Means
   |oneweight| の否定。
 \end{itemize}
@@ -166,20 +172,20 @@
   \footnote{特に
   「\texttt{\symbol{`\\}userelfont\symbol{`\\}selectfont}」
   だけ実行すると、欧文が現在の和文と同じ書体になる。}
-  (ただし適用すべき和文ファミリについて置換が設定されていない
-  場合は無効になる。)
+  \Note 置換が設定されていないウェイトについては無効になる。
   \Note |alphabet|、|noalphabet|、|relfont| の3つのオプションは
   排他である。
 \item |everypage|\Means
-  DVIの全ページにマップ設定を書き込む。
+  出力DVIの全ページにフォントマップ設定を書き込む。
   \Note 詳細については\ref{sec:PageSelection}節を参照。
 \item |noeverypage|(既定)\Means
   |everypage|の否定。
-  DVIの先頭ページにのみマップ設定を書き込む。
+  出力DVIの先頭ページにのみフォントマップ設定を書き込む。
 \item \Strong{Unicode直接指定オプション}\Means
   一部または全部のフォントについて、エンコーディング指定方式を
-  “Cmap指定”から“Unicode直接指定”に変更する。
-  |nounicode|(既定)、|directunicode|、|directunicode*|、
+  “CMap指定”から“Unicode直接指定”に変更する。
+  |nounicode|(既定:CMap設定のまま)、
+  |directunicode|、|directunicode*|、
   |unicode*|、|unicode| の5種類の指定がある。
   \Note 詳細については\ref{sec:DirectUnicode}節を参照。
   \Note 一部のプリセット指定(|sourcehan|等)は
@@ -211,15 +217,15 @@
 %\item |nodirectunicode|(既定)\Means
 %  |directunicode| の否定。
 \item |usecmapforalphabet|\Means
-  |alphabet|(または |relfont|)を指定して日本語フォントの英数字部分を
+  |alphabet| または |relfont| を指定して日本語フォントの英数字部分を
   欧文フォントとして使う際に、そのエンコーディング指定方式を
   “CMap指定”にする。
 %  \Note “CMap指定”と“Unicode直接指定”の違いについては
 %  \ref{sec:DirectUnicode}節を参照。
   \Note 半角英数字用の\texttt{UniJIS-UCS2-HW-H}というCMapが指定される。
-  \Note 字形セットがAJ1であるOpenTypeフォントの場合、“Unicode直接指定”
-  を使うと英数字がプロポーショナル幅のものになるがこれは
-  サポートされない(|alphabet| オプションの説明を参照)ので、
+  \Note AJ1のグリフ集合をもつOpenTypeフォントの場合、既定では
+  \footnote{|unicode| オプションが指定されない場合。}%
+  英数字がプロポーショナル幅のものになるがこれはサポートされないので、
   このオプションを指定して半角幅のものを使う必要がある。
 \item |nousecmapforalphabet|(既定)\Means
   |usecmapforalphabet| の否定。
@@ -249,7 +255,7 @@
 \item |nodumpmaptl|(既定)\Means
   |dumpmaptl| の否定。
 \item |strictcsi|\Means
-  |Identity-H/V| のCMapが指定されたマップ行について、CSI指定は
+  |Identity-H|/|-V| のCMapが指定されたマップ行について、CSI指定を
   (仕様に厳密に従って)フォントがTrueTypeグリフの場合にのみ出力する。
   \Note 「CSI指定」とはフォントファイル名の直後に書く“|/AJ1|”の類の
     ことで、本来は(グリフ集合情報を持たない)TrueTypeグリフのフォント
@@ -259,7 +265,7 @@
     かかるため、既定では厳密な判定は行わない。
 \item |nostrictcsi|(既定)\Means
   |strictcsi| の否定。
-  |Identity-H/V| に対するCSI指定は常に出力される。
+  |Identity-H|/|-V| に対するCSI指定は常に出力される。
   \Note さすがにファイルに出力されたマップ行に不備があるのは
     避けたいので、|dumpmap(tl)| が指定された場合は、
     既定が |strictcsi| に変更される。
@@ -935,12 +941,18 @@
 ファイルプリセットの指定と見なされる。
 
 \begin{itemize}
-\item |+|\mbox{}\textgt{名前}\Means
+\item |tl:|\Zk\textgt{名前}\Means
   {\TeX} Live用ファイルプリセット。
-\item |*|\mbox{}\textgt{名前}\Means
+\item |file:|\Zk\textgt{名前}\Means
   単純ファイルプリセット。
 \end{itemize}
 
+\Note 1.6a版以前では、
+{\TeX} Live用が「|+|\Zk\textgt{名前}」、
+通常が「|*|\Zk\textgt{名前}」という形式であった。
+これらの古い形式も当面の間はサポートされるが、
+新しい形式の使用を推奨する。
+
 \subsection{{\TeX} Live用ファイルプリセット機能}
 
 {\TeX} Liveでは{(u)\pLaTeX}のフォントの設定を
@@ -950,8 +962,8 @@
 対応したファイルをupdmapの機構を用いて有効化することで、
 dvipdfmxの既定の設定を切り替えている。
 
-パッケージオプションとして |+| で始まる文字列
-(仮に |+NAME| とする)を与えると、
+パッケージオプションとして |tl:| で始まる文字列
+(仮に |tl:NAME| とする)を与えると、
 kanji-config-updmap用のマップファイルの読込が指示される。
 具体的には、以下の名前のマップファイルが読み込まれる。
 
@@ -961,7 +973,7 @@
   \item |ptex-NAME.map|
   \item |otf-NAME.map|
   \end{itemize}
-\item {\upLaTeX}の場合、上記のものに加えて以下のもの:
+\item {\upLaTeX}の場合、\Strong{上記のものに加えて}以下のもの:
   \begin{itemize}
   \item |uptex-NAME.map|
   \item |otf-up-NAME.map|
@@ -971,7 +983,7 @@
 例えば、{\pLaTeX}文書において以下のようにパッケージを読み込んだとする。
 
 \begin{quote}\small\begin{verbatim}
-\usepackage[+yu-win]{pxchfon}
+\usepackage[tl:yu-win]{pxchfon}
 \end{verbatim}\end{quote}
 
 この場合、|ptex-yu-win.map| と |otf-yu-win.map| の2つのマップファイル
@@ -979,23 +991,73 @@
 
 \subsection{単純ファイルプリセット機能}
 
-パッケージオプションとして |*| で始まる文字列
-(仮に |*NAME| とする)を与えると、
+パッケージオプションとして |file:| で始まる文字列
+(仮に |file:NAME| とする)を与えると、
 |NAME.map| という名前のマップファイルの読込が指示される。
 
 例えば、以下のようにパッケージを読み込んだとする。
 
 \begin{quote}\small\begin{verbatim}
-\usepackage[*yu]{pxchfon}
+\usepackage[file:yu]{pxchfon}
 \end{verbatim}\end{quote}
 
 この場合、|yu.map| というマップファイル
-\footnote{例えばW32{\TeX}ではこの名前のマップファイルが
+\footnote{例えばW32{\TeX}では |yu.map| というマップファイルが
   用意されている。}%
 がdvipdfmx実行時に読み込まれる。
 
 
 %===========================================================
+\section{カスタムプリセット機能}
+\label{sec:CustomPreset}
+
+1.7版で新設された「カスタムプリセット機能」とは、
+ユーザが独自にプリセットを用意するためのものである。
+ユーザが定義したプリセット(\Strong{カスタムプリセット})を
+「|pxchfon.cfg|」という名前の
+\Strong{カスタムプリセット定義ファイル}に記述して
+そのファイルを{\TeX}が読める場所に置くと、
+\Pkg{pxchfon}パッケージ読込時にオプションとして指定することで
+カスタムプリセットを利用できるようになる。
+
+カスタムプリセットを定義する命令は以下の通りである。
+これらの命令は |pxchfon.cfg| の中でのみ利用できる。
+\begin{itemize}
+\item |\pxchfonDeclareOneWeightPreset{|\Meta{名前}|}{|%
+  \Meta{明朝}|}{|\Meta{ゴシック}|}|\Means
+  単ウェイトのカスタムプリセットを定義する。
+  プリセットの名前は\Meta{名前}の文字列の前に「|user:|」を
+  前置したものになる。
+  第2引数以降は使用するフォントファイル名
+  (TTC形式の場合は番号も含めて |:番号:ファイル名| の形式)
+  を指定する。
+\item |\pxchfonDeclareMultiWeightPreset{|\Meta{名前}|}{|%
+  \Meta{明朝・細}|}{|\Meta{明朝・中}|}{|\Meta{明朝・太}|}{|%
+  \Meta{ゴシック・中}|}{|\Meta{ゴシック・太}|}{|\Meta{ゴシック・極太}|}{|%
+  \Meta{ゴシック・単}|}{|\Meta{丸ゴシック}|}|\Means
+  多ウェイトのカスタムプリセットを定義する。
+  引数の意味は前項と同様である。
+  \Meta{ゴシック・単}は「|oneweight| オプション指定時のゴシック体」
+  を表す。
+\end{itemize}
+
+例えば、全ての和文フォントを(Microsoft Office付属の)
+「HG創英角ポップ体」に置き換えるような単ウェイトの
+カスタムプリセット |user:soeikakupoptai| を定義するには
+次の命令を実行する。
+\begin{quote}\small\begin{verbatim}                                      
+\pxchfonDeclareOneWeightPreset{soeikakupoptai}
+  {:0:HGRPP1.TTC}{:0:HGRPP1.TTC}
+\end{verbatim}\end{quote}
+
+このカスタムプリセットを利用したい場合はパッケージ読込
+を以下のようにする。
+\begin{quote}\small\begin{verbatim}                                      
+\usepackage[user:soeikakupoptai,...]{pxchfon}
+\end{verbatim}\end{quote}
+
+
+%===========================================================
 \section{Unicode直接指定}
 \label{sec:DirectUnicode}
 
@@ -1103,8 +1165,8 @@
 \begin{itemize}
 \item プリセット指定または |\set...font| 命令で
   フォントを置換していないウェイトについては、
-  |unicode| 指定時であってもUnicode直接指定は効かない。
-  従って、そのようなウェイトはUnicode直接指定が想定する出力には
+  Unicode直接指定は無効になる。
+  従って、そのようなウェイトは想定する出力には
   ならず、またUnicode直接指定を必要とする機能
   (|expert| や |glyphid| の各オプション)
   も使えない。
@@ -1113,7 +1175,7 @@
   従って、|expert| を指定する場合は、全ファミリ・ウェイトについて
   置換を指定することを推奨する
   (これに反する場合は警告が出る)。
-\item 非埋込を指定したウェイトについてはUnicode直接指定が
+\item 非埋込を指定したウェイトについてはUnicode直接指定は
   無効になる。
   この動作も非常に解りにくいため、
   Unicode直接指定を用いる場合は、非埋込の指定をしないことを推奨する
@@ -1127,11 +1189,11 @@
 
 dvipdfmxには元のDVI文書の一部のページだけを抜粋してPDF文書に変換する
 機能がある(|-s| オプション)。
-ところが、本パッケージでは、ユーザ命令で指定されたフォントマップ情報を、
+ところが、本パッケージではユーザが指定したフォントマップ情報を
 DVIの先頭ページに書き出すという処理方法をとっている
 (すなわち「ページ独立性」を保っていない)ため、
 先頭ページを含まない抜粋を行った場合は、
-フォント置換が効かないという現象が発生する。
+フォント置換が効かないという不具合が発生する。
 
 この問題を解決するのが |everypage| パッケージオプションである。
 このオプションが指定された場合は、
@@ -1145,11 +1207,9 @@
 \label{sec:Mechanism-Alph}
 
 指定された和文フォントの半角部分からなる欧文フォントファミリとして
-OT1/cfjar(明朝)、OT1/cfjas(ゴシック)、OT1/cfjam(丸ゴシック)
+cfjar(明朝)、cfjas(ゴシック)、cfjam(丸ゴシック)
 の3つ(以下では\Strong{CFJAファミリ}と総称する)を定義している。
 その上で、CFJAファミリに対するマップ指定を和文と同じ方法で行っている。
-なお、CFJAファミリは内部ではOT1として扱われるが、
-実際にはOT1の一部のグリフしか持っていない。
 
 \paragraph{alphabetオプション指定時}
 オプション |alphabet| を指定した場合、
@@ -1160,15 +1220,14 @@
 
 \paragraph{relfontオプション指定時}
 オプション |relfont| を指定した場合、
-CFJAファミリを和文ファミリの従属欧文フォントに
-(cfjarを |\mcfamily| に、cfjasを |\gtfamily| に、
-cfjamを |\mgfamily| に対して)設定する。
+CFJAファミリを和文ファミリの従属欧文フォントに設定する
+(cfjar→|\mcfamily|;cfjas→|\gtfamily|;cfjam→|\mgfamily|)。
 
 \paragraph{利用可能な欧文エンコーディング}
 現状で、CFJAファミリが対応している欧文エンコーディングは
 OT1、T1、TS1の3つである
 \footnote{1.4版でT1に“暫定対応”し、1.5版でT1とTS1に正式に対応した。}%
-(TS1は事前に\Pkg{textcomp}を読み込んだ場合にのみ有効)
+(TS1は事前に\Pkg{textcomp}を読み込んだ場合にのみ有効)。
 このため、欧文フォントの置換
 (\texttt{alphabet}や\texttt{relfont}オプション)
 を利用する文書は、欧文エンコーディングがOT1かT1である必要がある
@@ -1202,9 +1261,9 @@
   \Note この場合、既定では欧文は |directunicode*| 相当の状態になる。
   \begin{itemize}
   \item 1項のa、b、cの文字はフォントが正しい幅
-    (aは半角、bとcは半角)の字形を持っていれば使える。
-  \item それ以外でも、Unicodeにある文字である大部分の文字は、
-    フォントが半角幅の字形を持っていれば使える。
+    (aは\Strong{半角}、bとcは\Strong{全角})の字形を持っていれば使える。
+  \item それ以外でも、Unicode文字の大部分は、
+    フォントが\Strong{半角幅}の字形を持っていれば使える。
     \Note 半角幅のまま出力される。
   \item |unicode| オプションを指定すると、正しい幅の字形を優先して
     使おうとするため、既定の場合よりも多くの文字が使える。
@@ -1222,11 +1281,11 @@
   (例えば jsarticle の標準設定ならJISメトリック)
 \item 欧文部分を置き換えた場合、残念ながら欧文も等幅
   (半角幅)になってしまう。
-  さらに、アクセント付きの文字(\'e 等)や非英語文字
-  ({\ss} 等)も使えない。
-  大抵の日本語用フォントにはその文字を出力するためのグリフがそもそも
-  ないのであるが、例えあったとしても使えない。
-\item \Pkg{japanese-otf}/\Pkg{UTF}パッケージ使用時に |\UTF| や |\CID| で
+%  さらに、アクセント付きの文字(\'e 等)や非英語文字
+%  ({\ss} 等)も使えない。
+%  大抵の日本語用フォントにはその文字を出力するためのグリフがそもそも
+%  ないのであるが、例えあったとしても使えない。
+\item \Pkg{japanese-otf}パッケージ使用時に |\UTF| や |\CID| で
   指定した文字が出力されるかは、
   指定したフォントがその文字を持っているかに依存する。
 \item |deluxe| 付きの\Pkg{japanese-otf}パッケージと |alphabet| 付きの
@@ -1270,7 +1329,7 @@
 \subsection{欧文フォントも置き換えた場合(\texttt{alphabet} 指定時)}
 
 欧文フォントを置き換えたDVIファイルは、
-独自の欧文フォント(|r-cfja?-?-l0j| という形式の名前)
+独自の欧文フォント(|r-cfja*| という形式の名前)
 を含んでいるので、
 少なくともそれに関する設定をしない限りはdvipdfmx以外の
 DVIウェアで処理することができない。
@@ -1292,6 +1351,7 @@
 r-cfjas-r- at PXcjk0@     msgothic.ttc FontIndex=0
 r-cfjas-b- at PXcjk0@     msgothic.ttc FontIndex=0
 r-cfjas-x- at PXcjk0@     msgothic.ttc FontIndex=0
+r-cfjam-r- at PXcjk0@     msgothic.ttc FontIndex=0
 \end{verbatim}\end{quote}
 
 %===========================================================

Modified: trunk/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty	2019-11-21 21:48:21 UTC (rev 52877)
+++ trunk/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty	2019-11-21 21:48:42 UTC (rev 52878)
@@ -10,7 +10,7 @@
 
 %% package declaration
 \NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxchfon}[2019/10/07 v1.6]
+\ProvidesPackage{pxchfon}[2019/11/19 v1.7]
 \def\pxcz at pkgname{pxchfon}
 
 %--------------------------------------- general
@@ -86,6 +86,10 @@
 \edef\pxcz at tmpa{\string\ucs}\edef\pxcz at tmpb{\meaning\ucs}
 \ifx\pxcz at tmpa\pxcz at tmpb \pxcz at uptextrue \fi
 
+%% \pxcz at JYn
+\edef\pxcz at JYn{%
+  \ifpxcz at uptex JY2\else JY1\fi}
+
 %% \ifpxcz at otf@deluxe
 \newif\ifpxcz at otf@deluxe \pxcz at otf@deluxefalse
 \@ifpackagewith{otf}{deluxe}{\pxcz at otf@deluxetrue}{}
@@ -124,30 +128,41 @@
 \let\pxcz at uniweight\relax
 \let\pxcz at multiweight\relax
 
-%% \pxcz at declare@oneweight at preset{<name>}{<m>}{<g>}
+%% \pxcz at check@avail at custom@presets
+\pxcz at onlypreamble@let\pxcz at check@avail at custom@presets\relax
+\AtEndOfPackage{%
+  \def\pxcz at check@avail at custom@presets#1#2#3{%
+    \PackageError\pxcz at pkgname
+     {Custom presets cannot be registered after\MessageBreak
+      loading pxchfon package}%
+     {\@eha}}}
+
+%% \pxcz at declare@oneweight at preset{<name>}{<f-mc>}{<f-gt>}
 \pxcz at onlypreamble@def\pxcz at declare@oneweight at preset#1#2#3{%
+  \pxcz at check@avail at custom@presets
   \xdef\pxcz at custom@presets{\pxcz at custom@presets
     \pxcz at custom{#1}{\pxcz at uniweight{#2}{#3}}}}
-%% \pxcz at declare@multiweight at preset{<name>}{<1>}...{<8>}
+%% \pxcz at declare@multiweight at preset{<name>}{<f-1>}...{<f-8>}
 \pxcz at onlypreamble@def\pxcz at declare@multiweight at preset#1#2#3#4#5#6#7#8#9{%
+  \pxcz at check@avail at custom@presets
   \xdef\pxcz at custom@presets{\pxcz at custom@presets
     \pxcz at custom{#1}{\pxcz at multiweight{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}}}}
-%%<+> \pxchfonDeclareOneWeightPreset{<name>}{<m>}{<g>}
+%%<+> \pxchfonDeclareOneWeightPreset{<name>}{<f-mc>}{<f-gt>}
 \@onlypreamble\pxchfonDeclareOneWeightPreset
 \newcommand*\pxchfonDeclareOneWeightPreset[1]{%
   \pxcz at declare@oneweight at preset{user:#1}}
-%%<+> \pxchfonDeclareMultiWeightPreset{<name>}{<1>}...{<8>}
+%%<+> \pxchfonDeclareMultiWeightPreset{<name>}{<f-1>}...{<f-8>}
 \@onlypreamble\pxchfonDeclareMultiWeightPreset
 \newcommand*\pxchfonDeclareMultiWeightPreset[1]{%
   \pxcz at declare@multiweight at preset{user:#1}}
 
 %% Load custom preset definitions
-\IfFileExists{pxchfon-extras.def}{%
+\IfFileExists{pxchfon-extras.def}{% PXchfon-extras
   \PackageInfo\pxcz at pkgname
    {Extra preset settings are loaded\@gobble}%
   \input{pxchfon-extras.def}%
 }{}
-\IfFileExists{pxchfon.cfg}{%
+\IfFileExists{pxchfon.cfg}{% of user
   \PackageInfo\pxcz at pkgname
    {Custom preset settings are loaded\@gobble}%
   \begingroup
@@ -154,8 +169,6 @@
     \makeatother\input{pxchfon.cfg}%
   \endgroup
 }{}
-\let\pxcz at declare@oneweight at preset\@undefined
-\let\pxcz at declare@multiweight at preset\@undefined
 
 %--------------------------------------- handle options
 
@@ -1256,7 +1269,10 @@
 %%<*> \diruni
 \DeclareRobustCommand*{\diruni}{%
   \not at math@alphabet\diruni\relax
-  \fontshape{diruni}\selectfont
+  \ifx\cy at encoding\pxcz at JYn % if in standard Japanese encoding
+    \expandafter\let\csname UTF \endcsname\pxcz at du@UTF
+    \fontshape{diruni}\selectfont
+  \fi
 }
 
 %%<*> \textdiruni{<text>}
@@ -1264,6 +1280,17 @@
   \relax\ifmmode\hbox\fi{\diruni#1}%
 }
 
+%% \pxcz at du@UTF
+\def\pxcz at du@UTF#1{%
+  \kchar"#1\relax}
+
+%% redefinition in PDF-strings
+\providecommand*\pdfstringdefPreHook{}
+\g at addto@macro\pdfstringdefPreHook{%
+  \let\diruni\@empty
+  \let\textdiruni\@firstofone
+}
+
 \ifpxcz at diruni@ok   %---- <*diruni-ok>
 
 %% \pxcz at otf@weight: otf weight mode
@@ -1365,6 +1392,10 @@
     \kanjishape{dirgid}\selectfont
     \kchar#1\relax
   \endgroup}
+\def\pxcz at hy@gid#1{?}
+\g at addto@macro\pdfstringdefPreHook{%
+  \let\gid\pxcz at hy@gid
+}
 
 %% \pxcz at dg@decl at shape{<fam>}{<ser>}<sw>{<tfmname>}
 \pxcz at onlypreamble@def\pxcz at dg@decl at shape#1#2#3#4{%
@@ -2006,7 +2037,7 @@
 % Noto Sans/Serif CJK, "OpenType/CFF Collection (OTC)"
 \pxcz at declare@preset{noto-otc}{%
   \pxcz at multiweight{:0:NotoSerifCJK-Light.ttc}%
-   {:0:NotoSerifCJK-Regular.ttc}{:0:NotoSerifCJK-Bold.ttc}%
+   {:0:NotoSerifCJK-Regular.ttc}{:0:N8otoSerifCJK-Bold.ttc}%
    {:0:NotoSansCJK-Regular.ttc}{:0:NotoSansCJK-Bold.ttc}%
    {:0:NotoSansCJK-Black.ttc}{:0:NotoSansCJK-Medium.ttc}%
    {:0:NotoSansCJK-Medium.ttc}}



More information about the tex-live-commits mailing list