OSDN Git Service

luatexja-preset: add mc/l
authorHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sun, 23 Jul 2017 13:16:22 +0000 (22:16 +0900)
committerHironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
Sun, 23 Jul 2017 13:16:22 +0000 (22:16 +0900)
doc/luatexja.dtx
src/addons/luatexja-preset.sty
test/test16-preset.pdf
test/test16-preset.tex

index 82a7ec2..7db7268 100644 (file)
@@ -1667,26 +1667,39 @@ This means that \verb+\mcfamily\bfseries+, \verb+\gtfamily\bfseries+ and
 %</ja>
 \item[deluxe]
 %<*en>
-Use \textit{mincho} with two weights (medium~and~bold),
-\textit{gothic} with three weights (medium, bold~and~heavy), and \textit{rounded gothic}%
+Use \textit{mincho} with three weights (light, medium, and~bold),
+\textit{gothic} with three weights (medium, boldand~heavy), and \textit{rounded gothic}%
 \footnote{Provided by \cs{mgfamily} and \cs{textmg},
-because \textit{rounded gothic} is called \textit{maru gothic} (丸ゴシック) in Japanese.}.
-The heavy weight of \textit{gothic} can be used by ``changing the family'' \cs{gtebfamily},
-or \verb+\textgteb{...}+.
-This is because the \Pkg{fontspec} package can handle only medium (\cs{mdseries}) and
-bold (\cs{bfseries}).
+because ``rounded gothic'' is called \textit{maru gothic} (丸ゴシック) in Japanese.}.
+The light weight of mincho and the heavy weight of gothic can be used by
+\cs{mcfamily}\cs{ltseries}~and~\cs{gtfamily}\cs{ebseries}, respectively.
+
+\begin{itemize}
+ \item Some presets do not have the light weight of mincho.
+  In this case, we substitute the medium weight for the light weight.
+ \item \Pkg{luatexja-preset} does not produce an error (only produces a warning), even if
+  (one of) fonts for \cs{mcfamily}\cs{ltseries}, \cs{gtfamily}\cs{ebseries}, \cs{mgfamily}
+  do not exist.
+\end{itemize}
 %</en>
 %<*ja>
-明朝体2ウェイト・ゴシック体3ウェイトと,
-丸ゴシック体 (\cs{mgfamily}, \verb+\textmg{...}+) を使用可能とする.
-ゴシック体は中字・太字・極太の3ウェイトがあるが,
-極太ゴシック体を使う場合,
+明朝体3ウェイト・ゴシック体3ウェイトと,
+丸ゴシック体 (\cs{mgfamily}, \verb+\textmg{...}+) を利用可能にする.
+明朝体は細字・中字・太字の3ウェイトがあり,
+明朝体の細字は \cs{mcfamily}\cs{ltseries} で利用できる.
+また,ゴシック体は中字・太字・極太の3ウェイトがあり,
+ゴシック体の極太は \cs{gtfamily}\cs{ebseries} で利用できる%
+\footnote{過去との互換性のため,\cs{gtebfamily}, \cs{textgteb\{...\}} も
+ 依然として利用可能である.}.
+
 \begin{itemize}
- \item \cs{gtebfamily}, \verb+\textgteb{...}+
- \item \cs{ebseries} (周囲がゴシック体のとき,\texttt{nfssonly} オプション指定時のみ)
+  \item プリセット設定によっては明朝体細字が用意されていないものもある.その場合は
+  明朝体中字が代用される.
+  \item 明朝体細字,ゴシック体極太,丸ゴシック体の3フォントについては
+  実際にフォントをロードする前に存在するかチェックを行う.
+  存在しなかったものについては警告を発し,
+  それぞれ明朝体中字.ゴシック体太字,ゴシック体太字で代用する.
 \end{itemize}
-のいずれかを用いる.標準で \cs{ebseries} が準備されていないのは,バージョンが古い
-\Pkg{fontspec}では中字(\cs{mdseries})と太字(\cs{bfseries})しか扱えなかった名残である.
 %</ja>
 \item[expert]
 %<*en>
@@ -1784,9 +1797,10 @@ There is not rounded gothic family in Kozuka fonts.
 \toprule
 \bfseries family&\bfseries series&\ttfamily kozuka-pro&\ttfamily kozuka-pr6&\ttfamily kozuka-pr6n\\
 \midrule
