%%
%% This is file `fontspec.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% fontspec.dtx  (with options: `fontspec')
%% 
%%   _________________________________________
%%   The fontspec package for XeLaTeX/LuaLaTeX
%%   (C) 2004--2015    Will Robertson and Khaled Hosny
%% 
%%   License information appended.
%% 
%% 
\ProvidesPackage{fontspec}
  [2015/07/22 v2.4d Font selection for XeLaTeX and LuaLaTeX]


\RequirePackage{expl3}[2011/09/05]
\RequirePackage{xparse}
\ExplSyntaxOn
\cs_if_exist:NF \lua_now_x:n
 { \cs_set_eq:NN \lua_now_x:n \directlua }
\msg_new:nnn {fontspec} {cannot-use-pdftex}
 {
  The~ fontspec~ package~ requires~ either~ XeTeX~ or~ LuaTeX~ to~ function.
  \\\\
  You~ must~ change~ your~ typesetting~ engine~ to,~
    e.g.,~ "xelatex"~ or~ "lualatex"\\
  instead~ of~ plain~ "latex"~ or~ "pdflatex".
 }
\xetex_if_engine:F
 {
  \luatex_if_engine:TF
   {
    \RequirePackage{luaotfload}[2013/05/20]
    \RequireLuaModule{fontspec}
   }
   {
    \msg_fatal:nn {fontspec} {cannot-use-pdftex}
   }
 }
\bool_new:N \l__fontspec_firsttime_bool
\bool_new:N \l__fontspec_nobf_bool
\bool_new:N \l__fontspec_noit_bool
\bool_new:N \l__fontspec_nosc_bool
\bool_new:N \l__fontspec_tfm_bool
\bool_new:N \l__fontspec_atsui_bool
\bool_new:N \l__fontspec_ot_bool
\bool_new:N \l__fontspec_mm_bool
\bool_new:N \l__fontspec_graphite_bool
\bool_new:N \g__fontspec_math_euler_bool
\bool_new:N \g__fontspec_math_lucida_bool
\bool_new:N \g__fontspec_pkg_euler_loaded_bool
\bool_new:N \g__fontspec_cfg_bool
\bool_new:N \g__fontspec_math_bool
\int_new:N \l_fontspec_script_int
\int_new:N \l_fontspec_language_int
\int_new:N \l_fontspec_strnum_int
\fp_new:N \l__fontspec_tmpa_fp
\fp_new:N \l__fontspec_tmpb_fp
\dim_new:N \l__fontspec_tmpa_dim
\dim_new:N \l__fontspec_tmpb_dim
\dim_new:N \l__fontspec_tmpc_dim
\tl_set:Nx \c_colon_str { \tl_to_str:N : }
\cs_set:Npn \use_v:nnnnn #1#2#3#4#5 {#5}
\cs_set:Npn \use_iv:nnnnn #1#2#3#4#5 {#4}
\cs_generate_variant:Nn \str_if_eq:nnTF {nv}
\cs_generate_variant:Nn \int_set:Nn {Nv}
\cs_generate_variant:Nn \keys_set:nn {nx}
\cs_generate_variant:Nn \keys_set_known:nnN {nx}
\cs_new:Nn \__fontspec_int_mult_truncate:Nn
  {
    \int_set:Nn #1 { \__dim_eval:w #2 #1 \__dim_eval_end: }
  }
\cs_new:Npn \__fontspec_error:n     { \msg_error:nn     {fontspec} }
\cs_new:Npn \__fontspec_error:nx    { \msg_error:nnx    {fontspec} }
\cs_new:Npn \__fontspec_warning:n   { \msg_warning:nn   {fontspec} }
\cs_new:Npn \__fontspec_warning:nx  { \msg_warning:nnx  {fontspec} }
\cs_new:Npn \__fontspec_warning:nxx { \msg_warning:nnxx {fontspec} }
\cs_new:Npn \__fontspec_info:n      { \msg_info:nn      {fontspec} }
\cs_new:Npn \__fontspec_info:nx     { \msg_info:nnx     {fontspec} }
\cs_new:Npn \__fontspec_info:nxx    { \msg_info:nnxx    {fontspec} }
\cs_new:Npn \__fontspec_trace:n     { \msg_trace:nn     {fontspec} }
\msg_new:nnn {fontspec} {no-size-info}
 {
  Size~ information~ must~ be~ supplied.\\
  For~ example,~ SizeFeatures={Size={8-12},...}.
 }
\msg_new:nnnn {fontspec} {font-not-found}
 {
  The~ font~ "#1"~ cannot~ be~ found.
 }
 {
  A~font~might~not~be~found~for~many~reasons.\\
  Check~the~spelling,~where~the~font~is~installed~etc.~etc.\\\\
  When~in~doubt,~ask~someone~for~help!
 }
