diff options
author | Karl Berry <karl@freefriends.org> | 2016-01-30 23:00:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-01-30 23:00:25 +0000 |
commit | 0911ade404142a305ac949e3c53934a536168c3b (patch) | |
tree | a701776f43e3bddd09795208a8c3ed63ab5041cc /Master/texmf-dist/tex/latex/fontspec/fontspec.sty | |
parent | b9447fda2f7279a83d10a110619ece7d753633b0 (diff) |
fontspec (30jan16)
git-svn-id: svn://tug.org/texlive/trunk@39512 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/fontspec/fontspec.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/fontspec/fontspec.sty | 307 |
1 files changed, 26 insertions, 281 deletions
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec.sty index 8f7489564a4..afa682999de 100644 --- a/Master/texmf-dist/tex/latex/fontspec/fontspec.sty +++ b/Master/texmf-dist/tex/latex/fontspec/fontspec.sty @@ -4,297 +4,42 @@ %% %% 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/09/24 v2.4e Font selection for XeLaTeX and LuaLaTeX] - - -\RequirePackage{expl3}[2015/06/26] +%% fontspec.dtx (with options: `fontspec,load') +%% ------------------------------------------------ +%% The FONTSPEC package for XeLaTeX/LuaLaTeX +%% (C) 2004--2016 Will Robertson and Khaled Hosny +%% License information appended. +%% ------------------------------------------------ +\RequirePackage{expl3} \RequirePackage{xparse} -\ExplSyntaxOn -\cs_if_exist:NF \lua_now_x:n - { \cs_set_eq:NN \lua_now_x:n \directlua } +\ProvidesExplPackage{fontspec}% + {2016/01/30}{2.5}{Font selection for XeLaTeX and LuaLaTeX} \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". + 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 - { +\sys_if_engine_xetex:F + { + \sys_if_engine_luatex:F { \msg_fatal:nn {fontspec} {cannot-use-pdftex} } + } +\sys_if_engine_luatex:T + { \RequirePackage{luaotfload}[2013/05/20] \directlua{require("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_generate_variant:Nn \tl_if_empty:nTF {x} -\cs_generate_variant:Nn \tl_if_empty:nTF {x} -\cs_generate_variant:Nn \prop_put:Nnn {Nxx} -\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> +\sys_if_engine_luatex:T { \RequirePackageWithOptions{fontspec-luatex} } +\sys_if_engine_xetex:T { \RequirePackageWithOptions{fontspec-xetex} } +%% ------------------------------------------------ +%% Copyright 2004--2016 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 +%% Distributable under the LaTeX Project Public License, version 1.3c or higher. +%% 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. -%% +%% It consists of the files: fontspec*.dtx, fontspec.cfg, fontspec-example.tex. +%% And the derived files: fontspec*.sty,fontspec.lua, and fontspec.pdf. +%% ------------------------------------------------ %% %% End of file `fontspec.sty'. |