texlive[53710] Master/texmf-dist: zxjafont (7feb20)

commits+karl at tug.org commits+karl at tug.org
Fri Feb 7 22:50:01 CET 2020


Revision: 53710
          http://tug.org/svn/texlive?view=revision&revision=53710
Author:   karl
Date:     2020-02-07 22:50:01 +0100 (Fri, 07 Feb 2020)
Log Message:
-----------
zxjafont (7feb20)

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-02-07 21:49:38 UTC (rev 53709)
+++ trunk/Master/texmf-dist/doc/latex/zxjafont/README-ja.md	2020-02-07 21:50:01 UTC (rev 53710)
@@ -36,6 +36,12 @@
 更新履歴
 --------
 
+  * Version 1.1  〈2020/02/08〉
+      - 和文処理モードでも `prop` が使えるようにした。
+  * Version 1.0  〈2020/02/02〉
+      - 3 ウェイトのサポート。`(no)threeweight` オプション追加。
+      - xeCJK 読込時も和文処理モードに切り替える。
+      - オプション追加:`(no)ignorejatype`。
   * Version 0.7  〈2020/01/18〉
       - オプション追加:`(no)bold`、`nojisshape`。
       - オプション別名:`(no)deluxe`。

Modified: trunk/Master/texmf-dist/doc/latex/zxjafont/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/zxjafont/README.md	2020-02-07 21:49:38 UTC (rev 53709)
+++ trunk/Master/texmf-dist/doc/latex/zxjafont/README.md	2020-02-07 21:50:01 UTC (rev 53710)
@@ -39,6 +39,13 @@
 Revision History
 ----------------
 
+  * Version 1.1  〈2020/02/08〉
+      - Now `prop` is available even in Japanese-font mode.
+  * Version 1.0  〈2020/02/02〉
+      - Now multiweight presets offer three weights per family. New
+        option `(no)threeweight` is added.
+      - Now use of xeCJK activates the Japanese-font mode.
+      - New option: `(no)ignorejatype`.
   * Version 0.7  〈2020/01/18〉
       - New options: `(no)bold`, `nojisshape`.
       - New option aliases: `(no)deluxe`.

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-02-07 21:49:38 UTC (rev 53709)
+++ trunk/Master/texmf-dist/doc/latex/zxjafont/zxjafont.tex	2020-02-07 21:50:01 UTC (rev 53710)
@@ -12,13 +12,14 @@
 \bxtexlogoimport{*}
 \usepackage{shortvrb}
 \MakeShortVerb{\|}
