"SfR Fresh" - the SfR Freeware/Shareware Archive

Member "freetype-2.3.7/docs/CHANGES" of archive freetype-2.3.7.tar.gz:


As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
    1 CHANGES BETWEEN 2.3.7 and 2.3.6
    2 
    3   I. IMPORTANT BUG FIXES
    4 
    5     - If the library  was compiled on an i386  platform using gcc, and
    6       compiler  option -O3 was  given, `FT_MulFix'  sometimes returned
    7       incorrect  results   which  could  have   caused  problems  with
    8       `FT_Request_Metrics'   and  `FT_Select_Metrics',   returning  an
    9       incorrect descender size.
   10 
   11     - Pure CFFs without  subfonts were scaled incorrectly  if the font
   12       matrix  was  non-standard.  This  bug  has  been  introduced  in
   13       version 2.3.6.
   14 
   15     - The  `style_name'  field  in  the  `FT_FaceRec'  structure often
   16       contained  a wrong  value for  Type 1  fonts.  This misbehaviour
   17       has been  introduced  in  version  2.3.6  while  trying  to  fix
   18       another   problem.   [Note,  however,   that   this   value   is
   19       informative only  since  the  used  algorithm to  extract  it is
   20       very simplistic.]
   21 
   22 
   23   II. IMPORTANT CHANGES
   24 
   25     - Two      new      macros,      FT_OUTLINE_SMART_DROPOUTS     and
   26       FT_OUTLINE_EXCLUDE_STUBS,  have been introduced.   Together with
   27       FT_OUTLINE_IGNORE_DROPOUTS (which  was ignored previously) it is
   28       now possible to control the dropout mode  of the `raster' module
   29       (for B&W rasterization),   using  the   `flags'  field   in  the
   30       `FT_Outline' structure.
   31 
   32     - The TrueType bytecode interpreter now passes the dropout mode to
   33       the B&W rasterizer.  This greatly increases the output for small
   34       ppem values of many fonts like `pala.ttf'.
   35 
   36 
   37 ======================================================================
   38 
   39 CHANGES BETWEEN 2.3.6 and 2.3.5
   40 
   41   I. IMPORTANT BUG FIXES
   42 
   43     - A  bunch of  potential security  problems have  been found.  All
   44       users should update.
   45 
   46     - Microsoft  Unicode  cmaps  in  TrueType  fonts  are  now  always
   47       preferred over Apple cmaps.  This is not a bug per se, but there
   48       exist some buggy  fonts created for MS which  have broken  Apple
   49       cmaps.  This affects  only the automatic  selection of FreeType;
   50       it's always possible to manually select an Apple Unicode cmap if
   51       desired.
   52 
   53     - Many bug fixes to the TrueType bytecode interpreter.
   54 
   55     - Improved Mac support.
   56 
   57     - Subsetted CID-keyed CFFs are now supported correctly.
   58 
   59     - CID-keyed CFFs with subfonts which are scaled in a  non-standard
   60       way are now handled correctly.
   61 
   62     - A call to FT_Open_Face with `face_index' < 0 crashed FreeType if
   63       the font was a Windows (bitmap) FNT/FON.
   64 
   65 
   66   II. IMPORTANT CHANGES
   67 
   68     - The new function `FT_Get_CID_Registry_Ordering_Supplement' gives
   69       access to  those fields in a CID-keyed font.  The code  has been
   70       contributed by Derek Clegg.
   71 
   72     - George Williams  contributed  code  to validate  the new  `MATH'
   73       OpenType  table (within  the `otvalid'  module).  The  `ftvalid'
   74       demo program has been extended accordingly.
   75 
   76     - An API for cmap 14 support  (for Unicode Variant Selectors, UVS)
   77       has been contributed by George Williams.
   78 
   79     - A new face flag FT_FACE_FLAG_CID_KEYED has been added,  together
   80       with a macro FT_IS_CID_KEYED which evaluates to 1 if the font is
   81       CID-keyed.
   82 
   83 
   84   III. MISCELLANEOUS
   85 
   86     - Build support for symbian has been contributed.
   87 
   88     - Better WGL4 glyph name support, contributed by Sergey Tolstov.
   89 
   90     - Debugging output of the  various FT_TRACEX macros is now sent to
   91       stderr.
   92 
   93     - The `ftview' demo program now provides artificial slanting too.
   94 
   95     - The `ftvalid' demo  program has a new  option `-f' to select the
   96       font index.
   97 
   98 
   99 ======================================================================
  100 
  101 CHANGES BETWEEN 2.3.5 and 2.3.4
  102 
  103   I. IMPORTANT BUG FIXES
  104 
  105     - Some subglyphs in TrueType fonts were handled incorrectly due to
  106       a missing graphics state reinitialization.
  107 
  108     - Large .Z files  (as distributed with some X11  packages) weren't
  109       handled correctly, making FreeType increase the heap stack in an
  110       endless loop.
  111 
  112     - A large  number of  bugs have  been fixed  to avoid  crashes and
  113       endless loops with invalid fonts.
  114 
  115 
  116   II. IMPORTANT CHANGES
  117 
  118     - The  two new  cache functions  `FTC_ImageCache_LookupScaler' and
  119       `FTC_SBit_Cache_LookupScaler' have been added to allow lookup of
  120       glyphs using an  `FTC_Scaler' object;  this makes it possible to
  121       use fractional pixel sizes in the cache.  The demo programs have
  122       been updated accordingly to use this feature.
  123 
  124     - A new API  `FT_Get_CMap_Format' has been added to  get the  cmap
  125       format  of a  TrueType font.   This  is useful  in handling  PDF
  126       files.  The code has been contributed by Derek Clegg.
  127 
  128     - The  auto-hinter  now  produces  better  output  by  default for
  129       non-Latin scripts  like Indic.   This was done by  using the CJK
  130       hinting module  as the default instead of the Latin one.  Thanks
  131       to Rahul Bhalerao for this suggestion.
  132 
  133     - A new API `FT_Face_CheckTrueTypePatents'  has been added to find
  134       out  whether  a  given  TrueType  font  uses  patented  bytecode
  135       instructions.   The  `ft2demos' bundle  contains a  new  program
  136       called `ftpatchk' which demonstrates its usage.
  137 
  138     - A  new  API  `FT_Face_SetUnpatentedHinting'  has  been  added to
  139       enable or disable the unpatented hinter.
  140 
  141     - Support for Windows FON files in PE format  has been contributed
  142       by Dmitry Timoshkov.
  143 
  144 
  145   III. MISCELLANEOUS
  146 
  147     - Vincent Richomme contributed Visual C++ project files for Pocket
  148       PCs.
  149 
  150 
  151 ======================================================================
  152 
  153 CHANGES BETWEEN 2.3.4 and 2.3.3
  154 
  155   I. IMPORTANT BUG FIXES
  156 
  157     - A serious  bug  in  the  handling  of bitmap  fonts (and  bitmap
  158       strikes of outline fonts) has been introduced in 2.3.3.
  159 
  160 
  161 ======================================================================
  162 
  163 CHANGES BETWEEN 2.3.3 and 2.3.2
  164 
  165   I. IMPORTANT BUG FIXES
  166 
  167     - Remove a serious regression in the TrueType bytecode interpreter
  168       that was introduced  in version 2.3.2.  Note that  this does not
  169       disable  the  improvements  introduced  to  the  interpreter  in
  170       version 2.3.2,  only some ill  cases that occurred  with certain
  171       fonts (though a few popular ones).
  172 
  173     - The auto-hinter now  ignores single-point contours for computing
  174       blue zones.   This bug  created `wavy' baselines  when rendering
  175       text  with  various  fonts  that  use these  contours  to  model
  176       mark-attach points  (these are points that  are never rasterized
  177       and are placed outside of the glyph's real outline).
  178 
  179     - The `rsb_delta' and `lsb_delta' glyph slot fields are now set to
  180       zero for mono-spaced fonts.  Otherwise code that uses them would
  181       essentially ruin the fixed-advance property.
  182 
  183     - Fix  CVE-2007-1351 which  can  cause an  integer overflow  while
  184       parsing  BDF fonts,  leading to  a potentially  exploitable heap
  185       overflow condition.
  186 
  187 
  188   II. MISCELLANEOUS
  189 
  190     - Fixed compilation issues on some 64-bit platforms (see ChangeLog
  191       for details).
  192 
  193     - A new demo  program `ftdiff' has been added  to compare TrueType
  194       hinting, FreeType's auto  hinting, and rendering without hinting
  195       in three columns.
  196 
  197 
  198 ======================================================================
  199 
  200 CHANGES BETWEEN 2.3.2 and 2.3.1
  201 
  202   I. IMPORTANT BUG FIXES
  203 
  204     - FreeType  returned incorrect  kerning information  from TrueType
  205       fonts when the bytecode  interpreter was enabled.  This happened
  206       due to a typo introduced in version 2.3.0.
  207 
  208     - Negative  kerning  values  from   PFM  files  are  now  reported
  209       correctly  (they were read  as 16-bit  unsigned values  from the
  210       file).
  211 
  212     - Fixed  a small  memory leak  when `FT_Init_FreeType'  failed for
  213       some reason.
  214 
  215     - The Postscript hinter placed and sized very thin and ghost stems
  216       incorrectly.
  217 
  218     - The TrueType bytecode  interpreter has been fixed to  get rid of
  219       most of the  rare differences seen in comparison  to the Windows
  220       font loader.
  221 
  222 
  223   II. IMPORTANT CHANGES
  224 
  225     - The auto-hinter  now better deals  with serifs and  corner cases
  226       (e.g.,  glyph '9'  in Arial  at 9pt,  96dpi).  It  also improves
  227       spacing  adjustments and doesn't  change widths  for non-spacing
  228       glyphs.
  229 
  230     - Many   Mac-specific   functions   are  deprecated   (but   still
  231       available);  modern replacements  have been  provided  for them.
  232       See the documentation in file `ftmac.h'.
  233 
  234 
  235 ======================================================================
  236 
  237 CHANGES BETWEEN 2.3.1 and 2.3.0
  238 
  239   I. IMPORTANT BUG FIXES
  240 
  241     - The TrueType interpreter sometimes returned incorrect horizontal
  242       metrics due to a bug in the handling of the SHZ instruction.
  243 
  244     - A typo  in  a  security  check  introduced  after  version 2.2.1
  245       prevented FreeType to render some glyphs in CFF fonts.
  246 
  247 
  248 ======================================================================
  249 
  250 CHANGES BETWEEN 2.3.0 and 2.2.1
  251 
  252   I. IMPORTANT BUG FIXES
  253 
  254     - The  PCF font  loader  is  now much  more  robust while  loading
  255       malformed font files.
  256 
  257     - Various memory leaks have been found and fixed.
  258 
  259     - The TrueType name loader now deals properly with some fonts that
  260       encode their  names in UTF-16 (the specification  was vague, and
  261       the code incorrectly assumed UCS-4).
  262 
  263     - Fixed the TrueType bytecode  loader to deal properly with subtle
  264       monochrome/gray  issues  when   scaling  the  CVT.   Some  fonts
  265       exhibited bad rendering artifacts otherwise.
  266 
  267     - `FT_GlyphSlot_Embolden' now  supports vertical layouts correctly
  268       (it mangled the vertical advance height).
  269 
  270     - Fixed byte  endian issues  of `ftmac.c' to  support Mac OS  X on
  271       i386.
  272 
  273     - The  PFR  font loader  no  longer  erroneously  tags font  files
  274       without any outlines as FT_FACE_FLAG_SCALABLE.
  275 
  276 
  277   II. NEW API FUNCTIONS
  278 
  279     - `FT_Library_SetLcdFilter' allows you  to select a special filter
  280       to be  applied to the bitmaps generated  by `FT_Render_Glyph' if
  281       one of the FT_RENDER_MODE_LCD and FT_RENDER_MODE_LCD_V modes has
  282       been  selected.  This filter  is used  to reduce  color fringes;
  283       several  settings are  available  through the  FT_LCD_FILTER_XXX
  284       enumeration.
  285 
  286       Its  declaration   and  documentation  can  be   found  in  file
  287       `include/freetype/ftlcdfil.h'   (to  be   accessed   with  macro
  288       FT_LCD_FILTER_H).
  289 
  290       *IMPORTANT*:     This      function     returns     an     error
  291       (FT_Err_Unimplemented_Feature) in default  builds of the library
  292       for patent reasons.  See below.
  293 
  294     - `FT_Get_Gasp'  allows you  to query  the flags  of  the TrueType
  295       `gasp' table for  a given character pixel size.   This is useful
  296       to duplicate  the text rendering  of MS Windows when  the native
  297       bytecode  interpreter is  enabled (which  isn't the  default for
  298       other patent reasons).
  299 
  300       Its  declaration   and  documentation  can  be   found  in  file
  301       `include/freetype/ftgasp.h'   (to   be   accessed   with   macro
  302       FT_GASP_H).
  303 
  304 
  305   III. IMPORTANT CHANGES
  306 
  307     - The auto-hinter has been tuned a lot to improve its results with
  308       serif fonts, resulting in much better font rendering of many web
  309       pages.
  310 
  311     - The unpatented  hinter is now part  of the default  build of the
  312       library; we  have added  code to automatically  support `tricky'
  313       fonts that need it.
  314 
  315       This means  that FreeType should `just work'  with certain Asian
  316       fonts, like  MingLiU, which cannot properly be  loaded without a
  317       bytecode interpreter,  but which fortunately  do not use  any of
  318       the patented  bytecode opcodes.  We detect these  fonts by name,
  319       so please  report any font file  that doesn't seem  to work with
  320       FreeType, and  we shall do what we  can to support it  in a next
  321       release.
  322 
  323       Note  that  the API  hasn't  changed,  so  you can  still  force
  324       unpatented hinting with a special parameter to `FT_Open_Face' as
  325       well.  This  might be useful in  same cases; for  example, a PDF
  326       reader might present  a user option to activate  it to deal with
  327       certain  `tricky'   embedded  fonts  which   cannot  be  clearly
  328       identified.
  329 
  330       If you are  a developer for embedded systems,  you might want to
  331       *disable*  the   feature  to  save  code   space  by  undefining
  332       TT_CONFIG_OPTION_UNPATENTED_HINTING in file `ftoption.h'.
  333 
  334     - LCD-optimized rendering is now  *disabled* in all default builds
  335       of  the  library,  mainly   due  to  patent  issues.   For  more
  336       information see:
  337 
  338       http://lists.gnu.org/archive/html/freetype/2006-09/msg00064.html
  339 
  340       A  new  configuration macro  FT_CONFIG_OPTION_SUBPIXEL_RENDERING
  341       has been introduced in  `ftoption.h'; manually define it in this
  342       file if you want to re-enable the feature.
  343 
  344       The  change only  affects the  implementation, not  the FreeType
  345       API.  This means that clients don't need to be modified, because
  346       the library still generates  LCD decimated bitmaps, but with the
  347       added constraint that R=G=B on each triplet.
  348 
  349       The  displayed result  should  be equal  to normal  anti-aliased
  350       rendering.
  351 
  352       Additionally,  if   FT_CONFIG_OPTION_SUBPIXEL_RENDERING  is  not
  353       defined, the new  `FT_Library_SetLcdFilter' function returns the
  354       FT_Err_Unimplemented_Feature error code.
  355 
  356     - Some computation bugs in  the TrueType bytecode interpreter were
  357       found,  which  allow us  to  get rid  of  very  subtle and  rare
  358       differences we had experienced with the Windows renderer.
  359 
  360     - It is now possible to cross-compile the library easily.  See the
  361       file `docs/INSTALL.CROSS' for details.
  362 
  363     - The file `src/base/ftmac.c' now contains code for Mac OS X only;
  364       its  deprecated function  `FT_GetFile_From_Mac_Font_Name' always
  365       returns an  error even if the QuickDraw  framework is available.
  366       The previous version has been moved to `builds/mac/ftmac.c'.
  367 
  368       Selecting  configure option `--with-quickdraw-carbon'  makes the
  369       build process use the original `ftmac.c' file instead of the Mac
  370       OS X-only version.
  371 
  372 
  373   IV. MISCELLANEOUS
  374 
  375     - Various performance and memory footprint optimizations have been
  376       performed on  the TrueType and CFF font  loaders, sometimes with
  377       very drastic  benefits (e.g., the  TrueType loader is  now about
  378       25% faster;  FreeType should use  less heap memory  under nearly
  379       all conditions).
  380 
  381     - The anti-aliased rasterizer has been optimized and is now 15% to
  382       25%  percent  faster than  in  previous  versions, depending  on
  383       content.
  384 
  385     - The Type 1 loader has been improved; as an example, it now skips
  386       top-level dictionaries properly.
  387 
  388     - Better support for Mac  fonts on POSIX systems, plus compilation
  389       fixes for Mac OS X on ppc64 where `ftmac.c' cannot be built.
  390 
  391     - Configuration  without `--with-old-mac-fonts'  does  not include
  392       `ftmac.c' (this was the behaviour in FreeType version 2.1.10).
  393 
  394     - The TrueTypeGX validator (gxvalid) checks the order of glyph IDs
  395       in the kern table.
  396 
  397 
  398 ======================================================================
  399 
  400 CHANGES BETWEEN 2.2.1 and 2.2
  401 
  402   I. IMPORTANT BUG FIXES
  403 
  404     - Various integer overflows have been fixed.
  405 
  406     - PFB fonts with MacOS resource fork weren't  handled correctly on
  407       non-MacOS platforms.
  408 
  409 
  410 ======================================================================
  411 
  412 CHANGES BETWEEN 2.2 and 2.1.10
  413 
  414 (not released officially)
  415 
  416   I. IMPORTANT BUG FIXES
  417 
  418     - Vertical metrics for SFNT fonts were incorrect sometimes.
  419 
  420     - The FT_HAS_KERNING macro always returned 0.
  421 
  422     - CFF OpenType  fonts didn't  return correct vertical  metrics for
  423       glyphs with outlines.
  424 
  425     - If FreeType was compiled without hinters, all font formats based
  426       on PS outlines weren't scaled correctly.
  427 
  428 
  429   II. IMPORTANT CHANGES
  430 
  431     - Version 2.2 no longer exposes its internals, this is, the header
  432       files  located in  the `include/freetype/internal'  directory of
  433       the source package are not  copied anymore by the `make install'
  434       command.  Consequently, a number of rogue clients which directly
  435       access  FreeType's  internal   functions  and  structures  won't
  436       compile without modification.
  437 
  438       We provide  patches for  most of those  rogue clients.   See the
  439       following page for more information:
  440 
  441         http://www.freetype.org/freetype2/patches/rogue-patches.html
  442 
  443       Note that, as  a convenience to our Unix  desktop users, version
  444       2.2 is *binary* compatible with FreeType 2.1.7, which means that
  445       installing this  release on  an existing distribution  shall not
  446       break any working desktop.
  447 
  448     - FreeType's build  mechanism has been redesigned.   With GNU make
  449       it  is  now  sufficient  in   most  cases  to  edit  two  files:
  450       `modules.cfg',  to  select   the  library  components,  and  the
  451       configuration  file  `include/freetype/config/ftoption.h' (which
  452       can be copied to the objects directory).  Removing unused module
  453       directories   to    prevent   its   compilation    and   editing
  454       `include/freetype/config/ftmodule.h' is no longer necessary.
  455 
  456     - The  LIGHT  hinting algorithm  produces  more pleasant  results.
  457       Also, using the  FT_LOAD_TARGET_LIGHT flags within FT_Load_Glyph
  458       always forces auto-hinting, as a special exception.  This allows
  459       you to experiment with it  even if you have enabled the TrueType
  460       bytecode interpreter in your build.
  461 
  462     - The auto hinter now employs a new algorithm for CJK fonts, based
  463       on Akito  Hirai's patch.   Note that this  only works  for fonts
  464       with a Unicode charmap at the moment.
  465 
  466     - The following callback function  types have changed slightly (by
  467       adding the `const' keyword where appropriate):
  468 
  469         FT_Outline_MoveToFunc
  470         FT_Outline_LineToFunc
  471         FT_Outline_ConicToFunc
  472         FT_Outline_CubicToFunc
  473         FT_SpanFunc
  474         FT_Raster_RenderFunc
  475 
  476         FT_Glyph_TransformFunc
  477         FT_Renderer_RenderFunc
  478         FT_Renderer_TransformFunc
  479 
  480       Note that this doesn't affect binary backward compatibility.
  481 
  482     - On MacOS,  new APIs have  been added as replacements  for legacy
  483       APIs:  `FT_New_Face_From_FSRef'  for  `FT_New_Face_From_FSSpec',
  484       and              `FT_GetFile_From_Mac_ATS_Name'              for
  485       `FT_GetFile_From_Mac_Name'.  Legacy APIs are still available, if
  486       FreeType is built without disabling them.
  487 
  488     - A new  API `FT_Select_Size'  has been added  to select  a bitmap
  489       strike  by its  index.   Code using  other  functions to  select
  490       bitmap strikes should be updated to use this function.
  491 
  492     - A  new API  `FT_Get_SubGlyph_Info'  has been  added to  retrieve
  493       subglyph data.  This can be  used by rogue clients which used to
  494       access the internal headers to get the corresponding data.
  495 
  496     - In 2.1.10, the behaviour of `FT_Set_Pixel_Sizes' was changed for
  497       BDF/PCF fonts,  and only  for them.  This  causes inconsistency.
  498       In this release,  we undo the change.  The  intent of the change
  499       in 2.1.10  is to allow  size selection through  real dimensions,
  500       which can now be done through `FT_Request_Size'.
  501 
  502     - Some security  issues were discovered  and fixed in the  CFF and
  503       Type  1 loader, causing  crashes of  FreeType by  malformed font
  504       files.
  505 
  506 
  507   III. MISCELLANEOUS
  508 
  509     - The documentation  for FT_LOAD_TARGET_XXX and FT_RENDER_MODE_XXX
  510       values now better reflects its usage and differences: One set is
  511       used to specify the hinting algorithm, the other to specify  the
  512       pixel rendering mode.
  513 
  514     - `FT_New_Face' and `FT_New_Face_From_FSSpec' in ftmac.c have been
  515       changed to count supported scalable faces (sfnt, LWFN) only, and
  516       to  return the  number of  available faces  via face->num_faces.
  517       Unsupported bitmap faces (fbit, NFNT) are ignored.
  518 
  519     - builds/unix/configure  has been  improved for  MacOS X.   It now
  520       automatically checks available  functions in Carbon library, and
  521       prepare to use newest  functions by default.  Options to specify
  522       the  dependencies of  each Carbon  APIs (FSSpec,  FSRef, old/new
  523       QuickDraw, ATS)  are available too.  By manual  disabling of all
  524       QuickDraw   functionality,  FreeType   can   be  built   without
  525       `deprecated   function'   warnings    on   MacOS   10.4.x,   but
  526       FT_GetFile_Mac_Name  in  ftmac.c  then  is changed  to  a  dummy
  527       function, and returns an `unimplemented' error.  For details see
  528       builds/mac/README.
  529 
  530     - SFNT cmap handling has been  improved, mainly to run much faster
  531       with CJK fonts.
  532 
  533     - A   new  function   `FT_Get_TrueType_Engine_Type   (declared  in
  534       `FT_MODULE_H')  is  provided  to  determine the  status  of  the
  535       TrueType   bytecode  interpreter   compiled  into   the  library
  536       (patented, unpatented, unimplemented).
  537 
  538     - Vertical metrics of glyphs are  synthesized if the font does not
  539       provide such information.  You can tell whether  the metrics are
  540       synthesized or not by checking the FT_FACE_FLAG_VERTICAL flag of
  541       the face.
  542 
  543     - The demo programs  `ftview' and  `ftstring' have been  rewritten
  544       for better readability.   `ftview' has a new switch `-p' to test
  545       FT_New_Memory_Face (instead of FT_New_Face).
  546 
  547     - FreeType now honours bit 1 in the `head' table of TrueType fonts
  548       (meaning `left sidebearing point at x=0').  This helps with some
  549       buggy fonts.
  550 
  551     - Rudimentary support for Adobe's new `SING Glyphlet' format.  See
  552 
  553         http://www.adobe.com/products/indesign/sing_gaiji.html
  554 
  555       for more information.
  556 
  557     - The `ftdump'  program from the `ft2demos' bundle  now shows some
  558       information about charmaps.  It  also supports a new switch `-v'
  559       to increase verbosity.
  560 
  561     - Better AFM support.  This includes track kerning support.
  562 
  563 
  564 ======================================================================
  565 
  566 CHANGES BETWEEN 2.1.10 and 2.1.9
  567 
  568   I. IMPORTANT BUG FIXES
  569 
  570     - The size comparison for BDF and PCF files could fail sometimes.
  571 
  572     - Some  CFF files  were still not  loaded  correctly.   Patch from
  573       Derek Noonburg.
  574 
  575     - The stroker still had some serious bugs.
  576 
  577     - Boris  Letocha  fixed a  bug in  the  TrueType interpreter:  The
  578       NPUSHW instruction wasn't skipped correctly in IF clauses.  Some
  579       fonts like `Helvetica 75 Bold' failed.
  580 
  581     - Another  serious  bug  in  handling  TrueType hints  caused many
  582       distortions.  It has been introduced in version 2.1.8, and it is
  583       highly recommended to upgrade.
  584 
  585     - FreeType didn't properly parse empty Type 1 glyphs.
  586 
  587     - An unbound dynamic buffer growth was fixed in the PFR loader.
  588 
  589     - Several bugs have been fixed in the cache sub-system.
  590 
  591     - FreeType behaved incorrectly when resizing two distinct but very
  592       close character pixel sizes through `FT_Set_Char_Size' (Savannah
  593       bug #12263).
  594 
  595     - The auto-hinter didn't work properly for fonts without a Unicode
  596       charmap -- it even refused to load the glyphs.
  597 
  598 
  599   II. IMPORTANT CHANGES
  600 
  601     - Many fixes have been applied to drastically reduce the amount of
  602       heap   memory   used   by   FreeType,   especially   when  using
  603       memory-mapped font files  (which is the default on Unix  systems
  604       which support them).
  605 
  606     - The auto-hinter  has been replaced with a new module, called the
  607       `auto-fitter'.  It consumes  less memory  than its  predecessor,
  608       and it is  prepared to support non-latin scripts  better in next
  609       releases.
  610 
  611     - George Williams  contributed code to read  kerning data from PFM
  612       files.
  613 
  614     - FreeType   now   uses    the   TT_NAME_ID_PREFERRED_FAMILY   and
  615       TT_NAME_ID_PREFERRED_SUBFAMILY   strings   (if   available)  for
  616       setting  family  and  style in SFNT  fonts  (patch from Kornfeld
  617       Eliyahu Peter).
  618 
  619     - A  new  API `FT_Sfnt_Table_Info'  (in FT_TRUETYPE_TABLES_H)  has
  620       been added to retrieve name and size information of SFNT tables.
  621 
  622     - A new API `FT_OpenType_Validate' (in FT_OPENTYPE_VALIDATE_H) has
  623       been added to validate OpenType tables  (BASE, GDEF, GPOS, GSUB,
  624       JSTF).   After validation  it is  no longer  necessary to  check
  625       for errors in those tables while accessing them.
  626 
  627       Note that  this module might  be moved to another library in the
  628       future  to avoid  a tight  dependency between  FreeType and  the
  629       OpenType specification.
  630 
  631     - A new API in FT_BITMAP_H  (`FT_Bitmap_New', `FT_Bitmap_Convert',
  632       `FT_Bitmap_Copy',  `FT_Bitmap_Embolden',  `FT_Bitmap_Done')  has
  633       been added.   Its  use is  to convert an  FT_Bitmap structure in
  634       1bpp, 2bpp,  4bpp, or 8bpp  format into  another 8bpp FT_Bitmap,
  635       probably using a different pitch, and to further manipulate it.
  636 
  637     - A new  API `FT_Outline_Embolden'  (in FT_OUTLINE_H) gives  finer
  638       control how  outlines are embolded.
  639 
  640     - `FT_GlyphSlot_Embolden' (in FT_SYNTHESIS_H)  now handles bitmaps
  641       also (code contributed  by Chia I Wu).  Note that this  function
  642       is still experimental and may be replaced with a better API.
  643 
  644     - The method  how BDF and PCF  bitmap fonts  are accessed has been
  645       refined.   Formerly,   FT_Set_Pixel_Sizes  and  FT_Set_Char_Size
  646       were  synonyms in  FreeType's  BDF and PCF interface.  This  has
  647       changed now.  FT_Set_Pixel_Sizes  should be  used to  select the
  648       actual  font dimensions  (the `strike',  which is the sum of the
  649       `FONT_ASCENT'    and    `FONT_DESCENT'    properties),     while
  650       FT_Set_Char_Size  selects  the  `nominal' size  (the `PIXELSIZE'
  651       property).  In both functions, the width parameter is ignored.
  652 
  653 
  654   III. MISCELLANEOUS
  655 
  656     - The BDF driver  no longer converts  all returned bitmaps  with a
  657       depth of 2bpp or 4bpp to a depth of 8bpp.  The documentation has
  658       not  mentioned  this  explicitly,  but  implementors  might have
  659       relied on this after looking into the source files.
  660 
  661     - A new option `--ftversion' has been  added to freetype-config to
  662       return the FreeType version.
  663 
  664     - The  memory  debugger  has  been  updated   to  dump  allocation
  665       statistics on  all allocation  sources in the library.   This is
  666       useful to  spot greedy  allocations when  loading and processing
  667       fonts.
  668 
  669     - We removed a huge array of constant pointers to constant strings
  670       in the `psnames' module.   The problem was that  compilations in
  671       PIC mode (i.e.,  when generating a  Unix shared object/dll)  put
  672       the array  into the non-shared  writable section of  the library
  673       since absolute pointers are not relocatable by nature.
  674 
  675       This reduces the memory consumption by approximately 16KByte per
  676       process linked  to FreeType.   We now also store  the array in a
  677       compressed form (as a trie) which saves about 20KByte of code as
  678       well.
  679 
  680     - Kirill  Smelkov provided  patches to make  src/raster/ftraster.c
  681       compile stand-alone again.
  682 
  683 
  684 ======================================================================
  685 
  686 CHANGES BETWEEN 2.1.9 and 2.1.8
  687 
  688   I. IMPORTANT BUG FIXES
  689 
  690     - The function  `FT_Get_CharMap_Index' was only declared,  without
  691       any  real  code.   For  consistency,  it  has  been  renamed  to
  692       `FT_Get_Charmap_Index'.   (This function is needed  to implement
  693       cmap caches.)
  694 
  695     - `FT_Outline_Get_BBox'  sometimes returned  incorrect values  for
  696       conic outlines (e.g., for TrueType fonts).
  697 
  698     - Handling of `bhed' table has been fixed.
  699 
  700     - The TrueType driver with enabled byte code interpreter sometimes
  701       returned artifacts due to incorrect rounding.  This bug has been
  702       introduced after version 2.1.4.
  703 
  704     - The BDF driver dropped the last glyph in the font.
  705 
  706     - The BDF driver now uses the DEFAULT_CHAR property (if available)
  707       to select a glyph shape for the undefined glyph.
  708 
  709     - The stroker failed for closed outlines and single points.
  710 
  711 
  712   II. IMPORTANT CHANGES
  713 
  714     - George  Williams   contributed  code  to   handle  Apple's  font
  715       distortion technology found in GX fonts (`avar', `cvar', `fvar',
  716       and `gvar' tables;  the Multiple Masters  API has been  slightly
  717       extended to cope with the new functionality).
  718 
  719     - The `FT_GlyphSlotRec' structure has been extended:  The elements
  720       `lsb_delta' and  `rsb_delta' give the difference  between hinted
  721       and  unhinted  left and right  side bearings  if autohinting  is
  722       active.  Using those values can improve the inter-letter spacing
  723       considerably.   See the documentation of  `FT_GlyphSlotRec'  and
  724       the `ftstring' demo program how to use it.
  725 
  726     - Loading TrueType and Type 1 fonts has been made much faster.
  727 
  728     - The stroker is  no longer experimental (but the  cache subsystem
  729       still is).
  730 
  731 
  732   III. MISCELLANEOUS
  733 
  734     - A new  documentation file  `formats.txt' describes various  font
  735       formats supported (and not supported) by FreeType.
  736 
  737 
  738 ======================================================================
  739 
  740 CHANGES BETWEEN 2.1.8 and 2.1.7
  741 
  742   I. IMPORTANT BUG FIXES
  743 
  744     - The native  TrueType hinter contained some  bugs which prevented
  745       some fonts to be rendered correctly, most notably Legendum.otf.
  746 
  747     - The PostScript hinter now produces improved results.
  748 
  749     - The  linear advance  width  and height  values were  incorrectly
  750       rounded,  making  them virtually  unusable  if  not loaded  with
  751       FT_LOAD_LINEAR_DESIGN.
  752 
  753     - Indexing CID-keyed CFF fonts is  now working: The glyph index is
  754       correctly  treated as a  CID, similar  to FreeType's  CID driver
  755       module.  Note that CID CMap support is still missing.
  756 
  757     - The FT_FACE_FLAGS_GLYPH_NAMES flag is now  set correctly for all
  758       font formats.
  759 
  760     - Some subsetted Type 1  fonts weren't parsed correctly.  This bug
  761       has been introduced in 2.1.7.  In summary, the Type 1 parser has
  762       become more robust.
  763 
  764     - Non-decimal numbers weren't parsed correctly in PS fonts.
  765 
  766     - The WinFNT driver now correctly reports FT_ENCODING_NONE for all
  767       but one encoding.  Use  the new FT_WinFNT_ID_XXX values together
  768       with `FT_Get_WinFNT_Header' to get the WinFNT charset ID.
  769 
  770     - The descender metrics (face->size->metrics.descender) for WinFNT
  771       bitmap fonts had the wrong sign.
  772 
  773     - The (emulated) `seac' support for CFF fonts was broken.
  774 
  775     - The `flex' operator didn't work for CFF fonts.
  776 
  777     - PS glyphs  which  use  the   `hintmask'  operator  haven't  been
  778       rendered correctly in some cases.
  779 
  780     - Metrics for BDF and PCF bitmap font formats have been fixed.
  781 
  782     - Autohinting  is now  disabled for  glyphs  which  are vertically
  783       distorted  or mirrored  (using a  transformation matrix).   This
  784       fixes a bug which produced zero-height glyphs.
  785 
  786     - The   `freetype-config'   script   now  handles   --prefix   and
  787       --exec-prefix correctly; it also  returns the proper --rpath (or
  788       -R) value if FreeType has been built as a shared library.
  789 
  790 
  791   II. IMPORTANT CHANGES
  792 
  793     - Both  PCF  and BDF  drivers  now  handle  the SETWIDTH_NAME  and
  794       ADD_STYLE_NAME    properties.     Values    are   appended    to
  795       face->style_name; example: `Bold SemiCondensed'.
  796 
  797     - The PCF driver now handles bitmap  fonts compressed with the LZW
  798       algorithm (extension .pcf.Z, compressed with `compress').
  799 
  800     - A  new  API   function  `FT_Get_CMap_Language_ID'  (declared  in
  801       `tttables.h')  is  available  to   get  the  language  ID  of  a
  802       TrueType/SFNT cmap.
  803 
  804     - The hexadecimal format of  data after the `StartData' command in
  805       CID-keyed Type 1 fonts is now supported.  While this can't occur
  806       in  file-based   fonts,  it  can   happen  in  document-embedded
  807       resources of PostScript documents.
  808 
  809     - Embedded bitmaps in SFNT-based CFF fonts are now supported.
  810 
  811     - A simple  API is  now available  to control  FreeType's  tracing
  812       mechanism if compiled  with FT_DEBUG_LEVEL_TRACE.   See the file
  813       `ftdebug.h' for more details.
  814 
  815     - YAMATO Masatake contributed improved  handling of MacOS resource
  816       forks on non-MacOS platforms (for example, Linux can mount MacOS
  817       file systems).
  818 
  819     - Support for MacOS has been improved; there is now a new function
  820       `FT_New_Face_From_FSSpec'  similar to `FT_New_Face'  except that
  821       it accepts an FSSpec instead of a path.
  822 
  823     - The cache sub-system has been rewritten.
  824 
  825       - There is now support for deinstallation of faces.
  826 
  827       - A new  API function `FTC_Manager_RemoveFaceID'  has been added
  828         to  delete  all  `idle'  nodes  that  correspond  to  a  given
  829         FTC_FaceID.  All `locked' nodes  (i.e., those with a reference
  830         count > 0), will be modified to prevent them from appearing in
  831         further  lookups (they  will  be cleaned  normally when  their
  832         reference count reaches 0).
  833 
  834       - There  is  now  support  for point  scaling  (i.e.,  providing
  835         character sizes in points + dpis, instead of pixels).
  836 
  837       - Three abstract cache classes are now available:
  838 
  839           FTC_GCache:  Used to store  one glyph  item per  cache node,
  840                       with the ability to group common attributes into
  841                       `families'.      This    replaces     the    old
  842                       FTC_GlyphCache class.
  843 
  844           FTC_ICache: Used to store one FT_Glyph per cache node.  This
  845                       extends  FTC_GCache.  Family  definition, family
  846                       comparison, and  glyph loading are  however left
  847                       to sub-classes.
  848 
  849           FTC_SCache: Used to  store up to 16 small  bitmaps per cache
  850                       node.    This    extends   FTC_GCache.    Family
  851                       definition, family  comparison and glyph loading
  852                       are however left to sub-classes.
  853 
  854       - The file `src/cache/ftcbasic.c' implements:
  855 
  856           FTC_ImageCache: Extends    FTC_ICache;   implements   family
  857                           definitions and glyph loading similar to the
  858                           old API.
  859 
  860           FTC_SBitCache: Extends    FTC_SCache,    implements   family
  861                          definitions and glyph  loading similar to the
  862                          old API
  863 
  864         Client  applications  should  be  able to  extend  FTC_GCache,
  865         FTC_ICache, or FTC_SCache much more easily (i.e., less code to
  866         write, and  less callbacks).  For example,  one could envision
  867         caches  that are  capable of  storing  transformed (obliqued),
  868         stroked,   emboldened,   or   colored   glyph   images.    Use
  869         `ftcbasic.c' as an example.
  870 
  871       - All public  APIs are now  in `include/freetype/ftcache.h', (to
  872         be    accessed   as    `FT_CACHE_H').     The   contents    of
  873         `include/freetype/cache/' is only  needed by applications that
  874         wish to implement their own caches.
  875 
  876       - There were some major performance improvements through the use
  877         of  various programming  tricks.   Cache hits  are  up to  70%
  878         faster than in the old code.
  879 
  880       - The  FTC_CMapCache has  been simplified.  Charmaps can only be
  881         accessed by  index right now.  There  is also a  new API named
  882         `FT_Charmap_GetIndex' for this purpose.
  883 
  884       - The  demo programs  have been  updated to  the new  code.  The
  885         previous versions will not work with the current one.
  886 
  887       - Using  an invalid face  index in FT_Open_Face and friends  now
  888         causes an error even if the font contains a single face only.
  889 
  890 
  891   III. MISCELLANEOUS
  892 
  893     - Wolfgang Domröse contributed support files for building FreeType
  894       on the Atari using the PureC compiler.  Note that the Atari is a
  895       16bit platform.
  896 
  897     - Vitaliy Pasternak contributed project files for VS.NET 2003.
  898 
  899 
  900 ======================================================================
  901 
  902 CHANGES BETWEEN 2.1.7 and 2.1.6
  903 
  904   I. IMPORTANT BUG FIXES
  905 
  906     - Updated  to newest  libtool  version, fixing  build problems  on
  907       various platforms.
  908 
  909     - On  Unix  platforms,  `make  install' didn't  copy  the  correct
  910       `ftconfig.h' file.
  911 
  912   Note that version 2.1.7  contains the same library  C source code as
  913   version 2.1.6.
  914 
  915 
  916 ======================================================================
  917 
  918 CHANGES BETWEEN 2.1.6 and 2.1.5
  919 
  920   I. IMPORTANT BUG FIXES
  921 
  922     - The PFR  font driver didn't  load kerning tables  correctly, and
  923       the functions in FT_PFR_H didn't work at all.
  924 
  925     - Type 1 font  files in  binary format  (PFB) with  an end-of-file
  926       indicator weren't accepted by the FreeType engine.
  927 
  928     - Fonts which contain /PaintType  and /StrokeWidth no longer cause
  929       a segfault.  This bug has been introduced in version 2.1.5.
  930 
  931     - Fonts  loaded  with   FT_LOAD_RENDER  no  longer  cause  strange
  932       results.  This bug has been introduced in version 2.1.5.
  933 
  934     - Some  Windows   (bitmap)  FNT/FON  files   couldn't  be  handled
  935       correctly.
  936 
  937 
  938   II. IMPORTANT CHANGES
  939 
  940     - The internal  module API  has been heavily  changed in  favor of
  941       massive simplifications within the font engine.  This also means
  942       that authors of third-party modules must adapt their code to the
  943       new scheme.
  944 
  945       NOTE:  THE NEW SCHEME IS NOT COMPLETED YET.  PLEASE WAIT UNTIL A
  946       FINAL ANNOUNCEMENT!
  947 
  948     - The PostScript  parser has been enhanced to  handle comments and
  949       strings   correctly.   Additionally,   more  syntax   forms  are
  950       recognized.
  951 
  952     - Added the  optional unpatented hinting system  for TrueType.  It
  953       allows  typefaces which  need hinting  to produce  correct glyph
  954       forms (e.g., Chinese typefaces  from Dynalab) to work acceptably
  955       without infringing Apple patents.   This system is compiled only
  956       if  TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING  is  defined  in
  957       ftoption.h (activated by default).
  958 
  959 
  960   III. MISCELLANEOUS
  961 
  962     - There  is now  a guard  in the  public header  files  to protect
  963       against inclusion of freetype.h from FreeType 1.
  964 
  965     - Direct inclusion of freetype.h  and other public header files no
  966       longer works.  You have to use the documented scheme
  967 
  968         #include <ft2build.h>
  969         #include FT_FREETYPE_H
  970 
  971       to load freetype.h with  a symbolic name.  This protects against
  972       renaming  of public  header  files (which  shouldn't happen  but
  973       actually  has, avoiding two  public header  files with  the same
  974       name).
  975 
  976 
  977 ======================================================================
  978 
  979 CHANGES BETWEEN 2.1.5 and 2.1.4
  980 
  981   I. IMPORTANT BUG FIXES
  982 
  983     - Parsing the /CIDFontName field  now removes the leading slash to
  984       be in sync with other font drivers.
  985 
  986     - gzip support was buggy.  Some fonts could not be read.
  987 
  988     - Fonts which  have nested subglyphs  more than one level  deep no
  989       longer cause a segfault.
  990 
  991     - Creation of synthetic  cmaps for fonts in CFF  format was broken
  992       partially.
  993 
  994     - Numeric  font  dictionary entries  for  synthetic  fonts are  no
  995       longer overwritten.
  996 
  997     - The font matrix  wasn't applied to the advance  width for Type1,
  998       CID, and  CFF fonts.  This caused problems  when loading certain
  999       synthetic Type 1 fonts like `Helvetica Narrow'.
 1000 
 1001     - The test  for the charset registry  in BDF and PCF  fonts is now
 1002       case-insensitive.
 1003 
 1004     - FT_Vector_Rotate  sometimes  returned   strange  values  due  to
 1005       rounding errors.
 1006 
 1007     - The  PCF  driver  now  returns  the  correct  number  of  glyphs
 1008       (including an artificial `notdef' glyph at index 0).
 1009 
 1010     - FreeType now  supports buggy CMaps  which are contained  in many
 1011       CJK fonts from Dynalab.
 1012 
 1013     - Opening  an invalid  font  on a  Mac  caused a  segfault due  to
 1014       double-freeing memory.
 1015 
 1016     - BDF  fonts  with  more   than  32768  glyphs  weren't  supported
 1017       properly.
 1018 
 1019 
 1020   II. IMPORTANT CHANGES
 1021 
 1022     - Accessing bitmap font formats has been synchronized.  To do that
 1023       the FT_Bitmap_Size  structure has  been extended to  contain new
 1024       fields `size', `x_ppem', and `y_ppem'.
 1025 
 1026     - The FNT driver now returns multiple faces, not multiple strikes.
 1027 
 1028     - The `psnames'  module has been  updated to the Adobe  Glyph List
 1029       version 2.0.
 1030 
 1031     - The `psnames' module now understands `uXXXX[X[X]]' glyph names.
 1032 
 1033     - The algorithm for guessing the font style has been improved.
 1034 
 1035     - For fonts in SFNT format, root->height is no longer increased if
 1036       the line gap  is zero.  There exist fonts  (containing e.g. form
 1037       drawing  characters) which  intentionally have  a zero  line gap
 1038       value.
 1039 
 1040     - ft_glyph_bbox_xxx  flags   are  now  deprecated   in  favour  of
 1041       FT_GLYPH_BBOX_XXX.
 1042 
 1043     - ft_module_xxx   flags   are   now   deprecated  in   favour   of
 1044       FT_MODULE_XXX.
 1045 
 1046     - FT_ENCODING_MS_{SJIS,GB2312,BIG5,WANSUNG,JOHAB}      are     now
 1047       deprecated               in               favour              of
 1048       FT_ENCODING_{SJIS,GB2312,GIB5,WANSONG,JOHAB}  -- those encodings
 1049       are not specific to Microsoft.
 1050 
 1051 
 1052   III. MISCELLANEOUS
 1053 
 1054     - The  autohinter  has been  further  improved;  for example,  `m'
 1055       glyphs now retain its vertical symmetry.
 1056 
 1057     - Partial support of Mac fonts on non-Mac platforms.
 1058 
 1059     - `make   refdoc'   (after   first   `make')   builds   the   HTML
 1060       documentation.  You need Python for this.
 1061 
 1062     - The make build system should  now work more reliably on DOS-like
 1063       platforms.
 1064 
 1065     - Support for  EMX gcc  and Watson C/C++  compilers on  MS-DOS has
 1066       been added.
 1067 
 1068     - Better VMS build support.
 1069 
 1070     - Support for the pkg-config  package by providing a `freetype.pc'
 1071       file.
 1072 
 1073     - New configure option --with-old-mac-fonts for Darwin.
 1074 
 1075     - Some source files have been  renamed (mainly to fit into the 8.3
 1076       naming scheme).
 1077 
 1078 
 1079 ======================================================================
 1080 
 1081 CHANGES BETWEEN 2.1.4 and 2.1.3
 1082 
 1083   I. IMPORTANT BUG FIXES
 1084 
 1085     - Updated  to newest  libtool  version, fixing  build problems  on
 1086       various platforms.
 1087 
 1088     - A fix  in the Gzip stream  reader: It couldn't  read certain .gz
 1089       files properly due to a  small typo.  In certain cases, FreeType
 1090       could  also loop  endlessly  when trying  to  load tiny  gzipped
 1091       files.
 1092 
 1093     - The configure script now tries  to use the system-wide zlib when
 1094       it  finds one  (instead of  the  copy found  in src/gzip).   And
 1095       `freetype-config' has  been updated to return  relevant flags in
 1096       this case when invoked with `--libs' (e.g. `-lzlib').
 1097 
 1098     - Certain fonts couldn't be loaded  by 2.1.3 because they lacked a
 1099       Unicode   charmap  (e.g.   SYMBOL.TTF).    FreeType  erroneously
 1100       rejected them.
 1101 
 1102     - The CFF loader was modified to accept fonts which only contain a
 1103       subset of  their reference charset.  This  prevented the correct
 1104       use of PDF-embedded fonts.
 1105 
 1106     - The logic to detect Unicode charmaps has been modified.  This is
 1107       required to  support fonts which include both  16-bit and 32-bit
 1108       charmaps (like very  recent asian ones) using the  new 10 and 12
 1109       SFNT formats.
 1110 
 1111     - The TrueType  loader now limits  the depth of  composite glyphs.
 1112       This is necessary to prevent broken fonts to break the engine by
 1113       blowing the stack with recursive glyph definitions.
 1114 
 1115     - The CMap cache is now  capable of managing UCS-4 character codes
 1116       that   are   mapped   through   extended  charmaps   in   recent
 1117       TrueType/OpenType fonts.
 1118 
 1119     - The   cache  sub-system   now  properly   manages  out-of-memory
 1120       conditions  instead of  blindly  reporting them  to the  caller.
 1121       This means that it will try to empty the cache before restarting
 1122       its allocations to see if that can help.
 1123 
 1124     - The  PFR driver  didn't return  the list  of  available embedded
 1125       bitmaps properly.
 1126 
 1127     - There was  a nasty  memory leak when  using embedded  bitmaps in
 1128       certain font formats.
 1129 
 1130 
 1131   II. IMPORTANT CHANGES
 1132 
 1133     - David Chester  contributed some enhancements  to the auto-hinter
 1134       that  significantly increase  the  quality of  its output.   The
 1135       Postscript hinter was also improved in several ways.
 1136 
 1137     - The FT_RENDER_MODE_LIGHT render mode was implemented.
 1138 
 1139     - A new  API function called `FT_Get_BDF_Property'  has been added
 1140       to FT_BDF_H to  retrieve BDF properties from BDF  _and_ PCF font
 1141       files.   THIS  IS  STILL  EXPERIMENTAL,  since  it  hasn't  been
 1142       properly tested yet.
 1143 
 1144     - A Windows FNT specific API has been added, mostly to access font
 1145       headers.  This is used by Wine.
 1146 
 1147     - TrueType tables  without an `hmtx' table are  now tolerated when
 1148       an  incremental interface  is  used.  This  happens for  certain
 1149       Type42 fonts passed from Ghostscript to FreeType.
 1150 
 1151     - The PFR font driver is  now capable of returning the font family
 1152       and style  names when  they are available  (instead of  the sole
 1153       `FontID').   This  is  performed  by parsing  an  *undocumented*
 1154       portion of the font file!
 1155 
 1156 
 1157   III. MISCELLANEOUS
 1158 
 1159     - The path stroker in FT_STROKER_H has entered beta stage.  It now
 1160       works very  well, but  its interface might  change a bit  in the
 1161       future.  More on this in later releases.
 1162 
 1163     - The documentation for  FT_Size_Metrics didn't appear properly in
 1164       the API reference.
 1165 
 1166     - The file docs/VERSION.DLL has been updated to explain versioning
 1167       with FreeType  (i.e., comparing release/libtool/so  numbers, and
 1168       how to use them in autoconf scripts).
 1169 
 1170     - The  installation  documentation  has been  seriously  revamped.
 1171       Everything is now in the `docs' directory.
 1172 
 1173 
 1174 ======================================================================
 1175 
 1176 CHANGES BETWEEN 2.1.3 and 2.1.2
 1177 
 1178   I. IMPORTANT BUG FIXES
 1179 
 1180     - FT_Vector_Transform  had  been  incorrectly modified  in  2.1.2,
 1181       resulting  in  incorrect   transformations  being  applied  (for
 1182       example, rotations were processed in opposite angles).
 1183 
 1184     - The format  8 and 12 TrueType charmap  enumeration routines have
 1185       been fixed (FT_Get_Next_Char returned invalid values).
 1186 
 1187     - The  PFR font driver  returned incorrect  advance widths  if the
 1188       outline  and metrics resolution  defined in  the font  file were
 1189       different.
 1190 
 1191     - FT_Glyph_To_Bitmap now returns  successfully when called with an
 1192       FT_BitmapGlyph argument (it previously returned an error).
 1193 
 1194     - A bug  in the Type 1  loader that prevented  valid font bounding
 1195       boxes to be loaded from multiple master fonts.
 1196 
 1197     - The SFNT  validation code has been rewritten.   FreeType can now
 1198       load `broken'  fonts that were  usable on Windows, but  not with
 1199       previous versions of the library.
 1200 
 1201     - The computation of bearings in the BDF driver has been fixed.
 1202 
 1203     - The Postscript hinter crashed when trying to hint certain glyphs
 1204       (more precisely,  when trying to  apply hints to an  empty glyph
 1205       outline).
 1206 
 1207     - The  TrueType glyph  loader  now supports  composites in  `Apple
 1208       format'  (they differ slightly  from Microsoft/OpenType  ones in
 1209       the way transformation offsets are computed).
 1210 
 1211     - FreeType was  very slow at opening certain  asian CID/CFF fonts,
 1212       due to  fixed increment  in dynamic array  re-allocations.  This
 1213       has  been changed  to  exponential behaviour  to get  acceptable
 1214       performance.
 1215 
 1216 
 1217 
 1218   II. IMPORTANT CHANGES
 1219 
 1220     - The PCF driver now supports gzip-compressed font files natively.
 1221       This means that  you will be able to use  all these bitmap fonts
 1222       that  come with  XFree86 with  FreeType (and  libXft/libXft2, by
 1223       extension).
 1224 
 1225     - The  automatic and  postscript hinters  have both  been updated.
 1226       This  results in  a relatively  important increase  of rendering
 1227       quality since  many nasty defaults have been suppressed.  Please
 1228       visit the web page:
 1229 
 1230         http://www.freetype.org/hinting/smooth-hinting.html
 1231 
 1232       for additional details on this topic.
 1233 
 1234     - The `load_flags' parameter of `FT_Load_Glyph' is now an FT_Int32
 1235       (instead  of just  being  an FT_Int).   This  breaks source  and
 1236       binary  compatibility for  16bit systems  only,  while retaining
 1237       both of them for 32 and 64 bit ones.
 1238 
 1239       Some new flags have been added consequently:
 1240 
 1241         FT_LOAD_NO_AUTOHINT   :: Disable the use of the auto-hinter
 1242                                  (but not native format hinters).
 1243 
 1244         FT_LOAD_TARGET_NORMAL :: Hint and render for normal
 1245                                  anti-aliased displays.
 1246 
 1247         FT_LOAD_TARGET_MONO   :: Hint and render for 1-bit displays.
 1248 
 1249         FT_LOAD_TARGET_LCD    :: Hint and render for horizontal RGB or
 1250                                  BGR sub-pixel displays (like LCD
 1251                                  screens).  THIS IS STILL
 1252                                  EXPERIMENTAL!
 1253 
 1254         FT_LOAD_TARGET_LCD_V  :: Same as FT_LOAD_TARGET_LCD, for
 1255                                  vertical sub-pixel displays (like
 1256                                  rotated LCD screens).  THIS IS STILL
 1257                                  EXPERIMENTAL!
 1258 
 1259       FT_LOAD_MONOCHROME   is  still   supported,  but   only  affects
 1260       rendering, not the hinting.
 1261 
 1262       Note that the `ftview'  demo program available in the `ft2demos'
 1263       package  has been  updated to  support LCD-optimized  display on
 1264       non-paletted displays (under Win32 and X11).
 1265 
 1266     - The  PFR  driver  now  supports embedded  bitmaps  (all  formats
 1267       supported), and returns correct kerning metrics for all glyphs.
 1268 
 1269     - The TrueType charmap loader  now supports certain `broken' fonts
 1270       that load under Windows without problems.
 1271 
 1272     - The cache API has been slightly modified (it's still a beta!):
 1273 
 1274        - The type  FTC_ImageDesc has been removed; it  is now replaced
 1275          by  FTC_ImageTypeRec.   Note that  one  of  its  fields is  a
 1276          `load_flag' parameter for FT_Load_Glyph.
 1277 
 1278        - The  field  `num_grays' of  FT_SBitRec  has  been changed  to
 1279          `max_grays'  in  order to  fit  within  a  single byte.   Its
 1280          maximum value is thus 255 (instead of 256 as previously).
 1281 
 1282 
 1283   III. MISCELLANEOUS
 1284 
 1285     - Added support  for the  DESTDIR variable during  `make install'.
 1286       This simplifies packaging of FreeType.
 1287 
 1288     - Included modified  copies of the  ZLib sources in  `src/gzip' in
 1289       order to support  gzip-compressed PCF fonts.  We do  not use the
 1290       system-provided  zlib  for  now,   though  this  is  a  probable
 1291       enhancement for future releases.
 1292 
 1293     - The DocMaker tool used to generate the on-line API reference has
 1294       been   completely    rewritten.    It   is    now   located   in
 1295       `src/tools/docmaker/docmaker.py'.  Features:
 1296 
 1297         - better cross-referenced output
 1298         - more polished output
 1299         - uses Python regular expressions  (though it didn't speed the
 1300           program)
 1301         - much  more  modular structure,  which  allows for  different
 1302           `backends'  in  order to  generate  HTML,  XML, or  whatever
 1303           format.
 1304 
 1305       One can regenerate the API reference by calling:
 1306 
 1307          python src/tools/docmaker/docmaker.py \
 1308                 --prefix=ft2 \
 1309                 --title=FreeType-2.1.3 \
 1310                 --output=<outputdirectory>
 1311                 include/freetype/*.h \
 1312                 include/freetype/config/*.h \
 1313                 include/freetype/cache/*.h
 1314 
 1315     - A new, experimental, support for incremental font loading (i.e.,
 1316       loading  of fonts  where the  glyphs are  not in  the  font file
 1317       itself, but provided by an external component, like a Postscript
 1318       interpreter) has been added by Graham Asher.  This is still work
 1319       in progress, however.
 1320 
 1321     - A new,  EXPERIMENTAL, path stroker  has been added.   It doesn't
 1322       suffer  from  severe  rounding  errors  and  treat  bezier  arcs
 1323       directly.  Still work in progress (i.e. not part of the official
 1324       API).   See  the file  <freetype/ftstroker.h>  for  some of  the
 1325       details.
 1326 
 1327     - The massive  re-formatting of sources and  internal re-design is
 1328       still under-way.  Many  internal functions, constants, and types
 1329       have been renamed.
 1330 
 1331 
 1332 ======================================================================
 1333 
 1334 CHANGES BETWEEN 2.1.2 and 2.1.1
 1335 
 1336   I. IMPORTANT BUG FIXES
 1337 
 1338     - Many  font drivers didn't  select a  Unicode charmap  by default
 1339       when a new face  was opened (with the FT_CONFIG_OPTION_USE_CMAPS
 1340       options enabled),  causing many applications  to not be  able to
 1341       display text correctly with the 2.1.x releases.
 1342 
 1343     - The  PFR driver had  a bug  in its  composite loading  code that
 1344       produces incorrectly placed accents with many fonts.
 1345 
 1346     - The Type42 driver crashed sometimes due to a nasty bug.
 1347 
 1348     - The Type 1 custom encoding  charmap didn't handle the case where
 1349       the first glyph index wasn't 0.
 1350 
 1351     - A  serious  typo  in  the  TrueType  composite  loader  produced
 1352       incorrectly placed  glyphs in fonts  like `Wingdings' and  a few
 1353       others.
 1354 
 1355 
 1356   II. MISCELLANEOUS
 1357 
 1358     - The Win32  Visual C++ project  file has been updated  to include
 1359       the PFR driver as well.
 1360 
 1361     - `freetype.m4' is  now installed by default by  `make install' on
 1362       Unix systems.
 1363 
 1364     - The function  FT_Get_PS_Font_Info now works with  CID and Type42
 1365       fonts as well.
 1366 
 1367 
 1368 ======================================================================
 1369 
 1370 CHANGES BETWEEN 2.1.1 and 2.1.0
 1371 
 1372   I. IMPORTANT BUG FIXES
 1373 
 1374     - The  `version_info'  returned   by  `freetype-config'  in  2.1.0
 1375       returned an invalid value.  It now returns 9:1:3 (2.0.9 returned
 1376       9:0:3).
 1377 
 1378     - Version 2.1.0  couldn't be linked against  applications on Win32
 1379       and  Amiga systems  due  to  a new  debug  function that  wasn't
 1380       properly   propagated  to   the  system-specific   directory  in
 1381       `builds'.
 1382 
 1383     - Various MacOS and Mac OS X specific fixes.
 1384 
 1385     - Fixed  a bug in  the TrueType  charmap validation  routines that
 1386       made version  2.1.0 too restrictive  -- many popular  fonts have
 1387       been rejected.
 1388 
 1389     - There was  still a very small difference  between the monochrome
 1390       glyph bitmaps produced by FreeType 1.x and FreeType 2.x with the
 1391       bytecode  interpreter enabled.   This was  caused by  an invalid
 1392       flag setting in the TrueType glyph loader, making the rasterizer
 1393       change  its  drop-out   control  mode.   Now  the results should
 1394       _really_ be completely identical.
 1395 
 1396     - The TrueType name table loader has been improved to support many
 1397       popular  though buggy Asian  fonts.  It  now ignores  empty name
 1398       entries,  invalid  pointer offsets  and  a  few other  incorrect
 1399       subtleties.  Moreover,  name strings  are now loaded  on demand,
 1400       which reduces the memory load  of many faces (e.g. the ARIAL.TTF
 1401       font file contains a 10kByte name table with 70 names).
 1402 
 1403     - Fixed a bug in the Postscript hinter that prevented family blues
 1404       substitution to happen correctly.
 1405 
 1406 
 1407   II. NEW FEATURES
 1408 
 1409     - Three new font drivers in this release:
 1410 
 1411       * A  BDF  font driver,  contributed  by  Franco Zappa  Nardelli,
 1412         heavily  modified   by  Werner  Lemberg.    It  also  supports
 1413         anti-aliased bitmaps (using a slightly extended BDF format).
 1414 
 1415       * A Type42  font driver, contributed by Roberto  Alameda.  It is
 1416         still experimental but seems to work relatively well.
 1417 
 1418       * A PFR  font driver, contributed  by David Turner  himself.  It
 1419         doesn't  support PFR  hinting --  note that  BitStream  has at
 1420         least two patents on this format!
 1421 
 1422 
 1423   III. MISCELLANEOUS
 1424 
 1425     - The  cache  sub-system has  been  optimized  in important  ways.
 1426       Cache hits are now significantly faster.  For example, using the
 1427       CMap cache is about  twice faster than calling FT_Get_Char_Index
 1428       on most platforms.  Similarly, using an SBit cache is about five
 1429       times faster  than loading the  bitmaps from a bitmap  file, and
 1430       300 to  500 times  faster than generating  them from  a scalable
 1431       format.
 1432 
 1433       Note that  you should recompile  your sources if you  designed a
 1434       custom  cache  class for  the  FT2  Cache  subsystem, since  the
 1435       changes performed are source, but not binary, compatible.
 1436 
 1437 
 1438 ======================================================================
 1439 
 1440 CHANGES BETWEEN 2.1.0 and 2.0.9
 1441 
 1442   I. IMPORTANT BUG FIXES
 1443 
 1444     - The  TrueType bytecode  interpreter  has been  fixed to  produce
 1445       _exactly_ the same output as FreeType 1.x.  Previous differences
 1446       were due  to slightly distinct  fixed-point computation routines
 1447       used to perform dot products and vector length measurements.
 1448 
 1449       It seems  that native TrueType hinting  is _extremely_ sensitive
 1450       to  rounding errors.  The  required vector  computation routines
 1451       have been optimized and placed within the `ttinterp.c' file.
 1452 
 1453     - Fixed the parsing of accelerator tables in the PCF font driver.
 1454 
 1455     - Fixed the Type1 glyph loader  routine used to compute the font's
 1456       maximum advance width.
 1457 
 1458 
 1459   II. NEW FEATURES
 1460 
 1461     - The `configure' script used on Unix systems has been modified to
 1462       check  that  GNU  Make  is  being used  to  build  the  library.
 1463       Otherwise,  it  will display  a  message  proposing  to use  the
 1464       GNUMAKE environment variable to name it.
 1465 
 1466       The Unix-specific file README.UNX has been modified accordingly.
 1467 
 1468 
 1469   III. MISCELLANEOUS
 1470 
 1471     - The  FreeType  License in  `docs/FTL.TXT'  has  been updated  to
 1472       include  a  proposed preferred  disclaimer.   If  you are  using
 1473       FreeType in your products, you are encouraged (but not mandated)
 1474       to use the following text in your documentation:
 1475 
 1476       """
 1477         Portions of this software are copyright © 1996-2002 The
 1478         FreeType Project (www.freetype.org).  All rights reserved.
 1479       """
 1480 
 1481     - The default size of the render pool has been reduced to 16kByte.
 1482       This  shouldn't result  in any  noticeable  performance penalty,
 1483       unless you are  using the engine as-is to  render very large and
 1484       complex glyphs.
 1485 
 1486     - The  FreeType 2  redesign has  begun.  More  information  can be
 1487       found at this URL:
 1488 
 1489         http://www.freetype.org/freetype2/redesign.html
 1490 
 1491       The following  internal changes  have been performed  within the
 1492       sources of this release:
 1493 
 1494         - Many   internal  types   have  been   renamed   to  increase
 1495           consistency.   The  following  should  be true,  except  for
 1496           public types:
 1497 
 1498             * All structure  types have a name ending  in `Rec' (short
 1499               for `record').
 1500 
 1501             * A  pointer-to-structure type  has the  same name  as the
 1502               structure, _without_ the `Rec' suffix.
 1503 
 1504               Example:
 1505 
 1506                 typedef struct FooRec_
 1507                 {
 1508                   ...
 1509 
 1510                 } FooRec, *Foo;
 1511 
 1512         - Many   internal  macros  have   been  renamed   to  increase
 1513           consistency.  The following should be true:
 1514 
 1515             * All  macros  have a  name  beginning  with `FT_'.   This
 1516               required a few changes like
 1517 
 1518                 ALLOC   => FT_ALLOC
 1519                 FREE    => FT_FREE
 1520                 REALLOC => FT_REALLOC
 1521 
 1522             * All  macros are completely  UPPERCASE.  This  required a
 1523               few changes like:
 1524 
 1525                 READ_Short  => FT_READ_SHORT
 1526                 NEXT_Short  => FT_NEXT_SHORT
 1527                 GET_ULongLE => FT_GET_ULONG_LE
 1528                 MEM_Set     => FT_MEM_SET
 1529                 MEM_Copy    => FT_MEM_COPY
 1530                 etc.
 1531 
 1532             * Whenever   possible,   all   macro  names   follow   the
 1533               FT_<OBJECT>_<METHOD> pattern.  For example
 1534 
 1535                 ACCESS_Frame   => FT_FRAME_ENTER
 1536                 FORGET_Frame   => FT_FRAME_EXIT
 1537                 EXTRACT_Frame  => FT_FRAME_EXTRACT
 1538                 RELEASE_Frame  => FT_FRAME_RELEASE
 1539 
 1540                 FILE_Pos       => FT_STREAM_POS
 1541                 FILE_Seek      => FT_STREAM_SEEK
 1542                 FILE_Read      => FT_STREAM_READ
 1543                 FILE_ReadAt    => FT_STREAM_READ_AT
 1544                 READ_Fields    => FT_STREAM_READ_FIELDS
 1545 
 1546         - Many  internal functions  have  been renamed  to follow  the
 1547           FT_<Object>_<Method> pattern.  For example:
 1548 
 1549             FT_Seek_Stream       => FT_Stream_Seek
 1550             FT_Read_Stream_At    => FT_Stream_ReadAt
 1551             FT_Done_Stream       => FT_Stream_Close
 1552             FT_New_Stream        => FT_Stream_Open
 1553             FT_New_Memory_Stream => FT_Stream_OpenMemory
 1554             FT_Extract_Frame     => FT_Stream_ExtractFrame
 1555 
 1556           Note that method names do not contain `_'.
 1557 
 1558         - The FT_ALLOC_ARRAY  and FT_REALLOC_ARRAY have  been replaced
 1559           with  FT_NEW_ARRAY and  FT_RENEW_ARRAY which  do not  take a
 1560           type  as the  fourth argument.   Instead, the  array element
 1561           type  size is computed  automatically from  the type  of the
 1562           target pointer used.
 1563 
 1564         - A  new object  class, FT_CMap,  has been  introduced.  These
 1565           internal  objects are  used to  model character  maps.  This
 1566           eases  the support  of additional  charmap types  within the
 1567           engine.
 1568 
 1569         - A new  configuration file named `ftstdlib.h'  has been added
 1570           to `include/freetype/config'.  It  is used to define aliases
 1571           for  _every_ routine  of the  ISO  C library  that the  font
 1572           engine   uses.    Each    aliases   has   a   `ft_'   prefix
 1573           (e.g. `ft_strlen' is an alias for `strlen').
 1574 
 1575           This is  used to  ease the porting  of FreeType 2  to exotic
 1576           runtime environments where the ISO C Library isn't available
 1577           (e.g.  XFree86 extension modules).
 1578 
 1579       More details are available in the `ChangeLog' file.
 1580 
 1581 
 1582 ======================================================================
 1583 
 1584 CHANGES BETWEEN 2.0.9 and 2.0.8
 1585 
 1586   I. IMPORTANT BUG FIXES
 1587 
 1588     - Certain fonts like `foxjump.ttf' contain broken name tables with
 1589       invalid entries and wild offsets.  This caused FreeType to crash
 1590       when trying to load them.
 1591 
 1592       The  SFNT `name'  table  loader has  been  fixed to  be able  to
 1593       support these strange fonts.
 1594 
 1595       Moreover, the code  in charge of processing this  table has been
 1596       changed  to always favour  Windows-formatted entries  over other
 1597       ones.  Hence,  a font that works  on Windows but not  on the Mac
 1598       will  load cleanly in  FreeType and  report accurate  values for
 1599       Family & PostScript names.
 1600 
 1601     - The CID font driver has been fixed.  It unfortunately returned a
 1602       Postscript   Font   name   with   a   leading   slash,   as   in
 1603       `/MunhwaGothic-Regular'.
 1604 
 1605     - FreeType  2 should now  compile fine  on AIX  4.3.3 as  a shared
 1606       library.
 1607 
 1608     - A  bug  in the  Postscript  hinter  has  been found  and  fixed,
 1609       removing un-even stem widths at small pixel sizes (like 14-17).
 1610 
 1611       This  improves the  quality of  a certain  number  of Postscript
 1612       fonts.
 1613 
 1614 
 1615   II. NEW FEATURES
 1616 
 1617     - A  new function  named  `FT_Library_Version' has  been added  to
 1618       return  the current  library's major,  minor, and  patch version
 1619       numbers.   This is  important since  the  macros FREETYPE_MAJOR,
 1620       FREETYPE_MINOR,  and  FREETYPE_PATCH  cannot  be used  when  the
 1621       library is dynamically linked by a program.
 1622 
 1623     - Two   new  APIs   have  been   added:   `FT_Get_First_Char'  and
 1624       `FT_Get_Next_Char'.
 1625 
 1626       Together,  these can  be used  to iterate  efficiently  over the
 1627       currently  selected  charmap of  a  given  face.   Read the  API
 1628       reference for more details.
 1629 
 1630 
 1631   III. MISCELLANEOUS
 1632 
 1633     - The FreeType sources are  under heavy internal re-factoring.  As
 1634       a consequence,  we have created  a branch named `STABLE'  on the
 1635       CVS to hold all future releases/fixes in the 2.0.x family.
 1636 
 1637       The  HEAD  branch  now  contains  the  re-factored  sources  and
 1638       shouldn't  be used for  testing or  packaging new  releases.  In
 1639       case you  would like  to access the  2.0.9 sources from  our CVS
 1640       repository, use the tag `VER-2-0-9'.
 1641 
 1642 
 1643 ======================================================================
 1644 
 1645 CHANGES BETWEEN 2.0.8 and 2.0.7
 1646 
 1647   I. IMPORTANT BUG FIXES
 1648 
 1649     - There was  a small but  nasty bug in  `freetype-config.in' which
 1650       caused the `freetype-config' script to fail on Unix.
 1651 
 1652       This didn't prevent the installation  of the library or even its
 1653       execution, but caused problems  when trying to compile many Unix
 1654       packages that depend on it.
 1655 
 1656     - Some TrueType or OpenType fonts embedded in PDF documents do not
 1657       have  a  'cmap',  'post'  and  'name'  as  is  required  by  the
 1658       specification.  FreeType no longer refuses to load such fonts.
 1659 
 1660     - Various fixes to the PCF font driver.
 1661 
 1662 
 1663 ======================================================================
 1664 
 1665 CHANGES BETWEEN 2.0.7 and 2.0.6
 1666 
 1667   I. IMPORTANT BUG FIXES
 1668 
 1669     - Fixed  two  bugs in  the  Type 1  font  driver.   The first  one
 1670       resulted in a memory leak in subtle cases.  The other one caused
 1671       FreeType to crash when  trying to load `.gsf' files (Ghostscript
 1672       so-called Postscript fonts).
 1673 
 1674       (This  made _many_  KDE applications  crash on  certain systems.
 1675        FreeType _is_ becoming a critical system component on Linux :-)
 1676 
 1677     - Fixed a memory leak in the CFF font driver.
 1678 
 1679     - Fixed a memory leak in the PCF font driver.
 1680 
 1681     - Fixed       the        Visual       C++       project       file
 1682       `builds/win32/visualc/freetype.dsp' since  it didn't include the
 1683       Postscript hinter component, causing errors at build time.
 1684 
 1685     - Fixed a  small rendering bug  in the anti-aliased  renderer that
 1686       only  occurred when  trying to  draw  thin (less  than 1  pixel)
 1687       strokes.
 1688 
 1689     - Fixed  `builds/unix/freetype2.a4' which  is used  to  generate a
 1690       valid `freetype2.m4' for use with autoconf.
 1691 
 1692     - Fixed the OpenVMS Makefiles.
 1693 
 1694 
 1695   II. MISCELLANEOUS
 1696 
 1697     - Added  `configure'  and   `install'  scripts  to  the  top-level
 1698       directory.  A GNU-style installation is thus now easily possible
 1699       with
 1700 
 1701         ./configure  <options>
 1702         make
 1703         make install
 1704 
 1705 
 1706 ======================================================================
 1707 
 1708 CHANGES BETWEEN 2.0.6 and 2.0.5
 1709 
 1710   I. IMPORTANT BUG FIXES
 1711 
 1712     - It wasn't possible to load embedded bitmaps when the auto-hinter
 1713       was used.  This is now fixed.
 1714 
 1715     - The TrueType  font driver  didn't load some  composites properly
 1716       (the  sub-glyphs  were  slightly  shifted,  and  this  was  only
 1717       noticeable when using monochrome rendering).
 1718 
 1719     - Various  fixes  to the  auto-hinter.   They  merely improve  the
 1720       output of sans-serif fonts.   Note that there are still problems
 1721       with serifed fonts and composites (accented characters).
 1722 
 1723     - All scalable  font drivers erroneously  returned un-fitted glyph
 1724       advances when hinting was  requested.  This created problems for
 1725       a number  of layout applications.  This  is a very  old bug that
 1726       got  undetected mainly  because most  test/demo  program perform
 1727       rounding explicitly or implicitly (through the cache).
 1728 
 1729     - `FT_Glyph_To_Bitmap' did erroneously  modify the source glyph in
 1730       certain cases.
 1731 
 1732     - `glnames.py'  still contained  a bug  that made  FreeType return
 1733       invalid names for certain glyphs.
 1734 
 1735     - The  library crashed  when  loading certain  Type  1 fonts  like
 1736       `sadn.pfb'  (`Stalingrad  Normal'),   which  appear  to  contain
 1737       pathetic font info dictionaries.
 1738 
 1739     - The TrueType glyph  loader is now much more  paranoid and checks
 1740       everything when loading a given glyph image.  This was necessary
 1741       to avoid problems (crashes and/or memory overwrites) with broken
 1742       fonts that came from a really buggy automatic font converter.
 1743 
 1744 
 1745   II. IMPORTANT UPDATES AND NEW FEATURES
 1746 
 1747     - Important updates to the Mac-specific parts of the library.