+ &light&KozMinPro-Light&KozMinProVI-Light&KozMinPr6N-Light\\
+%<en>\textit{mincho}%
+%<ja>\textgt{明朝}%
  &medium&KozMinPro-Regular&KozMinProVI-Regular&KozMinPr6N-Regular\\
-%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
  &bold&KozMinPro-Bold&KozMinProVI-Bold&KozMinPr6N-Bold\\
 \midrule
  &&KozGoPro-Regular*&KozGoProVI-Regular*&KozGoPr6N-Regular*\\
@@ -1810,24 +1824,29 @@ There is not rounded gothic family in Kozuka fonts.
  \item[hiragino-pron] Hiragino ProN (Adobe-Japan1-5, JIS04-savvy) fonts.
 
 %<*en>
-Hiragino fonts are bundled with Mac OS~X 10.5 or later.
+Hiragino fonts (except Hiragino~Mincho~W2) are bundled with Mac OS~X 10.5 or later.
 Some editions of a Japanese word-processor ``一太郎2012'' includes Hiragino ProN fonts.
-Note that the heavy weight of \textit{gothic} family only supports
-Adobe-Japan1-3 character collection (Std/StdN).
+Note that the heavy weight of gothic family only supports
+Adobe-Japan1-3 character collection (Std/StdN), while others supports
+Adobe-Japan1-5 character collection.
 %</en>
 %<*ja>
 ヒラギノフォントは,Mac OS~X以外にも,一太郎2012の上位エディションにもバンドルされている.
-極太ゴシックとして用いるヒラギノ角ゴW8は,Adobe-Japan1-3の範囲しかカバーしていない
+極太ゴシックとして用いるヒラギノ角ゴW8は,Adobe-Japan1-3の範囲しかカバーしていない
 Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
+
+なお,明朝体細字として用いるヒラギノ明朝体W2はOS~Xや一太郎にはバンドルされておらず,
+別途購入する必要がある.
 %</ja>
 \begin{center}\small
 \begin{tabular}{clll}
 \toprule
 \bf family&\bf series&\tt hiragino-pro&\tt hiragino-pron\\
 \midrule
+ &light&Hiragino~Mincho~Pro~W2&Hiragino~Mincho~ProN~W2\\
+%<en>\textit{mincho}%
+%<ja>\textgt{明朝}%
  &medium&Hiragino~Mincho~Pro~W3&Hiragino~Mincho~ProN~W3\\
-%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
  &bold&Hiragino~Mincho~Pro~W6&Hiragino~Mincho~ProN~W6\\
 \midrule
  &&Hiragino~Kaku~Gothic~Pro~W3*&Hiragino~Kaku~Gothic~ProN~W3*\\
@@ -1884,9 +1903,10 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
 \toprule
 \bf family&\bf series&\texttt{yu-win}&\texttt{yu-win10}&\texttt{yu-osx}\\
 \midrule
+ &light&YuMincho-Light&YuMincho-Light&(YuMincho~Medium)\\
+%<en>\textit{mincho}%
+%<ja>\textgt{明朝}%
  &medium&YuMincho-Regular&YuMincho-Regular&YuMincho~Medium\\
-%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
  &bold&YuMincho-Demibold&YuMincho-Demibold&YuMincho~Demibold\\
 \midrule
  &&YuGothic-Regular*&YuGothic-Regular*&YuGothic~Medium*\\
@@ -1973,9 +1993,10 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
 \toprule
 \bf family&\bf series&\texttt{sourcehan}&\texttt{sourcehan-jp}\\
 \midrule
+ &light&\AD{Serif}{Light}\\
+%<en>\textit{mincho}%
+%<ja>\textgt{明朝}%
  &medium&\AD{Serif}{Regular}\\
-%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
  &bold&\AD{Serif}{Bold}\\
 \midrule
  &&\AD{Sans}{Regular*}\\
@@ -2004,9 +2025,10 @@ Std/StdNフォントであり,その他はAdobe-Japan1-5対応である.
 \toprule
 \bf family&\bf series&\texttt{noto-otc}&\texttt{noto-otf}\\
 \midrule
+ &light&\AD{Serif}{Light}\\
+%<en>\textit{mincho}%
+%<ja>\textgt{明朝}%
  &medium&\AD{Serif}{Regular}\\
-%<en>\smash{\raisebox{1.5ex}{\textit{mincho}}}%
-%<ja>\smash{\raisebox{1.5ex}{\gt 明朝}}%
  &bold&\AD{Serif}{Bold}\\
 \midrule
  &&\AD{Sans}{Regular*}\\
