diff options
-rw-r--r-- | Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.ltx | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.pdf | bin | 264881 -> 264837 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm.pdf | bin | 57525 -> 58016 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/xelatex/xepersian-hm/xepersian-hm.dtx | 46 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xepersian-hm/kashida-xepersian-hm.def | 26 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xepersian-hm/xepersian-hm.sty | 18 |
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 Binary files differindex 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 diff --git a/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm.pdf b/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm.pdf Binary files differindex 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 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 } , |