summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.ltx6
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.pdfbin264881 -> 264837 bytes
-rw-r--r--Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm.pdfbin57525 -> 58016 bytes
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian-hm/xepersian-hm.dtx46
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian-hm/kashida-xepersian-hm.def26
-rw-r--r--Master/texmf-dist/tex/xelatex/xepersian-hm/xepersian-hm.sty18
6 files changed, 56 insertions, 40 deletions
diff --git a/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.ltx b/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.ltx
index 42c5562cafe..e1145052290 100644
--- a/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.ltx
+++ b/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.ltx
@@ -27,7 +27,7 @@
}
}
-\date{Released \quad 2020-05-12 \quad v0.5e}
+\date{Released \quad 2020-05-20 \quad v0.5f}
\let\tmpthepage\thepage
\renewcommand{\thepage}{\lr{\Large\textbf\tmpthepage}}
@@ -161,8 +161,8 @@ The options available in \textsf{xepersian-hm} are:
xelatex kashida-example.tex}
Please note that this feature is still experimental and is not regarded as stable.
- If you are going to use this option be ready for unpredictable results. Note that
- the value of \texttt{Kashida} is mandatory.
+ If you are going to use this option be ready for unpredictable results. Also, note
+ that the value of \texttt{Kashida} is mandatory.
\item \texttt{hrule}: \\
which uses a horizontal rule (\verb|\hrule|) to stretch the text.
diff --git a/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.pdf b/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.pdf
index 06a9d05ddda..161c34f012d 100644
--- a/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.pdf
+++ b/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm.pdf b/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm.pdf
index bf0ff83fe0f..c244dee46f6 100644
--- a/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm.pdf
+++ b/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/xelatex/xepersian-hm/xepersian-hm.dtx b/Master/texmf-dist/source/xelatex/xepersian-hm/xepersian-hm.dtx
index d762f805d3c..582a05d6388 100644
--- a/Master/texmf-dist/source/xelatex/xepersian-hm/xepersian-hm.dtx
+++ b/Master/texmf-dist/source/xelatex/xepersian-hm/xepersian-hm.dtx
@@ -67,7 +67,7 @@ make time to fix.
% }^^A
% }
%
-% \date{Released \quad 2020-05-12 \quad v0.5e}
+% \date{Released \quad 2020-05-20 \quad v0.5f}
%
% \maketitle
%
@@ -96,7 +96,7 @@ make time to fix.
\RequirePackage{zref-savepos}[2020-03-03]
\RequirePackage{xepersian}
\ExplSyntaxOn
-\ProvidesExplPackage {xepersian-hm} {2020-05-12} {0.5e} { Fixes~issues~in~xepersian~package }
+\ProvidesExplPackage {xepersian-hm} {2020-05-20} {0.5f} { Fixes~issues~in~xepersian~package }
\int_const:Nn \c_xephm_ksh_int {"0640} % kashida
\int_const:Nn \c_xephm_lrm_int {"200E} % left-right-mark
@@ -209,21 +209,27 @@ make time to fix.
\l_xephm_lig_rlig_tl , { \l_xephm_lig_rlig_clist } ,
}
-\msg_new:nnn { xepersian-hm } { kashida-character-is-not-available-in-the-main-font }
+\msg_new:nnn { xepersian-hm } { error-kashida-character-is-not-available-in-the-main-font }
{
Sorry,~ kashida~ character~ is~ not~ available~ in~ the~ main~ font~!
}
-\msg_new:nnn { xepersian-hm } { value-not-available-for-kashida-option }
+\msg_new:nnn { xepersian-hm } { error-value-not-available-for-kashida-option }
{
Sorry,~ value~ `#1'~ is~ not~ available~ for~ `Kashida'~ option~ yet~!
}
-\msg_new:nnn { xepersian-hm } { specify-value-for-kashida-option }
+\msg_new:nnn { xepersian-hm } { error-specify-value-for-kashida-option }
{
Sorry,~ you~ must~ specify~ a~ value~ for~ `Kashida'~ option~ yet~!
}
+\msg_new:nnn { xepersian-hm } { warning-experimental-feature }
+ {
+ Please~ note~ that~ the~ feature~ `#1'~ is~ still~ experimental~
+ and~ is~ not~ regarded~ as~ stable.
+ }
+
\keys_define:nn { xepersian-hm }
{
Kashida .code:n =
@@ -242,7 +248,7 @@ make time to fix.
\int_set:Nn \l_xephm_kashida_slot_int { \xetex_charglyph:D \c_xephm_ksh_int }
\int_compare:nT { \l_xephm_kashida_slot_int = \c_zero_int }
{
- \msg_error:nn { xepersian-hm } { kashida-character-is-not-available-in-the-main-font }
+ \msg_error:nn { xepersian-hm } { error-kashida-character-is-not-available-in-the-main-font }
}
}
}
@@ -251,7 +257,7 @@ make time to fix.
\tl_set:Nn \l_xephm_gap_filler_tl { \l_xephm_stretch_hrule_tl }
}
} { } { \tl_set:Nx \l_xephm_gap_filler_tl { #1 } }
- \tl_if_empty:NT \l_xephm_gap_filler_tl { \msg_error:nn { xepersian-hm } { specify-value-for-kashida-option } }
+ \tl_if_empty:NT \l_xephm_gap_filler_tl { \msg_error:nn { xepersian-hm } { error-specify-value-for-kashida-option } }
\bool_set_true:N \l_xephm_kashida_hm_fix_bool
} ,
@@ -345,7 +351,7 @@ make time to fix.
% \begin{macrocode}
%<*kashida-xepersian-hm-def>
\ExplSyntaxOn
-\ProvidesExplFile {kashida-xepersian-hm.def} {2020-05-12} {0.5e} { Fixes~implementation~of~Kashida~in~xepersian~package }
+\ProvidesExplFile {kashida-xepersian-hm.def} {2020-05-20} {0.5f} { Fixes~implementation~of~Kashida~in~xepersian~package }
\newXeTeXintercharclass \c_xephm_d_charclass % dual-joiner class
\newXeTeXintercharclass \c_xephm_l_charclass % lam
@@ -430,17 +436,15 @@ make time to fix.
\mode_leave_vertical:
\tex_global:D \tex_advance:D \l_xephm_counter_int \c_one_int
- \tl_set:Nx \l_xephm_pos_tl { pos_\tex_romannumeral:D \l_xephm_counter_int }
- \tl_set:Nx \l_xephm_zref_tl { zref_\tex_romannumeral:D \l_xephm_counter_int }
+ \tl_set:Nx \l_xephm_pos_tl { p\tex_romannumeral:D \l_xephm_counter_int }
+ \tl_set:Nx \l_xephm_zref_tl { z\tex_romannumeral:D \l_xephm_counter_int }
\zsaveposx{x_i_\l_xephm_zref_tl}
\tl_set:Nx \l_tmpa_tl
{
\iow_now:cx { @auxout }
{
- \ExplSyntaxOn
- \tl_gset:Nn \exp_after:wN \token_to_str:N \cs:w get_x_i\l_xephm_pos_tl \cs_end: { \zposx{ x_i_\l_xephm_zref_tl } }
- \ExplSyntaxOff
+ \token_to_str:N \gdef \exp_after:wN \token_to_str:N \cs:w xi\l_xephm_pos_tl \cs_end: { \zposx{ x_i_\l_xephm_zref_tl } }
}
}
\l_tmpa_tl
@@ -450,19 +454,17 @@ make time to fix.
{
\iow_now:cx { @auxout }
{
- \ExplSyntaxOn
- \tl_gset:Nn \exp_after:wN \token_to_str:N \cs:w get_x_f\l_xephm_pos_tl \cs_end: { \zposx{ x_f_\l_xephm_zref_tl } }
- \ExplSyntaxOff
+ \token_to_str:N \gdef \exp_after:wN \token_to_str:N \cs:w xf\l_xephm_pos_tl \cs_end: { \zposx{ x_f_\l_xephm_zref_tl } }
}
}
\l_tmpa_tl
\exp_after:wN
\if_meaning:w
- \cs:w get_x_i\l_xephm_pos_tl \cs_end: \tex_relax:D
+ \cs:w xi\l_xephm_pos_tl \cs_end: \tex_relax:D
\else:
\dim_set:Nn \l_xephm_diff_pos_dim
{
- \dim_eval:n { \cs:w get_x_i\l_xephm_pos_tl \cs_end: sp - \cs:w get_x_f\l_xephm_pos_tl \cs_end: sp }
+ \dim_eval:n { \cs:w xi\l_xephm_pos_tl \cs_end: sp - \cs:w xf\l_xephm_pos_tl \cs_end: sp }
}
\dim_compare:nTF { \l_xephm_diff_pos_dim == 0sp }
{ }
@@ -590,7 +592,13 @@ make time to fix.
\XeTeXinterchartoks \c_xephm_l_charclass \c_xephm_a_charclass =
{ }
}
- } { } { \msg_error:nnx { xepersian-hm } { value-not-available-for-kashida-option } { \l_xephm_gap_filler_tl } }
+ }
+ {
+ \msg_warning:nnn { xepersian-hm } { warning-experimental-feature } { Kashida=glyph }
+ }
+ {
+ \msg_error:nnx { xepersian-hm } { error-value-not-available-for-kashida-option } { \l_xephm_gap_filler_tl }
+ }
\NewDocumentCommand \KashidaHMFixOn {} { \bool_set_true:N \l_xephm_kashida_hm_fix_bool }
\NewDocumentCommand \KashidaHMFixOff {} { \bool_set_false:N \l_xephm_kashida_hm_fix_bool }
diff --git a/Master/texmf-dist/tex/xelatex/xepersian-hm/kashida-xepersian-hm.def b/Master/texmf-dist/tex/xelatex/xepersian-hm/kashida-xepersian-hm.def
index da06b603b86..d3e96f981f7 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian-hm/kashida-xepersian-hm.def
+++ b/Master/texmf-dist/tex/xelatex/xepersian-hm/kashida-xepersian-hm.def
@@ -13,7 +13,7 @@
%% this license is at: http://www.latex-project.org/lppl.txt
%%
\ExplSyntaxOn
-\ProvidesExplFile {kashida-xepersian-hm.def} {2020-05-12} {0.5e} { Fixes~implementation~of~Kashida~in~xepersian~package }
+\ProvidesExplFile {kashida-xepersian-hm.def} {2020-05-20} {0.5f} { Fixes~implementation~of~Kashida~in~xepersian~package }
\newXeTeXintercharclass \c_xephm_d_charclass % dual-joiner class
\newXeTeXintercharclass \c_xephm_l_charclass % lam
@@ -98,17 +98,15 @@
\mode_leave_vertical:
\tex_global:D \tex_advance:D \l_xephm_counter_int \c_one_int
- \tl_set:Nx \l_xephm_pos_tl { pos_\tex_romannumeral:D \l_xephm_counter_int }
- \tl_set:Nx \l_xephm_zref_tl { zref_\tex_romannumeral:D \l_xephm_counter_int }
+ \tl_set:Nx \l_xephm_pos_tl { p\tex_romannumeral:D \l_xephm_counter_int }
+ \tl_set:Nx \l_xephm_zref_tl { z\tex_romannumeral:D \l_xephm_counter_int }
\zsaveposx{x_i_\l_xephm_zref_tl}
\tl_set:Nx \l_tmpa_tl
{
\iow_now:cx { @auxout }
{
- \ExplSyntaxOn
- \tl_gset:Nn \exp_after:wN \token_to_str:N \cs:w get_x_i\l_xephm_pos_tl \cs_end: { \zposx{ x_i_\l_xephm_zref_tl } }
- \ExplSyntaxOff
+ \token_to_str:N \gdef \exp_after:wN \token_to_str:N \cs:w xi\l_xephm_pos_tl \cs_end: { \zposx{ x_i_\l_xephm_zref_tl } }
}
}
\l_tmpa_tl
@@ -118,19 +116,17 @@
{
\iow_now:cx { @auxout }
{
- \ExplSyntaxOn
- \tl_gset:Nn \exp_after:wN \token_to_str:N \cs:w get_x_f\l_xephm_pos_tl \cs_end: { \zposx{ x_f_\l_xephm_zref_tl } }
- \ExplSyntaxOff
+ \token_to_str:N \gdef \exp_after:wN \token_to_str:N \cs:w xf\l_xephm_pos_tl \cs_end: { \zposx{ x_f_\l_xephm_zref_tl } }
}
}
\l_tmpa_tl
\exp_after:wN
\if_meaning:w
- \cs:w get_x_i\l_xephm_pos_tl \cs_end: \tex_relax:D
+ \cs:w xi\l_xephm_pos_tl \cs_end: \tex_relax:D
\else:
\dim_set:Nn \l_xephm_diff_pos_dim
{
- \dim_eval:n { \cs:w get_x_i\l_xephm_pos_tl \cs_end: sp - \cs:w get_x_f\l_xephm_pos_tl \cs_end: sp }
+ \dim_eval:n { \cs:w xi\l_xephm_pos_tl \cs_end: sp - \cs:w xf\l_xephm_pos_tl \cs_end: sp }
}
\dim_compare:nTF { \l_xephm_diff_pos_dim == 0sp }
{ }
@@ -258,7 +254,13 @@
\XeTeXinterchartoks \c_xephm_l_charclass \c_xephm_a_charclass =
{ }
}
- } { } { \msg_error:nnx { xepersian-hm } { value-not-available-for-kashida-option } { \l_xephm_gap_filler_tl } }
+ }
+ {
+ \msg_warning:nnn { xepersian-hm } { warning-experimental-feature } { Kashida=glyph }
+ }
+ {
+ \msg_error:nnx { xepersian-hm } { error-value-not-available-for-kashida-option } { \l_xephm_gap_filler_tl }
+ }
\NewDocumentCommand \KashidaHMFixOn {} { \bool_set_true:N \l_xephm_kashida_hm_fix_bool }
\NewDocumentCommand \KashidaHMFixOff {} { \bool_set_false:N \l_xephm_kashida_hm_fix_bool }
diff --git a/Master/texmf-dist/tex/xelatex/xepersian-hm/xepersian-hm.sty b/Master/texmf-dist/tex/xelatex/xepersian-hm/xepersian-hm.sty
index 846617033e8..ba57d9bfd3f 100644
--- a/Master/texmf-dist/tex/xelatex/xepersian-hm/xepersian-hm.sty
+++ b/Master/texmf-dist/tex/xelatex/xepersian-hm/xepersian-hm.sty
@@ -31,7 +31,7 @@
\RequirePackage{zref-savepos}[2020-03-03]
\RequirePackage{xepersian}
\ExplSyntaxOn
-\ProvidesExplPackage {xepersian-hm} {2020-05-12} {0.5e} { Fixes~issues~in~xepersian~package }
+\ProvidesExplPackage {xepersian-hm} {2020-05-20} {0.5f} { Fixes~issues~in~xepersian~package }
\int_const:Nn \c_xephm_ksh_int {"0640} % kashida
\int_const:Nn \c_xephm_lrm_int {"200E} % left-right-mark
@@ -144,21 +144,27 @@
\l_xephm_lig_rlig_tl , { \l_xephm_lig_rlig_clist } ,
}
-\msg_new:nnn { xepersian-hm } { kashida-character-is-not-available-in-the-main-font }
+\msg_new:nnn { xepersian-hm } { error-kashida-character-is-not-available-in-the-main-font }
{
Sorry,~ kashida~ character~ is~ not~ available~ in~ the~ main~ font~!
}
-\msg_new:nnn { xepersian-hm } { value-not-available-for-kashida-option }
+\msg_new:nnn { xepersian-hm } { error-value-not-available-for-kashida-option }
{
Sorry,~ value~ `#1'~ is~ not~ available~ for~ `Kashida'~ option~ yet~!
}
-\msg_new:nnn { xepersian-hm } { specify-value-for-kashida-option }
+\msg_new:nnn { xepersian-hm } { error-specify-value-for-kashida-option }
{
Sorry,~ you~ must~ specify~ a~ value~ for~ `Kashida'~ option~ yet~!
}
+\msg_new:nnn { xepersian-hm } { warning-experimental-feature }
+ {
+ Please~ note~ that~ the~ feature~ `#1'~ is~ still~ experimental~
+ and~ is~ not~ regarded~ as~ stable.
+ }
+
\keys_define:nn { xepersian-hm }
{
Kashida .code:n =
@@ -177,7 +183,7 @@
\int_set:Nn \l_xephm_kashida_slot_int { \xetex_charglyph:D \c_xephm_ksh_int }
\int_compare:nT { \l_xephm_kashida_slot_int = \c_zero_int }
{
- \msg_error:nn { xepersian-hm } { kashida-character-is-not-available-in-the-main-font }
+ \msg_error:nn { xepersian-hm } { error-kashida-character-is-not-available-in-the-main-font }
}
}
}
@@ -186,7 +192,7 @@
\tl_set:Nn \l_xephm_gap_filler_tl { \l_xephm_stretch_hrule_tl }
}
} { } { \tl_set:Nx \l_xephm_gap_filler_tl { #1 } }
- \tl_if_empty:NT \l_xephm_gap_filler_tl { \msg_error:nn { xepersian-hm } { specify-value-for-kashida-option } }
+ \tl_if_empty:NT \l_xephm_gap_filler_tl { \msg_error:nn { xepersian-hm } { error-specify-value-for-kashida-option } }
\bool_set_true:N \l_xephm_kashida_hm_fix_bool
} ,