texlive[44459] Master/texmf-dist: pxchfon (1jun17)

commits+karl at tug.org commits+karl at tug.org
Mon Jun 5 01:50:15 CEST 2017


Revision: 44459
          http://tug.org/svn/texlive?view=revision&revision=44459
Author:   karl
Date:     2017-06-05 01:50:15 +0200 (Mon, 05 Jun 2017)
Log Message:
-----------
pxchfon (1jun17)

Modified Paths:
--------------
    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
    trunk/Master/texmf-dist/tex/platex/pxchfon/pxjafont.sty

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	2017-06-04 23:50:01 UTC (rev 44458)
+++ trunk/Master/texmf-dist/doc/platex/pxchfon/pxchfon.tex	2017-06-04 23:50:15 UTC (rev 44459)
@@ -10,8 +10,8 @@
 \usepackage{metalogo}
 \usepackage{shortvrb}
 \MakeShortVerb{\|}
-\newcommand{\PkgVersion}{0.9}
-\newcommand{\PkgDate}{2017/04/08}
+\newcommand{\PkgVersion}{1.0}
+\newcommand{\PkgDate}{2017/05/31}
 \newcommand{\Pkg}[1]{\textsf{#1}}
 \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
 \newcommand{\Note}{\par\noindent ※}
@@ -44,8 +44,6 @@
 0.5 版での拡張で、{\pTeX}において広く行われているフォント設定
 (IPA フォントの使用等)をパッケージオプション一つで
 行う機能を追加した。
-(この機能は元々、別の \Pkg{PXjafont} パッケージとして
-提供されていたものである。)
 
 %===========================================================
 \section{前提環境}
@@ -334,8 +332,9 @@
 場合にも有用である。
 そこで、{\pTeX}において広く行われている設定をパッケージ内に
 組み込んで、パッケージオプションでそれを呼び出すという機能を追加した。
-元々は\Pkg{PXjafont}という別のパッケージで提供されていた機能であるが、
-0.5版からこのパッケージに組み入れることにした。
+\footnote{元々は\Pkg{PXjafont}という別のパッケージで
+提供されていた機能であるが、
+0.5版からこのパッケージに組み入れることにした。}
 
 パッケージオプションにプリセット名を指定すると予め決められたフォント
 ファイル名が |\setminchofont| 等の命令で設定される。
@@ -640,6 +639,36 @@
 \end{verbatim}\end{quote}
 \end{itemize}
 
+以下は試験的なプリセット設定である。
+\Note 具体的な設定内容は未確定のため割愛する。
+\Note 種々の事情のため、現状の実装では日本語用の設定のために
+繁体中国語等の日本語以外のフォントも利用している。
+従って、言語別OTF版のフォントファイルを利用する場合は、
+原則的に全てのCJK言語の版を用意する必要がある。
+
+\begin{itemize}
+\item |sourcehan-otc|\Means
+  Source Han Serif(源ノ明朝)+ Source Han Sans(源ノ角ゴシック)、
+  OTC版。
+  \Note |SourceHanSerif-Regular.ttc|、|SourceHanSans-Regular.ttc|等。
+
+\item |sourcehan|\Means
+  Source Han Serif(源ノ明朝)+ Source Han Sans(源ノ角ゴシック)、
+  言語別OTF版。
+  \Note |SourceHanSerif-Regular.otf|、|SourceHanSans-Regular.otf|等。
+
+\item |noto-otc|\Means
+  Noto Serif CJK + Noto Sans CJK、
+  OTC版。
+  \Note |NotoSerifCJK-Regular.ttc|、|NotoSansCJK-Regular.ttc|等。
+
+\item |noto|\Means
+  Noto Serif CJK + Noto Sans CJK、
+  言語別OTF版。
+  \Note |NotoSerifCJKjp-Regular.otf|、|NotoSansCJKjp-Regular.otf|等。
+
+\end{itemize}
+
 なお、以上の設定で登場したフォントのうち、
 「HG丸ゴシックM-PRO」
 は欧文が等幅でないので |alphabet| オプション指定と
@@ -665,53 +694,31 @@
   は\Pkg{ptex-fontmaps}のものと同義になる予定である。}
 
 %-------------------
-\subsection{旧版のオプション}
+\subsection{廃止されたオプション}
 
-0.5版以前で用意されていたプリセット設定。
-現在は非推奨となっている。
-\Note これらの非推奨のオプションは1.0版で廃止予定であり、
-0.9版以降で使用すると警告が出る。
+以下に挙げるのは、0.5版以降で非推奨となっていたプリセット設定である。
+これらは1.0版において\textgt{廃止}されたため、
+現在は使用するとエラーが発生する。
 
 \begin{itemize}
 \item |ipa-otf|\Means
-  「拡張子が |.otf| の」IPAフォントを使用する。
-\begin{quote}\small\begin{verbatim}
-\setminchofont{ipam.otf} % IPA明朝
-\setgothicfont{ipag.otf} % IPAゴシック
-\end{verbatim}\end{quote}
-
+  「拡張子が |.otf| の」IPAフォント。
+  \Note 代替のプリセットはない。
 \item |ipa-dx|\Means
   「拡張子が |.otf| の」IPAフォント + HGフォント。
-  \Note |ipa-hg| とIPAフォントの拡張子を除いて同じ。
-
+  \Note 代替のプリセットはない。
 \item |kozuka4|\Means
   小塚フォント(Pro版)の単ウェイト使用。
-\begin{quote}\small\begin{verbatim}
-\setminchofont{KozMinPro-Regular-Acro.otf} % 小塚明朝 Pro R
-\setgothicfont{KozGoPro-Medium-Acro.otf}   % 小塚ゴシック Pro M
-\end{verbatim}\end{quote}
-
+  \Note |kozuka-pro|+|oneweight| オプションで代替可能。
 \item |kozuka6|\Means
   小塚フォント(Pr6版)の単ウェイト使用。
-\begin{quote}\small\begin{verbatim}
-\setminchofont{KozMinProVI-Regular.otf} % 小塚明朝 Pro-VI R
-\setgothicfont{KozGoProVI-Medium.otf}   % 小塚ゴシック Pro-VI M
-\end{verbatim}\end{quote}
-
+  \Note |kozuka-pr6|+|oneweight| オプションで代替可能。
 \item |kozuka6n|\Means
   小塚フォント(Pr6n版)の単ウェイト使用。
-\begin{quote}\small\begin{verbatim}
-\setminchofont{KozMinPr6N-Regular.otf} % 小塚明朝 Pr6N R
-\setgothicfont{KozGoPr6N-Medium.otf}   % 小塚ゴシック Pr6N M
-\end{verbatim}\end{quote}
-
+  \Note |kozuka-prn|+|oneweight| オプションで代替可能。
 \item |hiragino|\Means
   ヒラギノフォントの単ウェイト使用。
-\begin{quote}\small\begin{verbatim}
-\setminchofont{HiraMinPro-W3.otf}  % ヒラギノ明朝 Pro W3
-\setgothicfont{HiraKakuPro-W6.otf} % ヒラギノ角ゴ Pro W6
-\end{verbatim}\end{quote}
-
+  \Note |hiragino-pro|+|oneweight| オプションで代替可能。
 \item |ms-dx|\Means |ms-hg| の別名。
 \item |ipa-ttf|\Means |ipa| の別名。
 \item |ipa-ttf-dx|\Means |ipa-hg| の別名。
@@ -905,24 +912,19 @@
 \end{verbatim}\end{quote}
 
 %===========================================================
-\section{pxjafontパッケージの更新}
+\section{pxjafontパッケージ}
 
-{\sffamily
-\Pkg{PXjafont}バンドル0.2版をインストールしている場合の注意。}
+現在の版の\Pkg{pxchfon}パッケージは旧来の\Pkg{pxjafont}の機能を
+取り込んでいるため、\Pkg{pxjafont}は不要である。
+古い環境との互換性のため\Pkg{pxjafont}を残していたが、
+1.0版において\Pkg{pxjafont}の使用を非推奨の扱いとした。
+(近い将来に廃止予定。)
 
-現在の版の\Pkg{pxchfon}パッケージは\Pkg{pxjafont}の機能を
-取り込んでいるため、\Pkg{pxjafont}は不要となり、
-そのため現在の版は\Pkg{pxjafont}と一緒に使えない。
-何らかの理由で引き続き\Pkg{pxjafont}パッケージを使いたい場合は、
-既にインストールされている |pxjafont.sty| を
-本バンドルの\Pkg{PXjafont}ディレクトリにある %
-|pxjafont.sty|(\Pkg{pxjafont}パッケージ 0.5 版)
-で置き換えればよい。
+\Pkg{pxjafont}を利用しているユーザは、
+\ref{sec:Preset}節を参照して現在の\Pkg{pxchfon}用の
+適切な設定に書き直す必要がある。
 
-この新しい\Pkg{pxjafont}パッケージは処理を全て\Pkg{pxchfon}に
-渡すという動作をする。
-|ipa| オプションの意味が異なる(\ref{sec:Preset}節参照)
-のを除けば\Pkg{pxjafont} 0.2版と同じ動作である。
+\Note 古いプリセット名の中に廃止されたものがあるので注意。
 
 %===========================================================
 \section{中国語・韓国語フォントへの対応}
@@ -954,10 +956,13 @@
 \item プリセット指定は中国語・韓国語のフォントについては何も指定しない。
 従って、上記の命令を用いない場合は、これらのフォントのマップ再設定が
 行われることはない。
-\item |directunicode| 指定は中国語・韓国語のフォントに対しても有効である。
-ただし日本語の場合と同じく、効果の範囲は
-「\Pkg{OTF}パッケージのUnicode入力命令」(|\UTFK|、|\UTFM|、等)
-に限られる。
+\item |directunicode(*)| 指定は中国語・韓国語のフォントに対しても
+有効である。
+効果の範囲は日本語の場合と同様で、
+|directunicode| では「\Pkg{OTF}パッケージのUnicode入力命令」
+(|\UTFK|、|\UTFM|、等)が対象となり、
+|directunicode*| ではこれに加えて{\upTeX}標準のフォントも
+対象になる。
 \end{itemize}
 
 %===========================================================

Modified: trunk/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty	2017-06-04 23:50:01 UTC (rev 44458)
+++ trunk/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty	2017-06-04 23:50:15 UTC (rev 44459)
@@ -10,7 +10,7 @@
 
 %%%% package declaration
 \NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxchfon}[2017/04/08 v0.9]
