texlive[59449] Master/texmf-dist: pxchfon (3jun21)

commits+karl at tug.org commits+karl at tug.org
Thu Jun 3 22:48:22 CEST 2021


Revision: 59449
          http://tug.org/svn/texlive?view=revision&revision=59449
Author:   karl
Date:     2021-06-03 22:48:22 +0200 (Thu, 03 Jun 2021)
Log Message:
-----------
pxchfon (3jun21)

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

Modified: trunk/Master/texmf-dist/doc/platex/pxchfon/LICENSE
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxchfon/LICENSE	2021-06-03 20:48:05 UTC (rev 59448)
+++ trunk/Master/texmf-dist/doc/platex/pxchfon/LICENSE	2021-06-03 20:48:22 UTC (rev 59449)
@@ -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

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

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

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

Modified: trunk/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex
===================================================================
--- trunk/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex	2021-06-03 20:48:05 UTC (rev 59448)
+++ trunk/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex	2021-06-03 20:48:22 UTC (rev 59449)
@@ -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 @@
 \begin{itemize}
 \item \Strong{ドライバオプション}\Means
   |dvipdfmx|、|dvips|、|dviout|、|xdvi| および |nodvidriver|%
-  \footnote{ドライバ依存動作を明示的に無効化するための指定。}
+  (ドライバ依存動作の無効化を明示的に指示)
   が指定できる。
   ただし、本パッケージの主要機能である
   「フォントマップの文書内での指定」
@@ -86,7 +89,7 @@
   他の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 @@
   ユーザ定義のプリセット指定を有効にする。
   \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,15 +133,16 @@
 \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| を
     適用していた。
@@ -140,12 +149,10 @@
     これは、昔の\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 @@
   {\TeX} Live用ダンプ出力は「実際に適用されるか」は無関係で
   kanji-config-updmapの規則に従うため、
   \Pkg{japanese-otf}パッケージ用のマップが |otf-*.map| に書き出される。
+  \Note |dumpmap| と |dumpmaptl| は排他ではない。
 \item |nodumpmaptl|(既定)\Means
   |dumpmaptl| の否定。
 \item |strictcsi|\Means
@@ -413,7 +421,7 @@
   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 @@
 \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 @@
 \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 @@
 \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 @@
 \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 @@
   \Note フォントの性質のため、この設定では欧文引用符
   “\,”‘\,’の出力が不正になる。
   この不具合は |unicode| オプションを指定する
-  (dvipdfmxの20170918版が必要)、
-  または代わりに |yu-win10+| プリセットを指定する
-  (dvipdfmxの20170318版が必要)ことで回避できる。
+  ことで解決できる。
   詳細については\ref{sec:DirectUnicode}節を参照されたい。
 
 \begin{quote}\small\begin{verbatim}
@@ -1022,6 +1028,72 @@
 
 
 %===========================================================
+\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 @@
 取り込んでいるため、\Pkg{pxjafont}は不要である。
 古い環境との互換性のため\Pkg{pxjafont}を残していたが、
 1.0版において\Pkg{pxjafont}の使用を非推奨の扱いとした。
-(近い将来に廃止予定。)
+(2.0版においてに廃止予定。)
 
 \Pkg{pxjafont}を利用しているユーザは、
 \ref{sec:Preset}節を参照して現在の\Pkg{pxchfon}用の
@@ -1389,8 +1461,11 @@
 
 0.7c版で\Pkg{japanese-otf}パッケージ(|multi| オプション指定)および
 {\upTeX}標準の中国語・韓国語フォントについてのサポートを始めた。
-以下の命令で、実フォントの置換指定ができる。
 
+\paragraph{単ウェイトの場合の設定}
+
+以下の命令が用意されている。
+
 \begin{itemize}
 \newcommand*{\CNot}{\footnotesize}
 \item |\setkoreanminchofont[|\Meta{番号}|]{|\Meta{フォントファイル名}|}|\Means
@@ -1407,12 +1482,81 @@
       繁体字中国語・ゴシック体(黒体)。
 \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入力命令」

Modified: trunk/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty	2021-06-03 20:48:05 UTC (rev 59448)
+++ trunk/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty	2021-06-03 20:48:22 UTC (rev 59449)
@@ -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 at pkgname{pxchfon}
 
 %--------------------------------------- general
