diff options
Diffstat (limited to 'Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty')
-rw-r--r-- | Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty | 311 |
1 files changed, 238 insertions, 73 deletions
diff --git a/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty b/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty index 57c428a9cbc..7bf8a52c775 100644 --- a/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty +++ b/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty @@ -1,7 +1,7 @@ %% %% This is file 'pxchfon.sty'. %% -%% Copyright (c) 2009-2020 Takayuki YATO (aka. "ZR") +%% Copyright (c) 2009-2021 Takayuki YATO (aka. "ZR") %% GitHub: https://github.com/zr-tex8r %% Twitter: @zr_tex8r %% @@ -10,7 +10,7 @@ %% package declaration \NeedsTeXFormat{pLaTeX2e} -\ProvidesPackage{pxchfon}[2020/10/04 v1.7e] +\ProvidesPackage{pxchfon}[2021/05/30 v1.9] \def\pxcz@pkgname{pxchfon} %--------------------------------------- general @@ -281,13 +281,14 @@ sourcehan-otc,sourcehan,sourcehan-jp,noto-otc,noto,noto-jp,% haranoaji,% sourcehan-otc+,sourcehan+,noto-otc+,noto+,% + sourcehan-otc!,sourcehan!,sourcehan-jp!,noto-otc!,noto!,noto-jp!,% + noto-otf!,% %(alias) hiragino,noto-otf,% noEmbed,kozuka,hiragino-elcapitan,morisawa} \pxcz@onlypreamble@def\pxcz@all@abolished@preset{% ipa-otf,ipa-otf-dx,kozuka4,kozuka6,kozuka6n, ms-dx,ipa-ttf,ipa-ttf-dx,ipav2,ipav2-dx,ipa-dx,hiragino-dx} - % But note, 'hiragino' != 'hiragino-pro' \def\pxcz@do#1{\DeclareOption{#1}{\def\pxcz@main@preset{#1}}} \@for\pxcz@x:=\pxcz@all@main@preset\do{% \expandafter\pxcz@do\expandafter{\pxcz@x}} @@ -295,11 +296,13 @@ \expandafter\pxcz@do\expandafter{\pxcz@x}} \def\pxcz@custom#1#2{\pxcz@do{#1}} \pxcz@custom@presets -% others + +%% 'local-only' constant options % The 'unicode' option means a Unicode-oriented mapping, and requires -% dvipdfmx of version 20170627 or later. The 'unicode-fwid' is a variant. +% dvipdfmx of version 20170918 or later. The 'unicode-fwid' is a variant. % The 'unicode*(-fwid)' option is a transitional (deteriorated) version % of 'unicode(-fwid)' and can work with dvipdfmx of version 20170318. +% NOTE: 'unicode*(-fwid)' is DEPRECATED and will be abolished in v2.0. \pxcz@onlypreamble@csdef{pxcz@POPT/unicode}{% \let\pxcz@directunicode\pxcz@directunicode@full} \pxcz@onlypreamble@csdef{pxcz@POPT/unicode*}{% @@ -311,23 +314,51 @@ \pxcz@onlypreamble@csdef{pxcz@POPT/unicode*-fwid}{% \pxcz@fullwidthtrue \pxcz@uniquifytrue \let\pxcz@directunicode\pxcz@directunicode@full} +% general option handler \DeclareOption*{% \pxcz@csuse@or{pxcz@POPT/\CurrentOption}{% \pxcz@parse@opt\CurrentOption \ifpxcz@ok\else \@unknownoptionerror \fi}} + +%% \pxcz@use@list +\pxcz@onlypreamble@let\pxcz@use@list\@empty +\let\pxcz@use@do\relax %freeze + +%% \pxcz@parse@opt{<option>} \pxcz@onlypreamble@def\pxcz@parse@opt#1{% \pxcz@okfalse + \pxcz@parse@opt@b{use=file:}{#1}{file}% + \pxcz@parse@opt@b{use=tl-ja:}{#1}{ja}% + \pxcz@parse@opt@b{use=tl-ko:}{#1}{ko}% + \pxcz@parse@opt@b{use=tl-sc:}{#1}{sc}% + \pxcz@parse@opt@b{use=tl-tc:}{#1}{tc}% + \pxcz@parse@opt@b{use=tl:}{#1}{ja}% + \pxcz@parse@opt@b{use=}{#1}{file}% \pxcz@parse@opt@a{+}{#1}{\pxcz@file@preset@tltrue}% \pxcz@parse@opt@a{*}{#1}{\pxcz@file@preset@tlfalse}% \pxcz@parse@opt@a{tl:}{#1}{\pxcz@file@preset@tltrue}% \pxcz@parse@opt@a{file:}{#1}{\pxcz@file@preset@tlfalse}} -\pxcz@onlypreamble@def\pxcz@parse@opt@a#1#2#3{% +\pxcz@onlypreamble@def\pxcz@parse@opt@a#1#2#3{% for file presets \ifpxcz@ok\else \pxcz@split{#1}{#2}\ifx\pxcz@pre\@empty #3\let\pxcz@file@preset\pxcz@post \pxcz@oktrue \fi \fi} -% dispatch +\pxcz@onlypreamble@def\pxcz@parse@opt@a#1#2#3{% for file preloads + \ifpxcz@ok\else + \pxcz@split{#1}{#2}\ifx\pxcz@pre\@empty + #3\let\pxcz@file@preset\pxcz@post \pxcz@oktrue + \fi + \fi} +\pxcz@onlypreamble@def\pxcz@parse@opt@b#1#2#3{% for file presets + \ifpxcz@ok\else + \pxcz@split{#1}{#2}\ifx\pxcz@pre\@empty + \edef\pxcz@use@list{\pxcz@use@list\pxcz@use@do{#3}{\pxcz@post}}% + \pxcz@oktrue + \fi + \fi} + +%% dispatch \ProcessOptions* %% 'unicode*' and 'unicode*-fwid' are DEPRECATED @@ -337,7 +368,7 @@ is DEPRECATED!\MessageBreak This option invokes a transitional setting that\MessageBreak is specially tailored for TL2017, and will be\MessageBreak - abolished in near future.\MessageBreak + abolished in v2.0 (soon to be released).\MessageBreak You should update to TL2018 or later and use\MessageBreak option 'unicode\ifpxcz@fullwidth -fwid\fi' instead} \fi @@ -424,6 +455,27 @@ \let\pxcz@switch@font@xjistrue\pxcz@switch@font@xjisfalse \fi +\begingroup \lccode`\@=`\_ \lowercase{% + \xdef\pxcz@get@dvipdfmx@version{% + \let\noexpand\pxcz@dvipdfmx@version\expandafter\noexpand + \csname c@@Kernel@sys@dvipdfmx@version@int\endcsname}} +\endgroup +\AtBeginDocument{% + \@tempswatrue + \ifnum\pxcz@directunicode<\pxcz@directunicode@full\else + \pxcz@get@dvipdfmx@version + \ifx\pxcz@dvipdfmx@version\@undefined\else + \ifnum\pxcz@dvipdfmx@version<20170918 + \@tempswafalse \fi\fi + \fi + \if@tempswa\else + \PackageError\pxcz@pkgname + {Option 'unicode' is not available, since\MessageBreak + your dvipdfmx is too old (v.\number\pxcz@dvipdfmx@version)} + {The option requires dvipdfmx version 20170918 or later.% + \MessageBreak\@ehc} + \fi} + %--------------------------------------- preset-dependent setup %% variables @@ -438,7 +490,7 @@ \let\pxcz@directunicode\pxcz@directunicode@full \pxcz@uniquifyfalse \else\ifnum\pxcz@directunicode=\pxcz@directunicode@full - \ifpxcz@uniquify % unicode* -> unicode+ + \ifpxcz@uniquify % unicode* -> 'unicode+' \pxcz@switch@font@xwidtrue \pxcz@uniquifyfalse \fi % unicode -> (unchanged) \else \pxcz@uniquifyfalse % otherwise, enable switch-font @@ -465,8 +517,7 @@ \pxcz@cond\ifx\pxcz@main@preset\pxcz@tmpa\fi {\@firstofone}{\@gobble}} % A 'XXXX+' preset forces 'unicode+' setting. -% 'sourcehan(-otc)' and 'noto(-otc)' should force 'unicode', but currently -% equivalent to the corresponding 'XXXX+' preset. +% 'sourcehan(-otc)' and 'noto(-otc)' force 'unicode' setting. \pxcz@do{sourcehan}{\pxcz@apply@opt@unicode} \pxcz@do{sourcehan-otc}{\pxcz@apply@opt@unicode} \pxcz@do{sourcehan-jp}{\pxcz@apply@opt@unicode} @@ -560,7 +611,10 @@ %% \pxcz@sym@list \def\pxcz@sym@list{% - mnl,mnr,mnb,gtr,gtb,gtx,gtu,mgr,kom,kog,scm,scg,tcm,tcg} + mnl,mnr,mnb,gtr,gtb,gtx,gtu,mgr,% + koml,komr,komb,kogr,kogb,kogx,kogu,komgr,% + scml,scmr,scmb,scgr,scgb,scgx,scgu,scmgr,% + tcml,tcmr,tcmb,tcgr,tcgb,tcgx,tcgu,tcmgr} %%<*> \setminchofont/\setgothicfont/etc. \newcommand*\setminchofont{\pxcz@setfont{mnl,mnr,mnb}} @@ -573,12 +627,40 @@ \newcommand*\setxboldgothicfont{\pxcz@setfont{gtx}} \newcommand*\setoneweightgothicfont{\pxcz@setfont{gtu}} \newcommand*\setmarugothicfont{\pxcz@setfont{mgr}} -\newcommand*\setkoreanminchofont{\pxcz@setfont{kom}} -\newcommand*\setkoreangothicfont{\pxcz@setfont{kog}} -\newcommand*\setschineseminchofont{\pxcz@setfont{scm}} -\newcommand*\setschinesegothicfont{\pxcz@setfont{scg}} -\newcommand*\settchineseminchofont{\pxcz@setfont{tcm}} -\newcommand*\settchinesegothicfont{\pxcz@setfont{tcg}} + +\newcommand*\setkoreanminchofont{\pxcz@setfont{koml,komr,komb}} +\newcommand*\setkoreangothicfont{\pxcz@setfont{kogr,kogb,kogx,kogu,komgr}} +\newcommand*\setkoreanlightminchofont{\pxcz@setfont{koml}} +\newcommand*\setkoreanmediumminchofont{\pxcz@setfont{komr}} +\newcommand*\setkoreanboldminchofont{\pxcz@setfont{komb}} +\newcommand*\setkoreanmediumgothicfont{\pxcz@setfont{kogr}} +\newcommand*\setkoreanboldgothicfont{\pxcz@setfont{kogb}} +\newcommand*\setkoreanxboldgothicfont{\pxcz@setfont{kogx}} +\newcommand*\setkoreanoneweightgothicfont{\pxcz@setfont{kogu}} +\newcommand*\setkoreanmarugothicfont{\pxcz@setfont{komgr}} + +\newcommand*\setschineseminchofont{\pxcz@setfont{scml,scmr,scmb}} +\newcommand*\setschinesegothicfont{\pxcz@setfont{scgr,scgb,scgx,scgu,scmgr}} +\newcommand*\setschineselightminchofont{\pxcz@setfont{scml}} +\newcommand*\setschinesemediumminchofont{\pxcz@setfont{scmr}} +\newcommand*\setschineseboldminchofont{\pxcz@setfont{scmb}} +\newcommand*\setschinesemediumgothicfont{\pxcz@setfont{scgr}} +\newcommand*\setschineseboldgothicfont{\pxcz@setfont{scgb}} +\newcommand*\setschinesexboldgothicfont{\pxcz@setfont{scgx}} +\newcommand*\setschineseoneweightgothicfont{\pxcz@setfont{scgu}} +\newcommand*\setschinesemarugothicfont{\pxcz@setfont{scmgr}} + +\newcommand*\settchineseminchofont{\pxcz@setfont{tcml,tcmr,tcmb}} +\newcommand*\settchinesegothicfont{\pxcz@setfont{tcgr,tcgb,tcgx,tcgu,tcmgr}} +\newcommand*\settchineselightminchofont{\pxcz@setfont{tcml}} +\newcommand*\settchinesemediumminchofont{\pxcz@setfont{tcmr}} +\newcommand*\settchineseboldminchofont{\pxcz@setfont{tcmb}} +\newcommand*\settchinesemediumgothicfont{\pxcz@setfont{tcgr}} +\newcommand*\settchineseboldgothicfont{\pxcz@setfont{tcgb}} +\newcommand*\settchinesexboldgothicfont{\pxcz@setfont{tcgx}} +\newcommand*\settchineseoneweightgothicfont{\pxcz@setfont{tcgu}} +\newcommand*\settchinesemarugothicfont{\pxcz@setfont{tcmgr}} + \pxcz@onlypreamble@def\pxcz@setfont#1{\@ifnextchar[%] {\pxcz@setfont@a{#1}}{\pxcz@setfont@a{#1}[0]}} \pxcz@onlypreamble@def\pxcz@setfont@a#1[#2]#3{% @@ -653,12 +735,12 @@ }} \pxcz@do{mnl,mnr,mnb}{Ryumin-Light} \pxcz@do{gtr,gtb,gtx,gtu,mgr}{GothicBBB-Medium} -\pxcz@do{kom}{HYSMyeongJo-Medium} -\pxcz@do{kog}{HYGoThic-Medium} -\pxcz@do{scm}{STSong-Light} -\pxcz@do{scg}{STHeiti-Regular} -\pxcz@do{tcm}{MSung-Light} -\pxcz@do{tcg}{MHei-Medium} +\pxcz@do{koml,komr,komb}{HYSMyeongJo-Medium} +\pxcz@do{kogr,kogb,kogx,kogu,komgr}{HYGoThic-Medium} +\pxcz@do{scml,scmr,scmb}{STSong-Light} +\pxcz@do{scgr,scgb,scgx,scgu,scmgr}{STHeiti-Regular} +\pxcz@do{tcml,tcmr,tcmb}{MSung-Light} +\pxcz@do{tcgr,tcgb,tcgx,tcgu,tcmgr}{MHei-Medium} %%<+> \JaFontReplacementFor{<sym>} \newcommand*\JaFontReplacementFor[1]{% @@ -996,17 +1078,28 @@ %% \pxcz@do@file@preset \pxcz@onlypreamble@def\pxcz@do@file@preset{% \ifpxcz@file@preset@tl - \pxcz@do@file@preset@a{ptex-}% - \ifpxcz@uptex \pxcz@do@file@preset@a{uptex-}\fi - \ifpxcz@otf - \pxcz@do@file@preset@a{otf-}% - \ifpxcz@uptex \pxcz@do@file@preset@a{otf-up-}\fi - \fi + \pxcz@use@mapfile{ja}{\pxcz@file@preset}% \else - \pxcz@do@file@preset@a{}% + \pxcz@use@mapfile{file}{\pxcz@file@preset}% + \fi} + +%% \pxcz@use@mapfile{<type>}{<basename>} +\pxcz@onlypreamble@def\pxcz@use@mapfile#1{%#1=<type> + \pxcz@csuse@or{pxcz@use@mapfile@@#1}{\pxcz@use@mapfile@a{#1}}} +\pxcz@onlypreamble@def\pxcz@use@mapfile@@file#1{%#1=<basename> + \pxcz@use@mapfile@b{#1}} +\pxcz@onlypreamble@def\pxcz@use@mapfile@@ja#1{% + \pxcz@use@mapfile@b{ptex-#1}% + \ifpxcz@uptex \pxcz@use@mapfile@b{uptex-#1}\fi + \ifpxcz@otf + \pxcz@use@mapfile@b{otf-#1}% + \ifpxcz@uptex \pxcz@use@mapfile@b{otf-up-#1}\fi \fi} -\pxcz@onlypreamble@def\pxcz@do@file@preset@a#1{% - \pxcz@addtospec@alt\pxcz@mapfile{#1\pxcz@file@preset.map}} +\pxcz@onlypreamble@def\pxcz@use@mapfile@a#1#2{% + \ifpxcz@uptex \pxcz@use@mapfile@b{uptex-#1-#2}\fi + \ifpxcz@otf \pxcz@use@mapfile@b{otf-#1-#2}\fi} +\pxcz@onlypreamble@def\pxcz@use@mapfile@b#1{% + \pxcz@addtospec@alt\pxcz@mapfile{#1.map}} %% \pxcz@addtospec@alt \def\pxcz@addtospec@alt#1#2{% @@ -1130,30 +1223,92 @@ \Entry{mgr}{hmgothrn-v} {V} {V}% % \ifpxcz@otf@multi -\Entry{kom}{otf-ukmr-h} {UniKS-UTF16-H} {Uni,FWid}% -\Entry{kom}{otf-ukmr-v} {UniKS-UTF16-V} {Uni,FWid,V}% -\Entry{kom}{otf-ckmr-h} {Identity-H} {AK12}% -\Entry{kom}{otf-ckmr-v} {Identity-V} {AK12,V}% -\Entry{kog}{otf-ukgr-h} {UniKS-UTF16-H} {Uni,FWid}% -\Entry{kog}{otf-ukgr-v} {UniKS-UTF16-V} {Uni,FWid,V}% -\Entry{kog}{otf-ckgr-h} {Identity-H} {AK12}% -\Entry{kog}{otf-ckgr-v} {Identity-V} {AK12,V}% -\Entry{scm}{otf-ucmr-h} {UniGB-UTF16-H} {Uni,FWid}% -\Entry{scm}{otf-ucmr-v} {UniGB-UTF16-V} {Uni,FWid,V}% -\Entry{scm}{otf-ccmr-h} {Identity-H} {AG14}% -\Entry{scm}{otf-ccmr-v} {Identity-V} {AG14,V}% -\Entry{scg}{otf-ucgr-h} {UniGB-UTF16-H} {Uni,FWid}% -\Entry{scg}{otf-ucgr-v} {UniGB-UTF16-V} {Uni,FWid,V}% -\Entry{scg}{otf-ccgr-h} {Identity-H} {AG14}% -\Entry{scg}{otf-ccgr-v} {Identity-V} {AG14,V}% -\Entry{tcm}{otf-utmr-h} {UniCNS-UTF16-H} {Uni,FWid}% -\Entry{tcm}{otf-utmr-v} {UniCNS-UTF16-V} {Uni,FWid,V}% -\Entry{tcm}{otf-ctmr-h} {Identity-H} {AC14}% -\Entry{tcm}{otf-ctmr-v} {Identity-V} {AC14,V}% -\Entry{tcg}{otf-utgr-h} {UniCNS-UTF16-H} {Uni,FWid}% -\Entry{tcg}{otf-utgr-v} {UniCNS-UTF16-V} {Uni,FWid,V}% -\Entry{tcg}{otf-ctgr-h} {Identity-H} {AC14}% -\Entry{tcg}{otf-ctgr-v} {Identity-V} {AC14,V}% +\Entry{koml}{otf-ukml-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{koml}{otf-ukml-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{koml}{otf-ckml-h} {Identity-H} {AK12}% +\Entry{koml}{otf-ckml-v} {Identity-V} {AK12,V}% +\Entry{komr}{otf-ukmr-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{komr}{otf-ukmr-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{komr}{otf-ckmr-h} {Identity-H} {AK12}% +\Entry{komr}{otf-ckmr-v} {Identity-V} {AK12,V}% +\Entry{komb}{otf-ukmb-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{komb}{otf-ukmb-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{komb}{otf-ckmb-h} {Identity-H} {AK12}% +\Entry{komb}{otf-ckmb-v} {Identity-V} {AK12,V}% +\Entry{kogr}{otf-ukgr-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{kogr}{otf-ukgr-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{kogr}{otf-ckgr-h} {Identity-H} {AK12}% +\Entry{kogr}{otf-ckgr-v} {Identity-V} {AK12,V}% +\Entry{kogb}{otf-ukgb-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{kogb}{otf-ukgb-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{kogb}{otf-ckgb-h} {Identity-H} {AK12}% +\Entry{kogb}{otf-ckgb-v} {Identity-V} {AK12,V}% +\Entry{kogx}{otf-ukge-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{kogx}{otf-ukge-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{kogx}{otf-ckge-h} {Identity-H} {AK12}% +\Entry{kogx}{otf-ckge-v} {Identity-V} {AK12,V}% +\Entry{komgr}{otf-ukmgr-h} {UniKS-UTF16-H} {Uni,FWid}% +\Entry{komgr}{otf-ukmgr-v} {UniKS-UTF16-V} {Uni,FWid,V}% +\Entry{komgr}{otf-ckmgr-h} {Identity-H} {AK12}% +\Entry{komgr}{otf-ckmgr-v} {Identity-V} {AK12,V}% + +\Entry{scml}{otf-ucml-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scml}{otf-ucml-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scml}{otf-ccml-h} {Identity-H} {AG14}% +\Entry{scml}{otf-ccml-v} {Identity-V} {AG14,V}% +\Entry{scmr}{otf-ucmr-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scmr}{otf-ucmr-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scmr}{otf-ccmr-h} {Identity-H} {AG14}% +\Entry{scmr}{otf-ccmr-v} {Identity-V} {AG14,V}% +\Entry{scmb}{otf-ucmb-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scmb}{otf-ucmb-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scmb}{otf-ccmb-h} {Identity-H} {AG14}% +\Entry{scmb}{otf-ccmb-v} {Identity-V} {AG14,V}% +\Entry{scgr}{otf-ucgr-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scgr}{otf-ucgr-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scgr}{otf-ccgr-h} {Identity-H} {AG14}% +\Entry{scgr}{otf-ccgr-v} {Identity-V} {AG14,V}% +\Entry{scgb}{otf-ucgb-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scgb}{otf-ucgb-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scgb}{otf-ccgb-h} {Identity-H} {AG14}% +\Entry{scgb}{otf-ccgb-v} {Identity-V} {AG14,V}% +\Entry{scgx}{otf-ucge-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scgx}{otf-ucge-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scgx}{otf-ccge-h} {Identity-H} {AG14}% +\Entry{scgx}{otf-ccge-v} {Identity-V} {AG14,V}% +\Entry{scmgr}{otf-ucmgr-h} {UniGB-UTF16-H} {Uni,FWid}% +\Entry{scmgr}{otf-ucmgr-v} {UniGB-UTF16-V} {Uni,FWid,V}% +\Entry{scmgr}{otf-ccmgr-h} {Identity-H} {AG14}% +\Entry{scmgr}{otf-ccmgr-v} {Identity-V} {AG14,V}% + +\Entry{tcml}{otf-utml-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcml}{otf-utml-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcml}{otf-ctml-h} {Identity-H} {AC14}% +\Entry{tcml}{otf-ctml-v} {Identity-V} {AC14,V}% +\Entry{tcmr}{otf-utmr-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcmr}{otf-utmr-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcmr}{otf-ctmr-h} {Identity-H} {AC14}% +\Entry{tcmr}{otf-ctmr-v} {Identity-V} {AC14,V}% +\Entry{tcmb}{otf-utmb-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcmb}{otf-utmb-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcmb}{otf-ctmb-h} {Identity-H} {AC14}% +\Entry{tcmb}{otf-ctmb-v} {Identity-V} {AC14,V}% +\Entry{tcgr}{otf-utgr-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcgr}{otf-utgr-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcgr}{otf-ctgr-h} {Identity-H} {AC14}% +\Entry{tcgr}{otf-ctgr-v} {Identity-V} {AC14,V}% +\Entry{tcgb}{otf-utgb-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcgb}{otf-utgb-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcgb}{otf-ctgb-h} {Identity-H} {AC14}% +\Entry{tcgb}{otf-ctgb-v} {Identity-V} {AC14,V}% +\Entry{tcgx}{otf-utge-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcgx}{otf-utge-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcgx}{otf-ctge-h} {Identity-H} {AC14}% +\Entry{tcgx}{otf-ctge-v} {Identity-V} {AC14,V}% +\Entry{tcmgr}{otf-utmgr-h} {UniCNS-UTF16-H} {Uni,FWid}% +\Entry{tcmgr}{otf-utmgr-v} {UniCNS-UTF16-V} {Uni,FWid,V}% +\Entry{tcmgr}{otf-ctmgr-h} {Identity-H} {AC14}% +\Entry{tcmgr}{otf-ctmgr-v} {Identity-V} {AC14,V}% \fi } \pxcz@mapentry{UPSTD}{% @@ -1168,18 +1323,18 @@ \Entry{gtu}{ugbm} {UniJIS-UTF16-H} {Uni*,Switch}% \Entry{gtu}{ugbmv} {UniJIS-UTF16-V} {Uni*,Switch,V}% % -\Entry{kom}{uphysmjm-h} {UniKS-UTF16-H} {Uni*}% -\Entry{kom}{uphysmjm-v} {UniKS-UTF16-V} {Uni*,V}% -\Entry{kog}{uphygt-h} {UniKS-UTF16-H} {Uni*}% -\Entry{kog}{uphygt-v} {UniKS-UTF16-V} {Uni*,V}% -\Entry{scm}{upstsl-h} {UniGB-UTF16-H} {Uni*}% -\Entry{scm}{upstsl-v} {UniGB-UTF16-V} {Uni*,V}% -\Entry{scg}{upstht-h} {UniGB-UTF16-H} {Uni*}% -\Entry{scg}{upstht-v} {UniGB-UTF16-V} {Uni*,V}% -\Entry{tcm}{upmsl-h} {UniCNS-UTF16-H} {Uni*}% -\Entry{tcm}{upmsl-v} {UniCNS-UTF16-V} {Uni*,V}% -\Entry{tcg}{upmhm-h} {UniCNS-UTF16-H} {Uni*}% -\Entry{tcg}{upmhm-v} {UniCNS-UTF16-V} {Uni*,V}% +\Entry{komr}{uphysmjm-h} {UniKS-UTF16-H} {Uni*}% +\Entry{komr}{uphysmjm-v} {UniKS-UTF16-V} {Uni*,V}% +\Entry{kogu}{uphygt-h} {UniKS-UTF16-H} {Uni*}% +\Entry{kogu}{uphygt-v} {UniKS-UTF16-V} {Uni*,V}% +\Entry{scmr}{upstsl-h} {UniGB-UTF16-H} {Uni*}% +\Entry{scmr}{upstsl-v} {UniGB-UTF16-V} {Uni*,V}% +\Entry{scgu}{upstht-h} {UniGB-UTF16-H} {Uni*}% +\Entry{scgu}{upstht-v} {UniGB-UTF16-V} {Uni*,V}% +\Entry{tcmr}{upmsl-h} {UniCNS-UTF16-H} {Uni*}% +\Entry{tcmr}{upmsl-v} {UniCNS-UTF16-V} {Uni*,V}% +\Entry{tcgu}{upmhm-h} {UniCNS-UTF16-H} {Uni*}% +\Entry{tcgu}{upmhm-v} {UniCNS-UTF16-V} {Uni*,V}% } \pxcz@mapentry{UPOTF}{% \Entry{mnl}{uphminl-h} {UniJIS-UTF16-H} {Uni*,90,Exp}% @@ -1609,7 +1764,13 @@ %% the begin-document hook \pxcz@onlypreamble@def\pxcz@doc@hook{% + \ifpxcz@otf + \@ifpackageloaded{otf}{\pxcz@otftrue}{\pxcz@otffalse}% + \@ifpackageloaded{utf}{\pxcz@utftrue}{\pxcz@utffalse}% + \fi \pxcz@user@hook + \let\pxcz@use@do\pxcz@use@mapfile + \pxcz@use@list \ifx\pxcz@file@preset\relax\else \pxcz@do@file@preset \fi @@ -1665,10 +1826,6 @@ \pxcz@addtospec{UPSTD}% \fi \ifpxcz@otf - \@ifpackageloaded{otf}{\pxcz@otftrue}{\pxcz@otffalse}% - \@ifpackageloaded{utf}{\pxcz@utftrue}{\pxcz@utffalse}% - \fi - \ifpxcz@otf \ifnum0\ifnum\pxcz@legacycode=\pxcz@legacycode@replace 1\fi \ifpxcz@uptex 1\fi >\z@ \pxcz@addtospec{UPOTF}% @@ -2104,6 +2261,14 @@ \pxcz@declare@preset@alias{noto+}{noto} \pxcz@declare@preset@alias{noto-otc+}{noto-otc} \pxcz@declare@preset@alias{yu-win10+}{yu-win10} +%(bang-variants) +\pxcz@declare@preset@alias{sourcehan!}{sourcehan} +\pxcz@declare@preset@alias{sourcehan-otc!}{sourcehan-otc} +\pxcz@declare@preset@alias{sourcehan-jp!}{sourcehan-jp} +\pxcz@declare@preset@alias{noto!}{noto} +\pxcz@declare@preset@alias{noto-otf!}{noto-otf} +\pxcz@declare@preset@alias{noto-otc!}{noto-otc} +\pxcz@declare@preset@alias{noto-jp!}{noto-jp} %% ... and invokes the specified one! \if\pxcz@main@preset\relax\else |