diff options
author | Karl Berry <karl@freefriends.org> | 2019-11-21 21:48:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-11-21 21:48:42 +0000 |
commit | ddd7395c62b83247b6eace886e25171e4535b5a9 (patch) | |
tree | b96aa6a4bf0d231b0237e65bc9098f1f8535a0db | |
parent | 396174ed6ea505d76b57ac8aba822b30ad934685 (diff) |
pxchfon (21nov19)
git-svn-id: svn://tug.org/texlive/trunk@52878 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/platex/pxchfon/README-ja.md | 10 | ||||
-rw-r--r-- | Master/texmf-dist/doc/platex/pxchfon/README.md | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdf | bin | 298853 -> 304028 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex | 176 | ||||
-rw-r--r-- | Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty | 53 |
5 files changed, 171 insertions, 72 deletions
diff --git a/Master/texmf-dist/doc/platex/pxchfon/README-ja.md b/Master/texmf-dist/doc/platex/pxchfon/README-ja.md index 338970f5b49..62355a736c6 100644 --- a/Master/texmf-dist/doc/platex/pxchfon/README-ja.md +++ b/Master/texmf-dist/doc/platex/pxchfon/README-ja.md @@ -54,16 +54,20 @@ MITライセンスの下で配布される。 更新履歴 -------- + * Version 1.7 ‹2019/11/19› + - ユーザレベルの追加プリセットに対応。 + * Version 1.6a ‹2019/11/18› + - `\(text)diruni` を PDF 文字列で通るようにする。 + - (試験的) PXchfon-extras の追加プリセットに対応。 + - (試験的) ユーザレベルの追加プリセットに対応。 * Version 1.6 ‹2019/10/07› - - プリセット `haranoaji` を追加。 + - プリセット `haranoaji` を追加。 * Version 1.5a ‹2019/07/10› - バグ修正。 * 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 1327701937c..879af03f82d 100644 --- a/Master/texmf-dist/doc/platex/pxchfon/README.md +++ b/Master/texmf-dist/doc/platex/pxchfon/README.md @@ -39,6 +39,10 @@ This package is distributed under the MIT License. Revision History ---------------- + * Version 1.7 ‹2019/11/19› + - Support for user-defined custom presets. + * Version 1.6a ‹2019/11/18› + - Now `\(text)diruni` can be used in PDF strings. * Version 1.6 ‹2019/10/07› - Preset `haranoaji`. * Version 1.5a ‹2019/07/10› diff --git a/Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdf b/Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdf Binary files differindex 96b7b5041bf..2dd813fcb8c 100644 --- a/Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdf +++ b/Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdf diff --git a/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex b/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex index 1493bc92fcf..6fd35d09d3d 100644 --- a/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex +++ b/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex @@ -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 @@ OpenTypeフォントをユーザが指定する機能を提供する。 一度パッケージをインストールするだけで、 任意の日本語フォント(ただし等幅に限る)を使うことができる。 欧文部分を同じ日本語フォントで置き換えることも可能である。 -\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,14 +81,21 @@ OpenTypeフォントをユーザが指定する機能を提供する。 ただし、本パッケージの主要機能である 「フォントマップの文書内での指定」 がサポートされるのはdvipdfmxのみである。 + \footnote{現状では、|dvipdfmx| 以外のドライバ指定は + 全て |nodvidriver| と等価である。}% 他のDVIウェアにおける動作については \ref{sec:Other-Drivers}節を参照。 ドライバオプションの既定値は |dvipdfmx| である。 \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 @@ OpenTypeフォントをユーザが指定する機能を提供する。 \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 @@ OpenTypeフォントをユーザが指定する機能を提供する。 \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 @@ OpenTypeフォントをユーザが指定する機能を提供する。 %\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 @@ OpenTypeフォントをユーザが指定する機能を提供する。 \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 @@ OpenTypeフォントをユーザが指定する機能を提供する。 かかるため、既定では厳密な判定は行わない。 \item |nostrictcsi|(既定)\Means |strictcsi| の否定。 - |Identity-H/V| に対するCSI指定は常に出力される。 + |Identity-H|/|-V| に対するCSI指定は常に出力される。 \Note さすがにファイルに出力されたマップ行に不備があるのは 避けたいので、|dumpmap(tl)| が指定された場合は、 既定が |strictcsi| に変更される。 @@ -935,12 +941,18 @@ OpenTypeフォントをユーザが指定する機能を提供する。 ファイルプリセットの指定と見なされる。 \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 @@ kanji-config-updmapというユーティリティで行うことができる。 対応したファイルをupdmapの機構を用いて有効化することで、 dvipdfmxの既定の設定を切り替えている。 -パッケージオプションとして |+| で始まる文字列 -(仮に |+NAME| とする)を与えると、 +パッケージオプションとして |tl:| で始まる文字列 +(仮に |tl:NAME| とする)を与えると、 kanji-config-updmap用のマップファイルの読込が指示される。 具体的には、以下の名前のマップファイルが読み込まれる。 @@ -961,7 +973,7 @@ kanji-config-updmap用のマップファイルの読込が指示される。 \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 @@ kanji-config-updmap用のマップファイルの読込が指示される。 例えば、{\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 @@ kanji-config-updmap用のマップファイルの読込が指示される。 \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 @@ Unicode直接指定の有効・無効を切り替えられる。 \begin{itemize} \item プリセット指定または |\set...font| 命令で フォントを置換していないウェイトについては、 - |unicode| 指定時であってもUnicode直接指定は効かない。 - 従って、そのようなウェイトはUnicode直接指定が想定する出力には + Unicode直接指定は無効になる。 + 従って、そのようなウェイトは想定する出力には ならず、またUnicode直接指定を必要とする機能 (|expert| や |glyphid| の各オプション) も使えない。 @@ -1113,7 +1175,7 @@ Unicode直接指定の有効・無効を切り替えられる。 従って、|expert| を指定する場合は、全ファミリ・ウェイトについて 置換を指定することを推奨する (これに反する場合は警告が出る)。 -\item 非埋込を指定したウェイトについてはUnicode直接指定が +\item 非埋込を指定したウェイトについてはUnicode直接指定は 無効になる。 この動作も非常に解りにくいため、 Unicode直接指定を用いる場合は、非埋込の指定をしないことを推奨する @@ -1127,11 +1189,11 @@ Unicode直接指定の有効・無効を切り替えられる。 dvipdfmxには元のDVI文書の一部のページだけを抜粋してPDF文書に変換する 機能がある(|-s| オプション)。 -ところが、本パッケージでは、ユーザ命令で指定されたフォントマップ情報を、 +ところが、本パッケージではユーザが指定したフォントマップ情報を DVIの先頭ページに書き出すという処理方法をとっている (すなわち「ページ独立性」を保っていない)ため、 先頭ページを含まない抜粋を行った場合は、 -フォント置換が効かないという現象が発生する。 +フォント置換が効かないという不具合が発生する。 この問題を解決するのが |everypage| パッケージオプションである。 このオプションが指定された場合は、 @@ -1145,11 +1207,9 @@ DVI文書の全てのページにフォントマップ情報を書き出すの \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 @@ CFJAファミリを既定の欧文ファミリとして設定する \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 @@ OT1、T1、TS1の3つである \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 @@ OT1、T1、TS1の3つである (例えば 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 @@ dvipdfmx以外のDVIウェアに読ませた場合、 \subsection{欧文フォントも置き換えた場合(\texttt{alphabet} 指定時)} 欧文フォントを置き換えたDVIファイルは、 -独自の欧文フォント(|r-cfja?-?-l0j| という形式の名前) +独自の欧文フォント(|r-cfja*| という形式の名前) を含んでいるので、 少なくともそれに関する設定をしない限りはdvipdfmx以外の DVIウェアで処理することができない。 @@ -1292,6 +1351,7 @@ r-cfjar-b-@PXcjk0@ msmincho.ttc FontIndex=0 r-cfjas-r-@PXcjk0@ msgothic.ttc FontIndex=0 r-cfjas-b-@PXcjk0@ msgothic.ttc FontIndex=0 r-cfjas-x-@PXcjk0@ msgothic.ttc FontIndex=0 +r-cfjam-r-@PXcjk0@ msgothic.ttc FontIndex=0 \end{verbatim}\end{quote} %=========================================================== diff --git a/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty b/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty index 0ac4b38ebbd..c501395cb6e 100644 --- a/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty +++ b/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty @@ -10,7 +10,7 @@ %% package declaration \NeedsTeXFormat{pLaTeX2e} -\ProvidesPackage{pxchfon}[2019/10/07 v1.6] +\ProvidesPackage{pxchfon}[2019/11/19 v1.7] \def\pxcz@pkgname{pxchfon} %--------------------------------------- general @@ -86,6 +86,10 @@ \edef\pxcz@tmpa{\string\ucs}\edef\pxcz@tmpb{\meaning\ucs} \ifx\pxcz@tmpa\pxcz@tmpb \pxcz@uptextrue \fi +%% \pxcz@JYn +\edef\pxcz@JYn{% + \ifpxcz@uptex JY2\else JY1\fi} + %% \ifpxcz@otf@deluxe \newif\ifpxcz@otf@deluxe \pxcz@otf@deluxefalse \@ifpackagewith{otf}{deluxe}{\pxcz@otf@deluxetrue}{} @@ -124,38 +128,47 @@ \let\pxcz@uniweight\relax \let\pxcz@multiweight\relax -%% \pxcz@declare@oneweight@preset{<name>}{<m>}{<g>} +%% \pxcz@check@avail@custom@presets +\pxcz@onlypreamble@let\pxcz@check@avail@custom@presets\relax +\AtEndOfPackage{% + \def\pxcz@check@avail@custom@presets#1#2#3{% + \PackageError\pxcz@pkgname + {Custom presets cannot be registered after\MessageBreak + loading pxchfon package}% + {\@eha}}} + +%% \pxcz@declare@oneweight@preset{<name>}{<f-mc>}{<f-gt>} \pxcz@onlypreamble@def\pxcz@declare@oneweight@preset#1#2#3{% + \pxcz@check@avail@custom@presets \xdef\pxcz@custom@presets{\pxcz@custom@presets \pxcz@custom{#1}{\pxcz@uniweight{#2}{#3}}}} -%% \pxcz@declare@multiweight@preset{<name>}{<1>}...{<8>} +%% \pxcz@declare@multiweight@preset{<name>}{<f-1>}...{<f-8>} \pxcz@onlypreamble@def\pxcz@declare@multiweight@preset#1#2#3#4#5#6#7#8#9{% + \pxcz@check@avail@custom@presets \xdef\pxcz@custom@presets{\pxcz@custom@presets \pxcz@custom{#1}{\pxcz@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@declare@oneweight@preset{user:#1}} -%%<+> \pxchfonDeclareMultiWeightPreset{<name>}{<1>}...{<8>} +%%<+> \pxchfonDeclareMultiWeightPreset{<name>}{<f-1>}...{<f-8>} \@onlypreamble\pxchfonDeclareMultiWeightPreset \newcommand*\pxchfonDeclareMultiWeightPreset[1]{% \pxcz@declare@multiweight@preset{user:#1}} %% Load custom preset definitions -\IfFileExists{pxchfon-extras.def}{% +\IfFileExists{pxchfon-extras.def}{% PXchfon-extras \PackageInfo\pxcz@pkgname {Extra preset settings are loaded\@gobble}% \input{pxchfon-extras.def}% }{} -\IfFileExists{pxchfon.cfg}{% +\IfFileExists{pxchfon.cfg}{% of user \PackageInfo\pxcz@pkgname {Custom preset settings are loaded\@gobble}% \begingroup \makeatother\input{pxchfon.cfg}% \endgroup }{} -\let\pxcz@declare@oneweight@preset\@undefined -\let\pxcz@declare@multiweight@preset\@undefined %--------------------------------------- handle options @@ -1256,7 +1269,10 @@ %%<*> \diruni \DeclareRobustCommand*{\diruni}{% \not@math@alphabet\diruni\relax - \fontshape{diruni}\selectfont + \ifx\cy@encoding\pxcz@JYn % if in standard Japanese encoding + \expandafter\let\csname UTF \endcsname\pxcz@du@UTF + \fontshape{diruni}\selectfont + \fi } %%<*> \textdiruni{<text>} @@ -1264,6 +1280,17 @@ \relax\ifmmode\hbox\fi{\diruni#1}% } +%% \pxcz@du@UTF +\def\pxcz@du@UTF#1{% + \kchar"#1\relax} + +%% redefinition in PDF-strings +\providecommand*\pdfstringdefPreHook{} +\g@addto@macro\pdfstringdefPreHook{% + \let\diruni\@empty + \let\textdiruni\@firstofone +} + \ifpxcz@diruni@ok %---- <*diruni-ok> %% \pxcz@otf@weight: otf weight mode @@ -1365,6 +1392,10 @@ \kanjishape{dirgid}\selectfont \kchar#1\relax \endgroup} +\def\pxcz@hy@gid#1{?} +\g@addto@macro\pdfstringdefPreHook{% + \let\gid\pxcz@hy@gid +} %% \pxcz@dg@decl@shape{<fam>}{<ser>}<sw>{<tfmname>} \pxcz@onlypreamble@def\pxcz@dg@decl@shape#1#2#3#4{% @@ -2006,7 +2037,7 @@ % Noto Sans/Serif CJK, "OpenType/CFF Collection (OTC)" \pxcz@declare@preset{noto-otc}{% \pxcz@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}} |