summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/platex
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2012-12-11 02:26:25 +0000
committerNorbert Preining <preining@logic.at>2012-12-11 02:26:25 +0000
commitd0f09224052f8ed6c96d35aed98a8bfd917afbb3 (patch)
tree41d38fd9efa641073391d807acbaa88896a40382 /Master/texmf-dist/tex/platex
parentc30e79ab3a968774519686ca66687d87be2f31b4 (diff)
new platex package pxchfon (11Dec)
git-svn-id: svn://tug.org/texlive/trunk@28496 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/platex')
-rw-r--r--Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty444
-rw-r--r--Master/texmf-dist/tex/platex/pxchfon/pxchfon0.def4
-rw-r--r--Master/texmf-dist/tex/platex/pxchfon/pxjafont.sty10
3 files changed, 458 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty b/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty
new file mode 100644
index 00000000000..e6e94427232
--- /dev/null
+++ b/Master/texmf-dist/tex/platex/pxchfon/pxchfon.sty
@@ -0,0 +1,444 @@
+%
+% pxchfon.sty
+%
+
+%%%% package declaration
+\NeedsTeXFormat{pLaTeX2e}
+\ProvidesPackage{pxchfon}[2010/05/12 v0.5]
+\def\pxcz@pkgname{pxchfon}
+
+%%%% definitions
+\def\pxcz@error{\PackageError\pxcz@pkgname}
+\def\pxcz@warn{\PackageInfo\pxcz@pkgname}
+\newif\ifpxcz@ok
+\newif\ifpxcz@utf
+
+%%%% check for 'pxjafont' package
+% if old version of pxjafont is loaded (probably this package is
+% required from pxjafont), then I abort here with an error message
+% and in addition cause pxjafont to abort immediately.
+\@ifpackageloaded{pxjafont}{%
+ \ifx\pxAliasedPxjafont\@undefined
+ \pxcz@error{Package 'pxjafont' is of incompatible version}%
+ {You must use version 0.5 of pxjafont.}%
+ \DeclareOption{noalphabet}{}\ProcessOptions
+ \let\pxjf@main@preset\relax % make pxjafont bombout
+ \endinput\fi}{}
+
+%%%% check for upTeX
+\newif\ifpxcz@uptex \pxcz@uptexfalse
+\edef\pxcz@tmpa{\string\ucs}\edef\pxcz@tmpb{\meaning\ucs}
+\ifx\pxcz@tmpa\pxcz@tmpb \pxcz@uptextrue \fi
+
+%%%% process options
+\let\pxcz@alphabet=n
+\DeclareOption{alphabet}{\let\pxcz@alphabet=t}
+\DeclareOption{noalphabet}{\let\pxcz@alphabet=f}
+\newif\ifpxcz@otf \pxcz@otftrue
+\DeclareOption{otf}{\pxcz@otftrue}
+\DeclareOption{nootf}{\pxcz@otffalse}
+\DeclareOption{utf}{\pxcz@otftrue}
+\DeclareOption{noutf}{\pxcz@otffalse}
+\newif\ifpxcz@cmap@alpha
+\DeclareOption{usecmapforalphabet}{\pxcz@cmap@alphatrue}
+\DeclareOption{nousecmapforalphabet}{\pxcz@cmap@alphafalse}
+\newif\ifpxcz@mmivjis
+\DeclareOption{prefer2004jis}{\pxcz@mmivjistrue}
+\DeclareOption{noprefer2004jis}{\pxcz@mmivjisfalse}
+\newif\ifpxcz@everypage
+\DeclareOption{everypage}{\pxcz@everypagetrue}
+\DeclareOption{noeverypage}{\pxcz@everypagefalse}
+% preset spec options
+\def\pxcz@all@main@preset{%
+ noembed,ms,ms-dx,ipa,ipa-dx,ipa-otf,ipa-otf-dx,%
+ kozuka4,kozuka6,kozuka6n,hiragino,hiragino-dx,%
+ ipa2,ipa2-dx,ipa-ttf,ipa-ttf-dx}
+\let\pxcz@main@preset\relax
+\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}}
+% dispatch
+\ProcessOptions*
+% 'everypage' needs 'atbegshi' package
+\ifpxcz@everypage
+\RequirePackage{atbegshi}
+\fi
+
+
+%% \ifpxcz@alpha
+\newif\ifpxcz@alpha
+\if t\pxcz@alphabet \pxcz@alphatrue
+\else\if f\pxcz@alphabet \pxcz@alphafalse
+\else\if\pxcz@main@preset\relax \pxcz@alphatrue
+\else \pxcz@alphafalse
+\fi\fi\fi
+\ifpxcz@alpha
+ \IfFileExists{pxchfon0.def}{\relax}{%
+ \pxcz@error{Option 'alphabet' not available in Lite edition}%
+ {You must install full edition of PXchfon bundle, or specify
+ 'noalphabet'\MessageBreak as package option.}%
+ \pxcz@alphafalse}
+\fi
+
+%%------------------ user interface
+
+%%%%<*> \setminchofont/\setgothicfont/etc.
+\newcommand*\setminchofont{\pxcz@setfont{mnl,mnr,mnb}}
+\newcommand*\setgothicfont{\pxcz@setfont{gtr,gtb,gtx}}
+\newcommand*\setlightminchofont{\pxcz@setfont{mnl}}
+\newcommand*\setmediumminchofont{\pxcz@setfont{mnr}}
+\newcommand*\setboldminchofont{\pxcz@setfont{mnb}}
+\newcommand*\setmediumgothicfont{\pxcz@setfont{gtr}}
+\newcommand*\setboldgothicfont{\pxcz@setfont{gtb}}
+\newcommand*\setxboldgothicfont{\pxcz@setfont{gtx}}
+\newcommand*\setmarugothicfont{\pxcz@setfont{mgr}}
+\def\pxcz@setfont#1{\@ifnextchar[%]
+ {\pxcz@setfont@a{#1}}{\pxcz@setfont@a{#1}[]}}
+\def\pxcz@setfont@a#1[#2]#3{%
+ \@for\pxcz@x:={#1}\do{%
+ \ifx @#2@\@namedef{pxcz@FS/\pxcz@x}{#3}%
+ \else\@namedef{pxcz@FS/\pxcz@x}{:#2:#3}\fi}}
+\@for\pxcz@x:={mnl,mnr,mnb,gtr,gtb,gtx,mgr}\do
+ {\@namedef{pxcz@FS/\pxcz@x}{}}
+
+%%%% <*> \usecmapforalphabet/\nousecmapforalphabet
+\def\usecmapforalphabet{\gdef\pxcz@unicmap{UniJIS-UCS2-HW-H}}
+\def\nousecmapforalphabet{\gdef\pxcz@unicmap{unicode}}
+\ifpxcz@cmap@alpha \usecmapforalphabet
+\else \nousecmapforalphabet \fi
+
+%%------------------ map entry definitions
+
+%% \pxcz@unijis
+\edef\pxcz@unijis{UniJIS\ifpxcz@mmivjis 2004\fi}
+
+%% \pxcz@mapentry{<id>}{<text>}
+\def\pxcz@mapentry#1{%
+ \expandafter\pxcz@mapentry@a\csname pxcz@ME/#1\endcsname}
+\def\pxcz@mapentry@a#1{\@onlypreamble#1\def#1}
+
+%%%% map entries
+\pxcz@mapentry{STD}{%
+\Entry{mnr}{rml H \FONT}%
+\Entry{mnr}{rmlv V \FONT}%
+\Entry{gtr}{gbm H \FONT}%
+\Entry{gtr}{gbmv V \FONT}%
+}
+\pxcz@mapentry{ALPHA}{%
+\Entry{mnl}{r-cfjar-l-@PXcjk0@ \UniCMap\ \FONT}%
+\Entry{mnr}{r-cfjar-r-@PXcjk0@ \UniCMap\ \FONT}%
+\Entry{mnb}{r-cfjar-b-@PXcjk0@ \UniCMap\ \FONT}%
+\Entry{gtr}{r-cfjas-r-@PXcjk0@ \UniCMap\ \FONT}%
+\Entry{gtb}{r-cfjas-b-@PXcjk0@ \UniCMap\ \FONT}%
+\Entry{gtx}{r-cfjas-x-@PXcjk0@ \UniCMap\ \FONT}%
+\Entry{mgr}{r-cfjas-r-@PXcjk0@ \UniCMap\ \FONT}%
+}
+\pxcz@mapentry{UTF}{%
+\Entry{mnr}{unijmin-h UniJIS-UTF16-H \FONT}%
+\Entry{mnr}{unijmin-v UniJIS-UTF16-V \FONT}%
+\Entry{mnr}{cidmin-h Identity-H \FONT/AJ16}%
+\Entry{mnr}{cidmin-v Identity-V \FONT/AJ16}%
+\Entry{mnr}{hmr H \FONT}%
+\Entry{mnr}{hmrv V \FONT}%
+\Entry{gtr}{unijgoth-h UniJIS-UTF16-H \FONT}%
+\Entry{gtr}{unijgoth-v UniJIS-UTF16-V \FONT}%
+\Entry{gtr}{cidgoth-h Identity-H \FONT/AJ16}%
+\Entry{gtr}{cidgoth-v Identity-V \FONT/AJ16}%
+\Entry{gtr}{hkb H \FONT}%
+\Entry{gtr}{hkbv V \FONT}%
+}
+\pxcz@mapentry{OTF}{%
+\Entry{mnl}{otf-ujml-h UniJIS-UTF16-H \FONT}%
+\Entry{mnl}{otf-ujml-v UniJIS-UTF16-V \FONT}%
+\Entry{mnl}{otf-cjml-h Identity-H \FONT/AJ16}%
+\Entry{mnl}{otf-cjml-v Identity-V \FONT/AJ16}%
+\Entry{mnl}{hminl-h H \FONT}%
+\Entry{mnl}{hminl-v V \FONT}%
+\Entry{mnr}{otf-ujmr-h UniJIS-UTF16-H \FONT}%
+\Entry{mnr}{otf-ujmr-v UniJIS-UTF16-V \FONT}%
+\Entry{mnr}{otf-cjmr-h Identity-H \FONT/AJ16}%
+\Entry{mnr}{otf-cjmr-v Identity-V \FONT/AJ16}%
+\Entry{mnr}{hminr-h H \FONT}%
+\Entry{mnr}{hminr-v V \FONT}%
+\Entry{mnb}{otf-ujmb-h UniJIS-UTF16-H \FONT}%
+\Entry{mnb}{otf-ujmb-v UniJIS-UTF16-V \FONT}%
+\Entry{mnb}{otf-cjmb-h Identity-H \FONT/AJ16}%
+\Entry{mnb}{otf-cjmb-v Identity-V \FONT/AJ16}%
+\Entry{mnb}{hminb-h H \FONT}%
+\Entry{mnb}{hminb-v V \FONT}%
+\Entry{gtr}{otf-ujgr-h UniJIS-UTF16-H \FONT}%
+\Entry{gtr}{otf-ujgr-v UniJIS-UTF16-V \FONT}%
+\Entry{gtr}{otf-cjgr-h Identity-H \FONT/AJ16}%
+\Entry{gtr}{otf-cjgr-v Identity-V \FONT/AJ16}%
+\Entry{gtr}{hgothr-h H \FONT}%
+\Entry{gtr}{hgothr-v V \FONT}%
+\Entry{gtb}{otf-ujgb-h UniJIS-UTF16-H \FONT}%
+\Entry{gtb}{otf-ujgb-v UniJIS-UTF16-V \FONT}%
+\Entry{gtb}{otf-cjgb-h Identity-H \FONT/AJ16}%
+\Entry{gtb}{otf-cjgb-v Identity-V \FONT/AJ16}%
+\Entry{gtb}{hgothb-h H \FONT}%
+\Entry{gtb}{hgothb-v V \FONT}%
+\Entry{gtx}{hgotheb-h H \FONT}%
+\Entry{gtx}{hgotheb-v V \FONT}%
+\Entry{mgr}{otf-ujmgr-h UniJIS-UTF16-H \FONT}%
+\Entry{mgr}{otf-ujmgr-v UniJIS-UTF16-V \FONT}%
+\Entry{mgr}{otf-cjmgr-h Identity-H \FONT/AJ16}%
+\Entry{mgr}{otf-cjmgr-v Identity-V \FONT/AJ16}%
+\Entry{mgr}{hmgothr-h H \FONT}%
+\Entry{mgr}{hmgothr-v V \FONT}%
+}
+\pxcz@mapentry{UPSTD}{%
+\Entry{mnr}{uprml-h \UniJIS-UTF16-H \FONT}%
+\Entry{mnr}{uprml-v \UniJIS-UTF16-V \FONT}%
+\Entry{mnr}{uprml-hq UniJIS-UCS2-H \FONT}%
+\Entry{gtr}{upgbm-h \UniJIS-UTF16-H \FONT}%
+\Entry{gtr}{upgbm-v \UniJIS-UTF16-V \FONT}%
+\Entry{gtr}{upgbm-hq UniJIS-UCS2-H \FONT}%
+\Entry{mnr}{urml \UniJIS-UTF16-H \FONT}%
+\Entry{mnr}{urmlv \UniJIS-UTF16-V \FONT}%
+\Entry{gtr}{ugbm \UniJIS-UTF16-H \FONT}%
+\Entry{gtr}{ugbmv \UniJIS-UTF16-V \FONT}%
+}
+\pxcz@mapentry{UPOTF}{%
+\Entry{mnl}{uphminl-h UniJIS-UTF16-H \FONT}%
+\Entry{mnl}{uphminl-v UniJIS-UTF16-V \FONT}%
+\Entry{mnr}{uphminr-h UniJIS-UTF16-H \FONT}%
+\Entry{mnr}{uphminr-v UniJIS-UTF16-V \FONT}%
+\Entry{mnb}{uphminb-h UniJIS-UTF16-H \FONT}%
+\Entry{mnb}{uphminb-v UniJIS-UTF16-V \FONT}%
+\Entry{gtr}{uphgothr-h UniJIS-UTF16-H \FONT}%
+\Entry{gtr}{uphgothr-v UniJIS-UTF16-V \FONT}%
+\Entry{gtb}{uphgothb-h UniJIS-UTF16-H \FONT}%
+\Entry{gtb}{uphgothb-v UniJIS-UTF16-V \FONT}%
+\Entry{gtx}{uphgotheb-h UniJIS-UTF16-H \FONT}%
+\Entry{gtx}{uphgotheb-v UniJIS-UTF16-V \FONT}%
+\Entry{mgr}{uphmgothr-h UniJIS-UTF16-H \FONT}%
+\Entry{mgr}{uphmgothr-v UniJIS-UTF16-V \FONT}%
+}
+% for 'PXOTF'
+\@onlypreamble\pxcz@entry@pxotf
+\def\pxcz@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@mapentry{PXOTF}{%
+\pxcz@entry@pxotf{mnl}{njar-l}%
+\pxcz@entry@pxotf{mnr}{njar-r}%
+\pxcz@entry@pxotf{mnb}{njar-b}%
+\pxcz@entry@pxotf{gtr}{njas-r}%
+\pxcz@entry@pxotf{gtb}{njas-b}%
+\pxcz@entry@pxotf{gtx}{njas-x}%
+\pxcz@entry@pxotf{mgr}{mgjas-r}%
+}
+
+%% \pxcz@addtospec{<id>}
+\def\pxcz@addtospec#1{%
+ \bgroup \let\Entry\pxcz@Entry
+ \let\ \space \let\UniCMap\pxcz@unicmap
+ \let\UniJIS\pxcz@unijis
+ \@nameuse{pxcz@ME/#1}\egroup}
+\def\pxcz@Entry#1{%
+ \expandafter\let\expandafter\FONT\csname pxcz@FS/#1\endcsname
+ \ifx\FONT\@empty \expandafter\@gobble
+ \else \expandafter\pxcz@entry@a \fi}
+\def\pxcz@entry@a#1{%
+ \xdef\pxcz@spec{\pxcz@spec\noexpand\special{\pxcz@line{#1}}}}
+\let\pxcz@spec\@empty
+\def\pxcz@line#1{pdf:mapline #1}
+
+%%------------------ 'alphabet' option
+
+%% \pxcz@decl@shape{<fam>}{<ser>}{<font>}
+\@onlypreamble\pxcz@decl@shape
+\def\pxcz@decl@shape#1#2#3{%
+\DeclareFontShape{OT1}{#1}{#2}{n}{<->#3}{}%
+\DeclareFontShape{OT1}{#1}{#2}{it}{<->ssub*#1/#2/n}{}}
+
+\let\pxcz@check@extra\@empty
+\@onlypreamble\pxcz@check@extra
+%
+\ifpxcz@alpha %---- <*alphabet>
+\@ifpackagewith{otf}{deluxe}{\pxcz@oktrue}{\pxcz@okfalse}
+\@ifpackagewith{pxotf}{deluxe}{\pxcz@oktrue}{}
+\ifpxcz@ok %---- <*otfdx> : otf with deluxe option
+ % define families cfjar & cfjas
+\DeclareFontFamily{OT1}{cfjar}{}%
+\pxcz@decl@shape{cfjar}{l}{cfjar-l-l0j}%
+\pxcz@decl@shape{cfjar}{m}{cfjar-r-l0j}%
+\pxcz@decl@shape{cfjar}{bx}{cfjar-b-l0j}%
+\DeclareFontFamily{OT1}{cfjas}{}%
+\pxcz@decl@shape{cfjas}{m}{cfjas-r-l0j}%
+\pxcz@decl@shape{cfjas}{bx}{cfjas-b-l0j}%
+\pxcz@decl@shape{cfjas}{eb}{cfjas-x-l0j}%
+ % redefine \ltseries & \ebseries so they affect roman font
+\let\ltseries\relax \let\ebseries\relax
+\DeclareRobustCommand\ltseries{%
+ \not@math@alphabet\ltseries\relax
+ \fontseries\ltdefault\selectfont}%
+\DeclareRobustCommand\ebseries{%
+ \not@math@alphabet\ebseries\relax
+ \fontseries\ebdefault\selectfont}%
+\else %---- <*!otfdx>
+\DeclareFontFamily{OT1}{cfjar}{}%
+\pxcz@decl@shape{cfjar}{m}{cfjar-r-l0j}%
+\pxcz@decl@shape{cfjar}{bx}{ssub*cfjas/m/n}%
+\DeclareFontFamily{OT1}{cfjas}{}%
+\pxcz@decl@shape{cfjas}{m}{cfjas-r-l0j}%
+\pxcz@decl@shape{cfjas}{bx}{ssub*cfjas/m/n}%
+\@onlypreamble\pxcz@err@dxotf
+\def\pxcz@err@dxotf#1{%
+ \pxcz@error{Loaded before '#1' with 'deluxe'}%
+ {This package must be loaded after '#1' with 'deluxe' option
+ when using both.}}
+\def\pxcz@check@extra{%
+ \expandafter\let\expandafter\pxcz@x\csname pxcz@FS/mnr\endcsname
+ \ifx\pxcz@x\@empty\else
+ % if mnr is replaced but gtr is not then ...
+ \expandafter\ifx\csname pxcz@FS/gtr\endcsname\@empty
+ {\expandafter\let\csname pxcz@FS/gtr\endcsname\pxcz@x
+ \pxcz@Entry{gtr}{r-cfjas-r-@PXcjk0@ \pxcz@unicmap\space \FONT}}%
+ \fi\fi
+ \@ifpackagewith{otf}{deluxe}{\pxcz@err@dxotf{otf}}{}%
+ \@ifpackagewith{pxotf}{deluxe}{\pxcz@err@dxotf{pxotf}}{}%
+}
+\fi %---- </otfdx>
+\fi %---- </alphabet>
+
+%%------------------ begin-document hook
+
+%%%% \pxcz@set@page@hook{<text>}
+\ifpxcz@everypage
+\def\pxcz@set@page@hook#1{%
+ \AtBeginShipout{\setbox\AtBeginShipoutBox=\vbox{%
+ \baselineskip\z@skip\lineskip\z@skip\lineskiplimit\z@
+ #1\copy\AtBeginShipoutBox}}}
+\else
+\def\pxcz@set@page@hook#1{%
+ % this is \AtBeginDvi with forcing of yoko-dir added
+ \global\setbox\@begindvibox\vbox{\yoko\unvbox\@begindvibox#1}}
+\fi
+
+%%%% \AtBeginDocument
+\def\pxcz@check@alldefined#1{%
+ \pxcz@oktrue
+ \@for\pxcz@x:={#1}\do{%
+ \expandafter\ifx\csname pxcz@FS/\pxcz@x\endcsname\@empty
+ \pxcz@okfalse \fi}}
+\AtBeginDocument{%
+ \ifpxcz@alpha
+ \pxcz@check@alldefined{mnl,mnr,mnb}%
+ \ifpxcz@ok \renewcommand\rmdefault{cfjar}\fi
+ \pxcz@check@alldefined{gtr,gtb,gtx}%
+ \ifpxcz@ok \renewcommand\sfdefault{cfjas}\fi
+ \renewcommand\encodingdefault{OT1}\normalfont
+ \pxcz@addtospec{ALPHA}%
+ \fi
+ \ifpxcz@uptex \pxcz@addtospec{UPSTD}%
+ \else \pxcz@addtospec{STD}%
+ \fi
+ \ifpxcz@otf
+ \@ifpackageloaded{otf}{\pxcz@otftrue}{\pxcz@otffalse}%
+ \@ifpackageloaded{utf}{\pxcz@utftrue}{\pxcz@utffalse}%
+ \fi
+ \ifpxcz@otf
+ \ifpxcz@uptex \pxcz@addtospec{UPOTF}%
+ \else \pxcz@addtospec{OTF}%
+ \fi
+ \fi
+ \ifpxcz@utf \pxcz@addtospec{UTF}%
+ \fi
+ \@ifpackageloaded{pxotf}{\pxcz@oktrue}{\pxcz@okfalse}%
+ \@ifpackageloaded{pxfontenc}{\pxcz@oktrue}{}%
+ \ifpxcz@ok \pxcz@addtospec{PXOTF}%
+ \fi
+ \pxcz@check@extra
+ \pxcz@set@page@hook{\pxcz@spec}%
+}
+
+%%------------------ preset japanese font mappings
+
+%% \pxcz@declare@preset{<name>}{<text>}
+\def\pxcz@declare@preset#1{%
+ \expandafter\pxcz@decl@preset@a\csname pxcz@the@preset@#1\endcsname}
+\def\pxcz@decl@preset@a#1{\@onlypreamble#1\def#1}
+
+%% \pxcz@declare@preset@alias{<name1>}{<name2>}
+\def\pxcz@declare@preset@alias#1#2{%
+ \expandafter\pxcz@decl@preset@alias@a\csname pxcz@the@preset@#1%
+ \expandafter\endcsname\csname pxcz@the@preset@#2\endcsname}
+\def\pxcz@decl@preset@alias@a#1#2{\@onlypreamble#1\let#1#2}
+
+%% \pxcz@uniweight{<font-mc>}{<font-gt>}
+\@onlypreamble\pxcz@uniweight
+\def\pxcz@uniweight#1#2{%
+ \setminchofont{#1}\setgothicfont{#2}\setmarugothicfont{#2}}
+
+%% \pxcz@multiweight{<font-mc>}{<font-mc-bx>}
+%% {<font-gt>}{<font-gt-bx>}{<font-gt-eb>}{<font-mg>}
+\@onlypreamble\pxcz@multiweight
+\def\pxcz@multiweight#1#2#3#4#5#6{%
+ \setminchofont{#1}\setboldminchofont{#2}%
+ \setgothicfont{#3}\setboldgothicfont{#4}\setxboldgothicfont{#5}%
+ \setmarugothicfont{#6}}
+
+%% \pxcz@use@preset{<name>}
+\def\pxcz@use@preset#1{%
+ \csname pxcz@the@preset@#1\endcsname}
+
+%%%% definitions of main preset mappings
+\pxcz@declare@preset{noembed}{%
+ \usecmapforalphabet
+ \pxcz@uniweight{Ryumin-Light}{GothicBBB-Medium}}
+\pxcz@declare@preset{ms}{%
+ \pxcz@uniweight{:0:msmincho.ttc}{:0:msgothic.ttc}}
+\pxcz@declare@preset{ms-dx}{%
+ \pxcz@multiweight{:0:msmincho.ttc}{:0:hgrme.ttc}%
+ {:0:hgrgm.ttc}{:0:hgrge.ttc}{:0:hgrsgu.ttc}{hgrsmp.ttf}}
+\pxcz@declare@preset{ipa-otf}{%
+ \pxcz@uniweight{ipam.otf}{ipag.otf}}
+\pxcz@declare@preset{ipa-otf-dx}{%
+ \pxcz@multiweight{ipam.otf}{:0:hgrme.ttc}%
+ {:0:hgrgm.ttc}{:0:hgrge.ttc}{:0:hgrsgu.ttc}{hgrsmp.ttf}}
+\pxcz@declare@preset{ipa-ttf}{%
+ \pxcz@uniweight{ipam.ttf}{ipag.ttf}}
+\pxcz@declare@preset{ipa-ttf-dx}{%
+ \pxcz@multiweight{ipam.ttf}{:0:hgrme.ttc}%
+ {:0:hgrgm.ttc}{:0:hgrge.ttc}{:0:hgrsgu.ttc}{hgrsmp.ttf}}
+\pxcz@declare@preset@alias{ipa}{ipa-ttf}
+\pxcz@declare@preset@alias{ipav2}{ipa-ttf}
+\pxcz@declare@preset{kozuka4}{%
+ \usecmapforalphabet
+ \pxcz@uniweight{KozMinPro-Regular-Acro.otf}{KozGoPro-Medium-Acro.otf}}
+\pxcz@declare@preset{kozuka6}{%
+ \usecmapforalphabet
+ \pxcz@uniweight{KozMinProVI-Regular.otf}{KozGoProVI-Medium.otf}}
+\pxcz@declare@preset{kozuka6n}{%
+ \usecmapforalphabet
+ \pxcz@uniweight{KozMinPr6N-Regular.otf}{KozGoPr6N-Medium.otf}}
+\pxcz@declare@preset{hiragino}{%
+ \usecmapforalphabet
+ \pxcz@uniweight{HiraMinPro-W3.otf}{HiraKakuPro-W6.otf}}
+\pxcz@declare@preset{hiragino-dx}{%
+ \usecmapforalphabet
+ \pxcz@multiweight{HiraMinPro-W3.otf}{HiraMinPro-W6.otf}%
+ {HiraKakuPro-W3.otf}{HiraKakuPro-W6.otf}{HiraKakuStd-W8.otf}%
+ {HiraMaruPro-W4.otf}}
+
+%%%% ... and invokes the specified one!
+\if\pxcz@main@preset\relax\else
+\pxcz@use@preset{\pxcz@main@preset}
+\fi
+
+%%------------------ all done
+\endinput
+%% EOF
diff --git a/Master/texmf-dist/tex/platex/pxchfon/pxchfon0.def b/Master/texmf-dist/tex/platex/pxchfon/pxchfon0.def
new file mode 100644
index 00000000000..1be68f098f3
--- /dev/null
+++ b/Master/texmf-dist/tex/platex/pxchfon/pxchfon0.def
@@ -0,0 +1,4 @@
+% pxchfon0.def
+% This file does nothing; it exists for check for full installation.
+\relax
+% EOF
diff --git a/Master/texmf-dist/tex/platex/pxchfon/pxjafont.sty b/Master/texmf-dist/tex/platex/pxchfon/pxjafont.sty
new file mode 100644
index 00000000000..2119a43440f
--- /dev/null
+++ b/Master/texmf-dist/tex/platex/pxchfon/pxjafont.sty
@@ -0,0 +1,10 @@
+%
+% pxjafont.sty
+%
+%%%% package declaration
+\NeedsTeXFormat{pLaTeX2e}
+\ProvidesPackage{pxjafont}[2010/05/12 v0.5]
+\let\pxAliasedPxjafont=t
+\RequirePackageWithOptions{pxchfon}[2010/05/12]
+\endinput
+%% EOF