@@ -281,6 +281,8 @@
   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}
@@ -287,7 +289,6 @@
 \pxcz at onlypreamble@def\pxcz at all@abolished at 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 at do#1{\DeclareOption{#1}{\def\pxcz at main@preset{#1}}}
 \@for\pxcz at x:=\pxcz at all@main at preset\do{%
   \expandafter\pxcz at do\expandafter{\pxcz at x}}
@@ -295,11 +296,13 @@
   \expandafter\pxcz at do\expandafter{\pxcz at x}}
 \def\pxcz at custom#1#2{\pxcz at do{#1}}
 \pxcz at 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 at onlypreamble@csdef{pxcz at POPT/unicode}{%
   \let\pxcz at directunicode\pxcz at directunicode@full}
 \pxcz at onlypreamble@csdef{pxcz at POPT/unicode*}{%
@@ -311,23 +314,51 @@
 \pxcz at onlypreamble@csdef{pxcz at POPT/unicode*-fwid}{%
   \pxcz at fullwidthtrue \pxcz at uniquifytrue
   \let\pxcz at directunicode\pxcz at directunicode@full}
+% general option handler
 \DeclareOption*{%
   \pxcz at csuse@or{pxcz at POPT/\CurrentOption}{%
     \pxcz at parse@opt\CurrentOption
     \ifpxcz at ok\else \@unknownoptionerror \fi}}
+
+%% \pxcz at use@list
+\pxcz at onlypreamble@let\pxcz at use@list\@empty
+\let\pxcz at use@do\relax %freeze
+
+%% \pxcz at parse@opt{<option>}
 \pxcz at onlypreamble@def\pxcz at parse@opt#1{%
   \pxcz at okfalse
+  \pxcz at parse@opt at b{use=file:}{#1}{file}%
+  \pxcz at parse@opt at b{use=tl-ja:}{#1}{ja}%
+  \pxcz at parse@opt at b{use=tl-ko:}{#1}{ko}%
+  \pxcz at parse@opt at b{use=tl-sc:}{#1}{sc}%
+  \pxcz at parse@opt at b{use=tl-tc:}{#1}{tc}%
+  \pxcz at parse@opt at b{use=tl:}{#1}{ja}%
+  \pxcz at parse@opt at b{use=}{#1}{file}%
   \pxcz at parse@opt at a{+}{#1}{\pxcz at file@preset at tltrue}%
   \pxcz at parse@opt at a{*}{#1}{\pxcz at file@preset at tlfalse}%
   \pxcz at parse@opt at a{tl:}{#1}{\pxcz at file@preset at tltrue}%
   \pxcz at parse@opt at a{file:}{#1}{\pxcz at file@preset at tlfalse}}
-\pxcz at onlypreamble@def\pxcz at parse@opt at a#1#2#3{%
+\pxcz at onlypreamble@def\pxcz at parse@opt at a#1#2#3{% for file presets
   \ifpxcz at ok\else
     \pxcz at split{#1}{#2}\ifx\pxcz at pre\@empty
       #3\let\pxcz at file@preset\pxcz at post \pxcz at oktrue
     \fi
   \fi}
-% dispatch
+\pxcz at onlypreamble@def\pxcz at parse@opt at a#1#2#3{% for file preloads
+  \ifpxcz at ok\else
+    \pxcz at split{#1}{#2}\ifx\pxcz at pre\@empty
+      #3\let\pxcz at file@preset\pxcz at post \pxcz at oktrue
+    \fi
+  \fi}
+\pxcz at onlypreamble@def\pxcz at parse@opt at b#1#2#3{% for file presets
+  \ifpxcz at ok\else
+    \pxcz at split{#1}{#2}\ifx\pxcz at pre\@empty
+      \edef\pxcz at use@list{\pxcz at use@list\pxcz at use@do{#3}{\pxcz at post}}%
+      \pxcz at 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 at fullwidth -fwid\fi' instead}
 \fi
@@ -424,6 +455,27 @@
   \let\pxcz at switch@font at xjistrue\pxcz at switch@font at xjisfalse
 \fi
 
+\begingroup \lccode`\@=`\_ \lowercase{%
+  \xdef\pxcz at get@dvipdfmx at version{%
+    \let\noexpand\pxcz at dvipdfmx@version\expandafter\noexpand
+    \csname c@@Kernel at sys@dvipdfmx at version@int\endcsname}}
+\endgroup
+\AtBeginDocument{%
+  \@tempswatrue
+  \ifnum\pxcz at directunicode<\pxcz at directunicode@full\else
+    \pxcz at get@dvipdfmx at version
+    \ifx\pxcz at dvipdfmx@version\@undefined\else
+      \ifnum\pxcz at dvipdfmx@version<20170918
+        \@tempswafalse \fi\fi
+  \fi
+  \if at tempswa\else
+    \PackageError\pxcz at pkgname
+     {Option 'unicode' is not available, since\MessageBreak
+      your dvipdfmx is too old (v.\number\pxcz at dvipdfmx@version)}
+     {The option requires dvipdfmx version 20170918 or later.%
+      \MessageBreak\@ehc}
+  \fi}
+
 %--------------------------------------- preset-dependent setup
 
 %% variables
@@ -438,7 +490,7 @@
     \let\pxcz at directunicode\pxcz at directunicode@full
     \pxcz at uniquifyfalse
   \else\ifnum\pxcz at directunicode=\pxcz at directunicode@full
-    \ifpxcz at uniquify % unicode* -> unicode+
+    \ifpxcz at uniquify % unicode* -> 'unicode+'
       \pxcz at switch@font at xwidtrue \pxcz at uniquifyfalse
     \fi % unicode -> (unchanged)
   \else \pxcz at uniquifyfalse % otherwise, enable switch-font
@@ -465,8 +517,7 @@
   \pxcz at cond\ifx\pxcz at main@preset\pxcz at 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 at do{sourcehan}{\pxcz at apply@opt at unicode}
 \pxcz at do{sourcehan-otc}{\pxcz at apply@opt at unicode}
 \pxcz at do{sourcehan-jp}{\pxcz at apply@opt at unicode}
@@ -560,7 +611,10 @@
 
 %% \pxcz at sym@list
 \def\pxcz at 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 at setfont{mnl,mnr,mnb}}
@@ -573,12 +627,40 @@
 \newcommand*\setxboldgothicfont{\pxcz at setfont{gtx}}
 \newcommand*\setoneweightgothicfont{\pxcz at setfont{gtu}}
 \newcommand*\setmarugothicfont{\pxcz at setfont{mgr}}
-\newcommand*\setkoreanminchofont{\pxcz at setfont{kom}}
-\newcommand*\setkoreangothicfont{\pxcz at setfont{kog}}
-\newcommand*\setschineseminchofont{\pxcz at setfont{scm}}
-\newcommand*\setschinesegothicfont{\pxcz at setfont{scg}}
-\newcommand*\settchineseminchofont{\pxcz at setfont{tcm}}
-\newcommand*\settchinesegothicfont{\pxcz at setfont{tcg}}
+
+\newcommand*\setkoreanminchofont{\pxcz at setfont{koml,komr,komb}}
+\newcommand*\setkoreangothicfont{\pxcz at setfont{kogr,kogb,kogx,kogu,komgr}}
+\newcommand*\setkoreanlightminchofont{\pxcz at setfont{koml}}
+\newcommand*\setkoreanmediumminchofont{\pxcz at setfont{komr}}
+\newcommand*\setkoreanboldminchofont{\pxcz at setfont{komb}}
+\newcommand*\setkoreanmediumgothicfont{\pxcz at setfont{kogr}}
+\newcommand*\setkoreanboldgothicfont{\pxcz at setfont{kogb}}
+\newcommand*\setkoreanxboldgothicfont{\pxcz at setfont{kogx}}
+\newcommand*\setkoreanoneweightgothicfont{\pxcz at setfont{kogu}}
+\newcommand*\setkoreanmarugothicfont{\pxcz at setfont{komgr}}
+
+\newcommand*\setschineseminchofont{\pxcz at setfont{scml,scmr,scmb}}
+\newcommand*\setschinesegothicfont{\pxcz at setfont{scgr,scgb,scgx,scgu,scmgr}}
+\newcommand*\setschineselightminchofont{\pxcz at setfont{scml}}
+\newcommand*\setschinesemediumminchofont{\pxcz at setfont{scmr}}
+\newcommand*\setschineseboldminchofont{\pxcz at setfont{scmb}}
+\newcommand*\setschinesemediumgothicfont{\pxcz at setfont{scgr}}
+\newcommand*\setschineseboldgothicfont{\pxcz at setfont{scgb}}
+\newcommand*\setschinesexboldgothicfont{\pxcz at setfont{scgx}}
+\newcommand*\setschineseoneweightgothicfont{\pxcz at setfont{scgu}}
+\newcommand*\setschinesemarugothicfont{\pxcz at setfont{scmgr}}
+
+\newcommand*\settchineseminchofont{\pxcz at setfont{tcml,tcmr,tcmb}}
+\newcommand*\settchinesegothicfont{\pxcz at setfont{tcgr,tcgb,tcgx,tcgu,tcmgr}}
+\newcommand*\settchineselightminchofont{\pxcz at setfont{tcml}}
+\newcommand*\settchinesemediumminchofont{\pxcz at setfont{tcmr}}
+\newcommand*\settchineseboldminchofont{\pxcz at setfont{tcmb}}
+\newcommand*\settchinesemediumgothicfont{\pxcz at setfont{tcgr}}
+\newcommand*\settchineseboldgothicfont{\pxcz at setfont{tcgb}}
+\newcommand*\settchinesexboldgothicfont{\pxcz at setfont{tcgx}}
+\newcommand*\settchineseoneweightgothicfont{\pxcz at setfont{tcgu}}
+\newcommand*\settchinesemarugothicfont{\pxcz at setfont{tcmgr}}
+
 \pxcz at onlypreamble@def\pxcz at setfont#1{\@ifnextchar[%]
   {\pxcz at setfont@a{#1}}{\pxcz at setfont@a{#1}[0]}}
 \pxcz at onlypreamble@def\pxcz at setfont@a#1[#2]#3{%
@@ -653,12 +735,12 @@
   }}
 \pxcz at do{mnl,mnr,mnb}{Ryumin-Light}
 \pxcz at do{gtr,gtb,gtx,gtu,mgr}{GothicBBB-Medium}
-\pxcz at do{kom}{HYSMyeongJo-Medium}
-\pxcz at do{kog}{HYGoThic-Medium}
-\pxcz at do{scm}{STSong-Light}
-\pxcz at do{scg}{STHeiti-Regular}
-\pxcz at do{tcm}{MSung-Light}
-\pxcz at do{tcg}{MHei-Medium}
+\pxcz at do{koml,komr,komb}{HYSMyeongJo-Medium}
+\pxcz at do{kogr,kogb,kogx,kogu,komgr}{HYGoThic-Medium}
+\pxcz at do{scml,scmr,scmb}{STSong-Light}
+\pxcz at do{scgr,scgb,scgx,scgu,scmgr}{STHeiti-Regular}
+\pxcz at do{tcml,tcmr,tcmb}{MSung-Light}
+\pxcz at do{tcgr,tcgb,tcgx,tcgu,tcmgr}{MHei-Medium}
 
 %%<+> \JaFontReplacementFor{<sym>}
 \newcommand*\JaFontReplacementFor[1]{%
@@ -996,18 +1078,29 @@
 %% \pxcz at do@file at preset
 \pxcz at onlypreamble@def\pxcz at do@file at preset{%
   \ifpxcz at file@preset at tl
-    \pxcz at do@file at preset@a{ptex-}%
-    \ifpxcz at uptex \pxcz at do@file at preset@a{uptex-}\fi
-    \ifpxcz at otf
-      \pxcz at do@file at preset@a{otf-}%
-      \ifpxcz at uptex \pxcz at do@file at preset@a{otf-up-}\fi
-    \fi
+    \pxcz at use@mapfile{ja}{\pxcz at file@preset}%
   \else
-    \pxcz at do@file at preset@a{}%
+    \pxcz at use@mapfile{file}{\pxcz at file@preset}%
   \fi}
-\pxcz at onlypreamble@def\pxcz at do@file at preset@a#1{%
-  \pxcz at addtospec@alt\pxcz at mapfile{#1\pxcz at file@preset.map}}
 
+%% \pxcz at use@mapfile{<type>}{<basename>}
+\pxcz at onlypreamble@def\pxcz at use@mapfile#1{%#1=<type>
+  \pxcz at csuse@or{pxcz at use@mapfile@@#1}{\pxcz at use@mapfile at a{#1}}}
+\pxcz at onlypreamble@def\pxcz at use@mapfile@@file#1{%#1=<basename>
+  \pxcz at use@mapfile at b{#1}}
+\pxcz at onlypreamble@def\pxcz at use@mapfile@@ja#1{%
+  \pxcz at use@mapfile at b{ptex-#1}%
+  \ifpxcz at uptex \pxcz at use@mapfile at b{uptex-#1}\fi
+  \ifpxcz at otf
+    \pxcz at use@mapfile at b{otf-#1}%
+    \ifpxcz at uptex \pxcz at use@mapfile at b{otf-up-#1}\fi
+  \fi}
+\pxcz at onlypreamble@def\pxcz at use@mapfile at a#1#2{%
+  \ifpxcz at uptex \pxcz at use@mapfile at b{uptex-#1-#2}\fi
+  \ifpxcz at otf \pxcz at use@mapfile at b{otf-#1-#2}\fi}
+\pxcz at onlypreamble@def\pxcz at use@mapfile at b#1{%
+  \pxcz at addtospec@alt\pxcz at mapfile{#1.map}}
+
 %% \pxcz at addtospec@alt
 \def\pxcz at addtospec@alt#1#2{%
   \xdef\pxcz at spec{\pxcz at spec\noexpand\special{#1{#2}}}}
@@ -1130,30 +1223,92 @@
 \Entry{mgr}{hmgothrn-v}    {V}                   {V}%
 %
 \ifpxcz at 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 at 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 at mapentry{UPOTF}{%
 \Entry{mnl}{uphminl-h}     {UniJIS-UTF16-H}      {Uni*,90,Exp}%
@@ -1609,7 +1764,13 @@
 
 %% the begin-document hook
 \pxcz at onlypreamble@def\pxcz at doc@hook{%
+  \ifpxcz at otf
+    \@ifpackageloaded{otf}{\pxcz at otftrue}{\pxcz at otffalse}%
+    \@ifpackageloaded{utf}{\pxcz at utftrue}{\pxcz at utffalse}%
+  \fi
   \pxcz at user@hook
+  \let\pxcz at use@do\pxcz at use@mapfile
+  \pxcz at use@list
   \ifx\pxcz at file@preset\relax\else
     \pxcz at do@file at preset
   \fi
@@ -1665,10 +1826,6 @@
     \pxcz at addtospec{UPSTD}%
   \fi
   \ifpxcz at otf
-    \@ifpackageloaded{otf}{\pxcz at otftrue}{\pxcz at otffalse}%
-    \@ifpackageloaded{utf}{\pxcz at utftrue}{\pxcz at utffalse}%
-  \fi
-  \ifpxcz at otf
     \ifnum0\ifnum\pxcz at legacycode=\pxcz at legacycode@replace 1\fi
            \ifpxcz at uptex 1\fi >\z@
       \pxcz at addtospec{UPOTF}%
@@ -2104,6 +2261,14 @@
 \pxcz at declare@preset at alias{noto+}{noto}
 \pxcz at declare@preset at alias{noto-otc+}{noto-otc}
 \pxcz at declare@preset at alias{yu-win10+}{yu-win10}
+%(bang-variants)
+\pxcz at declare@preset at alias{sourcehan!}{sourcehan}
+\pxcz at declare@preset at alias{sourcehan-otc!}{sourcehan-otc}
+\pxcz at declare@preset at alias{sourcehan-jp!}{sourcehan-jp}
+\pxcz at declare@preset at alias{noto!}{noto}
+\pxcz at declare@preset at alias{noto-otf!}{noto-otf}
+\pxcz at declare@preset at alias{noto-otc!}{noto-otc}
+\pxcz at declare@preset at alias{noto-jp!}{noto-jp}
 
 %% ... and invokes the specified one!
 \if\pxcz at main@preset\relax\else



More information about the tex-live-commits mailing list.