index 800a5da..9bebaf5 100644 (file)
 %% Pro
 \ltjpreset_declare_option:nn{kozuka-pro}{
   \ltjpreset_set_multi:n {
-    KozMinPro-Regular , % mc/m
-    KozMinPro-Bold ,    % mc/bx
-    KozGoPro-Regular , % gt/m  (multi)
-    KozGoPro-Bold ,    % gt/bx
-    KozGoPro-Medium  , % gt/m  (uni)
-    KozGoPro-Heavy ,   % gt/eb
-    KozGoPro-Heavy     % mg/m
+    KozMinPro-Regular, % mc/m
+    KozMinPro-Bold,    % mc/bx
+    KozGoPro-Regular,  % gt/m  (multi)
+    KozGoPro-Bold,     % gt/bx
+    KozGoPro-Medium,   % gt/m  (uni)
+    KozGoPro-Heavy,    % gt/eb
+    KozGoPro-Heavy,    % mg/m
+    KozMinPro-Light,   % mc/l
   }
 }
 %% Pr6
 \ltjpreset_declare_option:nn{kozuka-pr6}{
   \ltjpreset_set_multi:n {
-    KozMinProVI-Regular , % mc/m
-    KozMinProVI-Bold ,    % mc/bx
-    KozGoProVI-Regular , % gt/m  (multi)
-    KozGoProVI-Bold ,    % gt/bx
-    KozGoProVI-Medium  , % gt/m  (uni)
-    KozGoProVI-Heavy ,   % gt/eb
-    KozGoProVI-Heavy     % mg/m
+    KozMinProVI-Regular, % mc/m
+    KozMinProVI-Bold,    % mc/bx
+    KozGoProVI-Regular,  % gt/m  (multi)
+    KozGoProVI-Bold,     % gt/bx
+    KozGoProVI-Medium,   % gt/m  (uni)
+    KozGoProVI-Heavy,    % gt/eb
+    KozGoProVI-Heavy,    % mg/m
+    KozMinProVI-Light,   % mc/l
   }
 }
 %% Pr6N
 \ltjpreset_declare_option:nn{kozuka-pr6n}{
   \ltjpreset_set_multi:n {
-    KozMinPr6N-Regular , % mc/m
-    KozMinPr6N-Bold ,    % mc/bx
-    KozGoPr6N-Regular , % gt/m  (multi)
-    KozGoPr6N-Bold ,    % gt/bx
-    KozGoPr6N-Medium  , % gt/m  (uni)
-    KozGoPr6N-Heavy ,   % gt/eb
-    KozGoPr6N-Heavy     % mg/m
+    KozMinPr6N-Regular, % mc/m
+    KozMinPr6N-Bold,    % mc/bx
+    KozGoPr6N-Regular,  % gt/m  (multi)
+    KozGoPr6N-Bold,     % gt/bx
+    KozGoPr6N-Medium,   % gt/m  (uni)
+    KozGoPr6N-Heavy,    % gt/eb
+    KozGoPr6N-Heavy,    % mg/m
+    KozMinPr6N-Light,   % mc/l
   }
 }
 
     HiraKakuPro-W6 , % gt/m (uni)
     HiraKakuStd-W8 ,
     HiraMaruPro-W4 ,
+    HiraMinPro-W2,
   }
 }
 \ltjpreset_declare_option:nn{hiragino-pron}{
     HiraKakuProN-W6 , % gt/m (uni)
     HiraKakuStdN-W8 ,
     HiraMaruProN-W4 ,
+    HiraMinProN-W2 ,
   }
 }
 
 \ltjpreset_declare_option:nn{yu-win}{
   \ltjpreset_set_multi:n {
     YuMincho-Regular , YuMincho-Demibold , % mc/m, mc/bx
-    YuGothic-Regular , YuGothic-Bold ,  % gt/m, gt/bx (multiweight))
+    YuGothic-Regular , YuGothic-Bold ,     % gt/m, gt/bx (multiweight))
     YuGothic-Regular , YuGothic-Bold ,     % gt/m (uni), gt/eb
-    YuGothic-Bold                          % mg/m
+    YuGothic-Bold,     YuMincho-Light      % mg/m, mc/l
   }
 }
 % Win10
 \ltjpreset_declare_option:nn{yu-win10}{
   \ltjpreset_set_multi:n {
     YuMincho-Regular , YuMincho-Demibold , % mc/m, mc/bx
-    YuGothic-Regular , YuGothic-Bold     ,  % gt/m, gt/bx (multiweight))
+    YuGothic-Regular , YuGothic-Bold     , % gt/m, gt/bx (multiweight))
     YuGothic-Medium  , YuGothic-Bold ,     % gt/m (uni), gt/eb
