% % pxchfon.sty % %%%% package declaration \NeedsTeXFormat{pLaTeX2e} \ProvidesPackage{pxchfon}[2015/05/07 v0.7e] \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} \DeclareOption{relfont}{\let\pxcz@alphabet=r} \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} \newif\ifpxcz@oneweight \DeclareOption{oneweight}{\pxcz@oneweighttrue} \DeclareOption{nooneweight}{\pxcz@oneweightfalse} \newif\ifpxcz@directunicode \DeclareOption{directunicode}{\pxcz@directunicodetrue} \DeclareOption{nodirectunicode}{\pxcz@directunicodefalse} % preset spec options \def\pxcz@all@main@preset{% noembed,% %(uniweight) ms,ipa,ipaex,% %(multiweight) ms-hg,ipa-hg,ipaex-hg,moga-mobo,moga-maruberi,% kozuka-pro,kozuka-pr6,kozuka-pr6n,hiragino-pro,hiragino-pron,% morisawa-pro,morisawa-pr6n,yu-win,yu-osx,% %(obsolete) ipa-otf,ipa-otf-dx,kozuka4,kozuka6,kozuka6n,hiragino,% %(alias) ms-dx,ipa-ttf,ipa-ttf-dx,ipav2,ipav2-dx,ipa-dx,hiragino-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}} % file-preset handler \DeclareOption*{% \let\pxcz@x\relax \expandafter\pxcz@popt\CurrentOption\@nnil \ifx\pxcz@x\relax \@unknownoptionerror \else \let\pxcz@file@preset\pxcz@x \fi} \let\pxcz@file@preset\relax \def\pxcz@popt{% \futurelet\pxcz@tok\pxcz@popt@a} \def\pxcz@popt@a{% \ifx+\pxcz@tok \expandafter\pxcz@popt@b \else \expandafter\remove@to@nnil \fi} \def\pxcz@popt@b+#1\@nnil{\edef\pxcz@x{#1}} % dispatch \ProcessOptions* % 'everypage' needs 'atbegshi' package \ifpxcz@everypage \RequirePackage{atbegshi} \fi %% \ifpxcz@alpha \@tempswafalse \if\pxcz@main@preset\relax \if\pxcz@file@preset\relax \@tempswatrue \fi \fi \newif\ifpxcz@alpha \if t\pxcz@alphabet \pxcz@alphatrue \else\if f\pxcz@alphabet \pxcz@alphafalse \else\if r\pxcz@alphabet \pxcz@alphafalse \else\if@tempswa \pxcz@alphatrue \else \pxcz@alphafalse \fi\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 %% \ifpxcz@rel \newif\ifpxcz@rel \if r\pxcz@alphabet \pxcz@reltrue \else \pxcz@relfalse \fi \ifpxcz@rel \IfFileExists{pxchfon0.def}{\relax}{% \pxcz@error{Option 'relfont' not available in Lite edition}% {You must install full edition of PXchfon bundle.}% \pxcz@relfalse} \fi %% \ifpxcz@alphafont % Whether or not alphabet fonts are used. \newif\ifpxcz@alphafont \ifpxcz@alpha \pxcz@alphafonttrue \else\ifpxcz@rel \pxcz@alphafonttrue \else \pxcz@alphafontfalse \fi\fi %% \ifpxcz@otf@deluxe \newif\ifpxcz@otf@deluxe \pxcz@otf@deluxefalse \@ifpackagewith{otf}{deluxe}{\pxcz@otf@deluxetrue}{} \@ifpackagewith{pxotf}{deluxe}{\pxcz@otf@deluxetrue}{} %% \ifpxcz@otf@multi \newif\ifpxcz@otf@multi \pxcz@otf@multifalse \@ifpackagewith{otf}{multi}{\pxcz@otf@multitrue}{} %%------------------ user interface %%%%<*> \setminchofont/\setgothicfont/etc. \newcommand*\setminchofont{\pxcz@setfont{mnl,mnr,mnb}} \newcommand*\setgothicfont{\pxcz@setfont{gtr,gtb,gtx,gtu}} \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*\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}} \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,gtu,mgr,% kom,kog,scm,scg,tcm,tcg% }\do{\@namedef{pxcz@FS/\pxcz@x}{}} %%------------------ '\asUTF' % NB. This feature is superseded by the pxasutf package. \ifpxcz@uptex %%<*> \asUTF{} \AtBeginDocument{% \@ifpackageloaded{otf}{% \providecommand*\asUTF{\pxcz@asutf@a}% }{}% } \def\pxcz@asutf@a#1{% \kchardef\pxcz@tmpa=`#1\relax \expandafter\pxcz@asutf@b\meaning\pxcz@tmpa\relax } \def\pxcz@asutf@b#1"#2\relax{% \UTF{#2}% } \fi %%------------------ fontmap internals %% \pxcz@noembed % The value given to \set...font to mean 'no-embed'. \def\pxcz@noembed{*} %% \pxcz@cmap@directuni % CMap symbol for "direct unicode". \def\pxcz@cmap@directuni{unicode} %% \pxcz@cmap@hwuni % CMap name for halfwidth fonts. \def\pxcz@cmap@hwuni{UniJIS-UCS2-HW-H} %%%% <*> \usecmapforalphabet/\nousecmapforalphabet \def\usecmapforalphabet{% \global\let\pxcz@cmap@uni\pxcz@cmap@hwuni} \def\nousecmapforalphabet{% \global\let\pxcz@cmap@uni\pxcz@cmap@directuni} \ifpxcz@cmap@alpha \usecmapforalphabet \else \nousecmapforalphabet \fi %% \pxcz@NEF/ \def\pxcz@do#1#2{% \def\pxcz@tmpb{#2}% \@for\pxcz@tmpa:=#1\do{% \expandafter\let\csname pxcz@NEF/\pxcz@tmpa\endcsname\pxcz@tmpb }% } \pxcz@do{mnl,mnr,mnb}{Ryumin-Light} \pxcz@do{gtr,gtb,gtx,gtu,mgr}{GothicBBB-Medium} \pxcz@do{kom}{HYSMyeongJoStd-Medium} \pxcz@do{kog}{HYGoThic-Medium} \pxcz@do{scm}{STSongStd-Light} \pxcz@do{scg}{STHeiti-Regular} \pxcz@do{tcm}{MSungStd-Light} \pxcz@do{tcg}{MHei-Medium} %%<+> \JaFontReplacementFor{} \newcommand*\JaFontReplacementFor[1]{% \csname pxcz@FS/#1\endcsname} %%<+> \JaFontReplacementHook{} \newcommand*\JaFontReplacementHook{% \g@addto@macro\pxcz@user@hook} \let\pxcz@user@hook\@empty \@onlypreamble\JaFontReplacementHook %%<+> \JaFontUserDefinedMap \newcommand*\JaFontUserDefinedMap{% \g@addto@macro\pxcz@user@map} \let\pxcz@user@map\@empty \@namedef{pxcz@FS/*}{\pxcz@empty} \@onlypreamble\JaFontUserDefinedMap %%<+> \usefontmapline{} \newcommand*\usefontmapline[1]{% \JaFontUserDefinedMap{\pxcz@addtospec@alt\pxcz@mapline#1}} \@onlypreamble\usefontmapline %%<+> \usefontmapfile{} \newcommand*\usefontmapfile[1]{% \JaFontUserDefinedMap{\pxcz@addtospec@alt\pxcz@mapfile#1}} \@onlypreamble\usefontmapfile %%------------------ map entry handling %%<*> \setnewglyphcmapprefix{} \def\pxcz@pfx@jis@dflt{2004-} \def\pxcz@pfx@jis@star{JISX0213-2004-} \newcommand*\setnewglyphcmapprefix{% \@ifstar{\pxcz@set@pfx@jis\pxcz@pfx@jis@star}% {\pxcz@set@pfx@jis}} \def\pxcz@set@pfx@jis#1{% \edef\pxcz@pfx@jis{\ifpxcz@mmivjis#1\fi}} \setnewglyphcmapprefix{\pxcz@pfx@jis@dflt} %% \pxcz@pfx@unijis \edef\pxcz@pfx@unijis{UniJIS\ifpxcz@mmivjis 2004\fi} %% \pxcz@enable@switch@realfont \def\pxcz@enable@switch@realfont{% \let\pxcz@switch@realfont\pxcz@do@switch@realfont } \let\pxcz@switch@realfont\relax %% \pxcz@do@switch@realfont \def\pxcz@do@switch@realfont{% \edef\pxcz@reset@mmivjis{% \ifpxcz@mmivjis \noexpand\pxcz@mmivjistrue \else \noexpand\pxcz@mmivjisfalse \fi}% \let\pxcz@empty\relax \pxcz@mmivjistrue \edef\FONT{\FONTs}% \pxcz@mmivjisfalse \edef\FONTo{\FONTs}% \pxcz@reset@mmivjis \edef\FONTs{\FONTs}% \let\pxcz@empty\@empty} %% \pxcz@MI % NB: not \edef \def\pxcz@MI{\ifpxcz@mmivjis:0:\else:3:\fi} %% \pxcz@unidirect \let\pxcz@unidirect\@empty \let\pxcz@unidirect@wopt\@empty \ifpxcz@directunicode \def\pxcz@unidirect#116-#2{\pxcz@cmap@directuni} \def\pxcz@unidirect@wopt{ -w 1} \fi %% \pxcz@addtospec{} \def\pxcz@addtospec#1{% \bgroup \let\Entry\pxcz@Entry \let\ \space \let\*\pxcz@pfx@jis \let\UniJIS\pxcz@pfx@unijis \@nameuse{pxcz@ME/#1}\egroup} \def\pxcz@Entry#1{% \expandafter\let\expandafter\FONT\csname pxcz@FS/#1\endcsname \let\FONTo\FONT \let\FONTs\FONT \ifx\FONT\pxcz@noembed \let\UniCMap\pxcz@cmap@hwuni \let\+\@empty \let\w\@empty \edef\FONT{!\@nameuse{pxcz@NEF/#1}}% \let\FONTo\FONT \let\FONTs\FONT \else\ifx\FONT\@empty\else \let\UniCMap\pxcz@cmap@uni \let\+\pxcz@unidirect \let\w\pxcz@unidirect@wopt \pxcz@switch@realfont \fi\fi \ifx\FONT\@empty \expandafter\@gobble \else \expandafter\pxcz@entry@a \fi} \def\pxcz@entry@a#1{% \xdef\pxcz@spec{% \pxcz@spec\noexpand\special{\pxcz@mapline{#1}}}} \let\pxcz@spec\@empty %% \pxcz@do@file@preset \def\pxcz@do@file@preset{% \ifpxcz@uptex \pxcz@do@file@preset@a{uptex-}% \else \pxcz@do@file@preset@a{ptex-}% \fi \ifpxcz@otf \ifpxcz@uptex \pxcz@do@file@preset@a{otf-up-}% \else \pxcz@do@file@preset@a{otf-}% \fi \fi} \def\pxcz@do@file@preset@a#1{% \pxcz@addtospec@alt\pxcz@mapfile{#1\pxcz@file@preset.map}} %% \pxcz@addtospec@alt \def\pxcz@addtospec@alt#1#2{% \xdef\pxcz@spec{\pxcz@spec\noexpand\special{#1{#2}}}} \def\pxcz@mapfile#1{pdf:mapfile #1} \def\pxcz@mapline#1{pdf:mapline #1} %%------------------ map entry definitions %% \pxcz@mapentry{}{} \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 \FONTs}% \Entry{mnr}{rmlv \*V \FONTs}% \Entry{gtu}{gbm \*H \FONTs}% \Entry{gtu}{gbmv \*V \FONTs}% } \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 \FONTs}% \Entry{mnr}{unijmin-v \UniJIS-UTF16-V \FONTs}% \Entry{mnr}{cidmin-h Identity-H \FONT/AJ16}% \Entry{mnr}{cidmin-v Identity-V \FONT/AJ16}% \Entry{mnr}{hmr \*H \FONTs}% \Entry{mnr}{hmrv \*V \FONTs}% \Entry{gtu}{unijgoth-h \UniJIS-UTF16-H \FONTs}% \Entry{gtu}{unijgoth-v \UniJIS-UTF16-V \FONTs}% \Entry{gtu}{cidgoth-h Identity-H \FONT/AJ16}% \Entry{gtu}{cidgoth-v Identity-V \FONT/AJ16}% \Entry{gtu}{hkb \*H \FONTs}% \Entry{gtu}{hkbv \*V \FONTs}% } \pxcz@mapentry{OTF}{% \Entry{mnl}{otf-ujml-h \+UniJIS-UTF16-H \FONTo}% \Entry{mnl}{otf-ujml-v \+UniJIS-UTF16-V \FONTo\w}% \Entry{mnl}{otf-cjml-h Identity-H \FONT/AJ16}% \Entry{mnl}{otf-cjml-v Identity-V \FONT/AJ16}% \Entry{mnl}{hminl-h H \FONTo}% \Entry{mnl}{hminl-v V \FONTo}% \Entry{mnl}{otf-ujmln-h \+UniJIS2004-UTF16-H \FONT}% \Entry{mnl}{otf-ujmln-v \+UniJIS2004-UTF16-V \FONT\w}% \Entry{mnl}{hminln-h H \FONT}% \Entry{mnl}{hminln-v V \FONT}% \Entry{mnr}{otf-ujmr-h \+UniJIS-UTF16-H \FONTo}% \Entry{mnr}{otf-ujmr-v \+UniJIS-UTF16-V \FONTo\w}% \Entry{mnr}{otf-cjmr-h Identity-H \FONT/AJ16}% \Entry{mnr}{otf-cjmr-v Identity-V \FONT/AJ16}% \Entry{mnr}{hminr-h H \FONTo}% \Entry{mnr}{hminr-v V \FONTo}% \Entry{mnr}{otf-ujmrn-h \+UniJIS2004-UTF16-H \FONT}% \Entry{mnr}{otf-ujmrn-v \+UniJIS2004-UTF16-V \FONT\w}% \Entry{mnr}{hminrn-h H \FONT}% \Entry{mnr}{hminrn-v V \FONT}% \Entry{mnb}{otf-ujmb-h \+UniJIS-UTF16-H \FONTo}% \Entry{mnb}{otf-ujmb-v \+UniJIS-UTF16-V \FONTo\w}% \Entry{mnb}{otf-cjmb-h Identity-H \FONT/AJ16}% \Entry{mnb}{otf-cjmb-v Identity-V \FONT/AJ16}% \Entry{mnb}{hminb-h H \FONTo}% \Entry{mnb}{hminb-v V \FONTo}% \Entry{mnb}{otf-ujmbn-h \+UniJIS2004-UTF16-H \FONT}% \Entry{mnb}{otf-ujmbn-v \+UniJIS2004-UTF16-V \FONT\w}% \Entry{mnb}{hminbn-h H \FONT}% \Entry{mnb}{hminbn-v V \FONT}% \Entry{gtr}{otf-ujgr-h \+UniJIS-UTF16-H \FONTo}% \Entry{gtr}{otf-ujgr-v \+UniJIS-UTF16-V \FONTo\w}% \Entry{gtr}{otf-cjgr-h Identity-H \FONT/AJ16}% \Entry{gtr}{otf-cjgr-v Identity-V \FONT/AJ16}% \Entry{gtr}{hgothr-h H \FONTo}% \Entry{gtr}{hgothr-v V \FONTo}% \Entry{gtr}{otf-ujgrn-h \+UniJIS2004-UTF16-H \FONT}% \Entry{gtr}{otf-ujgrn-v \+UniJIS2004-UTF16-V \FONT\w}% \Entry{gtr}{hgothrn-h H \FONT}% \Entry{gtr}{hgothrn-v V \FONT}% \Entry{gtb}{otf-ujgb-h \+UniJIS-UTF16-H \FONTo}% \Entry{gtb}{otf-ujgb-v \+UniJIS-UTF16-V \FONTo\w}% \Entry{gtb}{otf-cjgb-h Identity-H \FONT/AJ16}% \Entry{gtb}{otf-cjgb-v Identity-V \FONT/AJ16}% \Entry{gtb}{hgothb-h H \FONTo}% \Entry{gtb}{hgothb-v V \FONTo}% \Entry{gtb}{otf-ujgbn-h \+UniJIS2004-UTF16-H \FONT}% \Entry{gtb}{otf-ujgbn-v \+UniJIS2004-UTF16-V \FONT\w}% \Entry{gtb}{hgothbn-h H \FONT}% \Entry{gtb}{hgothbn-v V \FONT}% \Entry{gtx}{otf-ujge-h \+UniJIS-UTF16-H \FONTo}% \Entry{gtx}{otf-ujge-v \+UniJIS-UTF16-V \FONTo\w}% \Entry{gtx}{otf-cjge-h Identity-H \FONT/AJ16}% \Entry{gtx}{otf-cjge-v Identity-V \FONT/AJ16}% \Entry{gtx}{hgotheb-h H \FONTo}% \Entry{gtx}{hgotheb-v V \FONTo}% \Entry{gtx}{otf-ujgen-h \+UniJIS2004-UTF16-H \FONT}% \Entry{gtx}{otf-ujgen-v \+UniJIS2004-UTF16-V \FONT\w}% \Entry{gtx}{hgothebn-h H \FONT}% \Entry{gtx}{hgothebn-v V \FONT}% \Entry{mgr}{otf-ujmgr-h \+UniJIS-UTF16-H \FONTo}% \Entry{mgr}{otf-ujmgr-v \+UniJIS-UTF16-V \FONTo\w}% \Entry{mgr}{otf-cjmgr-h Identity-H \FONT/AJ16}% \Entry{mgr}{otf-cjmgr-v Identity-V \FONT/AJ16}% \Entry{mgr}{hmgothr-h H \FONTo}% \Entry{mgr}{hmgothr-v V \FONTo}% \Entry{mgr}{otf-ujmgrn-h \+UniJIS2004-UTF16-H \FONT}% \Entry{mgr}{otf-ujmgrn-v \+UniJIS2004-UTF16-V \FONT\w}% \Entry{mgr}{hmgothrn-h H \FONT}% \Entry{mgr}{hmgothrn-v V \FONT}% % \Entry{kom}{otf-ukmr-h \+UniKS-UTF16-H \FONT}% \Entry{kom}{otf-ukmr-v \+UniKS-UTF16-V \FONT\w}% \Entry{kom}{otf-ckmr-h Identity-H \FONT/AK12}% \Entry{kom}{otf-ckmr-v Identity-V \FONT/AK12}% \Entry{kog}{otf-ukgr-h \+UniKS-UTF16-H \FONT}% \Entry{kog}{otf-ukgr-v \+UniKS-UTF16-V \FONT\w}% \Entry{kog}{otf-ckgr-h Identity-H \FONT/AK12}% \Entry{kog}{otf-ckgr-v Identity-V \FONT/AK12}% \Entry{scm}{otf-ucmr-h \+UniGB-UTF16-H \FONT}% \Entry{scm}{otf-ucmr-v \+UniGB-UTF16-V \FONT\w}% \Entry{scm}{otf-ccmr-h Identity-H \FONT/AG14}% \Entry{scm}{otf-ccmr-v Identity-V \FONT/AG14}% \Entry{scg}{otf-ucgr-h \+UniGB-UTF16-H \FONT}% \Entry{scg}{otf-ucgr-v \+UniGB-UTF16-V \FONT\w}% \Entry{scg}{otf-ccgr-h Identity-H \FONT/AG14}% \Entry{scg}{otf-ccgr-v Identity-V \FONT/AG14}% \Entry{tcm}{otf-utmr-h \+UniCNS-UTF16-H \FONT}% \Entry{tcm}{otf-utmr-v \+UniCNS-UTF16-V \FONT\w}% \Entry{tcm}{otf-ctmr-h Identity-H \FONT/AC14}% \Entry{tcm}{otf-ctmr-v Identity-V \FONT/AC14}% \Entry{tcg}{otf-utgr-h \+UniCNS-UTF16-H \FONT}% \Entry{tcg}{otf-utgr-v \+UniCNS-UTF16-V \FONT\w}% \Entry{tcg}{otf-ctgr-h Identity-H \FONT/AC14}% \Entry{tcg}{otf-ctgr-v Identity-V \FONT/AC14}% } \pxcz@mapentry{UPSTD}{% \Entry{mnr}{uprml-h \UniJIS-UTF16-H \FONTs}% \Entry{mnr}{uprml-v \UniJIS-UTF16-V \FONTs}% \Entry{mnr}{uprml-hq UniJIS-UCS2-H \FONT}% \Entry{gtu}{upgbm-h \UniJIS-UTF16-H \FONTs}% \Entry{gtu}{upgbm-v \UniJIS-UTF16-V \FONTs}% \Entry{gtu}{upgbm-hq UniJIS-UCS2-H \FONT}% \Entry{mnr}{urml \UniJIS-UTF16-H \FONTs}% \Entry{mnr}{urmlv \UniJIS-UTF16-V \FONTs}% \Entry{gtu}{ugbm \UniJIS-UTF16-H \FONTs}% \Entry{gtu}{ugbmv \UniJIS-UTF16-V \FONTs}% % \Entry{kom}{uphysmjm-h UniKS-UTF16-H \FONT}% \Entry{kom}{uphysmjm-v UniKS-UTF16-V \FONT}% \Entry{kog}{uphygt-h UniKS-UTF16-H \FONT}% \Entry{kog}{uphygt-v UniKS-UTF16-V \FONT}% \Entry{scm}{upstsl-h UniGB-UTF16-H \FONT}% \Entry{scm}{upstsl-v UniGB-UTF16-V \FONT}% \Entry{scg}{upstht-h UniGB-UTF16-H \FONT}% \Entry{scg}{upstht-v UniGB-UTF16-V \FONT}% \Entry{tcm}{upmsl-h UniCNS-UTF16-H \FONT}% \Entry{tcm}{upmsl-v UniCNS-UTF16-V \FONT}% \Entry{tcg}{upmhm-h UniCNS-UTF16-H \FONT}% \Entry{tcg}{upmhm-v UniCNS-UTF16-V \FONT}% } \pxcz@mapentry{UPOTF}{% \Entry{mnl}{uphminl-h \UniJIS-UTF16-H \FONTs}% \Entry{mnl}{uphminl-v \UniJIS-UTF16-V \FONTs}% \Entry{mnr}{uphminr-h \UniJIS-UTF16-H \FONTs}% \Entry{mnr}{uphminr-v \UniJIS-UTF16-V \FONTs}% \Entry{mnb}{uphminb-h \UniJIS-UTF16-H \FONTs}% \Entry{mnb}{uphminb-v \UniJIS-UTF16-V \FONTs}% \Entry{gtr}{uphgothr-h \UniJIS-UTF16-H \FONTs}% \Entry{gtr}{uphgothr-v \UniJIS-UTF16-V \FONTs}% \Entry{gtb}{uphgothb-h \UniJIS-UTF16-H \FONTs}% \Entry{gtb}{uphgothb-v \UniJIS-UTF16-V \FONTs}% \Entry{gtx}{uphgotheb-h \UniJIS-UTF16-H \FONTs}% \Entry{gtx}{uphgotheb-v \UniJIS-UTF16-V \FONTs}% \Entry{mgr}{uphmgothr-h \UniJIS-UTF16-H \FONTs}% \Entry{mgr}{uphmgothr-v \UniJIS-UTF16-V \FONTs}% } % 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}% } % user-defined map \pxcz@mapentry{USR}{% \pxcz@user@map } %%------------------ 'alphabet' option %% \pxcz@decl@shape{}{}{} \@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@alphafont %---- <*alphabet> \ifpxcz@otf@deluxe %---- <*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@cmap@uni\space \FONT}}% \fi\fi \@ifpackagewith{otf}{deluxe}{\pxcz@err@dxotf{otf}}{}% \@ifpackagewith{pxotf}{deluxe}{\pxcz@err@dxotf{pxotf}}{}% } \fi %---- \fi %---- %%------------------ begin-document hook %%%% \pxcz@set@page@hook{} \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{% \pxcz@user@hook \ifx\pxcz@file@preset\relax\else \pxcz@do@file@preset \fi \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@rel \pxcz@check@alldefined{mnl,mnr,mnb}% \ifpxcz@ok \pxcz@decl@relfont\mcdefault{cfjar}{l}\fi \pxcz@check@alldefined{gtr,gtb,gtx}% \ifpxcz@ok \pxcz@decl@relfont\gtdefault{cfjas}{eb}\fi \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}\fi \pxcz@addtospec{OTF}% \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@addtospec{USR}% \pxcz@set@page@hook{\pxcz@spec}% } %% \pxcz@decl@relfont \def\pxcz@decl@relfont#1#2#3{% \DeclareRelationFont{\k@encoding}{#1}{m}{}{OT1}{#2}{m}{}% \DeclareRelationFont{\k@encoding}{#1}{bx}{}{OT1}{#2}{bx}{}% \ifpxcz@otf@deluxe \DeclareRelationFont{\k@encoding}{#1}{#3}{}{OT1}{#2}{#3}{}% \fi \pxcz@warn{Relation font set for \k@encoding/#1}% } %%------------------ preset japanese font mappings %% \pxcz@declare@preset{}{} \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{}{} \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{}{} \@onlypreamble\pxcz@uniweight \def\pxcz@uniweight#1#2{% \setminchofont{#1}\setgothicfont{#2}\setmarugothicfont{#2}} %% \pxcz@multiweight{}{}{} %% {}{}{}{}{} \@onlypreamble\pxcz@multiweight \def\pxcz@multiweight#1#2#3#4#5#6#7#8{% \setminchofont{#2}\setgothicfont{#7}\setmarugothicfont{#8}% \ifpxcz@oneweight\else \setlightminchofont{#1}\setboldminchofont{#3}% \setmediumgothicfont{#4}\setboldgothicfont{#5}\setxboldgothicfont{#6}% \fi} %% \pxcz@use@preset{} \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}} %(uniweight) \pxcz@declare@preset{ms}{% \pxcz@uniweight{:0:msmincho.ttc}{:0:msgothic.ttc}} \pxcz@declare@preset{ipa}{% \pxcz@uniweight{ipam.ttf}{ipag.ttf}} \pxcz@declare@preset{ipaex}{% \pxcz@uniweight{ipaexm.ttf}{ipaexg.ttf}} %(multiweight) \pxcz@declare@preset{ms-hg}{% \pxcz@multiweight{:0:msmincho.ttc}{:0:msmincho.ttc}{:0:hgrme.ttc}% {:0:hgrgm.ttc}{:0:hgrge.ttc}{:0:hgrsgu.ttc}{:0:msgothic.ttc}{hgrsmp.ttf}} \pxcz@declare@preset{ipa-hg}{% \pxcz@multiweight{ipam.ttf}{ipam.ttf}{:0:hgrme.ttc}% {:0:hgrgm.ttc}{:0:hgrge.ttc}{:0:hgrsgu.ttc}{ipag.ttf}{hgrsmp.ttf}} \pxcz@declare@preset{ipaex-hg}{% \pxcz@multiweight{ipaexm.ttf}{ipaexm.ttf}{:0:hgrme.ttc}% {:0:hgrgm.ttc}{:0:hgrge.ttc}{:0:hgrsgu.ttc}{ipaexg.ttf}{hgrsmp.ttf}} \pxcz@declare@preset{moga-mobo}{% \pxcz@enable@switch@realfont \pxcz@multiweight{\pxcz@MI mogam.ttc}{\pxcz@MI mogam.ttc}% {\pxcz@MI mogamb.ttc}{\pxcz@MI mogag.ttc}{\pxcz@MI mogagb.ttc}% {\pxcz@MI mogagb.ttc}{\pxcz@MI mogag.ttc}{\pxcz@MI mobog.ttc}} \pxcz@declare@preset{moga-maruberi}{% \pxcz@enable@switch@realfont \pxcz@multiweight{\pxcz@MI mogam.ttc}{\pxcz@MI mogam.ttc}% {\pxcz@MI mogamb.ttc}{\pxcz@MI mogag.ttc}{\pxcz@MI mogagb.ttc}% {\pxcz@MI mogagb.ttc}{\pxcz@MI mogag.ttc}{MTLmr3m.ttf}} \pxcz@declare@preset{kozuka-pro}{% \usecmapforalphabet \pxcz@multiweight{KozMinPro-Light.otf}{KozMinPro-Regular.otf}% {KozMinPro-Bold.otf}{KozGoPro-Regular.otf}{KozGoPro-Bold.otf}% {KozGoPro-Heavy.otf}{KozGoPro-Medium.otf}{KozGoPro-Heavy.otf}} \pxcz@declare@preset{kozuka-pr6}{% \usecmapforalphabet \pxcz@multiweight{KozMinProVI-Light.otf}{KozMinProVI-Regular.otf}% {KozMinProVI-Bold.otf}{KozGoProVI-Regular.otf}{KozGoProVI-Bold.otf}% {KozGoProVI-Heavy.otf}{KozGoProVI-Medium.otf}{KozGoProVI-Heavy.otf}} \pxcz@declare@preset{kozuka-pr6n}{% \usecmapforalphabet \pxcz@multiweight{KozMinPr6N-Light.otf}{KozMinPr6N-Regular.otf}% {KozMinPr6N-Bold.otf}{KozGoPr6N-Regular.otf}{KozGoPr6N-Bold.otf}% {KozGoPr6N-Heavy.otf}{KozGoPr6N-Medium.otf}{KozGoPr6N-Heavy.otf}} \pxcz@declare@preset{hiragino-pro}{% \usecmapforalphabet \pxcz@multiweight{HiraMinPro-W2.otf}{HiraMinPro-W3.otf}% {HiraMinPro-W6.otf}{HiraKakuPro-W3.otf}{HiraKakuPro-W6.otf}% {HiraKakuStd-W8.otf}{HiraKakuPro-W6.otf}{HiraMaruPro-W4.otf}} \pxcz@declare@preset{hiragino-pron}{% \usecmapforalphabet \pxcz@multiweight{HiraMinProN-W2.otf}{HiraMinProN-W3.otf}% {HiraMinProN-W6.otf}{HiraKakuProN-W3.otf}{HiraKakuProN-W6.otf}% {HiraKakuStdN-W8.otf}{HiraKakuProN-W6.otf}{HiraMaruProN-W4.otf}} \pxcz@declare@preset{morisawa-pro}{% \usecmapforalphabet \pxcz@multiweight{A-OTF-RyuminPro-Light.otf}{A-OTF-RyuminPro-Light.otf}% {A-OTF-FutoMinA101Pro-Bold.otf}{A-OTF-GothicBBBPro-Medium.otf}% {A-OTF-FutoGoB101Pro-Bold}{A-OTF-MidashiGoPro-MB31.otf}% {A-OTF-GothicBBBPro-Medium.otf}{A-OTFJun101Pro-Light.otf}} \pxcz@declare@preset{morisawa-pr6n}{% \usecmapforalphabet \pxcz@multiweight{A-OTF-RyuminPr6N-Light.otf}{A-OTF-RyuminPr6N-Light.otf}% {A-OTF-FutoMinA101Pr6N-Bold.otf}{A-OTF-GothicBBBPr6N-Medium.otf}% {A-OTF-FutoGoB101Pr6N-Bold}{A-OTF-MidashiGoPr6N-MB31.otf}% {A-OTF-GothicBBBPr6N-Medium.otf}{A-OTFJun101Pr6N-Light.otf}} \pxcz@declare@preset{yu-win}{% \pxcz@multiweight{yuminl.ttf}{yumin.ttf}% {yumindb.ttf}{yugothic.ttf}{yugothib.ttf}% {yugothib.ttf}{yugothic.ttf}{yugothic.ttf}} \pxcz@declare@preset{yu-osx}{% \usecmapforalphabet \pxcz@multiweight{YuMin-Medium.otf}{YuMin-Medium.otf}% {YuMin-Demibold.otf}{YuGo-Medium.otf}{YuGo-Bold.otf}% {YuGo-Bold.otf}{YuGo-Medium.otf}{YuGo-Medium.otf}} %(obsolete) \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{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}} %(alias) \pxcz@declare@preset@alias{ms-dx}{ms-hg} \pxcz@declare@preset@alias{ipa-ttf}{ipa} \pxcz@declare@preset@alias{ipa-ttf-dx}{ipa-hg} \pxcz@declare@preset@alias{ipav2}{ipa} \pxcz@declare@preset@alias{ipav2-dx}{ipa-hg} \pxcz@declare@preset@alias{ipa-dx}{ipa-hg} \pxcz@declare@preset@alias{hiragino-dx}{hiragino-pro} %%%% ... and invokes the specified one! \if\pxcz@main@preset\relax\else \pxcz@use@preset{\pxcz@main@preset} \fi %%------------------ all done \endinput %% EOF