diff options
author | Norbert Preining <norbert@preining.info> | 2021-06-06 03:02:43 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-06-06 03:02:43 +0000 |
commit | 4338972cc175be565a3441c4ae8a6aa0dfcbe9f9 (patch) | |
tree | 9ec52a5d0d9c8a00b1a6801cc82248c0c008465d /language/japanese/pxbase/pxbabel.sty | |
parent | 4e703bdd2f304028698cd4ab92b0dda0b95a95a8 (diff) |
CTAN sync 202106060302
Diffstat (limited to 'language/japanese/pxbase/pxbabel.sty')
-rw-r--r-- | language/japanese/pxbase/pxbabel.sty | 47 |
1 files changed, 45 insertions, 2 deletions
diff --git a/language/japanese/pxbase/pxbabel.sty b/language/japanese/pxbase/pxbabel.sty index 345e2c9000..1ef550c54a 100644 --- a/language/japanese/pxbase/pxbabel.sty +++ b/language/japanese/pxbase/pxbabel.sty @@ -10,7 +10,7 @@ %% package declaration \NeedsTeXFormat{pLaTeX2e} -\ProvidesPackage{pxbabel}[2021/05/22 v1.2 PX Babel interface for CJK] +\ProvidesPackage{pxbabel}[2021/05/31 v1.3 PX Babel interface for CJK] \def\pxbb@pkgname{pxbabel} %--------------------------------------- general @@ -97,6 +97,9 @@ \bxIfExpToEqualX{\mcdefault}{mc}{}{\pxbb@stdjaencodingtrue}% default \DeclareOption{stdjaencoding}{\pxbb@stdjaencodingtrue} \DeclareOption{nostdjaencoding}{\pxbb@stdjaencodingfalse} +\newbool{pxbb@patchutfcmds}\pxbb@patchutfcmdstrue +\DeclareOption{patchutfcmds}{\pxbb@patchutfcmdstrue} +\DeclareOption{nopatchutfcmds}{\pxbb@patchutfcmdsfalse} \newbool{pxbb@forcedeluxemulti} \DeclareOption{forcedeluxemulti}{\pxbb@forcedeluxemultitrue} \DeclareOption{noforcedeluxemulti}{\pxbb@forcedeluxemultifalse} @@ -127,10 +130,13 @@ %--------------------------------------- Resolving settings +%% \ifpxbb@otf %% \ifpxbb@otfmulti %% \ifpxbb@pxotf +\newbool{pxbb@otf} \newbool{pxbb@otfmulti} \newbool{pxbb@pxotf} +\@ifpackageloaded{otf}{\pxbb@otftrue}{} \@ifpackageloaded{mlutf}{\pxbb@otfmultitrue}{} \@ifpackageloaded{pxotf}{\pxbb@otfmultitrue\pxbb@pxotftrue}{} @@ -148,8 +154,18 @@ \ifpxbb@otfmulti\else \ifupTeX\else \pxbb@warn@nocjk + \pxbb@switchfontfalse \fi\fi\fi - +% Check if 'patchutfcmds' is available. +\if \ifpxbb@switchfont + \ifupTeX + \ifpxbb@otf + \ifx\patchcmd\@undefined F\else T\fi + \else F\fi + \else F\fi + \else F\fi F% + \pxbb@patchutfcmdsfalse +\fi % Check if 'forcedeluxemulti' is available. \ifpxbb@forcedeluxemulti \ifupTeX\else @@ -521,6 +537,33 @@ \fi %----</upTeX> +%--------------------------------------- Patch to '\UTF' etc. +\ifpxbb@patchutfcmds + +%% \pxbb@set@encoding +\edef\pxbb@set@encoding{% + \noexpand\iftdir \noexpand\kanjiencoding{\cy@encoding}% + \noexpand\else \noexpand\kanjiencoding{\ct@encoding}% + \noexpand\fi +} + +%% apply the patch +\@for\pxbb@tmpa:={% + UTF,UTFK,UTFC,UTFT,UTFM,CID,CIDK,CIDC,CIDT% +}\do{% + \ifcsdef{\pxbb@tmpa\space}{%then + \expandafter\patchcmd\csname \pxbb@tmpa\space\endcsname{%from + \begingroup\edef\reserved@a + }{%to + \begingroup\pxbb@set@encoding\edef\reserved@a + }{}{%failure + \PackageWarningNoLine\pxbb@pkgname + {Cannot patch to '\@backslashchar\pxbb@tmpa_'}% + }% + }{}% +} + +\fi %--------------------------------------- Other user commands %%<*> \cjklanguagename{<lang_id>} |