-    YuGothic-Bold                          % mg/m
+    YuGothic-Bold,     YuMincho-Light      % mg/m, mc/l
   }
 }
 
   \ltjpreset_set_multi:n {
     YuMincho~Medium , YuMincho~Demibold , % mc/m, mc/bx
     YuGothic~Medium , YuGothic~Bold ,     % gt/m, gt/bx (multiweight))
-    YuGothic~Medium   , YuGothic~Bold ,     % gt/m (uni), gt/eb
+    YuGothic~Medium   , YuGothic~Bold ,   % gt/m (uni), gt/eb
     YuGothic~Bold                         % mg/m
   }
 }
 % moga-mobo
 \ltjpreset_declare_option:nn{moga-mobo}{
   \ltjpreset_set_multi:n {
-    Moga90Mincho, Moga90Mincho~Bold ,       % mc/m, mc/bx
-    Moga90Gothic, Moga90Gothic~Bold,       % gt/m, gt/bx (multiweight))
+    Moga90Mincho, Moga90Mincho~Bold ,  % mc/m, mc/bx
+    Moga90Gothic, Moga90Gothic~Bold,   % gt/m, gt/bx (multiweight))
     Moga90Gothic, Moga90Gothic~Bold,   % gt/m (uni), gt/eb
-    Mobo90Gothic                            % mg/m
+    Mobo90Gothic                       % mg/m
   }
 }
 \ltjpreset_declare_option:nn{moga-mobo-ex}{
   \ltjpreset_set_multi:n {
-    MogaEx90Mincho, MogaEx90Mincho~Bold ,       % mc/m, mc/bx
-    MogaEx90Gothic, MogaEx90Gothic~Bold,       % gt/m, gt/bx (multiweight))
+    MogaEx90Mincho, MogaEx90Mincho~Bold ,  % mc/m, mc/bx
+    MogaEx90Gothic, MogaEx90Gothic~Bold,   % gt/m, gt/bx (multiweight))
     MogaEx90Gothic, MogaEx90Gothic~Bold,   % gt/m (uni), gt/eb
-    MoboEx90Gothic                            % mg/m
+    MoboEx90Gothic                         % mg/m
   }
 }
 
     Source~Han~Sans~Bold,     % gt/bx
     Source~Han~Sans~Medium,   % gt/m  (uni)
     Source~Han~Sans~Heavy,    % gt/eb
-    Source~Han~Sans~Heavy     % mg/m
+    Source~Han~Sans~Heavy,    % mg/m
+    Source~Han~Serif~Light,   % mc/l
   }
 }
 \ltjpreset_declare_option:nn{sourcehan-jp}{
     Source~Han~Sans~JP~Bold,     % gt/bx
     Source~Han~Sans~JP~Medium,   % gt/m  (uni)
     Source~Han~Sans~JP~Heavy,    % gt/eb
-    Source~Han~Sans~JP~Heavy     % mg/m
+    Source~Han~Sans~JP~Heavy,    % mg/m
+    Source~Han~Serif~JP~Light,   % mc/l
   }
 }
 \ltjpreset_declare_option:nn{noto-otc}{
     Noto~Sans~CJK~Medium,   % gt/m  (uni)
     Noto~Sans~CJK~Black,    % gt/eb
     Noto~Sans~CJK~Black,    % mg/m
+    Noto~Serif~CJK~Light,   % mc/l
   }
 }
 \ltjpreset_declare_option:nn{noto-otf}{
     Noto~Sans~CJK~JP~Medium,   % gt/m  (uni)
     Noto~Sans~CJK~JP~Black,    % gt/eb
     Noto~Sans~CJK~JP~Black,    % mg/m
+    Noto~Serif~CJK~JP~Light,   % mc/l
   }
 }
 
 \clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
 \cs_set:Nx \ltjpreset_font_mg: { \tl_use:N \l_tmpa_tl }
 
+
 %% HG 系フォント + JIS2004/90JIS のときはフォント名を置換
 \bool_if:NT \l_ltjpreset_office_bool {
   \tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
   }
 }
 
