From dd3bed371f5139080aad1cf587daf867f6135b6d Mon Sep 17 00:00:00 2001 From: Taco Hoekwater Date: Wed, 3 Jun 2009 13:40:46 +0000 Subject: sources for luatex 0.40.2 git-svn-id: svn://tug.org/texlive/trunk@13604 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/luatexdir/ChangeLog | 5 + Build/source/texk/web2c/luatexdir/NEWS | 34 ++++- Build/source/texk/web2c/luatexdir/font/dofont.c | 2 +- Build/source/texk/web2c/luatexdir/font/luafont.c | 2 +- Build/source/texk/web2c/luatexdir/font/macnames.c | 2 +- Build/source/texk/web2c/luatexdir/font/mapfile.c | 2 +- Build/source/texk/web2c/luatexdir/font/pkin.c | 2 +- Build/source/texk/web2c/luatexdir/font/sfnt.c | 2 +- Build/source/texk/web2c/luatexdir/font/subfont.c | 2 +- Build/source/texk/web2c/luatexdir/font/texfont.c | 2 +- Build/source/texk/web2c/luatexdir/font/texfont.h | 4 +- Build/source/texk/web2c/luatexdir/font/tfmofm.c | 56 ++++++- Build/source/texk/web2c/luatexdir/font/tounicode.c | 2 +- Build/source/texk/web2c/luatexdir/font/tt_glyf.c | 2 +- Build/source/texk/web2c/luatexdir/font/tt_table.c | 2 +- Build/source/texk/web2c/luatexdir/font/vfovf.c | 165 ++++++++++++--------- Build/source/texk/web2c/luatexdir/font/vfpacket.c | 42 +----- Build/source/texk/web2c/luatexdir/font/writecff.c | 35 +++-- Build/source/texk/web2c/luatexdir/font/writeenc.c | 2 +- Build/source/texk/web2c/luatexdir/font/writefont.c | 2 +- Build/source/texk/web2c/luatexdir/font/writet1.c | 2 +- Build/source/texk/web2c/luatexdir/font/writet3.c | 2 +- Build/source/texk/web2c/luatexdir/font/writettf.c | 2 +- .../source/texk/web2c/luatexdir/font/writetype0.c | 2 +- .../source/texk/web2c/luatexdir/font/writetype2.c | 2 +- Build/source/texk/web2c/luatexdir/image/epdf.c | 2 +- .../source/texk/web2c/luatexdir/image/pdftoepdf.cc | 4 +- Build/source/texk/web2c/luatexdir/image/writeimg.c | 2 +- .../source/texk/web2c/luatexdir/image/writejbig2.c | 2 +- Build/source/texk/web2c/luatexdir/image/writejpg.c | 2 +- Build/source/texk/web2c/luatexdir/image/writepng.c | 2 +- .../source/texk/web2c/luatexdir/lua/lcallbacklib.c | 2 +- Build/source/texk/web2c/luatexdir/lua/lfontlib.c | 2 +- Build/source/texk/web2c/luatexdir/lua/limglib.c | 2 +- Build/source/texk/web2c/luatexdir/lua/liolib.c | 2 +- Build/source/texk/web2c/luatexdir/lua/lkpselib.c | 12 +- Build/source/texk/web2c/luatexdir/lua/llanglib.c | 2 +- Build/source/texk/web2c/luatexdir/lua/llualib.c | 2 +- Build/source/texk/web2c/luatexdir/lua/lnodelib.c | 2 +- Build/source/texk/web2c/luatexdir/lua/loslibext.c | 2 +- Build/source/texk/web2c/luatexdir/lua/lpdflib.c | 2 +- Build/source/texk/web2c/luatexdir/lua/lstatslib.c | 2 +- Build/source/texk/web2c/luatexdir/lua/ltexiolib.c | 2 +- Build/source/texk/web2c/luatexdir/lua/ltexlib.c | 2 +- Build/source/texk/web2c/luatexdir/lua/ltokenlib.c | 2 +- Build/source/texk/web2c/luatexdir/lua/luainit.c | 2 +- Build/source/texk/web2c/luatexdir/lua/luanode.c | 2 +- Build/source/texk/web2c/luatexdir/lua/luastuff.c | 2 +- Build/source/texk/web2c/luatexdir/lua/luatex.c | 2 +- Build/source/texk/web2c/luatexdir/lua/luatoken.c | 2 +- Build/source/texk/web2c/luatexdir/lua/texluac.c | 2 +- Build/source/texk/web2c/luatexdir/lua51/ldebug.c | 6 +- Build/source/texk/web2c/luatexdir/lua51/ldebug.h | 2 +- Build/source/texk/web2c/luatexdir/lua51/lvm.c | 4 +- Build/source/texk/web2c/luatexdir/lua51/print.c | 2 +- .../texk/web2c/luatexdir/luafilesystem/src/lfs.c | 2 - Build/source/texk/web2c/luatexdir/luatex.web | 6 +- Build/source/texk/web2c/luatexdir/makecpool.c | 2 +- Build/source/texk/web2c/luatexdir/managed-sa.c | 2 +- Build/source/texk/web2c/luatexdir/mathcodes.c | 2 +- Build/source/texk/web2c/luatexdir/pdf/pagetree.c | 2 +- Build/source/texk/web2c/luatexdir/pdf/pdfpage.c | 6 +- Build/source/texk/web2c/luatexdir/tex/filename.c | 2 +- Build/source/texk/web2c/luatexdir/tex/linebreak.c | 2 +- Build/source/texk/web2c/luatexdir/tex/math.c | 4 +- Build/source/texk/web2c/luatexdir/tex/mlist.c | 6 +- .../texk/web2c/luatexdir/tex/postlinebreak.c | 2 +- Build/source/texk/web2c/luatexdir/tex/primitive.c | 2 +- Build/source/texk/web2c/luatexdir/tex/texdeffont.c | 2 +- Build/source/texk/web2c/luatexdir/tex/texnodes.c | 2 +- Build/source/texk/web2c/luatexdir/tex/texpdf.c | 2 +- Build/source/texk/web2c/luatexdir/tex/textoken.c | 2 +- Build/source/texk/web2c/luatexdir/textcodes.c | 3 +- Build/source/texk/web2c/luatexdir/utils/avlstuff.c | 2 +- Build/source/texk/web2c/luatexdir/utils/utils.c | 4 +- Build/source/texk/web2c/luatexdir/utils/writezip.c | 2 +- 76 files changed, 296 insertions(+), 218 deletions(-) (limited to 'Build') diff --git a/Build/source/texk/web2c/luatexdir/ChangeLog b/Build/source/texk/web2c/luatexdir/ChangeLog index b8d9ee84def..d56925c19ae 100644 --- a/Build/source/texk/web2c/luatexdir/ChangeLog +++ b/Build/source/texk/web2c/luatexdir/ChangeLog @@ -1,3 +1,8 @@ +2009-06-03 Taco Hoekwater + + * luatexdir: import of luatex release 0.40.2. + This affects many files in subdirectories. + 2009-05-30 Peter Breitenlohner * am/luatex.am (install-exec-hook, uninstall-hook): diff --git a/Build/source/texk/web2c/luatexdir/NEWS b/Build/source/texk/web2c/luatexdir/NEWS index 78bf54ccb43..b01acd176e8 100644 --- a/Build/source/texk/web2c/luatexdir/NEWS +++ b/Build/source/texk/web2c/luatexdir/NEWS @@ -1,3 +1,35 @@ +============================================================== +Luatex beta-0.40.2 was released 20090603 +============================================================== + +* Fix for a compilation warning under Cygwin. + +* A complicated bugfix by Hartmut for a rounding problem in the + VF loading that resulted in 'character width mismatch in font + XY.vf ignored' messages at large load sizes + +* The embedded MPlib is now 1.202. + +* The post_page_number callback was accidentally run when + shipping out xforms as well as during actual pages. + +* When a math accent char doesn't have a bot_accent placer, + luatex now uses the top_accent placer, if present. + +* A crash caused by \Uroot .. {}{...} is fixed + +* A portability fix for solaris 8 sparc using sun studio + compiler, and one for glibc > 2.9.90 + +* luatex -ini now sets the \catcode of the BOM character to + ignore + +* Kpathsea is updated from TeXLive, giving four extra types of + searchable files: 'font feature files','cid maps','mlbib', + and 'mlbst'. + +* libpng is now 1.2.36 + ============================================================== Luatex beta-0.40.1 was released 20090508 ============================================================== @@ -749,7 +781,7 @@ Other news: we probably introduced new problems as well). * Most (all?) files now have a corrected Copyright header, - and link in $Id$ and $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/NEWS $ into the object file. + and link in $Id$ and $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/NEWS $ into the object file. * Some unnecessary files were removed from the distribution. diff --git a/Build/source/texk/web2c/luatexdir/font/dofont.c b/Build/source/texk/web2c/luatexdir/font/dofont.c index f8a41c90394..6c8411ec4eb 100644 --- a/Build/source/texk/web2c/luatexdir/font/dofont.c +++ b/Build/source/texk/web2c/luatexdir/font/dofont.c @@ -22,7 +22,7 @@ #include "luatex-api.h" static const char _svn_version[] = - "$Id: dofont.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/dofont.c $"; + "$Id: dofont.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/dofont.c $"; #define TIMERS 0 diff --git a/Build/source/texk/web2c/luatexdir/font/luafont.c b/Build/source/texk/web2c/luatexdir/font/luafont.c index c3a8da06b16..7bfbfdfc319 100644 --- a/Build/source/texk/web2c/luatexdir/font/luafont.c +++ b/Build/source/texk/web2c/luatexdir/font/luafont.c @@ -23,7 +23,7 @@ #include "nodes.h" static const char _svn_version[] = - "$Id: luafont.c 2312 2009-04-17 15:43:13Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/luafont.c $"; + "$Id: luafont.c 2312 2009-04-17 15:43:13Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/luafont.c $"; #define noVERBOSE diff --git a/Build/source/texk/web2c/luatexdir/font/macnames.c b/Build/source/texk/web2c/luatexdir/font/macnames.c index 367c1d231c3..5d7d1ae5039 100644 --- a/Build/source/texk/web2c/luatexdir/font/macnames.c +++ b/Build/source/texk/web2c/luatexdir/font/macnames.c @@ -19,7 +19,7 @@ with LuaTeX; if not, see . */ static const char __svn_version[] = - "$Id: macnames.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/macnames.c $"; + "$Id: macnames.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/macnames.c $"; const char notdef[] = ".notdef"; diff --git a/Build/source/texk/web2c/luatexdir/font/mapfile.c b/Build/source/texk/web2c/luatexdir/font/mapfile.c index 91ce21d60e3..4519e1632c3 100644 --- a/Build/source/texk/web2c/luatexdir/font/mapfile.c +++ b/Build/source/texk/web2c/luatexdir/font/mapfile.c @@ -27,7 +27,7 @@ static const char _svn_version[] = "$Id: mapfile.c 2331 2009-04-18 16:39:50Z hhenkel $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/mapfile.c $"; + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/mapfile.c $"; #define FM_BUF_SIZE 1024 diff --git a/Build/source/texk/web2c/luatexdir/font/pkin.c b/Build/source/texk/web2c/luatexdir/font/pkin.c index 46118e17505..ed2ad493fcd 100644 --- a/Build/source/texk/web2c/luatexdir/font/pkin.c +++ b/Build/source/texk/web2c/luatexdir/font/pkin.c @@ -45,7 +45,7 @@ #include "luatexfont.h" static const char _svn_version[] = - "$Id: pkin.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/pkin.c $"; + "$Id: pkin.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/pkin.c $"; /* * Now we have some routines to get stuff from the pk file. pkbyte returns diff --git a/Build/source/texk/web2c/luatexdir/font/sfnt.c b/Build/source/texk/web2c/luatexdir/font/sfnt.c index da3eacf76f4..7c2930e298b 100644 --- a/Build/source/texk/web2c/luatexdir/font/sfnt.c +++ b/Build/source/texk/web2c/luatexdir/font/sfnt.c @@ -40,7 +40,7 @@ #include "sfnt.h" static const char _svn_version[] = - "$Id: sfnt.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/sfnt.c $"; + "$Id: sfnt.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/sfnt.c $"; #ifdef XETEX UNSIGNED_BYTE ft_unsigned_byte(sfnt * f) diff --git a/Build/source/texk/web2c/luatexdir/font/subfont.c b/Build/source/texk/web2c/luatexdir/font/subfont.c index b7b90f2b01c..fcbbc749257 100644 --- a/Build/source/texk/web2c/luatexdir/font/subfont.c +++ b/Build/source/texk/web2c/luatexdir/font/subfont.c @@ -22,7 +22,7 @@ #include static const char _svn_version[] = - "$Id: subfont.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/subfont.c $"; + "$Id: subfont.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/subfont.c $"; static struct avl_table *sfd_tree = NULL; diff --git a/Build/source/texk/web2c/luatexdir/font/texfont.c b/Build/source/texk/web2c/luatexdir/font/texfont.c index 17e4e49f5d1..c75d5ecaa2a 100644 --- a/Build/source/texk/web2c/luatexdir/font/texfont.c +++ b/Build/source/texk/web2c/luatexdir/font/texfont.c @@ -35,7 +35,7 @@ #include "luatex-api.h" static const char _svn_version[] = - "$Id: texfont.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/texfont.c $"; + "$Id: texfont.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/texfont.c $"; #define proper_char_index(c) (c<=font_ec(f) && c>=font_bc(f)) #define dxfree(a,b) { xfree(a); a = b ; } diff --git a/Build/source/texk/web2c/luatexdir/font/texfont.h b/Build/source/texk/web2c/luatexdir/font/texfont.h index 0e733850435..8810f58ae46 100644 --- a/Build/source/texk/web2c/luatexdir/font/texfont.h +++ b/Build/source/texk/web2c/luatexdir/font/texfont.h @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with LuaTeX; if not, see . */ -/* $Id: texfont.h 2361 2009-04-27 14:30:46Z taco $ */ +/* $Id: texfont.h 2414 2009-06-03 12:57:01Z taco $ */ /* Here we have the interface to LuaTeX's font system, as seen from the main pascal program. There is a companion list in luatex.defines to @@ -598,7 +598,7 @@ typedef enum { packet_char_code, packet_end_code } packet_command_codes; -extern scaled sqxfw(scaled sq, integer fw); +extern scaled store_scaled_f(scaled sq, integer fw); extern void do_vf_packet(internal_font_number vf_f, integer c); extern int vf_packet_bytes(charinfo * co); diff --git a/Build/source/texk/web2c/luatexdir/font/tfmofm.c b/Build/source/texk/web2c/luatexdir/font/tfmofm.c index 1172b457371..164676afa97 100644 --- a/Build/source/texk/web2c/luatexdir/font/tfmofm.c +++ b/Build/source/texk/web2c/luatexdir/font/tfmofm.c @@ -22,7 +22,7 @@ #include "luatexfont.h" static const char _svn_version[] = - "$Id: tfmofm.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/tfmofm.c $"; + "$Id: tfmofm.c 2414 2009-06-03 12:57:01Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/tfmofm.c $"; /* Here are some macros that help process ligatures and kerns */ @@ -508,13 +508,57 @@ open_tfm_file(char *nom, unsigned char **tfm_buf, integer * tfm_siz) of \TeX\ between computers. */ -#define store_scaled(zz) \ - { fget; a=fbyte; fget; b=fbyte; \ - fget; c=fbyte; fget; d=fbyte; \ - sw=(((((d*z)>>8)+(c*z))>>8)+(b*z)) / beta; \ - if (a==0) { zz=sw; } else if (a==255) { zz=sw-alpha; } else tfm_abort; \ +#define store_scaled(zz) \ + { fget; a=fbyte; fget; b=fbyte; \ + fget; c=fbyte; fget; d=fbyte; \ + sw=(((((d*z)>>8)+(c*z))>>8)+(b*z)) / beta; \ + if (a==0) { zz=sw; } else if (a==255) { zz=sw-alpha; } else tfm_abort; \ } +scaled store_scaled_f(scaled sq, scaled z_in) +{ + eight_bits a, b, c, d; + scaled sw; + static integer alpha, beta; /* beta:1..16 */ + static scaled z, z_prev = 0; + /* @; */ + if (z_in != z_prev || z_prev == 0) { + z = z_prev = z_in; + alpha = 16; + while (z >= 0x800000) { + z /= 2; + alpha += alpha; + } + beta = 256 / alpha; + alpha *= z; + }; + if (sq >= 0) { + d = sq % 256; /* any "mod 256" not really needed, would typecast alone be safe? */ + sq = sq / 256; + c = sq % 256; + sq = sq / 256; + b = sq % 256; + sq = sq / 256; + a = sq % 256; + } else { + sq = (sq + 1073741824) + 1073741824; /* braces for optimizing compiler */ + d = sq % 256; + sq = sq / 256; + c = sq % 256; + sq = sq / 256; + b = sq % 256; + sq = sq / 256; + a = (sq + 128) % 256; + } + sw = (((((d * z) >> 8) + (c * z)) >> 8) + (b * z)) / beta; + if (a == 0) + return sw; + else if (a == 255) + return (sw - alpha); + else + pdf_error(maketexstring("vf"), maketexstring("vf scaling")); +} + #define check_existence(z) \ { check_byte_range(z); \ if (!char_exists(f,z)) tfm_abort; \ diff --git a/Build/source/texk/web2c/luatexdir/font/tounicode.c b/Build/source/texk/web2c/luatexdir/font/tounicode.c index ab448106e11..b4c3dea81c4 100644 --- a/Build/source/texk/web2c/luatexdir/font/tounicode.c +++ b/Build/source/texk/web2c/luatexdir/font/tounicode.c @@ -20,7 +20,7 @@ #include "ptexlib.h" static const char _svn_version[] = - "$Id: tounicode.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/tounicode.c $"; + "$Id: tounicode.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/tounicode.c $"; #define isXdigit(c) (isdigit(c) || ('A' <= (c) && (c) <= 'F')) #define UNI_UNDEF -1 diff --git a/Build/source/texk/web2c/luatexdir/font/tt_glyf.c b/Build/source/texk/web2c/luatexdir/font/tt_glyf.c index bb7a344e049..159b988d968 100644 --- a/Build/source/texk/web2c/luatexdir/font/tt_glyf.c +++ b/Build/source/texk/web2c/luatexdir/font/tt_glyf.c @@ -32,7 +32,7 @@ #include "writettf.h" static const char _svn_version[] = - "$Id: tt_glyf.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/tt_glyf.c $"; + "$Id: tt_glyf.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/tt_glyf.c $"; #define NUM_GLYPH_LIMIT 65534 #define TABLE_DATA_ALLOC_SIZE 40960 diff --git a/Build/source/texk/web2c/luatexdir/font/tt_table.c b/Build/source/texk/web2c/luatexdir/font/tt_table.c index 908a85cfdb9..b10bc365b82 100644 --- a/Build/source/texk/web2c/luatexdir/font/tt_table.c +++ b/Build/source/texk/web2c/luatexdir/font/tt_table.c @@ -34,7 +34,7 @@ #include "tt_table.h" static const char _svn_version[] = - "$Id: tt_table.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/tt_table.c $"; + "$Id: tt_table.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/tt_table.c $"; /* tables contains information refered by other tables diff --git a/Build/source/texk/web2c/luatexdir/font/vfovf.c b/Build/source/texk/web2c/luatexdir/font/vfovf.c index b52596f68e3..2c84ce0554b 100644 --- a/Build/source/texk/web2c/luatexdir/font/vfovf.c +++ b/Build/source/texk/web2c/luatexdir/font/vfovf.c @@ -1,7 +1,7 @@ /* vfovf.c - + Copyright 1996-2006 Han The Thanh - Copyright 2006-2008 Taco Hoekwater + Copyright 2006-2009 Taco Hoekwater This file is part of LuaTeX. @@ -23,7 +23,8 @@ #include "luatexfont.h" static const char _svn_version[] = - "$Id: vfovf.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/vfovf.c $"; + "$Id: vfovf.c 2414 2009-06-03 12:57:01Z taco $ " + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/vfovf.c $"; /* this is a hack! */ #define font_max 5000 @@ -128,40 +129,52 @@ boolean auto_expand_vf(internal_font_number f); /* forward */ /* get a byte from\.{VF} file */ -#define vf_byte(a) { real_eight_bits vf_tmp_b; \ - if (vf_cur>=vf_size) { \ - pdftex_fail("unexpected eof on virtual font"); \ - } \ - vf_tmp_b = vf_buffer[vf_cur++] ; a = vf_tmp_b; } - +#define vf_byte(a) \ +{ \ + real_eight_bits vf_tmp_b; \ + if (vf_cur >= vf_size) { \ + pdftex_fail("unexpected eof on virtual font"); \ + } \ + vf_tmp_b = vf_buffer[vf_cur++]; \ + a = vf_tmp_b; \ +} -#define vf_replace_z() { \ - vf_alpha=16; \ - while (vf_z>=040000000) { \ - vf_z= vf_z / 2; \ - vf_alpha += vf_alpha; \ - } \ - vf_beta=256 / vf_alpha; \ - vf_alpha=vf_alpha*vf_z; } +#define vf_replace_z() \ +{ \ + vf_alpha = 16; \ + while (vf_z >= 040000000) { \ + vf_z = vf_z / 2; \ + vf_alpha += vf_alpha; \ + } \ + vf_beta = 256 / vf_alpha; \ + vf_alpha = vf_alpha * vf_z; \ +} /* read |k| bytes as an integer from \.{VF} file */ +/* beware: the vf_read() macro differs from vf_read() in vftovp.web for 1...3 byte words */ + +#define vf_read(k, l) \ +{ \ + integer itmp = 0, dtmp = k, jtmp = 0; \ + while (dtmp > 0) { \ + vf_byte(jtmp); \ + if ((dtmp == (integer) k) && jtmp > 127) \ + jtmp = jtmp - 256; \ + itmp = itmp * 256 + jtmp; \ + decr(dtmp); \ + } \ + l = itmp; \ +} -#define vf_read(k,l) { integer itmp = 0, dtmp = k, jtmp = 0; \ - while (dtmp > 0) { \ - vf_byte(jtmp); \ - if ((dtmp==(integer)k) && jtmp>127) \ - jtmp = jtmp - 256; \ - itmp = itmp*256 + jtmp; \ - decr(dtmp); \ - } \ - l = itmp; } - -#define vf_read_u(k,l) { unsigned int dtmp=k, itmp = 0, jtmp = 0; \ - while (dtmp-- > 0) { \ - vf_byte(jtmp); \ - itmp = itmp*256 + jtmp; \ - } \ - l = itmp; } +#define vf_read_u(k, l) \ +{ \ + unsigned int dtmp = k, itmp = 0, jtmp = 0; \ + while (dtmp-- > 0) { \ + vf_byte(jtmp); \ + itmp = itmp * 256 + jtmp; \ + } \ + l = itmp; \ +} void pdf_check_vf_cur_val(void) { @@ -220,7 +233,7 @@ vf_def_font(internal_font_number f, unsigned char *vf_buffer, integer * vf_cr) k = k * 256 + vf_buffer[(*vf_cr)]; (*vf_cr)++; - fs = sqxfw(k, font_size(f)); + fs = store_scaled_f(k, font_size(f)); k = vf_buffer[(*vf_cr)]; (*vf_cr)++; @@ -339,16 +352,20 @@ int open_vf_file(char *fn, unsigned char **vbuffer, integer * vsize) /* life is easier if all internal font commands are fnt4 and all character commands are set4 or put4 */ -#define append_fnt_set(k) { \ - assert(k>0) ; \ - append_packet(packet_font_code); \ - append_four(k); } +#define append_fnt_set(k) \ +{ \ + assert(k > 0); \ + append_packet(packet_font_code); \ + append_four(k); \ +} -#define append_four(k) { \ - append_packet((k&0xFF000000)>>24); \ - append_packet((k&0x00FF0000)>>16); \ - append_packet((k&0x0000FF00)>>8); \ - append_packet((k&0x000000FF)); } +#define append_four(k) \ +{ \ + append_packet((k & 0xFF000000) >> 24); \ + append_packet((k & 0x00FF0000) >> 16); \ + append_packet((k & 0x0000FF00) >> 8); \ + append_packet((k & 0x000000FF)); \ +} /* some of these things happen twice, adding a define is simplest */ @@ -364,14 +381,17 @@ int open_vf_file(char *fn, unsigned char **vbuffer, integer * vsize) print_string(font_name(f)); \ print_string(".vf ignored "); } } -#define test_dsize() { int read_tmp; vf_read(4,read_tmp); \ - if ((read_tmp / 16) != font_dsize(f)) { \ - print_nlp(); \ - print_string("design size mismatch in font "); \ - print_string(font_name(f)); \ - print_string(".vf ignored"); \ - } } - +#define test_dsize() \ +{ \ + int read_tmp; \ + vf_read(4, read_tmp); \ + if ((read_tmp / 16) != font_dsize(f)) { \ + print_nlp(); \ + print_string("design size mismatch in font "); \ + print_string(font_name(f)); \ + print_string(".vf ignored"); \ + } \ +} int count_packet_bytes(real_eight_bits * vf_buf, int cur_bute, int count) { @@ -703,7 +723,7 @@ void do_vf(internal_font_number f) save_cur_byte = vf_cur; vf_byte(cmd); while ((cmd >= fnt_def1) && (cmd <= (fnt_def1 + 3))) { - vf_read((cmd - fnt_def1 + 1), junk); + vf_read_u((cmd - fnt_def1 + 1), junk); vf_read(4, junk); vf_read(4, junk); vf_read(4, junk); @@ -745,21 +765,20 @@ void do_vf(internal_font_number f) bad_vf("invalid character code"); } vf_read(4, k); - tfm_width = sqxfw(k, font_size(f)); + tfm_width = store_scaled_f(k, font_size(f)); } else { packet_length = cmd; vf_byte(cc); if (!char_exists(f, cc)) { bad_vf("invalid character code"); } - vf_read(3, k); - tfm_width = sqxfw(k, font_size(f)); + vf_read_u(3, k); /* cf. vftovp.web, line 1028 */ + tfm_width = store_scaled_f(k, font_size(f)); } if (packet_length < 0) bad_vf("negative packet length"); if (tfm_width != char_width(f, cc)) { - /* precisely 'one off' errors are rampant */ - if (abs(tfm_width - char_width(f, cc)) > 1) { + if (tfm_width != char_width(f, cc)) { print_nlp(); print_string("character width mismatch in font "); print_string(font_name(f)); @@ -1126,7 +1145,7 @@ int make_vf_table(lua_State * L, char *cnom, scaled atsize) vf_byte(cs.b3); vf_read(4, k); - fs = sqxfw(k, atsize); + fs = store_scaled_f(k, atsize); lua_pushstring(L, "size"); lua_pushnumber(L, fs); lua_rawset(L, -3); @@ -1172,7 +1191,7 @@ int make_vf_table(lua_State * L, char *cnom, scaled atsize) } else { packet_length = cmd; vf_byte(cc); - vf_read(3, tfm_width); + vf_read_u(3, tfm_width); } if (packet_length < 0) lua_bad_vf("negative packet length"); @@ -1216,7 +1235,7 @@ int make_vf_table(lua_State * L, char *cnom, scaled atsize) case set_rule: vf_read(4, h); vf_read(4, v); - make_command2("rule", sqxfw(h, atsize), sqxfw(v, atsize), + make_command2("rule", store_scaled_f(h, atsize), store_scaled_f(v, atsize), k); packet_length -= 8; break; @@ -1224,7 +1243,7 @@ int make_vf_table(lua_State * L, char *cnom, scaled atsize) vf_read(4, h); vf_read(4, v); make_command0("push", k); - make_command2("rule", sqxfw(h, atsize), sqxfw(v, atsize), + make_command2("rule", store_scaled_f(h, atsize), store_scaled_f(v, atsize), k); make_command0("pop", k); packet_length -= 8; @@ -1260,7 +1279,7 @@ int make_vf_table(lua_State * L, char *cnom, scaled atsize) case right3: case right4: vf_read((cmd - right1 + 1), i); - make_command1("right", sqxfw(i, atsize), k); + make_command1("right", store_scaled_f(i, atsize), k); packet_length -= (cmd - right1 + 1); break; case w1: @@ -1268,7 +1287,7 @@ int make_vf_table(lua_State * L, char *cnom, scaled atsize) case w3: case w4: vf_read((cmd - w1 + 1), w); - make_command1("right", sqxfw(w, atsize), k); + make_command1("right", store_scaled_f(w, atsize), k); packet_length -= (cmd - w1 + 1); break; case x1: @@ -1276,7 +1295,7 @@ int make_vf_table(lua_State * L, char *cnom, scaled atsize) case x3: case x4: vf_read((cmd - x1 + 1), x); - make_command1("right", sqxfw(x, atsize), k); + make_command1("right", store_scaled_f(x, atsize), k); packet_length -= (cmd - x1 + 1); break; case down1: @@ -1284,7 +1303,7 @@ int make_vf_table(lua_State * L, char *cnom, scaled atsize) case down3: case down4: vf_read((cmd - down1 + 1), i); - make_command1("down", sqxfw(i, atsize), k); + make_command1("down", store_scaled_f(i, atsize), k); packet_length -= (cmd - down1 + 1); break; case y1: @@ -1292,7 +1311,7 @@ int make_vf_table(lua_State * L, char *cnom, scaled atsize) case y3: case y4: vf_read((cmd - y1 + 1), y); - make_command1("down", sqxfw(y, atsize), k); + make_command1("down", store_scaled_f(y, atsize), k); packet_length -= (cmd - y1 + 1); break; case z1: @@ -1300,7 +1319,7 @@ int make_vf_table(lua_State * L, char *cnom, scaled atsize) case z3: case z4: vf_read((cmd - z1 + 1), z); - make_command1("down", sqxfw(z, atsize), k); + make_command1("down", store_scaled_f(z, atsize), k); packet_length -= (cmd - z1 + 1); break; case xxx1: @@ -1325,16 +1344,16 @@ int make_vf_table(lua_State * L, char *cnom, scaled atsize) free(s); break; case w0: - make_command1("right", sqxfw(w, atsize), k); + make_command1("right", store_scaled_f(w, atsize), k); break; case x0: - make_command1("right", sqxfw(x, atsize), k); + make_command1("right", store_scaled_f(x, atsize), k); break; case y0: - make_command1("down", sqxfw(y, atsize), k); + make_command1("down", store_scaled_f(y, atsize), k); break; case z0: - make_command1("down", sqxfw(z, atsize), k); + make_command1("down", store_scaled_f(z, atsize), k); break; case nop: break; @@ -1389,7 +1408,7 @@ int make_vf_table(lua_State * L, char *cnom, scaled atsize) } -/* This function is called from |do_vf|, and fixes up the virtual data +/* This function is called from |do_vf|, and fixes up the virtual data inside an auto-expanded virtual font */ boolean auto_expand_vf(internal_font_number f) @@ -1558,7 +1577,7 @@ letter_space_font(halfword u, internal_font_number f, integer e) vf_packet_base[k] = new_vf_packet(k); for (c=font_bc(k);c<=font_ec(k);c++) { - string_room(17); + string_room(17); append_fnt_set(f); append_packet(right1 + 3); append_packet(tmp_b0); diff --git a/Build/source/texk/web2c/luatexdir/font/vfpacket.c b/Build/source/texk/web2c/luatexdir/font/vfpacket.c index f8f4bad02f7..6f2edb1bdf9 100644 --- a/Build/source/texk/web2c/luatexdir/font/vfpacket.c +++ b/Build/source/texk/web2c/luatexdir/font/vfpacket.c @@ -21,7 +21,7 @@ #include "ptexlib.h" static const char _svn_version[] = - "$Id: vfpacket.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/vfpacket.c $"; + "$Id: vfpacket.c 2414 2009-06-03 12:57:01Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/vfpacket.c $"; /* The |do_vf_packet| procedure is called in order to interpret the @@ -64,7 +64,7 @@ static packet_stack_index packet_stack_ptr = 0; /* pointer into |packet_stack| * fw = fw*256 + do_packet_byte(); \ fw = fw*256 + do_packet_byte(); \ fw = fw*256 + do_packet_byte(); \ - a = sqxfw(fw, fs); } + a = store_scaled_f(fw, fs); } /* count the number of bytes in a command packet */ @@ -371,41 +371,3 @@ replace_packet_fonts(internal_font_number f, integer * old_fontid, } } } - -/* this function was copied/borrowed/stolen from dvipdfm code */ - -scaled sqxfw(scaled sq, integer fw) -{ - int sign = 1; - unsigned long a, b, c, d, ad, bd, bc, ac; - unsigned long e, f, g, h, i, j, k; - unsigned long result; - /* Make positive. */ - if (sq < 0) { - sign = -sign; - sq = -sq; - } - if (fw < 0) { - sign = -sign; - fw = -fw; - } - a = ((unsigned long) sq) >> 16u; - b = ((unsigned long) sq) & 0xffffu; - c = ((unsigned long) fw) >> 16u; - d = ((unsigned long) fw) & 0xffffu; - ad = a * d; - bd = b * d; - bc = b * c; - ac = a * c; - e = bd >> 16u; - f = ad >> 16u; - g = ad & 0xffffu; - h = bc >> 16u; - i = bc & 0xffffu; - j = ac >> 16u; - k = ac & 0xffffu; - result = (e + g + i + (1 << 3)) >> 4u; /* 1<<3 is for rounding */ - result += (f + h + k) << 12u; - result += j << 28u; - return (sign > 0) ? result : -result; -} diff --git a/Build/source/texk/web2c/luatexdir/font/writecff.c b/Build/source/texk/web2c/luatexdir/font/writecff.c index 8480122f6ce..18f7febad5f 100644 --- a/Build/source/texk/web2c/luatexdir/font/writecff.c +++ b/Build/source/texk/web2c/luatexdir/font/writecff.c @@ -22,8 +22,8 @@ #include "writecff.h" static const char _svn_version[] = - "$Id: writecff.c 2331 2009-04-18 16:39:50Z hhenkel $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/writecff.c $"; + "$Id: writecff.c 2414 2009-06-03 12:57:01Z taco $ " + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/writecff.c $"; #define get_offset(s,n) get_unsigned(s, (n)) #define get_card8(a) a->stream[a->offset++] @@ -744,9 +744,6 @@ static void add_dict(cff_dict * dict, if (dict_operator[id].opname == NULL || argtype < 0) { *status = CFF_CFF_ERROR_PARSE_CFF_ERROR; return; - } else if (stack_top < 1) { - *status = CFF_CFF_ERROR_STACK_UNDERFLOW; - return; } if (dict->count >= dict->max) { @@ -761,22 +758,32 @@ static void add_dict(cff_dict * dict, if (argtype == CFF_TYPE_NUMBER || argtype == CFF_TYPE_BOOLEAN || argtype == CFF_TYPE_SID || argtype == CFF_TYPE_OFFSET) { + /* check for underflow here, as exactly one operand is expected */ + if (stack_top < 1) { + *status = CFF_CFF_ERROR_STACK_UNDERFLOW; + return; + } stack_top--; (dict->entries)[dict->count].count = 1; (dict->entries)[dict->count].values = xcalloc(1, sizeof(double)); (dict->entries)[dict->count].values[0] = arg_stack[stack_top]; + dict->count += 1; } else { - (dict->entries)[dict->count].count = stack_top; - (dict->entries)[dict->count].values = - xcalloc(stack_top, sizeof(double)); - while (stack_top > 0) { - stack_top--; - (dict->entries)[dict->count].values[stack_top] = - arg_stack[stack_top]; - } + /* just ignore operator if there were no operands provided; + don't treat this as underflow (e.g. StemSnapV in TemporaLGCUni-Italic.otf) */ + if (stack_top > 0) { + (dict->entries)[dict->count].count = stack_top; + (dict->entries)[dict->count].values = + xcalloc(stack_top, sizeof(double)); + while (stack_top > 0) { + stack_top--; + (dict->entries)[dict->count].values[stack_top] = + arg_stack[stack_top]; + } + dict->count += 1; + } } - dict->count += 1; *data += 1; return; diff --git a/Build/source/texk/web2c/luatexdir/font/writeenc.c b/Build/source/texk/web2c/luatexdir/font/writeenc.c index 70b6957951c..6e7013f0e6b 100644 --- a/Build/source/texk/web2c/luatexdir/font/writeenc.c +++ b/Build/source/texk/web2c/luatexdir/font/writeenc.c @@ -21,7 +21,7 @@ #include "ptexlib.h" static const char _svn_version[] = - "$Id: writeenc.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/writeenc.c $"; + "$Id: writeenc.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/writeenc.c $"; /**********************************************************************/ /* All encoding entries go into AVL tree for fast search by name. */ diff --git a/Build/source/texk/web2c/luatexdir/font/writefont.c b/Build/source/texk/web2c/luatexdir/font/writefont.c index 74f1ffeeb14..5dd953ace40 100644 --- a/Build/source/texk/web2c/luatexdir/font/writefont.c +++ b/Build/source/texk/web2c/luatexdir/font/writefont.c @@ -23,7 +23,7 @@ static const char _svn_version[] = "$Id: writefont.c 2331 2009-04-18 16:39:50Z hhenkel $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/writefont.c $"; + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/writefont.c $"; void write_cid_fontdictionary(fo_entry * fo, internalfontnumber f); void create_cid_fontdictionary(fm_entry * fm, integer font_objnum, diff --git a/Build/source/texk/web2c/luatexdir/font/writet1.c b/Build/source/texk/web2c/luatexdir/font/writet1.c index 2832dbfae49..9bf71a97b8a 100644 --- a/Build/source/texk/web2c/luatexdir/font/writet1.c +++ b/Build/source/texk/web2c/luatexdir/font/writet1.c @@ -25,7 +25,7 @@ #include "luatex-api.h" static const char _svn_version[] = - "$Id: writet1.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/writet1.c $"; + "$Id: writet1.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/writet1.c $"; #define t1_log(str) if(tracefilenames) tex_printf("%s", str) #define get_length1() t1_length1 = t1_offset() - t1_save_offset diff --git a/Build/source/texk/web2c/luatexdir/font/writet3.c b/Build/source/texk/web2c/luatexdir/font/writet3.c index 3d3f46fe2c6..84cecbc0404 100644 --- a/Build/source/texk/web2c/luatexdir/font/writet3.c +++ b/Build/source/texk/web2c/luatexdir/font/writet3.c @@ -25,7 +25,7 @@ #include "luatexfont.h" static const char _svn_version[] = - "$Id: writet3.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/writet3.c $"; + "$Id: writet3.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/writet3.c $"; #define T3_BUF_SIZE 1024 diff --git a/Build/source/texk/web2c/luatexdir/font/writettf.c b/Build/source/texk/web2c/luatexdir/font/writettf.c index 7781407c37b..38e65b298fa 100644 --- a/Build/source/texk/web2c/luatexdir/font/writettf.c +++ b/Build/source/texk/web2c/luatexdir/font/writettf.c @@ -23,7 +23,7 @@ #include static const char _svn_version[] = - "$Id: writettf.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/writettf.c $"; + "$Id: writettf.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/writettf.c $"; #define DEFAULT_NTABS 14 #define NEW_CMAP_SIZE 2 diff --git a/Build/source/texk/web2c/luatexdir/font/writetype0.c b/Build/source/texk/web2c/luatexdir/font/writetype0.c index ea7c7822a2f..14af9aba1a9 100644 --- a/Build/source/texk/web2c/luatexdir/font/writetype0.c +++ b/Build/source/texk/web2c/luatexdir/font/writetype0.c @@ -22,7 +22,7 @@ #include "writecff.h" static const char _svn_version[] = - "$Id: writetype0.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/writetype0.c $"; + "$Id: writetype0.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/writetype0.c $"; void writetype0(fd_entry * fd) { diff --git a/Build/source/texk/web2c/luatexdir/font/writetype2.c b/Build/source/texk/web2c/luatexdir/font/writetype2.c index 7eb84d8f5de..15dcc01af8a 100644 --- a/Build/source/texk/web2c/luatexdir/font/writetype2.c +++ b/Build/source/texk/web2c/luatexdir/font/writetype2.c @@ -25,7 +25,7 @@ #include "tt_glyf.h" static const char _svn_version[] = - "$Id: writetype2.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/font/writetype2.c $"; + "$Id: writetype2.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/font/writetype2.c $"; /* forward*/ void make_tt_subset(fd_entry * fd, unsigned char *buffer, integer buflen); diff --git a/Build/source/texk/web2c/luatexdir/image/epdf.c b/Build/source/texk/web2c/luatexdir/image/epdf.c index a30b87ebd12..dfa182f74c2 100644 --- a/Build/source/texk/web2c/luatexdir/image/epdf.c +++ b/Build/source/texk/web2c/luatexdir/image/epdf.c @@ -26,7 +26,7 @@ static const char _svn_version[] = "$Id: epdf.c 2331 2009-04-18 16:39:50Z hhenkel $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/image/epdf.c $"; + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/image/epdf.c $"; fd_entry *epdf_create_fontdescriptor(fm_entry * fm, int stemV) { diff --git a/Build/source/texk/web2c/luatexdir/image/pdftoepdf.cc b/Build/source/texk/web2c/luatexdir/image/pdftoepdf.cc index ac74cde7e63..cd1dc6e10d9 100644 --- a/Build/source/texk/web2c/luatexdir/image/pdftoepdf.cc +++ b/Build/source/texk/web2c/luatexdir/image/pdftoepdf.cc @@ -54,8 +54,8 @@ #include "epdf.h" static const char _svn_version[] = - "$Id: pdftoepdf.cc 2325 2009-04-18 11:24:38Z hhenkel $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/image/pdftoepdf.cc $"; + "$Id: pdftoepdf.cc 2376 2009-05-08 08:40:13Z taco $ " + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/image/pdftoepdf.cc $"; #define one_hundred_bp 6578176 /* 7227 * 65536 / 72 */ diff --git a/Build/source/texk/web2c/luatexdir/image/writeimg.c b/Build/source/texk/web2c/luatexdir/image/writeimg.c index 35820522bad..184696c26a0 100644 --- a/Build/source/texk/web2c/luatexdir/image/writeimg.c +++ b/Build/source/texk/web2c/luatexdir/image/writeimg.c @@ -34,7 +34,7 @@ static const char _svn_version[] = "$Id: writeimg.c 2336 2009-04-19 08:38:24Z hhenkel $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/image/writeimg.c $"; + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/image/writeimg.c $"; /**********************************************************************/ /* diff --git a/Build/source/texk/web2c/luatexdir/image/writejbig2.c b/Build/source/texk/web2c/luatexdir/image/writejbig2.c index 0e65e69bda9..83a66676d54 100644 --- a/Build/source/texk/web2c/luatexdir/image/writejbig2.c +++ b/Build/source/texk/web2c/luatexdir/image/writejbig2.c @@ -82,7 +82,7 @@ object exists, reference it. Else create fresh one. static const char _svn_version[] = "$Id: writejbig2.c 2315 2009-04-17 23:34:42Z hhenkel $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/image/writejbig2.c $"; + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/image/writejbig2.c $"; #undef DEBUG diff --git a/Build/source/texk/web2c/luatexdir/image/writejpg.c b/Build/source/texk/web2c/luatexdir/image/writejpg.c index 44bd3549982..13197ace07f 100644 --- a/Build/source/texk/web2c/luatexdir/image/writejpg.c +++ b/Build/source/texk/web2c/luatexdir/image/writejpg.c @@ -24,7 +24,7 @@ static const char _svn_version[] = "$Id: writejpg.c 2320 2009-04-18 08:52:30Z hhenkel $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/image/writejpg.c $"; + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/image/writejpg.c $"; #define JPG_GRAY 1 /* Gray color space, use /DeviceGray */ #define JPG_RGB 3 /* RGB color space, use /DeviceRGB */ diff --git a/Build/source/texk/web2c/luatexdir/image/writepng.c b/Build/source/texk/web2c/luatexdir/image/writepng.c index 8fc47a3b35c..33bd1c1e780 100644 --- a/Build/source/texk/web2c/luatexdir/image/writepng.c +++ b/Build/source/texk/web2c/luatexdir/image/writepng.c @@ -24,7 +24,7 @@ static const char _svn_version[] = "$Id: writepng.c 2317 2009-04-18 00:12:18Z hhenkel $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/image/writepng.c $"; + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/image/writepng.c $"; static int transparent_page_group = -1; diff --git a/Build/source/texk/web2c/luatexdir/lua/lcallbacklib.c b/Build/source/texk/web2c/luatexdir/lua/lcallbacklib.c index f06445e62fe..a5809a72bd9 100644 --- a/Build/source/texk/web2c/luatexdir/lua/lcallbacklib.c +++ b/Build/source/texk/web2c/luatexdir/lua/lcallbacklib.c @@ -21,7 +21,7 @@ #include static const char _svn_version[] = - "$Id: lcallbacklib.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/lcallbacklib.c $"; + "$Id: lcallbacklib.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/lcallbacklib.c $"; extern int do_run_callback(int special, char *values, va_list vl); extern int lua_traceback(lua_State * L); diff --git a/Build/source/texk/web2c/luatexdir/lua/lfontlib.c b/Build/source/texk/web2c/luatexdir/lua/lfontlib.c index 78e6aa3bf4b..a2555c3079f 100644 --- a/Build/source/texk/web2c/luatexdir/lua/lfontlib.c +++ b/Build/source/texk/web2c/luatexdir/lua/lfontlib.c @@ -22,7 +22,7 @@ #include "nodes.h" static const char _svn_version[] = - "$Id: lfontlib.c 2347 2009-04-22 11:51:15Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/lfontlib.c $"; + "$Id: lfontlib.c 2349 2009-04-22 12:13:26Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/lfontlib.c $"; #define TIMERS 0 diff --git a/Build/source/texk/web2c/luatexdir/lua/limglib.c b/Build/source/texk/web2c/luatexdir/lua/limglib.c index ac93fb4305d..68504b87cb4 100644 --- a/Build/source/texk/web2c/luatexdir/lua/limglib.c +++ b/Build/source/texk/web2c/luatexdir/lua/limglib.c @@ -27,7 +27,7 @@ static const char _svn_version[] = "$Id: limglib.c 2329 2009-04-18 14:25:30Z hhenkel $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/limglib.c $"; + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/limglib.c $"; /**********************************************************************/ diff --git a/Build/source/texk/web2c/luatexdir/lua/liolib.c b/Build/source/texk/web2c/luatexdir/lua/liolib.c index 00d020c4495..c91cd5ccefd 100644 --- a/Build/source/texk/web2c/luatexdir/lua/liolib.c +++ b/Build/source/texk/web2c/luatexdir/lua/liolib.c @@ -1,5 +1,5 @@ /* -** $Id: liolib.c 2363 2009-04-30 07:47:37Z taco $ +** $Id: liolib.c 2376 2009-05-08 08:40:13Z taco $ ** Standard I/O (and system) library ** See Copyright Notice in lua.h */ diff --git a/Build/source/texk/web2c/luatexdir/lua/lkpselib.c b/Build/source/texk/web2c/luatexdir/lua/lkpselib.c index 37a5d96cddd..abe01205b61 100644 --- a/Build/source/texk/web2c/luatexdir/lua/lkpselib.c +++ b/Build/source/texk/web2c/luatexdir/lua/lkpselib.c @@ -25,7 +25,7 @@ #include static const char _svn_version[] = - "$Id: lkpselib.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/lkpselib.c $"; + "$Id: lkpselib.c 2414 2009-06-03 12:57:01Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/lkpselib.c $"; static const int filetypes[] = { kpse_gf_format, @@ -79,7 +79,11 @@ static const int filetypes[] = { kpse_pdftex_config_format, kpse_lig_format, kpse_texmfscripts_format, - kpse_lua_format + kpse_lua_format, + kpse_fea_format, + kpse_cid_format, + kpse_mlbib_format, + kpse_mlbst_format }; static const char *const filetypenames[] = { @@ -135,6 +139,10 @@ static const char *const filetypenames[] = { "lig files", "texmfscripts", "lua", + "font feature files", + "cid maps", + "mlbib", + "mlbst", NULL }; diff --git a/Build/source/texk/web2c/luatexdir/lua/llanglib.c b/Build/source/texk/web2c/luatexdir/lua/llanglib.c index 6ca78933d3a..91259aba4e2 100644 --- a/Build/source/texk/web2c/luatexdir/lua/llanglib.c +++ b/Build/source/texk/web2c/luatexdir/lua/llanglib.c @@ -23,7 +23,7 @@ #include "nodes.h" static const char _svn_version[] = - "$Id: llanglib.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/llanglib.c $"; + "$Id: llanglib.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/llanglib.c $"; #define LANG_METATABLE "luatex.lang" diff --git a/Build/source/texk/web2c/luatexdir/lua/llualib.c b/Build/source/texk/web2c/luatexdir/lua/llualib.c index cfd3b783ed6..f8ddef81d23 100644 --- a/Build/source/texk/web2c/luatexdir/lua/llualib.c +++ b/Build/source/texk/web2c/luatexdir/lua/llualib.c @@ -21,7 +21,7 @@ #include static const char _svn_version[] = - "$Id: llualib.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/llualib.c $"; + "$Id: llualib.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/llualib.c $"; #define LOAD_BUF_SIZE 256 #define UINT_MAX32 0xFFFFFFFF diff --git a/Build/source/texk/web2c/luatexdir/lua/lnodelib.c b/Build/source/texk/web2c/luatexdir/lua/lnodelib.c index 65f39ca21b3..18a593978a5 100644 --- a/Build/source/texk/web2c/luatexdir/lua/lnodelib.c +++ b/Build/source/texk/web2c/luatexdir/lua/lnodelib.c @@ -25,7 +25,7 @@ #include "commands.h" static const char _svn_version[] = - "$Id: lnodelib.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/lnodelib.c $"; + "$Id: lnodelib.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/lnodelib.c $"; #define init_luaS_index(a) do { \ lua_pushliteral(L,#a); \ diff --git a/Build/source/texk/web2c/luatexdir/lua/loslibext.c b/Build/source/texk/web2c/luatexdir/lua/loslibext.c index fbe3f875148..847b9a56f56 100644 --- a/Build/source/texk/web2c/luatexdir/lua/loslibext.c +++ b/Build/source/texk/web2c/luatexdir/lua/loslibext.c @@ -25,7 +25,7 @@ #include static const char _svn_version[] = - "$Id: loslibext.c 2363 2009-04-30 07:47:37Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/loslibext.c $"; + "$Id: loslibext.c 2376 2009-05-08 08:40:13Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/loslibext.c $"; #if defined(_WIN32) || defined(WIN32) || defined(__NT__) # define MKDIR(a,b) mkdir(a) diff --git a/Build/source/texk/web2c/luatexdir/lua/lpdflib.c b/Build/source/texk/web2c/luatexdir/lua/lpdflib.c index ab2761ea13d..35261fdc5a0 100644 --- a/Build/source/texk/web2c/luatexdir/lua/lpdflib.c +++ b/Build/source/texk/web2c/luatexdir/lua/lpdflib.c @@ -22,7 +22,7 @@ static const char _svn_version[] = "$Id: lpdflib.c 2329 2009-04-18 14:25:30Z hhenkel $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/lpdflib.c $"; + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/lpdflib.c $"; static int findcurv(lua_State * L) { diff --git a/Build/source/texk/web2c/luatexdir/lua/lstatslib.c b/Build/source/texk/web2c/luatexdir/lua/lstatslib.c index e012a7bcb69..56494874f76 100644 --- a/Build/source/texk/web2c/luatexdir/lua/lstatslib.c +++ b/Build/source/texk/web2c/luatexdir/lua/lstatslib.c @@ -22,7 +22,7 @@ static const char _svn_version[] = - "$Id: lstatslib.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/lstatslib.c $"; + "$Id: lstatslib.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/lstatslib.c $"; typedef struct statistic { const char *name; diff --git a/Build/source/texk/web2c/luatexdir/lua/ltexiolib.c b/Build/source/texk/web2c/luatexdir/lua/ltexiolib.c index e938c856340..74f7ddb6795 100644 --- a/Build/source/texk/web2c/luatexdir/lua/ltexiolib.c +++ b/Build/source/texk/web2c/luatexdir/lua/ltexiolib.c @@ -21,7 +21,7 @@ #include static const char _svn_version[] = - "$Id: ltexiolib.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/ltexiolib.c $"; + "$Id: ltexiolib.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/ltexiolib.c $"; typedef void (*texio_printer) (str_number s); diff --git a/Build/source/texk/web2c/luatexdir/lua/ltexlib.c b/Build/source/texk/web2c/luatexdir/lua/ltexlib.c index 6326f00c39a..785bf67f4e4 100644 --- a/Build/source/texk/web2c/luatexdir/lua/ltexlib.c +++ b/Build/source/texk/web2c/luatexdir/lua/ltexlib.c @@ -24,7 +24,7 @@ #include "tokens.h" static const char _svn_version[] = - "$Id: ltexlib.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/ltexlib.c $"; + "$Id: ltexlib.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/ltexlib.c $"; extern halfword *check_isnode(lua_State * L, int ud); extern void lua_nodelib_push_fast(lua_State * L, halfword n); diff --git a/Build/source/texk/web2c/luatexdir/lua/ltokenlib.c b/Build/source/texk/web2c/luatexdir/lua/ltokenlib.c index 41df1101814..76a7aaa8faa 100644 --- a/Build/source/texk/web2c/luatexdir/lua/ltokenlib.c +++ b/Build/source/texk/web2c/luatexdir/lua/ltokenlib.c @@ -22,7 +22,7 @@ #include "tokens.h" static const char _svn_version[] = - "$Id: ltokenlib.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/ltokenlib.c $"; + "$Id: ltokenlib.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/ltokenlib.c $"; extern int get_command_id(char *); diff --git a/Build/source/texk/web2c/luatexdir/lua/luainit.c b/Build/source/texk/web2c/luatexdir/lua/luainit.c index 7e49c28389b..cf7d14b1daa 100644 --- a/Build/source/texk/web2c/luatexdir/lua/luainit.c +++ b/Build/source/texk/web2c/luatexdir/lua/luainit.c @@ -25,7 +25,7 @@ #include static const char _svn_version[] = - "$Id: luainit.c 2363 2009-04-30 07:47:37Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/luainit.c $"; + "$Id: luainit.c 2376 2009-05-08 08:40:13Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/luainit.c $"; /* TH: TODO * diff --git a/Build/source/texk/web2c/luatexdir/lua/luanode.c b/Build/source/texk/web2c/luatexdir/lua/luanode.c index 49d46b258f6..4ea14bbfda5 100644 --- a/Build/source/texk/web2c/luatexdir/lua/luanode.c +++ b/Build/source/texk/web2c/luatexdir/lua/luanode.c @@ -22,7 +22,7 @@ #include "nodes.h" static const char _svn_version[] = - "$Id: luanode.c 2284 2009-04-14 12:58:45Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/luanode.c $"; + "$Id: luanode.c 2284 2009-04-14 12:58:45Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/luanode.c $"; #undef link /* defined by cpascal.h */ #define info(a) fixmem[(a)].hhlh diff --git a/Build/source/texk/web2c/luatexdir/lua/luastuff.c b/Build/source/texk/web2c/luatexdir/lua/luastuff.c index 493e515f7e8..ed38e5e510f 100644 --- a/Build/source/texk/web2c/luatexdir/lua/luastuff.c +++ b/Build/source/texk/web2c/luatexdir/lua/luastuff.c @@ -21,7 +21,7 @@ #include static const char _svn_version[] = - "$Id: luastuff.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/luastuff.c $"; + "$Id: luastuff.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/luastuff.c $"; lua_State *Luas = NULL; diff --git a/Build/source/texk/web2c/luatexdir/lua/luatex.c b/Build/source/texk/web2c/luatexdir/lua/luatex.c index eed9adf27eb..0c29ebfb059 100644 --- a/Build/source/texk/web2c/luatexdir/lua/luatex.c +++ b/Build/source/texk/web2c/luatexdir/lua/luatex.c @@ -22,7 +22,7 @@ #include static const char _svn_version[] = - "$Id: luatex.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/luatex.c $"; + "$Id: luatex.c 2306 2009-04-16 15:01:45Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/luatex.c $"; /* do this aleph stuff here, for now */ diff --git a/Build/source/texk/web2c/luatexdir/lua/luatoken.c b/Build/source/texk/web2c/luatexdir/lua/luatoken.c index c77b2a5f049..c6a33ee85f0 100644 --- a/Build/source/texk/web2c/luatexdir/lua/luatoken.c +++ b/Build/source/texk/web2c/luatexdir/lua/luatoken.c @@ -24,7 +24,7 @@ #include "commands.h" static const char _svn_version[] = - "$Id: luatoken.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/luatoken.c $"; + "$Id: luatoken.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/luatoken.c $"; command_item command_names[] = { {"relax", relax_cmd, NULL}, diff --git a/Build/source/texk/web2c/luatexdir/lua/texluac.c b/Build/source/texk/web2c/luatexdir/lua/texluac.c index bac9559741f..8d62a3a885b 100644 --- a/Build/source/texk/web2c/luatexdir/lua/texluac.c +++ b/Build/source/texk/web2c/luatexdir/lua/texluac.c @@ -46,7 +46,7 @@ #include <../lua51/lundump.h> static const char _svn_version[] = - "$Id: texluac.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/lua/texluac.c $"; + "$Id: texluac.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/lua/texluac.c $"; #define PROGNAME "texluac" /* default program name */ #define OUTPUT PROGNAME ".out" /* default output file */ diff --git a/Build/source/texk/web2c/luatexdir/lua51/ldebug.c b/Build/source/texk/web2c/luatexdir/lua51/ldebug.c index abb3da4a021..8d8bef476ff 100644 --- a/Build/source/texk/web2c/luatexdir/lua51/ldebug.c +++ b/Build/source/texk/web2c/luatexdir/lua51/ldebug.c @@ -28,7 +28,7 @@ #include "ltm.h" #include "lvm.h" -#include + static const char *getfuncname (lua_State *L, CallInfo *ci, const char **name); @@ -37,8 +37,6 @@ static int currentpc (lua_State *L, CallInfo *ci) { if (!isLua(ci)) return -1; /* function is not a Lua function? */ if (ci == L->ci) ci->savedpc = L->savedpc; - if (ci->savedpc==NULL) - return -1; return pcRel(ci->savedpc, ci_func(ci)->l.p); } @@ -48,7 +46,7 @@ static int currentline (lua_State *L, CallInfo *ci) { if (pc < 0) return -1; /* only active lua functions have current-line information */ else - return getline(ci_func(ci)->l.p, pc); + return GETLINE(ci_func(ci)->l.p, pc); } diff --git a/Build/source/texk/web2c/luatexdir/lua51/ldebug.h b/Build/source/texk/web2c/luatexdir/lua51/ldebug.h index ba28a97248e..00b229f5b31 100644 --- a/Build/source/texk/web2c/luatexdir/lua51/ldebug.h +++ b/Build/source/texk/web2c/luatexdir/lua51/ldebug.h @@ -13,7 +13,7 @@ #define pcRel(pc, p) (cast(int, (pc) - (p)->code) - 1) -#define getline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : 0) +#define GETLINE(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : 0) #define resethookcount(L) (L->hookcount = L->basehookcount) diff --git a/Build/source/texk/web2c/luatexdir/lua51/lvm.c b/Build/source/texk/web2c/luatexdir/lua51/lvm.c index ee3256ab94d..8b8624cf338 100644 --- a/Build/source/texk/web2c/luatexdir/lua51/lvm.c +++ b/Build/source/texk/web2c/luatexdir/lua51/lvm.c @@ -68,10 +68,10 @@ static void traceexec (lua_State *L, const Instruction *pc) { if (mask & LUA_MASKLINE) { Proto *p = ci_func(L->ci)->l.p; int npc = pcRel(pc, p); - int newline = getline(p, npc); + int newline = GETLINE(p, npc); /* call linehook when enter a new function, when jump back (loop), or when enter a new line */ - if (npc == 0 || pc <= oldpc || newline != getline(p, pcRel(oldpc, p))) + if (npc == 0 || pc <= oldpc || newline != GETLINE(p, pcRel(oldpc, p))) luaD_callhook(L, LUA_HOOKLINE, newline); } } diff --git a/Build/source/texk/web2c/luatexdir/lua51/print.c b/Build/source/texk/web2c/luatexdir/lua51/print.c index e240cfc3c60..84e3166bf11 100644 --- a/Build/source/texk/web2c/luatexdir/lua51/print.c +++ b/Build/source/texk/web2c/luatexdir/lua51/print.c @@ -84,7 +84,7 @@ static void PrintCode(const Proto* f) int c=GETARG_C(i); int bx=GETARG_Bx(i); int sbx=GETARG_sBx(i); - int line=getline(f,pc); + int line=GETLINE(f,pc); printf("\t%d\t",pc+1); if (line>0) printf("[%d]\t",line); else printf("[-]\t"); printf("%-9s\t",luaP_opnames[o]); diff --git a/Build/source/texk/web2c/luatexdir/luafilesystem/src/lfs.c b/Build/source/texk/web2c/luatexdir/luafilesystem/src/lfs.c index ea9aea6f69c..cdcbcf0d90f 100644 --- a/Build/source/texk/web2c/luatexdir/luafilesystem/src/lfs.c +++ b/Build/source/texk/web2c/luatexdir/luafilesystem/src/lfs.c @@ -78,8 +78,6 @@ typedef struct dir_data { #define STAT_STRUCT struct _stati64 #define STAT_FUNC _stati64 #else -#define _O_TEXT 0 -#define _O_BINARY 0 #define lfs_setmode(L,file,m) ((void)((void)file,m), \ luaL_error(L, LUA_QL("setmode") " not supported on this platform"), -1) #ifdef HAVE_STAT64 diff --git a/Build/source/texk/web2c/luatexdir/luatex.web b/Build/source/texk/web2c/luatexdir/luatex.web index c1467f01cd2..9186d5a0e92 100644 --- a/Build/source/texk/web2c/luatexdir/luatex.web +++ b/Build/source/texk/web2c/luatexdir/luatex.web @@ -250,8 +250,8 @@ known as `\eTeX'. @d pdftex_version_string=='-2.00.0' {current \pdfTeX\ version} @# @d luatex_version==40 { \.{\\luatexversion} } -@d luatex_revision=="1" { \.{\\luatexrevision} } -@d luatex_version_string=='beta-0.40.1' {current \LuaTeX\ version} +@d luatex_revision=="2" { \.{\\luatexrevision} } +@d luatex_version_string=='beta-0.40.2' {current \LuaTeX\ version} @d luatex_date_info==-extra_version_info { the compile date is negated } @d luatex_svnversion=='$Id$' {for long --version information, as proposed by Peter M\"unster} @@ -17597,7 +17597,7 @@ if (tracing_output<=0)and(post_callback_id=0) and shipping_page then dead_cycles:=0; update_terminal; {progress report} @; -if post_callback_id>0 then +if shipping_page and post_callback_id>0 then ret:=run_callback(post_callback_id,'->'); @; end; diff --git a/Build/source/texk/web2c/luatexdir/makecpool.c b/Build/source/texk/web2c/luatexdir/makecpool.c index 797f9fde60f..afb45ac2c62 100644 --- a/Build/source/texk/web2c/luatexdir/makecpool.c +++ b/Build/source/texk/web2c/luatexdir/makecpool.c @@ -6,7 +6,7 @@ #include static const char __svn_version[] = - "$Id: makecpool.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/makecpool.c $"; + "$Id: makecpool.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/makecpool.c $"; int main(int argc, char *argv[]) { diff --git a/Build/source/texk/web2c/luatexdir/managed-sa.c b/Build/source/texk/web2c/luatexdir/managed-sa.c index ecdaa19d1ef..544d5f4ceae 100644 --- a/Build/source/texk/web2c/luatexdir/managed-sa.c +++ b/Build/source/texk/web2c/luatexdir/managed-sa.c @@ -22,7 +22,7 @@ #include "managed-sa.h" static const char __svn_version[] = - "$Id$ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/managed-sa.c $"; + "$Id$ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/managed-sa.c $"; static void store_sa_stack(sa_tree a, integer n, integer v, integer gl) { diff --git a/Build/source/texk/web2c/luatexdir/mathcodes.c b/Build/source/texk/web2c/luatexdir/mathcodes.c index 2158f9d47b6..7e1f9afa96f 100644 --- a/Build/source/texk/web2c/luatexdir/mathcodes.c +++ b/Build/source/texk/web2c/luatexdir/mathcodes.c @@ -26,7 +26,7 @@ extern void rawset_sa_item(sa_tree head, integer n, integer v); static const char __svn_version[] = - "$Id$ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/mathcodes.c $"; + "$Id$ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/mathcodes.c $"; /* math codes */ diff --git a/Build/source/texk/web2c/luatexdir/pdf/pagetree.c b/Build/source/texk/web2c/luatexdir/pdf/pagetree.c index c0546b5dbb3..03b743f5214 100644 --- a/Build/source/texk/web2c/luatexdir/pdf/pagetree.c +++ b/Build/source/texk/web2c/luatexdir/pdf/pagetree.c @@ -33,7 +33,7 @@ static const char __svn_version[] = "$Id: pagetree.c 2306 2009-04-16 15:01:45Z taco $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/pdf/pagetree.c $"; + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/pdf/pagetree.c $"; /**********************************************************************/ /* Page diversions */ diff --git a/Build/source/texk/web2c/luatexdir/pdf/pdfpage.c b/Build/source/texk/web2c/luatexdir/pdf/pdfpage.c index 84c8c9a2f34..d5826ffecb7 100644 --- a/Build/source/texk/web2c/luatexdir/pdf/pdfpage.c +++ b/Build/source/texk/web2c/luatexdir/pdf/pdfpage.c @@ -25,8 +25,8 @@ #include "ptexlib.h" static const char __svn_version[] = - "$Id: pdfpage.c 2361 2009-04-27 14:30:46Z taco $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/pdf/pdfpage.c $"; + "$Id: pdfpage.c 2414 2009-06-03 12:57:01Z taco $ " + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/pdf/pdfpage.c $"; #define lround(a) (long) floor((a) + 0.5) #define setpdffloat(a,b,c) {(a).m = (b); (a).e = (c);} @@ -493,7 +493,7 @@ static void place_glyph(pdfstructure * p, scaledpos * pos, internal_font_number f, integer c) { - int move; + boolean move; if (f != p->f_cur || is_textmode(p) || is_pagemode(p)) { goto_textmode(p); if (f != p->f_cur) diff --git a/Build/source/texk/web2c/luatexdir/tex/filename.c b/Build/source/texk/web2c/luatexdir/tex/filename.c index de0c00a78c6..dccf982d899 100644 --- a/Build/source/texk/web2c/luatexdir/tex/filename.c +++ b/Build/source/texk/web2c/luatexdir/tex/filename.c @@ -23,7 +23,7 @@ #include "commands.h" static const char _svn_version[] = - "$Id: filename.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/tex/filename.c $"; + "$Id: filename.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/tex/filename.c $"; #define wake_up_terminal() ; #define clear_terminal() ; diff --git a/Build/source/texk/web2c/luatexdir/tex/linebreak.c b/Build/source/texk/web2c/luatexdir/tex/linebreak.c index f1b6e87a6b3..e06bd89456f 100644 --- a/Build/source/texk/web2c/luatexdir/tex/linebreak.c +++ b/Build/source/texk/web2c/luatexdir/tex/linebreak.c @@ -22,7 +22,7 @@ #include "nodes.h" static const char _svn_version[] = - "$Id: linebreak.c 2294 2009-04-15 19:40:11Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/tex/linebreak.c $"; + "$Id: linebreak.c 2294 2009-04-15 19:40:11Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/tex/linebreak.c $"; /* Glue nodes in a horizontal list that is being paragraphed are not supposed to include ``infinite'' shrinkability; that is why the algorithm maintains diff --git a/Build/source/texk/web2c/luatexdir/tex/math.c b/Build/source/texk/web2c/luatexdir/tex/math.c index 9c40d128981..8f84383267d 100644 --- a/Build/source/texk/web2c/luatexdir/tex/math.c +++ b/Build/source/texk/web2c/luatexdir/tex/math.c @@ -27,8 +27,8 @@ #include "tokens.h" static const char _svn_version[] = - "$Id: math.c 2362 2009-04-29 16:03:00Z taco $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/tex/math.c $"; + "$Id: math.c 2376 2009-05-08 08:40:13Z taco $ " + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/tex/math.c $"; #define mode cur_list.mode_field #define head cur_list.head_field diff --git a/Build/source/texk/web2c/luatexdir/tex/mlist.c b/Build/source/texk/web2c/luatexdir/tex/mlist.c index 5f19d162fdb..c6528ddb300 100644 --- a/Build/source/texk/web2c/luatexdir/tex/mlist.c +++ b/Build/source/texk/web2c/luatexdir/tex/mlist.c @@ -24,7 +24,7 @@ #include "commands.h" static const char _svn_version[] = - "$Id: mlist.c 2358 2009-04-27 06:39:33Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/tex/mlist.c $"; + "$Id: mlist.c 2414 2009-06-03 12:57:01Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/tex/mlist.c $"; #define delimiter_factor int_par(param_delimiter_factor_code) #define delimiter_shortfall dimen_par(param_delimiter_shortfall_code) @@ -2393,6 +2393,7 @@ void make_radical(pointer q) vlink(x) = r; y = x; } + math_list(degree(q)) = null; /* for \Uroot ..{}{} */ flush_node(degree(q)); } p = hpack(y, 0, additional); @@ -2565,6 +2566,9 @@ void do_make_math_accent(pointer q, internal_font_number f, integer c, } } else { /* new skewchar madness for bot accents */ s = char_bot_accent(cur_f, cur_c); + if (s == 0) { /* better than nothing: */ + s = char_top_accent(cur_f, cur_c); + } if (s != 0) { s_is_absolute = true; } diff --git a/Build/source/texk/web2c/luatexdir/tex/postlinebreak.c b/Build/source/texk/web2c/luatexdir/tex/postlinebreak.c index f9341eabe14..2b238f87cd0 100644 --- a/Build/source/texk/web2c/luatexdir/tex/postlinebreak.c +++ b/Build/source/texk/web2c/luatexdir/tex/postlinebreak.c @@ -22,7 +22,7 @@ #include "nodes.h" static const char _svn_version[] = - "$Id: postlinebreak.c 2294 2009-04-15 19:40:11Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/tex/postlinebreak.c $"; + "$Id: postlinebreak.c 2294 2009-04-15 19:40:11Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/tex/postlinebreak.c $"; /* So far we have gotten a little way into the |line_break| routine, having covered its important |try_break| subroutine. Now let's consider the diff --git a/Build/source/texk/web2c/luatexdir/tex/primitive.c b/Build/source/texk/web2c/luatexdir/tex/primitive.c index 15f44646745..aef93f7b5c0 100644 --- a/Build/source/texk/web2c/luatexdir/tex/primitive.c +++ b/Build/source/texk/web2c/luatexdir/tex/primitive.c @@ -25,7 +25,7 @@ #include "tokens.h" static const char _svn_version[] = - "$Id: primitive.c 2297 2009-04-15 20:16:38Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/tex/primitive.c $"; + "$Id: primitive.c 2297 2009-04-15 20:16:38Z taco $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/tex/primitive.c $"; /* as usual, the file starts with a bunch of #defines that mimic pascal @ds */ diff --git a/Build/source/texk/web2c/luatexdir/tex/texdeffont.c b/Build/source/texk/web2c/luatexdir/tex/texdeffont.c index 003b3528d7e..bdd3cfa043e 100644 --- a/Build/source/texk/web2c/luatexdir/tex/texdeffont.c +++ b/Build/source/texk/web2c/luatexdir/tex/texdeffont.c @@ -25,7 +25,7 @@ #include "commands.h" static const char _svn_version[] = - "$Id: texdeffont.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/tex/texdeffont.c $"; + "$Id: texdeffont.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/tex/texdeffont.c $"; #define text(a) hash[(a)].rh /* string number for control sequence name */ #define null_cs 1 /* equivalent of \.{\\csname\\endcsname} */ diff --git a/Build/source/texk/web2c/luatexdir/tex/texnodes.c b/Build/source/texk/web2c/luatexdir/tex/texnodes.c index dc79a296ac9..8da9fe3b290 100644 --- a/Build/source/texk/web2c/luatexdir/tex/texnodes.c +++ b/Build/source/texk/web2c/luatexdir/tex/texnodes.c @@ -28,7 +28,7 @@ #define noDEBUG static const char _svn_version[] = - "$Id: texnodes.c 2329 2009-04-18 14:25:30Z hhenkel $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/tex/texnodes.c $"; + "$Id: texnodes.c 2329 2009-04-18 14:25:30Z hhenkel $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/tex/texnodes.c $"; #define append_char(A) str_pool[pool_ptr++]=(A) #define cur_length (pool_ptr - str_start_macro(str_ptr)) diff --git a/Build/source/texk/web2c/luatexdir/tex/texpdf.c b/Build/source/texk/web2c/luatexdir/tex/texpdf.c index 46bed8de505..5c80298e43c 100644 --- a/Build/source/texk/web2c/luatexdir/tex/texpdf.c +++ b/Build/source/texk/web2c/luatexdir/tex/texpdf.c @@ -22,7 +22,7 @@ #include static const char _svn_version[] = - "$Id: texpdf.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/tex/texpdf.c $"; + "$Id: texpdf.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/tex/texpdf.c $"; #define number_chars 1114112 #define string_offset 2097152 diff --git a/Build/source/texk/web2c/luatexdir/tex/textoken.c b/Build/source/texk/web2c/luatexdir/tex/textoken.c index bafa2bc76fd..c3d8bae09ee 100644 --- a/Build/source/texk/web2c/luatexdir/tex/textoken.c +++ b/Build/source/texk/web2c/luatexdir/tex/textoken.c @@ -24,7 +24,7 @@ #include "commands.h" static const char _svn_version[] = - "$Id: textoken.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/tex/textoken.c $"; + "$Id: textoken.c 2321 2009-04-18 09:17:13Z hhenkel $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/tex/textoken.c $"; #define skipping 1 /* |scanner_status| when passing conditional text */ #define defining 2 /* |scanner_status| when reading a macro definition */ diff --git a/Build/source/texk/web2c/luatexdir/textcodes.c b/Build/source/texk/web2c/luatexdir/textcodes.c index fc637887e22..2d353f1fb91 100644 --- a/Build/source/texk/web2c/luatexdir/textcodes.c +++ b/Build/source/texk/web2c/luatexdir/textcodes.c @@ -25,7 +25,7 @@ #include "commands.h" static const char __svn_version[] = - "$Id$ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/textcodes.c $"; + "$Id$ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/textcodes.c $"; #define LCCODESTACK 8 #define LCCODEDEFAULT 0 @@ -263,6 +263,7 @@ void initex_cat_codes(int h) set_cat_code(h, '%', comment_cmd, 1); set_cat_code(h, 127, invalid_char_cmd, 1); set_cat_code(h, 0, ignore_cmd, 1); + set_cat_code(h, 0xFEFF, ignore_cmd, 1); for (k = 'A'; k <= 'Z'; k++) { set_cat_code(h, k, letter_cmd, 1); set_cat_code(h, k + 'a' - 'A', letter_cmd, 1); diff --git a/Build/source/texk/web2c/luatexdir/utils/avlstuff.c b/Build/source/texk/web2c/luatexdir/utils/avlstuff.c index 5fb02a667bf..7fe15227745 100644 --- a/Build/source/texk/web2c/luatexdir/utils/avlstuff.c +++ b/Build/source/texk/web2c/luatexdir/utils/avlstuff.c @@ -25,7 +25,7 @@ static const char __svn_version[] = "$Id: avlstuff.c 2329 2009-04-18 14:25:30Z hhenkel $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/utils/avlstuff.c $"; + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/utils/avlstuff.c $"; static struct avl_table **PdfObjTree = NULL; diff --git a/Build/source/texk/web2c/luatexdir/utils/utils.c b/Build/source/texk/web2c/luatexdir/utils/utils.c index a621d1e2448..0765f26408e 100644 --- a/Build/source/texk/web2c/luatexdir/utils/utils.c +++ b/Build/source/texk/web2c/luatexdir/utils/utils.c @@ -50,8 +50,8 @@ #endif static const char __svn_version[] = - "$Id: utils.c 2381 2009-05-08 11:52:01Z taco $ " - "$URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/utils/utils.c $"; + "$Id: utils.c 2384 2009-05-08 14:09:14Z taco $ " + "$URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/utils/utils.c $"; #define check_nprintf(size_get, size_want) \ if ((unsigned)(size_get) >= (unsigned)(size_want)) \ diff --git a/Build/source/texk/web2c/luatexdir/utils/writezip.c b/Build/source/texk/web2c/luatexdir/utils/writezip.c index 4bbcd3a2531..e853275897e 100644 --- a/Build/source/texk/web2c/luatexdir/utils/writezip.c +++ b/Build/source/texk/web2c/luatexdir/utils/writezip.c @@ -23,7 +23,7 @@ #include static const char __svn_version[] = - "$Id: writezip.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/source/texk/web2c/luatexdir/utils/writezip.c $"; + "$Id: writezip.c 2271 2009-04-12 23:42:21Z oneiros $ $URL: http://foundry.supelec.fr/svn/luatex/tags/beta-0.40.2/source/texk/web2c/luatexdir/utils/writezip.c $"; #define ZIP_BUF_SIZE 32768 -- cgit v1.2.3