diff options
Diffstat (limited to 'Build/source/libs/t1lib/t1lib-5.1.2/Changes')
-rw-r--r-- | Build/source/libs/t1lib/t1lib-5.1.2/Changes | 905 |
1 files changed, 905 insertions, 0 deletions
diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/Changes b/Build/source/libs/t1lib/t1lib-5.1.2/Changes new file mode 100644 index 00000000000..0aeb9e5b217 --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/Changes @@ -0,0 +1,905 @@ +Nov 1996: t1lib-0.1-alpha +------------------------- + +- first public release of t1lib with all basic functionality + + + +May 1997: t1lib-0.2-beta +------------------------- + + +- Now uses autoconf to configure the software for the system. + + +- All functions put into one library. + + +- ATTENTION: Argument order for the glyph-setting functions changed to be + consistent with the info functions. Programs that already use + t1lib have to be rewritten (sorry....) + + +- Function for computing the width of a string added (T1_GetStringWidth()). + + +- Function for computing the BoundingBox of a string added + (T1_GetStringBBox()). + + +- Function T1_GetMetricsInfo() added. It returns a struct containing width, + bounding box, number of characters and horizontal position of the characters + in character space coordinates (afm-units). + + +- Function T1_GetBBox() renamed to T1_GetCharBBox() for consistency reasons. + + +- All exit() calls removed from library and replaced by appropriate error + return codes. + + +- t1lib now optionally supports a logfile for logging of error- and + warning-messages at runtime. The "verbosity" of this logfile may be chosen + by the user. + + +- Documentation more complete. + + + +July 1997: t1lib-0.3-beta +------------------------- + + +- Code for placing character bitmaps in T1_SetString() slightly advanced; the + restrictions concerning slanted fonts are eliminated. + + +- T1_GetStringBBox()/T1_GetCharBBox() extended. It is now possible to get the + bounding box if the font is slanted. This is implemented by examining the + characters outline at 1000bp. + + +- Some Bugs in the code managing linked lists of font sizes have been + corrected. + + +- Bug in T1_CopyFont() has been corrected. This should work now. + + +- The behavior during configuration file searching has been changed to + be compatible to well known UNIX-conventions. + + +- As the main new feature in this release t1lib now has direct support + for X11 (optionally). There is a set of functions that act similar + to XDrawText(), i.e. they draw directly into a drawable (pixmap or + window). + + - Caching of bitmaps of the X11 rastering functions is also done + in the X-Server for maximum performance (although it is not as + fast as I dreamed of, admittedly). + + - X11 rastering functions use the current foreground/background + colors + + - The X11 rastering functions implement automatical antialiasing + between foreground and background color + + - The X11 rastering functions provide an opaque and a transparent + mode + + - The X11 rastering functions can draw into drawable of any depth + (provided the depth is large enough) + + +- A new target has been added to the makefiles allowing to remove + a t1lib-installation automatically from a system. + + + +December 1997: t1lib-0.4-beta +----------------------------- + + +- Many memory allocation bugs fixed. t1lib is now "libefence-proved". + + +- Kerning and Metrics-Lookup rewritten. The corresponding functions are now + based on character indices rather than on character names which makes them + up to 8 x faster than before, depeding on data and context. + + +- Raph Levien (raph@acm.org) contributed a fast algorithm for subsampling + which improves Antialiasing time significantly. + + +- Fred L. Drake, Jr. (fdrake@acm.org) contributed a Python-interface + to t1lib. This allows Python programmers to make use of Adobe Type + 1 fonts. This package, called t1python, is distributed with t1lib in + an independent subdirectory of the distribution. See README.t1python + for more information on t1python. + + +- Bitmaps and antialiased bitmaps may now be padded 8, 16 or 32 bits. This + allows (with some restrictions) somewhat faster concatenation of + characterbitmaps to stringbitmaps. The padding-value may be set and queried + at runtime. + + +- The optional X11-interface, introduced in t1lib-0.3-beta, has been reduced + to a simple wrapper. X11-pixmap caching has been completely dropped since it + has proven to be too inefficient. However, at the level of the function + calls, nothing has changed. + + +- Configuration of t1lib (with or without X11-interface) may be queried by + applicationprogrammers at compiletime or by applications at runtime. + + +- Two functions for informations on fonts have been added: + + 1) T1_GetFontBBox(): Return a fonts' bounding box. + + 2) T1_GetAllCharNames(): Return a list of all character defined in a Type 1 + font. This might be of interest if somebody wants + to set up new encodings. + + +- Function T1_CloseLib() added. This function allows to completely free the + data-structures of t1lib. T1_CloseLib() should be called in future when an + application using t1lib exits. + + +- Many other things not worth to be metioned ... + + + +March 1998: t1lib-0.5-beta +-------------------------- + + +- Changed the license to the GNU General Public Library License (LGPL) + + +- Definition of INFINITY removed from + lib/type1/[regions.c|regions.h|t1imager.h]. Collided with a + definition in math.h on OS/2. + + +- Implemented proper handling of environment variables CFLAGS, LDFLAGS + and CC during build process. + + +- Added target 'without_doc' for people who have a very rudimentary or + no LaTeX-System at all + + +- Fixed some bugs that appeared when font files from database were not + found + + +- Clipmask Bug in the X11-rastering functions fixed + + +- Bugs in VM-reallocation (T1_LoadFont()) repeatedly fixed. It is now + ANSI-C compliant. + + +- Alignment of VM changed. This was needed on some systems. + + +- Set of functions for accessing information from FontInfo dictionary + is now complete. This introduces the new functions + T1_GetFullName(), T1_GetFamilyName(), T1_GetWeight(), + T1_GetItalicAngle(), T1_GetIsFixedPitch(), T1_GetVersion(), + T1_GetNotice(). + + +- ATTENTION: In the above context, T1_GetPostScriptName() has been + renamed to T1_GetFontName() for consistency reasons, sorry. + + +- ATTENTION: All types "unsigned char (*)" have been changed to + char (*) in the API functions. This was necessary while adapting + t1lib to ANSI-standard to make it portable. Sorry for this + confusion. + + +- New function T1_AddFont(): Fonts can now be added to the font + database at runtime. This means especially, one can ignore a + FontDataBase file thus can start t1lib-programs on single fontfiles + without doing a complete setup before. + + +- There is now also the possibility to ignore the currently active + configuration file, thereby setting all search paths to the current + working directory and having an empty font data base. This is meant + for small applications that work on single files. + + +- t1lib is now able to work with fonts without corresponding + afm-files. AFM-information can be produced from pfa- and + pfb-files. This, of course, refers only to character-metrics + information. + + +- A function T1_WriteAFMFallbackFile() is provided which allows to + dump metrics information to a valid AFM-file. + + +- New subdirectory type1afm created which contains type1afm, a program + to extract afm files from Type 1 font files. + + +- Renamed definitions MAX, MIN, ABS, TRUE and FALSE because they + collided with system header files on some systems. + + +- Corrected antialiasing functions. The metrics should now be as + correct as possible and black pixel at the right edge of the bitmaps + should not appear any more. + + +- Handling of unencoded characters in strings (such as adieresis in + AdobeStandardEncoding) is now consistent in rotated and non-rotated + glyphs. + + +- A few functions have been added to get information on the file search + environment and to manipulate the search paths from within applications. + + +- Mixed endian setups (i.e., client and X-server on different machines + with different endianess) should now be handled correctly. + + +- In summary t1lib should now be much more portable than before. + + +- Update to t1python-0.3 + + + +March 1998: t1lib-0.6-beta +-------------------------- + + +- Cleaned up the sources in type1-directory + + +- Functions Xalloc() and Xfree removed. x11dummy.c from list of source files + removed. + + +- A few bugs fixed + + +- Character positioning rewritten. It does now handle strings + correctly in which the leftmost pixels does not belong to the first + character and the rightmost pixels do not belong to the last character. + + +- t1lib now substitutes .notdef for defined character names that have + no corresponding charstring. This is a workaround for some fonts in + the ghostscript distribution (e.g., s050000l.pfb) + + +- Separated the X11-wrapper from the rest of t1-stuff. t1lib now + consists of two libraries and two include files. + + +- Cleaned up configuration and compilation process. + + + +May 1998: t1lib-0.7-beta +------------------------ + + +- Athena libraries are explicitly located for non-standard system + + +- glyph-structure changed. glyph.metrics.characterWidth is replaced + glyph.metrics.advanceX and an entry glyph.metrics.advanceY is added. + + +- Interpretation of the sign of glyph.metrics.descent has changed. + + +- String-rastering functions now support Underlining, Overlining and + Overstriking. + + +- Functions for overriding default line-parameters implemented. + + +- Whitespace at beginning and ending of glyphs is now correctly recorded into + leftSideBearing and RightSideBearing. + + +- Function T1_ConcatGlyphs() added to API. It concatenates two glyphs of + identical depth with an optional displacement inserted. + + +- xglyph output window has changed for X-rastering functions. It is now of + constant size with the logical origin in the center. Too large glyphs are + simply clipped. + + +- t1lib can be compiled and run on VMS thanks to John Hasstedt + (John.Hasstedt@sunysb.edu). A configure.com script for building on VMS is + included in the toplevel directory. + + +- T1_GetMetricsInfo() and T1_GetStringBBox() fixed. Now results are correct + also if the leftmost pixel in a glyph doesn't belong to the first char and if + the rightmost pixel does not belong to the last character. + + +- Leading and trailing white space in glyphs should now be recorded + consistently and correctly for all rastering functions. + + +- xglyph can now display a character map of a font. + + +- Global variable T1_errno introduced. It basically works the same way + as the errno in libc. This allows applications a unified + error-handling. + + +- Update to t1python-0.7. + + + +November 1998: t1lib-0.8-beta +----------------------------- + + +- T1_GetAllCharNames() returned invalid list if the Charstrings dictionary was + larger than the actual number of charstrings defined (which is perfectly + valid, even if it does not make much sense) --> fixed. + + +- 4 x Antialiasing implemented. This can improve the quality at small sizes + once more, at the cost of some computational and memory requirement. It is + possible to work with 2 x and 4 x concurrently. + + +- Function T1_GetLibIdent() added to API. + + +- Function T1_SetRasterFlags() added to API. It allows to selectively enable + or disable certain rasterizer features like, e.g., hinting. + + +- xglyph extended to support 4 x antialiasing. + + +- xglyph now recognizes a few commandline options, primarily intended for + debugging purposes. + + +- xglyph is now somewhat more intelligent (and faster) if slanting, + extending or reencoding is applied to a font. + + +- New function T1_SetDefaultEncoding(). It allows to set a default + encoding vector which then is applied to all subsequently loaded fonts + that have StandardEncoding. + + +- Bug in Type 1 rasterizer corrected which prevented fonts with non-standard + lenIV values from being correctly decrypted (Charstring decryption). + + +- Internal ISOLatin1Encoding removed from rasterizer since there's no reason + for mainting this encoding scheme internally + + +- tlib now has notion of "Encoding Schemes". The format of encoding files is + extended correspondingly and is backward compatible. + + +- Memory leaks eliminated, thanks to David Huggins-Daines. + + +- Some slight performance improvements. + + +- Kerning performance improved. Moreover, kerning pairs need no longer be + alphabetically sorted. + + +- AFM-parser modified to work with DOS-style AFM-files. + + +- Some bugs in scan-code of Type 1 rasterizer corrected. Scanner is now aware + of pfb-blocks and can scan files with multiple binary data segments. + + +- t1lib now uses GNU-libtool, thanks to Hirotsugo Kakugawa + (h.kakugawa@computer.org) + + +- An encoding file for IsoLatin2 charset is included thanks to Jiri + Pavlovsky (jirap@bajt.cz). + + +- The angle-argument of the rastering functions has been replaced by a more + general transformation specification. This is an incompatible change to + previous versions, but I think it should be worth it. + + +- t1lib can now handle fontfile names with arbitrary extensions and + even without extension. + + +- t1lib compiles and runs under Win32 using the cygwin32 toolkit. + + +- Maximum number of stem-hints enlarged (-> 256) because 128 were not enough + for complicated fonts. + + + +May 1999: t1lib-0.9 +------------------- + + +- Sub-Pixel positioning for Antialiasing functions enthanced (It was in fact + not correct before. + + +- Multiple Master fonts are rejected instead of SIGSEGV (nearly as + professional as supporting them ;) + + +- An additional set of functions allows access, filling and manipulation of + outlines. + + +- Functionality for non-antialiased "bytemaps". + + +- "Smart Antialiasing", allows to automatically let t1lib decide what AA-level + to use. The switchlimits are adjustable. + + +- An AFM-filename may explicitly be specified. This suppresses t1libīs search + for these files. This allows interfacing with other path search systems like + kpathsea. This was suggested by Nicolai Langfeldt (janl@math.uio.no). + + +- Some problems with aspect ratios different from 1 and transformed glyphs + fixed. + + +- Support for Right-To-Left typesetting. This might be experimental because I + don't know the rules for this exactly. + + +- In the context of Right-To-Left typesetting T1_ConcatGlyphs() expects one + additional argument "mode". + ATTENTION: This is an incompatible change with respect to V. 0.8. + + +- abort()-calls in type1-sources are caught by longjmp(). t1lib does not + any longer exit a program. Rather, errors may be handled by the user. + + +- If a rastering operation did not produce any black pixels, the rastering + fuctions do not return a NULL-glyph any longer. Rather, a glyph with the + correct metrics and NULL-bitmap pointer is returned. This seems to come + closer to accepted standards. + + +- The t1python-package is currently not distributed with t1lib because the + interface is not up to date. + + +- A lot of bugs fixed (and a lot of others introduced, of course :) + + + + +June 1999: t1lib-0.9.1 +--------------------- + + +- Several Bug-fixes, some functions that have been reported to be missing by + users, but no general new features. + + +- New functions T1_GetExtend(), T1_GetSlant() and T1_GetTransform() which give + access to currently active values of fontlevel transformations + + +- New function T1_GetNoKernPairs() which gives access to the number of defined + kerningpairs. + + +- New functions to query the grayvalue settings (T1_AAGetGrayValues(), + T1_AAHGetGrayValues() and T1_AANGetGrayValues()) + + +- Arbitrary linear transformations on fontlevel including caching using + T1_TransformFont() (on suggestion and patches by Derek B. Noonburg, + (derekn@foolabs.com) + + +- Introduction of the initialization flag T1_NO_AFM which suppresses use of + AFM data. This limits the functionality of t1lib considerably but + applications that do not need those advanced functions can gain some + performance boost while loading fonts because AFM files are not parsed and + the mapping tables are not setup (also by Derek B. Noonburg) + + +- xglyph clips output window for the function fonttable() to the physical + screen size. This is to prevent from freezing or exceeding resources if the + fonttable button had accidentally been pressed while a large size was active. + + +- The utility function T1_DumpPixmap() removed from API. New function + T1_XImageFromGlyph() added to X11 interface. This function allows, together + with the Xpm-library function XpmWriteFileFromImage(), to write xpm-files + from glyphs of arbitrary depths, colors, etc ... + + +- Functions T1_CopyOutline() and T1_FreeOutline() added to the outline interface. + + +- Fixed alignment problem on 64bit architecture. + + + +September 1999: t1lib-0.9.2: +---------------------------- + + +- Support for EMX-environments under MSDOS. This concerns the file locating + routines. + + +- t1lib now allows for charstring code 15 and escape code 15 by ignoring + these. They may appear in some old Adobe fonts. + + +- Makefiles are more independent of GNU make. + + +- Finally, undefined/missing characters are handled consistent in all rastering + functions by substituting .notdef. + + +- Several bug-fixes + + + +November 1999: t1lib-1.0: +------------------------- + + +- Bug-fixes. + + +- There happen to exist different assumptions about what exactly ISOLatin1Encoding + is. Especially the name for char 45 (dec) is not uniquely specified in + ISO 8859-1. Thus t1lib provides two encoding files ISOLatin1Encoding one + which (PSLatin1.enc) is compatible with PostScript Level 2 and above. + + + +March 2000: t1lib-1.0.1: +------------------------- + + +- A few bug Fixes. + + +- lenIV=-1 is now handled. According to an undocumented Adobe convention + lenIV=-1 indicates suppressing of charstring encryption. + + +- Patches to compile t1lib und MS Visual C++ 6.0. In case something goes + wrong, please contact Nakano Hideo (hideo@mb.infoeddy.ne.jp). + + + +February 2001: t1lib-1.1.0: +--------------------------- + + +- Bug Fixes. + + +- Functions T1_GetFontFilePath() and T1_GetAfmFilePath() which return the + complete path of the files used by t1lib. + + +- Fixed parser code which previously failed on ASCII-encrypted files in + which the hex-lines were separated by <LF><CR> instead of by <LF> (Yes, + there such DOSian files out there ...). + + +- Multiple inclusion protection for t1lib.h + + +- T1_QueryLigs() fixed. It did not work correct if successors and/or + ligatures were not in the current encoding. + + +- New patches for VMS by Martin P. J. Zinser (zinser@decus.de). + + +- Patch by Sergey Babkin (babkin@bellatlantic.net) to correct the rasterizer + to respect StdStemWidths. + + +- General support for font subsetting. + + +- Dokumentation also provided as pdf for those people who do not have LaTeX + installed. This is due to suggestions and patches by Nguyen-Dai Quy + (NDQ@iris.ltas.ulg.ac.be). + + + +April 2001: t1lib-1.1.1: +------------------------ + + +- Update to libtool-1.3.5. + + +- T1_GetFontBBox() also accepts specification consisting of floating point + numbers (as suggested by Derek B. Noonburg (derekn@foolabs.com)). + + +- Within the near future the t1lib-webpage will be no longer available + because I will change my employer. + + +- Similarly, the sources will be distributed from sunsite only from then on. + + +- The Author's eMail-address will also become invalid in the near future. The + new and hopefully permanent eMail.address will be "Rainer.Menzner@web.de". + + + +July 2001: t1lib-1.2: +---------------------- + + +- Fixed bug in subsetting code. + + +- Fixed bug in AFM-parser code. + + +- Fixed kerning mapping code. Kerning did not work correctly for characters + that appeared multiple times in an encoding vector. + + +- In the same context a new function, T1_GetEncodingIndices() has been added + to the API. It returns an array of indices (by contrast, + T1_GetEncodingIndex() returns only the lowest index found). + + +- Support for composite characters. + + +- Additional support for dvips encoding files (thanks to suggestion and + contribution by Nicolai Langfeldt (janl@linpro.no). + + +- Documentation is installed in PostScript and PDF format, but no longer in + DVI format. + + + +October 2001: t1lib-1.3: +------------------------ + + +- *Really* an update to libtool-1.3.5 + + +- Global Font Metrics Information is loaded from AFM files in order to be able + to read the typographic ascender. Line ruling did not behave as + documented. However, problems could still exist because the typographic + ascender specification is optional in AFMs. + + +- Reorganized search path handling and, in particular, the respective + documentation is more detailed. + + +- The configuration file now allows multiple lines of one type of search path + specification and it is also possible to quote path specification in order + to specify paths that contains special characters like spaces, colons, etc. + + +- Multiple font databases are supported. + + +- T1_PrintLog() extended to accept a variable argument list. + + +- The environment variable T1LIB_LOGMODE is evaluated to give the user the + chance to specify a loglevel and hence to detect t1lib-problems even if the + application programmer did not enable the log file features. + + +- Further bug fixes + + + +November 2001: t1lib-1.3.1: +--------------------------- + + +- Color problem in t1x11-module fixed. + + +- Fixes in AFM parser. Among others, Version had been read as name, instead of + as string. This led to a failure to scan global font info for some standard AFMs. + + +- Fixes in of OpenVMS special code + + +- Further Fixes + + + +January 2003: t1lib-5.0.0: +-------------------------- + + +- Forced PostScript target in the doc directory to file. + + +- Subsetting code extended in order to ensure that components of + composite characters are also part of the subset. + + +- Hinting meachanism reworked in order to get rid of some + rasterizing artifacts. + + +- Experimental support for stroked fonts (PaintType=1) + + +- Experimental support for stroking standard ATM fonts with PaintType=0. + + +- For historical reasons, there happened to exist a few documented API + functions that did not adhere to the T1_... naming convention. After + considering the pro's and con's, I have decided to cleanup the interface, + thus making this version incompatible to the previous version. Especially + in the type1 subdirectory there are still a lot of global symbols, but at + least these are not part of the documented API. The following functions + are affected: + + CheckForInit() --> T1_CheckForInit() + CheckForFontID() --> T1_CheckForFontID() + T1_Get_no_fonts() --> T1_GetNoFonts() + + Furthermore, I have removed and made static a few functions which + accidentally had found their way into t1lib.h, but which had not been part + of the documented API. + + I'm sorry if this causes inconveniences ... + + +- The new version, 5.0.0, follows as consequence from the issues discussed + above. It is defined by the libtool quantities CURRENT, REVISION and AGE. + + +- Functions for drawing rectangles. + + +- Bug Fixes + + +- Please also have a look at the topic "Future" in README.t1lib-5.0.0. + + + +February 2004: t1lib-5.0.1: +--------------------------- + + +- Support for Flex was not adapted to the changes from 5.0.0. This led to + rasterization errors in fonts that use the Flex functionality --> fixed. + + +- Bug Fixes + + + +April 2004: t1lib-5.0.2: +------------------------ + + +- Changes not updated for this version + + + +Mai 2005: t1lib-5.1.0: +---------------------- + + +- Check against MultipleMasterFonts somewhat more tolerant, so that + Type 1 Fonts automatically created from Multiple Master Fonts (e.g. + using Mmpfb) should now be acceptable. + + +- The configure-machinery had been somewhat out of date and has been + updated. The distributed configure script has been generated by + AutoConf 2.59 and the redistributed libtool parts are taken from + GNU libtool 1.5.10. + + +- Top-Level TeX-file in the doc subdirectory adapted to recent TeX + systems' requirements. + + +- Added IsoLatin9.enc to distribution. + + +- Subsetting extended so that it works for SEAC-constructed composites + even if no AFM composite character information is available + + +- Somewhat more intelligent defaults for subsetting when composite + characters are included in the subset. + + +- Reallocation had been broken by relocation of internal StandardEncoding + vector. This problem turned out on systems where realloc() actually + returned a different pointer. + + +- Fix for outline code on 64bit systems. This involves a redefinition + of the T1_PATHPOINT struct. This should be uncritical because for 32bit + systems there is no difference, whereas on 64bit systems, this has never + worked correctly before. + + +- DESTDIR support in Makefile.in by Volker Zell + + +- Support for XLFD font database format (in which the fonts' names appear + in the first place on a line). + + +- Further Bug Fixes + + + +December 2006: t1lib-5.1.1: +--------------------------- + +- DESTDIR support was missing and has been addded in install-target for type1afm. + +- A bug fix in Anti-Aliasing subsampling code, which could make t1lib crash + under certain conditions. + +- Small number of further fixes, in particular with respect to the build + mechanism. + + + +December 2007: t1lib-5.1.2: +--------------------------- + +- Small number of fixes reported by users. The fixes pertain to a + vulnerability issue, memory access issues. + +- More decent handling if Encoding and / or FontBBox specification are missing + (which is invalid with respect to the specification, but recoverablel). |