diff options
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xepersian/fontspec-xepersian.def')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xepersian/fontspec-xepersian.def | 50 |
1 files changed, 28 insertions, 22 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xepersian/fontspec-xepersian.def b/Master/texmf-dist/tex/xelatex/xepersian/fontspec-xepersian.def index 30d8f1bf5e0..db530ab1529 100644 --- a/Master/texmf-dist/tex/xelatex/xepersian/fontspec-xepersian.def +++ b/Master/texmf-dist/tex/xelatex/xepersian/fontspec-xepersian.def @@ -17,7 +17,7 @@ %% by Vafa Khalighi. %% %% -%% \CheckSum{11025} +%% \CheckSum{11018} %% \CharacterTable %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -34,7 +34,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% -\ProvidesFile{fontspec-xepersian.def}[2018/12/14 v0.3 fontspec changes] +\ProvidesFile{fontspec-xepersian.def}[2019/05/01 v0.4 fontspec changes] \ExplSyntaxOn \cs_new:Npn \__xepersian_error:nx { \msg_error:nnx {xepersian} } \char_set_catcode_space:n {32} @@ -60,35 +60,41 @@ } \cs_undefine:N \__fontspec_load_font: \cs_new:Nn \__fontspec_load_font: - { - \__fontspec_primitive_font_set:Nnn \l_fontspec_font - { \__fontspec_construct_font_call:nn { \l__fontspec_fontname_up_tl } {} } {\f@size pt} - \__fontspec_primitive_font_if_null:NT \l_fontspec_font { \__fontspec_error:nx {font-not-found} {\l__fontspec_fontname_up_tl} } + { + + \__fontspec_primitive_font_set:NnnF \l__fontspec_test_font + { \__fontspec_construct_font_call:nn { \l__fontspec_fontname_up_tl } {} } + { \f@size pt - 2sp } + { \__fontspec_error:nx {font-not-found} {\l__fontspec_fontname_up_tl} } \__xepersian_font_if_cannot_be_loaded:NnT \l__fontspec_fontname_up_tl { HM } { \__xepersian_error:nx {font-cannot-be-loaded} {\l__fontspec_fontname_up_tl} \cs_gset_eq:NN \l__fontspec_fontname_up_tl \tex_nullfont:D } - \__fontspec_set_font_type:N \l_fontspec_font - \__fontspec_primitive_font_gset:Nnn \l_fontspec_font - { \__fontspec_construct_font_call:nn { \l__fontspec_fontname_up_tl } {} } {\f@size pt} - \l_fontspec_font % this is necessary for LuaLaTeX to check the scripts properly - } -\cs_undefine:N \__fontspec_load_fontname:n -\cs_new:Nn \__fontspec_load_fontname:n - { - \__fontspec_load_external_fontoptions:Nn \l_fontspec_fontname_tl {#1} - \prop_get:NVNF \g__fontspec_fontopts_prop \l_fontspec_fontname_tl \l__fontspec_fontopts_clist - { \clist_clear:N \l__fontspec_fontopts_clist } + \__fontspec_set_font_type:N \l__fontspec_test_font + \__fontspec_primitive_font_gset:Onn \l__fontspec_fontface_cs_tl + { \__fontspec_construct_font_call:nn { \l__fontspec_fontname_up_tl } {} } + { \f@size pt } + + \l__fontspec_fontface_cs_tl % this is necessary for LuaLaTeX to check the scripts properly + + } +\cs_undefine:N \__fontspec_load_fontname:Nn +\cs_new:Nn \__fontspec_load_fontname:Nn + { + \__fontspec_load_external_fontoptions:Nn #1 {#2} + \prop_get:NVNF \g__fontspec_fontopts_prop #1 \l__fontspec_fontopts_clist + { \clist_clear:N \l__fontspec_fontopts_clist } \keys_set_groups:nnV {fontspec/fontname} {getfontname} \l__fontspec_fontopts_clist - \__fontspec_primitive_font_set:Nnn \l_fontspec_font { \__fontspec_construct_font_call:nn {\l_fontspec_fontname_tl} {} } {\f@size pt} - \__fontspec_primitive_font_if_null:NT \l_fontspec_font { \__fontspec_error:nx {font-not-found} {#1} } - \__xepersian_font_if_cannot_be_loaded:NnT #1 { HM } + \__fontspec_primitive_font_set:OnnF \l__fontspec_fontface_cs_tl + { \__fontspec_construct_font_call:nn {#1} {} } { \f@size pt } + { \__fontspec_error:nx {font-not-found} {#2} } + \__xepersian_font_if_cannot_be_loaded:NnT #2 { HM } { - \__xepersian_error:nx {font-cannot-be-loaded} {#1} + \__xepersian_error:nx {font-cannot-be-loaded} {#2} \cs_gset_eq:NN \l_fontspec_font \tex_nullfont:D } - } + } \ExplSyntaxOff \endinput %% |