OSDN Git Service

luatexja-preset.sty: add "nfssonly" option
[luatex-ja/luatexja.git] / src / addons / luatexja-preset.sty
1 % luatexja-preset.sty
2 \ProvidesPackage{luatexja-preset}[2015/04/05 Japanese font presets]
3
4 \RequirePackage{expl3}
5 \ExplSyntaxOn
6
7 %%%% message
8 \bool_new:N \l_ltjpreset_nfssonly_bool % nfssonly
9 \bool_set_false:N \l_ltjpreset_nfssonly_bool
10 \DeclareOption{nfssonly}  {\bool_set_true:N \l_ltjpreset_nfssonly_bool}
11
12 \bool_new:N \l_ltjpreset_bold_bool % bold
13 \bool_set_false:N \l_ltjpreset_bold_bool
14 \DeclareOption{bold}  {\bool_set_true:N \l_ltjpreset_bold_bool}
15 \DeclareOption{nobold}{\bool_set_false:N \l_ltjpreset_bold_bool}
16
17 \bool_new:N \l_ltjpreset_expert_bool % expert
18 \bool_set_false:N \l_ltjpreset_expert_bool
19 \DeclareOption{expert}  {\bool_set_true:N \l_ltjpreset_expert_bool}
20 \DeclareOption{noexpert}{\bool_set_false:N \l_ltjpreset_expert_bool}
21
22 \int_new:N \l_ltjpreset_deluxe_int % deluxe
23 \int_set:Nn \l_ltjpreset_deluxe_int { 0 }
24 \DeclareOption{deluxe}{\int_set:Nn \l_ltjpreset_deluxe_int { 2 }}   % 6 fonts
25 \DeclareOption{nodeluxe}{\int_set:Nn \l_ltjpreset_deluxe_int { 0 }} % 2 fonts
26
27 % JFM
28 \cs_set:Npn \ltjpreset_use_jfm: {ujis}  % 使用する JFM
29 %%% \DeclareOption{min}{\cs_set:Npn  \ltjpreset_use_jfm: {min}} % min
30 %%% ↑jfm-min.lua が横組み・縦組み専用仮名に追いついていないので使用禁止
31 \DeclareOption{jis}{\cs_set:Npn  \ltjpreset_use_jfm: {jis}}     % jis
32 \DeclareOption{ujis}{\cs_set:Npn  \ltjpreset_use_jfm: {ujis}}   % ujis
33
34 % 漢字字形
35 \tl_new:N \l_ltjpreset_kanji_shape_tl
36 \DeclareOption{90jis}{  \tl_set:Nn \l_ltjpreset_kanji_shape_tl { , CJKShape=JIS1990 }} % 90jis
37 \DeclareOption{jis2004}{\tl_set:Nn \l_ltjpreset_kanji_shape_tl { , CJKShape=JIS2004 }} % jis2004
38
39 % font preset
40 \bool_new:N \l_ltjpreset_office_bool  % MS Office の HG 系フォントを使っているか
41 \bool_new:N \l_ltjpreset_noembed_bool % 非埋込か
42 \clist_new:N \l_ltjpreset_font_list
43
44 \cs_new:Npn \ltjpreset_set_uni:nn #1#2 {
45   \ltjpreset_set_multi:n { #1, #1, #2, #2, #2, #2, #1 }
46 }
47 \cs_new:Npn \ltjpreset_set_multi:n #1 {
48   \clist_set:Nn \l_ltjpreset_font_list { #1 }
49   \bool_set_false:N \l_ltjpreset_office_bool
50   \bool_set_false:N \l_ltjpreset_noembed_bool
51 }
52 \cs_new:Npn \ltjpreset_set_office:nn #1 #2{
53   \ltjpreset_set_multi:n {
54     #1, HGMinchoE ,           % mc/m, mc/bx
55     HGGothicM , HGGothicE ,   % gt/m, gt/bx (multiweight))
56     #2 , HGSoeiKakugothicUB , % gt/m (uni), gt/eb
57     HGMaruGothicMPRO          % mg/m
58   }
59   \bool_set_true:N \l_ltjpreset_office_bool
60 }
61
62
63 % 小塚 (Adobe)
64 %% Pro
65 \DeclareOption{kozuka-pro}{
66   \ltjpreset_set_multi:n {
67     KozMinPro-Regular , % mc/m
68     KozMinPro-Bold ,    % mc/bx
69     KozGoPro-Regular , % gt/m  (multi)
70     KozGoPro-Bold ,    % gt/bx
71     KozGoPro-Medium  , % gt/m  (uni)
72     KozGoPro-Heavy ,   % gt/eb
73     KozGoPro-Heavy     % mg/m
74   }
75 }
76 %% Pr6
77 \DeclareOption{kozuka-pr6}{
78   \ltjpreset_set_multi:n {
79     KozMinProVI-Regular , % mc/m
80     KozMinProVI-Bold ,    % mc/bx
81     KozGoProVI-Regular , % gt/m  (multi)
82     KozGoProVI-Bold ,    % gt/bx
83     KozGoProVI-Medium  , % gt/m  (uni)
84     KozGoProVI-Heavy ,   % gt/eb
85     KozGoProVI-Heavy     % mg/m
86   }
87 }
88 %% Pr6N
89 \DeclareOption{kozuka-pr6n}{
90   \ltjpreset_set_multi:n {
91     KozMinPr6N-Regular , % mc/m
92     KozMinPr6N-Bold ,    % mc/bx
93     KozGoPr6N-Regular , % gt/m  (multi)
94     KozGoPr6N-Bold ,    % gt/bx
95     KozGoPr6N-Medium  , % gt/m  (uni)
96     KozGoPr6N-Heavy ,   % gt/eb
97     KozGoPr6N-Heavy     % mg/m
98   }
99 }
100
101 % ヒラギノ (OSX)
102 \DeclareOption{hiragino-pro}{
103   \ltjpreset_set_multi:n {
104     HiraMinPro-W3 , 
105     HiraMinPro-W6 , 
106     HiraKakuPro-W3 , % gt/m (multi)
107     HiraKakuPro-W6 , 
108     HiraKakuPro-W6 , % gt/m (uni)
109     HiraKakuStd-W8 , 
110     HiraMaruPro-W4 , 
111   }
112 }
113 \DeclareOption{hiragino-pron}{
114   \ltjpreset_set_multi:n {
115     HiraMinProN-W3 , 
116     HiraMinProN-W6 , 
117     HiraKakuProN-W3 , % gt/m (multi)
118     HiraKakuProN-W6 , 
119     HiraKakuProN-W6 , % gt/m (uni)
120     HiraKakuStdN-W8 , 
121     HiraMaruProN-W4 , 
122   }
123 }
124
125 % モリサワ
126 \DeclareOption{morisawa-pro}{
127   \ltjpreset_set_multi:n {
128     A-OTF-RyuminPro-Light.otf , A-OTF-FutoMinA101Pro-Bold.otf ,    % mc/m, mc/bx
129     A-OTF-GothicBBBPro-Medium.otf , A-OTF-FutoGoB101Pro-Bold.otf , % gt/m, gt/bx (multiweight))
130     A-OTF-GothicBBBPro-Medium.otf , A-OTF-MidashiGoPro-MB31.otf ,  % gt/m (uni), gt/eb
131     A-OTF-Jun101Pro-Light.otf % mg/m
132   }
133 }
134 \DeclareOption{morisawa-pr6n}{
135   \ltjpreset_set_multi:n {
136     A-OTF-RyuminPr6N-Light.otf , A-OTF-FutoMinA101Pr6N-Bold.otf ,    % mc/m, mc/bx
137     A-OTF-GothicBBBPr6N-Medium.otf , A-OTF-FutoGoB101Pr6N-Bold.otf , % gt/m, gt/bx (multiweight))
138     A-OTF-GothicBBBPr6N-Medium.otf , A-OTF-MidashiGoPr6N-MB31.otf ,  % gt/m (uni), gt/eb
139     A-OTF-ShinMGoPr6N-Light.otf                                      % mg/m
140   }
141 }
142
143 % 游明朝/游ゴシック (Win8.1)
144 \DeclareOption{yu-win}{
145   \ltjpreset_set_multi:n {
146     YuMincho-Regular , YuMincho-Demibold , % mc/m, mc/bx
147     YuGothic-Regular , YuGothic-Bold ,     % gt/m, gt/bx (multiweight))
148     YuGothic-Bold    , YuGothic-Bold ,     % gt/m (uni), gt/eb
149     YuGothic-Bold                          % mg/m
150   }
151 }
152
153 % Yu fonts in OSX
154 % according to http://support.apple.com/kb/HT5944
155 \DeclareOption{yu-osx}{
156   \ltjpreset_set_multi:n {
157     YuMincho~Medium , YuMincho~Demibold , % mc/m, mc/bx
158     YuGothic~Medium , YuGothic~Bold ,     % gt/m, gt/bx (multiweight))
159     YuGothic~Bold   , YuGothic~Bold ,     % gt/m (uni), gt/eb
160     YuGothic~Bold                          % mg/m
161   }
162 }
163
164 % ipa, ipaex, ms
165 \DeclareOption{ipa}{
166   \ltjpreset_set_uni:nn { IPAMincho } { IPAGothic }
167 }
168 \DeclareOption{ipaex}{
169   \ltjpreset_set_uni:nn { IPAExMincho } { IPAExGothic }
170 }
171 \DeclareOption{ms}{
172   \ltjpreset_set_uni:nn { MS-Mincho } { MS-Gothic }
173 }
174
175 % {ipa,ipaex,ms}-dx % Office 付属フォントを利用
176 \DeclareOption{ipaex-hg}{
177   \ltjpreset_set_office:nn { IPAExMincho } { IPAExGothic }
178 }
179 \DeclareOption{ipa-hg}{
180   \ltjpreset_set_office:nn { IPAMincho } { IPAGothic }
181 }
182 \DeclareOption{ms-hg}{
183   \ltjpreset_set_office:nn { MS-Mincho } { MS-Gothic }
184 }
185
186
187 % 非埋込
188 \DeclareOption{noembed}{
189   \ltjpreset_set_uni:nn { Ryumin-Light } { GothicBBB-Medium }
190   \bool_set_true:N \l_ltjpreset_noembed_bool
191 }
192
193 \ExecuteOptions{ipaex}
194
195 % match 
196 \DeclareOption{match} {
197   \bool_if:NF  \ltj_fontspec_match_bool {
198     \ltj_fontspec_match_cmd
199     \bool_set_true:N \ltj_fontspec_match_bool
200   }
201 }
202 \ProcessOptions*
203
204 %%%%%%%% main routine
205
206 \bool_new:N \l_ltjpreset_shape_nlck_bool
207
208 %% KozMinPr6N, HiraMinProN-W3 の場合はjp04 feature がないので,nlck にする
209 \tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
210 \tl_if_eq:NNT \l_ltjpreset_kanji_shape_tl \l_tmpa_tl {
211   \clist_if_in:NnT \l_ltjpreset_font_list { KozMinPr6N-Regular }
212    { \bool_set_true:N \l_ltjpreset_shape_nlck_bool }
213   \clist_if_in:NnT \l_ltjpreset_font_list { HiraMinProN-W3 }
214    { \bool_set_true:N \l_ltjpreset_shape_nlck_bool }
215 }
216
217 %%%%  リストからの展開
218 % mc/m
219 \clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
220 \cs_set:Nx \ltjpreset_font_mc_m: { \tl_use:N \l_tmpa_tl }
221
222 % mc/bx
223 \clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
224 \cs_set:Nx \ltjpreset_font_mc_bx: { \tl_use:N \l_tmpa_tl }
225
226 % gt/m
227 \clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
228 \cs_set:Nx \ltjpreset_font_gt_m: { \tl_use:N \l_tmpa_tl }
229
230 % gt/bx
231 \clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
232 \cs_set:Nx \ltjpreset_font_gt_bx: { \tl_use:N \l_tmpa_tl }
233
234 % gt/m-uni
235 \clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
236 \cs_set:Nx \ltjpreset_font_gt_n_uni: { \tl_use:N \l_tmpa_tl }
237
238 % gt/eb
239 \clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
240 \cs_set:Nx \ltjpreset_font_gt_eb: { \tl_use:N \l_tmpa_tl }
241
242 % mg/m
243 \clist_pop:NN \l_ltjpreset_font_list \l_tmpa_tl
244 \cs_set:Nx \ltjpreset_font_mg: { \tl_use:N \l_tmpa_tl }
245
246 %% HG 系フォント + JIS2004/90JIS のときはフォント名を置換
247 \bool_if:NT \l_ltjpreset_office_bool {
248   \tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
249   \tl_if_eq:NNT \l_ltjpreset_kanji_shape_tl \l_tmpa_tl { 
250     \cs_set:Nx \ltjpreset_font_mc_bx: { hgrme04.ttc }
251     \cs_set:Nx \ltjpreset_font_gt_bx: { hgrge04.ttc }
252     \cs_set:Nx \ltjpreset_font_gt_eb: { hgrsgu04.ttc }
253     \cs_set:Nx \ltjpreset_font_mg:    { hgrsmp04.ttf }
254     \cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_n_uni:
255     % HG ゴシックM のときはそうはいかないので 1 ウェイト時のゴシック体を使う
256   }
257   \tl_set:Nn \l_tmpa_tl {, CJKShape=JIS1990 }
258   \tl_if_eq:NNT \l_ltjpreset_kanji_shape_tl \l_tmpa_tl { 
259     \cs_set:Nx \ltjpreset_font_mc_bx: { hgrme.ttc }
260     \cs_set:Nx \ltjpreset_font_gt_bx: { hgrge.ttc }
261     \cs_set:Nx \ltjpreset_font_gt_eb: { hgrsgu.ttc }
262     \cs_set:Nx \ltjpreset_font_mg:    { hgrsmp.ttf }
263   }
264 }
265
266 %% 90JIS/JIS2004 字形指定のオプション
267 \bool_if:NTF \l_ltjpreset_nfssonly_bool {
268   \tl_set:Nn \l_tmpa_tl {, CJKShape=JIS1990 }
269   \tl_if_eq:NNT \l_ltjpreset_kanji_shape_tl \l_tmpa_tl {
270     \tl_set:Nn \l_ltjpreset_kanji_shape_tl { +jp90 }
271   }
272   \tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
273   \tl_if_eq:NNT \l_ltjpreset_kanji_shape_tl \l_tmpa_tl {
274     \bool_if:NTF \l_ltjpreset_shape_nlck_bool 
275       { \tl_set:Nn \l_ltjpreset_kanji_shape_tl { +nlck } }
276       { \tl_set:Nn \l_ltjpreset_kanji_shape_tl { +jp04 } }
277   }
278 } {
279   \tl_set:Nn \l_tmpa_tl {, CJKShape=JIS2004 }
280   \tl_if_eq:NNT \l_ltjpreset_kanji_shape_tl \l_tmpa_tl {
281     \bool_if:NT \l_ltjpreset_shape_nlck_bool 
282       { \tl_set:Nn \l_ltjpreset_kanji_shape_tl { , CJKShape=NLC } }
283   }
284 }
285
286 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
287 %%%%%%%% nfss only
288 \bool_if:NTF \l_ltjpreset_nfssonly_bool {
289
290 \message{NFSS}
291 \fp_new:N \l_ltjpreset_scale_fp
292 \group_begin:
293 \fontsize{10}{10}\selectfont
294 \fp_gset:Nn \l_ltjpreset_scale_fp {\zw / 10}
295 \group_end:
296 \msg_new:nnn { luatexja-preset }{ scale }{
297   Japanese~fonts~will~be~scaled~by~\fp_use:N \l_ltjpreset_scale_fp.
298 }
299 \msg_warning:nn { luatexja-preset }{ scale }
300
301 \cs_new:Nn \ltj_preset_define_family:nnn {
302   \DeclareFontShape{JY3}{#1}{#2}{n}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp] 
303     {\bool_if:NT \l_ltjpreset_noembed_bool {psft:} #3
304     : jfm=\ltjpreset_use_jfm: ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl
305     ; script=latn \bool_if:NT \l_ltjpreset_expert_bool { ;+hkna }}
306   } {}
307   \DeclareFontShape{JT3}{#1}{#2}{n}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp] 
308     {\bool_if:NT \l_ltjpreset_noembed_bool {psft:} #3
309     : jfm=ujisv ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl
310     ; script=latn \bool_if:NT \l_ltjpreset_expert_bool { ;+vkna }}
311   } {}
312   \bool_if:NT \l_ltjpreset_expert_bool { 
313     \DeclareFontShape{JY3}{#1}{#2}{rb}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp] 
314       {\bool_if:NT \l_ltjpreset_noembed_bool {psft:} #3
315       : jfm=\ltjpreset_use_jfm: ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl ;+ruby
316       ; script=kana}
317     } {}
318     \DeclareFontShape{JT3}{#1}{#2}{rb}{ <-> s*[\fp_use:N \l_ltjpreset_scale_fp] 
319       {\bool_if:NT \l_ltjpreset_noembed_bool {psft:} #3
320       : jfm=ujisv ;-kern;\tl_use:N \l_ltjpreset_kanji_shape_tl ;+ruby
321       ; script=kana}
322     } {}
323   }
324 }
325
326 \DeclareKanjiFamily{JY3}{ltjpm}{}\DeclareKanjiFamily{JT3}{ltjpm}{}
327 \DeclareKanjiFamily{JY3}{ltjpg}{}\DeclareKanjiFamily{JT3}{ltjpg}{}
328
329 \int_compare:nTF { \l_ltjpreset_deluxe_int ==  2 } {
330   \bool_if:NT \l_ltjpreset_bold_bool {
331     \cs_set_eq:NN \ltjpreset_font_mc_bx: \ltjpreset_font_gt_bx:
332   }
333 }{
334   \bool_if:NTF \l_ltjpreset_bold_bool {
335     \cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_bx:
336   }{
337     \cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_n_uni:
338   }
339   \cs_set_eq:NN \ltjpreset_font_gt_bx: \ltjpreset_font_gt_m:
340   \cs_set_eq:NN \ltjpreset_font_mc_bx: \ltjpreset_font_gt_m:
341 }
342
343 \ltj_preset_define_family:nnn {ltjpm} {m}  {\ltjpreset_font_mc_m:} 
344 \ltj_preset_define_family:nnn {ltjpm} {bx} {\ltjpreset_font_mc_bx:}
345 \ltj_preset_define_family:nnn {ltjpg} {m}  {\ltjpreset_font_gt_m:} 
346 \ltj_preset_define_family:nnn {ltjpg} {bx} {\ltjpreset_font_gt_bx:}
347
348 \def\mcdefault{ltjpm}\def\gtdefault{ltjpg}
349 \normalfont
350
351 \SetSymbolFont{mincho}{normal}{JY3}{ltjpm}{m}{n}
352 \SetSymbolFont{mincho}{bold}{JY3}{ltjpm}{bx}{n}
353 \DeclareMathAlphabet{\mathgt}{JY3}{ltjpg}{m}{n}
354
355 \bool_if:NT \l_ltjpreset_expert_bool { 
356   \DeclareRobustCommand\rubyfamily { \kanjishape{rb}\selectfont }
357 }
358
359 \int_compare:nTF { \l_ltjpreset_deluxe_int ==  2 } {
360   \DeclareKanjiFamily{JY3}{ltjpmg}{}\DeclareKanjiFamily{JT3}{ltjpmg}{}
361   \ltj_preset_define_family:nnn {ltjpmg} {m}  {\ltjpreset_font_mg:} 
362   \ltj_preset_define_family:nnn {ltjpg}  {eb} {\ltjpreset_font_gt_eb:}
363   \DeclareRobustCommand\gtebfamily { \kanjifamily{ltjpg}\kanjiseries{eb}\selectfont }
364   \DeclareTextFontCommand{\textgteb}{\gtebfamily}
365   \DeclareRobustCommand\mgfamily { \kanjifamily{ltjpmg}\selectfont }
366   \DeclareTextFontCommand{\textmg}{\mgfamily}
367 }
368
369 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
370 %%%%%%%% fontspec
371 } {
372
373 \RequirePackage{luatexja-fontspec}
374 % scale
375 \msg_new:nnn { luatexja-preset }{ scale }{
376   Japanese~fonts~will~be~scaled~by~\fp_use:N \g_ltj_fontspec_scale_fp.
377 }
378 \msg_warning:nn { luatexja-preset }{ scale }
379
380 % expert 用設定
381 \tl_new:N \l_ltjpreset_add_features_tl
382
383 \tl_set:Nx \l_ltjpreset_add_features_tl {
384   \tl_use:N \l_ltjpreset_kanji_shape_tl,
385   YokoFeatures = { JFM = \ltjpreset_use_jfm: }, 
386 }
387
388 \bool_if:NT \l_ltjpreset_expert_bool {
389   \cs_set:Npn \rubyfamily { \addjfontfeatures { 
390     Style=Ruby , YokoFeatures={RawFeature=-hkna} , TateFeatures={RawFeature=-vkna}
391   } }
392   \tl_put_left:Nn \l_ltjpreset_add_features_tl { 
393     YokoFeatures = {Style = HorizontalKana}, 
394     TateFeatures = {Style = VerticalKana}, 
395   }
396 }
397
398 % (丸)ゴシック体の設定: bold option もここで
399 \int_compare:nTF { \l_ltjpreset_deluxe_int ==  2 } {
400 %% mg
401  \newjfontfamily \mgfamily [
402       BoldFont = \ltjpreset_font_mg:,
403       \tl_use:N \l_ltjpreset_add_features_tl
404       \bool_if:NT \l_ltjpreset_noembed_bool { , NoEmbed }, 
405       \tl_use:N \l_ltjpreset_add_features_tl 
406     ] { \ltjpreset_font_mg: }
407     \DeclareTextFontCommand{\textmg}{\mgfamily}
408 %% gt/eb
409 %% 注意: ファミリは 'gteb'.シリーズは \mdseries のまま.
410 %%       \bfseries を追加したほうが良い?
411   \newjfontfamily \gtebfamily [
412       BoldFont = \ltjpreset_font_gt_eb:, 
413       \tl_use:N \l_ltjpreset_add_features_tl
414       \bool_if:NT \l_ltjpreset_noembed_bool { , NoEmbed }, 
415       \tl_use:N \l_ltjpreset_add_features_tl 
416     ] { \ltjpreset_font_gt_eb: }
417   \DeclareTextFontCommand{\textgteb}{\gtebfamily}
418   \bool_if:NT \l_ltjpreset_bold_bool {
419     \cs_set_eq:NN \ltjpreset_font_mc_bx: \ltjpreset_font_gt_bx:
420   }
421 }{
422   \bool_if:NTF \l_ltjpreset_bold_bool {
423     \cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_bx:
424   }{
425     \cs_set_eq:NN \ltjpreset_font_gt_m: \ltjpreset_font_gt_n_uni:
426   }
427   \cs_set_eq:NN \ltjpreset_font_gt_bx: \ltjpreset_font_gt_m:
428   \cs_set_eq:NN \ltjpreset_font_mc_bx: \ltjpreset_font_gt_m:
429 }
430
431
432 % 実際の fontspec の呼びだし
433
434 \addjfontfeature{ Kerning=Off }
435
436 \setmainjfont [ 
437   BoldFont = \ltjpreset_font_mc_bx:
438   \bool_if:NT \l_ltjpreset_noembed_bool { , NoEmbed }, 
439   \tl_use:N \l_ltjpreset_add_features_tl 
440 ] { \ltjpreset_font_mc_m: }
441 \setsansjfont [ 
442   BoldFont = \ltjpreset_font_gt_bx: 
443   \bool_if:NT \l_ltjpreset_noembed_bool { , NoEmbed }, 
444   \tl_use:N \l_ltjpreset_add_features_tl 
445 ] { \ltjpreset_font_gt_m: }
446
447 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
448 }
449 \ExplSyntaxOff
450 \endinput