summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/xepersian/fontspec-xepersian.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xepersian/fontspec-xepersian.def')
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian/fontspec-xepersian.def50
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
%%