OSDN Git Service

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