modules/freetype2/ChangeLog.24

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/modules/freetype2/ChangeLog.24	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,6360 @@
     1.4 +2013-05-08  Werner Lemberg  <wl@gnu.org>
     1.5 +
     1.6 +	* Version 2.4.12 released.
     1.7 +	==========================
     1.8 +
     1.9 +
    1.10 +	Tag sources with `VER-2-4-12'.
    1.11 +
    1.12 +	* docs/VERSION.DLL: Update documentation and bump version number to
    1.13 +	2.4.12.
    1.14 +
    1.15 +	* README, Jamfile (RefDoc),
    1.16 +	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
    1.17 +	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
    1.18 +	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
    1.19 +	builds/win32/visualc/freetype.dsp,
    1.20 +	builds/win32/visualc/freetype.vcproj,
    1.21 +	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
    1.22 +	builds/win32/visualce/freetype.vcproj,
    1.23 +	builds/win32/visualce/index.html,
    1.24 +	builds/wince/vc2005-ce/freetype.vcproj,
    1.25 +	builds/wince/vc2005-ce/index.html,
    1.26 +	builds/wince/vc2008-ce/freetype.vcproj,
    1.27 +	builds/wince/vc2008-ce/index.html: s/2.4.11/2.4.12/, s/2411/2412/.
    1.28 +
    1.29 +	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 12.
    1.30 +
    1.31 +	* builds/unix/configure.raw (version_info): Set to 16:1:10.
    1.32 +
    1.33 +2013-05-08  Werner Lemberg  <wl@gnu.org>
    1.34 +
    1.35 +	* docs/CHANGES: Updated.
    1.36 +
    1.37 +2013-05-08  Werner Lemberg  <wl@gnu.org>
    1.38 +
    1.39 +	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Typo.
    1.40 +
    1.41 +2013-05-05  Werner Lemberg  <wl@gnu.org>
    1.42 +
    1.43 +	Synchronize `ftconfig.h'.
    1.44 +
    1.45 +	* builds/unix/ftconfig.in: Updated.
    1.46 +
    1.47 +2013-05-05  Werner Lemberg  <wl@gnu.org>
    1.48 +
    1.49 +	Fix compilation with C++.
    1.50 +
    1.51 +	* src/base/md5.c (body): Use proper cast.
    1.52 +
    1.53 +2013-05-05  Werner Lemberg  <wl@gnu.org>
    1.54 +
    1.55 +	Fix 64bit compilation issues.
    1.56 +
    1.57 +	* include/freetype/config/ftconfig.h [FT_LONG64]: Typedef
    1.58 +	`FT_Int64' here.
    1.59 +
    1.60 +	* src/base/ftcalc.c: Remove typedef of `FT_Int64'.
    1.61 +	(FT_DivFix): Fix cast.
    1.62 +	* src/base/fttrigon.c: Remove typedef of `FT_Int64'.
    1.63 +
    1.64 +2013-05-05  Werner Lemberg  <wl@gnu.org>
    1.65 +
    1.66 +	[raster] Fix clang issues.
    1.67 +
    1.68 +	Fix suggested by <octoploid@yandex.com>.
    1.69 +
    1.70 +	* src/raster/ftraster.c (ULong): New typedef.
    1.71 +	(SCALED): Add proper cast.
    1.72 +
    1.73 +2013-05-04  Werner Lemberg  <wl@gnu.org>
    1.74 +
    1.75 +	Fix clang fixes.
    1.76 +
    1.77 +	* src/base/fttrigon.c (ft_trig_prenorm, FT_Vector_Rotate): Use
    1.78 +	correct types.
    1.79 +
    1.80 +	* src/cff/cf2intrp.c (cf2_interpT2CharString) <default>: Force
    1.81 +	unsigned for computations.
    1.82 +	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Ditto.
    1.83 +	* src/cff/cffparse.c (cff_parse_integer): Ditto.
    1.84 +
    1.85 +	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Ditto.
    1.86 +
    1.87 +2013-05-04  Werner Lemberg  <wl@gnu.org>
    1.88 +
    1.89 +	[cff] Make Adobe CFF engine work correctly on 64bit hosts.
    1.90 +
    1.91 +	Reported by numerous people on the `freetype-devel' list.  Without
    1.92 +	this fix, glyphs aren't properly aligned on a common baseline.
    1.93 +
    1.94 +	On 64bit systems, `FT_Pos' expands to `long int', having a width of
    1.95 +	64bit.  `CF2_Fixed' expands to `int' which is normally 32bit wide on
    1.96 +	64bit hosts also.  Wrong casts filled up the blues arrays with
    1.97 +	incorrect values.  Note that all blues values are accessed with the
    1.98 +	`cf2_blueToFixed' macro which handles the 64bit to 32bit conversion.
    1.99 +
   1.100 +	* src/cff/cf2ft.h (cf2_getBlueValues, cf2_getOtherBlues,
   1.101 +	cf2_getFamilyBlues, cf2_getFamilyOtherBlues): Use `FT_Pos' for
   1.102 +	`data', not `CF2_Fixed'.
   1.103 +	* src/cff/cf2ft.c (cf2_getBlueValues, cf2_getOtherBlues,
   1.104 +	cf2_getFamilyBlues, cf2_getFamilyOtherBlues): Updated.
   1.105 +	* src/cff/cf2blues.c (cf2_blues_init): Updated.
   1.106 +
   1.107 +2013-05-04  Werner Lemberg  <wl@gnu.org>
   1.108 +
   1.109 +	More fixes for clang's `sanitize' feature.
   1.110 +
   1.111 +	* src/base/ftcalc.c (FT_DivFix): Use unsigned values for
   1.112 +	computations which use the left shift operator and convert to signed
   1.113 +	as the last step.
   1.114 +	* src/base/fttrigon.c (ft_trig_prenorm, FT_Vector_Rotate,
   1.115 +	FT_Vector_Length, FT_Vector_Polarize): Ditto.
   1.116 +
   1.117 +	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Simplify.
   1.118 +	* src/cff/cffload.c (cff_subfont_load): Fix constant.
   1.119 +	* src/cff/cffparse.c (cff_parse_integer, cff_parse_real, do_fixed,
   1.120 +	cff_parse_fixed_dynamic): Use unsigned values for computations which
   1.121 +	use the left shift operator and convert to signed as the last step.
   1.122 +
   1.123 +	* src/cid/cidload.c (cid_get_offset): Ditto.
   1.124 +
   1.125 +	* src/psaux/psconv.c (PS_Conv_ToFixed): Ditto.
   1.126 +	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Ditto.
   1.127 +
   1.128 +	* src/truetype/ttinterp.c (TT_MulFix14, TT_DotFix14): Ditto.
   1.129 +
   1.130 +2013-05-04  Werner Lemberg  <wl@gnu.org>
   1.131 +
   1.132 +	Fix errors reported by clang's `sanitize' feature.
   1.133 +
   1.134 +	* include/freetype/internal/ftstream.h: Simplify and fix integer
   1.135 +	extraction macros.
   1.136 +	(FT_INT8_, FT_BYTE_I16, FT_BYTE_I32, FT_INT8_I16, FT_INT8_I32,
   1.137 +	FT_INT8_I32, FT_INT8_U32): Removed.
   1.138 +	(FT_PEEK_SHORT, FT_PEEK_LONG, FT_PEEK_OFF3, FT_PEEK_SHORT_LE,
   1.139 +	FT_PEEK_LONG_LE, FT_PEEK_OFF3_LE): Use unsigned values for
   1.140 +	computations and convert to signed as the last step.
   1.141 +
   1.142 +	* src/cff/cf2fixed.h (cf2_intToFixed, cf2_fixedToInt,
   1.143 +	cf2_fracToFixed): Avoid shifts of negative values.
   1.144 +	(cf2_intToFrac, cf2_fixedToFrac, cf2_fixedTo26Dot6): Removed,
   1.145 +	unused.
   1.146 +
   1.147 +	* src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdEXTENDEDNMBR,
   1.148 +	default>: Use unsigned values for computations and convert to signed
   1.149 +	as the last step.
   1.150 +	Use proper types in tracing messages.
   1.151 +
   1.152 +	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Use unsigned
   1.153 +	values for computation of operands and convert to signed as the last
   1.154 +	step.
   1.155 +	Use proper type in tracing message.
   1.156 +
   1.157 +2013-05-03  Werner Lemberg  <wl@gnu.org>
   1.158 +
   1.159 +	* src/cff/cf2blues.c: Remove dead code.
   1.160 +
   1.161 +2013-05-02  Chris Liddell  <chris.liddell@artifex.com>
   1.162 +
   1.163 +	* src/cff/cffgload.c: Include FT_CFF_DRIVER_H.
   1.164 +
   1.165 +2013-04-27  Werner Lemberg  <wl@gnu.org>
   1.166 +
   1.167 +	* docs/CHANGES: Updated.
   1.168 +	* README: Improved.
   1.169 +
   1.170 +2013-04-13  Werner Lemberg  <wl@gnu.org>
   1.171 +
   1.172 +	[cff] Add a new Type 2 interpreter and hinter.
   1.173 +
   1.174 +	This work, written by Dave Arnold <darnold@adobe.com> and fully
   1.175 +	integrated into FreeType by me, is a donation by Adobe in
   1.176 +	collaboration with Google.  It is vastly superior to the old CFF
   1.177 +	engine, and it will replace it soon.  Right now, it is still off by
   1.178 +	default, and you have to explicitly select it using the new
   1.179 +	`hinting-engine' property of the cff driver.
   1.180 +
   1.181 +	For convenience, (most of) the new files are committed separately.
   1.182 +
   1.183 +	* include/freetype/config/ftheader.h (FT_CFF_DRIVER_H): New macro.
   1.184 +	* include/freetype/ftcffdrv.h: New file to access CFF driver
   1.185 +	properties.
   1.186 +	* include/freetype/fterrdef.h (FT_Err_Glyph_Too_Big): New error
   1.187 +	code.
   1.188 +	* include/freetype/internal/fttrace.h: Add `cf2blues', `cf2hints',
   1.189 +	and `cf2interp'.
   1.190 +
   1.191 +	* src/cff/cffgload.h (CFF_SubFont): New member `current_subfont'.
   1.192 +	* src/cff/cffobjs.h (CFF_DriverRec): New members `hinting_engine'
   1.193 +	and `no_stem_darkening'.
   1.194 +	* src/cff/cfftypes.h (CFF_FontRec): New member `cf2_instance'.
   1.195 +
   1.196 +	* src/cff/cff.c: Include new files.
   1.197 +	* src/cff/cffdrivr.c (cff_property_set, cff_property_get): Handle
   1.198 +	`hinting-engine' and `no-stem-darkening' properties (only the Adobe
   1.199 +	engine listens to them).
   1.200 +	* src/cff/cffgload.c: Include `cf2ft.h'.
   1.201 +	(cff_decoder_prepare): Initialize `current_subfont'.
   1.202 +	(cff_build_add_point): Handle Adobe engine which uses 16.16
   1.203 +	coordinates.
   1.204 +	(cff_slot_load): Handle FT_LOAD_NO_SCALE and FT_LOAD_NO_HINTING
   1.205 +	separately.
   1.206 +	Choose rendering engine based on `hinting_engine' property.
   1.207 +	* src/cff/cffload.c (cff_font_done): Call finalizer of the Adobe
   1.208 +	engine.
   1.209 +	* src/cff/cffobjs.c: Include FT_CFF_DRIVER_H.
   1.210 +	(cff_driver_init): Set default property values.
   1.211 +
   1.212 +	* src/cff/rules.mk (CFF_DRV_SRC, CFF_DRV_H): Add new files.
   1.213 +
   1.214 +	* src/cff/cf2*.*: New files, containing the Adobe engine.
   1.215 +
   1.216 +2013-04-12  Werner Lemberg  <wl@gnu.org>
   1.217 +
   1.218 +	[cff] Minor code administration issues.
   1.219 +
   1.220 +	* src/cff/cffgload.c (check_points): Rename to...
   1.221 +	(cff_check_points): ...this and make it FT_LOCAL.
   1.222 +	(cff_builder_add_point, cff_builder_add_point1,
   1.223 +	cff_builder_start_point, cff_builder_close_contour,
   1.224 +	cff_lookup_glyph_by_stdcharcode, cff_get_glyph_data,
   1.225 +	cff_free_glyph_data): Make them FT_LOCAL.
   1.226 +
   1.227 +	* src/cff/cffgload.h: Updated.
   1.228 +
   1.229 +2013-04-12  Werner Lemberg  <wl@gnu.org>
   1.230 +
   1.231 +	Add output bitmap checksums.
   1.232 +
   1.233 +	Use `FT2_DEBUG=bitmap:3' for tracing.
   1.234 +
   1.235 +	* src/base/md5.c, src/base/md5.h: New files, taken from
   1.236 +
   1.237 +	  http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5
   1.238 +
   1.239 +	* include/freetype/internal/fttrace.h: Add `bitmap'.
   1.240 +
   1.241 +	* src/base/ftobjs.c [FT_DEBUG_LEVEL_TRACE]: Include `md5.c'
   1.242 +
   1.243 +	(FT_Render_Glyph_Internal) [FT_DEBUG_LEVEL_TRACE]: For tracing,
   1.244 +	convert resulting bitmap to a uniform format and compute a checksum.
   1.245 +	Use `bitmap' category for the tracing message.
   1.246 +
   1.247 +	* src/base/rules.mk (BASE_H): Updated.
   1.248 +
   1.249 +	* docs/LICENSE.TXT: Updated.
   1.250 +
   1.251 +2013-04-12  Werner Lemberg  <wl@gnu.org>
   1.252 +
   1.253 +	[cff] Add framework for CFF properties.
   1.254 +
   1.255 +	* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC7):
   1.256 +	New macro.
   1.257 +
   1.258 +	* src/cff/cffdrivr.c: Include FT_SERVICE_PROPERTIES_H.
   1.259 +	(cff_property_set, cff_property_get): New functions, still empty.
   1.260 +	Define `cff_service_properties' service.
   1.261 +	Update `cff_services'.
   1.262 +
   1.263 +	* src/cff/cffpic.h: Include FT_SERVICE_PROPERTIES_H.
   1.264 +	(CFF_SERVICE_PROPERTIES_GET): New macro.
   1.265 +	(CffModulePIC): Add `cff_service_properties'.
   1.266 +
   1.267 +2013-04-03  Werner Lemberg  <wl@gnu.org>
   1.268 +
   1.269 +	[bdf] Fix Savannah bug #38589.
   1.270 +
   1.271 +	* src/bdf/bdflib.c (_bdf_readstream): Thinko.
   1.272 +
   1.273 +2013-03-31  Werner Lemberg  <wl@gnu.org>
   1.274 +
   1.275 +	* configure: Use egrep, not grep.
   1.276 +
   1.277 +	Problem reported Mojca Miklavec <mojca.miklavec.lists@gmail.com>.
   1.278 +
   1.279 +2013-03-29  Werner Lemberg  <wl@gnu.org>
   1.280 +
   1.281 +	* include/freetype/ftlcdfil.h: Add description of color filtering.
   1.282 +
   1.283 +	Based on a contribution from Antti S. Lankila <alankila@bel.fi>
   1.284 +	(Savannah bug #38607).
   1.285 +
   1.286 +2013-03-23  Werner Lemberg  <wl@gnu.org>
   1.287 +
   1.288 +	[autofit] Minor.
   1.289 +
   1.290 +	* src/autofit/afmodule.c (af_property_set): Typo.
   1.291 +	(af_autofitter_init, af_autofitter_done): Use cast.
   1.292 +
   1.293 +2013-03-21  Werner Lemberg  <wl@gnu.org>
   1.294 +
   1.295 +	* configure: Automatically test for `gmake' also.
   1.296 +
   1.297 +	Suggested by Mojca Miklavec <mojca.miklavec.lists@gmail.com>.
   1.298 +
   1.299 +2013-03-21  Peter Breitenlohner  <peb@mppmu.mpg.de>
   1.300 +
   1.301 +	Respect CONFIG_SHELL from the environment.
   1.302 +
   1.303 +	Some large packages using FreeType have to use a broken (deficient)
   1.304 +	/bin/sh.  The configure scripts (as generated by Autoconf) are
   1.305 +	clever enough to find a better shell and put that one into the
   1.306 +	environment variable CONFIG_SHELL.  If that environment variable is
   1.307 +	already set the script skips the test and assumes to be already
   1.308 +	running under a good shell.
   1.309 +
   1.310 +	* builds/unix/detect.mk: Honour CONFIG_SHELL.
   1.311 +	* builds/unix/unix-def.in (SHELL): Define.
   1.312 +
   1.313 +2013-03-21  Werner Lemberg  <wl@gnu.org>
   1.314 +
   1.315 +	Fix Savannah patch #7971.
   1.316 +
   1.317 +	* configure: Handle MAKE environment variable also.
   1.318 +
   1.319 +2013-03-17  Werner Lemberg  <wl@gnu.org>
   1.320 +
   1.321 +	Fix Savannah bug #38538.
   1.322 +
   1.323 +	* builds/amiga/src/base/ftdebug.c, builds/win32/ftdebug.c,
   1.324 +	builds/wince/ftdebug.c (FT_Throw): Add function.
   1.325 +
   1.326 +2013-03-17  Werner Lemberg  <wl@gnu.org>
   1.327 +
   1.328 +	[raster] Remove dead code.
   1.329 +
   1.330 +	* src/raster/rastpic.c (ft_raster1_renderer_class_pic_init)
   1.331 +	src/smooth/ftspic.c (ft_smooth_renderer_class_pic_init): Do it.
   1.332 +
   1.333 +2013-03-17  Werner Lemberg  <wl@gnu.org>
   1.334 +
   1.335 +	* src/pshinter/pshpic.h (GET_PIC): Use correct container.
   1.336 +
   1.337 +2013-03-15  Werner Lemberg  <wl@gnu.org>
   1.338 +
   1.339 +	* include/freetype/ftmoderr.h: Fix commit from 2013-03-11.
   1.340 +
   1.341 +	The previous version was not backwards compatible.  Reported by
   1.342 +	Behdad.
   1.343 +
   1.344 +2013-03-14  Werner Lemberg  <wl@gnu.org>
   1.345 +
   1.346 +	*/*: Use FT_ERR_EQ, FT_ERR_NEQ, and FT_ERR where appropriate.
   1.347 +
   1.348 +	FT_Err_XXX and friends are no longer directly used in the source
   1.349 +	code.
   1.350 +
   1.351 +2013-03-14  Werner Lemberg  <wl@gnu.org>
   1.352 +
   1.353 +	New error management macros.
   1.354 +
   1.355 +	* include/freetype/fterrors.h (FT_ERR_XCAT, FT_ERR_CAT): Move to...
   1.356 +	* include/freetype/fttypes.h: ... this file.
   1.357 +	(FT_ERR, FT_ERR_EQ, FT_ERR_NEQ, FT_MODERR_EQ, FT_MODERR_NEQ): New
   1.358 +	macros.
   1.359 +
   1.360 +	* include/freetype/freetype.h: Updated.
   1.361 +
   1.362 +2013-03-14  Werner Lemberg  <wl@gnu.org>
   1.363 +
   1.364 +	*/*: Use FT_Err_Ok only.
   1.365 +
   1.366 +	This is a purely mechanical conversion.
   1.367 +
   1.368 +2013-03-14  Werner Lemberg  <wl@gnu.org>
   1.369 +
   1.370 +	*/*: Use `FT_THROW'.
   1.371 +
   1.372 +	This is essentially a mechanical conversion, adding inclusion of
   1.373 +	`FT_INTERNAL_DEBUG_H' where necessary, and providing the macros for
   1.374 +	stand-alone compiling modes of the rasterizer modules.
   1.375 +
   1.376 +	To convert the remaining occurrences of FT_Err_XXX and friends it is
   1.377 +	necessary to rewrite the code.  Note, however, that it doesn't harm
   1.378 +	if some cases are not handled since FT_THROW is a no-op.
   1.379 +
   1.380 +2013-03-13  Werner Lemberg  <wl@gnu.org>
   1.381 +
   1.382 +	Introduce `FT_THROW' macro.
   1.383 +
   1.384 +	The idea is to replace code like
   1.385 +
   1.386 +	  return FT_Err_Foo_Bar;
   1.387 +
   1.388 +	or
   1.389 +
   1.390 +	  return CFF_Err_Foo_Bar;
   1.391 +
   1.392 +	with
   1.393 +
   1.394 +	  return FT_THROW( Foo_Bar );
   1.395 +
   1.396 +	The FT_THROW macro has two functions:
   1.397 +
   1.398 +	  . It hides the module specific prefix.
   1.399 +
   1.400 +	  . In debug mode, it calls the empty function `FT_Throw' which can
   1.401 +	    be thus used to set a breakpoint.
   1.402 +
   1.403 +	* include/freetype/internal/ftdebug.h (FT_THROW): New macro.
   1.404 +	(FT_Throw): New prototype.
   1.405 +	* src/base/ftdebug.c (FT_Throw): New function.
   1.406 +
   1.407 +2013-03-12  Werner Lemberg  <wl@gnu.org>
   1.408 +
   1.409 +	Remove `FT_KEEP_ERR_PREFIX'.
   1.410 +
   1.411 +	The idea is to always have FT_ERR_PREFIX available internally.
   1.412 +
   1.413 +	* include/freetype/fterrors.h: Use FT2_BUILD_LIBRARY to guard
   1.414 +	undefinition of FT_ERR_PREFIX
   1.415 +
   1.416 +	* src/gxvalid/gxverror.h, src/otvalid/otverror.h,
   1.417 +	src/sfnt/sferrors.h: Updated.
   1.418 +
   1.419 +2013-03-11  Werner Lemberg  <wl@gnu.org>
   1.420 +
   1.421 +	[gxvalid] Fix module error.
   1.422 +
   1.423 +	* src/gxvalid/gxverror.h (FT_ERR_BASE): Define as
   1.424 +	FT_Mod_Err_GXvalid.
   1.425 +	* include/freetype/ftmoderr.h: Add module error for `GXvalid'.
   1.426 +
   1.427 +2013-03-11  Werner Lemberg  <wl@gnu.org>
   1.428 +
   1.429 +	Always use module related error codes.
   1.430 +
   1.431 +	* src/cff/cffobjs.c (cff_face_init), src/type1/t1objs.c
   1.432 +	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Use
   1.433 +	`FT_ERROR_BASE'.
   1.434 +
   1.435 +	* src/type1/t1load.c (parse_encoding): Use
   1.436 +	T1_Err_Unknown_File_Format.
   1.437 +
   1.438 +2013-03-08  Werner Lemberg  <wl@gnu.org>
   1.439 +
   1.440 +	[cff] Set `linear{Hori,Vert}Advance' for embedded bitmaps also.
   1.441 +
   1.442 +	Problem reported by Khaled Hosny <khaledhosny@eglug.org>.
   1.443 +
   1.444 +	* src/cff/cffgload.c (cff_slot_load): Implement it.
   1.445 +
   1.446 +2013-02-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.447 +
   1.448 +	[base] Fix commit ab02d9e8.
   1.449 +
   1.450 +	* src/base/ftbbox.c (BBox_Cubic_Check): Change scaling to msb of 22.
   1.451 +
   1.452 +2013-02-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.453 +
   1.454 +	[base] New bisecting BBox_Cubic_Check (disabled).
   1.455 +
   1.456 +	* src/base/ftbbox.c (BBox_Cubic_Check): New bisecting algorithm
   1.457 +	for extremum search built around simple condition that defines
   1.458 +	which half contains the extremum.
   1.459 +
   1.460 +2013-02-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.461 +
   1.462 +	[tools] Update BBox testing tool.
   1.463 +
   1.464 +	* src/tools/test_bbox.c: Add another cubic outline with exact BBox.
   1.465 +	(REPEAT): Increase the number of benchmarking cycles.
   1.466 +	(profile_outline): Tweak output formatting.
   1.467 +
   1.468 +2013-02-02  Werner Lemberg  <wl@gnu.org>
   1.469 +
   1.470 +	Fix Savannah bug #38235.
   1.471 +
   1.472 +	* builds/unix/configure.raw: Don't generate `freetype-config' and
   1.473 +	`freetype.pc'.
   1.474 +
   1.475 +	* builds/unix/unix-def.in (FT2_EXTRA_LIBS, LIBBZ2, LIBZ,
   1.476 +	build_libtool_libs, ft_version): New variables to be substituted.
   1.477 +	(freetype-config, freetype.pc): New rules to generate those files.
   1.478 +
   1.479 +	* builds/unix/freetype-config.in: Remove code for handling `rpath'.
   1.480 +	The use of $rpath has been accidentally removed in a patch from
   1.481 +	2009-12-22, and apparently noone has missed it since.
   1.482 +	Use `%' instead of `@' as a variable substitution marker.
   1.483 +	Use quotes.
   1.484 +
   1.485 +	* builds/unix/freetype.in: Use `%' instead of `@' as a variable
   1.486 +	substitution marker.
   1.487 +	Use quotes.
   1.488 +
   1.489 +2013-02-07  Werner Lemberg  <wl@gnu.org>
   1.490 +
   1.491 +	* src/truetype/ttobjs.c (tt_size_run_prep): Reset more GS variables.
   1.492 +
   1.493 +	BTW, Greg agrees that the OpenType specification is missing the list
   1.494 +	of GS variables which will always be reset to the default values
   1.495 +	after the `prep' table has been executed.
   1.496 +
   1.497 +2013-02-06  Werner Lemberg  <wl@gnu.org>
   1.498 +
   1.499 +	* src/truetype/ttobjs.c (tt_size_run_prep): Reset reference points.
   1.500 +
   1.501 +	Up to now, we simply took a snapshot of the Graphics State after the
   1.502 +	`prep' table has been executed, and right before a glyph's bytecode
   1.503 +	was run it got reloaded.  However, as Greg Hitchcock has told us in
   1.504 +	private communication, reference points get reset to zero in the MS
   1.505 +	rasterizer and we follow in due course.  While reasonable, this is
   1.506 +	undocumented behaviour.
   1.507 +
   1.508 +	Most notably, this fixes the rendering of Arial's `x' glyph in
   1.509 +	subpixel hinting mode.
   1.510 +
   1.511 +2013-02-05  Werner Lemberg  <wl@gnu.org>
   1.512 +
   1.513 +	[truetype] A better fix for Savannah bug #38211.
   1.514 +
   1.515 +	* src/truetype/ttinterp.c (Ins_IP): Implement identical behaviour to
   1.516 +	MS rasterizer if rp1 == rp2 (confirmed by Greg Hitchcock).
   1.517 +
   1.518 +2013-02-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.519 +
   1.520 +	[pcf] Streamline parsing of PCF encoding table.
   1.521 +
   1.522 +	* src/pcf/pcfread.c (pcf_get_encodings): Use simpler double for-loop.
   1.523 +	Reallocate array instead of using temporary storage.
   1.524 +
   1.525 +2013-02-01  Werner Lemberg  <wl@gnu.org>
   1.526 +
   1.527 +	Fix Savannah bug #38227.
   1.528 +
   1.529 +	* builds/unix/freetype-config.in: Set LC_ALL.
   1.530 +
   1.531 +2013-02-01  Werner Lemberg  <wl@gnu.org>
   1.532 +
   1.533 +	Fix Savannah bug #38221.
   1.534 +
   1.535 +	This complements commit 83c0ebab.
   1.536 +
   1.537 +	* src/base/ftcalc.c (FT_MulDiv_No_Round): Don't enclose with
   1.538 +	`TT_USE_BYTECODE_INTERPRETER'.
   1.539 +
   1.540 +2013-02-01  Werner Lemberg  <wl@gnu.org>
   1.541 +
   1.542 +	[truetype] Fix Savannah bug #38211.
   1.543 +
   1.544 +	* src/truetype/ttinterp.c (Ins_IP): Make FreeType behave identical
   1.545 +	to other interpreters if rp1 == rp2 (which is invalid).
   1.546 +
   1.547 +2013-01-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.548 +
   1.549 +	[base] Small optimization of BBox calculation.
   1.550 +
   1.551 +	* src/base/ftbbox.c (BBox_Cubic_Check): Use FT_MSB function in
   1.552 +	scaling algorithm.
   1.553 +
   1.554 +2013-01-26  Infinality  <infinality@infinality.net>
   1.555 +
   1.556 +	[truetype] Minor formatting fix.
   1.557 +
   1.558 +	* src/truetype/ttinterp.c: Updated.
   1.559 +	(DO_RS): Fix indentation.
   1.560 +
   1.561 +2013-01-26  Infinality  <infinality@infinality.net>
   1.562 +
   1.563 +	[truetype] Fix rasterizer_version logic in sph.
   1.564 +
   1.565 +	* src/truetype/ttsubpix.c: Updated.
   1.566 +	(ALWAYS_SKIP_DELTAP_Rules): Remove rule for Trebuchet MS.
   1.567 +	(sph_set_tweaks): Fix `rasterizer_version' logic.
   1.568 +
   1.569 +2013-01-26  Infinality  <infinality@infinality.net>
   1.570 +
   1.571 +	[truetype] Align more to ClearType whitepaper for sph.
   1.572 +
   1.573 +	* include/freetype/internal/tttypes.h (TT_FaceRec): Add flags
   1.574 +	for detected opcode patterns and compatibility mode.
   1.575 +
   1.576 +	* src/truetype/ttgload.c (tt_loader_init): Complete conditional.
   1.577 +
   1.578 +	* src/truetype/ttinterp.c: Updated.
   1.579 +	Remove SPH_DEBUG and replace with FT_TRACE7.
   1.580 +	(DO_RS): More conditions.
   1.581 +	(Ins_FDEF): Add more opcode detection patterns.
   1.582 +	More specific conditions when flagging an fdef.
   1.583 +	Make compatibility mode only turn on when delta fdefs are found.
   1.584 +	(Ins_CALL, Ins_LOOPCALL): Set flags for currently executed fdef.
   1.585 +	(Ins_SHPIX): Remove logic to handle ttfautohinted fonts.
   1.586 +	Simplify conditionals where possible.
   1.587 +	Use `&' instead of `%' operator for dumb compilers.
   1.588 +	(Ins_MIAP): Adjust twilight zone conditional.
   1.589 +	Ensure `ignore_x_mode' is on when testing sph conditionals.
   1.590 +	(Ins_MIRP): Ensure `ignore_x_mode' is on when testing sph
   1.591 +	conditionals.
   1.592 +	Do cvt cutin always when `ignore_x_mode' is active.
   1.593 +	Remove test for ttfautohinted fonts.
   1.594 +	(Ins_DELTAP): Ensure `ignore_x_mode' is on when testing sph
   1.595 +	conditionals.
   1.596 +	Do cvt cutin always when `ignore_x_mode' is active.
   1.597 +	Remove test for ttfautohinted fonts.
   1.598 +	Use `&' instead of `%' operator for dumb compilers.
   1.599 +	(Ins_GETINFO): Remove SPH_DEBUG and replace with FT_TRACE7.
   1.600 +
   1.601 +	* src/truetype/ttinterp.h: Updated.
   1.602 +	(TT_ExecContextRec): Remove compatibility_mode variable.
   1.603 +	Add variable to indicate when executing in special fdefs for sph.
   1.604 +
   1.605 +	* src/truetype/ttobjs.h: Updated.
   1.606 +	(TT_DefRecord): Add flags to identify special fdefs for sph.
   1.607 +	(TT_SizeRec): Remove unnecessary ttfautohinted variable.
   1.608 +
   1.609 +	* src/truetype/ttsubpix.c: Updated.
   1.610 +	(COMPATIBILITY_MODE_Rules): Remove all.  Auto-detected now.
   1.611 +	(PIXEL_HINTING_Rules): Remove all.  Unnecessary after fixes.
   1.612 +	(SKIP_NONPIXEL_Y_MOVES_Rules): Remove Ubuntu.
   1.613 +	(SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Arial Bold `N'.
   1.614 +	(SKIP_OFFPIXEL_Y_MOVES_Rules): Remove all.  Happens automatically
   1.615 +	now.
   1.616 +	(ROUND_NONPIXEL_Y_MOVES_Rules): Remove Ubuntu.
   1.617 +	(ROUND_NONPIXEL_Y_MOVES_Rules_Exceptions): Remove all.
   1.618 +	(NORMAL_ROUND_Rules): Remove Verdana.
   1.619 +	(NO_DELTAP_AFTER_IUP_Rules): Remove all.
   1.620 +	(sph_set_tweaks): Performance fix.  Don't run prep always.
   1.621 +	Adjust conditional for sph_compatibility_mode.
   1.622 +
   1.623 +	* src/truetype/ttsubpix.h: Add new fdef flags for sph.
   1.624 +
   1.625 +2013-01-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.626 +
   1.627 +	[base] Fix broken emboldening at small sizes.
   1.628 +
   1.629 +	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Do not attempt to
   1.630 +	normalize zero-length vectors.
   1.631 +
   1.632 +2013-01-25  Werner Lemberg  <wl@gnu.org>
   1.633 +
   1.634 +	Fix Savannah bug #38167.
   1.635 +
   1.636 +	This fixes commit 83c0ebab from 2012-06-27.
   1.637 +
   1.638 +	* src/truetype/ttinterp.h:
   1.639 +	s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
   1.640 +
   1.641 +2013-01-25  Xi Wang  <xi.wang@gmail.com>
   1.642 +
   1.643 +	[sfnt] Fix broken pointer overflow checks.
   1.644 +
   1.645 +	Many compilers such as gcc and clang optimize away pointer overflow
   1.646 +	checks `p + n < p', because pointer overflow is undefined behavior.
   1.647 +	Use a safe form `n > p_limit - p' instead.
   1.648 +
   1.649 +	Also avoid possible integer overflow issues, for example, using
   1.650 +	`num_glyphs > ( p_limit - p ) / 2' rather than `num_glyphs * 2'
   1.651 +	given a large `num_glyphs'.
   1.652 +
   1.653 +	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Implement it.
   1.654 +
   1.655 +2013-01-25  Werner Lemberg  <wl@gnu.org>
   1.656 +
   1.657 +	[base] Fix `make multi'.
   1.658 +
   1.659 +	* src/base/ftoutln.c, src/base/fttrigon.c: Include
   1.660 +	FT_INTERNAL_CALC_H.
   1.661 +
   1.662 +2013-01-25  David 'Digit' Turner  <digit@google.com>
   1.663 +
   1.664 +	[truetype] Fix C++ compilation.
   1.665 +
   1.666 +	* src/truetype/ttsubpix.h: Updated.
   1.667 +	(SPH_X_SCALING_RULES_SIZE): Moved and renamed to...
   1.668 +	* src/truetype/ttsubpix.c (X_SCALING_RULES_SIZE): This.
   1.669 +	(sph_X_SCALING_Rules): Removed.
   1.670 +	(scale_test_tweak): Make function static.
   1.671 +	(sph_test_tweak_x_scaling): New function.
   1.672 +
   1.673 +	* src/truetype/ttgload.c (TT_Process_Simple_Glyph): Updated.
   1.674 +
   1.675 +2013-01-23  Werner Lemberg  <wl@gnu.org>
   1.676 +
   1.677 +	[base] Make `FT_Hypot' really internal.
   1.678 +
   1.679 +	* include/freetype/fttrigon.h (FT_Hypot): Move to...
   1.680 +	* include/freetype/internal/ftcalc.h: This file.
   1.681 +
   1.682 +	* src/base/fttrigon.c (FT_Hypot): Move to...
   1.683 +	* src/base/ftcalc.c: This file.
   1.684 +	Include FT_TRIGONOMETRY_H.
   1.685 +
   1.686 +	* src/truetype/ttgload.c: Don't include FT_TRIGONOMETRY_H.
   1.687 +
   1.688 +2013-01-23  Werner Lemberg  <wl@gnu.org>
   1.689 +
   1.690 +	[truetype] Revert change from 2013-01-22.
   1.691 +
   1.692 +	FreeType's `height' value is the baseline-to-baseline distance...
   1.693 +
   1.694 +	* src/truetype/ttobjs.c (tt_size_reset): Undo.
   1.695 +
   1.696 +2013-01-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.697 +
   1.698 +	[base, truetype] New internal `FT_Hypot' function.
   1.699 +
   1.700 +	* include/freetype/fttrigon.h (FT_Hypot): Declare it.
   1.701 +	* src/base/fttrigon.c (FT_Hypot): Define it.
   1.702 +	* src/truetype/ttgload.c (TT_Process_Composite_Component): Use it
   1.703 +	instead of explicit expressions.
   1.704 +	* src/truetype/ttinterp.c (Current_Ratio, Normalize): Use it instead
   1.705 +	of TT_VecLen.
   1.706 +	(TT_VecLen): Removed.
   1.707 +
   1.708 +2013-01-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.709 +
   1.710 +	[base] Fix integer overflow.
   1.711 +
   1.712 +	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Normalize incoming and
   1.713 +	outgoing vectors and use fixed point arithmetic.
   1.714 +
   1.715 +2013-01-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.716 +
   1.717 +	[base] Fix integer overflow.
   1.718 +
   1.719 +	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Scale the
   1.720 +	coordinates down to avoid overflow.
   1.721 +
   1.722 +2013-01-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.723 +
   1.724 +	[base] Split out MSB function.
   1.725 +
   1.726 +	* src/base/fttrigon.c (ft_trig_prenorm): Borrow from here.
   1.727 +	* include/freetype/internal/ftcalc.h (FT_MSB): Declare here.
   1.728 +	* src/base/ftcalc.c (FT_MSB): Define here.
   1.729 +
   1.730 +2013-01-22  Werner Lemberg  <wl@gnu.org>
   1.731 +
   1.732 +	[truetype] Fix font height.
   1.733 +
   1.734 +	* src/truetype/ttobjs.c (tt_size_reset): The Windows rendering
   1.735 +	engine uses rounded values of the ascender and descender to compute
   1.736 +	the TrueType font height.
   1.737 +
   1.738 +2013-01-16  Behdad Esfahbod  <behdad@behdad.org>
   1.739 +
   1.740 +	[sfnt] Fix optimized sbit loader.
   1.741 +
   1.742 +	It was not taking bit_depth into consideration when blitting!
   1.743 +
   1.744 +	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_byte_aligned,
   1.745 +	* tt_sbit_decoder_load_bit_aligned): Handle bit
   1.746 +	depth.
   1.747 +
   1.748 +2013-01-16  David 'Digit' Turner  <digit@google.com>
   1.749 +
   1.750 +	[truetype] Improve sub-pixel code.
   1.751 +
   1.752 +	This patches fixes many issues with the ttsubpix implementation.
   1.753 +
   1.754 +	1. Data tables are defined, instead of declared, in the header, and
   1.755 +	   thus copied into each source file that includes it.
   1.756 +
   1.757 +	2. These tables were defined as global, mutable, visible variables,
   1.758 +	   and thus costing private RAM to every process that loads the
   1.759 +	   library (> 50 KB / process, this is huge!).
   1.760 +
   1.761 +	   Additionally, this also made the library export the symbols
   1.762 +	   completely needlessly.
   1.763 +
   1.764 +	3. Missing `sph_' and `SPH_' prefixes to some of the definitions.
   1.765 +
   1.766 +	Note that this doesn't try to fix the incredibly inefficient storage
   1.767 +	format for the data tables used by the code.  This one will require
   1.768 +	another pass in the future.
   1.769 +
   1.770 +	* src/truetype/ttinterp.h (MAX_NAME_SIZE, MAX_CLASS_MEMBERS):
   1.771 +	Renamed to...
   1.772 +	(SPH_MAX_NAME_SIZE, SPH_MAX_CLASS_MEMBERS): This.
   1.773 +	Update all users.
   1.774 +
   1.775 +	(SPH_TweakRule, SPH_ScaleRule): Decorate with `const' where
   1.776 +	appropriate.
   1.777 +
   1.778 +	(Font_Class): Rename to...
   1.779 +	(SPH_Font_Class): This.  Decorate with `const' where appropriate.
   1.780 +	
   1.781 +	* src/truetype/ttsubpix.h (scale_test_tweak, sph_test_tweak):
   1.782 +	Decorate arguments with `const' where appropriate.
   1.783 +
   1.784 +	Move font tweaking tables to...
   1.785 +
   1.786 +	* src/truetype/ttsubpic.c: This file and decorate them with `static'
   1.787 +	and `const' where appropriate.
   1.788 +
   1.789 +	(X_SCALING_Rules, X_SCALING_RULES_SIZE): Renamed to...
   1.790 +	(spu_X_SCALING_Rules, SPH_X_SCALING_RULES_SIZE): This.
   1.791 +	Update all users.
   1.792 +
   1.793 +2013-01-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.794 +
   1.795 +	[truetype] Improve accuracy of normalization of short vectors.
   1.796 +
   1.797 +	Unit vector components are stored as 2.14 fixed-point numbers. In
   1.798 +	order to calculate all 14 bits accurately, a short vector to be
   1.799 +	normalized has to be upscaled to at least 14 bits before its length
   1.800 +	is calculated. This has been safe since accurate CORDIC algorithms
   1.801 +	were adopted.
   1.802 +
   1.803 +	* src/truetype/ttinterp.c (Normalize): Scale short vectors by 0x4000.
   1.804 +
   1.805 +2013-01-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.806 +
   1.807 +	[truetype] Kill very old vector normalization hacks.
   1.808 +
   1.809 +	Back in the days, vector length calculations were not very accurate
   1.810 +	and the vector normalization function, Normalize, had to meticulously
   1.811 +	correct the errors for long vectors [commit b7ef2b096867]. It was no
   1.812 +	longer necessary after accurate CORDIC algorithms were adopted, but
   1.813 +	the code remained. It is time to kill it.
   1.814 +
   1.815 +	* src/truetype/ttinterp.c (Normalize): Remove error compensation.
   1.816 +	(TT_VecLen): Remove any mention of old less accurate implementation.
   1.817 +
   1.818 +2013-01-11  Werner Lemberg  <wl@gnu.org>
   1.819 +
   1.820 +	Disable FT_CONFIG_OPTION_OLD_INTERNALS.
   1.821 +
   1.822 +	After the next release we are going to remove the code completely.
   1.823 +
   1.824 +	* devel/ftoption.h, include/freetype/config/ftoption.h
   1.825 +	(FT_CONFIG_OPTION_OLD_INTERNALS): Comment out.
   1.826 +	* docs/CHANGES: Document it.
   1.827 +
   1.828 +2013-01-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.829 +
   1.830 +	[base] Update the overflow protection bit.
   1.831 +
   1.832 +	The recent optimizations of CORDIC iterations drastically reduce the
   1.833 +	expansion factor.  Vector components with MSB of 29 are now safe
   1.834 +	from overflow.
   1.835 +
   1.836 +	* src/base/fttrigon.c (FT_TRIG_SAFE_MSB): New macro.
   1.837 +	(ft_trig_prenorm): Use it and remove dead code.
   1.838 +
   1.839 +2013-01-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.840 +
   1.841 +	[base, pshinter] Use FT_ABS, FT_MIN, and FT_MAX for readability.
   1.842 +
   1.843 +	* src/base/ftbbox.c: Updated.
   1.844 +	* src/base/ftobjs.c: Updated.
   1.845 +	* src/base/fttrigon.c: Updated.
   1.846 +	* src/pshinter/pshalgo.c: Updated.
   1.847 +	* src/pshinter/pshrec.c: Updated.
   1.848 +
   1.849 +2013-01-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.850 +
   1.851 +	[base] Clean up trigonometric core.
   1.852 +
   1.853 +	* src/base/fttrigon.c: Document the algorithm in a large comment.
   1.854 +	(FT_TRIG_COSCALE): Remove macro.
   1.855 +	(FT_Tan: Use `FT_TRIG_SCALE' instead.
   1.856 +	(FT_Cos, FT_Vector_Unit): Ditto and round the return values.
   1.857 +
   1.858 +2013-01-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.859 +
   1.860 +	[base] Use rounding in CORDIC iterations.
   1.861 +
   1.862 +	* src/base/fttrigon.c (ft_trig_pseudo_rotate,
   1.863 +	ft_trig_pseudo_polarize): Improve accuracy by rounding.
   1.864 +
   1.865 +2013-01-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.866 +
   1.867 +	[base] Reduce trigonometric algorithms.
   1.868 +
   1.869 +	After we get within 45 degrees by means of true 90-degree rotations,
   1.870 +	we can remove initial 45-degree CORDIC iteration and start from
   1.871 +	atan(1/2) pseudorotation, reducing expansion factor thereby.
   1.872 +
   1.873 +	* src/base/fttrigon.c (FT_TRIG_SCALE, FT_TRIG_COSCALE): Update macros.
   1.874 +	(ft_trig_pseudo_rotate, ft_trig_pseudo_polarize): Update.
   1.875 +
   1.876 +	* src/tools/cordic.py: Bring up to date with trigonometric core.
   1.877 +
   1.878 +	* docs/CHANGES: Old typo.
   1.879 +
   1.880 +2013-01-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.881 +
   1.882 +	* src/pshinter/pshalgo.h: Remove unused code.
   1.883 +
   1.884 +2012-12-27  Werner Lemberg  <wl@gnu.org>
   1.885 +
   1.886 +	* src/truetype/ttgload.c (tt_loader_init): Add more tracing.
   1.887 +
   1.888 +2012-12-23  Werner Lemberg  <wl@gnu.org>
   1.889 +
   1.890 +	[type1] Fix handling of /FontBBox in MM fonts.
   1.891 +	Problem reported by Del Merritt <del@alum.mit.edu>
   1.892 +
   1.893 +	If we have
   1.894 +
   1.895 +	  /FontBBox { { 11 12 13 14 15 16 17 18 }
   1.896 +	              { 21 22 23 24 25 26 27 28 }
   1.897 +	              { 31 32 33 34 35 36 37 38 }
   1.898 +	              { 41 42 43 44 45 46 47 48 } }
   1.899 +
   1.900 +	in the /Blend dictionary,  then the first BBox is { 11 21 31 41 },
   1.901 +	the second { 12 22 32 42 }, etc.
   1.902 +
   1.903 +	* include/freetype/internal/psaux.h (T1_FieldType): Add
   1.904 +	`T1_FIELD_TYPE_MM_BBOX' (for temporary use).
   1.905 +
   1.906 +	* src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_MM_BBOX>:
   1.907 +	Implement it.
   1.908 +
   1.909 +2012-12-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.910 +
   1.911 +	* src/tools/cordic.py: Bring up to date with trigonometric core.
   1.912 +
   1.913 +2012-12-21  Werner Lemberg  <wl@gnu.org>
   1.914 +
   1.915 +	Check parameters of `FT_Outline_New'.
   1.916 +	Problem reported by Robin Watts <robin.watts@artifex.com>.
   1.917 +
   1.918 +	* src/base/ftoutln.c (FT_Outline_New_Internal): Ensure that
   1.919 +	`numContours' and `numPoints' fit into FT_Outline's `n_points' and
   1.920 +	`n_contours', respectively.
   1.921 +
   1.922 +2012-12-20  Werner Lemberg  <wl@gnu.org>
   1.923 +
   1.924 +	* Version 2.4.11 released.
   1.925 +	==========================
   1.926 +
   1.927 +
   1.928 +	Tag sources with `VER-2-4-11'.
   1.929 +
   1.930 +	* docs/CHANGES, docs/release: Updated.
   1.931 +
   1.932 +	* docs/VERSION.DLL: Update documentation and bump version number to
   1.933 +	2.4.11.
   1.934 +
   1.935 +	* README, Jamfile (RefDoc),
   1.936 +	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
   1.937 +	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
   1.938 +	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
   1.939 +	builds/win32/visualc/freetype.dsp,
   1.940 +	builds/win32/visualc/freetype.vcproj,
   1.941 +	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
   1.942 +	builds/win32/visualce/freetype.vcproj,
   1.943 +	builds/win32/visualce/index.html,
   1.944 +	builds/wince/vc2005-ce/freetype.vcproj,
   1.945 +	builds/wince/vc2005-ce/index.html,
   1.946 +	builds/wince/vc2008-ce/freetype.vcproj,
   1.947 +	builds/wince/vc2008-ce/index.html: s/2.4.10/2.4.11/, s/2410/2411/.
   1.948 +
   1.949 +	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 11.
   1.950 +
   1.951 +	* builds/unix/configure.raw (version_info): Set to 16:0:10.
   1.952 +
   1.953 +	* builds/toplevel.mk (dist): Don't include `.mailmap'.
   1.954 +
   1.955 +2012-12-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.956 +
   1.957 +	[base] Improve trigonometric core.
   1.958 +
   1.959 +	FreeType used to rely on a 24-step iteration CORDIC algorithm to
   1.960 +	calculate trigonometric functions and rotate vectors. It turns out
   1.961 +	that once the vector is in the right half-plane, the initial rotation
   1.962 +	by 63 degrees is not necessary. The algorithm is perfectly capable
   1.963 +	to converge to any angle starting from the second 45 degree rotation.
   1.964 +	This patch removes the first rotation and makes it a 23-step CORDIC
   1.965 +	algorithm.
   1.966 +
   1.967 +	* src/base/fttrigon.c (FT_TRIG_SCALE, FT_TRIG_COSCALE): Update macro
   1.968 +	values.
   1.969 +	(ft_trig_pseudo_rotate, ft_trig_pseudo_polarize): Remove initial
   1.970 +	rotation.
   1.971 +
   1.972 +2012-12-19  Werner Lemberg  <wl@gnu.org>
   1.973 +
   1.974 +	* src/base/ftobjs.c (ft_property_do): Fix compiler warning.
   1.975 +
   1.976 +2012-12-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.977 +
   1.978 +	* src/base/ftrfork.c (FT_Raccess_Guess): Switch to FT_Int counters.
   1.979 +
   1.980 +2012-12-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
   1.981 +
   1.982 +	[base] Clean up trigonometric core.
   1.983 +
   1.984 +	* src/base/fttrrigon.c (ft_trig_pseudo_polarize): Align algorithm
   1.985 +	with `ft_trig_pseudo_rotate'.
   1.986 +
   1.987 +2012-12-18  Infinality  <infinality@infinality.net>
   1.988 +
   1.989 +	[truetype] Minor performance enhancement.
   1.990 +
   1.991 +	* src/truetype/ttgload.c: (TT_Process_Simple_Glyph): Use FT_MulFix
   1.992 +	instead of FT_MulDiv.
   1.993 +
   1.994 +2012-12-17  Infinality  <infinality@infinality.net>
   1.995 +
   1.996 +	[truetype] Remove unusued code and variables.
   1.997 +
   1.998 +	* src/truetype/ttinterp.c: Updated.
   1.999 +	(Ins_FDEF): Remove opcode patterns that are not being used.
  1.1000 +
  1.1001 +2012-12-16  Werner Lemberg  <wl@gnu.org>
  1.1002 +
  1.1003 +	Various compiler warning fixes.
  1.1004 +
  1.1005 +	* include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Use
  1.1006 +	`logical not' operator instead of negation.  The idea is that `~'
  1.1007 +	returns exactly the data type enforced by the cast to a pointer (be
  1.1008 +	it 32bit or 64bit or whatever), while a negative integer has not
  1.1009 +	this flexibility.
  1.1010 +	* src/cache/ftccmap.c (FTC_CMAP_UNKNOWN): Ditto.
  1.1011 +	* src/truetype/ttgxvar.c (ALL_POINTS, TT_Get_MM_Var): Ditto.
  1.1012 +	* src/type/t1load.c (T1_Get_MM_Var): Ditto.
  1.1013 +	(parse_blend_axis_types): Use cast.
  1.1014 +	* src/bdf/bdflib.c (_bdf_readstream): Use cast.
  1.1015 +
  1.1016 +2012-12-16  Infinality  <infinality@infinality.net>
  1.1017 +
  1.1018 +	[truetype] Remove unusued code and variables.  Add minor fixes.
  1.1019 +
  1.1020 +	* src/truetype/ttsubpix.h: Updated.
  1.1021 +	(SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Trebuchet MS.
  1.1022 +	(ALLOW_X_DMOVEX_Rules): Remove Arial characters.
  1.1023 +	(ALLOW_X_DMOVE_Rules): Remove Arial characters.
  1.1024 +	(RASTERIZER_35_Rules): Verdana no longer needs to be here.
  1.1025 +	(SKIP_IUP_Rules): Formatting fix.
  1.1026 +	(DELTAP_SKIP_EXAGGERATED_VALUES_Rules): Remove Segoe UI.
  1.1027 +	(COMPATIBLE_WIDTHS_Rules): Add Monaco and Trebuchet MS.
  1.1028 +	(X_SCALING_Rules): Add misc. corrective fixes.
  1.1029 +
  1.1030 +	* src/truetype/ttgload.c: (TT_Process_Simple_Glyph): Adjust correction
  1.1031 +	factor for emboldening during scaling.
  1.1032 +
  1.1033 +	* src/truetype/ttinterp.h: Updated.
  1.1034 +	(TT_ExecContextRec): Remove unused variables.
  1.1035 +
  1.1036 +	* src/truetype/ttobjs.h: Updated.
  1.1037 +	(TT_SizeRec): Add ttfautohinted variable.
  1.1038 +
  1.1039 +	* src/truetype/ttinterp.c: Updated.
  1.1040 +	(Ins_FDEF): Rework code to fix bugs and add more detection.
  1.1041 +	(Ins_CALL): Remove unused code.
  1.1042 +	(Ins_LOOPCALL): Remove unused code.
  1.1043 +	(TT_RunIns): Remove unusued code.
  1.1044 +	(Ins_SHPIX): Add logic to handle ttfautohinted fonts.
  1.1045 +	(Ins_MIRP): Don't round x in cut-in calculation.  Add logic to handle
  1.1046 +	ttfautohinted fonts.
  1.1047 +
  1.1048 +2012-12-16  Werner Lemberg  <wl@gnu.org>
  1.1049 +
  1.1050 +	[sfnt] Fix Savannah bug #37936.
  1.1051 +
  1.1052 +	* src/sfnt/ttload.c (tt_face_load_gasp): Avoid memory leak.
  1.1053 +
  1.1054 +2012-12-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1055 +
  1.1056 +	[base] Fix 11-year old bug.
  1.1057 +
  1.1058 +	Since the initial commit (ebe85f59) the value of FT_TRIG_SCALE has
  1.1059 +	always been slightly less than the correct value, which has been
  1.1060 +	given in the comment as a hexadecimal. As a result, vector lengths
  1.1061 +	were underestimated and rotated vectors were shortened.
  1.1062 +
  1.1063 +	* src/base/fttrigon.c (FT_TRIG_SCALE): Fix macro value.
  1.1064 +
  1.1065 +2012-12-15  Werner Lemberg  <wl@gnu.org>
  1.1066 +
  1.1067 +	[bdf] Fix Savannah bug #37907.
  1.1068 +
  1.1069 +	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
  1.1070 +	negative second parameter of `ENCODING' field also.
  1.1071 +
  1.1072 +2012-12-15  Werner Lemberg  <wl@gnu.org>
  1.1073 +
  1.1074 +	[bdf] Fix Savannah bug #37906.
  1.1075 +
  1.1076 +	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Use correct array
  1.1077 +	size for checking `glyph_enc'.
  1.1078 +
  1.1079 +2012-12-15  Werner Lemberg  <wl@gnu.org>
  1.1080 +
  1.1081 +	[bdf] Fix Savannah bug #37905.
  1.1082 +
  1.1083 +	* src/bdf/bdflib.c (_bdf_parse_start) <STARTPROPERTIES>: Reset
  1.1084 +	`props_size' to zero in case of allocation error; this value gets
  1.1085 +	used in a loop in `bdf_free_font'.
  1.1086 +
  1.1087 +2012-12-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1088 +
  1.1089 +	[truetype] Scale F_dot_P down.
  1.1090 +
  1.1091 +	The dot product between freeVector and projVector or cosine of
  1.1092 +	the angle between these FT_F2Dot14 unit vectors used to be scaled up
  1.1093 +	by 4 and routinely occupied 32 bits in an FT_Long field F_dot_P.
  1.1094 +	This patch scales the value down by 2^14 instead, which simplifies
  1.1095 +	its use throughout the bytecode interpreter.
  1.1096 +
  1.1097 +	This does not lead to the loss of precision because the lower bits
  1.1098 +	are unreliable anyway. Consider two unit vectors (1,0) and (.6,.8)
  1.1099 +	for which the true value of F_dot_P is .6 * 0x40000000 = 0x26666666.
  1.1100 +	These vectors are stored as (0x4000,0) and (0x2666,0x3333) after
  1.1101 +	rounding and F_dot_P is assigned 0x26660000. The lower bits were
  1.1102 +	already lost while rounding the unit vector components.
  1.1103 +
  1.1104 +	Besides code simplification, this change can lead to better
  1.1105 +	performance when FT_MulDiv with the scaled-down F_dot_P is less
  1.1106 +	likely to use the costly 64-bit path. We are not changing the type
  1.1107 +	of F_dot_P to FT_F2Dot14 at this point.
  1.1108 +
  1.1109 +	* src/truetype/ttinterp.c (Compute_Funcs): Scale F_dot_P down by 14
  1.1110 +	bits and modify its use accordingly.
  1.1111 +	(Direct_Move, Direct_Move_Orig, Compute_Point_Displacement): Modify
  1.1112 +	the use of F_dot_P field.
  1.1113 +	* src/truetype/ttobjs.c (tt_size_run_fpgm): Change arbitrary
  1.1114 +	assignment of F_dot_P to its theoretical maximum in case we decide
  1.1115 +	to scale back its type later.
  1.1116 +
  1.1117 +2012-12-09  Johnson Y. Yan  <yinsen_yan@foxitsoftware.com>
  1.1118 +
  1.1119 +	[type1] Another fix for 2012-09-17 commit.
  1.1120 +
  1.1121 +	* src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Correctly set
  1.1122 +	`limit' value.
  1.1123 +
  1.1124 +2012-12-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1125 +
  1.1126 +	[truetype] Tweak the previous commit.
  1.1127 +
  1.1128 +	* src/truetype/ttinterp.c (Current_Ratio): Put unit vector
  1.1129 +	components as the second TT_MulFix14 arguments. This is required
  1.1130 +	on 16-bit systems.
  1.1131 +
  1.1132 +2012-12-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1133 +
  1.1134 +	[truetype] Microoptimizations in bytecode interpreter.
  1.1135 +
  1.1136 +	* src/truetype/ttinterp.c (TT_DivFix14): New macro.
  1.1137 +	(Normalize): Use it here.
  1.1138 +	(Current_Ratio): Use TT_MulFix14 instead of FT_MulDiv.
  1.1139 +	(Ins_SHPIX): Cancel out two TT_MulFix14 calls.
  1.1140 +
  1.1141 +2012-12-05  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1142 +
  1.1143 +	[truetype] Cosmetic improvement in bytecode interpreter.
  1.1144 +
  1.1145 +	* src/truetype/ttinterp.c: Use explicit calls to FT_MulDiv,
  1.1146 +	FT_MulFix, and FT_DivFix instead of macros.
  1.1147 +
  1.1148 +2012-12-03  John Tytgat  <John.Tytgat@esko.com>
  1.1149 +
  1.1150 +	[pshinter] Clamp BlueScale value.
  1.1151 +
  1.1152 +	This is Savannah bug #37856.
  1.1153 +
  1.1154 +	* src/pshinter/pshglob.c (psh_calc_max_height): New function.
  1.1155 +	(psh_globals_new): Use it to limit BlueScale value to
  1.1156 +	`1 / max_of_blue_zone_heights'.
  1.1157 +
  1.1158 +2012-12-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1159 +
  1.1160 +	[truetype, type1] Revise the use of FT_MulDiv.
  1.1161 +
  1.1162 +	* src/truetype/ttgxvar.c: Updated.
  1.1163 +	* src/truetype/ttobjs.c: Updated.
  1.1164 +	* src/type1/t1load.c: Updated.
  1.1165 +
  1.1166 +2012-11-30  Werner Lemberg  <wl@gnu.org>
  1.1167 +
  1.1168 +	[configure] Preserve customized `ftoption.h'.
  1.1169 +
  1.1170 +	Problem reported by Del Merritt <del@alum.mit.edu>.
  1.1171 +
  1.1172 +	* builds/unix/configure.raw <cpp computation of bit length>: Don't
  1.1173 +	remove existing FreeType configuration files.
  1.1174 +
  1.1175 +2012-11-29  John Tytgat  <John.Tytgat@esko.com>
  1.1176 +
  1.1177 +	[type1] Fix Savannah bug #37831.
  1.1178 +
  1.1179 +	The bug report also contains a patch.
  1.1180 +
  1.1181 +	* src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Really fix
  1.1182 +	change from 2012-09-17.
  1.1183 +
  1.1184 +2012-11-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1185 +
  1.1186 +	[truetype] Fix formatting and typo.
  1.1187 +
  1.1188 +2012-11-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1189 +
  1.1190 +	[cid, type1, type42] Clean up units_per_EM calculations.
  1.1191 +
  1.1192 +	* src/cid/cidload.c (cid_parse_font_matrix): Updated.
  1.1193 +	* src/type1/t1load.c (t1_parse_font_matrix): Updated.
  1.1194 +	* src/type42/t42parse.c (t42_parse_font_matrix): Updated.
  1.1195 +
  1.1196 +2012-11-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1197 +
  1.1198 +	[ftstroke] Minor improvement.
  1.1199 +
  1.1200 +	* src/base/ftstroke.c: Replace nested FT_DivFix and FT_MulFix with
  1.1201 +	FT_MulDiv.
  1.1202 +
  1.1203 +2012-11-17  Werner Lemberg  <wl@gnu.org>
  1.1204 +
  1.1205 +	* src/base/fttrigon.c (ft_trig_downscale): Make 64bit version work.
  1.1206 +
  1.1207 +2012-11-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1208 +
  1.1209 +	[base] Fix integer overflows in dd5718c7d67a.
  1.1210 +
  1.1211 +	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Use FT_MulDiv.
  1.1212 +
  1.1213 +2012-11-15  Werner Lemberg  <wl@gnu.org>
  1.1214 +
  1.1215 +	[autofit] Trace stem widths.
  1.1216 +
  1.1217 +	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Add some
  1.1218 +	FT_TRACE calls.
  1.1219 +
  1.1220 +2012-11-13  Werner Lemberg  <wl@gnu.org>
  1.1221 +
  1.1222 +	[cff] Add support for OpenType Collections (OTC).
  1.1223 +
  1.1224 +	* src/cff/cffload.c (cff_font_load): Separate subfont and face
  1.1225 +	index handling to load both pure CFFs with multiple subfonts and
  1.1226 +	OTCs (with multiple faces where each face holds exactly one
  1.1227 +	subfont).
  1.1228 +	* src/cff/cffobjs.c (cff_face_init): Updated.
  1.1229 +
  1.1230 +2012-11-12  Werner Lemberg  <wl@gnu.org>
  1.1231 +
  1.1232 +	[autofit] Minor improvement.
  1.1233 +
  1.1234 +	* src/autofit/aflatin.c (af_latin_hints_compute_blue_edges): Fix
  1.1235 +	loop.
  1.1236 +
  1.1237 +2012-11-10  Werner Lemberg  <wl@gnu.org>
  1.1238 +
  1.1239 +	[autofit] Improve tracing.
  1.1240 +
  1.1241 +	* src/autofit/aflatin.c (af_latin_hint_edges)
  1.1242 +	[FT_DEBUG_LEVEL_TRACE]: Count number of actions and emit something
  1.1243 +	if there weren't any.
  1.1244 +
  1.1245 +2012-11-04  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1246 +
  1.1247 +	[base] Fortify emboldening code against egregious distortions.
  1.1248 +
  1.1249 +	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Threshold emboldening
  1.1250 +	strength when it leads to segment collapse.
  1.1251 +
  1.1252 +2012-11-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1253 +
  1.1254 +	[base] Clean up emboldening code and improve comments there.
  1.1255 +
  1.1256 +	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Replace sequential
  1.1257 +	calls to FT_MulFix and FT_DivFix with FT_MulDiv.
  1.1258 +	Mention that bisectors are used to figure out the shift direction.
  1.1259 +
  1.1260 +2012-10-24  Werner Lemberg  <wl@gnu.org>
  1.1261 +
  1.1262 +	[autofit] Add standard character to `AF_ScriptClassRec' structure.
  1.1263 +
  1.1264 +	* src/autofit/aftypes.h (AF_ScriptClassRec): Add `standard_char'
  1.1265 +	member.
  1.1266 +	(AF_DEFINE_SCRIPT_CLASS): Updated.
  1.1267 +
  1.1268 +	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Use it.
  1.1269 +	(af_latin_metrics_init, af_latin_script_class): Updated.
  1.1270 +
  1.1271 +	* src/autofit/aflatin.c (af_latin2_metrics_init_widths): Use it.
  1.1272 +	(af_latin2_metrics_init, af_latin2_script_class): Updated.
  1.1273 +
  1.1274 +	* src/autofit/afcjk.c (af_cjk_metrics_init_widths): Use it.
  1.1275 +	(af_cjk_metrics_init, af_cjk_script_class): Updated.
  1.1276 +
  1.1277 +	* src/autofit/afindic.c	(af_indic_metrics_init,
  1.1278 +	af_indic_script_class): Updated.
  1.1279 +
  1.1280 +	* src/autofit/afcjk.h, src/autofit/aflatin.h: Updated.
  1.1281 +
  1.1282 +	* src/autofit/afdummy.c: Updated.
  1.1283 +
  1.1284 +2012-10-24  Werner Lemberg  <wl@gnu.org>
  1.1285 +
  1.1286 +	[autofit] Only use Unicode CMap.
  1.1287 +
  1.1288 +	* src/autofit/aflatin.c (af_latin_metrics_init): Implement it, to be
  1.1289 +	in sync with `af_face_globals_compute_script_coverage'.
  1.1290 +
  1.1291 +2012-10-21  Werner Lemberg  <wl@gnu.org>
  1.1292 +
  1.1293 +	[psaux] Improve parsing of invalid numbers.
  1.1294 +
  1.1295 +	* src/psaux/psconv.c (PS_Conv_Strtol): Always parse complete number,
  1.1296 +	even in case of overflow.
  1.1297 +	(PS_Conv_ToInt): Only increase cursor if parsing was successful.
  1.1298 +	(PS_Conv_ToFixed): Ditto.
  1.1299 +	Trace underflow and data error.
  1.1300 +
  1.1301 +2012-10-21  Werner Lemberg  <wl@gnu.org>
  1.1302 +
  1.1303 +	[smooth] Improve tracing.
  1.1304 +
  1.1305 +	* src/smooth/ftgrays.c (gray_sweep): Trace last sweep line of
  1.1306 +	current band also.
  1.1307 +
  1.1308 +2012-10-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1309 +
  1.1310 +	[truetype] Cheaper way to threshold angles between vectors.
  1.1311 +
  1.1312 +	* src/truetype/ttinterp.c (Ins_ISECT): Thresholding tangent is a lot
  1.1313 +	cheaper than thresholding sine.
  1.1314 +
  1.1315 +2012-10-20  Werner Lemberg  <wl@gnu.org>
  1.1316 +
  1.1317 +	[cff] Improve parsing of invalid real numbers.
  1.1318 +
  1.1319 +	* src/cff/cffparse.c (cff_parse_real): Always parse complete number,
  1.1320 +	even in case of overflow or underflow.
  1.1321 +	Also trace one more underflow.
  1.1322 +
  1.1323 +2012-10-20  Andreas Pehnack  <andreas.pehnack@me.com>
  1.1324 +
  1.1325 +	[sfnt] Load pure CFF fonts wrapped in SFNT container.
  1.1326 +
  1.1327 +	Such fonts only have a `cmap' and a `CFF' table.
  1.1328 +
  1.1329 +	* src/sfnt/ttload.c (tt_face_load_font_dir): Don't call
  1.1330 +	`check_table_dir' if font signature is `OTTO'.
  1.1331 +
  1.1332 +2012-10-20  Werner Lemberg  <wl@gnu.org>
  1.1333 +
  1.1334 +	[psaux] Fix some value overflows and improve tracing.
  1.1335 +
  1.1336 +	* src/psaux/psconv.c: Include FT_INTERNAL_DEBUG_H.
  1.1337 +	(FT_COMPONENT): Define.
  1.1338 +	(PS_Conv_Strtol): Return FT_Long.
  1.1339 +	Handle bad data and overflow.
  1.1340 +	Emit some tracing messages in case of error.
  1.1341 +	(PS_Conv_ToInt): Return FT_Long.
  1.1342 +	(PS_Conv_ToFixed): Updated.
  1.1343 +	* src/psaux/psconv.h: Updated.
  1.1344 +
  1.1345 +	* include/freetype/internal/fttrace.h: Add `psconv'.
  1.1346 +
  1.1347 +2012-10-20  Werner Lemberg  <wl@gnu.org>
  1.1348 +
  1.1349 +	[autofit] Fix `make multi CC=c++'.
  1.1350 +
  1.1351 +	* src/autofit/aflatin.c, src/autofit/aflatin2.c: Include
  1.1352 +	`afglobal.h'.
  1.1353 +	* src/autofit/afloader.c: Fix order of header files.
  1.1354 +	* src/autofit/afmodule.c: Include `afglobal.h' and `aferrors.h'.
  1.1355 +
  1.1356 +2012-10-19  Werner Lemberg  <wl@gnu.org>
  1.1357 +
  1.1358 +	[cff] Fix more value errors and improve tracing.
  1.1359 +
  1.1360 +	* src/cff/cffparse.c (cff_parse_integer): Emit tracing message in
  1.1361 +	case of error.
  1.1362 +	(cff_parse_real): Handle and trace overflow, underflow, and bad data
  1.1363 +	consistently.
  1.1364 +	(do_fixed): New helper function, handling and tracing overflow.
  1.1365 +	(cff_parse_fixed, cff_parse_fixed_scaled): Use `do_fixed'.
  1.1366 +
  1.1367 +2012-10-17  Werner Lemberg  <wl@gnu.org>
  1.1368 +
  1.1369 +	[psaux] Fix some value overflows.
  1.1370 +
  1.1371 +	* src/psaux/psconv.c (PS_Conv_ToFixed): Implement it.
  1.1372 +
  1.1373 +2012-10-17  Bram Tassyns  <BramT@enfocus.com>
  1.1374 +
  1.1375 +	[cff] Fix value overflow.
  1.1376 +
  1.1377 +	* src/cff/cffparse.c (cff_parse_fixed_scaled): Implement it.
  1.1378 +
  1.1379 +2012-10-17  Werner Lemberg  <wl@gnu.org>
  1.1380 +
  1.1381 +	[truetype] Fix Savannah bug #37572.
  1.1382 +
  1.1383 +	* src/truetype/ttinterp.c (Ins_ISECT): Use angle between vectors to
  1.1384 +	avoid grazing intersections.  The previous threshold was too coarse,
  1.1385 +	incorrectly rejecting short but valid vectors.
  1.1386 +
  1.1387 +2012-09-30  Gilles Espinasse  <g.esp@free.fr>
  1.1388 +
  1.1389 +	Remove useless `rm' detection.
  1.1390 +
  1.1391 +	`rm -f' is directly used in the `configure' script created by
  1.1392 +	autoconf, thus no availability test is necessary.
  1.1393 +
  1.1394 +	* builds/unix/configure.raw (RMF): Remove test.
  1.1395 +	* builds/unix/unix-def.in (DELETE): Updated.
  1.1396 +
  1.1397 +2012-09-29  Werner Lemberg  <wl@gnu.org>
  1.1398 +
  1.1399 +	[autofit] Minor optimization.
  1.1400 +
  1.1401 +	* src/autofit/afglobals.c (af_face_globals_compute_script_coverage):
  1.1402 +	Add loop condition.
  1.1403 +
  1.1404 +2012-09-29  Werner Lemberg  <wl@gnu.org>
  1.1405 +
  1.1406 +	[autofit] Fix thinko.
  1.1407 +
  1.1408 +	* src/autofit/aftypes.h (AF_SCRIPT):
  1.1409 +	s/AF_SCRIPT_NONE/AF_SCRIPT_DUMMY/.  We already use `AF_SCRIPT_NONE'
  1.1410 +	as a bit mask.
  1.1411 +
  1.1412 +	* src/autofit/afdummy.c: Updated.
  1.1413 +
  1.1414 +2012-09-18  Werner Lemberg  <wl@gnu.org>
  1.1415 +
  1.1416 +	[autofit] Implement `increase-x-height' property.
  1.1417 +
  1.1418 +	* include/freetype/ftautoh.h (FT_Prop_IncreaseXHeight): New
  1.1419 +	structure.
  1.1420 +
  1.1421 +	* include/autofit/afmodule.c (af_property_get_face_globals): New
  1.1422 +	function, re-using code from `af_property_get'.
  1.1423 +	(af_property_set, af_property_get): Handle `increase-x-height'.
  1.1424 +	Updated.
  1.1425 +
  1.1426 +2012-09-18  Werner Lemberg  <wl@gnu.org>
  1.1427 +
  1.1428 +	[autofit] Implement Infinality's `increase glyph heights'.
  1.1429 +
  1.1430 +	This is an improved version of a similar fix contained in the
  1.1431 +	so-called `Infinality patch', taken from
  1.1432 +
  1.1433 +	  http://www.infinality.net/fedora/linux/zips/freetype-infinality-2.4.10-20120616_01-x86_64.tar.bz2
  1.1434 +
  1.1435 +	which addresses various enhancements of the auto-hinter.  Without
  1.1436 +	properties to control a module's metadata it wasn't possible to
  1.1437 +	adapt the patches because everything was originally controlled by
  1.1438 +	environment variables which I consider not suitable in general.
  1.1439 +
  1.1440 +	A patch to control `increase_x_height' follows.
  1.1441 +
  1.1442 +	* src/autofit/afglobal.h (AF_PROP_INCREASE_X_HEIGHT_MIN,
  1.1443 +	AF_PROP_INCREASE_X_HEIGHT_MAX): New macros.
  1.1444 +	(AF_FaceGlobalsRec): Add `increase_x_height' member.
  1.1445 +	* src/autofit/afglobal.c (af_face_globals_new): Initialize it.
  1.1446 +
  1.1447 +	* src/autofit/aflatin.c (af_latin_metrics_scale_dim),
  1.1448 +	* src/autofit/aflatin2.c (af_latin2_metrics_scale_dim): Implement
  1.1449 +	handling of `increase_x_height'.
  1.1450 +
  1.1451 +2012-09-18  Werner Lemberg  <wl@gnu.org>
  1.1452 +
  1.1453 +	[autofit] Add hierarchical property access to some structures.
  1.1454 +
  1.1455 +	* src/autofit/afglobal.h: Include `afmodule.h'.
  1.1456 +	(AF_FaceGlobalsRec): Add `module' member.
  1.1457 +	(AF_FaceGlobals): Typedef moved to...
  1.1458 +	* src/autofit/aftypes.h: Here.
  1.1459 +	(AF_ScriptMetricsRec): Add `globals' member.
  1.1460 +
  1.1461 +	* src/autofit/afglobal.c (af_face_globals_new,
  1.1462 +	af_face_globals_compute_script_coverage,
  1.1463 +	af_face_globals_get_metrics): Updated.
  1.1464 +
  1.1465 +	* src/autofit/afloader.c (af_loader_reset), src/autofit/afmodule.c
  1.1466 +	(af_property_get): Updated.
  1.1467 +
  1.1468 +2012-09-17  Werner Lemberg  <wl@gnu.org>
  1.1469 +
  1.1470 +	[type1] Fix Savannah bug #37350.
  1.1471 +
  1.1472 +	* src/type1/t1parse.c (T1_Get_Private_Dict) <found>: Check for ASCII
  1.1473 +	storage only if we actually have at least four bytes.
  1.1474 +
  1.1475 +2012-09-15  Werner Lemberg  <wl@gnu.org>
  1.1476 +
  1.1477 +	[autofit] Implement `fallback-script' property.
  1.1478 +
  1.1479 +	* src/autofit/afglobal.c: s/default_script/fallback_script/.
  1.1480 +	* src/autofit/afglobal.h: s/AF_SCRIPT_DEFAULT/AF_SCRIPT_FALLBACK/.
  1.1481 +
  1.1482 +	* src/autofit/afmodule.c: s/default_script/fallback_script/.
  1.1483 +	(af_property_set, af_property_get): Implement `fallback-script'.
  1.1484 +	* src/autofit/afmodule.h: s/default_script/fallback_script/.
  1.1485 +
  1.1486 +	* include/freetype/ftautoh.h: Document it.
  1.1487 +
  1.1488 +2012-09-15  Werner Lemberg  <wl@gnu.org>
  1.1489 +
  1.1490 +	[autofit] Correct previous Unicode 6.1.0 change.
  1.1491 +
  1.1492 +	The auto-hinter's latin module only handles latin ligatures in the
  1.1493 +	`Alphabetical Presentation Forms' block.
  1.1494 +
  1.1495 +	* src/autofit/aflatin.c (af_latin_uniranges): Fix it.
  1.1496 +
  1.1497 +2012-09-15  Werner Lemberg  <wl@gnu.org>
  1.1498 +
  1.1499 +	* src/autofit/afmodule.c: s/FT_Err_/AF_Err_/.
  1.1500 +
  1.1501 +2012-09-15  Werner Lemberg  <wl@gnu.org>
  1.1502 +
  1.1503 +	[autofit] Make default script a global property.
  1.1504 +
  1.1505 +	* src/autofit/afmodule.h (AF_ModuleRec): Add `default_script' field.
  1.1506 +
  1.1507 +	* src/autofit/afglobal.c (af_face_globals_compute_script_coverage,
  1.1508 +	af_face_globals_new), src/autofit/afloader.c (af_loader_reset),
  1.1509 +	src/autofit/afmodule.c (af_property_get) <glyph-to-script-map>,
  1.1510 +	af_autofitter_init:
  1.1511 +	Handle default script.
  1.1512 +
  1.1513 +	* src/autofit/afglobal.h: Updated.
  1.1514 +
  1.1515 +2012-09-15  Werner Lemberg  <wl@gnu.org>
  1.1516 +
  1.1517 +	Use `FT_Module' instead of `FT_Library' argument in property funcs.
  1.1518 +
  1.1519 +	This internal change simplifies access to global module data.
  1.1520 +
  1.1521 +	* include/freetype/internal/services/svprop.h
  1.1522 +	(FT_Properties_SetFunc, FT_Properties_GetFunc): Change accordingly.
  1.1523 +
  1.1524 +	* src/base/ftobjs.c (ft_property_do), src/autofit/afmodule.c
  1.1525 +	(af_property_set, af_property_get): Updated.
  1.1526 +
  1.1527 +2012-09-14  Werner Lemberg  <wl@gnu.org>
  1.1528 +
  1.1529 +	[autofit] Update to Unicode 6.1.0.
  1.1530 +
  1.1531 +	* src/autofit/afcjk.c (af_cjk_uniranges), src/autofit/aflatin.c
  1.1532 +	(af_latin_uniranges): Add and fix ranges.
  1.1533 +
  1.1534 +2012-09-14  Werner Lemberg  <wl@gnu.org>
  1.1535 +
  1.1536 +	[autofit] Pass `AF_Module' instead of `AF_Loader'.
  1.1537 +
  1.1538 +	We want to access the (not yet existing) module's global data later
  1.1539 +	on.
  1.1540 +
  1.1541 +	* src/autofit/afloader.c: Include `afmodule.h'.
  1.1542 +	(af_loader_init, af_loader_reset, af_loader_done,
  1.1543 +	af_loader_load_glyph): Change accordingly.
  1.1544 +	* src/autofit/afmodule.c (AF_ModuleRec): Move to `afmodule.h'.
  1.1545 +	Updated.
  1.1546 +
  1.1547 +	* src/autofit/afmodule.h: Include `afloader.h'.
  1.1548 +	(AF_ModuleRec): Define here.
  1.1549 +	* src/autofit/afloader.h (AF_Module): Define here.
  1.1550 +	Updated.
  1.1551 +
  1.1552 +2012-09-14  Werner Lemberg  <wl@gnu.org>
  1.1553 +
  1.1554 +	[autofit] Fix `make multi'.
  1.1555 +
  1.1556 +	* include/freetype/internal/fttrace.h: Add `afmodule'.
  1.1557 +	* src/autofit/afmodule.c: Include FT_INTERNAL_DEBUG_H.
  1.1558 +	(FT_COMPONENT): Define.
  1.1559 +
  1.1560 +2012-09-14  Werner Lemberg  <wl@gnu.org>
  1.1561 +
  1.1562 +	* src/autofit/afmodule.c: s/FT_Autofitter/AF_Module/.
  1.1563 +
  1.1564 +2012-09-12  Werner Lemberg  <wl@gnu.org>
  1.1565 +
  1.1566 +	[autofit] Minor reorganization.
  1.1567 +
  1.1568 +	* src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT,
  1.1569 +	AF_SCRIPT_LIST_NONE, AF_DIGIT): Move to...
  1.1570 +	* src/autofit/afglobal.h (AF_SCRIPT_DEFAULT, AF_SCRIPT_LIST_NONE,
  1.1571 +	AF_DIGIT): This and update code.
  1.1572 +
  1.1573 +2012-09-01  Werner Lemberg  <wl@gnu.org>
  1.1574 +
  1.1575 +	[autofit] Implement `glyph-to-script-map' property.
  1.1576 +
  1.1577 +	* include/freetype/ftautoh.h: New public header file.
  1.1578 +	* include/freetype/config/ftheader.h (FT_AUTOHINTER_H): New macro.
  1.1579 +
  1.1580 +	* src/autofit/afglobal.c (AF_FaceGlobalsRec): Move structure to...
  1.1581 +	* src/autofit/afglobal.h: This header file.
  1.1582 +	* src/autofit/afmodule.c: Include FT_AUTOHINTER_H.
  1.1583 +	(af_property_get): Handle `glyph-to-script-map'.
  1.1584 +
  1.1585 +2012-08-31  Werner Lemberg  <wl@gnu.org>
  1.1586 +
  1.1587 +	[autofit] Implement properties service framework.
  1.1588 +
  1.1589 +	No properties are added yet.
  1.1590 +
  1.1591 +	* src/autofit/afmodule.c: Include FT_SERVICE_PROPERTIES_H.
  1.1592 +	(af_property_set, af_property_get): New dummy functions.
  1.1593 +	(af_service_properties, af_services, af_get_interface): Provide
  1.1594 +	service setup.
  1.1595 +	(autofit_moduleclass): Add service interface.
  1.1596 +
  1.1597 +	* src/autofit/afpic.c: Add necessary forward declarations.
  1.1598 +	(autofit_module_class_pic_init): Add code for service addition.
  1.1599 +	(autofit_module_pic_free): Add code for service removal.
  1.1600 +	* src/autofit/afpic.h (AF_SERVICES_GET, AF_SERVICE_PROPERTIES_GET):
  1.1601 +	New macros which provide necessary syntactical sugar for PIC
  1.1602 +	support.
  1.1603 +
  1.1604 +2012-08-30  Werner Lemberg  <wl@gnu.org>
  1.1605 +
  1.1606 +	Implement properties to control FreeType modules.
  1.1607 +
  1.1608 +	* include/freetype/fterrdef.h (FT_Err_Missing_Property): New error
  1.1609 +	code.
  1.1610 +	* include/freetype/ftmodapi.h (FT_Property_Set, FT_Property_Get):
  1.1611 +	New API.
  1.1612 +
  1.1613 +	* include/freetype/internal/services/svprop.h: New file.
  1.1614 +	* include/freetype/internal/ftserv.h (FT_SERVICE_PROPERTIES_H): New
  1.1615 +	macro.
  1.1616 +
  1.1617 +	* src/base/ftobjs.c: Include FT_SERVICE_PROPERTIES_H.
  1.1618 +	(ft_property_do, FT_Property_Set, FT_Property_Get): New functions.
  1.1619 +
  1.1620 +2012-08-29  Werner Lemberg  <wl@gnu.org>
  1.1621 +
  1.1622 +	[docmaker] Allow `-' in tags and identifiers.
  1.1623 +
  1.1624 +	* src/tools/docmaker/content.py (re_identifier),
  1.1625 +	src/tools/docmaker/sources.py (re_markup_tag1, re_markup_tag2,
  1.1626 +	re_crossref): Add `-' in patterns.
  1.1627 +
  1.1628 +2012-08-27  Werner Lemberg  <wl@gnu.org>
  1.1629 +
  1.1630 +	[FT_CONFIG_OPTION_PIC] Fix g++ 4.6.2 compiler warnings.
  1.1631 +
  1.1632 +	* include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER),
  1.1633 +	include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER,
  1.1634 +	FT_DEFINE_MODULE), include/freetype/internal/ftserv.h
  1.1635 +	(FT_DEFINE_SERVICEDESCREC1, FT_DEFINE_SERVICEDESCREC2,
  1.1636 +	FT_DEFINE_SERVICEDESCREC3, FT_DEFINE_SERVICEDESCREC4,
  1.1637 +	FT_DEFINE_SERVICEDESCREC5, FT_DEFINE_SERVICEDESCREC6),
  1.1638 +	src/autofit/afpic.c (autofit_module_class_pic_init),
  1.1639 +	src/base/basepic.c (ft_base_pic_init), src/base/ftinit.c
  1.1640 +	(ft_create_default_module_classes), src/cff/cffparse.c
  1.1641 +	(FT_Create_Class_cff_field_handlers), src/cff/cffpic.c
  1.1642 +	(cff_driver_class_pic_init), src/pshinter/pshpic.c
  1.1643 +	(pshinter_module_class_pic_init), src/psnames/pspic.c
  1.1644 +	(psnames_module_class_pic_init), src/raster/rastpic.c
  1.1645 +	(ft_raster1_renderer_class_pic_init), src/sfnt/sfntpic.c
  1.1646 +	(sfnt_module_class_pic_init), src/sfnt/ttcmap.c
  1.1647 +	(FT_Create_Class_tt_cmap_classes), src/smooth/ftspic.c
  1.1648 +	(ft_smooth_renderer_class_pic_init), src/truetype/ttpic.c
  1.1649 +	(tt_driver_class_pic_init): Initialize allocation variable.
  1.1650 +
  1.1651 +2012-08-27  Werner Lemberg  <wl@gnu.org>
  1.1652 +
  1.1653 +	[truetype] Fix compilation warning.
  1.1654 +
  1.1655 +	* src/truetype/ttgload.c (IS_HINTED): Move macro to...
  1.1656 +	* src/truetype/ttobjs.h: This header file.
  1.1657 +
  1.1658 +2012-08-27  Werner Lemberg  <wl@gnu.org>
  1.1659 +
  1.1660 +	[autofit, cff, pshinter, psnames] More renamings for orthogonality.
  1.1661 +
  1.1662 +	* src/autofit/afmodule.c, src/autofit/afpic.h:
  1.1663 +	s/AF_AUTOFITTER_/AF_/.
  1.1664 +
  1.1665 +	* src/cff/cffdrivr.c, src/cff/cffobjs.c, src/cff/cffparse.c,
  1.1666 +	src/cff/cffpic.h: s/FT_CFF_/CFF_/.
  1.1667 +
  1.1668 +	* src/pshinter/pshmod.c, src/pshinter/pshpic.h:
  1.1669 +	s/FT_PSHINTER_/PSHINTER_/.
  1.1670 +
  1.1671 +	* src/psnames/psmodule.c, src/psnames/pspic.h:
  1.1672 +	s/FT_PSCMAPS/PSCMAPS_/.
  1.1673 +
  1.1674 +2012-08-27  Werner Lemberg  <wl@gnu.org>
  1.1675 +
  1.1676 +	[sfnt, truetype] More renamings for orthogonality.
  1.1677 +
  1.1678 +	* src/sfnt/sfdriver.c, src/sfnt/sfntpic.h, src/sfnt/ttcmap.c,
  1.1679 +	src/truetype/ttdriver.c, src/truetype/ttpic.h: s/FT_SFNT_/SFNT_/,
  1.1680 +	s/FT_TT_/TT_/, s/GET_CMAP_INFO_GET/CMAP_INFO_GET/.
  1.1681 +
  1.1682 +2012-08-27  Werner Lemberg  <wl@gnu.org>
  1.1683 +
  1.1684 +	[autofit] Some macro and variable renamings for orthogonality.
  1.1685 +
  1.1686 +	* include/freetype/internal/autohint.h, src/base/ftobjs.c,
  1.1687 +	src/autofit/afmodule.c, src/autofit/afpic.c, src/autofit/afpic.h:
  1.1688 +	s/SERVICE/INTERFACE/, s/service/interface/, s/Service/Interface/.
  1.1689 +
  1.1690 +2012-08-26  Werner Lemberg  <wl@gnu.org>
  1.1691 +
  1.1692 +	Fix Savannah bug #37178.
  1.1693 +
  1.1694 +	* src/base/ftobjs.c (FT_Open_Face): Initialize `error' with
  1.1695 +	`FT_Err_Missing_Module' before loop to indicate `no valid drivers'.
  1.1696 +
  1.1697 +2012-08-17  Werner Lemberg  <wl@gnu.org>
  1.1698 +
  1.1699 +	* src/base/ftsynth.c (FT_GlyphSlot_Oblique): Fix shear angle.
  1.1700 +
  1.1701 +	The old value was far too large (more than 20°).  The new one
  1.1702 +	corresponds to 12°, quite common in typography.
  1.1703 +
  1.1704 +2012-08-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1705 +
  1.1706 +	[smooth] Fix Savannah bug #37017.
  1.1707 +
  1.1708 +	* src/smooth/ftgrays.c (gray_render_cubic): Use a different set of
  1.1709 +	checks when detecting super curvy splines to be split.
  1.1710 +
  1.1711 +2012-08-05  Werner Lemberg  <wl@gnu.org>
  1.1712 +
  1.1713 +	[autofit] Improve recognition of flat segments.
  1.1714 +
  1.1715 +	Problem reported by Brad Dunzer <BDunzer@extensis.com>.
  1.1716 +
  1.1717 +	* src/autofit/aflatin.c (af_latin_metrics_init_blues): We have
  1.1718 +	a flat segment if the horizontal distance of best on-points is
  1.1719 +	larger than a given threshold.
  1.1720 +
  1.1721 +2012-08-05  Werner Lemberg  <wl@gnu.org>
  1.1722 +
  1.1723 +	[autofit] Variable renamings.
  1.1724 +
  1.1725 +	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Replace
  1.1726 +	`glyph' with `outline'.
  1.1727 +	s/best_first/best_contour_first/.
  1.1728 +	s/best_last/best_contour_last/.
  1.1729 +
  1.1730 +2012-07-31  Werner Lemberg  <wl@gnu.org>
  1.1731 +
  1.1732 +	[type1] Fix Savannah bug #37000.
  1.1733 +
  1.1734 +	* src/type1/t1load.c (parse_encoding): Fix order of checks.
  1.1735 +
  1.1736 +2012-07-17  Werner Lemberg  <wl@gnu.org>
  1.1737 +
  1.1738 +	[psaux] Fix Savannah bug #36833.
  1.1739 +
  1.1740 +	* src/psaux/t1decode.c (t1operator_seac): `seac' is not a valid
  1.1741 +	operator if we want metrics only.
  1.1742 +
  1.1743 +2012-07-16  Werner Lemberg  <wl@gnu.org>
  1.1744 +
  1.1745 +	[type1] Fix Savannah bug #36832.
  1.1746 +
  1.1747 +	* src/type1/t1load.c (parse_charstrings): Reject negative number of
  1.1748 +	glyphs.
  1.1749 +
  1.1750 +2012-07-13  Werner Lemberg  <wl@gnu.org>
  1.1751 +
  1.1752 +	[type1] Fix Savannah bug #36829.
  1.1753 +
  1.1754 +	* src/type1/t1load.c (parse_encoding): Check cursor position after
  1.1755 +	call to T1_Skip_PS_Token.
  1.1756 +
  1.1757 +2012-07-12  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1758 +
  1.1759 +	Revert the last commit 45337b07.
  1.1760 +
  1.1761 +	* src/base/ftstroke.c (FT_Stroker_New): Revert the previous change.
  1.1762 +
  1.1763 +2012-07-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.1764 +
  1.1765 +	[ftstroke] Fix uninitialized return value.
  1.1766 +
  1.1767 +	* src/base/ftstroke.c (FT_Stroker_New): Return FT_Err_Ok instead.
  1.1768 +
  1.1769 +2012-07-11  Werner Lemberg  <wl@gnu.org>
  1.1770 +
  1.1771 +	[smooth] Avoid memory leak in case of failure.
  1.1772 +
  1.1773 +	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use flags to
  1.1774 +	indicate what to clean up after finishing the function, with and
  1.1775 +	without errors.
  1.1776 +
  1.1777 +2012-07-09  Werner Lemberg  <wl@gnu.org>
  1.1778 +
  1.1779 +	Fix compilation with MSVC 5.0.
  1.1780 +
  1.1781 +	Problem reported by Peter Breitenlohner and Akira Kakuto.
  1.1782 +
  1.1783 +	* include/freetype/config/ftstdlib.h (ft_setjmp): Updated.
  1.1784 +	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Remove cast.
  1.1785 +
  1.1786 +2012-07-09  Werner Lemberg  <wl@gnu.org>
  1.1787 +
  1.1788 +	[autofit] Improve debugging messages; do some code cleanup.
  1.1789 +
  1.1790 +	* src/autofit/aflatin.c (af_latin_align_linked_edge,
  1.1791 +	af_latin_hint_edges): Synchronize with formatting used in the
  1.1792 +	ttfautohint project.
  1.1793 +
  1.1794 +2012-07-07  Gilles Espinasse  <g.esp@free.fr>
  1.1795 +
  1.1796 +	Fix strict-aliasing warning.
  1.1797 +
  1.1798 +	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Avoid double cast.
  1.1799 +
  1.1800 +2012-07-07  Dave Thomas  <dave.thomas@metaforic.com>
  1.1801 +
  1.1802 +	[ARM] Fix FT_MulFix_arm.
  1.1803 +
  1.1804 +	* include/freetype/config/ftconfig.h (FT_MulFix_arm) [__arm__]:
  1.1805 +	Avoid ADDS instruction to clobber condition codes.
  1.1806 +
  1.1807 +2012-07-06  Werner Lemberg  <wl@gnu.org>
  1.1808 +
  1.1809 +	[autofit] Do some code cleanup.
  1.1810 +
  1.1811 +	* src/autofit/afglobal.c (af_face_globals_new): Simplify.
  1.1812 +
  1.1813 +	* src/autofit/afhints.c: Use `FT_TRACE7' instead of `printf'
  1.1814 +	everywhere.
  1.1815 +	(FT_COMPONENT): New macro.
  1.1816 +	(af_glyph_hints_done): Simplify.
  1.1817 +
  1.1818 +	* include/freetype/internal/fttrace.h: Updated.
  1.1819 +
  1.1820 +2012-07-05  Werner Lemberg  <wl@gnu.org>
  1.1821 +
  1.1822 +	[autofit] Improve output of debugging information.
  1.1823 +
  1.1824 +	* src/autofit/afhints.c (af_glyph_hints_dump_segments): Print more
  1.1825 +	data; report no data.
  1.1826 +	(af_glyph_hints_dump_edges): Report no data.
  1.1827 +
  1.1828 +2012-07-04  Werner Lemberg  <wl@gnu.org>
  1.1829 +
  1.1830 +	[autofit] Fix Savannah bug #36091.
  1.1831 +
  1.1832 +	* src/autofit/aflatin.c (af_latin_metrics_init_blues),
  1.1833 +	src/autofit/aflatin2.c (af_latin2_metrics_init_blues): Change the
  1.1834 +	constraint for testing round vs. flat segment: Accept either a
  1.1835 +	small distance or a small angle.
  1.1836 +
  1.1837 +2012-07-04  Werner Lemberg  <wl@gnu.org>
  1.1838 +
  1.1839 +	[autofit] Beautify blue zone tracing.
  1.1840 +
  1.1841 +	* src/autofit/aflatin.c (af_latin_metrics_init_blues),
  1.1842 +	src/autofit/aflatin2.c (af_latin2_metrics_init_blues): Implement it.
  1.1843 +
  1.1844 +2012-07-03  Werner Lemberg  <wl@gnu.org>
  1.1845 +
  1.1846 +	[autofit] Quantize stem widths.
  1.1847 +
  1.1848 +	* src/autofit/afangles.c (af_sort_widths): Rename to...
  1.1849 +	(af_sort_and_quantize_widths): This.
  1.1850 +	Add code to avoid stem widths which are almost identical.
  1.1851 +	* src/autofit/aftypes.h, src/autofit/aflatin.c, src/autofit/afcjk.c:
  1.1852 +	Updated.
  1.1853 +
  1.1854 +2012-07-03  Werner Lemberg  <wl@gnu.org>
  1.1855 +
  1.1856 +	[autofit] Minor speed-up.
  1.1857 +
  1.1858 +	* src/autofit/afangles (af_sort_pos, af_sort_widths): Don't swap
  1.1859 +	elements if they are equal.
  1.1860 +
  1.1861 +2012-06-30  Gilles Espinasse  <g.esp@free.fr>
  1.1862 +
  1.1863 +	Fix `checking if gcc static flag -static works' test.
  1.1864 +
  1.1865 +	On my linux build tree, I receive yes answer in in every package I
  1.1866 +	build except freetype for this test checking if gcc static flag
  1.1867 +	`-static' works
  1.1868 +
  1.1869 +	On freetype, no is received, unless bzip2 and zlib are disabled using
  1.1870 +
  1.1871 +	  ./configure --without-bzip2 --without-zlib
  1.1872 +
  1.1873 +	The reason is that bzip2 and zlib tests add `-lz' and `-lbz2' to
  1.1874 +	LDFLAGS and this broke static flag test.
  1.1875 +
  1.1876 +	* builds/unix/configure.raw: Update CFLAGS and LDFLAGS only after
  1.1877 +	LT_INIT has run.
  1.1878 +
  1.1879 +2012-06-28  Infinality  <infinality@infinality.net>
  1.1880 +
  1.1881 +	[truetype] Fix various artifacts.
  1.1882 +
  1.1883 +	Verdana was broken in the original Infinality commit.  Also
  1.1884 +	includes other minor fixes.
  1.1885 +
  1.1886 +	* src/truetype/ttsubpix.h: Updated.  Removed unused macros.
  1.1887 +	(RASTERIZER_35_Rules): Add Verdana.
  1.1888 +	(SKIP_NONPIXEL_Y_MOVES_Rules): Add Tahoma `s'.
  1.1889 +	(MIRP_CVT_ZERO_Rules): Remove Verdana.
  1.1890 +	(ALWAYS_SKIP_DELTAP_Rules): Add Russian char 0x438.
  1.1891 +	(COMPATIBLE_WIDTHS_Rules): Rearrange some rules.
  1.1892 +	(X_SCALING_Rules): Adjust Verdana `a' at 12 and 13 ppem.
  1.1893 +
  1.1894 +	* src/truetype/ttsubpix.c: Updated.
  1.1895 +	(sph_set_tweaks): Re-execute fpgm always.
  1.1896 +
  1.1897 +2012-06-28  Gilles Espinasse  <g.esp@free.fr>
  1.1898 +
  1.1899 +	Fix CFLAGS and LDFLAGS share configure test.
  1.1900 +
  1.1901 +	* builds/unix/configure.raw: Fix typo.
  1.1902 +
  1.1903 +2012-06-28  Werner Lemberg  <wl@gnu.org>
  1.1904 +
  1.1905 +	[truetype] Set the `subpixel_positioned' flag unconditionally.
  1.1906 +
  1.1907 +	This is how the code currently behaves.
  1.1908 +
  1.1909 +	* src/truetype/ttgload.c (tt_loader_init): Do it.
  1.1910 +
  1.1911 +2012-06-27  Werner Lemberg  <wl@gnu.org>
  1.1912 +
  1.1913 +	Fix conditional compilation.
  1.1914 +
  1.1915 +	* src/base/basepic.c: Use FT_CONFIG_OPTION_MAC_FONTS.
  1.1916 +
  1.1917 +2012-06-27  Werner Lemberg  <wl@gnu.org>
  1.1918 +
  1.1919 +	Fix conditional compilation.
  1.1920 +
  1.1921 +	* include/freetype/internal/ftcalc.h (FT_MulDiv_No_Round): Don't
  1.1922 +	enclose with `TT_USE_BYTECODE_INTERPRETER'; we now need the function
  1.1923 +	elsewhere also.
  1.1924 +
  1.1925 +	* src/autofit/afcjk.h: Use AF_CONFIG_OPTION_CJK.
  1.1926 +
  1.1927 +	* src/truetype/ttgload.c (tt_loader_init): Fix compiler warning.
  1.1928 +
  1.1929 +	* src/truetype/ttinterp.c (Ins_MSIRP): Fix compiler warning.
  1.1930 +
  1.1931 +	* src/truetype/ttinterp.h: Use
  1.1932 +	TT_CONFIG_OPTION_BYTECODE_INTERPRETER.
  1.1933 +
  1.1934 +2012-06-26  Infinality  <infinality@infinality.net>
  1.1935 +
  1.1936 +	[truetype] Remove unused rounding functionality.
  1.1937 +
  1.1938 +	The subpixel hinting patch contained the concept of an adjustable
  1.1939 +	number of gridlines per pixel.  This is no longer used due to x
  1.1940 +	being completely ignored instead.  This will return some of the
  1.1941 +	code to its existing state prior to the original Infinality
  1.1942 +	commit.
  1.1943 +
  1.1944 +	* include/freetype/internal/ftobjs.h (FT_PIX_FLOOR_GRID,
  1.1945 +	FT_PIX_ROUND_GRID, FT_PIX_CEIL_GRID): Removed.
  1.1946 +
  1.1947 +	* src/truetype/ttinterp.c: Updated.
  1.1948 +	(Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
  1.1949 +	Round_Up_To_Grid, Round_To_Double_Grid, Round_Super, Round_Super_45,
  1.1950 +	SetSuperRound): Remove parameter to handle the number of grid lines per
  1.1951 +	pixel.
  1.1952 +	(SET_SuperRound, ROUND_None, CUR_Func_round): Updated.
  1.1953 +	(DO_SROUND, DOS45ROUND, DO_ODD, DO_EVEN): Updated.
  1.1954 +	(DO_ROUND, DO_NROUND): Updated.
  1.1955 +	(Move_Zp2_Point, Ins_SHPIX, Ins_MSIRP, Ins_MDAP, Ins_MIAP,
  1.1956 +	Ins_MDRP, Ins_MIRP): Perform Round_None instead of calling a modified
  1.1957 +	rounding function.  Remove gridlines_per_pixel.  Create a local
  1.1958 +	variable to store control value cutin. Simplify the conditional for
  1.1959 +	ignore_x_mode.  Adjust rounding calls to pass only two values.
  1.1960 +
  1.1961 +2012-06-25  Werner Lemberg  <wl@gnu.org>
  1.1962 +
  1.1963 +	[cff] Fix Savannah bug #36705.
  1.1964 +
  1.1965 +	Handle numbers like 2.001 correctly.
  1.1966 +
  1.1967 +	* src/cff/cffparse.c (cff_parse_real): Avoid negative values for
  1.1968 +	`shift'.
  1.1969 +
  1.1970 +2012-06-18  Infinality  <infinality@infinality.net>
  1.1971 +
  1.1972 +	[truetype] Support subpixel hinting.
  1.1973 +
  1.1974 +	This is the large, famous `Infinality' patch to support ClearType
  1.1975 +	bytecode which has been available from
  1.1976 +	http://www.infinality.net/blog/ for some time, and which has been
  1.1977 +	refined over the last years.  While still experimental, it is now
  1.1978 +	mature enough to be included directly into FreeType.
  1.1979 +
  1.1980 +	Most of the code is based on the ClearType whitepaper written by
  1.1981 +	Greg Hitchcock
  1.1982 +
  1.1983 +	  http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx
  1.1984 +
  1.1985 +	which gives a detailed overview of the necessary changes to the
  1.1986 +	Microsoft rasterizer so that older fonts are supported.  However, a
  1.1987 +	lot of details are still missing, and this patches provides a
  1.1988 +	framework to easily handle rendering issues down to the glyph level
  1.1989 +	of certain fonts.
  1.1990 +
  1.1991 +	Note that ClearType support is not completely implemented!  In
  1.1992 +	particular, full support for the options `compatible_widths',
  1.1993 +	`symmetrical_smoothing, and `bgr' (via the GETINFO bytecode
  1.1994 +	instruction) is missing.
  1.1995 +
  1.1996 +	* src/truetype/ttsubpix.c: New file, providing code to handle
  1.1997 +	`tweaks', this is, rules for certain glyphs in certain fonts
  1.1998 +	(including wildcards) which need a special treatment.
  1.1999 +
  1.2000 +	* src/truetype/ttsubpix.h: New file, holding the tweaking rules.
  1.2001 +
  1.2002 +	* include/freetype/config/ftoption.h, src/devel/ftoption.h
  1.2003 +	(TT_CONFIG_OPTION_SUBPIXEL_HINTING): New macro.
  1.2004 +
  1.2005 +	* include/freetype/internal/ftobjs.h (FT_PIX_FLOOR_GRID,
  1.2006 +	FT_PIX_ROUND_GRID, FT_PIX_CEIL_GRID): New macros.
  1.2007 +
  1.2008 +	* src/truetype/truetype.c [TT_USE_BYTECODE_INTERPRETER]: Include
  1.2009 +	`ttsubpix.c'.
  1.2010 +
  1.2011 +	* src/truetype/ttgload.c: Include `ttsubpix.h'.
  1.2012 +	[All changes below are guarded by TT_CONFIG_OPTION_SUBPIXEL_HINTING.]
  1.2013 +
  1.2014 +	(tt_get_metrics): Set tweak flags.
  1.2015 +	(TT_Hint_Glyph): Call `FT_Outline_EmboldenXY' if necessary.
  1.2016 +	(TT_Process_Simple_Glyph): Compensate emboldening if necessary.
  1.2017 +	(compute_glyph_metrics): Handle `compatible widths' option.
  1.2018 +	(tt_loader_init): Handle ClearType GETINFO information bits.
  1.2019 +
  1.2020 +	* src/truetype/rules.mk (TT_DRC_SRC): Updated.
  1.2021 +
  1.2022 +	* src/truetype/ttinterp.c: Include `ttsubpix.h'.
  1.2023 +	[Where necessary, changes below are guarded by
  1.2024 +	TT_CONFIG_OPTION_SUBPIXEL_HINTING.]
  1.2025 +
  1.2026 +	(Direct_Move, Direct_Move_X): Extended.
  1.2027 +	(Round_None, Round_To_Grid, Round_To_Half_Grid, Round_Down_To_Grid,
  1.2028 +	Round_Up_To_Grid, Round_To_Double_Grid, Round_Super, Round_Super_45,
  1.2029 +	SetSuperRound): Add parameter to handle the number of grid lines per
  1.2030 +	pixel.
  1.2031 +	(SET_SuperRound, ROUND_None, CUR_Func_round): Updated.
  1.2032 +	(DO_SROUND, DOS45ROUND, DO_ODD, DO_EVEN): Updated.
  1.2033 +	(DO_ROUND, DO_NROUND): Updated.
  1.2034 +	(DO_RS): Take care of `Typeman' bytecode patterns.
  1.2035 +	(Ins_FDEF): Add some debugging code.  Commented out.
  1.2036 +	(Ins_ENDF): Restore state.
  1.2037 +	(Ins_CALL, Ins_LOOPCALL): Handle inline delta functions.
  1.2038 +	(Ins_MD): Handle `Vacuform' rounds.
  1.2039 +	(Move_Zp2_Point, Ins_SHPIX, Ins_MSIRP, Ins_MDAP, Ins_MIAP,
  1.2040 +	Ins_MDRP, Ins_MIRP): Handle tweaks.
  1.2041 +	(Ins_ALIGNRP): Add tweak guard.
  1.2042 +	(Ins_IUP, Ins_DELTAP): Handle tweaks.
  1.2043 +	(Ins_GETINFO): Handle new ClearType bits.
  1.2044 +	(TT_RunIns): Handle tweaks.
  1.2045 +
  1.2046 +	* src/truetype/ttinterp.h: Updated.
  1.2047 +	(SPH_TweakRule, SPH_ScaleRule): New structures for tweaks.
  1.2048 +	(TT_ExecContextRec): Add members for subpixel hinting support.
  1.2049 +
  1.2050 +	* src/truetype/ttobjs.h (TT_DefRecord): Add `inline_delta' member.
  1.2051 +
  1.2052 +2012-06-15  Werner Lemberg  <wl@gnu.org>
  1.2053 +
  1.2054 +	* Version 2.4.10 released.
  1.2055 +	=========================
  1.2056 +
  1.2057 +
  1.2058 +	Tag sources with `VER-2-4-10'.
  1.2059 +
  1.2060 +	* docs/VERSION.DLL: Update documentation and bump version number to
  1.2061 +	2.4.10.
  1.2062 +
  1.2063 +	* README, Jamfile (RefDoc),
  1.2064 +	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  1.2065 +	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  1.2066 +	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
  1.2067 +	builds/win32/visualc/freetype.dsp,
  1.2068 +	builds/win32/visualc/freetype.vcproj,
  1.2069 +	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  1.2070 +	builds/win32/visualce/freetype.vcproj,
  1.2071 +	builds/win32/visualce/index.html,
  1.2072 +	builds/wince/vc2005-ce/freetype.vcproj,
  1.2073 +	builds/wince/vc2005-ce/index.html,
  1.2074 +	builds/wince/vc2008-ce/freetype.vcproj,
  1.2075 +	builds/wince/vc2008-ce/index.html: s/2.4.9/2.4.10/, s/249/2410/.
  1.2076 +
  1.2077 +	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
  1.2078 +
  1.2079 +	* builds/unix/configure.raw (version_info): Set to 15:0:9.
  1.2080 +
  1.2081 +2012-06-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.2082 +
  1.2083 +	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Improve spacing.
  1.2084 +
  1.2085 +	* docs/CHANGES: Updated.
  1.2086 +
  1.2087 +2012-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2088 +
  1.2089 +	* builds/exports.mk: Add CCexe_CFLAGS and CCexe_LDFLAGS.
  1.2090 +
  1.2091 +	to pass special compiler/linker flags under cross development.
  1.2092 +	Suggested by Savannah bug #36367.
  1.2093 +
  1.2094 +	ChangeLog on 2010-07-15 saying as they were removed was wrong
  1.2095 +	for the official trunk of FreeType2.  This commit is the first
  1.2096 +	introduction of them.
  1.2097 +
  1.2098 +2012-06-14  Werner Lemberg  <wl@gnu.org>
  1.2099 +
  1.2100 +	* docs/CHANGES: Updated.
  1.2101 +
  1.2102 +2012-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2103 +
  1.2104 +	[truetype] Add new versions of NEC FA family to tricky font list.
  1.2105 +
  1.2106 +	NEC FA family dated in 1996 have different checksum.
  1.2107 +	Reported by Johnson Y. Yan <yinsen_yan@foxitsoftware.com>; see
  1.2108 +
  1.2109 +	  http://lists.gnu.org/archive/html/freetype-devel/2012-06/msg00023.html
  1.2110 +
  1.2111 +	* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): 4 sets
  1.2112 +	of fpgm & prep table checksums for FA-Gothic, FA-Minchou,
  1.2113 +	FA-RoundedGothicM, FA-RoundedGothicB are added.  The family
  1.2114 +	names in sample PDF are truncated, thus the list of the
  1.2115 +	family names in tt_check_trickyness_family() is not updated yet.
  1.2116 +
  1.2117 +2012-06-06  Werner Lemberg  <wl@gnu.org>
  1.2118 +
  1.2119 +	[ftraster] Fix rounding issue causing visual artifacts.
  1.2120 +
  1.2121 +	Problem reported by jola <hans-jochen.lau@lhsystems.com>; see
  1.2122 +
  1.2123 +	  http://lists.gnu.org/archive/html/freetype-devel/2012-05/msg00036.html
  1.2124 +
  1.2125 +	* src/raster/ftraster.c (SMulDiv_No_Round): New macro.
  1.2126 +	(Line_Up): Use it.
  1.2127 +	* src/raster/ftmisc.h (FT_MulDiv_No_Round): Copied from `ftcalc.c'.
  1.2128 +
  1.2129 +2012-05-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.2130 +
  1.2131 +	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Simplify.
  1.2132 +
  1.2133 +	We now use the cross product of the direction vectors to compute the
  1.2134 +	outline's orientation.
  1.2135 +
  1.2136 +2012-05-28  Werner Lemberg  <wl@gnu.org>
  1.2137 +
  1.2138 +	* docs/CHANGES: Updated.
  1.2139 +
  1.2140 +2012-05-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.2141 +
  1.2142 +	New function FT_Outline_EmboldenXY.
  1.2143 +
  1.2144 +	* include/freetype/ftoutln.h (FT_Outline_EmboldenXY): Define it.
  1.2145 +
  1.2146 +	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Implement it, using a
  1.2147 +	simplified embolding algorithm.
  1.2148 +	(FT_Outline_Embolden): Make it a special case of
  1.2149 +	`FT_Outline_EmboldenXY'
  1.2150 +
  1.2151 +2012-05-07  Werner Lemberg  <wl@gnu.org>
  1.2152 +
  1.2153 +	[type1] Fix Savannah bug #36386.
  1.2154 +
  1.2155 +	* src/type1/t1load.c (t1_load_keyword): Ignore keyword if context is
  1.2156 +	not valid.
  1.2157 +
  1.2158 +2012-04-07  Werner Lemberg  <wl@gnu.org>
  1.2159 +
  1.2160 +	Remove compiler warning.
  1.2161 +
  1.2162 +	* src/truetype/ttgload.c (TT_Load_Glyph)
  1.2163 +	[!TT_CONFIG_OPTION_EMBEDDED_BITMAPS]: Access `glyph->face' directly.
  1.2164 +
  1.2165 +2012-03-28  Werner Lemberg  <wl@gnu.org>
  1.2166 +
  1.2167 +	[autofit] Properly copy scaler flags to script metrics object.
  1.2168 +
  1.2169 +	Without this patch, only the dummy and cjk autohinter modules get
  1.2170 +	them (since they copy the whole scaler object).
  1.2171 +
  1.2172 +	* src/autofit/aflatin.c (af_latin_metrics_scale),
  1.2173 +	src/autofit/aflatin2.c (af_latin2_metrics_scale): Implement it.
  1.2174 +
  1.2175 +2012-03-22  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.2176 +
  1.2177 +	[bdflib] Remove redundant macro.
  1.2178 +
  1.2179 +	* src/bdf/bdflib.c (isdigok): Remove and replace with sbitset, which
  1.2180 +	is exactly the same.
  1.2181 +
  1.2182 +2012-03-20  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2183 +
  1.2184 +	[configure] Fix Savannah bug #35644.
  1.2185 +
  1.2186 +	* builds/unix/configure.raw: Check `-ansi' flag works even if gcc
  1.2187 +	is used.  Bionic libc headers for Android lose the consistency
  1.2188 +	when they are parsed with __STDC_VERSION__ older than 199901L or
  1.2189 +	__STRICT_ANSI__.
  1.2190 +
  1.2191 +2012-03-20  Werner Lemberg  <wl@gnu.org>
  1.2192 +
  1.2193 +	[bdf] Improvement to Savannah bug #35656.
  1.2194 +
  1.2195 +	* src/bdf/bdflib.c (isdigok): Add cast, as suggested in report.
  1.2196 +
  1.2197 +2012-03-17  Chris Liddell  <chris.liddell@artifex.com>
  1.2198 +
  1.2199 +	[type1] Fix Savannah bug #35847.
  1.2200 +
  1.2201 +	* src/type1/t1load.c (parse_subrs): Fix the loop exit condition;
  1.2202 +	we want to exit when we have run out of data.
  1.2203 +
  1.2204 +2012-03-16  Werner Lemberg  <wl@gnu.org>
  1.2205 +
  1.2206 +	[bdf] Really fix Savannah bug #35658.
  1.2207 +
  1.2208 +	* src/bdf/bdflib.c (_bdf_list_split): Add one more `field' initializer.
  1.2209 +
  1.2210 +2012-03-14  Yann Droneaud  <yann@droneaud.fr>
  1.2211 +
  1.2212 +	[sfnt] Make arrays static like all others.
  1.2213 +
  1.2214 +	* src/sfnt/ttload.c (tt_face_load_maxp, tt_face_load_os2),
  1.2215 +	src/sfnt/ttmtx.c (tt_face_load_hhea): Add `static' keyword to frame
  1.2216 +	fields.
  1.2217 +
  1.2218 +2012-03-14  Huw Davies  <huw@codeweavers.com>
  1.2219 +
  1.2220 +	[sfnt] A refinement of the previous commit.
  1.2221 +
  1.2222 +	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16,
  1.2223 +	tt_name_entry_ascii_from_other): Stop at null byte.
  1.2224 +
  1.2225 +2012-03-14  Huw Davies  <huw@codeweavers.com>
  1.2226 +
  1.2227 +	[sfnt] Add `name' table compatibility to MS Windows.
  1.2228 +
  1.2229 +	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16,
  1.2230 +	tt_name_entry_ascii_from_other): Don't replace `\0' with question
  1.2231 +	marks when converting strings.
  1.2232 +
  1.2233 +2012-03-14  Werner Lemberg  <wl@gnu.org>
  1.2234 +
  1.2235 +	[type1] Fix Savannah bug #35833.
  1.2236 +
  1.2237 +	Based on the patch given in the bug report.
  1.2238 +
  1.2239 +	* src/type1/t1load.c (IS_INCREMENTAL): New macro.
  1.2240 +	(read_binary_data): Add parameter `incremental'.
  1.2241 +	Update all callers using `IS_INCREMENTAL'.
  1.2242 +
  1.2243 +2012-03-11  Werner Lemberg  <wl@gnu.org>
  1.2244 +
  1.2245 +	[autofit] Return correct linear advance width values.
  1.2246 +
  1.2247 +	This was quite a subtle bug which accidentally showed up with glyph
  1.2248 +	`afii10023' of arial.ttf (version 2.76).  This glyph is a composite;
  1.2249 +	the first component, `E', has an advance width of 1366 font units,
  1.2250 +	while the advance width of the composite itself (which looks like
  1.2251 +	uppercase `E' with dieresis) is 1367 font units.  I think this is
  1.2252 +	actually a bug in the font itself, because there is no reason that
  1.2253 +	this glyph has not the same width as uppercase `E' without the
  1.2254 +	dieresis.  Anyway, it helped identify this problem.
  1.2255 +
  1.2256 +	Using the TrueType hinter, the correct value (1367) of `afii10023'
  1.2257 +	was returned, but the autohinter mysteriously returned 1366.
  1.2258 +
  1.2259 +	Digging in the code showed that the autohinter recursively calls
  1.2260 +	FT_Load_Glyph to load the glyph, adding the FT_LOAD_NO_SCALE load
  1.2261 +	flag.  However, the `linearHoriAdvance' field is still returned as a
  1.2262 +	scaled value.  To avoid scaling twice, the old code in autofit reset
  1.2263 +	`linearHoriAdvance', using the `horiAdvance' field.  This seemed to
  1.2264 +	work since FT_LOAD_NO_SCALE was in use, but it failed actually,
  1.2265 +	because `horiAdvance' is defined as the distance of the first
  1.2266 +	subglyph's phantom points, which in turn are initialized using the
  1.2267 +	advance width of the first subglyph.  And as the given example
  1.2268 +	shows, these widths can differ.
  1.2269 +
  1.2270 +	* src/autofit/afloader.c (af_loader_load_g): Temporarily set
  1.2271 +	FT_LOAD_LINEAR_DESIGN while calling FT_Load_Glyph to get unscaled
  1.2272 +	values for the linear advance widths.
  1.2273 +
  1.2274 +2012-03-10  Werner Lemberg  <wl@gnu.org>
  1.2275 +
  1.2276 +	[truetype] Fix SSW instruction.
  1.2277 +
  1.2278 +	* src/truetype/ttinterp.c (DO_SSW): SSW *does* use font units.  For
  1.2279 +	verification, it took some time to find a font which actually uses
  1.2280 +	this instruction.
  1.2281 +
  1.2282 +2012-03-09  Vinnie Falco  <vinnie.falco@gmail.com>
  1.2283 +
  1.2284 +	Prepare source code for amalgamation.
  1.2285 +
  1.2286 +	* include/freetype/freetype.h: Swap order of preprocessor blocks.
  1.2287 +
  1.2288 +2012-03-08  Werner Lemberg  <wl@gnu.org>
  1.2289 +
  1.2290 +	* Version 2.4.9 released.
  1.2291 +	=========================
  1.2292 +
  1.2293 +
  1.2294 +	Tag sources with `VER-2-4-9'.
  1.2295 +
  1.2296 +	* docs/CHANGES: Updated.
  1.2297 +
  1.2298 +	* docs/VERSION.DLL: Update documentation and bump version number to
  1.2299 +	2.4.9.
  1.2300 +
  1.2301 +	* README, Jamfile (RefDoc),
  1.2302 +	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  1.2303 +	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  1.2304 +	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
  1.2305 +	builds/win32/visualc/freetype.dsp,
  1.2306 +	builds/win32/visualc/freetype.vcproj,
  1.2307 +	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  1.2308 +	builds/win32/visualce/freetype.vcproj,
  1.2309 +	builds/win32/visualce/index.html,
  1.2310 +	builds/wince/vc2005-ce/freetype.vcproj,
  1.2311 +	builds/wince/vc2005-ce/index.html,
  1.2312 +	builds/wince/vc2008-ce/freetype.vcproj,
  1.2313 +	builds/wince/vc2008-ce/index.html: s/2.4.8/2.4.9/, s/248/249/.
  1.2314 +
  1.2315 +	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 9.
  1.2316 +
  1.2317 +	* builds/unix/configure.raw (version_info): Set to 14:1:8.
  1.2318 +
  1.2319 +2012-03-08  Werner Lemberg  <wl@gnu.org>
  1.2320 +
  1.2321 +	[bdf] Add missing overflow check.
  1.2322 +
  1.2323 +	* src/bdf/bdflib.c (_bdf_parse_glyphs) <BITMAP>: Add threshold for
  1.2324 +	`glyph->bpr'.
  1.2325 +
  1.2326 +2012-03-07  Vinnie Falco  <vinnie.falco@gmail.com>
  1.2327 +
  1.2328 +	Prepare source code for amalgamation.
  1.2329 +
  1.2330 +	* src/autofit/aferrors.h, src/bdf/bdferror.h, src/bzip2/ftbzip2.c,
  1.2331 +	src/cache/ftcerror.h, src/cff/cfferrs.h, src/cid/ciderrs.h,
  1.2332 +	src/gxvalid/gxverror.h, src/gzip/ftgzip.c, src/lzw/ftlzw.c,
  1.2333 +	src/otvalid/otverror.h, src/pcf/pcferror.h, src/pfr/pfrerror.h,
  1.2334 +	src/psaux/psauxerr.h, src/pshinter/pshnterr.h,
  1.2335 +	src/psnames/psnamerr.h, src/raster/rasterrs.h, src/sfnt/sferrors.h,
  1.2336 +	src/smooth/ftsmerrs.h, src/truetype/tterrors.h,
  1.2337 +	src/type1/t1errors.h, src/type42/t42error.h, src/winfonts/fnterrs.h:
  1.2338 +	Add #undef FT_ERR_PREFIX before #define FT_ERR_PREFIX.
  1.2339 +
  1.2340 +2012-03-03  Werner Lemberg  <wl@gnu.org>
  1.2341 +
  1.2342 +	Fix Savannah bug #35660.
  1.2343 +
  1.2344 +	For some divisions, we use casts to 32bit entities.  Always guard
  1.2345 +	against division by zero with these casts also.
  1.2346 +
  1.2347 +	* src/base/ftcalc.c (ft_div64by32): Remove redundant cast.
  1.2348 +	(FT_MulDiv, FT_MulDiv_No_Round): Add 32bit cast.
  1.2349 +	(FT_DivFix): Add 32bit cast (this omission triggered the bug).
  1.2350 +
  1.2351 +2012-03-03  Werner Lemberg  <wl@gnu.org>
  1.2352 +
  1.2353 +	[psaux] Fix handling of track kerning.
  1.2354 +
  1.2355 +	* src/psaux/afmparse.c (afm_parse_track_kern): Don't inverse sign
  1.2356 +	for `min_kern'.  It is indeed quite common that track kerning
  1.2357 +	*increases* spacing for very small sizes.
  1.2358 +
  1.2359 +2012-03-02  Werner Lemberg  <wl@gnu.org>
  1.2360 +
  1.2361 +	[truetype] Fix Savannah bug #35689.
  1.2362 +
  1.2363 +	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check first outline
  1.2364 +	point.
  1.2365 +
  1.2366 +2012-03-01  Werner Lemberg  <wl@gnu.org>
  1.2367 +
  1.2368 +	[bdf] Fix Savannah bug #35656.
  1.2369 +
  1.2370 +	* src/bdf/bdflib.c (_bdf_parse_glyphs) <_BDF_BITMAP>: Check validity
  1.2371 +	of nibble characters instead of accessing `a2i' array.
  1.2372 +
  1.2373 +2012-03-01  Werner Lemberg  <wl@gnu.org>
  1.2374 +
  1.2375 +	[winfonts] Fix Savannah bug #35659.
  1.2376 +
  1.2377 +	* src/winfonts/winfnt.c (FNT_Face_Init): Check number of glyphs.
  1.2378 +
  1.2379 +2012-03-01  Werner Lemberg  <wl@gnu.org>
  1.2380 +
  1.2381 +	[bdf] Fix Savannah bug #35658.
  1.2382 +
  1.2383 +	* src/bdf/bdflib.c (_bdf_list_split): Initialize `field' elements
  1.2384 +	properly.
  1.2385 +
  1.2386 +2012-03-01  Werner Lemberg  <wl@gnu.org>
  1.2387 +
  1.2388 +	[psaux] Fix Savannah bug #35657.
  1.2389 +
  1.2390 +	If in function `skip_spaces' the routine `skip_comment' comes to the
  1.2391 +	end of buffer, `cur' is still increased by one, so we need to check
  1.2392 +	for `p >= limit' and not `p == limit'.
  1.2393 +
  1.2394 +	* src/psaux/psconv.c (PS_Conv_Strtol, PS_Conv_ToFixed,
  1.2395 +	PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Fix boundary checking.
  1.2396 +
  1.2397 +2012-03-01  Werner Lemberg  <wl@gnu.org>
  1.2398 +
  1.2399 +	[truetype] Fix Savannah bug #35646.
  1.2400 +
  1.2401 +	* src/truetype/ttinterp.c (Ins_MIRP): Typo, present since ages.  The
  1.2402 +	code is now in sync with the other operators (e.g. MSIRP) which
  1.2403 +	modify twilight points.
  1.2404 +
  1.2405 +2012-03-01  Werner Lemberg  <wl@gnu.org>
  1.2406 +
  1.2407 +	[bdf] Fix Savannah bug #35643.
  1.2408 +
  1.2409 +	* src/bdf/bdflib.c (_bdf_list_ensure): Bring code in sync with
  1.2410 +	comment before `_bdf_list_split', this is, really allocate at least
  1.2411 +	five `field' elements.
  1.2412 +
  1.2413 +2012-03-01  Werner Lemberg  <wl@gnu.org>
  1.2414 +
  1.2415 +	[bdf] Fix Savannah bug #35641.
  1.2416 +
  1.2417 +	* src/bdf/bdflib.c (_bdf_parse_glyphs) <DWIDTH, BBX>: Abort if
  1.2418 +	_BDF_ENCODING isn't set.  We need this because access to the `glyph'
  1.2419 +	variable might be undefined otherwise.
  1.2420 +
  1.2421 +2012-03-01  Werner Lemberg  <wl@gnu.org>
  1.2422 +
  1.2423 +	[truetype] Fix Savannah bug #35640.
  1.2424 +
  1.2425 +	* src/truetype/ttinterp.c (SkipCode, TT_RunIns): Fix boundary check
  1.2426 +	for NPUSHB and NPUSHW instructions.
  1.2427 +
  1.2428 +2012-02-29  Werner Lemberg  <wl@gnu.org>
  1.2429 +
  1.2430 +	[truetype] Fix Savannah bug #35601.
  1.2431 +
  1.2432 +	* src/truetype/ttinterp.c (Ins_SHZ): Use number of points instead of
  1.2433 +	last point for loop.
  1.2434 +	Also remove redundant boundary check.
  1.2435 +
  1.2436 +2012-02-29  Werner Lemberg  <wl@gnu.org>
  1.2437 +
  1.2438 +	[truetype] Remove redundant check.
  1.2439 +
  1.2440 +	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
  1.2441 +	second check for ordered contour start points.
  1.2442 +
  1.2443 +2012-02-29  Werner Lemberg  <wl@gnu.org>
  1.2444 +
  1.2445 +	[truetype] Make SHC instruction behave similar to MS rasterizer.
  1.2446 +
  1.2447 +	* src/truetype/ttinterp.c (Ins_SHC): Handle virtual contour in
  1.2448 +	twilight zone.
  1.2449 +
  1.2450 +2012-02-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.2451 +
  1.2452 +	Avoid modulo operators against a power-of-two denominator.
  1.2453 +
  1.2454 +	* src/afcjk.c (af_hint_normal_stem), src/base/ftoutln.c
  1.2455 +	(ft_contour_has), src/cff/cffgload.c (cff_decoder_parse_charstrings)
  1.2456 +	<cff_op_vvcurveto, cff_op_hhcurveto, cff_op_hvcurveto>,
  1.2457 +	src/gxvalid/gxvcommn.c (GXV_32BIT_ALIGNMENT_VALIDATE),
  1.2458 +	src/gxvalid/gxvfeat.c (gxv_feat_setting_validate): Replace `%' with
  1.2459 +	`&' operator.
  1.2460 +
  1.2461 +2012-02-29  Werner Lemberg  <wl@gnu.org>
  1.2462 +
  1.2463 +	[autofit] Don't synchronize digit widths for light rendering mode.
  1.2464 +
  1.2465 +	We don't hint horizontally in this mode.
  1.2466 +
  1.2467 +	* src/autofit/afloader.c (af_loader_load_g) <Hint_Metrics>:
  1.2468 +	Implement it.
  1.2469 +
  1.2470 +2012-02-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.2471 +
  1.2472 +	[type42] Minor code optimization (again).
  1.2473 +
  1.2474 +	* src/type42/t42parse.c (t42_parse_sfnts): Simplify previous change.
  1.2475 +
  1.2476 +2012-02-26  Mateusz Jurczyk  <mjurczyk@google.com>
  1.2477 +	    Werner Lemberg  <wl@gnu.org>
  1.2478 +
  1.2479 +	[smooth] Fix Savannah bug #35604.
  1.2480 +
  1.2481 +	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `FT_Pos'
  1.2482 +	instead of `FT_UInt' for some variables and update comparisons
  1.2483 +	accordingly.  A detailed analysis can be found in the bug report.
  1.2484 +
  1.2485 +2012-02-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.2486 +
  1.2487 +	[type42] Minor code optimization.
  1.2488 +
  1.2489 +	* src/type42/t42parse.c (t42_parse_sfnts): Use bitmask instead of
  1.2490 +	modulo operator.
  1.2491 +
  1.2492 +2012-02-26  Werner Lemberg  <wl@gnu.org>
  1.2493 +
  1.2494 +	* docs/CHANGES: Updated.
  1.2495 +
  1.2496 +2012-02-26  Werner Lemberg  <wl@gnu.org>
  1.2497 +
  1.2498 +	[type1] Fix Savannah bug #35608.
  1.2499 +
  1.2500 +	* src/type1/t1parse.c (T1_Get_Private_Dict): Reject too short
  1.2501 +	dictionaries.
  1.2502 +
  1.2503 +2012-02-26  Werner Lemberg  <wl@gnu.org>
  1.2504 +
  1.2505 +	[bdf] Support `ENCODING -1 <n>' format.
  1.2506 +
  1.2507 +	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Implement it.
  1.2508 +
  1.2509 +2012-02-26  Werner Lemberg  <wl@gnu.org>
  1.2510 +
  1.2511 +	[bdf] Fix Savannah bug #35607.
  1.2512 +
  1.2513 +	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
  1.2514 +	negative encoding values.
  1.2515 +
  1.2516 +2012-02-26  Werner Lemberg  <wl@gnu.org>
  1.2517 +
  1.2518 +	[type1] Fix Savannah bug #35606.
  1.2519 +
  1.2520 +	* src/type1/t1load.c (parse_subrs): Add proper guards for `strncmp'.
  1.2521 +
  1.2522 +	* src/psaux/psobjs.c (ps_parser_skip_PS_token): Emit error message
  1.2523 +	only if cur < limit.
  1.2524 +
  1.2525 +2012-02-25  Werner Lemberg  <wl@gnu.org>
  1.2526 +
  1.2527 +	[pcf] Fix Savannah bug #35603.
  1.2528 +
  1.2529 +	* src/pcf/pcfread.c (pcf_get_properties): Assure final zero byte in
  1.2530 +	`strings' array.
  1.2531 +
  1.2532 +2012-02-25  Werner Lemberg  <wl@gnu.org>
  1.2533 +
  1.2534 +	[type42] Fix Savannah bug #35602.
  1.2535 +
  1.2536 +	* src/type42/t42parse.c (t42_parse_sfnts): Check `string_size' more
  1.2537 +	thoroughly.
  1.2538 +
  1.2539 +2012-02-25  Werner Lemberg  <wl@gnu.org>
  1.2540 +
  1.2541 +	[bdf] Fix Savannah bugs #35599 and #35600.
  1.2542 +
  1.2543 +	* src/bdf/bdflib.c (ACMSG16): New warning message.
  1.2544 +	(_bdf_parse_glyphs) <_BDF_BITMAP>: Check line length.
  1.2545 +
  1.2546 +2012-02-24  Werner Lemberg  <wl@gnu.org>
  1.2547 +
  1.2548 +	[bdf] Fix Savannah bugs #35597 and #35598.
  1.2549 +
  1.2550 +	* src/bdf/bdflib.c (_bdf_is_atom): Fix handling of property value.
  1.2551 +
  1.2552 +2012-02-24  Vinnie Falco  <vinnie.falco@gmail.com>
  1.2553 +
  1.2554 +	Prepare source code for amalgamation (6/6).
  1.2555 +
  1.2556 +	* src/cff/cffdrivr.c: s/Load_Glyph/cff_glyph_load/.
  1.2557 +
  1.2558 +	* src/cid/cidload.c: s/parse_font_matrix/cid_parse_font_matrix/.
  1.2559 +	s/t1_init_loader/cid_init_loader/.
  1.2560 +	s/t1_done_loader/cid_done_loader/.
  1.2561 +
  1.2562 +	* src/pxaux/t1cmap.c: s/t1_get_glyph_name/psaux_get_glyph_name/.
  1.2563 +
  1.2564 +	* src/truetype/ttdriver.c: s/Load_Glyph/tt_glyph_load/.
  1.2565 +
  1.2566 +	* src/type1/t1load.c: s/parse_font_matrix/t1_parse_font_matrix/.
  1.2567 +
  1.2568 +2012-02-24  Vinnie Falco  <vinnie.falco@gmail.com>
  1.2569 +
  1.2570 +	Prepare source code for amalgamation (5/6).
  1.2571 +
  1.2572 +	* include/freetype/fterrors.h: Undefine FT_KEEP_ERR_PREFIX after
  1.2573 +	using it.
  1.2574 +
  1.2575 +2012-02-22  Vinnie Falco  <vinnie.falco@gmail.com>
  1.2576 +
  1.2577 +	Prepare source code for amalgamation (4/6).
  1.2578 +
  1.2579 +	* src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine RAS_ARG,
  1.2580 +	RAS_ARGS, RAS_VAR, and RAS_VARS before defining it.
  1.2581 +
  1.2582 +	* src/smooth/ftgrays.c: s/TRaster/black_TRaster/,
  1.2583 +	s/PRaster/black_PRaster/.
  1.2584 +	* src/raster/ftraster.c: s/TRaster/gray_TRaster/,
  1.2585 +	s/PRaster/gray_PRaster/.
  1.2586 +
  1.2587 +2012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
  1.2588 +
  1.2589 +	Prepare source code for amalgamation (3/6).
  1.2590 +
  1.2591 +	* src/smooth/ftgrays.c: s/TWorker/black_TWorker/,
  1.2592 +	s/PWorker/black_PWorker/.
  1.2593 +	* src/raster/ftraster.c: s/TWorker/gray_TWorker/,
  1.2594 +	s/PWorker/gray_PWorker/.
  1.2595 +
  1.2596 +2012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
  1.2597 +
  1.2598 +	Prepare source code for amalgamation (2/6).
  1.2599 +
  1.2600 +	* src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine FLOOR,
  1.2601 +	CEILING, TRUNC, and SCALED before defining it.
  1.2602 +
  1.2603 +2012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
  1.2604 +
  1.2605 +	Prepare source code for amalgamation (1/6).
  1.2606 +
  1.2607 +	See discussion starting at
  1.2608 +
  1.2609 +	  http://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00037.html
  1.2610 +
  1.2611 +	* src/smooth/ftgrays.c: s/TBand/gray_TBand/.
  1.2612 +	* src/raster/ftraster.c: s/TBand/black_TBand/.
  1.2613 +
  1.2614 +2012-02-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.2615 +
  1.2616 +	[autofit] Fix outline flags.
  1.2617 +
  1.2618 +	* src/autofit/afloader.c (af_loader_load_g): Don't reassign
  1.2619 +	`outline.flags' so that this information is preserved.  See
  1.2620 +	discussion starting at
  1.2621 +
  1.2622 +	  http://lists.gnu.org/archive/html/freetype-devel/2012-02/msg00046.html
  1.2623 +
  1.2624 +2012-02-11  Werner Lemberg  <wl@gnu.org>
  1.2625 +
  1.2626 +	[truetype] Fix Savannah bug #35466.
  1.2627 +
  1.2628 +	Jump instructions are now bound to the current function.  The MS
  1.2629 +	Windows rasterizer behaves the same, as confirmed by Greg Hitchcock.
  1.2630 +
  1.2631 +	* src/truetype/ttinterp.h (TT_CallRec): Add `Cur_End' element.
  1.2632 +	* src/truetype/ttobjs.h (TT_DefRecord): Add `end' element.
  1.2633 +
  1.2634 +	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Check upper
  1.2635 +	bound of jump address.
  1.2636 +	(Ins_FDEF, Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns): Updated.
  1.2637 +
  1.2638 +2012-02-11  Werner Lemberg  <wl@gnu.org>
  1.2639 +
  1.2640 +	We don't use `extensions'.
  1.2641 +
  1.2642 +	* include/freetype/internal/ftobjs.h (FT_DriverRec): Remove
  1.2643 +	`extensions' field.
  1.2644 +
  1.2645 +2012-02-11  Werner Lemberg  <wl@gnu.org>
  1.2646 +
  1.2647 +	Clean up `generic' fields.
  1.2648 +
  1.2649 +	* include/freetype/internal/ftobjs.h (FT_ModuleRec, FT_LibraryRec):
  1.2650 +	Remove `generic' field since users can't access it.
  1.2651 +
  1.2652 +	* src/base/ftobjs.c (FT_Done_GlyphSlot): Call `generic.finalizer' as
  1.2653 +	advertised in the documentation of FT_Generic.
  1.2654 +	(Destroy_Module, FT_Done_Library): Updated to changes in `ftobjs.h'.
  1.2655 +
  1.2656 +2012-02-07  Werner Lemberg  <wl@gnu.org>
  1.2657 +
  1.2658 +	[autofit] Harmonize function arguments.
  1.2659 +
  1.2660 +	* src/autofit/afloader.c, src/autofit/afloader.h: Use `FT_Int32' for
  1.2661 +	`load_flags'.
  1.2662 +
  1.2663 +2012-02-07  Werner Lemberg  <wl@gnu.org>
  1.2664 +
  1.2665 +	* src/cff/cffobjs.c (cff_face_init): Remove unnecessary casts.
  1.2666 +
  1.2667 +2012-01-17  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2668 +
  1.2669 +	[gxvalid] Fix Savannah bug #35286.
  1.2670 +
  1.2671 +	Patch submitted by anonymous reporter.
  1.2672 +
  1.2673 +	* src/gxvalid/gxvcommn.c (gxv_XStateTable_subtable_setup):
  1.2674 +	gxv_set_length_by_ulong_offset() must be called with 3, not 4,
  1.2675 +	the number of the subtables in the state tables; classTable,
  1.2676 +	stateArray, entryTable.
  1.2677 +
  1.2678 +2012-01-17  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2679 +
  1.2680 +	[raccess] Modify for PIC build.
  1.2681 +
  1.2682 +	Based on the patch provided by Erik Dahlstrom <ed@opera.com>,
  1.2683 +	http://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00010.html
  1.2684 +
  1.2685 +	Also `raccess_guess_table[]' and `raccess_rule_by_darwin_vfs()'
  1.2686 +	are renamed with `ft_' suffixes.
  1.2687 +
  1.2688 +	* src/base/ftbase.h: `raccess_rule_by_darwin_vfs()' is renamed
  1.2689 +	to `ft_raccess_rule_by_darwin_vfs()'.
  1.2690 +	* src/base/ftobjs.c: Ditto.
  1.2691 +
  1.2692 +	* src/base/ftrfork.c: Declarations of FT_RFork_Rule,
  1.2693 +	raccess_guess_rec, are moved to...
  1.2694 +	* include/freetype/internal/ftrfork.h: Here.
  1.2695 +
  1.2696 +	* include/freetype/internal/ftrfork.h:
  1.2697 +	FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END} macros are defined
  1.2698 +	to replace raccess_guess_table[] in both of PIC and non-PIC
  1.2699 +	modes.
  1.2700 +	* src/base/ftrfork.c: raccess_guess_table[] array is rewritten
  1.2701 +	by FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END}.
  1.2702 +
  1.2703 +	* src/base/basepic.h (BasePIC): Add `ft_raccess_guess_table'
  1.2704 +	storage.  (FT_RACCESS_GUESS_TABLE_GET): New macro to retrieve
  1.2705 +	the function pointer from `ft_raccess_guess_table' storage in
  1.2706 +	`BasePIC' structure.
  1.2707 +	* src/base/ftrfork.c (FT_Raccess_Guess): Rewritten with
  1.2708 +	FT_RACCESS_GUESS_TABLE_GET.
  1.2709 +	(raccess_get_rule_type_from_rule_index): Add `library' as the
  1.2710 +	first argument to the function, to retrieve the storage of
  1.2711 +	`ft_raccess_guess_table' from it.  Also `raccess_guess_table'
  1.2712 +	is replaced by FT_RACCESS_GUESS_TABLE_GET.
  1.2713 +	(ft_raccess_rule_by_darwin_vfs): Ditto.
  1.2714 +
  1.2715 +2012-01-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2716 +
  1.2717 +	Remove trailing spaces.
  1.2718 +
  1.2719 +2012-01-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2720 +
  1.2721 +	Formatting PIC related sources.
  1.2722 +
  1.2723 +	* src/autofit/afpic.c: Harmonize to FT2 coding conventions.
  1.2724 +	* src/base/basepic.c: Ditto.
  1.2725 +	* src/base/ftpic.c: Ditto.
  1.2726 +	* src/cff/cffpic.c: Ditto.
  1.2727 +	* src/pshinter/pshpic.c: Ditto.
  1.2728 +	* src/psnames/pspic.c: Ditto.
  1.2729 +	* src/raster/rastpic.c: Ditto.
  1.2730 +	* src/sfnt/sfntpic.c: Ditto.
  1.2731 +	* src/smooth/ftspic.c: Ditto.
  1.2732 +	* src/truetype/ttpic.c: Ditto.
  1.2733 +
  1.2734 +2012-01-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2735 +
  1.2736 +	[autofit] Fix the inclusion of `aflatin2.h' in PIC file.
  1.2737 +
  1.2738 +	* src/autofit/afpic.c: Include `aflatin2.h' when
  1.2739 +	FT_OPTION_AUTOFIT2 is defined, as afglobal.c does so.
  1.2740 +	Unconditionally inclusion causes declared but unimplemented
  1.2741 +	warning by GCC 4.6.
  1.2742 +
  1.2743 +2012-01-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2744 +
  1.2745 +	[cff] Remove redundant declarations of cff_cmap_XXX_class_rec.
  1.2746 +
  1.2747 +	* src/cff/cffpic.c: The declarations of
  1.2748 +	FT_Init_Class_cff_cmap_encoding_class_rec() and
  1.2749 +	FT_Init_Class_cff_cmap_unicode_class_rec() are removed.
  1.2750 +	They can be obtained by the inclusion of cffcmap.h.
  1.2751 +	cffcmap.h invokes FT_DECLARE_CMAP_CLASS() and it declares
  1.2752 +	FT_Init_Class_cff_cmap_encoding_class_rec() etc in PIC mode.
  1.2753 +
  1.2754 +2012-01-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2755 +
  1.2756 +	Fix redundant declaration warning in PIC mode.
  1.2757 +
  1.2758 +	Originally FT_DEFINE_{DRIVER,MODULE,RENDERER}() macros were
  1.2759 +	designed to declare xxx_pic_{free,init} by themselves.
  1.2760 +	Because these macros are used at the end of the module
  1.2761 +	interface (e.g. ttdriver.c) and the wrapper source to build
  1.2762 +	a module as a single object (e.g. truetype.c) includes
  1.2763 +	the PIC file (e.g. ttpic.c) before the module interface,
  1.2764 +	these macros are expanded AFTER xxx_pic_{free,init} body
  1.2765 +	when the modules are built as single object.
  1.2766 +	The declaration after the implementation causes the redundant
  1.2767 +	declaration warnings, so the declarations are moved to module
  1.2768 +	PIC headers (e.g. ttpic.h).  Separating to other header files
  1.2769 +	are needed for multi build.
  1.2770 +
  1.2771 +	* include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER):
  1.2772 +	Remove class_##_pic_free and class_##_pic_init declarations.
  1.2773 +	* include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER,
  1.2774 +	FT_DEFINE_MODULE): Ditto.
  1.2775 +
  1.2776 +	* src/base/basepic.h: Insert a comment and fix coding style.
  1.2777 +	* src/autofit/afpic.h: Declare autofit_module_class_pic_{free,
  1.2778 +	init}.
  1.2779 +	* src/cff/cffpic.h: Declare cff_driver_class_pic_{free,init}.
  1.2780 +	* src/pshinter/pshpic.h: Declare pshinter_module_class_pic_{free,
  1.2781 +	init}.
  1.2782 +	* src/psnames/pspic.h: Declare psnames_module_class_pic_{free,
  1.2783 +	init}.
  1.2784 +	* src/raster/rastpic.h: Declare
  1.2785 +	ft_raster{1,5}_renderer_class_pic_{free,init}
  1.2786 +	* src/sfnt/sfntpic.h: Declare sfnt_module_class_pic_{free,init}.
  1.2787 +	* src/smooth/ftspic.h: Declare
  1.2788 +	ft_smooth_{,lcd_,lcdv_}renderer_class_pic_{free,init}.
  1.2789 +	* src/truetype/ttpic.h: Declare tt_driver_class_pic_{free,init}.
  1.2790 +
  1.2791 +2012-01-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2792 +
  1.2793 +	Make pspic.c to include module error header to fix multi build.
  1.2794 +
  1.2795 +	* src/psnames/pspic.c: Include `psnamerr.h'.
  1.2796 +
  1.2797 +2012-01-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2798 +
  1.2799 +	[base] Fix a dereference of uninitialized variable in PIC mode.
  1.2800 +
  1.2801 +	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): `glyph' must be
  1.2802 +	set before derefering to obtain `library'.  The initialization
  1.2803 +	of `clazz', `glyph', `library' and NULL pointer check are
  1.2804 +	reordered to minimize PIC conditonals.
  1.2805 +
  1.2806 +2012-01-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2807 +
  1.2808 +	[base] Insert explicit cast for GCC 4.6 in PIC mode.
  1.2809 +
  1.2810 +	* src/base/ftinit.c (FT_Add_Default_Modules): Under PIC
  1.2811 +	configuration, FT_DEFAULT_MODULES_GET returns
  1.2812 +	FT_Module_Class** pointer, GCC 4.6 warns that
  1.2813 +	const FT_Module_Class* const* variable is warned as
  1.2814 +	inappropriate to store it.  To calm it, explicit cast is
  1.2815 +	inserted.  Also `library' is checked to prevent the NULL
  1.2816 +	pointer dereference in FT_DEFAULT_MODULES_GET.
  1.2817 +
  1.2818 +2012-01-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2819 +
  1.2820 +	Fix PIC build broken by d9145241fe378104ba4c12a42534549faacc92e6.
  1.2821 +
  1.2822 +	Under PIC configuration, FT_{CFF,PSCMAPS,SFNT,TT}_SERVICES_GET
  1.2823 +	take no arguments but derefer the variable named `library'
  1.2824 +	internally.
  1.2825 +
  1.2826 +	* src/cff/cffdrivr.c (cff_get_interface): Declare `library' and
  1.2827 +	set it if non-NULL driver is passed.
  1.2828 +	* src/truetype/ttdriver.c (tt_get_interface): Ditto.
  1.2829 +
  1.2830 +	* src/sfnt/sfdriver.c (sfnt_get_interface): Declare `library'
  1.2831 +	under PIC configuration, and set it if non-NULL module is given.
  1.2832 +	* src/psnames/psmodule.c (psnames_get_interface): Ditto.
  1.2833 +
  1.2834 +2012-01-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2835 +
  1.2836 +	Make PIC files include module error headers, to use the error codes
  1.2837 +	with per-module prefix.
  1.2838 +
  1.2839 +	* src/autofit/afpic.c: Include `aferrors.h'.
  1.2840 +	* src/cff/cffpic.c: Include `cfferrs.h'.
  1.2841 +	* src/pshinter/pshpic.c: Include `pshnterr.h'.
  1.2842 +	* src/raster/rastpic.c: Include `rasterrs.h'.
  1.2843 +	* src/sfnt/sfntpic.c: Include `sferrors.h'.
  1.2844 +	* src/smooth/ftspic.c: Include `ftsmerrs.h'.
  1.2845 +	* src/truetype/ttpic.c: Include `tterrors.h'.
  1.2846 +
  1.2847 +2012-01-04  Tobias Ringström  <tobias@ringis.se>
  1.2848 +
  1.2849 +	[truetype] Fix IP instruction if x_ppem != y_ppem.
  1.2850 +
  1.2851 +	* src/truetype/ttinterp.c (Ins_IP): Scale `orus' coordinates
  1.2852 +	properly.
  1.2853 +
  1.2854 +2012-01-02  Werner Lemberg  <wl@gnu.org>
  1.2855 +
  1.2856 +	Fix tracing message for `loca' table.
  1.2857 +
  1.2858 +	* src/truetype/ttpload.c (tt_face_get_location): Don't emit a
  1.2859 +	warning message if the last `loca' entry references an empty glyph.
  1.2860 +
  1.2861 +2011-12-10  Werner Lemberg  <wl@gnu.org>
  1.2862 +
  1.2863 +	Add some variable initializations.
  1.2864 +	Reported by Richard COOK <rscook@unicode.org>.
  1.2865 +
  1.2866 +	* src/type1/t1driver.c (t1_ps_get_font_value): Initialize `val'.
  1.2867 +	* src/smooth/ftgrays.c (gray_render_conic): Initialize `levels'
  1.2868 +	earlier.
  1.2869 +
  1.2870 +2011-12-08  Werner Lemberg  <wl@gnu.org>
  1.2871 +
  1.2872 +	Fix serious scaling bug in `FT_Get_Advances'.
  1.2873 +
  1.2874 +	* src/base/ftadvanc.c (FT_Get_Advances): Advance values returned by
  1.2875 +	`FT_Load_Glyph' must be simply multiplied by 1024.
  1.2876 +
  1.2877 +2011-12-08  Werner Lemberg  <wl@gnu.org>
  1.2878 +
  1.2879 +	* src/bdf/bdflib.c (_bdf_parse_start): Drop redundant error tracing.
  1.2880 +
  1.2881 +2011-12-02  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2882 +
  1.2883 +	[mac] Unify DARWIN_NO_CARBON with FT_MACINTOSH.
  1.2884 +
  1.2885 +	Originally FT_MACINTOSH was a pure auto macro and DARWIN_NO_CARBON
  1.2886 +	was a configurable macro to disable Carbon-dependent code.  Because
  1.2887 +	now configure script sets DARWIN_NO_CARBON by default and disables
  1.2888 +	Darwin & Carbon-dependent codes, these macros can be unified.
  1.2889 +	FT_MACINTOSH (undefined by default) is kept and DARWIN_NO_CARBON
  1.2890 +	(defined by default) is removed, because DARWIN_NO_CARBON violates
  1.2891 +	FT_XXX naming convention of public macros, and a macro configured by
  1.2892 +	default is not portable for the building without configure (e.g.
  1.2893 +	make devel).
  1.2894 +
  1.2895 +	* builds/unix/configure.raw: Define FT_MACINTOSH if Carbon-based
  1.2896 +	old Mac font support is requested and Carbon is available.
  1.2897 +	* builds/unix/ftconfig.in: Undefine FT_MACINTOSH when the support
  1.2898 +	for Mac OS X without Carbon (e.g.  Mac OS X 10.4 for ppc64) is
  1.2899 +	requested.
  1.2900 +	* include/freetype/config/ftconfig.in: Ditto.
  1.2901 +	* builds/vms/ftconfig.h: Ditto.
  1.2902 +
  1.2903 +	* src/base/ftbase.h: Remove DARWIN_NO_CARBON.
  1.2904 +	* src/base/ftbase.c: Ditto.
  1.2905 +	* src/base/ftobjs.c: Ditto.
  1.2906 +	* src/base/ftrfork.c: Ditto.
  1.2907 +
  1.2908 +	* src/base/ftmac.c: Compile the body if FT_MACINTOSH is defined
  1.2909 +	(same with TT_USE_BYTECODE_INTERPRETER in ttinterp.c).
  1.2910 +	* builds/mac/ftmac.c: Ditto.
  1.2911 +
  1.2912 +	* builds/mac/FreeType.m68k_cfm.make.txt: Define FT_MACINTOSH.
  1.2913 +	* builds/mac/FreeType.m68k_far.make.txt: Ditto.
  1.2914 +	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
  1.2915 +	* builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
  1.2916 +
  1.2917 +2011-11-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2918 +
  1.2919 +	Fix Savannah bug #34728 (`make devel' on Mac OS X).
  1.2920 +
  1.2921 +	* builds/toplevel.mk: Check `/dev/null' to identify the Unix-
  1.2922 +	like systems without `init' nor `hurd' (e.g. Mac OS X >= 10.4).
  1.2923 +	* builds/unix/detect.mk: Ditto.
  1.2924 +
  1.2925 +2011-11-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.2926 +
  1.2927 +	[apinames] Fix the overflow of signed integer hash.
  1.2928 +
  1.2929 +	* src/tools/apinames.c (names_add): Change the type of `h' from
  1.2930 +	int to unsigned int, to prevent undefined behaviour in the
  1.2931 +	overflow of signed integers (overflow of unsigned int is defined
  1.2932 +	to be wrap around).  Found by clang test suggested by Sean
  1.2933 +	McBride.
  1.2934 +
  1.2935 +2011-11-30  Werner Lemberg  <wl@gnu.org>
  1.2936 +
  1.2937 +	[winfonts] Remove casts.
  1.2938 +
  1.2939 +	* src/winfonts/winfnt.c (winfnt_driver_class): Remove all casts and
  1.2940 +	update affected functions.
  1.2941 +	(FNT_Size_Select): Fix number of arguments.
  1.2942 +
  1.2943 +2011-11-30  Werner Lemberg  <wl@gnu.org>
  1.2944 +
  1.2945 +	[type42] Remove casts.
  1.2946 +
  1.2947 +	* src/type42/t42driver.c (t42_driver_class): Remove all casts and
  1.2948 +	update affected functions.
  1.2949 +
  1.2950 +	* src/type42/t42objs.c, src/type42/t42objs.h: Updated for t42driver
  1.2951 +	changes.
  1.2952 +
  1.2953 +2011-11-30  Werner Lemberg  <wl@gnu.org>
  1.2954 +
  1.2955 +	[type1] Remove casts.
  1.2956 +
  1.2957 +	* src/type1/t1driver.c (t1_driver_class): Remove all casts and
  1.2958 +	update affected functions.
  1.2959 +
  1.2960 +	* src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1objs.c:
  1.2961 +	Updated for t1driver changes.
  1.2962 +	src/type1/t1objs.h (T1_Driver): Remove unused typedef.
  1.2963 +	Updated for t1driver changes.
  1.2964 +
  1.2965 +2011-11-27  Werner Lemberg  <wl@gnu.org>
  1.2966 +
  1.2967 +	[bdf] Fix Savannah bug #34896.
  1.2968 +
  1.2969 +	ENCODING now covers the whole Unicode range.
  1.2970 +
  1.2971 +	Note, however, that this change is quite expensive since it
  1.2972 +	increases the size of three arrays by almost 400kByte in total.  The
  1.2973 +	right fix is to replace the logic with something smarter.
  1.2974 +	Additionally, there exist very old BDFs for three-byte CCCII
  1.2975 +	encoding which exceeds the range of Unicode (another reason to have
  1.2976 +	a smarter logic).
  1.2977 +
  1.2978 +	* src/bdf/bdf.h (bdf_font_t): Increase size of `nmod' and `umod'
  1.2979 +	arrays.
  1.2980 +	* src/bdf/bdflib.c (bdf_parse_t): Increase size of `have' array.
  1.2981 +
  1.2982 +2011-11-27  Werner Lemberg  <wl@gnu.org>
  1.2983 +
  1.2984 +	[bdf] Improve tracing.
  1.2985 +
  1.2986 +	* src/bdf/bdflib.c (DBGMSG1, DBGMSG2): New macros.
  1.2987 +	(_bdf_parse_glyphs): Use them.
  1.2988 +
  1.2989 +2011-11-26  Werner Lemberg  <wl@gnu.org>
  1.2990 +
  1.2991 +	Improve tracing.
  1.2992 +
  1.2993 +	* src/bdf/bdfdrivr.c (BDF_Face_Done), src/pcf/pcfdrivr.c
  1.2994 +	(PCF_Face_Done): Remove tracing message.
  1.2995 +
  1.2996 +	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/cff/cffobjs.c
  1.2997 +	(cff_face_init), src/cid/cidobjs.c (cid_face_init),
  1.2998 +	src/pfr/pfrobjs.c (pfr_face_init), src/sfnt/sfobjs.c
  1.2999 +	(sfnt_init_face), src/truetype/ttobjs.c (tt_face_init),
  1.3000 +	src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c
  1.3001 +	(T42_Face_Init), src/winfonts/winfnt.c (FNT_Face_Init): Add
  1.3002 +	`greeting' message.
  1.3003 +
  1.3004 +	* src/sfnt/sfobjs.c (sfnt_open_font), src/type42/t42objs.c
  1.3005 +	(T42_Open_Face): Improve tracing.
  1.3006 +
  1.3007 +2011-11-26  Werner Lemberg  <wl@gnu.org>
  1.3008 +
  1.3009 +	[cid] Fix error code.
  1.3010 +
  1.3011 +	* src/cid/cidparse.c (cid_parser_new): Do it.
  1.3012 +
  1.3013 +2011-11-26  Werner Lemberg  <wl@gnu.org>
  1.3014 +
  1.3015 +	[cff] Fix error code.
  1.3016 +
  1.3017 +	* src/cff/cffload.c (cff_font_load): Do it.
  1.3018 +
  1.3019 +2011-11-26  Werner Lemberg  <wl@gnu.org>
  1.3020 +
  1.3021 +	Add new error code FT_Err_Missing_Module.
  1.3022 +
  1.3023 +	Previously, FreeType misleadingly returned
  1.3024 +	FT_Err_Unknown_File_Format if a module was missing (or a test was
  1.3025 +	missing completely).
  1.3026 +
  1.3027 +	* include/freetype/fterrdef.h (FT_Err_Missing_Module): Define.
  1.3028 +
  1.3029 +	* src/cff/cffobjs.c (cff_face_init), src/cff/cffdrivr.c
  1.3030 +	(cff_get_glyph_name), src/cid/cidobjs.c (cid_face_init),
  1.3031 +	src/sfnt/sfobjs.c (sfnt_init_face), src/truetype/ttobjs.c
  1.3032 +	(tt_face_init), src/type1/t1objs.c (T1_Face_Init),
  1.3033 +	src/type42/t42objs.c (T42_Face_Init, T42_Driver_Init): Updated.
  1.3034 +
  1.3035 +	* src/type1/t1afm.c (T1_Read_Metrics), src/type/t1objs.c
  1.3036 +	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Remove now
  1.3037 +	redundant test for `psaux'.
  1.3038 +
  1.3039 +2011-11-25  Werner Lemberg  <wl@gnu.org>
  1.3040 +
  1.3041 +	[bdf] Add more error messages.
  1.3042 +
  1.3043 +	* src/bdf/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
  1.3044 +	Add line number argument.
  1.3045 +	Update all callers.
  1.3046 +	(ERRMSG5, ERRMSG6, ERRMSG7, ERRMSG8, ERRMSG9): New macros.
  1.3047 +	(_bdf_readstream, _bdf_set_default_spacing, _bdf_add_property,
  1.3048 +	_bdf_parse_glyphs, _bdf_parse_start): Add error messages.
  1.3049 +
  1.3050 +2011-11-24  Werner Lemberg  <wl@gnu.org>
  1.3051 +
  1.3052 +	* include/freetype/fterrors.h: Remove dead code.
  1.3053 +
  1.3054 +2011-11-15  Werner Lemberg  <wl@gnu.org>
  1.3055 +
  1.3056 +	* docs/releases: Updated.
  1.3057 +
  1.3058 +2011-11-15  Werner Lemberg  <wl@gnu.org>
  1.3059 +
  1.3060 +	* Version 2.4.8 released.
  1.3061 +	=========================
  1.3062 +
  1.3063 +
  1.3064 +	Tag sources with `VER-2-4-8'.
  1.3065 +
  1.3066 +	* docs/CHANGES: Updated.
  1.3067 +
  1.3068 +	* docs/VERSION.DLL: Update documentation and bump version number to
  1.3069 +	2.4.8.
  1.3070 +
  1.3071 +	* README, Jamfile (RefDoc),
  1.3072 +	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  1.3073 +	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  1.3074 +	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
  1.3075 +	builds/win32/visualc/freetype.dsp,
  1.3076 +	builds/win32/visualc/freetype.vcproj,
  1.3077 +	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  1.3078 +	builds/win32/visualce/freetype.vcproj,
  1.3079 +	builds/win32/visualce/index.html,
  1.3080 +	builds/wince/vc2005-ce/freetype.vcproj,
  1.3081 +	builds/wince/vc2005-ce/index.html,
  1.3082 +	builds/wince/vc2008-ce/freetype.vcproj,
  1.3083 +	builds/wince/vc2008-ce/index.html: s/2.4.7/2.4.8/, s/247/248/.
  1.3084 +
  1.3085 +	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
  1.3086 +
  1.3087 +	* builds/unix/configure.raw (version_info): Set to 14:0:8.
  1.3088 +
  1.3089 +2011-11-13  Chris Liddell  <chris.liddell@artifex.com>
  1.3090 +
  1.3091 +	Add FT_Get_PS_Font_Value() API.
  1.3092 +
  1.3093 +	This allows a Type 1 font face to be interrogated to retrieve most
  1.3094 +	of the dictionary keys (keys not relevant to FreeType's Type 1
  1.3095 +	interpreter are not available).
  1.3096 +
  1.3097 +	* include/freetype/internal/services/svpsinfo.h
  1.3098 +	(PS_GetFontValueFunc): New typedef.
  1.3099 +	(PSInfo): Add `ps_get_font_value'.
  1.3100 +	(FT_DEFINE_SERVICE_PSINFOREC): Updated.
  1.3101 +
  1.3102 +	* include/freetype/internal/t1types.h (T1_EncodingType): Moved to...
  1.3103 +	* include/freetype/t1tables.h: Here.
  1.3104 +	(PS_Dict_Keys): New enumeration.
  1.3105 +	(FT_Get_PS_Font_Value): New declaration.
  1.3106 +
  1.3107 +	* src/base/fttype1.c (FT_Get_PS_Font_Value): New function.
  1.3108 +
  1.3109 +	* src/type1/t1driver.c (t1_ps_get_font_value): This new function
  1.3110 +	does the real job.
  1.3111 +	(t1_service_ps_info): Add it.
  1.3112 +
  1.3113 +	* src/cff/cffdrivr.c (cff_service_ps_info), src/cid/cidriver.c
  1.3114 +	(cid_service_ps_info), src/type42/t42drivr.c (t42_service_ps_info):
  1.3115 +	Updated.
  1.3116 +
  1.3117 +2011-11-08  Braden Thomas  <bthomas@apple.com>
  1.3118 +
  1.3119 +	[cid] Various loading fixes.
  1.3120 +
  1.3121 +	* src/cid/cidload.c (cid_load_keyword) <default>,
  1.3122 +	(parse_font_matrix, parse_expansion_factor): Correctly check number
  1.3123 +	of dictionaries.
  1.3124 +	(cid_read_subrs): Protect against invalid values of `num_subrs'.
  1.3125 +	Assure that the elements of the `offsets' array are ascending.
  1.3126 +
  1.3127 +2011-11-05  Werner Lemberg  <wl@gnu.org>
  1.3128 +
  1.3129 +	* README: We use copyright ranges also.
  1.3130 +
  1.3131 +	According to
  1.3132 +
  1.3133 +	  http://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html
  1.3134 +
  1.3135 +	this should be mentioned explicitly.
  1.3136 +
  1.3137 +2011-10-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3138 +
  1.3139 +	[raccess] Supplement for previous fix.
  1.3140 +
  1.3141 +	* src/base/ftbase.h (raccess_rule_by_darwin_vfs): Do not declare
  1.3142 +	it on native Mac OS X.
  1.3143 +	* src/base/ftrfork.c (raccess_get_rule_type_from_rule_index):
  1.3144 +	Hide raccess_get_rule_type_from_rule_index() on native Mac OS X
  1.3145 +	too.
  1.3146 +
  1.3147 +2011-10-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3148 +
  1.3149 +	[raccess] Hide raccess_rule_by_darwin_vfs() on native Mac OS X.
  1.3150 +
  1.3151 +	* src/base/ftrfork.c (raccess_rule_by_darwin_vfs): Do not
  1.3152 +	compile on native Mac OS X because it is not used.
  1.3153 +
  1.3154 +2011-10-25  Werner Lemberg  <wl@gnu.org>
  1.3155 +
  1.3156 +	[truetype] Fix MD instruction for twilight zone.
  1.3157 +
  1.3158 +	* src/truetype/ttinterp.c (Ins_MD): Without this fix, the MD
  1.3159 +	instruction applied to original coordinates of twilight points
  1.3160 +	always returns zero.
  1.3161 +
  1.3162 +2011-10-18  Werner Lemberg  <wl@gnu.org>
  1.3163 +
  1.3164 +	* Version 2.4.7 released.
  1.3165 +	=========================
  1.3166 +
  1.3167 +
  1.3168 +	Tag sources with `VER-2-4-7'.
  1.3169 +
  1.3170 +	* docs/CHANGES: Updated.
  1.3171 +
  1.3172 +	* docs/VERSION.DLL: Update documentation and bump version number to
  1.3173 +	2.4.7.
  1.3174 +
  1.3175 +	* README, Jamfile (RefDoc),
  1.3176 +	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  1.3177 +	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  1.3178 +	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
  1.3179 +	builds/win32/visualc/freetype.dsp,
  1.3180 +	builds/win32/visualc/freetype.vcproj,
  1.3181 +	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  1.3182 +	builds/win32/visualce/freetype.vcproj,
  1.3183 +	builds/win32/visualce/index.html,
  1.3184 +	builds/wince/vc2005-ce/freetype.vcproj,
  1.3185 +	builds/wince/vc2005-ce/index.html,
  1.3186 +	builds/wince/vc2008-ce/freetype.vcproj,
  1.3187 +	builds/wince/vc2008-ce/index.html: s/2.4.6/2.4.7/, s/246/247/.
  1.3188 +
  1.3189 +	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
  1.3190 +
  1.3191 +	* builds/unix/configure.raw (version_info): Set to 13:2:7.
  1.3192 +
  1.3193 +2011-10-15  Kal Conley  <kcconley@gmail.com>
  1.3194 +
  1.3195 +	Fix handling of transformations if no renderer is present.
  1.3196 +
  1.3197 +	* src/base/ftobjs.c (FT_Load_Glyph): Thinko.
  1.3198 +
  1.3199 +2011-10-15  Kal Conley  <kcconley@gmail.com>
  1.3200 +
  1.3201 +	Fix conditions for autohinting.
  1.3202 +
  1.3203 +	* src/base/ftobjs.c (FT_Load_Glyph): Handle
  1.3204 +	FT_LOAD_IGNORE_TRANSFORM.
  1.3205 +
  1.3206 +2011-10-07  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3207 +
  1.3208 +	[gxvalid] Fix a bug to detect too large offset in morx table.
  1.3209 +
  1.3210 +	* src/gxvalid/gxvmorx2.c
  1.3211 +	(gxv_morx_subtable_type2_ligActionIndex_validate): Fix a bug
  1.3212 +	that too large positive offset cannot be detected.
  1.3213 +
  1.3214 +2011-10-01  Braden Thomas  <bthomas@apple.com>
  1.3215 +
  1.3216 +	Handle some border cases.
  1.3217 +
  1.3218 +	* include/freetype/config/ftstdlib.h (FT_USHORT_MAX): New macro.
  1.3219 +
  1.3220 +	* src/base/ftbitmap.c (FT_Bitmap_Convert): Protect against invalid
  1.3221 +	value of `target->rows'.
  1.3222 +
  1.3223 +	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add check for
  1.3224 +	flex start.
  1.3225 +
  1.3226 +	* src/raster/ftrend1.c (ft_raster1_render): Check `width' and
  1.3227 +	`height'.
  1.3228 +
  1.3229 +	* src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Protect against
  1.3230 +	invalid values in `localpoints' array.
  1.3231 +
  1.3232 +2011-10-01  Werner Lemberg  <wl@gnu.org>
  1.3233 +
  1.3234 +	[psnames] Handle zapfdingbats.
  1.3235 +	Problem reported by Nicolas Rougier <Nicolas.Rougier@inria.fr>.
  1.3236 +
  1.3237 +	* src/tools/glnames.py (adobe_glyph_list): Add data from AGL's
  1.3238 +	`zapfdingbats.txt' file.
  1.3239 +
  1.3240 +	* src/psnames/pstables.h: Regenerated.
  1.3241 +
  1.3242 +2011-09-27  Simon Bünzli  <zeniko@gmail.com>
  1.3243 +
  1.3244 +	[type1] Fix Savannah bug #34189.
  1.3245 +
  1.3246 +	* src/type1/t1load.c (T1_Open_Face): Initialize
  1.3247 +	`face->len_buildchar'.
  1.3248 +
  1.3249 +2011-09-26  Werner Lemberg  <wl@gnu.org>
  1.3250 +
  1.3251 +	[cff] Dump SIDs while tracing.
  1.3252 +
  1.3253 +	* src/cff/cffobjs.c (cff_face_init): Do it.
  1.3254 +
  1.3255 +	* src/cff/cffparse.c (cff_parser_run) [FT_DEBUG_LEVEL_TRACE]
  1.3256 +	<cff_kind_string>: Identify as SID.
  1.3257 +
  1.3258 +2011-09-17  Werner Lemberg  <wl@gnu.org>
  1.3259 +
  1.3260 +	Remove unused FT_ALIGNMENT macro.
  1.3261 +
  1.3262 +	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
  1.3263 +	include/freetype/config/ftconfig.h: Do it.
  1.3264 +
  1.3265 +2011-09-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.3266 +
  1.3267 +	[smooth] Slightly optimize conic and cubic flatterners.
  1.3268 +
  1.3269 +	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
  1.3270 +	out some code from the main loop to speed it up.
  1.3271 +
  1.3272 +2011-09-11  Tomas Hoger  <thoger@redhat.com>
  1.3273 +
  1.3274 +	Slightly improve LZW_CLEAR handling.
  1.3275 +
  1.3276 +	* src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_CODE>:
  1.3277 +	Ensure that subsequent (modulo garbage byte(s)) LZW_CLEAR codes are
  1.3278 +	handled as clear codes.  This also re-sets old_code and old_char to
  1.3279 +	predictable values, which is a little better than using `random'
  1.3280 +	ones if the code following LZW_CLEAR is invalid.
  1.3281 +
  1.3282 +2011-09-11  Tomas Hoger  <thoger@redhat.com>
  1.3283 +
  1.3284 +	Add explicit LZW decompression stack size limit.
  1.3285 +
  1.3286 +	Stack larger than 1<<LZW_MAX_BITS is never needed if prefix table is
  1.3287 +	constructed correctly.  It's even less than that, see e.g.
  1.3288 +	libarchive code comment for a better size upper bound:
  1.3289 +
  1.3290 +	  http://code.google.com/p/libarchive/source/browse/trunk/libarchive/archive_read_support_filter_compress.c?r=3635#121
  1.3291 +
  1.3292 +	This patch adds explicit stack size limit, enforced when stack is
  1.3293 +	realloced.
  1.3294 +
  1.3295 +	An alternative is to ensure that code < state->prefix[code - 256]
  1.3296 +	when traversing prefix table.  Such check is less efficient and
  1.3297 +	should not be required if prefix table is constructed correctly in
  1.3298 +	the first place.
  1.3299 +
  1.3300 +	* src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Implement it.
  1.3301 +
  1.3302 +2011-09-11  Tomas Hoger  <thoger@redhat.com>
  1.3303 +
  1.3304 +	Protect against loops in the prefix table.
  1.3305 +
  1.3306 +	LZW decompressor did not sufficiently check codes read from the
  1.3307 +	input LZW stream.  A specially-crafted or corrupted input could
  1.3308 +	create a loop in the prefix table, which leads to memory usage
  1.3309 +	spikes, as there's no decompression stack size limit.
  1.3310 +
  1.3311 +	* src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_START>: First
  1.3312 +	code in valid LZW stream must be 0..255.
  1.3313 +	<FT_LZW_PHASE_CODE>: In the special KwKwK case, code == free_ent,
  1.3314 +	code > free_ent is invalid.
  1.3315 +
  1.3316 +2011-09-09  Werner Lemberg  <wl@gnu.org>
  1.3317 +
  1.3318 +	Better tracing of metrics.
  1.3319 +
  1.3320 +	* src/base/ftobjs.c (FT_Request_Size, FT_Select_Size): Decorate with
  1.3321 +	FT_TRACE.
  1.3322 +
  1.3323 +2011-09-07  Werner Lemberg  <wl@gnu.org>
  1.3324 +
  1.3325 +	[cff] Fix Savannah bug #33816.
  1.3326 +
  1.3327 +	* src/cff/cfftypes.h (CFF_FontRecDictRec): New member
  1.3328 +	`has_font_matrix'.
  1.3329 +	* src/cff/cffparse.c (cff_parse_font_matrix): Set it.
  1.3330 +	Update tracing output.
  1.3331 +	* src/cff/cffobjs.c (cff_face_init): Use it so that the heuristics
  1.3332 +	can be removed.
  1.3333 +
  1.3334 +2011-08-30  Werner Lemberg  <wl@gnu.org>
  1.3335 +
  1.3336 +	Better tracing of metrics.
  1.3337 +
  1.3338 +	* src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics):
  1.3339 +	Decorate with FT_TRACE.
  1.3340 +
  1.3341 +2011-08-25  Werner Lemberg  <wl@gnu.org>
  1.3342 +
  1.3343 +	[cff] Better tracing of the parsing process.
  1.3344 +
  1.3345 +	* src/cff/cffload.c (cff_subfont_load, cff_font_load): Decorate with
  1.3346 +	FT_TRACE.
  1.3347 +
  1.3348 +	* src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
  1.3349 +	cff_parse_private_dict, cff_parse_cid_ros): Updated.
  1.3350 +	(CFF_FIELD_NUM, CFF_FIELD_FIXED, CFF_FIELD_FIXED_1000,
  1.3351 +	CFF_FIELD_STRING, CFF_FIELD_BOOL, CFF_FIELD_CALLBACK, CFF_FIELD,
  1.3352 +	CFF_FIELD_DELTA): Add argument for ID.
  1.3353 +	(cff_parser_run): Decorate with FT_TRACE.
  1.3354 +
  1.3355 +	* src/cff/cffparse.h (CFF_Field_Handler) [FT_DEBUG_LEVEL_TRACE]: Add
  1.3356 +	`id' member.
  1.3357 +
  1.3358 +	* src/cff/cfftoken.h: Add IDs to all fields.
  1.3359 +
  1.3360 +2011-08-16  Werner Lemberg  <wl@gnu.org>
  1.3361 +
  1.3362 +	Fix Savannah bug #34022.
  1.3363 +
  1.3364 +	* README, docs/INSTALL: Remove references to UPGRADE.UNIX.
  1.3365 +
  1.3366 +2011-08-15  Werner Lemberg  <wl@gnu.org>
  1.3367 +
  1.3368 +	Fix Savannah bug #34018.
  1.3369 +
  1.3370 +	* docs/UPGRADE.UNIX: Removed.  Obsolete.
  1.3371 +
  1.3372 +2011-08-15  David Bevan  <david.bevan@pb.com>
  1.3373 +
  1.3374 +	Fix Savannah bug #33992.
  1.3375 +
  1.3376 +	* src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix border case.
  1.3377 +
  1.3378 +2011-08-12  Werner Lemberg  <wl@gnu.org
  1.3379 +
  1.3380 +	[truetype] Fix degenerate case in S{P,F,DP}VTL opcodes.
  1.3381 +
  1.3382 +	* src/truetype/ttinterp.c (Ins_SxVTL): Handle p1 == p2 specially.
  1.3383 +	(Ins_SDPVTL): Handle v1 == v2 specially.
  1.3384 +
  1.3385 +2011-08-09  Werner Lemberg  <wl@gnu.org>
  1.3386 +
  1.3387 +	[cff] Fix Savannah bug #33975.
  1.3388 +
  1.3389 +	* src/cff/cffparse.c (cff_parse_font_matrix): Fix typo.
  1.3390 +
  1.3391 +2011-07-29  Werner Lemberg  <wl@gnu.org>
  1.3392 +
  1.3393 +	* Version 2.4.6 released.
  1.3394 +	=========================
  1.3395 +
  1.3396 +
  1.3397 +	Tag sources with `VER-2-4-6'.
  1.3398 +
  1.3399 +	* docs/CHANGES: Updated.
  1.3400 +
  1.3401 +	* docs/VERSION.DLL: Update documentation and bump version number to
  1.3402 +	2.4.6.
  1.3403 +
  1.3404 +	* README, Jamfile (RefDoc),
  1.3405 +	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  1.3406 +	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  1.3407 +	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
  1.3408 +	builds/win32/visualc/freetype.dsp,
  1.3409 +	builds/win32/visualc/freetype.vcproj,
  1.3410 +	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  1.3411 +	builds/win32/visualce/freetype.vcproj,
  1.3412 +	builds/win32/visualce/index.html,
  1.3413 +	builds/wince/vc2005-ce/freetype.vcproj,
  1.3414 +	builds/wince/vc2005-ce/index.html,
  1.3415 +	builds/wince/vc2008-ce/freetype.vcproj,
  1.3416 +	builds/wince/vc2008-ce/index.html: s/2.4.5/2.4.6/, s/245/246/.
  1.3417 +
  1.3418 +	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
  1.3419 +
  1.3420 +	* builds/unix/configure.raw (version_info): Set to 13:1:7.
  1.3421 +
  1.3422 +2011-07-29  Werner Lemberg  <wl@gnu.org>
  1.3423 +
  1.3424 +	[cff] Add some more tracing infos.
  1.3425 +
  1.3426 +	* src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
  1.3427 +	cff_parse_cid_ros): Add tracing.
  1.3428 +
  1.3429 +2011-07-22  Dirk Müller  <dmueller@suse.de>
  1.3430 +
  1.3431 +	[psaux, type1] Fix null pointer dereferences.
  1.3432 +
  1.3433 +	Found with font fuzzying.
  1.3434 +
  1.3435 +	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Check
  1.3436 +	`decoder->buildchar'.
  1.3437 +
  1.3438 +	* src/type1/t1load.c (t1_load_keyword): Check `blend->num_designs'.
  1.3439 +
  1.3440 +2011-07-20  Chris Morgan  <cmorgan@cybexintl.com>
  1.3441 +
  1.3442 +	Add FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT.
  1.3443 +
  1.3444 +	Useful for embedded systems which don't need file stream support.
  1.3445 +
  1.3446 +	* src/base/ftsystem.c, src/base/ftobjs.c (FT_Stream_New): Implement
  1.3447 +	it.
  1.3448 +
  1.3449 +2011-07-20  Elton Chung  <elton328@gmail.com>
  1.3450 +
  1.3451 +	* src/base/ftpatent.c (FT_Face_SetUnpatentedHinting): Fix typo.
  1.3452 +
  1.3453 +2011-07-16  Steven Chu  <steven.f.chu@gmail.com>
  1.3454 +
  1.3455 +	[truetype] Fix metrics on size request for scalable fonts.
  1.3456 +
  1.3457 +	* src/truetype/ttdriver.c (tt_size_request): Fix copying metrics
  1.3458 +	from TT_Size to FT_Size if scalable font.
  1.3459 +
  1.3460 +	See
  1.3461 +
  1.3462 +	  http://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00049.html
  1.3463 +
  1.3464 +	for some comparison images.
  1.3465 +
  1.3466 +2011-07-14  Matthias Drochner  <M.Drochner@fz-juelich.de>.
  1.3467 +
  1.3468 +	[psaux] Fix potential sign extension problems.
  1.3469 +
  1.3470 +	When shifting right a signed value, it is not defined by the
  1.3471 +	C standard whether one gets a sign extension or not.  Use a macro to
  1.3472 +	do an explicit cast from a signed short (assuming that this is
  1.3473 +	16bit) to an int.
  1.3474 +
  1.3475 +	* src/psaux/t1decode.c (Fix2Int): New macro.
  1.3476 +	Use it where appropriate.
  1.3477 +
  1.3478 +2011-07-14  Werner Lemberg  <wl@gnu.org>
  1.3479 +
  1.3480 +	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
  1.3481 +	<op_callothersubr>: Better handling of subroutine index 0.
  1.3482 +	From Matthias Drochner <M.Drochner@fz-juelich.de>.
  1.3483 +
  1.3484 +2011-07-10  Алексей Подтележников  <apodtele@gmail.com>
  1.3485 +
  1.3486 +	[psaux] Optimize previous commit.
  1.3487 +
  1.3488 +	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
  1.3489 +	<op_callothersubr>: Move error check down to avoid testing twice for
  1.3490 +	good cases.
  1.3491 +
  1.3492 +2011-07-08  Werner Lemberg  <wl@gnu.org>
  1.3493 +
  1.3494 +	[psaux] Add better argument check for `callothersubr'.
  1.3495 +
  1.3496 +	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
  1.3497 +	<op_callothersubr>: Reject negative arguments.
  1.3498 +
  1.3499 +2011-07-07  Werner Lemberg  <wl@gnu.org>
  1.3500 +
  1.3501 +	[sfnt] Try harder to find non-zero values for ascender and descender.
  1.3502 +
  1.3503 +	* src/sfnt/sfobjs.c (sfnt_load_face): Consult `OS/2' table in case
  1.3504 +	the `hhea' table's values are zero.
  1.3505 +
  1.3506 +2011-07-03  Werner Lemberg  <wl@gnu.org>
  1.3507 +
  1.3508 +	Fix previous commit.
  1.3509 +
  1.3510 +	We want to unset FT_FACE_FLAG_SCALABLE only if there are bitmap
  1.3511 +	strikes in the font.
  1.3512 +
  1.3513 +	* src/truetype/ttobjs.c (tt_face_init): Implement it.
  1.3514 +
  1.3515 +	* docs/CHANGES: Updated.
  1.3516 +
  1.3517 +2011-07-02  Just Fill Bugs  <mozbugbox@yahoo.com.au>
  1.3518 +
  1.3519 +	[truetype] Fix Savannah bug #33246.
  1.3520 +
  1.3521 +	* src/truetype/ttobjs.c (tt_check_single_notdef): New function.
  1.3522 +	(tt_face_init): Use it to test FT_FACE_FLAG_SCALABLE.
  1.3523 +
  1.3524 +2011-07-02  Werner Lemberg  <wl@gnu.org>
  1.3525 +
  1.3526 +	* docs/CHANGES: Updated.
  1.3527 +
  1.3528 +2011-07-02  David Bevan  <david.bevan@pb.com>
  1.3529 +
  1.3530 +	[ftstroke] Major revision.
  1.3531 +
  1.3532 +	The main problems
  1.3533 +	-----------------
  1.3534 +
  1.3535 +	  o If FT_STROKER_LINEJOIN_BEVEL was specified, unlimited miter
  1.3536 +	    joins (not bevel joins) were generated.  Indeed, the meanings of
  1.3537 +	    `miter' and `bevel' were incorrectly reversed (consistently) in
  1.3538 +	    both the code and comments.
  1.3539 +
  1.3540 +	  o The way bevel joins were constructed (whether specified
  1.3541 +	    explicitly, or created as a result of exceeding the miter limit)
  1.3542 +	    did not match what is required for stroked text in PostScript or
  1.3543 +	    PDF.
  1.3544 +
  1.3545 +	The main fixes
  1.3546 +	--------------
  1.3547 +
  1.3548 +	  o The behaviour of FT_STROKER_LINEJOIN_BEVEL has been corrected.
  1.3549 +
  1.3550 +	  o A new line join style, FT_STROKER_LINEJOIN_MITER_FIXED, has been
  1.3551 +	    introduced to support PostScript and PDF miter joins.
  1.3552 +
  1.3553 +	  o FT_STROKER_LINEJOIN_MITER_VARIABLE has been introduced as an
  1.3554 +	    alias for FT_STROKER_LINEJOIN_MITER.
  1.3555 +
  1.3556 +	Additionally, a variety of stroking errors have been fixed.  These
  1.3557 +	would cause various artifacts (including points `at infinity'),
  1.3558 +	especially when stroking poor quality fonts.
  1.3559 +
  1.3560 +	See
  1.3561 +
  1.3562 +	  http://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00001.html
  1.3563 +
  1.3564 +	for example documents.  The FreeType stroker now produces results
  1.3565 +	very similar to that produced by GhostScript and Distiller for these
  1.3566 +	fonts.
  1.3567 +
  1.3568 +	Other problems
  1.3569 +	--------------
  1.3570 +
  1.3571 +	The following problems have been resolved:
  1.3572 +
  1.3573 +	  o Inside corners could be generated incorrectly.  Intersecting the
  1.3574 +	    inside corner could cause a missing triangular area and other
  1.3575 +	    effects.
  1.3576 +
  1.3577 +	    The intersection point can only be used if the join is between
  1.3578 +	    two lines and both lines are long enough.  The `optimization'
  1.3579 +	    condition in `ft_stroker_inside' has been corrected; this
  1.3580 +	    requires the line length to be passed into various functions and
  1.3581 +	    stored in `FT_StrokerRec'.
  1.3582 +
  1.3583 +	  o Incorrect cubic curves could be generated.  The angle
  1.3584 +	    calculations in `FT_Stroker_CubicTo' have been corrected to
  1.3585 +	    handle the case of the curve crossing the +/-PI direction.
  1.3586 +
  1.3587 +	  o If the border radius was greater than the radius of curvature of
  1.3588 +	    a curve, then the negative sector would end up outside (not
  1.3589 +	    inside) the border.  This situation is now recognized and the
  1.3590 +	    negative sector is circumnavigated in the opposite direction.
  1.3591 +	    (If round line joins are being used, this code is disabled
  1.3592 +	    because the line join will always cover the negative sector.)
  1.3593 +
  1.3594 +	  o When a curve is split, the arcs may not join smoothly (especially
  1.3595 +	    if the curve turns sharply back on itself).  Changes in
  1.3596 +	    direction between adjacent arcs were not handled.  A round
  1.3597 +	    corner is now added if the deviation from one arc to the next is
  1.3598 +	    greater than a suitable threshold.
  1.3599 +
  1.3600 +	  o The current direction wasn't retained if a the outline contained
  1.3601 +	    a zero length lineto or a curve that was determined to be
  1.3602 +	    `basically a point'.  This could cause a spurious join to be
  1.3603 +	    added.
  1.3604 +
  1.3605 +	  o Cubics with close control points could be mishandled.  All eight
  1.3606 +	    cases are now distinguished correctly.
  1.3607 +
  1.3608 +	Other improvements
  1.3609 +	------------------
  1.3610 +
  1.3611 +	o Borders for cubic curves could be too `flat'.
  1.3612 +	  FT_SMALL_CUBIC_THRESHOLD has been reduced a little to prevent
  1.3613 +	  this.
  1.3614 +
  1.3615 +	o The handling and use of movable points has been simplified a
  1.3616 +	  little.
  1.3617 +
  1.3618 +	o Various values are now computed only if the results are actually
  1.3619 +	  needed.
  1.3620 +
  1.3621 +	o The directions of the outer and inner borders have been swapped,
  1.3622 +	  as recommended by Graham Asher.
  1.3623 +
  1.3624 +	* src/base/ftstroke.c: Revised.
  1.3625 +	* include/freetype/ftstroke.h: Updated.
  1.3626 +
  1.3627 +2011-06-30  İsmail Dönmez <ismail@namtrac.org>
  1.3628 +
  1.3629 +	* builds/toplevel.mk: We use git, not CVS, thus skip `.gitignore'.
  1.3630 +
  1.3631 +2011-06-29  Werner Lemberg  <wl@gnu.org>
  1.3632 +
  1.3633 +	[bdf] Fix Savannah bug #33663.
  1.3634 +
  1.3635 +	* src/bdf/bdflib.c (_bdf_parse_glyphs): Handle negative values for
  1.3636 +	ENCODING correctly.
  1.3637 +
  1.3638 +	* docs/CHANGES: Document it.
  1.3639 +
  1.3640 +2011-06-24  Werner Lemberg  <wl@gnu.org>
  1.3641 +
  1.3642 +	* Version 2.4.5 released.
  1.3643 +	=========================
  1.3644 +
  1.3645 +
  1.3646 +	Tag sources with `VER-2-4-5'.
  1.3647 +
  1.3648 +	* docs/CHANGES: Updated.
  1.3649 +
  1.3650 +	* docs/VERSION.DLL: Update documentation and bump version number to
  1.3651 +	2.4.5
  1.3652 +
  1.3653 +	* README, Jamfile (RefDoc),
  1.3654 +	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  1.3655 +	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  1.3656 +	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
  1.3657 +	builds/win32/visualc/freetype.dsp,
  1.3658 +	builds/win32/visualc/freetype.vcproj,
  1.3659 +	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  1.3660 +	builds/win32/visualce/freetype.vcproj,
  1.3661 +	builds/win32/visualce/index.html,
  1.3662 +	builds/wince/vc2005-ce/freetype.vcproj,
  1.3663 +	builds/wince/vc2005-ce/index.html,
  1.3664 +	builds/wince/vc2008-ce/freetype.vcproj,
  1.3665 +	builds/wince/vc2008-ce/index.html: s/2.4.4/2.4.5/, s/244/245/.
  1.3666 +
  1.3667 +	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
  1.3668 +
  1.3669 +	* builds/unix/configure.raw (version_info): Set to 13:0:7.
  1.3670 +
  1.3671 +2011-06-20  Werner Lemberg  <wl@gnu.org>
  1.3672 +
  1.3673 +	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Fix change
  1.3674 +	from 2011-05-04.
  1.3675 +
  1.3676 +2011-06-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3677 +
  1.3678 +	[gxvalid] make the `prop' validation tracing verbose.
  1.3679 +
  1.3680 +	* src/gxvalid/gxvprop.c: Add tracing messages for errors.
  1.3681 +
  1.3682 +2011-06-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3683 +
  1.3684 +	[autogen.sh] Reflect environment variable LIBTOOLIZE.
  1.3685 +
  1.3686 +2011-06-18  Werner Lemberg <wl@gnu.org>
  1.3687 +
  1.3688 +	Update license documentation.
  1.3689 +
  1.3690 +	* docs/GPL.TXT: Renamed to...
  1.3691 +	* docs/GPLv2.TXT: This.
  1.3692 +
  1.3693 +	* docs/LICENSE.TXT: Updated.
  1.3694 +
  1.3695 +2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3696 +
  1.3697 +	Fix g++4.6 compiler warnings in module drivers.
  1.3698 +
  1.3699 +	The background is same with previous commit.
  1.3700 +
  1.3701 +	* src/truetype/ttgxvar.c (ft_var_readpackedpoints):
  1.3702 +	Init `points'.  (TT_Vary_Get_Glyph_Deltas): Init
  1.3703 +	`delta_xy'.  (TT_Get_MM_Var): Init `mmvar'.
  1.3704 +	* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
  1.3705 +	* src/cff/cffdrivr.c (cff_ps_get_font_info): Init
  1.3706 +	`font_info'.
  1.3707 +	* src/cff/cffload.c (cff_index_get_pointers): Init `t'.
  1.3708 +	(cff_font_load): Init `sub'.
  1.3709 +	* src/cff/cffobjs.c (cff_size_init): Init `internal'.
  1.3710 +	(cff_face_init): Init `cff'.
  1.3711 +	* src/pfr/pfrload.c (pfr_extra_item_load_stem_snaps):
  1.3712 +	Init `snaps'.
  1.3713 +	* src/pcf/pcfread.c (pcf_get_properties): Init `properties'.
  1.3714 +	(pcf_get_bitmaps): Init `offsets'.  (pcf_get_encodings):
  1.3715 +	Init `tmpEncoding'.
  1.3716 +	* src/sfnt/ttload.c (tt_face_load_gasp): Init `gaspranges'.
  1.3717 +	* src/sfnt/ttsbit.c (Load_SBit_Image): Init `components'.
  1.3718 +	* src/cache/ftcmru.c (FTC_MruList_New): Init `node'.
  1.3719 +	* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Init `zip' and
  1.3720 +	`zip_buff'.
  1.3721 +	* src/lzw/ftlzw.c (FT_Stream_OpenLZW): Init `zip'.
  1.3722 +	* src/bzip2/ftbzip2.c (FT_Stream_OpenBzip2): Init `zip'.
  1.3723 +
  1.3724 +2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3725 +
  1.3726 +	[base] Fix g++4.6 compiler warnings in src/base/*.c.
  1.3727 +
  1.3728 +	Passing uninitialized pointer to FT_NEW() families is
  1.3729 +	not problematic theoretically (as far as the returned
  1.3730 +	pointer is checked before writing), but g++4.6 dislikes
  1.3731 +	it and warns by -Wuninitialized.  Initialize them by NULL.
  1.3732 +
  1.3733 +	* src/base/ftobjs.c (FT_Stream_New): Init `stream'.
  1.3734 +	(new_memory_stream): Ditto.
  1.3735 +	(FT_New_GlyphSlot): Init `slot'.
  1.3736 +	(FT_CMap_New): Init `cmap'.
  1.3737 +	(open_face_PS_from_sfnt_stream): Init `sfnt_ps'.
  1.3738 +	(Mac_Read_POST_Resource): Init `pfb_data'.
  1.3739 +	(Mac_Read_sfnt_Resource): Init `sfnt_data'.
  1.3740 +	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets):
  1.3741 +	Init `offsets_internal' and `ref'.
  1.3742 +	(raccess_guess_darwin_hfsplus): Init `newpath'.
  1.3743 +	(raccess_guess_darwin_newvfs): Ditto.
  1.3744 +	* src/base/ftbitmap.c (ft_bitmap_assure_buffer):
  1.3745 +	Init `buffer'.
  1.3746 +	* src/base/ftstroke.c (FT_Stroker_New): Init `stroker'.
  1.3747 +
  1.3748 +2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3749 +
  1.3750 +	[gxvalid] Cleanup.
  1.3751 +
  1.3752 +	Some invalid, overrunning, unrecommended non-zero values
  1.3753 +	are cared in paranoid validation mode only.  There are
  1.3754 +	many lines looking like:
  1.3755 +
  1.3756 +	  if ( valid->root->level >= FT_VALIDATE_PARANOID )
  1.3757 +	    FT_INVALID_xxx;
  1.3758 +
  1.3759 +	To simplify them, GXV_SET_ERR_IF_PARANOID( err ) is
  1.3760 +	introduced for more paranoid validation in future.
  1.3761 +
  1.3762 +	* src/gxvalid/gxvcommn.h (IS_PARANOID_VALIDATION):
  1.3763 +	New macro to assure valid->root->level is more or
  1.3764 +	equal to FT_VALIDATE_PARANOID.  (GXV_SET_ERR_IF_PARANOID):
  1.3765 +	New macro to raise an error if in paranoid validation.
  1.3766 +	* src/gxvalid/gxvcommn.c: Use GXV_SET_ERR_IF_PARANOID().
  1.3767 +	* src/gxvalid/gxvfeat.c: Ditto.
  1.3768 +	* src/gxvalid/gxvjust.c: Ditto.
  1.3769 +	* src/gxvalid/gxvkern.c: Ditto.
  1.3770 +	* src/gxvalid/gxvmort.c: Ditto.
  1.3771 +	* src/gxvalid/gxvmort0.c: Ditto.
  1.3772 +	* src/gxvalid/gxvmort1.c: Ditto.
  1.3773 +	* src/gxvalid/gxvmort2.c: Ditto.
  1.3774 +	* src/gxvalid/gxvmorx1.c: Ditto.
  1.3775 +	* src/gxvalid/gxvmorx2.c: Ditto.
  1.3776 +
  1.3777 +2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3778 +
  1.3779 +	[gxvalid] Fix gcc4.6 compiler warnings in gxvtrak.c.
  1.3780 +
  1.3781 +	* src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate):
  1.3782 +	Check different entries pointing same traking value.
  1.3783 +	(gxv_trak_validate): Remove unused variable `table_size'.
  1.3784 +
  1.3785 +2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3786 +
  1.3787 +	[gxvalid] Fix gcc4.6 compiler warnings in gxvmorx*.c.
  1.3788 +
  1.3789 +	* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
  1.3790 +	Conditionalize unvalidated variable `subFeatureFlags'.
  1.3791 +	(gxv_morx_chain_validate): Conditionalize unvalidated
  1.3792 +	variable `defaultFlags'.
  1.3793 +
  1.3794 +	* src/gxvalid/gxmorx0.c
  1.3795 +	(gxv_morx_subtable_type0_entry_validate):
  1.3796 +	Conditionalize unvalidated variables; `markFirst',
  1.3797 +	`dontAdvance', `markLast', `verb'.
  1.3798 +
  1.3799 +	* src/gxvalid/gxmorx1.c
  1.3800 +	(gxv_morx_subtable_type1_entry_validate): Conditionalize
  1.3801 +	unvalidated variables; `setMark', `dontAdvance'.
  1.3802 +
  1.3803 +	* src/gxvalid/gxvmorx2.c
  1.3804 +	(gxv_morx_subtable_type2_ligActionOffset_validate):
  1.3805 +	Conditionalize unvalidated variables; `last', `store'.
  1.3806 +	Checking for overrunning offset is added.
  1.3807 +	(gxv_morx_subtable_type2_entry_validate):
  1.3808 +	Conditionalize unvalidated variables; `setComponent',
  1.3809 +	`dontAdvance', `performAction'.
  1.3810 +	(gxv_morx_subtable_type2_ligatureTable_validate):
  1.3811 +	Check if the GID for ligature does not exceed the
  1.3812 +	max GID in `maxp' table.
  1.3813 +
  1.3814 +	* src/gxvalid/gxvmort5.c
  1.3815 +	(gxv_morx_subtable_type5_InsertList_validate):
  1.3816 +	Conditionalize unvalidated loading of `insert_glyphID'
  1.3817 +	array.  (gxv_morx_subtable_type5_entry_validate):
  1.3818 +	Conditionalize unvalidated variables; `setMark',
  1.3819 +	`dontAdvance', `currentIsKashidaLike',
  1.3820 +	`markedIsKashidaLike', `currentInsertBefore',
  1.3821 +	`markedInsertBefore'.
  1.3822 +
  1.3823 +2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3824 +
  1.3825 +	[gxvalid] Fix gcc4.6 compiler warnings in gxvmort*.c.
  1.3826 +
  1.3827 +	* src/gxvalid/gxvmort.c (gxv_mort_subtables_validate):
  1.3828 +	Conditionalize unvalidated variable `subFeatureFlags'.
  1.3829 +	(gxv_mort_chain_validate): Conditionalize unvalidated
  1.3830 +	variable `defaultFlags'.
  1.3831 +
  1.3832 +	* src/gxvalid/gxmort0.c
  1.3833 +	(gxv_mort_subtable_type0_entry_validate): Check the
  1.3834 +	conflict of the marks for the glyphs.
  1.3835 +
  1.3836 +	* src/gxvalid/gxmort1.c
  1.3837 +	(gxv_mort_subtable_type1_offset_to_subst_validate):
  1.3838 +	Local variables `min_gid', `max_gid' are replaced by
  1.3839 +	variables in the validator.
  1.3840 +	(gxv_mort_subtable_type1_entry_validate): Conditionalize
  1.3841 +	unvalidated variables; `setMark', `dontAdvance'.
  1.3842 +	(gxv_mort_subtable_type1_substTable_validate):
  1.3843 +	Validate the GID by the min/max GIDs in the validator.
  1.3844 +
  1.3845 +	* src/gxvalid/gxvmort2.c
  1.3846 +	(gxv_mort_subtable_type2_ligActionOffset_validate):
  1.3847 +	Conditionalize unvalidated variables; `last', `store'.
  1.3848 +	Checking for overrunning offset is added.
  1.3849 +	(gxv_mort_subtable_type2_entry_validate):
  1.3850 +	Conditionalize unvalidated variables; `setComponent',
  1.3851 +	`dontAdvance'.
  1.3852 +	(gxv_mort_subtable_type2_ligatureTable_validate):
  1.3853 +	Check if the GID for ligature does not exceed the
  1.3854 +	max GID in `maxp' table.
  1.3855 +
  1.3856 +	* src/gxvalid/gxvmort5.c
  1.3857 +	(gxv_mort_subtable_type5_InsertList_validate):
  1.3858 +	Conditionalize unvalidated loading of `insert_glyphID'
  1.3859 +	array.  (gxv_mort_subtable_type5_entry_validate):
  1.3860 +	Conditionalize unvalidated variables; `setMark',
  1.3861 +	`dontAdvance', `currentIsKashidaLike',
  1.3862 +	`markedIsKashidaLike', `currentInsertBefore',
  1.3863 +	`markedInsertBefore'.
  1.3864 +
  1.3865 +2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3866 +
  1.3867 +	[gxvalid] Fix gcc4.6 compiler warnings in gxvkern.c.
  1.3868 +
  1.3869 +	* src/gxvalid/gxvkern.c
  1.3870 +	(gxv_kern_subtable_fmt0_pairs_validate): Conditionalize
  1.3871 +	unvalidated variable `kernValue'.
  1.3872 +	(gxv_kern_subtable_fmt1_entry_validate): Conditionalize
  1.3873 +	unvalidated variables; `push', `dontAdvance', `kernAction',
  1.3874 +	`kernValue'.
  1.3875 +	(gxv_kern_coverage_new_apple_validate): Conditionalize
  1.3876 +	trace-only variables; `kernVertical', `kernCrossStream',
  1.3877 +	`kernVariation'.
  1.3878 +	(gxv_kern_coverage_classic_apple_validate): Conditionalize
  1.3879 +	trace-only variables; `horizontal', `cross_stream'.
  1.3880 +	(gxv_kern_coverage_classic_microsoft_validate):
  1.3881 +	Conditionalize trace-only variables; `horizontal',
  1.3882 +	`minimum', `cross_stream', `override'.
  1.3883 +	(gxv_kern_subtable_validate): Conditionalize trace-only
  1.3884 +	variables; `version', `tupleIndex'.
  1.3885 +
  1.3886 +2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3887 +
  1.3888 +	[gxvalid] Fix gcc4.6 compiler warnings in gxvjust.c.
  1.3889 +
  1.3890 +	* src/gxvalid/gxvjust.c (gxv_just_check_max_gid):
  1.3891 +	New function to unify the checks of too large GID.
  1.3892 +	(gxv_just_wdp_entry_validate): Conditionalize unvalidated
  1.3893 +	variables; `beforeGrowLimit', `beforeShrinkGrowLimit',
  1.3894 +	`afterGrowLimit', `afterShrinkGrowLimit', `growFlags',
  1.3895 +	`shrinkFlags'.  Additional check for non-zero values in
  1.3896 +	unused storage `justClass' is added.
  1.3897 +	(gxv_just_actSubrecord_type0_validate): Conditionalize
  1.3898 +	unvalidated variable `order'.  GID is checked by
  1.3899 +	gxv_just_check_max_gid().  Additional check for upside-down
  1.3900 +	relationship between `lowerLimit' and `upperLimit' is added.
  1.3901 +	(gxv_just_actSubrecord_type1_validate): GID is checked by
  1.3902 +	gxv_just_check_max_gid().
  1.3903 +	(gxv_just_actSubrecord_type2_validate): Conditionalize
  1.3904 +	unvalidated variable `substThreshhold'.  GID is checked by
  1.3905 +	gxv_just_check_max_gid().
  1.3906 +	(gxv_just_actSubrecord_type5_validate): GID is checked by
  1.3907 +	gxv_just_check_max_gid().
  1.3908 +	(gxv_just_classTable_entry_validate): Conditionalize
  1.3909 +	unvalidated variables; `setMark', `dontAdvance',
  1.3910 +	`markClass', `currentClass'.
  1.3911 +
  1.3912 +2011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3913 +
  1.3914 +	[gxvalid] Preparation to fix gcc4.6 compiler warnings.
  1.3915 +
  1.3916 +	* src/gxvalid/gxvcommn.h (GXV_LOAD_TRACE_VARS): New macro to
  1.3917 +	conditionalize the variable which is only used for trace messages.
  1.3918 +	Automatically set by FT_DEBUG_LEVEL_TRACE.
  1.3919 +	(GXV_LOAD_UNUSED_VARS): New macro to conditionalize the loading of
  1.3920 +	unvalidated variables.  Undefined by default to calm gcc4.6 warning.
  1.3921 +	(GXV_ValidatorRec.{min_gid,max_gid}): New variables to hold defined
  1.3922 +	GID ranges, for the comparison of GID ranges in different subtables.
  1.3923 +
  1.3924 +2011-06-08  Werner Lemberg  <wl@gnu.org>
  1.3925 +
  1.3926 +	[autofit] Remove unused structure member.
  1.3927 +
  1.3928 +	* src/autofit/afhints.h (AF_SegmentRec): Remove `contour'.
  1.3929 +	* src/autofit/aflatin.c (af_latin_hints_compute_segments),
  1.3930 +	src/autofit/aflatin2.c (af_latin2_hints_compute_segments): Updated.
  1.3931 +
  1.3932 +2011-05-30  Werner Lemberg  <wl@gnu.org>
  1.3933 +
  1.3934 +	Fix g++ 4.6 compilation.
  1.3935 +
  1.3936 +	* src/autofit/afhints.c (af_glyph_hints_dump_segments,
  1.3937 +	af_glyph_hints_dump_edges): Use cast.
  1.3938 +
  1.3939 +2011-05-30  Werner Lemberg  <wl@gnu.org>
  1.3940 +
  1.3941 +	Fix gcc 4.6 compiler warnings.
  1.3942 +
  1.3943 +	* src/autofit/afcjk.c (af_cjk_metrics_init_blues): Use casts and
  1.3944 +	remove unused variables.
  1.3945 +	* src/autofit/aflatin.c (af_latin_hints_compute_edges): Comment out
  1.3946 +	`up_dir'.
  1.3947 +	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `height_org'
  1.3948 +	and `width_org' conditionalized.
  1.3949 +
  1.3950 +2011-05-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3951 +
  1.3952 +	[mac] Conditionalize the inclusion of `AvailabilityMacros.h'.
  1.3953 +
  1.3954 +	The native SDK on earliest Mac OS X (10.0-10.1) did not have
  1.3955 +	`AvailabilityMacros.h'.  To prevent the inclusion of missing
  1.3956 +	header file, ECANCELED (introduced in 10.2) in POSIX header
  1.3957 +	file <errno.h> is checked to detect the system version.
  1.3958 +
  1.3959 +	* include/freetype/config/ftconfig.h: Conditionalize the
  1.3960 +	inclusion of `AvailabilityMacros.h'.
  1.3961 +	* builds/unix/ftconfig.in: Ditto.
  1.3962 +	* builds/vms/ftconfig.h: Ditto.
  1.3963 +
  1.3964 +2011-05-27  Werner Lemberg  <wl@gnu.org>
  1.3965 +
  1.3966 +	[autofit] Improve tracing of hinting process.
  1.3967 +
  1.3968 +	* src/autofit/aflatin.c (af_latin_hint_edges): Add tracing message
  1.3969 +	`ADJUST'.
  1.3970 +
  1.3971 +2011-05-26  Werner Lemberg  <wl@gnu.org>
  1.3972 +
  1.3973 +	[autofit] Fix trace message.
  1.3974 +
  1.3975 +	* src/autofit/aflatin.c (af_latin_hint_edges): Show correct value in
  1.3976 +	tracing message.
  1.3977 +
  1.3978 +2011-05-24  Daniel Zimmermann  <netzimme@googlemail.com>
  1.3979 +
  1.3980 +	Reduce warnings for MS Visual Studio 2010.
  1.3981 +
  1.3982 +	* src/autofit/afhints.c (af_glyph_hints_get_num_segments,
  1.3983 +	af_glyph_hints_get_segment_offset) [!FT_DEBUG_AUTOFIT]: Provide
  1.3984 +	return value.
  1.3985 +	* src/cff/cffgload.c (cff_slot_load): Add cast.
  1.3986 +	* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids): Use proper
  1.3987 +	loop variable type.
  1.3988 +
  1.3989 +2011-05-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3990 +
  1.3991 +	Automake component `builds/unix/install-sh' is removed.
  1.3992 +
  1.3993 +	* builds/unix/install-sh: Removed.  It is not needed to
  1.3994 +	include repository, because autogen.sh installs it.
  1.3995 +	* builds/unix/.gitignore: Register install-sh.
  1.3996 +
  1.3997 +2011-05-12  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.3998 +
  1.3999 +	[autofit] Make trace message for CJK bluezone more verbose.
  1.4000 +
  1.4001 +2011-05-08  Just Fill Bugs  <mozbugbox@yahoo.com.au>
  1.4002 +            suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4003 +
  1.4004 +	[autofit] Add bluezones for CJK Ideographs.
  1.4005 +
  1.4006 +	To remove extremas of vertical strokes of CJK Ideographs at
  1.4007 +	low resolution and make the top and bottom horizontal stems
  1.4008 +	aligned, bluezones for CJK Ideographs are calculated from
  1.4009 +	sample glyphs.  At present, vertical bluezones (bluezones
  1.4010 +	to align vertical stems) are disabled by default.  For detail, see
  1.4011 +	http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00070.html
  1.4012 +	http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00092.html
  1.4013 +	http://lists.gnu.org/archive/html/freetype-devel/2011-05/msg00001.html
  1.4014 +
  1.4015 +	* include/freetype/internal/fttrace.h: New trace component `afcjk'.
  1.4016 +	* src/autofit/afcjk.h (AF_CJK{Blue,Axis,Metric}Rec): Add CJK version
  1.4017 +	for AF_Latin{Blue,Axis,Metric}Rec.
  1.4018 +	(af_cjk_metrics_check_digits): Ditto, shared with Indic module.
  1.4019 +	(af_cjk_metrics_init_widths): Ditto.
  1.4020 +	(af_cjk_metrics_init): Take AF_CJKMetric instead of AF_LatinMetric.
  1.4021 +	(af_cjk_metrics_scale): Ditto (declaration).
  1.4022 +	(af_cjk_hints_init): Ditto (declaration).
  1.4023 +	(af_cjk_hints_apply): Ditto (declaration).
  1.4024 +	* src/autofit/afcjk.c (af_cjk_metrics_scale): Ditto (body).
  1.4025 +	(af_cjk_hints_init): Ditto (body).
  1.4026 +	(af_cjk_hints_apply): Ditto (body).
  1.4027 +	(af_cjk_metrics_init_widths): Duplicate af_latin_metrics_init_widths.
  1.4028 +	(af_cjk_metrics_check_digits): Duplicate af_latin_metrics_check_digits.
  1.4029 +	(af_cjk_metrics_init): Call CJK bluezone initializer.
  1.4030 +	(af_cjk_metrics_scale_dim): Add code to scale bluezones.
  1.4031 +	(af_cjk_hints_compute_blue_edges): New function, CJK version of
  1.4032 +	af_latin_hints_compute_blue_edges.
  1.4033 +	(af_cjk_metrics_init_blues): New function, CJK version of
  1.4034 +	af_latin_metrics_init_blues.
  1.4035 +	(af_cjk_hints_edges): Add code to align the edge stems to blue zones.
  1.4036 +
  1.4037 +	* src/autofit/afindic.c (af_indic_metrics_init): Take AF_CJKMetric
  1.4038 +	instead of AF_LatinMetric, and initialize as af_cjk_metrics_init.
  1.4039 +	However bluezones are not initialized.
  1.4040 +	(af_indic_metrics_scale): Take AF_CJKMetric instead of AF_LatinMetric.
  1.4041 +	(af_indic_hints_init): Ditto.
  1.4042 +	(af_indic_hints_apply): Ditto.
  1.4043 +
  1.4044 +	* docs/CHANGES: Note about CJK bluezone support.
  1.4045 +
  1.4046 +2011-05-06  Werner Lemberg  <wl@gnu.org>
  1.4047 +
  1.4048 +	[autofit] Remove unused struct member.
  1.4049 +
  1.4050 +	* src/autofit/aflatin.h (AF_LatinAxis): Remove `control_overshoot'.
  1.4051 +
  1.4052 +2011-05-04  Werner Lemberg  <wl@gnu.org>
  1.4053 +
  1.4054 +	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Simplify.
  1.4055 +
  1.4056 +2011-05-01  Just Fill Bugs  <mozbugbox@yahoo.com.au>
  1.4057 +            Werner Lemberg  <wl@gnu.org>
  1.4058 +
  1.4059 +	[autofit] Add more debugging functions.
  1.4060 +
  1.4061 +	* src/autofit/afhints.c (af_glyph_hints_get_num_segments,
  1.4062 +	af_glyph_hints_get_segment_offset): New functions.
  1.4063 +
  1.4064 +2011-05-01  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4065 +
  1.4066 +	Add new option `--disable-mmap' to configure script.
  1.4067 +
  1.4068 +	* builds/unix/configure.raw: New option `--disable-mmap'
  1.4069 +	is added.  It is for the developers to simulate the systems
  1.4070 +	without mmap() (like 4.3BSD, minix etc) on POSIX systems.
  1.4071 +
  1.4072 +2011-04-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4073 +
  1.4074 +	[truetype] Always recalculate the sfnt table checksum.
  1.4075 +
  1.4076 +	* src/truetype/ttobjs.c (tt_get_sfnt_checksum): Recalculate
  1.4077 +	the sfnt table checksum even if non-zero value is written in
  1.4078 +	the TrueType font header.  Some bad PDF generators write
  1.4079 +	wrong values.  For details see examples and benchmark tests
  1.4080 +	of the latency by recalculation:
  1.4081 +	http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00091.html
  1.4082 +	http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00096.html
  1.4083 +
  1.4084 +2011-04-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4085 +
  1.4086 +	[truetype] Register a set of tricky fonts, NEC FA family.
  1.4087 +
  1.4088 +	* src/truetype/ttobjs.c (tt_check_trickyness_sfnt_ids):
  1.4089 +	Add 8 checksum sets for NEC FA family.  For the tricky fonts
  1.4090 +	without some tables (e.g. NEC FA fonts lack cvt table),
  1.4091 +	extra check is added to assure that a zero-length table in the
  1.4092 +	registry is not included in the font.
  1.4093 +
  1.4094 +2011-04-29  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4095 +
  1.4096 +	[truetype] Fix a bug in the sfnt table checksum getter.
  1.4097 +
  1.4098 +	* src/truetype/ttobjs.c (tt_get_sfnt_checksum): Check the
  1.4099 +	return value of face->goto_table() correctly.
  1.4100 +
  1.4101 +2011-04-28  Werner Lemberg  <wl@gnu.org>
  1.4102 +
  1.4103 +	[autofit] Improve tracing messages.
  1.4104 +
  1.4105 +	* src/autofit/aflatin.c (af_latin_metrics_init_blues,
  1.4106 +	af_latin_align_linked_edge, af_latin_hint_edges): Do it.
  1.4107 +
  1.4108 +2011-04-25  Kan-Ru Chen  <kanru@kanru.info>
  1.4109 +
  1.4110 +	[truetype] Always check the checksum to identify tricky fonts.
  1.4111 +
  1.4112 +	Because some PDF generators mangle the family name badly,
  1.4113 +	the trickyness check by the checksum should be invoked always.
  1.4114 +	For sample PDF, see
  1.4115 +	http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00073.html
  1.4116 +
  1.4117 +	* src/truetype/ttobjs.c (tt_check_trickyness): Even when
  1.4118 +	tt_check_trickyness_family() finds no trickyness,
  1.4119 +	tt_check_trickyness_sfnt_ids() is invoked.
  1.4120 +
  1.4121 +2011-04-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4122 +
  1.4123 +	[autofit] Add more Indic scripts with hanging baseline.
  1.4124 +
  1.4125 +	* src/autofit/afindic.c (af_indic_uniranges): Tibetan, Limbu,
  1.4126 +	Sundanese, Meetei Mayak, Syloti Nagri and Sharada scripts are
  1.4127 +	added.
  1.4128 +
  1.4129 +2011-04-21  Behdad Esfahbod  <behdad@behdad.org>
  1.4130 +
  1.4131 +	Always ignore global advance.
  1.4132 +
  1.4133 +	This makes FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH redundant,
  1.4134 +	deprecated, and ignored.  The new behavior is what every major user
  1.4135 +	of FreeType has been requesting.  Global advance is broken in many
  1.4136 +	CJK fonts.  Just ignoring it by default makes most sense.
  1.4137 +
  1.4138 +	* src/truetype/ttdriver.c (tt_get_advances),
  1.4139 +	src/truetype/ttgload.c (TT_Get_HMetrics, TT_Get_VMetrics,
  1.4140 +	tt_get_metrics, compute_glyph_metrics, TT_Load_Glyph),
  1.4141 +	src/truetype/ttgload.h: Implement it.
  1.4142 +
  1.4143 +	* docs/CHANGES: Updated.
  1.4144 +
  1.4145 +2011-04-21  rainy6144  <rainy6144@gmail.com>
  1.4146 +
  1.4147 +	[autofit] Blur CJK stems if too many to preserve their gaps.
  1.4148 +
  1.4149 +	When there are too many stems to preserve their gaps in the
  1.4150 +	rasterization of CJK Ideographs at a low resolution, blur the
  1.4151 +	stems instead of showing clumped stems.  See
  1.4152 +	http://lists.gnu.org/archive/html/freetype-devel/2011-02/msg00011.html
  1.4153 +	http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00046.html
  1.4154 +	for details.
  1.4155 +
  1.4156 +	* src/autofit/afcjk.c (af_cjk_hint_edges): Store the position of
  1.4157 +	the previous stem by `has_last_stem' and `last_stem_pos', and skip
  1.4158 +	a stem if the current and previous stem are too near to preserve
  1.4159 +	the gap.
  1.4160 +
  1.4161 +2011-04-18  Werner Lemberg  <wl@gnu.org>
  1.4162 +
  1.4163 +	Integrate autofitter debugging stuff.
  1.4164 +
  1.4165 +	* devel/ftoption.h, include/freetype/config/ftoption.h
  1.4166 +	(FT_DEBUG_AUTOFIT): New macro.
  1.4167 +
  1.4168 +	* include/freetype/internal/fttrace.h: Add trace components for
  1.4169 +	autofitter.
  1.4170 +
  1.4171 +	* src/autofit/aftypes.h (AF_LOG): Removed.
  1.4172 +	(_af_debug): Removed.
  1.4173 +
  1.4174 +	* src/autofit/*: s/AF_DEBUG/FT_DEBUG_AUTOFIT/.
  1.4175 +	s/AF_LOG/FT_TRACE5/.
  1.4176 +	Define FT_COMPONENT where necessary.
  1.4177 +
  1.4178 +2011-04-18  Werner Lemberg  <wl@gnu.org>
  1.4179 +
  1.4180 +	Synchronize config files.
  1.4181 +
  1.4182 +	* builds/unix/ftconfig.in: Copy missing assembler routines from
  1.4183 +	include/freetype/config/ftconfig.h.
  1.4184 +
  1.4185 +2011-04-13  Werner Lemberg  <wl@gnu.org>
  1.4186 +
  1.4187 +	[psaux] Fix Savannah bug #33047.
  1.4188 +
  1.4189 +	Patch submitted by anonymous reporter.
  1.4190 +
  1.4191 +	* src/psaux/psobjs.c (ps_table_add): Use FT_PtrDist for pointer
  1.4192 +	difference.
  1.4193 +
  1.4194 +2011-04-11  Kan-Ru Chen  <kanru@kanru.info>
  1.4195 +
  1.4196 +	Fix reading of signed integers from files on 64bit platforms.
  1.4197 +
  1.4198 +	Previously, signed integers were converted to unsigned integers, but
  1.4199 +	this can fail because of sign extension.  For example, 0xa344a1eb
  1.4200 +	becomes 0xffffffffa344a1eb.
  1.4201 +
  1.4202 +	We now do the reverse which is always correct because the integer
  1.4203 +	size is the same during the cast from unsigned to signed.
  1.4204 +
  1.4205 +	* include/freetype/internal/ftstream.h, src/base/ftstream.c
  1.4206 +	(FT_Stream_Get*): Replace with...
  1.4207 +	(FT_Stream_GetU*): Functions which read unsigned integers.
  1.4208 +	Update all macros accordingly.
  1.4209 +
  1.4210 +	* src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Updated.
  1.4211 +
  1.4212 +2011-04-07  Werner Lemberg  <wl@gnu.org>
  1.4213 +
  1.4214 +	Update Unicode ranges for CJK autofitter; in particular, add Hangul.
  1.4215 +
  1.4216 +	* src/autofit/afcjk.c (af_cjk_uniranges): Update to Unicode 6.0.
  1.4217 +
  1.4218 +2011-04-04  Werner Lemberg  <wl@gnu.org>
  1.4219 +
  1.4220 +	Fix formatting of autofit debug dumps.
  1.4221 +
  1.4222 +	* src/autofit/afhints.c (af_glyph_hints_dump_points,
  1.4223 +	af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Adjust
  1.4224 +	column widths.
  1.4225 +
  1.4226 +2011-03-30  Werner Lemberg  <wl@gnu.org>
  1.4227 +
  1.4228 +	* src/autofit/aftypes.h (AF_OutlineRec): Removed, unused.
  1.4229 +
  1.4230 +2011-03-24  Werner Lemberg  <wl@gnu.org>
  1.4231 +
  1.4232 +	* src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 256.
  1.4233 +	This limit is given on p. 37 of Adobe Technical Note #5014.
  1.4234 +
  1.4235 +2011-03-23  Werner Lemberg  <wl@gnu.org>
  1.4236 +
  1.4237 +	* src/truetype/ttpload.c (tt_face_load_loca): Fix mismatch warning.
  1.4238 +
  1.4239 +2011-03-20  Werner Lemberg  <wl@gnu.org>
  1.4240 +
  1.4241 +	* src/sfnt/sfobjs.c (sfnt_open_font): Check number of TTC subfonts.
  1.4242 +
  1.4243 +2011-03-19  Werner Lemberg  <wl@gnu.org>
  1.4244 +
  1.4245 +	More C++ compilation fixes.
  1.4246 +
  1.4247 +	* src/autofit/afhints.c (af_glyph_hints_dump_points,
  1.4248 +	af_glyph_hints_dump_segments, af_glyph_hints_dump_edges)
  1.4249 +	[__cplusplus]: Protect with `extern "C"'.
  1.4250 +
  1.4251 +2011-03-18  Werner Lemberg  <wl@gnu.org>
  1.4252 +
  1.4253 +	C++ compilation fixes.
  1.4254 +
  1.4255 +	* src/autofit/aflatin.c (af_latin_hints_apply), src/autofit/afcjk.c
  1.4256 +	(af_cjk_hints_apply): Use cast for `dim'.
  1.4257 +
  1.4258 +2011-03-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.4259 +
  1.4260 +	A better fix for Savannah bug #32671.
  1.4261 +
  1.4262 +	* src/smooth/ftgrays.c (gray_render_conic): Clean up code and
  1.4263 +	replace WHILE loop with a more natural DO-WHILE construct.
  1.4264 +
  1.4265 +2011-03-16  Werner Lemberg  <wl@gnu.org>.
  1.4266 +
  1.4267 +	* src/base/ftstroke.c (FT_StrokerRec): Remove unused `valid' field.
  1.4268 +	Suggested by Graham Asher.
  1.4269 +
  1.4270 +2011-03-09  Werner Lemberg  <wl@gnu.org>
  1.4271 +
  1.4272 +	Make FT_Sfnt_Table_Info return the number of SFNT tables.
  1.4273 +
  1.4274 +	* src/sfnt/sfdriver.c (sfnt_table_info): Implement it.
  1.4275 +	* include/freetype/tttables.h: Update documentation.
  1.4276 +	* docs/CHANGES: Updated.
  1.4277 +
  1.4278 +2011-03-07  Bram Tassyns  <bramt@enfocus.be>
  1.4279 +
  1.4280 +	[cff] Fix Savannah bug #27988.
  1.4281 +
  1.4282 +	* src/cff/cffobjs.c (remove_style): New function.
  1.4283 +	(cff_face_init): Use it to strip off the style part of the family
  1.4284 +	name.
  1.4285 +
  1.4286 +2011-03-07  Werner Lemberg  <wl@gnu.org>
  1.4287 +
  1.4288 +	* docs/CHANGES: Updated.
  1.4289 +
  1.4290 +2011-03-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.4291 +
  1.4292 +	Quick fix for Savannah bug #32671.
  1.4293 +
  1.4294 +	This isn't the optimal solution yet, but it restores the previous
  1.4295 +	rendering quality (more or less).
  1.4296 +
  1.4297 +	* src/smooth/ftgrays.c (gray_render_conic): Do more splitting.
  1.4298 +
  1.4299 +2011-03-06  Werner Lemberg  <wl@gnu.org>
  1.4300 +
  1.4301 +	Fix autohinting fallback.
  1.4302 +
  1.4303 +	* src/base/ftobjs.c (FT_Load_Glyph): Assure that we only check TTFs,
  1.4304 +	ignoring CFF-based OTFs.
  1.4305 +
  1.4306 +2011-02-27  Werner Lemberg  <wl@gnu.org>
  1.4307 +
  1.4308 +	Add AF_CONFIG_OPTION_USE_WARPER to control the autofit warper.
  1.4309 +
  1.4310 +	* devel/ftoption.h, include/freetype/config/ftoption.h
  1.4311 +	(AF_CONFIG_OPTION_USE_WARPER): New macro.
  1.4312 +	* src/autofit/aftypes.h (AF_USE_WARPER): Remove.
  1.4313 +
  1.4314 +	* src/autofit/*: s/AF_USE_WARPER/AF_CONFIG_OPTION_USE_WARPER/.
  1.4315 +
  1.4316 +	* src/autofit/afwarp.c [!AF_CONFIG_OPTION_USE_WARPER]: Replace dummy
  1.4317 +	variable assignment with a typedef.
  1.4318 +
  1.4319 +2011-02-26  Werner Lemberg  <wl@gnu.org>
  1.4320 +
  1.4321 +	[autofit] Slight simplifications.
  1.4322 +
  1.4323 +	* src/autofit/aflatin.c (af_latin_hints_link_segments): Remove
  1.4324 +	test which always returns false.
  1.4325 +	(af_latin_hints_compute_blue_edges): Remove redundant assignment.
  1.4326 +
  1.4327 +2011-02-24  Werner Lemberg  <wl@gnu.org>
  1.4328 +
  1.4329 +	* docs/PROBLEMS: Mention rendering differences on different
  1.4330 +	platforms.
  1.4331 +	Suggested and worded by Jason Owen <jason.a.owen@gmail.com>.
  1.4332 +
  1.4333 +2011-02-24  Werner Lemberg  <wl@gnu.org>
  1.4334 +
  1.4335 +	[autofit] Comment out unused code.
  1.4336 +
  1.4337 +	* src/autofit/aflatin.c, src/autofit/aflatin2.c
  1.4338 +	(af_latin_hints_compute_edges): Do it.
  1.4339 +
  1.4340 +2011-02-24  Werner Lemberg  <wl@gnu.org>
  1.4341 +
  1.4342 +	* src/autofit/afhints.h (AF_GlyphHints): Remove unused field.
  1.4343 +
  1.4344 +2011-02-20  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4345 +
  1.4346 +	[cache] Fix an off-by-one bug in `FTC_Manager_RemoveFaceID'.
  1.4347 +	Found by <ychen1392001@yahoo.com.cn>, see detail in
  1.4348 +
  1.4349 +	  http://lists.gnu.org/archive/html/freetype/2011-01/msg00023.html
  1.4350 +
  1.4351 +	* src/cache/ftccache.c (FTC_Cache_RemoveFaceID): Check the node
  1.4352 +	buckets[cache->p + cache->mask] too.
  1.4353 +
  1.4354 +2011-02-19  Kevin Kofler  <kevin.kofler@chello.at>
  1.4355 +
  1.4356 +	Fall back to autohinting if a TTF/OTF doesn't contain any bytecode.
  1.4357 +	This is Savannah patch #7471.
  1.4358 +
  1.4359 +	* src/base/ftobjs.c (FT_Load_Glyph): Implement it.
  1.4360 +
  1.4361 +2011-02-19  John Tytgat  <John.Tytgat@esko.com>
  1.4362 +
  1.4363 +	[cff] Fix subset prefix removal.
  1.4364 +	This is Savannah patch #7465.
  1.4365 +
  1.4366 +	* src/cff/cffobjs.c (remove_subset_prefix): Update length after
  1.4367 +	subset prefix removal.
  1.4368 +
  1.4369 +2011-02-13  Bradley Grainger  <bgrainger@logos.com>
  1.4370 +
  1.4371 +	Add inline assembly version of FT_MulFix for MSVC.
  1.4372 +
  1.4373 +	* include/freetype/config/ftconfig.h: Ported the FT_MulFix_i386
  1.4374 +	function from GNU inline assembly syntax (see #ifdef __GNUC__ block
  1.4375 +	above) to MASM syntax for Microsoft Visual C++.
  1.4376 +
  1.4377 +2011-02-13  Bradley Grainger  <bgrainger@logos.com>
  1.4378 +
  1.4379 +	Add project and solution files in Visual Studio 2010 format.
  1.4380 +
  1.4381 +	* builds/win32/.gitignore: Ignore user-specific cache files.
  1.4382 +	* builds/win32/vc2010/: Add VS2010 project & solution files, created
  1.4383 +	by upgrading builds/win32/vc2008/freetype.vcproj.
  1.4384 +	* objs/.gitignore: Ignore Visual Studio output files.
  1.4385 +
  1.4386 +2011-02-01  Werner Lemberg  <wl@gnu.org>
  1.4387 +
  1.4388 +	* src/autofit/afdummy.c: Include `aferrors.h'.
  1.4389 +	Problem reported by Chris Liddell <chris.liddell@artifex.com>.
  1.4390 +
  1.4391 +2011-02-01  Werner Lemberg  <wl@gnu.org>
  1.4392 +
  1.4393 +	[cff] Ignore unknown operators in charstrings.
  1.4394 +	Patch suggested by Miles.Lau <sunliang_liu@foxitsoftware.com>.
  1.4395 +
  1.4396 +	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Emit tracing
  1.4397 +	message for unknown operators and continue instead of exiting with a
  1.4398 +	syntax error.
  1.4399 +
  1.4400 +2011-02-01  Werner Lemberg  <wl@gnu.org>
  1.4401 +
  1.4402 +	[truetype] FT_LOAD_PEDANTIC now affects `prep' and `fpgm' also.
  1.4403 +
  1.4404 +	* src/truetype/ttgload.c (tt_loader_init): Handle
  1.4405 +	`FT_LOAD_PEDANTIC'.
  1.4406 +	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep,
  1.4407 +	tt_size_init_bytecode, tt_size_ready_bytecode): New argument to
  1.4408 +	handle pedantic mode.
  1.4409 +	* src/truetype/ttobjs.h: Updated.
  1.4410 +
  1.4411 +2011-01-31  Werner Lemberg  <wl@gnu.org>
  1.4412 +
  1.4413 +	[truetype] Protect jump instructions against endless loops.
  1.4414 +
  1.4415 +	* src/truetype/interp.c (DO_JROT, DO_JMPR, DO_JROF): Exit with error
  1.4416 +	if offset is zero.
  1.4417 +
  1.4418 +2011-01-31  Werner Lemberg  <wl@gnu.org>
  1.4419 +
  1.4420 +	[truetype] Improve handling of invalid references.
  1.4421 +
  1.4422 +	* src/truetype/interp.c: Set even more TT_Err_Invalid_Reference
  1.4423 +	error codes only if pedantic hinting is active.  At the same time,
  1.4424 +	try to provide sane values which hopefully allow useful
  1.4425 +	continuation.  Exception to this is CALL and LOOPCALL – due to
  1.4426 +	possible stack corruption it is necessary to bail out.
  1.4427 +
  1.4428 +2011-01-31  Werner Lemberg  <wl@gnu.org>
  1.4429 +
  1.4430 +	[truetype] Improve handling of stack underflow.
  1.4431 +
  1.4432 +	* src/truetype/ttinterp.c (TT_RunIns, Ins_FLIPPT, Ins_DELTAP,
  1.4433 +	Ins_DELTAC): Exit with error only if `pedantic_hinting' is set.
  1.4434 +	Otherwise, try to do something sane.
  1.4435 +
  1.4436 +2011-01-30  Werner Lemberg  <wl@gnu.org>
  1.4437 +
  1.4438 +	* src/sfnt/ttmtx.c (tt_face_load_hmtx): Fix tracing message.
  1.4439 +
  1.4440 +2011-01-30  LIU Sun-Liang  <sunliang_liu@foxitsoftware.com>
  1.4441 +
  1.4442 +	[truetype]: Fix behaviour of MIAP for invalid arguments.
  1.4443 +
  1.4444 +	* src/truetype/ttinterp.c (Ins_MIAP): Set reference points even in
  1.4445 +	case of error.
  1.4446 +
  1.4447 +2011-01-18  Werner Lemberg  <wl@gnu.org>
  1.4448 +
  1.4449 +	[truetype] Fix handling of MIRP instruction.
  1.4450 +
  1.4451 +	Thanks to Greg Hitchcock who explained the issue.
  1.4452 +
  1.4453 +	* src/truetype/ttinterp.c (Ins_MIRP): Replace a `>=' operator with
  1.4454 +	`>' since the description in the specification is incorrect.
  1.4455 +	This fixes, for example, glyph `two' in font `Helvetica Neue LT Com
  1.4456 +	65 medium' at 15ppem.
  1.4457 +
  1.4458 +2011-01-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4459 +
  1.4460 +	Fix ARM assembly code in include/freetype/config/ftconfig.h.
  1.4461 +
  1.4462 +	* include/freetype/config/ftconfig.h (FT_MulFix_arm):
  1.4463 +	Copy the maintained code from builds/unix/ftconfig.in.
  1.4464 +	Old GNU binutils could not accept the reduced syntax
  1.4465 +	`orr %0, %2, lsl #16'.  Un-omitted syntax like RVCT,
  1.4466 +	`orr %0, %0, %2, lsl #16' is better.  Reported by
  1.4467 +	Johnson Y. Yan.  The bug report by Qt developers is
  1.4468 +	considered too.
  1.4469 +
  1.4470 +	http://bugreports.qt.nokia.com/browse/QTBUG-6521
  1.4471 +
  1.4472 +2011-01-15  Werner Lemberg  <wl@gnu.org>
  1.4473 +
  1.4474 +	[raster] Make bbox handling the same as with Microsoft's rasterizer.
  1.4475 +
  1.4476 +	Right before B/W rasterizing, the bbox gets simply rounded to
  1.4477 +	integers.  This fixes, for example, glyph `three' in font `Helvetica
  1.4478 +	Neue LT Com 65 Medium' at 11ppem.
  1.4479 +
  1.4480 +	Thanks to Greg Hitchcock who explained this behaviour.
  1.4481 +
  1.4482 +	* src/raster/ftrend1.c (ft_raster1_render): Implement it.
  1.4483 +
  1.4484 +2011-01-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4485 +
  1.4486 +	Copy -mcpu=* & -march=* options from CFLAGS to LDFLAGS.
  1.4487 +
  1.4488 +	* builds/unix/configure.raw: Consider recent gcc-standard
  1.4489 +	flags to specify architecture in CFLAGS & LDFLAGS
  1.4490 +	harmonization.  Requested by Savannah bug #32114, to
  1.4491 +	support multilib feature of BuildRoot SDK correctly.
  1.4492 +
  1.4493 +2011-01-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4494 +
  1.4495 +	Fix off-by-one bug in CFLAGS & LDFLAGS harmonizer.
  1.4496 +
  1.4497 +	* builds/unix/configure.raw: Some important options that
  1.4498 +	included in CFLAGS but not in LDFLAGS are copied to
  1.4499 +	LDFLAGS, but the last option in CFLAGS was not checked.
  1.4500 +
  1.4501 +2011-01-13  Werner Lemberg  <wl@gnu.org>
  1.4502 +
  1.4503 +	[raster] Add undocumented drop-out rule to the other bbox side also.
  1.4504 +
  1.4505 +	* src/raster/ftraster.c (Vertical_Sweep_Drop,
  1.4506 +	Horizontal_Sweep_Drop): Implement it.
  1.4507 +
  1.4508 +2011-01-13  Werner Lemberg  <wl@gnu.org>
  1.4509 +
  1.4510 +	[raster] Reduce jitter value.
  1.4511 +
  1.4512 +	This catches a rendering problem with glyph `x' from Tahoma at
  1.4513 +	10ppem.  It seems that the increase of the precision in the change
  1.4514 +	from 2009-06-11 makes a larger jitter value unnecessary.
  1.4515 +
  1.4516 +	* src/raster/ftraster.c (Set_High_Precision): Implement it.
  1.4517 +
  1.4518 +2011-01-13  Werner Lemberg  <wl@gnu.org>
  1.4519 +
  1.4520 +	[raster] Handle drop-outs at glyph borders according to Microsoft.
  1.4521 +
  1.4522 +	If a drop-out rule would switch on a pixel outside of the glyph's
  1.4523 +	bounding box, use the right (or top) pixel instead.  This is an
  1.4524 +	undocumented feature, but some fonts like `Helvetica Neue LT Com 65
  1.4525 +	Medium' heavily rely on it.
  1.4526 +
  1.4527 +	Thanks to Greg Hitchcock who explained this behaviour.
  1.4528 +
  1.4529 +	* src/raster/ftraster.c (Vertical_Sweep_Drop,
  1.4530 +	Horizontal_Sweep_Drop): Implement it.
  1.4531 +
  1.4532 +2011-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4533 +
  1.4534 +	[cache] Fix Savannah bug #31923, patch drafted by Harsha.
  1.4535 +
  1.4536 +	When a node comparator changes the cached nodes during the
  1.4537 +	search of a node matching with queried properties, the
  1.4538 +	pointers obtained before the function should be updated to
  1.4539 +	prevent the dereference to freed or reallocated nodes.
  1.4540 +	To minimize the rescan of the linked list, the update is
  1.4541 +	executed when the comparator notifies the change of cached
  1.4542 +	nodes. This change depends previous change:
  1.4543 +	38b272ffbbdaae276d636aec4ef84af407d16181
  1.4544 +
  1.4545 +	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Rescan the
  1.4546 +	top node if the cached nodes are changed.
  1.4547 +	* src/cache/ftccache.c (FTC_Cache_Lookup): Ditto.
  1.4548 +
  1.4549 +2011-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4550 +
  1.4551 +	[cache] Notice if a cache query induced the node list change.
  1.4552 +
  1.4553 +	Some node comparators (comparing the cache node contents and the
  1.4554 +	properties specified by the query) can flush the cache node to
  1.4555 +	prevent the cache inflation.  The change may invalidate the pointers
  1.4556 +	to the node obtained before the node comparison, so it should be
  1.4557 +	noticed to the caller.  The problem caused by the cache node
  1.4558 +	changing is reported by Harsha, see Savannah bug #31923.
  1.4559 +
  1.4560 +	* src/cache/ftccache.h (FTC_Node_CompareFunc): Add new argument
  1.4561 +	`FT_Bool* list_changed' to indicate the change of the cached nodes
  1.4562 +	to the caller.
  1.4563 +	(FTC_CACHE_LOOKUP_CMP): Watch the change of the cached nodes by
  1.4564 +	`_list_changed'.
  1.4565 +	(FTC_CACHE_TRYLOOP_END): Take new macro argument `_list_changed'
  1.4566 +	and update it when `FTC_Manager_FlushN' flushes any nodes.
  1.4567 +
  1.4568 +	* src/cache/ftccback.h (ftc_snode_compare): Updated to fit with new
  1.4569 +	FTC_Node_CompareFunc type.
  1.4570 +	(ftc_gnode_compare): Ditto.
  1.4571 +
  1.4572 +	* src/cache/ftcbasic.c: Include FT_INTERNAL_OBJECTS_H to use
  1.4573 +	TRUE/FALSE macros.
  1.4574 +	(ftc_basic_gnode_compare_faceid): New argument `FT_Bool*
  1.4575 +	list_changed' to indicate the change of the cache nodes (anyway, it
  1.4576 +	is always FALSE).
  1.4577 +
  1.4578 +	* src/cache/ftccmap.c: Include FT_INTERNAL_OBJECTS_H to use
  1.4579 +	TRUE/FALSE macros.
  1.4580 +	(ftc_cmap_node_compare): New argument `FT_Bool* list_changed' to
  1.4581 +	indicate the change of the cache nodes (anyway, it is always FALSE).
  1.4582 +	(ftc_cmap_node_remove_faceid): Ditto.
  1.4583 +
  1.4584 +	* src/cache/ftccache.c (FTC_Cache_NewNode): Pass a NULL pointer to
  1.4585 +	`FTC_CACHE_TRYLOOP_END', because the result is not needed.
  1.4586 +	(FTC_Cache_Lookup): Watch the change of the cache nodes by
  1.4587 +	`list_changed'.
  1.4588 +	(FTC_Cache_RemoveFaceID): Ditto.
  1.4589 +
  1.4590 +	* src/cache/ftcglyph.c: Include FT_INTERNAL_OBJECTS_H to use
  1.4591 +	TRUE/FALSE macros.
  1.4592 +	(ftc_gnode_compare): New argument `FT_Bool* list_changed' to
  1.4593 +	indicate the change of the cache nodes (anyway, it is always FALSE).
  1.4594 +	(FTC_GNode_Compare): New argument `FT_Bool* list_changed' to be
  1.4595 +	passed to `ftc_gnode_compare'.
  1.4596 +	* src/cache/ftcglyph.h (FTC_GNode_Compare): Ditto.
  1.4597 +
  1.4598 +	* src/cache/ftcsbits.c (ftc_snode_compare): New argument `FT_Bool*
  1.4599 +	list_changed' to indicate the change of the cache nodes, anyway.  It
  1.4600 +	is updated by `FTC_CACHE_TRYLOOP'.
  1.4601 +	(FTC_SNode_Compare): New argument `FT_Bool* list_changed' to be
  1.4602 +	passed to `ftc_snode_compare'.
  1.4603 +	* src/cache/ftcsbits.h (FTC_SNode_Compare): Ditto.
  1.4604 +
  1.4605 +2011-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4606 +
  1.4607 +	[cache] Fit `FTC_GNode_Compare' to `FTC_Node_CompareFunc'.
  1.4608 +
  1.4609 +	* src/cache/ftcglyph.h (FTC_GNode_Compare): Add the 3rd
  1.4610 +	argument `FTC_Cache  cache' to fit FTC_Node_CompareFunc
  1.4611 +	prototype.
  1.4612 +	* src/cache/ftcglyph.c (FTC_GNode_Compare): Ditto. Anyway,
  1.4613 +	`cache' is not used by its child `ftc_gnode_compare'.
  1.4614 +
  1.4615 +2011-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4616 +
  1.4617 +	[cache] Deduplicate the code to get the top node by a hash.
  1.4618 +
  1.4619 +	There are several duplicated code fragments getting the top node
  1.4620 +	from a cache by a given hash, like:
  1.4621 +
  1.4622 +	    idx = hash & cache->mask;
  1.4623 +	    if ( idx < cache->p )
  1.4624 +	      idx = hash & ( cache->mask * 2 + 1 );
  1.4625 +	    pnode = cache->buckets + idx;
  1.4626 +
  1.4627 +	To remove duplication, a cpp-macro to do same work
  1.4628 +	`FTC_NODE__TOP_FOR_HASH' is introduced.  For non-inlined
  1.4629 +	configuration, non-`ftc_get_top_node_for_hash' is also introduced.
  1.4630 +
  1.4631 +	* src/cache/ftccache.h (FTC_NODE__TOP_FOR_HASH): Declare
  1.4632 +	and implement inlined version.
  1.4633 +	(FTC_CACHE_LOOKUP_CMP): Use `FTC_NODE__TOP_FOR_HASH'.
  1.4634 +	* src/cache/ftccache.c (ftc_get_top_node_for_hash): Non-inlined
  1.4635 +	version.
  1.4636 +	(ftc_node_hash_unlink): Use `FTC_NODE__TOP_FOR_HASH'.
  1.4637 +	(ftc_node_hash_link): Ditto.
  1.4638 +	(FTC_Cache_Lookup): Ditto.
  1.4639 +
  1.4640 +2011-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4641 +
  1.4642 +	[cache] inline-specific functions are conditionalized.
  1.4643 +
  1.4644 +	* src/cache/ftcglyph.c (FTC_GNode_Compare): Conditionalized for
  1.4645 +	inlined configuration.  This function is a thin wrapper of
  1.4646 +	`ftc_gnode_compare' for inlined `FTC_CACHE_LOOKUP_CMP' (see
  1.4647 +	`nodecmp' argument).  Under non-inlined configuration,
  1.4648 +	`ftc_gnode_compare' is invoked by `FTC_Cache_Lookup', via
  1.4649 +	`FTC_Cache->clazz.node_compare'.
  1.4650 +
  1.4651 +	* src/cache/ftcglyph.h (FTC_GNode_Compare): Ditto.
  1.4652 +	* src/cache/ftcsbits.c (FTC_SNode_Compare): Ditto, for
  1.4653 +	`ftc_snode_compare'.
  1.4654 +	* src/cache/ftcsbits.h (FTC_SNode_Compare): Ditto.
  1.4655 +
  1.4656 +2011-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4657 +
  1.4658 +	[cache] Correct a type mismatch under non-inlined config.
  1.4659 +
  1.4660 +	* src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): `FTC_GCache_Lookup'
  1.4661 +	takes the node via a pointer `FTC_Node*', differently from cpp-macro
  1.4662 +	`FTC_CACHE_LOOKUP_CMP'.
  1.4663 +
  1.4664 +2011-01-06  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4665 +
  1.4666 +	Update Jamfile to include Bzip2 support.
  1.4667 +
  1.4668 +	* Jamfile: Include src/bzip2 to project.
  1.4669 +	Comments for lzw, gzip, bzip2 are changed to clarify that
  1.4670 +	they are for compressed PCF fonts, not others.
  1.4671 +	(e.g. compressed BDF fonts are not supported yet)
  1.4672 +
  1.4673 +2011-01-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4674 +
  1.4675 +	Update Symbian project files to include Bzip2 support.
  1.4676 +
  1.4677 +	Currently, it provides `FT_Stream_OpenBzip2' that returns
  1.4678 +	unimplemented error always, to prevent unresolved symbol
  1.4679 +	error for the applications designed for Unix systems.
  1.4680 +
  1.4681 +	* builds/symbian/bld.inf: Include ftbzip2.h.
  1.4682 +	* builds/symbian/freetype.mmp: Include ftbzip2.c.
  1.4683 +
  1.4684 +2011-01-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4685 +
  1.4686 +	Update classic MacOS makefiles to include Bzip2 support.
  1.4687 +
  1.4688 +	Currently, it provides `FT_Stream_OpenBzip2' that returns
  1.4689 +	unimplemented error always, to prevent unresolved symbol
  1.4690 +	error for the applications designed for Unix systems.
  1.4691 +
  1.4692 +	* builds/mac/FreeType.m68k_cfm.make.txt: Include ftbzip2.c.o.
  1.4693 +	* builds/mac/FreeType.m68k_far.make.txt: Ditto.
  1.4694 +	* builds/mac/FreeType.ppc_carbon.make.txt: Include ftbzip2.c.x.
  1.4695 +	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
  1.4696 +
  1.4697 +2011-01-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4698 +
  1.4699 +	Update Amiga makefiles to include Bzip2 support.
  1.4700 +
  1.4701 +	Currently, it provides `FT_Stream_OpenBzip2' that returns
  1.4702 +	unimplemented error always, to prevent unresolved symbol
  1.4703 +	error for the applications designed for Unix systems.
  1.4704 +
  1.4705 +	* builds/amiga/makefile: Include bzip2.ppc.o built from ftbzip2.c.
  1.4706 +	* builds/amiga/makefile.os4: Include bzip2.o built from ftbzip2.c.
  1.4707 +	* builds/amiga/smakefile: Ditto.
  1.4708 +
  1.4709 +2011-01-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4710 +
  1.4711 +	Update pkg-config tools to reflect Bzip2 support.
  1.4712 +
  1.4713 +	* builds/unix/freetype-config.in: Include `-lbz2' to
  1.4714 +	--libs output, if built with Bzip2 support.
  1.4715 +	* builds/unix/freetype2.in: Ditto.
  1.4716 +
  1.4717 +2011-01-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4718 +
  1.4719 +	* builds/unix/configure.raw: Remove `SYSTEM_BZ2LIB' macro.
  1.4720 +
  1.4721 +	SYSTEM_ZLIB is used to switch the builtin zlib source
  1.4722 +	or system zlib source out of FreeType2.  But ftbzip2
  1.4723 +	module has no builtin bzip2 library and always requires
  1.4724 +	system bzip2 library.  Thus SYSTEM_BZ2LIB is always yes,
  1.4725 +	it is not used.
  1.4726 +
  1.4727 +2011-01-03  Werner Lemberg  <wl@gnu.org>
  1.4728 +
  1.4729 +	*/rules.mk: Handle `*pic.c' files.
  1.4730 +
  1.4731 +2010-12-31  Werner Lemberg  <wl@gnu.org>
  1.4732 +
  1.4733 +	* src/cff/cfftypes.h (CFF_MAX_CID_FONTS): Increase to 64.
  1.4734 +	Problem reported by Tom Bishop <wenlin@wenlin.com>.
  1.4735 +
  1.4736 +2010-12-31  Werner Lemberg  <wl@gnu.org>
  1.4737 +
  1.4738 +	Improve bzip2 support.
  1.4739 +
  1.4740 +	* include/freetype/ftmoderr.h: Add bzip2.
  1.4741 +
  1.4742 +	* docs/INSTALL.ANY, docs/CHANGES: Updated.
  1.4743 +
  1.4744 +	* src/pcf/README: Updated.
  1.4745 +	* include/freetype/internal/pcftypes.h: Obsolete, removed.
  1.4746 +
  1.4747 +2010-12-31  Joel Klinghed  <the_jk@yahoo.com>
  1.4748 +
  1.4749 +	Add bzip2 compression support to handle *.pcf.bz2 files.
  1.4750 +
  1.4751 +	* builds/unix/configure.raw: Test for libbz2 library.
  1.4752 +
  1.4753 +	* devel/ftoption.h, include/freetype/config/ftoption.h
  1.4754 +	(FT_CONFIG_OPTION_USE_BZIP2): Define.
  1.4755 +	* include/freetype/config/ftheader.h (FT_BZIP2_H): Define.
  1.4756 +
  1.4757 +	* include/freetype/ftbzip2.h: New file.
  1.4758 +
  1.4759 +	* src/bzip2/*: New files.
  1.4760 +
  1.4761 +	* src/pcf/pcf.h: s/gzip_/comp_/.
  1.4762 +	* src/pcf/pcfdrvr.c: Include FT_BZIP2_H.
  1.4763 +	s/gzip_/comp_/.
  1.4764 +	(PCF_Face_Init): Handle bzip2 compressed files.
  1.4765 +
  1.4766 +	* docs/formats.txt, modules.cfg: Updated.
  1.4767 +
  1.4768 +2010-12-25  Harsha  <mm.harsha@gmail.com>
  1.4769 +
  1.4770 +	Apply Savannah patch #7422.
  1.4771 +
  1.4772 +	If we encounter a space in a string then the sbit buffer is NULL,
  1.4773 +	height and width are 0s.  So the check in ftc_snode_compare will
  1.4774 +	always pass for spaces (comparision with 255).  Here the comments
  1.4775 +	above the condition are proper but the implementation is not.  When
  1.4776 +	we create an snode I think it is the proper way to initialize the
  1.4777 +	width to 255 and then put a check for being equal to 255 in snode
  1.4778 +	compare function.
  1.4779 +
  1.4780 +	* src/cache/ftcsbits.c (FTC_SNode_New): Initialize sbit widths with
  1.4781 +	value 255.
  1.4782 +	(ftc_snode_compare): Fix condition.
  1.4783 +
  1.4784 +2010-12-13  Werner Lemberg  <wl@gnu.org>
  1.4785 +
  1.4786 +	Fix parameter handling of `FT_Set_Renderer'.
  1.4787 +	Reported by Kirill Tishin <siege@bk.ru>.
  1.4788 +
  1.4789 +	* src/base/ftobjs.c (FT_Set_Renderer): Increment `parameters'.
  1.4790 +
  1.4791 +2010-12-09  Werner Lemberg  <wl@gnu.org>
  1.4792 +
  1.4793 +	[cff] Allow `hlineto' and `vlineto' without arguments.
  1.4794 +
  1.4795 +	We simply ignore such instructions.  This is invalid, but it doesn't
  1.4796 +	harm; and indeed, there exist such subsetted fonts in PDFs.
  1.4797 +
  1.4798 +	Reported by Albert Astals Cid <aacid@kde.org>.
  1.4799 +
  1.4800 +	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
  1.4801 +	[cff_op_hlineto]: Ignore instruction if there aren't any arguments
  1.4802 +	on the stack.
  1.4803 +
  1.4804 +2010-11-28  Werner Lemberg  <wl@gnu.org>
  1.4805 +
  1.4806 +	* Version 2.4.4 released.
  1.4807 +	=========================
  1.4808 +
  1.4809 +
  1.4810 +	Tag sources with `VER-2-4-4'.
  1.4811 +
  1.4812 +	* docs/CHANGES: Updated.
  1.4813 +
  1.4814 +	* docs/VERSION.DLL: Update documentation and bump version number to
  1.4815 +	2.4.4
  1.4816 +
  1.4817 +	* README, Jamfile (RefDoc),
  1.4818 +	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  1.4819 +	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  1.4820 +	builds/win32/visualc/freetype.dsp,
  1.4821 +	builds/win32/visualc/freetype.vcproj,
  1.4822 +	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  1.4823 +	builds/win32/visualce/freetype.vcproj,
  1.4824 +	builds/win32/visualce/index.html,
  1.4825 +	builds/wince/vc2005-ce/freetype.vcproj,
  1.4826 +	builds/wince/vc2005-ce/index.html,
  1.4827 +	builds/wince/vc2008-ce/freetype.vcproj,
  1.4828 +	builds/wince/vc2008-ce/index.html: s/2.4.3/2.4.4/, s/243/244/.
  1.4829 +
  1.4830 +	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
  1.4831 +
  1.4832 +	* builds/unix/configure.raw (version_info): Set to 12:2:6.
  1.4833 +
  1.4834 +2010-11-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.4835 +
  1.4836 +	[ftsmooth]: Minor code simplification.
  1.4837 +
  1.4838 +	* src/smooth/ftgrays (gray_render_cubic): Do only one comparison
  1.4839 +	instead of two.
  1.4840 +
  1.4841 +2010-11-26  Johnson Y. Yan  <yinsen_yan@foxitsoftware.com>
  1.4842 +
  1.4843 +	[truetype] Better multi-threading support.
  1.4844 +
  1.4845 +	* src/truetype/ttinterp.c (TT_Load_Context): Reset glyph zone
  1.4846 +	references.
  1.4847 +
  1.4848 +2010-11-23  John Tytgat  <John.Tytgat@esko.com>
  1.4849 +
  1.4850 +	* src/psaux/t1decode.c (t1_decoder_parse_charstring): Expand
  1.4851 +	start_point, check_points, add_point, add_point1, close_contour
  1.4852 +	macros.
  1.4853 +	Remove add_contour macro.
  1.4854 +	Return error code from t1_builder_start_point and
  1.4855 +	t1_builder_check_points when there was one (instead of returning 0).
  1.4856 +
  1.4857 +2010-11-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4858 +
  1.4859 +	[truetype] Identify the tricky fonts by cvt/fpgm/prep checksums.
  1.4860 +	Some Latin TrueType fonts are still expected to be unhinted.
  1.4861 +	Fix Savannah bug #31645.
  1.4862 +
  1.4863 +	* src/truetype/ttobjs.c (tt_check_trickyness): Divided to...
  1.4864 +	(tt_check_trickyness_family): this checking family name, and
  1.4865 +	(tt_check_trickyness_sfnt_ids): this checking cvt/fpgm/prep.
  1.4866 +	(tt_get_sfnt_checksum): Function to retrieve the sfnt checksum
  1.4867 +	for specified subtable even if cleared by lazy PDF generators.
  1.4868 +	(tt_synth_sfnt_checksum): Function to calculate the checksum.
  1.4869 +
  1.4870 +2010-11-18  Werner Lemberg  <wl@gnu.org>
  1.4871 +
  1.4872 +	[truetype] Fix `loca' handling for inconsistent number of glyphs.
  1.4873 +	Reported by Johnson Y. Yan <yinsen_yan@foxitsoftware.com>.
  1.4874 +
  1.4875 +	* src/truetype/ttpload.c (tt_face_load_loca): While sanitizing,
  1.4876 +	handle case where `loca' is the last table in the font.
  1.4877 +
  1.4878 +2010-11-18  Werner Lemberg  <wl@gnu.org>
  1.4879 +
  1.4880 +	[sfnt] Ignore all errors while loading `OS/2' table.
  1.4881 +	Suggested by Johnson Y. Yan <yinsen_yan@foxitsoftware.com>.
  1.4882 +
  1.4883 +	* src/sfnt/sfobjs.c (sfnt_load_face): Do it.
  1.4884 +
  1.4885 +2010-11-18  Johnson Y. Yan  <yinsen_yan@foxitsoftware.com>
  1.4886 +
  1.4887 +	[type1] Fix matrix normalization.
  1.4888 +
  1.4889 +	* src/type1/t1load.c (parse_font_matrix): Handle sign of scaling
  1.4890 +	factor.
  1.4891 +
  1.4892 +2010-11-18  Werner Lemberg  <wl@gnu.org>
  1.4893 +
  1.4894 +	[type1] Improve guard against malformed data.
  1.4895 +	Based on a patch submitted by Johnson Y. Yan
  1.4896 +	<yinsen_yan@foxitsoftware.com>
  1.4897 +
  1.4898 +	* src/type1/t1load.c (read_binary_data): Check `size'.
  1.4899 +
  1.4900 +2010-11-17  Werner Lemberg  <wl@gnu.org>
  1.4901 +
  1.4902 +	[sfnt] While tracing, output table checksums also.
  1.4903 +
  1.4904 +	* src/sfnt/ttload.c (tt_face_load_font_dir): Do it.
  1.4905 +
  1.4906 +2010-11-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4907 +
  1.4908 +	[UVS] Fix `find_variant_selector_charmap', Savannah bug #31545.
  1.4909 +
  1.4910 +	Since 2010-07-04, `find_variant_selector_charmap' returns
  1.4911 +	the first cmap subtable always under rogue-compatible
  1.4912 +	configuration, it causes NULL pointer dereference and
  1.4913 +	make UVS-related functions crashed.
  1.4914 +
  1.4915 +	* src/base/ftobjs.c (Fix find_variant_selector_charmap):
  1.4916 +	Returns UVS cmap correctly.
  1.4917 +
  1.4918 +2010-11-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.4919 +
  1.4920 +	[ftsmooth] Improve rendering.
  1.4921 +
  1.4922 +	* src/smooth/ftsmooth.c (gray_render_conic): Since version 2.4.3,
  1.4923 +	cubic deviations have been estimated _after_ UPSCALE, whereas
  1.4924 +	conic ones have been evaluated _before_ UPSCALE, which produces
  1.4925 +	inferior rendering results.  Fix this.
  1.4926 +	Partially undo change from 2010-10-15 by using ONE_PIXEL/4; this has
  1.4927 +	been tested with demo images sent to the mailing list.  See
  1.4928 +
  1.4929 +	  http://lists.gnu.org/archive/html/freetype-devel/2010-10/msg00055.html
  1.4930 +
  1.4931 +	and later mails in this thread.
  1.4932 +
  1.4933 +2010-10-28  Werner Lemberg  <wl@gnu.org>
  1.4934 +
  1.4935 +	[ftraster] Minor fixes.
  1.4936 +
  1.4937 +	Reported by Tom Bishop <wenlin@wenlin.com>.
  1.4938 +
  1.4939 +	* src/raster/ftraster.c (ULong): Remove unused typedef.
  1.4940 +	(TWorker): Remove unused variable `precision_mask'.
  1.4941 +
  1.4942 +2010-10-28  Werner Lemberg  <wl@gnu.org>
  1.4943 +
  1.4944 +	[ftraster] Fix rendering.
  1.4945 +
  1.4946 +	Problem reported by Tom Bishop <wenlin@wenlin.com>; see
  1.4947 +	thread starting with
  1.4948 +
  1.4949 +	  http://lists.gnu.org/archive/html/freetype/2010-10/msg00049.html
  1.4950 +
  1.4951 +	* src/raster/ftraster.c (Line_Up): Replace FMulDiv with SMulDiv
  1.4952 +	since the involved multiplication exceeds 32 bits.
  1.4953 +
  1.4954 +2010-10-25  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4955 +
  1.4956 +	Revert a change of `_idx' type in `FTC_CACHE_LOOKUP_CMP'.
  1.4957 +
  1.4958 +	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Revert
  1.4959 +	the type of `_idx' from FT_PtrDist (by previous change)
  1.4960 +	to original FT_UFast, to match with FT_CacheRec.
  1.4961 +
  1.4962 +2010-10-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.4963 +
  1.4964 +	[cache] Change the hash types to FT_PtrDist.
  1.4965 +
  1.4966 +	On LLP64 platforms (e.g. Win64), FT_ULong (32-bit)
  1.4967 +	variables are inappropriate to calculate hash values
  1.4968 +	from the memory address (64-bit).  The hash variables
  1.4969 +	are extended from FT_ULong to FT_PtrDist and new
  1.4970 +	hashing macro functions are introduced.  The hash
  1.4971 +	values on 16-bit memory platforms are changed, but
  1.4972 +	ILP32 and LP64 are not changed.  The hash value in
  1.4973 +	the cache subsystem is not reverted to the memory
  1.4974 +	address, so using signed type FT_PtrDist is safe.
  1.4975 +
  1.4976 +	* src/cache/ftccache.h (_FTC_FACE_ID_HASH): New hash
  1.4977 +	function to replace `FTC_FACE_ID_HASH' for portability.
  1.4978 +	* src/cache/ftcmanag.h (FTC_SCALER_HASH): Replace
  1.4979 +	`FTC_FACE_ID_HASH' by `_FTC_FACE_ID_HASH'.
  1.4980 +	* src/cache/ftccmap.c (FTC_CMAP_HASH): Ditto.
  1.4981 +
  1.4982 +	* src/cache/ftccache.h (FTC_NodeRec): The type of the
  1.4983 +	member `hash' is changed from FT_UInt32 to FT_PtrDist.
  1.4984 +
  1.4985 +	* src/cache/ftccache.h (FTC_Cache_Lookup): The type of the
  1.4986 +	argument `hash' is changed from FT_UInt32 to FT_PtrDist.
  1.4987 +	(FTC_Cache_NewNode): Ditto.
  1.4988 +	* src/cache/ftccache.c (ftc_cache_add): Ditto.
  1.4989 +	(FTC_Cache_Lookup): Ditto.  (FTC_Cache_NewNode): Ditto.
  1.4990 +	* src/cache/ftcglyph.h (FTC_GCache_Lookup): Ditto.
  1.4991 +	* src/cache/ftcglyph.c (FTC_GCache_Lookup): Ditto.
  1.4992 +
  1.4993 +	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): The type
  1.4994 +	of the internal variable `hash' is changed to FT_PtrDist
  1.4995 +	from FT_UInt32.  (FTC_ImageCache_LookupScaler): Ditto.
  1.4996 +	(FTC_SBitCache_Lookup): Ditto.
  1.4997 +	(FTC_SBitCache_LookupScaler): Ditto.
  1.4998 +	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Ditto.
  1.4999 +	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): Ditto.
  1.5000 +	Also the type of the internal variable `_idx' is changed to
  1.5001 +	FT_PtrDist from FT_UFast for better pointer calculation.
  1.5002 +
  1.5003 +2010-10-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5004 +
  1.5005 +	[cache] Hide internal macros incompatible with LLP64.
  1.5006 +
  1.5007 +	`FT_POINTER_TO_ULONG', `FTC_FACE_ID_HASH', and
  1.5008 +	`FTC_IMAGE_TYPE_HASH' are enclosed by
  1.5009 +	FT_CONFIG_OPTION_OLD_INTERNALS and hidden from
  1.5010 +	normal clients.
  1.5011 +
  1.5012 +	For the history of these macros, see the investigation:
  1.5013 +	http://lists.gnu.org/archive/html/freetype/2010-10/msg00022.html
  1.5014 +
  1.5015 +2010-10-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5016 +
  1.5017 +	Change the type of `FT_MEM_VAL' from FT_ULong to FT_PtrDist.
  1.5018 +
  1.5019 +	On LLP64 platforms (e.g. Win64), unsigned long (32-bit)
  1.5020 +	cannot cover the memory address (64-bit).  `FT_MEM_VAL' is
  1.5021 +	used for hashing only and not dereferred, so using signed
  1.5022 +	type FT_PtrDist is safe.
  1.5023 +
  1.5024 +	* src/base/ftdbgmem.c (FT_MEM_VAL): Change the type of the
  1.5025 +	return value from FT_ULong to FT_PtrDist.
  1.5026 +	(ft_mem_table_resize): The type of hash is changed to
  1.5027 +	FT_PtrDist.  (ft_mem_table_get_nodep): Ditto.
  1.5028 +
  1.5029 +2010-10-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5030 +
  1.5031 +	Replace "%lx" for memory address by "%p", LLP64 platforms.
  1.5032 +
  1.5033 +	On LLP64 platforms (e.g. Win64), long (32-bit) cannot cover
  1.5034 +	the memory address (64-bit).  Also the casts from the pointer
  1.5035 +	type to long int should be removed to preserve the address
  1.5036 +	correctly.
  1.5037 +
  1.5038 +	* src/raster/ftraster.c (New_Profile): Replace "%lx" by "%p".
  1.5039 +	(End_Profile) Ditto.
  1.5040 +	* src/truetype/ttinterp.c (Init_Context): Ditto.
  1.5041 +
  1.5042 +2010-10-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.5043 +
  1.5044 +	Fix thinko in spline flattening.
  1.5045 +
  1.5046 +	FT_MAX_CURVE_DEVIATION is dependent on the value of ONE_PIXEL.
  1.5047 +
  1.5048 +	* src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): Remove it and
  1.5049 +	replace it everywhere with ONE_PIXEL/8.
  1.5050 +
  1.5051 +2010-10-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5052 +
  1.5053 +	[raccess] Skip unrequired resource access rules by Darwin VFS.
  1.5054 +
  1.5055 +	When a resource fork access rule by Darwin VFS could open the
  1.5056 +	resource fork but no font is found in it, the rest of rules
  1.5057 +	by Darwin VFS are skipped.  It reduces the warnings of the
  1.5058 +	deprecated resource fork access method by recent Darwin kernel.
  1.5059 +	Fix MacPorts ticket #18859:
  1.5060 +		http://trac.macports.org/ticket/18859
  1.5061 +
  1.5062 +	* src/base/ftobjs.c (load_face_in_embedded_rfork):
  1.5063 +	When `FT_Stream_New' returns FT_Err_Cannot_Open_Stream, it
  1.5064 +	means that the file is possible to be `fopen'-ed but zero-sized.
  1.5065 +	Also there is a case that the resource fork is not zero-sized,
  1.5066 +	but no supported font exists in it.  If a rule by Darwin VFS
  1.5067 +	falls into such cases, there is no need to try other Darwin VFS
  1.5068 +	rules anymore.  Such cases are marked by vfs_rfork_has_no_font.
  1.5069 +	If it is TRUE, the Darwin VFS rules are skipped.
  1.5070 +
  1.5071 +2010-10-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5072 +
  1.5073 +	[raccess] Grouping resource access rules based on Darwin VFS.
  1.5074 +
  1.5075 +	MacOS X/Darwin kernel supports a few tricky methods to access
  1.5076 +	a resource fork via ANSI C or POSIX interface.  Current resource
  1.5077 +	fork accessor tries all possible methods to support all kernels.
  1.5078 +	But if a method could open a resource fork but no font is found,
  1.5079 +	there is no need to try other methods older than tested method.
  1.5080 +	To determine whether the rule index is for Darwin VFS, a local
  1.5081 +	function `ftrfork.c::raccess_rule_by_darwin_vfs' is introduced.
  1.5082 +	To use this function in ftobjs.c etc but it should be inlined,
  1.5083 +	it is exposed by ftbase.h.
  1.5084 +
  1.5085 +	* src/base/ftrfork.c (FT_RFork_Rule): New enum type to identify
  1.5086 +	the rules to access the resource fork.
  1.5087 +	(raccess_guess_rec): New structure to bind the rule function and
  1.5088 +	rule enum type.
  1.5089 +	(FT_Raccess_Guess): The list of the rule functions is replaced by
  1.5090 +	(raccess_guess_table): This.  This is exposed to be used by other
  1.5091 +	intra module functions.
  1.5092 +	(raccess_rule_by_darwin_vfs): A function to return a boolean
  1.5093 +	if the rule specified by the rule index is based on Darwin VFS.
  1.5094 +
  1.5095 +2010-10-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5096 +
  1.5097 +	Prevent to open a FT_Stream for zero-sized file on non-Unix.
  1.5098 +
  1.5099 +	builds/unix/ftsystem.c prevents to open an useless stream from
  1.5100 +	zero-sized file and returns FT_Err_Cannot_Open_Stream, but the
  1.5101 +	stream drivers for ANSI C, Amiga and VMS return useless streams.
  1.5102 +	For cross-platform consistency, all stream drivers should act
  1.5103 +	same.
  1.5104 +
  1.5105 +	* src/base/ftsystem.c (FT_Stream_Open): If the size of the opened
  1.5106 +	file is zero, FT_Err_Cannot_Open_Stream is returned.
  1.5107 +	* builds/amiga/src/base/ftsystem.c (FT_Stream_Open): Ditto.
  1.5108 +	* src/vms/ftsystem.c (FT_Stream_Open): Ditto.
  1.5109 +
  1.5110 +2010-10-12  Werner Lemberg  <wl@gnu.org>
  1.5111 +
  1.5112 +	[truetype] Fix Savannah bug #31310.
  1.5113 +
  1.5114 +	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against
  1.5115 +	invalid `runcnt' values.
  1.5116 +
  1.5117 +2010-10-08  Chris Liddell  <chris.liddell@artifex.com>
  1.5118 +
  1.5119 +	[sfnt] Fix Savannah bug #31275.
  1.5120 +
  1.5121 +	* src/sfnt/ttpost.c: Include FT_INTERNAL_DEBUG_H.
  1.5122 +
  1.5123 +2010-10-06  Werner Lemberg  <wl@gnu.org>
  1.5124 +
  1.5125 +	[truetype] Improve error handling of `SHZ' bytecode instruction.
  1.5126 +	Problem reported by Chris Evans <scarybeasts@gmail.com>.
  1.5127 +
  1.5128 +	* src/truetype/ttinterp.c (Ins_SHZ): Check `last_point'.
  1.5129 +
  1.5130 +2010-10-05  Werner Lemberg  <wl@gnu.org>
  1.5131 +
  1.5132 +	Fix Savannah bug #31253.
  1.5133 +	Patch submitted by an anonymous reporter.
  1.5134 +
  1.5135 +	* configure: Use `awk' instead of `sed' to manipulate output of `ls
  1.5136 +	-id'.
  1.5137 +
  1.5138 +2010-10-03  Werner Lemberg  <wl@gnu.org>
  1.5139 +
  1.5140 +	* Version 2.4.3 released.
  1.5141 +	=========================
  1.5142 +
  1.5143 +
  1.5144 +	Tag sources with `VER-2-4-3'.
  1.5145 +
  1.5146 +	* docs/CHANGES: Updated.
  1.5147 +
  1.5148 +	* docs/VERSION.DLL: Update documentation and bump version number to
  1.5149 +	2.4.3
  1.5150 +
  1.5151 +	* README, Jamfile (RefDoc),
  1.5152 +	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  1.5153 +	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  1.5154 +	builds/win32/visualc/freetype.dsp,
  1.5155 +	builds/win32/visualc/freetype.vcproj,
  1.5156 +	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  1.5157 +	builds/win32/visualce/freetype.vcproj,
  1.5158 +	builds/win32/visualce/index.html,
  1.5159 +	builds/wince/vc2005-ce/freetype.vcproj,
  1.5160 +	builds/wince/vc2005-ce/index.html,
  1.5161 +	builds/wince/vc2008-ce/freetype.vcproj,
  1.5162 +	builds/wince/vc2008-ce/index.html: s/2.4.2/2.4.3/, s/242/243/.
  1.5163 +
  1.5164 +	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
  1.5165 +
  1.5166 +	* builds/unix/configure.raw (version_info): Set to 12:1:6.
  1.5167 +
  1.5168 +2010-10-03  Werner Lemberg  <wl@gnu.org>
  1.5169 +
  1.5170 +	Avoid `configure' issues with symbolic links.
  1.5171 +	Based on a patch from Alexander Stohr <Alexander.Stohr@gmx.de>.
  1.5172 +
  1.5173 +	* configure: Compare directories using `ls -id'.
  1.5174 +	Check existence of `reference' subdirectory before creating it.
  1.5175 +
  1.5176 +2010-10-02  Werner Lemberg  <wl@gnu.org>
  1.5177 +
  1.5178 +	[sfnt] Fix Savannah bug #31088 (sort of).
  1.5179 +
  1.5180 +	* src/sfnt/ttload.c (tt_face_load_maxp): Always allocate at least 64
  1.5181 +	function entries.
  1.5182 +
  1.5183 +2010-10-02  Werner Lemberg  <wl@gnu.org>
  1.5184 +
  1.5185 +	[smooth] Fix splitting of cubics for negative values.
  1.5186 +
  1.5187 +	Reported by Róbert Márki <gsmiko@gmail.com>; see
  1.5188 +	http://lists.gnu.org/archive/html/freetype/2010-09/msg00019.html.
  1.5189 +
  1.5190 +	* src/smooth/ftgrays.c (gray_render_cubic): Fix thinko.
  1.5191 +
  1.5192 +2010-10-01  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5193 +
  1.5194 +	[truetype] Fix Savannah bug #31040.
  1.5195 +
  1.5196 +	* src/truetype/ttinterp.c (free_buffer_in_size): Remove.
  1.5197 +	(TT_RunIns): Updated.
  1.5198 +
  1.5199 +2010-09-20  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5200 +
  1.5201 +	[sfnt] Make error message filling NULL names less verbose.
  1.5202 +
  1.5203 +	* src/sfnt/ttpost.c (load_format_20): Showing 1 summary message
  1.5204 +	when we fill `post' names by NULL, instead of per-entry message.
  1.5205 +
  1.5206 +2010-09-20  Graham Asher  <graham.asher@btinternet.com>
  1.5207 +	    David Bevan  <david.bevan@pb.com>
  1.5208 +
  1.5209 +	[smooth] Fix and improve spline flattening.
  1.5210 +
  1.5211 +	This fixes the flattening of cubic, S-shaped curves and speeds up
  1.5212 +	the handling of both the conic and cubic arcs.
  1.5213 +
  1.5214 +	See the discussions on the freetype-devel mailing list in late
  1.5215 +	August and September 2010 for details.
  1.5216 +
  1.5217 +	* src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): New macro.
  1.5218 +	(TWorker): Remove `conic_level' and `cubic_level' elements.
  1.5219 +	(gray_render_conic): Simplify algorithm.
  1.5220 +	(gray_render_cubic): New algorithm; details are given in the code
  1.5221 +	comments.
  1.5222 +	(gray_convert_glyph): Remove heuristics.
  1.5223 +
  1.5224 +2010-09-19  Werner Lemberg  <wl@gnu.org>
  1.5225 +
  1.5226 +	Minor fixes.
  1.5227 +
  1.5228 +	* src/cff/cffload.c (cff_charset_compute_cids): `charset->sids[i]'
  1.5229 +	is `FT_UShort'.
  1.5230 +	(cff_index_access_element): Don't use additions in comparison.
  1.5231 +	* src/sfnt/ttpost.c (load_format_20): Make `post_limit' of type
  1.5232 +	`FT_Long'.
  1.5233 +	Don't use additions in comparison.
  1.5234 +	Improve tracing messages.
  1.5235 +	(load_format_25, load_post_names): Make `post_limit' of type
  1.5236 +	`FT_Long'.
  1.5237 +
  1.5238 +2010-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5239 +
  1.5240 +	[cff] Truncate the element length at the end of the stream.
  1.5241 +	See Savannah bug #30975.
  1.5242 +
  1.5243 +	* src/cff/cffload.c (cff_index_access_element): `off2', the offset
  1.5244 +	to the next element is truncated at the end of the stream to prevent
  1.5245 +	invalid I/O.  As `off1', the offset to the requested element has
  1.5246 +	been checked by `FT_STREAM_SEEK', `off2' should be checked
  1.5247 +	similarly.
  1.5248 +
  1.5249 +2010-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5250 +
  1.5251 +	[cff] Ignore CID > 0xFFFFU.
  1.5252 +	See Savannah bug #30975.
  1.5253 +
  1.5254 +	* src/cff/cffload.c (cff_charset_compute_cids): Ignore CID if
  1.5255 +	greater than 0xFFFFU.  CFF font spec does not mention maximum CID in
  1.5256 +	the font, but PostScript and PDF spec define that maximum CID is
  1.5257 +	0xFFFFU.
  1.5258 +
  1.5259 +2010-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5260 +
  1.5261 +	[cff] Make trace message in` cff_charset_load' verbose.
  1.5262 +	See Savannah bug #30975.
  1.5263 +
  1.5264 +	* src/cff/cffload.c (cff_charset_load): Report the original `nleft'
  1.5265 +	and truncated `nleft'.
  1.5266 +
  1.5267 +2010-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5268 +
  1.5269 +	[cff] Correct `max_cid' from CID array length to max CID.
  1.5270 +	See Savannah bug #30975.
  1.5271 +
  1.5272 +	* src/cff/cffload.c (cff_charset_compute_cids): Don't increment
  1.5273 +	max_cid after detecting max CID.  The array CFF_Charset->cids is
  1.5274 +	allocated by max_cid + 1.
  1.5275 +	(cff_charset_cid_to_gindex): Permit CID is less than or equal to
  1.5276 +	CFF_Charset->max_cid.
  1.5277 +	* src/cff/cffobjs.c (cff_face_init): FT_Face->num_glyphs is
  1.5278 +	calculated as CFF_Charset->max_cid + 1.
  1.5279 +
  1.5280 +2010-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5281 +
  1.5282 +	[truetype] Sanitize the broken offsets in `loca'.
  1.5283 +	See Savannah bug #31040.
  1.5284 +
  1.5285 +	* src/truetype/ttpload.c (tt_face_get_location): If `pos1', the
  1.5286 +	offset to the requested entry in `glyf' exceeds the end of the
  1.5287 +	table, return offset=0, length=0.  If `pos2', the offset to the next
  1.5288 +	entry in `glyf' exceeds the end of the table, truncate the entry
  1.5289 +	length at the end of `glyf' table.
  1.5290 +
  1.5291 +2010-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5292 +
  1.5293 +	[sfnt] Prevent overrunning in `post' table parser.
  1.5294 +	See Savannah bug #31040.
  1.5295 +
  1.5296 +	* src/sfnt/ttpost.c (load_post_names): Get the length of `post'
  1.5297 +	table and pass the limit of `post' table to `load_format_20' and
  1.5298 +	`load_format_25'.
  1.5299 +	(load_format_20): Stop the parsing when we reached at the limit of
  1.5300 +	`post' table.  If more glyph names are required, they are filled by
  1.5301 +	NULL names.
  1.5302 +
  1.5303 +2010-09-17  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5304 +
  1.5305 +	[truetype] Don't duplicate size->twilight structure to be freed.
  1.5306 +	See Savannah bug #31040 for detail.
  1.5307 +
  1.5308 +	* src/truetype/ttinterp.c (free_buffer_in_size): Don't duplicate
  1.5309 +	FT_GlyphZoneRec size->twilight to be freed.  If duplicated,
  1.5310 +	`FT_FREE' erases the duplicated pointers only and leave original
  1.5311 +	pointers.  They can cause the double-free crash when the burst
  1.5312 +	errors occur in TrueType interpreter and `free_buffer_in_size' is
  1.5313 +	invoked repeatedly.
  1.5314 +
  1.5315 +2010-09-15  Werner Lemberg  <wl@gnu.org>
  1.5316 +
  1.5317 +	Make bytecode debugging with FontForge work again.
  1.5318 +
  1.5319 +	* src/truetype/ttinterp.c (TT_RunIns): Don't call
  1.5320 +	`free_buffer_in_size' in case of error if a debugger is active.
  1.5321 +
  1.5322 +2010-09-14  Werner Lemberg  <wl@gnu.org>
  1.5323 +
  1.5324 +	Improve tracing messages.
  1.5325 +
  1.5326 +	* src/truetype/ttinterp.c (TT_RunIns): Improve wording of tracing
  1.5327 +	message.
  1.5328 +	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): Add
  1.5329 +	tracing message.
  1.5330 +	* src/truetype/ttgload.c (tt_loader_init): Add tracing message.
  1.5331 +	* src/cache/ftcsbits.c (ftc_snode_load): Emit tracing message if
  1.5332 +	glyph doesn't fit into a small bitmap container.
  1.5333 +
  1.5334 +2010-09-13  Werner Lemberg  <wl@gnu.org>
  1.5335 +
  1.5336 +	Fix minor issues reported by <muktha.narayan@wipro.com>.
  1.5337 +
  1.5338 +	* src/autofit/aflatin.c (af_latin_compute_stem_width): Remove
  1.5339 +	redundant conditional check.
  1.5340 +	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Ditto.
  1.5341 +	* src/cff/cffload.c (cff_encoding_load): Remove conditional check
  1.5342 +	which always evaluates to `true'.
  1.5343 +	* src/pshinter/pshalgo.c (ps_glyph_interpolate_strong_points):
  1.5344 +	Ditto.
  1.5345 +	* src/truetype/ttinterp.c (Ins_IUP): Ditto.
  1.5346 +	* src/cid/cidgload.c (cid_slot_load_glyph): Don't check for NULL if
  1.5347 +	value is already dereferenced.
  1.5348 +	* src/winfonts/winfnt.c (FNT_Load_Glyph): Fix check of `face'.
  1.5349 +
  1.5350 +2010-08-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5351 +
  1.5352 +	Ignore the environmental setting of LIBTOOL.
  1.5353 +	Patch is suggested by Adrian Bunk, to prevent unexpected
  1.5354 +	reflection of environmental LIBTOOL.  See:
  1.5355 +	http://savannah.nongnu.org/patch/?7290
  1.5356 +
  1.5357 +	* builds/unix/unix-cc.in: LIBTOOL is unconditionally set to
  1.5358 +	$(FT_LIBTOOL_DIR)/libtool.  FT_LIBTOOL_DIR is set to $(BUILD_DIR)
  1.5359 +	by default.
  1.5360 +	* configure: When configured for the building out of source tee,
  1.5361 +	FT_LIBTOOL_DIR is set to $(OBJ_DIR).
  1.5362 +
  1.5363 +2010-08-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5364 +
  1.5365 +	[truetype] Decrease the trace level catching the interpreter error.
  1.5366 +
  1.5367 +	* src/truetype/ttinterp.c (TT_RunIns): Decrease the trace level
  1.5368 +	showing the error when the interpreter returns with an error,
  1.5369 +	from` FT_TRACE7' to `FT_TRACE1'.
  1.5370 +
  1.5371 +2010-08-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5372 +
  1.5373 +	[truetype] Prevent bytecode reuse after the interpretation error.
  1.5374 +
  1.5375 +	* src/truetype/ttinterp.c (free_buffer_in_size): New function to
  1.5376 +	free the buffer allocated during the interpretation of this glyph.
  1.5377 +	(TT_RunIns): Unset FT_Face->size->{cvt_ready,bytecode_ready} if
  1.5378 +	an error occurs in the bytecode interpretation.  The interpretation
  1.5379 +	of invalid bytecode may break the function definitions and referring
  1.5380 +	them in later interpretation is danger.  By unsetting these flags,
  1.5381 +	`fpgm' and `prep' tables are executed again in next interpretation.
  1.5382 +
  1.5383 +	This fixes Savannah bug #30798, reported by Robert Święcki.
  1.5384 +
  1.5385 +2010-08-29  Werner Lemberg  <wl@gnu.org>
  1.5386 +
  1.5387 +	[ftraster] Pacify compiler.
  1.5388 +
  1.5389 +	* src/raster/ftraster.c (ft_black_new) [_STANDALONE_]: `memory' is
  1.5390 +	not used.
  1.5391 +
  1.5392 +2010-08-29  Werner Lemberg  <wl@gnu.org>
  1.5393 +
  1.5394 +	[cff] Allow SIDs >= 65000.
  1.5395 +
  1.5396 +	* src/cff/cffload.c (cff_charset_load): Fix change from 2009-03-20:
  1.5397 +	The threshold for SIDs is not applicable here.  I misinterpreted the
  1.5398 +	`SID values 65000 and above are available for implementation use'
  1.5399 +	sentence in the CFF specification.
  1.5400 +
  1.5401 +	Problem reported by Ivan Ninčić <inincic@pdftron.com>.
  1.5402 +
  1.5403 +2010-08-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5404 +
  1.5405 +	Force hinting when the font lacks its familyname.
  1.5406 +
  1.5407 +	In Type42 or Type11 font embedded in PostScript & PDF, TrueType sfnt
  1.5408 +	stream may lack `name' table because they are not required.  Hinting
  1.5409 +	for nameless fonts is safer for PDFs including embedded Chinese
  1.5410 +	fonts.  Written by David Bevan, see:
  1.5411 +
  1.5412 +	http://lists.gnu.org/archive/html/freetype-devel/2010-08/msg00021.html
  1.5413 +	http://lists.freedesktop.org/archives/poppler/2010-August/006310.html
  1.5414 +
  1.5415 +	* src/truetype/ttobjs.c (tt_check_trickyness): If a NULL pointer by
  1.5416 +	nameless font is given, TRUE is returned to enable hinting.
  1.5417 +
  1.5418 +2010-08-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5419 +
  1.5420 +	Register yet another tricky TrueType font.
  1.5421 +
  1.5422 +	* src/truetype/ttobjs.c (tt_check_trickyness): Add `HuaTianKaiTi?',
  1.5423 +	a Kaishu typeface paired with `HuaTianSongTi?' by Huatian
  1.5424 +	Information Industry.
  1.5425 +
  1.5426 +2010-08-17  Teijo Kinnunen <Teijo.Kinnunen@nuance.com>
  1.5427 +
  1.5428 +	[cache] Fix Savannah bug #30788.
  1.5429 +
  1.5430 +	* src/cache/ftccache.c (FTC_Cache_Clear): Check `cache->buckets' for
  1.5431 +	NULL too.
  1.5432 +
  1.5433 +2010-08-10  Werner Lemberg  <wl@gnu.org>
  1.5434 +
  1.5435 +	Try to fix Savannah bug #30717 (and probably #30719 too).
  1.5436 +
  1.5437 +	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Add another
  1.5438 +	overflow test for `width' and `height'.
  1.5439 +
  1.5440 +2010-08-06  Werner Lemberg  <wl@gnu.org>
  1.5441 +
  1.5442 +	* Version 2.4.2 released.
  1.5443 +	=========================
  1.5444 +
  1.5445 +
  1.5446 +	Tag sources with `VER-2-4-2'.
  1.5447 +
  1.5448 +	* docs/CHANGES: Updated.
  1.5449 +
  1.5450 +	* docs/VERSION.DLL: Update documentation and bump version number to
  1.5451 +	2.4.2
  1.5452 +
  1.5453 +	* README, Jamfile (RefDoc),
  1.5454 +	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  1.5455 +	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  1.5456 +	builds/win32/visualc/freetype.dsp,
  1.5457 +	builds/win32/visualc/freetype.vcproj,
  1.5458 +	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  1.5459 +	builds/win32/visualce/freetype.vcproj,
  1.5460 +	builds/win32/visualce/index.html,
  1.5461 +	builds/wince/vc2005-ce/freetype.vcproj,
  1.5462 +	builds/wince/vc2005-ce/index.html,
  1.5463 +	builds/wince/vc2008-ce/freetype.vcproj,
  1.5464 +	builds/wince/vc2008-ce/index.html: s/2.4.1/2.4.2/, s/241/242/.
  1.5465 +
  1.5466 +	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
  1.5467 +
  1.5468 +	* builds/unix/configure.raw (version_info): Set to 12:0:6.
  1.5469 +
  1.5470 +2010-08-06  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5471 +
  1.5472 +	Fix Savannah bug #30648.
  1.5473 +
  1.5474 +	* src/base/ftobjs.c (FT_Done_Library): Specify the order of font
  1.5475 +	drivers during the face closing process.  Type42 faces should be
  1.5476 +	closed before TrueType faces, because a Type42 face refers to
  1.5477 +	another internal TrueType face which is created from sfnt[] array on
  1.5478 +	the memory.
  1.5479 +
  1.5480 +2010-08-06  Yuriy Kaminskiy  <yumkam@mail.ru>
  1.5481 +
  1.5482 +	[raster] Fix valgrind warning.
  1.5483 +
  1.5484 +	* src/raster/ftraster.c (Decompose_Curve) <default>: Access point[0]
  1.5485 +	only if we don't hit `limit'.
  1.5486 +
  1.5487 +2010-08-06  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5488 +
  1.5489 +	Fix Savannah bug #30658.
  1.5490 +
  1.5491 +	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check that the total
  1.5492 +	length of collected POST segments does not overrun the allocated
  1.5493 +	buffer.
  1.5494 +
  1.5495 +2010-08-06  Yuriy Kaminskiy  <yumkam@mail.ru>
  1.5496 +
  1.5497 +	Fix conditional usage of FT_MulFix_i386.
  1.5498 +	With -ansi flag, gcc does not define `i386', only `__i386__'.
  1.5499 +
  1.5500 +	* include/freetype/config/ftconfig.h, builds/unix/ftconfig.in:
  1.5501 +	s/i386/__i386__/.
  1.5502 +
  1.5503 +2010-08-05  Werner Lemberg  <wl@gnu.org>
  1.5504 +
  1.5505 +	[truetype] Fix Savannah bug #30657.
  1.5506 +
  1.5507 +	* src/truetype/ttinterp.c (BOUNDSL): New macro.
  1.5508 +	Change `BOUNDS' to `BOUNDSL' where appropriate.
  1.5509 +
  1.5510 +	* src/truetype/ttinterp.h (TT_ExecContextRec): Fix type of
  1.5511 +	`cvtSize'.
  1.5512 +
  1.5513 +2010-08-05  Werner Lemberg  <wl@gnu.org>
  1.5514 +
  1.5515 +	[type42] Fix Savannah bug #30656.
  1.5516 +
  1.5517 +	* src/type42/t42parse.c (t42_parse_sfnts): Protect against negative
  1.5518 +	string_size.
  1.5519 +	Fix comparison.
  1.5520 +
  1.5521 +2010-08-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5522 +
  1.5523 +	[cff] Don't use any values in decoder after parsing error.
  1.5524 +
  1.5525 +	* src/cff/cffgload.c (cff_slot_load): Skip the evaluations
  1.5526 +	of the values in decoder, if `cff_decoder_parse_charstrings'
  1.5527 +	returns any error.
  1.5528 +
  1.5529 +2010-08-04  Werner Lemberg  <wl@gnu.org>
  1.5530 +
  1.5531 +	Fix Savannah bug #30644.
  1.5532 +
  1.5533 +	* src/base/ftstream.c (FT_Stream_EnterFrame): Fix comparison.
  1.5534 +
  1.5535 +2010-08-04  Werner Lemberg  <wl@gnu.org>
  1.5536 +
  1.5537 +	`make devel' fails if FT_CONFIG_OPTION_OLD_INTERNALS is set.
  1.5538 +
  1.5539 +	* devel/ftoption.h: Synchronize with
  1.5540 +	include/freetype/config/ftoption.h.
  1.5541 +
  1.5542 +2010-08-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5543 +
  1.5544 +	[cff] Improve stack overflow test.
  1.5545 +
  1.5546 +	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Check stack
  1.5547 +	after execution of operations too.
  1.5548 +
  1.5549 +2010-07-18  Werner Lemberg  <wl@gnu.org>
  1.5550 +
  1.5551 +	Add reference counters and to FT_Library and FT_Face objects.
  1.5552 +
  1.5553 +	* include/freetype/freetype.h (FT_Reference_Face): New function.
  1.5554 +	* include/freetype/ftmodapi.h (FT_Rererence_Library): New function.
  1.5555 +
  1.5556 +	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec,
  1.5557 +	FT_LibraryRec): New field `refcount'.
  1.5558 +
  1.5559 +	* src/base/ftobjs.c (FT_Open_Face, FT_New_Library): Handle
  1.5560 +	`refcount'.
  1.5561 +	(FT_Reference_Face, FT_Reference_Library): Implement new functions.
  1.5562 +	(FT_Done_Face, FT_Done_Library): Handle `refcount'.
  1.5563 +
  1.5564 +	* docs/CHANGES: Updated.
  1.5565 +
  1.5566 +2010-07-18  Werner Lemberg  <wl@gnu.org>
  1.5567 +
  1.5568 +	* Version 2.4.1 released.
  1.5569 +	=========================
  1.5570 +
  1.5571 +
  1.5572 +	Tag sources with `VER-2-4-1'.
  1.5573 +
  1.5574 +	* docs/CHANGES: Updated.
  1.5575 +
  1.5576 +	* docs/VERSION.DLL: Update documentation and bump version number to
  1.5577 +	2.4.1.
  1.5578 +
  1.5579 +	* README, Jamfile (RefDoc),
  1.5580 +	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  1.5581 +	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  1.5582 +	builds/win32/visualc/freetype.dsp,
  1.5583 +	builds/win32/visualc/freetype.vcproj,
  1.5584 +	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  1.5585 +	builds/win32/visualce/freetype.vcproj,
  1.5586 +	builds/win32/visualce/index.html,
  1.5587 +	builds/wince/vc2005-ce/freetype.vcproj,
  1.5588 +	builds/wince/vc2005-ce/index.html,
  1.5589 +	builds/wince/vc2008-ce/freetype.vcproj,
  1.5590 +	builds/wince/vc2008-ce/index.html: s/2.4.0/2.4.1/, s/240/241/.
  1.5591 +
  1.5592 +	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
  1.5593 +
  1.5594 +	* builds/unix/configure.raw (version_info): Set to 11:1:5.
  1.5595 +
  1.5596 +2010-07-17  Werner Lemberg  <wl@gnu.org>
  1.5597 +
  1.5598 +	[cff] Final try to fix `hintmask' and `cntrmask' limit check.
  1.5599 +
  1.5600 +	Problem reported by Tobias Wolf <towolf@gmail.com>.
  1.5601 +
  1.5602 +	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
  1.5603 +	<cff_op_hintmask>: Sigh.  I'm apparently too silly to fix this
  1.5604 +	correctly in less than three tries.
  1.5605 +
  1.5606 +2010-07-12  Werner Lemberg  <wl@gnu.org>
  1.5607 +
  1.5608 +	* Version 2.4.0 released.
  1.5609 +	=========================
  1.5610 +
  1.5611 +
  1.5612 +	Tag sources with `VER-2-4-0'.
  1.5613 +
  1.5614 +	* docs/CHANGES: Updated.
  1.5615 +
  1.5616 +	* docs/VERSION.DLL: Update documentation and bump version number to
  1.5617 +	2.4.0.
  1.5618 +
  1.5619 +	* README, Jamfile (RefDoc),
  1.5620 +	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  1.5621 +	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  1.5622 +	builds/win32/visualc/freetype.dsp,
  1.5623 +	builds/win32/visualc/freetype.vcproj,
  1.5624 +	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  1.5625 +	builds/win32/visualce/freetype.vcproj,
  1.5626 +	builds/win32/visualce/index.html,
  1.5627 +	builds/wince/vc2005-ce/freetype.vcproj,
  1.5628 +	builds/wince/vc2005-ce/index.html,
  1.5629 +	builds/wince/vc2008-ce/freetype.vcproj,
  1.5630 +	builds/wince/vc2008-ce/index.html: s/2.3.12/2.4.0/, s/2312/240/.
  1.5631 +
  1.5632 +	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 4.
  1.5633 +	(FREETYPE_PATCH): Set to 0.
  1.5634 +
  1.5635 +	* builds/unix/configure.raw (version_info): Set to 11:0:5.
  1.5636 +
  1.5637 +2010-07-12  Werner Lemberg  <wl@gnu.org>
  1.5638 +
  1.5639 +	Remove C++ warnings.
  1.5640 +
  1.5641 +	*/*: Initialize pointers where necessary to make g++ happy.
  1.5642 +
  1.5643 +2010-07-12  malc  <av1474@comtv.ru>
  1.5644 +	    Richard Henderson  <rth@redhat.com>
  1.5645 +
  1.5646 +	Fix type-punning issues with C++.
  1.5647 +
  1.5648 +	* include/freetype/internal/ftmemory.h (FT_ASSIGNP) [__cplusplus]:
  1.5649 +	Emulate a `typeof' operator with an inline template which uses
  1.5650 +	`static_cast'.
  1.5651 +
  1.5652 +2010-07-11  Werner Lemberg  <wl@gnu.org>
  1.5653 +
  1.5654 +	Fix C++ compilation issue.
  1.5655 +
  1.5656 +	* src/tools/apinames.c (names_dump) <OUTPUT_WATCOM_LBC>: Fix
  1.5657 +	type of `dot' variable.
  1.5658 +
  1.5659 +2010-07-10  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5660 +
  1.5661 +	Fix another case reported in Savannah bug #30373.
  1.5662 +	Permit a face for Type1, Type42 and CFF without charmap,
  1.5663 +	patch by Tor Andersson.
  1.5664 +
  1.5665 +	* src/type1/t1objs.c (T1_Face_Init): Reset the error if it
  1.5666 +	is FT_Err_No_Unicode_Glyph_Name.
  1.5667 +	* src/type42/t42objs.c (T42_Face_Init): Ditto.
  1.5668 +	* src/cff/cffobjs.c (cff_face_init): Ditto.
  1.5669 +
  1.5670 +2010-07-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5671 +
  1.5672 +	Use defined macros to set {platform,encoding}_id.
  1.5673 +
  1.5674 +	* src/bdf/bdfdrivr.c: Include ttnameid.h and use macros to
  1.5675 +	set charmap.{platfom,encoding}_id.
  1.5676 +	* src/pcf/pcfdrivr.c: Ditto.
  1.5677 +	* src/winfonts/winfnt.c: Ditto.
  1.5678 +	* src/type1/t1objs.c: Ditto.
  1.5679 +	* src/type42/t42objs.c: Ditto.
  1.5680 +	* src/cff/cffobjs.c: Ditto.
  1.5681 +	* src/pfr/pfrobjs.c: Ditto.
  1.5682 +
  1.5683 +2010-07-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5684 +
  1.5685 +	Fix Savannah bug #30373.
  1.5686 +	Too serious check of errors by `FT_CMap_New' since 2010-07-04
  1.5687 +	is fixed. Reported by Tor Andersson.
  1.5688 +
  1.5689 +	* include/freetype/fterrdef.h
  1.5690 +	(PSnames_Err_No_Unicode_Glyph_Name): New error code to
  1.5691 +	indicate the Unicode charmap synthesis failed because
  1.5692 +	no Unicode glyph name is found.
  1.5693 +
  1.5694 +	* src/psnames/psmodule.c (ps_unicodes_init): Return
  1.5695 +	PSnames_Err_No_Unicode_Glyph_Name when no Unicode glyph name
  1.5696 +	is found in the font.
  1.5697 +	* src/cff/cffcmap.c (cff_cmap_unicode_init): Return
  1.5698 +	CFF_Err_No_Unicode_Glyph_Name when no SID is available.
  1.5699 +
  1.5700 +	* src/type1/t1objs.c (T1_Face_Init): Proceed if `FT_CMap_New'
  1.5701 +	is failed by the lack of Unicode glyph name.
  1.5702 +	* src/type42/t42objs.c (T42_Face_Init): Ditto.
  1.5703 +	* src/cff/cffobjs.c (cff_face_init): Ditto.
  1.5704 +
  1.5705 +2010-07-09  Ken Sharp  <ken.sharp@artifex.com>
  1.5706 +
  1.5707 +	Make ftraster.c compile in stand-alone mode with MSVC compiler.
  1.5708 +
  1.5709 +	* src/raster/ftmisc.h (FT_Int64) [_WIN32, _WIN64]: Fix typedef
  1.5710 +	since there is no `inttypes.h' for MSVC.
  1.5711 +
  1.5712 +2010-07-08  Werner Lemberg  <wl@gnu.org>
  1.5713 +
  1.5714 +	[truetype] Fix Savannah bug #30361.
  1.5715 +
  1.5716 +	* src/truetype/ttinterp.c (Ins_IUP): Fix bounds check.
  1.5717 +
  1.5718 +2010-07-06  Werner Lemberg  <wl@gnu.org>
  1.5719 +
  1.5720 +	Pacify compiler.
  1.5721 +
  1.5722 +	* src/cff/cffload.c (cff_index_get_pointers): Initialize
  1.5723 +	`new_bytes'.
  1.5724 +
  1.5725 +2010-07-05  Eugene A. Shatokhin  <spectre@ispras.ru>
  1.5726 +
  1.5727 +	Fix Savannah bug #27648.
  1.5728 +
  1.5729 +	* src/base/ftobjs.c (ft_remove_renderer, FT_Add_Module): Call
  1.5730 +	`raster_done' only if we have an outline glyph format.
  1.5731 +
  1.5732 +2010-07-05  Werner Lemberg  <wl@gnu.org>
  1.5733 +
  1.5734 +	Fix Savannah bug #30030.
  1.5735 +
  1.5736 +	* builds/win32/*/freetype.vcproj: Add ftxf86.c.
  1.5737 +
  1.5738 +2010-07-05  Werner Lemberg  <wl@gnu.org>
  1.5739 +
  1.5740 +	[cff] Next try to fix `hintmask' and `cntrmask' limit check.
  1.5741 +
  1.5742 +	Problem reported by malc <av1474@comtv.ru>.
  1.5743 +
  1.5744 +	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
  1.5745 +	<cff_op_hintmask>: It is possible that there is just a single byte
  1.5746 +	after the `hintmask' or `cntrmask', e.g., a `return' instruction.
  1.5747 +
  1.5748 +2010-07-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5749 +
  1.5750 +	Restrict the number of the charmaps in a rogue-compatible mode.
  1.5751 +	Fix for Savannah bug #30059.
  1.5752 +
  1.5753 +	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Replace `16' the
  1.5754 +	minimum character code passed by a legacy rogue client by...
  1.5755 +	* include/freetype/config/ftoption.h (FT_MAX_CHARMAP_CACHEABLE):
  1.5756 +	This.  It is undefined when FT_CONFIG_OPTION_OLD_INTERNALS is
  1.5757 +	undefined (thus the rogue client compatibility is not required).
  1.5758 +
  1.5759 +	* src/cff/cffobjs.c (cff_face_init): Abort the automatic
  1.5760 +	selection or synthesis of Unicode cmap subtable when the charmap
  1.5761 +	index exceeds FT_MAX_CHARMAP_CACHEABLE.
  1.5762 +	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Issue error message
  1.5763 +	when the charmap index exceeds FT_MAX_CHARMAP_CACHEABLE.
  1.5764 +
  1.5765 +	* src/base/ftobjs.c (find_unicode_charmap): When Unicode charmap
  1.5766 +	is found after FT_MAX_CHARMAP_CACHEABLE, ignore it and search
  1.5767 +	earlier one.
  1.5768 +	(find_variant_selector_charmap): When UVS charmap is found after
  1.5769 +	FT_MAX_CHARMAP_CACHEABLE, ignore it and search earlier one.
  1.5770 +	(FT_Select_Charmap): When a charmap matching with requested
  1.5771 +	encoding but after FT_MAX_CHARMAP_CACHEABLE, ignore and search
  1.5772 +	earlier one.
  1.5773 +	(FT_Set_Charmap): When a charmap matching with requested
  1.5774 +	charmap but after FT_MAX_CHARMAP_CACHEABLE, ignore and search
  1.5775 +	earlier one.
  1.5776 +	(FT_Get_Charmap_Index): When a requested charmap is found
  1.5777 +	after FT_MAX_CHARMAP_CACHEABLE, return the inverted charmap
  1.5778 +	index.
  1.5779 +
  1.5780 +2010-07-04  Werner Lemberg  <wl@gnu.org>
  1.5781 +
  1.5782 +	TrueType hinting is no longer patented.
  1.5783 +
  1.5784 +	* include/freetype/config/ftoption.h, devel/ftoption.h
  1.5785 +	(TT_CONFIG_OPTION_BYTECODE_INTERPRETER): Define.
  1.5786 +	(TT_CONFIG_OPTION_UNPATENTED_HINTING): Undefine.
  1.5787 +
  1.5788 +	* docs/CHANGES, docs/INSTALL, include/freetype/freetype.h: Updated.
  1.5789 +	* docs/TRUETYPE, docs/PATENTS: Removed.
  1.5790 +
  1.5791 +2010-07-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5792 +
  1.5793 +	Check error value by `FT_CMap_New'.
  1.5794 +
  1.5795 +	* src/cff/cffobjs.c (cff_face_init): Check error value by
  1.5796 +	`FT_CMap_New'.
  1.5797 +	* src/pfr/pfrobjs.c (pfr_face_init): Ditto.
  1.5798 +	* src/type1/t1jobjs.c (T1_Face_Init): Ditto.
  1.5799 +	* src/type42/t42jobjs.c (T42_Face_Init): Ditto.
  1.5800 +
  1.5801 +2010-07-03  Werner Lemberg  <wl@gnu.org>
  1.5802 +
  1.5803 +	Make ftgrays.c compile stand-alone again.
  1.5804 +
  1.5805 +	* src/smooth/ftgrays.c [_STANDALONE_]: Include `stddef.h'.
  1.5806 +	(FT_INT_MAX, FT_PtrDist)[_STANDALONE_]: Define.
  1.5807 +
  1.5808 +2010-07-02  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5809 +
  1.5810 +	Additional fix for Savannah bug #30306.
  1.5811 +
  1.5812 +	* src/base/ftobjs.c (Mac_Read_POST_Resource): If the type of the
  1.5813 +	POST fragment is 0, the segment is completely ignored.  The declared
  1.5814 +	length of the segment is not cared at all.  According to Adobe
  1.5815 +	Technical Note 5040, type 0 segment is a comment only and should not
  1.5816 +	be loaded for the interpreter.  Reported by Robert Święcki.
  1.5817 +
  1.5818 +2010-07-01  Werner Lemberg  <wl@gnu.org>
  1.5819 +
  1.5820 +	[truetype] Protect against code range underflow.
  1.5821 +
  1.5822 +	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Don't allow
  1.5823 +	negative IP values.
  1.5824 +
  1.5825 +2010-07-01  Werner Lemberg  <wl@gnu.org>
  1.5826 +
  1.5827 +	[truetype] Add rudimentary tracing for bytecode instructions.
  1.5828 +
  1.5829 +	* src/truetype/ttinterp.c (opcode_name) [FT_DEBUG_LEVEL_TRACE]: New
  1.5830 +	array.
  1.5831 +	(TT_RunIns): Trace opcodes.
  1.5832 +
  1.5833 +2010-06-30  Werner Lemberg  <wl@gnu.org>
  1.5834 +
  1.5835 +	[smooth] Fix Savannah bug #30263.
  1.5836 +
  1.5837 +	* src/smooth/ftgrays.c (gray_render_span): Use cast to `unsigned
  1.5838 +	int' to avoid integer overflow.
  1.5839 +
  1.5840 +	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use smaller
  1.5841 +	threshold values for `width' and `height'.  This is not directly
  1.5842 +	related to the bug fix but makes sense anyway.
  1.5843 +
  1.5844 +2010-07-01  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5845 +
  1.5846 +	Initial fix for Savannah bug #30306.
  1.5847 +
  1.5848 +	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check `rlen', the
  1.5849 +	length of fragment declared in the POST fragment header, and prevent
  1.5850 +	an underflow in length calculation.  Some fonts set the length to
  1.5851 +	zero in spite of the existence of a following 16bit `type'.
  1.5852 +	Reported by Robert Święcki.
  1.5853 +
  1.5854 +2010-07-01  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5855 +
  1.5856 +	Additional fix for Savannah bug #30248 and #30249.
  1.5857 +
  1.5858 +	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check the buffer size
  1.5859 +	during gathering PFB fragments embedded in LaserWriter PS font for
  1.5860 +	Macintosh.  Reported by Robert Święcki.
  1.5861 +
  1.5862 +2010-06-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
  1.5863 +
  1.5864 +	Minor optimizations by avoiding divisions.
  1.5865 +
  1.5866 +	* src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning):
  1.5867 +	Replace divisions with multiplication in comparisons.
  1.5868 +
  1.5869 +2010-06-29  Werner Lemberg  <wl@gnu.org>
  1.5870 +
  1.5871 +	Fix minor tracing issues.
  1.5872 +
  1.5873 +	* src/cff/cffgload.c, src/truetype/ttgload.c: Adjust tracing levels.
  1.5874 +
  1.5875 +2010-06-27  Werner Lemberg  <wl@gnu.org>
  1.5876 +
  1.5877 +	[cff] Really fix `hintmask' and `cntrmask' limit check.
  1.5878 +
  1.5879 +	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
  1.5880 +	<cff_op_hintmask>: Fix thinko and handle tracing also.
  1.5881 +
  1.5882 +2010-06-27  Werner Lemberg  <wl@gnu.org>
  1.5883 +
  1.5884 +	Fix valgrind warning.
  1.5885 +
  1.5886 +	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Initialize
  1.5887 +	`result' array.
  1.5888 +
  1.5889 +2010-06-27  Werner Lemberg  <wl@gnu.org>
  1.5890 +
  1.5891 +	[cff] Fix memory leak.
  1.5892 +
  1.5893 +	* src/cff/cffgload.c (cff_operator_seac): Free charstrings even in
  1.5894 +	case of errors.
  1.5895 +
  1.5896 +2010-06-27  Werner Lemberg  <wl@gnu.org>
  1.5897 +
  1.5898 +	[cff] Protect against invalid `hintmask' and `cntrmask' operators.
  1.5899 +
  1.5900 +	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
  1.5901 +	<cff_op_hintmask>: Ensure that we don't exceed `limit' while parsing
  1.5902 +	the bit masks of the `hintmask' and `cntrmask' operators.
  1.5903 +
  1.5904 +2010-06-26  Werner Lemberg  <wl@gnu.org>
  1.5905 +
  1.5906 +	Fix PFR change 2010-06-24.
  1.5907 +
  1.5908 +	* src/pfr/pfrgload.c (pfr_glyph_load_simple): Really protect against
  1.5909 +	invalid indices.
  1.5910 +
  1.5911 +2010-06-26  Werner Lemberg  <wl@gnu.org>
  1.5912 +
  1.5913 +	Improve PFR tracing messages.
  1.5914 +
  1.5915 +	* src/pfr/pfrgload.c (pfr_glyph_load_rec): Emit tracing messages for
  1.5916 +	simple and compound glyph offsets.
  1.5917 +
  1.5918 +2010-06-26  Werner Lemberg  <wl@gnu.org>
  1.5919 +
  1.5920 +	Fix last PFR change.
  1.5921 +
  1.5922 +	* src/pfr/pfrobjs.c (pfr_face_init): Fix rejection logic.
  1.5923 +
  1.5924 +2010-06-26  Werner Lemberg  <wl@gnu.org>
  1.5925 +
  1.5926 +	[sfnt] Fix Savannah bug #30262.
  1.5927 +
  1.5928 +	* src/sfnt/ttload.c (tt_face_load_maxp): Limit `maxComponentDepth'
  1.5929 +	arbitrarily to 100 to avoid stack exhaustion.
  1.5930 +
  1.5931 +2010-06-26  Werner Lemberg  <wl@gnu.org>
  1.5932 +
  1.5933 +	Add some memory checks (mainly for debugging).
  1.5934 +
  1.5935 +	* src/base/ftstream.c (FT_Stream_EnterFrame): Exit with error
  1.5936 +	if the frame size is larger than the stream size.
  1.5937 +
  1.5938 +	* src/base/ftsystem.c (ft_ansi_stream_io): Exit with error if
  1.5939 +	seeking a position larger than the stream size.
  1.5940 +
  1.5941 +2010-06-25  Werner Lemberg  <wl@gnu.org>
  1.5942 +
  1.5943 +	[pfr] Fix Savannah bug #30261.
  1.5944 +
  1.5945 +	* src/pfr/pfrobjs.c (pfr_face_init): Reject fonts which contain
  1.5946 +	neither outline nor bitmap glyphs.
  1.5947 +
  1.5948 +2010-06-25  Werner Lemberg  <wl@gnu.org>
  1.5949 +
  1.5950 +	[cff] Fix Savannah bug #30254.
  1.5951 +
  1.5952 +	* src/cff/cffload.c (cff_index_get_pointers): Do sanity check for
  1.5953 +	first offset also.
  1.5954 +
  1.5955 +2010-06-25  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.5956 +
  1.5957 +	Initial fix for Savannah bug #30248 and #30249.
  1.5958 +
  1.5959 +	* src/base/ftobjs.c (Mac_Read_POST_Resource): Check the error during
  1.5960 +	reading a PFB fragment embedded in LaserWriter PS font for Macintosh.
  1.5961 +	Reported by Robert Święcki.
  1.5962 +
  1.5963 +2010-06-24  Werner Lemberg  <wl@gnu.org>
  1.5964 +
  1.5965 +	[pcf] Fix Savannah bug #30247.
  1.5966 +
  1.5967 +	* src/pcf/pcfread.c (pcf_get_metrics): Disallow (invalid) fonts with
  1.5968 +	zero metrics.
  1.5969 +
  1.5970 +2010-06-24  Graham Asher  <graham.asher@btinternet.com>
  1.5971 +
  1.5972 +	* src/smooth/ftgrays.c (gray_render_cubic): Fix algorithm.
  1.5973 +	The previous version was too aggressive, as demonstrated in
  1.5974 +	http://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00020.html.
  1.5975 +
  1.5976 +2010-06-24  Werner Lemberg  <wl@gnu.org>
  1.5977 +
  1.5978 +	*/*: Use module specific error names where appropriate.
  1.5979 +
  1.5980 +2010-06-24  Werner Lemberg  <wl@gnu.org>
  1.5981 +
  1.5982 +	[sfnt] Fix Savannah bug #30236.
  1.5983 +
  1.5984 +	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Improve check for pointer
  1.5985 +	to `cmap_table'.
  1.5986 +
  1.5987 +2010-06-24  Werner Lemberg  <wl@gnu.org>
  1.5988 +
  1.5989 +	[pfr] Fix Savannah bug #30235.
  1.5990 +
  1.5991 +	* src/pfr/pfrgload.c (pfr_glyph_load_simple): Protect against
  1.5992 +	invalid indices if there aren't any coordinates for indexing.
  1.5993 +
  1.5994 +2010-06-24  Werner Lemberg  <wl@gnu.org>
  1.5995 +
  1.5996 +	[bdf]: Font properties are optional.
  1.5997 +
  1.5998 +	* src/bdf/bdflib.c (_bdf_readstream): Use special error code to
  1.5999 +	indicate a redo operation.
  1.6000 +	(_bdf_parse_start): Handle `CHARS' keyword here too and pass current
  1.6001 +	input line to `_bdf_parse_glyph'.
  1.6002 +
  1.6003 +2010-06-23  Werner Lemberg  <wl@gnu.org>
  1.6004 +
  1.6005 +	[bdf] Fix Savannah bug #30220.
  1.6006 +
  1.6007 +	* include/freetype/fterrdef.h
  1.6008 +	(BDF_Err_Missing_Fontboundingbox_Field): New error code.
  1.6009 +
  1.6010 +	* src/bdf/bdflib.c (_bdf_parse_start): Check for missing
  1.6011 +	`FONTBOUNDINGBOX' field.
  1.6012 +	Avoid memory leak if there are multiple `FONT' lines (which is
  1.6013 +	invalid but doesn't hurt).
  1.6014 +
  1.6015 +2010-06-21  Werner Lemberg  <wl@gnu.org>
  1.6016 +
  1.6017 +	[pfr] Fix Savannah bug #30168.
  1.6018 +
  1.6019 +	* src/pfr/pfrgload.c (pfr_glyph_load_compound): Limit the number of
  1.6020 +	subglyphs to avoid endless recursion.
  1.6021 +
  1.6022 +2010-06-20  Werner Lemberg  <wl@gnu.org>
  1.6023 +
  1.6024 +	[psaux] Fix Savannah bug #30145.
  1.6025 +
  1.6026 +	* src/psaux/psobjs.c (t1_builder_add_contour): Protect against
  1.6027 +	`outline == NULL' which might happen in invalid fonts.
  1.6028 +
  1.6029 +2010-06-19  Werner Lemberg  <wl@gnu.org>
  1.6030 +
  1.6031 +	[bdf] Fix Savannah bug #30135.
  1.6032 +
  1.6033 +	* src/bdf/bdflib.c (_bdf_list_join): Don't modify value in static
  1.6034 +	string `empty'.
  1.6035 +	(_bdf_parse_glyph): Avoid memory leak in case of error.
  1.6036 +
  1.6037 +2010-06-15  Werner Lemberg  <wl@gnu.org>
  1.6038 +
  1.6039 +	[autofit] Fix Savannah bug #30108.
  1.6040 +
  1.6041 +	* src/autofit/afglobal.c (af_face_globals_compute_script_coverage):
  1.6042 +	Properly mask AF_DIGIT bit in comparison.
  1.6043 +
  1.6044 +2010-06-11  Werner Lemberg  <wl@gnu.org>
  1.6045 +
  1.6046 +	[pshinter] Fix Savannah bug #30106.
  1.6047 +
  1.6048 +	Point numbers for FreeType's implementation of hinting masks are
  1.6049 +	collected before the final number of points of a glyph has been
  1.6050 +	determined; in particular, the code for handling the `endchar'
  1.6051 +	opcode can reduce the number of points.
  1.6052 +
  1.6053 +	* src/pshinter/pshalgo.c (psh_glyph_find_strong_points): Assure that
  1.6054 +	`end_point' is not larger than `glyph->num_points'.
  1.6055 +
  1.6056 +2010-06-11  Werner Lemberg  <wl@gnu.org>
  1.6057 +
  1.6058 +	[cff]: Improve debugging output.
  1.6059 +
  1.6060 +	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
  1.6061 +	<cff_op_hintmask>: Implement it.
  1.6062 +
  1.6063 +2010-06-10  Graham Asher  <graham.asher@btinternet.com>
  1.6064 +
  1.6065 +	ftgrays: Speed up rendering of small cubic splines.
  1.6066 +
  1.6067 +	* src/smooth/ftgrays.c (gray_render_cubic): Implement new,
  1.6068 +	simplified algorithm to find out whether the spline can be replaced
  1.6069 +	with two straight lines.  See this thread for more:
  1.6070 +
  1.6071 +	  http://lists.gnu.org/archive/html/freetype-devel/2010-06/msg00000.html
  1.6072 +
  1.6073 +2010-06-09  Werner Lemberg  <wl@gnu.org>
  1.6074 +
  1.6075 +	[cff] Fix Savannah bug #30082.
  1.6076 +
  1.6077 +	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
  1.6078 +	<cff_op_callothersubr>: Protect against stack underflow.
  1.6079 +
  1.6080 +2010-06-08  Werner Lemberg  <wl@gnu.org>
  1.6081 +
  1.6082 +	[cff] Fix Savannah bug #30053.
  1.6083 +
  1.6084 +	* src/cff/cffparse.c (cff_parse_real): Handle border case where
  1.6085 +	`fraction_length' has value 10.
  1.6086 +
  1.6087 +2010-06-07  Werner Lemberg  <wl@gnu.org>
  1.6088 +
  1.6089 +	Fix Savannah bug #30052.
  1.6090 +	This bug has been introduced with commit 2415cbf3.
  1.6091 +
  1.6092 +	* src/base/ftobjs.c (FT_Get_First_Char, FT_Get_Next_Char): Protect
  1.6093 +	against endless loop in case of corrupted font header data.
  1.6094 +
  1.6095 +2010-05-26  Werner Lemberg  <wl@gnu.org>
  1.6096 +
  1.6097 +	Remove unused variable.
  1.6098 +	Found by Graham.
  1.6099 +
  1.6100 +	* src/autofit/afhints.c (af_glyph_hints_reload): Remove unused
  1.6101 +	variable `first' in first block.
  1.6102 +
  1.6103 +2010-05-22  Werner Lemberg  <wl@gnu.org>
  1.6104 +
  1.6105 +	Fix various memory problems found by linuxtesting.org.
  1.6106 +
  1.6107 +	* src/base/ftgxval.c (FT_TrueTypeGX_Free, FT_ClassicKern_Free),
  1.6108 +	src/base/ftotval.c (FT_OpenType_Free), src/base/ftpfr.c
  1.6109 +	(ft_pfr_check): Check `face'.
  1.6110 +
  1.6111 +	* src/base/ftobjs.c (FT_Get_Charmap_Index): Check `charmap' and
  1.6112 +	`charmap->face'.
  1.6113 +	(FT_Render_Glyph): Check `slot->face'.
  1.6114 +	(FT_Get_SubGlyph_Info): Check `glyph->subglyphs'.
  1.6115 +
  1.6116 +2010-05-22  Werner Lemberg  <wl@gnu.org>
  1.6117 +
  1.6118 +	autofit: Remove dead code.
  1.6119 +	Suggested by Graham.
  1.6120 +
  1.6121 +	* src/autofit/afhints.c (af_glyph_hints_compute_inflections):
  1.6122 +	Removed.
  1.6123 +	(af_glyph_hints_reload): Remove third argument.
  1.6124 +	Update all callers.
  1.6125 +
  1.6126 +2010-05-21  Bram Tassyns  <bramt@enfocus.be>
  1.6127 +
  1.6128 +	[cff] Fix Savannah bug #27987.
  1.6129 +
  1.6130 +	* src/cff/cffobjs.c (remove_subset_prefix): New function.
  1.6131 +	(cff_face_init): Use it to adjust `cffface->family_name'.
  1.6132 +
  1.6133 +2010-05-20  Werner Lemberg  <wl@gnu.org>
  1.6134 +
  1.6135 +	TrueType: Make FreeType ignore maxSizeOfInstructions in `maxp'.
  1.6136 +
  1.6137 +	Acroread does the same.
  1.6138 +
  1.6139 +	* src/truetype/ttgload.c (TT_Process_Composite_Glyph): Call
  1.6140 +	`Update_Max' to adjust size of instructions array if necessary and
  1.6141 +	add a rough safety check.
  1.6142 +
  1.6143 +	(load_truetype_glyph): Save `loader->byte_len' before recursive
  1.6144 +	call.
  1.6145 +
  1.6146 +	* src/truetype/ttinterp.h, src/truetype/ttinterp.c (Update_Max):
  1.6147 +	Declare it as FT_LOCAL.
  1.6148 +
  1.6149 +2010-05-18  Hongbo Ni  <hongbo@njstar.com>
  1.6150 +
  1.6151 +	Apply Savannah patch #7196.
  1.6152 +
  1.6153 +	* src/cff/cffgload.c (cff_slot_load): Prevent crash if CFF subfont
  1.6154 +	index is out of range.
  1.6155 +
  1.6156 +2010-05-11  Werner Lemberg  <wl@gnu.org>
  1.6157 +
  1.6158 +	* docs/formats.txt: Give pointer to PCF documentation.
  1.6159 +	Information provided by Alan Coopersmith
  1.6160 +	<alan.coopersmith@oracle.com>.
  1.6161 +
  1.6162 +2010-05-10  Ken Sharp  <ken.sharp@artifex.com>
  1.6163 +
  1.6164 +	[psaux] Fix Savannah bug #29846.
  1.6165 +
  1.6166 +	Previously we discovered fonts which used `setcurrentpoint' to set
  1.6167 +	the initial point of a contour to 0,0.  This caused FreeType to
  1.6168 +	raise an error, because the `setcurrentpoint' operator is only
  1.6169 +	supposed to be used with the results from an OtherSubr subroutine.
  1.6170 +
  1.6171 +	This was fixed by simply ignoring the error and carrying on.
  1.6172 +
  1.6173 +	Now we have found a font which uses setcurrentpoint to actually
  1.6174 +	establish a non-zero point for a contour during the course of a
  1.6175 +	glyph program.  FWIW, these files may be produced by an application
  1.6176 +	called `Intaglio' on the Mac, when converting TrueType fonts to
  1.6177 +	Type 1.
  1.6178 +
  1.6179 +	The fix allows the new invalid behaviour, the old invalid behaviour
  1.6180 +	and real proper usage of the operator to work the same way as Adobe
  1.6181 +	interpreters apparently do.
  1.6182 +
  1.6183 +	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Make
  1.6184 +	`setcurrentpoint' use the top two elements of the stack to establish
  1.6185 +	unconditionally the current x and y coordinates.
  1.6186 +
  1.6187 +	Make the `flex' subroutine handling (OtherSubr 0) put the current
  1.6188 +	x,y coordinates onto the stack, instead of two dummy uninitialised
  1.6189 +	values.
  1.6190 +
  1.6191 +2010-04-14  Ken Sharp  <ken.sharp@artifex.com>
  1.6192 +
  1.6193 +	[psaux] Fix Savannah bug #29444.
  1.6194 +
  1.6195 +	* src/psaux/psobjs.c (t1_builder_start_point): Accept (invalid)
  1.6196 +	`lineto' immediately after `hsbw', in accordance with Acrobat, GS,
  1.6197 +	and others.
  1.6198 +
  1.6199 +2010-04-14  Michał Cichoń  <thedmd@artifexmundi.com>
  1.6200 +
  1.6201 +	[psaux] Fix Savannah bug #27999.
  1.6202 +
  1.6203 +	* src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID): Only remove
  1.6204 +	selected entry, not all.
  1.6205 +
  1.6206 +2010-04-06  Jonathan Kew  <jfkthame@gmail.com>
  1.6207 +
  1.6208 +	[truetype] Add overflow check to `fvar' table.
  1.6209 +
  1.6210 +	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Check axis and instance
  1.6211 +	count.
  1.6212 +
  1.6213 +2010-04-05  Ken Sharp  <ken.sharp@artifex.com>
  1.6214 +
  1.6215 +	[raster] Fix Savannah bug #29335.
  1.6216 +
  1.6217 +	* src/raster/ftraster.c (Line_Up): Use slow multiplication to
  1.6218 +	prevent overflow.  This shouldn't have any serious impact on speed,
  1.6219 +	however.
  1.6220 +
  1.6221 +2010-04-05  Werner Lemberg  <wl@gnu.org>
  1.6222 +
  1.6223 +	Add new function `FT_Library_SetLcdFilterWeights'.
  1.6224 +
  1.6225 +	This is based on code written by Lifter
  1.6226 +	<http://unixforum.org/index.php?showuser=11691>.  It fixes
  1.6227 +	FreeDesktop bug #27386.
  1.6228 +
  1.6229 +	* src/base/ftlcdfil.c (FT_Library_SetLcdFilterWeights): New
  1.6230 +	function.
  1.6231 +
  1.6232 +	* include/freetype/ftlcdfil.h: Updated.
  1.6233 +
  1.6234 +	* docs/CHANGES: Updated.
  1.6235 +
  1.6236 +2010-04-01  John Tytgat  <John.Tytgat@esko.com>
  1.6237 +
  1.6238 +	[truetype] Fix Savannah bug #29404.
  1.6239 +
  1.6240 +	* src/truetype/ttgload.c: Revert change 2752bd1a (check on bit 1
  1.6241 +	of `head' table of TrueType fonts).
  1.6242 +
  1.6243 +2010-03-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.6244 +
  1.6245 +	Fix `multi build' for Tytgat's CFF driver improvement.
  1.6246 +
  1.6247 +	* src/base/cffload.h (cff_index_get_name): Added.
  1.6248 +
  1.6249 +2010-03-12  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
  1.6250 +
  1.6251 +	Remove duplicated inclusion of `FT_OUTLINE_H' in ftobjs.c.
  1.6252 +
  1.6253 +	* src/base/ftobjs.c: Remove 2nd inclusion of `FT_OUTLINE_H'.
  1.6254 +
  1.6255 +2010-03-11  Chris Liddell  <chris.liddell@artifex.com>
  1.6256 +
  1.6257 +	[raster] Fix Savannah bug #27442.
  1.6258 +
  1.6259 +	* src/raster/ftraster.c (ft_black_reset): Fix `buffer_size'.
  1.6260 +
  1.6261 +2010-03-09  Werner Lemberg  <wl@gnu.org>
  1.6262 +
  1.6263 +	[cff] Remove unused variable.
  1.6264 +	Reported by Graham.
  1.6265 +
  1.6266 +	* src/cff/cffparse.c (cff_parse_real): Remove `rest'.
  1.6267 +
  1.6268 +2010-03-02  John Tytgat  <John.Tytgat@esko.com>
  1.6269 +
  1.6270 +	[cff] Improve CFF string (especially glyphname) lookup performance.
  1.6271 +
  1.6272 +	We do this by avoiding memory allocation and file I/O.  This is
  1.6273 +	Savannah patch #7104.
  1.6274 +
  1.6275 +	* src/cff/cfftypes.h: Include PS cmaps service and
  1.6276 +	FT_INTERNAL_POSTSCRIPT_HINTS_H.
  1.6277 +	(CFF_SubFontRec): Remove `num_local_subrs'.
  1.6278 +	(CFF_FontRec): Add `num_strings', `strings', and `string_pool'
  1.6279 +	fields.
  1.6280 +	Remove `string_index' and `num_global_subrs' fields.
  1.6281 +	Use real types instead of `void' for `pshinter' and `psnames' fields.
  1.6282 +
  1.6283 +	* src/cff/cffload.c: Don't include PS cmaps service.
  1.6284 +	(cff_index_get_pointers): Add `pool' parameter which allows to
  1.6285 +	insert an extra NUL character for each String INDEX entry.
  1.6286 +	(cff_index_get_name): Make it a local function.
  1.6287 +	(cff_index_get_string): New function.
  1.6288 +	(cff_subfont_load): Updated.
  1.6289 +	(cff_font_load): Initialize `num_strings', `strings', and
  1.6290 +	`string_pool' fields in the `CFF_FontRec' structure.
  1.6291 +	(cff_index_get_sid_string): Use `cff_index_get_string' instead of
  1.6292 +	`cff_index_get_name'.
  1.6293 +	(cff_font_done): Updated.
  1.6294 +
  1.6295 +	* src/cff/cffload.h: Don't include PS cmaps service.
  1.6296 +	(cff_index_get_string): Added.
  1.6297 +	(cff_index_get_sid_string): Updated.
  1.6298 +
  1.6299 +	* src/cff/cffobjs.c: Don't include PS cmaps service and
  1.6300 +	FT_INTERNAL_POSTSCRIPT_HINTS_H.
  1.6301 +	(cff_size_get_globals_funcs, cff_slot_init): Updated.
  1.6302 +	(cff_face_init): Follow `cff_index_get_name',
  1.6303 +	`cff_index_get_string', and `cff_index_get_sid_string' changes.
  1.6304 +
  1.6305 +	* src/cff/cffcmap.c (cff_sid_free_glyph_name): Removed.
  1.6306 +	(cff_sid_to_glyph_name): Use `cff_index_get_cid_string'.
  1.6307 +	(cff_cmap_unicode_init): Updated.
  1.6308 +
  1.6309 +	* src/cff/cffdrivr.c: Don't include PS cmap service.
  1.6310 +	(cff_get_glyph_name): Avoid unnecessary lookup for POSTSCRIPT_CMAPS
  1.6311 +	service.
  1.6312 +	(cff_get_glyph_name, cff_ps_get_font_info, cff_get_ros): Follow API
  1.6313 +	`cff_index_get_sid_string' change.
  1.6314 +	(cff_get_name_index): Use `cff_index_get_string' instead of
  1.6315 +	`cff_index_get_name'.
  1.6316 +
  1.6317 +	* src/cff/cffgload.c: Don't include FT_INTERNAL_POSTSCRIPT_HINTS_H.
  1.6318 +	(cff_decoder_init, cff_decoder_prepare): Updated.
  1.6319 +
  1.6320 +2010-02-27  Werner Lemberg  <wl@gnu.org>
  1.6321 +
  1.6322 +	Simplify code.
  1.6323 +	Suggested by Behdad.
  1.6324 +
  1.6325 +	* src/base/ftobjs.c (FT_Get_First_Char): Don't use a loop since we
  1.6326 +	call FT_Get_Next_Char anyway if necessary.
  1.6327 +
  1.6328 +2010-02-26  Behdad Esfahbod  <behdad@behdad.org>
  1.6329 +
  1.6330 +	Improve handling of invalid glyph indices in char->index functions.
  1.6331 +
  1.6332 +	* src/base/ftobjs.c (FT_Get_First_Char, FT_Get_Next_Char): Use a
  1.6333 +	loop.
  1.6334 +
  1.6335 +2010-02-18  Chris Liddell  <chris.liddell@artifex.com>
  1.6336 +
  1.6337 +	[truetype] Fix Savannah bug #28905.
  1.6338 +
  1.6339 +	Initialize phantom points before calling the incremental interface
  1.6340 +	to update glyph metrics.
  1.6341 +
  1.6342 +	* src/truetype/ttgload.c (tt_get_metrics_incr_overrides)
  1.6343 +	[FT_CONFIG_OPTION_INCREMENTAL]: New function, split off from...
  1.6344 +	(tt_get_metrics): This.
  1.6345 +	Updated.
  1.6346 +	(load_truetype_glyph): Use tt_get_metrics_incr_overrides.
  1.6347 +
  1.6348 +----------------------------------------------------------------------------
  1.6349 +
  1.6350 +Copyright 2010-2013 by
  1.6351 +David Turner, Robert Wilhelm, and Werner Lemberg.
  1.6352 +
  1.6353 +This file is part of the FreeType project, and may only be used, modified,
  1.6354 +and distributed under the terms of the FreeType project license,
  1.6355 +LICENSE.TXT.  By continuing to use, modify, or distribute this file you
  1.6356 +indicate that you have read the license and understand and accept it
  1.6357 +fully.
  1.6358 +
  1.6359 +
  1.6360 +Local Variables:
  1.6361 +version-control: never
  1.6362 +coding: utf-8
  1.6363 +End:

mercurial