From cf765726d33562cf94dbd3608efb46ba0cc1e3e4 Mon Sep 17 00:00:00 2001 From: Taco Hoekwater Date: Fri, 28 Mar 2014 15:33:53 +0000 Subject: check in luatex 0.79.0 (release version) git-svn-id: svn://tug.org/texlive/trunk@33312 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/luatexdir/NEWS | 490 +- Build/source/texk/web2c/luatexdir/font/mapfile.w | 12 +- Build/source/texk/web2c/luatexdir/font/writecff.w | 47 +- Build/source/texk/web2c/luatexdir/font/writet1.w | 33 +- Build/source/texk/web2c/luatexdir/font/writet3.w | 8 +- .../source/texk/web2c/luatexdir/font/writetype0.w | 20 +- .../source/texk/web2c/luatexdir/font/writetype2.w | 42 +- Build/source/texk/web2c/luatexdir/image/writeimg.w | 8 +- Build/source/texk/web2c/luatexdir/image/writepng.w | 5 +- .../source/texk/web2c/luatexdir/lua/lcallbacklib.c | 6 +- Build/source/texk/web2c/luatexdir/lua/lnodelib.c | 220 +- Build/source/texk/web2c/luatexdir/lua/lpdflib.c | 331 +- Build/source/texk/web2c/luatexdir/lua/lstatslib.c | 12 +- Build/source/texk/web2c/luatexdir/lua/ltexlib.c | 10 +- Build/source/texk/web2c/luatexdir/lua/luainit.w | 577 +- .../source/texk/web2c/luatexdir/lua/luajitstuff.w | 50 +- Build/source/texk/web2c/luatexdir/lua/luanode.w | 54 +- Build/source/texk/web2c/luatexdir/lua/luastuff.w | 53 +- Build/source/texk/web2c/luatexdir/lua/luatex-api.h | 813 ++- .../texk/web2c/luatexdir/luatex_svnversion.h | 2 +- .../texk/web2c/luatexdir/luatexcallbackids.h | 47 +- Build/source/texk/web2c/luatexdir/pdf/pdfdest.w | 5 +- Build/source/texk/web2c/luatexdir/pdf/pdffont.w | 6 +- Build/source/texk/web2c/luatexdir/pdf/pdfgen.h | 3 +- Build/source/texk/web2c/luatexdir/pdf/pdfgen.w | 60 +- .../source/texk/web2c/luatexdir/pdf/pdfpagetree.w | 5 +- Build/source/texk/web2c/luatexdir/pdf/pdfthread.h | 4 +- Build/source/texk/web2c/luatexdir/ptexlib.h | 4 +- Build/source/texk/web2c/luatexdir/tex/align.w | 7 +- Build/source/texk/web2c/luatexdir/tex/buildpage.w | 9 +- Build/source/texk/web2c/luatexdir/tex/directions.w | 36 +- Build/source/texk/web2c/luatexdir/tex/errors.h | 5 +- Build/source/texk/web2c/luatexdir/tex/errors.w | 77 +- Build/source/texk/web2c/luatexdir/tex/mainbody.w | 9 +- .../source/texk/web2c/luatexdir/tex/maincontrol.w | 51 +- .../texk/web2c/luatexdir/tex/postlinebreak.w | 12 +- Build/source/texk/web2c/luatexdir/tex/texfileio.w | 51 +- Build/source/texk/web2c/luatexdir/tex/texmath.w | 6 +- Build/source/texk/web2c/luatexdir/tex/texnodes.w | 21 +- Build/source/texk/web2c/luatexdir/tex/textoken.w | 45 +- Build/source/texk/web2c/luatexdir/utils/utils.w | 2 +- Master/texmf-dist/doc/luatex/base/functionref.pdf | 6282 +++++++++----------- Master/texmf-dist/doc/luatex/base/functionref.tex | 1 + Master/texmf-dist/doc/luatex/base/luatexref-t.pdf | Bin 808880 -> 831480 bytes Master/texmf-dist/doc/luatex/base/luatexref-t.tex | 540 +- 45 files changed, 5208 insertions(+), 4873 deletions(-) diff --git a/Build/source/texk/web2c/luatexdir/NEWS b/Build/source/texk/web2c/luatexdir/NEWS index a7487e9e0dd..0d1dc49b10b 100644 --- a/Build/source/texk/web2c/luatexdir/NEWS +++ b/Build/source/texk/web2c/luatexdir/NEWS @@ -2,29 +2,119 @@ This file is in the public domain. ============================================================== -Luatex beta-0.78.2 was released 20140113 +Luatex beta-0.79.0 was released 20140328 (4960) +============================================================== + +* The luafontloader now returns 'tsidebearing' glyph values + for OT/TT fonts, if applicable. + +* new lua variables: stats.luatex_hashtype, stats.luatex_hashchars, + stats.lastluaerrorstring; the luajittex string hash method is now + lua 5.1 compliant which gives better results for similar strings + +* new lua functions: tex.init_rand(), tex.uniform_rand(), + tex.normal_rand(), tex.lua_math_randomseed(), tex.lua_math_random(), + tex.show_context(); these helpers make luatex and luajittex compatible + +* In the lua node interface, there were often issues with rubbish + in (especially) 'prev' fields because luatex itself never looks + at those values. This is now cleaned up to prevent weird stuff + happening inside lua node processing code. + +* pdf.pageattributes, pdf.pagesattributes, pdf.info, pdf.catalog, + pdf.names and pdf.trailer now behave consistent and can be used + to add these properties at the lua end in addition to their \pdf* + counterparts atthe tex end; there are now pdf.get* and pdf.set* + commands for them too (in future versions the old ways can become + obsolete) + +* new accessors pdf.geth, pdfgetv, pdfgetpos, getgetmatrix as well + as pdfhasmatrix helpers (in future versions the direct pdf.h and + pdf.v accessor can become obsolete) + +* the pdf.pdf* variables have been removed (they were already + obsolete for some years) + +* a new properties mechanism for associating lua tables with nodes + that get cleaned up when nodes a freed (see manual for details) + +* several improvements to the way temporary (backend) data is stored + at the lua end (better protection, more consistent) + +* a 'l' type for user nodes that holds a lua variable (can be set + at the lua end) + +* if a late lua node is set at the lua end the string value can be + a function as well which is then executed during serialization to + the backend stream + +* Various small speedups + +* Various smallish fixes to the node direct interface + +* LPeg is now at version 0.12 + +* Some small fixes to the CFF (font) parsing + +* Font file inclusion reporting messages on the terminal now + comply to the texconfig.trace_file_names setting + +* Removed some of the additional luafontloader.info() return + information that was added in 0.78.2, but could not work + properly. + +* new primitive \luafunction (see manual), with associated + lua.get_functions_table() function + +* lua error message reporting has been altered a bit to make + the distinction between \directlua and other lua source code + sources clearer + +* Additional pdf document data functionality in the 'pdf' table + has been cleaned up internally + +* Additional pdf destination names can now be set via lua. + +* New callbacks: finish_pdfpage, show_error_message, + show_lua_error_hook, start_file, stop_file + +* Handling of \tracinglostchars is fixed + +* Embedded metapost library version is now 1.900 + +* luajittex is now included in the distribution. One can use + buildjit.sh to build both luatex and luajittex, where + supported by the platform + +* Synchronization with the TeXLive sources updated the following + libraries: + * libpng is now 1.6.10 + * poppler is now 0.25.2 + +============================================================== +Luatex beta-0.78.2 was released 20140113 (4748) ============================================================== * Extended luafontloader's info() function to include data from the 'pfminfo' and 'names' structure. -* Fixed a bug in the luafontloader library that made loading +* Fixed a bug in the luafontloader library that made loading some fonts extremely slow (LastResort.ttf) * Removed a recent extension in the luafontloader library that made loading fonts with lots of glyphs slow (ArialUnicoce.ttf). - Note: the extension made sure that there were no duplicate - glyph names in the font after loading. + Note: the extension made sure that there were no duplicate + glyph names in the font after loading. * Restored --recorder output for lua files (dofile/loadfile/io.open) -* One-at-a-time pattern adding from lua used to require enormous +* One-at-a-time pattern adding from lua used to require enormous amounts of memory * luatex's fontloader.to_table() no longer reports 'altuni' table information for alternates that are solely driven by the font - encoding. This fixes loading time issues for fonts that fill - encodings by copying a single glyph many times, like e.g. + encoding. This fixes loading time issues for fonts that fill + encodings by copying a single glyph many times, like e.g. LastResort.ttf from Apple. * The datestamp no longer appears in any banners. The associated @@ -54,7 +144,7 @@ Luatex beta-0.78.2 was released 20140113 is not given explicitly. * node.unset_attribute() was broken in 0.78.0 - + * The UTF-8 commandline patch from 0.78.0 for Win32 was removed again (did not work properly) @@ -62,9 +152,9 @@ Luatex beta-0.78.2 was released 20140113 Luatex beta-0.78.0 was released 20131231 ============================================================== -* Instead of using expanded fonts, just calculate the expanded +* Instead of using expanded fonts, just calculate the expanded width of glyphs where needed, and carry expand info in the - glyph nodes (all based on Hans' suggestions). All font expansion + glyph nodes (all based on Hans' suggestions). All font expansion functions are disabled and most are removed. * New, faster (but limited) direct node access from lua, see @@ -75,7 +165,7 @@ Luatex beta-0.78.0 was released 20131231 * Extended build script for mingw/msys (includes 64-bit support) -* Various patches from/via Akira Kakuta for better Win32 +* Various patches from/via Akira Kakuta for better Win32 integration * Fixes for some bugs in de pdfscanner library (mostly related @@ -83,12 +173,12 @@ Luatex beta-0.78.0 was released 20131231 * Maximum hyphenated word length is now 64Kb characters. -* Various patches from Khaled Hosny and Luigi Scarso for the +* Various patches from Khaled Hosny and Luigi Scarso for the luafontloader subsystem * Fix for a crash when re-dumping formats -* Fix for a Selene unicode library bug where some characters in +* Fix for a Selene unicode library bug where some characters in UTF-8 were incorrectly flagged as having the 'Space' property * Some smaller fixes @@ -137,7 +227,7 @@ News: * Fix Lua's loadfile(). -* Removed the cidmap callbacks again (let that be done by user lua +* Removed the cidmap callbacks again (let that be done by user lua code after the fact). * Removed the fatal error on fonts where num_glyphs is too high, @@ -158,15 +248,15 @@ Luatex beta-0.74.0 was released 20121224 News: * lua 5.2 - There are no patches to the core Lua files; a future version - of luatex will switch to loading the regular lua 5.2 dynamic + There are no patches to the core Lua files; a future version + of luatex will switch to loading the regular lua 5.2 dynamic library instead of depending on a statically compiled one. -* A bleeding-edge version of luasocket is included, as there - is no 5.2-compatible official release yet. +* A bleeding-edge version of luasocket is included, as there + is no 5.2-compatible official release yet. -* A new lua extension is the two-argument version of +* A new lua extension is the two-argument version of string.dump from Luajit: string.dump(function f, [boolean strip]) @@ -176,14 +266,14 @@ News: * The implied existence of the following lua libraries is now deprecated: - debug, unicode.*, luazip, lfs, lpeg, zlib, gzip, md5, + debug, unicode.*, luazip, lfs, lpeg, zlib, gzip, md5, socket.*, profiler, epdf, fontloader, mplib, and pdfscanner. Future versions of luatex will load these modules on demand - from dynamic libraries. - - Please update your sources to include a 'require' line for + from dynamic libraries. + + Please update your sources to include a 'require' line for each of the library modules mentioned. * Two new callbacks: find_cidmap_file and load_cidmap_file @@ -195,7 +285,7 @@ Luatex beta-0.72.0 was released 20121210 News: -* update various used libraries, including mplib 1.770, +* update various used libraries, including mplib 1.770, poppler 0.21, libpng 1.5, and lpeg 0.10.2. * new 'pdfscanner' lua library. @@ -204,14 +294,14 @@ News: * improved placement of bottom accents. -* various other small fixes that have accumulated over the past +* various other small fixes that have accumulated over the past year-and-a-half. ============================================================== Luatex beta-0.70.1 was released 20110519 ============================================================== -News: +News: * fixed: recorder file location from TL (Akira). @@ -227,14 +317,14 @@ News: * fixed: box output to synctex. -* fixed: FontDescriptor for non-embedded OpenType fonts has an +* fixed: FontDescriptor for non-embedded OpenType fonts has an invalid FontFile3 entry (#654) * fixed: crash on non-existent images. * fixed: small memory leak in the ipc code. -* fixed: tex.print() and tex.sprint() don't recognize -2 as the +* fixed: tex.print() and tex.sprint() don't recognize -2 as the first argument (#659) ============================================================== @@ -264,7 +354,7 @@ Luatex beta-0.66.0 was released 20110412 News: -* fixed: linebreak_filter doesn't do its default job when +* fixed: linebreak_filter doesn't do its default job when tex.linebreak is used * fixed: \escapechar ignored by \meaning @@ -281,7 +371,7 @@ News: * fixed: an indexing problem with nonexistent font glyphs -* fixed: some crashes and other bugs on the 'subtype' and 'prev' +* fixed: some crashes and other bugs on the 'subtype' and 'prev' fields (not all node types have those fields) * fixed: crash on token.csname_id ("") @@ -294,21 +384,21 @@ News: * fixed: compilation failure on Hurd -* fixed: a small bug leading to displacements when reading +* fixed: a small bug leading to displacements when reading the AccentTop table -* fixed: \directlua followed by \pdfximage generates error if +* fixed: \directlua followed by \pdfximage generates error if draft mode is active * fixed: a problem with \vadjust pre in alignments * fixed: a lua stack growing problem in the backend in 0.65.0, - resulting in an inability to create more than a few thousand + resulting in an inability to create more than a few thousand generated pages * fixed: inclusion of Scribus-generated pdfs -* adapt: the default form margin is now zero (was 1bp before) +* adapt: the default form margin is now zero (was 1bp before) * adapt: libpng 1.4.4, zzuplib 0.13.60, mplib 1.504 @@ -318,7 +408,7 @@ News: * feature: new function node.currentattr() queries the current active attribute list -* feature: Lua font loading; ignore unknown enumeration keys in +* feature: Lua font loading; ignore unknown enumeration keys in MathConstants * feature: JPEG 2000 image support @@ -353,7 +443,7 @@ News: * The various node list fields in the lua node interface have been renamed from 'list' to 'head', e.g. tex.box[0].head, - and the 'list' name is deprecated. For now, the deprecation + and the 'list' name is deprecated. For now, the deprecation is silent, as 'list' will stay for quite some time. Please update your lua source as soon as possible, though. @@ -363,8 +453,8 @@ News: * Luafilesystem has been updated to 1.5.0. NOTE: there is an incompatible change in the directory iterator method. -* The restriction on linebreak_filter has been eased: at least one - horizontal box should be returned, but that is not necessarily +* The restriction on linebreak_filter has been eased: at least one + horizontal box should be returned, but that is not necessarily the last node any more. * Backward compatibility has been restored for \meaning\mathchar @@ -387,19 +477,19 @@ Bugfixes: * .head.prev is now always initialized to null (0). -* luatex -lua=