+% mc/l
+\clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
+\cs_set:Nx \ltjpreset_font_mc_l: {
+   \tl_if_blank:nTF \l_tmpa_tl { \ltjpreset_font_mc_m: } {\tl_use:N \l_tmpa_tl }
+}
+
 %% 90JIS/JIS2004 字形指定のオプション
 \bool_if:NTF \l_ltjpreset_nfssonly_bool {
   \tl_set:Nn \l_tmpa_tl {, CJKShape=JIS1990 }
   }
 }
 
+
+%%%%%%%% 存在判定
+\msg_new:nnn { luatexja-preset }{ no-font }{
+  Font~ for~ #1~ (#2)~ is~ not~found.~ Hence~ I~ substitute~ #3~ (#4)~ for~ it.
+}
+\bool_if:NT \l_ltjpreset_deluxe_bool {
+  \group_begin:
+    \suppressfontnotfounderror=1
+    \font \l_ltjpreset_font_test: = "\tl_use:N \ltjpreset_font_gt_eb:"\relax
+    \ifx \l_ltjpreset_font_test: \nullfont
+      \msg_warning:nnxxxx { luatexja-preset }{ no-font }
+        { \tl_use:N \ltjpreset_font_gt_eb: }{ gt/eb }{ \tl_use:N \ltjpreset_font_gt_bx: }{ gt/bx }
+      \cs_gset_eq:NN \ltjpreset_font_gt_eb: \ltjpreset_font_gt_bx:
+    \fi
+    \font \l_ltjpreset_font_test: = "\tl_use:N \ltjpreset_font_mc_l:"\relax
+    \ifx \l_ltjpreset_font_test: \nullfont
+      \msg_warning:nnxxxx { luatexja-preset }{ no-font }
+        { \tl_use:N \ltjpreset_font_mc_l: }{ mc/l }{ \tl_use:N \ltjpreset_font_mc_m: }{ mc/m }
+      \cs_gset_eq:NN \ltjpreset_font_mc_l: \ltjpreset_font_mc_m:
+    \fi
+    \font \l_ltjpreset_font_test: = "\tl_use:N \ltjpreset_font_mg:"\relax
+    \ifx \l_ltjpreset_font_test: \nullfont
+      \msg_warning:nnxxxx { luatexja-preset }{ no-font }
+        { \tl_use:N \ltjpreset_font_mg: }{ mg/m }{ \tl_use:N \ltjpreset_font_gt_bx: }{ gt/bx }
+      \cs_gset_eq:NN \ltjpreset_font_mg: \ltjpreset_font_gt_bx:
+    \fi
+  \group_end:
+}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%% nfss only
 \bool_if:NTF \l_ltjpreset_nfssonly_bool {
   \DeclareFontShape{JY3}{#1}{#2}{n}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp]
     {\bool_if:NT \l_ltjpreset_noembed_bool {psft:} "#3"
     : jfm=\tl_use:N \ltjpreset_use_jfm_yoko_tl ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl
-    ; script=cjk \bool_if:NT \l_ltjpreset_expert_bool { ;+hkna }}
+    ; script=hani \bool_if:NT \l_ltjpreset_expert_bool { ;+hkna }}
   } {}
   \DeclareFontShape{JT3}{#1}{#2}{n}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp]
     {\bool_if:NT \l_ltjpreset_noembed_bool {psft:} "#3"
     : jfm=\tl_use:N \ltjpreset_use_jfm_tate_tl ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl;
-    ; script=cjk \bool_if:NT \l_ltjpreset_expert_bool { ;+vkna }}
+    ; script=hani \bool_if:NT \l_ltjpreset_expert_bool { ;+vkna }}
   } {}
   \bool_if:NT \l_ltjpreset_expert_bool {
     \DeclareFontShape{JY3}{#1}{#2}{rb}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp]
       {\bool_if:NT \l_ltjpreset_noembed_bool {psft:} "#3"
       : jfm=\tl_use:N \ltjpreset_use_jfm_yoko_tl ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl ;+ruby
-      ; script=kana }
+      ; script=kana}
     } {}
     \DeclareFontShape{JT3}{#1}{#2}{rb}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp]
       {\bool_if:NT \l_ltjpreset_noembed_bool {psft:} "#3"
       : jfm=\tl_use:N \ltjpreset_use_jfm_tate_tl ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl ;+ruby
-      ; script=kana }
+      ; script=kana}
     } {}
   }
 }
 
 \bool_if:NTF \l_ltjpreset_deluxe_bool {
   \DeclareKanjiFamily{JY3}{ltjpmg}{}\DeclareKanjiFamily{JT3}{ltjpmg}{}
-  \ltj_preset_define_family:nnn {ltjpmg} {m}  {\ltjpreset_font_mg:}
-  \ltj_preset_define_family:nnn {ltjpg}  {eb} {\ltjpreset_font_gt_eb:}
+  \def\ltdefault{l}
+  \DeclareRobustCommand\ltseries { \not@math@alphabet\ltseries\relax\fontseries\ltdefault\selectfont }
+  \ltj_preset_define_family:nnn {ltjpm}  {l} {\ltjpreset_font_mc_l:}
   \def\ebdefault{eb}
   \DeclareRobustCommand\ebseries { \not@math@alphabet\ebseries\relax\fontseries\ebdefault\selectfont }
   \DeclareRobustCommand\gtebfamily { \kanjifamily{ltjpg}\fontseries{\ebdefault}\selectfont }
   \DeclareTextFontCommand{\textgteb}{\gtebfamily}
+  \ltj_preset_define_family:nnn {ltjpg}  {eb} {\ltjpreset_font_gt_eb:}
   \DeclareRobustCommand\mgfamily { \not@math@alphabet\mgfamily\relax\kanjifamily{ltjpmg}\selectfont }
   \DeclareTextFontCommand{\textmg}{\mgfamily}
+  \ltj_preset_define_family:nnn {ltjpmg} {m}  {\ltjpreset_font_mg:}
 }
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   \DeclareRobustCommand\ebseries { \not@math@alphabet\ebseries\relax\fontseries\ebdefault\selectfont }
   \DeclareRobustCommand\gtebfamily { \kanjifamily{\gtdefault}\fontseries{\ebdefault}\selectfont }
   \DeclareTextFontCommand{\textgteb}{\gtebfamily}
