summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-09-25 23:13:30 +0000
committerKarl Berry <karl@freefriends.org>2015-09-25 23:13:30 +0000
commit5a520fc41536ed6b179bfa9237a24a465b3bc4b2 (patch)
tree1917fd5596433ba5194a4f9c8a7a995625509471 /Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
parentfeeea4e7a34e9ad92bb1e94c5930fc2b5d50228c (diff)
fontspec (25sep15)
git-svn-id: svn://tug.org/texlive/trunk@38461 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty')
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty67
1 files changed, 32 insertions, 35 deletions
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
index 623441ec477..f1815624afc 100644
--- a/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
+++ b/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
@@ -14,7 +14,7 @@
%%
%%
\ProvidesPackage{fontspec-xetex}
- [2015/07/22 v2.4d Font selection for XeLaTeX and LuaLaTeX]
+ [2015/09/24 v2.4e Font selection for XeLaTeX and LuaLaTeX]
\ExplSyntaxOn
@@ -236,28 +236,25 @@
\__fontspec_define_feature_option:nnnnn {#1}{#2}{}{}{#3}
}
\cs_set_eq:NN \newICUfeature \newopentypefeature % deprecated
+\bool_new:N \l__fontspec_alias_bool
\DeclareDocumentCommand \aliasfontfeature {mm}
{
+ \bool_set_false:N \l__fontspec_alias_bool
+
\clist_map_inline:nn
{ fontspec, fontspec-preparse, fontspec-preparse-external,
fontspec-preparse-nested, fontspec-renderer }
{
+
\keys_if_exist:nnT {##1} {#1}
{
- \clist_map_break:n
- {
- \__fontspec_alias_font_feature:nnn {##1} {#1} {#2}
- \use_none_delimit_by_q_nil:w
- }
+ \bool_set_true:N \l__fontspec_alias_bool
+ \__fontspec_alias_font_feature:nnn {##1} {#1} {#2}
}
}
- % this executes if no match was found:
- \__fontspec_warning:nx {rename-feature-not-exist} {#1}
-
- % jump to here if a match:
- \use_none:n
- \q_nil
+ \bool_if:NF \l__fontspec_alias_bool
+ { \__fontspec_warning:nx {rename-feature-not-exist} {#1} }
}
\cs_set:Nn \__fontspec_alias_font_feature:nnn
@@ -501,35 +498,36 @@
\tl_set_eq:NN #2 \l_fontspec_family_tl
}
\cs_set:Nn \__fontspec_fontwrap:n { "#1" }
-\cs_if_free:NT \font_set_eq:NN
- {
- \cs_set_eq:NN \font_set_eq:NN \tex_let:D
- \cs_set:Npn \font_set:Nnn #1#2#3
- {
- \font #1 = #2 ~at~ #3\scan_stop:
- }
- \cs_set:Npn \font_gset:Nnn #1#2#3
- {
+\cs_set:Npn \__fontspec_primitive_font_set:Nnn #1#2#3
+ {
+ \font #1 = #2 ~at~ #3 \scan_stop:
+ }
+
+\cs_set:Npn \__fontspec_primitive_font_gset:Nnn #1#2#3
+ {
\global \font #1 = #2 ~at~ #3 \scan_stop:
- }
- \cs_set:Npn \font_suppress_not_found_error:
- {\suppressfontnotfounderror=1}
- \prg_set_conditional:Nnn \__fontspec_font_if_null:N {p,TF,T,F}
- {
+ }
+
+\cs_set:Npn \__fontspec_font_suppress_not_found_error:
+ {
+ \int_set_eq:NN \xetex_suppressfontnotfounderror:D \c_one
+ }
+
+\prg_set_conditional:Nnn \__fontspec_font_if_null:N {p,TF,T,F}
+ {
\ifx #1 \nullfont
\prg_return_true:
\else
\prg_return_false:
\fi
- }
- }
+ }
\cs_new:Nn \__fontspec_font_set:Nnn
{
- \font_set:Nnn #1 {\__fontspec_fontwrap:n {#2}} {#3}
+ \__fontspec_primitive_font_set:Nnn #1 { \__fontspec_fontwrap:n {#2} } {#3}
}
\cs_new:Nn \__fontspec_font_gset:Nnn
{
- \font_gset:Nnn #1 {\__fontspec_fontwrap:n {#2}} {#3}
+ \__fontspec_primitive_font_gset:Nnn #1 { \__fontspec_fontwrap:n {#2} } {#3}
}
\prg_new_conditional:Nnn \font_glyph_if_exist:Nn {p,TF,T,F}
{
@@ -542,7 +540,7 @@
\cs_set:Nn \fontspec_select:nn
{
\group_begin:
- \font_suppress_not_found_error:
+ \__fontspec_font_suppress_not_found_error:
\__fontspec_init:
\tl_set:Nx \l_fontspec_fontname_tl {#2}
@@ -809,8 +807,9 @@
\cs_new:Nn \__fontspec_make_font_shapes:Nnnnn
{
\group_begin:
+ \keys_set_known:nxN {fontspec-preparse-external} { #4 } \l__fontspec_leftover_clist
\__fontspec_load_fontname:n {#1}
- \__fontspec_declare_shape:nnxx {#2} {#3} { \l__fontspec_fontopts_clist, #4 } {#5}
+ \__fontspec_declare_shape:nnxx {#2} {#3} { \l__fontspec_fontopts_clist, \l__fontspec_leftover_clist } {#5}
\group_end:
}
@@ -1242,7 +1241,7 @@
\bool_set_true:N \l__fontspec_nobf_bool
\bool_set_true:N \l__fontspec_noit_bool
\bool_set_true:N \l__fontspec_external_bool
- \cs_gset:Npn \__fontspec_namewrap:n ##1 { [ #1 ##1 ] }
+ \cs_set:Npn \__fontspec_namewrap:n ##1 { [ #1 ##1 ] }
\keys_set:nn {fontspec-renderer} {Renderer=OpenType}
}
\aliasfontfeature{ExternalLocation}{Path}
@@ -1436,7 +1435,6 @@
\tl_if_exist:NT \l_fontspec_family_tl
{ \cs_undefine:c {g__fontspec_ \l_fontspec_family_tl _prop} }
}
-\cs_generate_variant:Nn \prop_put:Nnn {Nxx}
\prop_new:N \l__fontspec_nfssfont_prop
\__fontspec_keys_define_code:nnn {fontspec} {FontFace}
{
@@ -1471,7 +1469,6 @@
}
\cs_generate_variant:Nn \__fontspec_add_nfssfont:nnnn {ooo}
\cs_generate_variant:Nn \__fontspec_add_nfssfont:nnnn {oooo}
-\cs_generate_variant:Nn \tl_if_empty:nTF {x}
\__fontspec_keys_define_code:nnn {fontspec} {Scale}
{
\str_case:nnF {#1}