Clean up FreeType outsourcing leftovers

Operating Systems / Haiku - luroh [gmail.com] - 5 January 2015 04:23 UTC

- Remove obsolete FreeType docs- Remove obsolete FreeType license- Update FreeType license and copyrights in AboutSystem

###

diff --git a/data/system/data/licenses/FTL b/data/system/data/licenses/FTL
deleted file mode 100644
index 0967302..0000000
--- a/data/system/data/licenses/FTL
+++ /dev/null
@@ -1,174 +0,0 @@
- The FreeType Project LICENSE
- ----------------------------
-
- 2002-Apr-11
-
- Copyright 1996-2002 by
- David Turner, Robert Wilhelm, and Werner Lemberg
-
-
-
-Introduction
-============
-
- The FreeType Project is distributed in several archive packages;
- some of them may contain, in addition to the FreeType font engine,
- various tools and contributions which rely on, or relate to, the
- FreeType Project.
-
- This license applies to all files found in such packages, and
- which do not fall under their own explicit license. The license
- affects thus the FreeType font engine, the test programs,
- documentation and makefiles, at the very least.
-
- This license was inspired by the BSD, Artistic, and IJG
- (Independent JPEG Group) licenses, which all encourage inclusion
- and use of free software in commercial and freeware products
- alike. As a consequence, its main points are that:
-
- o We don't promise that this software works. However, we will be
- interested in any kind of bug reports. (`as is' distribution)
-
- o You can use this software for whatever you want, in parts or
- full form, without having to pay us. (`royalty-free' usage)
-
- o You may not pretend that you wrote this software. If you use
- it, or only parts of it, in a program, you must acknowledge
- somewhere in your documentation that you have used the
- FreeType code. (`credits')
-
- We specifically permit and encourage the inclusion of this
- software, with or without modifications, in commercial products.
- We disclaim all warranties covering The FreeType Project and
- assume no liability related to The FreeType Project.
-
-
- Finally, many people asked us for a preferred form for a
- credit/disclaimer to use in compliance with this license. We thus
- encourage you to use the following text:
-
- """
- Portions of this software are copyright 1996-2002 The FreeType
- Project (www.freetype.org). All rights reserved.
- """
-
-
-Legal Terms
-===========
-
-0. Definitions
---------------
-
- Throughout this license, the terms `package', `FreeType Project',
- and `FreeType archive' refer to the set of files originally
- distributed by the authors (David Turner, Robert Wilhelm, and
- Werner Lemberg) as the `FreeType Project', be they named as alpha,
- beta or final release.
-
- `You' refers to the licensee, or person using the project, where
- `using' is a generic term including compiling the project's source
- code as well as linking it to form a `program' or `executable'.
- This program is referred to as `a program using the FreeType
- engine'.
-
- This license applies to all files distributed in the original
- FreeType Project, including all source code, binaries and
- documentation, unless otherwise stated in the file in its
- original, unmodified form as distributed in the original archive.
- If you are unsure whether or not a particular file is covered by
- this license, you must contact us to verify this.
-
- The FreeType Project is copyright (C) 1996-2000 by David Turner,
- Robert Wilhelm, and Werner Lemberg. All rights reserved except as
- specified below.
-
-1. No Warranty
---------------
-
- THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO
- USE, OF THE FREETYPE PROJECT.
-
-2. Redistribution
------------------
-
- This license grants a worldwide, royalty-free, perpetual and
- irrevocable right and license to use, execute, perform, compile,
- display, copy, create derivative works of, distribute and
- sublicense the FreeType Project (in both source and object code
- forms) and derivative works thereof for any purpose; and to
- authorize others to exercise some or all of the rights granted
- herein, subject to the following conditions:
-
- o Redistribution of source code must retain this license file
- (`FTL.TXT') unaltered; any additions, deletions or changes to
- the original files must be clearly indicated in accompanying
- documentation. The copyright notices of the unaltered,
- original files must be preserved in all copies of source
- files.
-
- o Redistribution in binary form must provide a disclaimer that
- states that the software is based in part of the work of the
- FreeType Team, in the distribution documentation. We also
- encourage you to put an URL to the FreeType web page in your
- documentation, though this isn't mandatory.
-
- These conditions apply to any software derived from or based on
- the FreeType Project, not just the unmodified files. If you use
- our work, you must acknowledge us. However, no fee need be paid
- to us.
-
-3. Advertising
---------------
-
- Neither the FreeType authors and contributors nor you shall use
- the name of the other for commercial, advertising, or promotional
- purposes without specific prior written permission.
-
- We suggest, but do not require, that you use one or more of the
- following phrases to refer to this software in your documentation
- or advertising materials: `FreeType Project', `FreeType Engine',
- `FreeType library', or `FreeType Distribution'.
-
- As you have not signed this license, you are not required to
- accept it. However, as the FreeType Project is copyrighted
- material, only this license, or another one contracted with the
- authors, grants you the right to use, distribute, and modify it.
- Therefore, by using, distributing, or modifying the FreeType
- Project, you indicate that you understand and accept all the terms
- of this license.
-
-4. Contacts
------------
-
- There are two mailing lists related to FreeType:
-
- o freetype@freetype.org
-
- Discusses general use and applications of FreeType, as well as
- future and wanted additions to the library and distribution.
- If you are looking for support, start in this list if you
- haven't found anything to help you in the documentation.
-
- o devel@freetype.org
-
- Discusses bugs, as well as engine internals, design issues,
- specific licenses, porting, etc.
-
- o http://www.freetype.org
-
- Holds the current FreeType web page, which will allow you to
- download our latest development version and read online
- documentation.
-
- You can also contact us individually at:
-
- David Turner
- Robert Wilhelm
- Werner Lemberg
-
-
---- end of LICENSE.TXT ---
diff --git a/docs/freetype2/BUGS b/docs/freetype2/BUGS
deleted file mode 100644
index bb68c68..0000000
--- a/docs/freetype2/BUGS
+++ /dev/null
@@ -1,275 +0,0 @@
-List of known FreeType 2 Bugs
------------------------------
-
-"Identifier" is a string to uniquely identify the bug. A more detailed
-description of the bug is found below the table of opened bugs.
-
-"Date" is the date when the bug was first reported or entered in this
-document. Dates are in _European_ format, i.e day/month/year.
-
-"Opened By" is the name of the person who first spotted the bug. Note that
-we can use abbreviations here, like:
-
- "David" for David Turner
- "Werner" for Werner Lemberg
- etc.
-
-"Reproduceable" indicates whether the bug could be reproduced by the
-development team or not (it can be specific to a given platform), whether it
-always happens, or only sporadically, etc.
-
-
-
-I. Open bugs
-============
-
-
-Identifier Date Opened by Reproduceable
-------------------------------------------------------------------------------
-NO-CID-CMAPS 13-09-2001 David always
-BAD-TT-RENDERING 12-09-2001 Paul Pedriana ?
-BAD-THIN-LINES 13-09-2001 David ?
-NOT-WINDOWS-METRICS 07-10-2001 David always
-ADVANCED-COMPOSITES 25-10-2001 George Williams always
-
---------------------END-OF-OPENED-BUGS-TABLE----------------------------------
-
-
-
-II. Closed bugs
-===============
-
-
-Identifier Date Closed by Closure date
-------------------------------------------------------------------------------
-BAD-TTNAMEID.H 12-09-2001 Antoine N/A
-BAD-T1-CHARMAP 15-06-2001 David 2.0.5
-BAD-UNIXXXX-NAMES 30-07-2001 David 2.0.5
-GLYPH_TO_BITMAP-BUG 05-12-2001 David 05-12-2001
-AUTOHINT-NO-SBITS 13-09-2001 David 2.0.6
-TT-GLYPH-CRASH 01-01-2002 David 2.0.6
-T1-FONT-CRASH 01-01-2002 David 2.0.6
-BAD-ADVANCES 30-11-2001 David 2.0.6
-GLYPH-TO-BITMAP-BUG 15-12-2001 David 2.0.6
---------------------END-OF-CLOSED-BUGS-TABLE----------------------------------
-
-
-
-III. Bug descriptions
-=====================
-
-
---- START OF OPEN BUGS ---
-
-
-NO-CID-CMAPS
-
- Not exactly a bug, but the CFF font driver doesn't build a Unicode charmap
- from the contents of font files, which prevents efficiently using fonts in
- this format.
-
-
-
-BAD-TT-RENDERING
-
- According to Paul Pedriana , there is a rather
- important difference between the rendering of TrueType-hinted glyphs of
- current FT2 and old betas.
-
- Tests and comparisons show a _major_ discrepancy of monochrome truetype
- bytecode-hinted glyphs! Something seems to be really broken here!
-
- Some of this has been fixed in 2.0.6; there was a bug in the TrueType
- loader that prevented it from loading composites correctly. However,
- there are still _subtle_ differences between FT1 and FT2 when it comes to
- monochrome TrueType-hinted glyphs (the major differences are gone though).
-
-
-
-BAD-THIN-LINES
-
- It seems that the anti-aliased renderer in FreeType has problems rendering
- extremely thin straight lines correctly, at least when using the
- FT_Outline_Render() function.
-
-
-
-NOT-WINDOWS-METRICS
-
- FreeType doesn't always return the same metrics as Windows for ascender,
- descender, and text height, depending on character pixel sizes. A lot of
- testing on Windows is needed to debug this properly. It might be due to a
- rounding bug when computing the "x_scale" and "y_scale" values.
-
-
-
-ADVANCED-COMPOSITES
-
- Provided by George Williams :
-
- I notice that truetype/ttgload.c only supports Apple's definition of
- offsets for composite glyphs. Apple and Microsoft behave differently if
- there is a scale factor. OpenType defines some bits to disambiguate.
-
- (A problem in both 2.0.4 and 2.0.5.)
-
- Apple says (http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html) that if
- flags&ARGS_ARE_XY is set then the offsets should be scaled by the scale
- factors (as you have done), but they also say something very cryptic
- about what happens when the component is rotated at 45 (which you do
- not support) -- See the "Important" note at the bottom.
-
- The old truetype spec from Microsoft did not mention this. The OpenType
- spec (http://www.microsoft.com/typography/otspec/glyf.htm,
- http://partners.adobe.com/asn/developer/opentype/glyf.html) defines two
- new bits to disambiguate:
-
- SCALED_COMPONENT_OFFSET 11
- Composite designed to have the component offset scaled (designed for
- Apple rasterizer)
-
- UNSCALED_COMPONENT_OFFSET 12
- Composite designed not to have the component offset scaled (designed
- for the Microsoft TrueType rasterizer)
-
- Perhaps you could add a load_flag to allow the user to define the
- default setting?
-
- David says:
-
- Wow, I was not even aware of this, it will probably take a little time
- to implement since I don't have any font that implement these
- "features", and also because I believe that we're running out of bits
- for "load_flag", some other way to set preferences is probably needed.
-
-
-
---- END OF OPEN BUGS ---
-
-
-
-BAD-TTNAMEID.H
-
- The file "ttnameid.h" contains various constant macro definitions
- corresponding to important values defined by the TrueType specification.
-
- Joe Man reports that:
-
- According to the information from TrueType v1.66:
-
- Platform ID = 3 (Microsoft)
- the Encoding ID of GB2312 = 4
- the Encoding ID of big5 = 3
-
- However, I have found that in ttnameid.h:
-
- TT_MS_ID_GB2312 = 3
- TT_MS_ID_BIG_5 = 4
-
- Which one is correct?
-
- Antoine replied that this was a bug in the TT 1.66 specification, and that
- FreeType followed the most recent TrueType/OpenType specification here.
-
-
-
-AUTOHINT-SBITS
-
- When trying to load a glyph, with the auto-hinter activated (i.e., when
- using FT_LOAD_FORCE_AUTOHINT, or when the font driver doesn't provide its
- own hinter), embedded bitmaps are _never_ loaded, unlike the default
- behaviour described by the API specification.
-
- This seems to be a bug in FT_Load_Glyph(), but there is no way to solve it
- efficiently without making a few important internal changes to the
- library's design (more importantly, to the font driver interface).
-
- This has been corrected with a hack in FT_Load_Glyph(). More important
- internal changes should help get rid of it with a clean solution in a
- further release like FreeType 2.1.
-
-
-
-BAD-T1-CHARMAP
-
- Type1 driver doesn't read "cacute" and "lslash" characters from iso8859-2
- charset. Those characters are mapped as MAC-one in glnames.py, so they
- cannot be shown in Adobe Type1 fonts.
-
- (This was due to a bug in the "glnames.py" script used to generate the
- table of glyph names in 'src/psaux/pstables.h'.)
-
-
-
-BAD-UNIXXXX-NAMES
-
- Glyph names like uniXXXX are not recognized as they should be. It seems
- that code in psmodule.c for uniXXXX glyph names was never tested. The
- patch is very simple.
-
- (A simple bug that was left un-noticed due to the fact that I don't have
- any Postscript font that use this convention, unfortunately.)
-
-
-
-GLYPH_TO_BITMAP-BUG
-
- Calling FT_Glyph_To_Bitmap() sometimes modifies the original glyph
- outline, creating weird alignment artefacts.
-
- This subtle bug was really in the file `src/smooth/ftsmooth.c'.
- Basically, the outline was shifted before rendering it into a new bitmap
- buffer. However, it wasn't properly un-shifted after that operation.
-
- This was only noticeable with certain glyphs or certain fonts; it crept in
- a long time ago.
-
- The same bug has been fixed in src/raster/ftrender1.c also.
-
-
-
-TT-GLYPH-CRASH
-
- The library crashed when trying to load certain glyphs from an
- automatically generated TrueType file (tt1095m_.ttf submitted by Scott
- Long).
-
- It turned out that the font contained invalid glyph data (i.e. was
- broken), but the TrueType glyph loader in FreeType wasn't paranoid enough,
- which resulted in nasty memory overwrites all over the place.
-
-
-
-T1-FONT-CRASH
-
- The library crashed when trying to load the "Stalingrad Regular" face from
- the "sadn.pfb" font file provided by Anthony Fok (and the Gnome-Print team
- I believe).
-
- This was due to the fact that the font missed a full font name entry,
- though boasted a family name and postscript name. The Type 1 face loader
- didn't check for these pathetic cases and seg-faulted.
-
-
-
-BAD-ADVANCES
-
- All scalable font drivers returned un-fitted glyph advances when
- FT_LOAD_DEFAULT was used, which was incorrect. This problem was pretty
- old but hadn't been spotted because all test programs actually explicitly
- or implicitly (i.e. through the cache) rounded the advance widths of
- glyphs.
-
- This resulted in poor rendering of a number of client applications however
- (it is strange to see they took so long to notify the FreeType team).
-
-
-
-GLYPH-TO-BITMAP-BUG
-
- FT_Glyph_To_Bitmap() did incorrectly modify the source glyph in certain
- cases, which resulted in random behaviour and bad text rendering. This
- was spotted to bugs in both the monochrome and smooth rasterizer.
-
-
-=== end of file ===
diff --git a/docs/freetype2/BUILD b/docs/freetype2/BUILD
deleted file mode 100644
index 7bf70bf..0000000
--- a/docs/freetype2/BUILD
+++ /dev/null
@@ -1,276 +0,0 @@
-
- FreeType 2 compilation how-to
- =============================
-
-
-Introduction
-------------
-
-Welcome to the FreeType 2 library. You'll find in this document
-instructions on how to compile the library on your favorite platform.
-
-
-I. QUICK COMMAND-LINE GUIDE
----------------------------
-
- THE FOLLOWING WILL ONLY WORK WITH GNU MAKE, IT WILL FAIL MISERABLY
- WITH OTHER MAKE TOOLS, FOR EXAMPLE "BSD MAKE".
-
- Install GNU Make (version 3.78.1 or newer), then try the following
- on Unix or any system with gcc:
-
- make // this will setup the build
- make // this will build the library
-
- On Win32 + Visual C++:
-
- make setup visualc // setup the build for VisualC++ on Win32
- make // build the library
-
- Then, go to the `demos' directory and type
-
- make
-
-
- Note that on Unix, the first `make' invocation will run a configure
- script (which is located in `freetype2/builds/unix/'. You can also
- pass parameters to this script with the CFG variable, as in:
-
- make CFG="--prefix=/usr/local"
- make
-
-
- If this doesn't work, read the following.
-
-
-II. COMMAND-LINE COMPILATION
-----------------------------
-
- Note that if you do not want to compile FreeType 2 from a command
- line shell, please skip to section III below (DETAILED COMPILATION).
-
- FreeType 2 includes a powerful and flexible build system that allows
- you to easily compile it on a great variety of platforms from the
- command line. To do so, just follow these simple instructions:
-
- a. Install GNU Make
-
- Because GNU Make is the only Make tool supported to compile
- FreeType 2, you should install it on your machine.
-
- The FreeType 2 build system relies on many features special to GNU
- Make -- trying to build the library with any other Make tool will
- *fail*.
-
- NEARLY ALL OTHER MAKE TOOLS WILL FAIL, INCLUDING "BSD MAKE", SO
- REALLY INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
-
- Make sure that you are invoking GNU Make from the command line, by
- typing something like:
-
- make -v
-
- to display its version number.
-
- VERSION 3.78.1 OR NEWER IS NEEDED!
-
- b. Invoke `make'
-
- Go to the root directory of FreeType 2, then simply invoke GNU
- Make from the command line. This will launch the FreeType 2 host
- platform detection routines. A summary will be displayed, for
- example, on Win32:
-
-
- ==============================================================
- FreeType build system -- automatic system detection
-
- The following settings are used:
-
- platform win32
- compiler gcc
- configuration directory ./builds/win32
- configuration rules ./builds/win32/w32-gcc.mk
-
- If this does not correspond to your system or settings please
- remove the file 'config.mk' from this directory then read the
- INSTALL file for help.
-
- Otherwise, simply type 'make' again to build the library.
- =============================================================
-
-
- If the detected settings correspond to your platform and compiler,
- skip to step e. Note that if your platform is completely alien to
- the build system, the detected platform will be `ansi'.
-
- c. Configure the build system for a different compiler
-
- If the build system correctly detected your platform, but you want
- to use a different compiler than the one specified in the summary
- (for most platforms, gcc is the defaut compiler), invoke GNU Make
- with
-
- make setup
-
- For example:
-
- to use Visual C++ on Win32, type: "make setup visualc"
- to use LCC-Win32 on Win32, type: "make setup lcc"
-
- The name to use is platform-dependent. The list of
- available compilers for your system is available in the file
- `builds//detect.mk' (note that we hope to make the list
- displayed at user demand in the final release).
-
- If you are satisfied by the new configuration summary, skip to
- step e.
-
- d. Configure the build system for an unknown platform/compiler
-
- The auto-detection/setup phase of the build system copies a file
- to the current directory under the name `config.mk'.
-
- For example, on OS/2+gcc, it would simply copy
- `builds/os2/os2-gcc.mk' to `./config.mk'.
-
- If for some reason your platform isn't correctly detected, copy
- manually the configuration sub-makefile to `./config.mk' and go to
- step e.
-
- Note that this file is a sub-Makefile used to specify Make
- variables for compiler and linker invocation during the build.
- You can easily create your own version from one of the existing
- configuration files, then copy it to the current directory under
- the name `./config.mk'.
-
- e. Build the library
-
- The auto-detection/setup phase should have copied a file in the
- current directory, called `./config.mk'. This file contains
- definitions of various Make variables used to invoke the compiler
- and linker during the build.
-
- To launch the build, simply invoke GNU Make again: The top
- Makefile will detect the configuration file and run the build with
- it.
-
- f. Build the demonstration programs
-
-
-III. DETAILED COMPILATION PROCEDURE
------------------------------------
-
- If you don't want to compile FreeType 2 from the command-line (for
- example if you use a graphical IDE on a Mac or Windows), you will
- need to understand how the FreeType files are organized.
-
- FreeType 2 has a very modular design, and it is made of several
- components. Each component must be compiled as a stand-alone object
- file, even if it is really made of several C source files. For
- example, the `base layer' component is made of the following C
- files:
-
- src/
- base/
- ftcalc.c - computations
- ftextend.c - extensions support
- ftlist.c - simple list management
- ftobjs.c - object management
- ftoutln.c - simple outline processing
- ftstream.c - stream input
-
- However, you can create a single object file by compiling the file
- `src/base/ftbase.c', which basically contains
-
- #include "ftcalc.c"
- #include "ftobjs.c"
- #include "ftstream.c"
- #include "ftlist.c"
- #include "ftoutln.c"
- #include "ftextend.c"
-
- Similarly, each component has a single `englobing' C file to compile
- it as a stand-alone object:
-
- src/autohint/autohint.c - the autohinting module
- src/base/ftbase.c - the base layer, high-level interface
- src/cache/ftcache.c - a glyph and image caching system
- (still experimental)
- src/cff/cff.c - the OpenType font driver
- src/cid/type1cid.c - the CID-keyed font driver
- src/psaux/psaux.c - the PS support module
- src/psnames/psnames.c - a support module to handle PS glyph
- names
- src/raster1/raster1.c - the monochrome raster module
- src/sfnt/sfnt.c - the `sfnt' module
- src/smooth/smooth.c - the anti-aliasing raster module
- src/truetype/truetype.c - the TrueType font driver
- src/type1/type1.c - the Type 1 font driver
-
- The last module of FreeType 2, `winfonts' (implementing support for
- Windows FNT format), is a single file.
-
- To compile one component, do the following:
-
- - Add the top-level `include' directory to your compilation
- include path
-
- - Add the `src/' directory to your compilation include
- path, or simply `cd' to the component's source directory.
-
- - Compile the component `source' file (see list below); you don't
- need to be in the component's directory if you added
- `src/' to your include path.
-
- For example, the following line can be used to compile the truetype
- driver on Unix:
-
- cd freetype2/
- cc -c -Iinclude -Isrc/truetype src/truetype/truetype.c
-
- Alternatively:
-
- cd freetype2/src/truetype
- cc -c -I../../include truetype.c
-
- Finally, FreeType 2 contains some other components:
-
- src/base/ftsystem.c - system-specific memory and i/o support
- src/base/ftinit.c - initialization layer
- src/base/ftdebug.c - debugging component (empty in release
- build)
- src/base/ftglyph.c - optional convenience functions
-
- All font drivers are optional. The `sfnt', `psaux', and `psnames'
- modules are mandatory for certain drivers. However, you may need to
- update the list of drivers that are statically linked to the
- library, which is located in the configuration file
- `include/freetype/config/ftmodule.h'.
-
-
-IV. Support for flat-directory compilation
-------------------------------------------
-
- It is possible to put all FreeType 2 source files into a single
- directory, with the exception of the `include' hierarchy.
-
- 1. Copy all files in current directory:
-
- cp freetype2/src/base/*.[hc] .
- cp freetype2/src/raster1/*.[hc] .
- cp freetype2/src/smooth/*.[hc] .
- etc.
-
- 2. Compile sources:
-
- cc -c -Ifreetype2/include ftsystem.c
- cc -c -Ifreetype2/include ftinit.c
- cc -c -Ifreetype2/include ftdebug.c
- cc -c -Ifreetype2/include ftbase.c
- etc.
-
- You don't need to define the FT_FLAT_COMPILATION macro (as this was
- required in previous releases of FreeType 2).
-
-End of file
diff --git a/docs/freetype2/CHANGES b/docs/freetype2/CHANGES
deleted file mode 100644
index 26138b2..0000000
--- a/docs/freetype2/CHANGES
+++ /dev/null
@@ -1,1953 +0,0 @@
-LATEST CHANGES BETWEEN 2.1.3 and 2.1.2
-
- I. IMPORTANT BUG FIXES
-
- - FT_Vector_Transform had been incorrectly modified in 2.1.2, resulting
- in incorrect transformations being applied (for example, rotations
- were processed in opposite angles).
-
- - The format 8 and 12 TrueType charmap enumeration routines have been
- fixed (FT_Get_Next_Char returned invalid values).
-
- - The PFR font driver returned incorrect advance widths if the outline
- and metrics resolution defined in the font file were different.
-
- - FT_Glyph_To_Bitmap now returns successfully when called with an
- FT_BitmapGlyph argument (it previously returned an error).
-
- - A bug in the Type 1 loader that prevented valid font bounding boxes to
- be loaded from multiple master fonts.
-
- - The SFNT validation code has been rewritten. FreeType can now load
- "broken" fonts that were usable on Windows, but not with previous
- versions of the library.
-
- - The computation of bearings in the BDF driver has been fixed.
-
- - The Postscript hinter crashed when trying to hint certain glyphs (more
- precisely, when trying to apply hints to an empty glyph outline).
-
- - The TrueType glyph loader now supports composites in "Apple format"
- (they differ slightly from Microsoft/OpenType ones in the way transform
- offsets are computed).
-
- - FreeType was very slow at opening certain asian CID/CFF fonts, due
- to fixed increment in dynamic array re-allocations. This has been
- changed to exponential behaviour to get acceptable performance
-
- II. IMPORTANT CHANGES
-
- - the PCF driver now supports gzip-compressed font files natively. This
- means that you'll be able to use all these bitmap fonts that come
- with XFree86 with FreeType (and libXft/libXft2, by extension).
-
- - The automatic and postscript hinters have both been updated. This
- results in a relatively important increase of rendering quality since
- many nasty defaults have been supressed. Please visit the web page:
-
- http://www.freetype.org/hinting/smooth-hinting.html
-
- for additional details on this topic.
-
- - The "load_flags" parameter of FT_Load_Glyph is now an FT_Int32
- (instead of just being an FT_Int). This breaks source and binary
- compatibility for 16bit systems only, while retaining both of them for
- 32 and 64 bit ones.
-
- Some new flags have been added consequently:
-
- FT_LOAD_NO_AUTOHINT :: Disable the use of the auto-hinter
- (but not native format hinters).
-
- FT_LOAD_TARGET_NORMAL :: Hint and render for normal anti-aliased
- displays.
-
- FT_LOAD_TARGET_MONO :: Hint and render for 1-bit displays.
-
- FT_LOAD_TARGET_LCD :: Hint and render for horizontal RGB or BGR
- sub-pixel displays (like LCD screens).
- THIS IS STILL EXPERIMENTAL!
-
- FT_LOAD_TARGET_LCD_V :: Same as FT_LOAD_TARGET_LCD, for vertical
- sub-pixel displays (like rotated LCD
- screens). THIS IS STILL EXPERIMENTAL!
-
- FT_LOAD_MONOCHROME is still supported, but only affects rendering, not
- the hinting.
-
- Note that the 'ftview' demo program available in the 'ft2demos' package
- has been updated to support LCD-optimized display on non-paletted
- displays (under Win32 and X11)
-
- - The PFR driver now supports embedded bitmaps (all formats supported),
- and returns correct kerning metrics for all glyphs
-
- - The TrueType charmap loader now supports certain "broken" fonts that
- load under Windows without problems.
-
- - The cache API has been slightly modified (it's still a beta!):
-
- - The type FTC_ImageDesc has been removed; it is now replaced by
- FTC_ImageTypeRec. Note that one of its fields is a `load_flag'
- parameter for FT_Load_Glyph.
-
- - The field "num_grays" of FT_SBitRec has been changed to "max_grays"
- in order to fit within a single byte. Its maximum value is thus 255
- (instead of 256 as previously).
-
-
- III. MISCELLANEOUS
-
- - Added support for the DESTDIR variable during "make install". This
- simplifies packaging of FreeType.
-
- - included modified copies of the ZLib sources in 'src/gzip' in order
- to support gzip-compressed PCF fonts. We do not use the system-provided
- zlib for now, though this is a probable enhancement for future releases
-
- - The DocMaker tool used to generate the on-line API reference has been
- completely rewritten. It is now located in
- "src/tools/docmaker/docmaker.py". Features:
-
- - better cross-referenced output
- - more polished output
- - uses Python regular expressions (though it didn't speed the
- program)
- - much more modular structure, which allows for different "backends"
- in order to generate HTML, XML, or whatever format.
-
- One can regenerate the API reference by calling:
-
- python src/tools/docmaker/docmaker.py \
- --prefix=ft2 \
- --title=FreeType-2.1.3 \
- --output=
- include/freetype/*.h \
- include/freetype/config/*.h \
- include/freetype/cache/*.h
-
- - A new, experimental, support for incremental font loading (i.e.,
- loading of fonts where the glyphs are not in the font file itself, but
- provided by an external component, like a Postscript interpreter) has
- been added by Graham Asher. This is still work in progress, however.
-
- - A new, EXPERIMENTAL, path stroker has been added. It doesn't suffer
- from severe rounding errors and treat bezier arcs directly. Still
- work in progress (i.e. not part of the official API). See the file
- for some of the details.
-
- - The massive re-formatting of sources and internal re-design is still
- under-way. Many internal functions, constants, and types have been
- renamed.
-
-
-========================================================================
-
-LATEST CHANGES BETWEEN 2.1.2 and 2.1.1
-
- I. IMPORTANT BUG FIXES
-
- - Many font drivers didn't select a Unicode charmap by default when
- a new face was opened (with the FT_CONFIG_OPTION_USE_CMAPS options
- enabled), causing many applications to not be able to display text
- correctly with the 2.1.x releases.
-
- - The PFR driver had a bug in its composite loading code that produces
- incorrectly placed accents with many fonts.
-
- - The Type42 driver crashed sometimes due to a nasty bug.
-
- - The Type 1 custom encoding charmap didn't handle the case where the
- first glyph index wasn't 0.
-
- - A serious typo in the TrueType composite loader produced incorrectly
- placed glyphs in fonts like "Wingdings" and a few others.
-
-
- II. MISCELLANEOUS
-
- - The Win32 Visual C++ project file has been updated to include the
- PFR driver as well.
-
- - "freetype.m4" is now installed by default by "make install" on Unix
- systems.
-
- - The function FT_Get_PS_Font_Info now works with CID and Type42 fonts
- as well.
-
-
-========================================================================
-
-LATEST CHANGES BETWEEN 2.1.1 and 2.1.0
-
- I. IMPORTANT BUG FIXES
-
- - The `version_info' returned by `freetype-config' in 2.1.0 returned an
- invalid value. It now returns 9:1:3 (2.0.9 returned 9:0:3).
-
- - Version 2.1.0 couldn't be linked against applications on Win32 and
- Amiga systems due to a new debug function that wasn't properly
- propagated to the system-specific directory in `builds'.
-
- - Various MacOS and Mac OS X specific fixes.
-
- - Fixed a bug in the TrueType charmap validation routines that made
- version 2.1.0 too restrictive -- many popular fonts have been
- rejected.
-
- - There was still a very small difference between the monochrome glyph
- bitmaps produced by FreeType 1.x and FreeType 2.x with the bytecode
- interpreter enabled. This was caused by an invalid flag setting in
- the TrueType glyph loader, making the rasterizer change its drop-out
- control mode. Now theresults should _really_ be completely identical.
-
- - The TrueType name table loader has been improved to support many
- popular though buggy Asian fonts. It now ignores empty name entries,
- invalid pointer offsets and a few other incorrect subtleties.
- Moreover, name strings are now loaded on demand, which reduces the
- memory load of many faces (e.g. the ARIAL.TTF font file contains a
- 10kByte name table with 70 names).
-
- - Fixed a bug in the Postscript hinter that prevented family blues
- substitution to happen correctly.
-
-
- II. NEW FEATURES
-
- - Three new font drivers in this release:
-
- * A BDF font driver, contributed by Franco Zappa Nardelli, heavily
- modified by Werner Lemberg. It also supports anti-aliased bitmaps
- (using a slightly extended BDF format).
-
- * A Type42 font driver, contributed by Roberto Alameda. It is
- still experimental but seems to work relatively well.
-
- * A PFR font driver, contributed by David Turner himself. It doesn't
- support PFR hinting -- note that BitStream has at least two patents
- on this format!
-
-
- III. MISCELLANEOUS
-
- - The cache sub-system has been optimized in important ways. Cache hits
- are now significantly faster. For example, using the CMap cache is
- about twice faster than calling FT_Get_Char_Index on most platforms.
- Similarly, using an SBit cache is about five times faster than loading
- the bitmaps from a bitmap file, and 300 to 500 times faster than
- generating them from a scalable format.
-
- Note that you should recompile your sources if you designed a custom
- cache class for the FT2 Cache subsystem, since the changes performed
- are source, but not binary, compatible.
-
-
-========================================================================
-
-LATEST CHANGES BETWEEN 2.1.0 and 2.0.9
-
- I. IMPORTANT BUG FIXES
-
- - The TrueType bytecode interpreter has been fixed to produce
- _exactly_ the same output as FreeType 1.x. Previous differences
- were due to slightly distinct fixed-point computation routines
- used to perform dot products and vector length measurements.
-
- It seems that native TrueType hinting is _extremely_ sensitive
- to rounding errors. The required vector computation routines have
- been optimized and placed within the "ttinterp.c" file.
-
- - Fixed the parsing of accelerator tables in the PCF font driver.
-
- - Fixed the Type1 glyph loader routine used to compute the font's
- maximum advance width.
-
- II. NEW FEATURES
-
- - The `configure' script used on Unix systems has been modified to
- check that GNU Make is being used to build the library. Otherwise,
- it will display a message proposing to use the GNUMAKE environment
- variable to name it.
-
- The Unix-specific file README.UNX has been modified accordingly.
-
-
- III. MISCELLANEOUS
-
- - The FreeType License in `docs/FTL.txt' has been updated to include
- a proposed preferred disclaimer. If you are using FreeType in your
- products, you are encouraged (but not mandated) to use the following
- text in your documentation:
-
- """
- Portions of this software are copyright 1996-2002 The FreeType
- Project (www.freetype.org). All rights reserved.
- """
-
- - The default size of the render pool has been reduced to 16kByte.
- This shouldn't result in any noticeable performance penalty, unless
- you are using the engine as-is to render very large and complex
- glyphs.
-
- - The FreeType 2 redesign has begun. More information can be found
- at this URL:
-
- http://www.freetype.org/freetype2/redesign.html
-
- The following internal changes have been performed within the sources
- of this release:
-
- - Many internal types have been renamed to increase consistency.
- The following should be true, except for public types:
-
- * All structure types have a name ending in "Rec" (short for
- `record').
-
- * A pointer-to-structure type has the same name as the
- structure, _without_ the "Rec" suffix.
-
- Example:
-
- typedef struct FooRec_
- {
- ...
-
- } FooRec, *Foo;
-
- - Many internal macros have been renamed to increase consistency.
- The following should be true:
-
- * All macros have a name beginning with "FT_". This required
- a few changes like
-
- ALLOC => FT_ALLOC
- FREE => FT_FREE
- REALLOC => FT_REALLOC
-
- * All macros are completely UPPERCASE. This required a few
- changes like:
-
- READ_Short => FT_READ_SHORT
- NEXT_Short => FT_NEXT_SHORT
- GET_ULongLE => FT_GET_ULONG_LE
- MEM_Set => FT_MEM_SET
- MEM_Copy => FT_MEM_COPY
- etc.
-
- * Whenever possible, all macro names follow the
- FT__ pattern. For example
-
- ACCESS_Frame => FT_FRAME_ENTER
- FORGET_Frame => FT_FRAME_EXIT
- EXTRACT_Frame => FT_FRAME_EXTRACT
- RELEASE_Frame => FT_FRAME_RELEASE
-
- FILE_Pos => FT_STREAM_POS
- FILE_Seek => FT_STREAM_SEEK
- FILE_Read => FT_STREAM_READ
- FILE_ReadAt => FT_STREAM_READ_AT
- READ_Fields => FT_STREAM_READ_FIELDS
-
- - Many internal functions have been renamed to follow the
- FT__ pattern. For example:
-
- FT_Seek_Stream => FT_Stream_Seek
- FT_Read_Stream_At => FT_Stream_ReadAt
- FT_Done_Stream => FT_Stream_Close
- FT_New_Stream => FT_Stream_Open
- FT_New_Memory_Stream => FT_Stream_OpenMemory
- FT_Extract_Frame => FT_Stream_ExtractFrame
-
- Note that method names do not contain "_".
-
- - The FT_ALLOC_ARRAY and FT_REALLOC_ARRAY have been replaced
- with FT_NEW_ARRAY and FT_RENEW_ARRAY which do not take a type
- as the fourth argument. Instead, the array element type size
- is computed automatically from the type of the target pointer
- used.
-
- - A new object class, FT_CMap, has been introduced. These
- internal objects are used to model character maps. This eases
- the support of additional charmap types within the engine.
-
- - A new configuration file named "ftstdlib.h" has been added
- to `include/freetype/config'. It is used to define aliases
- for _every_ routine of the ISO C library that the font engine
- uses. Each aliases has a "ft_" prefix (e.g. "ft_strlen" is an
- alias for "strlen").
-
- This is used to ease the porting of FreeType 2 to exotic runtime
- environments where the ISO C Library isn't available (e.g.
- XFree86 extension modules).
-
- More details are available in the "ChangeLog" file.
-
-
-============================================================================
-
-LATEST CHANGES BETWEEN 2.0.9 and 2.0.8
-
- I. IMPORTANT BUG FIXES
-
- - Certain fonts like "foxjump.ttf" contain broken name tables with
- invalid entries and wild offsets. This caused FreeType to crash when
- trying to load them.
-
- The SFNT `name' table loader has been fixed to be able to support
- these strange fonts.
-
- Moreover, the code in charge of processing this table has been changed
- to always favour Windows-formatted entries over other ones. Hence, a
- font that works on Windows but not on the Mac will load cleanly in
- FreeType and report accurate values for Family & PostScript names.
-
- - The CID font driver has been fixed. It unfortunately returned a
- Postscript Font name with a leading slash, as in
- "/MunhwaGothic-Regular".
-
- - FreeType 2 should now compile fine on AIX 4.3.3 as a shared library.
-
- - A bug in the Postscript hinter has been found and fixed, removing
- un-even stem widths at small pixel sizes (like 14-17).
-
- This improves the quality of a certain number of Postscript fonts.
-
-
- II. NEW FEATURES
-
- - A new function named `FT_Library_Version' has been added to return
- the current library's major, minor, and patch version numbers. This
- is important since the macros FREETYPE_MAJOR, FREETYPE_MINOR, and
- FREETYPE_PATCH cannot be used when the library is dynamically linked
- by a program.
-
- - Two new APIs have been added: `FT_Get_First_Char' and
- `FT_Get_Next_Char'.
-
- Together, these can be used to iterate efficiently over the currently
- selected charmap of a given face. Read the API reference for more
- details.
-
-
- III. MISCELLANEOUS
-
- - The FreeType sources are under heavy internal re-factoring. As a
- consequence, we have created a branch named "STABLE" on the CVS to
- hold all future releases/fixes in the 2.0.x family.
-
- The HEAD branch now contains the re-factored sources and shouldn't be
- used for testing or packaging new releases. In case you would like
- to access the 2.0.9 sources from our CVS repository, use the tag
- `VER-2-0-9'.
-
-
-============================================================================
-
-LATEST CHANGES BETWEEN 2.0.8 and 2.0.7
-
- I. IMPORTANT BUG FIXES
-
- - There was a small but nasty bug in "freetype-config.in" which
- caused the "freetype-config" script to fail on Unix.
-
- This didn't prevent the installation of the library or even
- its execution, but caused problems when trying to compile many
- Unix packages that depend on it.
-
- - Some TrueType or OpenType fonts embedded in PDF documents do
- not have a 'cmap', 'post' and 'name' as is required by the
- specification. FreeType no longer refuses to load such fonts.
-
- - various fixes to the PCF font driver
-
-
-============================================================================
-
-LATEST CHANGES BETWEEN 2.0.7 and 2.0.6
-
- I. IMPORTANT BUG FIXES
-
- - Fixed two bugs in the Type 1 font driver. The first one resulted in a
- memory leak in subtle cases. The other one caused FreeType to crash
- when trying to load ".gsf" files (Ghostscript so-called Postscript
- fonts).
-
- (This made _many_ KDE applications crash on certain systems. FreeType
- _is_ becoming a critical system component on Linux :-)
-
- - Fixed a memory leak in the CFF font driver.
-
- - Fixed a memory leak in the PCF font driver.
-
- - Fixed the Visual C++ project file "builds/win32/visualc/freetype.dsp"
- since it didn't include the Postscript hinter component, causing
- errors at build time.
-
- - Fixed a small rendering bug in the anti-aliased renderer that only
- occurred when trying to draw thin (less than 1 pixel) strokes.
-
- - Fixed "builds/unix/freetype2.a4" which is used to generate a valid
- "freetype2.m4" for use with autoconf.
-
- - Fixed the OpenVMS Makefiles.
-
-
- II. MISCELLANEOUS
-
- - Added "configure" and "install" scripts to the top-level directory.
- A GNU-style installation is thus now easily possible with
-
- ./configure
- make
- make install
-
-
-============================================================================
-
-LATEST CHANGES BETWEEN 2.0.6 and 2.0.5
-
- I. IMPORTANT BUG FIXES
-
- - It wasn't possible to load embedded bitmaps when the auto-hinter was
- used. This is now fixed.
-
- - The TrueType font driver didn't load some composites properly (the
- sub-glyphs were slightly shifted, and this was only noticeable when
- using monochrome rendering).
-
- - Various fixes to the auto-hinter. They merely improve the output of
- sans-serif fonts. Note that there are still problems with serifed
- fonts and composites (accented characters).
-
- - All scalable font drivers erroneously returned un-fitted glyph
- advances when hinting was requested. This created problems for a
- number of layout applications. This is a very old bug that got
- undetected mainly because most test/demo program perform rounding
- explicitly or implicitly (through the cache).
-
- - FT_Glyph_To_Bitmap() did erroneously modify the source glyph in
- certain cases.
-
- - "glnames.py" still contained a bug that made FreeType return invalid
- names for certain glyphs.
-
- - The library crashed when loading certain Type 1 fonts like "sadn.pfb"
- ("Stalingrad Normal"), which appear to contain pathetic font info
- dictionaries.
-
- - The TrueType glyph loader is now much more paranoid and checks everything
- when loading a given glyph image. This was necessary to avoid
- problems (crashes and/or memory overwrites) with broken fonts that
- came from a really buggy automatic font converter.
-
-
- II. IMPORTANT UPDATES AND NEW FEATURES
-
- - Important updates to the Mac-specific parts of the library.
-
- - The caching sub-system has been completely re-designed, and its API
- has evolved (the old one is still supported for backwards
- compatibility).
-
- The documentation for it is not yet completed, sorry. For now, you
- are encouraged to continue using the old API. However, the ftview
- demo program in the ft2demos package has already been updated to use
- the new caching functions.
-
- - A new charmap cache is provided too. See FTC_CMapCache(). This is
- useful to perform character code -> glyph index translations quickly,
- without the need for an opened FT_Face.
-
- - A NEW POSTSCRIPT HINTER module has been added to support native hints
- in the following formats: PostScript Type 1, PostScript CID, and
- CFF/CEF.
-
- Please test! Note that the auto-hinter produces better results for a
- number of badly-hinted fonts (mostly auto-generated ones) though.
-
- - A memory debugger is now part of the standard FreeType sources. To
- enable it, define FT_DEBUG_MEMORY in , and
- recompile the library.
-
- Additionally, define the _environment_ variable FT_DEBUG_MEMORY and
- run any program using FreeType. When the library is exited, a summary
- of memory footprints and possible leaks will be displayed.
-
- This works transparently with _any_ program that uses FreeType.
- However, you will need a lot of memory to use this (allocated blocks
- are never released to the heap to detect double deletes easily).
-
-
- III. MISCELLANEOUS
-
- - We are aware of subtle differences between the output of FreeType
- versions 1 and 2 when it comes to monochrome TrueType-hinted glyphs.
- These are most probably due to small differences in the monochrome
- rasterizers and will be worked out in an upcoming release.
-
- - We have decided to fork the sources in a "stable" branch, and an
- "unstable" one, since FreeType is becoming a critical component of
- many Unix systems.
-
- The next bug-fix releases of the library will be named 2.0.7, 2.0.8,
- etc., while the "2.1" branch will contain a version of the sources
- where we will start major reworking of the library's internals, in
- order to produce FreeType 2.2.0 (or even 3.0) in a more distant
- future.
-
- We also hope that this scheme will allow much more frequent releases
- than in the past.
-
-
-============================================================================
-
-LATEST CHANGES BETWEEN 2.0.5 and 2.0.4
-
- NOTE THAT 2.0.5 DOES NOT CONTAIN THE POSTSCRIPT HINTER. THIS MODULE WILL
- BE PART OF THE NEXT RELEASE (EITHER 2.0.6 or 2.1)
-
- - Fixed a bug that made certain glyphs, like "Cacute", "cacute" and
- "lslash" unavailable from Unicode charmaps of Postscript fonts. This
- prevented the correct display of Polish text, for example.
-
- - The kerning table of Type 1 fonts was loaded by FreeType, when its AFM
- file was attached to its face, but the FT_FACE_FLAG_HAS_KERNING bit
- flags was not set correctly, preventing FT_Get_Kerning to return
- meaningful values.
-
- - Improved SFNT (TrueType & OpenType) charmap support. Slightly better
- performance, as well as support for the new formats defined by the
- OpenType 1.3 specification (8, 10, and 12)
-
- - Fixed a serious typo in "src/base/ftcalc.c" which caused invalid
- computations in certain rare cases, producing ugly artefacts.
-
- - The size of the EM square is computed with a more accurate algorithm
- for Postscript fonts. The old one caused slight errors with embedded
- fonts found in PDF documents.
-
- - Fixed a bug in the cache manager that prevented normal LRU behaviour
- within the cache manager, causing unnecessary reloads (for FT_Face and
- FT_Size objects only).
-
- - Added a new function named "FT_Get_Name_Index" to retrieve the glyph
- index of a given glyph name, when found in a face.
-
- - Added a new function named "FT_Get_Postscript_Name" to retrieve the
- "unique" Postscript font name of a given face.
-
- - Added a new public header size named FT_SIZES_H (or
- ) providing new FT_Size-management functions:
- FT_New_Size, FT_Activate_Size, FT_Done_Size.
-
- - Fixed a reallocation bug that generated a dangling pointer (and possibly
- memory leaks) with Postscript fonts (in src/psaux/psobjs.c).
-
- - Many fixes for 16-bit correctness.
-
- - Removed many pedantic compiler warnings from the sources.
-
- - Added an Amiga build directory in "builds/amiga".
-
-============================================================================
-
-LATEST CHANGES BETWEEN 2.0.4 and 2.0.3
-
- - Fixed a rather annoying bug that was introduced in 2.0.3. Namely, the
- font transformation set through FT_Set_Transform was applied twice to
- auto-hinted glyphs, resulting in incorrectly rotated text output.
-
- - Fixed _many_ compiler warnings. FT2 should now compile cleanly with
- Visual C++'s most pedantic warning level (/W4). It already compiled
- fine with GCC and a few other compilers.
-
- - Fixed a bug that prevented the linear advance width of composite
- TrueType glyphs to be correctly returned.
-
- - Fixed the Visual C++ project files located in "builds/win32/visualc"
- (previous versions used older names of the library).
-
- - Many 32-bit constants have an "L" appended to their value, in order
- to improve the 16-bitness of the code. Someone is actually trying to
- use FT2 on an Atari ST machine!
-
- - Updated the "builds/detect.mk" file in order to automatically build
- FT2 on AIX systems. AIX uses "/usr/sbin/init" instead of "/sbin/init"
- and wasn't previously detected as a Unix platform by the FreeType build
- system.
-
- - Updated the Unix-specific portions of the build system (new libtool
- version, etc.).
-
- - The SFNT kerning lodaer now ensures that the table is sorted (since some
- problem fonts do not meet this requirement).
-
-============================================================================
-
-LATEST CHANGES BETWEEN 2.0.3 and 2.0.2
-
- I. CHANGES TO THE MODULES / FONT DRIVERS
-
- - THE AUTO-HINTER HAS BEEN SLIGHTLY IMPROVED, in order to fix several
- annoying artefacts, mainly:
-
- - Blue zone alignement of horizontal stems wasn't performed
- correctly, resulting in artefacts like the "d" being placed one
- pixel below the "b" in some fonts like Time New Roman.
-
- - Overshoot thresholding wasn't performed correctly, creating
- unpleasant artefacts at large character pixel sizes.
-
- - Composite glyph loading has been simplified. This gets rid
- of various artefacts where the components of a composite glyphs
- were not correctly spaced.
-
- These are the last changes to the current auto-hinting module. A new
- hinting sub-system is currently in the work in order to support native
- hints in Type 1 / CFF / OpenType fonts, as well as globally improve
- rendering.
-
- - The PCF driver has been fixed. It reported invalid glyph dimensions
- for the fonts available on Solaris.
-
- - The Type 1, CID and CFF drivers have been modified to fix the
- computation of the EM size.
-
- - The Type 1 driver has been fixed to avoid a dangerous bug that
- crashed the library with non-conforming fonts (i.e. ones that do not
- place the .notdef glyph at position 0).
-
- - The TrueType driver had a rather subtle bug (dangling pointer when
- loading composite glyphs) that could crash the library in rare
- occasions!
-
-
- II. HIGH-LEVEL API CHANGES
-
- - The error code enumeration values have been changed. An error value
- is decomposed in a generic error code, and a module number. see
- for details.
-
- - A new public header file has been introduced, named FT_TRIGONOMETRY_H
- (include/freetype/fttrig.h), providing trigonometric functions to
- compute sines, cosines, arctangents, etc. with 16.16 fixed precision.
- The implementation is based on the CORDIC algorithm and is very fast
- while being sufficiently accurate.
-
-
- III. INTERNALS
-
- - Added BeOS-specific files in the old build sub-system. Note that
- no changes were required to compile the library with Jam.
-
- - The configuration is now capable of automatically detecting 64-bit
- integers on a set of predefined compilers (GCC, Visual C++, Borland
- C++) and will use them by default. This provides a small performance
- boost.
-
- - A small memory leak that happened when opening 0-sized files (duh!)
- have been fixed.
-
- - Fixed bezier stack depth bug in the routines provided by the
- FT_BBOX_H header file. Also fixed similar bugs in the rasterizers.
-
- - The outline bounding box code has been rewritten to use direct
- computations, instead of bezier sub-division, to compute the exact
- bounding box of glyphs. This is slightly slower but more accurate.
-
- - The build system has been improved and fixed, mainly to support "make"
- on Windows 2000 correctly, avoid problems with "make distclean" on non
- Unix systems, etc.
-
- - Hexadecimal constants have been suffixed with "U" to avoid problems
- with certain compilers on 64-bit platforms.
-
- - A new directory named "src/tools" has been created. It contains
- Python scripts and simple unit test programs used to develop the
- library.
-
- - The DocMaker tool has been moved from "docs" to "src/tools" and
- has been updated with the following:
-
- - Now accepts the "--title=XXXX" or "-t XXXX" option from the
- command line to set the project's name in the generated API
- reference.
-
- - Now accepts the "--output=DIR" or "-o DIR" option from the
- command line to set the output directory for all generated HTML
- files.
-
- - Now accepts the "--prefix=XXXX" or "-p XXX" option from the
- command line to set the file prefix to use for all generated HTML
- files.
-
- - Now generates the current time/data on each generated page
- in order to distinguish between versions.
-
- DocMaker can be used with other projects now, not only FT2 (e.g. MLib,
- FTLayout, etc.).
-
-===========================================================================
-
-LATEST CHANGES BETWEEN 2.0.2 and 2.0.1
-
-
- I. CHANGES TO THE MODULES / FONT DRIVERS
-
- - THE TRUETYPE BYTECODE INTERPRETER IS NOW TURNED OFF, in order to
- avoid legal problems with the Apple patents. It seems that we
- mistakenly turned this option on in previous releases of the
- build.
-
- Note that if you want to use the bytecode interpreter in order
- to get high-quality TrueType rendering, you will need to toggle
- by hand the definition of the
- TT_CONFIG_OPTION_BYTECODE_INTERPRETER macro in the file
- "include/freetype/config/ftoption.h".
-
- - The CFF driver has been improved by Tom Kacvinsky and Sander van
- der Wal:
-
- * Support for "seac" emulation.
- * Support for "dotsection".
- * Support for retrieving glyph names through
- "FT_Get_Glyph_Name".
-
- The first two items are necessary to correctly a large number of
- Type 1 fonts converted to the CFF formats by Adobe Acrobat.
-
- - The Type 1 driver was also improved by Tom & others:
-
- * Better EM size computation.
- * Better support for synthetic (transformed) fonts.
- * The Type 1 driver returns the charstrings corresponding to
- each glyph in the "glyph->control_data" field after a call to
- "FT_Load_Glyph" (thanks Ha Shao).
-
- - Various other bugfixes, including the following:
-
- * Fixed a nasty memory leak in the Type 1 driver.
- * The autohinter and the pcf driver used static writable data
- when they shouldn't.
- * Many casts were added to make the code more 64-bits safe. It
- also now compiles on Windows XP 64-bits without warnings.
- * Some incorrect writable statics were removed in the "autohint"
- and "pcf" drivers. FreeType 2 now compiles on Epoc again.
-
-
- II. CHANGES TO THE HIGH-LEVEL API
-
- - The library header files inclusion scheme has been changed. The
- old scheme looked like:
-
- #include
- #include
- #include
- #include
-
- Now you should use:
-
- #include
- #include FT_FREETYPE_H
- #include FT_GLYPH_H
- #include FT_CACHE_H
- #include FT_CACHE_IMAGE_H
-
- NOTE THAT THE OLD INCLUSION SCHEME WILL STILL WORK WITH THIS
- RELEASE. HOWEVER, WE DO NOT GUARANTEE THAT THIS WILL STILL BE
- TRUE IN THE NEXT ONE (A.K.A. FREETYPE 2.1).
-
- The file is used to define the header filename
- macros. The complete and commented list of macros is available
- in the API reference under the section name "Header File Macros"
- in Chapter I.
-
- For more information, see section I of the following document:
-
- http://www.freetype.org/
- freetype2/docs/tutorial/step1.html
-
- or
-
- http://freetype.sourceforge.net/
- freetype2/docs/tutorial/step1.html
-
- - Many, many comments have been added to the public source file in
- order to automatically generate the API Reference through the
- "docmaker.py" Python script.
-
- The latter has been updated to support the grouping of sections
- in chapters and better index sort. See:
-
- http://www.freetype.org/freetype2/docs/reference/ft2-toc.html
-
-
- III. CHANGES TO THE BUILD PROCESS
-
- - If you are not building FreeType 2 with its own build system
- (but with your own Makefiles or project files), you will need to
- be aware that the build process has changed a little bit.
-
- You don't need to put the "src" directory in the include path
- when compiling any FT2 component. Instead, simply put the
- component's directory in the current include path.
-
- So, if you were doing something like:
-
- cc -c -Iinclude -Isrc src/base/ftbase.c
-
- change the line to:
-
- cc -c -Iinclude -Isrc/base src/base/ftbase.c
-
- If you were doing something like:
-
- cd src/base
- cc -c -I../../include -I.. ftbase.c
-
- change it to:
-
- cd src/base
- cc -c -I../../include ftbase.c
-
-
-======================================================================
-
-LATEST CHANGES BETWEEN 2.0.1 and 2.0
-
- 2.0.1 introduces a few changes:
-
- - Fixed many bugs related to the support of CFF / OpenType fonts.
- These formats are now much better supported though there is
- still work planned to deal with charset tables and PDF-embedded
- CFF files that use the old "seac" command.
-
- - The library could not be compiled in debug mode with a very
- small number of C compilers whose pre-processors didn't
- implement the "##" directive correctly (i.e. per se the ANSI C
- specification!) An elegant fix was found.
-
- - Added support for the free Borland command-line C++ Builder
- compiler. Use "make setup bcc32". Also fixed a few source
- lines that generated new warnings with BCC32.
-
- - Fixed a bug in FT_Outline_Get_BBox when computing the extrema of
- a conic Bezier arc.
-
- - Updated the INSTALL file to add IDE compilation.
-
- - Other minor bug fixes, from inval

1d5b36c Clean up FreeType outsourcing leftovers
data/system/data/licenses/FTL | 174 ---
docs/freetype2/BUGS | 275 -----
docs/freetype2/BUILD | 276 -----
docs/freetype2/CHANGES | 1953 ----------------------------------
docs/freetype2/DEBUG.TXT | 162 ---
docs/freetype2/FTL.txt | 174 ---
docs/freetype2/GPL.txt | 339 ------
docs/freetype2/INSTALL | 185 ----
docs/freetype2/PATENTS | 27 -
docs/freetype2/TODO | 9 -
docs/freetype2/VERSION.DLL | 7 -
docs/freetype2/license.txt | 11 -
docs/freetype2/modules.txt | 14 -
docs/freetype2/readme.vms | 35 -
src/apps/aboutsystem/AboutSystem.cpp | 11 +-
15 files changed, 6 insertions(+), 3646 deletions(-)

Upstream: cgit.haiku-os.org


  • Share