diff options
author | Karl Berry <karl@freefriends.org> | 2021-06-03 20:48:22 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-06-03 20:48:22 +0000 |
commit | 656bb39c957245f9743e925edf8b870d740407e9 (patch) | |
tree | 7d72d274186e49478cff809d98471dd01847cfe9 | |
parent | 680c67c29c02b3f269bf56b31d0da43be3378ae9 (diff) |
pxchfon (3jun21)
git-svn-id: svn://tug.org/texlive/trunk@59449 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/platex/pxchfon/LICENSE | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/platex/pxchfon/README-ja.md | 5 | ||||
-rw-r--r-- | Master/texmf-dist/doc/platex/pxchfon/README.md | 5 | ||||
-rw-r--r-- | Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdf | bin | 250723 -> 259368 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex | 200 | ||||
-rw-r--r-- | Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty | 311 |
6 files changed, 421 insertions, 102 deletions
diff --git a/Master/texmf-dist/doc/platex/pxchfon/LICENSE b/Master/texmf-dist/doc/platex/pxchfon/LICENSE index 0c208cdd77f..b8fb4381056 100644 --- a/Master/texmf-dist/doc/platex/pxchfon/LICENSE +++ b/Master/texmf-dist/doc/platex/pxchfon/LICENSE @@ -1,6 +1,6 @@ The MIT License -Copyright (c) 2009-2020 Takayuki YATO (aka. "ZR") +Copyright (c) 2009-2021 Takayuki YATO (aka. "ZR") Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Master/texmf-dist/doc/platex/pxchfon/README-ja.md b/Master/texmf-dist/doc/platex/pxchfon/README-ja.md index a883917929f..ca6cfefbdcb 100644 --- a/Master/texmf-dist/doc/platex/pxchfon/README-ja.md +++ b/Master/texmf-dist/doc/platex/pxchfon/README-ja.md @@ -54,6 +54,11 @@ MITライセンスの下で配布される。 更新履歴 -------- + * Version 1.9 ‹2021/05/30› + - 中国語・韓国語の多ウェイト設定に対応。 + - マップファイル読込用の `use` オプションを新設。 + * Version 1.8 ‹2021/02/22› + - (試験的) `sourcehan!` 等のプリセットを追加。 * Version 1.7e ‹2020/10/04› - バグ修正。 * Version 1.7d ‹2020/09/26› diff --git a/Master/texmf-dist/doc/platex/pxchfon/README.md b/Master/texmf-dist/doc/platex/pxchfon/README.md index 5b42e914308..6e9c5b4d802 100644 --- a/Master/texmf-dist/doc/platex/pxchfon/README.md +++ b/Master/texmf-dist/doc/platex/pxchfon/README.md @@ -39,6 +39,11 @@ This package is distributed under the MIT License. Revision History ---------------- + * Version 1.9 ‹2021/05/30› + - Support multi-weight settings for Chinese/Korean fonts. + - Add `use` option. + * Version 1.8 ‹2021/02/22› + - (experimental) Add presets `sourcehan!` etc. * Version 1.7e ‹2020/10/04› - Bug fix. * Version 1.7d ‹2020/09/26› diff --git a/Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdf b/Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdf Binary files differindex 9628be68133..8950e219deb 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 e1eadf9f17e..eef9576bb6b 100644 --- a/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex +++ b/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex @@ -1,6 +1,7 @@ % 文字コードは UTF-8 % uplatex で組版する \documentclass[uplatex,dvipdfmx,a4paper]{jsarticle} +\renewcommand{\headfont}{\gtfamily\romanseries{sbc}\sffamily} \usepackage[T1]{fontenc} \usepackage{lmodern,textcomp} \usepackage{color} @@ -8,13 +9,15 @@ \definecolor{mygreen}{rgb}{0,0.45,0} \usepackage[colorlinks,hyperfootnotes=false]{hyperref} \usepackage{pxjahyper} -\hypersetup{linkcolor=myblue,urlcolor=mygreen} +\hypersetup{linkcolor=myblue,urlcolor=mygreen, + pdftitle={pxchfonパッケージ}, + pdfauthor={八登崇之}} \usepackage{bxtexlogo} \bxtexlogoimport{*} \usepackage{shortvrb} \MakeShortVerb{\|} -\newcommand{\PkgVersion}{1.7e} -\newcommand{\PkgDate}{2020/10/04} +\newcommand{\PkgVersion}{1.9} +\newcommand{\PkgDate}{2021/05/30} \newcommand{\Pkg}[1]{\textsf{#1}} \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$} \newcommand{\Note}{\par\noindent ※} @@ -76,7 +79,7 @@ OpenTypeフォントをユーザが指定する機能を提供する。 \begin{itemize} \item \Strong{ドライバオプション}\Means |dvipdfmx|、|dvips|、|dviout|、|xdvi| および |nodvidriver|% - \footnote{ドライバ依存動作を明示的に無効化するための指定。} + (ドライバ依存動作の無効化を明示的に指示) が指定できる。 ただし、本パッケージの主要機能である 「フォントマップの文書内での指定」 @@ -86,7 +89,7 @@ OpenTypeフォントをユーザが指定する機能を提供する。 他のDVIウェアにおける動作については \ref{sec:Other-Drivers}節を参照。 ドライバオプションの既定値は |dvipdfmx| である。 -\item \Strong{プリセット指定オプション}(|ipaex|、|hiragino-pron| 等) +\item \Strong{プリセット指定オプション}(|ms|、|haranoaji| 等) 名前に対応するプリセット指定を有効にする。 \Note 詳細については\ref{sec:Preset}節を参照。 \item \Strong{カスタムプリセット指定オプション}% @@ -94,10 +97,15 @@ OpenTypeフォントをユーザが指定する機能を提供する。 ユーザ定義のプリセット指定を有効にする。 \Note 詳細については\ref{sec:CustomPreset}節を参照。 \item \Strong{ファイルプリセット指定オプション}% - (|tl:|\Zk\textgt{名前} または |file:|\Zk\textgt{名前}% + (|tl:|\Meta{名前} または |file:|\Meta{名前}% \footnote{旧形式は |+|\Zk\textgt{名前} および |*|\Zk\textgt{名前}}) 名前に対応するファイルプリセット指定を有効にする。 \Note 詳細については\ref{sec:FilePreset}節を参照。 +\item |use=|\Meta{名前}\Means + マップファイル読込指定。 + 「本パッケージによるマップ設定に先行して + 指定のマップファイルを読み込む」ことを指示する。 + \Note 詳細については\ref{sec:MapFileLoad}節を参照。 \item |alphabet|\Means 欧文フォントも指定されたフォントの英数字部分で置き換える。 (明朝が |\rmfamily|、ゴシックが |\sffamily| に適用される。) @@ -125,27 +133,26 @@ OpenTypeフォントをユーザが指定する機能を提供する。 \item |nootf|\Means |otf| の否定。 \Pkg{japanese-otf}パッケージのフォントは置き換えない。 - \Note この場合、\Pkg{japanese-otf}パッケージで |noreplace| を + \Note これを指定してかつ\Pkg{japanese-otf}パッケージを + 用いる場合は、\Pkg{japanese-otf}で |noreplace| を 指定しない限り、標準の和文フォントは変化しない。 -\item |prefer2004jis|\Means +\item |jis2004|/|prefer2004jis|\Means {\pTeX}/{\upTeX}の標準和文フォントのCMapを「2004JIS字形」指定の ものに変更する。 \footnote{\Pkg{japanese-otf}パッケージの和文フォントについては、 \Pkg{japanese-otf}パッケージの |jis2004| オプションで2004JIS字形 指定を行う仕様になっている。 - そのため、本パッケージの |prefer2004jis| の対象にはならない。 + そのため、本パッケージの |jis2004| の対象にはならない。 ところが0.7h版以前の本パッケージでは、 {\upTeX}上の\Pkg{japanese-otf}の和文フォントにも |prefer2004jis| を 適用していた。 これは、昔の\Pkg{japanese-otf}が{\upTeX}上では |jis2004| オプションに 未対応であったためであり、非公式の暫定仕様であった。 現在では、この暫定仕様は廃止されている。} -\item |noprefer2004jis|(既定)\Means + \Note グローバルオプションに |jis2004| を指定すると、 + \Pkg{japanese-otf}と\Pkg{pxchfon}の両方に適用される。 +\item |nojis2004|/|noprefer2004jis|(既定)\Means |prefer2004jis| の否定。 -\item |(no)jis2004|\Means - |(no)prefer2004jis| の別名。 - \Note グローバルオプションに |jis2004| を指定して\Pkg{japanese-otf}と - \Pkg{pxchfon}の両方に適用することを意図している。 \item |oneweight|\Means \Pkg{japanese-otf}パッケージを単ウェイトで使用する場合に、 プリセット設定で使われるフォントの集合を{\pTeX}標準と同一にする。 @@ -252,6 +259,7 @@ OpenTypeフォントをユーザが指定する機能を提供する。 {\TeX} Live用ダンプ出力は「実際に適用されるか」は無関係で kanji-config-updmapの規則に従うため、 \Pkg{japanese-otf}パッケージ用のマップが |otf-*.map| に書き出される。 + \Note |dumpmap| と |dumpmaptl| は排他ではない。 \item |nodumpmaptl|(既定)\Means |dumpmaptl| の否定。 \item |strictcsi|\Means @@ -413,7 +421,7 @@ OpenTypeフォントをユーザが指定する機能を提供する。 CMap名接頭辞の既定値は「|2004-|」で、これは最近の{\TeX} Liveに 含まれている「|2004-H|」等のCMapファイルを用いることを意味する。% \footnote{% - 引数に \texttt{*} を与えた場合は \texttt{JISX0213-2004-H} が + 引数に \texttt{*} を与えた場合は \texttt{JISX0213-2004-} が 指定されたと見なされる(歴史的理由から)。} \item |\usefontmapfile{|\Meta{マップファイル名}|}|\Means 指定のdvipdfmx用のマップファイルの読込を指示する。 @@ -570,11 +578,11 @@ OpenTypeフォントをユーザが指定する機能を提供する。 \item |moga-mobo|\Means Mogaフォント + Moboフォント。 \Note 「丸ゴシック」ファミリに MoboGothic を充てている。 - \Note Moga/MoboフォントはCIDアクセス非対応であるが、 - フォント実体を変えることで |prefer2004jis| オプションに + \Note Moga/MoboフォントはAJ1非対応であるが、 + フォント実体を変えることで |jis2004| オプションに 対応させている。 \par\medskip - \textgt{|prefer2004jis| 非指定時} + \textgt{|jis2004| 非指定時} \begin{quote}\small\begin{verbatim} \setminchofont[3]{mogam.ttc} % Moga90Mincho \setboldminchofont[3]{mogamb.ttc} % Moga90Mincho Bold @@ -584,7 +592,7 @@ OpenTypeフォントをユーザが指定する機能を提供する。 \setmarugothic[2]{mobog.ttc} % Mobo90Gothic \end{verbatim}\end{quote} \par\medskip - \textgt{|prefer2004jis| 指定時} + \textgt{|jis2004| 指定時} \begin{quote}\small\begin{verbatim} \setminchofont[0]{mogam.ttc} % MogaMincho \setboldminchofont[0]{mogamb.ttc} % MogaMincho Bold @@ -597,10 +605,10 @@ OpenTypeフォントをユーザが指定する機能を提供する。 \item |moga-mobo-ex|\Means MogaExフォント + MoboExフォント。 \Note 「丸ゴシック」ファミリに MoboExGothic を充てている。 - \Note フォント実体を変えることで |prefer2004jis| オプションに + \Note フォント実体を変えることで |jis2004| オプションに 対応させている。 \par\medskip - \textgt{|prefer2004jis| 非指定時} + \textgt{|jis2004| 非指定時} \begin{quote}\small\begin{verbatim} \setminchofont[4]{mogam.ttc} % MogaEx90Mincho \setboldminchofont[4]{mogamb.ttc} % MogaEx90Mincho Bold @@ -610,7 +618,7 @@ OpenTypeフォントをユーザが指定する機能を提供する。 \setmarugothic[3]{mobog.ttc} % MoboEx90Gothic \end{verbatim}\end{quote} \par\medskip - \textgt{|prefer2004jis| 指定時} + \textgt{|jis2004| 指定時} \begin{quote}\small\begin{verbatim} \setminchofont[1]{mogam.ttc} % MogaExMincho \setboldminchofont[1]{mogamb.ttc} % MogaExMincho Bold @@ -763,9 +771,7 @@ OpenTypeフォントをユーザが指定する機能を提供する。 \Note フォントの性質のため、この設定では欧文引用符 “\,”‘\,’の出力が不正になる。 この不具合は |unicode| オプションを指定する - (dvipdfmxの20170918版が必要)、 - または代わりに |yu-win10+| プリセットを指定する - (dvipdfmxの20170318版が必要)ことで回避できる。 + ことで解決できる。 詳細については\ref{sec:DirectUnicode}節を参照されたい。 \begin{quote}\small\begin{verbatim} @@ -1022,6 +1028,72 @@ kanji-config-updmap用のマップファイルの読込が指示される。 %=========================================================== +\section{マップファイル読込機能} +\label{sec:MapFileLoad} + +既存のdvipdfmx用のマップファイルの読込を文書内で指定ための機能として、 +従来の「ファイルプリセット」機能に加えて1.9版から新たに +「マップファイル読込」機能がサポートされる。 + +両機能の違いは以下の通りである。 +\begin{itemize} +\item 「ファイルプリセット」の指定は“プリセット指定の一種”と +見なされるのに対し、「マップファイル読込」ではプリセット指定とは +無関係に自由にマップファイルを読み込める。 +\item 「ファイルプリセット」はプリセットの一種であるため、 +高々1つしか指定できず、また(想定仕様上は +\footnote{実際にマップファイルの中身を検証しているわけではない。}) +「本パッケージの設定対象である日本語用の論理フォント」 +に対するマップファイルのみを対象とする。 +対して、「マップファイル読込」は何回でも使用できて、 +また任意のdvipdfmx用マップファイルを対象とする。 +\item 「マップファイル読込」によるマップ設定は、 +プリセット(「ファイルプリセット」も含む)や +フォント指定命令(|\setminchofont|等)によるマップ設定に +先行して行われるため、優先度が低い。 +\Note このため、「マップファイル読込」を +“中国語・韓国語フォントに対するファイルプリセット指定” +の代わりに使うことができる。 +\end{itemize} + +「マップファイル読込」は|use|オプションで指定する。 + +\begin{itemize} +\item |use=|\Meta{指定}\Means + マップファイル読込を指示する。 + \Meta{指定}は以下の何れかの形式(|NAME|は文字列)。 + \begin{itemize} + \item |file:NAME|\Means + |NAME.map|を読み込む。 + (単純ファイルプリセットと同じ。) + \item |tl:NAME| または |tl-ja:NAME|\Means + 「{\TeX} Live用ファイルプリセット」と同じ規則で決まるファイル群 + (|ptex-NAME.map|等)を読み込む。 + \item |tl-LL:NAME|(※|LL|は|ko|・|sc|・|tc|の何れか)\Means + kanji-config-updmap向けの中国語・韓国語用のマップファイルを + 読み込む設定。 + 具体的な規則は以下の通り。 + \begin{itemize} + \item {\upLaTeX}の場合は、|uptex-LL-NAME.map|を読み込む。 + \item \Pkg{japanese-otf}使用時は、|otf-LL-NAME.map|を読み込む。 + \end{itemize} + \item “|:|”を含まない文字列\Means + 「\Meta{指定}\Zk|.map|」を読み込む。 + (|file:|が付いている場合と同じ。) + \end{itemize} +\end{itemize} + +\Note 参考:マップ設定の優先度は以下のようになっている +(後のものほど優先度が高い)。 +\begin{itemize} +\item 「マップファイル読込」機能によるマップファイル読込。 +\item プリセット(「ファイルプリセット」を含む)による設定。 +\item フォント指定命令(|\setminchofont|等)による設定。 +\item |\usefontmapfile|・|\usefontmapline|命令による設定。 +\end{itemize} + + +%=========================================================== \section{カスタムプリセット機能} \label{sec:CustomPreset} @@ -1375,7 +1447,7 @@ r-cfjam-r-@PXcjk0@ msgothic.ttc FontIndex=0 取り込んでいるため、\Pkg{pxjafont}は不要である。 古い環境との互換性のため\Pkg{pxjafont}を残していたが、 1.0版において\Pkg{pxjafont}の使用を非推奨の扱いとした。 -(近い将来に廃止予定。) +(2.0版においてに廃止予定。) \Pkg{pxjafont}を利用しているユーザは、 \ref{sec:Preset}節を参照して現在の\Pkg{pxchfon}用の @@ -1389,7 +1461,10 @@ r-cfjam-r-@PXcjk0@ msgothic.ttc FontIndex=0 0.7c版で\Pkg{japanese-otf}パッケージ(|multi| オプション指定)および {\upTeX}標準の中国語・韓国語フォントについてのサポートを始めた。 -以下の命令で、実フォントの置換指定ができる。 + +\paragraph{単ウェイトの場合の設定} + +以下の命令が用意されている。 \begin{itemize} \newcommand*{\CNot}{\footnotesize} @@ -1407,12 +1482,81 @@ r-cfjam-r-@PXcjk0@ msgothic.ttc FontIndex=0 繁体字中国語・ゴシック体(黒体)。 \end{itemize} -注意事項。 +\paragraph{多ウェイトの場合の設定} + +\Pkg{japanese-otf}パッケージ({\upTeX}対応版)の0.26版から、 +中国語・韓国語のフォント +\footnote{ただし、\Pkg{japanese-otf}パッケージにおける中国語・韓国語 +入力は飽くまでコード値入力(|\UTFC|等)であり、直接入力は +サポート外であることに注意。}% +についても多ウェイトがサポートされるようになった。 + +本パッケージの1.9版から中国語・韓国語の多ウェイト設定をサポートする。 +以下の命令が用意されている。 +\Note 引数の書式は全て|\setminchofont|と同じなので省略する。 +\Note 日本語用の|\setminchofont|等と同様に、多ウェイト環境に +おいて単ウェイト用の命令を用いた場合は、それは全ウェイトに +対する設定と見なされる。 + +\begin{itemize} +\item |\setkoreanlightminchofont|\Means + 韓国語・明朝体・細ウェイト。 +\item |\setkoreanmediumminchofont|\Means + 韓国語・明朝体・中ウェイト。 +\item |\setkoreanboldminchofont|\Means + 韓国語・明朝体・太ウェイト。 +\item |\setkoreanmediumgothicfont|\Means + 韓国語・ゴシック体・中ウェイト。 +\item |\setkoreanboldgothicfont|\Means + 韓国語・ゴシック体・太ウェイト。 +\item |\setkoreanxboldgothicfont|\Means + 韓国語・ゴシック体・極太ウェイト。 +\item |\setkoreanmarugothicfont|\Means + 韓国語・丸ゴシック体。 + +\item |\setschineselightminchofont|\Means + 簡体字中国語・明朝体(宋体)・細ウェイト。 +\item |\setschinesemediumminchofont|\Means + 簡体字中国語・明朝体(宋体)・中ウェイト。 +\item |\setschineseboldminchofont|\Means + 簡体字中国語・明朝体(宋体)・太ウェイト。 +\item |\setschinesemediumgothicfont|\Means + 簡体字中国語・ゴシック体(黒体)・中ウェイト。 +\item |\setschineseboldgothicfont|\Means + 簡体字中国語・ゴシック体(黒体)・太ウェイト。 +\item |\setschinesexboldgothicfont|\Means + 簡体字中国語・ゴシック体(黒体)・極太ウェイト。 +\item |\setschinesegothicfont|\Means + 簡体字中国語・丸ゴシック体。 + +\item |\settchineselightminchofont|\Means + 繁体字中国語・明朝体(明体)・細ウェイト。 +\item |\settchineseboldminchofont|\Means + 繁体字中国語・明朝体(明体)・中ウェイト。 +\item |\settchinesexboldminchofont|\Means + 繁体字中国語・明朝体(明体)・太ウェイト。 +\item |\settchinesemediumgothicfont|\Means + 繁体字中国語・ゴシック体(黒体)・中ウェイト。 +\item |\settchineseboldgothicfont|\Means + 繁体字中国語・ゴシック体(黒体)・太ウェイト。 +\item |\settchinesexboldgothicfont|\Means + 繁体字中国語・ゴシック体(黒体)・極太ウェイト。 +\item |\settchinesegothicfont|\Means + 繁体字中国語・丸ゴシック体。 +\end{itemize} + +%------------------- +\subsection{注意事項} \begin{itemize} \item プリセット指定は中国語・韓国語のフォントについては何も指定しない。 従って、上記の命令を用いない場合は、これらのフォントのマップ再設定が 行われることはない。 +\item マップファイル読込機能(\ref{sec:MapFileLoad}節参照) +を利用してマップファイルを読み込むことで、 +中国語・韓国語フォントのマップを設定することも可能である。 +\Note 「ファイルプリセット機能」の方はプリセット設定の一種であるため、 +日本語用のフォントについて用いられることが想定されている。 \item 「Unicode直接指定オプション」は中国語・韓国語のフォントに対しても 有効である。 |directunicode| の場合は「\Pkg{japanese-otf}パッケージのUnicode入力命令」 diff --git a/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty b/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty index 57c428a9cbc..7bf8a52c775 100644 --- a/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty +++ b/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty @@ -1,7 +1,7 @@ %% %% This is file 'pxchfon.sty'. %% -%% Copyright (c) 2009-2020 Takayuki YATO (aka. "ZR") +%% Copyright (c) 2009-2021 Takayuki YATO (aka. "ZR") %% GitHub: https://github.com/zr-tex8r %% Twitter: @zr_tex8r %% @@ -10,7 +10,7 @@ %% package declaration \NeedsTeXFormat{pLaTeX2e} -\ProvidesPackage{pxchfon}[2020/10/04 v1.7e] +\ProvidesPackage{pxchfon}[2021/05/30 v1.9] \def\pxcz@pkgname{pxchfon} %--------------------------------------- general @@ -281,13 +281,14 @@ sourcehan-otc,sourcehan,sourcehan-jp,noto-otc,noto,noto-jp,% haranoaji,% sourcehan-otc+,sourcehan+,noto-otc+,noto+,% + sourcehan-otc!,sourcehan!,sourcehan-jp!,noto-otc!,noto!,noto-jp!,% + noto-otf!,% %(alias) hiragino,noto-otf,% noEmbed,kozuka,hiragino-elcapitan,morisawa} \pxcz@onlypreamble@def\pxcz@all@abolished@preset{% ipa-otf,ipa-otf-dx,kozuka4,kozuka6,kozuka6n, ms-dx,ipa-ttf,ipa-ttf-dx,ipav2,ipav2-dx,ipa-dx,hiragino-dx} - % But note, 'hiragino' != 'hiragino-pro' \def\pxcz@do#1{\DeclareOption{#1}{\def\pxcz@main@preset{#1}}} \@for\pxcz@x:=\pxcz@all@main@preset\do{% \expandafter\pxcz@do\expandafter{\pxcz@x}} @@ -295,11 +296,13 @@ \expandafter\pxcz@do\expandafter{\pxcz@x}} \def\pxcz@custom#1#2{\pxcz@do{#1}} \pxcz@custom@presets -% others + +%% 'local-only' constant options % The 'unicode' option means a Unicode-oriented mapping, and requires -% dvipdfmx of version 20170627 or later. The 'unicode-fwid' is a variant. +% dvipdfmx of version 20170918 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. +% NOTE: 'unicode*(-fwid)' is DEPRECATED and will be abolished in v2.0. \pxcz@onlypreamble@csdef{pxcz@POPT/unicode}{% \let\pxcz@directunicode\pxcz@directunicode@full} \pxcz@onlypreamble@csdef{pxcz@POPT/unicode*}{% @@ -311,23 +314,51 @@ \pxcz@onlypreamble@csdef{pxcz@POPT/unicode*-fwid}{% \pxcz@fullwidthtrue \pxcz@uniquifytrue \let\pxcz@directunicode\pxcz@directunicode@full} +% general option handler \DeclareOption*{% \pxcz@csuse@or{pxcz@POPT/\CurrentOption}{% \pxcz@parse@opt\CurrentOption \ifpxcz@ok\else \@unknownoptionerror \fi}} + +%% \pxcz@use@list +\pxcz@onlypreamble@let\pxcz@use@list\@empty +\let\pxcz@use@do\relax %freeze + +%% \pxcz@parse@opt{<option>} \pxcz@onlypreamble@def\pxcz@parse@opt#1{% \pxcz@okfalse + \pxcz@parse@opt@b{use=file:}{#1}{file}% + \pxcz@parse@opt@b{use=tl-ja:}{#1}{ja}% + \pxcz@parse@opt@b{use=tl-ko:}{#1}{ko}% + \pxcz@parse@opt@b{use=tl-sc:}{#1}{sc}% + \pxcz@parse@opt@b{use=tl-tc:}{#1}{tc}% + \pxcz@parse@opt@b{use=tl:}{#1}{ja}% + \pxcz@parse@opt@b{use=}{#1}{file}% \pxcz@parse@opt@a{+}{#1}{\pxcz@file@preset@tltrue}% \pxcz@parse@opt@a{*}{#1}{\pxcz@file@preset@tlfalse}% \pxcz@parse@opt@a{tl:}{#1}{\pxcz@file@preset@tltrue}% \pxcz@parse@opt@a{file:}{#1}{\pxcz@file@preset@tlfalse}} -\pxcz@onlypreamble@def\pxcz@parse@opt@a#1#2#3{% +\pxcz@onlypreamble@def\pxcz@parse@opt@a#1#2#3{% for file presets \ifpxcz@ok\else \pxcz@split{#1}{#2}\ifx\pxcz@pre\@empty #3\let\pxcz@file@preset\pxcz@post \pxcz@oktrue \fi \fi} -% dispatch +\pxcz@onlypreamble@def\pxcz@parse@opt@a#1#2#3{% for file preloads + \ifpxcz@ok\else + \pxcz@split{#1}{#2}\ifx\pxcz@pre\@empty + #3\let\pxcz@file@preset\pxcz@post \pxcz@oktrue + \fi + \fi} +\pxcz@onlypreamble@def\pxcz@parse@opt@b#1#2#3{% for file presets + \ifpxcz@ok\else + \pxcz@split{#1}{#2}\ifx\pxcz@pre\@empty + \edef\pxcz@use@list{\pxcz@use@list\pxcz@use@do{#3}{\pxcz@post}}% + \pxcz@oktrue + \fi + \fi} + +%% dispatch \ProcessOptions* %% 'unicode*' and 'unicode*-fwid' are DEPRECATED @@ -337,7 +368,7 @@ 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 + abolished in v2.0 (soon to be released).\MessageBreak You should update to TL2018 or later and use\MessageBreak option 'unicode\ifpxcz@fullwidth -fwid\fi' instead} \fi @@ -424,6 +455,27 @@ \let\pxcz@switch@font@xjistrue\pxcz@switch@font@xjisfalse \fi +\begingroup \lccode`\@=`\_ \lowercase{% + \xdef\pxcz@get@dvipdfmx@version{% + \let\noexpand\pxcz@dvipdfmx@version\expandafter\noexpand + \csname c@@Kernel@sys@dvipdfmx@version@int\endcsname}} +\endgroup +\AtBeginDocument{% + \@tempswatrue + \ifnum\pxcz@directunicode<\pxcz@directunicode@full\else + \pxcz@get@dvipdfmx@version + \ifx\pxcz@dvipdfmx@version\@undefined\else + \ifnum\pxcz@dvipdfmx@version<20170918 + \@tempswafalse \fi\fi + \fi + \if@tempswa\else + \PackageError\pxcz@pkgname + {Option 'unicode' is not available, since\MessageBreak + your dvipdfmx is too old (v.\number\pxcz@dvipdfmx@version)} + {The option requires dvipdfmx version 20170918 or later.% + \MessageBreak\@ehc} + \fi} + %--------------------------------------- preset-dependent setup %% variables @@ -438,7 +490,7 @@ \let\pxcz@directunicode\pxcz@directunicode@full \pxcz@uniquifyfalse \else\ifnum\pxcz@directunicode=\pxcz@directunicode@full - \ifpxcz@uniquify % unicode* -> unicode+ + \ifpxcz@uniquify % unicode* -> 'unicode+' \pxcz@switch@font@xwidtrue \pxcz@uniquifyfalse \fi % unicode -> (unchanged) \else \pxcz@uniquifyfalse % otherwise, enable switch-font @@ -465,8 +517,7 @@ \pxcz@cond\ifx\pxcz@main@preset\pxcz@tmpa\fi {\@firstofone}{\@gobble}} % A 'XXXX+' preset forces 'unicode+' setting. -% 'sourcehan(-otc)' and 'noto(-otc)' should force 'unicode', but currently -% equivalent to the corresponding 'XXXX+' preset. +% 'sourcehan(-otc)' and 'noto(-otc)' force 'unicode' setting. \pxcz@do{sourcehan}{\pxcz@apply@opt@unicode} \pxcz@do{sourcehan-otc}{\pxcz@apply@opt@unicode} \pxcz@do{sourcehan-jp}{\pxcz@apply@opt@unicode} @@ -560,7 +611,10 @@ %% \pxcz@sym@list \def\pxcz@sym@list{% - mnl,mnr,mnb,gtr,gtb,gtx,gtu,mgr,kom,kog,scm,scg,tcm,tcg} + mnl,mnr,mnb,gtr,gtb,gtx,gtu,mgr,% + koml,komr,komb,kogr,kogb,kogx,kogu,komgr,% + scml,scmr,scmb,scgr,scgb,scgx,scgu,scmgr,% + tcml,tcmr,tcmb,tcgr,tcgb,tcgx,tcgu,tcmgr} %%<*> \setminchofont/\setgothicfont/etc. \newcommand*\setminchofont{\pxcz@setfont{mnl,mnr,mnb}} @@ -573,12 +627,40 @@ \newcommand*\setxboldgothicfont{\pxcz@setfont{gtx}} \newcommand*\setoneweightgothicfont{\pxcz@setfont{gtu}} \newcommand*\setmarugothicfont{\pxcz@setfont{mgr}} -\newcommand*\setkoreanminchofont{\pxcz@setfont{kom}} -\newcommand*\setkoreangothicfont{\pxcz@setfont{kog}} -\newcommand*\setschineseminchofont{\pxcz@setfont{scm}} -\newcommand*\setschinesegothicfont{\pxcz@setfont{scg}} -\newcommand*\settchineseminchofont{\pxcz@setfont{tcm}} -\newcommand*\settchinesegothicfont{\pxcz@setfont{tcg}} + +\newcommand*\setkoreanminchofont{\pxcz@setfont{koml,komr,komb}} +\newcommand*\setkoreangothicfont{\pxcz@setfont{kogr,kogb,kogx,kogu,komgr}} +\newcommand*\setkoreanlightminchofont{\pxcz@setfont{koml}} +\newcommand*\setkoreanmediumminchofont{\pxcz@setfont{komr}} +\newcommand*\setkoreanboldminchofont{\pxcz@setfont{komb}} +\newcommand*\setkoreanmediumgothicfont{\pxcz@setfont{kogr}} +\newcommand*\setkoreanboldgothicfont{\pxcz@setfont{kogb}} +\newcommand*\setkoreanxboldgothicfont{\pxcz@setfont{kogx}} +\newcommand*\setkoreanoneweightgothicfont{\pxcz@setfont{kogu}} +\newcommand*\setkoreanmarugothicfont{\pxcz@setfont{komgr}} + +\newcommand*\setschineseminchofont{\pxcz@setfont{scml,scmr,scmb}} +\newcommand*\setschinesegothicfont{\pxcz@setfont{scgr,scgb,scgx,scgu,scmgr}} +\newcommand*\setschineselightminchofont{\pxcz@setfont{scml}} +\newcommand*\setschinesemediumminchofont{\pxcz@setfont{scmr}} +\newcommand*\setschineseboldminchofont{\pxcz@setfont{scmb}} +\newcommand*\setschinesemediumgothicfont{\pxcz@setfont{scgr}} +\newcommand*\setschineseboldgothicfont{\pxcz@setfont{scgb}} +\newcommand*\setschinesexboldgothicfont{\pxcz@setfont{scgx}} +\newcommand*\setschineseoneweightgothicfont{\pxcz@setfont{scgu}} +\newcommand*\setschinesemarugothicfont{\pxcz@setfont{scmgr}} + +\newcommand*\settchineseminchofont{\pxcz@setfont{tcml,tcmr,tcmb}} +\newcommand*\settchinesegothicfont{\pxcz@setfont{tcgr,tcgb,tcgx,tcgu,tcmgr}} +\newcommand*\settchineselightminchofont{\pxcz@setfont{tcml}} +\newcommand*\settchinesemediumminchofont{\pxcz@setfont{tcmr}} +\newcommand*\settchineseboldminchofont{\pxcz@setfont{tcmb}} +\newcommand*\settchinesemediumgothicfont{\pxcz@setfont{tcgr}} +\newcommand*\settchineseboldgothicfont{\pxcz@setfont{tcgb}} +\newcommand*\settchinesexboldgothicfont{\pxcz@setfont{tcgx}} +\newcommand*\settchineseoneweightgothicfont{\pxcz@setfont{tcgu}} +\newcommand*\settchinesemarugothicfont{\pxcz@setfont{tcmgr}} + \pxcz@onlypreamble@def\pxcz@setfont#1{\@ifnextchar[%] {\pxcz@setfont@a{#1}}{\pxcz@setfont@a{#1}[0]}} \pxcz@onlypreamble@def\pxcz@setfont@a#1[#2]#3{% @@ -653,12 +735,12 @@ }} \pxcz@do{mnl,mnr,mnb}{Ryumin-Light} \pxcz@do{gtr,gtb,gtx,gtu,mgr}{GothicBBB-Medium} -\pxcz@do{kom}{HYSMyeongJo-Medium} -\pxcz@do{kog}{HYGoThic-Medium} -\pxcz@do{scm}{STSong-Light} -\pxcz@do{scg}{STHeiti-Regular} -\pxcz@do{tcm}{MSung-Light} -\pxcz@do{tcg}{MHei-Medium} +\pxcz@do{koml,komr,komb}{HYSMyeongJo-Medium} +\pxcz@do{kogr,kogb,kogx,kogu,komgr}{HYGoThic-Medium} +\pxcz@do{scml,scmr,scmb}{STSong-Light} +\pxcz@do{scgr,scgb,scgx,scgu,scmgr}{STHeiti-Regular} +\pxcz@do{tcml,tcmr,tcmb}{MSung-Light} +\pxcz@do{tcgr,tcgb,tcgx,tcgu,tcmgr}{MHei-Medium} %%<+> \JaFontReplacementFor{<sym>} \newcommand*\JaFontReplacementFor[1]{% @@ -996,17 +1078,28 @@ %% \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 - \ifpxcz@otf - \pxcz@do@file@preset@a{otf-}% - \ifpxcz@uptex \pxcz@do@file@preset@a{otf-up-}\fi - \fi + \pxcz@use@mapfile{ja}{\pxcz@file@preset}% \else - \pxcz@do@file@preset@a{}% + \pxcz@use@mapfile{file}{\pxcz@file@preset}% + \fi} + +%% \pxcz@use@mapfile{<type>}{<basename>} +\pxcz@onlypreamble@def\pxcz@use@mapfile#1{%#1=<type> + \pxcz@csuse@or{pxcz@use@mapfile@@#1}{\pxcz@use@mapfile@a{#1}}} +\pxcz@onlypreamble@def\pxcz@use@mapfile@@file#1{%#1=<basename> + \pxcz@use@mapfile@b{#1}} +\pxcz@onlypreamble@def\pxcz@use@mapfile@@ja#1{% + \pxcz@use@mapfile@b{ptex-#1}% + \ifpxcz@uptex \pxcz@use@mapfile@b{uptex-#1}\fi + \ifpxcz@otf + \pxcz@use@mapfile@b{otf-#1}% + \ifpxcz@uptex \pxcz@use@mapfile@b{otf-up-#1}\fi \fi} -\pxcz@onlypreamble@def\pxcz@do@file@preset@a#1{% - \pxcz@addtospec@alt\pxcz@mapfile{#1\pxcz@file@preset.map}} +\pxcz@onlypreamble@def\pxcz@use@mapfile@a#1#2{% + \ifpxcz@uptex \pxcz@use@mapfile@b{uptex-#1-#2}\fi + \ifpxcz@otf \pxcz@use@mapfile@b{otf-#1-#2}\fi} +\pxcz@onlypreamble@def\pxcz@use@mapfile@b#1{% + \pxcz@addtospec@alt\pxcz@mapfile{#1.map}} %% \pxcz@addtospec@alt \def\pxcz@addtospec@alt#1#2{% @@ -1130,30 +1223,92 @@ \Entry{mgr}{hmgothrn-v} {V} {V}% % \ifpxcz@otf@multi -\Entry{kom}{otf-ukmr-h} {UniKS-UTF16-H} {Uni,FWid}% -\Entry{kom}{otf-ukmr-v} {UniKS-UTF16-V} {Uni,FWid,V}% -\Entry{kom}{otf-ckmr-h} {Identity-H} {AK12}% -\Entry{kom}{otf-ckmr-v} {Identity-V} {AK12,V}% -\Entry{kog}{otf-ukgr-h} {UniKS-UTF16-H} {Uni,FWid}% -\Entry{kog}{otf-ukgr-v} {UniKS-UTF16-V} {Uni,FWid,V}% -\Entry{kog}{otf-ckgr-h} {Identity-H} {AK12}% -\Entry{kog}{otf-ckgr-v} {Identity-V} {AK12,V}% -\Entry{scm}{otf-ucmr-h} {UniGB-UTF16-H} {Uni,FWid}% -\Entry{scm}{otf-ucmr-v} {UniGB-UTF16-V} {Uni,FWid,V}% -\Entry{scm}{otf-ccmr-h} {Identity-H} {AG14}% -\Entry{scm}{otf-ccmr-v} {Identity-V} {AG14,V}% -\Entry{scg}{otf-ucgr-h} {UniGB-UTF16-H} {Uni,FWid}% -\Entry{scg}{otf-ucgr-v} {UniGB-UTF16-V} {Uni,FWid,V}% -\Entry{scg}{otf-ccgr-h} {Identity-H} {AG14}% -\Entry{scg}{otf-ccgr-v} {Identity-V} {AG14,V}% -\Entry{tcm}{otf-utmr-h} {UniCNS-UTF16-H} {Uni,FWid}% -\Entry{tcm}{otf-utmr-v} {UniCNS-UTF16-V} {Uni,FWid,V}% -\Entry{tcm}{otf-ctmr-h} {Identity-H} {AC14}% -\Entry{tcm}{otf-ctmr-v} {Identity-V} {AC14,V}% -\Entry{tcg}{otf-utgr-h} {UniCNS-UTF16-H} {Uni,FWid}% -\Entry{tcg}{otf-utgr-v} {UniCNS-UTF16-V} {Uni,FWid,V}% -\Entry{tcg}{otf-ctgr-h} {Identity-H} {AC14}% -\Entry{tcg}{otf-ctgr-v} {Identity-V} {AC14,V}% +\Entry{koml}{otf-ukml-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{koml}{otf-ukml-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{koml}{otf-ckml-h} {Identity-H} {AK12}% +\Entry{koml}{otf-ckml-v} {Identity-V} {AK12,V}% +\Entry{komr}{otf-ukmr-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{komr}{otf-ukmr-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{komr}{otf-ckmr-h} {Identity-H} {AK12}% +\Entry{komr}{otf-ckmr-v} {Identity-V} {AK12,V}% +\Entry{komb}{otf-ukmb-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{komb}{otf-ukmb-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{komb}{otf-ckmb-h} {Identity-H} {AK12}% +\Entry{komb}{otf-ckmb-v} {Identity-V} {AK12,V}% +\Entry{kogr}{otf-ukgr-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{kogr}{otf-ukgr-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{kogr}{otf-ckgr-h} {Identity-H} {AK12}% +\Entry{kogr}{otf-ckgr-v} {Identity-V} {AK12,V}% +\Entry{kogb}{otf-ukgb-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{kogb}{otf-ukgb-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{kogb}{otf-ckgb-h} {Identity-H} {AK12}% +\Entry{kogb}{otf-ckgb-v} {Identity-V} {AK12,V}% +\Entry{kogx}{otf-ukge-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{kogx}{otf-ukge-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{kogx}{otf-ckge-h} {Identity-H} {AK12}% +\Entry{kogx}{otf-ckge-v} {Identity-V} {AK12,V}% +\Entry{komgr}{otf-ukmgr-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{komgr}{otf-ukmgr-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{komgr}{otf-ckmgr-h} {Identity-H} {AK12}% +\Entry{komgr}{otf-ckmgr-v} {Identity-V} {AK12,V}% + +\Entry{scml}{otf-ucml-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scml}{otf-ucml-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scml}{otf-ccml-h} {Identity-H} {AG14}% +\Entry{scml}{otf-ccml-v} {Identity-V} {AG14,V}% +\Entry{scmr}{otf-ucmr-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scmr}{otf-ucmr-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scmr}{otf-ccmr-h} {Identity-H} {AG14}% +\Entry{scmr}{otf-ccmr-v} {Identity-V} {AG14,V}% +\Entry{scmb}{otf-ucmb-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scmb}{otf-ucmb-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scmb}{otf-ccmb-h} {Identity-H} {AG14}% +\Entry{scmb}{otf-ccmb-v} {Identity-V} {AG14,V}% +\Entry{scgr}{otf-ucgr-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scgr}{otf-ucgr-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scgr}{otf-ccgr-h} {Identity-H} {AG14}% +\Entry{scgr}{otf-ccgr-v} {Identity-V} {AG14,V}% +\Entry{scgb}{otf-ucgb-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scgb}{otf-ucgb-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scgb}{otf-ccgb-h} {Identity-H} {AG14}% +\Entry{scgb}{otf-ccgb-v} {Identity-V} {AG14,V}% +\Entry{scgx}{otf-ucge-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scgx}{otf-ucge-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scgx}{otf-ccge-h} {Identity-H} {AG14}% +\Entry{scgx}{otf-ccge-v} {Identity-V} {AG14,V}% +\Entry{scmgr}{otf-ucmgr-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scmgr}{otf-ucmgr-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scmgr}{otf-ccmgr-h} {Identity-H} {AG14}% +\Entry{scmgr}{otf-ccmgr-v} {Identity-V} {AG14,V}% + +\Entry{tcml}{otf-utml-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcml}{otf-utml-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcml}{otf-ctml-h} {Identity-H} {AC14}% +\Entry{tcml}{otf-ctml-v} {Identity-V} {AC14,V}% +\Entry{tcmr}{otf-utmr-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcmr}{otf-utmr-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcmr}{otf-ctmr-h} {Identity-H} {AC14}% +\Entry{tcmr}{otf-ctmr-v} {Identity-V} {AC14,V}% +\Entry{tcmb}{otf-utmb-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcmb}{otf-utmb-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcmb}{otf-ctmb-h} {Identity-H} {AC14}% +\Entry{tcmb}{otf-ctmb-v} {Identity-V} {AC14,V}% +\Entry{tcgr}{otf-utgr-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcgr}{otf-utgr-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcgr}{otf-ctgr-h} {Identity-H} {AC14}% +\Entry{tcgr}{otf-ctgr-v} {Identity-V} {AC14,V}% +\Entry{tcgb}{otf-utgb-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcgb}{otf-utgb-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcgb}{otf-ctgb-h} {Identity-H} {AC14}% +\Entry{tcgb}{otf-ctgb-v} {Identity-V} {AC14,V}% +\Entry{tcgx}{otf-utge-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcgx}{otf-utge-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcgx}{otf-ctge-h} {Identity-H} {AC14}% +\Entry{tcgx}{otf-ctge-v} {Identity-V} {AC14,V}% +\Entry{tcmgr}{otf-utmgr-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcmgr}{otf-utmgr-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcmgr}{otf-ctmgr-h} {Identity-H} {AC14}% +\Entry{tcmgr}{otf-ctmgr-v} {Identity-V} {AC14,V}% \fi } \pxcz@mapentry{UPSTD}{% @@ -1168,18 +1323,18 @@ \Entry{gtu}{ugbm} {UniJIS-UTF16-H} {Uni*,Switch}% \Entry{gtu}{ugbmv} {UniJIS-UTF16-V} {Uni*,Switch,V}% % -\Entry{kom}{uphysmjm-h} {UniKS-UTF16-H} {Uni*}% -\Entry{kom}{uphysmjm-v} {UniKS-UTF16-V} {Uni*,V}% -\Entry{kog}{uphygt-h} {UniKS-UTF16-H} {Uni*}% -\Entry{kog}{uphygt-v} {UniKS-UTF16-V} {Uni*,V}% -\Entry{scm}{upstsl-h} {UniGB-UTF16-H} {Uni*}% -\Entry{scm}{upstsl-v} {UniGB-UTF16-V} {Uni*,V}% -\Entry{scg}{upstht-h} {UniGB-UTF16-H} {Uni*}% -\Entry{scg}{upstht-v} {UniGB-UTF16-V} {Uni*,V}% -\Entry{tcm}{upmsl-h} {UniCNS-UTF16-H} {Uni*}% -\Entry{tcm}{upmsl-v} {UniCNS-UTF16-V} {Uni*,V}% -\Entry{tcg}{upmhm-h} {UniCNS-UTF16-H} {Uni*}% -\Entry{tcg}{upmhm-v} {UniCNS-UTF16-V} {Uni*,V}% +\Entry{komr}{uphysmjm-h} {UniKS-UTF16-H} {Uni*}% +\Entry{komr}{uphysmjm-v} {UniKS-UTF16-V} {Uni*,V}% +\Entry{kogu}{uphygt-h} {UniKS-UTF16-H} {Uni*}% +\Entry{kogu}{uphygt-v} {UniKS-UTF16-V} {Uni*,V}% +\Entry{scmr}{upstsl-h} {UniGB-UTF16-H} {Uni*}% +\Entry{scmr}{upstsl-v} {UniGB-UTF16-V} {Uni*,V}% +\Entry{scgu}{upstht-h} {UniGB-UTF16-H} {Uni*}% +\Entry{scgu}{upstht-v} {UniGB-UTF16-V} {Uni*,V}% +\Entry{tcmr}{upmsl-h} {UniCNS-UTF16-H} {Uni*}% +\Entry{tcmr}{upmsl-v} {UniCNS-UTF16-V} {Uni*,V}% +\Entry{tcgu}{upmhm-h} {UniCNS-UTF16-H} {Uni*}% +\Entry{tcgu}{upmhm-v} {UniCNS-UTF16-V} {Uni*,V}% } \pxcz@mapentry{UPOTF}{% \Entry{mnl}{uphminl-h} {UniJIS-UTF16-H} {Uni*,90,Exp}% @@ -1609,7 +1764,13 @@ %% the begin-document hook \pxcz@onlypreamble@def\pxcz@doc@hook{% + \ifpxcz@otf + \@ifpackageloaded{otf}{\pxcz@otftrue}{\pxcz@otffalse}% + \@ifpackageloaded{utf}{\pxcz@utftrue}{\pxcz@utffalse}% + \fi \pxcz@user@hook + \let\pxcz@use@do\pxcz@use@mapfile + \pxcz@use@list \ifx\pxcz@file@preset\relax\else \pxcz@do@file@preset \fi @@ -1665,10 +1826,6 @@ \pxcz@addtospec{UPSTD}% \fi \ifpxcz@otf - \@ifpackageloaded{otf}{\pxcz@otftrue}{\pxcz@otffalse}% - \@ifpackageloaded{utf}{\pxcz@utftrue}{\pxcz@utffalse}% - \fi - \ifpxcz@otf \ifnum0\ifnum\pxcz@legacycode=\pxcz@legacycode@replace 1\fi \ifpxcz@uptex 1\fi >\z@ \pxcz@addtospec{UPOTF}% @@ -2104,6 +2261,14 @@ \pxcz@declare@preset@alias{noto+}{noto} \pxcz@declare@preset@alias{noto-otc+}{noto-otc} \pxcz@declare@preset@alias{yu-win10+}{yu-win10} +%(bang-variants) +\pxcz@declare@preset@alias{sourcehan!}{sourcehan} +\pxcz@declare@preset@alias{sourcehan-otc!}{sourcehan-otc} +\pxcz@declare@preset@alias{sourcehan-jp!}{sourcehan-jp} +\pxcz@declare@preset@alias{noto!}{noto} +\pxcz@declare@preset@alias{noto-otf!}{noto-otf} +\pxcz@declare@preset@alias{noto-otc!}{noto-otc} +\pxcz@declare@preset@alias{noto-jp!}{noto-jp} %% ... and invokes the specified one! \if\pxcz@main@preset\relax\else |