+\ProvidesPackage{pxchfon}[2017/05/31 v1.0]
 \def\pxcz at pkgname{pxchfon}
 
 %%%% definitions
@@ -59,6 +59,7 @@
 \newif\ifpxcz at oneweight
 \DeclareOption{oneweight}{\pxcz at oneweighttrue}
 \DeclareOption{nooneweight}{\pxcz at oneweightfalse}
+\newif\ifpxcz at uniquify
 \chardef\pxcz at directunicode=0
 \DeclareOption{directunicode*}{\chardef\pxcz at directunicode=2 }
 \DeclareOption{directunicode}{\chardef\pxcz at directunicode=1 }
@@ -73,6 +74,7 @@
   kozuka-pro,kozuka-pr6,kozuka-pr6n,hiragino-pro,hiragino-pron,%
   hiragino-elcapitan-pro,hiragino-elcapitan-pron,%
   morisawa-pro,morisawa-pr6n,yu-win,yu-win10,yu-osx,%
+  sourcehan-otc,sourcehan,noto-otc,noto%
   %(obsolete)
   ipa-otf,ipa-otf-dx,kozuka4,kozuka6,kozuka6n,hiragino,%
   %(alias)
@@ -83,24 +85,35 @@
 \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}}
-% file-preset handler
+% others
+\def\pxcz at opt@@unicode{unicode}
+\def\pxcz at opt@@unicodeS{unicode*}
 \DeclareOption*{%
-  \let\pxcz at x\relax
-  \expandafter\pxcz at popt\CurrentOption\@nnil
-  \ifx\pxcz at x\relax \@unknownoptionerror
-  \else \let\pxcz at file@preset\pxcz at x \fi}
+  \ifx\CurrentOption\pxcz at opt@@unicode
+    \chardef\pxcz at directunicode=3
+  \else\ifx\CurrentOption\pxcz at opt@@unicodeS
+    \pxcz at uniquifytrue
+    \chardef\pxcz at directunicode=3
+  \else
+    \pxcz at parse@opt\CurrentOption
+    \ifpxcz at ok\else \@unknownoptionerror \fi
+  \fi\fi}
 \let\pxcz at file@preset\relax
 \newif\ifpxcz at file@preset at tl
-\def\pxcz at popt{%
-  \futurelet\pxcz at tok\pxcz at popt@a}
-\def\pxcz at popt@a{%
+\def\pxcz at parse@opt#1{%
+  \expandafter\pxcz at parse@opt at a#1\@nnil}
+\def\pxcz at parse@opt at a{%
+  \futurelet\pxcz at tok\pxcz at parse@opt at b}
+\def\pxcz at parse@opt at b{%
+  \pxcz at okfalse
   \let\pxcz at tmpa\remove at to@nnil
   \ifx+\pxcz at tok
-    \pxcz at file@preset at tltrue \let\pxcz at tmpa\pxcz at popt@b
+    \pxcz at file@preset at tltrue \let\pxcz at tmpa\pxcz at parse@opt at c
   \else\ifx*\pxcz at tok
-    \pxcz at file@preset at tlfalse \let\pxcz at tmpa\pxcz at popt@b
+    \pxcz at file@preset at tlfalse \let\pxcz at tmpa\pxcz at parse@opt at c
   \fi\fi \pxcz at tmpa}
-\def\pxcz at popt@b#1#2\@nnil{\edef\pxcz at x{#2}}
+\def\pxcz at parse@opt at c#1#2\@nnil{%
+  \edef\pxcz at file@preset{#2}}
 % dispatch
 \ProcessOptions*
 % 'everypage' needs 'atbegshi' package
@@ -157,6 +170,24 @@
 \newif\ifpxcz at otf@multi \pxcz at otf@multifalse
 \@ifpackagewith{otf}{multi}{\pxcz at otf@multitrue}{}
 
+%%------------------ preset-triggered setup
+
+%% \pxcz at if@main at preset{<name>}{<code>}
+\def\pxcz at if@main at preset#1{%
+  \edef\pxcz at tmpa{#1}%
+  \ifx\pxcz at main@preset\pxcz at tmpa \expandafter\@firstofone
+  \else \expandafter\@gobble
+  \fi}
+%% setup
+\pxcz at if@main at preset{sourcehan}{%
+  \chardef\pxcz at directunicode=3 \pxcz at uniquifyfalse}
+\pxcz at if@main at preset{sourcehan-otc}{%
+  \chardef\pxcz at directunicode=3 \pxcz at uniquifyfalse}
+\pxcz at if@main at preset{noto}{%
+  \chardef\pxcz at directunicode=3 \pxcz at uniquifyfalse}
+\pxcz at if@main at preset{noto-otc}{%
+  \chardef\pxcz at directunicode=3 \pxcz at uniquifyfalse}
+
 %%------------------ user interface
 
 %%%%<*> \setminchofont/\setgothicfont/etc.
@@ -188,7 +219,7 @@
 }\do{\@namedef{pxcz at FS/\pxcz at x}{}}
 
 %%------------------ '\asUTF'
-% NB. This feature is superseded by the pxasutf package.
+% NB. This feature is superseded by the \diruni command.
 \ifpxcz at uptex
 
 %%<*> \asUTF{<jachar>}
@@ -307,11 +338,34 @@
 % NB: not \edef
 \def\pxcz at MI#1#2:{\ifpxcz at mmivjis:#1:\else:#2:\fi}
 
-%% \pxcz at unidirect
+%% \pxcz at SH
+% NB: not \edef
+\def\pxcz at SH#1{%
+  \ifx#1/\expandafter\pxcz at SH@otf at dif
+  \else \expandafter\pxcz at SH@otc at dif
+  \fi}
+\def\pxcz at SH@otc at dif#1:{%
+  :\the\pxcz at entry@type:}
+\def\pxcz at SH@otf at dif#1-{%
+  #1\ifcase\pxcz at entry@type\or K\or SC\fi-}
+
+%% \pxcz at NC
+% NB: not \edef
+\def\pxcz at NC#1{%
+  \ifx#1/\expandafter\pxcz at NC@otf at dif
+  \else \expandafter\pxcz at NC@otc at dif
+  \fi}
+\def\pxcz at NC@otc at dif#1:{%
+  :\the\pxcz at entry@type:}
+\def\pxcz at NC@otf at dif#1jp{%
+  #1\ifcase\pxcz at entry@type\or kr\or sc\fi}
+
+%% primary macros
 \let\pxcz at unidirect\@empty
 \let\pxcz at unidirectX\@empty
 \let\pxcz at unidirect@wopt\@empty
 \let\pxcz at unidirectX@wopt\@empty
+\let\pxcz at unidirectX@lopt\@gobble
 \ifnum\pxcz at directunicode>\z@
 \def\pxcz at unidirect#1-#2-#3{\pxcz at cmap@directuni}
 \def\pxcz at unidirect@wopt{ -w 1}
@@ -320,12 +374,31 @@
 \let\pxcz at unidirectX\pxcz at unidirect
 \let\pxcz at unidirectX@wopt\pxcz at unidirect@wopt
 \fi
+\ifnum\pxcz at directunicode>\tw@
+\def\pxcz at unidirectX@lopt#1{ -l #1}
+\fi
+%% secondary macros
+\def\pxcz at entry@UniJIS{\@+\pxcz at pfx@unijis}%
+\def\pxcz at entry@@hwid{\@l{hwid}}%
+\def\pxcz at entry@@fwid{\@l{fwid}}%
+\def\pxcz at entry@@jp#1#2{\@l{jp#1#2}}%
+\ifpxcz at mmivjis
+\def\pxcz at entry@@jpXX{\@l{jp04}}
+\else
+\def\pxcz at entry@@jpXX{\@l{jp90}}
+\fi
+\ifpxcz at uniquify
+\let\pxcz at entry@@hwid\pxcz at entry@@jpXX
+\let\pxcz at entry@@fwid\pxcz at entry@@jpXX
+\fi
 
 %% \pxcz at addtospec{<id>}
 \def\pxcz at addtospec#1{%
   \bgroup \let\Entry\pxcz at Entry
