OSDN Git Service

(minimum) support fontspec 2.6h
[luatex-ja/luatexja.git] / src / addons / luatexja-fontspec.sty
1 %
2 % luatexja-fontspec.sty
3 %
4
5 \NeedsTeXFormat{LaTeX2e}
6 \ProvidesPackage{luatexja-fontspec}[2018/07/31 fontspec support of LuaTeX-ja]
7 \RequirePackage{l3keys2e,luatexja}
8 \ExplSyntaxOn
9
10 \cs_if_exist:NF \Cjascale {
11   %%%%%%%% \g_ltj_fontspec_scale_fp
12   %% Default scale value for jfont.
13   \fp_new:N \g_ltj_fontspec_scale_fp
14   \group_begin:
15   \fontsize{16}{16}\selectfont
16   \cs_gset:Npx \Cjascale { \fp_to_decimal:n {\zw / 16} }
17   \group_end:
18 }
19
20 \bool_new:N \ltj_fontspec_match_bool
21 \keys_define:nn { luatexja-fontspec }
22   {
23     match .bool_set:N = \ltj_fontspec_match_bool,
24     match .default:n  = true,
25     pass .code:n = \PassOptionsToPackage{#1} {fontspec},
26       % 互換性のために残したオプション
27     scale .code:n = \gdef\Cjascale{#1},
28     unknown .code:n = \PassOptionsToPackage { \l_keys_key_tl } {fontspec},
29   }
30 \ProcessKeysOptions{ luatexja-fontspec }
31
32 \RequirePackage{fontspec}[2017/01/01]% v2.5c
33 \RequirePackage{luatexja-fontspec-26h}
34
35 \ExplSyntaxOff
36 %%%%%%%% Now we completely ignore kanjifont definition file.
37 \def\@ltj@use@fd{false}
38
39 % We must redefine \try@load@fontshape to ignore kanjifont definitions at all.
40 \def\try@load@fontshape{%
41    \expandafter
42    \ifx\csname \f@encoding+\f@family\endcsname\relax
43        \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}%
44 \ifin@\else % Alphabetic font
45     \@font@info{Try loading font information for \f@encoding+\f@family}%
46     \global\expandafter\let
47        \csname\f@encoding+\f@family\endcsname\@empty
48      \nfss@catcodes
49      \let\nfss@catcodes\relax
50      \edef\reserved@a{%
51        \lowercase{%
52          \noexpand\InputIfFileExists{\f@encoding\f@family.fd}}}%
53      \reserved@a\relax
54           {\@input@{\f@encoding\f@family.fd}}%
55 \fi
56    \fi}
57
58 \endinput