OSDN Git Service

34ef824f38e0550859e805fd8b3299ef93f44b3b
[luatex-ja/luatexja.git] / src / addons / luatexja-fontspec.sty
1 %
2 % luatexja-fontspec.sty
3 %
4
5 \NeedsTeXFormat{LaTeX2e}
6 \ProvidesPackage{luatexja-fontspec}[2017/12/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-25c}
34 %\@ifpackagelater{fontspec}{2017/01/01}%
35 %  {\RequirePackage{luatexja-fontspec-25c}}% v2.5c
36 %  {\RequirePackage{luatexja-fontspec-24}}% --v2.5a
37
38 \ExplSyntaxOff
39 %%%%%%%% Now we completely ignore kanjifont definition file.
40 \def\@ltj@use@fd{false}
41
42 % We must redefine \try@load@fontshape to ignore kanjifont definitions at all.
43 \def\try@load@fontshape{%
44    \expandafter
45    \ifx\csname \f@encoding+\f@family\endcsname\relax
46        \directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}%
47 \ifin@\else % Alphabetic font
48     \@font@info{Try loading font information for \f@encoding+\f@family}%
49     \global\expandafter\let
50        \csname\f@encoding+\f@family\endcsname\@empty
51      \nfss@catcodes
52      \let\nfss@catcodes\relax
53      \edef\reserved@a{%
54        \lowercase{%
55          \noexpand\InputIfFileExists{\f@encoding\f@family.fd}}}%
56      \reserved@a\relax
57           {\@input@{\f@encoding\f@family.fd}}%
58 \fi
59    \fi}
60
61 \endinput