From 092dff4bfcbe6db899f2ae3f6074a0a76686d6c1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 4 Jun 2020 21:10:35 +0000 Subject: xepersian-hm (4jun20) git-svn-id: svn://tug.org/texlive/trunk@55417 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/xelatex/xepersian-hm/INSTALL.txt | 2 +- .../xelatex/xepersian-hm/kashida-glyph-example.pdf | Bin 149558 -> 149502 bytes .../xepersian-hm/kashida-leaders-glyph-example.pdf | Bin 144562 -> 145149 bytes .../xepersian-hm/kashida-leaders-glyph-example.tex | 3 +- .../xepersian-hm/kashida-leaders-hrule-example.pdf | Bin 147870 -> 147896 bytes .../xepersian-hm/kashida-leaders-hrule-example.tex | 2 +- .../xepersian-hm/kashida-xep-XB-example.pdf | Bin 100363 -> 100197 bytes .../xepersian-hm/kashida-xep-XB-example.tex | 2 +- .../doc/xelatex/xepersian-hm/xepersian-hm-doc.ltx | 8 ++++- .../doc/xelatex/xepersian-hm/xepersian-hm-doc.pdf | Bin 267314 -> 268013 bytes .../doc/xelatex/xepersian-hm/xepersian-hm.pdf | Bin 59000 -> 59687 bytes .../source/xelatex/xepersian-hm/xepersian-hm.dtx | 34 +++++++++++++++------ .../xelatex/xepersian-hm/kashida-xepersian-hm.def | 7 +++-- .../tex/xelatex/xepersian-hm/xepersian-hm.sty | 19 ++++++++++-- 14 files changed, 58 insertions(+), 19 deletions(-) diff --git a/Master/texmf-dist/doc/xelatex/xepersian-hm/INSTALL.txt b/Master/texmf-dist/doc/xelatex/xepersian-hm/INSTALL.txt index 340d9819aac..6c4c2415e92 100644 --- a/Master/texmf-dist/doc/xelatex/xepersian-hm/INSTALL.txt +++ b/Master/texmf-dist/doc/xelatex/xepersian-hm/INSTALL.txt @@ -1,7 +1,7 @@ xepersian-hm -- INSTALL ====================== - Source: xepersian-hm.dtx ( 2020/05/11 v0.5e) + Source: xepersian-hm.dtx (2020-06-04 v1.0b) Author: Hossein Movahhedian Info: filecontents + macro + verbatim License: LPPL 1.3c diff --git a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-glyph-example.pdf b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-glyph-example.pdf index 8ea503d2210..144600ad08b 100644 Binary files a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-glyph-example.pdf and b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-glyph-example.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-glyph-example.pdf b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-glyph-example.pdf index 6f4530ae89a..49280769e07 100644 Binary files a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-glyph-example.pdf and b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-glyph-example.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-glyph-example.tex b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-glyph-example.tex index bad9ac6a55e..41ecd9f013d 100644 --- a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-glyph-example.tex +++ b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-glyph-example.tex @@ -5,6 +5,7 @@ % \textheight=620pt % \usepackage[Kashida]{xepersian} % Fails % \usepackage{xepersian-hm} % Succeeds +% \usepackage[Kashida=On,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} % Succeeds \usepackage[Kashida=leaders+glyph,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} % Succeeds % \usepackage[Kashida=hrule,kashidastretch=0.14 em plus 5.5 em]{xepersian-hm} % Succeeds % \usepackage[Kashida=glyph,linebreakpenalty=8,kashidastretch=0.14 em plus 5.5 em]{xepersian-hm} % Succeeds @@ -60,7 +61,7 @@ \begin{latin} \begin{center} -\Huge\textsf{xepersian-hm}\vspace{20pt}\\ Example of Use\vspace{20pt}\\ \texttt{Kashida=hrule} \vspace{40pt} +\Huge\textsf{xepersian-hm}\vspace{20pt}\\ Example of Use\vspace{20pt}\\ \texttt{Kashida=leaders+glyph} \vspace{40pt} {\Large \begin{tabular}{ll} diff --git a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-hrule-example.pdf b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-hrule-example.pdf index 51f7f1b0249..e7a50aa8971 100644 Binary files a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-hrule-example.pdf and b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-hrule-example.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-hrule-example.tex b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-hrule-example.tex index 0045ebe69e3..ea0f19e1e4a 100644 --- a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-hrule-example.tex +++ b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-leaders-hrule-example.tex @@ -60,7 +60,7 @@ \begin{latin} \begin{center} -\Huge\textsf{xepersian-hm}\vspace{20pt}\\ Example of Use\vspace{20pt}\\ \texttt{Kashida=hrule} \vspace{40pt} +\Huge\textsf{xepersian-hm}\vspace{20pt}\\ Example of Use\vspace{20pt}\\ \texttt{Kashida=leaders+hrule} \vspace{40pt} {\Large \begin{tabular}{ll} diff --git a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-xep-XB-example.pdf b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-xep-XB-example.pdf index 098cef1e4f0..9e233e6ab7f 100644 Binary files a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-xep-XB-example.pdf and b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-xep-XB-example.pdf differ diff --git a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-xep-XB-example.tex b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-xep-XB-example.tex index 6e5b13ef8bb..ad9f1932391 100644 --- a/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-xep-XB-example.tex +++ b/Master/texmf-dist/doc/xelatex/xepersian-hm/kashida-xep-XB-example.tex @@ -23,7 +23,7 @@ \begin{latin} \begin{center} -\Huge\textsf{xepersian}\vspace{20pt}\\ Example of Use\vspace{20pt}\\ \texttt{Kashida=hrule} \vspace{40pt} +\Huge\textsf{xepersian}\vspace{20pt}\\ Example of Use\vspace{20pt}\\ \texttt{Kashida=On} \vspace{40pt} {\Large \begin{tabular}{ll} 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 535b6dedd41..e2c64b30732 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-31 \quad v1.0a} +\date{Released \quad 2020-06-04 \quad v1.0b} \let\tmpthepage\thepage \renewcommand{\thepage}{\lr{\Large\textbf\tmpthepage}} @@ -187,6 +187,12 @@ The options available in \textsf{xepersian-hm} are: \item \texttt{leaders+hrule}: \\ which uses horizontal rule (\verb|\hrule|) leaders to stretch the text. + \item \texttt{Off}: \\ + which disables kashida feature. + + \item \texttt{On}: \\ + which is the same as \texttt{leaders+glyph}. + \end{itemize} Also, please note that the value of \texttt{Kashida} is mandatory. For example \texttt{Kashida=glyph} inserts a stretched \texttt{kashida} glyph 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 9df6063331e..5c0adbb3572 100644 Binary files a/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.pdf and b/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm-doc.pdf 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 610320c3e89..60f34fde89e 100644 Binary files a/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm.pdf and b/Master/texmf-dist/doc/xelatex/xepersian-hm/xepersian-hm.pdf 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 0daba1b3e04..8628fb08cc7 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-31 \quad v1.0a} +% \date{Released \quad 2020-06-04 \quad v1.0b} % % \maketitle % @@ -96,7 +96,7 @@ make time to fix. \RequirePackage{zref-savepos}[2020-03-03] \RequirePackage{xepersian} \ExplSyntaxOn -\ProvidesExplPackage {xepersian-hm} {2020-05-31} {1.0a} { Fixes~issues~in~xepersian~package } +\ProvidesExplPackage {xepersian-hm} {2020-06-04} {1.0b} { Fixes~issues~in~xepersian~package } \box_new:N \l_xephm_ksh_box @@ -151,6 +151,8 @@ make time to fix. \tl_set:Nn \l_xephm_stretch_glyph_tl { glyph } \tl_set:Nn \l_xephm_stretch_leaders_glyph_tl { leaders+glyph } \tl_set:Nn \l_xephm_stretch_leaders_hrule_tl { leaders+hrule } +\tl_set:Nn \l_xephm_stretch_off_tl { Off } +\tl_set:Nn \l_xephm_stretch_on_tl { On } \tl_set:Nn \l_xephm_fnt_kayhan_tl { kayhan } \tl_set:Nn \l_xephm_fnt_kayhannavaar_tl { kayhannavaar } @@ -268,18 +270,30 @@ make time to fix. \msg_error:nnx { xepersian-hm } { error-kashida-character-is-not-available-in-the-main-font } { \l_xephm_main_font_name_tl } } } + \bool_set_true:N \l_xephm_kashida_hm_fix_bool } \l_xephm_stretch_leaders_glyph_tl { \tl_set:Nx \l_xephm_gap_filler_tl { \l_xephm_stretch_leaders_glyph_tl } + \bool_set_true:N \l_xephm_kashida_hm_fix_bool } \l_xephm_stretch_leaders_hrule_tl { \tl_set:Nx \l_xephm_gap_filler_tl { \l_xephm_stretch_leaders_hrule_tl } + \bool_set_true:N \l_xephm_kashida_hm_fix_bool + } + \l_xephm_stretch_off_tl + { + \tl_set:Nx \l_xephm_gap_filler_tl { \l_xephm_stretch_off_tl } + \bool_set_false:N \l_xephm_kashida_hm_fix_bool + } + \l_xephm_stretch_on_tl + { + \tl_set:Nx \l_xephm_gap_filler_tl { \l_xephm_stretch_leaders_glyph_tl } + \bool_set_true:N \l_xephm_kashida_hm_fix_bool } } { } { \tl_set:Nx \l_xephm_gap_filler_tl { #1 } } \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 } , linebreakpenalty .code:n = @@ -353,7 +367,6 @@ make time to fix. \bool_set_true:N \l_xephm_ligature_bool } , ligatures .default:n = \tl_set:Nn \l_xephm_active_ligs_tl { \l_xephm_lig_default_tl } , - } \ProcessKeysOptions { xepersian-hm } @@ -372,7 +385,7 @@ make time to fix. % \begin{macrocode} %<*kashida-xepersian-hm-def> \ExplSyntaxOn -\ProvidesExplFile {kashida-xepersian-hm.def} {2020-05-31} {1.0a} { Fixes~implementation~of~Kashida~in~xepersian~package } +\ProvidesExplFile {kashida-xepersian-hm.def} {2020-06-04} {1.0b} { Fixes~implementation~of~Kashida~in~xepersian~package } \newXeTeXintercharclass \c_xephm_d_charclass % dual-joiner class \newXeTeXintercharclass \c_xephm_l_charclass % lam @@ -429,7 +442,7 @@ make time to fix. { \skip_horizontal:N \l_tmpa_skip \tex_ignorespaces:D } \fi: } - + \NewDocumentCommand { \discouragebadlinebreaks } { O{\l_xephm_line_break_penalty_int} O{\c_xephm_skip_b_tl} m } { \IfNoValueF {#1} @@ -438,7 +451,7 @@ make time to fix. { \tl_set:Nn \l_xephm_skip_default_tl {#2} } \xephm_put_line_breaks:n { #3 } } - + \cs_new_protected:Nn \xephm_put_line_breaks:n { \tl_set:Nn \l_xephm_line_break_tl { #1 } @@ -498,7 +511,7 @@ make time to fix. { \bool_if:NT \l_xephm_kashida_hm_fix_bool { - \tl_if_eq:NNTF \l_xephm_gap_filler_tl \l_xephm_stretch_leaders_glyph_tl + \tl_if_eq:NNTF \l_xephm_gap_filler_tl \l_xephm_stretch_leaders_glyph_tl { \tl_set:Nx \l_xephm_font_full_tl { \tex_fontname:D \tex_the:D \tex_font:D } \tl_set:Nx \l_xephm_font_name_tl { \l_xephm_font_full_tl } @@ -636,7 +649,10 @@ make time to fix. \makeatletter \newif\if@Kashida@on -\newif\if@Kashida@XB@fix +%% Becuase Vafa Khalighi has copied the above code (injecting the character uni+200E) in xepersian-23.0 +%% (https://tug.org/svn/texlive/trunk/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def?revision=55165&view=co), +%% the following line of code is not needed in xepersian anymore. +%% % \newif\if@Kashida@XB@fix \makeatother \endinput 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 e936a9d2a8d..3395c11efda 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-31} {1.0a} { Fixes~implementation~of~Kashida~in~xepersian~package } +\ProvidesExplFile {kashida-xepersian-hm.def} {2020-06-04} {1.0b} { Fixes~implementation~of~Kashida~in~xepersian~package } \newXeTeXintercharclass \c_xephm_d_charclass % dual-joiner class \newXeTeXintercharclass \c_xephm_l_charclass % lam @@ -277,7 +277,10 @@ \makeatletter \newif\if@Kashida@on -\newif\if@Kashida@XB@fix +%% Becuase Vafa Khalighi has copied the above code (injecting the character uni+200E) in xepersian-23.0 +%% (https://tug.org/svn/texlive/trunk/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def?revision=55165&view=co), +%% the following line of code is not needed in xepersian anymore. +%% % \newif\if@Kashida@XB@fix \makeatother \endinput 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 cc493c22a31..5a2ef343be2 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-31} {1.0a} { Fixes~issues~in~xepersian~package } +\ProvidesExplPackage {xepersian-hm} {2020-06-04} {1.0b} { Fixes~issues~in~xepersian~package } \box_new:N \l_xephm_ksh_box @@ -86,6 +86,8 @@ \tl_set:Nn \l_xephm_stretch_glyph_tl { glyph } \tl_set:Nn \l_xephm_stretch_leaders_glyph_tl { leaders+glyph } \tl_set:Nn \l_xephm_stretch_leaders_hrule_tl { leaders+hrule } +\tl_set:Nn \l_xephm_stretch_off_tl { Off } +\tl_set:Nn \l_xephm_stretch_on_tl { On } \tl_set:Nn \l_xephm_fnt_kayhan_tl { kayhan } \tl_set:Nn \l_xephm_fnt_kayhannavaar_tl { kayhannavaar } @@ -203,18 +205,30 @@ \msg_error:nnx { xepersian-hm } { error-kashida-character-is-not-available-in-the-main-font } { \l_xephm_main_font_name_tl } } } + \bool_set_true:N \l_xephm_kashida_hm_fix_bool } \l_xephm_stretch_leaders_glyph_tl { \tl_set:Nx \l_xephm_gap_filler_tl { \l_xephm_stretch_leaders_glyph_tl } + \bool_set_true:N \l_xephm_kashida_hm_fix_bool } \l_xephm_stretch_leaders_hrule_tl { \tl_set:Nx \l_xephm_gap_filler_tl { \l_xephm_stretch_leaders_hrule_tl } + \bool_set_true:N \l_xephm_kashida_hm_fix_bool + } + \l_xephm_stretch_off_tl + { + \tl_set:Nx \l_xephm_gap_filler_tl { \l_xephm_stretch_off_tl } + \bool_set_false:N \l_xephm_kashida_hm_fix_bool + } + \l_xephm_stretch_on_tl + { + \tl_set:Nx \l_xephm_gap_filler_tl { \l_xephm_stretch_leaders_glyph_tl } + \bool_set_true:N \l_xephm_kashida_hm_fix_bool } } { } { \tl_set:Nx \l_xephm_gap_filler_tl { #1 } } \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 } , linebreakpenalty .code:n = @@ -288,7 +302,6 @@ \bool_set_true:N \l_xephm_ligature_bool } , ligatures .default:n = \tl_set:Nn \l_xephm_active_ligs_tl { \l_xephm_lig_default_tl } , - } \ProcessKeysOptions { xepersian-hm } -- cgit v1.2.3