summaryrefslogtreecommitdiff
path: root/language/japanese/pxchfon/pxchfon.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-03 03:02:31 +0000
committerNorbert Preining <norbert@preining.info>2021-06-03 03:02:31 +0000
commitd231c6331f53a048d29c2f847254a9f56d5ee2dd (patch)
treec8b2637a679254e40e8d4da5c03fda92cfaa7974 /language/japanese/pxchfon/pxchfon.sty
parent138d0a6cfd5f2187973fb6b83ad2fb0dcf5a8348 (diff)
CTAN sync 202106030302
Diffstat (limited to 'language/japanese/pxchfon/pxchfon.sty')
-rw-r--r--language/japanese/pxchfon/pxchfon.sty311
1 files changed, 238 insertions, 73 deletions
diff --git a/language/japanese/pxchfon/pxchfon.sty b/language/japanese/pxchfon/pxchfon.sty
index 57c428a9cb..7bf8a52c77 100644
--- a/language/japanese/pxchfon/pxchfon.sty
+++ b/language/japanese/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