OSDN Git Service

Fix #39431: support notdef=... (introduced in luaotfload v2.98)
[luatex-ja/luatexja.git] / src / addons / luatexja-fontspec.sty
index 69b19ec..e98fbc7 100644 (file)
@@ -3,35 +3,40 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec}[2015/06/28 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec}[2019/03/20 fontspec support of LuaTeX-ja]
 \RequirePackage{l3keys2e,luatexja}
 \ExplSyntaxOn
 
-%%%%%%%% \g_ltj_fontspec_scale_fp
-%% Default scale value for jfont.
-\fp_new:N \g_ltj_fontspec_scale_fp
-\group_begin:
-\fontsize{10}{10}\selectfont
-\fp_gset:Nn \g_ltj_fontspec_scale_fp {\zw / 10}
-\group_end:
+\cs_if_exist:NF \Cjascale {
+  %% Default scale value for jfont.
+  \group_begin:
+  \fontsize{16}{16}\selectfont
+  \cs_gset:Npx \Cjascale { \fp_to_decimal:n {\zw / 16} }
+  \group_end:
+}
 
-\bool_new:N \ltj_fontspec_match
+\bool_new:N \__ltj_fontspec_match_bool
 \keys_define:nn { luatexja-fontspec }
   {
-    match .bool_set:N = \ltj_fontspec_match_bool,
+    match .bool_set:N = \__ltj_fontspec_match_bool,
     match .default:n  = true,
     pass .code:n = \PassOptionsToPackage{#1} {fontspec},
       % 互換性のために残したオプション
-    scale .fp_gset:N = \g_ltj_fontspec_scale_fp,
+    scale .code:n = \gdef\Cjascale{#1},
     unknown .code:n = \PassOptionsToPackage { \l_keys_key_tl } {fontspec},
   }
 \ProcessKeysOptions{ luatexja-fontspec }
-\RequirePackage{fontspec}[2014/06/01]% v2.4
-\RequirePackage{luatexja-fontspec-24}
+
+\RequirePackage{fontspec}[2017/01/01]% v2.5c
+\@ifpackagelater{fontspec}{2018/07/29}%
+  {\@ifpackagelater{fontspec}{2019/03/15}%
+    {\RequirePackage{luatexja-fontspec-27c}} % v2.7c
+    {\RequirePackage{luatexja-fontspec-26h}}}% v2.6h
+  {\RequirePackage{luatexja-fontspec-25c}}   % v2.5c
 
 \ExplSyntaxOff
 %%%%%%%% Now we completely ignore kanjifont definition file.
-\@ltj@use@fdfalse
+\def\@ltj@use@fd{false}
 
 % We must redefine \try@load@fontshape to ignore kanjifont definitions at all.
 \def\try@load@fontshape{%