OSDN Git Service

fix '(linebreak): invalid list tail, probably missing glue' error
[luatex-ja/luatexja.git] / src / addons / luatexja-preset.sty
index 115786a..3da21dd 100644 (file)
@@ -1,5 +1,5 @@
 % luatexja-preset.sty
-\ProvidesPackage{luatexja-preset}[2020-05-15 Japanese font presets]
+\ProvidesPackage{luatexja-preset}[2020-09-14 Japanese font presets]
 
 \RequirePackage{expl3,l3keys2e}
 \RequirePackage{luatexja}
 
 \keys_define:nn { luatexja-preset }{
   unknown .code:n =
-    \keys_set_known:noN { ltjpreset-presets } { \tl_use:N \l_keys_tl } \l_tmpa_tl
-    \tl_if_empty:NT \l_tmpa_tl {
-      \PassOptionsToPackage { \l_tmpa_tl } { luatexja-fontspec }
-    },
+    \PassOptionsToPackage { \l_keys_key_str } { luatexja-fontspec },
   scale .code:n  = \gdef\Cjascale{#1},
-  match .code: n =
+  match .code:n =
     \renewcommand\jttdefault{\gtdefault}\@ltj@match@familytrue
     \PassOptionsToPackage { match } { luatexja-fontspec },
   match .value_forbidden:n = true,
@@ -76,6 +73,7 @@
 \__ltjpreset_declare_bool_option:nn { bold }{ nobold }
 \__ltjpreset_declare_bool_option:nn { expert }{ noexpert }
 \__ltjpreset_declare_bool_option:nn { deluxe }{ nodeluxe }
+\__ltjpreset_declare_bool_option:nn { nocheck }{ check }
 
 % JFM
 \tl_new:N \__ltjpreset_use_jfm_yoko_tl % 使用する JFM(横)
   gt-m .code:n = % gtfamily , medium series
      \prop_put:Nnn \g__ltjpreset_font_prop { gt-u } {#1}
      \prop_put:Nnn \g__ltjpreset_font_prop { gt-d } {#1},
-  % gt-d, gt-u は隠し
   gt .groups:n = { preset },   gt .value_required:n = true,
   gt-m .groups:n = { preset }, gt-m .value_required:n = true,
 }
 \cs_new:Nn \__ltjpreset_substitute:nnnn {
   \group_begin:
     \suppressfontnotfounderror=1
-    \cs_if_exist:cT {ltjpreset_font_#1_#2:} {
-         \__ltjpreset_wrap_fontname:e { \cs:w ltjpreset_font_#1_#2: \cs_end: }
-      \font \g__ltjpreset_font_test: = \l__preset_font_name:\relax
-      \ifx \g__ltjpreset_font_test: \nullfont
-        \msg_warning:nnxxxx { luatexja-preset }{ no-font }
-          { \cs:w ltjpreset_font_#1_#2: \cs_end: }{ #1/#2 }
-          { \cs:w ltjpreset_font_#3_#4: \cs_end: }{ #3/#4 }
-        \cs_gset_eq:cc { ltjpreset_font_#1_#2: } { ltjpreset_font_#3_#4: }
-      \fi
-    } { \cs_gset_eq:cc { ltjpreset_font_#1_#2: } { ltjpreset_font_#3_#4: } }
+    \cs_if_exist:cTF { __ltjpreset_font_#1_#2: } {
+      \bool_if:NF \g__ltjpreset_nocheck_bool {
+        \__ltjpreset_wrap_fontname:e { \cs:w __ltjpreset_font_#1_#2: \cs_end: }
+        \font \g__ltjpreset_font_test: = \l__ltjpreset_font_name:\relax
+        \ifx \g__ltjpreset_font_test: \nullfont
+          \msg_warning:nnxxxx { luatexja-preset }{ no-font }
+            { \cs:w __ltjpreset_font_#1_#2: \cs_end: }{ #1/#2 }
+            { \cs:w __ltjpreset_font_#3_#4: \cs_end: }{ #3/#4 }
+          \cs_gset_eq:cc { __ltjpreset_font_#1_#2: } { __ltjpreset_font_#3_#4: }
+        \fi
+      }
+    } { \cs_gset_eq:cc { __ltjpreset_font_#1_#2: } { __ltjpreset_font_#3_#4: } }
   \group_end:
 }