Hi all, After two weeks of code cleanup, here is a new snapshot. Most changes are invisible, but there are some new things and quite a few noteworthy bugfixes. * The 'snapshot version' banner is now calculated dynamically at build time. This aids in figuring out what binary people are actually running, but it can possibly break the build on systems that do not have a `date` command. * The do_vf() function that checks for virtual font existance is now run immediately after the font definition instead of being postponed until characters are output. * The 'define_font' callback interface has changed a little. It is now: retval = function (name,size,fontid) where fontid is the internal font number of the font that is currently being defined, and retval can be either a table (as before) or a different, previously defined fontid. This is useful if a previous definition can be reused instead of creating a whole new font structure. * The internal font data structure has been redone. Glyph index inside a font is now handled by a sparse array, so that use of e.g. 0xFB01 (fi-ligature) no longer creates a 64000+ entries character array. * The internal cache-ing of font metric information is turned off completely, because it was based on the assumption that name + size were a unique identifier for a font. This can no longer be guaranteed. * word boundary processing now works OK again, thanks to the introduction of two virtual characters in the font table definition. Besides the normal numeric entries in the f.characters table, there can now also be two string keys: "left_boundary" and "right_boundary". The ligatures and kerns of the 'left_boundary' character are used for the pre-word boundary processing, ligatures and kerns between characters and 'right_boundary' are used for the post-word processing. * Lua font table references are no longer cached by the executable ,in order to preserve memory. (the only downside is that font.fonts[] access is now slower because of the need to recreate the lua table). * There are other some small changes to the font table formats. Please see the manual for details. * A 'real' font can now still have virtual characters if they are loaded via lua. Just set the 'commands' section and/or the 'fonts' array to your liking, and it should work out. If you have created no 'fonts' array at all, then the default font (indentifier '1') is the current font, so that you can create virtual duplicates of already existing characters. Note: this does not work the other way. There can not be 'real' characters in a virtual font! * Truetype-based opentype fonts no longer require Acrobat 7 t(hey are now written out as if they are normal truetype). * A lua init script can now set 'texconfig.formatname' and/or 'texconfig.jobname'. If ther is no file or format specified on the commandline, then, if, one of those keys is present, that key will be used instead of simply quitting with an error. * Placement of boxes and rules in right-to-left mode is debugged, and now seems to work ok. * Virtual font loading is debugged. * Some memory leaks are resolved * HZ font expansion should work ok again, but is not tested. * a few of the warning during opentype loading have been removed because the problems are rather harmless and turned out to be triggered by almost every font. Happy TeXing, Taco ----- Downloading and installation details: If you go to https://foundry.supelec.fr/frs/?group_id=10 you will see that there are three new released files: * luatex-snapshot-20070302.tar.bz2 This is the source tree. * luatex-snapshot-20070302-win32.zip A cross-compiled (mingw) windows binary. This is a web2c based binary, so it needs a texmf.cnf file (It will NOT work if you have only miktex installed). * luatex-snapshot-20070302-linux-i386.tar.bz2 An intel 32 linux binary (2.6.17)
On Fre, 02 Mär 2007, Taco Hoekwater wrote:
* luatex-snapshot-20070302.tar.bz2
Debian packages as usual ...
Best wishes
Norbert
-------------------------------------------------------------------------------
Dr. Norbert Preining
participants (2)
-
Norbert Preining
-
Taco Hoekwater