From dff9a257a451ee8437fa2f02ebac9bddd6bb8301 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 21 May 2020 03:03:16 +0000 Subject: CTAN sync 202005210303 --- .../xetex/latex/xepersian-hm/xepersian-hm-doc.ltx | 6 +-- .../xetex/latex/xepersian-hm/xepersian-hm-doc.pdf | Bin 264881 -> 264837 bytes macros/xetex/latex/xepersian-hm/xepersian-hm.dtx | 46 ++++++++++++--------- macros/xetex/latex/xepersian-hm/xepersian-hm.pdf | Bin 57525 -> 58016 bytes 4 files changed, 30 insertions(+), 22 deletions(-) (limited to 'macros/xetex') diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx index 42c5562caf..e114505229 100644 --- a/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx +++ b/macros/xetex/latex/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/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf index 06a9d05ddd..161c34f012 100644 Binary files a/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf and b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf differ diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx b/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx index d762f805d3..582a05d638 100644 --- a/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx +++ b/macros/xetex/latex/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/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf b/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf index bf0ff83fe0..c244dee46f 100644 Binary files a/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf and b/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf differ -- cgit v1.2.3