PageRenderTime 49ms CodeModel.GetById 30ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 0ms

/src/freetype/ChangeLog

https://bitbucket.org/cabalistic/ogredeps/
#! | 4076 lines | 2728 code | 1348 blank | 0 comment | 0 complexity | 832c811345055c094e0e0cab5134e60b MD5 | raw file

Large files files are truncated, but you can click here to view the full file

   12012-03-08  Werner Lemberg  <wl@gnu.org>
   2
   3	* Version 2.4.9 released.
   4	=========================
   5
   6
   7	Tag sources with `VER-2-4-9'.
   8
   9	* docs/CHANGES: Updated.
  10
  11	* docs/VERSION.DLL: Update documentation and bump version number to
  12	2.4.9.
  13
  14	* README, Jamfile (RefDoc),
  15	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  16	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  17	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
  18	builds/win32/visualc/freetype.dsp,
  19	builds/win32/visualc/freetype.vcproj,
  20	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  21	builds/win32/visualce/freetype.vcproj,
  22	builds/win32/visualce/index.html,
  23	builds/wince/vc2005-ce/freetype.vcproj,
  24	builds/wince/vc2005-ce/index.html,
  25	builds/wince/vc2008-ce/freetype.vcproj,
  26	builds/wince/vc2008-ce/index.html: s/2.4.8/2.4.9/, s/248/249/.
  27
  28	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 9.
  29
  30	* builds/unix/configure.raw (version_info): Set to 14:1:8.
  31
  322012-03-08  Werner Lemberg  <wl@gnu.org>
  33
  34	[bdf] Add missing overflow check.
  35
  36	* src/bdf/bdflib.c (_bdf_parse_glyphs) <BITMAP>: Add threshold for
  37	`glyph->bpr'.
  38
  392012-03-07  Vinnie Falco  <vinnie.falco@gmail.com>
  40
  41	Prepare source code for amalgamation.
  42
  43	* src\autofit\aferrors.h, src\bdf\bdferror.h, src\bzip2\ftbzip2.c,
  44	src\cache\ftcerror.h, src\cff\cfferrs.h, src\cid\ciderrs.h,
  45	src\gxvalid\gxverror.h, src\gzip\ftgzip.c, src\lzw\ftlzw.c,
  46	src\otvalid\otverror.h, src\pcf\pcferror.h, src\pfr\pfrerror.h,
  47	src\psaux\psauxerr.h, src\pshinter\pshnterr.h,
  48	src\psnames\psnamerr.h, src\raster\rasterrs.h, src\sfnt\sferrors.h,
  49	src\smooth\ftsmerrs.h, src\truetype\tterrors.h,
  50	src\type1\t1errors.h, src\type42\t42error.h, src\winfonts\fnterrs.h:
  51	Add #undef FT_ERR_PREFIX before #define FT_ERR_PREFIX.
  52
  532012-03-03  Werner Lemberg  <wl@gnu.org>
  54
  55	Fix Savannah bug #35660.
  56
  57	For some divisions, we use casts to 32bit entities.  Always guard
  58	against division by zero with these casts also.
  59
  60	* src/base/ftcalc.c (ft_div64by32): Remove redundant cast.
  61	(FT_MulDiv, FT_MulDiv_No_Round): Add 32bit cast.
  62	(FT_DivFix): Add 32bit cast (this omission triggered the bug).
  63
  642012-03-03  Werner Lemberg  <wl@gnu.org>
  65
  66	[psaux] Fix handling of track kerning.
  67
  68	* src/psaux/afmparse.c (afm_parse_track_kern): Don't inverse sign
  69	for `min_kern'.  It is indeed quite common that track kerning
  70	*increases* spacing for very small sizes.
  71
  722012-03-02  Werner Lemberg  <wl@gnu.org>
  73
  74	[truetype] Fix Savannah bug #35689.
  75
  76	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check first outline
  77	point.
  78
  792012-03-01  Werner Lemberg  <wl@gnu.org>
  80
  81	[bdf] Fix Savannah bug #35656.
  82
  83	* src/bdf/bdflib.c (_bdf_parse_glyphs) <_BDF_BITMAP>: Check validity
  84	of nibble characters instead of accessing `a2i' array.
  85
  862012-03-01  Werner Lemberg  <wl@gnu.org>
  87
  88	[winfonts] Fix Savannah bug #35659.
  89
  90	* src/winfonts/winfnt.c (FNT_Face_Init): Check number of glyphs.
  91
  922012-03-01  Werner Lemberg  <wl@gnu.org>
  93
  94	[bdf] Fix Savannah bug #35658.
  95
  96	* src/bdf/bdflib.c (_bdf_list_split): Initialize `field' elements
  97	properly.
  98
  992012-03-01  Werner Lemberg  <wl@gnu.org>
 100
 101	[psaux] Fix Savannah bug #35657.
 102
 103	If in function `skip_spaces' the routine `skip_comment' comes to the
 104	end of buffer, `cur' is still increased by one, so we need to check
 105	for `p >= limit' and not `p == limit'.
 106
 107	* src/psaux/psconv.c (PS_Conv_Strtol, PS_Conv_ToFixed,
 108	PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Fix boundary checking.
 109
 1102012-03-01  Werner Lemberg  <wl@gnu.org>
 111
 112	[truetype] Fix Savannah bug #35646.
 113
 114	* src/truetype/ttinterp.c (Ins_MIRP): Typo, present since ages.  The
 115	code is now in sync with the other operators (e.g. MSIRP) which
 116	modify twilight points.
 117
 1182012-03-01  Werner Lemberg  <wl@gnu.org>
 119
 120	[bdf] Fix Savannah bug #35643.
 121
 122	* src/bdf/bdflib.c (_bdf_list_ensure): Bring code in sync with
 123	comment before `_bdf_list_split', this is, really allocate at least
 124	five `field' elements.
 125
 1262012-03-01  Werner Lemberg  <wl@gnu.org>
 127
 128	[bdf] Fix Savannah bug #35641.
 129
 130	* src/bdf/bdflib.c (_bdf_parse_glyphs) <DWIDTH, BBX>: Abort if
 131	_BDF_ENCODING isn't set.  We need this because access to the `glyph'
 132	variable might be undefined otherwise.
 133
 1342012-03-01  Werner Lemberg  <wl@gnu.org>
 135
 136	[truetype] Fix Savannah bug #35640.
 137
 138	* src/truetype/ttinterp.c (SkipCode, TT_RunIns): Fix boundary check
 139	for NPUSHB and NPUSHW instructions.
 140
 1412012-02-29  Werner Lemberg  <wl@gnu.org>
 142
 143	[truetype] Fix Savannah bug #35601.
 144
 145	* src/truetype/ttinterp.c (Ins_SHZ): Use number of points instead of
 146	last point for loop.
 147	Also remove redundant boundary check.
 148
 1492012-02-29  Werner Lemberg  <wl@gnu.org>
 150
 151	[truetype] Remove redundant check.
 152
 153	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
 154	second check for ordered contour start points.
 155
 1562012-02-29  Werner Lemberg  <wl@gnu.org>
 157
 158	[truetype] Make SHC instruction behave similar to MS rasterizer.
 159
 160	* src/truetype/ttinterp.c (Ins_SHC): Handle virtual contour in
 161	twilight zone.
 162
 1632012-02-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
 164
 165	Avoid modulo operators against a power-of-two denominator.
 166
 167	* src/afcjk.c (af_hint_normal_stem), src/base/ftoutln.c
 168	(ft_contour_has), src/cff/cffgload.c (cff_decoder_parse_charstrings)
 169	<cff_op_vvcurveto, cff_op_hhcurveto, cff_op_hvcurveto>,
 170	src/gxvalid/gxvcommn.c (GXV_32BIT_ALIGNMENT_VALIDATE),
 171	src/gxvalid/gxvfeat.c (gxv_feat_setting_validate): Replace `%' with
 172	`&' operator.
 173
 1742012-02-29  Werner Lemberg  <wl@gnu.org>
 175
 176	[autofit] Don't synchronize digit widths for light rendering mode.
 177
 178	We don't hint horizontally in this mode.
 179
 180	* src/autofit/afloader.c (af_loader_load_g) <Hint_Metrics>:
 181	Implement it.
 182
 1832012-02-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
 184
 185	[type42] Minor code optimization (again).
 186
 187	* src/type42/t42parse.c (t42_parse_sfnts): Simplify previous change.
 188
 1892012-02-26  Mateusz Jurczyk  <mjurczyk@google.com>
 190	    Werner Lemberg  <wl@gnu.org>
 191
 192	[smooth] Fix Savannah bug #35604.
 193
 194	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `FT_Pos'
 195	instead of `FT_UInt' for some variables and update comparisons
 196	accordingly.  A detailed analysis can be found in the bug report.
 197
 1982012-02-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
 199
 200	[type42] Minor code optimization.
 201
 202	* src/type42/t42parse.c (t42_parse_sfnts): Use bitmask instead of
 203	modulo operator.
 204
 2052012-02-26  Werner Lemberg  <wl@gnu.org>
 206
 207	* docs/CHANGES: Updated.
 208
 2092012-02-26  Werner Lemberg  <wl@gnu.org>
 210
 211	[type1] Fix Savannah bug #35608.
 212
 213	* src/type1/t1parse.c (T1_Get_Private_Dict): Reject too short
 214	dictionaries.
 215
 2162012-02-26  Werner Lemberg  <wl@gnu.org>
 217
 218	[bdf] Support `ENCODING -1 <n>' format.
 219
 220	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Implement it.
 221
 2222012-02-26  Werner Lemberg  <wl@gnu.org>
 223
 224	[bdf] Fix Savannah bug #35607.
 225
 226	* src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
 227	negative encoding values.
 228
 2292012-02-26  Werner Lemberg  <wl@gnu.org>
 230
 231	[type1] Fix Savannah bug #35606.
 232
 233	* src/type1/t1load.c (parse_subrs): Add proper guards for `strncmp'.
 234
 235	* src/psaux/psobjs.c (ps_parser_skip_PS_token): Emit error message
 236	only if cur < limit.
 237
 2382012-02-25  Werner Lemberg  <wl@gnu.org>
 239
 240	[pcf] Fix Savannah bug #35603.
 241
 242	* src/pcf/pcfread.c (pcf_get_properties): Assure final zero byte in
 243	`strings' array.
 244
 2452012-02-25  Werner Lemberg  <wl@gnu.org>
 246
 247	[type42] Fix Savannah bug #35602.
 248
 249	* src/type42/t42parse.c (t42_parse_sfnts): Check `string_size' more
 250	thoroughly.
 251
 2522012-02-25  Werner Lemberg  <wl@gnu.org>
 253
 254	[bdf] Fix Savannah bugs #35599 and #35600.
 255
 256	* src/bdf/bdflib.c (ACMSG16): New warning message.
 257	(_bdf_parse_glyphs) <_BDF_BITMAP>: Check line length.
 258
 2592012-02-24  Werner Lemberg  <wl@gnu.org>
 260
 261	[bdf] Fix Savannah bugs #35597 and #35598.
 262
 263	* src/bdf/bdflib.c (_bdf_is_atom): Fix handling of property value.
 264
 2652012-02-24  Vinnie Falco  <vinnie.falco@gmail.com>
 266
 267	Prepare source code for amalgamation (6/6).
 268
 269	* src/cff/cffdrivr.c: s/Load_Glyph/cff_glyph_load/.
 270
 271	* src/cid/cidload.c: s/parse_font_matrix/cid_parse_font_matrix/.
 272	s/t1_init_loader/cid_init_loader/.
 273	s/t1_done_loader/cid_done_loader/.
 274
 275	* src/pxaux/t1cmap.c: s/t1_get_glyph_name/psaux_get_glyph_name/.
 276
 277	* src/truetype/ttdriver.c: s/Load_Glyph/tt_glyph_load/.
 278
 279	* src/type1/t1load.c: s/parse_font_matrix/t1_parse_font_matrix/.
 280
 2812012-02-24  Vinnie Falco  <vinnie.falco@gmail.com>
 282
 283	Prepare source code for amalgamation (5/6).
 284
 285	* include/freetype/fterrors.h: Undefine FT_KEEP_ERR_PREFIX after
 286	using it.
 287
 2882012-02-22  Vinnie Falco  <vinnie.falco@gmail.com>
 289
 290	Prepare source code for amalgamation (4/6).
 291
 292	* src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine RAS_ARG,
 293	RAS_ARGS, RAS_VAR, and RAS_VARS before defining it.
 294
 295	* src/smooth/ftgrays.c: s/TRaster/black_TRaster/,
 296	s/PRaster/black_PRaster/.
 297	* src/raster/ftraster.c: s/TRaster/gray_TRaster/,
 298	s/PRaster/gray_PRaster/.
 299
 3002012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
 301
 302	Prepare source code for amalgamation (3/6).
 303
 304	* src/smooth/ftgrays.c: s/TWorker/black_TWorker/,
 305	s/PWorker/black_PWorker/.
 306	* src/raster/ftraster.c: s/TWorker/gray_TWorker/,
 307	s/PWorker/gray_PWorker/.
 308
 3092012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
 310
 311	Prepare source code for amalgamation (2/6).
 312
 313	* src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine FLOOR,
 314	CEILING, TRUNC, and SCALED before defining it.
 315
 3162012-02-20  Vinnie Falco  <vinnie.falco@gmail.com>
 317
 318	Prepare source code for amalgamation (1/6).
 319
 320	See discussion starting at
 321
 322	  http://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00037.html
 323
 324	* src/smooth/ftgrays.c: s/TBand/gray_TBand/.
 325	* src/raster/ftraster.c: s/TBand/black_TBand/.
 326
 3272012-02-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
 328
 329	[autofit] Fix outline flags.
 330
 331	* src/autofit/afloader.c (af_loader_load_g): Don't reassign
 332	`outline.flags' so that this information is preserved.  See
 333	discussion starting at
 334
 335	  http://lists.gnu.org/archive/html/freetype-devel/2012-02/msg00046.html
 336
 3372012-02-11  Werner Lemberg  <wl@gnu.org>
 338
 339	[truetype] Fix Savannah bug #35466.
 340
 341	Jump instructions are now bound to the current function.  The MS
 342	Windows rasterizer behaves the same, as confirmed by Greg Hitchcock.
 343
 344	* src/truetype/ttinterp.h (TT_CallRec): Add `Cur_End' element.
 345	* src/truetype/ttobjs.h (TT_DefRecord): Add `end' element.
 346
 347	* src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Check upper
 348	bound of jump address.
 349	(Ins_FDEF, Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns): Updated.
 350
 3512012-02-11  Werner Lemberg  <wl@gnu.org>
 352
 353	We don't use `extensions'.
 354
 355	* include/freetype/internal/ftobjs.h (FT_DriverRec): Remove
 356	`extensions' field.
 357
 3582012-02-11  Werner Lemberg  <wl@gnu.org>
 359
 360	Clean up `generic' fields.
 361
 362	* include/freetype/internal/ftobjs.h (FT_ModuleRec, FT_LibraryRec):
 363	Remove `generic' field since users can't access it.
 364
 365	* src/base/ftobjs.c (FT_Done_GlyphSlot): Call `generic.finalizer' as
 366	advertised in the documentation of FT_Generic.
 367	(Destroy_Module, FT_Done_Library): Updated to changes in `ftobjs.h'.
 368
 3692012-02-07  Werner Lemberg  <wl@gnu.org>
 370
 371	[autofit] Harmonize function arguments.
 372
 373	* src/autofit/afloader.c, src/autofit/afloader.h: Use `FT_Int32' for
 374	`load_flags'.
 375
 3762012-02-07  Werner Lemberg  <wl@gnu.org>
 377
 378	* src/cff/cffobjs.c (cff_face_init): Remove unnecessary casts.
 379
 3802012-01-17  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 381
 382	[gxvalid] Fix Savannah bug #35286.
 383
 384	Patch submitted by anonymous reporter.
 385
 386	* src/gxvalid/gxvcommn.c (gxv_XStateTable_subtable_setup):
 387	gxv_set_length_by_ulong_offset() must be called with 3, not 4,
 388	the number of the subtables in the state tables; classTable,
 389	stateArray, entryTable.
 390
 3912012-01-17  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 392
 393	[raccess] Modify for PIC build.
 394
 395	Based on the patch provided by Erik Dahlstrom <ed@opera.com>,
 396	http://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00010.html
 397
 398	Also `raccess_guess_table[]' and `raccess_rule_by_darwin_vfs()'
 399	are renamed with `ft_' suffixes.
 400
 401	* src/base/ftbase.h: `raccess_rule_by_darwin_vfs()' is renamed
 402	to `ft_raccess_rule_by_darwin_vfs()'.
 403	* src/base/ftobjs.c: Ditto.
 404
 405	* src/base/ftrfork.c: Declarations of FT_RFork_Rule,
 406	raccess_guess_rec, are moved to...
 407	* include/freetype/internal/ftrfork.h: Here.
 408
 409	* include/freetype/internal/ftrfork.h:
 410	FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END} macros are defined
 411	to replace raccess_guess_table[] in both of PIC and non-PIC
 412	modes.
 413	* src/base/ftrfork.c: raccess_guess_table[] array is rewritten
 414	by FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END}.
 415
 416	* src/base/basepic.h (BasePIC): Add `ft_raccess_guess_table'
 417	storage.  (FT_RACCESS_GUESS_TABLE_GET): New macro to retrieve
 418	the function pointer from `ft_raccess_guess_table' storage in
 419	`BasePIC' structure.
 420	* src/base/ftrfork.c (FT_Raccess_Guess): Rewritten with
 421	FT_RACCESS_GUESS_TABLE_GET.
 422	(raccess_get_rule_type_from_rule_index): Add `library' as the
 423	first argument to the function, to retrieve the storage of
 424	`ft_raccess_guess_table' from it.  Also `raccess_guess_table'
 425	is replaced by FT_RACCESS_GUESS_TABLE_GET.
 426	(ft_raccess_rule_by_darwin_vfs): Ditto.
 427
 4282012-01-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 429
 430	Remove trailing spaces.
 431
 4322012-01-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 433
 434	Formatting PIC related sources.
 435
 436	* src/autofit/afpic.c: Harmonize to FT2 coding conventions.
 437	* src/base/basepic.c: Ditto.
 438	* src/base/ftpic.c: Ditto.
 439	* src/cff/cffpic.c: Ditto.
 440	* src/pshinter/pshpic.c: Ditto.
 441	* src/psnames/pspic.c: Ditto.
 442	* src/raster/rastpic.c: Ditto.
 443	* src/sfnt/sfntpic.c: Ditto.
 444	* src/smooth/ftspic.c: Ditto.
 445	* src/truetype/ttpic.c: Ditto.
 446
 4472012-01-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 448
 449	[autofit] Fix the inclusion of `aflatin2.h' in PIC file.
 450
 451	* src/autofit/afpic.c: Include `aflatin2.h' when
 452	FT_OPTION_AUTOFIT2 is defined, as afglobal.c does so.
 453	Unconditionally inclusion causes declared but unimplemented
 454	warning by GCC 4.6.
 455
 4562012-01-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 457
 458	[cff] Remove redundant declarations of cff_cmap_XXX_class_rec.
 459
 460	* src/cff/cffpic.c: The declarations of
 461	FT_Init_Class_cff_cmap_encoding_class_rec() and
 462	FT_Init_Class_cff_cmap_unicode_class_rec() are removed.
 463	They can be obtained by the inclusion of cffcmap.h.
 464	cffcmap.h invokes FT_DECLARE_CMAP_CLASS() and it declares
 465	FT_Init_Class_cff_cmap_encoding_class_rec() etc in PIC mode.
 466
 4672012-01-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 468
 469	Fix redundant declaration warning in PIC mode.
 470
 471	Originally FT_DEFINE_{DRIVER,MODULE,RENDERER}() macros were
 472	designed to declare xxx_pic_{free,init} by themselves.
 473	Because these macros are used at the end of the module
 474	interface (e.g. ttdriver.c) and the wrapper source to build
 475	a module as a single object (e.g. truetype.c) includes
 476	the PIC file (e.g. ttpic.c) before the module interface,
 477	these macros are expanded AFTER xxx_pic_{free,init} body
 478	when the modules are built as single object.
 479	The declaration after the implementation causes the redundant
 480	declaration warnings, so the declarations are moved to module
 481	PIC headers (e.g. ttpic.h).  Separating to other header files
 482	are needed for multi build.
 483
 484	* include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER):
 485	Remove class_##_pic_free and class_##_pic_init declarations.
 486	* include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER,
 487	FT_DEFINE_MODULE): Ditto.
 488
 489	* src/base/basepic.h: Insert a comment and fix coding style.
 490	* src/autofit/afpic.h: Declare autofit_module_class_pic_{free,
 491	init}.
 492	* src/cff/cffpic.h: Declare cff_driver_class_pic_{free,init}.
 493	* src/pshinter/pshpic.h: Declare pshinter_module_class_pic_{free,
 494	init}.
 495	* src/psnames/pspic.h: Declare psnames_module_class_pic_{free,
 496	init}.
 497	* src/raster/rastpic.h: Declare
 498	ft_raster{1,5}_renderer_class_pic_{free,init}
 499	* src/sfnt/sfntpic.h: Declare sfnt_module_class_pic_{free,init}.
 500	* src/smooth/ftspic.h: Declare
 501	ft_smooth_{,lcd_,lcdv_}renderer_class_pic_{free,init}.
 502	* src/truetype/ttpic.h: Declare tt_driver_class_pic_{free,init}.
 503
 5042012-01-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 505
 506	Make pspic.c to include module error header to fix multi build.
 507
 508	* src/psnames/pspic.c: Include `psnamerr.h'.
 509
 5102012-01-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 511
 512	[base] Fix a dereference of uninitialized variable in PIC mode.
 513
 514	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): `glyph' must be
 515	set before derefering to obtain `library'.  The initialization
 516	of `clazz', `glyph', `library' and NULL pointer check are
 517	reordered to minimize PIC conditonals.
 518
 5192012-01-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 520
 521	[base] Insert explicit cast for GCC 4.6 in PIC mode.
 522
 523	* src/base/ftinit.c (FT_Add_Default_Modules): Under PIC
 524	configuration, FT_DEFAULT_MODULES_GET returns
 525	FT_Module_Class** pointer, GCC 4.6 warns that
 526	const FT_Module_Class* const* variable is warned as
 527	inappropriate to store it.  To calm it, explicit cast is
 528	inserted.  Also `library' is checked to prevent the NULL
 529	pointer dereference in FT_DEFAULT_MODULES_GET.
 530
 5312012-01-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 532
 533	Fix PIC build broken by d9145241fe378104ba4c12a42534549faacc92e6.
 534
 535	Under PIC configuration, FT_{CFF,PSCMAPS,SFNT,TT}_SERVICES_GET
 536	take no arguments but derefer the variable named `library'
 537	internally.
 538
 539	* src/cff/cffdrivr.c (cff_get_interface): Declare `library' and
 540	set it if non-NULL driver is passed.
 541	* src/truetype/ttdriver.c (tt_get_interface): Ditto.
 542
 543	* src/sfnt/sfdriver.c (sfnt_get_interface): Declare `library'
 544	under PIC configuration, and set it if non-NULL module is given.
 545	* src/psnames/psmodule.c (psnames_get_interface): Ditto.
 546
 5472012-01-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 548
 549	Make PIC files include module error headers, to use the error codes
 550	with per-module prefix.
 551
 552	* src/autofit/afpic.c: Include `aferrors.h'.
 553	* src/cff/cffpic.c: Include `cfferrs.h'.
 554	* src/pshinter/pshpic.c: Include `pshnterr.h'.
 555	* src/raster/rastpic.c: Include `rasterrs.h'.
 556	* src/sfnt/sfntpic.c: Include `sferrors.h'.
 557	* src/smooth/ftspic.c: Include `ftsmerrs.h'.
 558	* src/truetype/ttpic.c: Include `tterrors.h'.
 559
 5602012-01-04  Tobias Ringström  <tobias@ringis.se>
 561
 562	[truetype] Fix IP instruction if x_ppem != y_ppem.
 563
 564	* src/truetype/ttinterp.c (Ins_IP): Scale `orus' coordinates
 565	properly.
 566
 5672012-01-02  Werner Lemberg  <wl@gnu.org>
 568
 569	Fix tracing message for `loca' table.
 570
 571	* src/truetype/ttpload.c (tt_face_get_location): Don't emit a
 572	warning message if the last `loca' entry references an empty glyph.
 573
 5742011-12-10  Werner Lemberg  <wl@gnu.org>
 575
 576	Add some variable initializations.
 577	Reported by Richard COOK <rscook@unicode.org>.
 578
 579	* src/type1/t1driver.c (t1_ps_get_font_value): Initialize `val'.
 580	* src/smooth/ftgrays.c (gray_render_conic): Initialize `levels'
 581	earlier.
 582
 5832011-12-08  Werner Lemberg  <wl@gnu.org>
 584
 585	Fix serious scaling bug in `FT_Get_Advances'.
 586
 587	* src/base/ftadvanc.c (FT_Get_Advances): Advance values returned by
 588	`FT_Load_Glyph' must be simply multiplied by 1024.
 589
 5902011-12-08  Werner Lemberg  <wl@gnu.org>
 591
 592	* src/bdf/bdflib.c (_bdf_parse_start): Drop redundant error tracing.
 593
 5942011-12-02  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 595
 596	[mac] Unify DARWIN_NO_CARBON with FT_MACINTOSH.
 597
 598	Originally FT_MACINTOSH was a pure auto macro and DARWIN_NO_CARBON
 599	was a configurable macro to disable Carbon-dependent code.  Because
 600	now configure script sets DARWIN_NO_CARBON by default and disables
 601	Darwin & Carbon-dependent codes, these macros can be unified.
 602	FT_MACINTOSH (undefined by default) is kept and DARWIN_NO_CARBON
 603	(defined by default) is removed, because DARWIN_NO_CARBON violates
 604	FT_XXX naming convention of public macros, and a macro configured by
 605	default is not portable for the building without configure (e.g.
 606	make devel).
 607
 608	* builds/unix/configure.raw: Define FT_MACINTOSH if Carbon-based
 609	old Mac font support is requested and Carbon is available.
 610	* builds/unix/ftconfig.in: Undefine FT_MACINTOSH when the support
 611	for Mac OS X without Carbon (e.g.  Mac OS X 10.4 for ppc64) is
 612	requested.
 613	* include/freetype/config/ftconfig.in: Ditto.
 614	* builds/vms/ftconfig.h: Ditto.
 615
 616	* src/base/ftbase.h: Remove DARWIN_NO_CARBON.
 617	* src/base/ftbase.c: Ditto.
 618	* src/base/ftobjs.c: Ditto.
 619	* src/base/ftrfork.c: Ditto.
 620
 621	* src/base/ftmac.c: Compile the body if FT_MACINTOSH is defined
 622	(same with TT_USE_BYTECODE_INTERPRETER in ttinterp.c).
 623	* builds/mac/ftmac.c: Ditto.
 624
 625	* builds/mac/FreeType.m68k_cfm.make.txt: Define FT_MACINTOSH.
 626	* builds/mac/FreeType.m68k_far.make.txt: Ditto.
 627	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
 628	* builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
 629
 6302011-11-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 631
 632	Fix Savannah bug #34728 (`make devel' on Mac OS X).
 633
 634	* builds/toplevel.mk: Check `/dev/null' to identify the Unix-
 635	like systems without `init' nor `hurd' (e.g. Mac OS X >= 10.4).
 636	* builds/unix/detect.mk: Ditto.
 637
 6382011-11-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 639
 640	[apinames] Fix the overflow of signed integer hash.
 641
 642	* src/tools/apinames.c (names_add): Change the type of `h' from
 643	int to unsigned int, to prevent undefined behaviour in the
 644	overflow of signed integers (overflow of unsigned int is defined
 645	to be wrap around).  Found by clang test suggested by Sean
 646	McBride.
 647
 6482011-11-30  Werner Lemberg  <wl@gnu.org>
 649
 650	[winfonts] Remove casts.
 651
 652	* src/winfonts/winfnt.c (winfnt_driver_class): Remove all casts and
 653	update affected functions.
 654	(FNT_Size_Select): Fix number of arguments.
 655
 6562011-11-30  Werner Lemberg  <wl@gnu.org>
 657
 658	[type42] Remove casts.
 659
 660	* src/type42/t42driver.c (t42_driver_class): Remove all casts and
 661	update affected functions.
 662
 663	* src/type42/t42objs.c, src/type42/t42objs.h: Updated for t42driver
 664	changes.
 665
 6662011-11-30  Werner Lemberg  <wl@gnu.org>
 667
 668	[type1] Remove casts.
 669
 670	* src/type1/t1driver.c (t1_driver_class): Remove all casts and
 671	update affected functions.
 672
 673	* src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1objs.c:
 674	Updated for t1driver changes.
 675	src/type1/t1objs.h (T1_Driver): Remove unused typedef.
 676	Updated for t1driver changes.
 677
 6782011-11-27  Werner Lemberg  <wl@gnu.org>
 679
 680	[bdf] Fix Savannah bug #34896.
 681
 682	ENCODING now covers the whole Unicode range.
 683
 684	Note, however, that this change is quite expensive since it
 685	increases the size of three arrays by almost 400kByte in total.  The
 686	right fix is to replace the logic with something smarter.
 687	Additionally, there exist very old BDFs for three-byte CCCII
 688	encoding which exceeds the range of Unicode (another reason to have
 689	a smarter logic).
 690
 691	* src/bdf/bdf.h (bdf_font_t): Increase size of `nmod' and `umod'
 692	arrays.
 693	* src/bdf/bdflib.c (bdf_parse_t): Increase size of `have' array.
 694
 6952011-11-27  Werner Lemberg  <wl@gnu.org>
 696
 697	[bdf] Improve tracing.
 698
 699	* src/bdf/bdflib.c (DBGMSG1, DBGMSG2): New macros.
 700	(_bdf_parse_glyphs): Use them.
 701
 7022011-11-26  Werner Lemberg  <wl@gnu.org>
 703
 704	Improve tracing.
 705
 706	* src/bdf/bdfdrivr.c (BDF_Face_Done), src/pcf/pcfdrivr.c
 707	(PCF_Face_Done): Remove tracing message.
 708
 709	* src/bdf/bdfdrivr.c (BDF_Face_Init), src/cff/cffobjs.c
 710	(cff_face_init), src/cid/cidobjs.c (cid_face_init),
 711	src/pfr/pfrobjs.c (pfr_face_init), src/sfnt/sfobjs.c
 712	(sfnt_init_face), src/truetype/ttobjs.c (tt_face_init),
 713	src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c
 714	(T42_Face_Init), src/winfonts/winfnt.c (FNT_Face_Init): Add
 715	`greeting' message.
 716
 717	* src/sfnt/sfobjs.c (sfnt_open_font), src/type42/t42objs.c
 718	(T42_Open_Face): Improve tracing.
 719
 7202011-11-26  Werner Lemberg  <wl@gnu.org>
 721
 722	[cid] Fix error code.
 723
 724	* src/cid/cidparse.c (cid_parser_new): Do it.
 725
 7262011-11-26  Werner Lemberg  <wl@gnu.org>
 727
 728	[cff] Fix error code.
 729
 730	* src/cff/cffload.c (cff_font_load): Do it.
 731
 7322011-11-26  Werner Lemberg  <wl@gnu.org>
 733
 734	Add new error code FT_Err_Missing_Module.
 735
 736	Previously, FreeType misleadingly returned
 737	FT_Err_Unknown_File_Format if a module was missing (or a test was
 738	missing completely).
 739
 740	* include/freetype/fterrdef.h (FT_Err_Missing_Module): Define.
 741
 742	* src/cff/cffobjs.c (cff_face_init), src/cff/cffdrivr.c
 743	(cff_get_glyph_name), src/cid/cidobjs.c (cid_face_init),
 744	src/sfnt/sfobjs.c (sfnt_init_face), src/truetype/ttobjs.c
 745	(tt_face_init), src/type1/t1objs.c (T1_Face_Init),
 746	src/type42/t42objs.c (T42_Face_Init, T42_Driver_Init): Updated.
 747
 748	* src/type1/t1afm.c (T1_Read_Metrics), src/type/t1objs.c
 749	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Remove now
 750	redundant test for `psaux'.
 751
 7522011-11-25  Werner Lemberg  <wl@gnu.org>
 753
 754	[bdf] Add more error messages.
 755
 756	* src/bdf/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
 757	Add line number argument.
 758	Update all callers.
 759	(ERRMSG5, ERRMSG6, ERRMSG7, ERRMSG8, ERRMSG9): New macros.
 760	(_bdf_readstream, _bdf_set_default_spacing, _bdf_add_property,
 761	_bdf_parse_glyphs, _bdf_parse_start): Add error messages.
 762
 7632011-11-24  Werner Lemberg  <wl@gnu.org>
 764
 765	* include/freetype/fterrors.h: Remove dead code.
 766
 7672011-11-15  Werner Lemberg  <wl@gnu.org>
 768
 769	* docs/releases: Updated.
 770
 7712011-11-15  Werner Lemberg  <wl@gnu.org>
 772
 773	* Version 2.4.8 released.
 774	=========================
 775
 776
 777	Tag sources with `VER-2-4-8'.
 778
 779	* docs/CHANGES: Updated.
 780
 781	* docs/VERSION.DLL: Update documentation and bump version number to
 782	2.4.8.
 783
 784	* README, Jamfile (RefDoc),
 785	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 786	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 787	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
 788	builds/win32/visualc/freetype.dsp,
 789	builds/win32/visualc/freetype.vcproj,
 790	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 791	builds/win32/visualce/freetype.vcproj,
 792	builds/win32/visualce/index.html,
 793	builds/wince/vc2005-ce/freetype.vcproj,
 794	builds/wince/vc2005-ce/index.html,
 795	builds/wince/vc2008-ce/freetype.vcproj,
 796	builds/wince/vc2008-ce/index.html: s/2.4.7/2.4.8/, s/247/248/.
 797
 798	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
 799
 800	* builds/unix/configure.raw (version_info): Set to 14:0:8.
 801
 8022011-11-13  Chris Liddell  <chris.liddell@artifex.com>
 803
 804	Add FT_Get_PS_Font_Value() API.
 805
 806	This allows a Type 1 font face to be interrogated to retrieve most
 807	of the dictionary keys (keys not relevant to FreeType's Type 1
 808	interpreter are not available).
 809
 810	* include/freetype/internal/services/svpsinfo.h
 811	(PS_GetFontValueFunc): New typedef.
 812	(PSInfo): Add `ps_get_font_value'.
 813	(FT_DEFINE_SERVICE_PSINFOREC): Updated.
 814
 815	* include/freetype/internal/t1types.h (T1_EncodingType): Moved to...
 816	* include/freetype/t1tables.h: Here.
 817	(PS_Dict_Keys): New enumeration.
 818	(FT_Get_PS_Font_Value): New declaration.
 819
 820	* src/base/fttype1.c (FT_Get_PS_Font_Value): New function.
 821
 822	* src/type1/t1driver.c (t1_ps_get_font_value): This new function
 823	does the real job.
 824	(t1_service_ps_info): Add it.
 825
 826	* src/cff/cffdrivr.c (cff_service_ps_info), src/cid/cidriver.c
 827	(cid_service_ps_info), src/type42/t42drivr.c (t42_service_ps_info):
 828	Updated.
 829
 8302011-11-08  Braden Thomas  <bthomas@apple.com>
 831
 832	[cid] Various loading fixes.
 833
 834	* src/cid/cidload.c (cid_load_keyword) <default>,
 835	(parse_font_matrix, parse_expansion_factor): Correctly check number
 836	of dictionaries.
 837	(cid_read_subrs): Protect against invalid values of `num_subrs'.
 838	Assure that the elements of the `offsets' array are ascending.
 839
 8402011-11-05  Werner Lemberg  <wl@gnu.org>
 841
 842	* README: We use copyright ranges also.
 843
 844	According to
 845
 846	  http://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html
 847
 848	this should be mentioned explicitly.
 849
 8502011-10-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 851
 852	[raccess] Supplement for previous fix.
 853
 854	* src/base/ftbase.h (raccess_rule_by_darwin_vfs): Do not declare
 855	it on native Mac OS X.
 856	* src/base/ftrfork.c (raccess_get_rule_type_from_rule_index):
 857	Hide raccess_get_rule_type_from_rule_index() on native Mac OS X
 858	too.
 859
 8602011-10-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 861
 862	[raccess] Hide raccess_rule_by_darwin_vfs() on native Mac OS X.
 863
 864	* src/base/ftrfork.c (raccess_rule_by_darwin_vfs): Do not
 865	compile on native Mac OS X because it is not used.
 866
 8672011-10-25  Werner Lemberg  <wl@gnu.org>
 868
 869	[truetype] Fix MD instruction for twilight zone.
 870
 871	* src/truetype/ttinterp.c (Ins_MD): Without this fix, the MD
 872	instruction applied to original coordinates of twilight points
 873	always returns zero.
 874
 8752011-10-18  Werner Lemberg  <wl@gnu.org>
 876
 877	* Version 2.4.7 released.
 878	=========================
 879
 880
 881	Tag sources with `VER-2-4-7'.
 882
 883	* docs/CHANGES: Updated.
 884
 885	* docs/VERSION.DLL: Update documentation and bump version number to
 886	2.4.7.
 887
 888	* README, Jamfile (RefDoc),
 889	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
 890	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
 891	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
 892	builds/win32/visualc/freetype.dsp,
 893	builds/win32/visualc/freetype.vcproj,
 894	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
 895	builds/win32/visualce/freetype.vcproj,
 896	builds/win32/visualce/index.html,
 897	builds/wince/vc2005-ce/freetype.vcproj,
 898	builds/wince/vc2005-ce/index.html,
 899	builds/wince/vc2008-ce/freetype.vcproj,
 900	builds/wince/vc2008-ce/index.html: s/2.4.6/2.4.7/, s/246/247/.
 901
 902	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
 903
 904	* builds/unix/configure.raw (version_info): Set to 13:2:7.
 905
 9062011-10-15  Kal Conley  <kcconley@gmail.com>
 907
 908	Fix handling of transformations if no renderer is present.
 909
 910	* src/base/ftobjs.c (FT_Load_Glyph): Thinko.
 911
 9122011-10-15  Kal Conley  <kcconley@gmail.com>
 913
 914	Fix conditions for autohinting.
 915
 916	* src/base/ftobjs.c (FT_Load_Glyph): Handle
 917	FT_LOAD_IGNORE_TRANSFORM.
 918
 9192011-10-07  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
 920
 921	[gxvalid] Fix a bug to detect too large offset in morx table.
 922
 923	* src/gxvalid/gxvmorx2.c
 924	(gxv_morx_subtable_type2_ligActionIndex_validate): Fix a bug
 925	that too large positive offset cannot be detected.
 926
 9272011-10-01  Braden Thomas  <bthomas@apple.com>
 928
 929	Handle some border cases.
 930
 931	* include/freetype/config/ftstdlib.h (FT_USHORT_MAX): New macro.
 932
 933	* src/base/ftbitmap.c (FT_Bitmap_Convert): Protect against invalid
 934	value of `target->rows'.
 935
 936	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add check for
 937	flex start.
 938
 939	* src/raster/ftrend1.c (ft_raster1_render): Check `width' and
 940	`height'.
 941
 942	* src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Protect against
 943	invalid values in `localpoints' array.
 944
 9452011-10-01  Werner Lemberg  <wl@gnu.org>
 946
 947	[psnames] Handle zapfdingbats.
 948	Problem reported by Nicolas Rougier <Nicolas.Rougier@inria.fr>.
 949
 950	* src/tools/glnames.py (adobe_glyph_list): Add data from AGL's
 951	`zapfdingbats.txt' file.
 952
 953	* src/psnames/pstables.h: Regenerated.
 954
 9552011-09-27  Simon Bünzli  <zeniko@gmail.com>
 956
 957	Fix Savannah bug #34189.
 958
 959	* src/type1/t1load.c (T1_Open_Face): Initialize
 960	`face->len_buildchar'.
 961
 9622011-09-26  Werner Lemberg  <wl@gnu.org>
 963
 964	[cff] Dump SIDs while tracing.
 965
 966	* src/cff/cffobjs.c (cff_face_init): Do it.
 967
 968	* src/cff/cffparse.c (cff_parser_run) [FT_DEBUG_LEVEL_TRACE]
 969	<cff_kind_string>: Identify as SID.
 970
 9712011-09-17  Werner Lemberg  <wl@gnu.org>
 972
 973	Remove unused FT_ALIGNMENT macro.
 974
 975	* builds/unix/ftconfig.in, builds/vms/ftconfig.h,
 976	include/freetype/config/ftconfig.h: Do it.
 977
 9782011-09-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
 979
 980	[smooth] Slightly optimize conic and cubic flatterners.
 981
 982	* src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
 983	out some code from the main loop to speed it up.
 984
 9852011-09-11  Tomas Hoger  <thoger@redhat.com>
 986
 987	Slightly improve LZW_CLEAR handling.
 988
 989	* src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_CODE>:
 990	Ensure that subsequent (modulo garbage byte(s)) LZW_CLEAR codes are
 991	handled as clear codes.  This also re-sets old_code and old_char to
 992	predictable values, which is a little better than using `random'
 993	ones if the code following LZW_CLEAR is invalid.
 994
 9952011-09-11  Tomas Hoger  <thoger@redhat.com>
 996
 997	Add explicit LZW decompression stack size limit.
 998
 999	Stack larger than 1<<LZW_MAX_BITS is never needed if prefix table is
1000	constructed correctly.  It's even less than that, see e.g.
1001	libarchive code comment for a better size upper bound:
1002
1003	  http://code.google.com/p/libarchive/source/browse/trunk/libarchive/archive_read_support_filter_compress.c?r=3635#121
1004
1005	This patch adds explicit stack size limit, enforced when stack is
1006	realloced.
1007
1008	An alternative is to ensure that code < state->prefix[code - 256]
1009	when traversing prefix table.  Such check is less efficient and
1010	should not be required if prefix table is constructed correctly in
1011	the first place.
1012
1013	* src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Implement it.
1014
10152011-09-11  Tomas Hoger  <thoger@redhat.com>
1016
1017	Protect against loops in the prefix table.
1018
1019	LZW decompressor did not sufficiently check codes read from the
1020	input LZW stream.  A specially-crafted or corrupted input could
1021	create a loop in the prefix table, which leads to memory usage
1022	spikes, as there's no decompression stack size limit.
1023
1024	* src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_START>: First
1025	code in valid LZW stream must be 0..255.
1026	<FT_LZW_PHASE_CODE>: In the special KwKwK case, code == free_ent,
1027	code > free_ent is invalid.
1028
10292011-09-09  Werner Lemberg  <wl@gnu.org>
1030
1031	Better tracing of metrics.
1032
1033	* src/base/ftobjs.c (FT_Request_Size, FT_Select_Size): Decorate with
1034	FT_TRACE.
1035
10362011-09-07  Werner Lemberg  <wl@gnu.org>
1037
1038	Fix Savannah bug #33816.
1039
1040	* src/cff/cfftypes.h (CFF_FontRecDictRec): New member
1041	`has_font_matrix'.
1042	* src/cff/cffparse.c (cff_parse_font_matrix): Set it.
1043	Update tracing output.
1044	* src/cff/cffobjs.c (cff_face_init): Use it so that the heuristics
1045	can be removed.
1046
10472011-08-30  Werner Lemberg  <wl@gnu.org>
1048
1049	Better tracing of metrics.
1050
1051	* src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics):
1052	Decorate with FT_TRACE.
1053
10542011-08-25  Werner Lemberg  <wl@gnu.org>
1055
1056	[cff] Better tracing of the parsing process.
1057
1058	* src/cff/cffload.c (cff_subfont_load, cff_font_load): Decorate with
1059	FT_TRACE.
1060
1061	* src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
1062	cff_parse_private_dict, cff_parse_cid_ros): Updated.
1063	(CFF_FIELD_NUM, CFF_FIELD_FIXED, CFF_FIELD_FIXED_1000,
1064	CFF_FIELD_STRING, CFF_FIELD_BOOL, CFF_FIELD_CALLBACK, CFF_FIELD,
1065	CFF_FIELD_DELTA): Add argument for ID.
1066	(cff_parser_run): Decorate with FT_TRACE.
1067
1068	* src/cff/cffparse.h (CFF_Field_Handler) [FT_DEBUG_LEVEL_TRACE]: Add
1069	`id' member.
1070
1071	* src/cff/cfftoken.h: Add IDs to all fields.
1072
10732011-08-16  Werner Lemberg  <wl@gnu.org>
1074
1075	Fix Savannah bug #34022.
1076
1077	* README, docs/INSTALL: Remove references to UPGRADE.UNIX.
1078
10792011-08-15  Werner Lemberg  <wl@gnu.org>
1080
1081	Fix Savannah bug #34018.
1082
1083	* docs/UPGRADE.UNIX: Removed.  Obsolete.
1084
10852011-08-15  David Bevan  <david.bevan@pb.com>
1086
1087	Fix Savannah bug #33992.
1088
1089	* src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix border case.
1090
10912011-08-12  Werner Lemberg  <wl@gnu.org
1092
1093	[truetype] Fix degenerate case in S{P,F,DP}VTL opcodes.
1094
1095	* src/truetype/ttinterp.c (Ins_SxVTL): Handle p1 == p2 specially.
1096	(Ins_SDPVTL): Handle v1 == v2 specially.
1097
10982011-08-09  Werner Lemberg  <wl@gnu.org>
1099
1100	Fix Savannah bug #33975.
1101
1102	* src/cff/cffparse.c (cff_parse_font_matrix): Fix typo.
1103
11042011-07-29  Werner Lemberg  <wl@gnu.org>
1105
1106	* Version 2.4.6 released.
1107	=========================
1108
1109
1110	Tag sources with `VER-2-4-6'.
1111
1112	* docs/CHANGES: Updated.
1113
1114	* docs/VERSION.DLL: Update documentation and bump version number to
1115	2.4.6.
1116
1117	* README, Jamfile (RefDoc),
1118	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
1119	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
1120	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
1121	builds/win32/visualc/freetype.dsp,
1122	builds/win32/visualc/freetype.vcproj,
1123	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
1124	builds/win32/visualce/freetype.vcproj,
1125	builds/win32/visualce/index.html,
1126	builds/wince/vc2005-ce/freetype.vcproj,
1127	builds/wince/vc2005-ce/index.html,
1128	builds/wince/vc2008-ce/freetype.vcproj,
1129	builds/wince/vc2008-ce/index.html: s/2.4.5/2.4.6/, s/245/246/.
1130
1131	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
1132
1133	* builds/unix/configure.raw (version_info): Set to 13:1:7.
1134
11352011-07-29  Werner Lemberg  <wl@gnu.org>
1136
1137	[cff] Add some more tracing infos.
1138
1139	* src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
1140	cff_parse_cid_ros): Add tracing.
1141
11422011-07-22  Dirk Müller  <dmueller@suse.de>
1143
1144	[psaux, type1] Fix null pointer dereferences.
1145
1146	Found with font fuzzying.
1147
1148	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Check
1149	`decoder->buildchar'.
1150
1151	* src/type1/t1load.c (t1_load_keyword): Check `blend->num_designs'.
1152
11532011-07-20  Chris Morgan  <cmorgan@cybexintl.com>
1154
1155	Add FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT.
1156
1157	Useful for embedded systems which don't need file stream support.
1158
1159	* src/base/ftsystem.c, src/base/ftobjs.c (FT_Stream_New): Implement
1160	it.
1161
11622011-07-20  Elton Chung  <elton328@gmail.com>
1163
1164	* src/base/ftpatent.c (FT_Face_SetUnpatentedHinting): Fix typo.
1165
11662011-07-16  Steven Chu  <steven.f.chu@gmail.com>
1167
1168	[truetype] Fix metrics on size request for scalable fonts.
1169
1170	* src/truetype/ttdriver.c (tt_size_request): Fix copying metrics
1171	from TT_Size to FT_Size if scalable font.
1172
1173	See
1174
1175	  http://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00049.html
1176
1177	for some comparison images.
1178
11792011-07-14  Matthias Drochner  <M.Drochner@fz-juelich.de>.
1180
1181	[psaux] Fix potential sign extension problems.
1182
1183	When shifting right a signed value, it is not defined by the
1184	C standard whether one gets a sign extension or not.  Use a macro to
1185	do an explicit cast from a signed short (assuming that this is
1186	16bit) to an int.
1187
1188	* src/psaux/t1decode.c (Fix2Int): New macro.
1189	Use it where appropriate.
1190
11912011-07-14  Werner Lemberg  <wl@gnu.org>
1192
1193	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
1194	<op_callothersubr>: Better handling of subroutine index 0.
1195	From Matthias Drochner <M.Drochner@fz-juelich.de>.
1196
11972011-07-10  Алексей Подтележников  <apodtele@gmail.com>
1198
1199	[psaux] Optimize previous commit.
1200
1201	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
1202	<op_callothersubr>: Move error check down to avoid testing twice for
1203	good cases.
1204
12052011-07-08  Werner Lemberg  <wl@gnu.org>
1206
1207	[psaux] Add better argument check for `callothersubr'.
1208
1209	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
1210	<op_callothersubr>: Reject negative arguments.
1211
12122011-07-07  Werner Lemberg  <wl@gnu.org>
1213
1214	[sfnt] Try harder to find non-zero values for ascender and descender.
1215
1216	* src/sfnt/sfobjs.c (sfnt_load_face): Consult `OS/2' table in case
1217	the `hhea' table's values are zero.
1218
12192011-07-03  Werner Lemberg  <wl@gnu.org>
1220
1221	Fix previous commit.
1222
1223	We want to unset FT_FACE_FLAG_SCALABLE only if there are bitmap
1224	strikes in the font.
1225
1226	* src/truetype/ttobjs.c (tt_face_init): Implement it.
1227
1228	* docs/CHANGES: Updated.
1229
12302011-07-02  Just Fill Bugs  <mozbugbox@yahoo.com.au>
1231
1232	Fix Savannah bug #33246.
1233
1234	* src/truetype/ttobjs.c (tt_check_single_notdef): New function.
1235	(tt_face_init): Use it to test FT_FACE_FLAG_SCALABLE.
1236
12372011-07-02  Werner Lemberg  <wl@gnu.org>
1238
1239	* docs/CHANGES: Updated.
1240
12412011-07-02  David Bevan  <david.bevan@pb.com>
1242
1243	[ftstroke] Major revision.
1244
1245	The main problems
1246	-----------------
1247
1248	  o If FT_STROKER_LINEJOIN_BEVEL was specified, unlimited miter
1249	    joins (not bevel joins) were generated.  Indeed, the meanings of
1250	    `miter' and `bevel' were incorrectly reversed (consistently) in
1251	    both the code and comments.
1252
1253	  o The way bevel joins were constructed (whether specified
1254	    explicitly, or created as a result of exceeding the miter limit)
1255	    did not match what is required for stroked text in PostScript or
1256	    PDF.
1257
1258	The main fixes
1259	--------------
1260
1261	  o The behaviour of FT_STROKER_LINEJOIN_BEVEL has been corrected.
1262
1263	  o A new line join style, FT_STROKER_LINEJOIN_MITER_FIXED, has been
1264	    introduced to support PostScript and PDF miter joins.
1265
1266	  o FT_STROKER_LINEJOIN_MITER_VARIABLE has been introduced as an
1267	    alias for FT_STROKER_LINEJOIN_MITER.
1268
1269	Additionally, a variety of stroking errors have been fixed.  These
1270	would cause various artifacts (including points `at infinity'),
1271	especially when stroking poor quality fonts.
1272
1273	See
1274
1275	  http://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00001.html
1276
1277	for example documents.  The FreeType stroker now produces results
1278	very similar to that produced by GhostScript and Distiller for these
1279	fonts.
1280
1281	Other problems
1282	--------------
1283
1284	The following problems have been resolved:
1285
1286	  o Inside corners could be generated incorrectly.  Intersecting the
1287	    inside corner could cause a missing triangular area and other
1288	    effects.
1289
1290	    The intersection point can only be used if the join is between
1291	    two lines and both lines are long enough.  The `optimization'
1292	    condition in `ft_stroker_inside' has been corrected; this
1293	    requires the line length to be passed into various functions and
1294	    stored in `FT_StrokerRec'.
1295
1296	  o Incorrect cubic curves could be generated.  The angle
1297	    calculations in `FT_Stroker_CubicTo' have been corrected to
1298	    handle the case of the curve crossing the +/-PI direction.
1299
1300	  o If the border radius was greater than the radius of curvature of
1301	    a curve, then the negative sector would end up outside (not
1302	    inside) the border.  This situation is now recognized and the
1303	    negative sector is circumnavigated in the opposite direction.
1304	    (If round line joins are being used, this code is disabled
1305	    because the line join will always cover the negative sector.)
1306
1307	  o When a curve is split, the arcs may not join smoothly (especially
1308	    if the curve turns sharply back on itself).  Changes in
1309	    direction between adjacent arcs were not handled.  A round
1310	    corner is now added if the deviation from one arc to the next is
1311	    greater than a suitable threshold.
1312
1313	  o The current direction wasn't retained if a the outline contained
1314	    a zero length lineto or a curve that was determined to be
1315	    `basically a point'.  This could cause a spurious join to be
1316	    added.
1317
1318	  o Cubics with close control points could be mishandled.  All eight
1319	    cases are now distinguished correctly.
1320
1321	Other improvements
1322	------------------
1323
1324	o Borders for cubic curves could be too `flat'.
1325	  FT_SMALL_CUBIC_THRESHOLD has been reduced a little to prevent
1326	  this.
1327
1328	o The handling and use of movable points has been simplified a
1329	  little.
1330
1331	o Various values are now computed only if the results are actually
1332	  needed.
1333
1334	o The directions of the outer and inner borders have been swapped,
1335	  as recommended by Graham Asher.
1336
1337	* src/base/ftstroke.c: Revised.
1338	* include/freetype/ftstroke.h: Updated.
1339
13402011-06-30  İsmail Dönmez <ismail@namtrac.org>
1341
1342	* builds/toplevel.mk: We use git, not CVS, thus skip `.gitignore'.
1343
13442011-06-29  Werner Lemberg  <wl@gnu.org>
1345
1346	Fix Savannah bug #33663.
1347
1348	* src/bdf/bdflib.c (_bdf_parse_glyphs): Handle negative values for
1349	ENCODING correctly.
1350
1351	* docs/CHANGES: Document it.
1352
13532011-06-24  Werner Lemberg  <wl@gnu.org>
1354
1355	* Version 2.4.5 released.
1356	=========================
1357
1358
1359	Tag sources with `VER-2-4-5'.
1360
1361	* docs/CHANGES: Updated.
1362
1363	* docs/VERSION.DLL: Update documentation and bump version number to
1364	2.4.5
1365
1366	* README, Jamfile (RefDoc),
1367	builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
1368	builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
1369	builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
1370	builds/win32/visualc/freetype.dsp,
1371	builds/win32/visualc/freetype.vcproj,
1372	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
1373	builds/win32/visualce/freetype.vcproj,
1374	builds/win32/visualce/index.html,
1375	builds/wince/vc2005-ce/freetype.vcproj,
1376	builds/wince/vc2005-ce/index.html,
1377	builds/wince/vc2008-ce/freetype.vcproj,
1378	builds/wince/vc2008-ce/index.html: s/2.4.4/2.4.5/, s/244/245/.
1379
1380	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
1381
1382	* builds/unix/configure.raw (version_info): Set to 13:0:7.
1383
13842011-06-20  Werner Lemberg  <wl@gnu.org>
1385
1386	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Fix change
1387	from 2011-05-04.
1388
13892011-06-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
1390
1391	[gxvalid] make the `prop' validation tracing verbose.
1392
1393	* src/gxvalid/gxvprop.c: Add tracing messages for errors.
1394
13952011-06-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
1396
1397	[autogen.sh] Reflect environment variable LIBTOOLIZE.
1398
13992011-06-18  Werner Lemberg <wl@gnu.org>
1400
1401	Update license documentation.
1402
1403	* docs/GPL.TXT: Renamed to...
1404	* docs/GPLv2.TXT: This.
1405
1406	* docs/LICENSE.TXT: Updated.
1407
14082011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
1409
1410	Fix g++4.6 compiler warnings in module drivers.
1411
1412	The background is same with previous commit.
1413
1414	* src/truetype/ttgxvar.c (ft_var_readpackedpoints):
1415	Init `points'.  (TT_Vary_Get_Glyph_Deltas): Init
1416	`delta_xy'.  (TT_Get_MM_Var): Init `mmvar'.
1417	* src/type1/t1load.c (T1_Get_MM_Var): Ditto.
1418	* src/cff/cffdrivr.c (cff_ps_get_font_info): Init
1419	`font_info'.
1420	* src/cff/cffload.c (cff_index_get_pointers): Init `t'.
1421	(cff_font_load): Init `sub'.
1422	* src/cff/cffobjs.c (cff_size_init): Init `internal'.
1423	(cff_face_init): Init `cff'.
1424	* src/pfr/pfrload.c (pfr_extra_item_load_stem_snaps):
1425	Init `snaps'.
1426	* src/pcf/pcfread.c (pcf_get_properties): Init `properties'.
1427	(pcf_get_bitmaps): Init `offsets'.  (pcf_get_encodings):
1428	Init `tmpEncoding'.
1429	* src/sfnt/ttload.c (tt_face_load_gasp): Init `gaspranges'.
1430	* src/sfnt/ttsbit.c (Load_SBit_Image): Init `components'.
1431	* src/cache/ftcmru.c (FTC_MruList_New): Init `node'.
1432	* src/gzip/ftgzip.c (FT_Stream_OpenGzip): Init `zip' and
1433	`zip_buff'.
1434	* src/lzw/ftlzw.c (FT_Stream_OpenLZW): Init `zip'.
1435	* src/bzip2/ftbzip2.c (FT_Stream_OpenBzip2): Init `zip'.
1436
14372011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
1438
1439	[base] Fix g++4.6 compiler warnings in src/base/*.c.
1440
1441	Passing uninitialized pointer to FT_NEW() families is
1442	not problematic theoretically (as far as the returned
1443	pointer is checked before writing), but g++4.6 dislikes
1444	it and warns by -Wuninitialized.  Initialize them by NULL.
1445
1446	* src/base/ftobjs.c (FT_Stream_New): Init `stream'.
1447	(new_memory_stream): Ditto.
1448	(FT_New_GlyphSlot): Init `slot'.
1449	(FT_CMap_New): Init `cmap'.
1450	(open_face_PS_from_sfnt_stream): Init `sfnt_ps'.
1451	(Mac_Read_POST_Resource): Init `pfb_data'.
1452	(Mac_Read_sfnt_Resource): Init `sfnt_data'.
1453	* src/base/ftrfork.c (FT_Raccess_Get_DataOffsets):
1454	Init `offsets_internal' and `ref'.
1455	(raccess_guess_darwin_hfsplus): Init `newpath'.
1456	(raccess_guess_darwin_newvfs): Ditto.
1457	* src/base/ftbitmap.c (ft_bitmap_assure_buffer):
1458	Init `buffer'.
1459	* src/base/ftstroke.c (FT_Stroker_New): Init `stroker'.
1460
14612011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
1462
1463	[gxvalid] Cleanup.
1464
1465	Some invalid, overrunning, unrecommended non-zero values
1466	are cared in paranoid validation mode only.  There are
1467	many lines looking like:
1468
1469	  if ( valid->root->level >= FT_VALIDATE_PARANOID )
1470	    FT_INVALID_xxx;
1471
1472	To simplify them, GXV_SET_ERR_IF_PARANOID( err ) is
1473	introduced for more paranoid validation in future.
1474
1475	* src/gxvalid/gxvcommn.h (IS_PARANOID_VALIDATION):
1476	New macro to assure valid->root->level is more or
1477	equal to FT_VALIDATE_PARANOID.  (GXV_SET_ERR_IF_PARANOID):
1478	New macro to raise an error if in paranoid validation.
1479	* src/gxvalid/gxvcommn.c: Use GXV_SET_ERR_IF_PARANOID().
1480	* src/gxvalid/gxvfeat.c: Ditto.
1481	* src/gxvalid/gxvjust.c: Ditto.
1482	* src/gxvalid/gxvkern.c: Ditto.
1483	* src/gxvalid/gxvmort.c: Ditto.
1484	* src/gxvalid/gxvmort0.c: Ditto.
1485	* src/gxvalid/gxvmort1.c: Ditto.
1486	* src/gxvalid/gxvmort2.c: Ditto.
1487	* src/gxvalid/gxvmorx1.c: Ditto.
1488	* src/gxvalid/gxvmorx2.c: Ditto.
1489
14902011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
1491
1492	[gxvalid] Fix gcc4.6 compiler warnings in gxvtrak.c.
1493
1494	* src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate):
1495	Check different entries pointing same traking value.
1496	(gxv_trak_validate): Remove unused variable `table_size'.
1497
14982011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
1499
1500	[gxvalid] Fix gcc4.6 compiler warnings in gxvmorx*.c.
1501
1502	* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
1503	Conditionalize unvalidated variable `subFeatureFlags'.
1504	(gxv_morx_chain_validate): Conditionalize unvalidated
1505	variable `defaultFlags'.
1506
1507	* src/gxvalid/gxmorx0.c
1508	(gxv_morx_subtable_type0_entry_validate):
1509	Conditionalize unvalidated variables; `markFirst',
1510	`dontAdvance', `markLast', `verb'.
1511
1512	* src/gxvalid/gxmorx1.c
1513	(gxv_morx_subtable_type1_entry_validate): Conditionalize
1514	unvalidated variables; `setMark', `dontAdvance'.
1515
1516	* src/gxvalid/gxvmorx2.c
1517	(gxv_morx_subtable_type2_ligActionOffset_validate):
1518	Conditionalize unvalidated variables; `last', `store'.
1519	Checking for overrunning offset is added.
1520	(gxv_morx_subtable_type2_entry_validate):
1521	Conditionalize unvalidated variables; `setComponent',
1522	`dontAdvance', `performAction'.
1523	(gxv_morx_subtable_type2_ligatureTable_validate):
1524	Check if the GID for ligature does not exceed the
1525	max GID in `maxp' table.
1526
1527	* src/gxvalid/gxvmort5.c
1528	(gxv_morx_subtable_type5_InsertList_validate):
1529	Conditionalize unvalidated loading of `insert_glyphID'
1530	array.  (gxv_morx_subtable_type5_entry_validate):
1531	Conditionalize unvalidated variables; `setMark',
1532	`dontAdvance', `currentIsKashidaLike',
1533	`markedIsKashidaLike', `currentInsertBefore',
1534	`markedInsertBefore'.
1535
15362011-06-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
1537
1538	[gxvalid] Fix gcc4.6 compiler warnings in gxvmort*.c.
1539
1540	* src/gxvalid/gxvmort.c (gxv_mort_subtables_validate):
1541	Conditionalize unvalidated variable `subFeatureFlags'.
1542	(gxv_mort_chain_validate): Conditionalize unvalidated
1543	variable `defaultFlags'.
1544
1545	* src/gxvalid/gxmort0.c
1546	(gxv_mort_subtable_type0_entry_validate): Check the
1547	conflict of the marks for the glyphs.
1548
1549	* src/gxvalid/gxmort1.c
1550	(gxv_mort_subtable_type1_offset_to_subst_validate):
1551	Local variables `min_gid', `max_gid' are replaced by
1552	variables in the validator.
1553	(gxv_mort_subtable_type1_entry_validate): Conditionalize
1554	unvalidated variables; `setMark', `dontAdvance'.
1555	(gxv_mort_subtable_type1_substTable_validate):
1556	Validate the GID by the min/max GIDs in the validator.
1557
1558	* src/gxvalid/gxvmort2.c
1559	(gxv_mort_subtable_type2_ligActionOffset_validate):
1560	Conditionalize unvalidated variables; `last', `store'.
1561	Checking for overrunning offset is added.
1562	(gxv_mort_subtable_type2_ent…

Large files files are truncated, but you can click here to view the full file