
16 changed files with 229827 additions and 0 deletions
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
--- etex.src.orig 2015-09-16 14:17:48.263123165 -0400 |
||||
+++ etex.src 2015-09-16 14:14:20.673610421 -0400 |
||||
@@ -290,8 +290,10 @@ |
||||
|
||||
\def \addlanguage #1#2#3#4#5% language patterns exceptions lhm rhm |
||||
{\expandafter \et@xlang \csname lang@#1\endcsname |
||||
- \expandafter \chardef \csname lhm@#1\endcsname=#4 % V1.0-1 |
||||
- \expandafter \chardef \csname rhm@#1\endcsname=#5 % V1.0-1 |
||||
+ \def\paramD{#4}\ifx\paramD\empty\def\paramD{1}\fi % Default value lhm is 1 % V2.1-1 |
||||
+ \def\paramE{#5}\ifx\paramD\empty\def\paramE{1}\fi % Default value rhm is 1 % V2.1-1 |
||||
+ \expandafter \chardef \csname lhm@#1\endcsname=\paramD % V2.1-1 |
||||
+ \expandafter \chardef \csname rhm@#1\endcsname=\paramE % V2.1-1 |
||||
\uselanguage {#1}% |
||||
\input #2 |
||||
\if *#3*\else \input #3 \fi |
||||
@@ -776,6 +778,9 @@ |
||||
|
||||
%% Revision-history: |
||||
|
||||
+24-ARP-2015: 2.1;1 Allow empty values on \addlanguages for parameters 4 and 5 |
||||
+ Changed by Edgar Hoch |
||||
+ |
||||
01-FEB-1999: 2.1;0 Allow file to be used with e-TeX versions 2.0 and 2.1 |
||||
|
||||
25-MAR-1998: 2.0;19 Improved log message for \{glob|loc}{marks|box}vector (PEB) |
Binary file not shown.
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
--- tabu.sty.old 2019-01-14 17:10:48.000000000 -0500 |
||||
+++ tabu.sty 2019-12-11 09:16:55.745034664 -0500 |
||||
@@ -52,12 +52,12 @@ |
||||
%% lppl copyright 2010-2011 by FC <florent.chervet@free.fr> |
||||
%% |
||||
%% Updated 2019-01-11 |
||||
-%% Copyright 2019 tabu-fixed github group (LaTeX3 Project members) |
||||
-%% Please report any issues at https://github.com/tabu-fixed/tabu |
||||
+%% Copyright 2019 tabu-issues-for-future-maintainer github group (LaTeX3 Project members) |
||||
+%% Please report any issues at https://github.com/tabu-issues-for-future-maintainer/tabu |
||||
%% |
||||
|
||||
\NeedsTeXFormat{LaTeX2e} |
||||
-\ProvidesPackage{tabu}[2019/01/11 v2.9 - flexible LaTeX tabulars (FC+tabu-fixed)] |
||||
+\ProvidesPackage{tabu}[2019/01/11 v2.9 - flexible LaTeX tabulars (FC+tabu-issues-for-future-maintainer) + intermediate FMi] |
||||
\RequirePackage{array}[2008/09/09] |
||||
\RequirePackage{varwidth}[2009/03/30] |
||||
\AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined} |
||||
@@ -727,6 +727,10 @@ |
||||
\tabu@currentgrouptype\expandafter{\the\currentgrouptype}}% |
||||
\fi |
||||
}% \tabu@init |
||||
+%%TABU-FIXED set up \tabu@currentgrouptype |
||||
+%FMi cancel for nested arrays ... |
||||
+\def\@tabarray{\m@th\def\tabu@currentgrouptype{\currentgrouptype}\@ifnextchar[\@array{\@array[c]}} |
||||
+ |
||||
\def\tabu@indent{% correction for indentation |
||||
\ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget |
||||
\everypar\expandafter{% |
||||
@@ -1663,6 +1667,9 @@ |
||||
\ifdim \tabu@temp\p@>\z@ \ifdim \tabu@temp\tabucolX<\tabu@target |
||||
\tabu@target=\tabu@temp\tabucolX \fi\fi |
||||
\setbox\tabu@box \hbox \bgroup |
||||
+%%TABU-FIXED add \color@begingroup |
||||
+%%FMi not yet understood why this one is also needed ... |
||||
+ \color@begingroup |
||||
\begin{varwidth}\tabu@target |
||||
\let\FV@ListProcessLine \tabu@FV@ListProcessLine % \hbox to natural width... |
||||
\narrowragged \arraybackslash \parfillskip \@flushglue |
@ -0,0 +1,40 @@
@@ -0,0 +1,40 @@
|
||||
diff -up source/texk/kpathsea/texmf.cnf.fixme source/texk/kpathsea/texmf.cnf |
||||
--- source/texk/kpathsea/texmf.cnf.fixme 2016-10-19 15:35:25.804218872 -0400 |
||||
+++ source/texk/kpathsea/texmf.cnf 2016-10-19 15:37:19.308035612 -0400 |
||||
@@ -491,17 +491,17 @@ RUBYINPUTS = .;$TEXMF/scripts/{$progna |
||||
% |
||||
TEXMFCNF = {\ |
||||
$SELFAUTOLOC,\ |
||||
-$SELFAUTOLOC/share/texmf-local/web2c,\ |
||||
-$SELFAUTOLOC/share/texmf-dist/web2c,\ |
||||
-$SELFAUTOLOC/share/texmf/web2c,\ |
||||
+$SELFAUTOLOC/share/texlive/texmf-local/web2c,\ |
||||
+$SELFAUTOLOC/share/texlive/texmf-dist/web2c,\ |
||||
+$SELFAUTOLOC/share/texlive/texmf/web2c,\ |
||||
$SELFAUTOLOC/texmf-local/web2c,\ |
||||
$SELFAUTOLOC/texmf-dist/web2c,\ |
||||
$SELFAUTOLOC/texmf/web2c,\ |
||||
\ |
||||
$SELFAUTODIR,\ |
||||
-$SELFAUTODIR/share/texmf-local/web2c,\ |
||||
-$SELFAUTODIR/share/texmf-dist/web2c,\ |
||||
-$SELFAUTODIR/share/texmf/web2c,\ |
||||
+$SELFAUTODIR/share/texlive/texmf-local/web2c,\ |
||||
+$SELFAUTODIR/share/texlive/texmf-dist/web2c,\ |
||||
+$SELFAUTODIR/share/texlive/texmf/web2c,\ |
||||
$SELFAUTODIR/texmf-local/web2c,\ |
||||
$SELFAUTODIR/texmf-dist/web2c,\ |
||||
$SELFAUTODIR/texmf/web2c,\ |
||||
@@ -509,9 +509,9 @@ $SELFAUTODIR/texmf/web2c,\ |
||||
$SELFAUTOGRANDPARENT/texmf-local/web2c,\ |
||||
$SELFAUTOPARENT,\ |
||||
\ |
||||
-$SELFAUTOPARENT/share/texmf-local/web2c,\ |
||||
-$SELFAUTOPARENT/share/texmf-dist/web2c,\ |
||||
-$SELFAUTOPARENT/share/texmf/web2c,\ |
||||
+$SELFAUTOPARENT/share/texlive/texmf-local/web2c,\ |
||||
+$SELFAUTOPARENT/share/texlive/texmf-dist/web2c,\ |
||||
+$SELFAUTOPARENT/share/texlive/texmf/web2c,\ |
||||
$SELFAUTOPARENT/texmf-local/web2c,\ |
||||
$SELFAUTOPARENT/texmf-dist/web2c,\ |
||||
$SELFAUTOPARENT/texmf/web2c\ |
@ -0,0 +1,121 @@
@@ -0,0 +1,121 @@
|
||||
diff -U0 texlive-2016/source/texk/upmendex/ChangeLog.than texlive-2016/source/texk/upmendex/ChangeLog |
||||
--- texlive-2016/source/texk/upmendex/ChangeLog.than 2017-03-08 15:14:32.529825017 +0100 |
||||
+++ texlive-2016/source/texk/upmendex/ChangeLog 2017-03-08 15:17:34.235944067 +0100 |
||||
@@ -0,0 +1,6 @@ |
||||
+2016-06-19 TANAKA Takuji <ttk@t-lab.opal.ne.jp> |
||||
+ |
||||
+ * version 0.51 Beta version. |
||||
+ * fwrite.c: Fix bug of option "hanzi_head" in style file. |
||||
+ Thanks to Dr. Werner Fink. |
||||
+ |
||||
diff -up texlive-2016/source/texk/upmendex/fwrite.c.than texlive-2016/source/texk/upmendex/fwrite.c |
||||
--- texlive-2016/source/texk/upmendex/fwrite.c.than 2017-03-08 15:13:29.460213372 +0100 |
||||
+++ texlive-2016/source/texk/upmendex/fwrite.c 2017-03-08 15:17:34.235944067 +0100 |
||||
@@ -67,33 +67,38 @@ static inline int SAPPENDF(char *buf, co |
||||
|
||||
static void fprint_uchar(FILE *fp, const UChar *a, const int mode, const int len) |
||||
{ |
||||
- int k; |
||||
- char str[15], *ret; |
||||
- UChar istr[5]; |
||||
+ char str[3*INITIALLENGTH+1]; |
||||
+ UChar istr[INITIALLENGTH]; |
||||
int olen, wclen; |
||||
UErrorCode perr; |
||||
|
||||
if (len<0) { |
||||
- for (k=0; a[k] || k<4; k++) istr[k]=a[k]; |
||||
- wclen=k; |
||||
+ u_strcpy(istr,a); |
||||
+ wclen=u_strlen(istr); |
||||
} else { |
||||
- wclen = is_surrogate_pair(a) ? 2 : 1; |
||||
+ wclen=is_surrogate_pair(a) ? 2 : 1; |
||||
istr[0]=a[0]; |
||||
if (wclen==2) istr[1]=a[1]; |
||||
+ istr[wclen]=L'\0'; |
||||
} |
||||
- istr[wclen]=L'\0'; |
||||
if (mode==M_TO_UPPER) { |
||||
- perr = U_ZERO_ERROR; |
||||
- u_strToUpper(istr,5,istr,wclen,"",&perr); |
||||
+ perr=U_ZERO_ERROR; |
||||
+ olen=u_strToUpper(istr,INITIALLENGTH,istr,wclen,"",&perr); |
||||
} else if (mode==M_TO_LOWER) { |
||||
- perr = U_ZERO_ERROR; |
||||
- u_strToLower(istr,5,istr,wclen, istr[0]==0x130&&turkish_i?"tr":"", &perr); |
||||
+ perr=U_ZERO_ERROR; |
||||
+ olen=u_strToLower(istr,INITIALLENGTH,istr,wclen, istr[0]==0x130&&turkish_i?"tr":"", &perr); |
||||
} else if (mode==M_TO_TITLE) { |
||||
- perr = U_ZERO_ERROR; |
||||
- u_strToTitle(istr,5,istr,wclen,NULL,"",&perr); |
||||
- } |
||||
- perr = U_ZERO_ERROR; |
||||
- ret = u_strToUTF8(str, 15, &olen, istr, wclen, &perr); |
||||
+ perr=U_ZERO_ERROR; |
||||
+ olen=u_strToTitle(istr,INITIALLENGTH,istr,wclen,NULL,"",&perr); |
||||
+ } else |
||||
+ olen=wclen; |
||||
+ if (olen>INITIALLENGTH) { |
||||
+ warn_printf(efp, "\nWarning, Too long (%d) header.\n", olen); |
||||
+ wclen=INITIALLENGTH; |
||||
+ } else |
||||
+ wclen=olen; |
||||
+ perr=U_ZERO_ERROR; |
||||
+ u_strToUTF8(str, 3*INITIALLENGTH+1, &olen, istr, wclen, &perr); |
||||
fprintf(fp,"%s",str); |
||||
} |
||||
|
||||
@@ -844,7 +849,7 @@ static int initial_cmp_char(UChar *ini, |
||||
static int init_hanzi_header(void) |
||||
{ |
||||
UChar strX[2],*pch0,*pch1; |
||||
- int k, hzmode; |
||||
+ int k, hzmode, len; |
||||
struct hanzi_index *hz_idx_init; |
||||
|
||||
strX[0]=0x5B57; strX[1]=L'\0'; |
||||
@@ -878,21 +883,18 @@ static int init_hanzi_header(void) |
||||
for (k=0;k<hz_index_len;k++) { |
||||
if (u_strlen(pch0)==0) break; |
||||
if ((pch1=u_strchr(pch0,L';'))>0) { |
||||
- if (pch1-pch0>=INITIALLENGTH) { |
||||
- warn_printf(efp, "\nWarning, Too long hanzi header.\n"); |
||||
- break; |
||||
- } |
||||
- u_strncpy(hz_index[k].idx,pch0,pch1-pch0); |
||||
- hz_index[k].idx[pch1-pch0]=L'\0'; |
||||
- pch0=pch1+1; |
||||
+ len=pch1-pch0; |
||||
} else { |
||||
- if (u_strlen(pch0)>=INITIALLENGTH) { |
||||
- warn_printf(efp, "\nWarning, Too long hanzi header.\n"); |
||||
- break; |
||||
- } |
||||
- u_strcpy(hz_index[k].idx,pch0); |
||||
- break; |
||||
+ len=u_strlen(pch0); |
||||
} |
||||
+ if (len>=INITIALLENGTH) { |
||||
+ warn_printf(efp, "\nWarning, Too long (%d) hanzi header.\n", len); |
||||
+ len=INITIALLENGTH-1; |
||||
+ } |
||||
+ u_strncpy(hz_index[k].idx,pch0,len); |
||||
+ hz_index[k].idx[len]=L'\0'; |
||||
+ if (pch1>0) pch0=pch1+1; |
||||
+ else break; |
||||
} |
||||
|
||||
return hzmode; |
||||
diff -up texlive-2016/source/texk/upmendex/main.c.than texlive-2016/source/texk/upmendex/main.c |
||||
--- texlive-2016/source/texk/upmendex/main.c.than 2017-03-08 15:13:49.460455992 +0100 |
||||
+++ texlive-2016/source/texk/upmendex/main.c 2017-03-08 15:17:34.236944029 +0100 |
||||
@@ -19,7 +19,7 @@ char *styfile,*idxfile[256],*indfile,*di |
||||
#endif |
||||
KpathseaSupportInfo kp_ist,kp_dict; |
||||
|
||||
-#define VERSION "version 0.50" |
||||
+#define VERSION "version 0.51" |
||||
|
||||
int main(int argc, char **argv) |
||||
{ |
@ -0,0 +1,41 @@
@@ -0,0 +1,41 @@
|
||||
diff -up source/texk/kpathsea/mktexlsr.than source/texk/kpathsea/mktexlsr |
||||
--- source/texk/kpathsea/mktexlsr.than 2015-07-28 21:31:52.595540260 -0400 |
||||
+++ source/texk/kpathsea/mktexlsr 2015-07-28 21:32:12.347422108 -0400 |
||||
@@ -217,7 +217,8 @@ for TEXMFLS_R in "$@"; do |
||||
until PERMS=`kpsestat = "$db_file"`; do sleep 1; done |
||||
chmod $PERMS "$db_file_tmp" |
||||
rm -f "$db_file" |
||||
- mv "$db_file_tmp" "$db_file" |
||||
+ # selinux fix |
||||
+ cp "$db_file_tmp" "$db_file" |
||||
rm -rf "$db_dir_tmp" |
||||
done |
||||
|
||||
diff -up source/texk/texlive/linked_scripts/texlive/fmtutil.pl.orig source/texk/texlive/linked_scripts/texlive/fmtutil.pl |
||||
--- source/texk/texlive/linked_scripts/texlive/fmtutil.pl.orig 2016-06-22 10:58:50.754708661 -0400 |
||||
+++ source/texk/texlive/linked_scripts/texlive/fmtutil.pl 2016-06-22 11:00:32.566943691 -0400 |
||||
@@ -679,7 +679,7 @@ sub rebuild_one_format { |
||||
} |
||||
TeXLive::TLUtils::mkdirhier($fulldestdir); |
||||
|
||||
- if (!File::Copy::move( "$fmt.log", "$fulldestdir/$fmt.log")) { |
||||
+ if (!File::Copy::copy( "$fmt.log", "$fulldestdir/$fmt.log")) { |
||||
print_deferred_error("Cannot move $fmt.log to $fulldestdir.\n"); |
||||
} |
||||
if ($opts{'recorder'}) { |
||||
@@ -687,13 +687,13 @@ sub rebuild_one_format { |
||||
# package dependencies for each format. Unfortunately omega-based |
||||
# engines gratuitiously changed the extension from .fls to .ofl. |
||||
my $recfile = $fmt . ($fmt =~ m/^(aleph|lamed)$/ ? ".ofl" : ".fls"); |
||||
- if (!File::Copy::move( $recfile, "$fulldestdir/$recfile")) { |
||||
+ if (!File::Copy::copy( $recfile, "$fulldestdir/$recfile")) { |
||||
print_deferred_error("Cannot move $recfile to $fulldestdir.\n"); |
||||
} |
||||
} |
||||
|
||||
my $destfile = "$fulldestdir/$fmtfile"; |
||||
- if (File::Copy::move( $fmtfile, $destfile )) { |
||||
+ if (File::Copy::copy( $fmtfile, $destfile )) { |
||||
print_info("$destfile installed.\n"); |
||||
# |
||||
# original fmtutil.sh did some magic trick for mplib-luatex.mem |
@ -0,0 +1,282 @@
@@ -0,0 +1,282 @@
|
||||
diff -up doc/xelatex/xepersian/dkun-0.3.py.than doc/xelatex/xepersian/dkun-0.3.py |
||||
--- doc/xelatex/xepersian/dkun-0.3.py.than 2018-05-07 11:52:01.795308478 +0200 |
||||
+++ doc/xelatex/xepersian/dkun-0.3.py 2018-05-07 11:53:32.984620222 +0200 |
||||
@@ -1,4 +1,4 @@ |
||||
-#! /usr/bin/env python |
||||
+#! /usr/bin/python |
||||
|
||||
######################################### |
||||
# General Public License # |
||||
@@ -311,7 +311,7 @@ def dk_adjust_shaping(text, i): |
||||
try: |
||||
u = table_DK_UN[current][0] |
||||
except KeyError: |
||||
- print 'ERROR: unmapped character' |
||||
+ print('ERROR: unmapped character') |
||||
return u'' |
||||
|
||||
#if you don't want shaping remove the following comment |
||||
@@ -407,7 +407,7 @@ def needs_english_wrapper(part): |
||||
|
||||
# Main body of the program |
||||
if len(sys.argv) <= 2: |
||||
- print 'usage: python dkun in_filename out_filename' |
||||
+ print('usage: python dkun in_filename out_filename') |
||||
exit(0) |
||||
|
||||
filename = sys.argv[1] |
||||
@@ -416,13 +416,13 @@ outfile = sys.argv[2] |
||||
try: |
||||
f = open(filename, 'r') |
||||
except IOError: |
||||
- print "Can not open the input file: " + filename |
||||
+ print("Can not open the input file: " + filename) |
||||
exit(0) |
||||
|
||||
try: |
||||
of = codecs.open(outfile, encoding='utf-8', mode='w') |
||||
except IOError: |
||||
- print "Can not open the output file: " + outfile |
||||
+ print("Can not open the output file: " + outfile) |
||||
exit(0) |
||||
|
||||
line_number = 0 |
||||
diff -up doc/xelatex/xepersian/dkun-0.4.py.than doc/xelatex/xepersian/dkun-0.4.py |
||||
--- doc/xelatex/xepersian/dkun-0.4.py.than 2018-05-07 11:53:54.187692708 +0200 |
||||
+++ doc/xelatex/xepersian/dkun-0.4.py 2018-05-07 11:54:32.272822907 +0200 |
||||
@@ -1,4 +1,4 @@ |
||||
-#! /usr/bin/env python |
||||
+#! /usr/bin/python |
||||
|
||||
######################################### |
||||
# General Public License # |
||||
@@ -311,7 +311,7 @@ def dk_adjust_shaping(text, i): |
||||
try: |
||||
u = table_DK_UN[current][0] |
||||
except KeyError: |
||||
- print 'ERROR: unmapped character' |
||||
+ print('ERROR: unmapped character') |
||||
return u'' |
||||
|
||||
#if you don't want shaping remove the following comment |
||||
@@ -407,7 +407,7 @@ def needs_english_wrapper(part): |
||||
|
||||
# Main body of the program |
||||
if len(sys.argv) <= 2: |
||||
- print 'usage: python dkun in_filename out_filename' |
||||
+ print('usage: python dkun in_filename out_filename') |
||||
exit(0) |
||||
|
||||
filename = sys.argv[1] |
||||
@@ -416,13 +416,13 @@ outfile = sys.argv[2] |
||||
try: |
||||
f = open(filename, 'r') |
||||
except IOError: |
||||
- print "Can not open the input file: " + filename |
||||
+ print("Can not open the input file: " + filename) |
||||
exit(0) |
||||
|
||||
try: |
||||
of = codecs.open(outfile, encoding='utf-8', mode='w') |
||||
except IOError: |
||||
- print "Can not open the output file: " + outfile |
||||
+ print("Can not open the output file: " + outfile) |
||||
exit(0) |
||||
|
||||
line_number = 0 |
||||
diff -up doc/xelatex/xepersian/ftxe-0.12.py.than doc/xelatex/xepersian/ftxe-0.12.py |
||||
--- doc/xelatex/xepersian/ftxe-0.12.py.than 2018-05-07 11:54:55.163901164 +0200 |
||||
+++ doc/xelatex/xepersian/ftxe-0.12.py 2018-05-07 11:57:58.063526433 +0200 |
||||
@@ -1,3 +1,5 @@ |
||||
+#! /usr/bin/python |
||||
+ |
||||
# This program is free software: you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation, either version 3 of the License, or |
||||
@@ -488,7 +490,7 @@ def read_size(input,index,last_index): |
||||
dim_index = pt_index |
||||
next_cmd = input.find(u'\\', index) |
||||
if (next_cmd == -1 and dim_index == -1): |
||||
- print "Error in parsing \epsfxsize command at " + str(line_number) + "\n" |
||||
+ print("Error in parsing \epsfxsize command at " + str(line_number) + "\n") |
||||
return -1 |
||||
elif (next_cmd == -1 or (dim_index != -1 and next_cmd > dim_index)): |
||||
epsfxsize = input[index:dim_index+2] |
||||
@@ -499,7 +501,7 @@ def read_size(input,index,last_index): |
||||
end_cmd += 1 |
||||
return end_cmd |
||||
else: |
||||
- print "Error in parsing \epsfxsize command at " + str(line_number) + "\n" |
||||
+ print("Error in parsing \epsfxsize command at " + str(line_number) + "\n") |
||||
return -1 |
||||
|
||||
|
||||
@@ -567,7 +569,7 @@ def generate_farsitex_cmds_file(helper_f |
||||
try: |
||||
of = codecs.open(helper_filename, encoding='utf-8', mode='w') |
||||
except IOError: |
||||
- print "Can not open the output file: " + helper_filename |
||||
+ print("Can not open the output file: " + helper_filename) |
||||
exit(0) |
||||
of.write(preamble) |
||||
of.close |
||||
@@ -875,7 +877,7 @@ def convert_file(f, of, convert_cmds): |
||||
|
||||
for line in f: |
||||
line_number += 1 |
||||
- print line_number, |
||||
+ print (line_number) |
||||
output_line = u'' |
||||
line_len = len(line) |
||||
|
||||
@@ -888,7 +890,7 @@ def convert_file(f, of, convert_cmds): |
||||
# check line-direction character |
||||
line_direction_rtl = (line[0] == '<') |
||||
if (line[0] != '>') and (line[0] != '<'): |
||||
- print "FORMAT ERROR AT LINE: " + str(line_number) |
||||
+ print("FORMAT ERROR AT LINE: " + str(line_number)) |
||||
exit(0) |
||||
|
||||
i = 1 |
||||
@@ -970,11 +972,11 @@ def convert_file(f, of, convert_cmds): |
||||
# end of file processing |
||||
|
||||
def print_usage(): |
||||
- print 'usage: python ftxe-0-11 [-r] [-s] [-x] [-u] in_filename1 in_filename2' |
||||
- print '-r: (DEFAULT) recursively consider files included in the given files' |
||||
- print '-s: do not recursively consider files' |
||||
- print '-x: (DEFAULT) insert xepersian related commands' |
||||
- print '-u: only convert to unicode' |
||||
+ print('usage: python ftxe-0-11 [-r] [-s] [-x] [-u] in_filename1 in_filename2') |
||||
+ print('-r: (DEFAULT) recursively consider files included in the given files') |
||||
+ print('-s: do not recursively consider files') |
||||
+ print('-x: (DEFAULT) insert xepersian related commands') |
||||
+ print('-u: only convert to unicode') |
||||
|
||||
################################### |
||||
# Begin of main body of the program |
||||
@@ -1011,7 +1013,7 @@ while (options_index < len(sys.argv)): |
||||
options_index += 1 |
||||
|
||||
if (len(filenames) == 0): |
||||
- print 'error: no input filename is specified!' |
||||
+ print('error: no input filename is specified!') |
||||
print_usage() |
||||
exit(0) |
||||
|
||||
@@ -1026,17 +1028,17 @@ while (index < len(filenames)): |
||||
else: |
||||
outfile = filename + '.tex' |
||||
|
||||
- print '\n\nConverting "' + filename + '" into "' + outfile + '"' |
||||
+ print('\n\nConverting "' + filename + '" into "' + outfile + '"') |
||||
try: |
||||
f = open(filename, 'r') |
||||
except IOError: |
||||
- print "Can not open the input file: " + filename |
||||
+ print("Can not open the input file: " + filename) |
||||
exit(0) |
||||
|
||||
try: |
||||
of = codecs.open(outfile, encoding='utf-8', mode='w') |
||||
except IOError: |
||||
- print "Can not open the output file: " + outfile |
||||
+ print("Can not open the output file: " + outfile) |
||||
exit(0) |
||||
|
||||
convert_file(f, of, convert_xepersian) |
||||
diff -up doc/xelatex/xepersian/undk-0.6.py.than doc/xelatex/xepersian/undk-0.6.py |
||||
--- doc/xelatex/xepersian/undk-0.6.py.than 2018-05-07 11:58:18.706597005 +0200 |
||||
+++ doc/xelatex/xepersian/undk-0.6.py 2018-05-07 11:59:18.079799981 +0200 |
||||
@@ -1,4 +1,4 @@ |
||||
-#! /usr/bin/env python |
||||
+#! /usr/bin/python |
||||
######################################### |
||||
# General Public License # |
||||
# Author: Mostafa Vahedi # |
||||
@@ -328,7 +328,7 @@ def find_form(line, i): |
||||
def map_char_unicode_DK(c, form): |
||||
try: |
||||
n = table_UN_DK[c][0] |
||||
- except KeyError: |
||||
+ except KeyError: |
||||
return c.encode('latin-1') |
||||
if (n == 1): |
||||
return table_UN_DK[c][1] |
||||
@@ -371,7 +371,7 @@ def is_farsi_numerical(c): |
||||
|
||||
# Main body of the program |
||||
if len(sys.argv) <= 2: |
||||
- print 'usage: python undk in_filename out_filename' |
||||
+ print('usage: python undk in_filename out_filename') |
||||
exit(0) |
||||
|
||||
filename = sys.argv[1] |
||||
@@ -380,13 +380,13 @@ outfile = sys.argv[2] |
||||
try: |
||||
f = codecs.open(filename, 'r', 'utf-8') |
||||
except IOError: |
||||
- print "Can not open the input file: " + filename |
||||
+ print("Can not open the input file: " + filename) |
||||
exit(0) |
||||
|
||||
try: |
||||
of = open(outfile, 'w') |
||||
except IOError: |
||||
- print "Can not open the output file: " + outfile |
||||
+ print("Can not open the output file: " + outfile) |
||||
exit(0) |
||||
|
||||
# this is an option |
||||
@@ -425,7 +425,7 @@ for line in f: |
||||
this_line += auto_english_part[::-1] |
||||
auto_english_part = '' |
||||
inAutoEnglish = 0 |
||||
- print 'Warning: mixed Auto-English and Forced-English' |
||||
+ print('Warning: mixed Auto-English and Forced-English') |
||||
if (inFarsiNumber == 1): |
||||
this_line += number_part[::-1] |
||||
number_part = '' |
||||
diff -up doc/xelatex/xepersian/unldk-0.2.py.than doc/xelatex/xepersian/unldk-0.2.py |
||||
--- doc/xelatex/xepersian/unldk-0.2.py.than 2018-05-07 11:59:41.522880125 +0200 |
||||
+++ doc/xelatex/xepersian/unldk-0.2.py 2018-05-07 12:00:21.999018500 +0200 |
||||
@@ -1,4 +1,4 @@ |
||||
-#! /usr/bin/env python |
||||
+#! /usr/bin/python |
||||
######################################### |
||||
# General Public License # |
||||
# Author: Mostafa Vahedi # |
||||
@@ -328,7 +328,7 @@ def find_form(line, i): |
||||
def map_char_unicode_DK(c, form): |
||||
try: |
||||
n = table_UN_DK[c][0] |
||||
- except KeyError: |
||||
+ except KeyError: |
||||
return c.encode('latin-1') |
||||
if (n == 1): |
||||
return table_UN_DK[c][1] |
||||
@@ -364,7 +364,7 @@ def is_farsi_numerical(c): |
||||
|
||||
# Main body of the program |
||||
if len(sys.argv) <= 2: |
||||
- print 'usage: python unldk in_filename out_filename' |
||||
+ print('usage: python unldk in_filename out_filename') |
||||
exit(0) |
||||
|
||||
filename = sys.argv[1] |
||||
@@ -373,13 +373,13 @@ outfile = sys.argv[2] |
||||
try: |
||||
f = codecs.open(filename, 'r', 'utf-8') |
||||
except IOError: |
||||
- print "Can not open the input file: " + filename |
||||
+ print("Can not open the input file: " + filename) |
||||
exit(0) |
||||
|
||||
try: |
||||
of = open(outfile, 'w') |
||||
except IOError: |
||||
- print "Can not open the output file: " + outfile |
||||
+ print("Can not open the output file: " + outfile) |
||||
exit(0) |
||||
|
||||
inFarsi = 0 |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,20 @@
@@ -0,0 +1,20 @@
|
||||
diff -up tex/latex/sympytexpackage/sympytex.sty.than tex/latex/sympytexpackage/sympytex.sty |
||||
--- tex/latex/sympytexpackage/sympytex.sty.than 2017-07-05 14:24:09.206951593 +0200 |
||||
+++ tex/latex/sympytexpackage/sympytex.sty 2017-07-05 14:25:09.994666464 +0200 |
||||
@@ -43,13 +43,13 @@ |
||||
\newwrite\ST@sf |
||||
\immediate\openout\ST@sf=\jobname.sympy |
||||
\newcommand{\ST@wsf}[1]{\immediate\write\ST@sf{#1}} |
||||
-\iffalse |
||||
+%\iffalse |
||||
%% To get .sympy files to automatically change the Python path to find |
||||
%% sympytex.py, delete the \iffalse and \fi lines surrounding this and |
||||
%% change the directory below to where sympytex.py can be found. |
||||
\ST@wsf{import sys} |
||||
-\ST@wsf{sys.path.insert(0, 'directory with sympytex.py')} |
||||
-\fi |
||||
+\ST@wsf{sys.path.insert(0, '/usr/share/texlive/texmf-dist/scripts/sympytexpackage')} |
||||
+%\fi |
||||
\ST@wsf{import sympy} |
||||
\ST@wsf{import sympytex} |
||||
\ST@wsf{sympytex.openout('\jobname')} |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
diff -up source/texk/kpathsea/mktexlsr.than source/texk/kpathsea/mktexlsr |
||||
--- source/texk/kpathsea/mktexlsr.than 2015-04-29 16:52:42.800897655 +0200 |
||||
+++ source/texk/kpathsea/mktexlsr 2015-04-29 16:53:12.500695909 +0200 |
||||
@@ -66,7 +66,7 @@ if tty -s; then verbose=true; else verbo |
||||
dry_run=false |
||||
trees= |
||||
|
||||
-treefile="${TMPDIR-/tmp}/mktexlsrtrees$$.tmp" |
||||
+treefile=`mktemp -q --tmpdir mktexlsrtrees.XXXXXXXXXX` |
||||
trap 'cd /; rm -f $treefile; test -z "$db_dir_tmp" || rm -rf "$db_dir_tmp"; |
||||
exit' 0 1 2 3 7 13 15 |
||||
|
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
diff -up source/m4/kpse-teckit-flags.m4.fix source/m4/kpse-teckit-flags.m4 |
||||
--- source/m4/kpse-teckit-flags.m4.fix 2015-07-28 21:46:52.411157717 -0400 |
||||
+++ source/m4/kpse-teckit-flags.m4 2015-07-28 21:47:03.570090966 -0400 |
||||
@@ -20,9 +20,8 @@ _KPSE_LIB_FLAGS([teckit], [TECkit], [], |
||||
|
||||
# KPSE_TECKIT_OPTIONS([WITH-SYSTEM]) |
||||
# ---------------------------------- |
||||
-AC_DEFUN([KPSE_TECKIT_OPTIONS], [_KPSE_LIB_OPTIONS([teckit], [$1], [pkg-config])]) |
||||
+AC_DEFUN([KPSE_TECKIT_OPTIONS], [_KPSE_LIB_OPTIONS([teckit], [$1])]) |
||||
|
||||
# KPSE_TECKIT_SYSTEM_FLAGS |
||||
-# ------------------------- |
||||
-AC_DEFUN([KPSE_TECKIT_SYSTEM_FLAGS], [dnl |
||||
-_KPSE_PKG_CONFIG_FLAGS([teckit], [teckit])]) |
||||
+# ------------------------ |
||||
+AC_DEFUN([KPSE_TECKIT_SYSTEM_FLAGS], [_KPSE_LIB_FLAGS_SYSTEM([teckit], [TECkit])]) |
@ -0,0 +1,20 @@
@@ -0,0 +1,20 @@
|
||||
diff -U0 texlive-2016/source/texk/kpathsea/ChangeLog.than texlive-2016/source/texk/kpathsea/ChangeLog |
||||
--- texlive-2016/source/texk/kpathsea/ChangeLog.than 2017-03-07 17:36:09.052243607 +0100 |
||||
+++ texlive-2016/source/texk/kpathsea/ChangeLog 2017-03-07 17:36:55.525484239 +0100 |
||||
@@ -0,0 +1,5 @@ |
||||
+2016-11-30 Karl Berry <karl@ks.tug.org> |
||||
+ |
||||
+ * texmf.cnf (shell_escape_commands): remove mpost, due to |
||||
+ the -tex option. Oops! Report from Bruno Le Floch. |
||||
+ |
||||
diff -up texlive-2016/source/texk/kpathsea/texmf.cnf.than texlive-2016/source/texk/kpathsea/texmf.cnf |
||||
--- texlive-2016/source/texk/kpathsea/texmf.cnf.than 2017-03-07 17:37:14.160778751 +0100 |
||||
+++ texlive-2016/source/texk/kpathsea/texmf.cnf 2017-03-07 17:37:39.688812317 +0100 |
||||
@@ -568,7 +568,6 @@ extractbb,\ |
||||
gregorio,\ |
||||
kpsewhich,\ |
||||
makeindex,\ |
||||
-mpost,\ |
||||
repstopdf,\ |
||||
|
||||
% we'd like to allow: |
@ -0,0 +1,192 @@
@@ -0,0 +1,192 @@
|
||||
diff -up source/texk/dvi2tty/dvi2tty-5.3.4/DVI.format source/texk/dvi2tty/dvi2tty-5.3.4/DVI |
||||
diff -up source/texk/dvidvi/dvidvi.c.format source/texk/dvidvi/dvidvi.c |
||||
--- source/texk/dvidvi/dvidvi.c.format 2015-07-28 21:21:51.170212574 -0400 |
||||
+++ source/texk/dvidvi/dvidvi.c 2015-07-28 21:22:27.842988620 -0400 |
||||
@@ -327,7 +327,7 @@ static void stringdvibuf(integer p, inte |
||||
* Print a usage error messsage, and quit. |
||||
*/ |
||||
static void usage(void) { |
||||
- (void)fprintf(stderr,banner); |
||||
+ (void)fprintf(stderr,"%s",banner); |
||||
(void)fprintf(stderr,"Usage: dvidvi [options] input[.dvi] [output]\n"); |
||||
(void)fprintf(stderr,"where options are:\n"); |
||||
(void)fprintf(stderr," [-f n] first page printed [-l n] last page printed\n"); |
||||
@@ -806,7 +806,7 @@ default: |
||||
} /* else argument with '-' */ |
||||
} /* for */ |
||||
if (*iname == 0) { |
||||
- (void)fprintf(stderr, banner) ; |
||||
+ (void)fprintf(stderr, "%s", banner) ; |
||||
error("! no input file specified"); |
||||
} |
||||
/* Inserted by djc@dsmail.hmi.de 3.8.1994 */ |
||||
@@ -817,7 +817,7 @@ default: |
||||
} |
||||
|
||||
if (*oname != 0 && !quiet) { |
||||
- (void)fprintf(stderr, banner) ; |
||||
+ (void)fprintf(stderr, "%s", banner) ; |
||||
(void)fprintf(stderr, "%s -> %s\n",iname,oname); |
||||
temp = nextstring ; |
||||
} |
||||
diff -up source/texk/ps2pk/objects.h.format source/texk/ps2pk/objects.h |
||||
--- source/texk/ps2pk/objects.h.format 2015-07-28 21:24:03.356405337 -0400 |
||||
+++ source/texk/ps2pk/objects.h 2015-07-28 21:24:21.397295166 -0400 |
||||
@@ -231,7 +231,7 @@ struct xobject { |
||||
/*SHARED*/ |
||||
/* NDW: personally, I want to see status and error messages! */ |
||||
#define IfTrace0(condition,model) \ |
||||
- {if (condition) printf(model);} |
||||
+ {if (condition) printf("%s",model);} |
||||
#define IfTrace1(condition,model,arg0) \ |
||||
{if (condition) printf(model,arg0);} |
||||
#define IfTrace2(condition,model,arg0,arg1) \ |
||||
diff -up source/texk/web2c/cwebboot.cin.format source/texk/web2c/cwebboot.cin |
||||
--- source/texk/web2c/cwebboot.cin.format 2015-07-28 21:24:28.351252699 -0400 |
||||
+++ source/texk/web2c/cwebboot.cin 2015-07-28 21:24:48.779127949 -0400 |
||||
@@ -1098,7 +1098,7 @@ void |
||||
fatal(const char*s,const char*t) |
||||
#line 1182 "cwebdir/common.w" |
||||
{ |
||||
-if(*s)printf(s); |
||||
+if(*s)printf("%s",s); |
||||
err_print(t); |
||||
history= fatal_message;exit(wrap_up()); |
||||
} |
||||
diff -up source/texk/web2c/cwebdir/common.c.format source/texk/web2c/cwebdir/common.c |
||||
--- source/texk/web2c/cwebdir/common.c.format 2015-07-28 21:24:56.764079186 -0400 |
||||
+++ source/texk/web2c/cwebdir/common.c 2015-07-28 21:25:24.830907788 -0400 |
||||
@@ -1063,7 +1063,7 @@ void |
||||
fatal(s,t) |
||||
char*s,*t; |
||||
{ |
||||
-if(*s)printf(s); |
||||
+if(*s)printf("%s",s); |
||||
err_print(t); |
||||
history= fatal_message;exit(wrap_up()); |
||||
} |
||||
diff -up source/texk/web2c/cwebdir/common.w.format source/texk/web2c/cwebdir/common.w |
||||
--- source/texk/web2c/cwebdir/common.w.format 2015-07-28 21:25:32.886858591 -0400 |
||||
+++ source/texk/web2c/cwebdir/common.w 2015-07-28 21:25:46.117777793 -0400 |
||||
@@ -1180,7 +1180,7 @@ concatenated to print the final error me |
||||
fatal(s,t) |
||||
char *s,*t; |
||||
{ |
||||
- if (*s) printf(s); |
||||
+ if (*s) printf("%s",s); |
||||
err_print(t); |
||||
history=fatal_message; exit(wrap_up()); |
||||
} |
||||
diff -up source/texk/web2c/cwebdir/cweave.w.format source/texk/web2c/cwebdir/cweave.w |
||||
--- source/texk/web2c/cwebdir/cweave.w.format 2015-07-28 21:25:55.096722960 -0400 |
||||
+++ source/texk/web2c/cwebdir/cweave.w 2015-07-28 21:26:13.680609471 -0400 |
||||
@@ -1784,7 +1784,7 @@ void |
||||
print_cat(c) /* symbolic printout of a category */ |
||||
eight_bits c; |
||||
{ |
||||
- printf(cat_name[c]); |
||||
+ printf("%s",cat_name[c]); |
||||
} |
||||
|
||||
@ The token lists for translated \TEX/ output contain some special control |
||||
diff -up source/texk/web2c/omegafonts/error_routines.c.format source/texk/web2c/omegafonts/error_routines.c |
||||
--- source/texk/web2c/omegafonts/error_routines.c.format 2015-07-28 21:26:21.654560776 -0400 |
||||
+++ source/texk/web2c/omegafonts/error_routines.c 2015-07-28 21:27:54.356994659 -0400 |
||||
@@ -62,7 +62,7 @@ void |
||||
yyerror(const_string fmt) |
||||
{ |
||||
fprintf(stderr, "line %d (parsing): ", line_number); |
||||
- fprintf(stderr, fmt); |
||||
+ fprintf(stderr, "%s", fmt); |
||||
fprintf(stderr, "\n"); |
||||
num_errors++; |
||||
} |
||||
@@ -72,7 +72,7 @@ void |
||||
warning_0(const_string fmt) |
||||
{ |
||||
fprintf(stderr, "line %d (warning): ", line_number); |
||||
- fprintf(stderr, fmt); |
||||
+ fprintf(stderr, "%s", fmt); |
||||
fprintf(stderr, "\n"); |
||||
} |
||||
|
||||
@@ -120,7 +120,7 @@ void |
||||
fatal_error_0(const_string fmt) |
||||
{ |
||||
fprintf(stderr, "line %d (fatal): ", line_number); |
||||
- fprintf(stderr, fmt); |
||||
+ fprintf(stderr, "%s", fmt); |
||||
fprintf(stderr, "\n"); |
||||
exit(1); |
||||
} |
||||
@@ -156,7 +156,7 @@ void |
||||
internal_error_0(const_string fmt) |
||||
{ |
||||
fprintf(stderr, "line %d (internal): ", line_number); |
||||
- fprintf(stderr, fmt); |
||||
+ fprintf(stderr, "%s", fmt); |
||||
fprintf(stderr, "\n"); |
||||
exit(2); |
||||
} |
||||
diff -up source/texk/web2c/omegafonts/out_routines.c.format source/texk/web2c/omegafonts/out_routines.c |
||||
--- source/texk/web2c/omegafonts/out_routines.c.format 2015-07-28 21:28:09.547901891 -0400 |
||||
+++ source/texk/web2c/omegafonts/out_routines.c 2015-07-28 21:28:22.209824567 -0400 |
||||
@@ -368,5 +368,5 @@ out_digits(unsigned counter) |
||||
void |
||||
out(const_string sval) |
||||
{ |
||||
- fprintf(file_output, sval); |
||||
+ fprintf(file_output, "%s", sval); |
||||
} |
||||
diff -up source/texk/web2c/tiedir/tie.c.format source/texk/web2c/tiedir/tie.c |
||||
--- source/texk/web2c/tiedir/tie.c.format 2015-07-28 21:28:30.242775511 -0400 |
||||
+++ source/texk/web2c/tiedir/tie.c 2015-07-28 21:29:04.979563380 -0400 |
||||
@@ -27,14 +27,14 @@ |
||||
\ |
||||
|
||||
#define term_out stdout |
||||
-#define print(a)fprintf(term_out,a) |
||||
+#define print(a)fprintf(term_out,"%s",a) |
||||
#define print2(a,b)fprintf(term_out,a,b) |
||||
#define print3(a,b,c)fprintf(term_out,a,b,c) |
||||
#define print_c(v)fputc(v,term_out); |
||||
#define new_line(v)fputc('\n',v) |
||||
#define term_new_line new_line(term_out) \ |
||||
|
||||
-#define print_ln(v){fprintf(term_out,v);term_new_line;} \ |
||||
+#define print_ln(v){fprintf(term_out,"%s",v);term_new_line;} \ |
||||
|
||||
#define print2_ln(a,b){print2(a,b);term_new_line;} |
||||
#define print3_ln(a,b,c){print3(a,b,c);term_new_line;} \ |
||||
diff -up source/texk/web2c/tiedir/tie.w.format source/texk/web2c/tiedir/tie.w |
||||
--- source/texk/web2c/tiedir/tie.w.format 2015-07-28 21:29:13.361512193 -0400 |
||||
+++ source/texk/web2c/tiedir/tie.w 2015-07-28 21:30:18.135116633 -0400 |
||||
@@ -458,14 +458,14 @@ for terminating an output line and writi |
||||
|
||||
@^system dependencies@> |
||||
@d term_out stdout |
||||
-@d print(a) fprintf(term_out,a) /* `|print|' means write on the terminal */ |
||||
+@d print(a) fprintf(term_out,"%s",a) /* `|print|' means write on the terminal */ |
||||
@d print2(a,b) fprintf(term_out,a,b) /* same with two arguments */ |
||||
@d print3(a,b,c) fprintf(term_out,a,b,c) /* same with three arguments */ |
||||
@d print_c(v) fputc(v,term_out); /* print a single character */ |
||||
@d new_line(v) fputc('\n',v) /* start new line */ |
||||
@d term_new_line new_line(term_out) |
||||
/* start new line of the terminal */ |
||||
-@d print_ln(v) {fprintf(term_out,v);term_new_line;} |
||||
+@d print_ln(v) {fprintf(term_out,"%s",v);term_new_line;} |
||||
/* `|print|' and then start new line */ |
||||
@d print2_ln(a,b) {print2(a,b);term_new_line;} /* same with two arguments */ |
||||
@d print3_ln(a,b,c) {print3(a,b,c);term_new_line;} |
||||
diff -up source/utils/devnag/src/devnag.c.format source/utils/devnag/src/devnag.c |
||||
--- source/utils/devnag/src/devnag.c.format 2015-07-28 21:23:26.446630739 -0400 |
||||
+++ source/utils/devnag/src/devnag.c 2015-07-28 21:23:34.215583295 -0400 |
||||
@@ -2400,7 +2400,7 @@ void put_macro(short macro) { |
||||
void err_ill(const char *str) { |
||||
fprintf(stderr, "Error: illegal character(s) \"%s\" detected at line %d:\n", |
||||
str, linenumber); |
||||
- fprintf(stderr, inbuf); |
||||
+ fprintf(stderr, "%s", inbuf); |
||||
exit(1); |
||||
} |
||||
|
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
diff -up texlive-2013/source/texk/kpathsea/progname.c.kpfix texlive-2013/source/texk/kpathsea/progname.c |
||||
--- source/texk/kpathsea/progname.c.kpfix 2013-08-12 09:28:14.422522624 +0200 |
||||
+++ source/texk/kpathsea/progname.c 2013-08-12 12:16:02.958132658 +0200 |
||||
@@ -668,7 +668,7 @@ kpathsea_set_program_name (kpathsea kpse |
||||
kpathsea_xputenv (kpse, "SELFAUTOLOC", fix_selfdir (sdir)); |
||||
sdir_parent = xdirname (sdir); |
||||
kpathsea_xputenv (kpse, "SELFAUTODIR", fix_selfdir (sdir_parent)); |
||||
- sdir_grandparent = xdirname (sdir_parent); |
||||
+ sdir_grandparent = strdup("/usr/share/texlive"); |
||||
kpathsea_xputenv (kpse, "SELFAUTOPARENT", fix_selfdir (sdir_grandparent)); |
||||
sdir_greatgrandparent = xdirname (sdir_grandparent); |
||||
kpathsea_xputenv (kpse, "SELFAUTOGRANDPARENT", fix_selfdir (sdir_greatgrandparent)); |
Binary file not shown.
Loading…
Reference in new issue