From c720a4409b388fa706f3eb1ce275f76f7d49d996 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Fri, 20 Mar 2020 03:01:17 +0000 Subject: CTAN sync 202003200301 --- .../latex/xepersian-hm/kashida-xepersian-hm.def | 96 ++++++++++----------- macros/xetex/latex/xepersian-hm/test-kasida.pdf | Bin 17987 -> 17987 bytes macros/xetex/latex/xepersian-hm/xepersian-hm.sty | 2 +- 3 files changed, 49 insertions(+), 49 deletions(-) (limited to 'macros/xetex') diff --git a/macros/xetex/latex/xepersian-hm/kashida-xepersian-hm.def b/macros/xetex/latex/xepersian-hm/kashida-xepersian-hm.def index ce3a9600dc..b1d21e2813 100644 --- a/macros/xetex/latex/xepersian-hm/kashida-xepersian-hm.def +++ b/macros/xetex/latex/xepersian-hm/kashida-xepersian-hm.def @@ -10,20 +10,20 @@ %% Copyright notice: the following code is partly adapted from the code in %% 'kashida-xepersian.def' from xepersian package (v22.8). \ExplSyntaxOn -\ProvidesExplFile {kashida-xepersian.def} {2018/01/04} {0.1} { Fixes~implementation~of~Kashida~in~xepersian~package } - -\int_const:Nn \c_xepersian_zwj_int {"200D} % zero-width joiner -\int_const:Nn \c_xepersian_lrm_int {"200E} % left-right-mark -\int_const:Nn \c_xepersian_two_int {2} % 2 -\int_const:Nn \c_xepersian_four_int {4} % 4 -\int_const:Nn \c_xepersian_ksh_int {"0640} % kashida -\int_const:Nn \c_xepersian_d_int {10} % dual-joiner class -\int_const:Nn \c_xepersian_l_int {11} % lam -\int_const:Nn \c_xepersian_r_int {12} % right-joiner -\int_const:Nn \c_xepersian_a_int {13} % alef -\int_const:Nn \c_xepersian_h_int {14} % heh -\int_const:Nn \c_xepersian_y_int {15} % yeh -\int_const:Nn \c_xepersian_v_int {4096} % vowel or other combining mark (to be ignored) +\ProvidesExplFile {kashida-xepersian-hm.def} {2020/03/19} {0.2} { Fixes~implementation~of~Kashida~in~xepersian~package } + +\int_const:Nn \c_xepersianhm_zwj_int {"200D} % zero-width joiner +\int_const:Nn \c_xepersianhm_lrm_int {"200E} % left-right-mark +\int_const:Nn \c_xepersianhm_two_int {2} % 2 +\int_const:Nn \c_xepersianhm_four_int {4} % 4 +\int_const:Nn \c_xepersianhm_ksh_int {"0640} % kashida +\int_const:Nn \c_xepersianhm_d_int {10} % dual-joiner class +\int_const:Nn \c_xepersianhm_l_int {11} % lam +\int_const:Nn \c_xepersianhm_r_int {12} % right-joiner +\int_const:Nn \c_xepersianhm_a_int {13} % alef +\int_const:Nn \c_xepersianhm_h_int {14} % heh +\int_const:Nn \c_xepersianhm_y_int {15} % yeh +\int_const:Nn \c_xepersianhm_v_int {4096} % vowel or other combining mark (to be ignored) \bool_new:N \l_kashida_on_bool \bool_new:N \l_kashida_hm_fix_bool @@ -36,63 +36,63 @@ { \bool_if:NT \l_kashida_on_bool { - \c_xepersian_lrm_int\c_xepersian_zwj_int\tex_penalty:D 10000 - \tex_leaders:D \tex_hrule:D height \XeTeXglyphbounds \c_xepersian_two_int - \int_use:N \XeTeXcharglyph \c_xepersian_ksh_int depth \XeTeXglyphbounds \c_xepersian_four_int - \int_use:N \XeTeXcharglyph \c_xepersian_ksh_int \skip_horizontal:n { #1 } - \c_xepersian_zwj_int + \c_xepersianhm_lrm_int\c_xepersianhm_zwj_int\tex_penalty:D 10000 + \tex_leaders:D \tex_hrule:D height \XeTeXglyphbounds \c_xepersianhm_two_int + \int_use:N \XeTeXcharglyph \c_xepersianhm_ksh_int depth \XeTeXglyphbounds \c_xepersianhm_four_int + \int_use:N \XeTeXcharglyph \c_xepersianhm_ksh_int \skip_horizontal:n { #1 } + \c_xepersianhm_zwj_int } } \XeTeXinterchartokenstate = 1 -\clist_set:Nn \l_xepersian_a_clist { 0622,0623,0625,0627 } % ‏ا، إ، أ، آ‏ -\clist_map_inline:Nn \l_xepersian_a_clist +\clist_set:Nn \l_xepersianhm_a_clist { 0622,0623,0625,0627 } % ‏ا، إ، أ، آ‏ +\clist_map_inline:Nn \l_xepersianhm_a_clist { - \XeTeXcharclass "#1 \c_xepersian_a_int + \XeTeXcharclass "#1 \c_xepersianhm_a_int } -\clist_set:Nn \l_xepersian_d_clist { 0626,0628,062A,062B,062C,062D,062E,0633,0634,0635,0636,0637,0638,0639,063A,0640,0641,0642,0643,0645,0646,0647,067E,0686,06A9,06AF } % ‏ئ,ب,ت,ث,ج,ح,خ,س,ش,ص,ض,ط,ظ,ع,غ,ـ,ف,ق,ك,م,ن,ه,پ,چ,ک,گ‏ -\clist_map_inline:Nn \l_xepersian_d_clist +\clist_set:Nn \l_xepersianhm_d_clist { 0626,0628,062A,062B,062C,062D,062E,0633,0634,0635,0636,0637,0638,0639,063A,0640,0641,0642,0643,0645,0646,0647,067E,0686,06A9,06AF } % ‏ئ,ب,ت,ث,ج,ح,خ,س,ش,ص,ض,ط,ظ,ع,غ,ـ,ف,ق,ك,م,ن,ه,پ,چ,ک,گ‏ +\clist_map_inline:Nn \l_xepersianhm_d_clist { - \XeTeXcharclass "#1 \c_xepersian_d_int + \XeTeXcharclass "#1 \c_xepersianhm_d_int } -\clist_set:Nn \l_xepersian_l_clist { 0644 } % ‏ل‏ -\clist_map_inline:Nn \l_xepersian_l_clist +\clist_set:Nn \l_xepersianhm_l_clist { 0644 } % ‏ل‏ +\clist_map_inline:Nn \l_xepersianhm_l_clist { - \XeTeXcharclass "#1 \c_xepersian_l_int + \XeTeXcharclass "#1 \c_xepersianhm_l_int } -\clist_set:Nn \l_xepersian_r_clist { 0624,0629,062F,0630,0631,0632,0648,0698 } % ‏ؤ,ة,د,ذ,ر,ز,و,ژ‏ -\clist_map_inline:Nn \l_xepersian_r_clist +\clist_set:Nn \l_xepersianhm_r_clist { 0624,0629,062F,0630,0631,0632,0648,0698 } % ‏ؤ,ة,د,ذ,ر,ز,و,ژ‏ +\clist_map_inline:Nn \l_xepersianhm_r_clist { - \XeTeXcharclass "#1 \c_xepersian_r_int + \XeTeXcharclass "#1 \c_xepersianhm_r_int } -\clist_set:Nn \l_xepersian_v_clist { 064B,064C,064D,064E,064F,0650,0651,0652 } % ‏ً,ٌ,ٍ,َ,ُ,ِ,ّ,ْ‏ -\clist_map_inline:Nn \l_xepersian_v_clist +\clist_set:Nn \l_xepersianhm_v_clist { 064B,064C,064D,064E,064F,0650,0651,0652 } % ‏ً,ٌ,ٍ,َ,ُ,ِ,ّ,ْ‏ +\clist_map_inline:Nn \l_xepersianhm_v_clist { - \XeTeXcharclass "#1 \c_xepersian_v_int + \XeTeXcharclass "#1 \c_xepersianhm_v_int } -\clist_set:Nn \l_xepersian_y_clist { 0649,064A,06CC } -\clist_map_inline:Nn \l_xepersian_y_clist +\clist_set:Nn \l_xepersianhm_y_clist { 0649,064A,06CC } +\clist_map_inline:Nn \l_xepersianhm_y_clist { - \XeTeXcharclass "#1 \c_xepersian_y_int + \XeTeXcharclass "#1 \c_xepersianhm_y_int } -\XeTeXinterchartoks \c_xepersian_y_int \c_xepersian_y_int = {\bool_if:NTF \l_kashida_hm_fix_bool {\xepersian_kashida {\l_hskip_default_tl}} {\xepersian_kashida \l_hskip_zero_tl}} -\XeTeXinterchartoks \c_xepersian_d_int \c_xepersian_y_int = {\bool_if:NTF \l_kashida_hm_fix_bool {\xepersian_kashida {\l_hskip_default_tl}} {\xepersian_kashida \l_hskip_zero_tl}} -\XeTeXinterchartoks \c_xepersian_y_int \c_xepersian_d_int = {\xepersian_kashida \l_hskip_zero_tl} -\XeTeXinterchartoks \c_xepersian_d_int \c_xepersian_d_int = {\xepersian_kashida \l_hskip_zero_tl} -\XeTeXinterchartoks \c_xepersian_l_int \c_xepersian_d_int = {\xepersian_kashida \l_hskip_zero_tl} -\XeTeXinterchartoks \c_xepersian_d_int \c_xepersian_l_int = {\xepersian_kashida \l_hskip_zero_tl} -\XeTeXinterchartoks \c_xepersian_l_int \c_xepersian_l_int = {\xepersian_kashida \l_hskip_zero_tl} -\XeTeXinterchartoks \c_xepersian_d_int \c_xepersian_r_int = {\xepersian_kashida \l_hskip_zero_tl} -\XeTeXinterchartoks \c_xepersian_d_int \c_xepersian_a_int = {\xepersian_kashida \l_hskip_zero_tl} -\XeTeXinterchartoks \c_xepersian_l_int \c_xepersian_r_int = {\xepersian_kashida \l_hskip_zero_tl} -\XeTeXinterchartoks \c_xepersian_l_int \c_xepersian_a_int = {} +\XeTeXinterchartoks \c_xepersianhm_y_int \c_xepersianhm_y_int = {\bool_if:NTF \l_kashida_hm_fix_bool {\xepersian_kashida {\l_hskip_default_tl}} {\xepersian_kashida \l_hskip_zero_tl}} +\XeTeXinterchartoks \c_xepersianhm_d_int \c_xepersianhm_y_int = {\bool_if:NTF \l_kashida_hm_fix_bool {\xepersian_kashida {\l_hskip_default_tl}} {\xepersian_kashida \l_hskip_zero_tl}} +\XeTeXinterchartoks \c_xepersianhm_y_int \c_xepersianhm_d_int = {\xepersian_kashida \l_hskip_zero_tl} +\XeTeXinterchartoks \c_xepersianhm_d_int \c_xepersianhm_d_int = {\xepersian_kashida \l_hskip_zero_tl} +\XeTeXinterchartoks \c_xepersianhm_l_int \c_xepersianhm_d_int = {\xepersian_kashida \l_hskip_zero_tl} +\XeTeXinterchartoks \c_xepersianhm_d_int \c_xepersianhm_l_int = {\xepersian_kashida \l_hskip_zero_tl} +\XeTeXinterchartoks \c_xepersianhm_l_int \c_xepersianhm_l_int = {\xepersian_kashida \l_hskip_zero_tl} +\XeTeXinterchartoks \c_xepersianhm_d_int \c_xepersianhm_r_int = {\xepersian_kashida \l_hskip_zero_tl} +\XeTeXinterchartoks \c_xepersianhm_d_int \c_xepersianhm_a_int = {\xepersian_kashida \l_hskip_zero_tl} +\XeTeXinterchartoks \c_xepersianhm_l_int \c_xepersianhm_r_int = {\xepersian_kashida \l_hskip_zero_tl} +\XeTeXinterchartoks \c_xepersianhm_l_int \c_xepersianhm_a_int = {} \NewDocumentCommand \KashidaOn {} { \bool_set_true:N \l_kashida_on_bool } \NewDocumentCommand \KashidaOff {} { \bool_set_false:N \l_kashida_on_bool } diff --git a/macros/xetex/latex/xepersian-hm/test-kasida.pdf b/macros/xetex/latex/xepersian-hm/test-kasida.pdf index 546432f082..e2c92cbc99 100644 Binary files a/macros/xetex/latex/xepersian-hm/test-kasida.pdf and b/macros/xetex/latex/xepersian-hm/test-kasida.pdf differ diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm.sty b/macros/xetex/latex/xepersian-hm/xepersian-hm.sty index 568c000c5e..441eac197f 100644 --- a/macros/xetex/latex/xepersian-hm/xepersian-hm.sty +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm.sty @@ -11,7 +11,7 @@ \NeedsTeXFormat{LaTeX2e} \RequirePackage{l3keys2e} \RequirePackage{xepersian} -\ProvidesExplPackage {xepersian-hm} {2020-03-17} {0.1} { Fixes~issues~in~xepersian~package } +\ProvidesExplPackage {xepersian-hm} {2020-03-19} {0.2} { Fixes~issues~in~xepersian~package } \tl_set:Nn \l_kayhan_tl { kayhan } \tl_set:Nn \l_khorramshahr_tl { khorramshahr } -- cgit v1.2.3