texlive[53435] Master/texmf-dist: zxjafont (17jan20)

commits+karl at tug.org commits+karl at tug.org
Fri Jan 17 22:52:08 CET 2020


Revision: 53435
          http://tug.org/svn/texlive?view=revision&revision=53435
Author:   karl
Date:     2020-01-17 22:52:08 +0100 (Fri, 17 Jan 2020)
Log Message:
-----------
zxjafont (17jan20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/zxjafont/README-ja.md
    trunk/Master/texmf-dist/doc/latex/zxjafont/README.md
    trunk/Master/texmf-dist/doc/latex/zxjafont/zxjafont.pdf
    trunk/Master/texmf-dist/doc/latex/zxjafont/zxjafont.tex
    trunk/Master/texmf-dist/tex/latex/zxjafont/zxjafont.sty

Modified: trunk/Master/texmf-dist/doc/latex/zxjafont/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/zxjafont/README-ja.md	2020-01-17 21:51:54 UTC (rev 53434)
+++ trunk/Master/texmf-dist/doc/latex/zxjafont/README-ja.md	2020-01-17 21:52:08 UTC (rev 53435)
@@ -36,6 +36,10 @@
 更新履歴
 --------
 
+  * Version 0.7  〈2020/01/18〉
+      - オプション追加:`(no)bold`、`nojisshape`。
+      - オプション別名:`(no)deluxe`。
+      - バグ修正。
   * Version 0.6  〈2020/01/12〉
       - プリセット追加:`haranoaji` (thanks:doraTeX 氏)。
       - `hiragino` を `hiragino-pro` の別名とする。

Modified: trunk/Master/texmf-dist/doc/latex/zxjafont/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/zxjafont/README.md	2020-01-17 21:51:54 UTC (rev 53434)
+++ trunk/Master/texmf-dist/doc/latex/zxjafont/README.md	2020-01-17 21:52:08 UTC (rev 53435)
@@ -39,6 +39,10 @@
 Revision History
 ----------------
 
+  * Version 0.7  〈2020/01/18〉
+      - New options: `(no)bold`, `nojisshape`.
+      - New option aliases: `(no)deluxe`.
+      - Bug fix.
   * Version 0.6  〈2020/01/12〉
       - New preset: `haranoaji` (thanks: doraTeX).
       - `hiragino` is made an alias for `hiragino-pro`.

Modified: trunk/Master/texmf-dist/doc/latex/zxjafont/zxjafont.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/zxjafont/zxjafont.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/zxjafont/zxjafont.tex	2020-01-17 21:51:54 UTC (rev 53434)
+++ trunk/Master/texmf-dist/doc/latex/zxjafont/zxjafont.tex	2020-01-17 21:52:08 UTC (rev 53435)
@@ -12,8 +12,8 @@
 \bxtexlogoimport{*}
 \usepackage{shortvrb}
 \MakeShortVerb{\|}
-\newcommand{\PkgVersion}{0.6}
-\newcommand{\PkgDate}{2020/01/12}
+\newcommand{\PkgVersion}{0.7}
+\newcommand{\PkgDate}{2020/01/18}
 \newcommand{\Pkg}[1]{\textsf{#1}}
 \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
 \newcommand{\Note}{\par\noindent ※}
@@ -192,7 +192,7 @@
 0.5版において廃止された。
 現在は指定するとエラーが発生する。
 
-\Note たあし |hiragino| は現在は |hiragino-pro| の別名と解釈される。
+\Note ただし |hiragino| は現在は |hiragino-pro| の別名と解釈される。
 
 \begin{quote}
 |kozuka4|、|kozuka6|、|kozuka6n|、|hiragino|、
@@ -251,14 +251,26 @@
 \subsection{その他のオプション}
 
 \begin{itemize}
-\item |oneweight|\Means
+\item |oneweight|(または|nodeluxe|)\Means
 多ウェイト用のメイン設定を単ウェイトとして用いる。
 \Note \Pkg{pxchfon}の説明書の記述において |\setminchofont|
 と |\setgothicfont| で設定されているウェイトのフォント
 が用いられる。
-\item |nooneweight|\Means
+\item |nooneweight|(または|deluxe|)\Means
 |oneweight|の否定。
+\Note |(no)deluxe|は\Pkg{luatexja-preset}との互換の別名。
 
+\item |bold|\Means
+|oneweight|と同じく多ウェイト用のメイン設定を単ウェイトとして用いるが、
+この際のゴシック体のフォントとして太字ウェイトに相当するものを用いる。
+\Note \Pkg{pxchfon}の説明書の記述における |\setminchofont|
+と |\setboldgothicfont| のフォントが用いられる。
+\Note \Pkg{luatexja-preset}とは異なり、|bold|の指定自体が
+単ウェイト設定を強制する。
+|bold|と|oneweight|を同時に指定した場合は|bold|が優先する。
+\item |nobold|\Means
+|bold|の否定。
+
 \item |prop|\Means
 プロポーショナル幅のフォントを用いる。
 例えば、「IPA明朝」の代わりに「IPA P明朝」、
@@ -274,7 +286,7 @@
 (和文が)等幅のフォントを用いる。
 
 \item |scale=|\Meta{実数}\Means
-スケール値(\Pkg{fontspec}の |Scale| 属性の値)。
+和文スケール値(\Pkg{fontspec}の |Scale| 属性の値)。
 既定値は、\Pkg{BXjscls}の文書クラスおよび
 \Pkg{zxjatype}パッケージで指定されている場合はその値、
 なければ1となる。
@@ -285,6 +297,9 @@
 \item |jis2004|/|2004jis|\Means
 2004JIS字形の使用を指定する。
 
+\item |nojisshape|\Means
+特定のJIS字形の使用の指定を行わない。
+
 \item |feature={|\Meta{属性リスト}|}|\Means
 このパッケージで指定されるフォント全てに通用する
 \Pkg{fontspec}の属性の指定。

Modified: trunk/Master/texmf-dist/tex/latex/zxjafont/zxjafont.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/zxjafont/zxjafont.sty	2020-01-17 21:51:54 UTC (rev 53434)
+++ trunk/Master/texmf-dist/tex/latex/zxjafont/zxjafont.sty	2020-01-17 21:52:08 UTC (rev 53435)
@@ -10,7 +10,7 @@
 
 %% package declaration
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{zxjafont}[2020/01/12 v0.6]
+\ProvidesPackage{zxjafont}[2020/01/18 v0.7]
 \def\zxjf at pkgname{zxjafont}
 
 %% preparation
@@ -17,12 +17,16 @@
 \RequirePackage{ifxetex}\RequireXeTeX
 \providecommand{\bxDebug}[1]{}
 
+%%<+> \zxjafontFeature
+% The default features for fonts declared by this package.
+% (Used if defined.)
+
 %--------------------------------------- general
 
 %% packages
 \RequirePackage{fontspec}
 \RequirePackage{keyval}
-\RequirePackage{etoolbox}
+\RequirePackage{etoolbox}[2011/01/03]% v2.1
 
 %% errors
 \def\zxjf at err@ivval#1#2{%
@@ -29,8 +33,32 @@
   \PackageError\zxjf at pkgname
    {Invalid value '#2' for option #1}\@ehc}
 
+%% \zxjf at cond\ifXXX...\fi{<true>}{<false>}
+\@gobbletwo\if\if \def\zxjf at cond#1\fi{%
+  #1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
+
+%% \zxjf at with@cs\CS{<csname>}
+\def\zxjf at with@cs#1#2{%
+  \expandafter#1\csname#2\endcsname}
+
+%% \zxjf at onlypreamble@def\CS
+\def\zxjf at onlypreamble@def#1{%
+  \@onlypreamble#1\def#1}
+%% \zxjf at onlypreamble@let\CS
+\def\zxjf at onlypreamble@let#1{%
+  \@onlypreamble#1\let#1}
+
+%% \if\zxjf at isvalid{<csname>}...\fi
+\def\zxjf at isvalid#1{%
+  \ifcsvoid{#1}{F}{T}T}
+
 %--------------------------------------- handle options
 
+%% errors
+\zxjf at onlypreamble@def\zxjf at warn@niopt#1{%
+  \PackageWarningNoLine\zxjf at pkgname
+   {Option '#1' is not implemented}}
+
 %% constants
 \chardef\zxjf at cjkshape@@none=0
 \chardef\zxjf at cjkshape@@xc=1    % 90jis
@@ -41,13 +69,14 @@
 \let\zxjf at sub@preset\@empty
 \newif\ifzxjf at prop
 \newif\ifzxjf at oneweight
+\newif\ifzxjf at bold
 \let\zxjf at cjkshape\zxjf at cjkshape@@none
 \let\zxjf at scale\relax
-\let\zxjf at feat\@empty
+\let\zxjf at feature\@empty
 \newif\ifzxjf at zxjatype
 
-%% \zxjf at main@preset
-\def\zxjf at all@main at preset{%
+%% \zxjf at all@main at preset
+\zxjf at onlypreamble@def\zxjf at all@main at preset{%
   %(uniweight)
   ms,ipa,ipaex,%
   %(multiweight)
@@ -58,8 +87,8 @@
   %(alias)
   kozuka,morisawa,moga-mobo-ex,noto-otf,hiragino}
 
-%% \zxjf at main@sub at preset
-\def\zxjf at all@sub at preset{%
+%% \zxjf at all@sub at preset
+\zxjf at onlypreamble@def\zxjf at all@sub at preset{%
   hg,hiraginomg-pro,hiraginomg-pron,mobo,mobo-90,maruberi,%
   hiraginomg}
 
@@ -67,11 +96,9 @@
 \def\zxjf at do#1{\DeclareOption{#1}{\def\zxjf at main@preset{#1}}}
 \@for\zxjf at x:=\zxjf at all@main at preset\do{%
   \expandafter\zxjf at do\expandafter{\zxjf at x}}
-\def\zxjf at do#1{\DeclareOption{#1}{\zxjf at add@sub at preset{#1}}}
+\def\zxjf at do#1{\DeclareOption{#1}{\appto\zxjf at sub@preset{#1,}}}
 \@for\zxjf at x:=\zxjf at all@sub at preset\do{%
   \expandafter\zxjf at do\expandafter{\zxjf at x}}
-\def\zxjf at add@sub at preset#1{%
-  \edef\zxjf at sub@preset{\zxjf at sub@preset#1,}}
 % 'prop'
 \DeclareOption{prop}{\zxjf at proptrue}
 \DeclareOption{noprop}{\zxjf at propfalse}
@@ -78,15 +105,23 @@
 % 'oneweight'
 \DeclareOption{oneweight}{\zxjf at oneweighttrue}
 \DeclareOption{nooneweight}{\zxjf at oneweightfalse}
+\DeclareOption{nodeluxe}{\zxjf at oneweighttrue}
+\DeclareOption{deluxe}{\zxjf at oneweightfalse}
+% 'bold'
+\DeclareOption{bold}{\zxjf at boldtrue}
+\DeclareOption{nobold}{\zxjf at boldfalse}
 % '90jis'/'jis2004'
 \DeclareOption{jis90}{\let\zxjf at cjkshape\zxjf at cjkshape@@xc}
 \DeclareOption{90jis}{\let\zxjf at cjkshape\zxjf at cjkshape@@xc}
 \DeclareOption{jis2004}{\let\zxjf at cjkshape\zxjf at cjkshape@@mmiv}
 \DeclareOption{2004jis}{\let\zxjf at cjkshape\zxjf at cjkshape@@mmiv}
+\DeclareOption{nojisshape}{\let\zxjf at cjkshape\zxjf at cjkshape@@none}
+% dummy options for compatibility with luatexja-preset
+\DeclareOption{match}{}% xeCJK always work as 'match' is on
+\DeclareOption{expert}{\zxjf at warn@niopt{expert}}
 
 % abolished presets
-\@onlypreamble\zxjf at err@abpre
-\def\zxjf at err@abpre#1{%
+\zxjf at onlypreamble@def\zxjf at err@abpre#1{%
   \PackageError\zxjf at pkgname
    {The old preset '#1' is *abolished*}{\@ehc}}
 \@for\zxjf at x:={%
@@ -94,18 +129,18 @@
 }\do{\DeclareOption{\zxjf at x}{\zxjf at err@abpre{\CurrentOption}}}
 
 %% options using keyval
-\DeclareOption*{\def\zxjf at nxt{\setkeys{zxjf}}%
-  \expandafter\zxjf at nxt\expandafter{\CurrentOption}}
+\DeclareOption*{\def\zxjf at do{\setkeys{zxjf}}%
+  \expandafter\zxjf at do\expandafter{\CurrentOption}}
 % 'scale=<real>'
 \define at key{zxjf}{scale}{\def\zxjf at scale{#1}}
 % 'feature=<text>'
-\define at key{zxjf}{feature}{\def\zxjf at feat{#1}}
+\define at key{zxjf}{feature}{\def\zxjf at feature{#1}}
 
 %% dispatch
-\let\@org at use@ption\@use at ption
-\def\@use at ption{\csname ds@\CurrentOption \endcsname}
+\zxjf at onlypreamble@let\zxjf at org@use at ption\@use at ption
+\def\@use at ption{\csname ds@\CurrentOption \endcsname}% FIXME
 \ProcessOptions*
-\let\@use at ption\@org at use@ption
+\let\@use at ption\zxjf at org@use at ption
 
 %% preset must be given
 \ifx\zxjf at main@preset\relax
@@ -115,7 +150,7 @@
     \space\space\zxjf at all@main at preset}
 \expandafter\endinput\fi\relax
 
-%% detect bxjatype
+%% detect zxjatype
 \@ifpackageloaded{zxjatype}{\zxjf at zxjatypetrue}{}
 \AtBeginDocument{%
   \unless\ifzxjf at zxjatype
@@ -132,12 +167,12 @@
 
 %% decide scale factor
 \ifx\zxjf at scale\relax
-  % If zxjatype is used, try \JaFontScale, \zxjt at scale,
+  % If zxjatype is used, try \zxjatypeJaScale, \zxjt at scale,
   % and \__zxjt_scale_tl.
   \ifzxjf at zxjatype
-    \ifdefined\JaFontScale \let\zxjf at scale\JaFontScale
-    \else\ifdefined\zxjt at scale \let\zxjf at scale\zxjt at scale
-    \else\ifcsname __zxjt_scale_tl\endcsname
+    \ifdefined\zxjatypeJaScale \let\zxjf at scale\zxjatypeJaScale
+    \else\if\zxjf at isvalid{zxjt at scale}\let\zxjf at scale\zxjt at scale
+    \else\if\zxjf at isvalid{__zxjt_scale_tl}%
       \letcs\zxjf at scale{__zxjt_scale_tl}
     \fi\fi\fi
   \fi
@@ -152,218 +187,193 @@
   \fi
 \fi
 
-%% resolve CJKshape
-\edef\zxjf at feat{%
+%% \zxjf at whole@feature
+% All fontspec options including scale.
+\edef\zxjf at whole@feature{%
+  Scale=\zxjf at scale
+  % CJKShape
   \ifcase\zxjf at cjkshape % none
-  \or CJKShape=JIS1990,% 90jis
-  \or CJKShape=JIS2004,% jis2004
+  \or ,CJKShape=JIS1990% 90jis
+  \or ,CJKShape=JIS2004% jis2004
   \fi
-  \zxjf at feat}
-
-%% \zxjf at xfeat
-% All fontspec options including scale.
-\edef\zxjf at xfeat{Scale=\zxjf at scale,\zxjf at feat}
-\bxDebug{zxjafont>>scale=\zxjf at scale/feat={\zxjf at feat}/%
+  \ifdefined\zxjafontFeature
+    ,\expandonce\zxjafontFeature
+  \fi
+  \unless\ifx\zxjf at feature\@empty
+    ,\expandonce\zxjf at feature
+  \fi}
+\bxDebug{zxjafont>>scale=\zxjf at scale/feat={\zxjf at whole@feature}/%
   preset=\zxjf at main@preset/\zxjf at sub@preset}
 
 %--------------------------------------- font setup helpers
 
+%% \zxjf at font@set
+\zxjf at onlypreamble@def\zxjf at font@set#1#2{%
+  \noexpand#1[\expandonce\zxjf at whole@feature,#2]}
+%% \zxjf at newfamily@gen\CSnewjafamily
+\@onlypreamble\zxjf at newfamily@gen\edef\zxjf at newfamily@gen{%
+  \noexpand\zxjf at newfamily@gen at a
+      {\expandonce\zxjf at feature}{\expandonce\zxjf at whole@feature}}
+\zxjf at onlypreamble@def\zxjf at newfamily@gen at a#1#2#3{%
+  \def\zxjf at newfamily##1##2##3{%
+    \csedef{##1family}{%
+      \expandonce{\csname a##1family\endcsname}\noexpand\CJKfamily{##1}}%
+    \zxjf at with@cs\newfontfamily{a##1family}[#1,##2]{##3}%
+    #3{##1}[#2,##2]{##3}}}
+
 %% \zxjf at setmainfont{<attributes>}{<fam_name>}, etc.
 \ifzxjf at zxjatype
-\def\zxjf at setmainfont#1{\setjamainfont[\zxjf at xfeat,#1]}
-\def\zxjf at setsansfont#1{\setjasansfont[\zxjf at xfeat,#1]}
-\def\zxjf at setmonofont#1{\setjamonofont[\zxjf at xfeat,#1]}
-\def\zxjf at newfamily#1#2#3{%
-  \csedef{#1family}{%
-    \expandonce{\csname a#1family\endcsname}\noexpand\CJKfamily{#1}}%
-  \expandafter\newfontfamily\csname a#1family\endcsname[\zxjf at feat,#2]{#3}%
-  \setjafamilyfont{#1}[\zxjf at xfeat,#2]{#3}}
+\edef\zxjf at setmainfont#1{\zxjf at font@set\setjamainfont{#1}}
+\edef\zxjf at setsansfont#1{\zxjf at font@set\setjasansfont{#1}}
+\edef\zxjf at setmonofont#1{\zxjf at font@set\setjamonofont{#1}}
+\zxjf at newfamily@gen{\setjafamilyfont}
 \else
-\def\zxjf at setmainfont#1{\setmainfont[\zxjf at xfeat,#1]}
-\def\zxjf at setsansfont#1{\setsansfont[\zxjf at xfeat,#1]}
-\def\zxjf at setmonofont#1{\setmonofont[\zxjf at xfeat,#1]}
-\def\zxjf at newfamily#1#2{%
-  \expandafter\newfontfamily\csname #1family\endcsname[\zxjf at xfeat,#2]}
+\edef\zxjf at setmainfont#1{\zxjf at font@set\setmainfont{#1}}
+\edef\zxjf at setsansfont#1{\zxjf at font@set\setsansfont{#1}}
+\edef\zxjf at setmonofont#1{\zxjf at font@set\setmonofont{#1}}
+\edef\zxjf at newfamily#1#2{%
+  \unexpanded{\zxjf at with@cs\newfontfamily}{#1family}%
+      [\expandonce\zxjf at whole@feature,#2]}
 \fi
 
 %--------------------------------------- preset japanese font mappings
 
 %% \zxjf at declare@preset{<name>}{<text>}, etc.
-\def\zxjf at declare@preset#1{%
-  \expandafter\zxjf at decl@preset at a\csname zxjf at the@preset@#1\endcsname}
-\def\zxjf at decl@preset at a#1{\@onlypreamble#1\def#1}
+\zxjf at onlypreamble@def\zxjf at declare@preset#1{%
+  \zxjf at with@cs\zxjf at onlypreamble@def{zxjf at the@preset@#1}}
 \zxjf at declare@preset{}{}
-\@onlypreamble\zxjf at uniweight
-\def\zxjf at uniweight#1#2{%
-  \zxjf at uniweight@opt{#1}{#2}{}}
-\@onlypreamble\zxjf at uniweight@opt
-\def\zxjf at uniweight@opt#1#2#3{%
+\zxjf at onlypreamble@def\zxjf at uniweight#1#2#3{%
   \zxjf at setmainfont{#3,BoldFont=#2}{#1}%
-  \zxjf at setsansfont{#3}{#2}%
-  \zxjf at setmonofont{#3}{#2}}
-\@onlypreamble\zxjf at multiweight
-\def\zxjf at multiweight#1#2#3#4#5{%
-  \zxjf at multiweight@opt{#1}{#2}{#3}{#4}{#5}{}}
-\@onlypreamble\zxjf at multiweight@opt
-\def\zxjf at multiweight@opt#1#2#3#4#5#6{%
-  \ifzxjf at oneweight
+  \zxjf at setsansfont{#3,BoldFont=#2}{#2}%
+  \zxjf at setmonofont{#3,BoldFont=#2}{#2}}
+\zxjf at onlypreamble@def\zxjf at multiweight#1#2#3#4#5#6{%
+  \ifzxjf at bold
+    \zxjf at setmainfont{#6,BoldFont=#4}{#1}%
+    \zxjf at setsansfont{#6,BoldFont=#4}{#4}%
+    \zxjf at setmonofont{#6,BoldFont=#4}{#4}%
+  \else\ifzxjf at oneweight
     \zxjf at setmainfont{#6,BoldFont=#5}{#1}%
-    \zxjf at setsansfont{#6}{#5}%
-    \zxjf at setmonofont{#6}{#5}%
+    \zxjf at setsansfont{#6,BoldFont=#5}{#5}%
+    \zxjf at setmonofont{#6,BoldFont=#5}{#5}%
   \else
     \zxjf at setmainfont{#6,BoldFont=#2}{#1}%
     \zxjf at setsansfont{#6,BoldFont=#4}{#3}%
     \zxjf at setmonofont{#6,BoldFont=#4}{#3}%
-  \fi}
+  \fi\fi}
 %% \zxjf at declare@preset at with@prop{<name>}{<text>}
-\def\zxjf at declare@preset at with@prop#1#2{%
+\zxjf at onlypreamble@def\zxjf at declare@preset at with@prop#1#2{%
   \zxjf at declare@preset{#1}{#2{RawFeature=-palt;-kern}}%
   \zxjf at declare@preset{#1/prop}{#2{RawFeature=+palt;+kern}}}
 
 %% \zxjf at declare@preset at alias{<name1>}{<name2>}
-\def\zxjf at declare@preset at alias#1#2{%
+\zxjf at onlypreamble@def\zxjf at declare@preset at alias#1#2{%
+  \zxjf at with@cs\@onlypreamble{zxjf at the@preset@#1}%
   \csletcs{zxjf at the@preset@#1}{zxjf at the@preset@#2}}
 %% \zxjf at declare@preset at alias@with at prop{<name1>}{<name2>}
-\def\zxjf at declare@preset at alias@with at prop#1#2{%
+\zxjf at onlypreamble@def\zxjf at declare@preset at alias@with at prop#1#2{%
   \zxjf at declare@preset at alias{#1}{#2}%
   \zxjf at declare@preset at alias{#1/prop}{#2/prop}}
 
 %% \zxjf at use@preset{<name>}
-\def\zxjf at use@preset#1{%
-  \undef\zxjf at nxt
-  \ifzxjf at prop \letcs\zxjf at nxt{zxjf at the@preset@#1/prop}\fi
-  \unless\ifdefined\zxjf at nxt \letcs\zxjf at nxt{zxjf at the@preset@#1}\fi
-  \zxjf at nxt}
+\zxjf at onlypreamble@def\zxjf at use@preset#1{%
+  \undef\zxjf at do
+  \ifzxjf at prop \letcs\zxjf at do{zxjf at the@preset@#1/prop}\fi
+  \unless\ifdefined\zxjf at do \letcs\zxjf at do{zxjf at the@preset@#1}\fi
+  \zxjf at do}
 
 %% definitions of main preset mappings
 \zxjf at declare@preset{ms}{%
-  \zxjf at uniweight{MS-Mincho}{MS-Gothic}}
+  \zxjf at uniweight{MS-Mincho}{MS-Gothic}{}}
 \zxjf at declare@preset{ms/prop}{%
-  \zxjf at uniweight{MS-PMincho}{MS-PGothic}}
+  \zxjf at uniweight{MS-PMincho}{MS-PGothic}{}}
 \zxjf at declare@preset{ms-hg}{%
   \zxjf at multiweight{MS-Mincho}{HGMinchoE}%
-    {HGGothicM}{HGGothicE}{MS-Gothic}}
+    {HGGothicM}{HGGothicE}{MS-Gothic}{}}
 \zxjf at declare@preset{ms-hg/prop}{%
   \zxjf at multiweight{MS-PMincho}{HGPMinchoE}%
-    {HGPGothicM}{HGGothicE}{MS-PGothic}}
+    {HGPGothicM}{HGGothicE}{MS-PGothic}{}}
 \zxjf at declare@preset{ipa}{%
-  \zxjf at uniweight{IPAMincho}{IPAGothic}}
+  \zxjf at uniweight{IPAMincho}{IPAGothic}{}}
 \zxjf at declare@preset{ipa/prop}{%
-  \zxjf at uniweight{IPAPMincho}{IPAPGothic}}
+  \zxjf at uniweight{IPAPMincho}{IPAPGothic}{}}
 \zxjf at declare@preset{ipa-hg}{%
   \zxjf at multiweight{IPAMincho}{HGMinchoE}%
-    {HGGothicM}{HGGothicE}{IPAGothic}}
+    {HGGothicM}{HGGothicE}{IPAGothic}{}}
 \zxjf at declare@preset{ipa-hg/prop}{%
   \zxjf at multiweight{IPAPMincho}{HGPMinchoE}%
-    {HGPGothicM}{HGGothicE}{IPAPGothic}}
+    {HGPGothicM}{HGGothicE}{IPAPGothic}{}}
 \zxjf at declare@preset{ipaex}{%
-  \zxjf at uniweight{ipaexm.ttf}{ipaexg.ttf}}
+  \zxjf at uniweight{ipaexm.ttf}{ipaexg.ttf}{}}
 \zxjf at declare@preset{ipaex-hg}{%
   \zxjf at multiweight{ipaexm.ttf}{HGSMinchoE}%
-    {HGSGothicM}{HGSGothicE}{ipaexg.ttf}}
+    {HGSGothicM}{HGSGothicE}{ipaexg.ttf}{}}
 \zxjf at declare@preset{moga}{%
   \zxjf at multiweight{MogaExMincho}{MogaExMincho Bold}%
-    {MogaExGothic}{MogaExGothic Bold}{MogaExGothic}}
+    {MogaExGothic}{MogaExGothic Bold}{MogaExGothic}{}}
 \zxjf at declare@preset{moga-90}{%
   \zxjf at multiweight{MogaEx90Mincho}{MogaEx90Mincho Bold}%
-    {MogaEx90Gothic}{MogaEx90Gothic Bold}{MogaEx90Gothic}}
+    {MogaEx90Gothic}{MogaEx90Gothic Bold}{MogaEx90Gothic}{}}
 \zxjf at declare@preset{ume}{%
   \zxjf at multiweight{Ume Mincho}{Ume Mincho}%
-    {Ume Gothic}{Ume Gothic O5}{Ume Gothic O5}}
-\zxjf at declare@preset{kozuka-pro}{%
-  \zxjf at multiweight@opt{KozMinPro-Regular}{KozMinPro-Bold}%
+    {Ume Gothic}{Ume Gothic O5}{Ume Gothic O5}{}}
+\zxjf at declare@preset at with@prop{kozuka-pro}{%
+  \zxjf at multiweight{KozMinPro-Regular}{KozMinPro-Bold}%
     {KozGoPro-Regular}{KozGoPro-Bold}%
-    {KozGoPro-Medium}{RawFeature=-palt;-kern}}
-\zxjf at declare@preset{kozuka-pro/prop}{%
-  \zxjf at multiweight@opt{KozMinPro-Regular}{KozMinPro-Bold}%
-    {KozGoPro-Regular}{KozGoPro-Bold}%
-    {KozGoPro-Medium}{RawFeature=+palt;+kern}}
-\zxjf at declare@preset{kozuka-pr6}{%
-  \zxjf at multiweight@opt{KozMinProVI-Regular}{KozMinProVI-Bold}%
+    {KozGoPro-Medium}}
+\zxjf at declare@preset at with@prop{kozuka-pr6}{%
+  \zxjf at multiweight{KozMinProVI-Regular}{KozMinProVI-Bold}%
     {KozGoProVI-Regular}{KozGoProVI-Bold}%
-    {KozGoProVI-Medium}{RawFeature=-palt;-kern}}
-\zxjf at declare@preset{kozuka-pr6/prop}{%
-  \zxjf at multiweight@opt{KozMinProVI-Regular}{KozMinProVI-Bold}%
-    {KozGoProVI-Regular}{KozGoProVI-Bold}%
-    {KozGoProVI-Medium}{RawFeature=+palt;+kern}}
-\zxjf at declare@preset{kozuka-pr6n}{%
-  \zxjf at multiweight@opt{KozMinPr6N-Regular}{KozMinPr6N-Bold}%
+    {KozGoProVI-Medium}}
+\zxjf at declare@preset at with@prop{kozuka-pr6n}{%
+  \zxjf at multiweight{KozMinPr6N-Regular}{KozMinPr6N-Bold}%
     {KozGoPr6N-Regular}{KozGoPr6N-Bold}%
-    {KozGoPr6N-Medium}{RawFeature=-palt;-kern}}
-\zxjf at declare@preset{kozuka-pr6n/prop}{%
-  \zxjf at multiweight@opt{KozMinPr6N-Regular}{KozMinPr6N-Bold}%
-    {KozGoPr6N-Regular}{KozGoPr6N-Bold}%
-    {KozGoPr6N-Medium}{RawFeature=+palt;+kern}}
-\zxjf at declare@preset{hiragino-pro}{%
-  \zxjf at multiweight@opt{Hiragino Mincho Pro W3}{Hiragino Mincho Pro W6}%
+    {KozGoPr6N-Medium}}
+\zxjf at declare@preset at with@prop{hiragino-pro}{%
+  \zxjf at multiweight{Hiragino Mincho Pro W3}{Hiragino Mincho Pro W6}%
     {Hiragino Kaku Gothic Pro W3}{Hiragino Kaku Gothic Pro W6}%
-    {Hiragino Kaku Gothic Pro W6}{RawFeature=-palt;-kern}}
-\zxjf at declare@preset{hiragino-pro/prop}{%
-  \zxjf at multiweight@opt{Hiragino Mincho Pro W3}{Hiragino Mincho Pro W6}%
-    {Hiragino Kaku Gothic Pro W3}{Hiragino Kaku Gothic Pro W6}%
-    {Hiragino Kaku Gothic Pro W6}{RawFeature=+palt;+kern}}
-\zxjf at declare@preset{hiragino-pron}{%
-  \zxjf at multiweight@opt{Hiragino Mincho ProN W3}{Hiragino Mincho ProN W6}%
+    {Hiragino Kaku Gothic Pro W6}}
+\zxjf at declare@preset at with@prop{hiragino-pron}{%
+  \zxjf at multiweight{Hiragino Mincho ProN W3}{Hiragino Mincho ProN W6}%
     {Hiragino Kaku Gothic ProN W3}{Hiragino Kaku Gothic ProN W6}%
-    {Hiragino Kaku Gothic ProN W6}{RawFeature=-palt;-kern}}
-\zxjf at declare@preset{hiragino-pron/prop}{%
-  \zxjf at multiweight@opt{Hiragino Mincho ProN W3}{Hiragino Mincho ProN W6}%
-    {Hiragino Kaku Gothic ProN W3}{Hiragino Kaku Gothic ProN W6}%
-    {Hiragino Kaku Gothic ProN W6}{RawFeature=+palt;+kern}}
-\zxjf at declare@preset{morisawa-pro}{%
-  \zxjf at multiweight@opt{A-OTF-RyuminPro-Light.otf}{A-OTF-FutoMinA101Pro-Bold.otf}%
+    {Hiragino Kaku Gothic ProN W6}}
+\zxjf at declare@preset at with@prop{morisawa-pro}{%
+  \zxjf at multiweight{A-OTF-RyuminPro-Light.otf}{A-OTF-FutoMinA101Pro-Bold.otf}%
     {A-OTF-GothicBBBPro-Medium.otf}{A-OTF-FutoGoB101Pro-Bold.otf}%
-    {A-OTF-GothicBBBPro-Medium.otf}{RawFeature=-palt;-kern}}
-\zxjf at declare@preset{morisawa-pro/prop}{%
-  \zxjf at multiweight@opt{A-OTF-RyuminPro-Light.otf}{A-OTF-FutoMinA101Pro-Bold.otf}%
-    {A-OTF-GothicBBBPro-Medium.otf}{A-OTF-FutoGoB101Pro-Bold.otf}%
-    {A-OTF-GothicBBBPro-Medium.otf}{RawFeature=+palt;+kern}}
-\zxjf at declare@preset{morisawa-pr6n}{%
-  \zxjf at multiweight@opt{A-OTF-RyuminPr6N-Light.otf}{A-OTF-FutoMinA101Pr6N-Bold.otf}%
+    {A-OTF-GothicBBBPro-Medium.otf}}
+\zxjf at declare@preset at with@prop{morisawa-pr6n}{%
+  \zxjf at multiweight{A-OTF-RyuminPr6N-Light.otf}{A-OTF-FutoMinA101Pr6N-Bold.otf}%
     {A-OTF-GothicBBBPr6N-Medium.otf}{A-OTF-FutoGoB101Pr6N-Bold.otf}%
-    {A-OTF-GothicBBBPr6N-Medium.otf}{RawFeature=-palt;-kern}}
-\zxjf at declare@preset{morisawa-pr6n/prop}{%
-  \zxjf at multiweight@opt{A-OTF-RyuminPr6N-Light.otf}{A-OTF-FutoMinA101Pr6N-Bold.otf}%
-    {A-OTF-GothicBBBPr6N-Medium.otf}{A-OTF-FutoGoB101Pr6N-Bold.otf}%
-    {A-OTF-GothicBBBPr6N-Medium.otf}{RawFeature=+palt;+kern}}
-\zxjf at declare@preset{yu-win}{%
-  \zxjf at multiweight@opt{YuMincho-Regular}{YuMincho-Demibold}%
+    {A-OTF-GothicBBBPr6N-Medium.otf}}
+\zxjf at declare@preset at with@prop{yu-win}{%
+  \zxjf at multiweight{YuMincho-Regular}{YuMincho-Demibold}%
     {YuGothic-Regular}{YuGothic-Bold}%
-    {YuGothic-Regular}{RawFeature=-palt;-kern}}
-\zxjf at declare@preset{yu-win/prop}{%
-  \zxjf at multiweight@opt{YuMincho-Regular}{YuMincho-Demibold}%
-    {YuGothic-Regular}{YuGothic-Bold}%
-    {YuGothic-Regular}{RawFeature=+palt;+kern}}
+    {YuGothic-Regular}}
 \zxjf at declare@preset at with@prop{yu-win10}{%
-  \zxjf at multiweight@opt{YuMincho-Regular}{YuMincho-Demibold}%
+  \zxjf at multiweight{YuMincho-Regular}{YuMincho-Demibold}%
     {YuGothic-Regular}{YuGothic-Bold}%
     {YuGothic-Medium}}
-\zxjf at declare@preset{yu-osx}{%
-  \zxjf at multiweight@opt{YuMincho-Medium}{YuMincho-Demibold}%
+\zxjf at declare@preset at with@prop{yu-osx}{%
+  \zxjf at multiweight{YuMincho-Medium}{YuMincho-Demibold}%
     {YuGothic-Medium}{YuGothic-Bold}%
-    {YuGothic-Medium}{RawFeature=-palt;-kern}}
-\zxjf at declare@preset{yu-osx/prop}{%
-  \zxjf at multiweight@opt{YuMincho-Medium}{YuMincho-Demibold}%
-    {YuGothic-Medium}{YuGothic-Bold}%
-    {YuGothic-Medium}{RawFeature=+palt;+kern}}
+    {YuGothic-Medium}}
 \zxjf at declare@preset at with@prop{sourcehan}{%
-  \zxjf at multiweight@opt{SourceHanSerif-Regular}{SourceHanSerif-Bold}%
+  \zxjf at multiweight{SourceHanSerif-Regular}{SourceHanSerif-Bold}%
     {SourceHanSans-Regular}{SourceHanSans-Bold}%
     {SourceHanSans-Medium}}
 \zxjf at declare@preset at with@prop{sourcehan-jp}{%
-  \zxjf at multiweight@opt{SourceHanSerifJP-Regular}{SourceHanSerifJP-Bold}%
+  \zxjf at multiweight{SourceHanSerifJP-Regular}{SourceHanSerifJP-Bold}%
     {SourceHanSansJP-Regular}{SourceHanSansJP-Bold}%
     {SourceHanSansJP-Medium}}
 \zxjf at declare@preset at with@prop{noto}{%
-  \zxjf at multiweight@opt{NotoSerifCJKjp-Regular}{NotoSerifCJKjp-Bold}%
+  \zxjf at multiweight{NotoSerifCJKjp-Regular}{NotoSerifCJKjp-Bold}%
     {NotoSansCJKjp-Regular}{NotoSansCJKjp-Bold}%
     {NotoSansCJKjp-Medium}}
 \zxjf at declare@preset at with@prop{noto-jp}{%
-  \zxjf at multiweight@opt{NotoSerifJP-Regular}{NotoSerifJP-Bold}%
+  \zxjf at multiweight{NotoSerifJP-Regular}{NotoSerifJP-Bold}%
     {NotoSansJP-Regular}{NotoSansJP-Bold}%
     {NotoSansJP-Medium}}
 \zxjf at declare@preset at with@prop{haranoaji}{%
-  \zxjf at multiweight@opt{HaranoAjiMincho-Regular}{HaranoAjiMincho-Bold}%
+  \zxjf at multiweight{HaranoAjiMincho-Regular}{HaranoAjiMincho-Bold}%
     {HaranoAjiGothic-Regular}{HaranoAjiGothic-Bold}%
     {HaranoAjiGothic-Medium}}
 %(alias)
@@ -370,9 +380,13 @@
 \zxjf at declare@preset at alias@with at prop{kozuka}{kozuka-pro}
 \zxjf at declare@preset at alias@with at prop{morisawa}{morisawa-pro}
 \zxjf at declare@preset at alias{moga-mobo-ex}{moga}
-\zxjf at declare@preset at alias{noto-otf}{noto}
-\zxjf at declare@preset at alias{hiragino}{hiragino-pro}
+\zxjf at declare@preset at alias@with at prop{noto-otf}{noto}
+\zxjf at declare@preset at alias@with at prop{hiragino}{hiragino-pro}
 
+%% \zxjf at declare@sub at preset@nf at with@prop{<name>}{<fam>}{<font>}
+\zxjf at onlypreamble@def\zxjf at declare@sub at preset@nf at with@prop#1#2#3{%
+  \zxjf at declare@preset{#1}{\zxjf at newfamily{#2}{RawFeature=-palt;-kern}{#3}}%
+  \zxjf at declare@preset{#1/prop}{\zxjf at newfamily{#2}{RawFeature=+palt;+kern}{#3}}}
 %% definitions of sub preset mappings
 \zxjf at declare@preset{hg}{%
   \zxjf at newfamily{hgmc}{BoldFont=HGSMinchoE}{HGSMinchoB}%
@@ -396,21 +410,16 @@
   \zxjf at newfamily{hggs}{}{HGPGyoshotai}%
   \zxjf at newfamily{hgpp}{}{HGPSoeiKakupoptai}%
 }
-\zxjf at declare@preset{hiraginomg-pro}{%
-  \zxjf at newfamily{hmg}{RawFeature=-palt;-kern}{Hiragino Maru Gothic Pro W4}}
-\zxjf at declare@preset{hiraginomg-pro/prop}{%
-  \zxjf at newfamily{hmg}{RawFeature=+palt;+kern}{Hiragino Maru Gothic Pro W4}}
-\zxjf at declare@preset{hiraginomg-pron}{%
-  \zxjf at newfamily{hmg}{RawFeature=-palt;-kern}{Hiragino Maru Gothic ProN W4}}
-\zxjf at declare@preset{hiraginomg-pron/prop}{%
-  \zxjf at newfamily{hmg}{RawFeature=+palt;+kern}{Hiragino Maru Gothic ProN W4}}
-\zxjf at declare@preset at alias{hiraginomg}{hiraginomg-pro}
-\zxjf at declare@preset at alias{hiraginomg/prop}{hiraginomg-pro/prop}
+\zxjf at declare@sub at preset@nf at with@prop{hiraginomg-pro}%
+  {hmg}{Hiragino Maru Gothic Pro W4}
+\zxjf at declare@sub at preset@nf at with@prop{hiraginomg-pron}%
+  {hmg}{Hiragino Maru Gothic ProN W4}
+\zxjf at declare@preset at alias@with at prop{hiraginomg}{hiraginomg-pro}
 
 \zxjf at declare@preset{mobo}{%
-  \zxjf at newfamily{mobo}{Bold=MoboExGothic Bold}{MoboExGothic}}
+  \zxjf at newfamily{mobo}{BoldFont=MoboExGothic Bold}{MoboExGothic}}
 \zxjf at declare@preset{mobo-90}{%
-  \zxjf at newfamily{mobo}{Bold=MoboEx90Gothic Bold}{MoboEx90Gothic}}
+  \zxjf at newfamily{mobo}{BoldFont=MoboEx90Gothic Bold}{MoboEx90Gothic}}
 \zxjf at declare@preset{maruberi}{%
   \zxjf at newfamily{mmg}{}{MotoyaLMaru}}
 



More information about the tex-live-commits mailing list