summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/fontspec/fontspec.sty
blob: e3dedcb32837453aa96e9f3a08ed54ca0f95a461 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
%%
%% This is file `fontspec.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% fontspec.dtx  (with options: `fontspec,load')
%% fontspec-code-vars.dtx  (with options: `options')
%% fontspec-code-msg.dtx  (with options: `options')
%% fontspec-code-opening.dtx  (with options: `options')
%% fontspec-code-load.dtx  (with options: `fontspec,load')
%% ------------------------------------------------
%% The FONTSPEC package  <wspr.io/fontspec>
%% ------------------------------------------------
%% Copyright  2004-2017  Will Robertson, LPPL "maintainer"
%% Copyright  2009-2013  Khaled Hosny
%% ------------------------------------------------
%% This package is free software and may be redistributed and/or modified under
%% the conditions of the LaTeX Project Public License, version 1.3c or higher
%% (your choice): <http://www.latex-project.org/lppl/>.
%% ------------------------------------------------
%%^^A%%  fontspec.dtx -- part of FONTSPEC <wspr.io/fontspec>
%%^^A%%  Metadata for the package, including files and versioning

\RequirePackage{xparse}
\ProvidesExplPackage{fontspec}%
  {2024/02/13}{2.9a}{Font selection for XeLaTeX and LuaLaTeX}

%%^^A%%  fontspec-code-vars.dtx -- part of FONTSPEC <wspr.io/fontspec>
\bool_new:N \g__fontspec_cfg_bool
\bool_new:N \g__fontspec_math_bool

%%^^A%%  fontspec-code-msg.dtx -- part of FONTSPEC <wspr.io/fontspec>
\msg_new:nnn {fontspec} {cm-default-obsolete}
 {
  The~"cm-default"~package~option~is~obsolete.
 }
\msg_new:nnn {fontspec} {enc-obsolete}
 {
  The~"#1"~package~option~is~obsolete.~TU~is~the~default~encoding.
 }

%%^^A%%  fontspec-code-opening.dtx -- part of FONTSPEC <wspr.io/fontspec>
\DeclareKeys
  {
    cm-default  .code:n = { \msg_warning:nn   {fontspec} {cm-default-obsolete} }
    ,math    .bool_gset:N = \g__fontspec_math_bool
    ,math    .usage:n     =  preamble
    ,no-math .bool_gset_inverse:N = \g__fontspec_math_bool
    ,no-math .usage:n             =  preamble
    ,config  .bool_gset:N = \g__fontspec_cfg_bool
    ,config  .usage:n     = load
    ,no-config  .bool_gset_inverse:N = \g__fontspec_cfg_bool
    ,no-config  .usage:n             = load
    ,euenc  .code:n = { \msg_warning:nnn   {fontspec} {enc-obsolete}{euenc} }
    ,tuenc  .code:n = { \msg_warning:nnn   {fontspec} {enc-obsolete}{tuenc} }
    ,quiet .code:n =
      {
        \msg_redirect_module:nnn { fontspec } { warning } { info }
        \msg_redirect_module:nnn { fontspec } { info } { none }
      }
    ,silent .code:n =
      {
        \msg_redirect_module:nnn { fontspec } { warning } { none }
        \msg_redirect_module:nnn { fontspec } { info } { none }
      }
    ,verbose .code:n =
      {
        \msg_redirect_module:nnn { fontspec } { warning } { warning }
        \msg_redirect_module:nnn { fontspec } { info } { info }
      }
  }
\SetKeys{config,math}
\ProcessKeyOptions

%%^^A%%  fontspec-code-load.dtx -- part of FONTSPEC <wspr.io/fontspec>
\sys_if_engine_luatex:T
  {
    \RequirePackage{luaotfload}
    \lua_now:e{require("fontspec")}
    \RequirePackage{fontspec-luatex}
    \endinput
  }
\sys_if_engine_xetex:T
  {
    \RequirePackage{fontspec-xetex}
    \endinput
  }
\msg_new:nnn {fontspec} {cannot-use-pdftex}
  {
    The~ fontspec~ package~ requires~ either~ XeTeX~ or~ LuaTeX.\\\\
    You~ must~ change~ your~ typesetting~ engine~ to,~ e.g.,~
    "xelatex"~ or~ "lualatex"~ instead~ of~ "latex"~ or~ "pdflatex".
  }
\msg_fatal:nn {fontspec} {cannot-use-pdftex}