-\newcommand{\PkgVersion}{0.7}
-\newcommand{\PkgDate}{2020/01/18}
+\newcommand{\PkgVersion}{1.1}
+\newcommand{\PkgDate}{2020/02/08}
 \newcommand{\Pkg}[1]{\textsf{#1}}
 \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
 \newcommand{\Note}{\par\noindent ※}
 \newcommand{\Means}{:\ }
 \newcommand{\JEmph}{\textgt}
+\newcommand{\JSl}{\mbox{/}\linebreak[0]}
 %-----------------------------------------------------------
 \begin{document}
 \title{\Pkg{zxjafont} パッケージ(v\PkgVersion)}
@@ -32,10 +33,10 @@
 {\XeLaTeX}+\Pkg{fontspec}でのフォントファミリ名を直接指定する方式は
 「好きなフォントを指定する」という点では、
 {\pLaTeX}\>よりも格段に使い易いが、
-日本語を扱うためには必ず何らかの設定を行う必要があり、
+日本語を扱うためには必ず何らかのフォント設定を行う必要があり、
 これが煩わしく感じられる場合もある。
-本パッケージでは、日本語{\LaTeX}\>において
-一般的に行われている設定を予め用意しておいて、
+本パッケージでは、日本語\>{\LaTeX}\>において
+一般的に行われている日本語用フォント設定を予め用意しておいて、
 簡単に呼び出せるようにしている。
 
 \paragraph{前提環境}\mbox{}
@@ -59,29 +60,28 @@
 \Meta{サブ設定}と\Meta{他オプション}は任意個数指定可能である。
 もし\Pkg{fontspec}が未読込の場合は自動的に読み込む。
 {\XeLaTeX}\>には和文と欧文の元来の区別がないので、
-このパッケージで指定するフォントが全ての文字に通用する。
-ただし、\Pkg{zxjatype}パッケージでは和文と欧文を区別するので、
-それと併用の場合は\JEmph{和文のみ}にフォント設定が適用される。
+このパッケージで指定するフォントが全ての文字に通用される。
+ただし、\Pkg{xeCJK}パッケージや\Pkg{zxjatype}パッケージの
+日本語処理機能を利用する場合には和文と欧文が区別されるようになり、
+この場合は\JEmph{和文のみ}にフォント設定が適用される。
 
 %-------------------
 \subsection{メイン設定}
 
-総称ファミリの設定
-(\Pkg{fontspec}の |\setmainfont|、|\setsansfont|、|\setmonofont|)
+総称ファミリに関する設定、すなわち、
+\Pkg{fontspec}の\>|\setmainfont|\JSl|\setsansfont|\JSl|\setmonofont|\>%
+(\Pkg{xeCJK}\JSl\Pkg{zxjatype}併用時は\>%
+|\setCJKmainfont|\JSl|\setCJKsansfont|\JSl|\setCJKmonofont|)
 を行うもの。
 
 \Note 「メイン設定」は\Pkg{pxchfon}パッケージにおける
 「プリセット設定」をそのまま
-(ただし明朝・ゴシック2ウェイトに縮減して)
 引き継いでいる。
-設定内容の詳細については、\Pkg{pxchfon}の説明書を
-参照してほしい。
+設定内容の詳細については、
+\JEmph{\Pkg{pxchfon}の説明書を参照してほしい}。
 
-\Note かつての\Pkg{fontspec}では取り扱うフォントのウェイトが
-通常(|\mdseries|)と太字(|\bfseries|)の2つに限られていた。
-現在の\Pkg{fontspec}では追加のウェイトがサポートされているが、
-残念ながら現状の\Pkg{zxjafont}はまだ3ウェイト以上の設定には
-対応できていない。
+\Note 1.0版より、\Pkg{pxchfon}パッケージの多ウェイト設定について
+明朝・ゴシックの3ウェイトが全てサポートされるようになった。
 
 \paragraph{単ウェイト用の設定}
 明朝・ゴシック各々1ウェイトのみを用いる設定。
@@ -99,14 +99,35 @@
 \item |ipaex|\Means
 IPAexフォント。
 \end{itemize}
-\Note {\XeTeX}\>は「フォント非埋込のPDF生成」に対応していない。
+\Note {\XeTeX}\>は「フォント非埋込のPDF生成」に対応していないので、
+|noembed| 設定は存在しない。
 
+例えば、メイン設定\>|ms|\>は以下の\Pkg{fontspec}の設定を行う:
+\begin{quote}\small\begin{verbatim}
+\setmainfont{MS-Mincho}[BoldFont=MS-Gothic]
+\setsansfont{MS-Gothic}[BoldFont=MS-Gothic]
+\setmonofont{MS-Gothic}[BoldFont=MS-Gothic]
+\end{verbatim}\end{quote}
+\Note \Pkg{xeCJK}\JSl\Pkg{zxjatype}読込時は和文用フォントの
+設定(|\setCJKmainfont|\>等)に置き換わり、またこの場合は
+和文スケール設定(|Scale|\>オプションキー)が追加される。
+これは以降で紹介する例についても同様である。
+
 \paragraph{多ウェイト用の設定}
-明朝・ゴシック各々2ウェイトを用いる設定。
-セリフに明朝、サンセリフと等幅にゴシックを割り当て、
-各々について通常(|\mdseries|)と太字(|\bfseries|)
-を個別に設定する。
+セリフ(|\rmfamily|)に明朝、
+サンセリフ(|\sffamily|)と等幅(|\ttfamily|)にゴシックを割り当て、
+各々について中字(|\mdseries|)と太字(|\bfseries|)のフォントを
+\Pkg{pxchfon}のプリセットと同様に個別に設定する。
 
+さらに、|threeweight|\>オプションが有効の場合は、
+{p\LaTeX}\>の\Pkg{japanese-otf}で\>|deluxe|\>オプションを指定したときと
+同様に、「明朝の細字(|\rmfamily\ltseries|)」と
+「ゴシックの極太(|\sffamily\ebseries|)」が指定できるようになり、
+明朝とゴシックの各々について3ウェイトのフォントが
+\Pkg{pxchfon}のプリセットと同様に個別に設定される。
+\Note |threeweight|\>オプションは通常は既定で有効になっている
+(詳細は後述)。
+
 \begin{itemize}
 \item |ms-hg|\Means
   MSフォント + HGフォント。
@@ -119,7 +140,7 @@
   Mogaフォント(2004JIS字形)。
   \Note MogaEx系統が用いられる。
 \item |moga-90|\Means
-  Mogaフォント(90/2000JIS字形)。
+  Mogaフォント(90\JSl 2000JIS字形)。
   \Note MogaEx90系統が用いられる。
 \item |ume|\Means
   梅フォント。
@@ -161,9 +182,46 @@
   原ノ味フォント。
 \end{itemize}
 
+例えば\>|haranoaji|\>オプションについて説明すると、%
+|threeweight|\>が有効の場合は以下の設定
+(3ウェイト)が行われる:
+\begin{quote}\small\begin{verbatim}
+\setmainfont{HaranoAjiMincho-Regular}[BoldFont=HaranoAjiMincho-Bold,
+    FontFace={l}{n}{HaranoAjiMincho-Light}]
+\setsansfont{HaranoAjiGothic-Regular}[BoldFont=HaranoAjiGothic-Bold,
+    FontFace={eb}{n}{HaranoAjiGothic-Heavy}]
+\setmonofont{HaranoAjiGothic-Regular}[BoldFont=HaranoAjiGothic-Bold,
+    FontFace={eb}{n}{HaranoAjiGothic-Heavy}]
+\end{verbatim}\end{quote}
+
+|threeweight|\>が無効の場合は以下の設定
+(中字・太字のみの2ウェイト)が行われる:
+\begin{quote}\small\begin{verbatim}
+\setmainfont{HaranoAjiMincho-Regular}[BoldFont=HaranoAjiMincho-Bold]
+\setsansfont{HaranoAjiGothic-Regular}[BoldFont=HaranoAjiGothic-Bold]
+\setmonofont{HaranoAjiGothic-Regular}[BoldFont=HaranoAjiGothic-Bold]
+\end{verbatim}\end{quote}
+
+|oneweight|\>オプション指定時は以下の設定
+(1ウェイトのみ)が行われる:
+\begin{quote}\small\begin{verbatim}
+\setmainfont{HaranoAjiMincho-Regular}[BoldFont=HaranoAjiMincho-Medium]
+\setsansfont{HaranoAjiGothic-Medium}[BoldFont=HaranoAjiGothic-Medium]
+\setmonofont{HaranoAjiGothic-Medium}[BoldFont=HaranoAjiGothic-Medium]
+\end{verbatim}\end{quote}
+\Note 他の例と異なりゴシックで“|HaranoAjiMincho-Medium|”%
+(\Pkg{pxchfon}のマニュアルのプリセットの解説で\>|\setgothicfont|\>に
+割り当てられているフォント)が使われていることに注意。
+
+そして\>|bold|\>オプション指定時は以下の設定が行われる:
+\begin{quote}\small\begin{verbatim}
+\setmainfont{HaranoAjiMincho-Regular}[BoldFont=HaranoAjiMincho-Bold]
+\setsansfont{HaranoAjiGothic-Bold}[BoldFont=HaranoAjiGothic-Bold]
+\setmonofont{HaranoAjiGothic-Bold}[BoldFont=HaranoAjiGothic-Bold]
+\end{verbatim}\end{quote}
+
 \paragraph{他パッケージとの互換用のオプション}
 \mbox{}
-%\Pkg{ptex-fontmaps}のプリセット名を別名として用意した。
 
 \begin{itemize}
 \item |kozuka|\Means
@@ -192,7 +250,8 @@
 0.5版において廃止された。
 現在は指定するとエラーが発生する。
 
-\Note ただし |hiragino| は現在は |hiragino-pro| の別名と解釈される。
+\Note ただし |hiragino| については現在では |hiragino-pro| の別名と
+解釈される。
 
 \begin{quote}
 |kozuka4|、|kozuka6|、|kozuka6n|、|hiragino|、
@@ -235,9 +294,9 @@
 \end{itemize}
 
 \item |mobo-90|\Means
-Moboフォント(90/2000JIS字形)を使う設定。
+Moboフォント(90\JSl 2000JIS字形)を使う設定。
 \begin{itemize}
-\item |\mobofamily|\Means Moboフォント(90/2000JIS字形)
+\item |\mobofamily|\Means Moboフォント(90\JSl 2000JIS字形)
 \end{itemize}
 
 \item |maruberi|\Means
@@ -253,23 +312,31 @@
 \begin{itemize}
 \item |oneweight|(または|nodeluxe|)\Means
 多ウェイト用のメイン設定を単ウェイトとして用いる。
-\Note \Pkg{pxchfon}の説明書の記述において |\setminchofont|
-と |\setgothicfont| で設定されているウェイトのフォント
-が用いられる。
-\item |nooneweight|(または|deluxe|)\Means
-|oneweight|の否定。
-\Note |(no)deluxe|は\Pkg{luatexja-preset}との互換の別名。
+\Note \Pkg{pxchfon}のマニュアルのプリセットの記述に
+おいて\>|\setminchofont|\>と\>|\setgothicfont|\>で設定されている
+ウェイトのフォントが用いられる。
+\item |nooneweight|(または|deluxe|;既定)\Means
+|oneweight|\>の否定。
+\Note |(no)deluxe|\>は\Pkg{luatexja-preset}との互換の別名。
 
+\item |threeweight|(既定)\Means
+多ウェイト用のメイン設定を使う場合に3ウェイトを利用できるようにする。
+\item |nothreeweight|\Means
+|threeweight|\>の否定。
+多ウェイト用のメイン設定は2ウェイトのみ使える。
+\Note 既定は\>|threeweight|\>であるが、使用中の\Pkg{fontspec}の版が
+古くて追加ウェイトに対応できない場合は\>|nothreeweight|\>が既定になる。
+
 \item |bold|\Means
-|oneweight|と同じく多ウェイト用のメイン設定を単ウェイトとして用いるが、
+|oneweight|\>と同じく多ウェイト用のメイン設定を単ウェイトとして用いるが、
 この際のゴシック体のフォントとして太字ウェイトに相当するものを用いる。
-\Note \Pkg{pxchfon}の説明書の記述における |\setminchofont|
-と |\setboldgothicfont| のフォントが用いられる。
-\Note \Pkg{luatexja-preset}とは異なり、|bold|の指定自体が
+\Note \Pkg{pxchfon}の説明書の記述における\>|\setminchofont|\>%
+と\>|\setboldgothicfont|\>のフォントが用いられる。
+\Note \Pkg{luatexja-preset}とは異なり、|bold|\>の指定自体が
 単ウェイト設定を強制する。
-|bold|と|oneweight|を同時に指定した場合は|bold|が優先する。
-\item |nobold|\Means
-|bold|の否定。
+|bold|\>と\>|oneweight|\>を同時に指定した場合は\>|bold|\>が優先する。
+\item |nobold|(既定)\Means
+|bold|\>の否定。
 
 \item |prop|\Means
 プロポーショナル幅のフォントを用いる。
@@ -278,11 +345,8 @@
 既定で用いるのは等幅のフォントだが、
 「欧文のみプロポーショナル」の変種(HGフォントの場合「HGS~」名称のもの)
 がある場合はそれを優先させている。
-\Note \Pkg{zxjatype}を用いる場合は、
-和文は等幅フォントを用いることが前提なので、
-このオプションは指定できない(エラーになる)。
-\item |noprop|\Means
-|prop|の否定。
+\item |noprop|(既定)\Means
+|prop|\>の否定。
 (和文が)等幅のフォントを用いる。
 
 \item |scale=|\Meta{実数}\Means
@@ -291,18 +355,26 @@
 \Pkg{zxjatype}パッケージで指定されている場合はその値、
 なければ1となる。
 
-\item |jis90|/|90jis|\Means
+\item |jis90|\JSl|90jis|\Means
 90JIS字形(2000JIS字形)の使用を指定する。
-
-\item |jis2004|/|2004jis|\Means
+\item |jis2004|\JSl|2004jis|\Means
 2004JIS字形の使用を指定する。
-
-\item |nojisshape|\Means
+\item |nojisshape|(既定)\Means
 特定のJIS字形の使用の指定を行わない。
 
+\item |ignorejatype|\Means
+たとえ\Pkg{xeCJK}\JSl\Pkg{zxjatype}が読み込まれていたとしても
+それらを無視して、「和文欧文の区別がない」前提の動作を行う。
+\Note この場合「プリセットで指定した日本語フォントが\JEmph{欧文のみ}に
+適用される」という奇妙な動作になるため、このオプションの有用性は
+ほぼないと思われる。
+\item |noignorejatype|(既定)\Means
+|ignorejatype|\>の否定。
+
 \item |feature={|\Meta{属性リスト}|}|\Means
 このパッケージで指定されるフォント全てに通用する
 \Pkg{fontspec}の属性の指定。
+既定値は空。
 
 \end{itemize}
 

Modified: trunk/Master/texmf-dist/tex/latex/zxjafont/zxjafont.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/zxjafont/zxjafont.sty	2020-02-07 21:49:38 UTC (rev 53709)
+++ trunk/Master/texmf-dist/tex/latex/zxjafont/zxjafont.sty	2020-02-07 21:50:01 UTC (rev 53710)
@@ -10,7 +10,7 @@
 
 %% package declaration
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{zxjafont}[2020/01/18 v0.7]
+\ProvidesPackage{zxjafont}[2020/02/08 v1.1]
 \def\zxjf at pkgname{zxjafont}
 
 %% preparation
@@ -33,6 +33,10 @@
   \PackageError\zxjf at pkgname
    {Invalid value '#2' for option #1}\@ehc}
 
+%% switch 'fontspec at mw'
+\newif\ifzxjf at fontspec@mw
+\@ifpackagelater{fontspec}{2014/06/01}{\zxjf at fontspec@mwtrue}{}% v2.4
+
 %% \zxjf at cond\ifXXX...\fi{<true>}{<false>}
 \@gobbletwo\if\if \def\zxjf at cond#1\fi{%
   #1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
@@ -63,6 +67,9 @@
 \chardef\zxjf at cjkshape@@none=0
 \chardef\zxjf at cjkshape@@xc=1    % 90jis
 \chardef\zxjf at cjkshape@@mmiv=2  % jis2004
+\chardef\zxjf at jatype@@none=0
+\chardef\zxjf at jatype@@xeCJK=1
+\chardef\zxjf at jatype@@zxjatype=2
 
 %% variables
 \let\zxjf at main@preset\relax
@@ -69,12 +76,19 @@
 \let\zxjf at sub@preset\@empty
 \newif\ifzxjf at prop
 \newif\ifzxjf at oneweight
+\newif\ifzxjf at threeweight
 \newif\ifzxjf at bold
 \let\zxjf at cjkshape\zxjf at cjkshape@@none
 \let\zxjf at scale\relax
 \let\zxjf at feature\@empty
-\newif\ifzxjf at zxjatype
+\let\zxjf at jatype\zxjf at jatype@@none
+\newif\ifzxjf at ignore@jatype
 
+%% default for 'threeweight'
+\ifzxjf at fontspec@mw
+  \zxjf at threeweighttrue
+\fi
+
 %% \zxjf at all@main at preset
 \zxjf at onlypreamble@def\zxjf at all@main at preset{%
   %(uniweight)
@@ -107,6 +121,9 @@
 \DeclareOption{nooneweight}{\zxjf at oneweightfalse}
 \DeclareOption{nodeluxe}{\zxjf at oneweighttrue}
 \DeclareOption{deluxe}{\zxjf at oneweightfalse}
+% 'threeweight'
+\DeclareOption{threeweight}{\zxjf at threeweighttrue}
+\DeclareOption{nothreeweight}{\zxjf at threeweightfalse}
 % 'bold'
 \DeclareOption{bold}{\zxjf at boldtrue}
 \DeclareOption{nobold}{\zxjf at boldfalse}
@@ -116,6 +133,9 @@
 \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}
+% 'ignorejatype'
+\DeclareOption{ignorejatype}{\zxjf at ignore@jatypetrue}
+\DeclareOption{noignorejatype}{\zxjf at ignore@jatypefalse}
 % dummy options for compatibility with luatexja-preset
 \DeclareOption{match}{}% xeCJK always work as 'match' is on
 \DeclareOption{expert}{\zxjf at warn@niopt{expert}}
@@ -150,19 +170,27 @@
     \space\space\zxjf at all@main at preset}
 \expandafter\endinput\fi\relax
 
-%% detect zxjatype
-\@ifpackageloaded{zxjatype}{\zxjf at zxjatypetrue}{}
-\AtBeginDocument{%
-  \unless\ifzxjf at zxjatype
-    \@ifpackageloaded{zxjatype}{%
-      \PackageError\zxjf at pkgname
-       {zxjatype must be loaded before me}\@ehc
-    }{}%
-  \fi}
-\ifzxjf at zxjatype\ifzxjf at prop
+%% detect zxjatype/xeCJK
+\unless\ifzxjf at ignore@jatype
+  \@ifpackageloaded{xeCJK}{\let\zxjf at jatype\zxjf at jatype@@xeCJK}{}
+  \@ifpackageloaded{zxjatype}{\let\zxjf at jatype\zxjf at jatype@@zxjatype}{}
+  \ifnum\zxjf at jatype=\zxjf at jatype@@none
+    \AtBeginDocument{%
+      \@ifpackageloaded{xeCJK}{%
+        \PackageError\zxjf at pkgname
+         {zxjatype/xeCJK must be loaded before zxjafont}\@ehc
+      }{}%
+    }
+  \fi
+\fi
+
+%% check for 'threeweight'
+\unless\ifzxjf at fontspec@mw\ifzxjf at threeweight
   \PackageError\zxjf at pkgname
-   {Option 'prop' cannot be used with zxjatype}\@ehc
-  \zxjf at propfalse
+   {Option 'threeweight' cannot be used, bebause\MessageBreak
+    your 'fontspec' is too old}
+   {\@ehc}
+  \zxjf at threeweightfalse
 \fi\fi
 
 %% decide scale factor
@@ -169,7 +197,7 @@
 \ifx\zxjf at scale\relax
   % If zxjatype is used, try \zxjatypeJaScale, \zxjt at scale,
   % and \__zxjt_scale_tl.
-  \ifzxjf at zxjatype
+  \ifnum\zxjf at jatype=\zxjf at jatype@@zxjatype
     \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}%
@@ -222,7 +250,12 @@
     #3{##1}[#2,##2]{##3}}}
 
 %% \zxjf at setmainfont{<attributes>}{<fam_name>}, etc.
-\ifzxjf at zxjatype
+\ifnum\zxjf at jatype=\zxjf at jatype@@xeCJK
+\edef\zxjf at setmainfont#1{\zxjf at font@set\setCJKmainfont{#1}}
+\edef\zxjf at setsansfont#1{\zxjf at font@set\setCJKsansfont{#1}}
+\edef\zxjf at setmonofont#1{\zxjf at font@set\setCJKmonofont{#1}}
+\zxjf at newfamily@gen{\setCJKfamilyfont}
+\else\ifnum\zxjf at jatype=\zxjf at jatype@@zxjatype
 \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}}