\msg_new:nnnn {fontspec} {rename-feature-not-exist}
 {
  The~ feature~ #1~ doesn't~ appear~ to~ be~ defined.
 }
 {
  It~ looks~ like~ you're~ trying~ to~ rename~ a~ feature~ that~ doesn't~ exist.
 }
\msg_new:nnn {fontspec} {no-glyph}
 {
  '\l_fontspec_fontname_tl'~ does~ not~ contain~ glyph~ #1.
 }
\msg_new:nnnn {fontspec} {euler-too-late}
 {
  The~ euler~ package~ must~ be~ loaded~ BEFORE~ fontspec.
 }
 {
  fontspec~ only~ overwrites~ euler's~ attempt~ to~
  define~ the~ maths~ text~ fonts~ if~ fontspec~ is~
  loaded~ after~ euler.~ Type~ <return>~ to~ proceed~
  with~ incorrect~ \string\mathit,~ \string\mathbf,~ etc.
 }
\msg_new:nnnn {fontspec} {no-xcolor}
 {
  Cannot~ load~ named~ colours~ without~ the~ xcolor~ package.
 }
 {
  Sorry,~ I~ can't~ do~ anything~ to~ help.~ Instead~ of~ loading~
  the~ color~ package,~ use~ xcolor~ instead.~ It's~ better.
 }
\msg_new:nnnn {fontspec} {unknown-color-model}
 {
  Error~ loading~ colour~ `#1';~ unknown~ colour~ model.
 }
 {
  Sorry,~ I~ can't~ do~ anything~ to~ help.~ Please~ report~ this~ error~
  to~ my~ developer~ with~ a~ minimal~ example~ that~ causes~ the~ problem.
 }
\msg_new:nnn {fontspec} {addfontfeatures-ignored}
 {
  \string\addfontfeature (s)~ ignored;~
  it~ cannot~ be~ used~ with~ a~ font~ that~ wasn't~ selected~ by~ fontspec.
 }
\msg_new:nnn {fontspec} {feature-option-overwrite}
 {
  Option~ '#2'~ of~ font~ feature~ '#1'~ overwritten.
 }
\msg_new:nnn {fontspec} {script-not-exist-latn}
 {
  Font~ '\l_fontspec_fontname_tl'~ does~ not~ contain~ script~ '#1'.\\
  'Latin'~ script~ used~ instead.
 }
\msg_new:nnn {fontspec} {script-not-exist}
 {
  Font~ '\l_fontspec_fontname_tl'~ does~ not~ contain~ script~ '#1'.
 }
\msg_new:nnn {fontspec} {aat-feature-not-exist}
 {
  '\l_keys_key_tl=\l_keys_value_tl'~ feature~ not~ supported~
  for~ AAT~ font~ '\l_fontspec_fontname_tl'.
 }
\msg_new:nnn {fontspec} {aat-feature-not-exist-in-font}
 {
  AAT~ feature~ '\l_keys_key_tl=\l_keys_value_tl'~ (#1)~ not~ available~
  in~ font~ '\l_fontspec_fontname_tl'.
 }
\msg_new:nnn {fontspec} {icu-feature-not-exist}
 {
  '\l_keys_key_tl=\l_keys_value_tl'~ feature~ not~ supported~
  for~ OpenType~ font~ '\l_fontspec_fontname_tl'
 }
\msg_new:nnn {fontspec} {icu-feature-not-exist-in-font}
 {
  OpenType~ feature~ '\l_keys_key_tl=\l_keys_value_tl'~ (#1)~ not~ available~
  for~ font~ '\l_fontspec_fontname_tl'~
  with~ script~ '\l__fontspec_script_name_tl'~ and~ language~ '\l__fontspec_lang_name_tl'.
 }
\msg_new:nnn {fontspec} {no-opticals}
 {
  '\l_fontspec_fontname_tl'~ doesn't~ appear~ to~ have~ an~ Optical~ Size~ axis.
 }
\msg_new:nnn {fontspec} {language-not-exist}
 {
  Language~ '#1'~ not~ available~
  for~ font~ '\l_fontspec_fontname_tl'~
  with~ script~ '\l__fontspec_script_name_tl'.\\
  'Default'~ language~ used~ instead.
 }
\msg_new:nnn {fontspec} {only-xetex-feature}
 {
  Ignored~ XeTeX~ only~ feature:~ '#1'.
 }
\msg_new:nnn {fontspec} {only-luatex-feature}
 {
  Ignored~ LuaTeX~ only~ feature:~ '#1'.
 }
\msg_new:nnn {fontspec} {no-mapping}
 {
  Input~ mapping~ not~ (yet?)~ supported~ in~ LuaTeX.
 }
\msg_new:nnn {fontspec} {no-mapping-ligtex}
 {
  Input~ mapping~ not~ (yet?)~ supported~ in~ LuaTeX.\\
  Use~ "Ligatures=TeX"~ instead~ of~ "Mapping=tex-text".
 }
\msg_new:nnn {fontspec} {cm-default-obsolete}
 {
  The~ "cm-default"~ package~ option~ is~ obsolete.
 }
\msg_new:nnn {fontspec} {fakebold-only-xetex}
 {
  The~ "FakeBold"~ and~ "AutoFakeBold"~ options~ are~ only~ available~ with~ XeLaTeX.\\
  Option~ ignored.
 }
\msg_new:nnn {fontspec} {defining-font}
 {
  Font~ family~'\l_fontspec_family_tl'~ created~ for~ font~ '#2'~
  with~ options~ [\l__fontspec_all_features_clist].\\
  \\
  This~ font~ family~ consists~ of~ the~ following~ shapes:
  \l_fontspec_defined_shapes_tl
 }
\msg_new:nnn {fontspec} {no-font-shape}
 {
  Could~ not~ resolve~ font~ #1~ (it~ probably~ doesn't~ exist).
 }
\msg_new:nnn {fontspec} {set-scale}
 {
  \l_fontspec_fontname_tl\space scale ~=~ \l__fontspec_scale_tl.
 }
\msg_new:nnn {fontspec} {setup-math}
 {
  Adjusting~ the~ maths~ setup~ (use~ [no-math]~ to~ avoid~ this).
 }
\msg_new:nnn {fontspec} {no-scripts}
 {
  Font~ \l_fontspec_fontname_tl\space does~ not~ contain~ any~ OpenType~ `Script'~ information.
 }
