diff options
Diffstat (limited to 'Master/texmf-dist/tex/platex/pxbase/pxbabel.sty')
-rw-r--r-- | Master/texmf-dist/tex/platex/pxbase/pxbabel.sty | 131 |
1 files changed, 129 insertions, 2 deletions
diff --git a/Master/texmf-dist/tex/platex/pxbase/pxbabel.sty b/Master/texmf-dist/tex/platex/pxbase/pxbabel.sty index 3f0ab85d309..345e2c90006 100644 --- a/Master/texmf-dist/tex/platex/pxbase/pxbabel.sty +++ b/Master/texmf-dist/tex/platex/pxbase/pxbabel.sty @@ -1,7 +1,7 @@ %% %% This is file 'pxbabel.sty'. %% -%% Copyright (c) 2017 Takayuki YATO (aka. "ZR") +%% Copyright (c) 2008-2021 Takayuki YATO (aka. "ZR") %% GitHub: https://github.com/zr-tex8r %% Twitter: @zr_tex8r %% @@ -10,7 +10,7 @@ %% package declaration \NeedsTeXFormat{pLaTeX2e} -\ProvidesPackage{pxbabel}[2017/07/03 v1.1b PX Babel interface for CJK] +\ProvidesPackage{pxbabel}[2021/05/22 v1.2 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@forcedeluxemulti} +\DeclareOption{forcedeluxemulti}{\pxbb@forcedeluxemultitrue} +\DeclareOption{noforcedeluxemulti}{\pxbb@forcedeluxemultifalse} % (<lang_id>, +<lang_id>) \bxPreamble\let\pxbb@last@lang\relax \bxForEachIn\pxbb@cjk@langid@list\do{% @@ -131,6 +134,10 @@ \@ifpackageloaded{mlutf}{\pxbb@otfmultitrue}{} \@ifpackageloaded{pxotf}{\pxbb@otfmultitrue\pxbb@pxotftrue}{} +%% \ifpxbb@otfdeluxe +\newbool{pxbb@otfdeluxe} +\@ifpackagewith{otf}{deluxe}{\pxbb@otfdeluxetrue}{} + %% \ifpxbb@babel \newbool{pxbb@babel} \@ifpackageloaded{babel}{\pxbb@babeltrue}{} @@ -143,6 +150,22 @@ \pxbb@warn@nocjk \fi\fi\fi +% Check if 'forcedeluxemulti' is available. +\ifpxbb@forcedeluxemulti + \ifupTeX\else + \PackageWarningNoLine\pxbb@pkgname + {Option 'forcedeluxemulti' is invalid, since\MessageBreak + the engine is not upTeX} + \pxbb@forcedeluxemultifalse + \fi + \ifpxbb@otfmulti\else + \PackageWarningNoLine\pxbb@pkgname + {Option 'forcedeluxemulti' is invalid, since\MessageBreak + package 'otf' is not loaded with 'multi'} + \pxbb@forcedeluxemultifalse + \fi +\fi + %% resolve the expected main language \ifundef\pxbb@main@lang{%then % if 'main' is not specified @@ -353,6 +376,110 @@ \endgroup \fi +%% declarations for upTeX + otf deluxe CJK fonts +\ifpxbb@otfdeluxe + +% UniJIS +\pxDeclareBasicCJKShape{J20}{hmc}{l}{!upnmlminl-h} +\pxDeclareBasicCJKShape{J20}{hmc}{m}{!upnmlminr-h} +\pxDeclareBasicCJKShape{J20}{hmc}{bx}{!upnmlminb-h} +\pxDeclareBasicCJKShape{J20}{hgt}{m}{!upnmlgothr-h} +\pxDeclareBasicCJKShape{J20}{hgt}{bx}{!upnmlgothb-h} +\pxDeclareBasicCJKShape{J20}{hgt}{eb}{!upnmlgotheb-h} +\pxDeclareKanjiFamily{J20}{mg} +\pxDeclareBasicCJKShape{J20}{mg}{m}{!upnmlmgothr-h} + +\pxDeclareBasicCJKShape{J30}{hmc}{l}{!upnmlminl-v} +\pxDeclareBasicCJKShape{J30}{hmc}{m}{!upnmlminr-v} +\pxDeclareBasicCJKShape{J30}{hmc}{bx}{!upnmlminb-v} +\pxDeclareBasicCJKShape{J30}{hgt}{m}{!upnmlgothr-v} +\pxDeclareBasicCJKShape{J30}{hgt}{bx}{!upnmlgothb-v} +\pxDeclareBasicCJKShape{J30}{hgt}{eb}{!upnmlgotheb-v} +\pxDeclareKanjiFamily{J30}{mg} +\pxDeclareBasicCJKShape{J30}{mg}{m}{!upnmlmgothr-v} + +% UniJIS2004 +\pxDeclareBasicCJKShape{J24}{hmc}{l}{!upnmlminln-h} +\pxDeclareBasicCJKShape{J24}{hmc}{m}{!upnmlminrn-h} +\pxDeclareBasicCJKShape{J24}{hmc}{bx}{!upnmlminbn-h} +\pxDeclareBasicCJKShape{J24}{hgt}{m}{!upnmlgothrn-h} +\pxDeclareBasicCJKShape{J24}{hgt}{bx}{!upnmlgothbn-h} +\pxDeclareBasicCJKShape{J24}{hgt}{eb}{!upnmlgothebn-h} +\pxDeclareKanjiFamily{J24}{mg} +\pxDeclareBasicCJKShape{J24}{mg}{m}{!upnmlmgothrn-h} + +\pxDeclareBasicCJKShape{J34}{hmc}{l}{!upnmlminln-v} +\pxDeclareBasicCJKShape{J34}{hmc}{m}{!upnmlminrn-v} +\pxDeclareBasicCJKShape{J34}{hmc}{bx}{!upnmlminbn-v} +\pxDeclareBasicCJKShape{J34}{hgt}{m}{!upnmlgothrn-v} +\pxDeclareBasicCJKShape{J34}{hgt}{bx}{!upnmlgothbn-v} +\pxDeclareBasicCJKShape{J34}{hgt}{eb}{!upnmlgothebn-v} +\pxDeclareKanjiFamily{J34}{mg} +\pxDeclareBasicCJKShape{J34}{mg}{m}{!upnmlmgothrn-v} + +\ifpxbb@forcedeluxemulti + +% UniKS +\pxDeclareBasicCJKShape{J21}{hmc}{l}{!utfkml--h} +\pxDeclareBasicCJKShape{J21}{hmc}{m}{!utfkmr--h} +\pxDeclareBasicCJKShape{J21}{hmc}{bx}{!utfkmb--h} +\pxDeclareBasicCJKShape{J21}{hgt}{m}{!utfkgr--h} +\pxDeclareBasicCJKShape{J21}{hgt}{bx}{!utfkgb--h} +\pxDeclareBasicCJKShape{J21}{hgt}{eb}{!utfkge--h} +\pxDeclareKanjiFamily{J21}{mg} +\pxDeclareBasicCJKShape{J21}{mg}{m}{!utfkmgr--h} + +\pxDeclareBasicCJKShape{J31}{hmc}{l}{!utfkml--v} +\pxDeclareBasicCJKShape{J31}{hmc}{m}{!utfkmr--v} +\pxDeclareBasicCJKShape{J31}{hmc}{bx}{!utfkmb--v} +\pxDeclareBasicCJKShape{J31}{hgt}{m}{!utfkgr--v} +\pxDeclareBasicCJKShape{J31}{hgt}{bx}{!utfkgb--v} +\pxDeclareBasicCJKShape{J31}{hgt}{eb}{!utfkge--v} +\pxDeclareKanjiFamily{J31}{mg} +\pxDeclareBasicCJKShape{J31}{mg}{m}{!utfkmgr--v} + +% UniGB +\pxDeclareBasicCJKShape{J22}{hmc}{l}{!utfcml--h} +\pxDeclareBasicCJKShape{J22}{hmc}{m}{!utfcmr--h} +\pxDeclareBasicCJKShape{J22}{hmc}{bx}{!utfcmb--h} +\pxDeclareBasicCJKShape{J22}{hgt}{m}{!utfcgr--h} +\pxDeclareBasicCJKShape{J22}{hgt}{bx}{!utfcgb--h} +\pxDeclareBasicCJKShape{J22}{hgt}{eb}{!utfcge--h} +\pxDeclareKanjiFamily{J22}{mg} +\pxDeclareBasicCJKShape{J22}{mg}{m}{!utfcmgr--h} + +\pxDeclareBasicCJKShape{J32}{hmc}{l}{!utfcml--v} +\pxDeclareBasicCJKShape{J32}{hmc}{m}{!utfcmr--v} +\pxDeclareBasicCJKShape{J32}{hmc}{bx}{!utfcmb--v} +\pxDeclareBasicCJKShape{J32}{hgt}{m}{!utfcgr--v} +\pxDeclareBasicCJKShape{J32}{hgt}{bx}{!utfcgb--v} +\pxDeclareBasicCJKShape{J32}{hgt}{eb}{!utfcge--v} +\pxDeclareKanjiFamily{J32}{mg} +\pxDeclareBasicCJKShape{J32}{mg}{m}{!utfcmgr--v} + +% UniCNS +\pxDeclareBasicCJKShape{J23}{hmc}{l}{!utftml--h} +\pxDeclareBasicCJKShape{J23}{hmc}{m}{!utftmr--h} +\pxDeclareBasicCJKShape{J23}{hmc}{bx}{!utftmb--h} +\pxDeclareBasicCJKShape{J23}{hgt}{m}{!utftgr--h} +\pxDeclareBasicCJKShape{J23}{hgt}{bx}{!utftgb--h} +\pxDeclareBasicCJKShape{J23}{hgt}{eb}{!utftge--h} +\pxDeclareKanjiFamily{J23}{mg} +\pxDeclareBasicCJKShape{J23}{mg}{m}{!utftmgr--h} + +\pxDeclareBasicCJKShape{J33}{hmc}{l}{!utftml--v} +\pxDeclareBasicCJKShape{J33}{hmc}{m}{!utftmr--v} +\pxDeclareBasicCJKShape{J33}{hmc}{bx}{!utftmb--v} +\pxDeclareBasicCJKShape{J33}{hgt}{m}{!utftgr--v} +\pxDeclareBasicCJKShape{J33}{hgt}{bx}{!utftgb--v} +\pxDeclareBasicCJKShape{J33}{hgt}{eb}{!utftge--v} +\pxDeclareKanjiFamily{J33}{mg} +\pxDeclareBasicCJKShape{J33}{mg}{m}{!utftmgr--v} + +\fi % pxbb@forcedeluxemulti + +\fi % pxbb@otfdeluxe + %--------------------------------------- add font switch to Babel \extras \ifpxbb@switchfont |