+%% mc/l
+  \def\ltdefault{l}
+  \DeclareRobustCommand\ltseries { \not@math@alphabet\ltseries\relax\fontseries\ltdefault\selectfont }
   \bool_if:NT \l_ltjpreset_bold_bool {
     \cs_set_eq:NN \ltjpreset_font_mc_bx: \ltjpreset_font_gt_bx:
   }
 \addjfontfeature{ Kerning=Off }
 
 \setmainjfont [
+  \bool_if:NT \l_ltjpreset_deluxe_bool {
+    FontFace={l}{n}{\ltjpreset_font_mc_l:},
+  }
   BoldFont = \ltjpreset_font_mc_bx:
   \bool_if:NT \l_ltjpreset_noembed_bool { , NoEmbed },
   \tl_use:N \l_ltjpreset_add_features_tl
index f644eeb..a43703d 100644 (file)
Binary files a/test/test16-preset.pdf and b/test/test16-preset.pdf differ
index 71fe1f1..8cece60 100644 (file)
@@ -7,17 +7,21 @@
       \ltj@orig@DeclareFontShape@{#1}{#2}{#3}{#4}{#5}{#6}%
       }
 \makeatother
-\usepackage[noto-otf,deluxe,expert,nfssonly,jis2004, match]{luatexja-preset}
+\usepackage[hiragino-pron,deluxe,expert,jis2004, match,nfssonly]{luatexja-preset}
 \begin{document}
 \makeatletter
 \def\r#1#2{ \csname #1family \endcsname \csname #2series \endcsname
   %\addjfontfeature {CJKShape=JIS1983}
   {\romanfamily{\ttdefault}\selectfont<\k@family><\k@series><\k@shape>}\\
   {\tt#1, #2\ \ \ \ \ }: あーいうえおabc漢字,あ!い,辻ぁが\\
-  {\tt#1, #2 (rb)}: {\rubyfamily あいうえおabc漢字,あ!い,辻ぁが}
+  {\tt#1, #2 (rb)}: {\rubyfamily ã\81\82ã\83¼ã\81\84ã\81\86ã\81\88ã\81\8aabcæ¼¢å­\97ï¼\8cã\81\82ï¼\81ã\81\84ï¼\8cè¾»ã\81\81ã\81\8c}
 }
 \@namedef{..series}{\relax}
 
+\ifdefined\ltseries
+\r{mc}{lt}
+\fi
+
 \r{mc}{md}
 
 \r{mc}{bf}
@@ -31,7 +35,7 @@
 \r{mg}{md}
 \fi
 
-\ifdefined\gtebfamily
+\ifdefined\ebseries
 \r{gt}{eb}
 \fi