\msg_new:nnn {fontspec} {opa-twice}
 {
  Opacity~ set~ twice,~ in~ both~ Colour~ and~ Opacity.\\
  Using~ specification~ "Opacity=#1".
 }
\msg_new:nnn {fontspec} {opa-twice-col}
 {
  Opacity~ set~ twice,~ in~ both~ Opacity~ and~ Colour.\\
  Using~ an~ opacity~ specification~ in~ hex~ of~ "#1/FF".
 }
\msg_new:nnn {fontspec} {bad-colour}
 {
  Bad~ colour~ declaration~ "#1".~
  Colour~ must~ be~ one~ of:\\
  *~ a~ named~ xcolor~ colour\\
  *~ a~ six-digit~ hex~ colour~ RRGGBB\\
  *~ an~ eight-digit~ hex~ colour~ RRGGBBTT~ with~ opacity
 }
\DeclareOption{cm-default}
 { \__fontspec_warning:n {cm-default-obsolete} }
\DeclareOption{math}{\bool_set_true:N \g__fontspec_math_bool}
\DeclareOption{no-math}{\bool_set_false:N \g__fontspec_math_bool}
\DeclareOption{config}{\bool_set_true:N \g__fontspec_cfg_bool}
\DeclareOption{no-config}{\bool_set_false:N \g__fontspec_cfg_bool}
\DeclareOption{quiet}
 {
  \msg_redirect_module:nnn { fontspec } { warning } { info }
  \msg_redirect_module:nnn { fontspec } { info } { none }
 }
\DeclareOption{silent}
 {
  \msg_redirect_module:nnn { fontspec } { warning } { none }
  \msg_redirect_module:nnn { fontspec } { info } { none }
 }
\ExecuteOptions{config,math}
\ProcessOptions*
\RequirePackage{fontspec-patches}
\luatex_if_engine:T { \RequirePackage{fontspec-luatex} \endinput }
\xetex_if_engine:T  { \RequirePackage{fontspec-xetex}  \endinput }
%% 
%% Copyright 2004--2015 Will Robertson <wspr81@gmail.com>
%% Copyright 2009--2013   Khaled Hosny <khaledhosny@eglug.org>
%% 
%% Distributable under the LaTeX Project Public License,
%% version 1.3c or higher (your choice). The latest version of
%% this license is at: http://www.latex-project.org/lppl.txt
%% 
%% This work is "maintained" by Will Robertson.
%% 
%% This work consists of this file fontspec.dtx
%%           and the derived files fontspec.sty,
%%                                 fontspec.lua,
%%                                 fontspec.cfg,
%%                                 fontspec-xetex.sty,
%%                                 fontspec-luatex.sty,
%%                                 fontspec-patches.sty,
%%                                 fontspec-example.tex,
%%                             and fontspec.pdf.
%% 
%%
%% End of file `fontspec.sty'.
