"Fossies" - the Fresh Open Source Software Archive

Member "firefox-69.0.1/modules/freetype2/ChangeLog.24" (17 Sep 2019, 207336 Bytes) of package /linux/www/firefox-69.0.1.source.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "ChangeLog.24": 68.0.2_vs_69.0.

    1 2013-05-08  Werner Lemberg  <wl@gnu.org>
    2 
    3 	* Version 2.4.12 released.
    4 	==========================
    5 
    6 
    7 	Tag sources with `VER-2-4-12'.
    8 
    9 	* docs/VERSION.DLL: Update documentation and bump version number to
   10 	2.4.12.
   11 
   12 	* README, Jamfile (RefDoc),
   13 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
   14 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
   15 	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
   16 	builds/win32/visualc/freetype.dsp,
   17 	builds/win32/visualc/freetype.vcproj,
   18 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
   19 	builds/win32/visualce/freetype.vcproj,
   20 	builds/win32/visualce/index.html,
   21 	builds/wince/vc2005-ce/freetype.vcproj,
   22 	builds/wince/vc2005-ce/index.html,
   23 	builds/wince/vc2008-ce/freetype.vcproj,
   24 	builds/wince/vc2008-ce/index.html: s/2.4.11/2.4.12/, s/2411/2412/.
   25 
   26 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 12.
   27 
   28 	* builds/unix/configure.raw (version_info): Set to 16:1:10.
   29 
   30 2013-05-08  Werner Lemberg  <wl@gnu.org>
   31 
   32 	* docs/CHANGES: Updated.
   33 
   34 2013-05-08  Werner Lemberg  <wl@gnu.org>
   35 
   36 	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Typo.
   37 
   38 2013-05-05  Werner Lemberg  <wl@gnu.org>
   39 
   40 	Synchronize `ftconfig.h'.
   41 
   42 	* builds/unix/ftconfig.in: Updated.
   43 
   44 2013-05-05  Werner Lemberg  <wl@gnu.org>
   45 
   46 	Fix compilation with C++.
   47 
   48 	* src/base/md5.c (body): Use proper cast.
   49 
   50 2013-05-05  Werner Lemberg  <wl@gnu.org>
   51 
   52 	Fix 64bit compilation issues.
   53 
   54 	* include/freetype/config/ftconfig.h [FT_LONG64]: Typedef
   55 	`FT_Int64' here.
   56 
   57 	* src/base/ftcalc.c: Remove typedef of `FT_Int64'.
   58 	(FT_DivFix): Fix cast.
   59 	* src/base/fttrigon.c: Remove typedef of `FT_Int64'.
   60 
   61 2013-05-05  Werner Lemberg  <wl@gnu.org>
   62 
   63 	[raster] Fix clang issues.
   64 
   65 	Fix suggested by <octoploid@yandex.com>.
   66 
   67 	* src/raster/ftraster.c (ULong): New typedef.
   68 	(SCALED): Add proper cast.
   69 
   70 2013-05-04  Werner Lemberg  <wl@gnu.org>
   71 
   72 	Fix clang fixes.
   73 
   74 	* src/base/fttrigon.c (ft_trig_prenorm, FT_Vector_Rotate): Use
   75 	correct types.
   76 
   77 	* src/cff/cf2intrp.c (cf2_interpT2CharString) <default>: Force
   78 	unsigned for computations.
   79 	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Ditto.
   80 	* src/cff/cffparse.c (cff_parse_integer): Ditto.
   81 
   82 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Ditto.
   83 
   84 2013-05-04  Werner Lemberg  <wl@gnu.org>
   85 
   86 	[cff] Make Adobe CFF engine work correctly on 64bit hosts.
   87 
   88 	Reported by numerous people on the `freetype-devel' list.  Without
   89 	this fix, glyphs aren't properly aligned on a common baseline.
   90 
   91 	On 64bit systems, `FT_Pos' expands to `long int', having a width of
   92 	64bit.  `CF2_Fixed' expands to `int' which is normally 32bit wide on
   93 	64bit hosts also.  Wrong casts filled up the blues arrays with
   94 	incorrect values.  Note that all blues values are accessed with the
   95 	`cf2_blueToFixed' macro which handles the 64bit to 32bit conversion.
   96 
   97 	* src/cff/cf2ft.h (cf2_getBlueValues, cf2_getOtherBlues,
   98 	cf2_getFamilyBlues, cf2_getFamilyOtherBlues): Use `FT_Pos' for
   99 	`data', not `CF2_Fixed'.
  100 	* src/cff/cf2ft.c (cf2_getBlueValues, cf2_getOtherBlues,
  101 	cf2_getFamilyBlues, cf2_getFamilyOtherBlues): Updated.
  102 	* src/cff/cf2blues.c (cf2_blues_init): Updated.
  103 
  104 2013-05-04  Werner Lemberg  <wl@gnu.org>
  105 
  106 	More fixes for clang's `sanitize' feature.
  107 
  108 	* src/base/ftcalc.c (FT_DivFix): Use unsigned values for
  109 	computations which use the left shift operator and convert to signed
  110 	as the last step.
  111 	* src/base/fttrigon.c (ft_trig_prenorm, FT_Vector_Rotate,
  112 	FT_Vector_Length, FT_Vector_Polarize): Ditto.
  113 
  114 	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Simplify.
  115 	* src/cff/cffload.c (cff_subfont_load): Fix constant.
  116 	* src/cff/cffparse.c (cff_parse_integer, cff_parse_real, do_fixed,
  117 	cff_parse_fixed_dynamic): Use unsigned values for computations which
  118 	use the left shift operator and convert to signed as the last step.
  119 
  120 	* src/cid/cidload.c (cid_get_offset): Ditto.
  121 
  122 	* src/psaux/psconv.c (PS_Conv_ToFixed): Ditto.
  123 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Ditto.
  124 
  125 	* src/truetype/ttinterp.c (TT_MulFix14, TT_DotFix14): Ditto.
  126 
  127 2013-05-04  Werner Lemberg  <wl@gnu.org>
  128 
  129 	Fix errors reported by clang's `sanitize' feature.
  130 
  131 	* include/freetype/internal/ftstream.h: Simplify and fix integer
  132 	extraction macros.
  133 	(FT_INT8_, FT_BYTE_I16, FT_BYTE_I32, FT_INT8_I16, FT_INT8_I32,
  134 	FT_INT8_I32, FT_INT8_U32): Removed.
  135 	(FT_PEEK_SHORT, FT_PEEK_LONG, FT_PEEK_OFF3, FT_PEEK_SHORT_LE,
  136 	FT_PEEK_LONG_LE, FT_PEEK_OFF3_LE): Use unsigned values for
  137 	computations and convert to signed as the last step.
  138 
  139 	* src/cff/cf2fixed.h (cf2_intToFixed, cf2_fixedToInt,
  140 	cf2_fracToFixed): Avoid shifts of negative values.
  141 	(cf2_intToFrac, cf2_fixedToFrac, cf2_fixedTo26Dot6): Removed,
  142 	unused.
  143 
  144 	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdEXTENDEDNMBR,
  145 	default>: Use unsigned values for computations and convert to signed
  146 	as the last step.
  147 	Use proper types in tracing messages.
  148 
  149 	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Use unsigned
  150 	values for computation of operands and convert to signed as the last
  151 	step.
  152 	Use proper type in tracing message.
  153 
  154 2013-05-03  Werner Lemberg  <wl@gnu.org>
  155 
  156 	* src/cff/cf2blues.c: Remove dead code.
  157 
  158 2013-05-02  Chris Liddell  <chris.liddell@artifex.com>
  159 
  160 	* src/cff/cffgload.c: Include FT_CFF_DRIVER_H.
  161 
  162 2013-04-27  Werner Lemberg  <wl@gnu.org>
  163 
  164 	* docs/CHANGES: Updated.
  165 	* README: Improved.
  166 
  167 2013-04-13  Werner Lemberg  <wl@gnu.org>
  168 
  169 	[cff] Add a new Type 2 interpreter and hinter.
  170 
  171 	This work, written by Dave Arnold <darnold@adobe.com> and fully
  172 	integrated into FreeType by me, is a donation by Adobe in
  173 	collaboration with Google.  It is vastly superior to the old CFF
  174 	engine, and it will replace it soon.  Right now, it is still off by
  175 	default, and you have to explicitly select it using the new
  176 	`hinting-engine' property of the cff driver.
  177 
  178 	For convenience, (most of) the new files are committed separately.
  179 
  180 	* include/freetype/config/ftheader.h (FT_CFF_DRIVER_H): New macro.
  181 	* include/freetype/ftcffdrv.h: New file to access CFF driver
  182 	properties.
  183 	* include/freetype/fterrdef.h (FT_Err_Glyph_Too_Big): New error
  184 	code.
  185 	* include/freetype/internal/fttrace.h: Add `cf2blues', `cf2hints',
  186 	and `cf2interp'.
  187 
  188 	* src/cff/cffgload.h (CFF_SubFont): New member `current_subfont'.
  189 	* src/cff/cffobjs.h (CFF_DriverRec): New members `hinting_engine'
  190 	and `no_stem_darkening'.
  191 	* src/cff/cfftypes.h (CFF_FontRec): New member `cf2_instance'.
  192 
  193 	* src/cff/cff.c: Include new files.
  194 	* src/cff/cffdrivr.c (cff_property_set, cff_property_get): Handle
  195 	`hinting-engine' and `no-stem-darkening' properties (only the Adobe
  196 	engine listens to them).
  197 	* src/cff/cffgload.c: Include `cf2ft.h'.
  198 	(cff_decoder_prepare): Initialize `current_subfont'.
  199 	(cff_build_add_point): Handle Adobe engine which uses 16.16
  200 	coordinates.
  201 	(cff_slot_load): Handle FT_LOAD_NO_SCALE and FT_LOAD_NO_HINTING
  202 	separately.
  203 	Choose rendering engine based on `hinting_engine' property.
  204 	* src/cff/cffload.c (cff_font_done): Call finalizer of the Adobe
  205 	engine.
  206 	* src/cff/cffobjs.c: Include FT_CFF_DRIVER_H.
  207 	(cff_driver_init): Set default property values.
  208 
  209 	* src/cff/rules.mk (CFF_DRV_SRC, CFF_DRV_H): Add new files.
  210 
  211 	* src/cff/cf2*.*: New files, containing the Adobe engine.
  212 
  213 2013-04-12  Werner Lemberg  <wl@gnu.org>
  214 
  215 	[cff] Minor code administration issues.
  216 
  217 	* src/cff/cffgload.c (check_points): Rename to...
  218 	(cff_check_points): ...this and make it FT_LOCAL.
  219 	(cff_builder_add_point, cff_builder_add_point1,
  220 	cff_builder_start_point, cff_builder_close_contour,
  221 	cff_lookup_glyph_by_stdcharcode, cff_get_glyph_data,
  222 	cff_free_glyph_data): Make them FT_LOCAL.
  223 
  224 	* src/cff/cffgload.h: Updated.
  225 
  226 2013-04-12  Werner Lemberg  <wl@gnu.org>
  227 
  228 	Add output bitmap checksums.
  229 
  230 	Use `FT2_DEBUG=bitmap:3' for tracing.
  231 
  232 	* src/base/md5.c, src/base/md5.h: New files, taken from
  233 
  234 	  https://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
  235 
  236 	* include/freetype/internal/fttrace.h: Add `bitmap'.
  237 
  238 	* src/base/ftobjs.c [FT_DEBUG_LEVEL_TRACE]: Include `md5.c'
  239 
  240 	(FT_Render_Glyph_Internal) [FT_DEBUG_LEVEL_TRACE]: For tracing,
  241 	convert resulting bitmap to a uniform format and compute a checksum.
  242 	Use `bitmap' category for the tracing message.
  243 
  244 	* src/base/rules.mk (BASE_H): Updated.
  245 
  246 	* docs/LICENSE.TXT: Updated.
  247 
  248 2013-04-12  Werner Lemberg  <wl@gnu.org>
  249 
  250 	[cff] Add framework for CFF properties.
  251 
  252 	* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC7):
  253 	New macro.
  254 
  255 	* src/cff/cffdrivr.c: Include FT_SERVICE_PROPERTIES_H.
  256 	(cff_property_set, cff_property_get): New functions, still empty.
  257 	Define `cff_service_properties' service.
  258 	Update `cff_services'.
  259 
  260 	* src/cff/cffpic.h: Include FT_SERVICE_PROPERTIES_H.
  261 	(CFF_SERVICE_PROPERTIES_GET): New macro.
  262 	(CffModulePIC): Add `cff_service_properties'.
  263 
  264 2013-04-03  Werner Lemberg  <wl@gnu.org>
  265 
  266 	[bdf] Fix Savannah bug #38589.
  267 
  268 	* src/bdf/bdflib.c (_bdf_readstream): Thinko.
  269 
  270 2013-03-31  Werner Lemberg  <wl@gnu.org>
  271 
  272 	* configure: Use egrep, not grep.
  273 
  274 	Problem reported Mojca Miklavec <mojca.miklavec.lists@gmail.com>.
  275 
  276 2013-03-29  Werner Lemberg  <wl@gnu.org>
  277 
  278 	* include/freetype/ftlcdfil.h: Add description of color filtering.
  279 
  280 	Based on a contribution from Antti S. Lankila <alankila@bel.fi>
  281 	(Savannah bug #38607).
  282 
  283 2013-03-23  Werner Lemberg  <wl@gnu.org>
  284 
  285 	[autofit] Minor.
  286 
  287 	* src/autofit/afmodule.c (af_property_set): Typo.
  288 	(af_autofitter_init, af_autofitter_done): Use cast.
  289 
  290 2013-03-21  Werner Lemberg  <wl@gnu.org>
  291 
  292 	* configure: Automatically test for `gmake' also.
  293 
  294 	Suggested by Mojca Miklavec <mojca.miklavec.lists@gmail.com>.
  295 
  296 2013-03-21  Peter Breitenlohner  <peb@mppmu.mpg.de>
  297 
  298 	Respect CONFIG_SHELL from the environment.
  299 
  300 	Some large packages using FreeType have to use a broken (deficient)
  301 	/bin/sh.  The configure scripts (as generated by Autoconf) are
  302 	clever enough to find a better shell and put that one into the
  303 	environment variable CONFIG_SHELL.  If that environment variable is
  304 	already set the script skips the test and assumes to be already
  305 	running under a good shell.
  306 
  307 	* builds/unix/detect.mk: Honour CONFIG_SHELL.
  308 	* builds/unix/unix-def.in (SHELL): Define.
  309 
  310 2013-03-21  Werner Lemberg  <wl@gnu.org>
  311 
  312 	Fix Savannah patch #7971.
  313 
  314 	* configure: Handle MAKE environment variable also.
  315 
  316 2013-03-17  Werner Lemberg  <wl@gnu.org>
  317 
  318 	Fix Savannah bug #38538.
  319 
  320 	* builds/amiga/src/base/ftdebug.c, builds/win32/ftdebug.c,
  321 	builds/wince/ftdebug.c (FT_Throw): Add function.
  322 
  323 2013-03-17  Werner Lemberg  <wl@gnu.org>
  324 
  325 	[raster] Remove dead code.
  326 
  327 	* src/raster/rastpic.c (ft_raster1_renderer_class_pic_init)
  328 	src/smooth/ftspic.c (ft_smooth_renderer_class_pic_init): Do it.
  329 
  330 2013-03-17  Werner Lemberg  <wl@gnu.org>
  331 
  332 	* src/pshinter/pshpic.h (GET_PIC): Use correct container.
  333 
  334 2013-03-15  Werner Lemberg  <wl@gnu.org>
  335 
  336 	* include/freetype/ftmoderr.h: Fix commit from 2013-03-11.
  337 
  338 	The previous version was not backward compatible.  Reported by
  339 	Behdad.
  340 
  341 2013-03-14  Werner Lemberg  <wl@gnu.org>
  342 
  343 	*/*: Use FT_ERR_EQ, FT_ERR_NEQ, and FT_ERR where appropriate.
  344 
  345 	FT_Err_XXX and friends are no longer directly used in the source
  346 	code.
  347 
  348 2013-03-14  Werner Lemberg  <wl@gnu.org>
  349 
  350 	New error management macros.
  351 
  352 	* include/freetype/fterrors.h (FT_ERR_XCAT, FT_ERR_CAT): Move to...
  353 	* include/freetype/fttypes.h: ... this file.
  354 	(FT_ERR, FT_ERR_EQ, FT_ERR_NEQ, FT_MODERR_EQ, FT_MODERR_NEQ): New
  355 	macros.
  356 
  357 	* include/freetype/freetype.h: Updated.
  358 
  359 2013-03-14  Werner Lemberg  <wl@gnu.org>
  360 
  361 	*/*: Use FT_Err_Ok only.
  362 
  363 	This is a purely mechanical conversion.
  364 
  365 2013-03-14  Werner Lemberg  <wl@gnu.org>
  366 
  367 	*/*: Use `FT_THROW'.
  368 
  369 	This is essentially a mechanical conversion, adding inclusion of
  370 	`FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for
  371 	stand-alone compiling modes of the rasterizer modules.
  372 
  373 	To convert the remaining occurrences of FT_Err_XXX and friends it is
  374 	necessary to rewrite the code.  Note, however, that it doesn't harm
  375 	if some cases are not handled since FT_THROW is a no-op.
  376 
  377 2013-03-13  Werner Lemberg  <wl@gnu.org>
  378 
  379 	Introduce `FT_THROW' macro.
  380 
  381 	The idea is to replace code like
  382 
  383 	  return FT_Err_Foo_Bar;
  384 
  385 	or
  386 
  387 	  return CFF_Err_Foo_Bar;
  388 
  389 	with
  390 
  391 	  return FT_THROW( Foo_Bar );
  392 
  393 	The FT_THROW macro has two functions:
  394 
  395 	  . It hides the module specific prefix.
  396 
  397 	  . In debug mode, it calls the empty function `FT_Throw' which can
  398 	    be thus used to set a breakpoint.
  399 
  400 	* include/freetype/internal/ftdebug.h (FT_THROW): New macro.
  401 	(FT_Throw): New prototype.
  402 	* src/base/ftdebug.c (FT_Throw): New function.
  403 
  404 2013-03-12  Werner Lemberg  <wl@gnu.org>
  405 
  406 	Remove `FT_KEEP_ERR_PREFIX'.
  407 
  408 	The idea is to always have FT_ERR_PREFIX available internally.
  409 
  410 	* include/freetype/fterrors.h: Use FT2_BUILD_LIBRARY to guard
  411 	undefinition of FT_ERR_PREFIX
  412 
  413 	* src/gxvalid/gxverror.h, src/otvalid/otverror.h,
  414 	src/sfnt/sferrors.h: Updated.
  415 
  416 2013-03-11  Werner Lemberg  <wl@gnu.org>
  417 
  418 	[gxvalid] Fix module error.
  419 
  420 	* src/gxvalid/gxverror.h (FT_ERR_BASE): Define as
  421 	FT_Mod_Err_GXvalid.
  422 	* include/freetype/ftmoderr.h: Add module error for `GXvalid'.
  423 
  424 2013-03-11  Werner Lemberg  <wl@gnu.org>
  425 
  426 	Always use module related error codes.
  427 
  428 	* src/cff/cffobjs.c (cff_face_init), src/type1/t1objs.c
  429 	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Use
  430 	`FT_ERROR_BASE'.
  431 
  432 	* src/type1/t1load.c (parse_encoding): Use
  433 	T1_Err_Unknown_File_Format.
  434 
  435 2013-03-08  Werner Lemberg  <wl@gnu.org>
  436 
  437 	[cff] Set `linear{Hori,Vert}Advance' for embedded bitmaps also.
  438 
  439 	Problem reported by Khaled Hosny <khaledhosny@eglug.org>.
  440 
  441 	* src/cff/cffgload.c (cff_slot_load): Implement it.
  442 
  443 2013-02-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
  444 
  445 	[base] Fix commit ab02d9e8.
  446 
  447 	* src/base/ftbbox.c (BBox_Cubic_Check): Change scaling to msb of 22.
  448 
  449 2013-02-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
  450 
  451 	[base] New bisecting BBox_Cubic_Check (disabled).
  452 
  453 	* src/base/ftbbox.c (BBox_Cubic_Check): New bisecting algorithm
  454 	for extremum search built around simple condition that defines
  455 	which half contains the extremum.
  456 
  457 2013-02-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
  458 
  459 	[tools] Update BBox testing tool.
  460 
  461 	* src/tools/test_bbox.c: Add another cubic outline with exact BBox.
  462 	(REPEAT): Increase the number of benchmarking cycles.
  463 	(profile_outline): Tweak output formatting.
  464 
  465 2013-02-02  Werner Lemberg  <wl@gnu.org>
  466 
  467 	Fix Savannah bug #38235.
  468 
  469 	* builds/unix/configure.raw: Don't generate `freetype-config' and
  470 	`freetype.pc'.
  471 
  472 	* builds/unix/unix-def.in (FT2_EXTRA_LIBS, LIBBZ2, LIBZ,
  473 	build_libtool_libs, ft_version): New variables to be substituted.
  474 	(freetype-config, freetype.pc): New rules to generate those files.
  475 
  476 	* builds/unix/freetype-config.in: Remove code for handling `rpath'.
  477 	The use of $rpath has been accidentally removed in a patch from
  478 	2009-12-22, and apparently noone has missed it since.
  479 	Use `%' instead of `@' as a variable substitution marker.
  480 	Use quotes.
  481 
  482 	* builds/unix/freetype.in: Use `%' instead of `@' as a variable
  483 	substitution marker.
  484 	Use quotes.
  485 
  486 2013-02-07  Werner Lemberg  <wl@gnu.org>
  487 
  488 	* src/truetype/ttobjs.c (tt_size_run_prep): Reset more GS variables.
  489 
  490 	BTW, Greg agrees that the OpenType specification is missing the list
  491 	of GS variables which will always be reset to the default values
  492 	after the `prep' table has been executed.
  493 
  494 2013-02-06  Werner Lemberg  <wl@gnu.org>
  495 
  496 	* src/truetype/ttobjs.c (tt_size_run_prep): Reset reference points.
  497 
  498 	Up to now, we simply took a snapshot of the Graphics State after the
  499 	`prep' table has been executed, and right before a glyph's bytecode
  500 	was run it got reloaded.  However, as Greg Hitchcock has told us in
  501 	private communication, reference points get reset to zero in the MS
  502 	rasterizer and we follow in due course.  While reasonable, this is
  503 	undocumented behaviour.
  504 
  505 	Most notably, this fixes the rendering of Arial's `x' glyph in
  506 	subpixel hinting mode.
  507 
  508 2013-02-05  Werner Lemberg  <wl@gnu.org>
  509 
  510 	[truetype] A better fix for Savannah bug #38211.
  511 
  512 	* src/truetype/ttinterp.c (Ins_IP): Implement identical behaviour to
  513 	MS rasterizer if rp1 == rp2 (confirmed by Greg Hitchcock).
  514 
  515 2013-02-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
  516 
  517 	[pcf] Streamline parsing of PCF encoding table.
  518 
  519 	* src/pcf/pcfread.c (pcf_get_encodings): Use simpler double for-loop.
  520 	Reallocate array instead of using temporary storage.
  521 
  522 2013-02-01  Werner Lemberg  <wl@gnu.org>
  523 
  524 	Fix Savannah bug #38227.
  525 
  526 	* builds/unix/freetype-config.in: Set LC_ALL.
  527 
  528 2013-02-01  Werner Lemberg  <wl@gnu.org>
  529 
  530 	Fix Savannah bug #38221.
  531 
  532 	This complements commit 83c0ebab.
  533 
  534 	* src/base/ftcalc.c (FT_MulDiv_No_Round): Don't enclose with
  535 	`TT_USE_BYTECODE_INTERPRETER'.
  536 
  537 2013-02-01  Werner Lemberg  <wl@gnu.org>
  538 
  539 	[truetype] Fix Savannah bug #38211.
  540 
  541 	* src/truetype/ttinterp.c (Ins_IP): Make FreeType behave identical
  542 	to other interpreters if rp1 == rp2 (which is invalid).
  543 
  544 2013-01-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
  545 
  546 	[base] Small optimization of BBox calculation.
  547 
  548 	* src/base/ftbbox.c (BBox_Cubic_Check): Use FT_MSB function in
  549 	scaling algorithm.
  550 
  551 2013-01-26  Infinality  <infinality@infinality.net>
  552 
  553 	[truetype] Minor formatting fix.
  554 
  555 	* src/truetype/ttinterp.c: Updated.
  556 	(DO_RS): Fix indentation.
  557 
  558 2013-01-26  Infinality  <infinality@infinality.net>
  559 
  560 	[truetype] Fix rasterizer_version logic in sph.
  561 
  562 	* src/truetype/ttsubpix.c: Updated.
  563 	(ALWAYS_SKIP_DELTAP_Rules): Remove rule for Trebuchet MS.
  564 	(sph_set_tweaks): Fix `rasterizer_version' logic.
  565 
  566 2013-01-26  Infinality  <infinality@infinality.net>
  567 
  568 	[truetype] Align more to ClearType whitepaper for sph.
  569 
  570 	* include/freetype/internal/tttypes.h (TT_FaceRec): Add flags
  571 	for detected opcode patterns and compatibility mode.
  572 
  573 	* src/truetype/ttgload.c (tt_loader_init): Complete conditional.
  574 
  575 	* src/truetype/ttinterp.c: Updated.
  576 	Remove SPH_DEBUG and replace with FT_TRACE7.
  577 	(DO_RS): More conditions.
  578 	(Ins_FDEF): Add more opcode detection patterns.
  579 	More specific conditions when flagging an fdef.
  580 	Make compatibility mode only turn on when delta fdefs are found.
  581 	(Ins_CALL, Ins_LOOPCALL): Set flags for currently executed fdef.
  582 	(Ins_SHPIX): Remove logic to handle ttfautohinted fonts.
  583 	Simplify conditionals where possible.
  584 	Use `&' instead of `%' operator for dumb compilers.
  585 	(Ins_MIAP): Adjust twilight zone conditional.
  586 	Ensure `ignore_x_mode' is on when testing sph conditionals.
  587 	(Ins_MIRP): Ensure `ignore_x_mode' is on when testing sph
  588 	conditionals.
  589 	Do cvt cutin always when `ignore_x_mode' is active.
  590 	Remove test for ttfautohinted fonts.
  591 	(Ins_DELTAP): Ensure `ignore_x_mode' is on when testing sph
  592 	conditionals.
  593 	Do cvt cutin always when `ignore_x_mode' is active.
  594 	Remove test for ttfautohinted fonts.
  595 	Use `&' instead of `%' operator for dumb compilers.
  596 	(Ins_GETINFO): Remove SPH_DEBUG and replace with FT_TRACE7.
  597 
  598 	* src/truetype/ttinterp.h: Updated.
  599 	(TT_ExecContextRec): Remove compatibility_mode variable.
  600 	Add variable to indicate when executing in special fdefs for sph.
  601 
  602 	* src/truetype/ttobjs.h: Updated.
  603 	(TT_DefRecord): Add flags to identify special fdefs for sph.
  604 	(TT_SizeRec): Remove unnecessary ttfautohinted variable.
  605 
  606 	* src/truetype/ttsubpix.c: Updated.
  607 	(COMPATIBILITY_MODE_Rules): Remove all.  Auto-detected now.
  608 	(PIXEL_HINTING_Rules): Remove all.  Unnecessary after fixes.
  609 	(SKIP_NONPIXEL_Y_MOVES_Rules): Remove Ubuntu.
  610 	(SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Arial Bold `N'.
  611 	(SKIP_OFFPIXEL_Y_MOVES_Rules): Remove all.  Happens automatically
  612 	now.
  613 	(ROUND_NONPIXEL_Y_MOVES_Rules): Remove Ubuntu.
  614 	(ROUND_NONPIXEL_Y_MOVES_Rules_Exceptions): Remove all.
  615 	(NORMAL_ROUND_Rules): Remove Verdana.
  616 	(NO_DELTAP_AFTER_IUP_Rules): Remove all.
  617 	(sph_set_tweaks): Performance fix.  Don't run prep always.
  618 	Adjust conditional for sph_compatibility_mode.
  619 
  620 	* src/truetype/ttsubpix.h: Add new fdef flags for sph.
  621 
  622 2013-01-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
  623 
  624 	[base] Fix broken emboldening at small sizes.
  625 
  626 	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Do not attempt to
  627 	normalize zero-length vectors.
  628 
  629 2013-01-25  Werner Lemberg  <wl@gnu.org>
  630 
  631 	Fix Savannah bug #38167.
  632 
  633 	This fixes commit 83c0ebab from 2012-06-27.
  634 
  635 	* src/truetype/ttinterp.h:
  636 	s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
  637 
  638 2013-01-25  Xi Wang  <xi.wang@gmail.com>
  639 
  640 	[sfnt] Fix broken pointer overflow checks.
  641 
  642 	Many compilers such as gcc and clang optimize away pointer overflow
  643 	checks `p + n < p', because pointer overflow is undefined behavior.
  644 	Use a safe form `n > p_limit - p' instead.
  645 
  646 	Also avoid possible integer overflow issues, for example, using
  647 	`num_glyphs > ( p_limit - p ) / 2' rather than `num_glyphs * 2'
  648 	given a large `num_glyphs'.
  649 
  650 	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Implement it.
  651 
  652 2013-01-25  Werner Lemberg  <wl@gnu.org>
  653 
  654 	[base] Fix `make multi'.
  655 
  656 	* src/base/ftoutln.c, src/base/fttrigon.c: Include
  657 	FT_INTERNAL_CALC_H.
  658 
  659 2013-01-25  David 'Digit' Turner  <digit@google.com>
  660 
  661 	[truetype] Fix C++ compilation.
  662 
  663 	* src/truetype/ttsubpix.h: Updated.
  664 	(SPH_X_SCALING_RULES_SIZE): Moved and renamed to...
  665 	* src/truetype/ttsubpix.c (X_SCALING_RULES_SIZE): This.
  666 	(sph_X_SCALING_Rules): Removed.
  667 	(scale_test_tweak): Make function static.
  668 	(sph_test_tweak_x_scaling): New function.
  669 
  670 	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Updated.
  671 
  672 2013-01-23  Werner Lemberg  <wl@gnu.org>
  673 
  674 	[base] Make `FT_Hypot' really internal.
  675 
  676 	* include/freetype/fttrigon.h (FT_Hypot): Move to...
  677 	* include/freetype/internal/ftcalc.h: This file.
  678 
  679 	* src/base/fttrigon.c (FT_Hypot): Move to...
  680 	* src/base/ftcalc.c: This file.
  681 	Include FT_TRIGONOMETRY_H.
  682 
  683 	* src/truetype/ttgload.c: Don't include FT_TRIGONOMETRY_H.
  684 
  685 2013-01-23  Werner Lemberg  <wl@gnu.org>
  686 
  687 	[truetype] Revert change from 2013-01-22.
  688 
  689 	FreeType's `height' value is the baseline-to-baseline distance...
  690 
  691 	* src/truetype/ttobjs.c (tt_size_reset): Undo.
  692 
  693 2013-01-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
  694 
  695 	[base, truetype] New internal `FT_Hypot' function.
  696 
  697 	* include/freetype/fttrigon.h (FT_Hypot): Declare it.
  698 	* src/base/fttrigon.c (FT_Hypot): Define it.
  699 	* src/truetype/ttgload.c (TT_Process_Composite_Component): Use it
  700 	instead of explicit expressions.
  701 	* src/truetype/ttinterp.c (Current_Ratio, Normalize): Use it instead
  702 	of TT_VecLen.
  703 	(TT_VecLen): Removed.
  704 
  705 2013-01-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
  706 
  707 	[base] Fix integer overflow.
  708 
  709 	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Normalize incoming and
  710 	outgoing vectors and use fixed point arithmetic.
  711 
  712 2013-01-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
  713 
  714 	[base] Fix integer overflow.
  715 
  716 	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Scale the
  717 	coordinates down to avoid overflow.
  718 
  719 2013-01-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
  720 
  721 	[base] Split out MSB function.
  722 
  723 	* src/base/fttrigon.c (ft_trig_prenorm): Borrow from here.
  724 	* include/freetype/internal/ftcalc.h (FT_MSB): Declare here.
  725 	* src/base/ftcalc.c (FT_MSB): Define here.
  726 
  727 2013-01-22  Werner Lemberg  <wl@gnu.org>
  728 
  729 	[truetype] Fix font height.
  730 
  731 	* src/truetype/ttobjs.c (tt_size_reset): The Windows rendering
  732 	engine uses rounded values of the ascender and descender to compute
  733 	the TrueType font height.
  734 
  735 2013-01-16  Behdad Esfahbod  <behdad@behdad.org>
  736 
  737 	[sfnt] Fix optimized sbit loader.
  738 
  739 	It was not taking bit_depth into consideration when blitting!
  740 
  741 	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_byte_aligned,
  742 	* tt_sbit_decoder_load_bit_aligned): Handle bit
  743 	depth.
  744 
  745 2013-01-16  David 'Digit' Turner  <digit@google.com>
  746 
  747 	[truetype] Improve subpixel code.
  748 
  749 	This patches fixes many issues with the ttsubpix implementation.
  750 
  751 	1. Data tables are defined, instead of declared, in the header, and
  752 	   thus copied into each source file that includes it.
  753 
  754 	2. These tables were defined as global, mutable, visible variables,
  755 	   and thus costing private RAM to every process that loads the
  756 	   library (> 50 KB / process, this is huge!).
  757 
  758 	   Additionally, this also made the library export the symbols
  759 	   completely needlessly.
  760 
  761 	3. Missing `sph_' and `SPH_' prefixes to some of the definitions.
  762 
  763 	Note that this doesn't try to fix the incredibly inefficient storage
  764 	format for the data tables used by the code.  This one will require
  765 	another pass in the future.
  766 
  767 	* src/truetype/ttinterp.h (MAX_NAME_SIZE, MAX_CLASS_MEMBERS):
  768 	Renamed to...
  769 	(SPH_MAX_NAME_SIZE, SPH_MAX_CLASS_MEMBERS): This.
  770 	Update all users.
  771 
  772 	(SPH_TweakRule, SPH_ScaleRule): Decorate with `const' where
  773 	appropriate.
  774 
  775 	(Font_Class): Rename to...
  776 	(SPH_Font_Class): This.  Decorate with `const' where appropriate.
  777 
  778 	* src/truetype/ttsubpix.h (scale_test_tweak, sph_test_tweak):
  779 	Decorate arguments with `const' where appropriate.
  780 
  781 	Move font tweaking tables to...
  782 
  783 	* src/truetype/ttsubpix.c: This file and decorate them with `static'
  784 	and `const' where appropriate.
  785 
  786 	(X_SCALING_Rules, X_SCALING_RULES_SIZE): Renamed to...
  787 	(sph_X_SCALING_Rules, SPH_X_SCALING_RULES_SIZE): This.
  788 	Update all users.
  789 
  790 2013-01-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
  791 
  792 	[truetype] Improve accuracy of normalization of short vectors.
  793 
  794 	Unit vector components are stored as 2.14 fixed-point numbers. In
  795 	order to calculate all 14 bits accurately, a short vector to be
  796 	normalized has to be upscaled to at least 14 bits before its length
  797 	is calculated. This has been safe since accurate CORDIC algorithms
  798 	were adopted.
  799 
  800 	* src/truetype/ttinterp.c (Normalize): Scale short vectors by 0x4000.
  801 
  802 2013-01-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
  803 
  804 	[truetype] Kill very old vector normalization hacks.
  805 
  806 	Back in the days, vector length calculations were not very accurate
  807 	and the vector normalization function, Normalize, had to meticulously
  808 	correct the errors for long vectors [commit b7ef2b096867]. It was no
  809 	longer necessary after accurate CORDIC algorithms were adopted, but
  810 	the code remained. It is time to kill it.
  811 
  812 	* src/truetype/ttinterp.c (Normalize): Remove error compensation.
  813 	(TT_VecLen): Remove any mention of old less accurate implementation.
  814 
  815 2013-01-11  Werner Lemberg  <wl@gnu.org>
  816 
  817 	Disable FT_CONFIG_OPTION_OLD_INTERNALS.
  818 
  819 	After the next release we are going to remove the code completely.
  820 
  821 	* devel/ftoption.h, include/freetype/config/ftoption.h
  822 	(FT_CONFIG_OPTION_OLD_INTERNALS): Comment out.
  823 	* docs/CHANGES: Document it.
  824 
  825 2013-01-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
  826 
  827 	[base] Update the overflow protection bit.
  828 
  829 	The recent optimizations of CORDIC iterations drastically reduce the
  830 	expansion factor.  Vector components with MSB of 29 are now safe
  831 	from overflow.
  832 
  833 	* src/base/fttrigon.c (FT_TRIG_SAFE_MSB): New macro.
  834 	(ft_trig_prenorm): Use it and remove dead code.
  835 
  836 2013-01-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
  837 
  838 	[base, pshinter] Use FT_ABS, FT_MIN, and FT_MAX for readability.
  839 
  840 	* src/base/ftbbox.c: Updated.
  841 	* src/base/ftobjs.c: Updated.
  842 	* src/base/fttrigon.c: Updated.
  843 	* src/pshinter/pshalgo.c: Updated.
  844 	* src/pshinter/pshrec.c: Updated.
  845 
  846 2013-01-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
  847 
  848 	[base] Clean up trigonometric core.
  849 
  850 	* src/base/fttrigon.c: Document the algorithm in a large comment.
  851 	(FT_TRIG_COSCALE): Remove macro.
  852 	(FT_Tan: Use `FT_TRIG_SCALE' instead.
  853 	(FT_Cos, FT_Vector_Unit): Ditto and round the return values.
  854 
  855 2013-01-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
  856 
  857 	[base] Use rounding in CORDIC iterations.
  858 
  859 	* src/base/fttrigon.c (ft_trig_pseudo_rotate,
  860 	ft_trig_pseudo_polarize): Improve accuracy by rounding.
  861 
  862 2013-01-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
  863 
  864 	[base] Reduce trigonometric algorithms.
  865 
  866 	After we get within 45 degrees by means of true 90-degree rotations,
  867 	we can remove initial 45-degree CORDIC iteration and start from
  868 	atan(1/2) pseudorotation, reducing expansion factor thereby.
  869 
  870 	* src/base/fttrigon.c (FT_TRIG_SCALE, FT_TRIG_COSCALE): Update macros.
  871 	(ft_trig_pseudo_rotate, ft_trig_pseudo_polarize): Update.
  872 
  873 	* src/tools/cordic.py: Bring up to date with trigonometric core.
  874 
  875 	* docs/CHANGES: Old typo.
  876 
  877 2013-01-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
  878 
  879 	* src/pshinter/pshalgo.h: Remove unused code.
  880 
  881 2012-12-27  Werner Lemberg  <wl@gnu.org>
  882 
  883 	* src/truetype/ttgload.c (tt_loader_init): Add more tracing.
  884 
  885 2012-12-23  Werner Lemberg  <wl@gnu.org>
  886 
  887 	[type1] Fix handling of /FontBBox in MM fonts.
  888 	Problem reported by Del Merritt <del@alum.mit.edu>
  889 
  890 	If we have
  891 
  892 	  /FontBBox { { 11 12 13 14 15 16 17 18 }
  893 	              { 21 22 23 24 25 26 27 28 }
  894 	              { 31 32 33 34 35 36 37 38 }
  895 	              { 41 42 43 44 45 46 47 48 } }
  896 
  897 	in the /Blend dictionary,  then the first BBox is { 11 21 31 41 },
  898 	the second { 12 22 32 42 }, etc.
  899 
  900 	* include/freetype/internal/psaux.h (T1_FieldType): Add
  901 	`T1_FIELD_TYPE_MM_BBOX' (for temporary use).
  902 
  903 	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
  904 	Implement it.
  905 
  906 2012-12-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
  907 
  908 	* src/tools/cordic.py: Bring up to date with trigonometric core.
  909 
  910 2012-12-21  Werner Lemberg  <wl@gnu.org>
  911 
  912 	Check parameters of `FT_Outline_New'.
  913 	Problem reported by Robin Watts <robin.watts@artifex.com>.
  914 
  915 	* src/base/ftoutln.c (FT_Outline_New_Internal): Ensure that
  916 	`numContours' and `numPoints' fit into FT_Outline's `n_points' and
  917 	`n_contours', respectively.
  918 
  919 2012-12-20  Werner Lemberg  <wl@gnu.org>
  920 
  921 	* Version 2.4.11 released.
  922 	==========================
  923 
  924 
  925 	Tag sources with `VER-2-4-11'.
  926 
  927 	* docs/CHANGES, docs/release: Updated.
  928 
  929 	* docs/VERSION.DLL: Update documentation and bump version number to
  930 	2.4.11.
  931 
  932 	* README, Jamfile (RefDoc),
  933 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  934 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  935 	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
  936 	builds/win32/visualc/freetype.dsp,
  937 	builds/win32/visualc/freetype.vcproj,
  938 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  939 	builds/win32/visualce/freetype.vcproj,
  940 	builds/win32/visualce/index.html,
  941 	builds/wince/vc2005-ce/freetype.vcproj,
  942 	builds/wince/vc2005-ce/index.html,
  943 	builds/wince/vc2008-ce/freetype.vcproj,
  944 	builds/wince/vc2008-ce/index.html: s/2.4.10/2.4.11/, s/2410/2411/.
  945 
  946 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 11.
  947 
  948 	* builds/unix/configure.raw (version_info): Set to 16:0:10.
  949 
  950 	* builds/toplevel.mk (dist): Don't include `.mailmap'.
  951 
  952 2012-12-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
  953 
  954 	[base] Improve trigonometric core.
  955 
  956 	FreeType used to rely on a 24-step iteration CORDIC algorithm to
  957 	calculate trigonometric functions and rotate vectors. It turns out
  958 	that once the vector is in the right half-plane, the initial rotation
  959 	by 63 degrees is not necessary. The algorithm is perfectly capable
  960 	to converge to any angle starting from the second 45 degree rotation.
  961 	This patch removes the first rotation and makes it a 23-step CORDIC
  962 	algorithm.
  963 
  964 	* src/base/fttrigon.c (FT_TRIG_SCALE, FT_TRIG_COSCALE): Update macro
  965 	values.
  966 	(ft_trig_pseudo_rotate, ft_trig_pseudo_polarize): Remove initial
  967 	rotation.
  968 
  969 2012-12-19  Werner Lemberg  <wl@gnu.org>
  970 
  971 	* src/base/ftobjs.c (ft_property_do): Fix compiler warning.
  972 
  973 2012-12-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
  974 
  975 	* src/base/ftrfork.c (FT_Raccess_Guess): Switch to FT_Int counters.
  976 
  977 2012-12-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
  978 
  979 	[base] Clean up trigonometric core.
  980 
  981 	* src/base/fttrigon.c (ft_trig_pseudo_polarize): Align algorithm
  982 	with `ft_trig_pseudo_rotate'.
  983 
  984 2012-12-18  Infinality  <infinality@infinality.net>
  985 
  986 	[truetype] Minor performance enhancement.
  987 
  988 	* src/truetype/ttgload.c: (TT_Process_Simple_Glyph): Use FT_MulFix
  989 	instead of FT_MulDiv.
  990 
  991 2012-12-17  Infinality  <infinality@infinality.net>
  992 
  993 	[truetype] Remove unused code and variables.
  994 
  995 	* src/truetype/ttinterp.c: Updated.
  996 	(Ins_FDEF): Remove opcode patterns that are not being used.
  997 
  998 2012-12-16  Werner Lemberg  <wl@gnu.org>
  999 
 1000 	Various compiler warning fixes.
 1001 
 1002 	* include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Use
 1003 	`logical not' operator instead of negation.  The idea is that `~'
 1004 	returns exactly the data type enforced by the cast to a pointer (be
 1005 	it 32bit or 64bit or whatever), while a negative integer has not
 1006 	this flexibility.
 1007 	* src/cache/ftccmap.c (FTC_CMAP_UNKNOWN): Ditto.
 1008 	* src/truetype/ttgxvar.c (ALL_POINTS, TT_Get_MM_Var): Ditto.
 1009 	* src/type/t1load.c (T1_Get_MM_Var): Ditto.
 1010 	(parse_blend_axis_types): Use cast.
 1011 	* src/bdf/bdflib.c (_bdf_readstream): Use cast.
 1012 
 1013 2012-12-16  Infinality  <infinality@infinality.net>
 1014 
 1015 	[truetype] Remove unused code and variables.  Add minor fixes.
 1016 
 1017 	* src/truetype/ttsubpix.h: Updated.
 1018 	(SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Trebuchet MS.
 1019 	(ALLOW_X_DMOVEX_Rules): Remove Arial characters.
 1020 	(ALLOW_X_DMOVE_Rules): Remove Arial characters.
 1021 	(RASTERIZER_35_Rules): Verdana no longer needs to be here.
 1022 	(SKIP_IUP_Rules): Formatting fix.
 1023 	(DELTAP_SKIP_EXAGGERATED_VALUES_Rules): Remove Segoe UI.
 1024 	(COMPATIBLE_WIDTHS_Rules): Add Monaco and Trebuchet MS.
 1025 	(X_SCALING_Rules): Add misc. corrective fixes.
 1026 
 1027 	* src/truetype/ttgload.c: (TT_Process_Simple_Glyph): Adjust correction
 1028 	factor for emboldening during scaling.
 1029 
 1030 	* src/truetype/ttinterp.h: Updated.
 1031 	(TT_ExecContextRec): Remove unused variables.
 1032 
 1033 	* src/truetype/ttobjs.h: Updated.
 1034 	(TT_SizeRec): Add ttfautohinted variable.
 1035 
 1036 	* src/truetype/ttinterp.c: Updated.
 1037 	(Ins_FDEF): Rework code to fix bugs and add more detection.
 1038 	(Ins_CALL): Remove unused code.
 1039 	(Ins_LOOPCALL): Remove unused code.
 1040 	(TT_RunIns): Remove unused code.
 1041 	(Ins_SHPIX): Add logic to handle ttfautohinted fonts.
 1042 	(Ins_MIRP): Don't round x in cut-in calculation.  Add logic to handle
 1043 	ttfautohinted fonts.
 1044 
 1045 2012-12-16  Werner Lemberg  <wl@gnu.org>
 1046 
 1047 	[sfnt] Fix Savannah bug #37936.
 1048 
 1049 	* src/sfnt/ttload.c (tt_face_load_gasp): Avoid memory leak.
 1050 
 1051 2012-12-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1052 
 1053 	[base] Fix 11-year old bug.
 1054 
 1055 	Since the initial commit (ebe85f59) the value of FT_TRIG_SCALE has
 1056 	always been slightly less than the correct value, which has been
 1057 	given in the comment as a hexadecimal. As a result, vector lengths
 1058 	were underestimated and rotated vectors were shortened.
 1059 
 1060 	* src/base/fttrigon.c (FT_TRIG_SCALE): Fix macro value.
 1061 
 1062 2012-12-15  Werner Lemberg  <wl@gnu.org>
 1063 
 1064 	[bdf] Fix Savannah bug #37907.
 1065 
 1066 	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
 1067 	negative second parameter of `ENCODING' field also.
 1068 
 1069 2012-12-15  Werner Lemberg  <wl@gnu.org>
 1070 
 1071 	[bdf] Fix Savannah bug #37906.
 1072 
 1073 	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Use correct array
 1074 	size for checking `glyph_enc'.
 1075 
 1076 2012-12-15  Werner Lemberg  <wl@gnu.org>
 1077 
 1078 	[bdf] Fix Savannah bug #37905.
 1079 
 1080 	* src/bdf/bdflib.c (_bdf_parse_start) <STARTPROPERTIES>: Reset
 1081 	`props_size' to zero in case of allocation error; this value gets
 1082 	used in a loop in `bdf_free_font'.
 1083 
 1084 2012-12-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1085 
 1086 	[truetype] Scale F_dot_P down.
 1087 
 1088 	The dot product between freeVector and projVector or cosine of
 1089 	the angle between these FT_F2Dot14 unit vectors used to be scaled up
 1090 	by 4 and routinely occupied 32 bits in an FT_Long field F_dot_P.
 1091 	This patch scales the value down by 2^14 instead, which simplifies
 1092 	its use throughout the bytecode interpreter.
 1093 
 1094 	This does not lead to the loss of precision because the lower bits
 1095 	are unreliable anyway. Consider two unit vectors (1,0) and (.6,.8)
 1096 	for which the true value of F_dot_P is .6 * 0x40000000 = 0x26666666.
 1097 	These vectors are stored as (0x4000,0) and (0x2666,0x3333) after
 1098 	rounding and F_dot_P is assigned 0x26660000. The lower bits were
 1099 	already lost while rounding the unit vector components.
 1100 
 1101 	Besides code simplification, this change can lead to better
 1102 	performance when FT_MulDiv with the scaled-down F_dot_P is less
 1103 	likely to use the costly 64-bit path. We are not changing the type
 1104 	of F_dot_P to FT_F2Dot14 at this point.
 1105 
 1106 	* src/truetype/ttinterp.c (Compute_Funcs): Scale F_dot_P down by 14
 1107 	bits and modify its use accordingly.
 1108 	(Direct_Move, Direct_Move_Orig, Compute_Point_Displacement): Modify
 1109 	the use of F_dot_P field.
 1110 	* src/truetype/ttobjs.c (tt_size_run_fpgm): Change arbitrary
 1111 	assignment of F_dot_P to its theoretical maximum in case we decide
 1112 	to scale back its type later.
 1113 
 1114 2012-12-09  Johnson Y. Yan  <yinsen_yan@foxitsoftware.com>
 1115 
 1116 	[type1] Another fix for 2012-09-17 commit.
 1117 
 1118 	* src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Correctly set
 1119 	`limit' value.
 1120 
 1121 2012-12-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1122 
 1123 	[truetype] Tweak the previous commit.
 1124 
 1125 	* src/truetype/ttinterp.c (Current_Ratio): Put unit vector
 1126 	components as the second TT_MulFix14 arguments. This is required
 1127 	on 16-bit systems.
 1128 
 1129 2012-12-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1130 
 1131 	[truetype] Microoptimizations in bytecode interpreter.
 1132 
 1133 	* src/truetype/ttinterp.c (TT_DivFix14): New macro.
 1134 	(Normalize): Use it here.
 1135 	(Current_Ratio): Use TT_MulFix14 instead of FT_MulDiv.
 1136 	(Ins_SHPIX): Cancel out two TT_MulFix14 calls.
 1137 
 1138 2012-12-05  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1139 
 1140 	[truetype] Cosmetic improvement in bytecode interpreter.
 1141 
 1142 	* src/truetype/ttinterp.c: Use explicit calls to FT_MulDiv,
 1143 	FT_MulFix, and FT_DivFix instead of macros.
 1144 
 1145 2012-12-03  John Tytgat  <John.Tytgat@esko.com>
 1146 
 1147 	[pshinter] Clamp BlueScale value.
 1148 
 1149 	This is Savannah bug #37856.
 1150 
 1151 	* src/pshinter/pshglob.c (psh_calc_max_height): New function.
 1152 	(psh_globals_new): Use it to limit BlueScale value to
 1153 	`1 / max_of_blue_zone_heights'.
 1154 
 1155 2012-12-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1156 
 1157 	[truetype, type1] Revise the use of FT_MulDiv.
 1158 
 1159 	* src/truetype/ttgxvar.c: Updated.
 1160 	* src/truetype/ttobjs.c: Updated.
 1161 	* src/type1/t1load.c: Updated.
 1162 
 1163 2012-11-30  Werner Lemberg  <wl@gnu.org>
 1164 
 1165 	[configure] Preserve customized `ftoption.h'.
 1166 
 1167 	Problem reported by Del Merritt <del@alum.mit.edu>.
 1168 
 1169 	* builds/unix/configure.raw <cpp computation of bit length>: Don't
 1170 	remove existing FreeType configuration files.
 1171 
 1172 2012-11-29  John Tytgat  <John.Tytgat@esko.com>
 1173 
 1174 	[type1] Fix Savannah bug #37831.
 1175 
 1176 	The bug report also contains a patch.
 1177 
 1178 	* src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Really fix
 1179 	change from 2012-09-17.
 1180 
 1181 2012-11-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1182 
 1183 	[truetype] Fix formatting and typo.
 1184 
 1185 2012-11-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1186 
 1187 	[cid, type1, type42] Clean up units_per_EM calculations.
 1188 
 1189 	* src/cid/cidload.c (cid_parse_font_matrix): Updated.
 1190 	* src/type1/t1load.c (t1_parse_font_matrix): Updated.
 1191 	* src/type42/t42parse.c (t42_parse_font_matrix): Updated.
 1192 
 1193 2012-11-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1194 
 1195 	[ftstroke] Minor improvement.
 1196 
 1197 	* src/base/ftstroke.c: Replace nested FT_DivFix and FT_MulFix with
 1198 	FT_MulDiv.
 1199 
 1200 2012-11-17  Werner Lemberg  <wl@gnu.org>
 1201 
 1202 	* src/base/fttrigon.c (ft_trig_downscale): Make 64bit version work.
 1203 
 1204 2012-11-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1205 
 1206 	[base] Fix integer overflows in dd5718c7d67a.
 1207 
 1208 	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Use FT_MulDiv.
 1209 
 1210 2012-11-15  Werner Lemberg  <wl@gnu.org>
 1211 
 1212 	[autofit] Trace stem widths.
 1213 
 1214 	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Add some
 1215 	FT_TRACE calls.
 1216 
 1217 2012-11-13  Werner Lemberg  <wl@gnu.org>
 1218 
 1219 	[cff] Add support for OpenType Collections (OTC).
 1220 
 1221 	* src/cff/cffload.c (cff_font_load): Separate subfont and face
 1222 	index handling to load both pure CFFs with multiple subfonts and
 1223 	OTCs (with multiple faces where each face holds exactly one
 1224 	subfont).
 1225 	* src/cff/cffobjs.c (cff_face_init): Updated.
 1226 
 1227 2012-11-12  Werner Lemberg  <wl@gnu.org>
 1228 
 1229 	[autofit] Minor improvement.
 1230 
 1231 	* src/autofit/aflatin.c (af_latin_hints_compute_blue_edges): Fix
 1232 	loop.
 1233 
 1234 2012-11-10  Werner Lemberg  <wl@gnu.org>
 1235 
 1236 	[autofit] Improve tracing.
 1237 
 1238 	* src/autofit/aflatin.c (af_latin_hint_edges)
 1239 	[FT_DEBUG_LEVEL_TRACE]: Count number of actions and emit something
 1240 	if there weren't any.
 1241 
 1242 2012-11-04  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1243 
 1244 	[base] Fortify emboldening code against egregious distortions.
 1245 
 1246 	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Threshold emboldening
 1247 	strength when it leads to segment collapse.
 1248 
 1249 2012-11-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1250 
 1251 	[base] Clean up emboldening code and improve comments there.
 1252 
 1253 	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Replace sequential
 1254 	calls to FT_MulFix and FT_DivFix with FT_MulDiv.
 1255 	Mention that bisectors are used to figure out the shift direction.
 1256 
 1257 2012-10-24  Werner Lemberg  <wl@gnu.org>
 1258 
 1259 	[autofit] Add standard character to `AF_ScriptClassRec' structure.
 1260 
 1261 	* src/autofit/aftypes.h (AF_ScriptClassRec): Add `standard_char'
 1262 	member.
 1263 	(AF_DEFINE_SCRIPT_CLASS): Updated.
 1264 
 1265 	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Use it.
 1266 	(af_latin_metrics_init, af_latin_script_class): Updated.
 1267 
 1268 	* src/autofit/aflatin.c (af_latin2_metrics_init_widths): Use it.
 1269 	(af_latin2_metrics_init, af_latin2_script_class): Updated.
 1270 
 1271 	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Use it.
 1272 	(af_cjk_metrics_init, af_cjk_script_class): Updated.
 1273 
 1274 	* src/autofit/afindic.c (af_indic_metrics_init,
 1275 	af_indic_script_class): Updated.
 1276 
 1277 	* src/autofit/afcjk.h, src/autofit/aflatin.h: Updated.
 1278 
 1279 	* src/autofit/afdummy.c: Updated.
 1280 
 1281 2012-10-24  Werner Lemberg  <wl@gnu.org>
 1282 
 1283 	[autofit] Only use Unicode CMap.
 1284 
 1285 	* src/autofit/aflatin.c (af_latin_metrics_init): Implement it, to be
 1286 	in sync with `af_face_globals_compute_script_coverage'.
 1287 
 1288 2012-10-21  Werner Lemberg  <wl@gnu.org>
 1289 
 1290 	[psaux] Improve parsing of invalid numbers.
 1291 
 1292 	* src/psaux/psconv.c (PS_Conv_Strtol): Always parse complete number,
 1293 	even in case of overflow.
 1294 	(PS_Conv_ToInt): Only increase cursor if parsing was successful.
 1295 	(PS_Conv_ToFixed): Ditto.
 1296 	Trace underflow and data error.
 1297 
 1298 2012-10-21  Werner Lemberg  <wl@gnu.org>
 1299 
 1300 	[smooth] Improve tracing.
 1301 
 1302 	* src/smooth/ftgrays.c (gray_sweep): Trace last sweep line of
 1303 	current band also.
 1304 
 1305 2012-10-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1306 
 1307 	[truetype] Cheaper way to threshold angles between vectors.
 1308 
 1309 	* src/truetype/ttinterp.c (Ins_ISECT): Thresholding tangent is a lot
 1310 	cheaper than thresholding sine.
 1311 
 1312 2012-10-20  Werner Lemberg  <wl@gnu.org>
 1313 
 1314 	[cff] Improve parsing of invalid real numbers.
 1315 
 1316 	* src/cff/cffparse.c (cff_parse_real): Always parse complete number,
 1317 	even in case of overflow or underflow.
 1318 	Also trace one more underflow.
 1319 
 1320 2012-10-20  Andreas Pehnack  <andreas.pehnack@me.com>
 1321 
 1322 	[sfnt] Load pure CFF fonts wrapped in SFNT container.
 1323 
 1324 	Such fonts only have a `cmap' and a `CFF' table.
 1325 
 1326 	* src/sfnt/ttload.c (tt_face_load_font_dir): Don't call
 1327 	`check_table_dir' if font signature is `OTTO'.
 1328 
 1329 2012-10-20  Werner Lemberg  <wl@gnu.org>
 1330 
 1331 	[psaux] Fix some value overflows and improve tracing.
 1332 
 1333 	* src/psaux/psconv.c: Include FT_INTERNAL_DEBUG_H.
 1334 	(FT_COMPONENT): Define.
 1335 	(PS_Conv_Strtol): Return FT_Long.
 1336 	Handle bad data and overflow.
 1337 	Emit some tracing messages in case of error.
 1338 	(PS_Conv_ToInt): Return FT_Long.
 1339 	(PS_Conv_ToFixed): Updated.
 1340 	* src/psaux/psconv.h: Updated.
 1341 
 1342 	* include/freetype/internal/fttrace.h: Add `psconv'.
 1343 
 1344 2012-10-20  Werner Lemberg  <wl@gnu.org>
 1345 
 1346 	[autofit] Fix `make multi CC=c++'.
 1347 
 1348 	* src/autofit/aflatin.c, src/autofit/aflatin2.c: Include
 1349 	`afglobal.h'.
 1350 	* src/autofit/afloader.c: Fix order of header files.
 1351 	* src/autofit/afmodule.c: Include `afglobal.h' and `aferrors.h'.
 1352 
 1353 2012-10-19  Werner Lemberg  <wl@gnu.org>
 1354 
 1355 	[cff] Fix more value errors and improve tracing.
 1356 
 1357 	* src/cff/cffparse.c (cff_parse_integer): Emit tracing message in
 1358 	case of error.
 1359 	(cff_parse_real): Handle and trace overflow, underflow, and bad data
 1360 	consistently.
 1361 	(do_fixed): New helper function, handling and tracing overflow.
 1362 	(cff_parse_fixed, cff_parse_fixed_scaled): Use `do_fixed'.
 1363 
 1364 2012-10-17  Werner Lemberg  <wl@gnu.org>
 1365 
 1366 	[psaux] Fix some value overflows.
 1367 
 1368 	* src/psaux/psconv.c (PS_Conv_ToFixed): Implement it.
 1369 
 1370 2012-10-17  Bram Tassyns  <BramT@enfocus.com>
 1371 
 1372 	[cff] Fix value overflow.
 1373 
 1374 	* src/cff/cffparse.c (cff_parse_fixed_scaled): Implement it.
 1375 
 1376 2012-10-17  Werner Lemberg  <wl@gnu.org>
 1377 
 1378 	[truetype] Fix Savannah bug #37572.
 1379 
 1380 	* src/truetype/ttinterp.c (Ins_ISECT): Use angle between vectors to
 1381 	avoid grazing intersections.  The previous threshold was too coarse,
 1382 	incorrectly rejecting short but valid vectors.
 1383 
 1384 2012-09-30  Gilles Espinasse  <g.esp@free.fr>
 1385 
 1386 	Remove useless `rm' detection.
 1387 
 1388 	`rm -f' is directly used in the `configure' script created by
 1389 	autoconf, thus no availability test is necessary.
 1390 
 1391 	* builds/unix/configure.raw (RMF): Remove test.
 1392 	* builds/unix/unix-def.in (DELETE): Updated.
 1393 
 1394 2012-09-29  Werner Lemberg  <wl@gnu.org>
 1395 
 1396 	[autofit] Minor optimization.
 1397 
 1398 	* src/autofit/afglobal.c (af_face_globals_compute_script_coverage):
 1399 	Add loop condition.
 1400 
 1401 2012-09-29  Werner Lemberg  <wl@gnu.org>
 1402 
 1403 	[autofit] Fix thinko.
 1404 
 1405 	* src/autofit/aftypes.h (AF_SCRIPT):
 1406 	s/AF_SCRIPT_NONE/AF_SCRIPT_DUMMY/.  We already use `AF_SCRIPT_NONE'
 1407 	as a bit mask.
 1408 
 1409 	* src/autofit/afdummy.c: Updated.
 1410 
 1411 2012-09-18  Werner Lemberg  <wl@gnu.org>
 1412 
 1413 	[autofit] Implement `increase-x-height' property.
 1414 
 1415 	* include/freetype/ftautoh.h (FT_Prop_IncreaseXHeight): New
 1416 	structure.
 1417 
 1418 	* include/autofit/afmodule.c (af_property_get_face_globals): New
 1419 	function, re-using code from `af_property_get'.
 1420 	(af_property_set, af_property_get): Handle `increase-x-height'.
 1421 	Updated.
 1422 
 1423 2012-09-18  Werner Lemberg  <wl@gnu.org>
 1424 
 1425 	[autofit] Implement Infinality's `increase glyph heights'.
 1426 
 1427 	This is an improved version of a similar fix contained in the
 1428 	so-called `Infinality patch', taken from
 1429 
 1430 	  http://www.infinality.net/fedora/linux/zips/freetype-infinality-2.4.10-20120616_01-x86_64.tar.bz2
 1431 
 1432 	which addresses various enhancements of the auto-hinter.  Without
 1433 	properties to control a module's metadata it wasn't possible to
 1434 	adapt the patches because everything was originally controlled by
 1435 	environment variables which I consider not suitable in general.
 1436 
 1437 	A patch to control `increase_x_height' follows.
 1438 
 1439 	* src/autofit/afglobal.h (AF_PROP_INCREASE_X_HEIGHT_MIN,
 1440 	AF_PROP_INCREASE_X_HEIGHT_MAX): New macros.
 1441 	(AF_FaceGlobalsRec): Add `increase_x_height' member.
 1442 	* src/autofit/afglobal.c (af_face_globals_new): Initialize it.
 1443 
 1444 	* src/autofit/aflatin.c (af_latin_metrics_scale_dim),
 1445 	* src/autofit/aflatin2.c (af_latin2_metrics_scale_dim): Implement
 1446 	handling of `increase_x_height'.
 1447 
 1448 2012-09-18  Werner Lemberg  <wl@gnu.org>
 1449 
 1450 	[autofit] Add hierarchical property access to some structures.
 1451 
 1452 	* src/autofit/afglobal.h: Include `afmodule.h'.
 1453 	(AF_FaceGlobalsRec): Add `module' member.
 1454 	(AF_FaceGlobals): Typedef moved to...
 1455 	* src/autofit/aftypes.h: Here.
 1456 	(AF_ScriptMetricsRec): Add `globals' member.
 1457 
 1458 	* src/autofit/afglobal.c (af_face_globals_new,
 1459 	af_face_globals_compute_script_coverage,
 1460 	af_face_globals_get_metrics): Updated.
 1461 
 1462 	* src/autofit/afloader.c (af_loader_reset), src/autofit/afmodule.c
 1463 	(af_property_get): Updated.
 1464 
 1465 2012-09-17  Werner Lemberg  <wl@gnu.org>
 1466 
 1467 	[type1] Fix Savannah bug #37350.
 1468 
 1469 	* src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Check for ASCII
 1470 	storage only if we actually have at least four bytes.
 1471 
 1472 2012-09-15  Werner Lemberg  <wl@gnu.org>
 1473 
 1474 	[autofit] Implement `fallback-script' property.
 1475 
 1476 	* src/autofit/afglobal.c: s/default_script/fallback_script/.
 1477 	* src/autofit/afglobal.h: s/AF_SCRIPT_DEFAULT/AF_SCRIPT_FALLBACK/.
 1478 
 1479 	* src/autofit/afmodule.c: s/default_script/fallback_script/.
 1480 	(af_property_set, af_property_get): Implement `fallback-script'.
 1481 	* src/autofit/afmodule.h: s/default_script/fallback_script/.
 1482 
 1483 	* include/freetype/ftautoh.h: Document it.
 1484 
 1485 2012-09-15  Werner Lemberg  <wl@gnu.org>
 1486 
 1487 	[autofit] Correct previous Unicode 6.1.0 change.
 1488 
 1489 	The auto-hinter's latin module only handles latin ligatures in the
 1490 	`Alphabetical Presentation Forms' block.
 1491 
 1492 	* src/autofit/aflatin.c (af_latin_uniranges): Fix it.
 1493 
 1494 2012-09-15  Werner Lemberg  <wl@gnu.org>
 1495 
 1496 	* src/autofit/afmodule.c: s/FT_Err_/AF_Err_/.
 1497 
 1498 2012-09-15  Werner Lemberg  <wl@gnu.org>
 1499 
 1500 	[autofit] Make default script a global property.
 1501 
 1502 	* src/autofit/afmodule.h (AF_ModuleRec): Add `default_script' field.
 1503 
 1504 	* src/autofit/afglobal.c (af_face_globals_compute_script_coverage,
 1505 	af_face_globals_new), src/autofit/afloader.c (af_loader_reset),
 1506 	src/autofit/afmodule.c (af_property_get) <glyph-to-script-map>,
 1507 	af_autofitter_init:
 1508 	Handle default script.
 1509 
 1510 	* src/autofit/afglobal.h: Updated.
 1511 
 1512 2012-09-15  Werner Lemberg  <wl@gnu.org>
 1513 
 1514 	Use `FT_Module' instead of `FT_Library' argument in property funcs.
 1515 
 1516 	This internal change simplifies access to global module data.
 1517 
 1518 	* include/freetype/internal/services/svprop.h
 1519 	(FT_Properties_SetFunc, FT_Properties_GetFunc): Change accordingly.
 1520 
 1521 	* src/base/ftobjs.c (ft_property_do), src/autofit/afmodule.c
 1522 	(af_property_set, af_property_get): Updated.
 1523 
 1524 2012-09-14  Werner Lemberg  <wl@gnu.org>
 1525 
 1526 	[autofit] Update to Unicode 6.1.0.
 1527 
 1528 	* src/autofit/afcjk.c (af_cjk_uniranges), src/autofit/aflatin.c
 1529 	(af_latin_uniranges): Add and fix ranges.
 1530 
 1531 2012-09-14  Werner Lemberg  <wl@gnu.org>
 1532 
 1533 	[autofit] Pass `AF_Module' instead of `AF_Loader'.
 1534 
 1535 	We want to access the (not yet existing) module's global data later
 1536 	on.
 1537 
 1538 	* src/autofit/afloader.c: Include `afmodule.h'.
 1539 	(af_loader_init, af_loader_reset, af_loader_done,
 1540 	af_loader_load_glyph): Change accordingly.
 1541 	* src/autofit/afmodule.c (AF_ModuleRec): Move to `afmodule.h'.
 1542 	Updated.
 1543 
 1544 	* src/autofit/afmodule.h: Include `afloader.h'.
 1545 	(AF_ModuleRec): Define here.
 1546 	* src/autofit/afloader.h (AF_Module): Define here.
 1547 	Updated.
 1548 
 1549 2012-09-14  Werner Lemberg  <wl@gnu.org>
 1550 
 1551 	[autofit] Fix `make multi'.
 1552 
 1553 	* include/freetype/internal/fttrace.h: Add `afmodule'.
 1554 	* src/autofit/afmodule.c: Include FT_INTERNAL_DEBUG_H.
 1555 	(FT_COMPONENT): Define.
 1556 
 1557 2012-09-14  Werner Lemberg  <wl@gnu.org>
 1558 
 1559 	* src/autofit/afmodule.c: s/FT_Autofitter/AF_Module/.
 1560 
 1561 2012-09-12  Werner Lemberg  <wl@gnu.org>
 1562 
 1563 	[autofit] Minor reorganization.
 1564 
 1565 	* src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT,
 1566 	AF_SCRIPT_LIST_NONE, AF_DIGIT): Move to...
 1567 	* src/autofit/afglobal.h (AF_SCRIPT_DEFAULT, AF_SCRIPT_LIST_NONE,
 1568 	AF_DIGIT): This and update code.
 1569 
 1570 2012-09-01  Werner Lemberg  <wl@gnu.org>
 1571 
 1572 	[autofit] Implement `glyph-to-script-map' property.
 1573 
 1574 	* include/freetype/ftautoh.h: New public header file.
 1575 	* include/freetype/config/ftheader.h (FT_AUTOHINTER_H): New macro.
 1576 
 1577 	* src/autofit/afglobal.c (AF_FaceGlobalsRec): Move structure to...
 1578 	* src/autofit/afglobal.h: This header file.
 1579 	* src/autofit/afmodule.c: Include FT_AUTOHINTER_H.
 1580 	(af_property_get): Handle `glyph-to-script-map'.
 1581 
 1582 2012-08-31  Werner Lemberg  <wl@gnu.org>
 1583 
 1584 	[autofit] Implement properties service framework.
 1585 
 1586 	No properties are added yet.
 1587 
 1588 	* src/autofit/afmodule.c: Include FT_SERVICE_PROPERTIES_H.
 1589 	(af_property_set, af_property_get): New dummy functions.
 1590 	(af_service_properties, af_services, af_get_interface): Provide
 1591 	service setup.
 1592 	(autofit_moduleclass): Add service interface.
 1593 
 1594 	* src/autofit/afpic.c: Add necessary forward declarations.
 1595 	(autofit_module_class_pic_init): Add code for service addition.
 1596 	(autofit_module_pic_free): Add code for service removal.
 1597 	* src/autofit/afpic.h (AF_SERVICES_GET, AF_SERVICE_PROPERTIES_GET):
 1598 	New macros which provide necessary syntactical sugar for PIC
 1599 	support.
 1600 
 1601 2012-08-30  Werner Lemberg  <wl@gnu.org>
 1602 
 1603 	Implement properties to control FreeType modules.
 1604 
 1605 	* include/freetype/fterrdef.h (FT_Err_Missing_Property): New error
 1606 	code.
 1607 	* include/freetype/ftmodapi.h (FT_Property_Set, FT_Property_Get):
 1608 	New API.
 1609 
 1610 	* include/freetype/internal/services/svprop.h: New file.
 1611 	* include/freetype/internal/ftserv.h (FT_SERVICE_PROPERTIES_H): New
 1612 	macro.
 1613 
 1614 	* src/base/ftobjs.c: Include FT_SERVICE_PROPERTIES_H.
 1615 	(ft_property_do, FT_Property_Set, FT_Property_Get): New functions.
 1616 
 1617 2012-08-29  Werner Lemberg  <wl@gnu.org>
 1618 
 1619 	[docmaker] Allow `-' in tags and identifiers.
 1620 
 1621 	* src/tools/docmaker/content.py (re_identifier),
 1622 	src/tools/docmaker/sources.py (re_markup_tag1, re_markup_tag2,
 1623 	re_crossref): Add `-' in patterns.
 1624 
 1625 2012-08-27  Werner Lemberg  <wl@gnu.org>
 1626 
 1627 	[FT_CONFIG_OPTION_PIC] Fix g++ 4.6.2 compiler warnings.
 1628 
 1629 	* include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER),
 1630 	include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER,
 1631 	FT_DEFINE_MODULE), include/freetype/internal/ftserv.h
 1632 	(FT_DEFINE_SERVICEDESCREC1, FT_DEFINE_SERVICEDESCREC2,
 1633 	FT_DEFINE_SERVICEDESCREC3, FT_DEFINE_SERVICEDESCREC4,
 1634 	FT_DEFINE_SERVICEDESCREC5, FT_DEFINE_SERVICEDESCREC6),
 1635 	src/autofit/afpic.c (autofit_module_class_pic_init),
 1636 	src/base/basepic.c (ft_base_pic_init), src/base/ftinit.c
 1637 	(ft_create_default_module_classes), src/cff/cffparse.c
 1638 	(FT_Create_Class_cff_field_handlers), src/cff/cffpic.c
 1639 	(cff_driver_class_pic_init), src/pshinter/pshpic.c
 1640 	(pshinter_module_class_pic_init), src/psnames/pspic.c
 1641 	(psnames_module_class_pic_init), src/raster/rastpic.c
 1642 	(ft_raster1_renderer_class_pic_init), src/sfnt/sfntpic.c
 1643 	(sfnt_module_class_pic_init), src/sfnt/ttcmap.c
 1644 	(FT_Create_Class_tt_cmap_classes), src/smooth/ftspic.c
 1645 	(ft_smooth_renderer_class_pic_init), src/truetype/ttpic.c
 1646 	(tt_driver_class_pic_init): Initialize allocation variable.
 1647 
 1648 2012-08-27  Werner Lemberg  <wl@gnu.org>
 1649 
 1650 	[truetype] Fix compilation warning.
 1651 
 1652 	* src/truetype/ttgload.c (IS_HINTED): Move macro to...
 1653 	* src/truetype/ttobjs.h: This header file.
 1654 
 1655 2012-08-27  Werner Lemberg  <wl@gnu.org>
 1656 
 1657 	[autofit, cff, pshinter, psnames] More renamings for orthogonality.
 1658 
 1659 	* src/autofit/afmodule.c, src/autofit/afpic.h:
 1660 	s/AF_AUTOFITTER_/AF_/.
 1661 
 1662 	* src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffparse.c,
 1663 	src/cff/cffpic.h: s/FT_CFF_/CFF_/.
 1664 
 1665 	* src/pshinter/pshmod.c, src/pshinter/pshpic.h:
 1666 	s/FT_PSHINTER_/PSHINTER_/.
 1667 
 1668 	* src/psnames/psmodule.c, src/psnames/pspic.h:
 1669 	s/FT_PSCMAPS/PSCMAPS_/.
 1670 
 1671 2012-08-27  Werner Lemberg  <wl@gnu.org>
 1672 
 1673 	[sfnt, truetype] More renamings for orthogonality.
 1674 
 1675 	* src/sfnt/sfdriver.c, src/sfnt/sfntpic.h, src/sfnt/ttcmap.c,
 1676 	src/truetype/ttdriver.c, src/truetype/ttpic.h: s/FT_SFNT_/SFNT_/,
 1677 	s/FT_TT_/TT_/, s/GET_CMAP_INFO_GET/CMAP_INFO_GET/.
 1678 
 1679 2012-08-27  Werner Lemberg  <wl@gnu.org>
 1680 
 1681 	[autofit] Some macro and variable renamings for orthogonality.
 1682 
 1683 	* include/freetype/internal/autohint.h, src/base/ftobjs.c,
 1684 	src/autofit/afmodule.c, src/autofit/afpic.c, src/autofit/afpic.h:
 1685 	s/SERVICE/INTERFACE/, s/service/interface/, s/Service/Interface/.
 1686 
 1687 2012-08-26  Werner Lemberg  <wl@gnu.org>
 1688 
 1689 	Fix Savannah bug #37178.
 1690 
 1691 	* src/base/ftobjs.c (FT_Open_Face): Initialize `error' with
 1692 	`FT_Err_Missing_Module' before loop to indicate `no valid drivers'.
 1693 
 1694 2012-08-17  Werner Lemberg  <wl@gnu.org>
 1695 
 1696 	* src/base/ftsynth.c (FT_GlyphSlot_Oblique): Fix shear angle.
 1697 
 1698 	The old value was far too large (more than 20°).  The new one
 1699 	corresponds to 12°, quite common in typography.
 1700 
 1701 2012-08-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1702 
 1703 	[smooth] Fix Savannah bug #37017.
 1704 
 1705 	* src/smooth/ftgrays.c (gray_render_cubic): Use a different set of
 1706 	checks when detecting super curvy splines to be split.
 1707 
 1708 2012-08-05  Werner Lemberg  <wl@gnu.org>
 1709 
 1710 	[autofit] Improve recognition of flat segments.
 1711 
 1712 	Problem reported by Brad Dunzer <BDunzer@extensis.com>.
 1713 
 1714 	* src/autofit/aflatin.c (af_latin_metrics_init_blues): We have
 1715 	a flat segment if the horizontal distance of best on-points is
 1716 	larger than a given threshold.
 1717 
 1718 2012-08-05  Werner Lemberg  <wl@gnu.org>
 1719 
 1720 	[autofit] Variable renamings.
 1721 
 1722 	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Replace
 1723 	`glyph' with `outline'.
 1724 	s/best_first/best_contour_first/.
 1725 	s/best_last/best_contour_last/.
 1726 
 1727 2012-07-31  Werner Lemberg  <wl@gnu.org>
 1728 
 1729 	[type1] Fix Savannah bug #37000.
 1730 
 1731 	* src/type1/t1load.c (parse_encoding): Fix order of checks.
 1732 
 1733 2012-07-17  Werner Lemberg  <wl@gnu.org>
 1734 
 1735 	[psaux] Fix Savannah bug #36833.
 1736 
 1737 	* src/psaux/t1decode.c (t1operator_seac): `seac' is not a valid
 1738 	operator if we want metrics only.
 1739 
 1740 2012-07-16  Werner Lemberg  <wl@gnu.org>
 1741 
 1742 	[type1] Fix Savannah bug #36832.
 1743 
 1744 	* src/type1/t1load.c (parse_charstrings): Reject negative number of
 1745 	glyphs.
 1746 
 1747 2012-07-13  Werner Lemberg  <wl@gnu.org>
 1748 
 1749 	[type1] Fix Savannah bug #36829.
 1750 
 1751 	* src/type1/t1load.c (parse_encoding): Check cursor position after
 1752 	call to T1_Skip_PS_Token.
 1753 
 1754 2012-07-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1755 
 1756 	Revert the last commit 45337b07.
 1757 
 1758 	* src/base/ftstroke.c (FT_Stroker_New): Revert the previous change.
 1759 
 1760 2012-07-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
 1761 
 1762 	[ftstroke] Fix uninitialized return value.
 1763 
 1764 	* src/base/ftstroke.c (FT_Stroker_New): Return FT_Err_Ok instead.
 1765 
 1766 2012-07-11  Werner Lemberg  <wl@gnu.org>
 1767 
 1768 	[smooth] Avoid memory leak in case of failure.
 1769 
 1770 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use flags to
 1771 	indicate what to clean up after finishing the function, with and
 1772 	without errors.
 1773 
 1774 2012-07-09  Werner Lemberg  <wl@gnu.org>
 1775 
 1776 	Fix compilation with MSVC 5.0.
 1777 
 1778 	Problem reported by Peter Breitenlohner and Akira Kakuto.
 1779 
 1780 	* include/freetype/config/ftstdlib.h (ft_setjmp): Updated.
 1781 	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Remove cast.
 1782 
 1783 2012-07-09  Werner Lemberg  <wl@gnu.org>
 1784 
 1785 	[autofit] Improve debugging messages; do some code cleanup.
 1786 
 1787 	* src/autofit/aflatin.c (af_latin_align_linked_edge,
 1788 	af_latin_hint_edges): Synchronize with formatting used in the
 1789 	ttfautohint project.
 1790 
 1791 2012-07-07  Gilles Espinasse  <g.esp@free.fr>
 1792 
 1793 	Fix strict-aliasing warning.
 1794 
 1795 	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Avoid double cast.
 1796 
 1797 2012-07-07  Dave Thomas  <dave.thomas@metaforic.com>
 1798 
 1799 	[ARM] Fix FT_MulFix_arm.
 1800 
 1801 	* include/freetype/config/ftconfig.h (FT_MulFix_arm) [__arm__]:
 1802 	Avoid ADDS instruction to clobber condition codes.
 1803 
 1804 2012-07-06  Werner Lemberg  <wl@gnu.org>
 1805 
 1806 	[autofit] Do some code cleanup.
 1807 
 1808 	* src/autofit/afglobal.c (af_face_globals_new): Simplify.
 1809 
 1810 	* src/autofit/afhints.c: Use `FT_TRACE7' instead of `printf'
 1811 	everywhere.
 1812 	(FT_COMPONENT): New macro.
 1813 	(af_glyph_hints_done): Simplify.
 1814 
 1815 	* include/freetype/internal/fttrace.h: Updated.
 1816 
 1817 2012-07-05  Werner Lemberg  <wl@gnu.org>
 1818 
 1819 	[autofit] Improve output of debugging information.
 1820 
 1821 	* src/autofit/afhints.c (af_glyph_hints_dump_segments): Print more
 1822 	data; report no data.
 1823 	(af_glyph_hints_dump_edges): Report no data.
 1824 
 1825 2012-07-04  Werner Lemberg  <wl@gnu.org>
 1826 
 1827 	[autofit] Fix Savannah bug #36091.
 1828 
 1829 	* src/autofit/aflatin.c (af_latin_metrics_init_blues),
 1830 	src/autofit/aflatin2.c (af_latin2_metrics_init_blues): Change the
 1831 	constraint for testing round vs. flat segment: Accept either a
 1832 	small distance or a small angle.
 1833 
 1834 2012-07-04  Werner Lemberg  <wl@gnu.org>
 1835 
 1836 	[autofit] Beautify blue zone tracing.
 1837 
 1838 	* src/autofit/aflatin.c (af_latin_metrics_init_blues),
 1839 	src/autofit/aflatin2.c (af_latin2_metrics_init_blues): Implement it.
 1840 
 1841 2012-07-03  Werner Lemberg  <wl@gnu.org>
 1842 
 1843 	[autofit] Quantize stem widths.
 1844 
 1845 	* src/autofit/afangles.c (af_sort_widths): Rename to...
 1846 	(af_sort_and_quantize_widths): This.
 1847 	Add code to avoid stem widths which are almost identical.
 1848 	* src/autofit/aftypes.h, src/autofit/aflatin.c, src/autofit/afcjk.c:
 1849 	Updated.
 1850 
 1851 2012-07-03  Werner Lemberg  <wl@gnu.org>
 1852 
 1853 	[autofit] Minor speed-up.
 1854 
 1855 	* src/autofit/afangles (af_sort_pos, af_sort_widths): Don't swap
 1856 	elements if they are equal.
 1857 
 1858 2012-06-30  Gilles Espinasse  <g.esp@free.fr>
 1859 
 1860 	Fix `checking if gcc static flag -static works' test.
 1861 
 1862 	On my linux build tree, I receive yes answer in every package I
 1863 	build except FreeType for this test checking if gcc static flag
 1864 	`-static' works
 1865 
 1866 	In FreeType, no is received, unless bzip2 and zlib are disabled using
 1867 
 1868 	  ./configure --without-bzip2 --without-zlib
 1869 
 1870 	The reason is that bzip2 and zlib tests add `-lz' and `-lbz2' to
 1871 	LDFLAGS and this broke static flag test.
 1872 
 1873 	* builds/unix/configure.raw: Update CFLAGS and LDFLAGS only after
 1874 	LT_INIT has run.
 1875 
 1876 2012-06-28  Infinality  <infinality@infinality.net>
 1877 
 1878 	[truetype] Fix various artifacts.
 1879 
 1880 	Verdana was broken in the original Infinality commit.  Also
 1881 	includes other minor fixes.
 1882 
 1883 	* src/truetype/ttsubpix.h: Updated.  Removed unused macros.
 1884 	(RASTERIZER_35_Rules): Add Verdana.
 1885 	(SKIP_NONPIXEL_Y_MOVES_Rules): Add Tahoma `s'.
 1886 	(MIRP_CVT_ZERO_Rules): Remove Verdana.
 1887 	(ALWAYS_SKIP_DELTAP_Rules): Add Russian char 0x438.
 1888 	(COMPATIBLE_WIDTHS_Rules): Rearrange some rules.
 1889 	(X_SCALING_Rules): Adjust Verdana `a' at 12 and 13 ppem.
 1890 
 1891 	* src/truetype/ttsubpix.c: Updated.
 1892 	(sph_set_tweaks): Re-execute fpgm always.
 1893 
 1894 2012-06-28  Gilles Espinasse  <g.esp@free.fr>
 1895 
 1896 	Fix CFLAGS and LDFLAGS share configure test.
 1897 
 1898 	* builds/unix/configure.raw: Fix typo.
 1899 
 1900 2012-06-28  Werner Lemberg  <wl@gnu.org>
 1901 
 1902 	[truetype] Set the `subpixel_positioned' flag unconditionally.
 1903 
 1904 	This is how the code currently behaves.
 1905 
 1906 	* src/truetype/ttgload.c (tt_loader_init): Do it.
 1907 
 1908 2012-06-27  Werner Lemberg  <wl@gnu.org>
 1909 
 1910 	Fix conditional compilation.
 1911 
 1912 	* src/base/basepic.c: Use FT_CONFIG_OPTION_MAC_FONTS.
 1913 
 1914 2012-06-27  Werner Lemberg  <wl@gnu.org>
 1915 
 1916 	Fix conditional compilation.
 1917 
 1918 	* include/freetype/internal/ftcalc.h (FT_MulDiv_No_Round): Don't
 1919 	enclose with `TT_USE_BYTECODE_INTERPRETER'; we now need the function
 1920 	elsewhere also.
 1921 
 1922 	* src/autofit/afcjk.h: Use AF_CONFIG_OPTION_CJK.
 1923 
 1924 	* src/truetype/ttgload.c (tt_loader_init): Fix compiler warning.
 1925 
 1926 	* src/truetype/ttinterp.c (Ins_MSIRP): Fix compiler warning.
 1927 
 1928 	* src/truetype/ttinterp.h: Use
 1929 	TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
 1930 
 1931 2012-06-26  Infinality  <infinality@infinality.net>
 1932 
 1933 	[truetype] Remove unused rounding functionality.
 1934 
 1935 	The subpixel hinting patch contained the concept of an adjustable
 1936 	number of gridlines per pixel.  This is no longer used due to x
 1937 	being completely ignored instead.  This will return some of the
 1938 	code to its existing state prior to the original Infinality
 1939 	commit.
 1940 
 1941 	* include/freetype/internal/ftobjs.h (FT_PIX_FLOOR_GRID,
 1942 	FT_PIX_ROUND_GRID, FT_PIX_CEIL_GRID): Removed.
 1943 
 1944 	* src/truetype/ttinterp.c: Updated.
 1945 	(Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
 1946 	Round_Up_To_Grid, Round_To_Double_Grid, Round_Super, Round_Super_45,
 1947 	SetSuperRound): Remove parameter to handle the number of grid lines per
 1948 	pixel.
 1949 	(SET_SuperRound, ROUND_None, CUR_Func_round): Updated.
 1950 	(DO_SROUND, DOS45ROUND, DO_ODD, DO_EVEN): Updated.
 1951 	(DO_ROUND, DO_NROUND): Updated.
 1952 	(Move_Zp2_Point, Ins_SHPIX, Ins_MSIRP, Ins_MDAP, Ins_MIAP,
 1953 	Ins_MDRP, Ins_MIRP): Perform Round_None instead of calling a modified
 1954 	rounding function.  Remove gridlines_per_pixel.  Create a local
 1955 	variable to store control value cutin. Simplify the conditional for
 1956 	ignore_x_mode.  Adjust rounding calls to pass only two values.
 1957 
 1958 2012-06-25  Werner Lemberg  <wl@gnu.org>
 1959 
 1960 	[cff] Fix Savannah bug #36705.
 1961 
 1962 	Handle numbers like 2.001 correctly.
 1963 
 1964 	* src/cff/cffparse.c (cff_parse_real): Avoid negative values for
 1965 	`shift'.
 1966 
 1967 2012-06-18  Infinality  <infinality@infinality.net>
 1968 
 1969 	[truetype] Support subpixel hinting.
 1970 
 1971 	This is the large, famous `Infinality' patch to support ClearType
 1972 	bytecode which has been available from
 1973 	http://www.infinality.net/blog/ for some time, and which has been
 1974 	refined over the last years.  While still experimental, it is now
 1975 	mature enough to be included directly into FreeType.
 1976 
 1977 	Most of the code is based on the ClearType whitepaper written by
 1978 	Greg Hitchcock
 1979 
 1980 	  https://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
 1981 
 1982 	which gives a detailed overview of the necessary changes to the
 1983 	Microsoft rasterizer so that older fonts are supported.  However, a
 1984 	lot of details are still missing, and this patches provides a
 1985 	framework to easily handle rendering issues down to the glyph level
 1986 	of certain fonts.
 1987 
 1988 	Note that ClearType support is not completely implemented!  In
 1989 	particular, full support for the options `compatible_widths',
 1990 	`symmetrical_smoothing, and `bgr' (via the GETINFO bytecode
 1991 	instruction) is missing.
 1992 
 1993 	* src/truetype/ttsubpix.c: New file, providing code to handle
 1994 	`tweaks', this is, rules for certain glyphs in certain fonts
 1995 	(including wildcards) which need a special treatment.
 1996 
 1997 	* src/truetype/ttsubpix.h: New file, holding the tweaking rules.
 1998 
 1999 	* include/freetype/config/ftoption.h, src/devel/ftoption.h
 2000 	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): New macro.
 2001 
 2002 	* include/freetype/internal/ftobjs.h (FT_PIX_FLOOR_GRID,
 2003 	FT_PIX_ROUND_GRID, FT_PIX_CEIL_GRID): New macros.
 2004 
 2005 	* src/truetype/truetype.c [TT_USE_BYTECODE_INTERPRETER]: Include
 2006 	`ttsubpix.c'.
 2007 
 2008 	* src/truetype/ttgload.c: Include `ttsubpix.h'.
 2009 	[All changes below are guarded by TT_CONFIG_OPTION_SUBPIXEL_HINTING.]
 2010 
 2011 	(tt_get_metrics): Set tweak flags.
 2012 	(TT_Hint_Glyph): Call `FT_Outline_EmboldenXY' if necessary.
 2013 	(TT_Process_Simple_Glyph): Compensate emboldening if necessary.
 2014 	(compute_glyph_metrics): Handle `compatible widths' option.
 2015 	(tt_loader_init): Handle ClearType GETINFO information bits.
 2016 
 2017 	* src/truetype/rules.mk (TT_DRV_SRC): Updated.
 2018 
 2019 	* src/truetype/ttinterp.c: Include `ttsubpix.h'.
 2020 	[Where necessary, changes below are guarded by
 2021 	TT_CONFIG_OPTION_SUBPIXEL_HINTING.]
 2022 
 2023 	(Direct_Move, Direct_Move_X): Extended.
 2024 	(Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
 2025 	Round_Up_To_Grid, Round_To_Double_Grid, Round_Super, Round_Super_45,
 2026 	SetSuperRound): Add parameter to handle the number of grid lines per
 2027 	pixel.
 2028 	(SET_SuperRound, ROUND_None, CUR_Func_round): Updated.
 2029 	(DO_SROUND, DOS45ROUND, DO_ODD, DO_EVEN): Updated.
 2030 	(DO_ROUND, DO_NROUND): Updated.
 2031 	(DO_RS): Take care of `Typeman' bytecode patterns.
 2032 	(Ins_FDEF): Add some debugging code.  Commented out.
 2033 	(Ins_ENDF): Restore state.
 2034 	(Ins_CALL, Ins_LOOPCALL): Handle inline delta functions.
 2035 	(Ins_MD): Handle `Vacuform' rounds.
 2036 	(Move_Zp2_Point, Ins_SHPIX, Ins_MSIRP, Ins_MDAP, Ins_MIAP,
 2037 	Ins_MDRP, Ins_MIRP): Handle tweaks.
 2038 	(Ins_ALIGNRP): Add tweak guard.
 2039 	(Ins_IUP, Ins_DELTAP): Handle tweaks.
 2040 	(Ins_GETINFO): Handle new ClearType bits.
 2041 	(TT_RunIns): Handle tweaks.
 2042 
 2043 	* src/truetype/ttinterp.h: Updated.
 2044 	(SPH_TweakRule, SPH_ScaleRule): New structures for tweaks.
 2045 	(TT_ExecContextRec): Add members for subpixel hinting support.
 2046 
 2047 	* src/truetype/ttobjs.h (TT_DefRecord): Add `inline_delta' member.
 2048 
 2049 2012-06-15  Werner Lemberg  <wl@gnu.org>
 2050 
 2051 	* Version 2.4.10 released.
 2052 	=========================
 2053 
 2054 
 2055 	Tag sources with `VER-2-4-10'.
 2056 
 2057 	* docs/VERSION.DLL: Update documentation and bump version number to
 2058 	2.4.10.
 2059 
 2060 	* README, Jamfile (RefDoc),
 2061 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 2062 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 2063 	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
 2064 	builds/win32/visualc/freetype.dsp,
 2065 	builds/win32/visualc/freetype.vcproj,
 2066 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 2067 	builds/win32/visualce/freetype.vcproj,
 2068 	builds/win32/visualce/index.html,
 2069 	builds/wince/vc2005-ce/freetype.vcproj,
 2070 	builds/wince/vc2005-ce/index.html,
 2071 	builds/wince/vc2008-ce/freetype.vcproj,
 2072 	builds/wince/vc2008-ce/index.html: s/2.4.9/2.4.10/, s/249/2410/.
 2073 
 2074 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
 2075 
 2076 	* builds/unix/configure.raw (version_info): Set to 15:0:9.
 2077 
 2078 2012-06-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
 2079 
 2080 	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Improve spacing.
 2081 
 2082 	* docs/CHANGES: Updated.
 2083 
 2084 2012-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2085 
 2086 	* builds/exports.mk: Add CCexe_CFLAGS and CCexe_LDFLAGS.
 2087 
 2088 	to pass special compiler/linker flags under cross development.
 2089 	Suggested by Savannah bug #36367.
 2090 
 2091 	ChangeLog on 2010-07-15 saying as they were removed was wrong
 2092 	for the official trunk of FreeType2.  This commit is the first
 2093 	introduction of them.
 2094 
 2095 2012-06-14  Werner Lemberg  <wl@gnu.org>
 2096 
 2097 	* docs/CHANGES: Updated.
 2098 
 2099 2012-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2100 
 2101 	[truetype] Add new versions of NEC FA family to tricky font list.
 2102 
 2103 	NEC FA family dated in 1996 have different checksum.
 2104 	Reported by Johnson Y. Yan <yinsen_yan@foxitsoftware.com>; see
 2105 
 2106 	  https://lists.gnu.org/archive/html/freetype-devel/2012-06/msg00023.html
 2107 
 2108 	* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): 4 sets
 2109 	of fpgm & prep table checksums for FA-Gothic, FA-Minchou,
 2110 	FA-RoundedGothicM, FA-RoundedGothicB are added.  The family
 2111 	names in sample PDF are truncated, thus the list of the
 2112 	family names in tt_check_trickyness_family() is not updated yet.
 2113 
 2114 2012-06-06  Werner Lemberg  <wl@gnu.org>
 2115 
 2116 	[ftraster] Fix rounding issue causing visual artifacts.
 2117 
 2118 	Problem reported by jola <hans-jochen.lau@lhsystems.com>; see
 2119 
 2120 	  https://lists.gnu.org/archive/html/freetype-devel/2012-05/msg00036.html
 2121 
 2122 	* src/raster/ftraster.c (SMulDiv_No_Round): New macro.
 2123 	(Line_Up): Use it.
 2124 	* src/raster/ftmisc.h (FT_MulDiv_No_Round): Copied from `ftcalc.c'.
 2125 
 2126 2012-05-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
 2127 
 2128 	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Simplify.
 2129 
 2130 	We now use the cross product of the direction vectors to compute the
 2131 	outline's orientation.
 2132 
 2133 2012-05-28  Werner Lemberg  <wl@gnu.org>
 2134 
 2135 	* docs/CHANGES: Updated.
 2136 
 2137 2012-05-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
 2138 
 2139 	New function FT_Outline_EmboldenXY.
 2140 
 2141 	* include/freetype/ftoutln.h (FT_Outline_EmboldenXY): Define it.
 2142 
 2143 	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Implement it, using a
 2144 	simplified emboldening algorithm.
 2145 	(FT_Outline_Embolden): Make it a special case of
 2146 	`FT_Outline_EmboldenXY'
 2147 
 2148 2012-05-07  Werner Lemberg  <wl@gnu.org>
 2149 
 2150 	[type1] Fix Savannah bug #36386.
 2151 
 2152 	* src/type1/t1load.c (t1_load_keyword): Ignore keyword if context is
 2153 	not valid.
 2154 
 2155 2012-04-07  Werner Lemberg  <wl@gnu.org>
 2156 
 2157 	Remove compiler warning.
 2158 
 2159 	* src/truetype/ttgload.c (TT_Load_Glyph)
 2160 	[!TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Access `glyph->face' directly.
 2161 
 2162 2012-03-28  Werner Lemberg  <wl@gnu.org>
 2163 
 2164 	[autofit] Properly copy scaler flags to script metrics object.
 2165 
 2166 	Without this patch, only the dummy and cjk autohinter modules get
 2167 	them (since they copy the whole scaler object).
 2168 
 2169 	* src/autofit/aflatin.c (af_latin_metrics_scale),
 2170 	src/autofit/aflatin2.c (af_latin2_metrics_scale): Implement it.
 2171 
 2172 2012-03-22  Alexei Podtelezhnikov  <apodtele@gmail.com>
 2173 
 2174 	[bdflib] Remove redundant macro.
 2175 
 2176 	* src/bdf/bdflib.c (isdigok): Remove and replace with sbitset, which
 2177 	is exactly the same.
 2178 
 2179 2012-03-20  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2180 
 2181 	[configure] Fix Savannah bug #35644.
 2182 
 2183 	* builds/unix/configure.raw: Check `-ansi' flag works even if gcc
 2184 	is used.  Bionic libc headers for Android lose the consistency
 2185 	when they are parsed with __STDC_VERSION__ older than 199901L or
 2186 	__STRICT_ANSI__.
 2187 
 2188 2012-03-20  Werner Lemberg  <wl@gnu.org>
 2189 
 2190 	[bdf] Improvement to Savannah bug #35656.
 2191 
 2192 	* src/bdf/bdflib.c (isdigok): Add cast, as suggested in report.
 2193 
 2194 2012-03-17  Chris Liddell  <chris.liddell@artifex.com>
 2195 
 2196 	[type1] Fix Savannah bug #35847.
 2197 
 2198 	* src/type1/t1load.c (parse_subrs): Fix the loop exit condition;
 2199 	we want to exit when we have run out of data.
 2200 
 2201 2012-03-16  Werner Lemberg  <wl@gnu.org>
 2202 
 2203 	[bdf] Really fix Savannah bug #35658.
 2204 
 2205 	* src/bdf/bdflib.c (_bdf_list_split): Add one more `field' initializer.
 2206 
 2207 2012-03-14  Yann Droneaud  <yann@droneaud.fr>
 2208 
 2209 	[sfnt] Make arrays static like all others.
 2210 
 2211 	* src/sfnt/ttload.c (tt_face_load_maxp, tt_face_load_os2),
 2212 	src/sfnt/ttmtx.c (tt_face_load_hhea): Add `static' keyword to frame
 2213 	fields.
 2214 
 2215 2012-03-14  Huw Davies  <huw@codeweavers.com>
 2216 
 2217 	[sfnt] A refinement of the previous commit.
 2218 
 2219 	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16,
 2220 	tt_name_entry_ascii_from_other): Stop at null byte.
 2221 
 2222 2012-03-14  Huw Davies  <huw@codeweavers.com>
 2223 
 2224 	[sfnt] Add `name' table compatibility to MS Windows.
 2225 
 2226 	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16,
 2227 	tt_name_entry_ascii_from_other): Don't replace `\0' with question
 2228 	marks when converting strings.
 2229 
 2230 2012-03-14  Werner Lemberg  <wl@gnu.org>
 2231 
 2232 	[type1] Fix Savannah bug #35833.
 2233 
 2234 	Based on the patch given in the bug report.
 2235 
 2236 	* src/type1/t1load.c (IS_INCREMENTAL): New macro.
 2237 	(read_binary_data): Add parameter `incremental'.
 2238 	Update all callers using `IS_INCREMENTAL'.
 2239 
 2240 2012-03-11  Werner Lemberg  <wl@gnu.org>
 2241 
 2242 	[autofit] Return correct linear advance width values.
 2243 
 2244 	This was quite a subtle bug which accidentally showed up with glyph
 2245 	`afii10023' of arial.ttf (version 2.76).  This glyph is a composite;
 2246 	the first component, `E', has an advance width of 1366 font units,
 2247 	while the advance width of the composite itself (which looks like
 2248 	uppercase `E' with dieresis) is 1367 font units.  I think this is
 2249 	actually a bug in the font itself, because there is no reason that
 2250 	this glyph has not the same width as uppercase `E' without the
 2251 	dieresis.  Anyway, it helped identify this problem.
 2252 
 2253 	Using the TrueType hinter, the correct value (1367) of `afii10023'
 2254 	was returned, but the autohinter mysteriously returned 1366.
 2255 
 2256 	Digging in the code showed that the autohinter recursively calls
 2257 	FT_Load_Glyph to load the glyph, adding the FT_LOAD_NO_SCALE load
 2258 	flag.  However, the `linearHoriAdvance' field is still returned as a
 2259 	scaled value.  To avoid scaling twice, the old code in autofit reset
 2260 	`linearHoriAdvance', using the `horiAdvance' field.  This seemed to
 2261 	work since FT_LOAD_NO_SCALE was in use, but it failed actually,
 2262 	because `horiAdvance' is defined as the distance of the first
 2263 	subglyph's phantom points, which in turn are initialized using the
 2264 	advance width of the first subglyph.  And as the given example
 2265 	shows, these widths can differ.
 2266 
 2267 	* src/autofit/afloader.c (af_loader_load_g): Temporarily set
 2268 	FT_LOAD_LINEAR_DESIGN while calling FT_Load_Glyph to get unscaled
 2269 	values for the linear advance widths.
 2270 
 2271 2012-03-10  Werner Lemberg  <wl@gnu.org>
 2272 
 2273 	[truetype] Fix SSW instruction.
 2274 
 2275 	* src/truetype/ttinterp.c (DO_SSW): SSW *does* use font units.  For
 2276 	verification, it took some time to find a font which actually uses
 2277 	this instruction.
 2278 
 2279 2012-03-09  Vinnie Falco  <vinnie.falco@gmail.com>
 2280 
 2281 	Prepare source code for amalgamation.
 2282 
 2283 	* include/freetype/freetype.h: Swap order of preprocessor blocks.
 2284 
 2285 2012-03-08  Werner Lemberg  <wl@gnu.org>
 2286 
 2287 	* Version 2.4.9 released.
 2288 	=========================
 2289 
 2290 
 2291 	Tag sources with `VER-2-4-9'.
 2292 
 2293 	* docs/CHANGES: Updated.
 2294 
 2295 	* docs/VERSION.DLL: Update documentation and bump version number to
 2296 	2.4.9.
 2297 
 2298 	* README, Jamfile (RefDoc),
 2299 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 2300 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 2301 	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
 2302 	builds/win32/visualc/freetype.dsp,
 2303 	builds/win32/visualc/freetype.vcproj,
 2304 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 2305 	builds/win32/visualce/freetype.vcproj,
 2306 	builds/win32/visualce/index.html,
 2307 	builds/wince/vc2005-ce/freetype.vcproj,
 2308 	builds/wince/vc2005-ce/index.html,
 2309 	builds/wince/vc2008-ce/freetype.vcproj,
 2310 	builds/wince/vc2008-ce/index.html: s/2.4.8/2.4.9/, s/248/249/.
 2311 
 2312 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 9.
 2313 
 2314 	* builds/unix/configure.raw (version_info): Set to 14:1:8.
 2315 
 2316 2012-03-08  Werner Lemberg  <wl@gnu.org>
 2317 
 2318 	[bdf] Add missing overflow check.
 2319 
 2320 	* src/bdf/bdflib.c (_bdf_parse_glyphs) <BITMAP>: Add threshold for
 2321 	`glyph->bpr'.
 2322 
 2323 2012-03-07  Vinnie Falco  <vinnie.falco@gmail.com>
 2324 
 2325 	Prepare source code for amalgamation.
 2326 
 2327 	* src/autofit/aferrors.h, src/bdf/bdferror.h, src/bzip2/ftbzip2.c,
 2328 	src/cache/ftcerror.h, src/cff/cfferrs.h, src/cid/ciderrs.h,
 2329 	src/gxvalid/gxverror.h, src/gzip/ftgzip.c, src/lzw/ftlzw.c,
 2330 	src/otvalid/otverror.h, src/pcf/pcferror.h, src/pfr/pfrerror.h,
 2331 	src/psaux/psauxerr.h, src/pshinter/pshnterr.h,
 2332 	src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
 2333 	src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
 2334 	src/type1/t1errors.h, src/type42/t42error.h, src/winfonts/fnterrs.h:
 2335 	Add #undef FT_ERR_PREFIX before #define FT_ERR_PREFIX.
 2336 
 2337 2012-03-03  Werner Lemberg  <wl@gnu.org>
 2338 
 2339 	Fix Savannah bug #35660.
 2340 
 2341 	For some divisions, we use casts to 32bit entities.  Always guard
 2342 	against division by zero with these casts also.
 2343 
 2344 	* src/base/ftcalc.c (ft_div64by32): Remove redundant cast.
 2345 	(FT_MulDiv, FT_MulDiv_No_Round): Add 32bit cast.
 2346 	(FT_DivFix): Add 32bit cast (this omission triggered the bug).
 2347 
 2348 2012-03-03  Werner Lemberg  <wl@gnu.org>
 2349 
 2350 	[psaux] Fix handling of track kerning.
 2351 
 2352 	* src/psaux/afmparse.c (afm_parse_track_kern): Don't inverse sign
 2353 	for `min_kern'.  It is indeed quite common that track kerning
 2354 	*increases* spacing for very small sizes.
 2355 
 2356 2012-03-02  Werner Lemberg  <wl@gnu.org>
 2357 
 2358 	[truetype] Fix Savannah bug #35689.
 2359 
 2360 	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check first outline
 2361 	point.
 2362 
 2363 2012-03-01  Werner Lemberg  <wl@gnu.org>
 2364 
 2365 	[bdf] Fix Savannah bug #35656.
 2366 
 2367 	* src/bdf/bdflib.c (_bdf_parse_glyphs) <_BDF_BITMAP>: Check validity
 2368 	of nibble characters instead of accessing `a2i' array.
 2369 
 2370 2012-03-01  Werner Lemberg  <wl@gnu.org>
 2371 
 2372 	[winfonts] Fix Savannah bug #35659.
 2373 
 2374 	* src/winfonts/winfnt.c (FNT_Face_Init): Check number of glyphs.
 2375 
 2376 2012-03-01  Werner Lemberg  <wl@gnu.org>
 2377 
 2378 	[bdf] Fix Savannah bug #35658.
 2379 
 2380 	* src/bdf/bdflib.c (_bdf_list_split): Initialize `field' elements
 2381 	properly.
 2382 
 2383 2012-03-01  Werner Lemberg  <wl@gnu.org>
 2384 
 2385 	[psaux] Fix Savannah bug #35657.
 2386 
 2387 	If in function `skip_spaces' the routine `skip_comment' comes to the
 2388 	end of buffer, `cur' is still increased by one, so we need to check
 2389 	for `p >= limit' and not `p == limit'.
 2390 
 2391 	* src/psaux/psconv.c (PS_Conv_Strtol, PS_Conv_ToFixed,
 2392 	PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Fix boundary checking.
 2393 
 2394 2012-03-01  Werner Lemberg  <wl@gnu.org>
 2395 
 2396 	[truetype] Fix Savannah bug #35646.
 2397 
 2398 	* src/truetype/ttinterp.c (Ins_MIRP): Typo, present since ages.  The
 2399 	code is now in sync with the other operators (e.g. MSIRP) which
 2400 	modify twilight points.
 2401 
 2402 2012-03-01  Werner Lemberg  <wl@gnu.org>
 2403 
 2404 	[bdf] Fix Savannah bug #35643.
 2405 
 2406 	* src/bdf/bdflib.c (_bdf_list_ensure): Bring code in sync with
 2407 	comment before `_bdf_list_split', this is, really allocate at least
 2408 	five `field' elements.
 2409 
 2410 2012-03-01  Werner Lemberg  <wl@gnu.org>
 2411 
 2412 	[bdf] Fix Savannah bug #35641.
 2413 
 2414 	* src/bdf/bdflib.c (_bdf_parse_glyphs) <DWIDTH, BBX>: Abort if
 2415 	_BDF_ENCODING isn't set.  We need this because access to the `glyph'
 2416 	variable might be undefined otherwise.
 2417 
 2418 2012-03-01  Werner Lemberg  <wl@gnu.org>
 2419 
 2420 	[truetype] Fix Savannah bug #35640.
 2421 
 2422 	* src/truetype/ttinterp.c (SkipCode, TT_RunIns): Fix boundary check
 2423 	for NPUSHB and NPUSHW instructions.
 2424 
 2425 2012-02-29  Werner Lemberg  <wl@gnu.org>
 2426 
 2427 	[truetype] Fix Savannah bug #35601.
 2428 
 2429 	* src/truetype/ttinterp.c (Ins_SHZ): Use number of points instead of
 2430 	last point for loop.
 2431 	Also remove redundant boundary check.
 2432 
 2433 2012-02-29  Werner Lemberg  <wl@gnu.org>
 2434 
 2435 	[truetype] Remove redundant check.
 2436 
 2437 	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
 2438 	second check for ordered contour start points.
 2439 
 2440 2012-02-29  Werner Lemberg  <wl@gnu.org>
 2441 
 2442 	[truetype] Make SHC instruction behave similar to MS rasterizer.
 2443 
 2444 	* src/truetype/ttinterp.c (Ins_SHC): Handle virtual contour in
 2445 	twilight zone.
 2446 
 2447 2012-02-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
 2448 
 2449 	Avoid modulo operators against a power-of-two denominator.
 2450 
 2451 	* src/afcjk.c (af_hint_normal_stem), src/base/ftoutln.c
 2452 	(ft_contour_has), src/cff/cffgload.c (cff_decoder_parse_charstrings)
 2453 	<cff_op_vvcurveto, cff_op_hhcurveto, cff_op_hvcurveto>,
 2454 	src/gxvalid/gxvcommn.c (GXV_32BIT_ALIGNMENT_VALIDATE),
 2455 	src/gxvalid/gxvfeat.c (gxv_feat_setting_validate): Replace `%' with
 2456 	`&' operator.
 2457 
 2458 2012-02-29  Werner Lemberg  <wl@gnu.org>
 2459 
 2460 	[autofit] Don't synchronize digit widths for light rendering mode.
 2461 
 2462 	We don't hint horizontally in this mode.
 2463 
 2464 	* src/autofit/afloader.c (af_loader_load_g) <Hint_Metrics>:
 2465 	Implement it.
 2466 
 2467 2012-02-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
 2468 
 2469 	[type42] Minor code optimization (again).
 2470 
 2471 	* src/type42/t42parse.c (t42_parse_sfnts): Simplify previous change.
 2472 
 2473 2012-02-26  Mateusz Jurczyk  <mjurczyk@google.com>
 2474 	    Werner Lemberg  <wl@gnu.org>
 2475 
 2476 	[smooth] Fix Savannah bug #35604.
 2477 
 2478 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `FT_Pos'
 2479 	instead of `FT_UInt' for some variables and update comparisons
 2480 	accordingly.  A detailed analysis can be found in the bug report.
 2481 
 2482 2012-02-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
 2483 
 2484 	[type42] Minor code optimization.
 2485 
 2486 	* src/type42/t42parse.c (t42_parse_sfnts): Use bitmask instead of
 2487 	modulo operator.
 2488 
 2489 2012-02-26  Werner Lemberg  <wl@gnu.org>
 2490 
 2491 	* docs/CHANGES: Updated.
 2492 
 2493 2012-02-26  Werner Lemberg  <wl@gnu.org>
 2494 
 2495 	[type1] Fix Savannah bug #35608.
 2496 
 2497 	* src/type1/t1parse.c (T1_Get_Private_Dict): Reject too short
 2498 	dictionaries.
 2499 
 2500 2012-02-26  Werner Lemberg  <wl@gnu.org>
 2501 
 2502 	[bdf] Support `ENCODING -1 <n>' format.
 2503 
 2504 	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Implement it.
 2505 
 2506 2012-02-26  Werner Lemberg  <wl@gnu.org>
 2507 
 2508 	[bdf] Fix Savannah bug #35607.
 2509 
 2510 	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
 2511 	negative encoding values.
 2512 
 2513 2012-02-26  Werner Lemberg  <wl@gnu.org>
 2514 
 2515 	[type1] Fix Savannah bug #35606.
 2516 
 2517 	* src/type1/t1load.c (parse_subrs): Add proper guards for `strncmp'.
 2518 
 2519 	* src/psaux/psobjs.c (ps_parser_skip_PS_token): Emit error message
 2520 	only if cur < limit.
 2521 
 2522 2012-02-25  Werner Lemberg  <wl@gnu.org>
 2523 
 2524 	[pcf] Fix Savannah bug #35603.
 2525 
 2526 	* src/pcf/pcfread.c (pcf_get_properties): Assure final zero byte in
 2527 	`strings' array.
 2528 
 2529 2012-02-25  Werner Lemberg  <wl@gnu.org>
 2530 
 2531 	[type42] Fix Savannah bug #35602.
 2532 
 2533 	* src/type42/t42parse.c (t42_parse_sfnts): Check `string_size' more
 2534 	thoroughly.
 2535 
 2536 2012-02-25  Werner Lemberg  <wl@gnu.org>
 2537 
 2538 	[bdf] Fix Savannah bugs #35599 and #35600.
 2539 
 2540 	* src/bdf/bdflib.c (ACMSG16): New warning message.
 2541 	(_bdf_parse_glyphs) <_BDF_BITMAP>: Check line length.
 2542 
 2543 2012-02-24  Werner Lemberg  <wl@gnu.org>
 2544 
 2545 	[bdf] Fix Savannah bugs #35597 and #35598.
 2546 
 2547 	* src/bdf/bdflib.c (_bdf_is_atom): Fix handling of property value.
 2548 
 2549 2012-02-24  Vinnie Falco  <vinnie.falco@gmail.com>
 2550 
 2551 	Prepare source code for amalgamation (6/6).
 2552 
 2553 	* src/cff/cffdrivr.c: s/Load_Glyph/cff_glyph_load/.
 2554 
 2555 	* src/cid/cidload.c: s/parse_font_matrix/cid_parse_font_matrix/.
 2556 	s/t1_init_loader/cid_init_loader/.
 2557 	s/t1_done_loader/cid_done_loader/.
 2558 
 2559 	* src/psaux/t1cmap.c: s/t1_get_glyph_name/psaux_get_glyph_name/.
 2560 
 2561 	* src/truetype/ttdriver.c: s/Load_Glyph/tt_glyph_load/.
 2562 
 2563 	* src/type1/t1load.c: s/parse_font_matrix/t1_parse_font_matrix/.
 2564 
 2565 2012-02-24  Vinnie Falco  <vinnie.falco@gmail.com>
 2566 
 2567 	Prepare source code for amalgamation (5/6).
 2568 
 2569 	* include/freetype/fterrors.h: Undefine FT_KEEP_ERR_PREFIX after
 2570 	using it.
 2571 
 2572 2012-02-22  Vinnie Falco  <vinnie.falco@gmail.com>
 2573 
 2574 	Prepare source code for amalgamation (4/6).
 2575 
 2576 	* src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine RAS_ARG,
 2577 	RAS_ARGS, RAS_VAR, and RAS_VARS before defining it.
 2578 
 2579 	* src/smooth/ftgrays.c: s/TRaster/black_TRaster/,
 2580 	s/PRaster/black_PRaster/.
 2581 	* src/raster/ftraster.c: s/TRaster/gray_TRaster/,
 2582 	s/PRaster/gray_PRaster/.
 2583 
 2584 2012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
 2585 
 2586 	Prepare source code for amalgamation (3/6).
 2587 
 2588 	* src/smooth/ftgrays.c: s/TWorker/black_TWorker/,
 2589 	s/PWorker/black_PWorker/.
 2590 	* src/raster/ftraster.c: s/TWorker/gray_TWorker/,
 2591 	s/PWorker/gray_PWorker/.
 2592 
 2593 2012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
 2594 
 2595 	Prepare source code for amalgamation (2/6).
 2596 
 2597 	* src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine FLOOR,
 2598 	CEILING, TRUNC, and SCALED before defining it.
 2599 
 2600 2012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
 2601 
 2602 	Prepare source code for amalgamation (1/6).
 2603 
 2604 	See discussion starting at
 2605 
 2606 	  https://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00037.html
 2607 
 2608 	* src/smooth/ftgrays.c: s/TBand/gray_TBand/.
 2609 	* src/raster/ftraster.c: s/TBand/black_TBand/.
 2610 
 2611 2012-02-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
 2612 
 2613 	[autofit] Fix outline flags.
 2614 
 2615 	* src/autofit/afloader.c (af_loader_load_g): Don't reassign
 2616 	`outline.flags' so that this information is preserved.  See
 2617 	discussion starting at
 2618 
 2619 	  https://lists.gnu.org/archive/html/freetype-devel/2012-02/msg00046.html
 2620 
 2621 2012-02-11  Werner Lemberg  <wl@gnu.org>
 2622 
 2623 	[truetype] Fix Savannah bug #35466.
 2624 
 2625 	Jump instructions are now bound to the current function.  The MS
 2626 	Windows rasterizer behaves the same, as confirmed by Greg Hitchcock.
 2627 
 2628 	* src/truetype/ttinterp.h (TT_CallRec): Add `Cur_End' element.
 2629 	* src/truetype/ttobjs.h (TT_DefRecord): Add `end' element.
 2630 
 2631 	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Check upper
 2632 	bound of jump address.
 2633 	(Ins_FDEF, Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns): Updated.
 2634 
 2635 2012-02-11  Werner Lemberg  <wl@gnu.org>
 2636 
 2637 	We don't use `extensions'.
 2638 
 2639 	* include/freetype/internal/ftobjs.h (FT_DriverRec): Remove
 2640 	`extensions' field.
 2641 
 2642 2012-02-11  Werner Lemberg  <wl@gnu.org>
 2643 
 2644 	Clean up `generic' fields.
 2645 
 2646 	* include/freetype/internal/ftobjs.h (FT_ModuleRec, FT_LibraryRec):
 2647 	Remove `generic' field since users can't access it.
 2648 
 2649 	* src/base/ftobjs.c (FT_Done_GlyphSlot): Call `generic.finalizer' as
 2650 	advertised in the documentation of FT_Generic.
 2651 	(Destroy_Module, FT_Done_Library): Updated to changes in `ftobjs.h'.
 2652 
 2653 2012-02-07  Werner Lemberg  <wl@gnu.org>
 2654 
 2655 	[autofit] Harmonize function arguments.
 2656 
 2657 	* src/autofit/afloader.c, src/autofit/afloader.h: Use `FT_Int32' for
 2658 	`load_flags'.
 2659 
 2660 2012-02-07  Werner Lemberg  <wl@gnu.org>
 2661 
 2662 	* src/cff/cffobjs.c (cff_face_init): Remove unnecessary casts.
 2663 
 2664 2012-01-17  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2665 
 2666 	[gxvalid] Fix Savannah bug #35286.
 2667 
 2668 	Patch submitted by anonymous reporter.
 2669 
 2670 	* src/gxvalid/gxvcommn.c (gxv_XStateTable_subtable_setup):
 2671 	gxv_set_length_by_ulong_offset() must be called with 3, not 4,
 2672 	the number of the subtables in the state tables; classTable,
 2673 	stateArray, entryTable.
 2674 
 2675 2012-01-17  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2676 
 2677 	[raccess] Modify for PIC build.
 2678 
 2679 	Based on the patch provided by Erik Dahlstrom <ed@opera.com>,
 2680 	https://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00010.html
 2681 
 2682 	Also `raccess_guess_table[]' and `raccess_rule_by_darwin_vfs()'
 2683 	are renamed with `ft_' suffixes.
 2684 
 2685 	* src/base/ftbase.h: `raccess_rule_by_darwin_vfs()' is renamed
 2686 	to `ft_raccess_rule_by_darwin_vfs()'.
 2687 	* src/base/ftobjs.c: Ditto.
 2688 
 2689 	* src/base/ftrfork.c: Declarations of FT_RFork_Rule,
 2690 	raccess_guess_rec, are moved to...
 2691 	* include/freetype/internal/ftrfork.h: Here.
 2692 
 2693 	* include/freetype/internal/ftrfork.h:
 2694 	FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END} macros are defined
 2695 	to replace raccess_guess_table[] in both of PIC and non-PIC
 2696 	modes.
 2697 	* src/base/ftrfork.c: raccess_guess_table[] array is rewritten
 2698 	by FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END}.
 2699 
 2700 	* src/base/basepic.h (BasePIC): Add `ft_raccess_guess_table'
 2701 	storage.  (FT_RACCESS_GUESS_TABLE_GET): New macro to retrieve
 2702 	the function pointer from `ft_raccess_guess_table' storage in
 2703 	`BasePIC' structure.
 2704 	* src/base/ftrfork.c (FT_Raccess_Guess): Rewritten with
 2705 	FT_RACCESS_GUESS_TABLE_GET.
 2706 	(raccess_get_rule_type_from_rule_index): Add `library' as the
 2707 	first argument to the function, to retrieve the storage of
 2708 	`ft_raccess_guess_table' from it.  Also `raccess_guess_table'
 2709 	is replaced by FT_RACCESS_GUESS_TABLE_GET.
 2710 	(ft_raccess_rule_by_darwin_vfs): Ditto.
 2711 
 2712 2012-01-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2713 
 2714 	Remove trailing spaces.
 2715 
 2716 2012-01-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2717 
 2718 	Formatting PIC related sources.
 2719 
 2720 	* src/autofit/afpic.c: Harmonize to FT2 coding conventions.
 2721 	* src/base/basepic.c: Ditto.
 2722 	* src/base/ftpic.c: Ditto.
 2723 	* src/cff/cffpic.c: Ditto.
 2724 	* src/pshinter/pshpic.c: Ditto.
 2725 	* src/psnames/pspic.c: Ditto.
 2726 	* src/raster/rastpic.c: Ditto.
 2727 	* src/sfnt/sfntpic.c: Ditto.
 2728 	* src/smooth/ftspic.c: Ditto.
 2729 	* src/truetype/ttpic.c: Ditto.
 2730 
 2731 2012-01-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2732 
 2733 	[autofit] Fix the inclusion of `aflatin2.h' in PIC file.
 2734 
 2735 	* src/autofit/afpic.c: Include `aflatin2.h' when
 2736 	FT_OPTION_AUTOFIT2 is defined, as afglobal.c does so.
 2737 	Unconditionally inclusion causes declared but unimplemented
 2738 	warning by GCC 4.6.
 2739 
 2740 2012-01-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2741 
 2742 	[cff] Remove redundant declarations of cff_cmap_XXX_class_rec.
 2743 
 2744 	* src/cff/cffpic.c: The declarations of
 2745 	FT_Init_Class_cff_cmap_encoding_class_rec() and
 2746 	FT_Init_Class_cff_cmap_unicode_class_rec() are removed.
 2747 	They can be obtained by the inclusion of cffcmap.h.
 2748 	cffcmap.h invokes FT_DECLARE_CMAP_CLASS() and it declares
 2749 	FT_Init_Class_cff_cmap_encoding_class_rec() etc in PIC mode.
 2750 
 2751 2012-01-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2752 
 2753 	Fix redundant declaration warning in PIC mode.
 2754 
 2755 	Originally FT_DEFINE_{DRIVER,MODULE,RENDERER}() macros were
 2756 	designed to declare xxx_pic_{free,init} by themselves.
 2757 	Because these macros are used at the end of the module
 2758 	interface (e.g. ttdriver.c) and the wrapper source to build
 2759 	a module as a single object (e.g. truetype.c) includes
 2760 	the PIC file (e.g. ttpic.c) before the module interface,
 2761 	these macros are expanded AFTER xxx_pic_{free,init} body
 2762 	when the modules are built as single object.
 2763 	The declaration after the implementation causes the redundant
 2764 	declaration warnings, so the declarations are moved to module
 2765 	PIC headers (e.g. ttpic.h).  Separating to other header files
 2766 	are needed for multi build.
 2767 
 2768 	* include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER):
 2769 	Remove class_##_pic_free and class_##_pic_init declarations.
 2770 	* include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER,
 2771 	FT_DEFINE_MODULE): Ditto.
 2772 
 2773 	* src/base/basepic.h: Insert a comment and fix coding style.
 2774 	* src/autofit/afpic.h: Declare autofit_module_class_pic_{free,
 2775 	init}.
 2776 	* src/cff/cffpic.h: Declare cff_driver_class_pic_{free,init}.
 2777 	* src/pshinter/pshpic.h: Declare pshinter_module_class_pic_{free,
 2778 	init}.
 2779 	* src/psnames/pspic.h: Declare psnames_module_class_pic_{free,
 2780 	init}.
 2781 	* src/raster/rastpic.h: Declare
 2782 	ft_raster{1,5}_renderer_class_pic_{free,init}
 2783 	* src/sfnt/sfntpic.h: Declare sfnt_module_class_pic_{free,init}.
 2784 	* src/smooth/ftspic.h: Declare
 2785 	ft_smooth_{,lcd_,lcdv_}renderer_class_pic_{free,init}.
 2786 	* src/truetype/ttpic.h: Declare tt_driver_class_pic_{free,init}.
 2787 
 2788 2012-01-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2789 
 2790 	Make pspic.c to include module error header to fix multi build.
 2791 
 2792 	* src/psnames/pspic.c: Include `psnamerr.h'.
 2793 
 2794 2012-01-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2795 
 2796 	[base] Fix a dereference of uninitialized variable in PIC mode.
 2797 
 2798 	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): `glyph' must be
 2799 	set before dereferring to obtain `library'.  The initialization
 2800 	of `clazz', `glyph', `library' and NULL pointer check are
 2801 	reordered to minimize PIC conditionals.
 2802 
 2803 2012-01-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2804 
 2805 	[base] Insert explicit cast for GCC 4.6 in PIC mode.
 2806 
 2807 	* src/base/ftinit.c (FT_Add_Default_Modules): Under PIC
 2808 	configuration, FT_DEFAULT_MODULES_GET returns
 2809 	FT_Module_Class** pointer, GCC 4.6 warns that
 2810 	const FT_Module_Class* const* variable is warned as
 2811 	inappropriate to store it.  To calm it, explicit cast is
 2812 	inserted.  Also `library' is checked to prevent the NULL
 2813 	pointer dereference in FT_DEFAULT_MODULES_GET.
 2814 
 2815 2012-01-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2816 
 2817 	Fix PIC build broken by d9145241fe378104ba4c12a42534549faacc92e6.
 2818 
 2819 	Under PIC configuration, FT_{CFF,PSCMAPS,SFNT,TT}_SERVICES_GET
 2820 	take no arguments but derefer the variable named `library'
 2821 	internally.
 2822 
 2823 	* src/cff/cffdrivr.c (cff_get_interface): Declare `library' and
 2824 	set it if non-NULL driver is passed.
 2825 	* src/truetype/ttdriver.c (tt_get_interface): Ditto.
 2826 
 2827 	* src/sfnt/sfdriver.c (sfnt_get_interface): Declare `library'
 2828 	under PIC configuration, and set it if non-NULL module is given.
 2829 	* src/psnames/psmodule.c (psnames_get_interface): Ditto.
 2830 
 2831 2012-01-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2832 
 2833 	Make PIC files include module error headers, to use the error codes
 2834 	with per-module prefix.
 2835 
 2836 	* src/autofit/afpic.c: Include `aferrors.h'.
 2837 	* src/cff/cffpic.c: Include `cfferrs.h'.
 2838 	* src/pshinter/pshpic.c: Include `pshnterr.h'.
 2839 	* src/raster/rastpic.c: Include `rasterrs.h'.
 2840 	* src/sfnt/sfntpic.c: Include `sferrors.h'.
 2841 	* src/smooth/ftspic.c: Include `ftsmerrs.h'.
 2842 	* src/truetype/ttpic.c: Include `tterrors.h'.
 2843 
 2844 2012-01-04  Tobias Ringström  <tobias@ringis.se>
 2845 
 2846 	[truetype] Fix IP instruction if x_ppem != y_ppem.
 2847 
 2848 	* src/truetype/ttinterp.c (Ins_IP): Scale `orus' coordinates
 2849 	properly.
 2850 
 2851 2012-01-02  Werner Lemberg  <wl@gnu.org>
 2852 
 2853 	Fix tracing message for `loca' table.
 2854 
 2855 	* src/truetype/ttpload.c (tt_face_get_location): Don't emit a
 2856 	warning message if the last `loca' entry references an empty glyph.
 2857 
 2858 2011-12-10  Werner Lemberg  <wl@gnu.org>
 2859 
 2860 	Add some variable initializations.
 2861 	Reported by Richard COOK <rscook@unicode.org>.
 2862 
 2863 	* src/type1/t1driver.c (t1_ps_get_font_value): Initialize `val'.
 2864 	* src/smooth/ftgrays.c (gray_render_conic): Initialize `levels'
 2865 	earlier.
 2866 
 2867 2011-12-08  Werner Lemberg  <wl@gnu.org>
 2868 
 2869 	Fix serious scaling bug in `FT_Get_Advances'.
 2870 
 2871 	* src/base/ftadvanc.c (FT_Get_Advances): Advance values returned by
 2872 	`FT_Load_Glyph' must be simply multiplied by 1024.
 2873 
 2874 2011-12-08  Werner Lemberg  <wl@gnu.org>
 2875 
 2876 	* src/bdf/bdflib.c (_bdf_parse_start): Drop redundant error tracing.
 2877 
 2878 2011-12-02  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2879 
 2880 	[mac] Unify DARWIN_NO_CARBON with FT_MACINTOSH.
 2881 
 2882 	Originally FT_MACINTOSH was a pure auto macro and DARWIN_NO_CARBON
 2883 	was a configurable macro to disable Carbon-dependent code.  Because
 2884 	now configure script sets DARWIN_NO_CARBON by default and disables
 2885 	Darwin & Carbon-dependent codes, these macros can be unified.
 2886 	FT_MACINTOSH (undefined by default) is kept and DARWIN_NO_CARBON
 2887 	(defined by default) is removed, because DARWIN_NO_CARBON violates
 2888 	FT_XXX naming convention of public macros, and a macro configured by
 2889 	default is not portable for the building without configure (e.g.
 2890 	make devel).
 2891 
 2892 	* builds/unix/configure.raw: Define FT_MACINTOSH if Carbon-based
 2893 	old Mac font support is requested and Carbon is available.
 2894 	* builds/unix/ftconfig.in: Undefine FT_MACINTOSH when the support
 2895 	for Mac OS X without Carbon (e.g.  Mac OS X 10.4 for ppc64) is
 2896 	requested.
 2897 	* include/freetype/config/ftconfig.in: Ditto.
 2898 	* builds/vms/ftconfig.h: Ditto.
 2899 
 2900 	* src/base/ftbase.h: Remove DARWIN_NO_CARBON.
 2901 	* src/base/ftbase.c: Ditto.
 2902 	* src/base/ftobjs.c: Ditto.
 2903 	* src/base/ftrfork.c: Ditto.
 2904 
 2905 	* src/base/ftmac.c: Compile the body if FT_MACINTOSH is defined
 2906 	(same with TT_USE_BYTECODE_INTERPRETER in ttinterp.c).
 2907 	* builds/mac/ftmac.c: Ditto.
 2908 
 2909 	* builds/mac/FreeType.m68k_cfm.make.txt: Define FT_MACINTOSH.
 2910 	* builds/mac/FreeType.m68k_far.make.txt: Ditto.
 2911 	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
 2912 	* builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
 2913 
 2914 2011-11-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2915 
 2916 	Fix Savannah bug #34728 (`make devel' on Mac OS X).
 2917 
 2918 	* builds/toplevel.mk: Check `/dev/null' to identify the Unix-
 2919 	like systems without `init' nor `hurd' (e.g. Mac OS X >= 10.4).
 2920 	* builds/unix/detect.mk: Ditto.
 2921 
 2922 2011-11-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 2923 
 2924 	[apinames] Fix the overflow of signed integer hash.
 2925 
 2926 	* src/tools/apinames.c (names_add): Change the type of `h' from
 2927 	int to unsigned int, to prevent undefined behaviour in the
 2928 	overflow of signed integers (overflow of unsigned int is defined
 2929 	to be wrap around).  Found by clang test suggested by Sean
 2930 	McBride.
 2931 
 2932 2011-11-30  Werner Lemberg  <wl@gnu.org>
 2933 
 2934 	[winfonts] Remove casts.
 2935 
 2936 	* src/winfonts/winfnt.c (winfnt_driver_class): Remove all casts and
 2937 	update affected functions.
 2938 	(FNT_Size_Select): Fix number of arguments.
 2939 
 2940 2011-11-30  Werner Lemberg  <wl@gnu.org>
 2941 
 2942 	[type42] Remove casts.
 2943 
 2944 	* src/type42/t42drivr.c (t42_driver_class): Remove all casts and
 2945 	update affected functions.
 2946 
 2947 	* src/type42/t42objs.c, src/type42/t42objs.h: Updated for t42 driver
 2948 	changes.
 2949 
 2950 2011-11-30  Werner Lemberg  <wl@gnu.org>
 2951 
 2952 	[type1] Remove casts.
 2953 
 2954 	* src/type1/t1driver.c (t1_driver_class): Remove all casts and
 2955 	update affected functions.
 2956 
 2957 	* src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1objs.c:
 2958 	Updated for t1driver changes.
 2959 	src/type1/t1objs.h (T1_Driver): Remove unused typedef.
 2960 	Updated for t1driver changes.
 2961 
 2962 2011-11-27  Werner Lemberg  <wl@gnu.org>
 2963 
 2964 	[bdf] Fix Savannah bug #34896.
 2965 
 2966 	ENCODING now covers the whole Unicode range.
 2967 
 2968 	Note, however, that this change is quite expensive since it
 2969 	increases the size of three arrays by almost 400kByte in total.  The
 2970 	right fix is to replace the logic with something smarter.
 2971 	Additionally, there exist very old BDFs for three-byte CCCII
 2972 	encoding which exceeds the range of Unicode (another reason to have
 2973 	a smarter logic).
 2974 
 2975 	* src/bdf/bdf.h (bdf_font_t): Increase size of `nmod' and `umod'
 2976 	arrays.
 2977 	* src/bdf/bdflib.c (bdf_parse_t): Increase size of `have' array.
 2978 
 2979 2011-11-27  Werner Lemberg  <wl@gnu.org>
 2980 
 2981 	[bdf] Improve tracing.
 2982 
 2983 	* src/bdf/bdflib.c (DBGMSG1, DBGMSG2): New macros.
 2984 	(_bdf_parse_glyphs): Use them.
 2985 
 2986 2011-11-26  Werner Lemberg  <wl@gnu.org>
 2987 
 2988 	Improve tracing.
 2989 
 2990 	* src/bdf/bdfdrivr.c (BDF_Face_Done), src/pcf/pcfdrivr.c
 2991 	(PCF_Face_Done): Remove tracing message.
 2992 
 2993 	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/cff/cffobjs.c
 2994 	(cff_face_init), src/cid/cidobjs.c (cid_face_init),
 2995 	src/pfr/pfrobjs.c (pfr_face_init), src/sfnt/sfobjs.c
 2996 	(sfnt_init_face), src/truetype/ttobjs.c (tt_face_init),
 2997 	src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c
 2998 	(T42_Face_Init), src/winfonts/winfnt.c (FNT_Face_Init): Add
 2999 	`greeting' message.
 3000 
 3001 	* src/sfnt/sfobjs.c (sfnt_open_font), src/type42/t42objs.c
 3002 	(T42_Open_Face): Improve tracing.
 3003 
 3004 2011-11-26  Werner Lemberg  <wl@gnu.org>
 3005 
 3006 	[cid] Fix error code.
 3007 
 3008 	* src/cid/cidparse.c (cid_parser_new): Do it.
 3009 
 3010 2011-11-26  Werner Lemberg  <wl@gnu.org>
 3011 
 3012 	[cff] Fix error code.
 3013 
 3014 	* src/cff/cffload.c (cff_font_load): Do it.
 3015 
 3016 2011-11-26  Werner Lemberg  <wl@gnu.org>
 3017 
 3018 	Add new error code FT_Err_Missing_Module.
 3019 
 3020 	Previously, FreeType misleadingly returned
 3021 	FT_Err_Unknown_File_Format if a module was missing (or a test was
 3022 	missing completely).
 3023 
 3024 	* include/freetype/fterrdef.h (FT_Err_Missing_Module): Define.
 3025 
 3026 	* src/cff/cffobjs.c (cff_face_init), src/cff/cffdrivr.c
 3027 	(cff_get_glyph_name), src/cid/cidobjs.c (cid_face_init),
 3028 	src/sfnt/sfobjs.c (sfnt_init_face), src/truetype/ttobjs.c
 3029 	(tt_face_init), src/type1/t1objs.c (T1_Face_Init),
 3030 	src/type42/t42objs.c (T42_Face_Init, T42_Driver_Init): Updated.
 3031 
 3032 	* src/type1/t1afm.c (T1_Read_Metrics), src/type/t1objs.c
 3033 	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Remove now
 3034 	redundant test for `psaux'.
 3035 
 3036 2011-11-25  Werner Lemberg  <wl@gnu.org>
 3037 
 3038 	[bdf] Add more error messages.
 3039 
 3040 	* src/bdf/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
 3041 	Add line number argument.
 3042 	Update all callers.
 3043 	(ERRMSG5, ERRMSG6, ERRMSG7, ERRMSG8, ERRMSG9): New macros.
 3044 	(_bdf_readstream, _bdf_set_default_spacing, _bdf_add_property,
 3045 	_bdf_parse_glyphs, _bdf_parse_start): Add error messages.
 3046 
 3047 2011-11-24  Werner Lemberg  <wl@gnu.org>
 3048 
 3049 	* include/freetype/fterrors.h: Remove dead code.
 3050 
 3051 2011-11-15  Werner Lemberg  <wl@gnu.org>
 3052 
 3053 	* docs/releases: Updated.
 3054 
 3055 2011-11-15  Werner Lemberg  <wl@gnu.org>
 3056 
 3057 	* Version 2.4.8 released.
 3058 	=========================
 3059 
 3060 
 3061 	Tag sources with `VER-2-4-8'.
 3062 
 3063 	* docs/CHANGES: Updated.
 3064 
 3065 	* docs/VERSION.DLL: Update documentation and bump version number to
 3066 	2.4.8.
 3067 
 3068 	* README, Jamfile (RefDoc),
 3069 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 3070 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 3071 	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
 3072 	builds/win32/visualc/freetype.dsp,
 3073 	builds/win32/visualc/freetype.vcproj,
 3074 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 3075 	builds/win32/visualce/freetype.vcproj,
 3076 	builds/win32/visualce/index.html,
 3077 	builds/wince/vc2005-ce/freetype.vcproj,
 3078 	builds/wince/vc2005-ce/index.html,
 3079 	builds/wince/vc2008-ce/freetype.vcproj,
 3080 	builds/wince/vc2008-ce/index.html: s/2.4.7/2.4.8/, s/247/248/.
 3081 
 3082 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
 3083 
 3084 	* builds/unix/configure.raw (version_info): Set to 14:0:8.
 3085 
 3086 2011-11-13  Chris Liddell  <chris.liddell@artifex.com>
 3087 
 3088 	Add FT_Get_PS_Font_Value() API.
 3089 
 3090 	This allows a Type 1 font face to be interrogated to retrieve most
 3091 	of the dictionary keys (keys not relevant to FreeType's Type 1
 3092 	interpreter are not available).
 3093 
 3094 	* include/freetype/internal/services/svpsinfo.h
 3095 	(PS_GetFontValueFunc): New typedef.
 3096 	(PSInfo): Add `ps_get_font_value'.
 3097 	(FT_DEFINE_SERVICE_PSINFOREC): Updated.
 3098 
 3099 	* include/freetype/internal/t1types.h (T1_EncodingType): Moved to...
 3100 	* include/freetype/t1tables.h: Here.
 3101 	(PS_Dict_Keys): New enumeration.
 3102 	(FT_Get_PS_Font_Value): New declaration.
 3103 
 3104 	* src/base/fttype1.c (FT_Get_PS_Font_Value): New function.
 3105 
 3106 	* src/type1/t1driver.c (t1_ps_get_font_value): This new function
 3107 	does the real job.
 3108 	(t1_service_ps_info): Add it.
 3109 
 3110 	* src/cff/cffdrivr.c (cff_service_ps_info), src/cid/cidriver.c
 3111 	(cid_service_ps_info), src/type42/t42drivr.c (t42_service_ps_info):
 3112 	Updated.
 3113 
 3114 2011-11-08  Braden Thomas  <bthomas@apple.com>
 3115 
 3116 	[cid] Various loading fixes.
 3117 
 3118 	* src/cid/cidload.c (cid_load_keyword) <default>,
 3119 	(parse_font_matrix, parse_expansion_factor): Correctly check number
 3120 	of dictionaries.
 3121 	(cid_read_subrs): Protect against invalid values of `num_subrs'.
 3122 	Assure that the elements of the `offsets' array are ascending.
 3123 
 3124 2011-11-05  Werner Lemberg  <wl@gnu.org>
 3125 
 3126 	* README: We use copyright ranges also.
 3127 
 3128 	According to
 3129 
 3130 	  https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html
 3131 
 3132 	this should be mentioned explicitly.
 3133 
 3134 2011-10-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3135 
 3136 	[raccess] Supplement for previous fix.
 3137 
 3138 	* src/base/ftbase.h (raccess_rule_by_darwin_vfs): Do not declare
 3139 	it on native Mac OS X.
 3140 	* src/base/ftrfork.c (raccess_get_rule_type_from_rule_index):
 3141 	Hide raccess_get_rule_type_from_rule_index() on native Mac OS X
 3142 	too.
 3143 
 3144 2011-10-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3145 
 3146 	[raccess] Hide raccess_rule_by_darwin_vfs() on native Mac OS X.
 3147 
 3148 	* src/base/ftrfork.c (raccess_rule_by_darwin_vfs): Do not
 3149 	compile on native Mac OS X because it is not used.
 3150 
 3151 2011-10-25  Werner Lemberg  <wl@gnu.org>
 3152 
 3153 	[truetype] Fix MD instruction for twilight zone.
 3154 
 3155 	* src/truetype/ttinterp.c (Ins_MD): Without this fix, the MD
 3156 	instruction applied to original coordinates of twilight points
 3157 	always returns zero.
 3158 
 3159 2011-10-18  Werner Lemberg  <wl@gnu.org>
 3160 
 3161 	* Version 2.4.7 released.
 3162 	=========================
 3163 
 3164 
 3165 	Tag sources with `VER-2-4-7'.
 3166 
 3167 	* docs/CHANGES: Updated.
 3168 
 3169 	* docs/VERSION.DLL: Update documentation and bump version number to
 3170 	2.4.7.
 3171 
 3172 	* README, Jamfile (RefDoc),
 3173 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 3174 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 3175 	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
 3176 	builds/win32/visualc/freetype.dsp,
 3177 	builds/win32/visualc/freetype.vcproj,
 3178 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 3179 	builds/win32/visualce/freetype.vcproj,
 3180 	builds/win32/visualce/index.html,
 3181 	builds/wince/vc2005-ce/freetype.vcproj,
 3182 	builds/wince/vc2005-ce/index.html,
 3183 	builds/wince/vc2008-ce/freetype.vcproj,
 3184 	builds/wince/vc2008-ce/index.html: s/2.4.6/2.4.7/, s/246/247/.
 3185 
 3186 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
 3187 
 3188 	* builds/unix/configure.raw (version_info): Set to 13:2:7.
 3189 
 3190 2011-10-15  Kal Conley  <kcconley@gmail.com>
 3191 
 3192 	Fix handling of transformations if no renderer is present.
 3193 
 3194 	* src/base/ftobjs.c (FT_Load_Glyph): Thinko.
 3195 
 3196 2011-10-15  Kal Conley  <kcconley@gmail.com>
 3197 
 3198 	Fix conditions for autohinting.
 3199 
 3200 	* src/base/ftobjs.c (FT_Load_Glyph): Handle
 3201 	FT_LOAD_IGNORE_TRANSFORM.
 3202 
 3203 2011-10-07  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3204 
 3205 	[gxvalid] Fix a bug to detect too large offset in morx table.
 3206 
 3207 	* src/gxvalid/gxvmorx2.c
 3208 	(gxv_morx_subtable_type2_ligActionIndex_validate): Fix a bug
 3209 	that too large positive offset cannot be detected.
 3210 
 3211 2011-10-01  Braden Thomas  <bthomas@apple.com>
 3212 
 3213 	Handle some border cases.
 3214 
 3215 	* include/freetype/config/ftstdlib.h (FT_USHORT_MAX): New macro.
 3216 
 3217 	* src/base/ftbitmap.c (FT_Bitmap_Convert): Protect against invalid
 3218 	value of `target->rows'.
 3219 
 3220 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add check for
 3221 	flex start.
 3222 
 3223 	* src/raster/ftrend1.c (ft_raster1_render): Check `width' and
 3224 	`height'.
 3225 
 3226 	* src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Protect against
 3227 	invalid values in `localpoints' array.
 3228 
 3229 2011-10-01  Werner Lemberg  <wl@gnu.org>
 3230 
 3231 	[psnames] Handle zapfdingbats.
 3232 	Problem reported by Nicolas Rougier <Nicolas.Rougier@inria.fr>.
 3233 
 3234 	* src/tools/glnames.py (adobe_glyph_list): Add data from AGL's
 3235 	`zapfdingbats.txt' file.
 3236 
 3237 	* src/psnames/pstables.h: Regenerated.
 3238 
 3239 2011-09-27  Simon Bünzli  <zeniko@gmail.com>
 3240 
 3241 	[type1] Fix Savannah bug #34189.
 3242 
 3243 	* src/type1/t1load.c (T1_Open_Face): Initialize
 3244 	`face->len_buildchar'.
 3245 
 3246 2011-09-26  Werner Lemberg  <wl@gnu.org>
 3247 
 3248 	[cff] Dump SIDs while tracing.
 3249 
 3250 	* src/cff/cffobjs.c (cff_face_init): Do it.
 3251 
 3252 	* src/cff/cffparse.c (cff_parser_run) [FT_DEBUG_LEVEL_TRACE]
 3253 	<cff_kind_string>: Identify as SID.
 3254 
 3255 2011-09-17  Werner Lemberg  <wl@gnu.org>
 3256 
 3257 	Remove unused FT_ALIGNMENT macro.
 3258 
 3259 	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
 3260 	include/freetype/config/ftconfig.h: Do it.
 3261 
 3262 2011-09-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
 3263 
 3264 	[smooth] Slightly optimize conic and cubic flatteners.
 3265 
 3266 	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
 3267 	out some code from the main loop to speed it up.
 3268 
 3269 2011-09-11  Tomas Hoger  <thoger@redhat.com>
 3270 
 3271 	Slightly improve LZW_CLEAR handling.
 3272 
 3273 	* src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_CODE>:
 3274 	Ensure that subsequent (modulo garbage byte(s)) LZW_CLEAR codes are
 3275 	handled as clear codes.  This also re-sets old_code and old_char to
 3276 	predictable values, which is a little better than using `random'
 3277 	ones if the code following LZW_CLEAR is invalid.
 3278 
 3279 2011-09-11  Tomas Hoger  <thoger@redhat.com>
 3280 
 3281 	Add explicit LZW decompression stack size limit.
 3282 
 3283 	Stack larger than 1<<LZW_MAX_BITS is never needed if prefix table is
 3284 	constructed correctly.  It's even less than that, see e.g.
 3285 	libarchive code comment for a better size upper bound:
 3286 
 3287 	  http://code.google.com/p/libarchive/source/browse/trunk/libarchive/archive_read_support_filter_compress.c?r=3635#121
 3288 
 3289 	This patch adds explicit stack size limit, enforced when stack is
 3290 	realloced.
 3291 
 3292 	An alternative is to ensure that code < state->prefix[code - 256]
 3293 	when traversing prefix table.  Such check is less efficient and
 3294 	should not be required if prefix table is constructed correctly in
 3295 	the first place.
 3296 
 3297 	* src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Implement it.
 3298 
 3299 2011-09-11  Tomas Hoger  <thoger@redhat.com>
 3300 
 3301 	Protect against loops in the prefix table.
 3302 
 3303 	LZW decompressor did not sufficiently check codes read from the
 3304 	input LZW stream.  A specially-crafted or corrupted input could
 3305 	create a loop in the prefix table, which leads to memory usage
 3306 	spikes, as there's no decompression stack size limit.
 3307 
 3308 	* src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_START>: First
 3309 	code in valid LZW stream must be 0..255.
 3310 	<FT_LZW_PHASE_CODE>: In the special KwKwK case, code == free_ent,
 3311 	code > free_ent is invalid.
 3312 
 3313 2011-09-09  Werner Lemberg  <wl@gnu.org>
 3314 
 3315 	Better tracing of metrics.
 3316 
 3317 	* src/base/ftobjs.c (FT_Request_Size, FT_Select_Size): Decorate with
 3318 	FT_TRACE.
 3319 
 3320 2011-09-07  Werner Lemberg  <wl@gnu.org>
 3321 
 3322 	[cff] Fix Savannah bug #33816.
 3323 
 3324 	* src/cff/cfftypes.h (CFF_FontRecDictRec): New member
 3325 	`has_font_matrix'.
 3326 	* src/cff/cffparse.c (cff_parse_font_matrix): Set it.
 3327 	Update tracing output.
 3328 	* src/cff/cffobjs.c (cff_face_init): Use it so that the heuristics
 3329 	can be removed.
 3330 
 3331 2011-08-30  Werner Lemberg  <wl@gnu.org>
 3332 
 3333 	Better tracing of metrics.
 3334 
 3335 	* src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics):
 3336 	Decorate with FT_TRACE.
 3337 
 3338 2011-08-25  Werner Lemberg  <wl@gnu.org>
 3339 
 3340 	[cff] Better tracing of the parsing process.
 3341 
 3342 	* src/cff/cffload.c (cff_subfont_load, cff_font_load): Decorate with
 3343 	FT_TRACE.
 3344 
 3345 	* src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
 3346 	cff_parse_private_dict, cff_parse_cid_ros): Updated.
 3347 	(CFF_FIELD_NUM, CFF_FIELD_FIXED, CFF_FIELD_FIXED_1000,
 3348 	CFF_FIELD_STRING, CFF_FIELD_BOOL, CFF_FIELD_CALLBACK, CFF_FIELD,
 3349 	CFF_FIELD_DELTA): Add argument for ID.
 3350 	(cff_parser_run): Decorate with FT_TRACE.
 3351 
 3352 	* src/cff/cffparse.h (CFF_Field_Handler) [FT_DEBUG_LEVEL_TRACE]: Add
 3353 	`id' member.
 3354 
 3355 	* src/cff/cfftoken.h: Add IDs to all fields.
 3356 
 3357 2011-08-16  Werner Lemberg  <wl@gnu.org>
 3358 
 3359 	Fix Savannah bug #34022.
 3360 
 3361 	* README, docs/INSTALL: Remove references to UPGRADE.UNIX.
 3362 
 3363 2011-08-15  Werner Lemberg  <wl@gnu.org>
 3364 
 3365 	Fix Savannah bug #34018.
 3366 
 3367 	* docs/UPGRADE.UNIX: Removed.  Obsolete.
 3368 
 3369 2011-08-15  David Bevan  <david.bevan@pb.com>
 3370 
 3371 	Fix Savannah bug #33992.
 3372 
 3373 	* src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix border case.
 3374 
 3375 2011-08-12  Werner Lemberg  <wl@gnu.org
 3376 
 3377 	[truetype] Fix degenerate case in S{P,F,DP}VTL opcodes.
 3378 
 3379 	* src/truetype/ttinterp.c (Ins_SxVTL): Handle p1 == p2 specially.
 3380 	(Ins_SDPVTL): Handle v1 == v2 specially.
 3381 
 3382 2011-08-09  Werner Lemberg  <wl@gnu.org>
 3383 
 3384 	[cff] Fix Savannah bug #33975.
 3385 
 3386 	* src/cff/cffparse.c (cff_parse_font_matrix): Fix typo.
 3387 
 3388 2011-07-29  Werner Lemberg  <wl@gnu.org>
 3389 
 3390 	* Version 2.4.6 released.
 3391 	=========================
 3392 
 3393 
 3394 	Tag sources with `VER-2-4-6'.
 3395 
 3396 	* docs/CHANGES: Updated.
 3397 
 3398 	* docs/VERSION.DLL: Update documentation and bump version number to
 3399 	2.4.6.
 3400 
 3401 	* README, Jamfile (RefDoc),
 3402 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 3403 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 3404 	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
 3405 	builds/win32/visualc/freetype.dsp,
 3406 	builds/win32/visualc/freetype.vcproj,
 3407 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 3408 	builds/win32/visualce/freetype.vcproj,
 3409 	builds/win32/visualce/index.html,
 3410 	builds/wince/vc2005-ce/freetype.vcproj,
 3411 	builds/wince/vc2005-ce/index.html,
 3412 	builds/wince/vc2008-ce/freetype.vcproj,
 3413 	builds/wince/vc2008-ce/index.html: s/2.4.5/2.4.6/, s/245/246/.
 3414 
 3415 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
 3416 
 3417 	* builds/unix/configure.raw (version_info): Set to 13:1:7.
 3418 
 3419 2011-07-29  Werner Lemberg  <wl@gnu.org>
 3420 
 3421 	[cff] Add some more tracing infos.
 3422 
 3423 	* src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
 3424 	cff_parse_cid_ros): Add tracing.
 3425 
 3426 2011-07-22  Dirk Müller  <dmueller@suse.de>
 3427 
 3428 	[psaux, type1] Fix null pointer dereferences.
 3429 
 3430 	Found with font fuzzying.
 3431 
 3432 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Check
 3433 	`decoder->buildchar'.
 3434 
 3435 	* src/type1/t1load.c (t1_load_keyword): Check `blend->num_designs'.
 3436 
 3437 2011-07-20  Chris Morgan  <cmorgan@cybexintl.com>
 3438 
 3439 	Add FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT.
 3440 
 3441 	Useful for embedded systems which don't need file stream support.
 3442 
 3443 	* src/base/ftsystem.c, src/base/ftobjs.c (FT_Stream_New): Implement
 3444 	it.
 3445 
 3446 2011-07-20  Elton Chung  <elton328@gmail.com>
 3447 
 3448 	* src/base/ftpatent.c (FT_Face_SetUnpatentedHinting): Fix typo.
 3449 
 3450 2011-07-16  Steven Chu  <steven.f.chu@gmail.com>
 3451 
 3452 	[truetype] Fix metrics on size request for scalable fonts.
 3453 
 3454 	* src/truetype/ttdriver.c (tt_size_request): Fix copying metrics
 3455 	from TT_Size to FT_Size if scalable font.
 3456 
 3457 	See
 3458 
 3459 	  https://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00049.html
 3460 
 3461 	for some comparison images.
 3462 
 3463 2011-07-14  Matthias Drochner  <M.Drochner@fz-juelich.de>.
 3464 
 3465 	[psaux] Fix potential sign extension problems.
 3466 
 3467 	When shifting right a signed value, it is not defined by the
 3468 	C standard whether one gets a sign extension or not.  Use a macro to
 3469 	do an explicit cast from a signed short (assuming that this is
 3470 	16bit) to an int.
 3471 
 3472 	* src/psaux/t1decode.c (Fix2Int): New macro.
 3473 	Use it where appropriate.
 3474 
 3475 2011-07-14  Werner Lemberg  <wl@gnu.org>
 3476 
 3477 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
 3478 	<op_callothersubr>: Better handling of subroutine index 0.
 3479 	From Matthias Drochner <M.Drochner@fz-juelich.de>.
 3480 
 3481 2011-07-10  Алексей Подтележников  <apodtele@gmail.com>
 3482 
 3483 	[psaux] Optimize previous commit.
 3484 
 3485 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
 3486 	<op_callothersubr>: Move error check down to avoid testing twice for
 3487 	good cases.
 3488 
 3489 2011-07-08  Werner Lemberg  <wl@gnu.org>
 3490 
 3491 	[psaux] Add better argument check for `callothersubr'.
 3492 
 3493 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
 3494 	<op_callothersubr>: Reject negative arguments.
 3495 
 3496 2011-07-07  Werner Lemberg  <wl@gnu.org>
 3497 
 3498 	[sfnt] Try harder to find non-zero values for ascender and descender.
 3499 
 3500 	* src/sfnt/sfobjs.c (sfnt_load_face): Consult `OS/2' table in case
 3501 	the `hhea' table's values are zero.
 3502 
 3503 2011-07-03  Werner Lemberg  <wl@gnu.org>
 3504 
 3505 	Fix previous commit.
 3506 
 3507 	We want to unset FT_FACE_FLAG_SCALABLE only if there are bitmap
 3508 	strikes in the font.
 3509 
 3510 	* src/truetype/ttobjs.c (tt_face_init): Implement it.
 3511 
 3512 	* docs/CHANGES: Updated.
 3513 
 3514 2011-07-02  Just Fill Bugs  <mozbugbox@yahoo.com.au>
 3515 
 3516 	[truetype] Fix Savannah bug #33246.
 3517 
 3518 	* src/truetype/ttobjs.c (tt_check_single_notdef): New function.
 3519 	(tt_face_init): Use it to test FT_FACE_FLAG_SCALABLE.
 3520 
 3521 2011-07-02  Werner Lemberg  <wl@gnu.org>
 3522 
 3523 	* docs/CHANGES: Updated.
 3524 
 3525 2011-07-02  David Bevan  <david.bevan@pb.com>
 3526 
 3527 	[ftstroke] Major revision.
 3528 
 3529 	The main problems
 3530 	-----------------
 3531 
 3532 	  o If FT_STROKER_LINEJOIN_BEVEL was specified, unlimited miter
 3533 	    joins (not bevel joins) were generated.  Indeed, the meanings of
 3534 	    `miter' and `bevel' were incorrectly reversed (consistently) in
 3535 	    both the code and comments.
 3536 
 3537 	  o The way bevel joins were constructed (whether specified
 3538 	    explicitly, or created as a result of exceeding the miter limit)
 3539 	    did not match what is required for stroked text in PostScript or
 3540 	    PDF.
 3541 
 3542 	The main fixes
 3543 	--------------
 3544 
 3545 	  o The behaviour of FT_STROKER_LINEJOIN_BEVEL has been corrected.
 3546 
 3547 	  o A new line join style, FT_STROKER_LINEJOIN_MITER_FIXED, has been
 3548 	    introduced to support PostScript and PDF miter joins.
 3549 
 3550 	  o FT_STROKER_LINEJOIN_MITER_VARIABLE has been introduced as an
 3551 	    alias for FT_STROKER_LINEJOIN_MITER.
 3552 
 3553 	Additionally, a variety of stroking errors have been fixed.  These
 3554 	would cause various artifacts (including points `at infinity'),
 3555 	especially when stroking poor quality fonts.
 3556 
 3557 	See
 3558 
 3559 	  https://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00001.html
 3560 
 3561 	for example documents.  The FreeType stroker now produces results
 3562 	very similar to that produced by GhostScript and Distiller for these
 3563 	fonts.
 3564 
 3565 	Other problems
 3566 	--------------
 3567 
 3568 	The following problems have been resolved:
 3569 
 3570 	  o Inside corners could be generated incorrectly.  Intersecting the
 3571 	    inside corner could cause a missing triangular area and other
 3572 	    effects.
 3573 
 3574 	    The intersection point can only be used if the join is between
 3575 	    two lines and both lines are long enough.  The `optimization'
 3576 	    condition in `ft_stroker_inside' has been corrected; this
 3577 	    requires the line length to be passed into various functions and
 3578 	    stored in `FT_StrokerRec'.
 3579 
 3580 	  o Incorrect cubic curves could be generated.  The angle
 3581 	    calculations in `FT_Stroker_CubicTo' have been corrected to
 3582 	    handle the case of the curve crossing the +/-PI direction.
 3583 
 3584 	  o If the border radius was greater than the radius of curvature of
 3585 	    a curve, then the negative sector would end up outside (not
 3586 	    inside) the border.  This situation is now recognized and the
 3587 	    negative sector is circumnavigated in the opposite direction.
 3588 	    (If round line joins are being used, this code is disabled
 3589 	    because the line join will always cover the negative sector.)
 3590 
 3591 	  o When a curve is split, the arcs may not join smoothly (especially
 3592 	    if the curve turns sharply back on itself).  Changes in
 3593 	    direction between adjacent arcs were not handled.  A round
 3594 	    corner is now added if the deviation from one arc to the next is
 3595 	    greater than a suitable threshold.
 3596 
 3597 	  o The current direction wasn't retained if a the outline contained
 3598 	    a zero length lineto or a curve that was determined to be
 3599 	    `basically a point'.  This could cause a spurious join to be
 3600 	    added.
 3601 
 3602 	  o Cubics with close control points could be mishandled.  All eight
 3603 	    cases are now distinguished correctly.
 3604 
 3605 	Other improvements
 3606 	------------------
 3607 
 3608 	o Borders for cubic curves could be too `flat'.
 3609 	  FT_SMALL_CUBIC_THRESHOLD has been reduced a little to prevent
 3610 	  this.
 3611 
 3612 	o The handling and use of movable points has been simplified a
 3613 	  little.
 3614 
 3615 	o Various values are now computed only if the results are actually
 3616 	  needed.
 3617 
 3618 	o The directions of the outer and inner borders have been swapped,
 3619 	  as recommended by Graham Asher.
 3620 
 3621 	* src/base/ftstroke.c: Revised.
 3622 	* include/freetype/ftstroke.h: Updated.
 3623 
 3624 2011-06-30  İsmail Dönmez  <ismail@namtrac.org>
 3625 
 3626 	* builds/toplevel.mk: We use git, not CVS, thus skip `.gitignore'.
 3627 
 3628 2011-06-29  Werner Lemberg  <wl@gnu.org>
 3629 
 3630 	[bdf] Fix Savannah bug #33663.
 3631 
 3632 	* src/bdf/bdflib.c (_bdf_parse_glyphs): Handle negative values for
 3633 	ENCODING correctly.
 3634 
 3635 	* docs/CHANGES: Document it.
 3636 
 3637 2011-06-24  Werner Lemberg  <wl@gnu.org>
 3638 
 3639 	* Version 2.4.5 released.
 3640 	=========================
 3641 
 3642 
 3643 	Tag sources with `VER-2-4-5'.
 3644 
 3645 	* docs/CHANGES: Updated.
 3646 
 3647 	* docs/VERSION.DLL: Update documentation and bump version number to
 3648 	2.4.5
 3649 
 3650 	* README, Jamfile (RefDoc),
 3651 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 3652 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 3653 	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
 3654 	builds/win32/visualc/freetype.dsp,
 3655 	builds/win32/visualc/freetype.vcproj,
 3656 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 3657 	builds/win32/visualce/freetype.vcproj,
 3658 	builds/win32/visualce/index.html,
 3659 	builds/wince/vc2005-ce/freetype.vcproj,
 3660 	builds/wince/vc2005-ce/index.html,
 3661 	builds/wince/vc2008-ce/freetype.vcproj,
 3662 	builds/wince/vc2008-ce/index.html: s/2.4.4/2.4.5/, s/244/245/.
 3663 
 3664 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
 3665 
 3666 	* builds/unix/configure.raw (version_info): Set to 13:0:7.
 3667 
 3668 2011-06-20  Werner Lemberg  <wl@gnu.org>
 3669 
 3670 	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Fix change
 3671 	from 2011-05-04.
 3672 
 3673 2011-06-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3674 
 3675 	[gxvalid] make the `prop' validation tracing verbose.
 3676 
 3677 	* src/gxvalid/gxvprop.c: Add tracing messages for errors.
 3678 
 3679 2011-06-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3680 
 3681 	[autogen.sh] Reflect environment variable LIBTOOLIZE.
 3682 
 3683 2011-06-18  Werner Lemberg  <wl@gnu.org>
 3684 
 3685 	Update license documentation.
 3686 
 3687 	* docs/GPL.TXT: Renamed to...
 3688 	* docs/GPLv2.TXT: This.
 3689 
 3690 	* docs/LICENSE.TXT: Updated.
 3691 
 3692 2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3693 
 3694 	Fix g++4.6 compiler warnings in module drivers.
 3695 
 3696 	The background is same with previous commit.
 3697 
 3698 	* src/truetype/ttgxvar.c (ft_var_readpackedpoints):
 3699 	Init `points'.  (TT_Vary_Get_Glyph_Deltas): Init
 3700 	`delta_xy'.  (TT_Get_MM_Var): Init `mmvar'.
 3701 	* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
 3702 	* src/cff/cffdrivr.c (cff_ps_get_font_info): Init
 3703 	`font_info'.
 3704 	* src/cff/cffload.c (cff_index_get_pointers): Init `t'.
 3705 	(cff_font_load): Init `sub'.
 3706 	* src/cff/cffobjs.c (cff_size_init): Init `internal'.
 3707 	(cff_face_init): Init `cff'.
 3708 	* src/pfr/pfrload.c (pfr_extra_item_load_stem_snaps):
 3709 	Init `snaps'.
 3710 	* src/pcf/pcfread.c (pcf_get_properties): Init `properties'.
 3711 	(pcf_get_bitmaps): Init `offsets'.  (pcf_get_encodings):
 3712 	Init `tmpEncoding'.
 3713 	* src/sfnt/ttload.c (tt_face_load_gasp): Init `gaspranges'.
 3714 	* src/sfnt/ttsbit.c (Load_SBit_Image): Init `components'.
 3715 	* src/cache/ftcmru.c (FTC_MruList_New): Init `node'.
 3716 	* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Init `zip' and
 3717 	`zip_buff'.
 3718 	* src/lzw/ftlzw.c (FT_Stream_OpenLZW): Init `zip'.
 3719 	* src/bzip2/ftbzip2.c (FT_Stream_OpenBzip2): Init `zip'.
 3720 
 3721 2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3722 
 3723 	[base] Fix g++4.6 compiler warnings in src/base/*.c.
 3724 
 3725 	Passing uninitialized pointer to FT_NEW() families is
 3726 	not problematic theoretically (as far as the returned
 3727 	pointer is checked before writing), but g++4.6 dislikes
 3728 	it and warns by -Wuninitialized.  Initialize them by NULL.
 3729 
 3730 	* src/base/ftobjs.c (FT_Stream_New): Init `stream'.
 3731 	(new_memory_stream): Ditto.
 3732 	(FT_New_GlyphSlot): Init `slot'.
 3733 	(FT_CMap_New): Init `cmap'.
 3734 	(open_face_PS_from_sfnt_stream): Init `sfnt_ps'.
 3735 	(Mac_Read_POST_Resource): Init `pfb_data'.
 3736 	(Mac_Read_sfnt_Resource): Init `sfnt_data'.
 3737 	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets):
 3738 	Init `offsets_internal' and `ref'.
 3739 	(raccess_guess_darwin_hfsplus): Init `newpath'.
 3740 	(raccess_guess_darwin_newvfs): Ditto.
 3741 	* src/base/ftbitmap.c (ft_bitmap_assure_buffer):
 3742 	Init `buffer'.
 3743 	* src/base/ftstroke.c (FT_Stroker_New): Init `stroker'.
 3744 
 3745 2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3746 
 3747 	[gxvalid] Cleanup.
 3748 
 3749 	Some invalid, overrunning, unrecommended non-zero values
 3750 	are cared in paranoid validation mode only.  There are
 3751 	many lines looking like:
 3752 
 3753 	  if ( valid->root->level >= FT_VALIDATE_PARANOID )
 3754 	    FT_INVALID_xxx;
 3755 
 3756 	To simplify them, GXV_SET_ERR_IF_PARANOID( err ) is
 3757 	introduced for more paranoid validation in future.
 3758 
 3759 	* src/gxvalid/gxvcommn.h (IS_PARANOID_VALIDATION):
 3760 	New macro to assure valid->root->level is more or
 3761 	equal to FT_VALIDATE_PARANOID.  (GXV_SET_ERR_IF_PARANOID):
 3762 	New macro to raise an error if in paranoid validation.
 3763 	* src/gxvalid/gxvcommn.c: Use GXV_SET_ERR_IF_PARANOID().
 3764 	* src/gxvalid/gxvfeat.c: Ditto.
 3765 	* src/gxvalid/gxvjust.c: Ditto.
 3766 	* src/gxvalid/gxvkern.c: Ditto.
 3767 	* src/gxvalid/gxvmort.c: Ditto.
 3768 	* src/gxvalid/gxvmort0.c: Ditto.
 3769 	* src/gxvalid/gxvmort1.c: Ditto.
 3770 	* src/gxvalid/gxvmort2.c: Ditto.
 3771 	* src/gxvalid/gxvmorx1.c: Ditto.
 3772 	* src/gxvalid/gxvmorx2.c: Ditto.
 3773 
 3774 2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3775 
 3776 	[gxvalid] Fix gcc4.6 compiler warnings in gxvtrak.c.
 3777 
 3778 	* src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate):
 3779 	Check different entries pointing same tracking value.
 3780 	(gxv_trak_validate): Remove unused variable `table_size'.
 3781 
 3782 2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3783 
 3784 	[gxvalid] Fix gcc4.6 compiler warnings in gxvmorx*.c.
 3785 
 3786 	* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
 3787 	Conditionalize unvalidated variable `subFeatureFlags'.
 3788 	(gxv_morx_chain_validate): Conditionalize unvalidated
 3789 	variable `defaultFlags'.
 3790 
 3791 	* src/gxvalid/gxvmorx0.c
 3792 	(gxv_morx_subtable_type0_entry_validate):
 3793 	Conditionalize unvalidated variables; `markFirst',
 3794 	`dontAdvance', `markLast', `verb'.
 3795 
 3796 	* src/gxvalid/gxvmorx1.c
 3797 	(gxv_morx_subtable_type1_entry_validate): Conditionalize
 3798 	unvalidated variables; `setMark', `dontAdvance'.
 3799 
 3800 	* src/gxvalid/gxvmorx2.c
 3801 	(gxv_morx_subtable_type2_ligActionOffset_validate):
 3802 	Conditionalize unvalidated variables; `last', `store'.
 3803 	Checking for overrunning offset is added.
 3804 	(gxv_morx_subtable_type2_entry_validate):
 3805 	Conditionalize unvalidated variables; `setComponent',
 3806 	`dontAdvance', `performAction'.
 3807 	(gxv_morx_subtable_type2_ligatureTable_validate):
 3808 	Check if the GID for ligature does not exceed the
 3809 	max GID in `maxp' table.
 3810 
 3811 	* src/gxvalid/gxvmort5.c
 3812 	(gxv_morx_subtable_type5_InsertList_validate):
 3813 	Conditionalize unvalidated loading of `insert_glyphID'
 3814 	array.  (gxv_morx_subtable_type5_entry_validate):
 3815 	Conditionalize unvalidated variables; `setMark',
 3816 	`dontAdvance', `currentIsKashidaLike',
 3817 	`markedIsKashidaLike', `currentInsertBefore',
 3818 	`markedInsertBefore'.
 3819 
 3820 2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3821 
 3822 	[gxvalid] Fix gcc4.6 compiler warnings in gxvmort*.c.
 3823 
 3824 	* src/gxvalid/gxvmort.c (gxv_mort_subtables_validate):
 3825 	Conditionalize unvalidated variable `subFeatureFlags'.
 3826 	(gxv_mort_chain_validate): Conditionalize unvalidated
 3827 	variable `defaultFlags'.
 3828 
 3829 	* src/gxvalid/gxvmort0.c
 3830 	(gxv_mort_subtable_type0_entry_validate): Check the
 3831 	conflict of the marks for the glyphs.
 3832 
 3833 	* src/gxvalid/gxvmort1.c
 3834 	(gxv_mort_subtable_type1_offset_to_subst_validate):
 3835 	Local variables `min_gid', `max_gid' are replaced by
 3836 	variables in the validator.
 3837 	(gxv_mort_subtable_type1_entry_validate): Conditionalize
 3838 	unvalidated variables; `setMark', `dontAdvance'.
 3839 	(gxv_mort_subtable_type1_substTable_validate):
 3840 	Validate the GID by the min/max GIDs in the validator.
 3841 
 3842 	* src/gxvalid/gxvmort2.c
 3843 	(gxv_mort_subtable_type2_ligActionOffset_validate):
 3844 	Conditionalize unvalidated variables; `last', `store'.
 3845 	Checking for overrunning offset is added.
 3846 	(gxv_mort_subtable_type2_entry_validate):
 3847 	Conditionalize unvalidated variables; `setComponent',
 3848 	`dontAdvance'.
 3849 	(gxv_mort_subtable_type2_ligatureTable_validate):
 3850 	Check if the GID for ligature does not exceed the
 3851 	max GID in `maxp' table.
 3852 
 3853 	* src/gxvalid/gxvmort5.c
 3854 	(gxv_mort_subtable_type5_InsertList_validate):
 3855 	Conditionalize unvalidated loading of `insert_glyphID'
 3856 	array.  (gxv_mort_subtable_type5_entry_validate):
 3857 	Conditionalize unvalidated variables; `setMark',
 3858 	`dontAdvance', `currentIsKashidaLike',
 3859 	`markedIsKashidaLike', `currentInsertBefore',
 3860 	`markedInsertBefore'.
 3861 
 3862 2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3863 
 3864 	[gxvalid] Fix gcc4.6 compiler warnings in gxvkern.c.
 3865 
 3866 	* src/gxvalid/gxvkern.c
 3867 	(gxv_kern_subtable_fmt0_pairs_validate): Conditionalize
 3868 	unvalidated variable `kernValue'.
 3869 	(gxv_kern_subtable_fmt1_entry_validate): Conditionalize
 3870 	unvalidated variables; `push', `dontAdvance', `kernAction',
 3871 	`kernValue'.
 3872 	(gxv_kern_coverage_new_apple_validate): Conditionalize
 3873 	trace-only variables; `kernVertical', `kernCrossStream',
 3874 	`kernVariation'.
 3875 	(gxv_kern_coverage_classic_apple_validate): Conditionalize
 3876 	trace-only variables; `horizontal', `cross_stream'.
 3877 	(gxv_kern_coverage_classic_microsoft_validate):
 3878 	Conditionalize trace-only variables; `horizontal',
 3879 	`minimum', `cross_stream', `override'.
 3880 	(gxv_kern_subtable_validate): Conditionalize trace-only
 3881 	variables; `version', `tupleIndex'.
 3882 
 3883 2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3884 
 3885 	[gxvalid] Fix gcc4.6 compiler warnings in gxvjust.c.
 3886 
 3887 	* src/gxvalid/gxvjust.c (gxv_just_check_max_gid):
 3888 	New function to unify the checks of too large GID.
 3889 	(gxv_just_wdp_entry_validate): Conditionalize unvalidated
 3890 	variables; `beforeGrowLimit', `beforeShrinkGrowLimit',
 3891 	`afterGrowLimit', `afterShrinkGrowLimit', `growFlags',
 3892 	`shrinkFlags'.  Additional check for non-zero values in
 3893 	unused storage `justClass' is added.
 3894 	(gxv_just_actSubrecord_type0_validate): Conditionalize
 3895 	unvalidated variable `order'.  GID is checked by
 3896 	gxv_just_check_max_gid().  Additional check for upside-down
 3897 	relationship between `lowerLimit' and `upperLimit' is added.
 3898 	(gxv_just_actSubrecord_type1_validate): GID is checked by
 3899 	gxv_just_check_max_gid().
 3900 	(gxv_just_actSubrecord_type2_validate): Conditionalize
 3901 	unvalidated variable `substThreshhold'.  GID is checked by
 3902 	gxv_just_check_max_gid().
 3903 	(gxv_just_actSubrecord_type5_validate): GID is checked by
 3904 	gxv_just_check_max_gid().
 3905 	(gxv_just_classTable_entry_validate): Conditionalize
 3906 	unvalidated variables; `setMark', `dontAdvance',
 3907 	`markClass', `currentClass'.
 3908 
 3909 2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3910 
 3911 	[gxvalid] Preparation to fix gcc4.6 compiler warnings.
 3912 
 3913 	* src/gxvalid/gxvcommn.h (GXV_LOAD_TRACE_VARS): New macro to
 3914 	conditionalize the variable which is only used for trace messages.
 3915 	Automatically set by FT_DEBUG_LEVEL_TRACE.
 3916 	(GXV_LOAD_UNUSED_VARS): New macro to conditionalize the loading of
 3917 	unvalidated variables.  Undefined by default to calm gcc4.6 warning.
 3918 	(GXV_ValidatorRec.{min_gid,max_gid}): New variables to hold defined
 3919 	GID ranges, for the comparison of GID ranges in different subtables.
 3920 
 3921 2011-06-08  Werner Lemberg  <wl@gnu.org>
 3922 
 3923 	[autofit] Remove unused structure member.
 3924 
 3925 	* src/autofit/afhints.h (AF_SegmentRec): Remove `contour'.
 3926 	* src/autofit/aflatin.c (af_latin_hints_compute_segments),
 3927 	src/autofit/aflatin2.c (af_latin2_hints_compute_segments): Updated.
 3928 
 3929 2011-05-30  Werner Lemberg  <wl@gnu.org>
 3930 
 3931 	Fix g++ 4.6 compilation.
 3932 
 3933 	* src/autofit/afhints.c (af_glyph_hints_dump_segments,
 3934 	af_glyph_hints_dump_edges): Use cast.
 3935 
 3936 2011-05-30  Werner Lemberg  <wl@gnu.org>
 3937 
 3938 	Fix gcc 4.6 compiler warnings.
 3939 
 3940 	* src/autofit/afcjk.c (af_cjk_metrics_init_blues): Use casts and
 3941 	remove unused variables.
 3942 	* src/autofit/aflatin.c (af_latin_hints_compute_edges): Comment out
 3943 	`up_dir'.
 3944 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `height_org'
 3945 	and `width_org' conditionalized.
 3946 
 3947 2011-05-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3948 
 3949 	[mac] Conditionalize the inclusion of `AvailabilityMacros.h'.
 3950 
 3951 	The native SDK on earliest Mac OS X (10.0-10.1) did not have
 3952 	`AvailabilityMacros.h'.  To prevent the inclusion of missing
 3953 	header file, ECANCELED (introduced in 10.2) in POSIX header
 3954 	file <errno.h> is checked to detect the system version.
 3955 
 3956 	* include/freetype/config/ftconfig.h: Conditionalize the
 3957 	inclusion of `AvailabilityMacros.h'.
 3958 	* builds/unix/ftconfig.in: Ditto.
 3959 	* builds/vms/ftconfig.h: Ditto.
 3960 
 3961 2011-05-27  Werner Lemberg  <wl@gnu.org>
 3962 
 3963 	[autofit] Improve tracing of hinting process.
 3964 
 3965 	* src/autofit/aflatin.c (af_latin_hint_edges): Add tracing message
 3966 	`ADJUST'.
 3967 
 3968 2011-05-26  Werner Lemberg  <wl@gnu.org>
 3969 
 3970 	[autofit] Fix trace message.
 3971 
 3972 	* src/autofit/aflatin.c (af_latin_hint_edges): Show correct value in
 3973 	tracing message.
 3974 
 3975 2011-05-24  Daniel Zimmermann  <netzimme@googlemail.com>
 3976 
 3977 	Reduce warnings for MS Visual Studio 2010.
 3978 
 3979 	* src/autofit/afhints.c (af_glyph_hints_get_num_segments,
 3980 	af_glyph_hints_get_segment_offset) [!FT_DEBUG_AUTOFIT]: Provide
 3981 	return value.
 3982 	* src/cff/cffgload.c (cff_slot_load): Add cast.
 3983 	* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): Use proper
 3984 	loop variable type.
 3985 
 3986 2011-05-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3987 
 3988 	Automake component `builds/unix/install-sh' is removed.
 3989 
 3990 	* builds/unix/install-sh: Removed.  It is not needed to
 3991 	include repository, because autogen.sh installs it.
 3992 	* builds/unix/.gitignore: Register install-sh.
 3993 
 3994 2011-05-12  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 3995 
 3996 	[autofit] Make trace message for CJK bluezone more verbose.
 3997 
 3998 2011-05-08  Just Fill Bugs  <mozbugbox@yahoo.com.au>
 3999             suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4000 
 4001 	[autofit] Add bluezones for CJK Ideographs.
 4002 
 4003 	To remove extrema of vertical strokes of CJK Ideographs at
 4004 	low resolution and make the top and bottom horizontal stems
 4005 	aligned, bluezones for CJK Ideographs are calculated from
 4006 	sample glyphs.  At present, vertical bluezones (bluezones
 4007 	to align vertical stems) are disabled by default.  For detail, see
 4008 	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00070.html
 4009 	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00092.html
 4010 	https://lists.gnu.org/archive/html/freetype-devel/2011-05/msg00001.html
 4011 
 4012 	* include/freetype/internal/fttrace.h: New trace component `afcjk'.
 4013 	* src/autofit/afcjk.h (AF_CJK{Blue,Axis,Metric}Rec): Add CJK version
 4014 	for AF_Latin{Blue,Axis,Metric}Rec.
 4015 	(af_cjk_metrics_check_digits): Ditto, shared with Indic module.
 4016 	(af_cjk_metrics_init_widths): Ditto.
 4017 	(af_cjk_metrics_init): Take AF_CJKMetric instead of AF_LatinMetric.
 4018 	(af_cjk_metrics_scale): Ditto (declaration).
 4019 	(af_cjk_hints_init): Ditto (declaration).
 4020 	(af_cjk_hints_apply): Ditto (declaration).
 4021 	* src/autofit/afcjk.c (af_cjk_metrics_scale): Ditto (body).
 4022 	(af_cjk_hints_init): Ditto (body).
 4023 	(af_cjk_hints_apply): Ditto (body).
 4024 	(af_cjk_metrics_init_widths): Duplicate af_latin_metrics_init_widths.
 4025 	(af_cjk_metrics_check_digits): Duplicate af_latin_metrics_check_digits.
 4026 	(af_cjk_metrics_init): Call CJK bluezone initializer.
 4027 	(af_cjk_metrics_scale_dim): Add code to scale bluezones.
 4028 	(af_cjk_hints_compute_blue_edges): New function, CJK version of
 4029 	af_latin_hints_compute_blue_edges.
 4030 	(af_cjk_metrics_init_blues): New function, CJK version of
 4031 	af_latin_metrics_init_blues.
 4032 	(af_cjk_hint_edges): Add code to align the edge stems to blue zones.
 4033 
 4034 	* src/autofit/afindic.c (af_indic_metrics_init): Take AF_CJKMetric
 4035 	instead of AF_LatinMetric, and initialize as af_cjk_metrics_init.
 4036 	However bluezones are not initialized.
 4037 	(af_indic_metrics_scale): Take AF_CJKMetric instead of AF_LatinMetric.
 4038 	(af_indic_hints_init): Ditto.
 4039 	(af_indic_hints_apply): Ditto.
 4040 
 4041 	* docs/CHANGES: Note about CJK bluezone support.
 4042 
 4043 2011-05-06  Werner Lemberg  <wl@gnu.org>
 4044 
 4045 	[autofit] Remove unused struct member.
 4046 
 4047 	* src/autofit/aflatin.h (AF_LatinAxis): Remove `control_overshoot'.
 4048 
 4049 2011-05-04  Werner Lemberg  <wl@gnu.org>
 4050 
 4051 	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Simplify.
 4052 
 4053 2011-05-01  Just Fill Bugs  <mozbugbox@yahoo.com.au>
 4054             Werner Lemberg  <wl@gnu.org>
 4055 
 4056 	[autofit] Add more debugging functions.
 4057 
 4058 	* src/autofit/afhints.c (af_glyph_hints_get_num_segments,
 4059 	af_glyph_hints_get_segment_offset): New functions.
 4060 
 4061 2011-05-01  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4062 
 4063 	Add new option `--disable-mmap' to configure script.
 4064 
 4065 	* builds/unix/configure.raw: New option `--disable-mmap'
 4066 	is added.  It is for the developers to simulate the systems
 4067 	without mmap() (like 4.3BSD, minix etc) on POSIX systems.
 4068 
 4069 2011-04-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4070 
 4071 	[truetype] Always recalculate the sfnt table checksum.
 4072 
 4073 	* src/truetype/ttobjs.c (tt_get_sfnt_checksum): Recalculate
 4074 	the sfnt table checksum even if non-zero value is written in
 4075 	the TrueType font header.  Some bad PDF generators write
 4076 	wrong values.  For details see examples and benchmark tests
 4077 	of the latency by recalculation:
 4078 	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00091.html
 4079 	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00096.html
 4080 
 4081 2011-04-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4082 
 4083 	[truetype] Register a set of tricky fonts, NEC FA family.
 4084 
 4085 	* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids):
 4086 	Add 8 checksum sets for NEC FA family.  For the tricky fonts
 4087 	without some tables (e.g. NEC FA fonts lack cvt table),
 4088 	extra check is added to assure that a zero-length table in the
 4089 	registry is not included in the font.
 4090 
 4091 2011-04-29  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4092 
 4093 	[truetype] Fix a bug in the sfnt table checksum getter.
 4094 
 4095 	* src/truetype/ttobjs.c (tt_get_sfnt_checksum): Check the
 4096 	return value of face->goto_table() correctly.
 4097 
 4098 2011-04-28  Werner Lemberg  <wl@gnu.org>
 4099 
 4100 	[autofit] Improve tracing messages.
 4101 
 4102 	* src/autofit/aflatin.c (af_latin_metrics_init_blues,
 4103 	af_latin_align_linked_edge, af_latin_hint_edges): Do it.
 4104 
 4105 2011-04-25  Kan-Ru Chen  <kanru@kanru.info>
 4106 
 4107 	[truetype] Always check the checksum to identify tricky fonts.
 4108 
 4109 	Because some PDF generators mangle the family name badly,
 4110 	the trickyness check by the checksum should be invoked always.
 4111 	For sample PDF, see
 4112 	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00073.html
 4113 
 4114 	* src/truetype/ttobjs.c (tt_check_trickyness): Even when
 4115 	tt_check_trickyness_family() finds no trickyness,
 4116 	tt_check_trickyness_sfnt_ids() is invoked.
 4117 
 4118 2011-04-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4119 
 4120 	[autofit] Add more Indic scripts with hanging baseline.
 4121 
 4122 	* src/autofit/afindic.c (af_indic_uniranges): Tibetan, Limbu,
 4123 	Sundanese, Meetei Mayek, Syloti Nagri and Sharada scripts are
 4124 	added.
 4125 
 4126 2011-04-21  Behdad Esfahbod  <behdad@behdad.org>
 4127 
 4128 	Always ignore global advance.
 4129 
 4130 	This makes FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH redundant,
 4131 	deprecated, and ignored.  The new behavior is what every major user
 4132 	of FreeType has been requesting.  Global advance is broken in many
 4133 	CJK fonts.  Just ignoring it by default makes most sense.
 4134 
 4135 	* src/truetype/ttdriver.c (tt_get_advances),
 4136 	src/truetype/ttgload.c (TT_Get_HMetrics, TT_Get_VMetrics,
 4137 	tt_get_metrics, compute_glyph_metrics, TT_Load_Glyph),
 4138 	src/truetype/ttgload.h: Implement it.
 4139 
 4140 	* docs/CHANGES: Updated.
 4141 
 4142 2011-04-21  rainy6144  <rainy6144@gmail.com>
 4143 
 4144 	[autofit] Blur CJK stems if too many to preserve their gaps.
 4145 
 4146 	When there are too many stems to preserve their gaps in the
 4147 	rasterization of CJK Ideographs at a low resolution, blur the
 4148 	stems instead of showing clumped stems.  See
 4149 	https://lists.gnu.org/archive/html/freetype-devel/2011-02/msg00011.html
 4150 	https://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00046.html
 4151 	for details.
 4152 
 4153 	* src/autofit/afcjk.c (af_cjk_hint_edges): Store the position of
 4154 	the previous stem by `has_last_stem' and `last_stem_pos', and skip
 4155 	a stem if the current and previous stem are too near to preserve
 4156 	the gap.
 4157 
 4158 2011-04-18  Werner Lemberg  <wl@gnu.org>
 4159 
 4160 	Integrate autofitter debugging stuff.
 4161 
 4162 	* devel/ftoption.h, include/freetype/config/ftoption.h
 4163 	(FT_DEBUG_AUTOFIT): New macro.
 4164 
 4165 	* include/freetype/internal/fttrace.h: Add trace components for
 4166 	autofitter.
 4167 
 4168 	* src/autofit/aftypes.h (AF_LOG): Removed.
 4169 	(_af_debug): Removed.
 4170 
 4171 	* src/autofit/*: s/AF_DEBUG/FT_DEBUG_AUTOFIT/.
 4172 	s/AF_LOG/FT_TRACE5/.
 4173 	Define FT_COMPONENT where necessary.
 4174 
 4175 2011-04-18  Werner Lemberg  <wl@gnu.org>
 4176 
 4177 	Synchronize config files.
 4178 
 4179 	* builds/unix/ftconfig.in: Copy missing assembler routines from
 4180 	include/freetype/config/ftconfig.h.
 4181 
 4182 2011-04-13  Werner Lemberg  <wl@gnu.org>
 4183 
 4184 	[psaux] Fix Savannah bug #33047.
 4185 
 4186 	Patch submitted by anonymous reporter.
 4187 
 4188 	* src/psaux/psobjs.c (ps_table_add): Use FT_PtrDist for pointer
 4189 	difference.
 4190 
 4191 2011-04-11  Kan-Ru Chen  <kanru@kanru.info>
 4192 
 4193 	Fix reading of signed integers from files on 64bit platforms.
 4194 
 4195 	Previously, signed integers were converted to unsigned integers, but
 4196 	this can fail because of sign extension.  For example, 0xa344a1eb
 4197 	becomes 0xffffffffa344a1eb.
 4198 
 4199 	We now do the reverse which is always correct because the integer
 4200 	size is the same during the cast from unsigned to signed.
 4201 
 4202 	* include/freetype/internal/ftstream.h, src/base/ftstream.c
 4203 	(FT_Stream_Get*): Replace with...
 4204 	(FT_Stream_GetU*): Functions which read unsigned integers.
 4205 	Update all macros accordingly.
 4206 
 4207 	* src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Updated.
 4208 
 4209 2011-04-07  Werner Lemberg  <wl@gnu.org>
 4210 
 4211 	Update Unicode ranges for CJK autofitter; in particular, add Hangul.
 4212 
 4213 	* src/autofit/afcjk.c (af_cjk_uniranges): Update to Unicode 6.0.
 4214 
 4215 2011-04-04  Werner Lemberg  <wl@gnu.org>
 4216 
 4217 	Fix formatting of autofit debug dumps.
 4218 
 4219 	* src/autofit/afhints.c (af_glyph_hints_dump_points,
 4220 	af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Adjust
 4221 	column widths.
 4222 
 4223 2011-03-30  Werner Lemberg  <wl@gnu.org>
 4224 
 4225 	* src/autofit/aftypes.h (AF_OutlineRec): Removed, unused.
 4226 
 4227 2011-03-24  Werner Lemberg  <wl@gnu.org>
 4228 
 4229 	* src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 256.
 4230 	This limit is given on p. 37 of Adobe Technical Note #5014.
 4231 
 4232 2011-03-23  Werner Lemberg  <wl@gnu.org>
 4233 
 4234 	* src/truetype/ttpload.c (tt_face_load_loca): Fix mismatch warning.
 4235 
 4236 2011-03-20  Werner Lemberg  <wl@gnu.org>
 4237 
 4238 	* src/sfnt/sfobjs.c (sfnt_open_font): Check number of TTC subfonts.
 4239 
 4240 2011-03-19  Werner Lemberg  <wl@gnu.org>
 4241 
 4242 	More C++ compilation fixes.
 4243 
 4244 	* src/autofit/afhints.c (af_glyph_hints_dump_points,
 4245 	af_glyph_hints_dump_segments, af_glyph_hints_dump_edges)
 4246 	[__cplusplus]: Protect with `extern "C"'.
 4247 
 4248 2011-03-18  Werner Lemberg  <wl@gnu.org>
 4249 
 4250 	C++ compilation fixes.
 4251 
 4252 	* src/autofit/aflatin.c (af_latin_hints_apply), src/autofit/afcjk.c
 4253 	(af_cjk_hints_apply): Use cast for `dim'.
 4254 
 4255 2011-03-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
 4256 
 4257 	A better fix for Savannah bug #32671.
 4258 
 4259 	* src/smooth/ftgrays.c (gray_render_conic): Clean up code and
 4260 	replace WHILE loop with a more natural DO-WHILE construct.
 4261 
 4262 2011-03-16  Werner Lemberg  <wl@gnu.org>.
 4263 
 4264 	* src/base/ftstroke.c (FT_StrokerRec): Remove unused `valid' field.
 4265 	Suggested by Graham Asher.
 4266 
 4267 2011-03-09  Werner Lemberg  <wl@gnu.org>
 4268 
 4269 	Make FT_Sfnt_Table_Info return the number of SFNT tables.
 4270 
 4271 	* src/sfnt/sfdriver.c (sfnt_table_info): Implement it.
 4272 	* include/freetype/tttables.h: Update documentation.
 4273 	* docs/CHANGES: Updated.
 4274 
 4275 2011-03-07  Bram Tassyns  <bramt@enfocus.be>
 4276 
 4277 	[cff] Fix Savannah bug #27988.
 4278 
 4279 	* src/cff/cffobjs.c (remove_style): New function.
 4280 	(cff_face_init): Use it to strip off the style part of the family
 4281 	name.
 4282 
 4283 2011-03-07  Werner Lemberg  <wl@gnu.org>
 4284 
 4285 	* docs/CHANGES: Updated.
 4286 
 4287 2011-03-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
 4288 
 4289 	Quick fix for Savannah bug #32671.
 4290 
 4291 	This isn't the optimal solution yet, but it restores the previous
 4292 	rendering quality (more or less).
 4293 
 4294 	* src/smooth/ftgrays.c (gray_render_conic): Do more splitting.
 4295 
 4296 2011-03-06  Werner Lemberg  <wl@gnu.org>
 4297 
 4298 	Fix autohinting fallback.
 4299 
 4300 	* src/base/ftobjs.c (FT_Load_Glyph): Assure that we only check TTFs,
 4301 	ignoring CFF-based OTFs.
 4302 
 4303 2011-02-27  Werner Lemberg  <wl@gnu.org>
 4304 
 4305 	Add AF_CONFIG_OPTION_USE_WARPER to control the autofit warper.
 4306 
 4307 	* devel/ftoption.h, include/freetype/config/ftoption.h
 4308 	(AF_CONFIG_OPTION_USE_WARPER): New macro.
 4309 	* src/autofit/aftypes.h (AF_USE_WARPER): Remove.
 4310 
 4311 	* src/autofit/*: s/AF_USE_WARPER/AF_CONFIG_OPTION_USE_WARPER/.
 4312 
 4313 	* src/autofit/afwarp.c [!AF_CONFIG_OPTION_USE_WARPER]: Replace dummy
 4314 	variable assignment with a typedef.
 4315 
 4316 2011-02-26  Werner Lemberg  <wl@gnu.org>
 4317 
 4318 	[autofit] Slight simplifications.
 4319 
 4320 	* src/autofit/aflatin.c (af_latin_hints_link_segments): Remove
 4321 	test which always returns false.
 4322 	(af_latin_hints_compute_blue_edges): Remove redundant assignment.
 4323 
 4324 2011-02-24  Werner Lemberg  <wl@gnu.org>
 4325 
 4326 	* docs/PROBLEMS: Mention rendering differences on different
 4327 	platforms.
 4328 	Suggested and worded by Jason Owen <jason.a.owen@gmail.com>.
 4329 
 4330 2011-02-24  Werner Lemberg  <wl@gnu.org>
 4331 
 4332 	[autofit] Comment out unused code.
 4333 
 4334 	* src/autofit/aflatin.c, src/autofit/aflatin2.c
 4335 	(af_latin_hints_compute_edges): Do it.
 4336 
 4337 2011-02-24  Werner Lemberg  <wl@gnu.org>
 4338 
 4339 	* src/autofit/afhints.h (AF_GlyphHints): Remove unused field.
 4340 
 4341 2011-02-20  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4342 
 4343 	[cache] Fix an off-by-one bug in `FTC_Manager_RemoveFaceID'.
 4344 	Found by <ychen1392001@yahoo.com.cn>, see detail in
 4345 
 4346 	  https://lists.gnu.org/archive/html/freetype/2011-01/msg00023.html
 4347 
 4348 	* src/cache/ftccache.c (FTC_Cache_RemoveFaceID): Check the node
 4349 	buckets[cache->p + cache->mask] too.
 4350 
 4351 2011-02-19  Kevin Kofler  <kevin.kofler@chello.at>
 4352 
 4353 	Fall back to autohinting if a TTF/OTF doesn't contain any bytecode.
 4354 	This is Savannah patch #7471.
 4355 
 4356 	* src/base/ftobjs.c (FT_Load_Glyph): Implement it.
 4357 
 4358 2011-02-19  John Tytgat  <John.Tytgat@esko.com>
 4359 
 4360 	[cff] Fix subset prefix removal.
 4361 	This is Savannah patch #7465.
 4362 
 4363 	* src/cff/cffobjs.c (remove_subset_prefix): Update length after
 4364 	subset prefix removal.
 4365 
 4366 2011-02-13  Bradley Grainger  <bgrainger@logos.com>
 4367 
 4368 	Add inline assembly version of FT_MulFix for MSVC.
 4369 
 4370 	* include/freetype/config/ftconfig.h: Ported the FT_MulFix_i386
 4371 	function from GNU inline assembly syntax (see #ifdef __GNUC__ block
 4372 	above) to MASM syntax for Microsoft Visual C++.
 4373 
 4374 2011-02-13  Bradley Grainger  <bgrainger@logos.com>
 4375 
 4376 	Add project and solution files in Visual Studio 2010 format.
 4377 
 4378 	* builds/win32/.gitignore: Ignore user-specific cache files.
 4379 	* builds/win32/vc2010/: Add VS2010 project & solution files, created
 4380 	by upgrading builds/win32/vc2008/freetype.vcproj.
 4381 	* objs/.gitignore: Ignore Visual Studio output files.
 4382 
 4383 2011-02-01  Werner Lemberg  <wl@gnu.org>
 4384 
 4385 	* src/autofit/afdummy.c: Include `aferrors.h'.
 4386 	Problem reported by Chris Liddell <chris.liddell@artifex.com>.
 4387 
 4388 2011-02-01  Werner Lemberg  <wl@gnu.org>
 4389 
 4390 	[cff] Ignore unknown operators in charstrings.
 4391 	Patch suggested by Miles.Lau <sunliang_liu@foxitsoftware.com>.
 4392 
 4393 	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Emit tracing
 4394 	message for unknown operators and continue instead of exiting with a
 4395 	syntax error.
 4396 
 4397 2011-02-01  Werner Lemberg  <wl@gnu.org>
 4398 
 4399 	[truetype] FT_LOAD_PEDANTIC now affects `prep' and `fpgm' also.
 4400 
 4401 	* src/truetype/ttgload.c (tt_loader_init): Handle
 4402 	`FT_LOAD_PEDANTIC'.
 4403 	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep,
 4404 	tt_size_init_bytecode, tt_size_ready_bytecode): New argument to
 4405 	handle pedantic mode.
 4406 	* src/truetype/ttobjs.h: Updated.
 4407 
 4408 2011-01-31  Werner Lemberg  <wl@gnu.org>
 4409 
 4410 	[truetype] Protect jump instructions against endless loops.
 4411 
 4412 	* src/truetype/interp.c (DO_JROT, DO_JMPR, DO_JROF): Exit with error
 4413 	if offset is zero.
 4414 
 4415 2011-01-31  Werner Lemberg  <wl@gnu.org>
 4416 
 4417 	[truetype] Improve handling of invalid references.
 4418 
 4419 	* src/truetype/interp.c: Set even more TT_Err_Invalid_Reference
 4420 	error codes only if pedantic hinting is active.  At the same time,
 4421 	try to provide sane values which hopefully allow useful
 4422 	continuation.  Exception to this is CALL and LOOPCALL – due to
 4423 	possible stack corruption it is necessary to bail out.
 4424 
 4425 2011-01-31  Werner Lemberg  <wl@gnu.org>
 4426 
 4427 	[truetype] Improve handling of stack underflow.
 4428 
 4429 	* src/truetype/ttinterp.c (TT_RunIns, Ins_FLIPPT, Ins_DELTAP,
 4430 	Ins_DELTAC): Exit with error only if `pedantic_hinting' is set.
 4431 	Otherwise, try to do something sane.
 4432 
 4433 2011-01-30  Werner Lemberg  <wl@gnu.org>
 4434 
 4435 	* src/sfnt/ttmtx.c (tt_face_load_hmtx): Fix tracing message.
 4436 
 4437 2011-01-30  LIU Sun-Liang  <sunliang_liu@foxitsoftware.com>
 4438 
 4439 	[truetype]: Fix behaviour of MIAP for invalid arguments.
 4440 
 4441 	* src/truetype/ttinterp.c (Ins_MIAP): Set reference points even in
 4442 	case of error.
 4443 
 4444 2011-01-18  Werner Lemberg  <wl@gnu.org>
 4445 
 4446 	[truetype] Fix handling of MIRP instruction.
 4447 
 4448 	Thanks to Greg Hitchcock who explained the issue.
 4449 
 4450 	* src/truetype/ttinterp.c (Ins_MIRP): Replace a `>=' operator with
 4451 	`>' since the description in the specification is incorrect.
 4452 	This fixes, for example, glyph `two' in font `Helvetica Neue LT Com
 4453 	65 medium' at 15ppem.
 4454 
 4455 2011-01-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4456 
 4457 	Fix ARM assembly code in include/freetype/config/ftconfig.h.
 4458 
 4459 	* include/freetype/config/ftconfig.h (FT_MulFix_arm):
 4460 	Copy the maintained code from builds/unix/ftconfig.in.
 4461 	Old GNU binutils could not accept the reduced syntax
 4462 	`orr %0, %2, lsl #16'.  Un-omitted syntax like RVCT,
 4463 	`orr %0, %0, %2, lsl #16' is better.  Reported by
 4464 	Johnson Y. Yan.  The bug report by Qt developers is
 4465 	considered too.
 4466 
 4467 	https://bugreports.qt.io/browse/QTBUG-6521
 4468 
 4469 2011-01-15  Werner Lemberg  <wl@gnu.org>
 4470 
 4471 	[raster] Make bbox handling the same as with Microsoft's rasterizer.
 4472 
 4473 	Right before B/W rasterizing, the bbox gets simply rounded to
 4474 	integers.  This fixes, for example, glyph `three' in font `Helvetica
 4475 	Neue LT Com 65 Medium' at 11ppem.
 4476 
 4477 	Thanks to Greg Hitchcock who explained this behaviour.
 4478 
 4479 	* src/raster/ftrend1.c (ft_raster1_render): Implement it.
 4480 
 4481 2011-01-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4482 
 4483 	Copy -mcpu=* & -march=* options from CFLAGS to LDFLAGS.
 4484 
 4485 	* builds/unix/configure.raw: Consider recent gcc-standard
 4486 	flags to specify architecture in CFLAGS & LDFLAGS
 4487 	harmonization.  Requested by Savannah bug #32114, to
 4488 	support multilib feature of BuildRoot SDK correctly.
 4489 
 4490 2011-01-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4491 
 4492 	Fix off-by-one bug in CFLAGS & LDFLAGS harmonizer.
 4493 
 4494 	* builds/unix/configure.raw: Some important options that
 4495 	included in CFLAGS but not in LDFLAGS are copied to
 4496 	LDFLAGS, but the last option in CFLAGS was not checked.
 4497 
 4498 2011-01-13  Werner Lemberg  <wl@gnu.org>
 4499 
 4500 	[raster] Add undocumented drop-out rule to the other bbox side also.
 4501 
 4502 	* src/raster/ftraster.c (Vertical_Sweep_Drop,
 4503 	Horizontal_Sweep_Drop): Implement it.
 4504 
 4505 2011-01-13  Werner Lemberg  <wl@gnu.org>
 4506 
 4507 	[raster] Reduce jitter value.
 4508 
 4509 	This catches a rendering problem with glyph `x' from Tahoma at
 4510 	10ppem.  It seems that the increase of the precision in the change
 4511 	from 2009-06-11 makes a larger jitter value unnecessary.
 4512 
 4513 	* src/raster/ftraster.c (Set_High_Precision): Implement it.
 4514 
 4515 2011-01-13  Werner Lemberg  <wl@gnu.org>
 4516 
 4517 	[raster] Handle drop-outs at glyph borders according to Microsoft.
 4518 
 4519 	If a drop-out rule would switch on a pixel outside of the glyph's
 4520 	bounding box, use the right (or top) pixel instead.  This is an
 4521 	undocumented feature, but some fonts like `Helvetica Neue LT Com 65
 4522 	Medium' heavily rely on it.
 4523 
 4524 	Thanks to Greg Hitchcock who explained this behaviour.
 4525 
 4526 	* src/raster/ftraster.c (Vertical_Sweep_Drop,
 4527 	Horizontal_Sweep_Drop): Implement it.
 4528 
 4529 2011-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4530 
 4531 	[cache] Fix Savannah bug #31923, patch drafted by Harsha.
 4532 
 4533 	When a node comparator changes the cached nodes during the
 4534 	search of a node matching with queried properties, the
 4535 	pointers obtained before the function should be updated to
 4536 	prevent the dereference to freed or reallocated nodes.
 4537 	To minimize the rescan of the linked list, the update is
 4538 	executed when the comparator notifies the change of cached
 4539 	nodes. This change depends previous change:
 4540 	38b272ffbbdaae276d636aec4ef84af407d16181
 4541 
 4542 	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Rescan the
 4543 	top node if the cached nodes are changed.
 4544 	* src/cache/ftccache.c (FTC_Cache_Lookup): Ditto.
 4545 
 4546 2011-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4547 
 4548 	[cache] Notice if a cache query induced the node list change.
 4549 
 4550 	Some node comparators (comparing the cache node contents and the
 4551 	properties specified by the query) can flush the cache node to
 4552 	prevent the cache inflation.  The change may invalidate the pointers
 4553 	to the node obtained before the node comparison, so it should be
 4554 	noticed to the caller.  The problem caused by the cache node
 4555 	changing is reported by Harsha, see Savannah bug #31923.
 4556 
 4557 	* src/cache/ftccache.h (FTC_Node_CompareFunc): Add new argument
 4558 	`FT_Bool* list_changed' to indicate the change of the cached nodes
 4559 	to the caller.
 4560 	(FTC_CACHE_LOOKUP_CMP): Watch the change of the cached nodes by
 4561 	`_list_changed'.
 4562 	(FTC_CACHE_TRYLOOP_END): Take new macro argument `_list_changed'
 4563 	and update it when `FTC_Manager_FlushN' flushes any nodes.
 4564 
 4565 	* src/cache/ftccback.h (ftc_snode_compare): Updated to fit with new
 4566 	FTC_Node_CompareFunc type.
 4567 	(ftc_gnode_compare): Ditto.
 4568 
 4569 	* src/cache/ftcbasic.c: Include FT_INTERNAL_OBJECTS_H to use
 4570 	TRUE/FALSE macros.
 4571 	(ftc_basic_gnode_compare_faceid): New argument `FT_Bool*
 4572 	list_changed' to indicate the change of the cache nodes (anyway, it
 4573 	is always FALSE).
 4574 
 4575 	* src/cache/ftccmap.c: Include FT_INTERNAL_OBJECTS_H to use
 4576 	TRUE/FALSE macros.
 4577 	(ftc_cmap_node_compare): New argument `FT_Bool* list_changed' to
 4578 	indicate the change of the cache nodes (anyway, it is always FALSE).
 4579 	(ftc_cmap_node_remove_faceid): Ditto.
 4580 
 4581 	* src/cache/ftccache.c (FTC_Cache_NewNode): Pass a NULL pointer to
 4582 	`FTC_CACHE_TRYLOOP_END', because the result is not needed.
 4583 	(FTC_Cache_Lookup): Watch the change of the cache nodes by
 4584 	`list_changed'.
 4585 	(FTC_Cache_RemoveFaceID): Ditto.
 4586 
 4587 	* src/cache/ftcglyph.c: Include FT_INTERNAL_OBJECTS_H to use
 4588 	TRUE/FALSE macros.
 4589 	(ftc_gnode_compare): New argument `FT_Bool* list_changed' to
 4590 	indicate the change of the cache nodes (anyway, it is always FALSE).
 4591 	(FTC_GNode_Compare): New argument `FT_Bool* list_changed' to be
 4592 	passed to `ftc_gnode_compare'.
 4593 	* src/cache/ftcglyph.h (FTC_GNode_Compare): Ditto.
 4594 
 4595 	* src/cache/ftcsbits.c (ftc_snode_compare): New argument `FT_Bool*
 4596 	list_changed' to indicate the change of the cache nodes, anyway.  It
 4597 	is updated by `FTC_CACHE_TRYLOOP'.
 4598 	(FTC_SNode_Compare): New argument `FT_Bool* list_changed' to be
 4599 	passed to `ftc_snode_compare'.
 4600 	* src/cache/ftcsbits.h (FTC_SNode_Compare): Ditto.
 4601 
 4602 2011-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4603 
 4604 	[cache] Fit `FTC_GNode_Compare' to `FTC_Node_CompareFunc'.
 4605 
 4606 	* src/cache/ftcglyph.h (FTC_GNode_Compare): Add the 3rd
 4607 	argument `FTC_Cache  cache' to fit FTC_Node_CompareFunc
 4608 	prototype.
 4609 	* src/cache/ftcglyph.c (FTC_GNode_Compare): Ditto. Anyway,
 4610 	`cache' is not used by its child `ftc_gnode_compare'.
 4611 
 4612 2011-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4613 
 4614 	[cache] Deduplicate the code to get the top node by a hash.
 4615 
 4616 	There are several duplicated code fragments getting the top node
 4617 	from a cache by a given hash, like:
 4618 
 4619 	    idx = hash & cache->mask;
 4620 	    if ( idx < cache->p )
 4621 	      idx = hash & ( cache->mask * 2 + 1 );
 4622 	    pnode = cache->buckets + idx;
 4623 
 4624 	To remove duplication, a cpp-macro to do same work
 4625 	`FTC_NODE__TOP_FOR_HASH' is introduced.  For non-inlined
 4626 	configuration, non-`ftc_get_top_node_for_hash' is also introduced.
 4627 
 4628 	* src/cache/ftccache.h (FTC_NODE__TOP_FOR_HASH): Declare
 4629 	and implement inlined version.
 4630 	(FTC_CACHE_LOOKUP_CMP): Use `FTC_NODE__TOP_FOR_HASH'.
 4631 	* src/cache/ftccache.c (ftc_get_top_node_for_hash): Non-inlined
 4632 	version.
 4633 	(ftc_node_hash_unlink): Use `FTC_NODE__TOP_FOR_HASH'.
 4634 	(ftc_node_hash_link): Ditto.
 4635 	(FTC_Cache_Lookup): Ditto.
 4636 
 4637 2011-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4638 
 4639 	[cache] inline-specific functions are conditionalized.
 4640 
 4641 	* src/cache/ftcglyph.c (FTC_GNode_Compare): Conditionalized for
 4642 	inlined configuration.  This function is a thin wrapper of
 4643 	`ftc_gnode_compare' for inlined `FTC_CACHE_LOOKUP_CMP' (see
 4644 	`nodecmp' argument).  Under non-inlined configuration,
 4645 	`ftc_gnode_compare' is invoked by `FTC_Cache_Lookup', via
 4646 	`FTC_Cache->clazz.node_compare'.
 4647 
 4648 	* src/cache/ftcglyph.h (FTC_GNode_Compare): Ditto.
 4649 	* src/cache/ftcsbits.c (FTC_SNode_Compare): Ditto, for
 4650 	`ftc_snode_compare'.
 4651 	* src/cache/ftcsbits.h (FTC_SNode_Compare): Ditto.
 4652 
 4653 2011-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4654 
 4655 	[cache] Correct a type mismatch under non-inlined config.
 4656 
 4657 	* src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): `FTC_GCache_Lookup'
 4658 	takes the node via a pointer `FTC_Node*', differently from cpp-macro
 4659 	`FTC_CACHE_LOOKUP_CMP'.
 4660 
 4661 2011-01-06  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4662 
 4663 	Update Jamfile to include Bzip2 support.
 4664 
 4665 	* Jamfile: Include src/bzip2 to project.
 4666 	Comments for lzw, gzip, bzip2 are changed to clarify that
 4667 	they are for compressed PCF fonts, not others.
 4668 	(e.g. compressed BDF fonts are not supported yet)
 4669 
 4670 2011-01-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4671 
 4672 	Update Symbian project files to include Bzip2 support.
 4673 
 4674 	Currently, it provides `FT_Stream_OpenBzip2' that returns
 4675 	unimplemented error always, to prevent unresolved symbol
 4676 	error for the applications designed for Unix systems.
 4677 
 4678 	* builds/symbian/bld.inf: Include ftbzip2.h.
 4679 	* builds/symbian/freetype.mmp: Include ftbzip2.c.
 4680 
 4681 2011-01-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4682 
 4683 	Update classic MacOS makefiles to include Bzip2 support.
 4684 
 4685 	Currently, it provides `FT_Stream_OpenBzip2' that returns
 4686 	unimplemented error always, to prevent unresolved symbol
 4687 	error for the applications designed for Unix systems.
 4688 
 4689 	* builds/mac/FreeType.m68k_cfm.make.txt: Include ftbzip2.c.o.
 4690 	* builds/mac/FreeType.m68k_far.make.txt: Ditto.
 4691 	* builds/mac/FreeType.ppc_carbon.make.txt: Include ftbzip2.c.x.
 4692 	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
 4693 
 4694 2011-01-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4695 
 4696 	Update Amiga makefiles to include Bzip2 support.
 4697 
 4698 	Currently, it provides `FT_Stream_OpenBzip2' that returns
 4699 	unimplemented error always, to prevent unresolved symbol
 4700 	error for the applications designed for Unix systems.
 4701 
 4702 	* builds/amiga/makefile: Include bzip2.ppc.o built from ftbzip2.c.
 4703 	* builds/amiga/makefile.os4: Include bzip2.o built from ftbzip2.c.
 4704 	* builds/amiga/smakefile: Ditto.
 4705 
 4706 2011-01-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4707 
 4708 	Update pkg-config tools to reflect Bzip2 support.
 4709 
 4710 	* builds/unix/freetype-config.in: Include `-lbz2' to
 4711 	--libs output, if built with Bzip2 support.
 4712 	* builds/unix/freetype2.in: Ditto.
 4713 
 4714 2011-01-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4715 
 4716 	* builds/unix/configure.raw: Remove `SYSTEM_BZ2LIB' macro.
 4717 
 4718 	SYSTEM_ZLIB is used to switch the builtin zlib source
 4719 	or system zlib source out of FreeType2.  But ftbzip2
 4720 	module has no builtin bzip2 library and always requires
 4721 	system bzip2 library.  Thus SYSTEM_BZ2LIB is always yes,
 4722 	it is not used.
 4723 
 4724 2011-01-03  Werner Lemberg  <wl@gnu.org>
 4725 
 4726 	*/rules.mk: Handle `*pic.c' files.
 4727 
 4728 2010-12-31  Werner Lemberg  <wl@gnu.org>
 4729 
 4730 	* src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 64.
 4731 	Problem reported by Tom Bishop <wenlin@wenlin.com>.
 4732 
 4733 2010-12-31  Werner Lemberg  <wl@gnu.org>
 4734 
 4735 	Improve bzip2 support.
 4736 
 4737 	* include/freetype/ftmoderr.h: Add bzip2.
 4738 
 4739 	* docs/INSTALL.ANY, docs/CHANGES: Updated.
 4740 
 4741 	* src/pcf/README: Updated.
 4742 	* include/freetype/internal/pcftypes.h: Obsolete, removed.
 4743 
 4744 2010-12-31  Joel Klinghed  <the_jk@yahoo.com>
 4745 
 4746 	Add bzip2 compression support to handle *.pcf.bz2 files.
 4747 
 4748 	* builds/unix/configure.raw: Test for libbz2 library.
 4749 
 4750 	* devel/ftoption.h, include/freetype/config/ftoption.h
 4751 	(FT_CONFIG_OPTION_USE_BZIP2): Define.
 4752 	* include/freetype/config/ftheader.h (FT_BZIP2_H): Define.
 4753 
 4754 	* include/freetype/ftbzip2.h: New file.
 4755 
 4756 	* src/bzip2/*: New files.
 4757 
 4758 	* src/pcf/pcf.h: s/gzip_/comp_/.
 4759 	* src/pcf/pcfdrivr.c: Include FT_BZIP2_H.
 4760 	s/gzip_/comp_/.
 4761 	(PCF_Face_Init): Handle bzip2 compressed files.
 4762 
 4763 	* docs/formats.txt, modules.cfg: Updated.
 4764 
 4765 2010-12-25  Harsha  <mm.harsha@gmail.com>
 4766 
 4767 	Apply Savannah patch #7422.
 4768 
 4769 	If we encounter a space in a string then the sbit buffer is NULL,
 4770 	height and width are 0s.  So the check in ftc_snode_compare will
 4771 	always pass for spaces (comparison with 255).  Here the comments
 4772 	above the condition are proper but the implementation is not.  When
 4773 	we create an snode I think it is the proper way to initialize the
 4774 	width to 255 and then put a check for being equal to 255 in snode
 4775 	compare function.
 4776 
 4777 	* src/cache/ftcsbits.c (FTC_SNode_New): Initialize sbit widths with
 4778 	value 255.
 4779 	(ftc_snode_compare): Fix condition.
 4780 
 4781 2010-12-13  Werner Lemberg  <wl@gnu.org>
 4782 
 4783 	Fix parameter handling of `FT_Set_Renderer'.
 4784 	Reported by Kirill Tishin <siege@bk.ru>.
 4785 
 4786 	* src/base/ftobjs.c (FT_Set_Renderer): Increment `parameters'.
 4787 
 4788 2010-12-09  Werner Lemberg  <wl@gnu.org>
 4789 
 4790 	[cff] Allow `hlineto' and `vlineto' without arguments.
 4791 
 4792 	We simply ignore such instructions.  This is invalid, but it doesn't
 4793 	harm; and indeed, there exist such subsetted fonts in PDFs.
 4794 
 4795 	Reported by Albert Astals Cid <aacid@kde.org>.
 4796 
 4797 	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
 4798 	[cff_op_hlineto]: Ignore instruction if there aren't any arguments
 4799 	on the stack.
 4800 
 4801 2010-11-28  Werner Lemberg  <wl@gnu.org>
 4802 
 4803 	* Version 2.4.4 released.
 4804 	=========================
 4805 
 4806 
 4807 	Tag sources with `VER-2-4-4'.
 4808 
 4809 	* docs/CHANGES: Updated.
 4810 
 4811 	* docs/VERSION.DLL: Update documentation and bump version number to
 4812 	2.4.4
 4813 
 4814 	* README, Jamfile (RefDoc),
 4815 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 4816 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 4817 	builds/win32/visualc/freetype.dsp,
 4818 	builds/win32/visualc/freetype.vcproj,
 4819 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 4820 	builds/win32/visualce/freetype.vcproj,
 4821 	builds/win32/visualce/index.html,
 4822 	builds/wince/vc2005-ce/freetype.vcproj,
 4823 	builds/wince/vc2005-ce/index.html,
 4824 	builds/wince/vc2008-ce/freetype.vcproj,
 4825 	builds/wince/vc2008-ce/index.html: s/2.4.3/2.4.4/, s/243/244/.
 4826 
 4827 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
 4828 
 4829 	* builds/unix/configure.raw (version_info): Set to 12:2:6.
 4830 
 4831 2010-11-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
 4832 
 4833 	[ftsmooth]: Minor code simplification.
 4834 
 4835 	* src/smooth/ftgrays (gray_render_cubic): Do only one comparison
 4836 	instead of two.
 4837 
 4838 2010-11-26  Johnson Y. Yan  <yinsen_yan@foxitsoftware.com>
 4839 
 4840 	[truetype] Better multi-threading support.
 4841 
 4842 	* src/truetype/ttinterp.c (TT_Load_Context): Reset glyph zone
 4843 	references.
 4844 
 4845 2010-11-23  John Tytgat  <John.Tytgat@esko.com>
 4846 
 4847 	* src/psaux/t1decode.c (t1_decoder_parse_charstring): Expand
 4848 	start_point, check_points, add_point, add_point1, close_contour
 4849 	macros.
 4850 	Remove add_contour macro.
 4851 	Return error code from t1_builder_start_point and
 4852 	t1_builder_check_points when there was one (instead of returning 0).
 4853 
 4854 2010-11-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4855 
 4856 	[truetype] Identify the tricky fonts by cvt/fpgm/prep checksums.
 4857 	Some Latin TrueType fonts are still expected to be unhinted.
 4858 	Fix Savannah bug #31645.
 4859 
 4860 	* src/truetype/ttobjs.c (tt_check_trickyness): Divided to...
 4861 	(tt_check_trickyness_family): this checking family name, and
 4862 	(tt_check_trickyness_sfnt_ids): this checking cvt/fpgm/prep.
 4863 	(tt_get_sfnt_checksum): Function to retrieve the sfnt checksum
 4864 	for specified subtable even if cleared by lazy PDF generators.
 4865 	(tt_synth_sfnt_checksum): Function to calculate the checksum.
 4866 
 4867 2010-11-18  Werner Lemberg  <wl@gnu.org>
 4868 
 4869 	[truetype] Fix `loca' handling for inconsistent number of glyphs.
 4870 	Reported by Johnson Y. Yan <yinsen_yan@foxitsoftware.com>.
 4871 
 4872 	* src/truetype/ttpload.c (tt_face_load_loca): While sanitizing,
 4873 	handle case where `loca' is the last table in the font.
 4874 
 4875 2010-11-18  Werner Lemberg  <wl@gnu.org>
 4876 
 4877 	[sfnt] Ignore all errors while loading `OS/2' table.
 4878 	Suggested by Johnson Y. Yan <yinsen_yan@foxitsoftware.com>.
 4879 
 4880 	* src/sfnt/sfobjs.c (sfnt_load_face): Do it.
 4881 
 4882 2010-11-18  Johnson Y. Yan  <yinsen_yan@foxitsoftware.com>
 4883 
 4884 	[type1] Fix matrix normalization.
 4885 
 4886 	* src/type1/t1load.c (parse_font_matrix): Handle sign of scaling
 4887 	factor.
 4888 
 4889 2010-11-18  Werner Lemberg  <wl@gnu.org>
 4890 
 4891 	[type1] Improve guard against malformed data.
 4892 	Based on a patch submitted by Johnson Y. Yan
 4893 	<yinsen_yan@foxitsoftware.com>
 4894 
 4895 	* src/type1/t1load.c (read_binary_data): Check `size'.
 4896 
 4897 2010-11-17  Werner Lemberg  <wl@gnu.org>
 4898 
 4899 	[sfnt] While tracing, output table checksums also.
 4900 
 4901 	* src/sfnt/ttload.c (tt_face_load_font_dir): Do it.
 4902 
 4903 2010-11-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4904 
 4905 	[UVS] Fix `find_variant_selector_charmap', Savannah bug #31545.
 4906 
 4907 	Since 2010-07-04, `find_variant_selector_charmap' returns
 4908 	the first cmap subtable always under rogue-compatible
 4909 	configuration, it causes NULL pointer dereference and
 4910 	make UVS-related functions crashed.
 4911 
 4912 	* src/base/ftobjs.c (Fix find_variant_selector_charmap):
 4913 	Returns UVS cmap correctly.
 4914 
 4915 2010-11-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
 4916 
 4917 	[ftsmooth] Improve rendering.
 4918 
 4919 	* src/smooth/ftsmooth.c (gray_render_conic): Since version 2.4.3,
 4920 	cubic deviations have been estimated _after_ UPSCALE, whereas
 4921 	conic ones have been evaluated _before_ UPSCALE, which produces
 4922 	inferior rendering results.  Fix this.
 4923 	Partially undo change from 2010-10-15 by using ONE_PIXEL/4; this has
 4924 	been tested with demo images sent to the mailing list.  See
 4925 
 4926 	  https://lists.gnu.org/archive/html/freetype-devel/2010-10/msg00055.html
 4927 
 4928 	and later mails in this thread.
 4929 
 4930 2010-10-28  Werner Lemberg  <wl@gnu.org>
 4931 
 4932 	[ftraster] Minor fixes.
 4933 
 4934 	Reported by Tom Bishop <wenlin@wenlin.com>.
 4935 
 4936 	* src/raster/ftraster.c (ULong): Remove unused typedef.
 4937 	(TWorker): Remove unused variable `precision_mask'.
 4938 
 4939 2010-10-28  Werner Lemberg  <wl@gnu.org>
 4940 
 4941 	[ftraster] Fix rendering.
 4942 
 4943 	Problem reported by Tom Bishop <wenlin@wenlin.com>; see
 4944 	thread starting with
 4945 
 4946 	  https://lists.gnu.org/archive/html/freetype/2010-10/msg00049.html
 4947 
 4948 	* src/raster/ftraster.c (Line_Up): Replace FMulDiv with SMulDiv
 4949 	since the involved multiplication exceeds 32 bits.
 4950 
 4951 2010-10-25  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4952 
 4953 	Revert a change of `_idx' type in `FTC_CACHE_LOOKUP_CMP'.
 4954 
 4955 	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Revert
 4956 	the type of `_idx' from FT_PtrDist (by previous change)
 4957 	to original FT_UFast, to match with FT_CacheRec.
 4958 
 4959 2010-10-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 4960 
 4961 	[cache] Change the hash types to FT_PtrDist.
 4962 
 4963 	On LLP64 platforms (e.g. Win64), FT_ULong (32-bit)
 4964 	variables are inappropriate to calculate hash values
 4965 	from the memory address (64-bit).  The hash variables
 4966 	are extended from FT_ULong to FT_PtrDist and new
 4967 	hashing macro functions are introduced.  The hash
 4968 	values on 16-bit memory platforms are changed, but
 4969 	ILP32 and LP64 are not changed.  The hash value in
 4970 	the cache subsystem is not reverted to the memory
 4971 	address, so using signed type FT_PtrDist is safe.
 4972 
 4973 	* src/cache/ftccache.h (_FTC_FACE_ID_HASH): New hash
 4974 	function to replace `FTC_FACE_ID_HASH' for portability.
 4975 	* src/cache/ftcmanag.h (FTC_SCALER_HASH): Replace
 4976 	`FTC_FACE_ID_HASH' by `_FTC_FACE_ID_HASH'.
 4977 	* src/cache/ftccmap.c (FTC_CMAP_HASH): Ditto.
 4978 
 4979 	* src/cache/ftccache.h (FTC_NodeRec): The type of the
 4980 	member `hash' is changed from FT_UInt32 to FT_PtrDist.
 4981 
 4982 	* src/cache/ftccache.h (FTC_Cache_Lookup): The type of the
 4983 	argument `hash' is changed from FT_UInt32 to FT_PtrDist.
 4984 	(FTC_Cache_NewNode): Ditto.
 4985 	* src/cache/ftccache.c (ftc_cache_add): Ditto.
 4986 	(FTC_Cache_Lookup): Ditto.  (FTC_Cache_NewNode): Ditto.
 4987 	* src/cache/ftcglyph.h (FTC_GCache_Lookup): Ditto.
 4988 	* src/cache/ftcglyph.c (FTC_GCache_Lookup): Ditto.
 4989 
 4990 	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): The type
 4991 	of the internal variable `hash' is changed to FT_PtrDist
 4992 	from FT_UInt32.  (FTC_ImageCache_LookupScaler): Ditto.
 4993 	(FTC_SBitCache_Lookup): Ditto.
 4994 	(FTC_SBitCache_LookupScaler): Ditto.
 4995 	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Ditto.
 4996 	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Ditto.
 4997 	Also the type of the internal variable `_idx' is changed to
 4998 	FT_PtrDist from FT_UFast for better pointer calculation.
 4999 
 5000 2010-10-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5001 
 5002 	[cache] Hide internal macros incompatible with LLP64.
 5003 
 5004 	`FT_POINTER_TO_ULONG', `FTC_FACE_ID_HASH', and
 5005 	`FTC_IMAGE_TYPE_HASH' are enclosed by
 5006 	FT_CONFIG_OPTION_OLD_INTERNALS and hidden from
 5007 	normal clients.
 5008 
 5009 	For the history of these macros, see the investigation:
 5010 	https://lists.gnu.org/archive/html/freetype/2010-10/msg00022.html
 5011 
 5012 2010-10-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5013 
 5014 	Change the type of `FT_MEM_VAL' from FT_ULong to FT_PtrDist.
 5015 
 5016 	On LLP64 platforms (e.g. Win64), unsigned long (32-bit)
 5017 	cannot cover the memory address (64-bit).  `FT_MEM_VAL' is
 5018 	used for hashing only and not dereferred, so using signed
 5019 	type FT_PtrDist is safe.
 5020 
 5021 	* src/base/ftdbgmem.c (FT_MEM_VAL): Change the type of the
 5022 	return value from FT_ULong to FT_PtrDist.
 5023 	(ft_mem_table_resize): The type of hash is changed to
 5024 	FT_PtrDist.  (ft_mem_table_get_nodep): Ditto.
 5025 
 5026 2010-10-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5027 
 5028 	Replace "%lx" for memory address by "%p", LLP64 platforms.
 5029 
 5030 	On LLP64 platforms (e.g. Win64), long (32-bit) cannot cover
 5031 	the memory address (64-bit).  Also the casts from the pointer
 5032 	type to long int should be removed to preserve the address
 5033 	correctly.
 5034 
 5035 	* src/raster/ftraster.c (New_Profile): Replace "%lx" by "%p".
 5036 	(End_Profile) Ditto.
 5037 	* src/truetype/ttinterp.c (Init_Context): Ditto.
 5038 
 5039 2010-10-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
 5040 
 5041 	Fix thinko in spline flattening.
 5042 
 5043 	FT_MAX_CURVE_DEVIATION is dependent on the value of ONE_PIXEL.
 5044 
 5045 	* src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): Remove it and
 5046 	replace it everywhere with ONE_PIXEL/8.
 5047 
 5048 2010-10-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5049 
 5050 	[raccess] Skip unrequired resource access rules by Darwin VFS.
 5051 
 5052 	When a resource fork access rule by Darwin VFS could open the
 5053 	resource fork but no font is found in it, the rest of rules
 5054 	by Darwin VFS are skipped.  It reduces the warnings of the
 5055 	deprecated resource fork access method by recent Darwin kernel.
 5056 	Fix MacPorts ticket #18859:
 5057 		https://trac.macports.org/ticket/18859
 5058 
 5059 	* src/base/ftobjs.c (load_face_in_embedded_rfork):
 5060 	When `FT_Stream_New' returns FT_Err_Cannot_Open_Stream, it
 5061 	means that the file is possible to be `fopen'-ed but zero-sized.
 5062 	Also there is a case that the resource fork is not zero-sized,
 5063 	but no supported font exists in it.  If a rule by Darwin VFS
 5064 	falls into such cases, there is no need to try other Darwin VFS
 5065 	rules anymore.  Such cases are marked by vfs_rfork_has_no_font.
 5066 	If it is TRUE, the Darwin VFS rules are skipped.
 5067 
 5068 2010-10-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5069 
 5070 	[raccess] Grouping resource access rules based on Darwin VFS.
 5071 
 5072 	MacOS X/Darwin kernel supports a few tricky methods to access
 5073 	a resource fork via ANSI C or POSIX interface.  Current resource
 5074 	fork accessor tries all possible methods to support all kernels.
 5075 	But if a method could open a resource fork but no font is found,
 5076 	there is no need to try other methods older than tested method.
 5077 	To determine whether the rule index is for Darwin VFS, a local
 5078 	function `ftrfork.c::raccess_rule_by_darwin_vfs' is introduced.
 5079 	To use this function in ftobjs.c etc but it should be inlined,
 5080 	it is exposed by ftbase.h.
 5081 
 5082 	* src/base/ftrfork.c (FT_RFork_Rule): New enum type to identify
 5083 	the rules to access the resource fork.
 5084 	(raccess_guess_rec): New structure to bind the rule function and
 5085 	rule enum type.
 5086 	(FT_Raccess_Guess): The list of the rule functions is replaced by
 5087 	(raccess_guess_table): This.  This is exposed to be used by other
 5088 	intra module functions.
 5089 	(raccess_rule_by_darwin_vfs): A function to return a boolean
 5090 	if the rule specified by the rule index is based on Darwin VFS.
 5091 
 5092 2010-10-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5093 
 5094 	Prevent to open a FT_Stream for zero-sized file on non-Unix.
 5095 
 5096 	builds/unix/ftsystem.c prevents to open an useless stream from
 5097 	zero-sized file and returns FT_Err_Cannot_Open_Stream, but the
 5098 	stream drivers for ANSI C, Amiga and VMS return useless streams.
 5099 	For cross-platform consistency, all stream drivers should act
 5100 	same.
 5101 
 5102 	* src/base/ftsystem.c (FT_Stream_Open): If the size of the opened
 5103 	file is zero, FT_Err_Cannot_Open_Stream is returned.
 5104 	* builds/amiga/src/base/ftsystem.c (FT_Stream_Open): Ditto.
 5105 	* src/vms/ftsystem.c (FT_Stream_Open): Ditto.
 5106 
 5107 2010-10-12  Werner Lemberg  <wl@gnu.org>
 5108 
 5109 	[truetype] Fix Savannah bug #31310.
 5110 
 5111 	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against
 5112 	invalid `runcnt' values.
 5113 
 5114 2010-10-08  Chris Liddell  <chris.liddell@artifex.com>
 5115 
 5116 	[sfnt] Fix Savannah bug #31275.
 5117 
 5118 	* src/sfnt/ttpost.c: Include FT_INTERNAL_DEBUG_H.
 5119 
 5120 2010-10-06  Werner Lemberg  <wl@gnu.org>
 5121 
 5122 	[truetype] Improve error handling of `SHZ' bytecode instruction.
 5123 	Problem reported by Chris Evans <scarybeasts@gmail.com>.
 5124 
 5125 	* src/truetype/ttinterp.c (Ins_SHZ): Check `last_point'.
 5126 
 5127 2010-10-05  Werner Lemberg  <wl@gnu.org>
 5128 
 5129 	Fix Savannah bug #31253.
 5130 	Patch submitted by an anonymous reporter.
 5131 
 5132 	* configure: Use `awk' instead of `sed' to manipulate output of `ls
 5133 	-id'.
 5134 
 5135 2010-10-03  Werner Lemberg  <wl@gnu.org>
 5136 
 5137 	* Version 2.4.3 released.
 5138 	=========================
 5139 
 5140 
 5141 	Tag sources with `VER-2-4-3'.
 5142 
 5143 	* docs/CHANGES: Updated.
 5144 
 5145 	* docs/VERSION.DLL: Update documentation and bump version number to
 5146 	2.4.3
 5147 
 5148 	* README, Jamfile (RefDoc),
 5149 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 5150 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 5151 	builds/win32/visualc/freetype.dsp,
 5152 	builds/win32/visualc/freetype.vcproj,
 5153 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 5154 	builds/win32/visualce/freetype.vcproj,
 5155 	builds/win32/visualce/index.html,
 5156 	builds/wince/vc2005-ce/freetype.vcproj,
 5157 	builds/wince/vc2005-ce/index.html,
 5158 	builds/wince/vc2008-ce/freetype.vcproj,
 5159 	builds/wince/vc2008-ce/index.html: s/2.4.2/2.4.3/, s/242/243/.
 5160 
 5161 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
 5162 
 5163 	* builds/unix/configure.raw (version_info): Set to 12:1:6.
 5164 
 5165 2010-10-03  Werner Lemberg  <wl@gnu.org>
 5166 
 5167 	Avoid `configure' issues with symbolic links.
 5168 	Based on a patch from Alexander Stohr <Alexander.Stohr@gmx.de>.
 5169 
 5170 	* configure: Compare directories using `ls -id'.
 5171 	Check existence of `reference' subdirectory before creating it.
 5172 
 5173 2010-10-02  Werner Lemberg  <wl@gnu.org>
 5174 
 5175 	[sfnt] Fix Savannah bug #31088 (sort of).
 5176 
 5177 	* src/sfnt/ttload.c (tt_face_load_maxp): Always allocate at least 64
 5178 	function entries.
 5179 
 5180 2010-10-02  Werner Lemberg  <wl@gnu.org>
 5181 
 5182 	[smooth] Fix splitting of cubics for negative values.
 5183 
 5184 	Reported by Róbert Márki <gsmiko@gmail.com>; see
 5185 	https://lists.gnu.org/archive/html/freetype/2010-09/msg00019.html.
 5186 
 5187 	* src/smooth/ftgrays.c (gray_render_cubic): Fix thinko.
 5188 
 5189 2010-10-01  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5190 
 5191 	[truetype] Fix Savannah bug #31040.
 5192 
 5193 	* src/truetype/ttinterp.c (free_buffer_in_size): Remove.
 5194 	(TT_RunIns): Updated.
 5195 
 5196 2010-09-20  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5197 
 5198 	[sfnt] Make error message filling NULL names less verbose.
 5199 
 5200 	* src/sfnt/ttpost.c (load_format_20): Showing 1 summary message
 5201 	when we fill `post' names by NULL, instead of per-entry message.
 5202 
 5203 2010-09-20  Graham Asher  <graham.asher@btinternet.com>
 5204 	    David Bevan  <david.bevan@pb.com>
 5205 
 5206 	[smooth] Fix and improve spline flattening.
 5207 
 5208 	This fixes the flattening of cubic, S-shaped curves and speeds up
 5209 	the handling of both the conic and cubic arcs.
 5210 
 5211 	See the discussions on the freetype-devel mailing list in late
 5212 	August and September 2010 for details.
 5213 
 5214 	* src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): New macro.
 5215 	(TWorker): Remove `conic_level' and `cubic_level' elements.
 5216 	(gray_render_conic): Simplify algorithm.
 5217 	(gray_render_cubic): New algorithm; details are given in the code
 5218 	comments.
 5219 	(gray_convert_glyph): Remove heuristics.
 5220 
 5221 2010-09-19  Werner Lemberg  <wl@gnu.org>
 5222 
 5223 	Minor fixes.
 5224 
 5225 	* src/cff/cffload.c (cff_charset_compute_cids): `charset->sids[i]'
 5226 	is `FT_UShort'.
 5227 	(cff_index_access_element): Don't use additions in comparison.
 5228 	* src/sfnt/ttpost.c (load_format_20): Make `post_limit' of type
 5229 	`FT_Long'.
 5230 	Don't use additions in comparison.
 5231 	Improve tracing messages.
 5232 	(load_format_25, load_post_names): Make `post_limit' of type
 5233 	`FT_Long'.
 5234 
 5235 2010-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5236 
 5237 	[cff] Truncate the element length at the end of the stream.
 5238 	See Savannah bug #30975.
 5239 
 5240 	* src/cff/cffload.c (cff_index_access_element): `off2', the offset
 5241 	to the next element is truncated at the end of the stream to prevent
 5242 	invalid I/O.  As `off1', the offset to the requested element has
 5243 	been checked by `FT_STREAM_SEEK', `off2' should be checked
 5244 	similarly.
 5245 
 5246 2010-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5247 
 5248 	[cff] Ignore CID > 0xFFFFU.
 5249 	See Savannah bug #30975.
 5250 
 5251 	* src/cff/cffload.c (cff_charset_compute_cids): Ignore CID if
 5252 	greater than 0xFFFFU.  CFF font spec does not mention maximum CID in
 5253 	the font, but PostScript and PDF spec define that maximum CID is
 5254 	0xFFFFU.
 5255 
 5256 2010-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5257 
 5258 	[cff] Make trace message in` cff_charset_load' verbose.
 5259 	See Savannah bug #30975.
 5260 
 5261 	* src/cff/cffload.c (cff_charset_load): Report the original `nleft'
 5262 	and truncated `nleft'.
 5263 
 5264 2010-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5265 
 5266 	[cff] Correct `max_cid' from CID array length to max CID.
 5267 	See Savannah bug #30975.
 5268 
 5269 	* src/cff/cffload.c (cff_charset_compute_cids): Don't increment
 5270 	max_cid after detecting max CID.  The array CFF_Charset->cids is
 5271 	allocated by max_cid + 1.
 5272 	(cff_charset_cid_to_gindex): Permit CID is less than or equal to
 5273 	CFF_Charset->max_cid.
 5274 	* src/cff/cffobjs.c (cff_face_init): FT_Face->num_glyphs is
 5275 	calculated as CFF_Charset->max_cid + 1.
 5276 
 5277 2010-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5278 
 5279 	[truetype] Sanitize the broken offsets in `loca'.
 5280 	See Savannah bug #31040.
 5281 
 5282 	* src/truetype/ttpload.c (tt_face_get_location): If `pos1', the
 5283 	offset to the requested entry in `glyf' exceeds the end of the
 5284 	table, return offset=0, length=0.  If `pos2', the offset to the next
 5285 	entry in `glyf' exceeds the end of the table, truncate the entry
 5286 	length at the end of `glyf' table.
 5287 
 5288 2010-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5289 
 5290 	[sfnt] Prevent overrunning in `post' table parser.
 5291 	See Savannah bug #31040.
 5292 
 5293 	* src/sfnt/ttpost.c (load_post_names): Get the length of `post'
 5294 	table and pass the limit of `post' table to `load_format_20' and
 5295 	`load_format_25'.
 5296 	(load_format_20): Stop the parsing when we reached at the limit of
 5297 	`post' table.  If more glyph names are required, they are filled by
 5298 	NULL names.
 5299 
 5300 2010-09-17  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5301 
 5302 	[truetype] Don't duplicate size->twilight structure to be freed.
 5303 	See Savannah bug #31040 for detail.
 5304 
 5305 	* src/truetype/ttinterp.c (free_buffer_in_size): Don't duplicate
 5306 	FT_GlyphZoneRec size->twilight to be freed.  If duplicated,
 5307 	`FT_FREE' erases the duplicated pointers only and leave original
 5308 	pointers.  They can cause the double-free crash when the burst
 5309 	errors occur in TrueType interpreter and `free_buffer_in_size' is
 5310 	invoked repeatedly.
 5311 
 5312 2010-09-15  Werner Lemberg  <wl@gnu.org>
 5313 
 5314 	Make bytecode debugging with FontForge work again.
 5315 
 5316 	* src/truetype/ttinterp.c (TT_RunIns): Don't call
 5317 	`free_buffer_in_size' in case of error if a debugger is active.
 5318 
 5319 2010-09-14  Werner Lemberg  <wl@gnu.org>
 5320 
 5321 	Improve tracing messages.
 5322 
 5323 	* src/truetype/ttinterp.c (TT_RunIns): Improve wording of tracing
 5324 	message.
 5325 	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Add
 5326 	tracing message.
 5327 	* src/truetype/ttgload.c (tt_loader_init): Add tracing message.
 5328 	* src/cache/ftcsbits.c (ftc_snode_load): Emit tracing message if
 5329 	glyph doesn't fit into a small bitmap container.
 5330 
 5331 2010-09-13  Werner Lemberg  <wl@gnu.org>
 5332 
 5333 	Fix minor issues reported by <muktha.narayan@wipro.com>.
 5334 
 5335 	* src/autofit/aflatin.c (af_latin_compute_stem_width): Remove
 5336 	redundant conditional check.
 5337 	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Ditto.
 5338 	* src/cff/cffload.c (cff_encoding_load): Remove conditional check
 5339 	which always evaluates to `true'.
 5340 	* src/pshinter/pshalgo.c (ps_glyph_interpolate_strong_points):
 5341 	Ditto.
 5342 	* src/truetype/ttinterp.c (Ins_IUP): Ditto.
 5343 	* src/cid/cidgload.c (cid_slot_load_glyph): Don't check for NULL if
 5344 	value is already dereferenced.
 5345 	* src/winfonts/winfnt.c (FNT_Load_Glyph): Fix check of `face'.
 5346 
 5347 2010-08-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5348 
 5349 	Ignore the environmental setting of LIBTOOL.
 5350 	Patch is suggested by Adrian Bunk, to prevent unexpected
 5351 	reflection of environmental LIBTOOL.  See:
 5352 	https://savannah.nongnu.org/patch/?7290
 5353 
 5354 	* builds/unix/unix-cc.in: LIBTOOL is unconditionally set to
 5355 	$(FT_LIBTOOL_DIR)/libtool.  FT_LIBTOOL_DIR is set to $(BUILD_DIR)
 5356 	by default.
 5357 	* configure: When configured for the building out of source tee,
 5358 	FT_LIBTOOL_DIR is set to $(OBJ_DIR).
 5359 
 5360 2010-08-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5361 
 5362 	[truetype] Decrease the trace level catching the interpreter error.
 5363 
 5364 	* src/truetype/ttinterp.c (TT_RunIns): Decrease the trace level
 5365 	showing the error when the interpreter returns with an error,
 5366 	from` FT_TRACE7' to `FT_TRACE1'.
 5367 
 5368 2010-08-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5369 
 5370 	[truetype] Prevent bytecode reuse after the interpretation error.
 5371 
 5372 	* src/truetype/ttinterp.c (free_buffer_in_size): New function to
 5373 	free the buffer allocated during the interpretation of this glyph.
 5374 	(TT_RunIns): Unset FT_Face->size->{cvt_ready,bytecode_ready} if
 5375 	an error occurs in the bytecode interpretation.  The interpretation
 5376 	of invalid bytecode may break the function definitions and referring
 5377 	them in later interpretation is danger.  By unsetting these flags,
 5378 	`fpgm' and `prep' tables are executed again in next interpretation.
 5379 
 5380 	This fixes Savannah bug #30798, reported by Robert Święcki.
 5381 
 5382 2010-08-29  Werner Lemberg  <wl@gnu.org>
 5383 
 5384 	[ftraster] Pacify compiler.
 5385 
 5386 	* src/raster/ftraster.c (ft_black_new) [_STANDALONE_]: `memory' is
 5387 	not used.
 5388 
 5389 2010-08-29  Werner Lemberg  <wl@gnu.org>
 5390 
 5391 	[cff] Allow SIDs >= 65000.
 5392 
 5393 	* src/cff/cffload.c (cff_charset_load): Fix change from 2009-03-20:
 5394 	The threshold for SIDs is not applicable here.  I misinterpreted the
 5395 	`SID values 65000 and above are available for implementation use'
 5396 	sentence in the CFF specification.
 5397 
 5398 	Problem reported by Ivan Ninčić <inincic@pdftron.com>.
 5399 
 5400 2010-08-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5401 
 5402 	Force hinting when the font lacks its familyname.
 5403 
 5404 	In Type42 or Type11 font embedded in PostScript & PDF, TrueType sfnt
 5405 	stream may lack `name' table because they are not required.  Hinting
 5406 	for nameless fonts is safer for PDFs including embedded Chinese
 5407 	fonts.  Written by David Bevan, see:
 5408 
 5409 	https://lists.gnu.org/archive/html/freetype-devel/2010-08/msg00021.html
 5410 	https://lists.freedesktop.org/archives/poppler/2010-August/006310.html
 5411 
 5412 	* src/truetype/ttobjs.c (tt_check_trickyness): If a NULL pointer by
 5413 	nameless font is given, TRUE is returned to enable hinting.
 5414 
 5415 2010-08-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5416 
 5417 	Register yet another tricky TrueType font.
 5418 
 5419 	* src/truetype/ttobjs.c (tt_check_trickyness): Add `HuaTianKaiTi?',
 5420 	a Kaishu typeface paired with `HuaTianSongTi?' by Huatian
 5421 	Information Industry.
 5422 
 5423 2010-08-17  Teijo Kinnunen  <Teijo.Kinnunen@nuance.com>
 5424 
 5425 	[cache] Fix Savannah bug #30788.
 5426 
 5427 	* src/cache/ftccache.c (FTC_Cache_Clear): Check `cache->buckets' for
 5428 	NULL too.
 5429 
 5430 2010-08-10  Werner Lemberg  <wl@gnu.org>
 5431 
 5432 	Try to fix Savannah bug #30717 (and probably #30719 too).
 5433 
 5434 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Add another
 5435 	overflow test for `width' and `height'.
 5436 
 5437 2010-08-06  Werner Lemberg  <wl@gnu.org>
 5438 
 5439 	* Version 2.4.2 released.
 5440 	=========================
 5441 
 5442 
 5443 	Tag sources with `VER-2-4-2'.
 5444 
 5445 	* docs/CHANGES: Updated.
 5446 
 5447 	* docs/VERSION.DLL: Update documentation and bump version number to
 5448 	2.4.2
 5449 
 5450 	* README, Jamfile (RefDoc),
 5451 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 5452 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 5453 	builds/win32/visualc/freetype.dsp,
 5454 	builds/win32/visualc/freetype.vcproj,
 5455 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 5456 	builds/win32/visualce/freetype.vcproj,
 5457 	builds/win32/visualce/index.html,
 5458 	builds/wince/vc2005-ce/freetype.vcproj,
 5459 	builds/wince/vc2005-ce/index.html,
 5460 	builds/wince/vc2008-ce/freetype.vcproj,
 5461 	builds/wince/vc2008-ce/index.html: s/2.4.1/2.4.2/, s/241/242/.
 5462 
 5463 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
 5464 
 5465 	* builds/unix/configure.raw (version_info): Set to 12:0:6.
 5466 
 5467 2010-08-06  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5468 
 5469 	Fix Savannah bug #30648.
 5470 
 5471 	* src/base/ftobjs.c (FT_Done_Library): Specify the order of font
 5472 	drivers during the face closing process.  Type42 faces should be
 5473 	closed before TrueType faces, because a Type42 face refers to
 5474 	another internal TrueType face which is created from sfnt[] array on
 5475 	the memory.
 5476 
 5477 2010-08-06  Yuriy Kaminskiy  <yumkam@mail.ru>
 5478 
 5479 	[raster] Fix valgrind warning.
 5480 
 5481 	* src/raster/ftraster.c (Decompose_Curve) <default>: Access point[0]
 5482 	only if we don't hit `limit'.
 5483 
 5484 2010-08-06  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5485 
 5486 	Fix Savannah bug #30658.
 5487 
 5488 	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check that the total
 5489 	length of collected POST segments does not overrun the allocated
 5490 	buffer.
 5491 
 5492 2010-08-06  Yuriy Kaminskiy  <yumkam@mail.ru>
 5493 
 5494 	Fix conditional usage of FT_MulFix_i386.
 5495 	With -ansi flag, gcc does not define `i386', only `__i386__'.
 5496 
 5497 	* include/freetype/config/ftconfig.h, builds/unix/ftconfig.in:
 5498 	s/i386/__i386__/.
 5499 
 5500 2010-08-05  Werner Lemberg  <wl@gnu.org>
 5501 
 5502 	[truetype] Fix Savannah bug #30657.
 5503 
 5504 	* src/truetype/ttinterp.c (BOUNDSL): New macro.
 5505 	Change `BOUNDS' to `BOUNDSL' where appropriate.
 5506 
 5507 	* src/truetype/ttinterp.h (TT_ExecContextRec): Fix type of
 5508 	`cvtSize'.
 5509 
 5510 2010-08-05  Werner Lemberg  <wl@gnu.org>
 5511 
 5512 	[type42] Fix Savannah bug #30656.
 5513 
 5514 	* src/type42/t42parse.c (t42_parse_sfnts): Protect against negative
 5515 	string_size.
 5516 	Fix comparison.
 5517 
 5518 2010-08-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5519 
 5520 	[cff] Don't use any values in decoder after parsing error.
 5521 
 5522 	* src/cff/cffgload.c (cff_slot_load): Skip the evaluations
 5523 	of the values in decoder, if `cff_decoder_parse_charstrings'
 5524 	returns any error.
 5525 
 5526 2010-08-04  Werner Lemberg  <wl@gnu.org>
 5527 
 5528 	Fix Savannah bug #30644.
 5529 
 5530 	* src/base/ftstream.c (FT_Stream_EnterFrame): Fix comparison.
 5531 
 5532 2010-08-04  Werner Lemberg  <wl@gnu.org>
 5533 
 5534 	`make devel' fails if FT_CONFIG_OPTION_OLD_INTERNALS is set.
 5535 
 5536 	* devel/ftoption.h: Synchronize with
 5537 	include/freetype/config/ftoption.h.
 5538 
 5539 2010-08-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5540 
 5541 	[cff] Improve stack overflow test.
 5542 
 5543 	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Check stack
 5544 	after execution of operations too.
 5545 
 5546 2010-07-18  Werner Lemberg  <wl@gnu.org>
 5547 
 5548 	Add reference counters and to FT_Library and FT_Face objects.
 5549 
 5550 	* include/freetype/freetype.h (FT_Reference_Face): New function.
 5551 	* include/freetype/ftmodapi.h (FT_Reference_Library): New function.
 5552 
 5553 	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec,
 5554 	FT_LibraryRec): New field `refcount'.
 5555 
 5556 	* src/base/ftobjs.c (FT_Open_Face, FT_New_Library): Handle
 5557 	`refcount'.
 5558 	(FT_Reference_Face, FT_Reference_Library): Implement new functions.
 5559 	(FT_Done_Face, FT_Done_Library): Handle `refcount'.
 5560 
 5561 	* docs/CHANGES: Updated.
 5562 
 5563 2010-07-18  Werner Lemberg  <wl@gnu.org>
 5564 
 5565 	* Version 2.4.1 released.
 5566 	=========================
 5567 
 5568 
 5569 	Tag sources with `VER-2-4-1'.
 5570 
 5571 	* docs/CHANGES: Updated.
 5572 
 5573 	* docs/VERSION.DLL: Update documentation and bump version number to
 5574 	2.4.1.
 5575 
 5576 	* README, Jamfile (RefDoc),
 5577 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 5578 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 5579 	builds/win32/visualc/freetype.dsp,
 5580 	builds/win32/visualc/freetype.vcproj,
 5581 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 5582 	builds/win32/visualce/freetype.vcproj,
 5583 	builds/win32/visualce/index.html,
 5584 	builds/wince/vc2005-ce/freetype.vcproj,
 5585 	builds/wince/vc2005-ce/index.html,
 5586 	builds/wince/vc2008-ce/freetype.vcproj,
 5587 	builds/wince/vc2008-ce/index.html: s/2.4.0/2.4.1/, s/240/241/.
 5588 
 5589 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
 5590 
 5591 	* builds/unix/configure.raw (version_info): Set to 11:1:5.
 5592 
 5593 2010-07-17  Werner Lemberg  <wl@gnu.org>
 5594 
 5595 	[cff] Final try to fix `hintmask' and `cntrmask' limit check.
 5596 
 5597 	Problem reported by Tobias Wolf <towolf@gmail.com>.
 5598 
 5599 	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
 5600 	<cff_op_hintmask>: Sigh.  I'm apparently too silly to fix this
 5601 	correctly in less than three tries.
 5602 
 5603 2010-07-12  Werner Lemberg  <wl@gnu.org>
 5604 
 5605 	* Version 2.4.0 released.
 5606 	=========================
 5607 
 5608 
 5609 	Tag sources with `VER-2-4-0'.
 5610 
 5611 	* docs/CHANGES: Updated.
 5612 
 5613 	* docs/VERSION.DLL: Update documentation and bump version number to
 5614 	2.4.0.
 5615 
 5616 	* README, Jamfile (RefDoc),
 5617 	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 5618 	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 5619 	builds/win32/visualc/freetype.dsp,
 5620 	builds/win32/visualc/freetype.vcproj,
 5621 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 5622 	builds/win32/visualce/freetype.vcproj,
 5623 	builds/win32/visualce/index.html,
 5624 	builds/wince/vc2005-ce/freetype.vcproj,
 5625 	builds/wince/vc2005-ce/index.html,
 5626 	builds/wince/vc2008-ce/freetype.vcproj,
 5627 	builds/wince/vc2008-ce/index.html: s/2.3.12/2.4.0/, s/2312/240/.
 5628 
 5629 	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 4.
 5630 	(FREETYPE_PATCH): Set to 0.
 5631 
 5632 	* builds/unix/configure.raw (version_info): Set to 11:0:5.
 5633 
 5634 2010-07-12  Werner Lemberg  <wl@gnu.org>
 5635 
 5636 	Remove C++ warnings.
 5637 
 5638 	*/*: Initialize pointers where necessary to make g++ happy.
 5639 
 5640 2010-07-12  malc  <av1474@comtv.ru>
 5641 	    Richard Henderson  <rth@redhat.com>
 5642 
 5643 	Fix type-punning issues with C++.
 5644 
 5645 	* include/freetype/internal/ftmemory.h (FT_ASSIGNP) [__cplusplus]:
 5646 	Emulate a `typeof' operator with an inline template which uses
 5647 	`static_cast'.
 5648 
 5649 2010-07-11  Werner Lemberg  <wl@gnu.org>
 5650 
 5651 	Fix C++ compilation issue.
 5652 
 5653 	* src/tools/apinames.c (names_dump) <OUTPUT_WATCOM_LBC>: Fix
 5654 	type of `dot' variable.
 5655 
 5656 2010-07-10  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5657 
 5658 	Fix another case reported in Savannah bug #30373.
 5659 	Permit a face for Type1, Type42 and CFF without charmap,
 5660 	patch by Tor Andersson.
 5661 
 5662 	* src/type1/t1objs.c (T1_Face_Init): Reset the error if it
 5663 	is FT_Err_No_Unicode_Glyph_Name.
 5664 	* src/type42/t42objs.c (T42_Face_Init): Ditto.
 5665 	* src/cff/cffobjs.c (cff_face_init): Ditto.
 5666 
 5667 2010-07-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5668 
 5669 	Use defined macros to set {platform,encoding}_id.
 5670 
 5671 	* src/bdf/bdfdrivr.c: Include ttnameid.h and use macros to
 5672 	set charmap.{platform,encoding}_id.
 5673 	* src/pcf/pcfdrivr.c: Ditto.
 5674 	* src/winfonts/winfnt.c: Ditto.
 5675 	* src/type1/t1objs.c: Ditto.
 5676 	* src/type42/t42objs.c: Ditto.
 5677 	* src/cff/cffobjs.c: Ditto.
 5678 	* src/pfr/pfrobjs.c: Ditto.
 5679 
 5680 2010-07-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5681 
 5682 	Fix Savannah bug #30373.
 5683 	Too serious check of errors by `FT_CMap_New' since 2010-07-04
 5684 	is fixed. Reported by Tor Andersson.
 5685 
 5686 	* include/freetype/fterrdef.h
 5687 	(PSnames_Err_No_Unicode_Glyph_Name): New error code to
 5688 	indicate the Unicode charmap synthesis failed because
 5689 	no Unicode glyph name is found.
 5690 
 5691 	* src/psnames/psmodule.c (ps_unicodes_init): Return
 5692 	PSnames_Err_No_Unicode_Glyph_Name when no Unicode glyph name
 5693 	is found in the font.
 5694 	* src/cff/cffcmap.c (cff_cmap_unicode_init): Return
 5695 	CFF_Err_No_Unicode_Glyph_Name when no SID is available.
 5696 
 5697 	* src/type1/t1objs.c (T1_Face_Init): Proceed if `FT_CMap_New'
 5698 	is failed by the lack of Unicode glyph name.
 5699 	* src/type42/t42objs.c (T42_Face_Init): Ditto.
 5700 	* src/cff/cffobjs.c (cff_face_init): Ditto.
 5701 
 5702 2010-07-09  Ken Sharp  <ken.sharp@artifex.com>
 5703 
 5704 	Make ftraster.c compile in stand-alone mode with MSVC compiler.
 5705 
 5706 	* src/raster/ftmisc.h (FT_Int64) [_WIN32, _WIN64]: Fix typedef
 5707 	since there is no `inttypes.h' for MSVC.
 5708 
 5709 2010-07-08  Werner Lemberg  <wl@gnu.org>
 5710 
 5711 	[truetype] Fix Savannah bug #30361.
 5712 
 5713 	* src/truetype/ttinterp.c (Ins_IUP): Fix bounds check.
 5714 
 5715 2010-07-06  Werner Lemberg  <wl@gnu.org>
 5716 
 5717 	Pacify compiler.
 5718 
 5719 	* src/cff/cffload.c (cff_index_get_pointers): Initialize
 5720 	`new_bytes'.
 5721 
 5722 2010-07-05  Eugene A. Shatokhin  <spectre@ispras.ru>
 5723 
 5724 	Fix Savannah bug #27648.
 5725 
 5726 	* src/base/ftobjs.c (ft_remove_renderer, FT_Add_Module): Call
 5727 	`raster_done' only if we have an outline glyph format.
 5728 
 5729 2010-07-05  Werner Lemberg  <wl@gnu.org>
 5730 
 5731 	Fix Savannah bug #30030.
 5732 
 5733 	* builds/win32/*/freetype.vcproj: Add ftxf86.c.
 5734 
 5735 2010-07-05  Werner Lemberg  <wl@gnu.org>
 5736 
 5737 	[cff] Next try to fix `hintmask' and `cntrmask' limit check.
 5738 
 5739 	Problem reported by malc <av1474@comtv.ru>.
 5740 
 5741 	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
 5742 	<cff_op_hintmask>: It is possible that there is just a single byte
 5743 	after the `hintmask' or `cntrmask', e.g., a `return' instruction.
 5744 
 5745 2010-07-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5746 
 5747 	Restrict the number of the charmaps in a rogue-compatible mode.
 5748 	Fix for Savannah bug #30059.
 5749 
 5750 	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Replace `16' the
 5751 	minimum character code passed by a legacy rogue client by...
 5752 	* include/freetype/config/ftoption.h (FT_MAX_CHARMAP_CACHEABLE):
 5753 	This.  It is undefined when FT_CONFIG_OPTION_OLD_INTERNALS is
 5754 	undefined (thus the rogue client compatibility is not required).
 5755 
 5756 	* src/cff/cffobjs.c (cff_face_init): Abort the automatic
 5757 	selection or synthesis of Unicode cmap subtable when the charmap
 5758 	index exceeds FT_MAX_CHARMAP_CACHEABLE.
 5759 	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Issue error message
 5760 	when the charmap index exceeds FT_MAX_CHARMAP_CACHEABLE.
 5761 
 5762 	* src/base/ftobjs.c (find_unicode_charmap): When Unicode charmap
 5763 	is found after FT_MAX_CHARMAP_CACHEABLE, ignore it and search
 5764 	earlier one.
 5765 	(find_variant_selector_charmap): When UVS charmap is found after
 5766 	FT_MAX_CHARMAP_CACHEABLE, ignore it and search earlier one.
 5767 	(FT_Select_Charmap): When a charmap matching with requested
 5768 	encoding but after FT_MAX_CHARMAP_CACHEABLE, ignore and search
 5769 	earlier one.
 5770 	(FT_Set_Charmap): When a charmap matching with requested
 5771 	charmap but after FT_MAX_CHARMAP_CACHEABLE, ignore and search
 5772 	earlier one.
 5773 	(FT_Get_Charmap_Index): When a requested charmap is found
 5774 	after FT_MAX_CHARMAP_CACHEABLE, return the inverted charmap
 5775 	index.
 5776 
 5777 2010-07-04  Werner Lemberg  <wl@gnu.org>
 5778 
 5779 	TrueType hinting is no longer patented.
 5780 
 5781 	* include/freetype/config/ftoption.h, devel/ftoption.h
 5782 	(TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Define.
 5783 	(TT_CONFIG_OPTION_UNPATENTED_HINTING): Undefine.
 5784 
 5785 	* docs/CHANGES, docs/INSTALL, include/freetype/freetype.h: Updated.
 5786 	* docs/TRUETYPE, docs/PATENTS: Removed.
 5787 
 5788 2010-07-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5789 
 5790 	Check error value by `FT_CMap_New'.
 5791 
 5792 	* src/cff/cffobjs.c (cff_face_init): Check error value by
 5793 	`FT_CMap_New'.
 5794 	* src/pfr/pfrobjs.c (pfr_face_init): Ditto.
 5795 	* src/type1/t1objs.c (T1_Face_Init): Ditto.
 5796 	* src/type42/t42objs.c (T42_Face_Init): Ditto.
 5797 
 5798 2010-07-03  Werner Lemberg  <wl@gnu.org>
 5799 
 5800 	Make ftgrays.c compile stand-alone again.
 5801 
 5802 	* src/smooth/ftgrays.c [_STANDALONE_]: Include `stddef.h'.
 5803 	(FT_INT_MAX, FT_PtrDist)[_STANDALONE_]: Define.
 5804 
 5805 2010-07-02  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5806 
 5807 	Additional fix for Savannah bug #30306.
 5808 
 5809 	* src/base/ftobjs.c (Mac_Read_POST_Resource): If the type of the
 5810 	POST fragment is 0, the segment is completely ignored.  The declared
 5811 	length of the segment is not cared at all.  According to Adobe
 5812 	Technical Note 5040, type 0 segment is a comment only and should not
 5813 	be loaded for the interpreter.  Reported by Robert Święcki.
 5814 
 5815 2010-07-01  Werner Lemberg  <wl@gnu.org>
 5816 
 5817 	[truetype] Protect against code range underflow.
 5818 
 5819 	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Don't allow
 5820 	negative IP values.
 5821 
 5822 2010-07-01  Werner Lemberg  <wl@gnu.org>
 5823 
 5824 	[truetype] Add rudimentary tracing for bytecode instructions.
 5825 
 5826 	* src/truetype/ttinterp.c (opcode_name) [FT_DEBUG_LEVEL_TRACE]: New
 5827 	array.
 5828 	(TT_RunIns): Trace opcodes.
 5829 
 5830 2010-06-30  Werner Lemberg  <wl@gnu.org>
 5831 
 5832 	[smooth] Fix Savannah bug #30263.
 5833 
 5834 	* src/smooth/ftgrays.c (gray_render_span): Use cast to `unsigned
 5835 	int' to avoid integer overflow.
 5836 
 5837 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use smaller
 5838 	threshold values for `width' and `height'.  This is not directly
 5839 	related to the bug fix but makes sense anyway.
 5840 
 5841 2010-07-01  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5842 
 5843 	Initial fix for Savannah bug #30306.
 5844 
 5845 	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check `rlen', the
 5846 	length of fragment declared in the POST fragment header, and prevent
 5847 	an underflow in length calculation.  Some fonts set the length to
 5848 	zero in spite of the existence of a following 16bit `type'.
 5849 	Reported by Robert Święcki.
 5850 
 5851 2010-07-01  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5852 
 5853 	Additional fix for Savannah bug #30248 and #30249.
 5854 
 5855 	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check the buffer size
 5856 	during gathering PFB fragments embedded in LaserWriter PS font for
 5857 	Macintosh.  Reported by Robert Święcki.
 5858 
 5859 2010-06-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
 5860 
 5861 	Minor optimizations by avoiding divisions.
 5862 
 5863 	* src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning):
 5864 	Replace divisions with multiplication in comparisons.
 5865 
 5866 2010-06-29  Werner Lemberg  <wl@gnu.org>
 5867 
 5868 	Fix minor tracing issues.
 5869 
 5870 	* src/cff/cffgload.c, src/truetype/ttgload.c: Adjust tracing levels.
 5871 
 5872 2010-06-27  Werner Lemberg  <wl@gnu.org>
 5873 
 5874 	[cff] Really fix `hintmask' and `cntrmask' limit check.
 5875 
 5876 	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
 5877 	<cff_op_hintmask>: Fix thinko and handle tracing also.
 5878 
 5879 2010-06-27  Werner Lemberg  <wl@gnu.org>
 5880 
 5881 	Fix valgrind warning.
 5882 
 5883 	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Initialize
 5884 	`result' array.
 5885 
 5886 2010-06-27  Werner Lemberg  <wl@gnu.org>
 5887 
 5888 	[cff] Fix memory leak.
 5889 
 5890 	* src/cff/cffgload.c (cff_operator_seac): Free charstrings even in
 5891 	case of errors.
 5892 
 5893 2010-06-27  Werner Lemberg  <wl@gnu.org>
 5894 
 5895 	[cff] Protect against invalid `hintmask' and `cntrmask' operators.
 5896 
 5897 	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
 5898 	<cff_op_hintmask>: Ensure that we don't exceed `limit' while parsing
 5899 	the bit masks of the `hintmask' and `cntrmask' operators.
 5900 
 5901 2010-06-26  Werner Lemberg  <wl@gnu.org>
 5902 
 5903 	Fix PFR change 2010-06-24.
 5904 
 5905 	* src/pfr/pfrgload.c (pfr_glyph_load_simple): Really protect against
 5906 	invalid indices.
 5907 
 5908 2010-06-26  Werner Lemberg  <wl@gnu.org>
 5909 
 5910 	Improve PFR tracing messages.
 5911 
 5912 	* src/pfr/pfrgload.c (pfr_glyph_load_rec): Emit tracing messages for
 5913 	simple and compound glyph offsets.
 5914 
 5915 2010-06-26  Werner Lemberg  <wl@gnu.org>
 5916 
 5917 	Fix last PFR change.
 5918 
 5919 	* src/pfr/pfrobjs.c (pfr_face_init): Fix rejection logic.
 5920 
 5921 2010-06-26  Werner Lemberg  <wl@gnu.org>
 5922 
 5923 	[sfnt] Fix Savannah bug #30262.
 5924 
 5925 	* src/sfnt/ttload.c (tt_face_load_maxp): Limit `maxComponentDepth'
 5926 	arbitrarily to 100 to avoid stack exhaustion.
 5927 
 5928 2010-06-26  Werner Lemberg  <wl@gnu.org>
 5929 
 5930 	Add some memory checks (mainly for debugging).
 5931 
 5932 	* src/base/ftstream.c (FT_Stream_EnterFrame): Exit with error
 5933 	if the frame size is larger than the stream size.
 5934 
 5935 	* src/base/ftsystem.c (ft_ansi_stream_io): Exit with error if
 5936 	seeking a position larger than the stream size.
 5937 
 5938 2010-06-25  Werner Lemberg  <wl@gnu.org>
 5939 
 5940 	[pfr] Fix Savannah bug #30261.
 5941 
 5942 	* src/pfr/pfrobjs.c (pfr_face_init): Reject fonts which contain
 5943 	neither outline nor bitmap glyphs.
 5944 
 5945 2010-06-25  Werner Lemberg  <wl@gnu.org>
 5946 
 5947 	[cff] Fix Savannah bug #30254.
 5948 
 5949 	* src/cff/cffload.c (cff_index_get_pointers): Do sanity check for
 5950 	first offset also.
 5951 
 5952 2010-06-25  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 5953 
 5954 	Initial fix for Savannah bug #30248 and #30249.
 5955 
 5956 	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check the error during
 5957 	reading a PFB fragment embedded in LaserWriter PS font for Macintosh.
 5958 	Reported by Robert Święcki.
 5959 
 5960 2010-06-24  Werner Lemberg  <wl@gnu.org>
 5961 
 5962 	[pcf] Fix Savannah bug #30247.
 5963 
 5964 	* src/pcf/pcfread.c (pcf_get_metrics): Disallow (invalid) fonts with
 5965 	zero metrics.
 5966 
 5967 2010-06-24  Graham Asher  <graham.asher@btinternet.com>
 5968 
 5969 	* src/smooth/ftgrays.c (gray_render_cubic): Fix algorithm.
 5970 	The previous version was too aggressive, as demonstrated in
 5971 	https://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00020.html.
 5972 
 5973 2010-06-24  Werner Lemberg  <wl@gnu.org>
 5974 
 5975 	*/*: Use module specific error names where appropriate.
 5976 
 5977 2010-06-24  Werner Lemberg  <wl@gnu.org>
 5978 
 5979 	[sfnt] Fix Savannah bug #30236.
 5980 
 5981 	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Improve check for pointer
 5982 	to `cmap_table'.
 5983 
 5984 2010-06-24  Werner Lemberg  <wl@gnu.org>
 5985 
 5986 	[pfr] Fix Savannah bug #30235.
 5987 
 5988 	* src/pfr/pfrgload.c (pfr_glyph_load_simple): Protect against
 5989 	invalid indices if there aren't any coordinates for indexing.
 5990 
 5991 2010-06-24  Werner Lemberg  <wl@gnu.org>
 5992 
 5993 	[bdf]: Font properties are optional.
 5994 
 5995 	* src/bdf/bdflib.c (_bdf_readstream): Use special error code to
 5996 	indicate a redo operation.
 5997 	(_bdf_parse_start): Handle `CHARS' keyword here too and pass current
 5998 	input line to `_bdf_parse_glyph'.
 5999 
 6000 2010-06-23  Werner Lemberg  <wl@gnu.org>
 6001 
 6002 	[bdf] Fix Savannah bug #30220.
 6003 
 6004 	* include/freetype/fterrdef.h
 6005 	(BDF_Err_Missing_Fontboundingbox_Field): New error code.
 6006 
 6007 	* src/bdf/bdflib.c (_bdf_parse_start): Check for missing
 6008 	`FONTBOUNDINGBOX' field.
 6009 	Avoid memory leak if there are multiple `FONT' lines (which is
 6010 	invalid but doesn't hurt).
 6011 
 6012 2010-06-21  Werner Lemberg  <wl@gnu.org>
 6013 
 6014 	[pfr] Fix Savannah bug #30168.
 6015 
 6016 	* src/pfr/pfrgload.c (pfr_glyph_load_compound): Limit the number of
 6017 	subglyphs to avoid endless recursion.
 6018 
 6019 2010-06-20  Werner Lemberg  <wl@gnu.org>
 6020 
 6021 	[psaux] Fix Savannah bug #30145.
 6022 
 6023 	* src/psaux/psobjs.c (t1_builder_add_contour): Protect against
 6024 	`outline == NULL' which might happen in invalid fonts.
 6025 
 6026 2010-06-19  Werner Lemberg  <wl@gnu.org>
 6027 
 6028 	[bdf] Fix Savannah bug #30135.
 6029 
 6030 	* src/bdf/bdflib.c (_bdf_list_join): Don't modify value in static
 6031 	string `empty'.
 6032 	(_bdf_parse_glyph): Avoid memory leak in case of error.
 6033 
 6034 2010-06-15  Werner Lemberg  <wl@gnu.org>
 6035 
 6036 	[autofit] Fix Savannah bug #30108.
 6037 
 6038 	* src/autofit/afglobal.c (af_face_globals_compute_script_coverage):
 6039 	Properly mask AF_DIGIT bit in comparison.
 6040 
 6041 2010-06-11  Werner Lemberg  <wl@gnu.org>
 6042 
 6043 	[pshinter] Fix Savannah bug #30106.
 6044 
 6045 	Point numbers for FreeType's implementation of hinting masks are
 6046 	collected before the final number of points of a glyph has been
 6047 	determined; in particular, the code for handling the `endchar'
 6048 	opcode can reduce the number of points.
 6049 
 6050 	* src/pshinter/pshalgo.c (psh_glyph_find_strong_points): Assure that
 6051 	`end_point' is not larger than `glyph->num_points'.
 6052 
 6053 2010-06-11  Werner Lemberg  <wl@gnu.org>
 6054 
 6055 	[cff]: Improve debugging output.
 6056 
 6057 	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
 6058 	<cff_op_hintmask>: Implement it.
 6059 
 6060 2010-06-10  Graham Asher  <graham.asher@btinternet.com>
 6061 
 6062 	ftgrays: Speed up rendering of small cubic splines.
 6063 
 6064 	* src/smooth/ftgrays.c (gray_render_cubic): Implement new,
 6065 	simplified algorithm to find out whether the spline can be replaced
 6066 	with two straight lines.  See this thread for more:
 6067 
 6068 	  https://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00000.html
 6069 
 6070 2010-06-09  Werner Lemberg  <wl@gnu.org>
 6071 
 6072 	[cff] Fix Savannah bug #30082.
 6073 
 6074 	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
 6075 	<cff_op_callothersubr>: Protect against stack underflow.
 6076 
 6077 2010-06-08  Werner Lemberg  <wl@gnu.org>
 6078 
 6079 	[cff] Fix Savannah bug #30053.
 6080 
 6081 	* src/cff/cffparse.c (cff_parse_real): Handle border case where
 6082 	`fraction_length' has value 10.
 6083 
 6084 2010-06-07  Werner Lemberg  <wl@gnu.org>
 6085 
 6086 	Fix Savannah bug #30052.
 6087 	This bug has been introduced with commit 2415cbf3.
 6088 
 6089 	* src/base/ftobjs.c (FT_Get_First_Char, FT_Get_Next_Char): Protect
 6090 	against endless loop in case of corrupted font header data.
 6091 
 6092 2010-05-26  Werner Lemberg  <wl@gnu.org>
 6093 
 6094 	Remove unused variable.
 6095 	Found by Graham.
 6096 
 6097 	* src/autofit/afhints.c (af_glyph_hints_reload): Remove unused
 6098 	variable `first' in first block.
 6099 
 6100 2010-05-22  Werner Lemberg  <wl@gnu.org>
 6101 
 6102 	Fix various memory problems found by linuxtesting.org.
 6103 
 6104 	* src/base/ftgxval.c (FT_TrueTypeGX_Free, FT_ClassicKern_Free),
 6105 	src/base/ftotval.c (FT_OpenType_Free), src/base/ftpfr.c
 6106 	(ft_pfr_check): Check `face'.
 6107 
 6108 	* src/base/ftobjs.c (FT_Get_Charmap_Index): Check `charmap' and
 6109 	`charmap->face'.
 6110 	(FT_Render_Glyph): Check `slot->face'.
 6111 	(FT_Get_SubGlyph_Info): Check `glyph->subglyphs'.
 6112 
 6113 2010-05-22  Werner Lemberg  <wl@gnu.org>
 6114 
 6115 	autofit: Remove dead code.
 6116 	Suggested by Graham.
 6117 
 6118 	* src/autofit/afhints.c (af_glyph_hints_compute_inflections):
 6119 	Removed.
 6120 	(af_glyph_hints_reload): Remove third argument.
 6121 	Update all callers.
 6122 
 6123 2010-05-21  Bram Tassyns  <bramt@enfocus.be>
 6124 
 6125 	[cff] Fix Savannah bug #27987.
 6126 
 6127 	* src/cff/cffobjs.c (remove_subset_prefix): New function.
 6128 	(cff_face_init): Use it to adjust `cffface->family_name'.
 6129 
 6130 2010-05-20  Werner Lemberg  <wl@gnu.org>
 6131 
 6132 	TrueType: Make FreeType ignore maxSizeOfInstructions in `maxp'.
 6133 
 6134 	Acroread does the same.
 6135 
 6136 	* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Call
 6137 	`Update_Max' to adjust size of instructions array if necessary and
 6138 	add a rough safety check.
 6139 
 6140 	(load_truetype_glyph): Save `loader->byte_len' before recursive
 6141 	call.
 6142 
 6143 	* src/truetype/ttinterp.h, src/truetype/ttinterp.c (Update_Max):
 6144 	Declare it as FT_LOCAL.
 6145 
 6146 2010-05-18  Hongbo Ni  <hongbo@njstar.com>
 6147 
 6148 	Apply Savannah patch #7196.
 6149 
 6150 	* src/cff/cffgload.c (cff_slot_load): Prevent crash if CFF subfont
 6151 	index is out of range.
 6152 
 6153 2010-05-11  Werner Lemberg  <wl@gnu.org>
 6154 
 6155 	* docs/formats.txt: Give pointer to PCF documentation.
 6156 	Information provided by Alan Coopersmith
 6157 	<alan.coopersmith@oracle.com>.
 6158 
 6159 2010-05-10  Ken Sharp  <ken.sharp@artifex.com>
 6160 
 6161 	[psaux] Fix Savannah bug #29846.
 6162 
 6163 	Previously we discovered fonts which used `setcurrentpoint' to set
 6164 	the initial point of a contour to 0,0.  This caused FreeType to
 6165 	raise an error, because the `setcurrentpoint' operator is only
 6166 	supposed to be used with the results from an OtherSubr subroutine.
 6167 
 6168 	This was fixed by simply ignoring the error and carrying on.
 6169 
 6170 	Now we have found a font which uses setcurrentpoint to actually
 6171 	establish a non-zero point for a contour during the course of a
 6172 	glyph program.  FWIW, these files may be produced by an application
 6173 	called `Intaglio' on the Mac, when converting TrueType fonts to
 6174 	Type 1.
 6175 
 6176 	The fix allows the new invalid behaviour, the old invalid behaviour
 6177 	and real proper usage of the operator to work the same way as Adobe
 6178 	interpreters apparently do.
 6179 
 6180 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Make
 6181 	`setcurrentpoint' use the top two elements of the stack to establish
 6182 	unconditionally the current x and y coordinates.
 6183 
 6184 	Make the `flex' subroutine handling (OtherSubr 0) put the current
 6185 	x,y coordinates onto the stack, instead of two dummy uninitialised
 6186 	values.
 6187 
 6188 2010-04-14  Ken Sharp  <ken.sharp@artifex.com>
 6189 
 6190 	[psaux] Fix Savannah bug #29444.
 6191 
 6192 	* src/psaux/psobjs.c (t1_builder_start_point): Accept (invalid)
 6193 	`lineto' immediately after `hsbw', in accordance with Acrobat, GS,
 6194 	and others.
 6195 
 6196 2010-04-14  Michał Cichoń  <thedmd@artifexmundi.com>
 6197 
 6198 	[psaux] Fix Savannah bug #27999.
 6199 
 6200 	* src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID): Only remove
 6201 	selected entry, not all.
 6202 
 6203 2010-04-06  Jonathan Kew  <jfkthame@gmail.com>
 6204 
 6205 	[truetype] Add overflow check to `fvar' table.
 6206 
 6207 	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Check axis and instance
 6208 	count.
 6209 
 6210 2010-04-05  Ken Sharp  <ken.sharp@artifex.com>
 6211 
 6212 	[raster] Fix Savannah bug #29335.
 6213 
 6214 	* src/raster/ftraster.c (Line_Up): Use slow multiplication to
 6215 	prevent overflow.  This shouldn't have any serious impact on speed,
 6216 	however.
 6217 
 6218 2010-04-05  Werner Lemberg  <wl@gnu.org>
 6219 
 6220 	Add new function `FT_Library_SetLcdFilterWeights'.
 6221 
 6222 	This is based on code written by Lifter
 6223 	<https://unixforum.org/index.php?showuser=11691>.  It fixes
 6224 	FreeDesktop bug #27386.
 6225 
 6226 	* src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights): New
 6227 	function.
 6228 
 6229 	* include/freetype/ftlcdfil.h: Updated.
 6230 
 6231 	* docs/CHANGES: Updated.
 6232 
 6233 2010-04-01  John Tytgat  <John.Tytgat@esko.com>
 6234 
 6235 	[truetype] Fix Savannah bug #29404.
 6236 
 6237 	* src/truetype/ttgload.c: Revert change 2752bd1a (check on bit 1
 6238 	of `head' table of TrueType fonts).
 6239 
 6240 2010-03-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 6241 
 6242 	Fix `multi build' for Tytgat's CFF driver improvement.
 6243 
 6244 	* src/base/cffload.h (cff_index_get_name): Added.
 6245 
 6246 2010-03-12  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 6247 
 6248 	Remove duplicated inclusion of `FT_OUTLINE_H' in ftobjs.c.
 6249 
 6250 	* src/base/ftobjs.c: Remove 2nd inclusion of `FT_OUTLINE_H'.
 6251 
 6252 2010-03-11  Chris Liddell  <chris.liddell@artifex.com>
 6253 
 6254 	[raster] Fix Savannah bug #27442.
 6255 
 6256 	* src/raster/ftraster.c (ft_black_reset): Fix `buffer_size'.
 6257 
 6258 2010-03-09  Werner Lemberg  <wl@gnu.org>
 6259 
 6260 	[cff] Remove unused variable.
 6261 	Reported by Graham.
 6262 
 6263 	* src/cff/cffparse.c (cff_parse_real): Remove `rest'.
 6264 
 6265 2010-03-02  John Tytgat  <John.Tytgat@esko.com>
 6266 
 6267 	[cff] Improve CFF string (especially glyphname) lookup performance.
 6268 
 6269 	We do this by avoiding memory allocation and file I/O.  This is
 6270 	Savannah patch #7104.
 6271 
 6272 	* src/cff/cfftypes.h: Include PS cmaps service and
 6273 	FT_INTERNAL_POSTSCRIPT_HINTS_H.
 6274 	(CFF_SubFontRec): Remove `num_local_subrs'.
 6275 	(CFF_FontRec): Add `num_strings', `strings', and `string_pool'
 6276 	fields.
 6277 	Remove `string_index' and `num_global_subrs' fields.
 6278 	Use real types instead of `void' for `pshinter' and `psnames' fields.
 6279 
 6280 	* src/cff/cffload.c: Don't include PS cmaps service.
 6281 	(cff_index_get_pointers): Add `pool' parameter which allows inserting
 6282 	an extra NUL character for each String INDEX entry.
 6283 	(cff_index_get_name): Make it a local function.
 6284 	(cff_index_get_string): New function.
 6285 	(cff_subfont_load): Updated.
 6286 	(cff_font_load): Initialize `num_strings', `strings', and
 6287 	`string_pool' fields in the `CFF_FontRec' structure.
 6288 	(cff_index_get_sid_string): Use `cff_index_get_string' instead of
 6289 	`cff_index_get_name'.
 6290 	(cff_font_done): Updated.
 6291 
 6292 	* src/cff/cffload.h: Don't include PS cmaps service.
 6293 	(cff_index_get_string): Added.
 6294 	(cff_index_get_sid_string): Updated.
 6295 
 6296 	* src/cff/cffobjs.c: Don't include PS cmaps service and
 6297 	FT_INTERNAL_POSTSCRIPT_HINTS_H.
 6298 	(cff_size_get_globals_funcs, cff_slot_init): Updated.
 6299 	(cff_face_init): Follow `cff_index_get_name',
 6300 	`cff_index_get_string', and `cff_index_get_sid_string' changes.
 6301 
 6302 	* src/cff/cffcmap.c (cff_sid_free_glyph_name): Removed.
 6303 	(cff_sid_to_glyph_name): Use `cff_index_get_cid_string'.
 6304 	(cff_cmap_unicode_init): Updated.
 6305 
 6306 	* src/cff/cffdrivr.c: Don't include PS cmap service.
 6307 	(cff_get_glyph_name): Avoid unnecessary lookup for POSTSCRIPT_CMAPS
 6308 	service.
 6309 	(cff_get_glyph_name, cff_ps_get_font_info, cff_get_ros): Follow API
 6310 	`cff_index_get_sid_string' change.
 6311 	(cff_get_name_index): Use `cff_index_get_string' instead of
 6312 	`cff_index_get_name'.
 6313 
 6314 	* src/cff/cffgload.c: Don't include FT_INTERNAL_POSTSCRIPT_HINTS_H.
 6315 	(cff_decoder_init, cff_decoder_prepare): Updated.
 6316 
 6317 2010-02-27  Werner Lemberg  <wl@gnu.org>
 6318 
 6319 	Simplify code.
 6320 	Suggested by Behdad.
 6321 
 6322 	* src/base/ftobjs.c (FT_Get_First_Char): Don't use a loop since we
 6323 	call FT_Get_Next_Char anyway if necessary.
 6324 
 6325 2010-02-26  Behdad Esfahbod  <behdad@behdad.org>
 6326 
 6327 	Improve handling of invalid glyph indices in char->index functions.
 6328 
 6329 	* src/base/ftobjs.c (FT_Get_First_Char, FT_Get_Next_Char): Use a
 6330 	loop.
 6331 
 6332 2010-02-18  Chris Liddell  <chris.liddell@artifex.com>
 6333 
 6334 	[truetype] Fix Savannah bug #28905.
 6335 
 6336 	Initialize phantom points before calling the incremental interface
 6337 	to update glyph metrics.
 6338 
 6339 	* src/truetype/ttgload.c (tt_get_metrics_incr_overrides)
 6340 	[FT_CONFIG_OPTION_INCREMENTAL]: New function, split off from...
 6341 	(tt_get_metrics): This.
 6342 	Updated.
 6343 	(load_truetype_glyph): Use tt_get_metrics_incr_overrides.
 6344 
 6345 ----------------------------------------------------------------------------
 6346 
 6347 Copyright (C) 2010-2019 by
 6348 David Turner, Robert Wilhelm, and Werner Lemberg.
 6349 
 6350 This file is part of the FreeType project, and may only be used, modified,
 6351 and distributed under the terms of the FreeType project license,
 6352 LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 6353 indicate that you have read the license and understand and accept it
 6354 fully.
 6355 
 6356 
 6357 Local Variables:
 6358 version-control: never
 6359 coding: utf-8
 6360 End: