summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-05-19 21:25:06 +0000
committerKarl Berry <karl@freefriends.org>2019-05-19 21:25:06 +0000
commite050e8c4e5fb24faecd10330f38b4bfa5f7777f7 (patch)
tree07ecbcaa195da52ba1a67e5c47506db356c9b566 /Master/texmf-dist
parent09b6012c4592676d398ffa8d92441583fcd9206f (diff)
pxchfon (19may19)
git-svn-id: svn://tug.org/texlive/trunk@51164 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/platex/pxchfon/README-ja.md20
-rw-r--r--Master/texmf-dist/doc/platex/pxchfon/README.md12
-rw-r--r--Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdfbin211872 -> 299150 bytes
-rw-r--r--Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex153
-rw-r--r--Master/texmf-dist/fonts/sfd/pxchfon/PXcjk0.sfd26
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjam-r-l5j.tfmbin0 -> 1020 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjam-r-t1.tfmbin0 -> 1232 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjam-r-ts1.tfmbin0 -> 1100 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-b-l5j.tfmbin0 -> 1020 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-b-t1.tfmbin0 -> 1232 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-b-ts1.tfmbin0 -> 1100 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-l-l5j.tfmbin0 -> 1020 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-l-t1.tfmbin0 -> 1232 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-l-ts1.tfmbin0 -> 1100 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-r-l5j.tfmbin0 -> 1020 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-r-t1.tfmbin0 -> 1232 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-r-ts1.tfmbin0 -> 1100 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-b-l5j.tfmbin0 -> 1020 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-b-t1.tfmbin0 -> 1232 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-b-ts1.tfmbin0 -> 1100 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-r-l5j.tfmbin0 -> 1020 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-r-t1.tfmbin0 -> 1232 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-r-ts1.tfmbin0 -> 1100 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-x-l5j.tfmbin0 -> 1020 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-x-t1.tfmbin0 -> 1232 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-x-ts1.tfmbin0 -> 1100 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjam-r-t1.tfmbin0 -> 1184 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjam-r-ts1.tfmbin0 -> 1092 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-b-t1.tfmbin0 -> 1184 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-b-ts1.tfmbin0 -> 1092 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-l-t1.tfmbin0 -> 1184 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-l-ts1.tfmbin0 -> 1092 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-r-t1.tfmbin0 -> 1184 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-r-ts1.tfmbin0 -> 1092 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-b-t1.tfmbin0 -> 1184 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-b-ts1.tfmbin0 -> 1092 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-r-t1.tfmbin0 -> 1184 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-r-ts1.tfmbin0 -> 1092 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-x-t1.tfmbin0 -> 1184 bytes
-rw-r--r--Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-x-ts1.tfmbin0 -> 1092 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjam-r-l5j.vfbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjam-r-t1.vfbin0 -> 1788 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjam-r-ts1.vfbin0 -> 492 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-b-l5j.vfbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-b-t1.vfbin0 -> 1788 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-b-ts1.vfbin0 -> 492 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-l-l5j.vfbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-l-t1.vfbin0 -> 1788 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-l-ts1.vfbin0 -> 492 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-r-l5j.vfbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-r-t1.vfbin0 -> 1788 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-r-ts1.vfbin0 -> 492 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-b-l5j.vfbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-b-t1.vfbin0 -> 1788 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-b-ts1.vfbin0 -> 492 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-r-l5j.vfbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-r-t1.vfbin0 -> 1788 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-r-ts1.vfbin0 -> 492 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-x-l5j.vfbin0 -> 1272 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-x-t1.vfbin0 -> 1788 bytes
-rw-r--r--Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-x-ts1.vfbin0 -> 492 bytes
-rw-r--r--Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty306
62 files changed, 299 insertions, 218 deletions
diff --git a/Master/texmf-dist/doc/platex/pxchfon/README-ja.md b/Master/texmf-dist/doc/platex/pxchfon/README-ja.md
index 778c33c7fe7..f0d43da5257 100644
--- a/Master/texmf-dist/doc/platex/pxchfon/README-ja.md
+++ b/Master/texmf-dist/doc/platex/pxchfon/README-ja.md
@@ -33,9 +33,6 @@ pLaTeX / upLaTeX の文書の標準のフォント(明朝・ゴシック)を
- TDS 1.1 に従ったシステムでは、次のファイルを移動する。
* `*.sty` → $TEXMF/tex/platex/pxchfon/
- - W32TeX を `C:\usr\local` にインストールした場合の例。
- * `*.sty` → `C:\usr\local\share\texmf-local\tex\platex\pxchfon`
-
- もっと簡単に、TeX システムのディレクトリには手を加えずに、単に
文書ファイルと同じディレクトリに pxchfon.sty を置くだけでも使える。
@@ -45,17 +42,11 @@ pLaTeX / upLaTeX の文書の標準のフォント(明朝・ゴシック)を
設定を行う。
* TDS 1.1 に従ったシステムでは、各ファイルを次の場所に移動する。
- - `*.tfm` → $TEXMF/fonts/tfm/public/pxchfon/
- - `*.vf` → $TEXMF/fonts/vf/public/pxchfon/
+ - `tfm/*.tfm` → $TEXMF/fonts/tfm/public/pxchfon/
+ - `vf/*.vf` → $TEXMF/fonts/vf/public/pxchfon/
- `pxcjk0.sfd` → $TEXMF/fonts/sfd/pxchfon/
- `*.def` → $TEXMF/tex/platex/pxchfon/
- * W32TeX を `C:\usr\local` にインストールした場合の例。
- - `*.tfm` → `C:\usr\local\share\texmf-local\fonts\tfm\public\pxchfon`
- - `*.vf` → `C:\usr\local\share\texmf-local\fonts\vf\public\pxchfon`
- - `pxcjk0.sfd` → `C:\usr\local\share\texmf-local\fonts\sfd\pxchfon`
- - `*.def` → `C:\usr\local\share\texmf-local\tex\platex\pxchfon`
-
### ライセンス
MITライセンスの下で配布される。
@@ -63,6 +54,13 @@ MITライセンスの下で配布される。
更新履歴
--------
+ * Version 1.5 ‹2019/05/15›
+ - TL2017 用の暫定設定である `unicode*` オプションを非推奨とする。
+ - `\asUTF` 命令を非推奨とする。
+ - 欧文置換用の VF を刷新した。TS1 エンコーディングをサポート。
+ - The VFs of alphabetic fonts are refined; now TS1 encoding is
+ also supported.
+ - Unicode 直接モードでは非埋込のフォントに対して警告を出す。
* Version 1.4a ‹2019/03/24›
- 非置換のフォントに対して不具合が起こりうる設定を使う場合、
非置換のフォントがあると警告を出す。
diff --git a/Master/texmf-dist/doc/platex/pxchfon/README.md b/Master/texmf-dist/doc/platex/pxchfon/README.md
index 3f381054fb9..4245e4f8134 100644
--- a/Master/texmf-dist/doc/platex/pxchfon/README.md
+++ b/Master/texmf-dist/doc/platex/pxchfon/README.md
@@ -25,8 +25,8 @@ used in the japanese-otf package.
Move the files as follows (in a system compliant to TDS 1.1):
- `*.sty` → $TEXMF/tex/platex/pxchfon/
- - `*.tfm` → $TEXMF/fonts/tfm/public/pxchfon/
- - `*.vf` → $TEXMF/fonts/vf/public/pxchfon/
+ - `tfm/*.tfm` → $TEXMF/fonts/tfm/public/pxchfon/
+ - `vf/*.vf` → $TEXMF/fonts/vf/public/pxchfon/
- `pxcjk0.sfd` → $TEXMF/fonts/sfd/pxchfon/
- `*.def` → $TEXMF/tex/platex/pxchfon/
@@ -39,6 +39,14 @@ This package is distributed under the MIT License.
Revision History
----------------
+ * Version 1.5 ‹2019/05/15›
+ - The `unicode*` option, which is a tentative setting for TL2017,
+ is now deprecated.
+ - The `\asUTF` command is now deprecated.
+ - The VFs of alphabetic fonts are refined; now TS1 encoding is
+ also supported.
+ - Issue a warning for unembedded font weights, if direct Unicode
+ mode is employed.
* Version 1.4a ‹2019/03/24›
- Issue a warning for unsubstituted font weights, if a setting
where unsubtituted fonts could cause problems is employed.
diff --git a/Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdf b/Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdf
index 9dd55eece2d..4d0cb5637d9 100644
--- a/Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdf
+++ b/Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex b/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex
index e3df7da4e6c..a452d34be51 100644
--- a/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex
+++ b/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex
@@ -1,6 +1,8 @@
% 文字コードは UTF-8
% uplatex で組版する
\documentclass[uplatex,dvipdfmx,a4paper]{jsarticle}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern,textcomp}
\usepackage{color}
\definecolor{myblue}{rgb}{0,0,0.75}
\definecolor{mygreen}{rgb}{0,0.45,0}
@@ -10,8 +12,8 @@
\usepackage{metalogo}
\usepackage{shortvrb}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{1.4a}
-\newcommand{\PkgDate}{2019/03/24}
+\newcommand{\PkgVersion}{1.5}
+\newcommand{\PkgDate}{2019/05/15}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
@@ -177,7 +179,7 @@ OpenTypeフォントをユーザが指定する機能を提供する。
\item \Strong{Unicode直接指定オプション}\Means
一部または全部のフォントについて、エンコーディング指定方式を
“Cmap指定”から“Unicode直接指定”に変更する。
- |nodirectunicode|(既定)、|directunicode|、|directunicode*|、
+ |nounicode|(既定)、|directunicode|、|directunicode*|、
|unicode*|、|unicode| の5種類の指定がある。
\Note 詳細については\ref{sec:DirectUnicode}節を参照。
\Note 一部のプリセット指定(|sourcehan|等)は
@@ -262,7 +264,10 @@ OpenTypeフォントをユーザが指定する機能を提供する。
避けたいので、|dumpmap(tl)| が指定された場合は、
既定が |strictcsi| に変更される。
\item |expert|(既定)\Means
- Unicode直接指定の適用時に\Pkg{japanese-otf}の |expert| オプション
+ Unicode直接指定の適用時
+ \footnote{置換されていないウェイトはUnicode直接指定にならない。
+ (\ref{ssec:DirectUnicodeNotice}節の注意を参照。)}%
+ に\Pkg{japanese-otf}の |expert| オプション
の機能を(可能な範囲で)エミュレートする。
\Note \Pkg{japanese-otf}の |expert| が指定されない場合は無意味。
\item |noexpert|\Means
@@ -270,8 +275,10 @@ OpenTypeフォントをユーザが指定する機能を提供する。
Unicode直接指定時には\Pkg{japanese-otf}の |expert| は無効になる。
\item |glyphid|\Means
GID指定入力(|\gid| 命令)の機能を有効にする。
- \Note エンジンが{\upTeX}でかつUnicode直接指定が有効の場合に
- のみ利用できる。
+ \Note エンジンが{\upTeX}でかつUnicode直接指定
+ \footnote{置換されていないウェイトはUnicode直接指定にならない。
+ (\ref{ssec:DirectUnicodeNotice}節の注意を参照。)}%
+ が有効の場合にのみ利用できる。
\item |noglyphid|(既定)\Means
|glyphid| の否定。
\end{itemize}
@@ -1024,21 +1031,21 @@ CMap指定の場合の機能性を可能な限り保つことを目指してい
\paragraph{“Unicode直接指定”オプション}
以下のパッケージオプションを指定することで
-Unicode直接指定が有効になる。
+Unicode直接指定の有効・無効を切り替えられる。
\begin{itemize}
\item |unicode|\Means
全般的にUnicode直接指定を利用する。
- 最も理想的な設定であるが、現存の{\TeX} Live 2017では利用できない。
- \Note dvipdfmxの20170918版以降({\TeX} Live 2018以降)が必要。
+ 最も理想的な設定であるが、\Strong{{\TeX} Live 2018以降のdvipdfmx}%
+ (20170918版以降)が必要である。
\item |unicode*|\Means
- |unicode| と同様だが、{\TeX} Live 2017のdvipdfmaに対応するために
- 妥協を入れた(過渡的な)設定。
- 一部の約物・記号の出力が異常になる可能性がある。
- \Note dvipdfmxの20170318版以降({\TeX} Live 2017以降)が必要。
+ {\TeX} Live 2017のdvipdfmx(20170318版)専用の\Strong{過渡的}な設定。
+ \Note 1.5版以降では\Strong{非推奨}であり、
+ 将来的に廃止される予定である。
\item |directunicode*|\Means
- |unicode| と同様だが、古い({\TeX} Live 2016以前の)dvipdfmaに
- 対応するために、OpenType属性の指定を全く行わない設定。
+ 全般的にUnicode直接指定を利用するが、
+ 古い({\TeX} Live 2016以前の)dvipdfmxに
+ 対応するために、OpenType属性の指定を全く行わない。
つまり、入力のUnicode文字に対する既定のグリフが常に出力され、
異体字の区別は全て無効になる。
\item |directunicode|\Means
@@ -1068,33 +1075,49 @@ Unicode直接指定が有効になる。
\item |noto-jp|
\end{itemize}
-\paragraph{特殊プリセット指定\<(過渡的)}
+\paragraph{特殊プリセット指定\<(非推奨)}
-現状の{\TeX} Live 2017のdvipdfmxで |unicode| が使えない
-という問題に対処するため、
-一部のプリセット指定について、
-「|unicode| を指定した理想的な状態を模倣する」
-特殊なプリセット設定を用意した。
-これらの設定はdvipdfmxの20170318版以降({\TeX} Live 2017以降)
-において使用できる。
+以下に挙げるプリセット設定は{\TeX} Live 2017%
+(dvipdfmx 20170318版)のために用意された特殊な設定である。
-本来使えないはずの設定を模倣するために、
-少々邪悪な細工を行ている。
+1.5版においてこれらのプリセットは\Strong{非推奨}となった。
+将来的には廃止される予定である。
+そのため、これらのプリセットを利用している場合は、
+\Strong{{\TeX}システムを更新}(dvipdfmxを20170918版以降に)した上で、
+“本来の正しい設定”に移行することを推奨する。
\begin{itemize}
-\item |sourcehan+|、|sourcehan-otc+|、
- |noto+|、|noto-otc+|\Means
- これらの特殊プリセット指定は、対応する(|+| 無しの)
- Unicode直接指定専用プリセットの設定を模倣する。
- 日本語用の一部のグリフを
- 日本語以外(繁体中国語等)のフォントに振り替えている。
- 従って、言語別OTF版のフォントファイルを利用する場合は、
- 原則的に全てのCJK言語の版を用意する必要がある。
-
-\item |yu-win10+|\Means
- |yu-win10| に |unicode| を加えた設定を模倣する。
- クオートの出力を正常にするため、クオートのグリフを
- 「Yu Gothic UI」フォントに振り替えている。
+\item |sourcehan+|、|sourcehan-otc+|、|noto+|、|noto-otc+|:\\
+ →代わりに|+|無しの名前(|sourcehan| 等)を指定する。
+ \Note 前述の通り、|unicode| は自動的に補われる。
+ \Note 日本語版以外のフォントはもはや不要である。
+
+\item |yu-win10+|:\\
+ →代わりに |yu-win10| と |unicode| を指定する。
+\end{itemize}
+
+%-------------------
+\subsection{Unicode直接指定に関する注意事項}
+\label{ssec:DirectUnicodeNotice}
+
+\begin{itemize}
+\item プリセット指定または |\set...font| 命令で
+ フォントを置換していないウェイトについては、
+ |unicode| 指定時であってもUnicode直接指定は効かない。
+ 従って、そのようなウェイトはUnicode直接指定が想定する出力には
+ ならず、またUnicode直接指定を必要とする機能
+ (|expert| や |glyphid| の各オプション)
+ も使えない。
+\item 特に、|expert| については、
+ 非置換のウェイトの動作が非常に複雑で解りにくい。
+ 従って、|expert| を指定する場合は、全ファミリ・ウェイトについて
+ 置換を指定することを推奨する
+ (これに反する場合は警告が出る)。
+\item 非埋込を指定したウェイトについてはUnicode直接指定が
+ 無効になる。
+ この動作も非常に解りにくいため、
+ Unicode直接指定を用いる場合は、非埋込の指定をしないことを推奨する
+ (これに反する場合は警告が出る)。
\end{itemize}
@@ -1123,11 +1146,7 @@ DVI文書の全てのページにフォントマップ情報を書き出すの
指定された和文フォントの半角部分からなる欧文フォントファミリとして
OT1/cfjar(明朝)、OT1/cfjas(ゴシック)、OT1/cfjam(丸ゴシック)
-の3つ(以下では\Strong{CFJAファミリ}と総称する)を定義している
-\footnote{1.4版からはT1エンコーディングにもCFJAファミリを定義する。
-現状で対応しているのはOT1とT1のみであるので、欧文フォントの置換
-(\texttt{alphabet}や\texttt{relfont}オプション)
-を利用する文書は、欧文エンコーディングがOT1かT1である必要がある。}。
+の3つ(以下では\Strong{CFJAファミリ}と総称する)を定義している。
その上で、CFJAファミリに対するマップ指定を和文と同じ方法で行っている。
なお、CFJAファミリは内部ではOT1として扱われるが、
実際にはOT1の一部のグリフしか持っていない。
@@ -1145,6 +1164,54 @@ CFJAファミリを和文ファミリの従属欧文フォントに
(cfjarを |\mcfamily| に、cfjasを |\gtfamily| に、
cfjamを |\mgfamily| に対して)設定する。
+\paragraph{利用可能な欧文エンコーディング}
+現状で、CFJAファミリが対応している欧文エンコーディングは
+OT1、T1、TS1の3つである
+\footnote{1.4版でT1に“暫定対応”し、1.5版でT1とTS1に正式に対応した。}%
+(TS1は事前に\Pkg{textcomp}を読み込んだ場合にのみ有効)
+このため、欧文フォントの置換
+(\texttt{alphabet}や\texttt{relfont}オプション)
+を利用する文書は、欧文エンコーディングがOT1かT1である必要がある
+\footnote{TS1は記号用のエンコーディングであり、本文の既定の
+エンコーディングとして使うものではない。}。
+
+何れのエンコーディングを用いる場合でも、様々な理由により、利用できる
+文字の種類が限られている。
+\begin{enumerate}
+\item AJ1対応のOpenTypeフォントを指定して、かつ |usecmapforalphabet|
+ オプションを指定した場合、
+ 以下の文字(でかつ当該の欧文エンコーディングに含まれるもの)が使える。
+ \Note AJ1対応フォント用のプリセット(|kozuka-pr6n| 等)を
+ 指定した場合は |usecmapforalphabet| は自動的に有効になる。
+ \begin{itemize}
+ \item[a)] ASCII文字
+ \footnote{出力される文字の話であることに注意。
+ 例えば、OT1やT1で \textsf{\textquotesingle}(U+0027)を
+ 入力したときに出力される文字は \textsf{\textquoteright}(U+2019)
+ であり、これはASCII文字ではない。
+ なお、TS1はU+0027を含む。}%
+ およびen-ダッシュ(\textsf{--})。
+ \Note これらは半角幅である。
+ \item[b)] クオート(\textsf{`` '' ` '})。
+ \Note これらは和文用の全角幅の字形を、空きを詰めて半角幅で出力する。
+ \item[c)] em-ダッシュ(\textsf{---})。
+ \Note これらはU+2015の全角幅の字形をそのまま全角幅で出力する。
+ \end{itemize}
+\item 1以外の場合、
+ 以下の文字(でかつ当該の欧文エンコーディングに含まれるもの)が使える。
+ \Note この場合、既定では欧文は |directunicode*| 相当の状態になる。
+ \begin{itemize}
+ \item 1項のa、b、cの文字はフォントが正しい幅
+ (aは半角、bとcは半角)の字形を持っていれば使える。
+ \item それ以外でも、Unicodeにある文字である大部分の文字は、
+ フォントが半角幅の字形を持っていれば使える。
+ \Note 半角幅のまま出力される。
+ \item |unicode| オプションを指定すると、正しい幅の字形を優先して
+ 使おうとするため、既定の場合よりも多くの文字が使える。
+ \end{itemize}
+\end{enumerate}
+
+
%===========================================================
\section{注意事項}
\label{sec:Notice}
diff --git a/Master/texmf-dist/fonts/sfd/pxchfon/PXcjk0.sfd b/Master/texmf-dist/fonts/sfd/pxchfon/PXcjk0.sfd
index a2a189adf73..0e32bf7ad9d 100644
--- a/Master/texmf-dist/fonts/sfd/pxchfon/PXcjk0.sfd
+++ b/Master/texmf-dist/fonts/sfd/pxchfon/PXcjk0.sfd
@@ -8,3 +8,29 @@ l1j 11: 0xFB00_0xFB04 0x0131 0x0237 0x0060 0x00B4 0x02C7 0x02D8 \
0x2018 0x0061_0x007A 124: 0x2015 0x02DD 0x007E 0x00A8 129: 0x0022 \
0x0027 0x003C 0x003E 0x005C 0x005F 0x0060 0x007B 0x007C 0x007D \
0x00A2_0x00A3 0x00A5 0x00AC 161: 0xFF61_0xFF9F
+l4j 18: 0x0060 0x00B4 33: 0x0021_0x007E 0x00A8 128: 0x2018_0x2019 \
+ 0x201C_0x201D 161: 0xFF61_0xFF9F
+l5j 13: 0x0027 0x00A1 0x00BF 0x0131 18: 0x0060 0x00B4 22: 0x00AF \
+ 25: 0x00DF 0x00E6 0x0153 0x00F8 0x00C6 0x0152 0x00D8 0x0020_0x0021 \
+ 0x201D 0x0023_0x0026 0x2019 0x0028_0x005B 0x201C 0x005D_0x005F \
+ 0x2018 0x0061_0x007A 124: 0x2015 126: 0x007E 0x00A8 \
+ 161: 0xFF61_0xFF9F
+t1 0x02CB 0x02CA 0x02C6 0x02DC 0x00A8 0x02DD 0x02DA 0x02C7 0x02D8 \
+ 0x02C9 0x02D9 0x00B8 0x02DB 0x201A 0x2039_0x203A 0x201C_0x201E \
+ 0x00AB 0x00BB 0x2013 0x2015 25: 0x0131 0x0237 32: 0x0020_0x0026 \
+ 0x2019 0x0028_0x005F 0x2018 0x0061_0x007E 128: 0x0102 0x0104 0x0106 \
+ 0x010C 0x010E 0x011A 0x0118 0x011E 0x0139 0x013D 0x0141 0x0143 \
+ 0x0147 0x014A 0x0150 0x0154 0x0158 0x015A 0x0160 0x015E 0x0164 \
+ 0x0162 0x0170 0x016E 0x0178_0x0179 0x017D 0x017B 0x0132 0x0130 \
+ 0x0111 0x00A7 0x0103 0x0105 0x0107 0x010D 0x010F 0x011B 0x0119 \
+ 0x011F 0x013A 0x013E 0x0142 0x0144 0x0148 0x014B 0x0151 0x0155 \
+ 0x0159 0x015B 0x0161 0x015F 0x0165 0x0163 0x0171 0x016F 0x00FF \
+ 0x017A 0x017E 0x017C 0x0133 0x00A1 0x00BF 0x00A3 0x00C0_0x00D6 \
+ 0x0152 0x00D8_0x00DE 224: 0x00E0_0x00F6 0x0153 0x00F8_0x00FE \
+ 0x00DF
+ts1 11: 0x00B8 0x02DB 36: 0x0024 39: 0x0027 42: 0x204E 44: 0x002C \
+ 46: 0x002E 0x2044 61: 0x2212 87: 0x2126 91: 0x301A 93: 0x301B \
+ 96: 0x0060 126: 0x02F7 128: 0x02D8 0x02C7 0x02DD 132: 0x2020_0x2021 \
+ 0x2016 0x2030 0x2022 0x2103 140: 0x0192 151: 0x2122 157: 0x212E \
+ 162: 0x00A2_0x00AA 172: 0x00AC 174: 0x00AE_0x00B7 \
+ 185: 0x00B9_0x00BA 188: 0x00BC_0x00BE 0x20AC 214: 0x00D7 246: 0x00F7
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjam-r-l5j.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjam-r-l5j.tfm
new file mode 100644
index 00000000000..882477d2cac
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjam-r-l5j.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjam-r-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjam-r-t1.tfm
new file mode 100644
index 00000000000..00c6a1e0208
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjam-r-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjam-r-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjam-r-ts1.tfm
new file mode 100644
index 00000000000..3f56f7e8367
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjam-r-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-b-l5j.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-b-l5j.tfm
new file mode 100644
index 00000000000..1aa122601f4
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-b-l5j.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-b-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-b-t1.tfm
new file mode 100644
index 00000000000..93ba9c37b83
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-b-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-b-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-b-ts1.tfm
new file mode 100644
index 00000000000..a254dad89fa
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-b-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-l-l5j.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-l-l5j.tfm
new file mode 100644
index 00000000000..1aa122601f4
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-l-l5j.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-l-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-l-t1.tfm
new file mode 100644
index 00000000000..93ba9c37b83
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-l-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-l-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-l-ts1.tfm
new file mode 100644
index 00000000000..a254dad89fa
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-l-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-r-l5j.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-r-l5j.tfm
new file mode 100644
index 00000000000..1aa122601f4
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-r-l5j.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-r-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-r-t1.tfm
new file mode 100644
index 00000000000..93ba9c37b83
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-r-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-r-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-r-ts1.tfm
new file mode 100644
index 00000000000..a254dad89fa
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjar-r-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-b-l5j.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-b-l5j.tfm
new file mode 100644
index 00000000000..4217e24eadb
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-b-l5j.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-b-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-b-t1.tfm
new file mode 100644
index 00000000000..9fb0e93f070
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-b-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-b-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-b-ts1.tfm
new file mode 100644
index 00000000000..22ca080736f
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-b-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-r-l5j.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-r-l5j.tfm
new file mode 100644
index 00000000000..4217e24eadb
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-r-l5j.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-r-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-r-t1.tfm
new file mode 100644
index 00000000000..9fb0e93f070
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-r-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-r-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-r-ts1.tfm
new file mode 100644
index 00000000000..22ca080736f
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-r-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-x-l5j.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-x-l5j.tfm
new file mode 100644
index 00000000000..4217e24eadb
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-x-l5j.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-x-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-x-t1.tfm
new file mode 100644
index 00000000000..9fb0e93f070
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-x-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-x-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-x-ts1.tfm
new file mode 100644
index 00000000000..22ca080736f
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/cfjas-x-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjam-r-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjam-r-t1.tfm
new file mode 100644
index 00000000000..f79c95b8776
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjam-r-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjam-r-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjam-r-ts1.tfm
new file mode 100644
index 00000000000..d44b3754606
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjam-r-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-b-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-b-t1.tfm
new file mode 100644
index 00000000000..7e0c5dc73b7
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-b-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-b-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-b-ts1.tfm
new file mode 100644
index 00000000000..0ff306f2207
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-b-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-l-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-l-t1.tfm
new file mode 100644
index 00000000000..7e0c5dc73b7
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-l-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-l-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-l-ts1.tfm
new file mode 100644
index 00000000000..0ff306f2207
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-l-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-r-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-r-t1.tfm
new file mode 100644
index 00000000000..7e0c5dc73b7
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-r-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-r-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-r-ts1.tfm
new file mode 100644
index 00000000000..0ff306f2207
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjar-r-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-b-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-b-t1.tfm
new file mode 100644
index 00000000000..9a821a75feb
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-b-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-b-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-b-ts1.tfm
new file mode 100644
index 00000000000..43fc0c144be
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-b-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-r-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-r-t1.tfm
new file mode 100644
index 00000000000..9a821a75feb
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-r-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-r-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-r-ts1.tfm
new file mode 100644
index 00000000000..43fc0c144be
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-r-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-x-t1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-x-t1.tfm
new file mode 100644
index 00000000000..9a821a75feb
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-x-t1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-x-ts1.tfm b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-x-ts1.tfm
new file mode 100644
index 00000000000..43fc0c144be
--- /dev/null
+++ b/Master/texmf-dist/fonts/tfm/public/pxchfon/r-cfjas-x-ts1.tfm
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjam-r-l5j.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjam-r-l5j.vf
new file mode 100644
index 00000000000..1a4112d7d9c
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjam-r-l5j.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjam-r-t1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjam-r-t1.vf
new file mode 100644
index 00000000000..29229d696b2
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjam-r-t1.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjam-r-ts1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjam-r-ts1.vf
new file mode 100644
index 00000000000..713d1293c35
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjam-r-ts1.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-b-l5j.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-b-l5j.vf
new file mode 100644
index 00000000000..3e0fcb098aa
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-b-l5j.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-b-t1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-b-t1.vf
new file mode 100644
index 00000000000..4314f1be8ed
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-b-t1.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-b-ts1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-b-ts1.vf
new file mode 100644
index 00000000000..9ed12d5a7ed
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-b-ts1.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-l-l5j.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-l-l5j.vf
new file mode 100644
index 00000000000..a0eff1a30b6
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-l-l5j.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-l-t1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-l-t1.vf
new file mode 100644
index 00000000000..9327d0ca2b9
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-l-t1.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-l-ts1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-l-ts1.vf
new file mode 100644
index 00000000000..22d88d661b6
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-l-ts1.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-r-l5j.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-r-l5j.vf
new file mode 100644
index 00000000000..baa61e9ea56
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-r-l5j.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-r-t1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-r-t1.vf
new file mode 100644
index 00000000000..051349ff3cf
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-r-t1.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-r-ts1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-r-ts1.vf
new file mode 100644
index 00000000000..dd018106572
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjar-r-ts1.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-b-l5j.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-b-l5j.vf
new file mode 100644
index 00000000000..ae1b994ccba
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-b-l5j.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-b-t1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-b-t1.vf
new file mode 100644
index 00000000000..8370253a7c5
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-b-t1.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-b-ts1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-b-ts1.vf
new file mode 100644
index 00000000000..52742ece272
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-b-ts1.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-r-l5j.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-r-l5j.vf
new file mode 100644
index 00000000000..51b6b8c6cfa
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-r-l5j.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-r-t1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-r-t1.vf
new file mode 100644
index 00000000000..bf1e491fd15
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-r-t1.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-r-ts1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-r-ts1.vf
new file mode 100644
index 00000000000..0bbe6b763b4
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-r-ts1.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-x-l5j.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-x-l5j.vf
new file mode 100644
index 00000000000..c3a8db3bfb4
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-x-l5j.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-x-t1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-x-t1.vf
new file mode 100644
index 00000000000..98fc3f12116
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-x-t1.vf
Binary files differ
diff --git a/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-x-ts1.vf b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-x-ts1.vf
new file mode 100644
index 00000000000..d6e314825b4
--- /dev/null
+++ b/Master/texmf-dist/fonts/vf/public/pxchfon/cfjas-x-ts1.vf
Binary files differ
diff --git a/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty b/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty
index 6206ddb0c8a..15c9d849754 100644
--- a/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty
+++ b/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty
@@ -10,14 +10,9 @@
%% package declaration
\NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxchfon}[2019/03/24 v1.4a]
+\ProvidesPackage{pxchfon}[2019/05/15 v1.5]
\def\pxcz@pkgname{pxchfon}
-%% preparations
-\def\pxcz@error{\PackageError\pxcz@pkgname}
-\def\pxcz@warn{\PackageWarning\pxcz@pkgname}
-\def\pxcz@info{\PackageInfo\pxcz@pkgname}
-
%--------------------------------------- general
%% variables
@@ -44,6 +39,9 @@
%% \pxcz@onlypreamble@def\CS
\def\pxcz@onlypreamble@def#1{%
\@onlypreamble#1\def#1}
+%% \pxcz@onlypreamble@let\CS
+\def\pxcz@onlypreamble@let#1{%
+ \@onlypreamble#1\let#1}
%% \pxcz@csuse@or{<csname>}{<default>}
\def\pxcz@csuse@or#1#2{%
@@ -238,29 +236,26 @@
% dvipdfmx of version 20170627 or later. The 'unicode-fwid' is a variant.
% The 'unicode*(-fwid)' option is a transitional (deteriorated) version
% of 'unicode(-fwid)' and can work with dvipdfmx of version 20170318.
-\@namedef{pxcz@POPT/unicode}{%
+\pxcz@onlypreamble@csdef{pxcz@POPT/unicode}{%
\let\pxcz@directunicode\pxcz@directunicode@full}
-\@namedef{pxcz@POPT/unicode*}{%
+\pxcz@onlypreamble@csdef{pxcz@POPT/unicode*}{%
\pxcz@uniquifytrue
\let\pxcz@directunicode\pxcz@directunicode@full}
-\@namedef{pxcz@POPT/unicode-fwid}{%
+\pxcz@onlypreamble@csdef{pxcz@POPT/unicode-fwid}{%
\pxcz@fullwidthtrue
\let\pxcz@directunicode\pxcz@directunicode@full}
-\@namedef{pxcz@POPT/unicode*-fwid}{%
+\pxcz@onlypreamble@csdef{pxcz@POPT/unicode*-fwid}{%
\pxcz@fullwidthtrue \pxcz@uniquifytrue
\let\pxcz@directunicode\pxcz@directunicode@full}
\DeclareOption*{%
\pxcz@csuse@or{pxcz@POPT/\CurrentOption}{%
\pxcz@parse@opt\CurrentOption
\ifpxcz@ok\else \@unknownoptionerror \fi}}
-\@onlypreamble\pxcz@parse@opt
-\def\pxcz@parse@opt#1{%
+\pxcz@onlypreamble@def\pxcz@parse@opt#1{%
\expandafter\pxcz@parse@opt@a#1\@nnil}
-\@onlypreamble\pxcz@parse@opt@a
-\def\pxcz@parse@opt@a{%
+\pxcz@onlypreamble@def\pxcz@parse@opt@a{%
\futurelet\pxcz@tok\pxcz@parse@opt@b}
-\@onlypreamble\pxcz@parse@opt@b
-\def\pxcz@parse@opt@b{%
+\pxcz@onlypreamble@def\pxcz@parse@opt@b{%
\pxcz@okfalse
\let\pxcz@tmpa\remove@to@nnil
\ifx+\pxcz@tok
@@ -268,13 +263,24 @@
\else\ifx*\pxcz@tok
\pxcz@file@preset@tlfalse \let\pxcz@tmpa\pxcz@parse@opt@c
\fi\fi \pxcz@tmpa}
-\@onlypreamble\pxcz@parse@opt@c
-\def\pxcz@parse@opt@c#1#2\@nnil{%
+\pxcz@onlypreamble@def\pxcz@parse@opt@c#1#2\@nnil{%
\pxcz@oktrue
\edef\pxcz@file@preset{#2}}
% dispatch
\ProcessOptions*
+%% 'unicode*' and 'unicode*-fwid' are DEPRECATED
+\ifpxcz@uniquify
+ \PackageWarningNoLine\pxcz@pkgname
+ {IMPORTANT: Option 'unicode*\ifpxcz@fullwidth -fwid\fi'
+ is DEPRECATED!\MessageBreak
+ This option invokes a transitional setting that\MessageBreak
+ is specially tailored for TL2017, and will be\MessageBreak
+ abolished in near future.\MessageBreak
+ You should update to TL2018 or later and use\MessageBreak
+ option 'unicode\ifpxcz@fullwidth -fwid\fi' instead}
+\fi
+
%% 'everypage' needs 'atbegshi' package
\ifpxcz@everypage
\RequirePackage{atbegshi}
@@ -304,10 +310,11 @@
\else \pxcz@alphafalse
\fi\fi\fi\fi
\ifpxcz@alpha
- \IfFileExists{pxchfon0.def}{\relax}{%
- \pxcz@error{Option 'alphabet' not available in Lite edition}%
- {You must install full edition of PXchfon bundle, or specify
- 'noalphabet'\MessageBreak as package option.}%
+ \IfFileExists{pxchfon0.def}{}{%else
+ \PackageError\pxcz@pkgname
+ {Option 'alphabet' not available in Lite edition}%
+ {You must install full edition of PXchfon bundle, or specify
+ 'noalphabet'\MessageBreak as package option.}%
\pxcz@alphafalse}
\fi
@@ -316,9 +323,10 @@
\else \pxcz@relfalse
\fi
\ifpxcz@rel
- \IfFileExists{pxchfon0.def}{\relax}{%
- \pxcz@error{Option 'relfont' not available in Lite edition}%
- {You must install full edition of PXchfon bundle.}%
+ \IfFileExists{pxchfon0.def}{}{%else
+ \PackageError\pxcz@pkgname
+ {Option 'relfont' not available in Lite edition}%
+ {You must install full edition of PXchfon bundle.}%
\pxcz@relfalse}
\fi
@@ -359,11 +367,11 @@
%% variables
\newif\ifpxcz@warn@unless@all@defined
+\newif\ifpxcz@warn@unless@all@embedded
%% \pxcz@apply@opt@unicode
% Forces the 'unicode' setup (unless a directunicode option was given).
-\@onlypreamble\pxcz@apply@opt@unicode
-\def\pxcz@apply@opt@unicode{%
+\pxcz@onlypreamble@def\pxcz@apply@opt@unicode{%
\ifpxcz@directunicode@default % default -> unicode
\pxcz@warn@unicode
\let\pxcz@directunicode\pxcz@directunicode@full
@@ -377,8 +385,7 @@
%% \pxcz@apply@opt@unicodeP
% Forces the 'unicode+' setup, which is a 'unicode' with switch-font
% enabled on the width features.
-\@onlypreamble\pxcz@apply@opt@unicodeP
-\def\pxcz@apply@opt@unicodeP{%
+\pxcz@onlypreamble@def\pxcz@apply@opt@unicodeP{%
\pxcz@uniquifyfalse
\pxcz@switch@font@xwidtrue % 'unicode+'
\ifnum\pxcz@directunicode=\pxcz@directunicode@full\else
@@ -386,10 +393,9 @@
\let\pxcz@directunicode\pxcz@directunicode@full
\fi}
%% \pxcz@warn@unicode
-\@onlypreamble\pxcz@warn@unicode
-\def\pxcz@warn@unicode{%
+\pxcz@onlypreamble@def\pxcz@warn@unicode{%
\PackageWarningNoLine\pxcz@pkgname
- {The option 'unicode(*)' is enforced, because the\MessageBreak
+ {The option 'unicode' is enforced, because the\MessageBreak
preset '\pxcz@main@preset' is selected.}}
%% the setup
@@ -412,6 +418,10 @@
\pxcz@do{noto+}{\pxcz@apply@opt@unicodeP}
\pxcz@do{noto-otc+}{\pxcz@apply@opt@unicodeP}
\pxcz@do{yu-win10+}{\pxcz@apply@opt@unicodeP}
+% No-embed is not supported under the 'unicode' setup
+\ifnum\pxcz@directunicode=\pxcz@directunicode@full
+ \pxcz@warn@unless@all@embeddedtrue
+\fi
%% apply default for \pxcz@legacycode
\ifx\pxcz@legacycode\relax
@@ -507,11 +517,9 @@
\newcommand*\setschinesegothicfont{\pxcz@setfont{scg}}
\newcommand*\settchineseminchofont{\pxcz@setfont{tcm}}
\newcommand*\settchinesegothicfont{\pxcz@setfont{tcg}}
-\@onlypreamble\pxcz@setfont
-\def\pxcz@setfont#1{\@ifnextchar[%]
+\pxcz@onlypreamble@def\pxcz@setfont#1{\@ifnextchar[%]
{\pxcz@setfont@a{#1}}{\pxcz@setfont@a{#1}[0]}}
-\@onlypreamble\pxcz@setfont@a
-\def\pxcz@setfont@a#1[#2]#3{%
+\pxcz@onlypreamble@def\pxcz@setfont@a#1[#2]#3{%
\edef\pxcz@tmpa{#3}\pxcz@lower\pxcz@tmpa
\pxcz@split{?:}{?\pxcz@tmpa}%
\ifx\pxcz@pre\relax
@@ -521,8 +529,7 @@
\fi
\else \pxcz@setfont@b{#1}{#3}%
\fi}
-\@onlypreamble\pxcz@setfont@b
-\def\pxcz@setfont@b#1#2{%
+\pxcz@onlypreamble@def\pxcz@setfont@b#1#2{%
\@for\pxcz@tmpx:=#1\do{%
\@namedef{pxcz@FS/\pxcz@tmpx}{#2}}}
\@for\pxcz@x:=\pxcz@sym@list\do{%
@@ -539,12 +546,18 @@
}{}%
}
\def\pxcz@asutf@a#1{%
+ \pxcz@warn@depre@asutf
\kchardef\pxcz@tmpa=`#1\relax
\expandafter\pxcz@asutf@b\meaning\pxcz@tmpa\relax
}
\def\pxcz@asutf@b#1"#2\relax{%
\UTF{#2}%
}
+\def\pxcz@warn@depre@asutf{%
+ \PackageWarningNoLine\pxcz@pkgname
+ {Important: Command '\string\asUTF' is DEPRECATED}%
+ \global\let\pxcz@warn@depre@asutf\relax
+}
\fi
%--------------------------------------- fontmap internals
@@ -566,11 +579,9 @@
%%<*> \usecmapforalphabet/\nousecmapforalphabet
\newcommand*\usecmapforalphabet{%
- \global\let\pxcz@cmap@uni\pxcz@cmap@hwuni}
+ \global\pxcz@cmap@alphatrue}
\newcommand*\nousecmapforalphabet{%
- \global\let\pxcz@cmap@uni\pxcz@cmap@directuni}
-\ifpxcz@cmap@alpha \usecmapforalphabet
-\else \nousecmapforalphabet \fi
+ \global\pxcz@cmap@alphafalse}
%% \pxcz@NEF/<sym>
\def\pxcz@do#1#2{%
@@ -643,18 +654,17 @@
\let\pxcz@lopts\relax
\let\pxcz@mopts\relax
\let\pxcz@font@tribe\relax
+\newif\ifpxcz@noembed@used
%% \pxcz@@jpXX
\edef\pxcz@@jpXX{%
\ifpxcz@mmivjis jp04\else jp90\fi}
%% \pxcz@add@lopt
-\@onlypreamble\pxcz@add@lopt
-\def\pxcz@add@lopt#1{%
+\pxcz@onlypreamble@def\pxcz@add@lopt#1{%
\edef\pxcz@lopts{%
\ifx\pxcz@lopts\@empty\else \pxcz@lopts:\fi#1}}
%% \pxcz@uniquify@lopts
-\@onlypreamble\pxcz@uniquify@lopts
-\def\pxcz@uniquify@lopts#1#2{%
+\pxcz@onlypreamble@def\pxcz@uniquify@lopts#1#2{%
\pxcz@oktrue
\def\pxcz@tmpb{jp90}\ifx\pxcz@tmpb\pxcz@lopts\pxcz@okfalse\fi
\def\pxcz@tmpb{jp04}\ifx\pxcz@tmpb\pxcz@lopts\pxcz@okfalse\fi
@@ -664,17 +674,14 @@
\fi}
%% \pxcz@is@jis@cmap
-\@onlypreamble\pxcz@is@jis@cmap
-\def\pxcz@is@jis@cmap{%
+\pxcz@onlypreamble@def\pxcz@is@jis@cmap{%
\pxcz@okfalse
\expandafter\pxcz@is@jis@cmap@a\pxcz@cmap\pxcz@end}
-\@onlypreamble\pxcz@is@jis@cmap@a
-\def\pxcz@is@jis@cmap@a#1#2\pxcz@end{%
+\pxcz@onlypreamble@def\pxcz@is@jis@cmap@a#1#2\pxcz@end{%
\ifx\pxcz@mt#2\pxcz@mt \pxcz@oktrue \fi}
%% \pxcz@force@mmiv@cmap
-\@onlypreamble\pxcz@force@mmiv@cmap
-\def\pxcz@force@mmiv@cmap{%
+\pxcz@onlypreamble@def\pxcz@force@mmiv@cmap{%
\pxcz@is@jis@cmap \ifpxcz@ok
\edef\pxcz@cmap{\pxcz@pfx@jis\pxcz@cmap}%
\else
@@ -685,8 +692,7 @@
\fi}
%% \pxcz@inspect@font@tribe
-\@onlypreamble\pxcz@inspect@font@tribe
-\def\pxcz@inspect@font@tribe{%
+\pxcz@onlypreamble@def\pxcz@inspect@font@tribe{%
\let\pxcz@font@tribe\@empty
\ifx\pxcz@font\@empty
\else\ifx\pxcz@font\pxcz@noembed
@@ -711,8 +717,7 @@
{Font tribe is '\pxcz@font@tribe':\MessageBreak
\@spaces\pxcz@font\@gobble}%
\fi}
-\@onlypreamble\pxcz@inspect@font@tribe@a
-\def\pxcz@inspect@font@tribe@a#1#2#3{%
+\pxcz@onlypreamble@def\pxcz@inspect@font@tribe@a#1#2#3{%
\pxcz@split{#1}{?\pxcz@font}%
\ifx\pxcz@pre\relax\else
\pxcz@split{#2}{\pxcz@font?}%
@@ -723,8 +728,7 @@
%% \pxcz@switch@font@for{<feature>}
% Modifies \pxcz@font, assuming \pxcz@font@tribe is properly set.
-\@onlypreamble\pxcz@switch@font@for
-\def\pxcz@switch@font@for#1{%
+\pxcz@onlypreamble@def\pxcz@switch@font@for#1{%
\pxcz@csletcs{pxcz@tmpb}{pxcz@switch@font@@\pxcz@font@tribe @#1}%
\ifx\pxcz@tmpb\relax\else
%\typeout{#1:\pxcz@font-->\expandafter\pxcz@tmpb\pxcz@font}%
@@ -772,8 +776,7 @@
\fi
%% \pxcz@declare@entry@modifier{<name>}
-\@onlypreamble\pxcz@declare@entry@modifier
-\def\pxcz@declare@entry@modifier#1{%
+\pxcz@onlypreamble@def\pxcz@declare@entry@modifier#1{%
\pxcz@onlypreamble@csdef{pxcz@MEM/#1}}
%% entry modifiers
@@ -808,14 +811,16 @@
\pxcz@add@lopt{jp90}}
% HWid
\pxcz@declare@entry@modifier{HWid}{%
- \ifx\pxcz@font\pxcz@noembed
- \let\pxcz@cmap\pxcz@cmap@hwuni
- \else\ifnum\pxcz@directunicode=\pxcz@directunicode@full
+ \ifx\pxcz@font\pxcz@noembed \pxcz@okfalse
+ \else\ifnum\pxcz@directunicode=\pxcz@directunicode@full \pxcz@oktrue
+ \else\ifpxcz@cmap@alpha \pxcz@okfalse
+ \else \pxcz@oktrue
+ \fi\fi\fi
+ \ifpxcz@ok
\let\pxcz@cmap\pxcz@cmap@directuni
- \else
- \let\pxcz@cmap\pxcz@cmap@uni
\pxcz@switch@font@for{hwid}%
- \fi\fi
+ \else \let\pxcz@cmap\pxcz@cmap@hwuni
+ \fi
\pxcz@add@lopt{hwid}}
% FWid
\pxcz@declare@entry@modifier{FWid}{%
@@ -865,15 +870,13 @@
\let\pxcz@spec\@empty
%% \pxcz@addtospec{<id>}
-\@onlypreamble\pxcz@addtospec
-\def\pxcz@addtospec#1{%
+\pxcz@onlypreamble@def\pxcz@addtospec#1{%
\begingroup
\let\Entry\pxcz@Entry
\@nameuse{pxcz@ME/#1}%
\endgroup}
%% \Entry{<sym>}{<tfm>}{<cmap>}{<modify>,...}
-\@onlypreamble\pxcz@Entry
-\def\pxcz@Entry#1#2#3#4{%
+\pxcz@onlypreamble@def\pxcz@Entry#1#2#3#4{%
\def\pxcz@sym{#1}\def\pxcz@cmap{#3}%
\let\pxcz@csi\relax \let\pxcz@mopts\@empty \let\pxcz@lopts\@empty
\pxcz@retainfalse \pxcz@retain@csifalse \pxcz@vertfalse
@@ -887,6 +890,8 @@
% resolve no-embed font spec
\ifx\pxcz@font\pxcz@noembed
\edef\pxcz@font{!\@nameuse{pxcz@NEF/\pxcz@sym}}%
+ \pxcz@retaintrue
+ \global\pxcz@noembed@usedtrue
\fi
% apply layout options when using 'unicode'
\ifnum\pxcz@directunicode<\pxcz@directunicode@full\else
@@ -927,8 +932,7 @@
\fi\fi}
%% \pxcz@do@file@preset
-\@onlypreamble\pxcz@do@file@preset
-\def\pxcz@do@file@preset{%
+\pxcz@onlypreamble@def\pxcz@do@file@preset{%
\ifpxcz@file@preset@tl
\pxcz@do@file@preset@a{ptex-}%
\ifpxcz@uptex \pxcz@do@file@preset@a{uptex-}\fi
@@ -939,8 +943,7 @@
\else
\pxcz@do@file@preset@a{}%
\fi}
-\@onlypreamble\pxcz@do@file@preset@a
-\def\pxcz@do@file@preset@a#1{%
+\pxcz@onlypreamble@def\pxcz@do@file@preset@a#1{%
\pxcz@addtospec@alt\pxcz@mapfile{#1\pxcz@file@preset.map}}
%% \pxcz@addtospec@alt
@@ -952,8 +955,7 @@
%--------------------------------------- map entry definitions
%% \pxcz@mapentry{<id>}{<text>}
-\@onlypreamble\pxcz@mapentry
-\def\pxcz@mapentry#1{%
+\pxcz@onlypreamble@def\pxcz@mapentry#1{%
\pxcz@onlypreamble@csdef{pxcz@ME/#1}}
%% map entries
@@ -1250,14 +1252,12 @@
\fi
%% \pxcz@du@decl@shape{<fam>}{<ser>}<sw>{<tfmname>}{<suffix>}
-\@onlypreamble\pxcz@du@decl@shape
-\def\pxcz@du@decl@shape#1#2#3#4#5{%
+\pxcz@onlypreamble@def\pxcz@du@decl@shape#1#2#3#4#5{%
\DeclareFontShape{JY2}{#1}{#2}{diruni}{<->%
\pxcz@du@shape@spec{#3}{#4}{#5}{h}}{}%
\DeclareFontShape{JT2}{#1}{#2}{diruni}{<->%
\pxcz@du@shape@spec{#3}{#4}{#5}{v}}{}}
-\@onlypreamble\pxcz@du@shape@spec
-\def\pxcz@du@shape@spec#1#2#3#4{%
+\pxcz@onlypreamble@def\pxcz@du@shape@spec#1#2#3#4{%
\if#1t%
s*[\pxcz@du@scale]#2\if t\pxcz@otf@mmivjis#3\fi-#4%
\else#2\fi}
@@ -1303,8 +1303,7 @@
\edef\pxcz@tmpb{{\f@encoding}{\pxcz@tmpa}{\pxcz@tmpb}}%
\expandafter\pxcz@do\pxcz@tmpb}}%
}
-\@onlypreamble\pxcz@force@load@font@fam
-\def\pxcz@force@load@font@fam#1{%
+\pxcz@onlypreamble@def\pxcz@force@load@font@fam#1{%
\begingroup
\edef\f@family{#1}\def\f@series{m}\def\f@shape{n}%
\xdef\font@name{\csname\curr@fontshape/\f@size\endcsname}%
@@ -1323,14 +1322,12 @@
\endgroup}
%% \pxcz@dg@decl@shape{<fam>}{<ser>}<sw>{<tfmname>}
-\@onlypreamble\pxcz@dg@decl@shape
-\def\pxcz@dg@decl@shape#1#2#3#4{%
+\pxcz@onlypreamble@def\pxcz@dg@decl@shape#1#2#3#4{%
\DeclareFontShape{JY2}{#1}{#2}{dirgid}{<->%
\pxcz@dg@shape@spec{#3}{#4}{h}}{}%
\DeclareFontShape{JT2}{#1}{#2}{dirgid}{<->%
\pxcz@dg@shape@spec{#3}{#4}{v}}{}}
-\@onlypreamble\pxcz@dg@shape@spec
-\def\pxcz@dg@shape@spec#1#2#3{%
+\pxcz@onlypreamble@def\pxcz@dg@shape@spec#1#2#3{%
\if#1t%
s*[\pxcz@du@scale]#2-#3%
\else#2\fi}
@@ -1373,7 +1370,8 @@
You must use upLaTeX and load pxchfon after 'otf' package.}
\fi
\def\pxcz@err@diruni{%
- \pxcz@error{Command '\string\diruni' not available}%
+ \PackageError\pxcz@pkgname
+ {Command '\string\diruni' not available}%
{\pxcz@errhelp@diruni\MessageBreak\@ehc}%
\global\let\pxcz@err@diruni\relax}
\AtBeginDocument{%
@@ -1386,22 +1384,29 @@
%--------------------------------------- 'alphabet' option
+%% check for textcomp
+\newif\ifpxcz@textcomp
+\@ifpackageloaded{textcomp}{\pxcz@textcomptrue}{}
+
%% \pxcz@afont@enc@list
\def\pxcz@afont@enc@list{OT1,T1}
+\ifpxcz@textcomp \g@addto@macro\pxcz@afont@enc@list{,TS1}\fi
%% \pxcz@decl@family{<fam>}
-\@onlypreamble\pxcz@decl@family
-\def\pxcz@decl@family#1{%
+\pxcz@onlypreamble@def\pxcz@decl@family#1{%
+ \ifpxcz@textcomp \DeclareEncodingSubset{TS1}{#1}{3}\fi
\@for\pxcz@x:=\pxcz@afont@enc@list\do{%
\DeclareFontFamily{\pxcz@x}{#1}{}}}
%% \pxcz@decl@shape{<fam>}{<ser>}<sw>{<font>}
-\@onlypreamble\pxcz@decl@shape
-\def\pxcz@decl@shape#1#2#3#4{%
+\pxcz@onlypreamble@def\pxcz@decl@shape#1#2#3#4{%
\if s#3%
\@for\pxcz@x:=\pxcz@afont@enc@list\do{%
\DeclareFontShape{\pxcz@x}{#1}{#2}{n}{<->ssub*#4}{}}%
\else
- \DeclareFontShape{OT1}{#1}{#2}{n}{<->#4-l0j}{}%
- \DeclareFontShape {T1}{#1}{#2}{n}{<->#4-l0j}{}% FIXME
+ \DeclareFontShape{OT1}{#1}{#2}{n}{<->#4-l5j}{}%
+ \DeclareFontShape {T1}{#1}{#2}{n}{<->#4-t1}{}%
+ \ifpxcz@textcomp
+ \DeclareFontShape{TS1}{#1}{#2}{n}{<->#4-ts1}{}%
+ \fi
\fi
\@for\pxcz@x:=\pxcz@afont@enc@list\do{%
\DeclareFontShape{\pxcz@x}{#1}{#2}{it}{<->ssub*#1/#2/n}{}%
@@ -1435,11 +1440,11 @@
\pxcz@decl@family{cfjas}%
\pxcz@decl@shape{cfjas}{m}n{cfjas-r}%
\pxcz@decl@shape{cfjas}{bx}s{cfjas/m/n}%
-\@onlypreamble\pxcz@err@dxotf
-\def\pxcz@err@dxotf#1{%
- \pxcz@error{Loaded before '#1' with 'deluxe'}%
- {This package must be loaded after '#1' with 'deluxe' option
- when using both.}}
+\pxcz@onlypreamble@def\pxcz@err@dxotf#1{%
+ \PackageError\pxcz@pkgname
+ {Loaded before '#1' with 'deluxe'}%
+ {This package must be loaded after '#1' with 'deluxe' option
+ when using both.}}
\g@addto@macro\pxcz@check@extra{%
\expandafter\let\expandafter\pxcz@x\csname pxcz@FS/mnr\endcsname
\ifx\pxcz@x\@empty\else
@@ -1463,55 +1468,45 @@
\def\pxcz@mgfamily@hook{\romanfamily{cfjam}}
%% \pxcz@set@page@hook{<text>}
-\@onlypreamble\pxcz@set@page@hook
\ifpxcz@everypage
-\def\pxcz@set@page@hook#1{%
+\pxcz@onlypreamble@def\pxcz@set@page@hook#1{%
\AtBeginShipout{\setbox\AtBeginShipoutBox=\vbox{%
\baselineskip\z@skip\lineskip\z@skip\lineskiplimit\z@
#1\copy\AtBeginShipoutBox}}}
\else
-\def\pxcz@set@page@hook#1{%
+\pxcz@onlypreamble@def\pxcz@set@page@hook#1{%
% this is \AtBeginDvi with forcing of yoko-dir added
\global\setbox\@begindvibox\vbox{\yoko\unvbox\@begindvibox#1}}
\fi
%% \pxcz@check@alldefined{<sym>,...}
-\@onlypreamble\pxcz@check@alldefined
-\def\pxcz@check@alldefined#1{%
+\pxcz@onlypreamble@def\pxcz@check@alldefined#1{%
\pxcz@oktrue
\@for\pxcz@x:={#1}\do{%
\expandafter\ifx\csname pxcz@FS/\pxcz@x\endcsname\@empty
\pxcz@okfalse \fi}}
%% \pxcz@decl@relfont{<fam>}{<afam>}{<ser>,...}
-\@onlypreamble\pxcz@decl@relfont
-\def\pxcz@decl@relfont#1#2#3{%
+\pxcz@onlypreamble@def\pxcz@decl@relfont#1#2#3{%
\@for\pxcz@x:={#3}\do{%
\expandafter\ifx\csname\k@encoding/#1/\pxcz@x/n\endcsname\relax\else
\edef\pxcz@tmpa{\noexpand\DeclareRelationFont
{\k@encoding}{#1}{\pxcz@x}{}{\pxcz@afont@enc}{#2}{\pxcz@x}{}%
}\pxcz@tmpa
\fi}%
- \pxcz@info{Relation font set for \k@encoding/#1}}
+ \PackageInfo\pxcz@pkgname
+ {Relation font set for \k@encoding/#1}}
%% \pxcz@check@afont@enc
-\@onlypreamble\pxcz@check@afont@enc
-\def\pxcz@check@afont@enc{%
+\pxcz@onlypreamble@def\pxcz@check@afont@enc{%
\pxcz@oktrue % OT1 is always okay
- \def\pxcz@tmpa{OT1}\ifx\pxcz@tmpa\pxcz@afont@enc\else
- % otherwise, noembed must not be used
- \@for\pxcz@x:=\pxcz@sym@list\do{%
- \expandafter\ifx\csname pxcz@FS/\pxcz@x\endcsname\pxcz@noembed
- \pxcz@okfalse \fi}%
- \expandafter\ifx\csname\pxcz@afont@enc+cfjar\endcsname\relax
- \pxcz@okfalse \fi
- \fi
+ \expandafter\ifx\csname\pxcz@afont@enc+cfjar\endcsname\relax
+ \pxcz@okfalse \fi
% if not okay, use OT1 instead
\ifpxcz@ok\else \def\pxcz@afont@enc{OT1}\fi}
%% the begin-document hook
-\@onlypreamble\pxcz@doc@hook
-\def\pxcz@doc@hook{%
+\pxcz@onlypreamble@def\pxcz@doc@hook{%
\pxcz@user@hook
\ifx\pxcz@file@preset\relax\else
\pxcz@do@file@preset
@@ -1536,7 +1531,8 @@
% decide alphabet font encoding
\edef\pxcz@afont@enc{\encodingdefault}%
\pxcz@check@afont@enc\ifpxcz@ok\else
- \pxcz@warn{Default encoding is changed to 'OT1' because%
+ \PackageWarningNoLine\pxcz@pkgname
+ {Default encoding is changed to 'OT1' because%
\MessageBreak'alphabet' option is in effect}%
\renewcommand\encodingdefault{OT1}%
\fi
@@ -1593,10 +1589,17 @@
\ifpxcz@ok\else
\PackageWarningNoLine\pxcz@pkgname
{Some font weights are not substituted.\MessageBreak
- Thus some features of pxchfon might not work\MessageBreak
+ So some features of pxchfon might not work\MessageBreak
properly when applied to such weights}%
\fi
\fi
+ % warn if some weights are not embedded, and if necessaty
+ \ifpxcz@warn@unless@all@embedded \ifpxcz@noembed@used
+ \PackageWarningNoLine\pxcz@pkgname
+ {Some font weights have no-embed setting.\MessageBreak
+ So some features of pxchfon might not work\MessageBreak
+ properly when applied to such weights}%
+ \fi\fi
%
\pxcz@check@extra
\pxcz@addtospec{USR}%
@@ -1636,8 +1639,7 @@
%% \pxcz@insf@read@word{<offset>}
% Reads a 32-bit integer from \pxcz@insf@file at the given offset,
% and sets the value (or -1 on error) to \pxcz@cntr.
-\@onlypreamble\pxcz@insf@read@word
-\def\pxcz@insf@read@word#1{%
+\pxcz@onlypreamble@def\pxcz@insf@read@word#1{%
\pxcz@cntr=#1\relax
\edef\pxcz@tmpa{\pdffiledump offset\pxcz@cntr length1{\pxcz@insf@file}}%
\ifnum"0\pxcz@tmpa<"80
@@ -1652,8 +1654,7 @@
%% \pxcz@inspect@flavor{<path>}{<index>}
% Sets the result to \pxcz@cntr.
% 1=CFF, 0=TTF, <0 if error.
-\@onlypreamble\pxcz@inspect@flavor
-\def\pxcz@inspect@flavor#1#2{%
+\pxcz@onlypreamble@def\pxcz@inspect@flavor#1#2{%
\edef\pxcz@insf@file{#1}%
\mathchardef\pxcz@insf@idx=#2\relax
\pxcz@insf@read@word{0}% outer tag
@@ -1684,14 +1685,12 @@
%% \pxcz@kpse@dir@cache
% to spped up \pxcz@kpsewhich
-\@onlypreamble\pxcz@kpse@dir@cache
-\let\pxcz@kpse@dir@cache\@empty
+\pxcz@onlypreamable@let\pxcz@kpse@dir@cache\@empty
%% \pxcz@kpsewhich{<filename>}
% Sets to \pxcz@kpse@dir the directory where the file is found
% (or \relax if not found).
-\@onlypreamble\pxcz@kpsewhich
-\def\pxcz@kpsewhich#1{%
+\pxcz@onlypreamble@def\pxcz@kpsewhich#1{%
\edef\pxcz@tmpa{#1}\let\pxcz@kpse@dir\relax
\let\do\pxcz@kpsewhich@do \pxcz@kpse@dir@cache\relax
\ifx\pxcz@kpse@dir\relax
@@ -1708,15 +1707,13 @@
\fi
\endlinechar\pxcz@tmpz
\fi}
-\@onlypreamble\pxcz@kpsewhich@a
-\def\pxcz@kpsewhich@a#1/#2\pxcz@end{%
+\pxcz@onlypreamble@def\pxcz@kpsewhich@a#1/#2\pxcz@end{%
\ifx\pxcz@end#2\pxcz@end \expandafter\@gobble
\else \expandafter\@firstofone
\fi{%
\edef\pxcz@kpse@dir{\pxcz@kpse@dir#1/}%
\pxcz@kpsewhich@a#2\pxcz@end}}
-\@onlypreamble\pxcz@kpsewhich@do
-\def\pxcz@kpsewhich@do#1{%
+\pxcz@onlypreamble@def\pxcz@kpsewhich@do#1{%
\ifnum0\pdffilesize{#1\pxcz@tmpa}>\z@
\def\pxcz@kpse@dir{#1}%
\expandafter\pxcz@kpsewhich@do@a
@@ -1725,25 +1722,21 @@
%% \pxcz@inspect@flavor@all
% Sets \[pxcz@OT/<sym>].
-\@onlypreamble\pxcz@inspect@flavor@all
-\def\pxcz@inspect@flavor@all{%
+\pxcz@onlypreamble@def\pxcz@inspect@flavor@all{%
\@for\pxcz@tmpa:=\pxcz@sym@list\do{%
\edef\pxcz@tmpa{{\pxcz@tmpa}{\@nameuse{pxcz@FS/\pxcz@tmpa}}}%
\expandafter\pxcz@inspect@flavor@all@a\pxcz@tmpa}}
-\@onlypreamble\pxcz@inspect@flavor@all@a
-\def\pxcz@inspect@flavor@all@a#1#2{%
+\pxcz@onlypreamble@def\pxcz@inspect@flavor@all@a#1#2{%
\def\pxcz@tmpa{#2}%
\ifx\pxcz@tmpa\@empty
\else\ifx\pxcz@tmpa\pxcz@noembed
\@namedef{pxcz@OT/#1}{t}%
\else \pxcz@inspect@flavor@all@b#2\pxcz@end{#1}%
\fi\fi}
-\@onlypreamble\pxcz@inspect@flavor@all@b
-\def\pxcz@inspect@flavor@all@b#1#2\pxcz@end{%
+\pxcz@onlypreamble@def\pxcz@inspect@flavor@all@b#1#2\pxcz@end{%
\edef\pxcz@tmpa{\ifx:#1\else:0:\fi#1#2}%
\expandafter\pxcz@inspect@flavor@all@c\pxcz@tmpa\pxcz@end}
-\@onlypreamble\pxcz@inspect@flavor@all@c
-\def\pxcz@inspect@flavor@all@c:#1:#2\pxcz@end#3{%
+\pxcz@onlypreamble@def\pxcz@inspect@flavor@all@c:#1:#2\pxcz@end#3{%
\pxcz@kpsewhich{#2}%
\unless\ifx\pxcz@kpse@dir\relax
\pxcz@inspect@flavor{\pxcz@kpse@dir#2}{#1}%
@@ -1769,11 +1762,9 @@
\edef\pxcz@dump@text{\pxcz@dump@text#1}}
%% \pxcz@dump@special{<string>}
-\@onlypreamble\pxcz@dump@special
-\def\pxcz@dump@special#1{%
+\pxcz@onlypreamble@def\pxcz@dump@special#1{%
\pxcz@dump@special@a#1\bxcz@end}
-\@onlypreamble\pxcz@dump@special@a
-\def\pxcz@dump@special@a#1 #2\bxcz@end{%
+\pxcz@onlypreamble@def\pxcz@dump@special@a#1 #2\bxcz@end{%
\@nameuse{pxcz@dump@special@#1}\@gobble{#2}}
\@namedef{pxcz@dump@special@pdf:mapline}#1#2{%
\pxcz@add@to@dump@text{\pxcz@rmin#2^^J}}
@@ -1783,8 +1774,7 @@
\ifx-#1\@percentchar\else#1\fi}
%% \pxcz@dump@spec@to{<file-name>}
-\@onlypreamble\pxcz@dump@spec@to
-\def\pxcz@dump@spec@to#1{%
+\pxcz@onlypreamble@def\pxcz@dump@spec@to#1{%
\def\pxcz@dump@text{\@percentchar\space#1^^J}%
\let\special\pxcz@dump@special
\pxcz@spec \let\special\relax
@@ -1794,15 +1784,13 @@
\immediate\closeout\pxcz@fout}
%% \pxcz@do@dumpmap
-\@onlypreamble\pxcz@do@dumpmap
-\def\pxcz@do@dumpmap{%
+\pxcz@onlypreamble@def\pxcz@do@dumpmap{%
\begingroup
\pxcz@dump@spec@to{\jobname.map}%
\endgroup}
%% \pxcz@do@dumpmap@tl
-\@onlypreamble\pxcz@do@dumpmap@tl
-\def\pxcz@do@dumpmap@tl{%
+\pxcz@onlypreamble@def\pxcz@do@dumpmap@tl{%
\begingroup
\let\pxcz@spec@save\pxcz@spec
\pxcz@do@dumpmap@tl@a{STD}{ptex-\jobname}%
@@ -1811,8 +1799,7 @@
\pxcz@do@dumpmap@tl@a{UPOTF}{otf-up-\jobname}%
\global\let\pxcz@spec\pxcz@spec@save
\endgroup}
-\@onlypreamble\pxcz@do@dumpmap@tl@a
-\def\pxcz@do@dumpmap@tl@a#1#2{%
+\pxcz@onlypreamble@def\pxcz@do@dumpmap@tl@a#1#2{%
\global\let\pxcz@spec\@empty
\pxcz@addtospec{#1}%
\pxcz@dump@spec@to{#2.map}}
@@ -1821,16 +1808,13 @@
%--------------------------------------- preset japanese font mappings
%% \pxcz@declare@preset{<name>}{<text>}
-\@onlypreamble\pxcz@declare@preset
-\def\pxcz@declare@preset#1{%
+\pxcz@onlypreamble@def\pxcz@declare@preset#1{%
\pxcz@onlypreamble@csdef{pxcz@the@preset@#1}}
%% \pxcz@declare@preset@alias{<name1>}{<name2>}
-\@onlypreamble\pxcz@declare@preset@alias
-\def\pxcz@declare@preset@alias#1#2{%
- \expandafter\pxcz@decl@preset@alias@a\csname pxcz@the@preset@#1%
+\pxcz@onlypreamble@def\pxcz@declare@preset@alias#1#2{%
+ \expandafter\pxcz@onlypreamble@let\csname pxcz@the@preset@#1%
\expandafter\endcsname\csname pxcz@the@preset@#2\endcsname}
-\def\pxcz@decl@preset@alias@a#1#2{\@onlypreamble#1\let#1#2}
%% \pxcz@abolished@preset
\pxcz@onlypreamble@def\pxcz@abolished@preset{%
@@ -1841,14 +1825,12 @@
\pxcz@onlypreamble@csdef{pxcz@the@preset@\pxcz@x}{\pxcz@abolished@preset}}
%% \pxcz@uniweight{<font-mn>}{<font-gt>}
-\@onlypreamble\pxcz@uniweight
-\def\pxcz@uniweight#1#2{%
+\pxcz@onlypreamble@def\pxcz@uniweight#1#2{%
\setminchofont{#1}\setgothicfont{#2}\setmarugothicfont{#2}}
%% \pxcz@multiweight{<font-mnl>}{<font-mnr>}{<font-mnb>}
%% {<font-gtr>}{<font-gtb>}{<font-gtx>}{<font-gtu>}{<font-mgr>}
-\@onlypreamble\pxcz@multiweight
-\def\pxcz@multiweight#1#2#3#4#5#6#7#8{%
+\pxcz@onlypreamble@def\pxcz@multiweight#1#2#3#4#5#6#7#8{%
\setminchofont{#2}\setgothicfont{#7}\setmarugothicfont{#8}%
\ifpxcz@oneweight\else
\setlightminchofont{#1}\setboldminchofont{#3}%