-    \let\ \space \let\*\pxcz at pfx@jis 
-    \def\UniJIS{\pxcz at unidirectX\pxcz at pfx@unijis}%
+    \let\ \space \let\*\pxcz at pfx@jis
+    \let\UniJIS\pxcz at entry@UniJIS
+    \let\@hwid\pxcz at entry@@hwid \let\@fwid\pxcz at entry@@fwid
+    \let\@jp\pxcz at entry@@jp \let\@jpXX\pxcz at entry@@jpXX
     \@nameuse{pxcz at ME/#1}\egroup}
 \def\pxcz at Entry#1{%
   \expandafter\let\expandafter\FONT\csname pxcz at FS/#1\endcsname
@@ -333,6 +406,7 @@
   \ifx\FONT\pxcz at noembed
     \let\UniCMap\pxcz at cmap@hwuni
     \let\+\@empty \let\w\@empty \def\@+{}\let\@w\@empty
+    \let\@l\@gobble
     \edef\FONT{!\@nameuse{pxcz at NEF/#1}}%
     \let\FONTo\FONT \let\FONTs\FONT
   \else\ifx\FONT\@empty\else
@@ -339,13 +413,15 @@
     \let\UniCMap\pxcz at cmap@uni
     \let\+\pxcz at unidirect \let\w\pxcz at unidirect@wopt
     \def\@+{\pxcz at unidirectX}\let\@w\pxcz at unidirectX@wopt
+    \let\@l\pxcz at unidirectX@lopt
     \pxcz at switch@realfont
   \fi\fi
-  \ifx\FONT\@empty \expandafter\@gobble
+  \ifx\FONT\@empty \expandafter\@gobbletwo
   \else \expandafter\pxcz at entry@a \fi}
-\def\pxcz at entry@a#1{%
+\def\pxcz at entry@a#1#2{%
+  \chardef\pxcz at entry@type=#1\relax
   \xdef\pxcz at spec{%
-    \pxcz at spec\noexpand\special{\pxcz at mapline{#1}}}}
+    \pxcz at spec\noexpand\special{\pxcz at mapline{#2}}}}
 \let\pxcz at spec\@empty
 
 %% \pxcz at do@file at preset
@@ -377,213 +453,199 @@
 \def\pxcz at mapentry@a#1{\@onlypreamble#1\def#1}
 
 %%%% map entries
+% \FONT: file name for the 2004JIS font
+% \FONTo: file name for the 90JIS font
+% \FONTs: \FONT if prefer2004jis, \FONTo otherwise
+% \*H: 2004-H if prefer2004jis, H otherwise
+% \UniJIS: UniJIS2004 if prefer2004jis, UniJIS otherwise
+% \+Uni...-H: replaced by 'unicode' if directunicode
+% \@+Uni...-H: replaced by 'unicode' if directunicode*
+% \w: '-w 1' if directunicode
+% \@w: '-w 1' if directunicode*
 \pxcz at mapentry{STD}{%
-\Entry{mnr}{rml        \*H            \FONTs}%
-\Entry{mnr}{rmlv       \*V            \FONTs}%
-\Entry{gtu}{gbm        \*H            \FONTs}%
-\Entry{gtu}{gbmv       \*V            \FONTs}%
+\Entry{mnr}0{rml             \*H                     \FONTs}%
+\Entry{mnr}0{rmlv            \*V                     \FONTs}%
+\Entry{gtu}0{gbm             \*H                     \FONTs}%
+\Entry{gtu}0{gbmv            \*V                     \FONTs}%
 }
 \pxcz at mapentry{ALPHA}{%
-\Entry{mnl}{r-cfjar-l- at PXcjk0@ \UniCMap\ \FONT}%
-\Entry{mnr}{r-cfjar-r- at PXcjk0@ \UniCMap\ \FONT}%
-\Entry{mnb}{r-cfjar-b- at PXcjk0@ \UniCMap\ \FONT}%
-\Entry{gtr}{r-cfjas-r- at PXcjk0@ \UniCMap\ \FONT}%
-\Entry{gtb}{r-cfjas-b- at PXcjk0@ \UniCMap\ \FONT}%
-\Entry{gtx}{r-cfjas-x- at PXcjk0@ \UniCMap\ \FONT}%
-\Entry{mgr}{r-cfjas-r- at PXcjk0@ \UniCMap\ \FONT}%
+\Entry{mnl}1{r-cfjar-l- at PXcjk0@ \UniCMap\            \FONT\@hwid}%
+\Entry{mnr}1{r-cfjar-r- at PXcjk0@ \UniCMap\            \FONT\@hwid}%
+\Entry{mnb}1{r-cfjar-b- at PXcjk0@ \UniCMap\            \FONT\@hwid}%
+\Entry{gtr}1{r-cfjas-r- at PXcjk0@ \UniCMap\            \FONT\@hwid}%
+\Entry{gtb}1{r-cfjas-b- at PXcjk0@ \UniCMap\            \FONT\@hwid}%
+\Entry{gtx}1{r-cfjas-x- at PXcjk0@ \UniCMap\            \FONT\@hwid}%
+\Entry{mgr}1{r-cfjas-r- at PXcjk0@ \UniCMap\            \FONT\@hwid}%
 }
 \pxcz at mapentry{UTF}{%
-\Entry{mnr}{unijmin-h  \UniJIS-UTF16-H \FONTs}%
-\Entry{mnr}{unijmin-v  \UniJIS-UTF16-V \FONTs\@w}%
-\Entry{mnr}{cidmin-h   Identity-H     \FONT/AJ16}%
-\Entry{mnr}{cidmin-v   Identity-V     \FONT/AJ16}%
-\Entry{mnr}{hmr        \*H            \FONTs}%
-\Entry{mnr}{hmrv       \*V            \FONTs}%
-\Entry{gtu}{unijgoth-h \UniJIS-UTF16-H \FONTs}%
-\Entry{gtu}{unijgoth-v \UniJIS-UTF16-V \FONTs\@w}%
-\Entry{gtu}{cidgoth-h  Identity-H     \FONT/AJ16}%
-\Entry{gtu}{cidgoth-v  Identity-V     \FONT/AJ16}%
-\Entry{gtu}{hkb        \*H            \FONTs}%
-\Entry{gtu}{hkbv       \*V            \FONTs}%
+\Entry{mnr}0{unijmin-h       \UniJIS-UTF16-H         \FONTs}%
+\Entry{mnr}0{unijmin-v       \UniJIS-UTF16-V         \FONTs\@w}%
+\Entry{mnr}0{cidmin-h        Identity-H              \FONT/AJ16}%
+\Entry{mnr}0{cidmin-v        Identity-V              \FONT/AJ16}%
+\Entry{mnr}0{hmr             \*H                     \FONTs}%
+\Entry{mnr}0{hmrv            \*V                     \FONTs}%
+\Entry{gtu}0{unijgoth-h      \UniJIS-UTF16-H         \FONTs}%
+\Entry{gtu}0{unijgoth-v      \UniJIS-UTF16-V         \FONTs\@w}%
+\Entry{gtu}0{cidgoth-h       Identity-H              \FONT/AJ16}%
+\Entry{gtu}0{cidgoth-v       Identity-V              \FONT/AJ16}%
+\Entry{gtu}0{hkb             \*H                     \FONTs}%
+\Entry{gtu}0{hkbv            \*V                     \FONTs}%
 }
 \pxcz at mapentry{OTF}{%
-\Entry{mnl}{otf-ujml-h \+UniJIS-UTF16-H \FONTo}%
-\Entry{mnl}{otf-ujml-v \+UniJIS-UTF16-V \FONTo\w}%
-\Entry{mnl}{otf-cjml-h Identity-H     \FONT/AJ16}%
-\Entry{mnl}{otf-cjml-v Identity-V     \FONT/AJ16}%
-\Entry{mnl}{hminl-h    H              \FONTo}%
-\Entry{mnl}{hminl-v    V              \FONTo}%
-\Entry{mnl}{otf-ujmln-h \+UniJIS2004-UTF16-H \FONT}%
-\Entry{mnl}{otf-ujmln-v \+UniJIS2004-UTF16-V \FONT\w}%
-\Entry{mnl}{hminln-h   H              \FONT}%
-\Entry{mnl}{hminln-v   V              \FONT}%
-\Entry{mnr}{otf-ujmr-h \+UniJIS-UTF16-H \FONTo}%
-\Entry{mnr}{otf-ujmr-v \+UniJIS-UTF16-V \FONTo\w}%
-\Entry{mnr}{otf-cjmr-h Identity-H     \FONT/AJ16}%
-\Entry{mnr}{otf-cjmr-v Identity-V     \FONT/AJ16}%
-\Entry{mnr}{hminr-h    H              \FONTo}%
-\Entry{mnr}{hminr-v    V              \FONTo}%
-\Entry{mnr}{otf-ujmrn-h \+UniJIS2004-UTF16-H \FONT}%
-\Entry{mnr}{otf-ujmrn-v \+UniJIS2004-UTF16-V \FONT\w}%
-\Entry{mnr}{hminrn-h   H              \FONT}%
-\Entry{mnr}{hminrn-v   V              \FONT}%
-\Entry{mnb}{otf-ujmb-h \+UniJIS-UTF16-H \FONTo}%
-\Entry{mnb}{otf-ujmb-v \+UniJIS-UTF16-V \FONTo\w}%
-\Entry{mnb}{otf-cjmb-h Identity-H     \FONT/AJ16}%
-\Entry{mnb}{otf-cjmb-v Identity-V     \FONT/AJ16}%
-\Entry{mnb}{hminb-h    H              \FONTo}%
-\Entry{mnb}{hminb-v    V              \FONTo}%
-\Entry{mnb}{otf-ujmbn-h \+UniJIS2004-UTF16-H \FONT}%
-\Entry{mnb}{otf-ujmbn-v \+UniJIS2004-UTF16-V \FONT\w}%
-\Entry{mnb}{hminbn-h   H              \FONT}%
-\Entry{mnb}{hminbn-v   V              \FONT}%
-\Entry{gtr}{otf-ujgr-h \+UniJIS-UTF16-H \FONTo}%
-\Entry{gtr}{otf-ujgr-v \+UniJIS-UTF16-V \FONTo\w}%
-\Entry{gtr}{otf-cjgr-h Identity-H     \FONT/AJ16}%
-\Entry{gtr}{otf-cjgr-v Identity-V     \FONT/AJ16}%
-\Entry{gtr}{hgothr-h   H              \FONTo}%
-\Entry{gtr}{hgothr-v   V              \FONTo}%
-\Entry{gtr}{otf-ujgrn-h \+UniJIS2004-UTF16-H \FONT}%
-\Entry{gtr}{otf-ujgrn-v \+UniJIS2004-UTF16-V \FONT\w}%
-\Entry{gtr}{hgothrn-h  H              \FONT}%
-\Entry{gtr}{hgothrn-v  V              \FONT}%
-\Entry{gtb}{otf-ujgb-h \+UniJIS-UTF16-H \FONTo}%
-\Entry{gtb}{otf-ujgb-v \+UniJIS-UTF16-V \FONTo\w}%
-\Entry{gtb}{otf-cjgb-h Identity-H     \FONT/AJ16}%
-\Entry{gtb}{otf-cjgb-v Identity-V     \FONT/AJ16}%
-\Entry{gtb}{hgothb-h   H              \FONTo}%
-\Entry{gtb}{hgothb-v   V              \FONTo}%
-\Entry{gtb}{otf-ujgbn-h \+UniJIS2004-UTF16-H \FONT}%
-\Entry{gtb}{otf-ujgbn-v \+UniJIS2004-UTF16-V \FONT\w}%
-\Entry{gtb}{hgothbn-h  H              \FONT}%
-\Entry{gtb}{hgothbn-v  V              \FONT}%
-\Entry{gtx}{otf-ujge-h \+UniJIS-UTF16-H \FONTo}%
-\Entry{gtx}{otf-ujge-v \+UniJIS-UTF16-V \FONTo\w}%
-\Entry{gtx}{otf-cjge-h Identity-H     \FONT/AJ16}%
-\Entry{gtx}{otf-cjge-v Identity-V     \FONT/AJ16}%
-\Entry{gtx}{hgotheb-h  H              \FONTo}%
-\Entry{gtx}{hgotheb-v  V              \FONTo}%
-\Entry{gtx}{otf-ujgen-h \+UniJIS2004-UTF16-H \FONT}%
-\Entry{gtx}{otf-ujgen-v \+UniJIS2004-UTF16-V \FONT\w}%
-\Entry{gtx}{hgothebn-h H              \FONT}%
-\Entry{gtx}{hgothebn-v V              \FONT}%
-\Entry{mgr}{otf-ujmgr-h \+UniJIS-UTF16-H \FONTo}%
-\Entry{mgr}{otf-ujmgr-v \+UniJIS-UTF16-V \FONTo\w}%
-\Entry{mgr}{otf-cjmgr-h Identity-H     \FONT/AJ16}%
-\Entry{mgr}{otf-cjmgr-v Identity-V     \FONT/AJ16}%
-\Entry{mgr}{hmgothr-h   H              \FONTo}%
-\Entry{mgr}{hmgothr-v   V              \FONTo}%
-\Entry{mgr}{otf-ujmgrn-h \+UniJIS2004-UTF16-H \FONT}%
-\Entry{mgr}{otf-ujmgrn-v \+UniJIS2004-UTF16-V \FONT\w}%
-\Entry{mgr}{hmgothrn-h  H              \FONT}%
-\Entry{mgr}{hmgothrn-v  V              \FONT}%
+\Entry{mnl}0{otf-ujml-h      \+UniJIS-UTF16-H        \FONTo\@jp90}%
+\Entry{mnl}0{otf-ujml-v      \+UniJIS-UTF16-V        \FONTo\w\@jp90}%
+\Entry{mnl}0{otf-cjml-h      Identity-H              \FONT/AJ16}%
+\Entry{mnl}0{otf-cjml-v      Identity-V              \FONT/AJ16}%
+\Entry{mnl}0{hminl-h         H                       \FONTo}%
+\Entry{mnl}0{hminl-v         V                       \FONTo}%
+\Entry{mnl}0{otf-ujmln-h     \+UniJIS2004-UTF16-H    \FONT\@jp04}%
+\Entry{mnl}0{otf-ujmln-v     \+UniJIS2004-UTF16-V    \FONT\w\@jp04}%
+\Entry{mnl}0{hminln-h        H                       \FONT}%
+\Entry{mnl}0{hminln-v        V                       \FONT}%
+\Entry{mnr}0{otf-ujmr-h      \+UniJIS-UTF16-H        \FONTo\@jp90}%
+\Entry{mnr}0{otf-ujmr-v      \+UniJIS-UTF16-V        \FONTo\w\@jp90}%
+\Entry{mnr}0{otf-cjmr-h      Identity-H              \FONT/AJ16}%
+\Entry{mnr}0{otf-cjmr-v      Identity-V              \FONT/AJ16}%
+\Entry{mnr}0{hminr-h         H                       \FONTo}%
+\Entry{mnr}0{hminr-v         V                       \FONTo}%
+\Entry{mnr}0{otf-ujmrn-h     \+UniJIS2004-UTF16-H    \FONT\@jp04}%
+\Entry{mnr}0{otf-ujmrn-v     \+UniJIS2004-UTF16-V    \FONT\w\@jp04}%
+\Entry{mnr}0{hminrn-h        H                       \FONT}%
+\Entry{mnr}0{hminrn-v        V                       \FONT}%
+\Entry{mnb}0{otf-ujmb-h      \+UniJIS-UTF16-H        \FONTo\@jp90}%
+\Entry{mnb}0{otf-ujmb-v      \+UniJIS-UTF16-V        \FONTo\w\@jp90}%
+\Entry{mnb}0{otf-cjmb-h      Identity-H              \FONT/AJ16}%
+\Entry{mnb}0{otf-cjmb-v      Identity-V              \FONT/AJ16}%
+\Entry{mnb}0{hminb-h         H                       \FONTo}%
+\Entry{mnb}0{hminb-v         V                       \FONTo}%
+\Entry{mnb}0{otf-ujmbn-h     \+UniJIS2004-UTF16-H    \FONT\@jp04}%
+\Entry{mnb}0{otf-ujmbn-v     \+UniJIS2004-UTF16-V    \FONT\w\@jp04}%
+\Entry{mnb}0{hminbn-h        H                       \FONT}%
+\Entry{mnb}0{hminbn-v        V                       \FONT}%
+\Entry{gtr}0{otf-ujgr-h      \+UniJIS-UTF16-H        \FONTo\@jp90}%
+\Entry{gtr}0{otf-ujgr-v      \+UniJIS-UTF16-V        \FONTo\w\@jp90}%
+\Entry{gtr}0{otf-cjgr-h      Identity-H              \FONT/AJ16}%
+\Entry{gtr}0{otf-cjgr-v      Identity-V              \FONT/AJ16}%
+\Entry{gtr}0{hgothr-h        H                       \FONTo}%
+\Entry{gtr}0{hgothr-v        V                       \FONTo}%
+\Entry{gtr}0{otf-ujgrn-h     \+UniJIS2004-UTF16-H    \FONT\@jp04}%
+\Entry{gtr}0{otf-ujgrn-v     \+UniJIS2004-UTF16-V    \FONT\w\@jp04}%
+\Entry{gtr}0{hgothrn-h       H                       \FONT}%
+\Entry{gtr}0{hgothrn-v       V                       \FONT}%
+\Entry{gtb}0{otf-ujgb-h      \+UniJIS-UTF16-H        \FONTo\@jp90}%
+\Entry{gtb}0{otf-ujgb-v      \+UniJIS-UTF16-V        \FONTo\w\@jp90}%
+\Entry{gtb}0{otf-cjgb-h      Identity-H              \FONT/AJ16}%
+\Entry{gtb}0{otf-cjgb-v      Identity-V              \FONT/AJ16}%
+\Entry{gtb}0{hgothb-h        H                       \FONTo}%
+\Entry{gtb}0{hgothb-v        V                       \FONTo}%
+\Entry{gtb}0{otf-ujgbn-h     \+UniJIS2004-UTF16-H    \FONT\@jp04}%
+\Entry{gtb}0{otf-ujgbn-v     \+UniJIS2004-UTF16-V    \FONT\w\@jp04}%
+\Entry{gtb}0{hgothbn-h       H                       \FONT}%
+\Entry{gtb}0{hgothbn-v       V                       \FONT}%
+\Entry{gtx}0{otf-ujge-h      \+UniJIS-UTF16-H        \FONTo\@jp90}%
+\Entry{gtx}0{otf-ujge-v      \+UniJIS-UTF16-V        \FONTo\w\@jp90}%
+\Entry{gtx}0{otf-cjge-h      Identity-H              \FONT/AJ16}%
+\Entry{gtx}0{otf-cjge-v      Identity-V              \FONT/AJ16}%
+\Entry{gtx}0{hgotheb-h       H                       \FONTo}%
+\Entry{gtx}0{hgotheb-v       V                       \FONTo}%
+\Entry{gtx}0{otf-ujgen-h     \+UniJIS2004-UTF16-H    \FONT\@jp04}%
+\Entry{gtx}0{otf-ujgen-v     \+UniJIS2004-UTF16-V    \FONT\w\@jp04}%
+\Entry{gtx}0{hgothebn-h      H                       \FONT}%
+\Entry{gtx}0{hgothebn-v      V                       \FONT}%
+\Entry{mgr}0{otf-ujmgr-h     \+UniJIS-UTF16-H        \FONTo\@jp90}%
+\Entry{mgr}0{otf-ujmgr-v     \+UniJIS-UTF16-V        \FONTo\w\@jp90}%
+\Entry{mgr}0{otf-cjmgr-h     Identity-H              \FONT/AJ16}%
+\Entry{mgr}0{otf-cjmgr-v     Identity-V              \FONT/AJ16}%
+\Entry{mgr}0{hmgothr-h       H                       \FONTo}%
+\Entry{mgr}0{hmgothr-v       V                       \FONTo}%
+\Entry{mgr}0{otf-ujmgrn-h    \+UniJIS2004-UTF16-H    \FONT\@jp04}%
+\Entry{mgr}0{otf-ujmgrn-v    \+UniJIS2004-UTF16-V    \FONT\w\@jp04}%
+\Entry{mgr}0{hmgothrn-h      H                       \FONT}%
+\Entry{mgr}0{hmgothrn-v      V                       \FONT}%
 %
 \ifpxcz at otf@multi
-\Entry{kom}{otf-ukmr-h \+UniKS-UTF16-H   \FONT}%
-\Entry{kom}{otf-ukmr-v \+UniKS-UTF16-V   \FONT\w}%
-\Entry{kom}{otf-ckmr-h Identity-H        \FONT/AK12}%
-\Entry{kom}{otf-ckmr-v Identity-V        \FONT/AK12}%
-\Entry{kog}{otf-ukgr-h \+UniKS-UTF16-H   \FONT}%
-\Entry{kog}{otf-ukgr-v \+UniKS-UTF16-V   \FONT\w}%
-\Entry{kog}{otf-ckgr-h Identity-H        \FONT/AK12}%
-\Entry{kog}{otf-ckgr-v Identity-V        \FONT/AK12}%
-\Entry{scm}{otf-ucmr-h \+UniGB-UTF16-H   \FONT}%
-\Entry{scm}{otf-ucmr-v \+UniGB-UTF16-V   \FONT\w}%
-\Entry{scm}{otf-ccmr-h Identity-H        \FONT/AG14}%
-\Entry{scm}{otf-ccmr-v Identity-V        \FONT/AG14}%
-\Entry{scg}{otf-ucgr-h \+UniGB-UTF16-H   \FONT}%
-\Entry{scg}{otf-ucgr-v \+UniGB-UTF16-V   \FONT\w}%
-\Entry{scg}{otf-ccgr-h Identity-H        \FONT/AG14}%
-\Entry{scg}{otf-ccgr-v Identity-V        \FONT/AG14}%
-\Entry{tcm}{otf-utmr-h \+UniCNS-UTF16-H  \FONT}%
-\Entry{tcm}{otf-utmr-v \+UniCNS-UTF16-V  \FONT\w}%
-\Entry{tcm}{otf-ctmr-h Identity-H        \FONT/AC14}%
-\Entry{tcm}{otf-ctmr-v Identity-V        \FONT/AC14}%
-\Entry{tcg}{otf-utgr-h \+UniCNS-UTF16-H  \FONT}%
-\Entry{tcg}{otf-utgr-v \+UniCNS-UTF16-V  \FONT\w}%
-\Entry{tcg}{otf-ctgr-h Identity-H        \FONT/AC14}%
-\Entry{tcg}{otf-ctgr-v Identity-V        \FONT/AC14}%
+\Entry{kom}0{otf-ukmr-h      \+UniKS-UTF16-H         \FONT}%
+\Entry{kom}0{otf-ukmr-v      \+UniKS-UTF16-V         \FONT\w}%
+\Entry{kom}0{otf-ckmr-h      Identity-H              \FONT/AK12}%
+\Entry{kom}0{otf-ckmr-v      Identity-V              \FONT/AK12}%
+\Entry{kog}0{otf-ukgr-h      \+UniKS-UTF16-H         \FONT}%
+\Entry{kog}0{otf-ukgr-v      \+UniKS-UTF16-V         \FONT\w}%
+\Entry{kog}0{otf-ckgr-h      Identity-H              \FONT/AK12}%
+\Entry{kog}0{otf-ckgr-v      Identity-V              \FONT/AK12}%
+\Entry{scm}0{otf-ucmr-h      \+UniGB-UTF16-H         \FONT}%
+\Entry{scm}0{otf-ucmr-v      \+UniGB-UTF16-V         \FONT\w}%
+\Entry{scm}0{otf-ccmr-h      Identity-H              \FONT/AG14}%
+\Entry{scm}0{otf-ccmr-v      Identity-V              \FONT/AG14}%
+\Entry{scg}0{otf-ucgr-h      \+UniGB-UTF16-H         \FONT}%
+\Entry{scg}0{otf-ucgr-v      \+UniGB-UTF16-V         \FONT\w}%
+\Entry{scg}0{otf-ccgr-h      Identity-H              \FONT/AG14}%
+\Entry{scg}0{otf-ccgr-v      Identity-V              \FONT/AG14}%
+\Entry{tcm}0{otf-utmr-h      \+UniCNS-UTF16-H        \FONT}%
+\Entry{tcm}0{otf-utmr-v      \+UniCNS-UTF16-V        \FONT\w}%
+\Entry{tcm}0{otf-ctmr-h      Identity-H              \FONT/AC14}%
+\Entry{tcm}0{otf-ctmr-v      Identity-V              \FONT/AC14}%
+\Entry{tcg}0{otf-utgr-h      \+UniCNS-UTF16-H        \FONT}%
+\Entry{tcg}0{otf-utgr-v      \+UniCNS-UTF16-V        \FONT\w}%
+\Entry{tcg}0{otf-ctgr-h      Identity-H              \FONT/AC14}%
+\Entry{tcg}0{otf-ctgr-v      Identity-V              \FONT/AC14}%
 \fi
 }
 \pxcz at mapentry{UPSTD}{%
-\Entry{mnr}{uprml-h    \UniJIS-UTF16-H   \FONTs}%
-\Entry{mnr}{uprml-v    \UniJIS-UTF16-V   \FONTs\@w}%
-\Entry{mnr}{uprml-hq   \@+UniJIS-UCS2-H  \FONT}%
-\Entry{gtu}{upgbm-h    \UniJIS-UTF16-H   \FONTs}%
-\Entry{gtu}{upgbm-v    \UniJIS-UTF16-V   \FONTs\@w}%
-\Entry{gtu}{upgbm-hq   \@+UniJIS-UCS2-H  \FONT}%
-\Entry{mnr}{urml       \UniJIS-UTF16-H   \FONTs}%
-\Entry{mnr}{urmlv      \UniJIS-UTF16-V   \FONTs\@w}%
-\Entry{gtu}{ugbm       \UniJIS-UTF16-H   \FONTs}%
-\Entry{gtu}{ugbmv      \UniJIS-UTF16-V   \FONTs\@w}%
+\Entry{mnr}0{uprml-h         \UniJIS-UTF16-H         \FONTs\@jpXX}%
+\Entry{mnr}0{uprml-v         \UniJIS-UTF16-V         \FONTs\@w\@jpXX}%
+\Entry{mnr}2{uprml-hq        \@+UniJIS-UCS2-H        \FONT\@fwid}%
+\Entry{gtu}0{upgbm-h         \UniJIS-UTF16-H         \FONTs\@jpXX}%
+\Entry{gtu}0{upgbm-v         \UniJIS-UTF16-V         \FONTs\@w\@jpXX}%
+\Entry{gtu}2{upgbm-hq        \@+UniJIS-UCS2-H        \FONT\@fwid}%
+\Entry{mnr}0{urml            \UniJIS-UTF16-H         \FONTs\@jpXX}%
+\Entry{mnr}0{urmlv           \UniJIS-UTF16-V         \FONTs\@w\@jpXX}%
+\Entry{gtu}0{ugbm            \UniJIS-UTF16-H         \FONTs\@jpXX}%
+\Entry{gtu}0{ugbmv           \UniJIS-UTF16-V         \FONTs\@w\@jpXX}%
 %
-\Entry{kom}{uphysmjm-h   \@+UniKS-UTF16-H      \FONT}%
-\Entry{kom}{uphysmjm-v   \@+UniKS-UTF16-V      \FONT\@w}%
-\Entry{kog}{uphygt-h     \@+UniKS-UTF16-H      \FONT}%
-\Entry{kog}{uphygt-v     \@+UniKS-UTF16-V      \FONT\@w}%
-\Entry{scm}{upstsl-h     \@+UniGB-UTF16-H      \FONT}%
-\Entry{scm}{upstsl-v     \@+UniGB-UTF16-V      \FONT\@w}%
-\Entry{scg}{upstht-h     \@+UniGB-UTF16-H      \FONT}%
-\Entry{scg}{upstht-v     \@+UniGB-UTF16-V      \FONT\@w}%
-\Entry{tcm}{upmsl-h      \@+UniCNS-UTF16-H     \FONT}%
-\Entry{tcm}{upmsl-v      \@+UniCNS-UTF16-V     \FONT\@w}%
-\Entry{tcg}{upmhm-h      \@+UniCNS-UTF16-H     \FONT}%
-\Entry{tcg}{upmhm-v      \@+UniCNS-UTF16-V     \FONT\@w}%
+\Entry{kom}0{uphysmjm-h      \@+UniKS-UTF16-H        \FONT}%
+\Entry{kom}0{uphysmjm-v      \@+UniKS-UTF16-V        \FONT\@w}%
+\Entry{kog}0{uphygt-h        \@+UniKS-UTF16-H        \FONT}%
+\Entry{kog}0{uphygt-v        \@+UniKS-UTF16-V        \FONT\@w}%
+\Entry{scm}0{upstsl-h        \@+UniGB-UTF16-H        \FONT}%
+\Entry{scm}0{upstsl-v        \@+UniGB-UTF16-V        \FONT\@w}%
+\Entry{scg}0{upstht-h        \@+UniGB-UTF16-H        \FONT}%
+\Entry{scg}0{upstht-v        \@+UniGB-UTF16-V        \FONT\@w}%
+\Entry{tcm}0{upmsl-h         \@+UniCNS-UTF16-H       \FONT}%
+\Entry{tcm}0{upmsl-v         \@+UniCNS-UTF16-V       \FONT\@w}%
+\Entry{tcg}0{upmhm-h         \@+UniCNS-UTF16-H       \FONT}%
+\Entry{tcg}0{upmhm-v         \@+UniCNS-UTF16-V       \FONT\@w}%
 }
 \pxcz at mapentry{UPOTF}{%
-\Entry{mnl}{uphminl-h    \@+UniJIS-UTF16-H     \FONTs}%
-\Entry{mnl}{uphminl-v    \@+UniJIS-UTF16-V     \FONTs\@w}%
-\Entry{mnl}{uphminln-h   \@+UniJIS2004-UTF16-H \FONTs}%
-\Entry{mnl}{uphminln-v   \@+UniJIS2004-UTF16-V \FONTs\@w}%
-\Entry{mnr}{uphminr-h    \@+UniJIS-UTF16-H     \FONTs}%
-\Entry{mnr}{uphminr-v    \@+UniJIS-UTF16-V     \FONTs\@w}%
-\Entry{mnr}{uphminrn-h   \@+UniJIS2004-UTF16-H \FONTs}%
-\Entry{mnr}{uphminrn-v   \@+UniJIS2004-UTF16-V \FONTs\@w}%
-\Entry{mnb}{uphminb-h    \@+UniJIS-UTF16-H     \FONTs}%
-\Entry{mnb}{uphminb-v    \@+UniJIS-UTF16-V     \FONTs\@w}%
-\Entry{mnb}{uphminbn-h   \@+UniJIS2004-UTF16-H \FONTs}%
-\Entry{mnb}{uphminbn-v   \@+UniJIS2004-UTF16-V \FONTs\@w}%
-\Entry{gtr}{uphgothr-h   \@+UniJIS-UTF16-H     \FONTs}%
-\Entry{gtr}{uphgothr-v   \@+UniJIS-UTF16-V     \FONTs\@w}%
-\Entry{gtr}{uphgothrn-h  \@+UniJIS2004-UTF16-H \FONTs}%
-\Entry{gtr}{uphgothrn-v  \@+UniJIS2004-UTF16-V \FONTs\@w}%
-\Entry{gtb}{uphgothb-h   \@+UniJIS-UTF16-H     \FONTs}%
-\Entry{gtb}{uphgothb-v   \@+UniJIS-UTF16-V     \FONTs\@w}%
-\Entry{gtb}{uphgothbn-h  \@+UniJIS2004-UTF16-H \FONTs}%
-\Entry{gtb}{uphgothbn-v  \@+UniJIS2004-UTF16-V \FONTs\@w}%
-\Entry{gtx}{uphgotheb-h  \@+UniJIS-UTF16-H     \FONTs}%
-\Entry{gtx}{uphgotheb-v  \@+UniJIS-UTF16-V     \FONTs\@w}%
-\Entry{gtx}{uphgothebn-h \@+UniJIS2004-UTF16-H \FONTs}%
-\Entry{gtx}{uphgothebn-v \@+UniJIS2004-UTF16-V \FONTs\@w}%
-\Entry{mgr}{uphmgothr-h  \@+UniJIS-UTF16-H     \FONTs}%
-\Entry{mgr}{uphmgothr-v  \@+UniJIS-UTF16-V     \FONTs\@w}%
-\Entry{mgr}{uphmgothrn-h \@+UniJIS2004-UTF16-H \FONTs}%
-\Entry{mgr}{uphmgothrn-v \@+UniJIS2004-UTF16-V \FONTs\@w}%
+\Entry{mnl}0{uphminl-h       \@+UniJIS-UTF16-H       \FONTs\@jp90}%
+\Entry{mnl}0{uphminl-v       \@+UniJIS-UTF16-V       \FONTs\@w\@jp90}%
+\Entry{mnl}0{uphminln-h      \@+UniJIS2004-UTF16-H   \FONTs\@jp04}%
+\Entry{mnl}0{uphminln-v      \@+UniJIS2004-UTF16-V   \FONTs\@w\@jp04}%
+\Entry{mnr}0{uphminr-h       \@+UniJIS-UTF16-H       \FONTs\@jp90}%
+\Entry{mnr}0{uphminr-v       \@+UniJIS-UTF16-V       \FONTs\@w\@jp90}%
+\Entry{mnr}0{uphminrn-h      \@+UniJIS2004-UTF16-H   \FONTs\@jp04}%
+\Entry{mnr}0{uphminrn-v      \@+UniJIS2004-UTF16-V   \FONTs\@w\@jp04}%
+\Entry{mnb}0{uphminb-h       \@+UniJIS-UTF16-H       \FONTs\@jp90}%
+\Entry{mnb}0{uphminb-v       \@+UniJIS-UTF16-V       \FONTs\@w\@jp90}%
+\Entry{mnb}0{uphminbn-h      \@+UniJIS2004-UTF16-H   \FONTs\@jp04}%
+\Entry{mnb}0{uphminbn-v      \@+UniJIS2004-UTF16-V   \FONTs\@w\@jp04}%
+\Entry{gtr}0{uphgothr-h      \@+UniJIS-UTF16-H       \FONTs\@jp90}%
+\Entry{gtr}0{uphgothr-v      \@+UniJIS-UTF16-V       \FONTs\@w\@jp90}%
+\Entry{gtr}0{uphgothrn-h     \@+UniJIS2004-UTF16-H   \FONTs\@jp04}%
+\Entry{gtr}0{uphgothrn-v     \@+UniJIS2004-UTF16-V   \FONTs\@w\@jp04}%
+\Entry{gtb}0{uphgothb-h      \@+UniJIS-UTF16-H       \FONTs\@jp90}%
+\Entry{gtb}0{uphgothb-v      \@+UniJIS-UTF16-V       \FONTs\@w\@jp90}%
+\Entry{gtb}0{uphgothbn-h     \@+UniJIS2004-UTF16-H   \FONTs\@jp04}%
+\Entry{gtb}0{uphgothbn-v     \@+UniJIS2004-UTF16-V   \FONTs\@w\@jp04}%
+\Entry{gtx}0{uphgotheb-h     \@+UniJIS-UTF16-H       \FONTs\@jp90}%
+\Entry{gtx}0{uphgotheb-v     \@+UniJIS-UTF16-V       \FONTs\@w\@jp90}%
+\Entry{gtx}0{uphgothebn-h    \@+UniJIS2004-UTF16-H   \FONTs\@jp04}%
+\Entry{gtx}0{uphgothebn-v    \@+UniJIS2004-UTF16-V   \FONTs\@w\@jp04}%
+\Entry{mgr}0{uphmgothr-h     \@+UniJIS-UTF16-H       \FONTs\@jp90}%
+\Entry{mgr}0{uphmgothr-v     \@+UniJIS-UTF16-V       \FONTs\@w\@jp90}%
+\Entry{mgr}0{uphmgothrn-h    \@+UniJIS2004-UTF16-H   \FONTs\@jp04}%
+\Entry{mgr}0{uphmgothrn-v    \@+UniJIS2004-UTF16-V   \FONTs\@w\@jp04}%
 }
-% for 'PXOTF'
-\@onlypreamble\pxcz at entry@pxotf
-\def\pxcz at entry@pxotf#1#2{%
-\Entry{#1}{r-#2-jy1 H                   \FONT}%
-\Entry{#1}{r-#2-j00 78-H                \FONT}%
-\Entry{#1}{r-#2-jt1 V                   \FONT}%
-\Entry{#1}{r-#2-j10 78-V                \FONT}%
-\Entry{#1}{r-#2-jy2 \UniJIS-UTF16-H     \FONT}%
-\Entry{#1}{r-#2-j20 UniJIS-UTF16-H      \FONT}%
-\Entry{#1}{r-#2-j24 UniJIS2004-UTF16-H  \FONT}%
-\Entry{#1}{r-#2-jt2 \UniJIS-UTF16-V     \FONT}%
-\Entry{#1}{r-#2-j30 UniJIS-UTF16-V      \FONT}%
-\Entry{#1}{r-#2-j34 UniJIS2004-UTF16-V  \FONT}%
-\Entry{#1}{r-#2-j40 Identity-H          \FONT/AJ16}%
-\Entry{#1}{r-#2-j50 Identity-V          \FONT/AJ16}%
-}
 \pxcz at mapentry{PXOTF}{%
-\pxcz at entry@pxotf{mnl}{njar-l}%
-\pxcz at entry@pxotf{mnr}{njar-r}%
-\pxcz at entry@pxotf{mnb}{njar-b}%
-\pxcz at entry@pxotf{gtr}{njas-r}%
-\pxcz at entry@pxotf{gtb}{njas-b}%
-\pxcz at entry@pxotf{gtx}{njas-x}%
-\pxcz at entry@pxotf{mgr}{mgjas-r}%
 }
 
 % user-defined map
@@ -599,11 +661,23 @@
 
 %% check if \diruni is available
 \ifpxcz at uptex
-  \@ifpackageloaded{otf}{%
+  \@ifpackageloaded{otf}{% directunicode needs otf
     \ifnum\pxcz at directunicode>\z@ \pxcz at diruni@oktrue \fi
-  }{}
+  }{%else
+    \ifnum\pxcz at directunicode>\@ne
+      \pxcz at diruni@oktrue % directunicode* does not need otf
+      \AtBeginDocument{% to laod otf later causes inconsistency
+        \@ifpackageloaded{otf}{\pxcz at diruni@okfalse}{}}%
+    \fi
+  }
 \fi
 
+%%<*> \diruni
+\DeclareRobustCommand*{\diruni}{%
+  \not at math@alphabet\diruni\relax
+  \fontshape{diruni}\selectfont
+}
+
 %%<*> \textdiruni{<text>}
 \newcommand*{\textdiruni}[1]{%
   \relax\ifmmode\hbox\fi{\diruni#1}%
@@ -611,7 +685,7 @@
 
 \ifpxcz at diruni@ok   %---- <*diruni-ok>
 
-%% otf weight mode
+%% \pxcz at otf@weight: otf weight mode
 % watch out for priority...
 \@ifpackagewith{otf}{deluxe}{%
   \let\pxcz at otf@weight=d
@@ -619,47 +693,69 @@
   \let\pxcz at otf@weight=b
 }{\@ifpackagewith{otf}{noreplace}{%
   \let\pxcz at otf@weight=n
+}{\@ifpackageloaded{otf}{%
+  \let\pxcz at otf@weight=r
 }{%else
-  \let\pxcz at otf@weight=r
-}}}
-
-%%<*> \diruni
-\DeclareRobustCommand*{\diruni}{%
-  \not at math@alphabet\diruni\relax
-  \fontshape{diruni}\selectfont
+  \let\pxcz at otf@weight=n
+}}}}
+%% \pxcz at otf@mmivjis: otf jis2004
+\@ifpackagewith{otf}{jis2004}{%
+  \let\pxcz at otf@mmivjis=t%
+}{%else
+  \let\pxcz at otf@mmivjis=f%
 }
+%% \pxcz at du@scale
+\let\pxcz at du@scale\utf at sc@le
+\ifx\pxcz at du@scale\@undefined
+  \let\pxcz at du@scale\Cjascale
+\fi
+\ifx\pxcz at du@scale\@undefined
+  \edef\pxcz at du@scale{\ifx\jsc at JYn\@undefined 0.962216\else 0.924715\fi}%
+\fi
 
 %% \pxcz at du@decl at shape{<fam>}{<ser>}{<font>}
 \@onlypreamble\pxcz at du@decl at shape
-\def\pxcz at du@decl at shape#1#2#3#4{%
+\def\pxcz at du@decl at shape#1#2#3#4#5{%
 \DeclareFontShape{JY2}{#1}{#2}{diruni}{<->%
-    \if#3ts*[\utf at sc@le]#4-h\else#4\fi}{}%
+    \pxcz at du@shape at spec{#3}{#4}{#5}{h}}{}%
 \DeclareFontShape{JT2}{#1}{#2}{diruni}{<->%
-    \if#3ts*[\utf at sc@le]#4-v\else#4\fi}{}}
+    \pxcz at du@shape at spec{#3}{#4}{#5}{v}}{}}
+\@onlypreamble\pxcz at du@shape at spec
+\def\pxcz at du@shape at spec#1#2#3#4{%
+  \if#1t%
+    s*[\pxcz at du@scale]#2\if t\pxcz at otf@mmivjis#3\fi-#4%
+  \else#2\fi}
 
 \if d\pxcz at otf@weight % deluxe
-\pxcz at du@decl at shape{hmc}{l}t{otf-ujml}%
-\pxcz at du@decl at shape{hmc}{m}t{otf-ujmr}%
-\pxcz at du@decl at shape{hmc}{bx}t{otf-ujmb}%
-\pxcz at du@decl at shape{hgt}{m}t{otf-ujgr}%
-\pxcz at du@decl at shape{hgt}{bx}t{otf-ujgb}%
-\pxcz at du@decl at shape{hgt}{eb}t{otf-ujge}%
-\pxcz at du@decl at shape{mg}{m}t{otf-ujmgr}%
+\pxcz at du@decl at shape{hmc}{l}t{otf-ujml}{n}%
+\pxcz at du@decl at shape{hmc}{m}t{otf-ujmr}{n}%
+\pxcz at du@decl at shape{hmc}{bx}t{otf-ujmb}{n}%
+\pxcz at du@decl at shape{hgt}{m}t{otf-ujgr}{n}%
+\pxcz at du@decl at shape{hgt}{bx}t{otf-ujgb}{n}%
+\pxcz at du@decl at shape{hgt}{eb}t{otf-ujge}{n}%
+\pxcz at du@decl at shape{mg}{m}t{otf-ujmgr}{n}%
 \else\if b\pxcz at otf@weight % bold
-\pxcz at du@decl at shape{hmc}{m}t{otf-ujmr}%
-\pxcz at du@decl at shape{hmc}{bx}f{ssub*hgt/m/diruni}%
-\pxcz at du@decl at shape{hgt}{m}t{otf-ujgb}%
-\pxcz at du@decl at shape{hgt}{bx}f{ssub*hgt/m/diruni}%
+\pxcz at du@decl at shape{hmc}{m}t{otf-ujmr}{n}%
+\pxcz at du@decl at shape{hmc}{bx}f{ssub*hgt/m/diruni}{}%
+\pxcz at du@decl at shape{hgt}{m}t{otf-ujgb}{n}%
+\pxcz at du@decl at shape{hgt}{bx}f{ssub*hgt/m/diruni}{}%
 \else\if r\pxcz at otf@weight % default
-\pxcz at du@decl at shape{hmc}{m}t{otf-ujmr}%
-\pxcz at du@decl at shape{hmc}{bx}f{ssub*hgt/m/diruni}%
-\pxcz at du@decl at shape{hgt}{m}t{otf-ujgr}%
-\pxcz at du@decl at shape{hgt}{bx}f{ssub*hgt/m/diruni}%
+\pxcz at du@decl at shape{hmc}{m}t{otf-ujmr}{n}%
+\pxcz at du@decl at shape{hmc}{bx}f{ssub*hgt/m/diruni}{}%
+\pxcz at du@decl at shape{hgt}{m}t{otf-ujgr}{n}%
+\pxcz at du@decl at shape{hgt}{bx}f{ssub*hgt/m/diruni}{}%
 \else                 % noreplace
-\pxcz at du@decl at shape{mc}{m}t{otf-ujmr}%
-\pxcz at du@decl at shape{mc}{bx}f{ssub*gt/m/diruni}%
-\pxcz at du@decl at shape{gt}{m}t{otf-ujgr}%
-\pxcz at du@decl at shape{gt}{bx}f{ssub*gt/m/diruni}%
+\ifnum\pxcz at directunicode>\@ne % (directunicode*)
+\pxcz at du@decl at shape{mc}{m}t{uprml}{}%
+\pxcz at du@decl at shape{mc}{bx}f{ssub*gt/m/diruni}{}%
+\pxcz at du@decl at shape{gt}{m}t{upgbm}{}%
+\pxcz at du@decl at shape{gt}{bx}f{ssub*gt/m/diruni}{}%
+\else                          % (directunicode)
+\pxcz at du@decl at shape{mc}{m}t{otf-ujmr}{n}%
+\pxcz at du@decl at shape{mc}{bx}f{ssub*gt/m/diruni}{}%
+\pxcz at du@decl at shape{gt}{m}t{otf-ujgr}{n}%
+\pxcz at du@decl at shape{gt}{bx}f{ssub*gt/m/diruni}{}%
+\fi
 \fi\fi\fi
 
 \AtBeginDocument{%
@@ -681,21 +777,28 @@
   \endgroup
 }
 
-\else               %---- <*!diruni-ok>
+\fi                 %---- </diruni-ok>
 
-%%<*> \diruni
-\DeclareRobustCommand*{\diruni}{%
-  \pxcz at err@diruni
-}
+%% \pxcz at err@diruni
+\ifcase\pxcz at directunicode
+  \def\pxcz at errhelp@diruni{%
+    You must use upLaTeX and load pxchfon with 'directunicode(*)' option.}
+\else
+  \def\pxcz at errhelp@diruni{%
+    You must use upLaTeX and load pxchfon after 'otf' package.}
+\fi
 \def\pxcz at err@diruni{%
   \pxcz at error{Command '\string\diruni' not available}%
-   {You must load this package with 'directunicode' option on upLaTeX,%
-    \MessageBreak after loading 'otf' package.\MessageBreak\@ehc}%
-  \global\let\pxcz at err@diruni\relax
-}
+   {\pxcz at errhelp@diruni\MessageBreak\@ehc}%
+  \global\let\pxcz at err@diruni\relax}
+\AtBeginDocument{%
+  \ifpxcz at diruni@ok
+    \let\pxcz at err@diruni\relax
+    \let\pxcz at errhelp@diruni\relax
+  \else
+    \let\diruni\pxcz at err@diruni
+  \fi}
 
-\fi                 %---- </diruni-ok>
-
 %%------------------ 'alphabet' option
 
 %% \pxcz at decl@shape{<fam>}{<ser>}{<font>}
@@ -872,8 +975,8 @@
 %% \pxcz at use@preset{<name>}
 \def\pxcz at use@preset#1{%
   \expandafter\ifx\csname pxcz at depre@preset@#1\endcsname t%
-    \pxcz at warn{Preset '#1' is obsolete and\MessageBreak
-      its use is *deprecated*,}%
+    \pxcz at error{The old preset '#1' is *abolished*}
+      {\@ehc}%
   \fi
   \csname pxcz at the@preset@#1\endcsname}
 
@@ -973,6 +1076,46 @@
   \pxcz at multiweight{YuMin-Medium.otf}{YuMin-Medium.otf}%
    {YuMin-Demibold.otf}{YuGo-Medium.otf}{YuGo-Bold.otf}%
    {YuGo-Bold.otf}{YuGo-Medium.otf}{YuGo-Medium.otf}}
+% Source Han Sans/Serif, "OTC"
+\pxcz at declare@preset{sourcehan-otc}{%
+  \pxcz at multiweight{\pxcz at SH:0:SourceHanSerif-Light.ttc}%
+   {\pxcz at SH:0:SourceHanSerif-Regular.ttc}%
+   {\pxcz at SH:0:SourceHanSerif-Bold.ttc}%
+   {\pxcz at SH:0:SourceHanSans-Regular.ttc}%
+   {\pxcz at SH:0:SourceHanSans-Bold.ttc}%
+   {\pxcz at SH:0:SourceHanSans-Heavy.ttc}%
+   {\pxcz at SH:0:SourceHanSans-Medium.ttc}%
+   {\pxcz at SH:0:SourceHanSans-Heavy.ttc}}
+% Source Han Sans/Serif, "Language-specific OTF"
+\pxcz at declare@preset{sourcehan}{%
+  \pxcz at multiweight{\pxcz at SH/SourceHanSerif-Light.otf}%
+  {\pxcz at SH/SourceHanSerif-Regular.otf}%
+   {\pxcz at SH/SourceHanSerif-Bold.otf}%
+   {\pxcz at SH/SourceHanSans-Regular.otf}%
+   {\pxcz at SH/SourceHanSans-Bold.otf}%
+   {\pxcz at SH/SourceHanSans-Heavy.otf}%
+   {\pxcz at SH/SourceHanSans-Medium.otf}%
+   {\pxcz at SH/SourceHanSans-Heavy.otf}}
+% Noto Sans/Serif CJK, "OpenType/CFF Collection (OTC)"
+\pxcz at declare@preset{noto-otc}{%
+  \pxcz at multiweight{\pxcz at NC:0:NotoSerifCJK-Light.ttc}%
+   {\pxcz at NC:0:NotoSerifCJK-Regular.ttc}%
+   {\pxcz at NC:0:NotoSerifCJK-Bold.ttc}%
+   {\pxcz at NC:0:NotoSansCJK-Regular.ttc}%
+   {\pxcz at NC:0:NotoSansCJK-Bold.ttc}%
+   {\pxcz at NC:0:NotoSansCJK-Black.ttc}%
+   {\pxcz at NC:0:NotoSansCJK-Medium.ttc}%
+   {\pxcz at NC:0:NotoSansCJK-Black.ttc}}
+% Noto Sans/Serif CJK, "Language-specific OpenType/CFF (OTF)"
+\pxcz at declare@preset{noto}{%
+  \pxcz at multiweight{\pxcz at NC/NotoSerifCJKjp-Light.otf}%
+   {\pxcz at NC/NotoSerifCJKjp-Regular.otf}%
+   {\pxcz at NC/NotoSerifCJKjp-Bold.otf}%
+   {\pxcz at NC/NotoSansCJKjp-Regular.otf}%
+   {\pxcz at NC/NotoSansCJKjp-Bold.otf}%
+   {\pxcz at NC/NotoSansCJKjp-Black.otf}%
+   {\pxcz at NC/NotoSansCJKjp-Medium.otf}%
+   {\pxcz at NC/NotoSansCJKjp-Black.otf}}
 %(obsolete)
 \pxcz at declare@depre at preset{ipa-otf}{%
   \pxcz at uniweight{ipam.otf}{ipag.otf}}

Modified: trunk/Master/texmf-dist/tex/platex/pxchfon/pxjafont.sty
===================================================================
--- trunk/Master/texmf-dist/tex/platex/pxchfon/pxjafont.sty	2017-06-04 23:50:01 UTC (rev 44458)
+++ trunk/Master/texmf-dist/tex/platex/pxchfon/pxjafont.sty	2017-06-04 23:50:15 UTC (rev 44459)
@@ -8,12 +8,16 @@
 %% This package is distributed under the MIT License.
 %%
 
-% TODO: Should 'pxjafont' package be abolished?
-
-%%%% package declaration
+%% package declaration
 \NeedsTeXFormat{pLaTeX2e}
-\ProvidesPackage{pxjafont}[2016/04/08 v0.9]
+\ProvidesPackage{pxjafont}[2017/05/31 v1.0]
+%% show warning
+\PackageWarning{pxchfon}
+ {The package 'pxjafont' is obsolete and its use is\MessageBreak
+  deprecated. please refer to the manual of pxchfon.\MessageBreak
+  The warning is issued}
+%% delegate
 \let\pxAliasedPxjafont=t
-\RequirePackageWithOptions{pxchfon}[2010/05/12]
+\RequirePackageWithOptions{pxchfon}[2017/05/31]
 \endinput
 %% EOF



More information about the tex-live-commits mailing list