@@ -234,7 +267,7 @@
 \edef\zxjf at newfamily#1#2{%
   \unexpanded{\zxjf at with@cs\newfontfamily}{#1family}%
       [\expandonce\zxjf at whole@feature,#2]}
-\fi
+\fi\fi
 
 %--------------------------------------- preset japanese font mappings
 
@@ -246,20 +279,27 @@
   \zxjf at setmainfont{#3,BoldFont=#2}{#1}%
   \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{%
+\zxjf at onlypreamble@def\zxjf at multiweight#1#2#3#4#5#6#7#8{%
   \ifzxjf at bold
-    \zxjf at setmainfont{#6,BoldFont=#4}{#1}%
-    \zxjf at setsansfont{#6,BoldFont=#4}{#4}%
-    \zxjf at setmonofont{#6,BoldFont=#4}{#4}%
+    \zxjf at setmainfont{#8,BoldFont=#5}{#2}%
+    \zxjf at setsansfont{#8,BoldFont=#5}{#5}%
+    \zxjf at setmonofont{#8,BoldFont=#5}{#5}%
   \else\ifzxjf at oneweight
-    \zxjf at setmainfont{#6,BoldFont=#5}{#1}%
-    \zxjf at setsansfont{#6,BoldFont=#5}{#5}%
-    \zxjf at setmonofont{#6,BoldFont=#5}{#5}%
+    \zxjf at setmainfont{#8,BoldFont=#7}{#2}%
+    \zxjf at setsansfont{#8,BoldFont=#7}{#7}%
+    \zxjf at setmonofont{#8,BoldFont=#7}{#7}%
+  \else\ifzxjf at threeweight
+    \zxjf at setmainfont{#8,BoldFont=#3,
+        FontFace={l}{n}{#1}}{#2}%
+    \zxjf at setsansfont{#8,BoldFont=#5,
+        FontFace={eb}{n}{#6}}{#4}%
+    \zxjf at setmonofont{#8,BoldFont=#5,
+        FontFace={eb}{n}{#6}}{#4}%
   \else
-    \zxjf at setmainfont{#6,BoldFont=#2}{#1}%
-    \zxjf at setsansfont{#6,BoldFont=#4}{#3}%
-    \zxjf at setmonofont{#6,BoldFont=#4}{#3}%
-  \fi\fi}
+    \zxjf at setmainfont{#8,BoldFont=#3}{#2}%
+    \zxjf at setsansfont{#8,BoldFont=#5}{#4}%
+    \zxjf at setmonofont{#8,BoldFont=#5}{#4}%
+  \fi\fi\fi}
 %% \zxjf at declare@preset at with@prop{<name>}{<text>}
 \zxjf at onlypreamble@def\zxjf at declare@preset at with@prop#1#2{%
   \zxjf at declare@preset{#1}{#2{RawFeature=-palt;-kern}}%
@@ -287,94 +327,94 @@
 \zxjf at declare@preset{ms/prop}{%
   \zxjf at uniweight{MS-PMincho}{MS-PGothic}{}}
 \zxjf at declare@preset{ms-hg}{%
-  \zxjf at multiweight{MS-Mincho}{HGMinchoE}%
-    {HGGothicM}{HGGothicE}{MS-Gothic}{}}
+  \zxjf at multiweight{MS-Mincho}{MS-Mincho}{HGMinchoE}%
+    {HGGothicM}{HGGothicE}{hgrsgu.ttc}{MS-Gothic}{}}
 \zxjf at declare@preset{ms-hg/prop}{%
-  \zxjf at multiweight{MS-PMincho}{HGPMinchoE}%
-    {HGPGothicM}{HGGothicE}{MS-PGothic}{}}
+  \zxjf at multiweight{MS-PMincho}{MS-PMincho}{HGPMinchoE}%
+    {HGPGothicM}{HGGothicE}{hgrsgu.ttc}{MS-PGothic}{}}
 \zxjf at declare@preset{ipa}{%
   \zxjf at uniweight{IPAMincho}{IPAGothic}{}}
 \zxjf at declare@preset{ipa/prop}{%
   \zxjf at uniweight{IPAPMincho}{IPAPGothic}{}}
 \zxjf at declare@preset{ipa-hg}{%
-  \zxjf at multiweight{IPAMincho}{HGMinchoE}%
-    {HGGothicM}{HGGothicE}{IPAGothic}{}}
+  \zxjf at multiweight{IPAMincho}{IPAMincho}{HGMinchoE}%
+    {HGGothicM}{HGGothicE}{hgrsgu.ttc}{IPAGothic}{}}
 \zxjf at declare@preset{ipa-hg/prop}{%
-  \zxjf at multiweight{IPAPMincho}{HGPMinchoE}%
-    {HGPGothicM}{HGGothicE}{IPAPGothic}{}}
+  \zxjf at multiweight{IPAPMincho}{IPAPMincho}{HGPMinchoE}%
+    {HGPGothicM}{HGGothicE}{hgrsgu.ttc}{IPAPGothic}{}}
 \zxjf at declare@preset{ipaex}{%
   \zxjf at uniweight{ipaexm.ttf}{ipaexg.ttf}{}}
 \zxjf at declare@preset{ipaex-hg}{%
-  \zxjf at multiweight{ipaexm.ttf}{HGSMinchoE}%
-    {HGSGothicM}{HGSGothicE}{ipaexg.ttf}{}}
+  \zxjf at multiweight{ipaexm.ttf}{ipaexm.ttf}{HGSMinchoE}%
+    {HGSGothicM}{HGSGothicE}{hgrsgu.ttc}{ipaexg.ttf}{}}
 \zxjf at declare@preset{moga}{%
-  \zxjf at multiweight{MogaExMincho}{MogaExMincho Bold}%
-    {MogaExGothic}{MogaExGothic Bold}{MogaExGothic}{}}
+  \zxjf at multiweight{MogaExMincho}{MogaExMincho}{MogaExMincho Bold}%
+    {MogaExGothic}{MogaExGothic Bold}{MogaExGothic Bold}{MogaExGothic}{}}
 \zxjf at declare@preset{moga-90}{%
-  \zxjf at multiweight{MogaEx90Mincho}{MogaEx90Mincho Bold}%
-    {MogaEx90Gothic}{MogaEx90Gothic Bold}{MogaEx90Gothic}{}}
+  \zxjf at multiweight{MogaEx90Mincho}{MogaEx90Mincho}{MogaEx90Mincho Bold}%
+    {MogaEx90Gothic}{MogaEx90Gothic Bold}{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 multiweight{Ume Mincho}{Ume Mincho}{Ume Mincho}%
+    {Ume Gothic}{Ume Gothic O5}{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}%
+  \zxjf at multiweight{KozMinPro-Light}{KozMinPro-Regular}{KozMinPro-Bold}%
+    {KozGoPro-Regular}{KozGoPro-Bold}{KozGoPro-Heavy}%
     {KozGoPro-Medium}}
 \zxjf at declare@preset at with@prop{kozuka-pr6}{%
-  \zxjf at multiweight{KozMinProVI-Regular}{KozMinProVI-Bold}%
-    {KozGoProVI-Regular}{KozGoProVI-Bold}%
+  \zxjf at multiweight{KozMinProVI-Light}{KozMinProVI-Regular}{KozMinProVI-Bold}%
+    {KozGoProVI-Regular}{KozGoProVI-Bold}{KozGoProVI-Heavy}%
     {KozGoProVI-Medium}}
 \zxjf at declare@preset at with@prop{kozuka-pr6n}{%
-  \zxjf at multiweight{KozMinPr6N-Regular}{KozMinPr6N-Bold}%
-    {KozGoPr6N-Regular}{KozGoPr6N-Bold}%
+  \zxjf at multiweight{KozMinPr6N-Light}{KozMinPr6N-Regular}{KozMinPr6N-Bold}%
+    {KozGoPr6N-Regular}{KozGoPr6N-Bold}{KozGoPr6N-Heavy}%
     {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}%
+  \zxjf at multiweight{Hiragino Mincho Pro W2}{Hiragino Mincho Pro W3}{Hiragino Mincho Pro W6}%
+    {Hiragino Kaku Gothic Pro W3}{Hiragino Kaku Gothic Pro W6}{Hiragino Kaku Gothic Std W8}%
     {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}%
+  \zxjf at multiweight{Hiragino Mincho ProN W2}{Hiragino Mincho ProN W3}{Hiragino Mincho ProN W6}%
+    {Hiragino Kaku Gothic ProN W3}{Hiragino Kaku Gothic ProN W6}{Hiragino Kaku Gothic StdN W8}%
     {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}%
+  \zxjf at 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.otf}{A-OTF-MidashiGoPro-MB31.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}%
+  \zxjf at 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.otf}{A-OTF-MidashiGoPr6N-MB31.otf}%
     {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}%
+  \zxjf at multiweight{YuMincho-Light}{YuMincho-Regular}{YuMincho-Demibold}%
+    {YuGothic-Regular}{YuGothic-Bold}{YuGothic-Bold}%
     {YuGothic-Regular}}
 \zxjf at declare@preset at with@prop{yu-win10}{%
-  \zxjf at multiweight{YuMincho-Regular}{YuMincho-Demibold}%
-    {YuGothic-Regular}{YuGothic-Bold}%
+  \zxjf at multiweight{YuMincho-Light}{YuMincho-Regular}{YuMincho-Demibold}%
+    {YuGothic-Regular}{YuGothic-Bold}{YuGothic-Bold}%
     {YuGothic-Medium}}
 \zxjf at declare@preset at with@prop{yu-osx}{%
-  \zxjf at multiweight{YuMincho-Medium}{YuMincho-Demibold}%
-    {YuGothic-Medium}{YuGothic-Bold}%
+  \zxjf at multiweight{YuMincho-Medium}{YuMincho-Medium}{YuMincho-Demibold}%
+    {YuGothic-Medium}{YuGothic-Bold}{YuGothic-Bold}%
     {YuGothic-Medium}}
 \zxjf at declare@preset at with@prop{sourcehan}{%
-  \zxjf at multiweight{SourceHanSerif-Regular}{SourceHanSerif-Bold}%
-    {SourceHanSans-Regular}{SourceHanSans-Bold}%
+  \zxjf at multiweight{SourceHanSerif-Light}{SourceHanSerif-Regular}{SourceHanSerif-Bold}%
+    {SourceHanSans-Regular}{SourceHanSans-Bold}{SourceHanSans-Heavy}%
     {SourceHanSans-Medium}}
 \zxjf at declare@preset at with@prop{sourcehan-jp}{%
-  \zxjf at multiweight{SourceHanSerifJP-Regular}{SourceHanSerifJP-Bold}%
-    {SourceHanSansJP-Regular}{SourceHanSansJP-Bold}%
+  \zxjf at multiweight{SourceHanSerifJP-Light}{SourceHanSerifJP-Regular}{SourceHanSerifJP-Bold}%
+    {SourceHanSansJP-Regular}{SourceHanSansJP-Bold}{SourceHanSansJP-Heavy}%
     {SourceHanSansJP-Medium}}
 \zxjf at declare@preset at with@prop{noto}{%
-  \zxjf at multiweight{NotoSerifCJKjp-Regular}{NotoSerifCJKjp-Bold}%
-    {NotoSansCJKjp-Regular}{NotoSansCJKjp-Bold}%
+  \zxjf at multiweight{NotoSerifCJKjp-Light}{NotoSerifCJKjp-Regular}{NotoSerifCJKjp-Bold}%
+    {NotoSansCJKjp-Regular}{NotoSansCJKjp-Bold}{NotoSansCJKjp-Black}%
     {NotoSansCJKjp-Medium}}
 \zxjf at declare@preset at with@prop{noto-jp}{%
-  \zxjf at multiweight{NotoSerifJP-Regular}{NotoSerifJP-Bold}%
-    {NotoSansJP-Regular}{NotoSansJP-Bold}%
+  \zxjf at multiweight{NotoSerifJP-Light}{NotoSerifJP-Regular}{NotoSerifJP-Bold}%
+    {NotoSansJP-Regular}{NotoSansJP-Bold}{NotoSansJP-Black}%
     {NotoSansJP-Medium}}
 \zxjf at declare@preset at with@prop{haranoaji}{%
-  \zxjf at multiweight{HaranoAjiMincho-Regular}{HaranoAjiMincho-Bold}%
-    {HaranoAjiGothic-Regular}{HaranoAjiGothic-Bold}%
+  \zxjf at multiweight{HaranoAjiMincho-Light}{HaranoAjiMincho-Regular}{HaranoAjiMincho-Bold}%
+    {HaranoAjiGothic-Regular}{HaranoAjiGothic-Bold}{HaranoAjiGothic-Heavy}%
     {HaranoAjiGothic-Medium}}
 %(alias)
 \zxjf at declare@preset at alias@with at prop{kozuka}{kozuka-pro}
@@ -429,6 +469,21 @@
 
 %--------------------------------------- and some extras
 
+\ifzxjf at threeweight
+  %%<*> \ltdefault/\ltseries
+  \def\ltdefault{l}
+  \DeclareRobustCommand\ltseries{%
+    \not at math@alphabet\ltseries\relax
+    \fontseries\ltdefault\selectfont
+  }
+  %%<*> \ebdefault/\ebseries
+  \def\ebdefault{eb}
+  \DeclareRobustCommand\ebseries{%
+    \not at math@alphabet\ebseries\relax
+    \fontseries\ebdefault\selectfont
+  }
+\fi
+
 %%<*> \useeasyjapanesesettings
 \newcommand*\useeasyjapanesesettings{%
 \XeTeXlinebreaklocale "ja"\relax



More information about the tex-live-commits mailing list.