summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-06-03 20:48:22 +0000
committerKarl Berry <karl@freefriends.org>2021-06-03 20:48:22 +0000
commit656bb39c957245f9743e925edf8b870d740407e9 (patch)
tree7d72d274186e49478cff809d98471dd01847cfe9
parent680c67c29c02b3f269bf56b31d0da43be3378ae9 (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/LICENSE2
-rw-r--r--Master/texmf-dist/doc/platex/pxchfon/README-ja.md5
-rw-r--r--Master/texmf-dist/doc/platex/pxchfon/README.md5
-rw-r--r--Master/texmf-dist/doc/platex/pxchfon/pxchfon.pdfbin250723 -> 259368 bytes
-rw-r--r--Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex200
-rw-r--r--Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty311
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
index 9628be68133..8950e219deb 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 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