misc/libfreetype/ChangeLog.23
changeset 5172 88f2e05288ba
equal deleted inserted replaced
5171:f9283dc4860d 5172:88f2e05288ba
       
     1 2010-02-13  Werner Lemberg  <wl@gnu.org>
       
     2 
       
     3 	* Version 2.3.12 released.
       
     4 	==========================
       
     5 
       
     6 
       
     7 	Tag sources with `VER-2-3-12'.
       
     8 
       
     9 	* docs/CHANGES: Updated.
       
    10 
       
    11 	* docs/VERSION.DLL: Update documentation and bump version number to
       
    12 	2.3.12.
       
    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/visualc/freetype.dsp,
       
    18 	builds/win32/visualc/freetype.vcproj,
       
    19 	builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
       
    20 	builds/win32/visualce/freetype.vcproj,
       
    21 	builds/win32/visualce/index.html,
       
    22 	builds/wince/vc2005-ce/freetype.vcproj,
       
    23 	builds/wince/vc2005-ce/index.html,
       
    24 	builds/wince/vc2008-ce/freetype.vcproj,
       
    25 	builds/wince/vc2008-ce/index.html: s/2.3.11/2.3.12/, s/2311/2312/.
       
    26 
       
    27 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 12.
       
    28 
       
    29 	* builds/unix/configure.raw (version_info): Set to 10:0:4.
       
    30 
       
    31 2010-02-12  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
    32 
       
    33 	Improve autotool version checking to work with beta releases.
       
    34 
       
    35 	* autogen.sh (check_tool_version): Improve the extraction of version
       
    36 	number from "tool --version" output.  Some beta releases of
       
    37 	autotools have extra strings before version number.
       
    38 
       
    39 2010-02-12  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
    40 
       
    41 	Fix overallocating bug in FT_Outline_New_Internal().
       
    42 
       
    43 	* src/base/ftoutln.c (FT_Outline_New_Internal): The length of
       
    44 	FT_Outline->points[] should be numPoints, not 2 * numPoints.
       
    45 	Found by Paul Messmer, see
       
    46 	http://lists.gnu.org/archive/html/freetype-devel/2010-02/msg00003.html
       
    47 
       
    48 2010-02-10  Ken Sharp  <ken.sharp@artifex.com>
       
    49 
       
    50 	Really fix Savannah bug #28678 (part 2).
       
    51 
       
    52 	Since we consider `sbw' for the horizontal direction only, we still have
       
    53 	to synthesize vertical metrics if the user wants to use the vertical
       
    54 	writing direction.
       
    55 
       
    56 	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
       
    57 	(cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph):
       
    58 	Synthesize vertical metrics (only) if FT_LOAD_VERTICAL_LAYOUT is
       
    59 	set.
       
    60 
       
    61 2010-02-10  Ken Sharp  <ken.sharp@artifex.com>
       
    62 
       
    63 	Really fix Savannah bug #28678 (part 1).
       
    64 
       
    65 	After long discussion, we now consider the character width vector
       
    66 	(wx,wy) returned by the `sbw' Type 1 operator as being part of *one*
       
    67 	direction only.  For example, if you are using the horizontal
       
    68 	writing direction, you get the horizontal and vertical components of
       
    69 	the advance width for this direction.  Note that OpenType and CFF fonts
       
    70 	don't have such a vertical component; instead, the GPOS table can be
       
    71 	used to generate two-dimensional advance widths (but this isn't
       
    72 	handled by FreeType).
       
    73 
       
    74 	* include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add
       
    75 	`advance_v' field to hold the vertical component of the advance
       
    76 	value.
       
    77 
       
    78 	* src/truetype/ttgload.c (tt_get_metrics), src/cff/cffgload.c
       
    79 	(cff_slot_load), src/type1/t1gload.c
       
    80 	(T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c
       
    81 	(cid_load_glyph): Use it.
       
    82 
       
    83 2010-02-08  Werner Lemberg  <wl@gnu.org>
       
    84 
       
    85 	* devel/ftoption.h [FT_CONFIG_OPTION_PIC]: Define.
       
    86 
       
    87 2010-02-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
    88 
       
    89 	Prevent NULL pointer dereference passed to FT_Module_Requester.
       
    90 
       
    91 	* src/sfnt/sfdriver.c (sfnt_get_interface): Don't use `module'.
       
    92 	* src/psnames/psmodule.c (psnames_get_interface): Ditto.
       
    93 
       
    94 	* src/cff/cffdrivr.c (cff_get_interface): Check NULL `driver'.
       
    95 	* src/truetype/ttdriver.c (tt_get_interface): Ditto.
       
    96 
       
    97 2010-01-29  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
    98 
       
    99 	Fix memory leaks in previous patch.
       
   100 
       
   101 	* src/sfnt/sfobjs.c (sfnt_load_face): Don't overwrite the strings
       
   102 	allocated for face->root.family_name and style_name.
       
   103 
       
   104 2010-01-29  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   105 
       
   106 	New parameters for FT_Open_Face() to ignore preferred family names.
       
   107 
       
   108 	Preferred family names should be used for legacy systems that
       
   109 	can hold only a few faces (<= 4) for a family name. Suggested by
       
   110 	Andreas Heinrich.
       
   111 	http://lists.gnu.org/archive/html/freetype/2010-01/msg00001.html
       
   112 
       
   113 	* include/freetype/ftsnames.h (FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY,
       
   114 	FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Define.
       
   115 
       
   116 	* src/sfnt/sfobjs.c (sfnt_load_face): Check the arguments and
       
   117 	ignore preferred family and subfamily names if requested.
       
   118 
       
   119 2010-01-27  Ken Sharp  <ken.sharp@artifex.com>
       
   120 
       
   121 	Fix Savannah bug #28678.
       
   122 
       
   123 	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
       
   124 	(cid_load_glyph): Handle vertical metrics correctly.
       
   125 
       
   126 	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Handle
       
   127 	vertical metrics correctly.
       
   128 	(T1_Load_Glyph): Don't synthesize vertical metrics.
       
   129 
       
   130 2010-01-14  Werner Lemberg  <wl@gnu.org>
       
   131 
       
   132 	Make FT_Set_Transform work if no renderer is available.
       
   133 
       
   134 	* src/base/ftobjs.c (FT_Load_Glyph): Apply `standard' transformation
       
   135 	if no renderer is compiled into the library.
       
   136 
       
   137 2010-01-14  Werner Lemberg  <wl@gnu.org>
       
   138 
       
   139 	Fix compilation warning.
       
   140 
       
   141 	* src/base/ftbase.h: s/LOCAL_DEF/LOCAL/.
       
   142 	* src/base/ftobjc.s: Include ftbase.h conditionally.
       
   143 
       
   144 2010-01-11  Kwang Yul Seo  <skyul@company100.net>
       
   145 
       
   146 	Provide inline assembly code for RVCT compiler.
       
   147 	This is Savannah patch #7059.
       
   148 
       
   149 	* include/freetype/config/ftconfig.h (FT_MULFIX_ASSEMBLER,
       
   150 	FT_MulFix_arm) [__CC_ARM || __ARM_CC]: Define.
       
   151 
       
   152 2010-01-08  Ken Sharp  <ken.sharp@artifex.com>
       
   153 
       
   154 	Fix Savannah bug #28521.
       
   155 
       
   156 	Issue #28226 involved a work-around for a font which used the
       
   157 	`setcurrentpoint' operator in an invalid way; this operator is only
       
   158 	supposed to be used with the result of OtherSubrs, and the font used
       
   159 	it directly.  The supplied patch removed the block of code which
       
   160 	checked this usage entirely.
       
   161 
       
   162 	This turns out to be a Bad Thing.  If `setcurrentpoint' is being
       
   163 	used correctly it should reset the flex flag in the decoder.  If we
       
   164 	don't do this then the flag never gets reset and we omit any further
       
   165 	contours from the glyph (at least until we close the path or
       
   166 	similar).
       
   167 
       
   168 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
       
   169 	<op_setcurrentpoint>: Handle `flex_state' correctly.
       
   170 
       
   171 2010-01-05  Werner Lemberg  <wl@gnu.org>
       
   172 
       
   173 	Apply reports from clang static analyzer.
       
   174 
       
   175 	* src/lzw/ftlzw.c (ft_lzw_file_init), src/base/ftstroke.c
       
   176 	(FT_Stroker_ParseOutline), src/base/ftsynth.c
       
   177 	(FT_GlyphSlot_Embolden): Remove dead code.
       
   178 
       
   179 	* src/base/ftpatent.c (_tt_check_patents_in_table): Initialize
       
   180 	`offset_i' and `length_i'.
       
   181 
       
   182 2010-01-05  Ralph Giles  <giles@ghostscript.com>
       
   183 
       
   184 	Enable the incremental font interface by default.
       
   185 
       
   186 	Ghostscript requires the incremental font interface for handling
       
   187 	some Postscript documents.  It is moving to using FreeType as its
       
   188 	primary renderer; supporting this in the default build makes it
       
   189 	Ghostscript to be linked against the system FreeType when one is
       
   190 	available.
       
   191 
       
   192 	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
       
   193 	Uncomment.
       
   194 
       
   195 2010-01-05  Werner Lemberg  <wl@gnu.org>
       
   196 
       
   197 	Fix Savannah bug #28395.
       
   198 
       
   199 	* src/truetype/ttdriver.c (Load_Glyph), src/type1/t1gload.c
       
   200 	(T1_Loada_Glyph): Don't check `num_glyphs' if incremental interface
       
   201 	is used.
       
   202 
       
   203 2010-01-05  Ken Sharp  <ken.sharp@artifex.com>
       
   204 
       
   205 	Make Type 1 `seac' operator work with incremental interface.
       
   206 	This fixes Savannah bug #28480.
       
   207 
       
   208 	* src/psaux/t1decode.c (t1operator_seac): Don't check `glyph_names'
       
   209 	if incremental interface is used.
       
   210 
       
   211 2010-01-04  Ken Sharp  <ken.sharp@artifex.com>
       
   212 
       
   213 	Make incremental interface work with TrueType fonts.
       
   214 	This fixes Savannah bug #28478.
       
   215 
       
   216 	* src/truetype/ttgload.c (load_truetype_glyph): Don't check
       
   217 	`glyf_offset' if incremental interface is used.
       
   218 
       
   219 2009-12-31  Lars Abrahamsson  <wonko@opera.com>
       
   220 
       
   221 	Make compilation with FT_CONFIG_OPTION_PIC work again.
       
   222 
       
   223 	* src/base/ftglyph.c (FT_Glyph_To_Bitmap) [FT_CONFIG_OPTION_PIC]:
       
   224 	Declare `library' for FT_BITMAP_GLYPH_CLASS_GET.
       
   225 
       
   226 	* src/base/ftinit.c (ft_destroy_default_module_classes,
       
   227 	ft_create_default_module_classes): Use proper casts (needed for C++
       
   228 	compilation).
       
   229 
       
   230 	* src/sfnt/ttcmap.c (tt_cmap13_class_rec): Use FT_DEFINE_TT_CMAP.
       
   231 
       
   232 2009-12-22  Marc Kleine-Budde  <mkl@pengutronix.de>
       
   233 
       
   234 	Make freetype-config aware of $SYSROOT.
       
   235 	This is Savannah patch #7040.
       
   236 
       
   237 	* builds/unix/freetype-config.in: Decorate with ${SYSROOT} where
       
   238 	appropriate.
       
   239 
       
   240 2009-12-20  Werner Lemberg  <wl@gnu.org>
       
   241 
       
   242 	Fix compiler warning.
       
   243 	Reported by Sean.
       
   244 
       
   245 	* src/base/ftdbgmem.c [!FT_DEBUG_MEMORY]: ANSI C doesn't like empty
       
   246 	source files; however, some compilers warn about an unused variable
       
   247 	declaration.  This is now replaced with a typedef.
       
   248 
       
   249 2009-12-18  Werner Lemberg  <wl@gnu.org>
       
   250 
       
   251 	Fix Savannah bug #28320.
       
   252 
       
   253 	There exist corrupt, subsetted fonts (embedded in PDF files) which
       
   254 	contain a private dict that ends with an unterminated floating point
       
   255 	number (no operator following).  We now ignore this error (as
       
   256 	acrobat does).
       
   257 
       
   258 	* src/cff/cffparse.c (cff_parser_run): Don't emit a syntax error for
       
   259 	unterminated floating point numbers.
       
   260 
       
   261 2009-12-16  Werner Lemberg  <wl@gnu.org>
       
   262 
       
   263 	Really fix compiler warnings.
       
   264 	Reported by Sean.
       
   265 
       
   266 	* src/truetype/ttgxvar.c (GX_PT_POINTS_ARE_WORDS,
       
   267 	GX_PT_POINT_RUN_COUNT_MASK): Convert enum values to macros.
       
   268 
       
   269 2009-12-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   270 
       
   271 	Improve configure.raw to copy some options from CFLAGS to LDFLAGS.
       
   272 	The linker of Mac OS X 10.6 is sensitive to the architecture.  If
       
   273 	the architectures are specified explicitly for the C compiler, the
       
   274 	linker requires the architecture specifications too.
       
   275 
       
   276 	* builds/unix/configure.raw: Replace `-isysroot' option parser by
       
   277 	more generic argument parser.
       
   278 
       
   279 2009-12-15  Werner Lemberg  <wl@gnu.org>
       
   280 
       
   281 	Fix compiler warnings.
       
   282 	Reported by Sean.
       
   283 
       
   284 	* src/truetype/ttgxvar.c (ft_var_readpackeddeltas): Fix counter data
       
   285 	type.
       
   286 
       
   287 2009-12-14  Ken Sharp  <ken.sharp@artifex.com>
       
   288 
       
   289 	Ignore invalid `setcurrentpoint' operations in Type 1 fonts.
       
   290 	This fixes Savannah bug #28226.
       
   291 
       
   292 	At least two wild PostScript files of unknown provenance contain
       
   293 	Type 1 fonts, apparently converted from TrueType fonts in earlier
       
   294 	PDF versions of the files, which use the `setcurrentpoint' operator
       
   295 	inappropriately.
       
   296 
       
   297 	FreeType currently throws an error in this case, but Ghostscript and
       
   298 	Adobe Distiller both accept the fonts and ignore the problem.  This
       
   299 	commit #ifdefs out the check so PostScript interpreters using
       
   300 	FreeType can render these files.
       
   301 
       
   302 	The specification says `setcurrentpoint' should only be used to set
       
   303 	the point after a `Subr' call, but these fonts use it to set the
       
   304 	initial point to (0,0).  Unnecessarily so, as they correctly use an
       
   305 	`hsbw' operation which implicitly sets the initial point.
       
   306 
       
   307 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
       
   308 	<op_setcurrentpoint>: Comment out code.
       
   309 
       
   310 2009-12-14  Bram Tassyns  <bramt@enfocus.be>
       
   311 
       
   312 	Fix parsing of /CIDFontVersion.
       
   313 	This fixes Savannah bug #28287.
       
   314 
       
   315 	* src/cid/cidtoken.h: `cid_version' in CID_FaceInfoRec (in
       
   316 	t1tables.h) is of type FT_Fixed.
       
   317 
       
   318 2009-12-14  Werner Lemberg  <wl@gnu.org>
       
   319 
       
   320 	Trace glyph index in CID module.
       
   321 	Suggested in Savannah patch #7023.
       
   322 
       
   323 	* src/cid/cidgload.c (cid_load_glyph): Add tracing message.
       
   324 
       
   325 2009-12-03  Werner Lemberg  <wl@gnu.org>
       
   326 
       
   327 	Fix compiler warnings.
       
   328 
       
   329 	* src/truetype/ttgload.c (tt_get_metrics): Put `Exit' label into the
       
   330 	proper preprocessor conditional.
       
   331 	* src/pfr/pfrobjs.c (pfr_slot_load): Pacify gcc.
       
   332 
       
   333 2009-11-25  John Tytgat  <John.Tytgat@esko.com>
       
   334 
       
   335 	Better handling of start of `eexec' section.
       
   336 	This fixes Savannah bug #28090.
       
   337 
       
   338 	* src/type1/t1parse.c (T1_Get_Private_Dict): Skip all whitespace
       
   339 	characters before start of `eexec' section.
       
   340 
       
   341 2009-11-20  Werner Lemberg  <wl@gnu.org>
       
   342 
       
   343 	Fix Savannah bug #27742.
       
   344 
       
   345 	* src/base/ftstroke.c (ft_stroker_outside): Avoid silent division by
       
   346 	zero, using a threshold for `theta'.
       
   347 
       
   348 2009-11-20  Werner Lemberg  <wl@gnu.org>
       
   349 
       
   350 	Fix Savannah bug #28036.
       
   351 
       
   352 	* src/type1/t1afm.c (t1_get_index): Fix comparison.
       
   353 
       
   354 2009-11-16  Werner Lemberg  <wl@gnu.org>
       
   355 
       
   356 	Fix compiler warnings.
       
   357 	Reported by Kevin Blenkinsopp <arqon@promode.org>.
       
   358 
       
   359 	* src/sfnt/ttload.c (check_table_dir): Use proper data type.
       
   360 
       
   361 2009-11-15  Werner Lemberg  <wl@gnu.org>
       
   362 
       
   363 	Really fix FreeDesktop bug #21197.
       
   364 	This also fixes Savannah bug #28021.
       
   365 
       
   366 	* src/autofit/aflatin.c (af_latin_metrics_check_digits),
       
   367 	src/autofit/aflatin2.c (af_latin2_metrics_check_digits): Fix loop.
       
   368 
       
   369 2009-11-15  Werner Lemberg  <wl@gnu.org>
       
   370 
       
   371 	Add tracing messages for advance values.
       
   372 
       
   373 	* src/base/ftobjs.c (FT_Load_Glyph), src/truetype/ttgload.c
       
   374 	(TT_Get_HMetrics, TT_Get_VMetrics): Do it.
       
   375 
       
   376 2009-11-08  Werner Lemberg  <wl@gnu.org>
       
   377 
       
   378 	Fix compiler warning.
       
   379 	Reported by Jeremy Manson <jeremy.manson@gmail.com>.
       
   380 
       
   381 	* src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'.
       
   382 
       
   383 2009-11-04  Werner Lemberg  <wl@gnu.org>
       
   384 
       
   385 	Remove compiler warning.
       
   386 	Reported by Sean McBride <sean@rogue-research.com>.
       
   387 
       
   388 	* src/tools/apinames.c (read_header_file)<STATE_TYPE>: Use a cast to
       
   389 	`int', as specified in the printf(3) man page.
       
   390 
       
   391 2009-11-04  Werner Lemberg  <wl@gnu.org>
       
   392 
       
   393 	Fix Savannah bug #27921.
       
   394 
       
   395 	* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
       
   396 	(cid_face_init), src/type1/t1afm.c (T1_Read_Metrics),
       
   397 	src/type1/t1objs.c (T1_Face_Init): Don't use unsigned constant
       
   398 	values for rounding if the argument can be negative.
       
   399 
       
   400 2009-11-03  Bram Tassyns  <bramt@enfocus.be>
       
   401 
       
   402 	Add basic support for Type1 charstrings in CFF.
       
   403 	This fixes Savannah bug #27922.
       
   404 
       
   405 	* src/cff/cffgload.c (CFF_Operator, cff_argument_counts): Handle
       
   406 	`seac', `sbw', and `setcurrentpoint' opcodes.
       
   407 	(cff_compute_bias): Add parameter to indicate the charstring type.
       
   408 	Update all callers.
       
   409 	(cff_operator_seac): Add parameter for side bearing.
       
   410 	(cff_decoder_parse_charstrings): Updated for more Type1 support.
       
   411 
       
   412 2009-11-03  Werner Lemberg  <wl@gnu.org>
       
   413 
       
   414 	Return correct `linearHoriAdvance' value for embedded TT bitmaps too.
       
   415 	Reported by Jeremy Manson <jeremy.manson@gmail.com>.
       
   416 
       
   417 	src/truetype/ttgload.c (load_truetype_glyph): Add parameter to
       
   418 	quickly load the glyph header only.
       
   419 	Update all callers.
       
   420 	(tt_loader_init): Add parameter to quickly load the `glyf' table
       
   421 	only.
       
   422 	Update all callers.
       
   423 	(TT_Load_Glyph): Compute linear advance values for embedded bitmap
       
   424 	glyphs too.
       
   425 
       
   426 2009-11-03  Werner Lemberg  <wl@gnu.org>
       
   427 
       
   428 	Improve code readability.
       
   429 
       
   430 	* src/ttgload.c (load_truetype_glyph): Move metrics calculation
       
   431 	to...
       
   432 	(tt_get_metrics): This new function.
       
   433 
       
   434 2009-10-26  Bram Tassyns  <bramt@enfocus.be>
       
   435 
       
   436 	Fix Savannah bug #27811.
       
   437 
       
   438 	* src/truetype/ttxgvar.c (ft_var_readpackeddeltas): Fix
       
   439 	signed/unsigned mismatch.
       
   440 
       
   441 2009-10-19  Ning Dong  <flintning@163.com>
       
   442 
       
   443 	Fix handling of `get' and `put' CFF instructions.
       
   444 
       
   445 	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_get,
       
   446 	cff_op_put>: Appendix B of Adobe Technote #5177 limits the number of
       
   447 	elements for the `get' and `put' operators to 32.
       
   448 	* src/cff/cffgload.h (CFF_MAX_TRANS_ELEMENTS): Define.
       
   449 	(CFF_Decoder): Use it for `buildchar' and remove `len_buildchar'.
       
   450 
       
   451 2009-10-18  Werner Lemberg  <wl@gnu.org>
       
   452 
       
   453 	Fix handling of `dup' CFF instruction.
       
   454 	Problem and solution reported by Ning Dong <flintning@163.com>.
       
   455 
       
   456 	* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_dup>:
       
   457 	Increase `args' by 2, not 1.
       
   458 
       
   459 2009-10-10  Werner Lemberg  <wl@gnu.org>
       
   460 
       
   461 	* Version 2.3.11 released.
       
   462 	==========================
       
   463 
       
   464 
       
   465 	Tag sources with `VER-2-3-11'.
       
   466 
       
   467 	* docs/VERSION.DLL: Update documentation and bump version number to
       
   468 	2.3.11.
       
   469 
       
   470 	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
       
   471 	builds/win32/visualc/freetype.dsp,
       
   472 	builds/win32/visualc/freetype.vcproj,
       
   473 	builds/win32/visualce/index.html,
       
   474 	builds/win32/visualce/freetype.dsp,
       
   475 	builds/win32/visualce/freetype.vcproj: s/2.3.10/2.3.11/, s/2310/2311/.
       
   476 
       
   477 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 11.
       
   478 
       
   479 	* builds/unix/configure.raw (version_info): Set to 9:22:3.
       
   480 
       
   481 2009-10-10  Werner Lemberg  <wl@gnu.org>
       
   482 
       
   483 	* docs/CHANGES, docs/release: Updated.
       
   484 
       
   485 2009-10-10  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   486 
       
   487 	* src/pcf/pcfread.c (pcf_get_properties): Fix a bug in the nprops
       
   488 	truncation.  Reported by Martin von Gagern and Peter Volkov.
       
   489 	https://bugs.gentoo.org/288357 and https://bugs.gentoo.org/288256
       
   490 
       
   491 2009-10-06  Werner Lemberg  <wl@gnu.org>
       
   492 
       
   493 	* Version 2.3.10 released.
       
   494 	==========================
       
   495 
       
   496 
       
   497 	Tag sources with `VER-2-3-10'.
       
   498 
       
   499 	* builds/toplevel.mk (major, minor, patch): Fix regexp to allow more
       
   500 	than a single digit.
       
   501 	(dist): We now use git.
       
   502 
       
   503 	* docs/VERSION.DLL: Update documentation and bump version number to
       
   504 	2.3.10.
       
   505 
       
   506 	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
       
   507 	builds/win32/visualc/freetype.dsp,
       
   508 	builds/win32/visualc/freetype.vcproj,
       
   509 	builds/win32/visualce/index.html,
       
   510 	builds/win32/visualce/freetype.dsp,
       
   511 	builds/win32/visualce/freetype.vcproj: s/2.3.9/2.3.10/, s/239/2310/.
       
   512 
       
   513 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
       
   514 
       
   515 	* builds/unix/configure.raw (version_info): Set to 9:21:3.
       
   516 
       
   517 2009-10-06  Werner Lemberg  <wl@gnu.org>
       
   518 
       
   519 	Fix `make multi'.
       
   520 
       
   521 	* src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define.
       
   522 
       
   523 	* src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H.
       
   524 
       
   525 2009-09-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   526 
       
   527 	[cache] Fix Savannah bug #27441, clean up Redhat bugzilla #513582.
       
   528 	Tricky casts in FTC_{CACHE,GCACHE,MRULIST}_LOOKUP_CMP() are removed.
       
   529 	Now these functions should be called with FTC_Node or FTC_MruNode
       
   530 	variable, and the caller should cast them to appropriate pointers to
       
   531 	concrete data.  These tricky casts can GCC-4.4 optimizer (-O2)
       
   532 	confused and the crashing binaries are generated.
       
   533 
       
   534 	* src/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Drop tricky cast.
       
   535 	Now the 4th argument `node' of this function should be typed as
       
   536 	FTC_MruNode.
       
   537 
       
   538 	* src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): For inline
       
   539 	implementation, new temporal variable FTC_MruNode `_mrunode' to take
       
   540 	the pointer from FTC_MRULIST_LOOKUP_CMP().  For non-inline
       
   541 	implementation, tricky cast is dropped.
       
   542 
       
   543 	* src/cache/ftcmanag.c (FTC_SIZE_NODE): New macro casting
       
   544 	to FTC_SizeNode.
       
   545 	(FTC_Manager_LookupSize): Replace FTC_SizeNode `node' by FTC_MruNode
       
   546 	`mrunode', and FTC_SIZE_NODE() is inserted.
       
   547 	(FTC_FACE_NODE): New macro casting to FTC_FaceNode.
       
   548 	(FTC_Manager_LookupFace) Replace FTC_FaceNode `node' by FTC_MruNode
       
   549 	`mrunode', and FTC_FACE_NODE() is inserted.
       
   550 
       
   551 	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Change the type of
       
   552 	`node' from FTC_INode to FTC_Node.  Extra casting macro FTC_NODE()
       
   553 	is dropped.
       
   554 	(FTC_ImageCache_LookupScaler): Ditto.
       
   555 	(FTC_SBitCache_Lookup): Change the type of `node' from FTC_SNode to
       
   556 	FTC_Node.  Extra casting macro FTC_NODE() is dropped.  FTC_SNODE()
       
   557 	is inserted.
       
   558 	(FTC_SBitCache_LookupScaler): Ditto.
       
   559 
       
   560 	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the type of
       
   561 	`node' from FTC_CMapNode to FTC_Node.  Extra casting macro
       
   562 	FTC_NODE() is dropped, FTC_CMAP_NODE() is inserted.
       
   563 
       
   564 2009-09-25  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   565 
       
   566 	[cache, psaux, type1] Fix for multi build.
       
   567 	In multi build, some cpp functions are left as unresolved symbols.
       
   568 
       
   569 	* src/cache/ftcbasic.c: Include FT_INTERNAL_DEBUG_H for FT_TRACE1().
       
   570 
       
   571 	* src/psaux/t1decode.c: Include FT_INTERNAL_CALC_H for
       
   572 	FIXED_TO_INT().
       
   573 	* src/type1/t1gload.c: Ditto.
       
   574 	* src/type1/t1objs.c: Ditto.
       
   575 
       
   576 2009-09-25  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   577 
       
   578 	[autofit] Fix for multi build.
       
   579 
       
   580 	* src/autofit/afmodule.h: Include FT_INTERNAL_OBJECTS_H to use
       
   581 	FT_DECLARE_MODULE() macro in multi build.
       
   582 
       
   583 	* src/autofit/aflatin.c: Include <ft2build.h> to handle
       
   584 	FT_ADVANCES_H correctly in multi build.
       
   585 
       
   586 2009-09-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   587 
       
   588 	[cache] Check the face filled by FTC_Manager_LookupFace().
       
   589 
       
   590 	* src/cache/ftcbasic.c (ftc_basic_family_get_count): Return
       
   591 	immediately if FTC_Manager_LookupFace() fills face by NULL.  Such
       
   592 	case can occur when the code is optimized by GCC-4.2.x.
       
   593 
       
   594 2009-09-23  Werner Lemberg  <wl@gnu.org>
       
   595 
       
   596 	* docs/CHANGES: Updated.
       
   597 
       
   598 2009-09-12  Werner Lemberg  <wl@gnu.org>
       
   599 
       
   600 	[raster] Fix 5-levels grayscale output.
       
   601 	This was broken since version 2.3.0.
       
   602 
       
   603 	* src/raster/ftraster.c (count_table): Use pre-2.3.0 values (which
       
   604 	were then computed dynamically).
       
   605 	(Vertical_Gray_Sweep_Step): Updated.
       
   606 
       
   607 	(ft_black_render): Initialize `worker->gray_lines' (problem found by
       
   608 	valgrind).
       
   609 
       
   610 	(FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Dont' #undef, just
       
   611 	comment out.
       
   612 
       
   613 2009-09-12  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   614 
       
   615 	Improve configure.raw for cross build.
       
   616 
       
   617 	* builds/unix/configure.raw: Remove temporal files created by the
       
   618 	suffix checking for CC_BUILD.  Set XX_ANSIFLAGS and XX_CFLAGS when
       
   619 	cross compiler is GCC.  AC_PROG_CC checks whether the cross compiler
       
   620 	is GCC, its result is stored in GCC.
       
   621 
       
   622 2009-09-12  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   623 
       
   624 	[BDF] Modify hash API to take size_t value instead of void *.
       
   625 
       
   626 	The hash API in BDF driver is designed to be generic, it takes
       
   627 	void * typed data.  But BDF driver always gives an unsigned long
       
   628 	integer (the index to a property).  To reduce non-essential
       
   629 	casts from unsigned long to void* and from void* to unsigned
       
   630 	long, the hash API is changed to take size_t integer.
       
   631 	The issue of incompatible cast between unsigned long and void*
       
   632 	on LLP64 platform is reported by NightStrike from MinGW-Win64
       
   633 	project.  See
       
   634 	http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
       
   635 
       
   636 	* src/bdf/bdf.h: The type of hashnode->data is changed from
       
   637 	void* to size_t.
       
   638 
       
   639 	* src/bdf/bdflib.c (hash_insert): Get size_t data, instead of
       
   640 	void* data.
       
   641 	(bdf_create_property): Get the name length of new property by
       
   642 	size_t variable, with a cut-off at FT_ULONG_MAX.
       
   643 	(_bdf_set_default_spacing): Get the name length of the face by
       
   644 	size_t variable, with a cut-off at 256.
       
   645 	(bdf_get_property): Get the property id by size_t variable to
       
   646 	reduce the casts between 32-bit prop ID & hashnode->data during
       
   647 	simple copying.
       
   648 	(_bdf_add_property): Ditto.
       
   649 	(_bdf_parse_start): Calculate the index to the property array
       
   650 	by size_t variable.
       
   651 	(bdf_get_font_property): Drop a cast to unsigned long.
       
   652 
       
   653 2009-09-10  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   654 
       
   655 	[Win64] Improve the computation of random seed from stack address.
       
   656 
       
   657 	On LLP64 platform, the conversion from pointer to FT_Fixed need
       
   658 	to drop higher 32-bit.  Explict casts are required. Reported by
       
   659 	NightStrike from MinGW-w64 project.  See
       
   660 	http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
       
   661 
       
   662 	* src/cff/cffgload.c: Convert the pointers to FT_Fixed explicitly.
       
   663 
       
   664 	* src/psaux/t1decode.c: Ditto.
       
   665 
       
   666 
       
   667 2009-09-03  Werner Lemberg  <wl@gnu.org>
       
   668 
       
   669 	[raster] Improvements for stand-alone mode.
       
   670 
       
   671 	* src/raster/rules.mk: Don't handle ftmisc.h.  It is needed for
       
   672 	stand-alone mode only.
       
   673 
       
   674 	* src/raster/ftmisc.h (FT_MemoryRec , FT_Alloc_Func, FT_Free_Func,
       
   675 	FT_Realloc_Func): Copy declarations from ftsystem.h.
       
   676 
       
   677 2009-09-02  Bram Tassyns  <bramt@enfocus.be>
       
   678 
       
   679 	Improve vertical metrics calculation (Savannah bug #27364).
       
   680 
       
   681 	The calculation of `vertBearingX' is not defined in the OTF font
       
   682 	spec so FreeType does a `best effort' attempt.  However, this value
       
   683 	is defined in the PDF and PostScript specs, and that algorithm is
       
   684 	better than the one FreeType currently uses:
       
   685 
       
   686 	  FreeType: Use the middle of the bounding box as the X coordinate
       
   687 	            of the vertical origin.
       
   688 
       
   689 	  Adobe PDF spec: Use the middle of the horizontal advance vector as
       
   690 	                  the X coordinate of the vertical origin.
       
   691 
       
   692 	FreeType's algorithm goes wrong if you have a really small glyph
       
   693 	(like the full-width, circle-like dot at the end of the sentence, as
       
   694 	used in CJK scripts) with large bearings.  With the FreeType
       
   695 	algorithm this dot gets centered on the baseline; with the PDF
       
   696 	algorithm it gets the correct location (in the top right).  Note
       
   697 	that this is a serious issue, it's like printing the dot at the end
       
   698 	of a Roman sentence at the center of the textline instead of on the
       
   699 	baseline like it should. So i believe the PDF spec's algorithm
       
   700 	should be used in FreeType as well.
       
   701 
       
   702 	The `vertBearingY' value for such small glyphs is also very strange
       
   703 	if no `vmtx' information is present, since the height of the bbox is
       
   704 	not representable for the height of the glyph visually (the
       
   705 	whitespace up to the baseline is part of the glyph).  The fix also
       
   706 	includes some code for a better estimate of `vertBearingY'.
       
   707 
       
   708 	* src/base/ftobjs.c (ft_synthesize_vertical_metrics): `vertBearingX'
       
   709 	is now calculated as described by the Adobe PDF Spec.  Estimate for
       
   710 	`vertBearingY' now works better for small glyphs completely above or
       
   711 	below the baseline into account.
       
   712 
       
   713 	* src/cff/cffgload.c (cff_slot_load): `vertBearingX' is now
       
   714 	calculated as described by the Adobe PDF Spec.  Vertical metrics
       
   715 	information was always ignored when FT_CONFIG_OPTION_OLD_INTERNALS
       
   716 	was not defined.
       
   717 
       
   718 	* src/truetype/ttgload.c (compute_glyph_metrics): `vertBearingX' is
       
   719 	now calculated as described by the Adobe PDF Spec.
       
   720 
       
   721 2009-09-01  John Tytgat  <John.Tytgat@esko.com>
       
   722 
       
   723 	Fix custom cmap for empty Type 1 font (Savannah bug #27294).
       
   724 
       
   725 	* include/freetype/internal/t1types.h (T1_EncodingRecRec_): Update
       
   726 	comment to reflect revised code_last meaning.
       
   727 	* src/type1/t1load.c (T1_Open_Face), src/type42/t42objs.c
       
   728 	(T42_Open_Face): Assign max_char as highest character code + 1 and
       
   729 	use this for T1_EncodingRecRec_::code_last.
       
   730 	* src/psaux/t1cmap.c (t1_cmap_custom_init): Follow revised
       
   731 	T1_EncodingRecRec_::code_last meaning.
       
   732 
       
   733 2009-08-25  Werner Lemberg  <wl@gnu.org>
       
   734 
       
   735 	Fix rendering of horizontally compressed CFFs.
       
   736 	Bug reported by Ivan Nincic <inincic@pdftron.com>.
       
   737 
       
   738 	* src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of
       
   739 	`font_matrix' also.
       
   740 
       
   741 	* docs/CHANGES: Updated.
       
   742 
       
   743 2009-08-03  suyu0925@gmail.com
       
   744 
       
   745 	Don't call `ft_fseek' every time when executing `ft_fread'.
       
   746 
       
   747 	* src/base/ftstream.c (FT_Stream_Seek), src/base/ftsystem.c
       
   748 	(ft_ansi_stream_io): Implement it.
       
   749 
       
   750 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   751 
       
   752 	sfnt: Cast a charcode to 32-bit in cmap format 14 parser.
       
   753 	
       
   754 	* src/sfnt/ttcmap.c (tt_cmap14_char_var_index,
       
   755 	tt_cmap14_char_var_isdefault, tt_cmap14_char_variants,
       
   756 	tt_cmap14_variant_chars): Correct mismatches from
       
   757 	FT_CMap_CharVarIndexFunc prototype, FT_ULong arguments
       
   758 	are replaced by FT_UInt32 arguments.
       
   759 
       
   760 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   761 
       
   762 	sfnt: Cast a charcode to 32-bit in cmap format 12 parser.
       
   763 
       
   764 	* src/sfnt/ttcmap.c (tt_cmap12_char_next):
       
   765 	Insert explicit cast from FT_UFast to FT_UInt32
       
   766 	for return value.
       
   767 
       
   768 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   769 
       
   770 	psaux: Fix a few casts to FT_Int32 value.
       
   771 
       
   772 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings):
       
   773 	Fix a few casts setting `value' from FT_Long to FT_Int32,
       
   774 	because `value' is typed as FT_Int32 since 2009-06-22.
       
   775 
       
   776 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   777 
       
   778 	sfnt: Fix a data type mismatching with its source.
       
   779 
       
   780 	* src/sfnt/ttcmap.c (tt_cmap13_char_next): Fix the
       
   781 	type of `gindex' from FT_ULong to FT_UInt because
       
   782 	it is set by FT_UInt tt_cmap13_char_map_binary() or
       
   783 	TT_CMap13->cur_gindex.
       
   784 
       
   785 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   786 
       
   787 	sfnt: Extend a few local variables to load 32-bit values.
       
   788 
       
   789 	* src/sfnt/ttkern.c (tt_face_load_kern): Extend `count'
       
   790 	and `kern' to load 32-bit values.
       
   791 
       
   792 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   793 
       
   794 	pfr: Extend `num_aux' to take 32-bit value.
       
   795 
       
   796 	* src/pfr/pfrload.c (pfr_phy_font_load): Extend
       
   797 	`num_aux' to load 32-bit value.
       
   798 
       
   799 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   800 
       
   801 	pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.
       
   802 
       
   803 	* src/pcf/pcfread.c (pcf_get_properties): Load `nprops'
       
   804 	as FT_ULong value from PCF file, but truncate it as
       
   805 	int to fit PCF_Face->nprops.  The number of truncated
       
   806 	properties is shown in the trace message.
       
   807 
       
   808 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   809 
       
   810 	gxvalid: Extend a few local variables to reduce the casts.
       
   811 
       
   812 	* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
       
   813 	Extend `type' and `rest' to take FT_ULong values.
       
   814 
       
   815 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   816 
       
   817 	gxvalid: Extend `settingTable' to take 32-bit offset.
       
   818 
       
   819 	* src/gxvalid/gxvfeat.c (gxv_feat_name_validate):
       
   820 	Extend `settingTable' to take 32-bit offset.
       
   821 
       
   822 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   823 
       
   824 	autofit: Cast FT_Long glyph_count to compare with FT_UInt GID.
       
   825 
       
   826 	* src/autofit/afglobal.c (af_face_globals_is_digit,
       
   827 	af_face_globals_compute_script_coverage): Cast FT_Long
       
   828 	globals->glyph_count to FT_ULong, to compare with FT_UInt
       
   829 	gindex.
       
   830 
       
   831 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   832 
       
   833 	smooth: Exclude 16-bit system in invalid pitch/height check.
       
   834 
       
   835 	* src/smooth/ftsmooth.c (ft_smooth_render_generic):
       
   836 	pitch and height are typed as FT_UInt but checked to fit
       
   837 	16-bit range, to avoid the overflows.  On 16-bit system,
       
   838 	this checking inserts a conditional that never occurs.
       
   839 
       
   840 2009-07-03  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   841 
       
   842 	cff: Type large constants > 0x7FFF as long for 16-bit systems.
       
   843 
       
   844 	* src/cff/cffload.c (cff_charset_load): Type large
       
   845 	constants > 0x7FFF as long, because normal constants
       
   846 	are typed signed integer that is less than 0x8000 on
       
   847 	16-bit systems.
       
   848 
       
   849 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   850 
       
   851 	base: Remove an unused variable.
       
   852 
       
   853 	* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove an
       
   854 	unused variable `library'.  glyph->library is used.
       
   855 
       
   856 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   857 
       
   858 	cache: Check higher bits in flags for non ILP32 systems.
       
   859 
       
   860 	4 public functions ought to take FT_ULong flags, but take
       
   861 	FT_UInt flags. To keep binary compatibility, we drop higher
       
   862 	bits on non ILP32 platforms,
       
   863 		ILP64 systems: No drop occurs.
       
   864 		LP64 systems: Higher bits are not used.
       
   865 		16-bit systems: Drop can occur.
       
   866 	See
       
   867 	http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00065.html
       
   868 	These functions will be refined to take FT_ULong flags in
       
   869 	next bump with incompatible API change.
       
   870 
       
   871 	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup):
       
   872 	Check `flags' in `type', the 2nd argument.
       
   873 	(FTC_SBitCache_Lookup): Ditto.
       
   874 	(FTC_ImageCache_LookupScaler): Check `load_flags',
       
   875 	the 3rd argument.
       
   876 	(FTC_SBitCache_LookupScaler): Ditto.
       
   877 
       
   878 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   879 
       
   880 	sfnt: Ignore invalid GIDs in glyph name lookup.
       
   881 
       
   882 	* include/freetype/internal/fttrace.h:
       
   883 	New trace module for sfdriver.c is added.
       
   884 
       
   885 	* src/sfnt/sfdriver.c (sfnt_get_name_index):
       
   886 	Restrict glyph name lookup to FT_UInt GID.
       
   887 	Genuine TrueType can hold 16-bit glyphs.
       
   888 
       
   889 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   890 
       
   891 	pcf: Fix a comparison between FT_Long and FT_ULong.
       
   892 
       
   893 	* src/pcf/pcfread.c (pcf_get_bitmaps): Return an error
       
   894 	if PCF_Face->nemetrics is negative.
       
   895 
       
   896 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   897 
       
   898 	gxvalid: Guarantee `nFeatureFlags' size up to 32-bit.
       
   899 
       
   900 	* src/gxvalid/gxvmort.c (gxv_mort_featurearray_validate):
       
   901 	Extend the 3rd argument `nFeatureFlags' to FT_ULong.
       
   902 	* src/gxvalid/gxvmort.h: Ditto.
       
   903 
       
   904 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   905 
       
   906 	sfnt: Insert explicit cast for LP64 system.
       
   907 
       
   908 	* src/sfnt/ttkern.c (tt_face_load_kern): Insert
       
   909 	cast from unsigned long to FT_UInt32.
       
   910 
       
   911 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   912 
       
   913 	gxvalid: Guarantee `just' table size upto 32-bit.
       
   914 
       
   915 	* src/gxvalid/gxvjust.c (gxv_just_validate):
       
   916 	The type of `offset' is changed from FT_UInt to
       
   917 	FT_Offset, for 16-bit platforms.
       
   918 
       
   919 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   920 
       
   921 	gxvalid: Guarantee `trak' table size upto 32-bit.
       
   922 
       
   923 	* src/gxvalid/gxvtrak.c (gxv_trak_validate):
       
   924 	The type of `offset' is changed from FT_UInt to
       
   925 	FT_Offset, for 16-bit platforms.
       
   926 
       
   927 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   928 
       
   929 	type1: Fix a data type mismatching with its source.
       
   930 
       
   931 	* include/freetype/internal/t1types.h: The type of
       
   932 	T1_Face->buildchar is matched with T1_Decorder->top.
       
   933 
       
   934 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   935 
       
   936 	pfr: Fix a data type mismatching with its source.
       
   937 
       
   938 	* src/pfr/pfrtypes.h: The type of PFR_KernItem->offset
       
   939 	is extended from FT_UInt32 to FT_Offset, because it is
       
   940 	calculated with the pointer difference, in
       
   941 	pfr_extra_item_load_kerning_pairs().
       
   942 
       
   943 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   944 
       
   945 	pfr: Fix a data type mismatching with its source.
       
   946 
       
   947 	* src/pfr/pfrtypes.h: The type of PFR_PhysFont->chars_offset
       
   948 	is extended from FT_UInt32 to FT_Offset, because it is
       
   949 	calculated with the pointer difference in pfr_phy_font_load().
       
   950 
       
   951 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   952 
       
   953 	pfr: Fix a data type mismatching with its source.
       
   954 
       
   955 	* src/pfr/pfrtypes.h: The type of PFR_PhyFont->bct_offset
       
   956 	is extended from FT_UInt32 to FT_Long, because it is
       
   957 	loaded by FT_STREAM_POS() in pfr_phy_font_load().
       
   958 
       
   959 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   960 
       
   961 	smooth: Improve the format in debug message.
       
   962 
       
   963 	* src/smooth/ftgrays.c (gray_dump_cells): Improve the
       
   964 	format specifications to dump variables.
       
   965 
       
   966 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   967 
       
   968 	sfnt: Fix a data type mismatching with its source.
       
   969 
       
   970 	* src/sfnt/sfobjs.c (sfnt_load_face): The type of
       
   971 	local `flags' is matched with FT_Face->face_flags.
       
   972 
       
   973 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   974 
       
   975 	psaux: Fix a data type mismatching with its source.
       
   976 
       
   977 	* include/freetype/internal/psaux.h: The type of
       
   978 	T1_DecorderRec.buildchar is matched with
       
   979 	T1_DecorderRec.top.
       
   980 
       
   981 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   982 
       
   983 	truetype: Extend TrueType GX packed deltas to FT_Offset.
       
   984 
       
   985 	* src/truetype/ttgxvar.c (ft_var_readpackeddeltas):
       
   986 	The type of 2nd argument `delta_cnt' is changed from
       
   987 	FT_Int to FT_Offset, because its source can be cvt
       
   988 	table size calculated from stream position.
       
   989 
       
   990 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   991 
       
   992 	truetype: Extend mmvar_len to hold size_t values.
       
   993 
       
   994 	* src/truetype/ttgxvar.h: The type of
       
   995 	GX_BlendRec.mmvar_len is changed from FT_Int to
       
   996 	FT_Offset, because TT_Get_MM_Var() calculates it
       
   997 	by sizeof() results.
       
   998 
       
   999 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1000 
       
  1001 	truetype: Check invalid function number in IDEF instruction.
       
  1002 
       
  1003 	* src/truetype/ttinterp.c (Ins_IDEF): Check
       
  1004 	if the operand fits to 8-bit opcode limitation.
       
  1005 
       
  1006 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1007 
       
  1008 	truetype: Check invalid function number in FDEF instruction.
       
  1009 
       
  1010 	* src/truetype/ttinterp.c (Ins_FDEF): Check
       
  1011 	if the operand fits 16-bit function number.
       
  1012 
       
  1013 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1014 
       
  1015 	truetype: Truncate the deltas of composite glyph at 16-bit values.
       
  1016 
       
  1017 	* src/truetype/ttgload.c (load_truetype_glyph):
       
  1018 	Insert cast from FT_Long (deltas[i].{x,y}) to
       
  1019 	FT_Int16 in the summation of deltas[] for composite
       
  1020 	glyphs.  Because deltas[i] is typed as FT_Pos,
       
  1021 	its component x, y are typed as FT_Long, but
       
  1022 	their sources are always FT_Int16 when they are
       
  1023 	loaded by ft_var_readpackeddeltas().  However,
       
  1024 	the limitation about the summed deltas is unclear.
       
  1025 
       
  1026 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1027 
       
  1028 	truetype: Truncate the instructions upto 16-bit per a glyph.
       
  1029 
       
  1030 	* src/truetype/ttgload.c (TT_Hint_Glyph): Truncate
       
  1031 	the instructions upto 16-bit length per a glyph.
       
  1032 
       
  1033 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1034 
       
  1035 	truetype: Cast the numerical operands to 32-bit for LP64 systems.
       
  1036 
       
  1037 	* src/truetype/ttinterp.c (Ins_SPHIX, INS_MIAP,
       
  1038 	Ins_MIRP): Insert cast from long (args[], the
       
  1039 	operands passed to TrueType operator) to FT_Int32
       
  1040 	(the argument of TT_MulFix14()).
       
  1041 
       
  1042 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1043 
       
  1044 	truetype: Cast the project vector to 32-bit for LP64 system.
       
  1045 
       
  1046 	* src/truetype/ttinterp.c (Project, DualProject):
       
  1047 	Insert casts from FT_Pos (the arguments `dx', `dy')
       
  1048 	to FT_UInt32 (the argument to TT_DotFix14()).
       
  1049 
       
  1050 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1051 
       
  1052 	truetype: Cast the scaling params to 32-bit for LP64 system.
       
  1053 
       
  1054 	* src/truetype/ttgload.c (TT_Process_Composite_Component):
       
  1055 	Insert casts from long (return value of FT_MulFix()) to
       
  1056 	FT_Int32 (the argument to FT_SqrtFixed()).
       
  1057 
       
  1058 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1059 
       
  1060 	sfnt: Cast a character code to FT_UInt32 for LP64 system.
       
  1061 
       
  1062 	* src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
       
  1063 	tt_cmap14_variants, tt_cmap14_char_variants,
       
  1064 	tt_cmap14_def_char_count, tt_cmap14_get_def_chars,
       
  1065 	tt_cmap14_get_nondef_chars, tt_cmap14_variant_chars)
       
  1066 	Insert casts when FT_UInt32 variable is loaded by
       
  1067 	TT_NEXT_{UINT24|ULONG}.  Because most of them are
       
  1068 	compared with FT_UInt32 values in public API, replacing
       
  1069 	FT_UFast is not recommended.
       
  1070 
       
  1071 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1072 
       
  1073 	sfnt: Cast a character code to FT_UInt32 for LP64 system.
       
  1074 
       
  1075 	* src/sfnt/ttcmap.c (tt_cmap4_init, tt_cmap4_next):
       
  1076 	Insert the casts from unsigned long constant to
       
  1077 	FT_UInt32.
       
  1078 
       
  1079 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1080 
       
  1081 	sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF.
       
  1082 
       
  1083 	* include/freetype/internal/tttypes.h: The type
       
  1084 	of TT_BDF->string_size is extended from FT_UInt32
       
  1085 	to FT_ULong, because BDF specification does not
       
  1086 	restrict the length of string.
       
  1087 	* src/sfnt/ttbdf.c: The scratch variable `strings'
       
  1088 	to load TT_BDF->string_size is matched with
       
  1089 	TT_BDF->string_size.
       
  1090 
       
  1091 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1092 
       
  1093 	psaux: Handle the string length by FT_Offset variables.
       
  1094 
       
  1095 	* src/psaux/afmparse.c (afm_parser_next_key,
       
  1096 	afm_tokenize, afm_parse_track_kern,
       
  1097 	afm_parse_kern_pairs, afm_parse_kern_data,
       
  1098 	afm_parser_skip_section, afm_parser_parse):
       
  1099 	The length of key is handled by FT_Offset,
       
  1100 	instead of FT_UInt.  Although the length of
       
  1101 	PostScript strings or name object is 16-bit,
       
  1102 	AFM_STREAM_KEY_LEN() calculates the length
       
  1103 	from the pointer difference.
       
  1104 
       
  1105 	* src/psaux/afmparse.h (afm_parser_next_key):
       
  1106 	Ditto.
       
  1107 
       
  1108 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1109 
       
  1110 	pcf: Fix some data types mismatching with their sources.
       
  1111 
       
  1112 	* src/pcf/pcfread.c (pcf_get_bitmaps): The types
       
  1113 	of `nbitmaps', `i', `sizebitmaps' are matched with
       
  1114 	the type of area FT_Bitmap.pitch * FT_Bitmap.rows.
       
  1115 
       
  1116 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1117 
       
  1118 	pcf: Handle the string length by size_t variables.
       
  1119 
       
  1120 	* src/pcf/pcfread.c (pcf_interpret_style): The types
       
  1121 	of nn, len, lengths[4] are changed to size_t, because
       
  1122 	they are loaded by (or compared with) ft_strlen().
       
  1123 
       
  1124 	* src/pcf/pcfutil.c (BitOrderInvert, TwoByteSwap,
       
  1125 	FourByteSwap): The type of the 2nd argument `nbytes'
       
  1126 	is changed to size_t, for similarity with ANSI C
       
  1127 	string functions.
       
  1128 
       
  1129 	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): The type of
       
  1130 	`bytes' is changed to FT_Offset, because it is passed
       
  1131 	to FT_ALLOC(), via ft_glyphslot_alloc_bitmap().  At
       
  1132 	least, using unsigned type is better.
       
  1133 
       
  1134 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1135 
       
  1136 	pcf: Fix some data types mismatching with their sources.
       
  1137 
       
  1138 	* src/pcf/pcfread.c (pcf_seek_to_table_type,
       
  1139 	pcf_has_table_type): The type of 3rd argument
       
  1140 	`ntables' is matched with PCF_Toc->count.
       
  1141 
       
  1142 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1143 
       
  1144 	otvalid: Truncate the glyph index to 16-bit.
       
  1145 
       
  1146 	* src/otvalid/otvalid.c (otv_validate): Checks
       
  1147 	face->num_glyphs does not exceed 16-bit limit,
       
  1148 	pass FT_UInt num_glyphs to backend functions
       
  1149 	otv_{GPOS|GSUB|GDEF|JSTF|MATH}_validate().
       
  1150 
       
  1151 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1152 
       
  1153 	cache: Insert explict casts for LP64 systems.
       
  1154 
       
  1155 	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup,
       
  1156 	FTC_SBitCache_Lookup): The type of FTC_ImageType->width
       
  1157 	is FT_Int, so the cast to unsigned larger type FT_ULong
       
  1158 	is introduced for the comparisons with 0x10000L for
       
  1159 	LP64 platform.
       
  1160 
       
  1161 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1162 
       
  1163 	cache: Fix some data types mismatching with their sources.
       
  1164 
       
  1165 	* src/cache/ftccache.h: The type of return value
       
  1166 	by FTC_Node_WeightFunc function is changed to
       
  1167 	FT_Offset.  The type of FTC_CacheClass->cache_size
       
  1168 	is changed to FT_Offset, too.
       
  1169 
       
  1170 	* src/cache/ftccback.h (ft_inode_weight,
       
  1171 	ftc_snode_weight): Ditto.
       
  1172 
       
  1173 	* src/cache/ftccmap.c (ftc_cmap_node_weight): Ditto.
       
  1174 
       
  1175 	* src/cache/ftcimage.c (ftc_inode_weight,
       
  1176 	FTC_INode_Weight): Ditto.
       
  1177 
       
  1178 	* src/cache/ftcsbits.c (ftc_snode_weight,
       
  1179 	FTC_SNode_Weight): Ditto.
       
  1180 
       
  1181 	* src/cache/ftcmru.h: The type of
       
  1182 	FTC_MruListClass->node_size is changed to FT_Offset,
       
  1183 	because it is passed to FT_ALLOC() to specify the
       
  1184 	size of buffer.
       
  1185 
       
  1186 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1187 
       
  1188 	XXX_cmap_encoding_char_next() return FT_UInt32 values.
       
  1189 
       
  1190 	* include/freetype/internal/services/svpscmap.h:
       
  1191 	The size of the charcode value returned by
       
  1192 	the function typed PS_Unicodes_CharNextFunc is
       
  1193 	matched with its input charcode value.
       
  1194 
       
  1195 	* src/cff/cffmap.c (cff_cmap_encoding_char_next,
       
  1196 	cff_cmap_unicode_char_next): Ditto.
       
  1197 
       
  1198 	* src/pfr/pfrmap.c (pfr_cmap_encoding_char_next):
       
  1199 	Ditto.
       
  1200 
       
  1201 	* src/psaux/t1cmap.c (t1_cmap_std_char_next,
       
  1202 	t1_cmap_custom_char_next, t1_cmap_unicode_char_next):
       
  1203 	Ditto.
       
  1204 
       
  1205 	* src/psnames/psmodule.c (ps_unicodes_char_next):
       
  1206 	Ditto.
       
  1207 
       
  1208 	* src/winfonts/winfnt.c (fnt_cmap_char_next):
       
  1209 	Ditto.
       
  1210 
       
  1211 	* src/sfnt/ttcmap.c (tt_cmap0_char_next,
       
  1212 	tt_cmap2_char_next, tt_cmap4_char_next,
       
  1213 	tt_cmap6_char_next, tt_cmap10_char_next,
       
  1214 	tt_cmap12_char_next, tt_cmap13_char_next): Ditto.
       
  1215 	(tt_cmap14_char_variants): Handle base unicode
       
  1216 	codepoint by FT_UInt32 variable to avoid overflow
       
  1217 	on 16-bit platforms.
       
  1218 	(tt_cmap14_ensure): The type of `num_results' is
       
  1219 	extend to FT_UInt32, to cover unsigned 32-bit
       
  1220 	`numVarSelectorRecords' in cmap14 table header.
       
  1221 
       
  1222 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1223 
       
  1224 	truetype: Extend TT_Face->num_locations for broken TTFs.
       
  1225 
       
  1226 	* include/freetype/internal/tttypes.h:
       
  1227 	TT_Face->num_locations are extended from FT_UInt
       
  1228 	to FT_ULong, to stand with broken huge loca table.
       
  1229 	Some people insists there are broken TTF including
       
  1230 	the glyphs over 16-bit limitation, in PRC market.
       
  1231 	* src/truetype/ttpload.c (tt_face_load_loca):
       
  1232 	Remove unrequired 16-bit truncation for FT_UInt
       
  1233 	TT_Face->num_locations.
       
  1234 
       
  1235 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1236 
       
  1237 	smooth: Fix some data types mismatching with their sources.
       
  1238 
       
  1239 	* src/smooth/ftgrays.c: The type of `TCoord' is
       
  1240 	matched to `TPos', because they are mixed in
       
  1241 	gray_set_cell().  The type of TCell->x is extended
       
  1242 	to `TPos', because gray_find_cell() sets it by
       
  1243 	TWorker.ex.  The type of TCell->cover is extended
       
  1244 	to `TCoord', because gray_render_scanline() adds
       
  1245 	TCoord value to it.  The type of TWork.cover is matched
       
  1246 	with TCell->cover.  The types of
       
  1247 	TWork.{max_cells,num_cells} are changed to FT_PtrDist,
       
  1248 	because they are calculated from the memory addresses.
       
  1249 	The type of TWork.ycount is changed to TPos, because
       
  1250 	it is calculated from TPos variables.
       
  1251 	(gray_find_cell): The type of `x' is matched with
       
  1252 	its initial value ras.ex.
       
  1253 	(gray_render_scanline): The types of `mod', `lift'
       
  1254 	and `rem' are changed to TCoord, because their values
       
  1255 	are set with explicit casts to TCoord.  When ras.area
       
  1256 	is updated by the differential values including
       
  1257 	`delta', they are explicitly cast to TArea, because
       
  1258 	the type of `delta' is not TArea but TCoord.
       
  1259 	(gray_render_line): The type of `mod' is extended
       
  1260 	from int to TCoord, because (TCoord)dy is added to mod.
       
  1261 	(gray_hline): The argument `acount' is extended to
       
  1262 	TCoord, to match with the parameters in the callers.
       
  1263 
       
  1264 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1265 
       
  1266 	cff: Fix some data types mismatching with their sources.
       
  1267 
       
  1268 	* src/cff/cffobjs.c (cff_face_init): The type of
       
  1269 	`scaling' is matched with the scaling parameter
       
  1270 	in FT_Matrix_Multiply_Scaled() and
       
  1271 	FT_Vector_Transform_Scaled().
       
  1272 
       
  1273 	* src/cff/cffparse.c (cff_parse_real): The type of
       
  1274 	`power_ten', `scaling', `exponent_add',
       
  1275 	`integer_length', `fraction_length',
       
  1276 	`new_fraction_length' and `shift' are matched with
       
  1277 	the type of `exponent' to avoid unexpected truncation.
       
  1278 	(cff_parse_fixed_scaled): The type of `scaling' is
       
  1279 	matched with the `scaling' argument to
       
  1280 	cff_parse_real().
       
  1281 	(cff_parse_fixed_dynamic): Ditto.
       
  1282 	(cff_parse_font_matrix): The type of `scaling' is
       
  1283 	matched with the `scaling' argument to
       
  1284 	cff_parse_dynamic().
       
  1285 
       
  1286 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1287 
       
  1288 	autofit: Fix some data types mismatching with their sources.
       
  1289 
       
  1290 	* src/autofit/afglobal.c: Correct the type of
       
  1291 	AF_FaceGlobalsRec.glyph_count to match with
       
  1292 	FT_Face->num_glyphs.
       
  1293 	(af_face_globals_compute_script_coverage):
       
  1294 	Insert explicit cast to compare
       
  1295 	FT_Long AF_FaceGlobalsRec.glyph_count versus
       
  1296 	FT_UInt gindex.  The type of `nn' is changed
       
  1297 	to scan glyph index upto AF_FaceGlobalsRec.glyph_count.
       
  1298 	(af_face_globals_get_metrics): The type of `script_max'
       
  1299 	is changed to cover size_t value.  Insert explicit cast
       
  1300 	to compare FT_Long AF_FaceGlobalsRec.glyph_count versus
       
  1301 	FT_UInt gindex.
       
  1302 
       
  1303 	* src/autofit/afhints.c (af_axis_hints_new_segment):
       
  1304 	Insert explicit cast to calculate `big_max' from
       
  1305 	integer and size_t values.
       
  1306 	(af_axis_hints_new_edge): Ditto.
       
  1307 
       
  1308 	* src/autofit/aflatin.c (af_latin_metrics_init_blues):
       
  1309 	The type of `best_y' is matched to FT_Vector.y.
       
  1310 	(af_latin_compute_stem_width): The type of `delta' is
       
  1311 	matched to `dist' and `org_dist'.
       
  1312 
       
  1313 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1314 
       
  1315 	autofit: Count the size of the memory object by ptrdiff_t.
       
  1316 
       
  1317 	* src/autofit/afcjk.c (af_cjk_hint_edges): The
       
  1318 	number of edges `n_edges' should be counted by
       
  1319 	FT_PtrDist variable instead of FT_Int.
       
  1320 
       
  1321 	* src/autofit/aflatin.c (af_latin_hint_edges):
       
  1322 	Ditto.
       
  1323 
       
  1324 	* src/autofit/aftypes.h: In AF_ScriptClassRec,
       
  1325 	the size of metric `script_metrics_size' should
       
  1326 	be counted by FT_Offset variable instead of FT_UInt.
       
  1327 
       
  1328 	* src/autofit/afhints.c
       
  1329 	(af_glyph_hints_align_strong_points): The cursors
       
  1330 	for the edges `min', `max', `mid' in the memory
       
  1331 	buffer should be typed FT_PtrDist.
       
  1332 
       
  1333 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1334 
       
  1335 	autofit: Fix for unused variable `first'.
       
  1336 
       
  1337 	* src/autofit/afhints.c (af_glyph_hints_reload): Insert
       
  1338 	FT_UNUSED() to hide the unused variable warning.
       
  1339 
       
  1340 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1341 
       
  1342 	Improve bitmap size or pixel variables for 16-bit systems.
       
  1343 
       
  1344 	* include/freetype/config/ftstdlib.h: Introduce
       
  1345 	FT_INT_MIN, to use in signed integer overflow in
       
  1346 	16-bit and 64-bit platforms.
       
  1347 	
       
  1348 	* include/freetype/internal/fttrace.h: Add a tracer
       
  1349 	to ftsynth.c.
       
  1350 	
       
  1351 	* src/base/ftbitmap.c (FT_Bitmap_Embolden): Check
       
  1352 	invalid strength causing integer overflow on 16-bit
       
  1353 	platform.
       
  1354 	
       
  1355 	* src/base/ftcalc.c (ft_corner_orientation): Change
       
  1356 	the internal calculation from FT_Int to FT_Long, to
       
  1357 	avoid an overflow on 16-bit platforms.  The caller of
       
  1358 	this function should use only the sign of result,
       
  1359 	so the cast to FT_Int is acceptable.
       
  1360 	
       
  1361 	* src/base/ftsynth.c: Introduce a tracer for synth module.
       
  1362 	(FT_GlyphSlot_Embolden): Check invalid strength causing
       
  1363 	integer overflow on 16-bit platform.
       
  1364 	
       
  1365 	* src/bdf/bdfdrivr.c (BDF_Face_Init): The glyph index
       
  1366 	in FT2 API is typed as FT_UInt, although BDF driver
       
  1367 	can handle unsigned long glyph index internally.  To
       
  1368 	avoid integer overflow on 16-bit platform, too large
       
  1369 	glyph index should be excluded.
       
  1370 	(BDF_Glyph_Load): The glyph pitch in FT2 is typed as
       
  1371 	FT_UInt, although BDF driver can handle unsigned long
       
  1372 	glyph pitch internally.  To avoid integer overflow on
       
  1373 	16-bit platform, too large glyph pitch should not be
       
  1374 	returned.
       
  1375 	
       
  1376 	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): The glyph
       
  1377 	pitch in FT2 is typed as FT_UInt, although PFR font
       
  1378 	format can include huge bitmap glyph with 24-bit pitch
       
  1379 	(however, a glyph spends 16.7 pixel, it's not realistic).
       
  1380 	To avoid integer overflow on 16-bit platform, huge
       
  1381 	bitmap glyph should be excluded.
       
  1382 	
       
  1383 	* src/smooth/ftgrays.c (gray_hline): As FT_Span.x is
       
  1384 	truncated to fit its type (16-bit short), FT_Span.y
       
  1385 	should be truncated to fit its type (FT_Int).
       
  1386 	
       
  1387 	* src/cff/cffdrivr.c (cff_get_ros): CFF specification
       
  1388 	defines the supplement in ROS as a real number.
       
  1389 	Truncate it to fit public FT2 API.
       
  1390 	
       
  1391 	* src/cff/cffparse.c (cff_parse_cid_ros): Warn the
       
  1392 	supplement if it is truncated or rounded in cff_get_ros().
       
  1393 	
       
  1394 	* src/cff/cfftypes.h: Change the type of internal variable
       
  1395 	`supplement' from FT_Long to FT_ULong to fit the signedness
       
  1396 	to the type in public API.
       
  1397 
       
  1398 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1399 
       
  1400 	psaux: Prevent invalid arguments to afm_parser_read_vals().
       
  1401 
       
  1402 	* src/psaux/afmparse.c (afm_parser_read_vals): Change
       
  1403 	the type of `n' to prevent negative number how many
       
  1404 	arguments should be parsed.
       
  1405 
       
  1406 	* src/psaux/afmparse.h (afm_parser_read_vals): Ditto.
       
  1407 
       
  1408 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1409 
       
  1410 	base: Prevent some overflows on LP64 systems.
       
  1411 
       
  1412 	* src/base/ftadvance.c (FT_Get_Advances): Cast the
       
  1413 	unsigned long constant FT_LOAD_ADVANCE_ONLY to FT_UInt32
       
  1414 	for LP64 platforms.
       
  1415 
       
  1416 	* src/base/ftcalc.c (FT_Sqrt32): All internal variables
       
  1417 	are changed to FT_UInt32 from FT_ULong.
       
  1418 	(FT_MulDiv): Insert casts to FT_Int32 for LP64 platforms.
       
  1419 	This function is designed for 32-bit integer, although
       
  1420 	their arguments and return value are FT_Long.
       
  1421 
       
  1422 	* src/base/ftobjs.c (FT_Get_Char_Index): Check `charcode'
       
  1423 	is within unsigned 32-bit integer for LP64 platforms.
       
  1424 	(FT_Face_GetCharVariantIndex): Check `charcode' and
       
  1425 	`variantSelector' are within 32-bit integer for LP64
       
  1426 	platforms.
       
  1427 	(FT_Face_GetCharsOfVariant): Check `variantSelector' is
       
  1428 	within unsigned 32-bit integer for LP64 platforms.
       
  1429 
       
  1430 	* src/base/fttrigon.c (ft_trig_downscale): The FT_Fixed
       
  1431 	variable `val' and unsigned long constant FT_TRIG_SCALE
       
  1432 	are cast to FT_UInt32, when calculates FT_UInt32.
       
  1433 	(FT_Vector_Rotate): The long constant 1L is cast to
       
  1434 	FT_Int32 to calculate FT_Int32 `half'.
       
  1435 
       
  1436 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1437 
       
  1438 	cff: Cast the long variables to 32-bit for LP64 systems.
       
  1439 
       
  1440 	* src/cff/cffdrivr.c (cff_get_advances): Insert
       
  1441 	explicit cast to modify a 32-bit flag by unsigned
       
  1442 	long constant.
       
  1443 
       
  1444 	* src/cff/cffobjs.c (cff_face_init): Ditto.
       
  1445 
       
  1446 	* src/cff/cffgload.c (cff_decoder_parse_charstrings):
       
  1447 	Replace the casts to FT_Long by the casts to FT_Int32
       
  1448 	for LP64 platforms.
       
  1449 
       
  1450 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1451 
       
  1452 	pcf: Improve PCF_PropertyRec.value names on LP64 platforms.
       
  1453 
       
  1454 	* src/pcf/pcf.h: In PCF_PropertyRec.value, the member
       
  1455 	`integer' is replaced by `l', `cardinal' is replaced
       
  1456 	by `ul', to fix the difference between the name and
       
  1457 	the types on LP64 platforms.
       
  1458 
       
  1459 	* src/pcf/pcfdrivr.c (pcf_get_bdf_property): Reflect
       
  1460 	PCF_PropertyRec.value change, with appropriate casts
       
  1461 	to FT_Int32/FT_UInt32.  Their destinations
       
  1462 	BDF_PropertyRec.{integer|cardinal} are public and
       
  1463 	explicitly defined as FT_Int32/FT_UInt32.
       
  1464 
       
  1465 	* src/pcf/pcfread.c (pcf_get_properties, pcf_load_font):
       
  1466 	Reflect PCF_PropertyRec.value change.
       
  1467 
       
  1468 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1469 
       
  1470 	pcf: Fix some data types mismatching with their sources.
       
  1471 
       
  1472 	* src/pcf/pcfdrivr.c (pcf_cmap_char_index): The type of
       
  1473 	`code' is matched to PCF_Encoding->enc.
       
  1474 	(pcf_cmap_char_next): The type of `charcode' is matched
       
  1475 	to PCF_Encoding->enc.  When *acharcode is set by charcode,
       
  1476 	an overflow is checked and cast to unsigned 32-bit
       
  1477 	integer.
       
  1478 
       
  1479 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1480 
       
  1481 	bdf: Improve bdf_property_t.value names for LP64 platforms.
       
  1482 
       
  1483 	* src/bdf/bdf.h: In bdf_property_t.value, the member
       
  1484 	`int32' is replaced by `l', `card32' is replaced by
       
  1485 	`ul', to fix the difference between the name and the
       
  1486 	types on LP64 platforms.
       
  1487 
       
  1488 	* src/bdf/bdfdrivr.c (BDF_Face_Init): Reflect
       
  1489 	bdf_property_t.value change.
       
  1490 	(bdf_get_bdf_property): Reflect bdf_property_t.value
       
  1491 	change, with appropriate casts to FT_Int32/FT_UInt32.
       
  1492 	Their destinations BDF_PropertyRec.{integer|cardinal}
       
  1493 	are public and explicitly defined as FT_Int32/FT_UInt32.
       
  1494 
       
  1495 	* src/bdf/bdflib.c (_bdf_add_property): Reflect
       
  1496 	bdf_property_t.value change.
       
  1497 
       
  1498 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1499 
       
  1500 	bdf: Fix some data types mismatching with their sources.
       
  1501 
       
  1502 	* src/bdf/bdrdrivr.c (bdf_cmap_char_index): The type
       
  1503 	of `code' is matched with BDF_encoding_el->enc.
       
  1504 	(bdf_cmap_char_next): The type of `charcode' is
       
  1505 	matched with BDF_encoding_el->enc.  When *acharcode
       
  1506 	is set by charcode, an overflow is checked and
       
  1507 	cast to unsigned 32-bit integer.
       
  1508 
       
  1509 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1510 
       
  1511 	autofit: Improve Unicode range definitions.
       
  1512 
       
  1513 	* src/autofit/aftypes.h (AF_UNIRANGE_REC): New macro
       
  1514 	to declare a range by two unsigned 32-bit integer,
       
  1515 	to avoid 64-bit range definition on LP64 platforms.
       
  1516 
       
  1517 	* src/autofit/aflatin.c (af_latin_uniranges): Ditto.
       
  1518 
       
  1519 	* src/autofit/aflatin2.c (af_latin2_uniranges): Ditto.
       
  1520 
       
  1521 	* src/autofit/afindic.c (af_indic_uniranges): Ditto.
       
  1522 
       
  1523 	* src/autofit/afcjk.c (af_cjk_uniranges): Declare
       
  1524 	the ranges by AF_UNIRANGE_REC.
       
  1525 
       
  1526 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1527 
       
  1528 	smooth: Fix a data type mismatching with its source.
       
  1529 
       
  1530 	* src/smooth/ftgrays.c (gray_sweep): The type of
       
  1531 	`area' is matched with the 3rd argument `area'
       
  1532 	of gray_hline().
       
  1533 
       
  1534 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1535 
       
  1536 	smooth: Fix a data type mismatching with its source.
       
  1537 
       
  1538 	* src/smooth/ftgrays.c (gray_render_line): The type
       
  1539 	of `area' is matched with TWorker.area.
       
  1540 
       
  1541 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1542 
       
  1543 	cache: Disable the legacy compatibility if 16-bit system.
       
  1544 
       
  1545 	* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Exclude
       
  1546 	the legacy behaviour from 16-bit platform, because the
       
  1547 	current hack cannot detect the caller uses this function
       
  1548 	via legacy convension.
       
  1549 	(FTC_SBitCache_Lookup): Ditto.
       
  1550 
       
  1551 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1552 
       
  1553 	cache: Check 32-bit glyph index on 16-bit systems.
       
  1554 
       
  1555 	* src/cache/ftcbasic.c (ftc_basic_family_get_count):
       
  1556 	Check overflow caused by the face including large
       
  1557 	number of glyphs > 64k.
       
  1558 
       
  1559 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1560 
       
  1561 	cache: Fix some data types mismatching with their sources.
       
  1562 
       
  1563 	* src/cache/ftccache.c (ftc_cache_resize): The types of
       
  1564 	`p', `mask', `count' are matched with FTC_Cache->{p,mask}.
       
  1565 	(FTC_Cache_Clear): The type of `old_index' is matched to
       
  1566 	FTC_Cache->{p,mask}.
       
  1567 
       
  1568 	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): The type
       
  1569 	of `_idx' is matched with FTC_Cache->{p,mask}.
       
  1570 
       
  1571 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1572 
       
  1573 	cache: Fix some data types mismatching with their sources.
       
  1574 
       
  1575 	* src/cache/ftcsbits.c (ftc_snode_load): The types
       
  1576 	of `xadvance' and `yadvance' are matched with
       
  1577 	FT_GlyphSlot->advance.{x|y}.
       
  1578 
       
  1579 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1580 
       
  1581 	cache: Cast NULL to a required function type explicitly.
       
  1582 
       
  1583 	* src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID):
       
  1584 	Insert explicit cast from NULL to function type.
       
  1585 
       
  1586 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1587 
       
  1588 	fttypes.h: Cast FT_MAKE_TAG output to FT_Tag exlicitly.
       
  1589 
       
  1590 	* include/freetype/fttypes.h (FT_MAKE_TAG):
       
  1591 	Cast the result to FT_Tag.
       
  1592 
       
  1593 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1594 
       
  1595 	psnames: Handle Unicode codepoints by FT_UInt32 variables.
       
  1596 
       
  1597 	* src/psnames/psmodule.c (BASE_GLYPH): Cast the result
       
  1598 	to unsigned 32-bit integer for LP64 platform.
       
  1599 	(ps_unicode_value): Return the value by unsigned 32-bit
       
  1600 	integer instead of unsigned long.
       
  1601 
       
  1602 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1603 
       
  1604 	psaux: Use size_t variable to pass the buffer size.
       
  1605 
       
  1606 	* src/psaux/psaux.h (to_bytes): The type of `max_bytes'
       
  1607 	(the argument to pass the buffer size) is changed to
       
  1608 	size_t, to match with ANSI C string functions.
       
  1609 
       
  1610 	* src/psaux/psconv.h (PS_Conv_StringDecode,
       
  1611 	PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto.
       
  1612 
       
  1613 	* src/psaux/psconv.c (PS_Conv_StringDecode,
       
  1614 	PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto.
       
  1615 
       
  1616 	* src/psaux/psobjs.h (ps_parser_to_bytes): Ditto.
       
  1617 
       
  1618 	* src/psaux/psobjs.c (ps_parser_to_bytes): Ditto.
       
  1619 
       
  1620 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1621 
       
  1622 	type1: Use size_t variable to pass the string length.
       
  1623 
       
  1624 	* psaux.h: The type of `len' (the argument to pass
       
  1625 	the buffer size to the function in AFM_ParserRec)
       
  1626 	is changed to size_t, to match with ANSI C string
       
  1627 	functions.
       
  1628 
       
  1629 	* t1afm.c (t1_get_index): Ditto.
       
  1630 
       
  1631 	* test_afm.c (dummy_get_index): Ditto.
       
  1632 
       
  1633 	* afmparse.c (afm_parser_read_vals): To call
       
  1634 	AFM_ParserRec.get_index, the length of token
       
  1635 	`len' is cast to size_t.
       
  1636 
       
  1637 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1638 
       
  1639 	cid: Fix some data types mismatching with their sources.
       
  1640 
       
  1641 	* src/cid/cidparse.c (cid_parser_new): The types of
       
  1642 	`read_len' and `stream_len' are matched to
       
  1643 	FT_Stream->size.  Unrequired cast is removed.
       
  1644 
       
  1645 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1646 
       
  1647 	cff: Fix for unused variable `rest'.
       
  1648 
       
  1649 	* src/cff/cffparse.c (cff_parse_real): Insert
       
  1650 	FT_UNUSED() to hide the unused variable warning.
       
  1651 
       
  1652 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1653 
       
  1654 	cff: Fix some data types mismatching with their sources.
       
  1655 
       
  1656 	* src/cff/cffgload.c (cff_slot_load): The types of	
       
  1657 	`top_upm' and `sub_upm' are matched with
       
  1658 	CFF_FontRecDict->units_per_em.
       
  1659 
       
  1660 	* src/cff/cffobjs.c (cff_size_select): Ditto.
       
  1661 	(cff_size_request): Ditto.
       
  1662 
       
  1663 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1664 
       
  1665 	bdf: Fix some data types mismatching with their sources.
       
  1666 
       
  1667 	* bdflib.c (_bdf_list_ensure): The type of `num_items'
       
  1668 	is matched with _bdf_list_t.used.  Also the types of
       
  1669 	`oldsize', `newsize', `bigsize' are matched too.
       
  1670 	(_bdf_readstream): `cursor' is used as an offset to
       
  1671 	the pointer, it should be typed as FT_Offset.  Also
       
  1672 	the types of `bytes', `start', `end', `avail' are matched.
       
  1673 
       
  1674 	* bdfdrivr.c: The type of BDF_CMap->num_encodings is
       
  1675 	matched with FT_CMap->clazz->size.
       
  1676 	(bdf_cmap_char_index): The types of `min', `max', `mid'
       
  1677 	are matched with BDF_CMap->num_encodings.  The type of
       
  1678 	`result' is matched with encoding->glyph.
       
  1679 	(bdf_cmap_char_next): Ditto, the type of `code' is
       
  1680 	matched with BDF_encoding_el.enc.
       
  1681 	(bdf_interpret_style): The type of `lengths' is changed
       
  1682 	to size_t, to take the value by ft_strlen().  Also the
       
  1683 	types of `len', `nn', `mm' are matched.
       
  1684 
       
  1685 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1686 
       
  1687 	sfnt: Count the size of the memory object by ptrdiff_t.
       
  1688 
       
  1689 	* src/sfnt/ttbdf.c (tt_face_find_bdf_prop): The type of
       
  1690 	`peroperty_len' is changed from FT_UInt to FT_Offset,
       
  1691 	to match with size_t, which is appropriate type for the
       
  1692 	object in the memory buffer.
       
  1693 
       
  1694 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1695 
       
  1696 	lzw: Count the size of the memory object by ptrdiff_t.
       
  1697 
       
  1698 	* src/lzw/ftzopen.h: The types of FT_LzwState->{buf_total,
       
  1699 	stack_size} are changed from FT_UInt to FT_Offset, to match
       
  1700 	with size_t, which is appropriate type for the object in
       
  1701 	the memory buffer.
       
  1702 
       
  1703 	* src/lzw/ftzopen.c (ft_lzwstate_stack_grow): The types of
       
  1704 	`old_size' and `new_size' are changed from FT_UInt to
       
  1705 	FT_Offset, to match with size_t, which is appropriate type
       
  1706 	for the object in the memory buffer.
       
  1707 
       
  1708 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1709 
       
  1710 	otvalid: Count the table size on memory by ptrdiff_t.
       
  1711 
       
  1712 	* src/otvalid/otvgpos.c (otv_ValueRecord_validate):
       
  1713 	Change the type of table size from FT_UInt to
       
  1714 	FT_PtrDist because it is calculated by the memory
       
  1715 	addresses.
       
  1716 
       
  1717 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1718 
       
  1719 	otvalid: Prevent an overflow by GPOS/GSUB 32b-bit offset.
       
  1720 
       
  1721 	* src/otvalid/otvgpos.c (otv_ExtensionPos_validate):
       
  1722 	Extend ExtensionOffset from FT_UInt to FT_ULong, to
       
  1723 	cover 32-bit offset on 16-bit platform.
       
  1724 
       
  1725 	* src/otvalid/otvgsub.c (otv_ExtensionSubst_validate):
       
  1726 	Ditto.
       
  1727 
       
  1728 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1729 
       
  1730 	ftobjs.c: Prevent an overflow in glyph index handling.
       
  1731 
       
  1732 	* src/base/ftobjs.c (FT_Face_GetCharsOfVariant):
       
  1733 	Improve the cast in comparison to avoid the truncation.
       
  1734 
       
  1735 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1736 
       
  1737 	Improve the variable types in raccess_make_file_name().
       
  1738 
       
  1739 	* src/base/ftrfork.c (raccess_make_file_name):
       
  1740 	Change the type of cursor variable `tmp' to const char*,
       
  1741 	to prevent the unexpected modification of original pathname.
       
  1742 	(raccess_make_file_name): Change the type of new_length
       
  1743 	to size_t.
       
  1744 
       
  1745 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1746 
       
  1747 	ftpatent.c: Fix for unused variable `error'.
       
  1748 
       
  1749 	* src/base/ftpatent.c (_tt_check_patents_in_range):
       
  1750 	Fix warning for unused variable `error'.
       
  1751 
       
  1752 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1753 
       
  1754 	type1: Check invalid string longer than PostScript limit.
       
  1755 
       
  1756 	* src/type1/t1afm.c (t1_get_index): Check invalid string
       
  1757 	which exceeds the limit of PostScript string/name objects.
       
  1758 
       
  1759 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1760 
       
  1761 	gzip: Use FT2 zcalloc() & zfree() in ftgzip.c by default.
       
  1762 
       
  1763 	* src/gzip/ftgzip.c (zcalloc, zcfree): Disable all
       
  1764 	zcalloc() & zfree() by zlib in zutil.c, those in
       
  1765 	ftgzip.c by FT2 are enabled by default.  To use
       
  1766 	zlib zcalloc() & zfree(), define USE_ZLIB_ZCALLOC.
       
  1767 	See discussion:
       
  1768 	http://lists.gnu.org/archive/html/freetype-devel/2009-02/msg00000.html
       
  1769 
       
  1770 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1771 
       
  1772 	gzip: Distinguish PureC from TurboC on MSDOS.
       
  1773 
       
  1774 	* src/gzip/zutil.c (zcalloc, zcfree): Enable only for
       
  1775 	MSDOS platform.
       
  1776 
       
  1777 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1778 
       
  1779 	gxvalid: Insert PureC pragma to allow unevaluated variables.
       
  1780 
       
  1781 	* builds/atari/ATARI.H: Insert PureC pragma not to
       
  1782 	warn against set-but-unevaluated variable in gxvalid
       
  1783 	module.
       
  1784 
       
  1785 2009-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1786 
       
  1787 	gxvalid: Pass the union by the pointer instead of the value.
       
  1788 
       
  1789 	* src/gxvalid/gxvcommn.h:
       
  1790 	  - Declare new type `GXV_LookupValueCPtr'.
       
  1791 	  - Update the type of the 2nd argument to pass GXV_LookupValueDesc
       
  1792 	    data to the function prototyped as GXV_Lookup_Value_Validate_Func,
       
  1793 	    from GXV_LookupValueDesc to GXV_LookupValueCPtr.
       
  1794 	  - Likewise for the function prototyped as
       
  1795 	    GXV_Lookup_Fmt4_Transit_Func.
       
  1796 
       
  1797 	  - Declare new type `GXV_StateTable_GlyphOffsetCPtr'.
       
  1798 	  - Update the type of the 3rd argument to pass
       
  1799 	    GXV_StateTable_GlyphOffsetDesc data to the function prototyped
       
  1800 	    as GXV_StateTable_Entry_Validate_Func, from
       
  1801 	    GXV_StateTable_GlyphOffsetDesc to GXV_StateTable_GlyphOffsetCPtr.
       
  1802 
       
  1803 	  - Declare new type `GXV_XStateTable_GlyphOffsetCPtr'.
       
  1804 	  - Update the type of the 3rd argument to pass
       
  1805 	    GXV_XStateTable_GlyphOffsetDesc data to the function prototyped
       
  1806 	    as GXV_XStateTable_Entry_Validate_Func,
       
  1807 	    from GXV_XStateTable_GlyphOffsetDesc
       
  1808 	    to GXV_XStateTable_GlyphOffsetCPtr.
       
  1809 
       
  1810 	* src/gxvalid/gxvcommn.c (gxv_LookupTable_fmt0_validate,
       
  1811 	gxv_XClassTable_lookupval_validate,
       
  1812 	gxv_XClassTable_lookupfmt4_transit):
       
  1813 	Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
       
  1814 	
       
  1815 	* src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
       
  1816 	gxv_bsln_LookupFmt4_transit): Ditto.
       
  1817 	
       
  1818 	* src/gxvalid/gxvjust.c
       
  1819 	(gxv_just_pcTable_LookupValue_entry_validate,
       
  1820 	gxv_just_classTable_entry_validate,
       
  1821 	gxv_just_wdcTable_LookupValue_validate): Ditto.
       
  1822 	
       
  1823 	* src/gxvalid/gxvkern.c
       
  1824 	(gxv_kern_subtable_fmt1_entry_validate): Ditto.
       
  1825 	
       
  1826 	* src/gxvalid/gxvlcar.c (gxv_lcar_LookupValue_validate,
       
  1827 	gxv_lcar_LookupFmt4_transit): Ditto.
       
  1828 	
       
  1829 	* src/gxvalid/gxvopbd.c (gxv_opbd_LookupValue_validate,
       
  1830 	gxv_opbd_LookupFmt4_transit): Ditto.
       
  1831 	
       
  1832 	* src/gxvalid/gxvprop.c (gxv_prop_LookupValue_validate,
       
  1833 	gxv_prop_LookupFmt4_transit): Ditto.
       
  1834 	
       
  1835 	* src/gxvalid/gxvmort4.c
       
  1836 	(gxv_mort_subtable_type4_lookupval_validate): Ditto.
       
  1837 	
       
  1838 	* src/gxvalid/gxvmort0.c
       
  1839 	(gxv_mort_subtable_type0_entry_validate): Update
       
  1840 	from GXV_StateTable_GlyphOffsetDesc
       
  1841 	to GXV_StateTable_GlyphOffsetCPtr.
       
  1842 	
       
  1843 	* src/gxvalid/gxvmort1.c
       
  1844 	(gxv_mort_subtable_type1_entry_validate): Ditto.
       
  1845 	
       
  1846 	* src/gxvalid/gxvmort2.c
       
  1847 	(gxv_mort_subtable_type2_entry_validate): Ditto.
       
  1848 	
       
  1849 	* src/gxvalid/gxvmort5.c
       
  1850 	(gxv_mort_subtable_type5_entry_validate): Ditto.
       
  1851 	
       
  1852 	* src/gxvalid/gxvmorx2.c
       
  1853 	(gxv_morx_subtable_type2_entry_validate): Ditto.
       
  1854 	
       
  1855 	* src/gxvalid/gxvmorx5.c
       
  1856 	(gxv_morx_subtable_type5_entry_validate): Ditto.
       
  1857 	
       
  1858 	* src/gxvalid/gxvmorx1.c
       
  1859 	(gxv_morx_subtable_type1_entry_validate): Ditto.
       
  1860 	(gxv_morx_subtable_type1_LookupValue_validate,
       
  1861 	gxv_morx_subtable_type1_LookupFmt4_transit):
       
  1862 	Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
       
  1863 	
       
  1864 	* src/gxvalid/gxvmorx0.c
       
  1865 	(gxv_morx_subtable_type0_entry_validate): Update
       
  1866 	from GXV_XStateTable_GlyphOffsetDesc
       
  1867 	to GXV_XStateTable_GlyphOffsetCPtr.
       
  1868 
       
  1869 2009-07-29  Fabrice Bellet  <fabrice@bellet.info>
       
  1870 
       
  1871 	Fix Redhat bugzilla #513582 and Savannah bug #26849.
       
  1872 
       
  1873 	* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP) <FTC_INLINE>: Fix
       
  1874 	aliasing bug.
       
  1875 
       
  1876 2009-07-19  Werner Lemberg  <wl@gnu.org>
       
  1877 
       
  1878 	Document recent library changes.
       
  1879 
       
  1880 	* docs/CHANGES: Do it.
       
  1881 
       
  1882 2009-07-17  Werner Lemberg  <wl@gnu.org>
       
  1883 
       
  1884 	Fix Savannah bug #23786.
       
  1885 
       
  1886 	* src/truetype/ttobjs.c (tt_size_init_bytecode): Don't reset x_ppem
       
  1887 	and y_ppem.  Otherwise the `*_CVT_Stretched' functions in ttinterp.c
       
  1888 	get never called.
       
  1889 	An anonymous guy suggested this change on Savannah, and it seems to
       
  1890 	be the right solution.
       
  1891 
       
  1892 2009-07-15  Werner Lemberg  <wl@gnu.org>
       
  1893 
       
  1894 	* docs/release: Updated.
       
  1895 
       
  1896 2009-07-15  Werner Lemberg  <wl@gnu.org>
       
  1897 
       
  1898 	README.CVS -> README.git
       
  1899 
       
  1900 	* README.CVS: Renamed to...
       
  1901 	* README.git: This.
       
  1902 	Updated.
       
  1903 
       
  1904 2009-07-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1905 
       
  1906 	Borland C++ compiler patch proposed by Mirco Babin.
       
  1907 	http://lists.gnu.org/archive/html/freetype/2009-07/msg00016.html.
       
  1908 
       
  1909 	* builds/exports.mk: Delete unused flags, CCexe_{CFLAGS,LDFLAGS}.
       
  1910 	Fix APINAMES_C and APINAMES_EXE pathnames to reflect the platform
       
  1911 	specific pathname syntax.
       
  1912 	* builds/compiler/bcc.mk: Remove unused flag, CCexe_LDFLAGS.
       
  1913 	Define TE = `-e' separately (bcc32 cannot specify the pathname of
       
  1914 	binary executable by T = `-o').
       
  1915 	Extend the large page size in linking freetype.lib.
       
  1916 	Add extra CLEAN target to delete bcc specific temporary files.
       
  1917 	* builds/compiler/bcc-dev.mk: Ditto.
       
  1918 
       
  1919 2009-07-14  Werner Lemberg  <wl@gnu.org>
       
  1920 
       
  1921 	Fix Savannah bug #27026.
       
  1922 
       
  1923 	* builds/win32/vc2005/freetype.sln: Use correct version number.
       
  1924 
       
  1925 2009-07-12  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1926 
       
  1927 	Add a script to check the undefined and unused trace macros.
       
  1928 
       
  1929 	* src/tools/chktrcmp.py: A script to check trace_XXXX macros
       
  1930 	that are used in C source but undefined in fttrace.h, or
       
  1931 	defined in fttrace.h but unused in C sources.  See
       
  1932 	http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html.
       
  1933 	* docs/DEBUG: Mention on chktrcmp.py.
       
  1934 	* docs/release: Ditto.
       
  1935 
       
  1936 2009-07-09  Werner Lemberg  <wl@gnu.org>
       
  1937 
       
  1938 	[ftraster] Make it compile again with -D_STANDALONE_.
       
  1939 
       
  1940 	* src/raster/ftraster.c [_STANDALONE_]: Define
       
  1941 	FT_CONFIG_STANDARD_LIBRARY_H.
       
  1942 	Include `string.h'.
       
  1943 	Don't include `rastpic.h'.
       
  1944 	Define FT_DEFINE_RASTER_FUNCS.
       
  1945 
       
  1946 2009-07-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1947 
       
  1948 	smooth: Check glyph size by width/height, instead of pitch/height.
       
  1949 	Suggested by der Mouse <mouse@Rodents-Montreal.ORG>.
       
  1950 
       
  1951 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Improve
       
  1952 	the check for too large glyph.  Replace the pair of `pitch' and
       
  1953 	`height' by the pair of `width' and `height'.  `pitch' cannot
       
  1954 	be greater than `height'.  The required is checking the product
       
  1955 	`pitch' * `height' <= FT_ULONG_MAX, but we use cheap checks for
       
  1956 	the realistic case only.
       
  1957 
       
  1958 2009-07-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1959 
       
  1960 	Register 2 missing trace components, t1afm and ttbdf.
       
  1961 
       
  1962 	* include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( t1afm )
       
  1963 	and FT_TRACE_DEF( ttbdf ).  See
       
  1964 	http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html
       
  1965 
       
  1966 2009-07-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1967 
       
  1968 	Register a trace component for ftgloadr.c.
       
  1969 
       
  1970 	* include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( gloader ).
       
  1971 	The macro `trace_gloader' was already used in the initial version
       
  1972 	on 2002-02-24.
       
  1973 
       
  1974 2009-07-08  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1975 
       
  1976 	Prevent the overflows by a glyph with too many points or contours.
       
  1977 	The bug is reported by Boris Letocha <b.letocha@gmc.net>.  See
       
  1978 	http://lists.gnu.org/archive/html/freetype-devel/2009-06/msg00031.html
       
  1979 	http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00002.html	
       
  1980 
       
  1981 	* include/freetype/ftimage.h (FT_OUTLINE_CONTOURS_MAX,
       
  1982 	FT_OUTLINE_POINTS_MAX): New macros to declare the maximum
       
  1983 	values of FT_Outline.{n_contours,n_points}.
       
  1984 	* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Check the
       
  1985 	total numbers of points and contours cause no overflows in
       
  1986 	FT_Outline.{n_contours,n_points}.
       
  1987 
       
  1988 	* include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
       
  1989 	FT_GLYPHLOADER_CHECK_C): Compare the numbers of points and
       
  1990 	contours as unsigned long number, instead of signed int, to
       
  1991 	prevent the overflows on 16-bit systems.
       
  1992 
       
  1993 2009-07-05  Bram Tassyns  <bramt@enfocus.be>
       
  1994 
       
  1995 	Improve compatibility to Acroread.
       
  1996 	This fixes Savannah bug #26944.
       
  1997 
       
  1998 	* src/cff/cffload.c (cff_charset_compute_cids): For multiple GID to
       
  1999 	single CID mappings, make the lowest value win.
       
  2000 
       
  2001 2009-06-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  2002 
       
  2003 	ftpatent: Fix a bug by wrong usage of service->table_info().
       
  2004 	http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00039.html
       
  2005 
       
  2006 	* include/freetype/internal/services/svsfnt.h: Extend
       
  2007 	FT_SFNT_TableInfoFunc() to take new argument to obtain the offset
       
  2008 	to the specified table.
       
  2009 	* src/sfnt/sfdriver.c (sfnt_table_info): Extend to return the
       
  2010 	table-offset to the caller function.
       
  2011 	* src/base/ftpatent.c (_tt_check_patents_in_table): Use new
       
  2012 	service->table_info().
       
  2013 	* src/base/ftobjs.c (FT_Sfnt_Table_Info): Synchronize to new
       
  2014 	service->table_info().
       
  2015 
       
  2016 2009-06-28  Werner Lemberg  <wl@gnu.org>
       
  2017 
       
  2018 	[psaux, cff] Protect against nested `seac' calls.
       
  2019 
       
  2020 	* include/freetype/internal/psaux.h (T1_Decoder), src/cff/cffgload.h
       
  2021 	(CFF_Decoder): Add `seac' boolean variable.
       
  2022 
       
  2023 	* src/cff/cffgload.c (cff_operator_seac), src/psaux/t1decode.c
       
  2024 	(t1operator_seac): Use it.
       
  2025 
       
  2026 2009-06-28  Werner Lemberg  <wl@gnu.org>
       
  2027 
       
  2028 	Thinko.
       
  2029 
       
  2030 	* src/psaux/t1decode.c (t1operator_seac)
       
  2031 	[FT_CONFIG_OPTION_INCREMENTAL]: Test for existence of incremental
       
  2032 	interface.
       
  2033 
       
  2034 2009-06-28  Werner Lemberg  <wl@gnu.org>
       
  2035 
       
  2036 	* devel/ftoption.h [FT_CONFIG_OPTION_INCREMENTAL]: Define.
       
  2037 
       
  2038 2009-06-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  2039 
       
  2040 	Add tools to preprocess the source files for AtariST PureC.
       
  2041 
       
  2042 	* builds/atari/deflinejoiner.awk: New file to filter C source files
       
  2043 	for broken C preprocessor of PureC compiler.
       
  2044 
       
  2045 	* builds/atari/gen-purec-patch.sh: New file to generate a patch set
       
  2046 	for PureC, by using deflinejoiner.awk.
       
  2047 
       
  2048 2009-06-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  2049 
       
  2050 	Keep existing modules.cfg in the building tree.
       
  2051 
       
  2052 	* configure: If `configure' is executed outside of the source tree,
       
  2053 	an existing `modules.cfg' file in the build directory should be
       
  2054 	kept, not overwritten by the version in the source tree.
       
  2055 
       
  2056 2009-06-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  2057 
       
  2058 	Filter --srcdir= option before invoking builds/unix/configure.
       
  2059 
       
  2060 	* configure: If builds/unix/configure is invoked with --srcdir
       
  2061 	option, the option should take `builds/unix' directory instead of
       
  2062 	the top source directory.  Thus the configure script in the top
       
  2063 	directory should modify the --srcdir= option if
       
  2064 	`builds/unix/configure' is invoked.
       
  2065 
       
  2066 2009-06-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  2067 
       
  2068 	Improve configure.raw for cross-building on exe-suffixed systems.
       
  2069 
       
  2070 	* builds/unix/configure.raw: Fix a bug in sed script to extract
       
  2071 	native suffix for binary executables, patch by Peter Breitenlohner.
       
  2072 	http://lists.gnu.org/archive/html/freetype-devel/2009-04/msg00036.html
       
  2073 
       
  2074 2009-06-26  Werner Lemberg  <wl@gnu.org>
       
  2075 
       
  2076 	[truetype] Remove TT_SubGlyphRec.
       
  2077 
       
  2078 	* src/truetype/ttobjs.h (TT_SubGlyphRec): Removed, unused.
       
  2079 
       
  2080 2009-06-26  Werner Lemberg  <wl@gnu.org>
       
  2081 
       
  2082 	* */*: For warning messages, replace FT_ERROR with FT_TRACE0.
       
  2083 
       
  2084 	FT_ERROR is now used only if a function produces a non-zero `error'
       
  2085 	value.
       
  2086 
       
  2087 	Formatting, improving and harmonizing debug strings.
       
  2088 
       
  2089 2009-06-25  Werner Lemberg  <wl@gnu.org>
       
  2090 
       
  2091 	Provide version information better.
       
  2092 
       
  2093 	* src/base/ftinit.c (FT_Init_FreeType): Don't set version here
       
  2094 	but...
       
  2095 	* src/base/ftobjs.c (FT_New_Library): Here.
       
  2096 
       
  2097 2009-06-22  Werner Lemberg  <wl@gnu.org>
       
  2098 
       
  2099 	Use 16.16 format while parsing Type 1 charstrings.
       
  2100 	This fixes Savannah bug #26867.
       
  2101 
       
  2102 	Previously, only integers have been used which can lead to serious
       
  2103 	rounding errors.
       
  2104 
       
  2105 	However, fractional values are only used internally; after the
       
  2106 	charstrings (of either Type 1 or 2) have been processed, the
       
  2107 	resulting coordinates get rounded to integers currently -- before
       
  2108 	applying scaling.  This should be fixed; at the same time a new load
       
  2109 	flag should be introduced, to be used in combination with
       
  2110 	FT_LOAD_NO_SCALE, which indicates that font units are returned in
       
  2111 	16.16 format.  Similarly, the incremental interface should be
       
  2112 	extended to allow fractional values for metrics.
       
  2113 
       
  2114 	* include/freetype/internal/psaux.h (T1_BuilderRec): Remove `shift'
       
  2115 	field.
       
  2116 	* include/freetype/internal/pshints.h (T1_Hints_SetStemFunc,
       
  2117 	T1_Hints_SetStem3Func): Use FT_Fixed for coordinates.
       
  2118 
       
  2119 	* src/psaux/psobjs.c: Include FT_INTERNAL_CALC_H.
       
  2120 	(t1_build_add_point): Always convert fixed to integer.
       
  2121 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings):
       
  2122 	Use 16.16 format everywhere (except for large integers followed by a
       
  2123 	`div').
       
  2124 	[CAN_HANDLE_NON_INTEGRAL_T1_OPERANDS]: Remove #ifdef and activate
       
  2125 	code uncoditionally.
       
  2126 	Add support for random numbers and update remaining code
       
  2127 	accordingly; this should work now.
       
  2128 	(t1_operator_seac): Updated.
       
  2129 	* src/psaux/pshrec.c: Include FT_INTERNAL_CALC_H.
       
  2130 	(ps_hints_t1stem3, t1_hints_stem): Updated.
       
  2131 
       
  2132 	* src/cid/cidgload.c: Include FT_INTERNAL_CALC_H.
       
  2133 	(cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL],
       
  2134 	(cid_face_compute_max_advance, cid_slot_load_glyph): Updated.
       
  2135 
       
  2136 	* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
       
  2137 	[FT_CONFIG_OPTION_INCREMENTAL], (T1_Get_Advances, T1_Load_Glyph):
       
  2138 	Updated.
       
  2139 	* src/type1/t1load.c: Include FT_INTERNAL_CALC_H.
       
  2140 	* src/type1/t1objs.c (T1_Face_Init): Updated.
       
  2141 
       
  2142 2009-06-21  Werner Lemberg  <wl@gnu.org>
       
  2143 
       
  2144 	* src/pshinter/pshrec.c: Use PSH_Err_Ok.
       
  2145 
       
  2146 2009-06-21  Werner Lemberg  <wl@gnu.org>
       
  2147 
       
  2148 	Code beautification.
       
  2149 
       
  2150 	* src/type1/t1load.c (FT_INT_TO_FIXED): Removed.
       
  2151 	Replace everywhere with INT_TO_FIXED.
       
  2152 	(FT_FIXED_TO_INT): Move to ...
       
  2153 	* include/freetype/internal/ftcalc.h (FIXED_TO_INT): Here.
       
  2154 	Update all users.
       
  2155 
       
  2156 2009-06-20  Werner Lemberg  <wl@gnu.org>
       
  2157 
       
  2158 	Remove unused variables.
       
  2159 
       
  2160 	* include/freetype/internal/psaux.h (T1_BuilderRec),
       
  2161 	src/cff/cffgload.h (CFF_Builder): Remove `last'.
       
  2162 	Update all users.
       
  2163 
       
  2164 2009-06-20  Werner Lemberg  <wl@gnu.org>
       
  2165 
       
  2166 	[psaux] Check large integers while parsing charstrings.
       
  2167 
       
  2168 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Large
       
  2169 	integers must be followed by a `div' operator.
       
  2170 
       
  2171 2009-06-20  Werner Lemberg  <wl@gnu.org>
       
  2172 
       
  2173 	[cff] Revert last change.
       
  2174 
       
  2175 	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Do it.
       
  2176 	Next time, don't confuse Type 2 charstring opcodes with TOP DICT
       
  2177 	values...
       
  2178 
       
  2179 2009-06-20  Werner Lemberg  <wl@gnu.org>
       
  2180 
       
  2181 	* src/autofit/aflatin.c (af_latin_metrics_check_digits): Fix
       
  2182 	compiler warning.
       
  2183 
       
  2184 2009-06-20  Werner Lemberg  <wl@gnu.org>
       
  2185 
       
  2186 	* builds/compiler/gcc.mk (CFLAGS): Use -O3, not -O6.
       
  2187 
       
  2188 2009-06-19  Werner Lemberg  <wl@gnu.org>
       
  2189 
       
  2190 	[cff] Fix handling of reserved byte 0xFF.
       
  2191 
       
  2192 	* src/cff/cffgload.c (cff_decoder_parse_charstrings): Abort if byte
       
  2193 	0xFF is encountered.
       
  2194 
       
  2195 2009-06-19  Werner Lemberg  <wl@gnu.org>
       
  2196 
       
  2197 	Improve debug messages for Type1 charstrings.
       
  2198 
       
  2199 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Emit newlines
       
  2200 	after instructions.
       
  2201 	Prettify output.
       
  2202 
       
  2203 2009-06-19  Werner Lemberg  <wl@gnu.org>
       
  2204 
       
  2205 	More ftgray fixes for FT_STATIC_RASTER.
       
  2206 	Problems reported by suyu@cooee.cn.
       
  2207 
       
  2208 	* src/smooth/ftgrays.c (gray_move_to, gray_raster_render): Use
       
  2209 	RAS_VAR.
       
  2210 
       
  2211 2009-06-18  Werner Lemberg  <wl@gnu.org>
       
  2212 
       
  2213 	* docs/CHANGES: Updated.
       
  2214 
       
  2215 2009-06-18  Werner Lemberg  <wl@gnu.org>
       
  2216 
       
  2217 	Fix B/W rasterization of subglyphs with different drop-out modes.
       
  2218 
       
  2219 	Normally, the SCANMODE instruction (if present) to set the drop-out
       
  2220 	mode in a TrueType font is located in the `prep' table only and thus
       
  2221 	valid for all glyphs.  However, there are fonts like `pala.ttf'
       
  2222 	which additionally contain this instruction in the hinting code of
       
  2223 	some glyphs (but not all).  As a result it can happen that a
       
  2224 	composite glyph needs multiple drop-out modes for its subglyphs
       
  2225 	since the rendering state gets reset for each subglyph.
       
  2226 
       
  2227 	FreeType collects the hinted outlines from all subglyphs, then it
       
  2228 	sends the data to the rasterizer.  It also sends the drop-out mode
       
  2229 	-- after hinting has been applied -- and here is the error: It sends
       
  2230 	the drop-out mode of the last subglyph only; drop-out modes of all
       
  2231 	other subglyphs are lost.
       
  2232 
       
  2233 	This patch fixes the problem; it adds a second, alternative
       
  2234 	mechanism to pass the drop-out mode: For each contour, the
       
  2235 	rasterizer now checks the first `tags' array element.  If bit 2 is
       
  2236 	set, bits 5-7 contain the contour's drop-out mode, overriding the
       
  2237 	global drop-out mode.
       
  2238 
       
  2239 	* include/freetype/ftimage.h (FT_CURVE_TAG_HAS_SCANMODE): New macro.
       
  2240 
       
  2241 	* src/truetype/ttgload.c (TT_Hint_Glyph): Store drop-out mode in
       
  2242 	`tags[0]'.
       
  2243 
       
  2244 	* src/raster/ftraster.c (Flow_Up, Overshoot_Top, Overshoot_Bottom):
       
  2245 	Use bits 3-5 instead of 0-2.
       
  2246 	(New_Profile): Set the drop-out mode in the profile's `flags' field.
       
  2247 	(Decompose_Curve): Check `tags[0]' and set `dropOutControl' if
       
  2248 	necessary.
       
  2249 	(Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
       
  2250 	Horizontal_Gray_Sweep_Drop, Draw_Sweep): Use the profile's drop-out
       
  2251 	mode.
       
  2252 
       
  2253 2009-06-16  Werner Lemberg  <wl@gnu.org>
       
  2254 
       
  2255 	Improve scan conversion rules 4 and 6.
       
  2256 
       
  2257 	Two new constraints are introduced to better identify a `stub' -- a
       
  2258 	concept which is only vaguely described in the OpenType
       
  2259 	specification.  The old code was too rigorous and suppressed more
       
  2260 	pixel than it should.
       
  2261 
       
  2262 	  . The intersection of the two profiles with the scanline is less
       
  2263 	    than a half pixel.  Code related to this was already present in
       
  2264 	    the sources but has been commented out.
       
  2265 
       
  2266 	  . The endpoint of the original contour forming a profile has a
       
  2267 	    distance (`overshoot') less than half a pixel to the scanline.
       
  2268 
       
  2269 	Note that the two additional conditions fix almost all differences
       
  2270 	to the Windows rasterizer, but some problematic cases remain.
       
  2271 
       
  2272 	* src/raster/ftraster.c (Overshoot_Top, Overshoot_Bottom): New
       
  2273 	macros for the `flags' field in the `TProfile' structure.
       
  2274 	(IS_BOTTOM_OVERSHOOT, IS_TOP_OVERSHOOT): New macros.
       
  2275 	(New_Profile, End_Profile): Pass overshoot flag as an argument and
       
  2276 	set it accordingly.
       
  2277 	Update callers.
       
  2278 	(Vertical_Sweep_Drop, Horizontal_Sweep_Drop): Implement the two new
       
  2279 	constraints.
       
  2280 
       
  2281 2009-06-11  Werner Lemberg  <wl@gnu.org>
       
  2282 
       
  2283 	Increase precision for B/W rasterizer.
       
  2284 
       
  2285 	* src/raster/ftraster.c (Set_High_Precision): Add two more bits to
       
  2286 	the precision.  This corrects rendering of some small glyphs, for
       
  2287 	example, glyph `xi' in verdana.ttf at 13 ppem.  Testing with ftbench
       
  2288 	on my GNU/Linux box I don't see a performance degradation.
       
  2289 
       
  2290 2009-06-08  Michael Zucchi  <notzed@gmail.com>
       
  2291 
       
  2292 	Handle FT_STROKER_LINECAP_BUTT.
       
  2293 	This fixes Savannah bug #26757.
       
  2294 
       
  2295 	* src/base/ftstroke.c (ft_stroker_cap): Implement it.
       
  2296 
       
  2297 2009-06-07  Harald Fernengel  <harry@kdevelop.org>
       
  2298 
       
  2299 	Fix some potential out-of-memory crashes.
       
  2300 
       
  2301 	* src/base/ftobjs.c (ft_glyphslot_done): Check `slot->internal'.
       
  2302 	* src/base/ftstream.c (FT_Stream_ReleaseFrame): Check `stream'.
       
  2303 	* src/truetype/ttinterp.c (TT_New_Context): Avoid double-free of
       
  2304 	`exec' in case of failure.
       
  2305 
       
  2306 2009-06-07  Werner Lemberg  <wl@gnu.org>
       
  2307 
       
  2308 	Simplify math.
       
  2309 	Suggested by Alexei Podtelezhnikov <apodtele@gmail.com>.
       
  2310 
       
  2311 	* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
       
  2312 	Horizontal_Gray_Sweep_Drop): Do it.
       
  2313 
       
  2314 2009-06-04  Werner Lemberg  <wl@gnu.org>
       
  2315 
       
  2316 	Preparation for fixing scan conversion rules 4 and 6.
       
  2317 
       
  2318 	* src/raster/ftraster.c (TFlow): Replace enumeration with...
       
  2319 	(Flow_Up): This macro.
       
  2320 	(TProfile): Replace `flow' member with `flags' bit field.
       
  2321 	Update all affected code.
       
  2322 
       
  2323 2009-05-29  James Cloos  <cloos@jhcloos.com>
       
  2324 
       
  2325 	Enable autohinting for glyphs rotated by multiples of 90°.
       
  2326 
       
  2327 	* src/base/ftobjs.c (FT_Load_Glyph): Alter check for permitted
       
  2328 	matrices to allow rotations by multiples of 90°, not only unrotated,
       
  2329 	possibly slanted matrices.
       
  2330 
       
  2331 2009-05-28  Werner Lemberg  <wl@gnu.org>
       
  2332 
       
  2333 	Remove compiler warning.
       
  2334 	Reported by Krzysztof Kowalczyk <kkowalczyk@gmail.com>.
       
  2335 
       
  2336 	* src/autofit/aflatin2.c (af_latin2_hint_edges): Move declaration of
       
  2337 	`n_edges' into `#if' block.
       
  2338 
       
  2339 2009-05-28  Werner Lemberg  <wl@gnu.org>
       
  2340 
       
  2341 	Make compilation work with FT_CONFIG_OPTION_USE_ZLIB not defined.
       
  2342 	Reported by Krzysztof Kowalczyk <kkowalczyk@gmail.com>.
       
  2343 
       
  2344 	* src/pcf/pcfdrivr.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_ZLIB]:
       
  2345 	Make it work.
       
  2346 	Simplify #ifdef logic.
       
  2347 
       
  2348 2009-05-22  Werner Lemberg  <wl@gnu.org>
       
  2349 
       
  2350 	Improve b/w rasterizer.
       
  2351 	Problem reported by Krzysztof Kotlenga <pocek@users.sf.net>.
       
  2352 
       
  2353 	* src/raster/raster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
       
  2354 	Horizontal_Gray_Sweep_Drop): For smart drop-out mode, if
       
  2355 	intersections are equally distant relative to next pixel center,
       
  2356 	select the left pixel, not the right one.
       
  2357 
       
  2358 2009-05-19  Werner Lemberg  <wl@gnu.org>
       
  2359 
       
  2360 	Fix Savannah bug #26600.
       
  2361 
       
  2362 	* src/type42/t42parse.c (t42_load_keyword): Handle
       
  2363 	T1_FIELD_LOCATION_FONT_EXTRA.
       
  2364 
       
  2365 2009-04-30  Werner Lemberg  <wl@gnu.org>
       
  2366 
       
  2367 	Document recent changes to ftview.
       
  2368 
       
  2369 	* docs/CHANGES: Do it.
       
  2370 
       
  2371 2009-04-27  Werner Lemberg  <wl@gnu.org>
       
  2372 
       
  2373 	autohinter: Don't change digit widths if all widths are the same.
       
  2374 	This fixes FreeDesktop bug #21197.
       
  2375 
       
  2376 	* src/autofit/afglobal.c (AF_DIGIT): New macro.
       
  2377 	(af_face_globals_compute_script_coverage): Mark ASCII digits in
       
  2378 	`glyph_scripts' array.
       
  2379 	(af_face_globals_get_metrics): Updated.
       
  2380 	(af_face_globals_is_digit): New function.
       
  2381 	* src/autofit/afglobal.h: Updated.
       
  2382 	(AF_ScriptMetricsRec): Add `digits_have_same_width' flag.
       
  2383 
       
  2384 	* src/autofit/aflatin.c: Include FT_ADVANCES_H.
       
  2385 	(af_latin_metrics_check_digits): New function.
       
  2386 	(af_latin_metrics_init): Use it.
       
  2387 	* src/autofit/aflatin.h: Updated.
       
  2388 	* src/autofit/afcjk.c (af_cjk_metrics_init): Updated.
       
  2389 
       
  2390 	* src/autofit/aflatin2.c: Similar changes as with aflatin.c.
       
  2391 
       
  2392 	* src/autofit/afloader.c (af_loader_load_g): Test digit width.
       
  2393 
       
  2394 	* docs/CHANGES: Document it.
       
  2395 
       
  2396 2009-04-26  Werner Lemberg  <wl@gnu.org>
       
  2397 
       
  2398 	Make ftgrays compile with _STANDALONE_ and FT_STATIC_RASTER again.
       
  2399 	Problems reported by suyu@cooee.cn.
       
  2400 
       
  2401 	* src/smooth/ftgrays.c (FT_DEFINE_OUTLINE_FUNCS,
       
  2402 	FT_DEFINE_RASTER_FUNCS) [_STANDALONE_]: Define.
       
  2403 	[!_STANDALONE_]: Include ftspic.h only here.
       
  2404 	(ras): Define/declare after definition of `TWorker'.
       
  2405 	Use `RAS_VAR_' where necessary.
       
  2406 
       
  2407 2009-04-21  Karl Berry  <karl@gnu.org>
       
  2408 
       
  2409 	Fix AC_CHECK_FT2.
       
  2410 
       
  2411 	* builds/unix/freetype2.m4: Only check PATH for freetype-config if
       
  2412 	we did not already find it from a prefix option.
       
  2413 
       
  2414 2009-04-05  Oran Agra  <oran@monfort.co.il>
       
  2415 
       
  2416 	Add #error to modules and files that do not support PIC yet.
       
  2417 
       
  2418 	When FT_CONFIG_OPTION_PIC is defined the following files will
       
  2419 	create #error:
       
  2420 	* src/bdf/bdfdrivr.h
       
  2421 	* src/cache/ftcmanag.c
       
  2422 	* src/cid/cidriver.h
       
  2423 	* src/gxvalid/gxvmod.h
       
  2424 	* src/gzip/ftgzip.c
       
  2425 	* src/lzw/ftlzw.c
       
  2426 	* src/otvalid/otvmod.h
       
  2427 	* src/pcf/pcfdrivr.h
       
  2428 	* src/pfr/pfrdrivr.h
       
  2429 	* src/psaux/psauxmod.h
       
  2430 	* src/type1/t1driver.h
       
  2431 	* src/type42/t42drivr.h
       
  2432 	* src/winfonts/winfnt.h
       
  2433 
       
  2434 2009-04-05  Oran Agra  <oran@monfort.co.il>
       
  2435 
       
  2436 	Position Independent Code (PIC) support in autofit module.
       
  2437 
       
  2438 	* include/freetype/internal/autohint.h add macros to init
       
  2439 	instances of FT_AutoHinter_ServiceRec.
       
  2440 
       
  2441 	* src/autofit/afmodule.h declare autofit_module_class
       
  2442 	using macros from ftmodapi.h,
       
  2443 	when FT_CONFIG_OPTION_PIC is defined create and destroy
       
  2444 	functions will be declared.
       
  2445 	* src/autofit/afmodule.c when FT_CONFIG_OPTION_PIC is defined
       
  2446 	af_autofitter_service and autofit_module_class structs
       
  2447 	will have functions to init or create and destroy them
       
  2448 	instead of being allocated in the global scope.
       
  2449 	And macros will be used from afpic.h in order to access them.
       
  2450 
       
  2451 	* src/autofit/aftypes.h add macros to init and declare
       
  2452 	instances of AF_ScriptClassRec.
       
  2453 
       
  2454 	* src/autofit/afcjk.h declare af_cjk_script_class
       
  2455 	using macros from aftypes.h,
       
  2456 	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
       
  2457 	* src/autofit/afcjk.c when FT_CONFIG_OPTION_PIC is defined
       
  2458 	af_cjk_script_class struct will have function to init it instead of
       
  2459 	being allocated in the global scope.
       
  2460 
       
  2461 	* src/autofit/afdummy.h declare af_dummy_script_class
       
  2462 	using macros from aftypes.h,
       
  2463 	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
       
  2464 	* src/autofit/afdummy.c when FT_CONFIG_OPTION_PIC is defined
       
  2465 	af_dummy_script_class struct will have function to init it instead of
       
  2466 	being allocated in the global scope.
       
  2467 
       
  2468 	* src/autofit/afindic.h declare af_indic_script_class
       
  2469 	using macros from aftypes.h,
       
  2470 	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
       
  2471 	* src/autofit/afindic.c when FT_CONFIG_OPTION_PIC is defined
       
  2472 	af_indic_script_class struct will have function to init it instead of
       
  2473 	being allocated in the global scope.
       
  2474 
       
  2475 	* src/autofit/aflatin.h declare af_latin_script_class
       
  2476 	using macros from aftypes.h,
       
  2477 	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
       
  2478 	* src/autofit/aflatin.c when FT_CONFIG_OPTION_PIC is defined
       
  2479 	af_latin_script_class struct will have function to init it instead of
       
  2480 	being allocated in the global scope.
       
  2481 	Change af_latin_blue_chars to be PIC-compatible by being a two
       
  2482 	dimentional array rather than array of pointers.
       
  2483 
       
  2484 
       
  2485 	* src/autofit/aflatin2.h declare af_latin2_script_class
       
  2486 	using macros from aftypes.h,
       
  2487 	when FT_CONFIG_OPTION_PIC is defined init function will be declared.
       
  2488 	* src/autofit/aflatin2.c when FT_CONFIG_OPTION_PIC is defined
       
  2489 	af_latin2_script_class struct will have function to init it instead of
       
  2490 	being allocated in the global scope.
       
  2491 	Change af_latin2_blue_chars to be PIC-compatible by being a two
       
  2492 	dimentional array rather than array of pointers.
       
  2493 
       
  2494 	* src/autofit/afglobal.c when FT_CONFIG_OPTION_PIC is defined
       
  2495 	af_script_classes array initialization was moved to afpic.c and
       
  2496 	is later refered using macros defeined in afpic.h.
       
  2497 
       
  2498 	New Files:
       
  2499 	* src/autofit/afpic.h declare struct to hold PIC globals for autofit
       
  2500 	module and macros to access them.
       
  2501 	* src/autofit/afpic.c implement functions to allocate, destroy and
       
  2502 	initialize PIC globals for autofit module.
       
  2503 
       
  2504 	* src/autofit/autofit.c add new file to build: afpic.c.
       
  2505 	* src/autofit/jamfile add new files to FT2_MULTI build: afpic.c.
       
  2506 
       
  2507 2009-04-05  Oran Agra  <oran@monfort.co.il>
       
  2508 
       
  2509 	Position Independent Code (PIC) support in pshinter module.
       
  2510 
       
  2511 	* include/freetype/internal/pshints.h add macros to init
       
  2512 	instances of PSHinter_Interface.
       
  2513 
       
  2514 	* src/pshinter/pshmod.h declare pshinter_module_class
       
  2515 	using macros from ftmodapi.h,
       
  2516 	when FT_CONFIG_OPTION_PIC is defined create and destroy
       
  2517 	functions will be declared.
       
  2518 	* src/pshinter/pshmod.c when FT_CONFIG_OPTION_PIC is defined
       
  2519 	pshinter_interface and pshinter_module_class structs
       
  2520 	will have functions to init or create and destroy them
       
  2521 	instead of being allocated in the global scope.
       
  2522 	And macros will be used from pshpic.h in order to access them.
       
  2523 
       
  2524 	New Files:
       
  2525 	* src/pshinter/pshpic.h declare struct to hold PIC globals for pshinter
       
  2526 	module and macros to access them.
       
  2527 	* src/pshinter/pshpic.c implement functions to allocate, destroy and
       
  2528 	initialize PIC globals for pshinter module.
       
  2529 
       
  2530 	* src/pshinter/pshinter.c add new file to build: pshpic.c.
       
  2531 	* src/pshinter/jamfile add new files to FT2_MULTI build: pshpic.c.
       
  2532 
       
  2533 2009-04-05  Oran Agra  <oran@monfort.co.il>
       
  2534 
       
  2535 	Position Independent Code (PIC) support in psnames module.
       
  2536 
       
  2537 	* include/freetype/internal/services/svpscmap.h add macros to init
       
  2538 	instances of FT_Service_PsCMapsRec.
       
  2539 
       
  2540 	* src/psnames/psmodule.h declare psnames_module_class
       
  2541 	using macros from ftmodapi.h,
       
  2542 	when FT_CONFIG_OPTION_PIC is defined create and destroy
       
  2543 	functions will be declared.
       
  2544 	* src/psnames/psmodule.c when FT_CONFIG_OPTION_PIC is defined
       
  2545 	pscmaps_interface and pscmaps_services structs
       
  2546 	and psnames_module_class array
       
  2547 	will have functions to init or create and destroy them
       
  2548 	instead of being allocated in the global scope.
       
  2549 	And macros will be used from pspic.h in order to access them.
       
  2550 
       
  2551 	New Files:
       
  2552 	* src/psnames/pspic.h declare struct to hold PIC globals for psnames
       
  2553 	module and macros to access them.
       
  2554 	* src/psnames/pspic.c implement functions to allocate, destroy and
       
  2555 	initialize PIC globals for psnames module.
       
  2556 
       
  2557 	* src/psnames/psnames.c add new file to build: pspic.c.
       
  2558 	* src/psnames/jamfile add new files to FT2_MULTI build: pspic.c.
       
  2559 
       
  2560 2009-04-05  Oran Agra  <oran@monfort.co.il>
       
  2561 
       
  2562 	Position Independent Code (PIC) support in raster renderer.
       
  2563 
       
  2564 	* src/raster/ftrend1.h declare ft_raster1_renderer_class
       
  2565 	and ft_raster5_renderer_class
       
  2566 	using macros from ftrender.h,
       
  2567 	when FT_CONFIG_OPTION_PIC is defined create and destroy
       
  2568 	functions will be declared.
       
  2569 	* src/smooth/ftrend1.c when FT_CONFIG_OPTION_PIC is defined
       
  2570 	ft_raster1_renderer_class and ft_raster5_renderer_class structs
       
  2571 	will have functions to init or create and destroy them
       
  2572 	instead of being allocated in the global scope.
       
  2573 	Macros will be used from rastpic.h in order to access
       
  2574 	ft_standard_raster from the pic_container (allocated in ftraster.c).
       
  2575 	In ft_raster1_render when PIC is enabled, the last letter of
       
  2576 	module_name is used to verfy the renderer class rather than the
       
  2577 	class pointer.
       
  2578 
       
  2579 	* src/raster/ftraster.c when FT_CONFIG_OPTION_PIC is defined
       
  2580 	ft_standard_raster struct will have function to init it
       
  2581 	instead of being allocated in the global scope.
       
  2582 
       
  2583 	New Files:
       
  2584 	* src/raster/rastpic.h declare struct to hold PIC globals for raster
       
  2585 	renderer and macros to access them.
       
  2586 	* src/raster/rastpic.c implement functions to allocate, destroy and
       
  2587 	initialize PIC globals for raster renderer.
       
  2588 
       
  2589 	* src/raster/raster.c add new file to build: rastpic.c.
       
  2590 	* src/raster/jamfile add new files to FT2_MULTI build: rastpic.c.
       
  2591 
       
  2592 2009-04-05  Oran Agra  <oran@monfort.co.il>
       
  2593 
       
  2594 	Position Independent Code (PIC) support in smooth renderer.
       
  2595 
       
  2596 	* src/smooth/ftsmooth.h declare ft_smooth_renderer_class,
       
  2597 	ft_smooth_lcd_renderer_class and ft_smooth_lcd_v_renderer_class
       
  2598 	using macros from ftrender.h,
       
  2599 	when FT_CONFIG_OPTION_PIC is defined create and destroy
       
  2600 	functions will be declared.
       
  2601 	* src/smooth/ftsmooth.c when FT_CONFIG_OPTION_PIC is defined
       
  2602 	the following structs:
       
  2603 	ft_smooth_renderer_class, ft_smooth_lcd_renderer_class
       
  2604 	and ft_smooth_lcd_v_renderer_class
       
  2605 	will have functions to init or create and destroy them
       
  2606 	instead of being allocated in the global scope.
       
  2607 	And macros will be used from ftspic.h in order to access
       
  2608 	ft_grays_raster from the pic_container (allocated in ftgrays.c).
       
  2609 
       
  2610 	* src/smooth/ftgrays.h include FT_CONFIG_CONFIG_H
       
  2611 	* src/smooth/ftgrays.c when FT_CONFIG_OPTION_PIC is NOT defined
       
  2612 	func_interface was moved from gray_convert_glyph_inner function
       
  2613 	to the global scope.
       
  2614 	When FT_CONFIG_OPTION_PIC is defined
       
  2615 	func_interface and ft_grays_raster structs
       
  2616 	will have functions to init them
       
  2617 	instead of being allocated in the global scope.
       
  2618 	And func_interface will be allocated on the stack of
       
  2619 	gray_convert_glyph_inner.
       
  2620 
       
  2621 	New Files:
       
  2622 	* src/smooth/ftspic.h declare struct to hold PIC globals for smooth
       
  2623 	renderer and macros to access them.
       
  2624 	* src/smooth/ftspic.c implement functions to allocate, destroy and
       
  2625 	initialize PIC globals for smooth renderer.
       
  2626 
       
  2627 	* src/smooth/smooth.c add new file to build: ftspic.c.
       
  2628 	* src/smooth/jamfile add new files to FT2_MULTI build: ftspic.c.
       
  2629 
       
  2630 2009-04-05  Oran Agra  <oran@monfort.co.il>
       
  2631 
       
  2632 	Position Independent Code (PIC) support in cff driver.
       
  2633 
       
  2634 	* include/freetype/internal/services/svcid.h add macros to init
       
  2635 	instances of FT_Service_CIDRec.
       
  2636 	* include/freetype/internal/services/svpsinfo.h add macros to init
       
  2637 	instances of FT_Service_PsInfoRec.
       
  2638 
       
  2639 	* src/cff/cffcmap.h declare cff_cmap_encoding_class_rec
       
  2640 	and cff_cmap_unicode_class_rec using macros from
       
  2641 	ftobjs.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
       
  2642 	functions will be declared.
       
  2643 	* src/cff/cffcmap.c when FT_CONFIG_OPTION_PIC is defined
       
  2644 	the following structs:
       
  2645 	cff_cmap_encoding_class_rec and cff_cmap_unicode_class_rec
       
  2646 	will have functions to init or create and destroy them
       
  2647 	instead of being allocated in the global scope.
       
  2648 
       
  2649 	* src/cff/cffdrivr.h declare cff_driver_class using macros from
       
  2650 	ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
       
  2651 	functions will be declared.
       
  2652 	* src/cff/cffdrivr.c when FT_CONFIG_OPTION_PIC is defined
       
  2653 	the following structs:
       
  2654 	cff_service_glyph_dict, cff_service_ps_info, cff_service_ps_name
       
  2655 	cff_service_get_cmap_info, cff_service_cid_info, cff_driver_class,
       
  2656 	and cff_services array
       
  2657 	will have functions to init or create and destroy them
       
  2658 	instead of being allocated in the global scope.
       
  2659 	And macros will be used from cffpic.h in order to access them
       
  2660 	from the pic_container.
       
  2661 	Use macros from cffpic.h in order to access the
       
  2662 	structs allocated in cffcmap.c
       
  2663 
       
  2664 	* src/cff/cffobjs.c Use macros from cffpic.h in order to access the
       
  2665 	structs allocated in cffcmap.c
       
  2666 
       
  2667 	* src/cff/parser.c when FT_CONFIG_OPTION_PIC is defined
       
  2668 	implement functions to create and destroy cff_field_handlers array
       
  2669 	instead of being allocated in the global scope.
       
  2670 	And macros will be used from cffpic.h in order to access it
       
  2671 	from the pic_container.
       
  2672 
       
  2673 	New Files:
       
  2674 	* src/cff/cffpic.h declare struct to hold PIC globals for cff
       
  2675 	driver and macros to access them.
       
  2676 	* src/cff/cffpic.c implement functions to allocate, destroy and
       
  2677 	initialize PIC globals for cff driver.
       
  2678 
       
  2679 	* src/cff/cff.c add new file to build: cffpic.c.
       
  2680 	* src/cff/jamfile add new files to FT2_MULTI build: cffpic.c.
       
  2681 
       
  2682 2009-04-05  Oran Agra  <oran@monfort.co.il>
       
  2683 
       
  2684 	Position Independent Code (PIC) support in sfnt driver.
       
  2685 
       
  2686 	* include/freetype/internal/services/svbdf.h add macros to init
       
  2687 	instances of FT_Service_BDFRec.
       
  2688 	* include/freetype/internal/services/svgldict.h add macros to init
       
  2689 	instances of FT_Service_GlyphDictRec.
       
  2690 	* include/freetype/internal/services/svpostnm.h add macros to init
       
  2691 	instances of FT_Service_PsFontNameRec.
       
  2692 	* include/freetype/internal/services/svsfnt.h add macros to init
       
  2693 	instances of FT_Service_SFNT_TableRec.
       
  2694 	* include/freetype/internal/services/svttcmap.h add macros to init
       
  2695 	instances of FT_Service_TTCMapsRec.
       
  2696 	* include/freetype/internal/sfnt.h add macros to init
       
  2697 	instances of SFNT_Interface.
       
  2698 
       
  2699 	* src/sfnt/sfdriver.h declare sfnt_module_class using macros from
       
  2700 	ftmodapi.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
       
  2701 	functions will be declared.
       
  2702 	* src/sfnt/sfdriver.c when FT_CONFIG_OPTION_PIC is defined
       
  2703 	the following structs:
       
  2704 	sfnt_service_sfnt_table, sfnt_service_glyph_dict, sfnt_service_ps_name
       
  2705 	tt_service_get_cmap_info, sfnt_service_bdf, sfnt_interface,
       
  2706 	sfnt_module_class, and sfnt_services array
       
  2707 	will have functions to init or create and destroy them
       
  2708 	instead of being allocated in the global scope.
       
  2709 	And macros will be used from sfntpic.h in order to access them
       
  2710 	from the pic_container.
       
  2711 
       
  2712 	* src/sfnt/ttcmap.h add macros to init
       
  2713 	instances of TT_CMap_ClassRec.
       
  2714 	* src/sfnt/ttcmap.c when FT_CONFIG_OPTION_PIC is defined
       
  2715 	the following structs:
       
  2716 	tt_cmap0_class_rec, tt_cmap2_class_rec, tt_cmap4_class_rec
       
  2717 	tt_cmap6_class_rec, tt_cmap8_class_rec, tt_cmap10_class_rec,
       
  2718 	tt_cmap12_class_rec, tt_cmap14_class_rec and tt_cmap_classes array
       
  2719 	will have functions to init or create and destroy them
       
  2720 	instead of being allocated in the global scope.
       
  2721 	And macros will be used from sfntpic.h in order to access them
       
  2722 	from the pic_container.
       
  2723 	The content of tt_cmap_classes is now described in the
       
  2724 	new file 'ttcmapc.h'.
       
  2725 
       
  2726 	New Files:
       
  2727 	* src/sfnt/sfntpic.h declare struct to hold PIC globals for sfnt
       
  2728 	driver and macros to access them.
       
  2729 	* src/sfnt/sfntpic.c implement functions to allocate, destroy and
       
  2730 	initialize PIC globals for sfnt driver.
       
  2731 	* src/sfnt/ttcmapc.h describing the content of
       
  2732 	tt_cmap_classes allocated in ttcmap.c
       
  2733 
       
  2734 	* src/sfnt/sfnt.c add new file to build: sfntpic.c.
       
  2735 	* src/sfnt/jamfile add new files to FT2_MULTI build: sfntpic.c.
       
  2736 
       
  2737 2009-04-05  Oran Agra  <oran@monfort.co.il>
       
  2738 
       
  2739 	Position Independent Code (PIC) support in truetype driver.
       
  2740 
       
  2741 	* include/freetype/internal/services/svmm.h add macros to init
       
  2742 	instances of FT_Service_MultiMastersRec.
       
  2743 	* include/freetype/internal/services/svttglyf.h add macros to init
       
  2744 	instances of FT_Service_TTGlyfRec.
       
  2745 
       
  2746 	* src/truetype/ttdriver.h declare tt_driver_class using macros from
       
  2747 	ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
       
  2748 	functions will be declared.
       
  2749 	* src/truetype/ttdriver.c when FT_CONFIG_OPTION_PIC is defined
       
  2750 	the following structs:
       
  2751 	tt_service_gx_multi_masters, tt_service_truetype_glyf, tt_driver_class
       
  2752 	and tt_services array,
       
  2753 	will have functions to init or create and destroy them
       
  2754 	instead of being allocated in the global scope.
       
  2755 	And macros will be used from ttpic.h in order to access them
       
  2756 	from the pic_container.
       
  2757 	* src/truetype/ttobjs.c change trick_names array to be
       
  2758 	PIC-compatible by being a two dimentional array rather than array
       
  2759 	of pointers.
       
  2760 
       
  2761 	New Files:
       
  2762 	* src/truetype/ttpic.h declare struct to hold PIC globals for truetype
       
  2763 	driver and macros to access them.
       
  2764 	* src/truetype/ttpic.c implement functions to allocate, destroy and
       
  2765 	initialize PIC globals for truetype driver.
       
  2766 
       
  2767 	* src/truetype/truetype.c add new file to build: ttpic.c.
       
  2768 	* src/truetype/jamfile add new files to FT2_MULTI build: ttpic.c.
       
  2769 
       
  2770 2009-04-05  Oran Agra  <oran@monfort.co.il>
       
  2771 
       
  2772 	Position Independent Code (PIC) support and infrastructure in base.
       
  2773 
       
  2774 	* include/freetype/config/ftoption.h add FT_CONFIG_OPTION_PIC
       
  2775 	* include/freetype/internal/ftobjs.h Add pic_container member to
       
  2776 	FT_LibraryRec.
       
  2777 	Add macros to declare and init instances of FT_CMap_ClassRec.
       
  2778 	Add macros to init instances of FT_Outline_Funcs and FT_Raster_Funcs.
       
  2779 	Add macros to declare, allocate and initialize modules
       
  2780 	(FT_Module_Class).
       
  2781 	Add macros to declare, allocate and initialize renderers
       
  2782 	(FT_Renderer_Class).
       
  2783 	Add macro to init instances of FT_Glyph_Class.
       
  2784 	Add macros to declare, allocate and initialize drivers
       
  2785 	(FT_Driver_ClassRec).
       
  2786 	* include/freetype/internal/ftpic.h new file to declare the
       
  2787 	FT_PIC_Container struct and the functions to allocate and detroy it.
       
  2788 	* include/freetype/internal/ftserv.h add macros to allocate and
       
  2789 	destory arrays of FT_ServiceDescRec.
       
  2790 	* include/freetype/internal/internal.h define macro to include
       
  2791 	ftpic.h.
       
  2792 
       
  2793 	New Files:
       
  2794 	* src/base/ftpic.c implement functions to allocate and destory the
       
  2795 	global pic_container.
       
  2796 	* src/base/basepic.h declare struct to hold PIC globals for base and
       
  2797 	macros to access them.
       
  2798 	* src/base/basepic.c implement functions to allocate, destroy and
       
  2799 	initialize PIC globals for base.
       
  2800 
       
  2801 	* src/base/ftinit.c when FT_CONFIG_OPTION_PIC is defined implement
       
  2802 	functions that allocate and destroy ft_default_modules according to
       
  2803 	FT_CONFIG_MODULES_H in the pic_container instead of the global scope
       
  2804 	and use macro from basepic.h to access it.
       
  2805 	* src/base/ftobjs.c add calls to the functions that allocate and
       
  2806 	destroy the global pic_container when the library is created and
       
  2807 	destroyed.
       
  2808 
       
  2809 	* src/base/jamfile add new files to FT2_MULTI build:
       
  2810 	ftpic.c and basepic.c.
       
  2811 	* src/base/ftbase.c add new files to build:
       
  2812 	ftpic.c and basepic.c.
       
  2813 
       
  2814 	* src/base/ftglyph.c when FT_CONFIG_OPTION_PIC is defined
       
  2815 	ft_bitmap_glyph_class and ft_outline_glyph_class will be allocated
       
  2816 	in the pic_container instead of the global scope and use macros from
       
  2817  	basepic.h to access them.
       
  2818 	* src/base/ftbbox.c allocate bbox_interface stract on the stack
       
  2819 	instead of the global scope when FT_CONFIG_OPTION_PIC is defined.
       
  2820 	* src/base/ftstroke.c access ft_outline_glyph_class allocated in
       
  2821 	ftglyph.c via macros from basepic.h
       
  2822 
       
  2823 2009-04-05  Oran Agra  <oran@monfort.co.il>
       
  2824 
       
  2825 	Preparing changes in cff parser later needed for PIC version.
       
  2826 
       
  2827 	* src/cff/cffload.c, src/cff/cffload.h, src/cff/cffobjs.c,
       
  2828 	src/cff/cffparse.c, src/cff/cffparse.h: Add library pointer to
       
  2829 	'CFF_ParserRec' set by `cff_parser_init'.
       
  2830 	Route library pointer from 'cff_face_init' to 'cff_subfont_load'
       
  2831 	for `cff_parser_init'.
       
  2832 
       
  2833 	* src/cff/cffparse.c (CFF_Field_Handler): Move it to...
       
  2834 	* src/cff/cffparse.h: This file, to be used by other C files.
       
  2835 
       
  2836 2009-04-05  Oran Agra  <oran@monfort.co.il>
       
  2837 
       
  2838 	Minor change in ftstroke.c.
       
  2839 
       
  2840 	* src/base/ftstroke.c (FT_StrokerRec): Replace `memory' member with
       
  2841 	`library' needed for PIC version.
       
  2842 	Update all callers.
       
  2843 
       
  2844 2009-04-04  Werner Lemberg  <wl@gnu.org>
       
  2845 
       
  2846 	ftnames.c -> ftsnames.c
       
  2847 
       
  2848 	* src/base/ftnames.c: Rename to...
       
  2849 	* src/base/ftsnames.c: This.
       
  2850 	* src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated.
       
  2851 
       
  2852 2009-04-04  Werner Lemberg  <wl@gnu.org>
       
  2853 
       
  2854 	Add support for cmap type 13.
       
  2855 
       
  2856 	* devel/ftoption.h, include/freetype/config/ftoption.h
       
  2857 	(TT_CONFIG_CMAP_FORMAT_13): New macro.
       
  2858 
       
  2859 	* src/sfnt/ttcmap.c (TT_CMap13Rec, tt_cmap13_init,
       
  2860 	tt_cmap13_validate, tt_cmap13_char_index, tt_cmap13_char_next,
       
  2861 	tt_cmap13_get_info, tt_cmap13_char_map_def_binary,
       
  2862 	tt_cmap14_class_rec): New functions and structures for cmap 13
       
  2863 	support.
       
  2864 	(tt_cmap_classes): Register tt_cmap13_class_rec.
       
  2865 
       
  2866 	* docs/CHANGES: Mention cmap 13 support.
       
  2867 
       
  2868 2009-04-01  Werner Lemberg  <wl@gnu.org>
       
  2869 
       
  2870 	Ignore empty contours in CFF glyphs.
       
  2871 
       
  2872 	Problem reported by Albert Astals Cid <aacid@kde.org>.
       
  2873 
       
  2874 	* src/cff/cffgload.c (cff_builder_close_contour): Synchronize with
       
  2875 	t1_builder_close_contour.
       
  2876 
       
  2877 2009-03-21  Werner Lemberg  <wl@gnu.org>
       
  2878 
       
  2879 	Another redundant header inclusion.
       
  2880 
       
  2881 	* src/truetype/ttgxvar.c: Fix Ghostscript Coverity issue #4041.
       
  2882 
       
  2883 2009-03-21  Werner Lemberg  <wl@gnu.org>
       
  2884 
       
  2885 	Remove redundant header inclusions.
       
  2886 
       
  2887 	This covers many Ghostscript Coverity issues.
       
  2888 
       
  2889 	* src/*: Do it.
       
  2890 
       
  2891 2009-03-21  Werner Lemberg  <wl@gnu.org>
       
  2892 
       
  2893 	Fix Ghostscript Coverity issue #3904.
       
  2894 
       
  2895 	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against
       
  2896 	invalid values of `runcnt'.
       
  2897 
       
  2898 2009-03-20  Werner Lemberg  <wl@gnu.org>
       
  2899 
       
  2900 	Fix `make multi' run.
       
  2901 
       
  2902 	* src/smooth/ftsmooth.h: Include FT_INTERNAL_DEBUG_H.
       
  2903 
       
  2904 2009-03-20  Werner Lemberg  <wl@gnu.org>
       
  2905 
       
  2906 	Fix Savannah bug #25923.
       
  2907 
       
  2908 	* src/cache/ftccmap.c (FTC_CMAP_HASH): Fix typo.
       
  2909 
       
  2910 2009-03-20  Werner Lemberg  <wl@gnu.org>
       
  2911 
       
  2912 	Protect against too large glyphs.
       
  2913 
       
  2914 	Problem reported by Tavis Ormandy <taviso@google.com>.
       
  2915 
       
  2916 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Don't allow
       
  2917 	`pitch' or `height' to be larger than 0xFFFF.
       
  2918 
       
  2919 2009-03-20  Werner Lemberg  <wl@gnu.org>
       
  2920 	    Tavis Ormandy  <taviso@google.com>
       
  2921 
       
  2922 	Fix validation for various cmap table formats.
       
  2923 
       
  2924 	* src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate,
       
  2925 	tt_cmap12_validate): Check `length' correctly.
       
  2926 	(tt_cmap_14_validate): Check `length' and `numMappings' correctly.
       
  2927 
       
  2928 2009-03-20  Werner Lemberg  <wl@gnu.org>
       
  2929 
       
  2930 	Protect against malformed compressed data.
       
  2931 
       
  2932 	* src/lzw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is
       
  2933 	zero.
       
  2934 
       
  2935 2009-03-20  Werner Lemberg  <wl@gnu.org>
       
  2936 
       
  2937 	Protect against invalid SID values in CFFs.
       
  2938 
       
  2939 	Problem reported by Tavis Ormandy <taviso@google.com>.
       
  2940 
       
  2941 	* src/cff/cffload.c (cff_charset_load): Reject SID values larger
       
  2942 	than 64999.
       
  2943 
       
  2944 2009-03-19  Vincent Richomme  <richom.v@free.fr>
       
  2945 
       
  2946 	Update WinCE Visual C project files.
       
  2947 
       
  2948 	* builds/wince/vc2005-ce/freetype.vcproj,
       
  2949 	builds/wince/vc2008-ce/freetype.vcproj: Add missing base extension
       
  2950 	files.
       
  2951 
       
  2952 2009-03-19  Werner Lemberg  <wl@gnu.org>
       
  2953 
       
  2954 	Remove unused Win32 code.
       
  2955 
       
  2956 	* builds/wince/ftdebug.c: Remove code guarded with `!_WIN32_WCE'.
       
  2957 	Since Win32 is handled separately this is no longer needed.
       
  2958 
       
  2959 2009-03-19  Vincent Richomme  <richom.v@free.fr>
       
  2960 
       
  2961 	Make `gzip' module compile on WinCE.
       
  2962 
       
  2963 	* src/gzip/zconf.h [_WIN32_WCE]: Define NO_ERRNO_H.
       
  2964 
       
  2965 2009-03-19  Werner Lemberg  <wl@gnu.org>
       
  2966 
       
  2967 	Remove unused WinCE code.
       
  2968 
       
  2969 	* builds/win32/ftdebug.c: Remove code guarded with `_WIN32_WCE'.
       
  2970 	Since WinCE is handled separately this is no longer needed.
       
  2971 
       
  2972 2009-03-16  Werner Lemberg  <wl@gnu.org>
       
  2973 
       
  2974 	docmaker: Don't ignore single-line code blocks.
       
  2975 
       
  2976 	* src/tools/docmaker/content.py (DocBlock::_init__): Fix change from
       
  2977 	2009-01-31.
       
  2978 
       
  2979 2009-03-15  Steve Langasek  <steve.langasek@canonical.com>
       
  2980 
       
  2981 	Use __asm__ for declaring assembly instead of asm.
       
  2982 
       
  2983 	* builds/unix/ftconfig.in (FT_MulFix_arm): Use __asm__ instead of
       
  2984 	asm on arm, fixing a build failure on armel with -pedantic.
       
  2985 
       
  2986 2009-03-14  Werner Lemberg  <wl@gnu.org>
       
  2987 
       
  2988 	Fix valgrind warning.
       
  2989 
       
  2990 	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned): Don't read
       
  2991 	past the end of the frame.
       
  2992 
       
  2993 2009-03-12  Werner Lemberg  <wl@gnu.org>
       
  2994 
       
  2995 	* Version 2.3.9 released.
       
  2996 	=========================
       
  2997 
       
  2998 
       
  2999 	Tag sources with `VER-2-3-9'.
       
  3000 
       
  3001 2009-03-12  Werner Lemberg  <wl@gnu.org>
       
  3002 
       
  3003 	* builds/unix/freetype2.in: Move @FT2_EXTRA_LIBS@ to `Libs.private'.
       
  3004 
       
  3005 2009-03-12  Werner Lemberg  <wl@gnu.org>
       
  3006 
       
  3007 	Fix some FreeType Coverity issues as reported for Ghostscript.
       
  3008 
       
  3009 	* src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize
       
  3010 	`args.stream' (#3874, #3875).
       
  3011 	(open_face_PS_from_sfnt_stream): Improve error management (#3786).
       
  3012 	* src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice'
       
  3013 	(#3870).
       
  3014 	* src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead
       
  3015 	code (#3790).
       
  3016 	* src/base/ftrfork.c (raccess_guess_apple_generic): Check error
       
  3017 	value of `FT_Stream_Skip' (#3784).
       
  3018 
       
  3019 	* src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing
       
  3020 	it (#3872)
       
  3021 
       
  3022 	* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing
       
  3023 	it (#3871).
       
  3024 	* src/pcf/pcfread.c (pcf_get_metrics): Handle return value of
       
  3025 	`pcf_get_metric' (#3789, #3782).
       
  3026 	(pcf_get_properties): Use FT_STREAM_SKIP (#3783).
       
  3027 
       
  3028 	* src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of
       
  3029 	`acache' (#3797)
       
  3030 
       
  3031 	* src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff'
       
  3032 	(#3796).
       
  3033 	* src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795).
       
  3034 	* src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794).
       
  3035 
       
  3036 	* src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom'
       
  3037 	(#3793).
       
  3038 	(_bdf_parse_start): Add comment (#3792).
       
  3039 
       
  3040 	* src/raster/ftraster.c (Finalize_Profile_Table): Check
       
  3041 	`ras.fProfile' (#3791).
       
  3042 
       
  3043 	* src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785).
       
  3044 
       
  3045 	* src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore
       
  3046 	seek error (#3781).
       
  3047 
       
  3048 2009-03-11  Michael Toftdal  <toftdal@gmail.com>
       
  3049 
       
  3050 	Extend CID service functions to handle CID-keyed CFFs as CID fonts.
       
  3051 
       
  3052 	* include/freetype/ftcid.h (FT_Get_CID_Is_Internally_CID_keyed,
       
  3053 	FT_Get_CID_From_Glyph_Index): New functions.
       
  3054 
       
  3055 	* include/freetype/internal/services/svcid.h
       
  3056 	(FT_CID_GetIsInternallyCIDKeyedFunc,
       
  3057 	FT_CID_GetCIDFromGlyphIndexFunc): New function typedefs.
       
  3058 	(CID Service): Use them.
       
  3059 
       
  3060 	* src/base/ftcid.c: Include FT_CID_H.
       
  3061 	(FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index):
       
  3062 	New functions.
       
  3063 
       
  3064 	* src/cff/cffdrivr.c (cff_get_is_cid, cff_get_cid_from_glyph_index):
       
  3065 	New functions.
       
  3066 	(cff_service_cid_info): Add them.
       
  3067 	* src/cff/cffload.c (cff_font_load): Don't free `font->charset.sids'
       
  3068 	-- it is needed for access as a CID-keyed font.  It gets deleted
       
  3069 	later on.
       
  3070 
       
  3071 	* src/cid/cidriver.c (cid_get_is_cid, cid_get_cid_from_glyph_index):
       
  3072 	New functions.
       
  3073 	(cid_service_cid_info): Add them.
       
  3074 
       
  3075 	* docs/CHANGES: Updated.
       
  3076 
       
  3077 2009-03-11  Bram Tassyns  <bramt@enfocus.be>
       
  3078 
       
  3079 	Fix Savannah bug #25597.
       
  3080 
       
  3081 	* src/cff/cffparse.c (cff_parse_real): Don't allow fraction_length
       
  3082 	to become larger than 9.
       
  3083 
       
  3084 2009-03-11  Werner Lemberg  <wl@gnu.org>
       
  3085 
       
  3086 	Fix Savannah bug #25814.
       
  3087 
       
  3088 	* builds/unix/freetype2.in: As suggested in the bug report, move
       
  3089 	@LIBZ@ to `Libs.private'.
       
  3090 
       
  3091 2009-03-11  Werner Lemberg  <wl@gnu.org>
       
  3092 
       
  3093 	Fix Savannah bug #25781.
       
  3094 	We now simply check for a valid `offset', no longer handling `delta
       
  3095 	= 1' specially.
       
  3096 
       
  3097 	* src/sfnt/ttcmap.c (tt_cmap4_validate): Don't check `delta' for
       
  3098 	last segment.
       
  3099 	(tt_cmap4_set_range, tt_cmap4_char_map_linear,
       
  3100 	tt_cmap4_char_map_binary): Check offset.
       
  3101 
       
  3102 2009-03-11  Werner Lemberg  <wl@gnu.org>
       
  3103 
       
  3104 	* src/base/Jamfile: Fix handling of ftadvanc.c.
       
  3105 	Reported by Oran Agra <oran@monfort.co.il>.
       
  3106 
       
  3107 2009-03-10  Vincent Richomme  <richom.v@free.fr>
       
  3108 
       
  3109 	Restructure Win32 and Wince compiler support.
       
  3110 
       
  3111 	* src/builds/win32: Remove files for WinCE.
       
  3112 	Move VC 2005 support to a separate directory.
       
  3113 	Add directory for VC 2008 support.
       
  3114 
       
  3115 	* src/builds/wince: New directory hierarchy for WinCE compilers
       
  3116 	(VC 2005 and VC 2008).
       
  3117 
       
  3118 2009-03-09  Werner Lemberg  <wl@gnu.org>
       
  3119 
       
  3120 	More preparations for 2.3.9 release.
       
  3121 
       
  3122 	* docs/CHANGES: Updated.
       
  3123 
       
  3124 	* Jamfile, README: s/2.3.8/2.3.9/, s/238/239/.
       
  3125 
       
  3126 2009-03-09  Werner Lemberg  <wl@gnu.org>
       
  3127 
       
  3128 	* src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c.
       
  3129 
       
  3130 2009-03-09  Alexey Kryukov  <anagnost@yandex.ru>
       
  3131 
       
  3132 	Fix handling of EBDT formats 8 and 9 (part 2).
       
  3133 
       
  3134 	This patch fixes the following problems in ttsbit0.c:
       
  3135 
       
  3136 	. Bitmaps for compound glyphs were never allocated.
       
  3137 
       
  3138 	. `SBitDecoder' refused to load metrics if some other metrics have
       
  3139 	  already been loaded.  This condition certainly makes no sense for
       
  3140 	  recursive calls, so I've just disabled it.  Another possibility
       
  3141 	  would be resetting `decoder->metrics_loaded' to false before
       
  3142 	  loading each composite component.  However, we must restore the
       
  3143 	  original metrics after finishing the recursion; otherwise we can
       
  3144 	  get a misaligned glyph.
       
  3145 
       
  3146 	. `tt_sbit_decoder_load_bit_aligned' incorrectly handled `x_pos',
       
  3147 	  causing some glyph components to be shifted too far to the right
       
  3148 	  (especially noticeable for small sizes).
       
  3149 
       
  3150 	Note that support for grayscale bitmaps (not necessarily compound) is
       
  3151 	completely broken in ttsbit0.c.
       
  3152 
       
  3153 	* src/sfnt/tt_sbit_decoder_load_metrics: Always load metrics.
       
  3154 	(tt_sbit_decoder_load_bit_aligned): Handle `x_pos' correctly in case
       
  3155 	of `h == height'.
       
  3156 	(tt_sbit_decoder_load_compound): Reset metrics after loading
       
  3157 	components.
       
  3158 	Allocate bitmap.
       
  3159 
       
  3160 2009-03-09  Werner Lemberg  <wl@gnu.org>
       
  3161 
       
  3162 	* builds/unix/configure.raw (version_info): Set to 9:20:3.
       
  3163 
       
  3164 2009-03-03  David Turner  <david@freetype.org>
       
  3165 
       
  3166 	Protect SFNT kerning table parser against malformed tables.
       
  3167 
       
  3168 	This closes Savannah BUG #25750.
       
  3169 
       
  3170 	* src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning): Fix a
       
  3171 	bug where a malformed table would be successfully loaded but later
       
  3172 	crash the engine during parsing.
       
  3173 
       
  3174 2009-03-03  David Turner  <david@freetype.org>
       
  3175 
       
  3176 	Update documentation and bump version number to 2.3.9.
       
  3177 
       
  3178 	* include/freetype/freetype.h: Bump patch version to 9.
       
  3179 	* docs/CHANGES: Document the ABI break in 2.3.8.
       
  3180 	* docs/VERSION.DLL: Update version numbers table for 2.3.9.
       
  3181 
       
  3182 2009-03-03  David Turner  <david@freetype.org>
       
  3183 
       
  3184 	Remove ABI-breaking field in public PS_InfoFontRec definition.
       
  3185 
       
  3186 	Instead, we define a new internal PS_FontExtraRec structure to
       
  3187 	hold the additional field, then place it in various internal
       
  3188 	positions of the corresponding FT_Face derived objects.
       
  3189 
       
  3190 	* include/freetype/t1tables.h (PS_FontInfoRec): Remove the
       
  3191 	`fs_type' field from the public structure.
       
  3192 	* include/freetype/internal/psaux.h (T1_FieldLocation): New
       
  3193 	enumeration `T1_FIELD_LOCATION_FONT_EXTRA'.
       
  3194 	* include/freetype/internal/t1types.h (PS_FontExtraRec): New
       
  3195 	structure.
       
  3196 	(T1_FontRec, CID_FaceRec): Add it.
       
  3197 
       
  3198 	* src/cid/cidload.c (cid_load_keyword): Handle
       
  3199 	T1_FIELD_LOCATION_FONT_EXTRA.
       
  3200 	* src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c:
       
  3201 	Adjust FT_STRUCTURE and T1CODE properly to handle `FSType'.
       
  3202 	* src/type1/t1load.c (t1_load_keyword): Handle
       
  3203 	T1_FIELD_LOCATION_FONT_EXTRA.
       
  3204 
       
  3205 	* include/freetype/internal/services/svpsinfo.h (PsInfo service):
       
  3206 	Add `PS_GetFontExtraFunc' function typedef.
       
  3207 
       
  3208 	* src/base/ftfstype.c: Include FT_INTERNAL_SERVICE_H and
       
  3209 	FT_SERVICE_POSTSCRIPT_INFO_H.
       
  3210 	(FT_Get_FSType_Flags): Use POSTSCRIPT_INFO service.
       
  3211 
       
  3212 	* src/cff/cffdrivr.c (cff_service_ps_info): Updated.
       
  3213 	* src/cid/cidriver.c (cid_ps_get_font_extra): New function.
       
  3214 	(cid_service_ps_info): Updated.
       
  3215 	* src/type1/t1driver.c (t1_ps_get_font_extra): New function.
       
  3216 	(t1_service_ps_info): Updated.
       
  3217 	* src/type42/t42drivr.c (t42_ps_get_font_extra): New function.
       
  3218 	(t42_service_ps_info): Updated.
       
  3219 
       
  3220 2009-03-02  Alexey Kryukov  <anagnost@yandex.ru>
       
  3221 
       
  3222 	Fix handling of EBDT formats 8 and 9.
       
  3223 
       
  3224 	The main cycle in `blit_sbit' makes too many iterations: it actually
       
  3225 	needs the count of lines in the source bitmap rather than in the
       
  3226 	target image.
       
  3227 
       
  3228 	* src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]:
       
  3229 	Add parameter `source_height' and use it for main loop.
       
  3230 	(Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated.
       
  3231 
       
  3232 2009-02-23  Werner Lemberg  <wl@gnu.org>
       
  3233 
       
  3234 	Fix Savannah bug #25669.
       
  3235 
       
  3236 	* src/base/ftadvanc.h (FT_Get_Advances): Fix serious typo.
       
  3237 
       
  3238 	* src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Fix
       
  3239 	scaling factor for non-scalable fonts.
       
  3240 
       
  3241 	* src/cff/cffdrivr.c (cff_get_advances): Use correct advance width
       
  3242 	value to prevent incorrect scaling.
       
  3243 
       
  3244 	* docs/CHANGES: Document it.
       
  3245 
       
  3246 2009-02-15  Matt Godbolt  <matt@godbolt.org>
       
  3247 
       
  3248 	Fix Savannah bug #25588.
       
  3249 
       
  3250 	* builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for
       
  3251 	`orr' instruction.
       
  3252 
       
  3253 2009-02-11  Werner Lemberg  <wl@gnu.org>
       
  3254 
       
  3255 	* src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'.
       
  3256 	Reported by David Bevan <dbevan@emtex.com>.
       
  3257 
       
  3258 2009-02-09  Werner Lemberg  <wl@gnu.org>
       
  3259 
       
  3260 	Fix Savannah bug #25495.
       
  3261 
       
  3262 	* src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before
       
  3263 	setting metrics and bbox values.  This ensures that the check for a
       
  3264 	font with neither a `glyf' table nor bitmap strikes can be performed
       
  3265 	early enough to set metrics and bbox values too.
       
  3266 
       
  3267 2009-02-04  Werner Lemberg  <wl@gnu.org>
       
  3268 
       
  3269 	Fix Savannah bug #25480.
       
  3270 
       
  3271 	* builds/unix/freetype-config.in: For --ftversion, don't use $prefix
       
  3272 	but $includedir.
       
  3273 
       
  3274 2009-01-31  Werner Lemberg  <wl@gnu.org>
       
  3275 
       
  3276 	Minor docmaker improvements.
       
  3277 
       
  3278 	* src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty
       
  3279 	code blocks.
       
  3280 
       
  3281 2009-01-25  Werner Lemberg  <wl@gnu.org>
       
  3282 
       
  3283 	Fix SCANCTRL handling in TTFs.
       
  3284 	Problem reported by Alexey Kryukov <anagnost@yandex.ru>.
       
  3285 
       
  3286 	* src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling.
       
  3287 
       
  3288 2009-01-23  Werner Lemberg  <wl@gnu.org>
       
  3289 
       
  3290 	Move FT_Get_FSType_Flags to a separate file.
       
  3291 	Problem reported by Mickey Gabel <mickey@monfort.co.il>.
       
  3292 
       
  3293 	* src/base/ftobjs.c (FT_Get_FSType_Flags): Move to...
       
  3294 	* src/base/ftfstype.c: This new file.
       
  3295 
       
  3296 	* modules.cfg (BASE_EXTENSION): Add ftfstype.c.
       
  3297 
       
  3298 	* docs/INSTALL.ANY: Updated.
       
  3299 
       
  3300 	* builds/mac/*.txt, builds/amiga/*makefile*,
       
  3301 	builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*:
       
  3302 	Updated.
       
  3303 
       
  3304 2009-01-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3305 
       
  3306 	* builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error
       
  3307 	messages ending without "\n".
       
  3308 
       
  3309 2009-01-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3310 
       
  3311 	Fix Savannah bug #25347.
       
  3312 
       
  3313 	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Rewind
       
  3314 	the stream to the original position passed to this function,
       
  3315 	when ft_lookup_PS_in_sfnt_stream() failed.
       
  3316 	(Mac_Read_sfnt_Resource): Rewind the stream to the head of
       
  3317 	sfnt resource body, when open_face_PS_from_sfnt_stream()
       
  3318 	failed.
       
  3319 
       
  3320 2009-01-19  Michael Lotz  <mmlr@mlotz.ch>
       
  3321 
       
  3322 	Fix Savannah bug #25355.
       
  3323 
       
  3324 	* include/freetype/config/ftconfig.h (FT_MulFix_i386): Make
       
  3325 	assembler code work with gcc 2.95.3 (as used by the Haiku project).
       
  3326 	Add `cc' register to the clobber list.
       
  3327 
       
  3328 2009-01-18  Werner Lemberg  <wl@gnu.org>
       
  3329 
       
  3330 	Protect FT_Get_Next_Char.
       
  3331 
       
  3332 	* src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to
       
  3333 	change from 2008-07-22.
       
  3334 
       
  3335 	Patch from Ronen Ghoshal <rghoshal@emtex.com>.
       
  3336 
       
  3337 2009-01-18  Werner Lemberg  <wl@gnu.org>
       
  3338 
       
  3339 	Implement FT_Get_Name_Index for SFNT driver.
       
  3340 
       
  3341 	* src/sfnt/sfdriver.c (sfnt_get_name_index): New function.
       
  3342 	(sfnt_service_glyph_dict): Use it.
       
  3343 
       
  3344 	Problem reported by Truc Truong <tructv@necsv.com>.
       
  3345 
       
  3346 2009-01-18  Werner Lemberg  <wl@gnu.org>
       
  3347 
       
  3348 	* include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix
       
  3349 	documentation.  Problem reported by Truc Truong <tructv@necsv.com>.
       
  3350 
       
  3351 	* docs/CHANGES: Updated.
       
  3352 
       
  3353 2009-01-14  Werner Lemberg  <wl@gnu.org>
       
  3354 
       
  3355 	* Version 2.3.8 released.
       
  3356 	=========================
       
  3357 
       
  3358 
       
  3359 	Tag sources with `VER-2-3-8'.
       
  3360 
       
  3361 	* docs/VERSION.DLL: Update documentation and bump version number to
       
  3362 	2.3.8.
       
  3363 
       
  3364 	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
       
  3365 	builds/win32/visualc/freetype.dsp,
       
  3366 	builds/win32/visualc/freetype.vcproj,
       
  3367 	builds/win32/visualce/index.html,
       
  3368 	builds/win32/visualce/freetype.dsp,
       
  3369 	builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/.
       
  3370 
       
  3371 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
       
  3372 
       
  3373 	* builds/unix/configure.raw (version_info): Set to 9:19:3.
       
  3374 
       
  3375 	* docs/release: Updated.
       
  3376 
       
  3377 2009-01-14  Werner Lemberg  <wl@gnu.org>
       
  3378 
       
  3379 	* builds/toplevel.mk (dist): Compress better.
       
  3380 
       
  3381 2009-01-13  Werner Lemberg  <wl@gnu.org>
       
  3382 
       
  3383 	* src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation
       
  3384 	with C++.
       
  3385 
       
  3386 2009-01-13  Werner Lemberg  <wl@gnu.org>
       
  3387 
       
  3388 	Don't use stdlib.h and friends directly.
       
  3389 	Reported by Mickey Gabel <mickey@monfort.co.il>.
       
  3390 
       
  3391 	* src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
       
  3392 
       
  3393 	* src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
       
  3394 	s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
       
  3395 
       
  3396 	* src/autofit/aftypes.h, src/autofit/afhints.c,
       
  3397 	src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
       
  3398 
       
  3399 	* src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
       
  3400 
       
  3401 2009-01-12  Werner Lemberg  <wl@gnu.org>
       
  3402 
       
  3403 	Avoid compiler warnings.
       
  3404 
       
  3405 	* */*: s/do ; while ( 0 )/do { } while ( 0 )/.
       
  3406 	Reported by Sean McBride <sean@rogue-research.com>.
       
  3407 
       
  3408 2009-01-12  Werner Lemberg  <wl@gnu.org>
       
  3409 
       
  3410 	Fix stdlib dependencies.
       
  3411 
       
  3412 	Problem reported by Mickey Gabel <mickey@monfort.co.il>.
       
  3413 
       
  3414 	* include/freetype/config/ftstdlib.h (ft_exit): Removed.  Unused.
       
  3415 
       
  3416 	* src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c:
       
  3417 	s/memcpy/ft_memcpy/.
       
  3418 	* src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
       
  3419 
       
  3420 2009-01-11  Werner Lemberg  <wl@gnu.org>
       
  3421 
       
  3422 	* docs/formats.txt: Add link to PCF specification.
       
  3423 
       
  3424 	* include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve
       
  3425 	documentation.
       
  3426 
       
  3427 2009-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3428 
       
  3429 	* src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
       
  3430 	FT_Get_Advances): Change the type of load_flags from FT_UInt32 to
       
  3431 	FT_Int32, to match with the flags for FT_Load_Glyph().
       
  3432 	* src/cff/cffdrivr.c (cff_get_advances): Ditto.
       
  3433 	* src/truetype/ttdriver.c (tt_get_advances): Ditto.
       
  3434 	* include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
       
  3435 	Ditto.
       
  3436 	* include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
       
  3437 	Ditto.
       
  3438 
       
  3439 2009-01-09  Daniel Zimmermann  <netzimme@aol.com>
       
  3440 
       
  3441 	* src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong
       
  3442 	length check.  From Savannah patch #6682.
       
  3443 
       
  3444 2009-01-09  Werner Lemberg  <wl@gnu.org>
       
  3445 
       
  3446 	Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2.
       
  3447 
       
  3448 	* src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle
       
  3449 	`count_offset' if it is zero (i.e., unused).  Otherwise, the first
       
  3450 	element of the structure which holds the data is erroneously
       
  3451 	modified.  Problem reported by Chi Nguyen <chint@necsv.com>.
       
  3452 
       
  3453 2009-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3454 
       
  3455 	* src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
       
  3456 	FT_Get_Advances): Extend the type of load_flags from FT_UInt to
       
  3457 	FT_UInt32, to pass 32-bit flags on 16bit platforms.
       
  3458 	* src/cff/cffdrivr.c (cff_get_advances): Ditto.
       
  3459 	* src/truetype/ttdriver.c (tt_get_advances): Ditto.
       
  3460 	* include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
       
  3461 	Ditto.
       
  3462 	* include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
       
  3463 	Ditto.
       
  3464 
       
  3465 2009-01-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3466 
       
  3467 	* src/base/ftobjs.c (FT_Done_Library): Issue an error message when
       
  3468 	FT_Done_Face() cannot free all faces. If the list of the opened
       
  3469 	faces includes broken face which FT_Done_Face() cannot free,
       
  3470 	FT_Done_Library() retries FT_Done_Face() and it can fall into
       
  3471 	an endless loop. See the discussion:
       
  3472 	http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
       
  3473 	http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
       
  3474 
       
  3475 2009-01-07  Werner Lemberg  <wl@gnu.org>
       
  3476 
       
  3477 	* docs/CHANGES: Document new key `a' in ftdiff.
       
  3478 
       
  3479 2009-01-06  Werner Lemberg  <wl@gnu.org>
       
  3480 
       
  3481 	* autogen.sh: Don't use GNUisms while calling sed.  Problem reported
       
  3482 	by Sean McBride.
       
  3483 
       
  3484 2009-01-06  Werner Lemberg  <wl@gnu.org>
       
  3485 
       
  3486 	* src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD
       
  3487 	and FT_PIXEL_MODE_LCD_V.  Problem reported by Chi Nguyen
       
  3488 	<chint@necsv.com>.
       
  3489 
       
  3490 2009-01-06  Diego Pettenò  <flameeyes@gmail.com>
       
  3491 
       
  3492 	* builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and
       
  3493 	AC_CANONICAL_TARGET and use $host_os only.  A nice explanation for
       
  3494 	this change can be found at
       
  3495 	http://blog.flameeyes.eu/s/canonical-target.
       
  3496 
       
  3497 	From Savannah patch #6712.
       
  3498 
       
  3499 2009-01-06  Sean McBride  <sean@rogue-research.com>
       
  3500 
       
  3501 	* src/base/ftdbgmem.c (_debug_mem_dummy): Make it static.
       
  3502 
       
  3503 	* src/base/ftmac.c: Remove some #undefs.
       
  3504 
       
  3505 2008-12-26  Werner Lemberg  <wl@gnu.org>
       
  3506 
       
  3507 	Set `face_index' field in FT_Face for all font formats.
       
  3508 
       
  3509 	* cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init),
       
  3510 	sfnt/sfobjs.c (sfnt_init_face): Do it.
       
  3511 
       
  3512 	* docs/CHANGES: Document it.
       
  3513 
       
  3514 2008-12-22  Steve Grubb
       
  3515 
       
  3516 	* builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files.
       
  3517 	Patch from Savannah bug #25151.
       
  3518 
       
  3519 2008-12-21  Werner Lemberg  <wl@gnu.org>
       
  3520 
       
  3521 	* src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
       
  3522 	src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c:
       
  3523 	s/_Err_Bad_Argument/_Err_Invalid_Argument/.  The former is for
       
  3524 	errors in the bytecode interpreter only.
       
  3525 
       
  3526 2008-12-21  Werner Lemberg  <wl@gnu.org>
       
  3527 
       
  3528 	* src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL
       
  3529 	arguments.
       
  3530 	Fix return value for non-PFR fonts.  Both problems reported by Chi
       
  3531 	Nguyen <chint@necsv.com>.
       
  3532 
       
  3533 2008-12-21  anonymous
       
  3534 
       
  3535 	FT_USE_MODULE declares things as:
       
  3536 
       
  3537 	  extern const FT_Module_Class
       
  3538 
       
  3539 	(or similar for C++).  However, the actual types of the variables
       
  3540 	being declared are often different, e.g., FT_Driver_ClassRec or
       
  3541 	FT_Renderer_Class.  (Some are, indeed, FT_Module_Class.)
       
  3542 
       
  3543 	This works with most C compilers (since those structs begin with an
       
  3544 	FT_Module_Class struct), but technically it's undefined behavior.
       
  3545 
       
  3546 	To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7
       
  3547 	paragraph 2:
       
  3548 
       
  3549 	  All declarations that refer to the same object or function shall
       
  3550 	  have compatible type; otherwise, the behavior is undefined.
       
  3551 
       
  3552 	(And they are not compatible types.)
       
  3553 
       
  3554 	Most C compilers don't reject (or even detect!) code which has this
       
  3555 	issue, but the GCC LTO development branch compiler does.  (It
       
  3556 	outputs the types of the objects while generating .o files, along
       
  3557 	with a bunch of other information, then compares them when doing the
       
  3558 	final link-time code generation pass.)
       
  3559 
       
  3560 	Patch from Savannah bug #25133.
       
  3561 
       
  3562 	* src/base/ftinit.c (FT_USE_MODULE): Include variable type.
       
  3563 
       
  3564 	* builds/amiga/include/freetype/config/ftmodule.h,
       
  3565 	include/freetype/config/ftmodule.h, */module.mk: Updated to declare
       
  3566 	pass correct types to FT_USE_MODULE.
       
  3567 
       
  3568 2008-12-21  Hongbo Ni  <hongbo@njstar.com>
       
  3569 
       
  3570 	* src/autofit/aflatin.c (af_latin_hint_edges),
       
  3571 	src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c
       
  3572 	(af_cjk_hint_edges): Protect against division by zero.  This fixes
       
  3573 	Savannah bug #25124.
       
  3574 
       
  3575 2008-12-18  Werner Lemberg  <wl@gnu.org>
       
  3576 
       
  3577 	* docs/CHANGES: Updated.
       
  3578 
       
  3579 2008-12-18  Bevan, David  <dbevan@emtex.com>
       
  3580 
       
  3581 	Provide API for accessing embedding and subsetting restriction
       
  3582 	information.
       
  3583 
       
  3584 	* include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING,
       
  3585 	FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING,
       
  3586 	FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING,
       
  3587 	FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New
       
  3588 	macros.
       
  3589 	(FT_Get_FSType_Flags): New function declaration.
       
  3590 
       
  3591 	* src/base/ftobjs.c (FT_Get_FSType_Flags): New function.
       
  3592 
       
  3593 	* src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c
       
  3594 	(t42_keywords): Handle `FSType'.
       
  3595 
       
  3596 	* include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
       
  3597 
       
  3598 2008-12-17  Werner Lemberg  <wl@gnu.org>
       
  3599 
       
  3600 	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal
       
  3601 	macros so that copying the source code into an application works
       
  3602 	out of the box.
       
  3603 
       
  3604 2008-12-17  Werner Lemberg  <wl@gnu.org>
       
  3605 
       
  3606 	* include/freetype/ftsynth.h, src/base/ftsynth.c: Move
       
  3607 	FT_GlyphSlot_Own_Bitmap to...
       
  3608 	* include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files.
       
  3609 
       
  3610 	* docs/CHANGES: Document it.
       
  3611 
       
  3612 2008-12-10  Werner Lemberg  <wl@gnu.org>
       
  3613 
       
  3614 	Generalize the concept of `tricky' fonts by introducing
       
  3615 	FT_FACE_FLAG_TRICKY to indicate that the font format's hinting
       
  3616 	engine is necessary for correct rendering.
       
  3617 
       
  3618 	At the same time, slightly modify the behaviour of tricky fonts:
       
  3619 	FT_LOAD_NO_HINTING is now ignored.  To really force raw loading
       
  3620 	of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and
       
  3621 	FT_LOAD_NO_AUTOHINT must be used.
       
  3622 
       
  3623 	Finally, tricky TrueType fonts always use the bytecode interpreter
       
  3624 	even if the patented code is used.
       
  3625 
       
  3626 	* include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY):
       
  3627 	New macros.
       
  3628 
       
  3629 	* src/truetype/ttdriver.c (Load_Glyph): Handle new load flags
       
  3630 	semantics as described above.
       
  3631 
       
  3632 	* src/truetype/ttobjs.c (tt_check_trickyness): New function, using
       
  3633 	code of ...
       
  3634 	(tt_face_init): This function, now simplified and updated to new
       
  3635 	semantics.
       
  3636 
       
  3637 	* src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky
       
  3638 	fonts.
       
  3639 
       
  3640 	* docs/CHANGES: Document it.
       
  3641 
       
  3642 2008-12-09  Werner Lemberg  <wl@gnu.org>
       
  3643 
       
  3644 	Really fix Savannah bug #25010: An SFNT font with neither outlines
       
  3645 	nor bitmaps can be considered as containing space `glyphs' only.
       
  3646 
       
  3647 	* src/truetype/ttpload.c (tt_face_load_loca): Handle the case where
       
  3648 	a `glyf' table is missing.
       
  3649 
       
  3650 	* src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no
       
  3651 	`glyf' table but a non-zero `loca' entry.
       
  3652 	(tt_loader_init): Handle missing `glyf' table.
       
  3653 
       
  3654 	* src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05.
       
  3655 
       
  3656 	* src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
       
  3657 	nor bitmaps is scalable.
       
  3658 
       
  3659 2008-12-05  Werner Lemberg  <wl@nu.org>
       
  3660 
       
  3661 	* src/autofit/aflatin.c (af_latin_uniranges): Add more ranges.  This
       
  3662 	fixes Savannah bug #21190 which also provides a basic patch.
       
  3663 
       
  3664 2008-12-05  Werner Lemberg  <wl@nu.org>
       
  3665 
       
  3666 	* include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value
       
  3667 	0x100 instead of 0x10000; the latter value is already occupied by
       
  3668 	FT_LOAD_TARGET_LIGHT.  Bug reported by James Cloos.
       
  3669 
       
  3670 
       
  3671 	Handle SFNT with neither outlines nor bitmaps.  This fixes Savannah
       
  3672 	bug #25010.
       
  3673 
       
  3674 	* src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither
       
  3675 	outlines nor bitmaps.
       
  3676 
       
  3677 	* src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there
       
  3678 	is no table with glyphs.
       
  3679 
       
  3680 
       
  3681 	* src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging
       
  3682 	message.
       
  3683 
       
  3684 2008-12-01  Werner Lemberg  <wl@gnu.org>
       
  3685 
       
  3686 	GDEF tables need `glyph_count' too for validation.  Problem reported
       
  3687 	by Chi Nguyen <chint@necsv.com>.
       
  3688 
       
  3689 	* src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h
       
  3690 	(otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass
       
  3691 	`glyph_count'.
       
  3692 
       
  3693 2008-11-29  Werner Lemberg  <wl@gnu.org>
       
  3694 
       
  3695 	* src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
       
  3696 	src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
       
  3697 	src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
       
  3698 	src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
       
  3699 	src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
       
  3700 	(Atari PureC).
       
  3701 
       
  3702 2008-11-29  James Cloos  <cloos@jhcloos.com>
       
  3703 
       
  3704 	* src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix
       
  3705 	it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values
       
  3706 	in the /BlendDesignMap space).
       
  3707 
       
  3708 2008-11-29  James Cloos  <cloos@jhcloos.com>
       
  3709 
       
  3710 	* src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*,
       
  3711 	whereas `design_points' is FT_Long*.  Therefore, return blend rather
       
  3712 	than design points.
       
  3713 
       
  3714 2008-11-27  Werner Lemberg  <wl@gnu.org>
       
  3715 
       
  3716 	* src/cff/cffparse.c (cff_parse_real): Handle more than nine
       
  3717 	significant digits correctly.  This fixes Savannah bug #24953.
       
  3718 
       
  3719 2008-11-25  Daniel Zimmermann  <netzimme@aol.com>
       
  3720 
       
  3721 	* src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream
       
  3722 	before the NULL check.  From Savannah patch #6681.
       
  3723 
       
  3724 2008-11-24  Werner Lemberg  <wl@gnu.org>
       
  3725 
       
  3726 	Fixes from the gnuwin32 port.
       
  3727 
       
  3728 	* src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/.
       
  3729 
       
  3730 	* src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H.
       
  3731 
       
  3732 	* src/psaux/psobjs.c (ps_table_add): Check `length'.
       
  3733 
       
  3734 2008-11-15  Werner Lemberg  <wl@gnu.org>
       
  3735 
       
  3736 	* src/truetype/ttinterp.c (tt_default_graphics_state): The default
       
  3737 	value for `scan_type' is zero, as confirmed by Greg Hitchcock from
       
  3738 	Microsoft.  Problem reported by Michal Nowakowski
       
  3739 	<miszka@limes.com.pl>.
       
  3740 
       
  3741 2008-11-12  Tor Andersson  <tor.andersson@gmail.com>
       
  3742 
       
  3743 	* src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field.
       
  3744 	This fixes Savannah bug #24819.
       
  3745 
       
  3746 2008-11-08  Werner Lemberg  <wl@gnu.org>
       
  3747 
       
  3748 	* src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards
       
  3749 	since OpenType version 1.5 has been released.
       
  3750 
       
  3751 	* include/ttnameid.h (TT_NAME_ID_WWS_FAMILY,
       
  3752 	TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5.
       
  3753 	(TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE,
       
  3754 	TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN,
       
  3755 	TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE,
       
  3756 	TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI,
       
  3757 	TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC,
       
  3758 	TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA,
       
  3759 	TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING,
       
  3760 	TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE,
       
  3761 	TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI,
       
  3762 	TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS,
       
  3763 	TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New
       
  3764 	macros for OpenType 1.5.
       
  3765 
       
  3766 2008-11-08  Wenlin Institute  <wenlin@wenlin.com>
       
  3767 
       
  3768 	* src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against
       
  3769 	slot->internal == NULL.  Reported by Graham Asher.
       
  3770 
       
  3771 2008-11-08  Werner Lemberg  <wl@gnu.org>
       
  3772 
       
  3773 	* src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error
       
  3774 	code so that memory allocation problems can be distinguished from
       
  3775 	missing table entries.  Reported by Graham Asher.
       
  3776 	(GET_NAME): New macro.
       
  3777 	(sfnt_load_face): Use it.
       
  3778 
       
  3779 2008-11-05  Werner Lemberg  <wl@gnu.org>
       
  3780 
       
  3781 	* devel/ftoption.h, include/freetype/config/ftoption.h
       
  3782 	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine
       
  3783 	TT_CONFIG_OPTION_UNPATENTED_HINTING.  This fixes the return value of
       
  3784 	`FT_Get_TrueType_Engine_Type' (and makes it work as documented).
       
  3785 	Reported in bug #441638 of bugzilla.novell.com.
       
  3786 
       
  3787 	* docs/CHANGES: Document it.
       
  3788 
       
  3789 2008-11-03  Werner Lemberg  <wl@gnu.org>
       
  3790 
       
  3791 	* src/type1/t1load.c (parse_subrs): Use an endless loop.  There are
       
  3792 	fonts (like HELVI.PFB version 003.001, used on OS/2) which define
       
  3793 	some `subrs' elements more than once.  Problem reported by Peter
       
  3794 	Weilbacher <mozilla@weilbacher.org>.
       
  3795 
       
  3796 2008-10-15  Graham Asher  <graham.asher@btinternet.com>
       
  3797 
       
  3798 	* src/sfnt/ttpost.c (tt_post_default_names): Add `const'.
       
  3799 
       
  3800 2008-10-15  David Turner  <david@freetype.org>
       
  3801 
       
  3802 	* src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for
       
  3803 	meddlesome compilers' warning against `for ( ...; ...; ...) ;'.
       
  3804 
       
  3805 2008-10-14  Werner Lemberg  <wl@gnu.org>
       
  3806 
       
  3807 	* src/cff/cffobjs.c (cff_face_init): Remove compiler warning.
       
  3808 	Suggested by Bram Tassyns in Savannah patch #6651.
       
  3809 
       
  3810 2008-10-12  Graham Asher  <graham.asher@btinternet.com>
       
  3811 
       
  3812 	* src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of
       
  3813 	`underline_position'.
       
  3814 
       
  3815 2008-10-12  Werner Lemberg  <wl@gnu.org>
       
  3816 
       
  3817 	* docs/CHANGES: Updated.
       
  3818 
       
  3819 2008-10-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3820 
       
  3821 	Fix Savannah bug #24468.
       
  3822 
       
  3823 	According to include/freetype/internal/ftobjs.h, the appropriate
       
  3824 	type to interchange single character codepoint is FT_UInt32. It
       
  3825 	should be distinguished from FT_UInt which can be 16bit integer.
       
  3826 
       
  3827 	* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type
       
  3828 	of the second argument `pcharcode' from FT_UInt* to FT_UInt32*.
       
  3829 	(tt_cmap4_char_map_binary): Ditto.
       
  3830 	(tt_cmap14_get_nondef_chars): Change the type of return value
       
  3831 	from FT_UInt* to FT_UInt32*.
       
  3832 
       
  3833 2008-10-08  John Tytgat  <John.Tytgat@esko.com>
       
  3834 
       
  3835 	Fix Savannah bug #24485.
       
  3836 
       
  3837 	* src/type1/t1load.c (parse_charstrings): Assure that we always have
       
  3838 	a .notdef glyph.
       
  3839 
       
  3840 2008-10-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3841 
       
  3842 	* src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build.
       
  3843 	* builds/mac/ftmac.c: Ditto.
       
  3844 
       
  3845 2008-10-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3846 
       
  3847 	* include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions.
       
  3848 	* src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H.
       
  3849 
       
  3850 2008-10-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3851 
       
  3852 	* src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in
       
  3853 	the beginning of sfnt container.
       
  3854 	* src/sfnt/ttload.c (check_table_dir): Return
       
  3855 	`SFNT_Err_Table_Missing' when sfnt table directory structure is
       
  3856 	correct but essential tables for TrueType fonts (`head', `bhed' or
       
  3857 	`SING') are missing.  Other errors are returned by
       
  3858 	SFNT_Err_Unknown_File_Format.
       
  3859 
       
  3860 	* src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns
       
  3861 	`FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'.  It is
       
  3862 	enabled only when old mac font support is configured.
       
  3863 
       
  3864 2008-10-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3865 
       
  3866 	* include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN,
       
  3867 	TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify
       
  3868 	the repeated calculations of these values in ftobjs.c and ftmac.c.
       
  3869 	* src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags.
       
  3870 	* src/base/ftmac.c: Ditto.
       
  3871 	* builds/mac/ftmac.c: Ditto.
       
  3872 
       
  3873 2008-10-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3874 
       
  3875 	* src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong
       
  3876 	initialization of *is_sfnt_cid.
       
  3877 
       
  3878 2008-10-04  Werner Lemberg  <wl@gnu.org>
       
  3879 
       
  3880 	* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler
       
  3881 	warnings.
       
  3882 
       
  3883 2008-10-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3884 
       
  3885 	* src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by...
       
  3886 	(ft_lookup_PS_in_sfnt_stream): This.
       
  3887 	(open_face_PS_from_sfnt_stream): New function.  It checks whether
       
  3888 	the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed
       
  3889 	font, then try to open a face for given face_index.
       
  3890 	(Mac_Read_sfnt_Resource): Replace the combination of
       
  3891 	`ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by
       
  3892 	`open_face_PS_from_sfnt_stream'.
       
  3893 	* src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto.
       
  3894 	* builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
       
  3895 	* src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add
       
  3896 	`open_face_PS_from_sfnt_stream'.
       
  3897 
       
  3898 2008-10-03  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3899 
       
  3900 	* src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to
       
  3901 	FALSE if neither `CID ' nor `TYP1' is found in the sfnt container.
       
  3902 
       
  3903 2008-10-03  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3904 
       
  3905 	* include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or
       
  3906 	MrC compiler of MPW is used.  These compilers do not define the
       
  3907 	macro __APPLE__ by themselves.
       
  3908 	* builds/unix/ftconfig.in: Ditto.
       
  3909 	* builds/vms/ftconfig.h: Ditto.
       
  3910 	* src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to
       
  3911 	include ftmac.c if FreeType 2 is built by MPW.
       
  3912 	* src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to
       
  3913 	enable shared functions for ftmac.c if FreeType 2 is built by MPW.
       
  3914 
       
  3915 	* builds/mac/ftmac.c: Include ftbase.h.
       
  3916 	(memory_stream_close): Removed.
       
  3917 	(new_memory_stream): Ditto.
       
  3918 	(open_face_from_buffer): Removed.  Use the implementation in
       
  3919 	ftobjs.c.
       
  3920 	(ft_lookup_PS_in_sfnt): Ditto.
       
  3921 
       
  3922 	* builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an
       
  3923 	included part of ftbase.c, to share the functions in ftobjs.c.  The
       
  3924 	rule compiling ftmac.c separately is removed and the rule copying
       
  3925 	ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added.
       
  3926 	* builds/mac/FreeType.m68k_cfm.make.txt: Ditto.
       
  3927 	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
       
  3928 	* builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
       
  3929 
       
  3930 2008-10-02  Bram Tassyns  <bramt@enfocus.be>
       
  3931 
       
  3932 	* src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0.  This
       
  3933 	fixes Savannah bug #24430.
       
  3934 
       
  3935 2008-10-02  Werner Lemberg  <wl@gnu.org>
       
  3936 
       
  3937 	* builds/freetype.mk (BASE_H): Rename to...
       
  3938 	(INTERNAL_H): This.
       
  3939 	(FREETYPE_H): Updated.
       
  3940 	* src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H.
       
  3941 	* src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h.
       
  3942 	* src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h.
       
  3943 	* src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h.
       
  3944 	* src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h.
       
  3945 	* src/type42/rules.mk (T42_DRV_H): Add t42types.h.
       
  3946 
       
  3947 2008-10-02  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3948 
       
  3949 	* src/base/ftbase.h: New file to declare the private utility
       
  3950 	functions shared by the sources of base modules.  Currently,
       
  3951 	`ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to
       
  3952 	share between ftobjs.c and ftmac.c.
       
  3953 
       
  3954 	* src/base/rule.mk: Add ftbase.h.
       
  3955 
       
  3956 	* src/base/ftobjs.c: Include ftbase.h.
       
  3957 	(memory_stream_close): Build on any platform when old MacOS font
       
  3958 	support is enabled.
       
  3959 	(new_memory_stream): Ditto.
       
  3960 	(open_face_from_buffer): Build on any platform when old MacOS font
       
  3961 	support is enabled.  The counting of the face in a font file is
       
  3962 	slightly different between Carbon-dependent parser and Carbon-free
       
  3963 	parser.  They are merged with the platform-specific conditional.
       
  3964 	(ft_lookup_PS_in_sfnt): Ditto.
       
  3965 
       
  3966 	* src/base/ftmac.c: Include ftbase.h.
       
  3967 	(memory_stream_close): Removed.
       
  3968 	(new_memory_stream): Ditto.
       
  3969 	(open_face_from_buffer): Removed.  Use the implementation in
       
  3970 	ftobjs.c.
       
  3971 	(ft_lookup_PS_in_sfnt): Ditto.
       
  3972 
       
  3973 2008-10-02  Werner Lemberg  <wl@gnu.org>
       
  3974 
       
  3975 	* src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed
       
  3976 	if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined.
       
  3977 
       
  3978 2008-10-01  Werner Lemberg  <wl@gnu.org>
       
  3979 
       
  3980 	* src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c
       
  3981 	(cff_face_done), src/pfr/pfrobjs.c (pfr_face_done),
       
  3982 	src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c
       
  3983 	(cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done),
       
  3984 	src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0.
       
  3985 	Reported by Graham Asher.
       
  3986 
       
  3987 2008-09-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  3988 
       
  3989 	* src/base/rules.mk: Add conditional source to BASE_SRC, for `make
       
  3990 	multi' on Mac OS X.  If the macro $(ftmac_c) is defined,
       
  3991 	$(BASE_DIR)/$(ftmac_c) is added to BASE_SRC.  In a normal build, the
       
  3992 	lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes
       
  3993 	ftmac.c.
       
  3994 	* builds/unix/unix-def.in: Add a macro definition of $(ftmac_c).
       
  3995 	* builds/unix/configure.raw: Add procedure to set up appropriate
       
  3996 	value of $(ftmac_c) with the consideration of the availability of
       
  3997 	Carbon framework.
       
  3998 
       
  3999 2008-09-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4000 
       
  4001 	* src/base/Jamfile: Add target for multi build by jam on Mac OS X.
       
  4002 	* src/base/ftobjs.c (FT_New_Face): Fix the condition to include this
       
  4003 	function for MPW building.  It is synchronized the condition to
       
  4004 	include ftmac.c source into ftbase.c.
       
  4005 
       
  4006 2008-09-22  Werner Lemberg  <wl@gnu.org>
       
  4007 
       
  4008 	* src/cff/cffgload.c (CFF_Operator, cff_argument_counts,
       
  4009 	cff_decoder_parse_charstrings): Handle (invalid)
       
  4010 	`callothersubr' and `pop' instructions.
       
  4011 
       
  4012 2008-09-22  John Tytgat  <John.Tytgat@esko.com>
       
  4013 
       
  4014 	Fix Savannah bug #24307.
       
  4015 
       
  4016 	* include/freetype/internal/t1types.h (CID_FaceRec),
       
  4017 	src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.
       
  4018 
       
  4019 2008-09-21  Werner Lemberg  <wl@gnu.org>
       
  4020 
       
  4021 	* src/smooth/ftgrays.c (gray_raster_render): Don't dereference
       
  4022 	`target_map' if FT_RASTER_FLAG_DIRECT is set.  Problem reported by
       
  4023 	Stephan T. Lavavej <stl@nuwen.net>.
       
  4024 
       
  4025 2008-09-21  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4026 
       
  4027 	* src/otvalid/Jamfile: Add missing target `otvmath' for multi build
       
  4028 	by jam.
       
  4029 	* src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by
       
  4030 	jam.
       
  4031 
       
  4032 2008-09-20  Werner Lemberg  <wl@gnu.org>
       
  4033 
       
  4034 	* src/smooth/ftgrays.c (gray_find_cell): Fix threshold.  The values
       
  4035 	passed to this function are already `normalized'.  Problem reported
       
  4036 	by Stephan T. Lavavej <stl@nuwen.net>.
       
  4037 
       
  4038 	* docs/CHANGES: Document it.
       
  4039 
       
  4040 2008-09-20  Werner Lemberg  <wl@gnu.org>
       
  4041 
       
  4042 	* src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
       
  4043 	(FT_Outline_Decompose): Decorate with tracing messages.
       
  4044 
       
  4045 	* src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
       
  4046 	FT_DEBUG_LEVEL_TRACE.
       
  4047 	[_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
       
  4048 	stdarg.h.
       
  4049 
       
  4050 	(FT_TRACE) [_STANDALONE_]: Remove.
       
  4051 	(FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
       
  4052 	(FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
       
  4053 	(FT_ERROR) [_STANDALONE_]: Updated.
       
  4054 
       
  4055 	(gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
       
  4056 	Use FT_TRACE7.
       
  4057 	(gray_dump_cells): Make it `static void'.
       
  4058 	(gray_convert_glyph): Use FT_TRACE7.
       
  4059 
       
  4060 	(FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
       
  4061 	ftoutln.c.
       
  4062 
       
  4063 	* src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
       
  4064 	FT_ERROR_BASE.
       
  4065 
       
  4066 	* docs/formats.txt: Updated.
       
  4067 
       
  4068 2008-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4069 
       
  4070 	* src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped
       
  4071 	CID-keyed font support.
       
  4072 	* builds/mac/ftmac.c: Ditto.
       
  4073 
       
  4074 2008-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4075 
       
  4076 	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in
       
  4077 	sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code.
       
  4078 	`open_face_from_buffer' frees the passed buffer if it cannot open a
       
  4079 	face from the buffer, so the caller must not free it.
       
  4080 
       
  4081 2008-09-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4082 
       
  4083 	* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support
       
  4084 	for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font.
       
  4085 	(ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID '
       
  4086 	table in sfnt table directory.  It is used before loading TrueType
       
  4087 	font driver.
       
  4088 
       
  4089 	* docs/CHANGES: Add note about the current status of sfnt-wrapped
       
  4090 	Type1 and sfnt-wrapped CID-keyed font support.
       
  4091 
       
  4092 2008-09-18  Werner Lemberg  <wl@gnu.org>
       
  4093 
       
  4094 	* src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
       
  4095 	orthogonality (ft_free and ft_sfree could belong to different memory
       
  4096 	pools).  This fixes Savannah bug #24297.
       
  4097 
       
  4098 2008-09-18  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4099 
       
  4100 	* src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
       
  4101 	in ttags.h instead of numerical value 0x4F54544FL.
       
  4102 
       
  4103 2008-09-16  Werner Lemberg  <wl@gnu.org>
       
  4104 
       
  4105 	* src/cff/cffgload.h, src/cff/cffgload.c
       
  4106 	(cff_decoder_set_width_only): Eliminate function call.
       
  4107 
       
  4108 2008-09-15  George Williams  <gww@silcom.com>
       
  4109 
       
  4110 	Fix Savannah bug #24179, reported by Bram Tassyns.
       
  4111 
       
  4112 	* src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation
       
  4113 	of default values.
       
  4114 
       
  4115 2008-09-15  Werner Lemberg  <wl@gnu.org>
       
  4116 
       
  4117 	* src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index'
       
  4118 	and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to
       
  4119 	prevent unconditional definition.  This fixes Savannah bug #24241.
       
  4120 
       
  4121 	* src/psnames/pstables.h: Regenerated.
       
  4122 
       
  4123 2008-09-13  Werner Lemberg  <wl@gnu.org>
       
  4124 
       
  4125 	* autogen.sh, builds/unix/configure.raw,
       
  4126 	include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
       
  4127 	beautifying.
       
  4128 
       
  4129 	* include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
       
  4130 	include/freetype/ftlcdfil.h: Protect against FreeType 1.
       
  4131 	Some other minor fixes.
       
  4132 
       
  4133 	* devel/ftoption.h: Synchronize with
       
  4134 	include/freetype/config/ftoption.h.
       
  4135 
       
  4136 2008-09-11  Werner Lemberg  <wl@gnu.org>
       
  4137 
       
  4138 	* src/base/ftbase.c: Include ftadvanc.c.
       
  4139 
       
  4140 2008-09-11  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4141 
       
  4142 	* builds/unix/ftconfig.in: Duplicate the cpp computation of
       
  4143 	FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h.
       
  4144 	(FT_USE_AUTOCONF_SIZEOF_TYPES): New macro.  If defined, the cpp
       
  4145 	computation is disabled and the statically configured sizes are
       
  4146 	used.  This fixes Savannah bug #21250.
       
  4147 
       
  4148 	* builds/unix/configure.raw: Add the checks to compare the cpp
       
  4149 	computation results of the bit length of int and long versus the
       
  4150 	sizes detected by running `configure'.  If the results are
       
  4151 	different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the
       
  4152 	results.
       
  4153 	New option --{enable|disable}-biarch-config is added to define or
       
  4154 	undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually.
       
  4155 
       
  4156 2008-09-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4157 
       
  4158 	* builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
       
  4159 	ApplicationService framework is missing.  Although this value is not
       
  4160 	used in building of FreeType2, it is written in `freetype2.pc' and
       
  4161 	`freetype-config'.
       
  4162 
       
  4163 2008-09-01  david turner  <david@freetype.org>
       
  4164 
       
  4165 	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
       
  4166 	index to mean `use default cached FT_Face's charmap'.  This fixes
       
  4167 	Savannah bug #22625.
       
  4168 	* include/freetype/ftcache.h: Document it.
       
  4169 
       
  4170 
       
  4171 	Make FT_MulFix an inlined function.  This is done to speed up
       
  4172 	FreeType a little (on x86 3% when loading+hinting, 10% when
       
  4173 	rendering, ARM savings are more important though).  Disable this by
       
  4174 	undefining FT_CONFIG_OPTION_INLINE_MULFIX.
       
  4175 
       
  4176 	Use of assembler code can now be controlled with
       
  4177 	FT_CONFIG_OPTION_NO_ASSEMBLER.
       
  4178 
       
  4179 	* include/freetype/config/ftconfig.h, builds/unix/ftconfig.in
       
  4180 	[!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler
       
  4181 	implementation.
       
  4182 	[!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler
       
  4183 	implementation taken from `ftcalc.c'.
       
  4184 	[!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro
       
  4185 	which is defined to the platform-specific assembler implementation
       
  4186 	of FT_MulFix.
       
  4187 	[FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER]
       
  4188 	(FT_MULFIX_INLINED): New macro.
       
  4189 
       
  4190 	* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER,
       
  4191 	FT_CONFIG_OPTION_INLINE_MULFIX): New macros.
       
  4192 
       
  4193 	* include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED.
       
  4194 
       
  4195 	* src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and
       
  4196 	FT_MULFIX_INLINED.
       
  4197 
       
  4198 
       
  4199 	Add a new header named FT_ADVANCES_H declaring some new APIs to
       
  4200 	extract the advances of one or more glyphs without necessarily
       
  4201 	loading their outlines.  Also provide `fast loaders' for the
       
  4202 	TrueType, Type1, and CFF font drivers (more to come later).
       
  4203 
       
  4204 	* src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files.
       
  4205 
       
  4206 	* include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro.
       
  4207 	* include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro.
       
  4208 
       
  4209 	* include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
       
  4210 	`flags' and `advances' are now of type `FT_UInt' and `FT_Fixed',
       
  4211 	respectively.
       
  4212 
       
  4213 	* src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add
       
  4214 	ftadvanc.c.
       
  4215 
       
  4216 	* src/cff/cffdrivr.c (cff_get_advances): New function.
       
  4217 	(cff_driver_class): Register it.
       
  4218 
       
  4219 	* src/cff/cffgload.c (cff_decoder_set_width_only): New function.
       
  4220 	(cff_decoder_parse_charstrings): Handle `width_only'.
       
  4221 	(cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY.
       
  4222 
       
  4223 	* src/cff/cffgload.h (cff_decoder): New element `width_only'.
       
  4224 	(cff_decoder_set_width_only): New declaration.
       
  4225 
       
  4226 	* src/truetype/ttdriver.c (tt_get_advances): New function.
       
  4227 	(tt_driver_class): Register it.
       
  4228 
       
  4229 	* src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to...
       
  4230 	(TT_Get_HMetrics, TT_Get_VMetrics): This.
       
  4231 	Update callers.
       
  4232 	* src/truetype/ttgload.h: Declare them.
       
  4233 
       
  4234 	* src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New
       
  4235 	function.
       
  4236 	* src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances.
       
  4237 
       
  4238 
       
  4239 	Add checks for minimum version of the `autotools' stuff.
       
  4240 
       
  4241 	* autogen.sh: Implement it.
       
  4242 	(get_major_version, get_minor_version, get_patch_version,
       
  4243 	compare_to_minimum_version, check_tool_version): New auxiliary
       
  4244 	functions.
       
  4245 
       
  4246 	* README.CVS: Document it.
       
  4247 
       
  4248 2008-08-29  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4249 
       
  4250 	* src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
       
  4251 	ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
       
  4252 
       
  4253 2008-08-28  Werner Lemberg  <wl@gnu.org>
       
  4254 
       
  4255 	* src/type1/t1load.c (parse_encoding): Protect against infinite
       
  4256 	loop.  This fixes Savannah bug #24150 (where a patch has been posted
       
  4257 	too).
       
  4258 
       
  4259 2008-08-23  Werner Lemberg  <wl@gnu.org>
       
  4260 
       
  4261 	* src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c
       
  4262 	(afm_compare_kern_pairs): Fix comparison.  This fixes Savannah bug
       
  4263 	#24119.
       
  4264 
       
  4265 2008-08-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4266 
       
  4267 	* src/base/ftobjs.c (FT_Stream_New): Initialize *astream always,
       
  4268 	even if passed library or arguments are invalid.  This fixes a bug
       
  4269 	that an uninitialized stream is freed when an invalid library handle
       
  4270 	is passed.  Originally proposed by Mike Fabian, 2008/08/18 on
       
  4271 	freetype-devel.
       
  4272 	(FT_Open_Face): Ditto (stream).
       
  4273 	(load_face_in_embedded_rfork): Ditto (stream2).
       
  4274 
       
  4275 2008-08-18  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4276 
       
  4277 	* src/base/ftmac.c: Add a fallback to guess the availability of the
       
  4278 	`ResourceIndex' type.  It is used when built without configure
       
  4279 	(e.g., a build with Jam).
       
  4280 	* builds/mac/ftmac.c: Ditto.
       
  4281 	* builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0
       
  4282 	explicitly, even if `ResourceIndex' is unavailable.
       
  4283 
       
  4284 2008-08-18  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4285 
       
  4286 	* builds/unix/configure.raw: In checking of Mac OS X features,
       
  4287 	all-in-one header file `Carbon.h' is replaced by the minimum
       
  4288 	header file `CoreServices.h', similar to current src/base/ftmac.c.
       
  4289 
       
  4290 2008-08-18  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4291 
       
  4292 	* src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
       
  4293 	sub-header when its code_count is 0.  Many Japanese Dynalab fonts
       
  4294 	include such an empty sub-header (code_count == 0, first_code == 0
       
  4295 	delta == 0, but offset != 0) as the second sub-header in SJIS cmap.
       
  4296 
       
  4297 2008-08-04  Werner Lemberg  <wl@gnu.org>
       
  4298 
       
  4299 	* src/type1/t1tokens.h: Handle `ForceBold' keyword.  This fixes
       
  4300 	Savannah bug #23995.
       
  4301 
       
  4302 	* src/cid/cidload.c (parse_expansion_factor): New callback function.
       
  4303 	(cid_field_records): Use it for `ExpansionFactor'.
       
  4304 	* src/cod/cidtoken.h: Handle `ForceBold' keyword.
       
  4305 	Don't handle `ExpansionFactor'.
       
  4306 
       
  4307 2008-08-04  Bram Tassyns  <bramt@enfocus.be>
       
  4308 
       
  4309 	* src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
       
  4310 	resulted in incorrect scaling.  This fixes Savannah bug #23973.
       
  4311 
       
  4312 2008-08-04  Werner Lemberg  <wl@gnu.org>
       
  4313 
       
  4314 	Be more tolerant w.r.t. invalid entries in SFNT table directory.
       
  4315 
       
  4316 	* src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
       
  4317 	adjust table count.
       
  4318 	Add more trace messages.
       
  4319 	(tt_face_load_font_dir): Updated.
       
  4320 
       
  4321 2008-07-30  Werner Lemberg  <wl@gnu.org>
       
  4322 
       
  4323 	* src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
       
  4324 	assume that the first argument on the stack is the bottom-most
       
  4325 	element.  Two reasons:
       
  4326 
       
  4327 	  o According to people from Adobe it is missing in the Type 2
       
  4328 	    specification that pushing of additional, superfluous arguments
       
  4329 	    on the stack is prohibited.
       
  4330 
       
  4331 	  o Acroread in general handles fonts differently, namely by popping
       
  4332 	    the number of arguments needed for a particular operand (as a PS
       
  4333 	    interpreter would do).  In case of buggy fonts this causes a
       
  4334 	    different interpretation which of the elements on the stack are
       
  4335 	    superfluous and which not.
       
  4336 
       
  4337 	Since there are CFF subfonts (embedded in PDFs) which rely on
       
  4338 	Acroread's behaviour, FreeType now does the same.
       
  4339 
       
  4340 2008-07-27  Werner Lemberg  <wl@gnu.org>
       
  4341 
       
  4342 	Add extra mappings for `Tcommaaccent' and `tcommaaccent'.  This
       
  4343 	fixes Savannah bug #23940.
       
  4344 
       
  4345 	* src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
       
  4346 	(EXTRA_GLYPH_LIST_SIZE): This.
       
  4347 	Increase by 2.
       
  4348 	(ft_wgl_extra_unicodes): Rename to...
       
  4349 	(ft_extra_glyph_unicodes): This.
       
  4350 	Add two code values.
       
  4351 	(ft_wgl_extra_glyph_names): Rename to...
       
  4352 	(ft_extra_glyph_names): This.
       
  4353 	Add two glyphs.
       
  4354 	(ft_wgl_extra_glyph_name_offsets): Rename to...
       
  4355 	(ft_extra_glyph_name_offsets): This.
       
  4356 	Add two offsets.
       
  4357 
       
  4358 	(ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
       
  4359 	(ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
       
  4360 	Updated.
       
  4361 	(ps_unicodes_init): Updated.
       
  4362 
       
  4363 2008-07-26  Werner Lemberg  <wl@gnu.org>
       
  4364 
       
  4365 	* src/cff/cffgload.c (cff_decoder_prepare,
       
  4366 	cff_decoder_parse_charstrings): Improve debug output.
       
  4367 
       
  4368 2008-07-22  Martin McBride  <mmcbride@emtex.com>
       
  4369 
       
  4370 	* src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
       
  4371 	tt_cmap4_char_map_binary): Handle fonts which treat the last segment
       
  4372 	specially.  According to the specification, such fonts would be
       
  4373 	invalid but acroread accepts them.
       
  4374 
       
  4375 2008-07-16  Jon Foster  <Jon.Foster@cabot.co.uk>
       
  4376 
       
  4377 	* src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
       
  4378 
       
  4379 	* src/base/ftcalc.c (FT_MulFix): Fix portability issue.
       
  4380 
       
  4381 	* src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
       
  4382 	Fix compiler warning.
       
  4383 
       
  4384 2008-07-16  Werner Lemberg  <wl@gnu.org>
       
  4385 
       
  4386 	Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
       
  4387 
       
  4388 	* src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
       
  4389 	Invert sids table only if `pure_cff' is set.
       
  4390 	* src/cff/cffload.h: Udpated.
       
  4391 
       
  4392 	* src/cff/cffobjs.c (cff_face_init): Updated.
       
  4393 	Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
       
  4394 
       
  4395 	* docs/CHANGES: Updated.
       
  4396 
       
  4397 2008-07-09  Werner Lemberg  <wl@gnu.org>
       
  4398 
       
  4399 	* src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
       
  4400 	where num_locations < num_glyphs.  Problem reported by Ding Li.
       
  4401 
       
  4402 2008-07-05  Werner Lemberg  <wl@gnu.org>
       
  4403 
       
  4404 	Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
       
  4405 	newer.  This fixes Savannah bug #23648.
       
  4406 
       
  4407 	* configure: zsh doesn't like ${1+"$@"}.
       
  4408 	Update needed GNU make version.
       
  4409 	* builds/toplevel.mk: Check for `$(eval ...)'.
       
  4410 	* docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
       
  4411 	it.
       
  4412 
       
  4413 2008-07-04  Werner Lemberg  <wl@gnu.org>
       
  4414 
       
  4415 	* src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
       
  4416 	pixel, only check for dropouts if neither start nor end point lies
       
  4417 	on a pixel center.  This fixes Savannah bug #23762.
       
  4418 
       
  4419 2008-06-29  Werner Lemberg  <wl@gnu.org>
       
  4420 
       
  4421 	* Version 2.3.7 released.
       
  4422 	=========================
       
  4423 
       
  4424 
       
  4425 	Tag sources with `VER-2-3-7'.
       
  4426 
       
  4427 	* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
       
  4428 	version number to 2.3.7.
       
  4429 
       
  4430 	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
       
  4431 	builds/win32/visualc/freetype.dsp,
       
  4432 	builds/win32/visualc/freetype.vcproj,
       
  4433 	builds/win32/visualce/index.html,
       
  4434 	builds/win32/visualce/freetype.dsp,
       
  4435 	builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
       
  4436 
       
  4437 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
       
  4438 
       
  4439 	* builds/unix/configure.raw (version_info): Set to 9:18:3.
       
  4440 
       
  4441 	* docs/release: Updated.
       
  4442 
       
  4443 2008-06-28  Werner Lemberg  <wl@gnu.org>
       
  4444 
       
  4445 	* src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
       
  4446 	* src/ftcalc.c: Here.  This fixes Savannah bug #23729.
       
  4447 
       
  4448 2008-06-27  Werner Lemberg  <wl@gnu.org>
       
  4449 
       
  4450 	* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
       
  4451 	Horizontal_Gray_Sweep_Drop): Test for intersections which
       
  4452 	degenerate to a single point can be ignored; this has been confirmed
       
  4453 	by Greg Hitchcock from Microsoft.  (This was commented out code.)
       
  4454 
       
  4455 2008-06-26  Werner Lemberg  <wl@gnu.org>
       
  4456 
       
  4457 	Improve navigation in API reference.
       
  4458 
       
  4459 	* src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
       
  4460 	(html_header_6): This.
       
  4461 	(html_header_3, html_header_3i, html_header_4, html_header_5,
       
  4462 	html_header_5t): New strings.
       
  4463 	(toc_footer_start, toc_footer_end): New strings.
       
  4464 	(HtmlFormatter::html_header): Updated.
       
  4465 	(HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
       
  4466 	New strings.
       
  4467 	(HtmlFormatter::index_enter): Use `html_index_header'.
       
  4468 	(HtmlFormatter::index_exit): Print `html_footer'.
       
  4469 	(HtmlFormatter::toc_enter): Use `html_toc_header'.
       
  4470 	(HtmlFormatter::toc_exit): Print proper footer.
       
  4471 
       
  4472 	Convert ~ to non-breakable space.
       
  4473 
       
  4474 	* src/tools/docmaker/tohtml.py (make_html_para): Implement it.
       
  4475 	Update header files accordingly.
       
  4476 
       
  4477 2008-06-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4478 
       
  4479 	* builds/unix/configure.raw: Check type `ResourceIndex' explicitly
       
  4480 	and define HAVE_TYPE_RESOURCE_INDEX if it is defined.  Mac OS X 10.5
       
  4481 	bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
       
  4482 	ResourceIndex type definition.  The macro does not inform the type
       
  4483 	availability.
       
  4484 	* src/base/ftmac.c: More parentheses are inserted to clarify the
       
  4485 	conditionals to disable legacy APIs in `10.5 and later' cases.  If
       
  4486 	HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
       
  4487 
       
  4488 2008-06-24  Werner Lemberg  <wl@gnu.org>
       
  4489 
       
  4490 	* src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
       
  4491 	mode.
       
  4492 
       
  4493 	* src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
       
  4494 	Draw_Sweep): No-dropout mode is value 2, not value 0.
       
  4495 	(Draw_Sweep): Really skip dropout handling for no-dropout mode.
       
  4496 
       
  4497 2008-06-24  Werner Lemberg  <wl@gnu.org>
       
  4498 
       
  4499 	* src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
       
  4500 	if it consists of one point only.  Based on a patch from Savannah
       
  4501 	bug #23683 (from John Tytgat).
       
  4502 
       
  4503 2008-06-22  Werner Lemberg  <wl@gnu.org>
       
  4504 
       
  4505 	* src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
       
  4506 	with IS_HINTED.
       
  4507 
       
  4508 	* docs/CHANGES: Updated.
       
  4509 
       
  4510 2008-06-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4511 
       
  4512 	* builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
       
  4513 	but LDFLAGS does not, import it to LDFLAGS.  The option is used to
       
  4514 	specify non-default SDK on Mac OS X (e.g., universal binary SDK for
       
  4515 	Mac OS X 10.4 on PowerPC platform).  Although Apple TechNote 2137
       
  4516 	recommends to add the option only to CFLAGS, LDFLAGS should include
       
  4517 	it because libfreetype.la is built with -no-undefined.  This fixes a
       
  4518 	bug reported by Ryan Schmidt in MacPorts,
       
  4519 	http://trac.macports.org/ticket/15331.
       
  4520 
       
  4521 2008-06-21  Werner Lemberg  <wl@gnu.org>
       
  4522 
       
  4523 	Enable access to the various dropout rules of the B&W rasterizer.
       
  4524 	Pass dropout rules from the TT bytecode interpreter to the
       
  4525 	rasterizer.
       
  4526 
       
  4527 	* include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
       
  4528 	FT_OUTLINE_EXCLUDE_STUBS): New flags for FT_Outline.
       
  4529 
       
  4530 	* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
       
  4531 	Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
       
  4532 	OpenType specification.
       
  4533 	Fix mode 4 computation.
       
  4534 	(Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
       
  4535 
       
  4536 	* src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
       
  4537 	mode to FT_OUTLINE_XXX flags.
       
  4538 
       
  4539 	* src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
       
  4540 
       
  4541 2008-06-19  Werner Lemberg  <wl@gnu.org>
       
  4542 
       
  4543 	* src/cff/cffobjs.c (cff_face_init): Compute final
       
  4544 	`dict->units_per_em' value before assigning it to
       
  4545 	`cffface->units_per_EM'.  Otherwise, CFFs without subfonts are
       
  4546 	scaled incorrectly if the font matrix is non-standard.  This fixes
       
  4547 	Savannah bug #23630.
       
  4548 
       
  4549 	* docs/CHANGES: Updated.
       
  4550 
       
  4551 2008-06-19  Werner Lemberg  <wl@gnu.org>
       
  4552 
       
  4553 	* src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
       
  4554 	from 2008-06-19.
       
  4555 
       
  4556 2008-06-18  Werner Lemberg  <wl@gnu.org>
       
  4557 
       
  4558 	* src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
       
  4559 	Reported by Peter Weilbacher <mozilla@weilbacher.org>.
       
  4560 
       
  4561 	* docs/CHANGES: Updated.
       
  4562 
       
  4563 2008-06-15  George Williams  <gww@silcom.com>
       
  4564 
       
  4565 	* src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
       
  4566 	`valid->extra2' to 1.  This is undocumented in the OpenType 1.5
       
  4567 	specification.
       
  4568 
       
  4569 2008-06-15  Werner Lemberg  <wl@gnu.org>
       
  4570 
       
  4571 	* src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
       
  4572 	from clobbering.  Patch from Savannah bug report #23556.
       
  4573 
       
  4574 	* docs/CHANGES: Document it.
       
  4575 
       
  4576 2008-06-10  Werner Lemberg  <wl@gnu.org>
       
  4577 
       
  4578 	* autogen.sh: Add option `--install' to libtoolize.
       
  4579 
       
  4580 2008-06-10  Werner Lemberg  <wl@gnu.org>
       
  4581 
       
  4582 	* Version 2.3.6 released.
       
  4583 	=========================
       
  4584 
       
  4585 
       
  4586 	Tag sources with `VER-2-3-6'.
       
  4587 
       
  4588 	* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
       
  4589 	version number to 2.3.6.
       
  4590 
       
  4591 	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
       
  4592 	builds/win32/visualc/freetype.dsp,
       
  4593 	builds/win32/visualc/freetype.vcproj,
       
  4594 	builds/win32/visualce/index.html,
       
  4595 	builds/win32/visualce/freetype.dsp,
       
  4596 	builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
       
  4597 
       
  4598 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
       
  4599 
       
  4600 	* builds/unix/configure.raw (version_info): Set to 9:17:3.
       
  4601 
       
  4602 
       
  4603 	* include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
       
  4604 	and `scale_y'.
       
  4605 	* src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
       
  4606 
       
  4607 
       
  4608 	* src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
       
  4609 	* src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
       
  4610 
       
  4611 2008-06-10  Werner Lemberg  <wl@gnu.org>
       
  4612 
       
  4613 	* src/base/ftobjs.c (open_face): Check `clazz->init_face' and
       
  4614 	`clazz->done_face'.
       
  4615 
       
  4616 2008-06-09  VaDiM  <s_sliva@rambler.ru>
       
  4617 
       
  4618 	Support debugging on WinCE.  From Savannah patch #6536; this fixes
       
  4619 	bug #23497.
       
  4620 
       
  4621 	* builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
       
  4622 	as a replacement for OutputDebugStringA (which WinCE doesn't have).
       
  4623 	Update all callers.
       
  4624 	(ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
       
  4625 	environment variables.
       
  4626 
       
  4627 2008-06-09  Werner Lemberg  <wl@gnu.org>
       
  4628 
       
  4629 	* README.CVS: Updated.
       
  4630 
       
  4631 	* builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
       
  4632 	for newer versions of autoconf and friends.
       
  4633 
       
  4634 2008-06-08  Werner Lemberg  <wl@gnu.org>
       
  4635 
       
  4636 	* src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
       
  4637 	`private_len' unsigned.
       
  4638 
       
  4639 	* src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
       
  4640 	it as such.
       
  4641 	(T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
       
  4642 
       
  4643 
       
  4644 	* src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
       
  4645 
       
  4646 
       
  4647 	* src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
       
  4648 	for sane value.
       
  4649 	Fix typo.
       
  4650 
       
  4651 
       
  4652 	* src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
       
  4653 
       
  4654 
       
  4655 	* src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
       
  4656 	`last_point'.
       
  4657 
       
  4658 
       
  4659 	* src/sfnt/ttload.c (tt_face_load_max_profile): Limit
       
  4660 	`maxTwilightPoints'.
       
  4661 
       
  4662 2008-06-06  Werner Lemberg  <wl@gnu.org>
       
  4663 
       
  4664 	* src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
       
  4665 	correctly.  This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
       
  4666 
       
  4667 2008-06-03  Werner Lemberg  <wl@gnu.org>
       
  4668 
       
  4669 	* include/freetype/ftcache.h (FTC_FaceID): Change type back to
       
  4670 	FT_Pointer.  Reported by Ian Britten <britten@caris.com>.
       
  4671 
       
  4672 2008-06-02  Werner Lemberg  <wl@gnu.org>
       
  4673 
       
  4674 	Emit header info for defined FreeType objects in reference.
       
  4675 
       
  4676 	* src/tools/docmaker/content.py (re_header_macro): New regexp.
       
  4677 	(ContentProcessor::__init__): Initialize new dictionary `headers'.
       
  4678 	(DocBlock::__init__): Collect macro header definitions.
       
  4679 
       
  4680 	* src/tools/docmaker/tohtml.py (header_location_header,
       
  4681 	header_location_footer): New strings.
       
  4682 	(HtmlFormatter::__init__): Pass `headers' dictionary.
       
  4683 	(HtmlFormatter::print_html_field): Don't emit paragraph tags.
       
  4684 	(HtmlFormatter::print_html_field_list): Emit empty paragraph.
       
  4685 	(HtmlFormatter::block_enter): Emit header info.
       
  4686 
       
  4687 2008-06-01  Werner Lemberg  <wl@gnu.org>
       
  4688 
       
  4689 	* include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
       
  4690 	FT_INCREMENTAL_H): Added.
       
  4691 
       
  4692 2008-05-28  Werner Lemberg  <wl@gnu.org>
       
  4693 
       
  4694 	* src/tools/docmaker/sources.py (SourceBlock::__init__): While
       
  4695 	looking for markup tags, return immediately as soon a single one is
       
  4696 	found.
       
  4697 
       
  4698 2008-05-28  Werner Lemberg  <wl@gnu.org>
       
  4699 
       
  4700 	* src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
       
  4701 	original, unscaled input values.  Confirmed by Greg Hitchcock from
       
  4702 	Microsoft.
       
  4703 
       
  4704 2008-05-27  Werner Lemberg  <wl@gnu.org>
       
  4705 
       
  4706 	* src/tools/docmaker/tohtml.py (block_footer_start,
       
  4707 	block_footer_middle): Beautify output.
       
  4708 
       
  4709 2008-05-25  Werner Lemberg  <wl@gnu.org>
       
  4710 
       
  4711 	* src/raster/ftraster.c (fc_black_render): Return 0 when we are
       
  4712 	trying to render into a zero-width/height bitmap, not an error code.
       
  4713 
       
  4714 	* src/truetype/ttgload.c (load_truetype_glyph): Move initialization
       
  4715 	of the graphics state for subglyphs to...
       
  4716 	(TT_Hint_Glyph): This function.
       
  4717 	Hinting instructions for a composite glyph apparently refer to the
       
  4718 	just hinted subglyphs, not the unhinted, unscaled outline.  This
       
  4719 	seems to fix Savannah bugs #20973 and (at least partially) #23310.
       
  4720 
       
  4721 2008-05-20  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4722 
       
  4723 	* src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
       
  4724 	`aface' is returned by FT_New_Face_From_FOND().  The patch was
       
  4725 	proposed by an anonymous reporter of Savannah bug #23204.
       
  4726 
       
  4727 2008-05-18  Werner Lemberg  <wl@gnu.org>
       
  4728 
       
  4729 	* src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
       
  4730 	correction for pixel boundary.  Without this patch, the effect can
       
  4731 	be cumulative under certain circumstances, making glyphs taller and
       
  4732 	taller after each call.  This fixes Savannah bug #19976.
       
  4733 
       
  4734 2008-05-18  Werner Lemberg  <wl@gnu.org>
       
  4735 
       
  4736 	* src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
       
  4737 	This fixes Savannah bug #23280.
       
  4738 
       
  4739 	* docs/CHANGES: Updated.
       
  4740 
       
  4741 2008-05-18  David Turner  <david@freetype.org>
       
  4742 
       
  4743 	* src/psnames/psmodule.c (ft_wgl_extra_unicodes,
       
  4744 	ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
       
  4745 	ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
       
  4746 	declarations non-global.
       
  4747 
       
  4748 	* src/type1/t1load.c: Add missing comment.
       
  4749 
       
  4750 2008-05-17  Sam Hocevar  <samh>
       
  4751 
       
  4752 	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
       
  4753 	glyphs correctly.  Patch from Savannah bug #23277.
       
  4754 
       
  4755 2008-05-16  Werner Lemberg  <wl@gnu.org>
       
  4756 
       
  4757 	* docs/CHANGES: Updated.
       
  4758 
       
  4759 2008-05-16  Sergey Tolstov  <stolstov@esri.com>
       
  4760 
       
  4761 	Improve support for WGL4 encoded fonts.
       
  4762 
       
  4763 	* src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
       
  4764 	(ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
       
  4765 	ft_wgl_extra_glyph_name_offsets): New arrays.
       
  4766 	(ps_check_wgl_name, ps_check_wgl_unicode): New functions.
       
  4767 	(ps_unicodes_init): Use them to add additional Unicode mappings.
       
  4768 
       
  4769 2008-05-15  Werner Lemberg  <wl@gnu.org>
       
  4770 
       
  4771 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
       
  4772 	<op_closepath>: `closepath' without a path is a no-op, not an error
       
  4773 	(cf. the PS reference manual).
       
  4774 
       
  4775 	Reported by Martin McBride.
       
  4776 
       
  4777 2008-05-15  Werner Lemberg  <wl@gnu.org>
       
  4778 
       
  4779 	* builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
       
  4780 
       
  4781 2008-05-15  Werner Lemberg  <wl@gnu.org>
       
  4782 
       
  4783 	* src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
       
  4784 	which contains a single but empty entry.  This is technically
       
  4785 	invalid (since it must end with `return'), but...
       
  4786 
       
  4787 	Reported by Martin McBride.
       
  4788 
       
  4789 2008-05-14  Werner Lemberg  <wl@gnu.org>
       
  4790 
       
  4791 	Finish fix of scaling bug of CID-keyed CFF subfonts.
       
  4792 
       
  4793 	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c
       
  4794 	(FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
       
  4795 	functions.
       
  4796 
       
  4797 	* src/cff/cffobjs.h (CFF_Internal): New struct.  It is used to
       
  4798 	provide global hinting data for both the top-font and all subfonts
       
  4799 	(with proper scaling).
       
  4800 
       
  4801 	* src/cff/cffobjs.c (cff_make_private_dict): New function, using
       
  4802 	code from `cff_size_init'.
       
  4803 	(cff_size_init, cff_size_done, cff_size_select, cff_size_request):
       
  4804 	Use CFF_Internal and handle subfonts.
       
  4805 	(cff_face_init): Handle top-dict and subfont matrices correctly;
       
  4806 	apply some heuristic in case of unlikely matrix concatenation
       
  4807 	results.  This has been discussed with people from Adobe (thanks
       
  4808 	goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
       
  4809 	and not correct.
       
  4810 
       
  4811 	* src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
       
  4812 
       
  4813 	* src/cff/cffgload.c (cff_builder_init): Updated.
       
  4814 	(cff_decoder_prepare): Handle hints globals for subfonts.
       
  4815 	Update all callers.
       
  4816 	(cff_slot_load): Handling scaling of subfonts properly.
       
  4817 
       
  4818 	* src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
       
  4819 	(cff_parse_font_matrix): Use it.
       
  4820 
       
  4821 	* src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
       
  4822 	FT_ULong.
       
  4823 
       
  4824 	* docs/CHANGES: Document it.
       
  4825 
       
  4826 2008-05-13  Werner Lemberg  <wl@gnu.org>
       
  4827 
       
  4828 	* src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
       
  4829 	Handle case `face_index < 0'.
       
  4830 	* docs/CHANGES: Document it.
       
  4831 
       
  4832 2008-05-04  Werner Lemberg  <wl@gnu.org>
       
  4833 
       
  4834 	First steps to fix the scaling bug of CID-keyed CFF subfonts,
       
  4835 	reported by Ding Li on 2008/03/28 on freetype-devel.
       
  4836 
       
  4837 	* src/base/cff/cffparse.c (power_tens): New array.
       
  4838 	(cff_parse_real): Rewritten to introduce a fourth parameter which
       
  4839 	returns the `scaling' of the real number so that we have no
       
  4840 	precision loss.  This is not used yet.
       
  4841 	Update all callers.
       
  4842 	(cff_parse_fixed_thousand): Replace with...
       
  4843 	(cff_parse_fixed_scaled): This function.  Update all callers.
       
  4844 
       
  4845 2008-05-03  Werner Lemberg  <wl@gnu.org>
       
  4846 
       
  4847 	* src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
       
  4848 	transformation since it recursively calls FT_Load_Glyph.  This fixes
       
  4849 	Savannah bug #23143.
       
  4850 
       
  4851 2008-04-26  Werner Lemberg  <wl@gnu.org>
       
  4852 
       
  4853 	* include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
       
  4854 	and `scale_y' as obsolete since they aren't used.
       
  4855 	* src/psaux/psobjs.c (t1_builder_init): Updated.
       
  4856 
       
  4857 	* src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
       
  4858 	obsolete since they aren't used.
       
  4859 	* src/cff/cffgload.c (cff_builder_init): Updated.
       
  4860 
       
  4861 2008-04-14  Werner Lemberg  <wl@gnu.org>
       
  4862 
       
  4863 	* src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
       
  4864 	`FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'.  From Savannah
       
  4865 	bug #22909.
       
  4866 
       
  4867 2008-04-13  Werner Lemberg  <wl@gnu.org>
       
  4868 
       
  4869 	* src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
       
  4870 	integer part is zero.
       
  4871 
       
  4872 2008-04-01  Werner Lemberg  <wl@gnu.org>
       
  4873 
       
  4874 	Fix compilation with g++ 4.1 (with both `single' and `multi'
       
  4875 	targets).
       
  4876 
       
  4877 	* src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
       
  4878 	which is crossed by a `goto'.
       
  4879 
       
  4880 	* src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
       
  4881 
       
  4882 2008-03-31  Werner Lemberg  <wl@gnu.org>
       
  4883 
       
  4884 	Fix support for subsetted CID-keyed CFFs.
       
  4885 
       
  4886 	* include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
       
  4887 	FT_IS_CID_KEYED): New macros.
       
  4888 
       
  4889 	* src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
       
  4890 	maximum CID value in CID-keyed CFFs.
       
  4891 	Handle FT_FACE_FLAG_CID_KEYED flag.
       
  4892 
       
  4893 	* docs/CHANGES: Document it.
       
  4894 
       
  4895 
       
  4896 	Fix CFF font matrix calculation and improve precision.
       
  4897 
       
  4898 	* src/cff/cffparse.c (cff_parse_real): Increase precision if integer
       
  4899 	part is zero.
       
  4900 	(cff_parse_font_matrix): Simplify computation of `units_per_em';
       
  4901 	this prevents overflow also.
       
  4902 
       
  4903 
       
  4904 	Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
       
  4905 
       
  4906 	* src/cid/cidriver.c: Include FT_SERVICE_CID_H.
       
  4907 	(cid_get_ros): New function.
       
  4908 	(cid_service_cid_info): New service structure.
       
  4909 	(cid_services): Register it.
       
  4910 
       
  4911 2008-03-23  Werner Lemberg  <wl@gnu.org>
       
  4912 
       
  4913 	Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
       
  4914 
       
  4915 	* builds/compiler/visualc.mk (CFLAGS): Remove /W5.
       
  4916 	(ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
       
  4917 
       
  4918 2008-03-21  Laurence Darby  <ldarby>
       
  4919 
       
  4920 	* src/type1/t1objs.c (T1_Face_Init): Use `/Weight'.  Patch from
       
  4921 	Savannah bug #22675.
       
  4922 
       
  4923 2008-03-13  Derek Clegg  <dclegg@apple.com>
       
  4924 
       
  4925 	* src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
       
  4926 	Patch from Savannah bug #22541.
       
  4927 
       
  4928 2008-03-03  Masatoshi Kimura  <VYV03354@nifty.ne.jp>
       
  4929 
       
  4930 	* src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
       
  4931 	tt_cmap14_find_variant): Return correct value.
       
  4932 	(tt_cmap14_variant_chars): Fix check for `di'.
       
  4933 
       
  4934 2008-02-29  Wermer Lemberg  <wl@gnu.org>
       
  4935 
       
  4936 	* docs/CHANGES: Updated.
       
  4937 
       
  4938 2008-02-29  Wolf
       
  4939 
       
  4940 	Add build support for symbian platform.  From Savannah bug #22440.
       
  4941 
       
  4942 	* builds/symbian/*: New files.
       
  4943 
       
  4944 2008-02-21  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4945 
       
  4946 	* src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
       
  4947 	synthesis.  For any face of a specified FOND, always the name for
       
  4948 	the first face was used.  Except of a FOND that refers multiple
       
  4949 	Type1 font files, wrong synthesized font names are not used at all,
       
  4950 	so this is an invisible bug.  A few limit checks are added too.
       
  4951 
       
  4952 	* builds/mac/ftmac.c: Ditto.
       
  4953 
       
  4954 2008-02-21  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4955 
       
  4956 	* builds/unix/configure.raw: Split compiler option to link Carbon
       
  4957 	frameworks to one option for CoreServices framework and another
       
  4958 	option for ApplicationServices framework.  The split options can be
       
  4959 	managed by GNU libtool to avoid unrequired duplication when FreeType
       
  4960 	is linked with other applications.  Suggested by Daniel Macks,
       
  4961 	Savannah bug #22366.
       
  4962 
       
  4963 2008-02-18  Victor Stinner  <victor.stinner@haypocalc.com>
       
  4964 
       
  4965 	* src/truetype/ttinterp.c (Ins_IUP): Check number of points.  Fix
       
  4966 	from Savannah bug #22356.
       
  4967 
       
  4968 2008-02-17  Jonathan Blow  <jon@number-none.com>
       
  4969 
       
  4970 	* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
       
  4971 	Check for valid callback pointers.
       
  4972 
       
  4973 2008-02-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4974 
       
  4975 	* src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
       
  4976 	handle by its value instead of ResError(), fix provided by Deron
       
  4977 	Kazmaier.  According to the Resource Manager Reference,
       
  4978 	GetResource(), Get1Resource(), GetNamedResource(),
       
  4979 	Get1NamedResource() and RGetResource() set noErr but return NULL
       
  4980 	handle when they can not find the requested resource.  These
       
  4981 	functions never return undefined values, so it is sufficient to
       
  4982 	check if the handle is not NULL.
       
  4983 
       
  4984 	* builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
       
  4985 
       
  4986 2008-02-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  4987 
       
  4988 	* src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
       
  4989 	inclusion styles.  Now it always includes src/base/ftmac.c;
       
  4990 	builds/mac/ftmac.c is never included in any configuration.
       
  4991 
       
  4992 	* builds/unix/configure.raw: Print warning if configure is executed
       
  4993 	with options to specify Carbon functionalities explicitly.
       
  4994 
       
  4995 	* docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
       
  4996 	included automatically and manual replacement is required.
       
  4997 
       
  4998 2008-02-11  Werner Lemberg  <wl@gnu.org>
       
  4999 
       
  5000 	* builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
       
  5001 	(dos_setup), builds/freetype.mk (clean_project_dos,
       
  5002 	distclean_project_dos): Don't use \ but $(SEP).  Reported by Duncan
       
  5003 	Murdoch.
       
  5004 
       
  5005 2008-01-18  Sylvain Pasche  <sylvain.pasche@gmail.com>
       
  5006 
       
  5007 	* src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
       
  5008 	mention intra-pixel algorithm.
       
  5009 
       
  5010 	* include/freetype/freetype.h (FT_Render_Mode): Mention that
       
  5011 	FT_Library_SetLcdFilter can be used to reduce fringes.
       
  5012 
       
  5013 2008-01-16  Werner Lemberg  <wl@gnu.org>
       
  5014 
       
  5015 	* src/raster/ftraster.c (ft_black_render): Check `outline' before
       
  5016 	using it.  Reported by Allan Yang.
       
  5017 
       
  5018 2008-01-12  Werner Lemberg  <wl@gnu.org>
       
  5019 
       
  5020 	* src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
       
  5021 
       
  5022 2008-01-12  Allan Yang, Jian Hua - SH  <Allan.Yang@fmc.fujitsu.com>
       
  5023 
       
  5024 	* src/raster/ftraster.c (ft_black_init)
       
  5025 	[FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
       
  5026 
       
  5027 2008-01-10  Werner Lemberg  <wl@gnu.org>
       
  5028 
       
  5029 	* src/truetype/ttgload.c (load_truetype_glyph): Handle the case
       
  5030 	where the number of contours in a simple glyph is zero (and which
       
  5031 	does contain an entry in the `glyf' table).  This fixes Savannah bug
       
  5032 	#21990.
       
  5033 
       
  5034 2008-01-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  5035 
       
  5036 	Formatting suggested by Sean McBride.
       
  5037 
       
  5038 	* builds/mac/ftmac.c: Formatting (tab expanded).
       
  5039 	* src/autofit/afindic.c: Ditto.
       
  5040 	* src/base/ftcid.c: Ditto.
       
  5041 	* src/base/ftmac.c: Ditto.
       
  5042 
       
  5043 2007-12-30  Werner Lemberg  <wl@gnu.org>
       
  5044 
       
  5045 	* src/smooth/ftgrays.c (gray_raster_render): Check `outline'
       
  5046 	correctly.
       
  5047 
       
  5048 2007-12-21  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  5049 
       
  5050 	Improvement of POSIX resource-fork accessor to load unsorted
       
  5051 	references in a resource.  In HelveLTMM (resource-fork PostScript
       
  5052 	Type1 font bundled with Mac OS X since 10.3.x), the appearance order
       
  5053 	of PFB chunks is not sorted; sorting the chunks by reference IDs is
       
  5054 	required.
       
  5055 
       
  5056 	* include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
       
  5057 	type to store a pair of reference ID and offset to the chunk.
       
  5058 
       
  5059 	* src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
       
  5060 	sort FT_RFork_Ref by their reference IDs.
       
  5061 
       
  5062 	(FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
       
  5063 	sorted by reference ID.
       
  5064 
       
  5065 2007-12-14  Werner Lemberg  <wl@gnu.org>
       
  5066 
       
  5067 	* src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
       
  5068 	division too early; otherwise the most significant digit(s) of the
       
  5069 	final result are lost as the value is truncated to an integer.  This
       
  5070 	fixes Savannah bug #21794 (where the patch has been posted too).
       
  5071 
       
  5072 2007-12-06  Fix  <4d876b82@gmail.com>
       
  5073 
       
  5074 	Pass options from one configure script to another as-is (not
       
  5075 	expanded).  This is needed for options like
       
  5076 	--includedir='${prefix}/include'.
       
  5077 
       
  5078 	* builds/unix/detect.mk, configure: Prevent argument expansion in
       
  5079 	call to the (real) `configure' script.
       
  5080 
       
  5081 2007-12-06  Werner Lemberg  <wl@gnu.org>
       
  5082 
       
  5083 	* src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
       
  5084 	TT_USE_BYTECODE_INTERPRETER isn't defined.
       
  5085 
       
  5086 2007-12-06  Werner Lemberg  <wl@gnu.org>
       
  5087 
       
  5088 	There exist CFFs which contain opcodes for the Type 1 operators
       
  5089 	`hsbw' and `closepath' which are both invalid in Type 2 charstrings.
       
  5090 	However, it doesn't harm to support them.
       
  5091 
       
  5092 	* src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
       
  5093 	`cff_op_closepath.'
       
  5094 	(cff_argument_counts): Ditto.
       
  5095 
       
  5096 	(cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
       
  5097 	and 13 (hsbw) which are invalid in Type 2 charstrings.
       
  5098 
       
  5099 2007-12-06  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  5100 
       
  5101 	* src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
       
  5102 	support new pathname syntax `..namedfork/rsrc' to access a resource
       
  5103 	fork on Mac OS X.  The legacy syntax `/rsrc' does not work on
       
  5104 	case-sensitive HFS+.
       
  5105 	(raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
       
  5106 	buffer size to store a pathname.
       
  5107 	* include/freetype/internal/ftrfork.h: Increment the number of
       
  5108 	resource fork guessing rule.
       
  5109 
       
  5110 2007-12-06  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  5111 
       
  5112 	* builds/unix/configure.raw: Improve the compile tests to search
       
  5113 	Carbon functions.
       
  5114 	* builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
       
  5115 	proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
       
  5116 
       
  5117 2007-12-06  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  5118 
       
  5119 	The documents and comments for Mac OS X are improved by Sean
       
  5120 	McBride.
       
  5121 
       
  5122 	* src/base/ftmac.c: Fix a comment.
       
  5123 	* include/freetype/ftmac.h: Ditto.
       
  5124 	* docs/INSTALL.MAC: Improve English and add comment on lowest
       
  5125 	system version specified by MACOSX_DEPLOYMENT_TARGET.
       
  5126 
       
  5127 2007-12-04  Werner Lemberg  <wl@gnu.org>
       
  5128 
       
  5129 	* src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
       
  5130 	concatenate error codes.
       
  5131 	* src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
       
  5132 
       
  5133 2007-12-04  Graham Asher  <graham.asher@btinternet.com>
       
  5134 
       
  5135 	* src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
       
  5136 	concatenate error codes.
       
  5137 
       
  5138 2007-12-04  Sean McBride  <sean@rogue-research.com>
       
  5139 
       
  5140 	* src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
       
  5141 	warning.
       
  5142 
       
  5143 2007-11-20  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  5144 
       
  5145 	Fix MacOS legacy font support by Masatake Yamato on Mac OS X.  It is
       
  5146 	not working since 2.3.5.  In FT_Open_New(), if FT_New_Stream()
       
  5147 	cannot mmap() the specified file and cannot seek to head of the
       
  5148 	specified file, it returns NULL stream and FT_Open_New() returns the
       
  5149 	error immediately.  On MacOS, most legacy MacOS fonts fall into such
       
  5150 	a scenario because their data forks are zero-sized and cannot be
       
  5151 	sought.  To proceed to guessing of resource fork fonts, the
       
  5152 	functions for legacy MacOS font must properly handle the NULL stream
       
  5153 	returned by FT_New_Stream().
       
  5154 
       
  5155 	* src/base/ftobjs.c (IsMacBinary): Return error
       
  5156 	FT_Err_Invalid_Stream_Operation immediately when NULL stream is
       
  5157 	passed.
       
  5158 	(FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
       
  5159 	to fallback.  Originally, legacy MacOS font is tested in the cases
       
  5160 	of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
       
  5161 	or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
       
  5162 	.dfont header is combined).  Now the case of
       
  5163 	FT_Err_Cannot_Open_Stream is included.
       
  5164 
       
  5165 	* src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
       
  5166 	skip FT_Stream_Seek(), which seeks to the head of stream, and
       
  5167 	proceed to unit testing of raccess_guess_XXX().  FT_Stream_Seek()
       
  5168 	for a NULL stream causes a Bus error on Mac OS X.
       
  5169 	(raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
       
  5170 	immediately if passed stream is NULL.
       
  5171 	(raccess_guess_apple_single): Ditto.
       
  5172 
       
  5173 2007-11-16  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  5174 
       
  5175 	Fix for Carbon incompatibilities since Mac OS X 10.5,
       
  5176 	proposed by Sean McBride.
       
  5177 
       
  5178 	* doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
       
  5179 
       
  5180 	* include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
       
  5181 	FT_GetFilePath_From_Mac_ATS_Name.  Since Mac OS X 10.5, calling
       
  5182 	Carbon functions from a forked process is classified as unsafe
       
  5183 	by Apple.  All Carbon-dependent functions should be deprecated.
       
  5184 
       
  5185 	* src/base/ftmac.c: Use essential header files
       
  5186 	<CoreServices/CoreServices.h> and
       
  5187 	<ApplicationServices/ApplicationServices.h> instead of
       
  5188 	all-in-one header file <Carbon/Carbon.h>.
       
  5189 
       
  5190 	Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
       
  5191 	genuine macro PATH_MAX.
       
  5192 
       
  5193 	Add fallback macro for kATSOptionFlagsUnRestrictedScope which
       
  5194 	is not found in Mac OS X 10.0.
       
  5195 
       
  5196 	Multi-character constants ('POST', 'sfnt' etc) are replaced by
       
  5197 	64bit constants calculated by FT_MAKE_TAG() macro.
       
  5198 
       
  5199 	For the index in the segment of resource fork, new portable
       
  5200 	type ResourceIndex is introduced for better compatibility.
       
  5201 	This type is since Mac OS X 10.5, so it is defined as short
       
  5202 	when built on older platforms.
       
  5203 
       
  5204 	(FT_ATSFontGetFileReference): If build target is only the systems
       
  5205 	10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
       
  5206 
       
  5207 	(FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
       
  5208 	and newer or 64bit platform, because legacy type FSSpec type is
       
  5209 	removed completely.
       
  5210 
       
  5211 	(FT_New_Face_From_FSSpec): Ditto.
       
  5212 
       
  5213 2007-11-01  Werner Lemberg  <wl@gnu.org>
       
  5214 
       
  5215 	* src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere.  This
       
  5216 	fixes Savannah bug #21485.
       
  5217 
       
  5218 2007-10-29  Daniel Svoboda  <dasvo@planeta@cz>
       
  5219 
       
  5220 	* src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
       
  5221 	can handle the font at all, then check `face_index'.  Otherwise, the
       
  5222 	driver might return the wrong error code.  This fixes Savannah bug
       
  5223 	#21468.
       
  5224 
       
  5225 2007-10-21  Werner Lemberg  <wl@gnu.org>
       
  5226 
       
  5227 	* src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
       
  5228 	support for bit 8 of the `fsSelection' field in the `OS/2' table.
       
  5229 	MS is already using this; hopefully, this becomes part of OpenType
       
  5230 	1.5.
       
  5231 	Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
       
  5232 	(WWS_SUBFAMILY).
       
  5233 
       
  5234 2007-10-20  Werner Lemberg  <wl@gnu.org>
       
  5235 
       
  5236 	* src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
       
  5237 	Add `td.left' element to CSS.
       
  5238 	(toc_section_enter): Use it.
       
  5239 
       
  5240 2007-10-18  David Turner  <david@freetype.org>
       
  5241 
       
  5242 	* include/freetype/freetype.h, src/base/ftobjs.c: Rename API
       
  5243 	functions related to cmap type 14 support to the
       
  5244 	`FT_Object_ActionName' scheme:
       
  5245 
       
  5246 	  FT_Get_Char_Variant_index     -> FT_Face_GetCharVariantIndex
       
  5247 	  FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
       
  5248 	  FT_Get_Variant_Selectors      -> FT_Face_GetVariantSelectors
       
  5249 	  FT_Get_Variants_Of_Char       -> FT_Face_GetVariantsOfChar
       
  5250 	  FT_Get_Chars_Of_Variant       -> FT_Face_GetCharsOfVariant
       
  5251 
       
  5252 	Update documentation accordingly.
       
  5253 
       
  5254 	* src/sfnt/ttcmap.c: Stronger cmap 14 validation.
       
  5255 	Make the code a little more consistent with FreeType coding
       
  5256 	conventions and modify the cmap14 functions that returned a newly
       
  5257 	allocated array to use a persistent vector from the TT_CMap14 object
       
  5258 	instead.
       
  5259 
       
  5260 	(TT_CMap14Rec): Provide array and auxiliary data for result.
       
  5261 	(tt_cmap14_done, tt_cmap14_ensure): New functions.
       
  5262 
       
  5263 	(tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
       
  5264 	tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
       
  5265 	tt_cmap14_char_var_index, tt_cmap14_variants,
       
  5266 	tt_cmap14_char_variants, tt_cmap14_def_char_count,
       
  5267 	tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
       
  5268 	tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
       
  5269 
       
  5270 2007-10-15  George Williams  <gww@silcom.com>
       
  5271 
       
  5272 	Add support for cmap type 14.
       
  5273 
       
  5274 	* devel/ftoption.h, include/freetype/config/ftoption.h
       
  5275 	(TT_CONFIG_CMAP_FORMAT_14): New macro.
       
  5276 
       
  5277 	* include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
       
  5278 	FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
       
  5279 	FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
       
  5280 	support function prototypes.
       
  5281 	(FT_CMap_ClassRec): Add them.
       
  5282 	Update all users.
       
  5283 
       
  5284 	* include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
       
  5285 	macro.
       
  5286 
       
  5287 	* include/freetype/freetype.h (FT_Get_Char_Variant_Index,
       
  5288 	FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
       
  5289 	FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
       
  5290 	functions.
       
  5291 
       
  5292 	* src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
       
  5293 	function.
       
  5294 	(FT_Set_Charmap): Disallow cmaps of type 14.
       
  5295 	(FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
       
  5296 	FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
       
  5297 	FT_Get_Chars_Of_Variant): New API functions.
       
  5298 
       
  5299 	* src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
       
  5300 
       
  5301 	(TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
       
  5302 	tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
       
  5303 	tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
       
  5304 	tt_cmap14_find_variant, tt_cmap14_char_var_index,
       
  5305 	tt_cmap14_char_var_isdefault, tt_cmap14_variants,
       
  5306 	tt_cmap14_char_variants, tt_cmap14_def_char_count,
       
  5307 	tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
       
  5308 	tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
       
  5309 	structures for cmap 14 support.
       
  5310 	(tt_cmap_classes): Register tt_cmap14_class_rec.
       
  5311 	(tt_face_build_cmaps): One more error message.
       
  5312 
       
  5313 	* docs/CHANGES: Mention cmap 14 support.
       
  5314 
       
  5315 2007-10-01  Werner Lemberg  <wl@gnu.org>
       
  5316 
       
  5317 	* src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
       
  5318 	charmap fails, do the loop again while searching a UCS-2 charmap.
       
  5319 	This favours MS charmaps over Apple ones.
       
  5320 
       
  5321 2007-08-29  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  5322 
       
  5323 	* src/base/ftmac.c: Introduction of abstract `short' data types,
       
  5324 	ResFileRefNum and ResID.  These types were introduced for Copland,
       
  5325 	then backported to MPW.  The variables exchanged with FileManager
       
  5326 	QuickDraw frameworks are redefined by these data types.  Patch was
       
  5327 	proposed by Sean McBride.
       
  5328 	* builds/mac/ftmac.c: Ditto.
       
  5329 
       
  5330 2007-08-18  Werner Lemberg  <wl@gnu.org>
       
  5331 
       
  5332 	* src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs.  Found
       
  5333 	by Imran Yousaf.  Fixes Savannah bug #20773.
       
  5334 
       
  5335 	(otv_Lookup_validate): Correct handling of LookupType.  Found by
       
  5336 	Imran Yousaf.  Fixes Savannah bug #20782.
       
  5337 
       
  5338 2007-08-17  George Williams  <gww@silcom.com>
       
  5339 
       
  5340 	* src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
       
  5341 	SingleSubstFormat1.
       
  5342 
       
  5343 2007-08-11  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  5344 
       
  5345 	* builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
       
  5346 	${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
       
  5347 	Found by Ryan Hill.
       
  5348 
       
  5349 2007-08-11  George Williams  <gww@silcom.com>
       
  5350 
       
  5351 	* src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
       
  5352 	(otv_Coverage_validate): Add fourth argument to pass an expected
       
  5353 	count value.  Update all users.
       
  5354 	Check glyph IDs.
       
  5355 	(otv_ClassDef_validate): Check `StartGlyph'.
       
  5356 
       
  5357 	* src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
       
  5358 	checks.
       
  5359 
       
  5360 	* src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
       
  5361 	56 constants.
       
  5362 	(otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
       
  5363 	Check glyph IDs.
       
  5364 
       
  5365 2007-08-08  Werner Lemberg  <wl@gnu.org>
       
  5366 
       
  5367 	* src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
       
  5368 	src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
       
  5369 	src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
       
  5370 	appropriate.  Reported by George.
       
  5371 
       
  5372 	* include/freetype/internal/fttrace.h: Define `trace_otvmath'.
       
  5373 
       
  5374 	* src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
       
  5375 
       
  5376 	* docs/CHANGES: Updated.
       
  5377 
       
  5378 2007-08-08  George Williams  <gww@silcom.com>
       
  5379 
       
  5380 	Add `MATH' validating support to otvalid module.
       
  5381 
       
  5382 	* include/freetype/tttags.h (TTAG_MATH): New macro.
       
  5383 	* include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
       
  5384 	(FT_VALIDATE_OT): Updated.
       
  5385 
       
  5386 	* src/otvalid/otmath.c: New file.
       
  5387 
       
  5388 	* src/otvalid/otvalid.c: Include otvmath.c.
       
  5389 	* src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
       
  5390 
       
  5391 2007-08-04  Werner Lemberg  <wl@gnu.org>
       
  5392 
       
  5393 	* builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
       
  5394 	Fixes Savannah bug #20686.
       
  5395 
       
  5396 2007-08-03  Werner Lemberg  <wl@gnu.org>
       
  5397 
       
  5398 	* src/psnames/psmodule.c: Fix usage of
       
  5399 	FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro.  Reported by Graham Asher.
       
  5400 
       
  5401 2007-07-31  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  5402 
       
  5403 	* src/base/ftmac.c (open_face_from_buffer): The argument
       
  5404 	`driver_name' is typed as `const char*' to match with the
       
  5405 	callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
       
  5406 	This is same with open_face_from_buffer in src/base/ftobjs.c.
       
  5407 	Found and fixed by Sean McBride.
       
  5408 
       
  5409 2007-07-28  Werner Lemberg  <wl@gnu.org>
       
  5410 
       
  5411 	* src/raster/ftraster.c (count_table): Make it conditional.
       
  5412 	* src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
       
  5413 	a preprocessor statement.
       
  5414 
       
  5415 2007-07-27  Werner Lemberg  <wl@gnu.org>
       
  5416 
       
  5417 	* src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
       
  5418 	first usage.  From Savannah patch #6115.
       
  5419 
       
  5420 2007-07-16  Werner Lemberg  <wl@gnu.org>
       
  5421 
       
  5422 	* docs/CHANGES: Updated.
       
  5423 
       
  5424 2007-07-16  Derek Clegg  <dclegg@apple.com>
       
  5425 
       
  5426 	Add new service for getting the ROS from a CID font.
       
  5427 
       
  5428 	* include/freetype/config/ftheader.h (FT_CID_H): New macro.
       
  5429 	* include/freetype/ftcid.h: New file.
       
  5430 
       
  5431 	* include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
       
  5432 	* include/freetype/internal/services/svcid.h: New file.
       
  5433 
       
  5434 	* src/base/ftcid.c: New file.
       
  5435 
       
  5436 	* src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
       
  5437 	(cff_get_ros): New function.
       
  5438 	(cff_service_cid_info): New service structure.
       
  5439 	(cff_services): Register it.
       
  5440 
       
  5441 	* src/cff/cffload.c (cff_font_done): Free registry and ordering.
       
  5442 
       
  5443 	* src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
       
  5444 
       
  5445 	* modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
       
  5446 
       
  5447 2007-07-11  Derek Clegg  <dclegg@apple.com>
       
  5448 
       
  5449 	Add support for postscript name service to CFF driver.
       
  5450 
       
  5451 	* src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
       
  5452 	(cff_get_ps_name): New function.
       
  5453 	(cff_service_ps_name): New service structure.
       
  5454 	(cff_services): Register it.
       
  5455 
       
  5456 2007-07-07  Werner Lemberg  <wl@gnu.org>
       
  5457 
       
  5458 	* src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
       
  5459 	`target'.  Reported by Sean McBride.
       
  5460 
       
  5461 2007-07-06  Werner Lemberg  <wl@gnu.org>
       
  5462 
       
  5463 	* src/pfr/pfrcmap.c: Include pfrerror.h.
       
  5464 
       
  5465 	* src/autofit/afindic.c: Add some external declarations to pacify
       
  5466 	`make multi' compilation.
       
  5467 
       
  5468 	* src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
       
  5469 
       
  5470 	* src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
       
  5471 	(cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
       
  5472 	src/autofit/aflatin.c (af_latin_hints_compute_edges),
       
  5473 	src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
       
  5474 	(tt_face_get_metrics), src/base/ftobjs.c (open_face)
       
  5475 	[FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
       
  5476 
       
  5477 	* docs/release: Mention test compilation targets.
       
  5478 
       
  5479 2007-07-04  Werner Lemberg  <wl@gnu.org>
       
  5480 
       
  5481 	* docs/PROBLEMS: Mention that some PS based fonts can't be
       
  5482 	handled correctly by FreeType.
       
  5483 
       
  5484 	* src/truetype/ttgload.c (load_truetype_glyph): Always allow a
       
  5485 	recursion depth of 1.  This was the maximum value in TrueType 1.0,
       
  5486 	and some older fonts don't set this field correctly.
       
  5487 
       
  5488 	* src/gxvalid/gxvmort1.c
       
  5489 	(gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
       
  5490 
       
  5491 2007-07-03  Werner Lemberg  <wl@gnu.org>
       
  5492 
       
  5493 	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
       
  5494 	`round' to pacify compiler.
       
  5495 
       
  5496 2007-07-02  Werner Lemberg  <wl@gnu.org>
       
  5497 
       
  5498 
       
  5499 	* Version 2.3.5 released.
       
  5500 	=========================
       
  5501 
       
  5502 
       
  5503 	Tag sources with `VER-2-3-5'.
       
  5504 
       
  5505 	* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
       
  5506 	version number to 2.3.5.
       
  5507 
       
  5508 	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
       
  5509 	builds/win32/visualc/freetype.dsp,
       
  5510 	builds/win32/visualc/freetype.vcproj,
       
  5511 	builds/win32/visualce/index.html,
       
  5512 	builds/win32/visualce/freetype.dsp,
       
  5513 	builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
       
  5514 
       
  5515 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
       
  5516 
       
  5517 	* builds/unix/configure.raw (version_info): Set to 9:16:3.
       
  5518 
       
  5519 2007-07-01  David Turner  <david@freetype.org>
       
  5520 
       
  5521 	* include/freetype/freetype.h, src/base/ftpatent.c
       
  5522 	(FT_Face_SetUnpatentedHinting): New function to dynamically change
       
  5523 	the setting after a face is created.
       
  5524 
       
  5525 	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
       
  5526 	that created distortions in the bytecode interpreter results.
       
  5527 
       
  5528 2007-06-30  David Turner  <david@freetype.org>
       
  5529 
       
  5530 	* src/truetype/ttinterp.c (Ins_IUP): Add missing variable
       
  5531 	initialization.
       
  5532 
       
  5533 	* src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
       
  5534 	infinite loop in the case of degenerate fonts.
       
  5535 
       
  5536 2007-06-26  Rahul Bhalerao  <b.rahul.pm@gmail.com>
       
  5537 
       
  5538 	Add autofit module for Indic scripts.  This currently just reuses
       
  5539 	the CJK-specific functions.
       
  5540 
       
  5541 	* include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
       
  5542 	macro.
       
  5543 	* devel/ftoption.h: Synchronize with
       
  5544 	include/freetype/config/ftoption.h.
       
  5545 
       
  5546 	* src/autofit/afindic.c, src/autofit/afindic.h: New files.
       
  5547 
       
  5548 	* src/autofit/afglobal.c, src/autofit/aftypes.h,
       
  5549 	src/autofit/autofit.c: Updated.
       
  5550 
       
  5551 	* src/autofit/Jamfile (_sources), * src/autofit/rules.mk
       
  5552 	(AUTOF_DRV_SRC): Updated.
       
  5553 
       
  5554 2007-06-23  David Turner  <david@freetype.org>
       
  5555 
       
  5556 	* src/truetype/ttgload.c (TT_Load_Simple): Fix change from
       
  5557 	2007-06-16 that prevented the TrueType module from loading most
       
  5558 	glyphs.
       
  5559 
       
  5560 2007-06-20  Werner Lemberg  <wl@gnu.org>
       
  5561 
       
  5562 	* src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
       
  5563 	change.
       
  5564 
       
  5565 2007-06-19  Werner Lemberg  <wl@gnu.org>
       
  5566 
       
  5567 	* src/type1/t1load.c (parse_encoding): Handle one more error.
       
  5568 
       
  5569 2007-06-19  Dmitry Timoshkov  <dmitry@codeweavers.com>
       
  5570 
       
  5571 	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
       
  5572 	FNT_Err_Invalid_File_Format if file format was recognized but
       
  5573 	the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
       
  5574 	Add verbose debug logs to make it easier to debug failing load
       
  5575 	attempts.
       
  5576 	(FNT_Face_Init): A single FNT font can't contain more than 1 face,
       
  5577 	so return an error if requested face index is > 0.
       
  5578 	Do not do further attempt to load fonts if a previous attempt has
       
  5579 	failed but returned error FNT_Err_Invalid_File_Format, i.e., the
       
  5580 	file format has been recognized but no fonts found in the file.
       
  5581 
       
  5582 2007-07-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  5583 
       
  5584 	* src/base/ftmac.c: Apply patches proposed by Sean McBride.
       
  5585 	(FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
       
  5586 	the compiler warnings against unused arguments.
       
  5587 	(FT_ATSFontGetFileReference): Ditto.
       
  5588 	(FT_GetFile_From_Mac_ATS_Name): Ditto.
       
  5589 	(FT_New_Face_From_FSSpec): Ditto.
       
  5590 	(lookup_lwfn_by_fond): Fix wrong comment.
       
  5591 	Replace `const StringPtr' by more appropriate type
       
  5592 	`ConstStr255Param'.
       
  5593 	FSRefMakePathPath always returns UTF8 POSIX pathname in
       
  5594 	Mach-O, thus HFS pathname support is dropped.
       
  5595 	(count_faces): Remove HLock and HUnlock which is not
       
  5596 	required on Mac OS X anymore.
       
  5597 	(FT_New_Face_From_SFNT): Ditto.
       
  5598 	(FT_New_Face_From_FOND): Ditto.
       
  5599 	* builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
       
  5600 	except of HFS pathname support and HLock/HUnlock.
       
  5601 	They are required on classic CFM environment.
       
  5602 
       
  5603 2007-06-18  Werner Lemberg  <wl@gnu.org>
       
  5604 
       
  5605 	* src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
       
  5606 	assertion.
       
  5607 	(ps_parser_to_bytes): Fix error message.
       
  5608 
       
  5609 	* src/type42/t42objs.c (T42_Open_Face): Handle one more error.
       
  5610 	* src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
       
  5611 	Don't allow mixed binary and hex strings.
       
  5612 	Handle string_size == 0 and string_buf == 0.
       
  5613 	(t42_parse_encoding): Handle one more error.
       
  5614 
       
  5615 2007-06-18  Werner Lemberg  <wl@gnu.org>
       
  5616 
       
  5617 	* src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
       
  5618 	logic.
       
  5619 	(ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
       
  5620 	correctly.
       
  5621 	(ps_parser_load_field_table): Use `fields->array_max' instead of
       
  5622 	T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
       
  5623 
       
  5624 	* src/cff/cffgload.c (cff_decoder_prepare): Fix change from
       
  5625 	2007-06-06.
       
  5626 
       
  5627 2007-06-17  Werner Lemberg  <wl@gnu.org>
       
  5628 
       
  5629 	* src/tools/ftrandom.c (font_size): New global variable.
       
  5630 	(TestFace): Use it.
       
  5631 	(main): Handle new option `--size' to set `font_size'.
       
  5632 	(Usage): Updated.
       
  5633 
       
  5634 	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
       
  5635 	invalid font.
       
  5636 	(FNT_Load_Glyph): Protect against invalid bitmap width.
       
  5637 
       
  5638 2007-06-16  David Turner  <david@freetype.org>
       
  5639 
       
  5640 	* src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
       
  5641 	Prevent integer overflows when rendering very large outlines.
       
  5642 
       
  5643 	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
       
  5644 	well-formedness of the contours array when loading a glyph.
       
  5645 
       
  5646 	* src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
       
  5647 	and `zp2'.
       
  5648 	(Ins_IP): Check argument ranges to reject bogus operations properly.
       
  5649 	(IUP_WorkerRec): Add `max_points' member.
       
  5650 	(_iup_worker_interpolate): Check argument ranges.
       
  5651 	(Ins_IUP): Ignore empty outlines.
       
  5652 
       
  5653 2007-06-16  Dmitry Timoshkov  <dmitry@codeweavers.com>
       
  5654 
       
  5655 	* src/winfonts/winfnt.h: Add necessary structures for PE resource
       
  5656 	parsing.
       
  5657 	(WinPE32_HeaderRec): New structure.
       
  5658 	(WinPE32_SectionRec): New structure.
       
  5659 	(WinPE_RsrcDirRec): New structure.
       
  5660 	(WinPE_RsrcDirEntryRec): New structure.
       
  5661 	(WinPE_RsrcDataEntryRec): New structure.
       
  5662 	(FNT_FontRec): Remove unused `size_shift' field.
       
  5663 
       
  5664 	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
       
  5665 	loading bitmap .fon files in PE format.
       
  5666 
       
  5667 2007-06-15  Dmitry Timoshkov  <dmitry@codeweavers.com>
       
  5668 
       
  5669 	* builds/win32/ftdebug.c: Unify debug level handling with other
       
  5670 	platforms.
       
  5671 
       
  5672 2007-06-14  Dmitry Timoshkov  <dmitry@codeweavers.com>
       
  5673 
       
  5674 	* builds/win32/ftdebug.c (FT_Message): Send debug output to the
       
  5675 	console as well as to the debugger.
       
  5676 
       
  5677 2007-06-14  Werner Lemberg  <wl@gnu.org>
       
  5678 
       
  5679 	* src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
       
  5680 	cover all ranges which could possibly be handled by the aflatin
       
  5681 	module (since the default fallback for unknown ranges is now the
       
  5682 	afcjk module).  It might be necessary to fine-tune this further by
       
  5683 	splitting off modules for Greek, Cyrillic, or other blocks.
       
  5684 
       
  5685 2007-06-11  David Turner  <david@freetype.org>
       
  5686 
       
  5687 	* src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
       
  5688 	incorrect segment linking computation.  This was the root cause of
       
  5689 	Savannah bug #19565.
       
  5690 
       
  5691 
       
  5692 	* src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
       
  5693 	to improve the Latin auto-hinter.  Note that the new code is
       
  5694 	disabled by default since it is not stabilized yet.
       
  5695 
       
  5696 	* src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
       
  5697 	(disabled currently).
       
  5698 
       
  5699 	* src/autofit/afhints.c: Remove dead code.
       
  5700 	(af_axis_hints_new_edge): Add argument to handle segment directions.
       
  5701 	(af_edge_flags_to_string): New function.
       
  5702 	(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
       
  5703 	option flags.
       
  5704 	(af_glyph_hints_reload): Add argument to handle inflections.
       
  5705 	Simplify.
       
  5706 	(af_direction_compute): Fine tuning.
       
  5707 	(af_glyph_hints_align_edge_points): Fix logic.
       
  5708 	(af_glyph_hints_align_strong_points): Do linear search for small
       
  5709 	edge counts.
       
  5710 	(af_glyph_hints_align_weak_points): Skip any touched neighbors.
       
  5711 	(af_iup_shift): Handle zero `delta'.
       
  5712 
       
  5713 	* src/autofit/afhints.h: Updated.
       
  5714 	(AF_SORT_SEGMENTS): New macro (disabled).
       
  5715 	(AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
       
  5716 
       
  5717 	* src/autofit/afglobal.c (af_face_globals_get_metrics): Add
       
  5718 	argument to pass option flags for handling scripts.
       
  5719 	* src/autofit/afglobal.h: Updated.
       
  5720 
       
  5721 	* src/autofit/afcjk.c: Updated.
       
  5722 	* src/autofit/aflatin.c: Updated.
       
  5723 	(af_latin_metrics_scale_dim): Don't reduce scale by 2%.
       
  5724 
       
  5725 	(af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
       
  5726 	(af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
       
  5727 	Don't set `edge->dir'
       
  5728 	(af_latin_hint_edges): Add more logging.
       
  5729 
       
  5730 	* src/autofit/afloader.c: Updated.
       
  5731 
       
  5732 2007-06-11  Werner Lemberg  <wl@gnu.org>
       
  5733 
       
  5734 	* docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
       
  5735 
       
  5736 2007-06-10  David Turner  <david@freetype.org>
       
  5737 
       
  5738 	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
       
  5739 	the TrueType glyph loader.
       
  5740 
       
  5741 	* include/freetype/config/ftoption.h: Clarify documentation
       
  5742 	regarding unpatented hinting.
       
  5743 
       
  5744 
       
  5745 	Add new `FT_Face_CheckTrueTypePatents' API.
       
  5746 
       
  5747 	* include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
       
  5748 	declaration.
       
  5749 
       
  5750 	* include/freetype/internal/services/svttglyf.h,
       
  5751 	src/base/ftpatent.c: New files.
       
  5752 
       
  5753 	* include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
       
  5754 	New macro.
       
  5755 
       
  5756 	* src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
       
  5757 	`ttpload.h'.
       
  5758 	(tt_service_truetype_glyf): New service structure.
       
  5759 	(tt_services): Register it.
       
  5760 
       
  5761 	* modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
       
  5762 	`ftpatent.c'.
       
  5763 
       
  5764 2007-06-08  Werner Lemberg  <wl@gnu.org>
       
  5765 
       
  5766 	* src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
       
  5767 	Fonts without a cmap must be handled correctly by FreeType (anything
       
  5768 	else would be a bug).
       
  5769 
       
  5770 
       
  5771 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
       
  5772 	[FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
       
  5773 
       
  5774 2007-06-07  Werner Lemberg  <wl@gnu.org>
       
  5775 
       
  5776 	* src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
       
  5777 	tt_sbit_decoder_load_image): Protect against integer overflows.
       
  5778 
       
  5779 
       
  5780 	* src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
       
  5781 	for `x_control' and `y_control'.
       
  5782 
       
  5783 2007-06-06  Werner Lemberg  <wl@gnu.org>
       
  5784 
       
  5785 	* src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
       
  5786 
       
  5787 
       
  5788 	* src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
       
  5789 	FreeType error.
       
  5790 
       
  5791 
       
  5792 	* src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
       
  5793 	`font_count'.
       
  5794 
       
  5795 
       
  5796 	* src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
       
  5797 
       
  5798 
       
  5799 	* src/cff/cffgload.c (cff_decoder_prepare): Change return type to
       
  5800 	`FT_Error'.
       
  5801 	Check `fd_index'.
       
  5802 	(cff_slot_load): Updated.
       
  5803 	* src/cff/cffgload.h: Updated.
       
  5804 
       
  5805 2007-06-05  Werner Lemberg  <wl@gnu.org>
       
  5806 
       
  5807 	* src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
       
  5808 	(pfr_glyph_load_simple): Convert assertion into normal FreeType
       
  5809 	error.
       
  5810 	Check `idx'.
       
  5811 	(pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
       
  5812 	Convert assertion into normal FreeType error.
       
  5813 
       
  5814 	* src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
       
  5815 
       
  5816 
       
  5817 	* src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
       
  5818 
       
  5819 
       
  5820 	* src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
       
  5821 	in case of parsing error.
       
  5822 	(ps_parser_load_field): Updated.
       
  5823 
       
  5824 	* src/type1/t1load.c (parse_font_matrix): Updated.
       
  5825 
       
  5826 2007-06-04  Werner Lemberg  <wl@gnu.org>
       
  5827 
       
  5828 	* src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
       
  5829 
       
  5830 	* src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
       
  5831 
       
  5832 2007-06-03  Werner Lemberg  <wl@gnu.org>
       
  5833 
       
  5834 	* src/tools/ftrandom/*: Add the `ftrandom' test program written by
       
  5835 	George Williams (with some modifications).
       
  5836 
       
  5837 2007-06-03  Werner Lemberg  <wl@gnu.org>
       
  5838 
       
  5839 	* src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
       
  5840 	(T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
       
  5841 	face == NULL.  Suggested by Graham Asher.
       
  5842 
       
  5843 2007-06-03  Ismail Dönmez  <ismail@pardus.org.tr>
       
  5844 
       
  5845 	* src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
       
  5846 
       
  5847 2007-06-02  Werner Lemberg  <wl@gnu.org>
       
  5848 
       
  5849 	* include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
       
  5850 	FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
       
  5851 
       
  5852 	* src/bdf/bdflib.c (bdf_load_font): Use them.
       
  5853 
       
  5854 	* src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
       
  5855 
       
  5856 2007-06-01  Werner Lemberg  <wl@gnu.org>
       
  5857 
       
  5858 	* src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
       
  5859 	(FTC_CMapCache_Lookup): Remove unused code.
       
  5860 
       
  5861 2007-06-01  Sean McBride  <sean@rogue-research.com>
       
  5862 
       
  5863 	* src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
       
  5864 	unused.
       
  5865 
       
  5866 2007-06-01  Werner Lemberg  <wl@gnu.org>
       
  5867 
       
  5868 	* src/cid/cidparse.c (cid_parser_new): Don't continue second search
       
  5869 	pass for `StartData' if an error has occurred.
       
  5870 	Exit properly if no `StartData' has been seen at all.
       
  5871 
       
  5872 	* builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
       
  5873 	LONG_MAX to avoid compiler warning.  Suggested by Sean McBride.
       
  5874 
       
  5875 2007-05-30  Werner Lemberg  <wl@gnu.org>
       
  5876 
       
  5877 	* src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
       
  5878 	against too small binary data strings.
       
  5879 
       
  5880 	* src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
       
  5881 
       
  5882 2007-05-28  David Turner  <david@freetype.org>
       
  5883 
       
  5884 	* src/cff/cffgload.c (cff_slot_load): Do not apply the identity
       
  5885 	transformation.  This significantly reduces the loading time of CFF
       
  5886 	glyphs.
       
  5887 
       
  5888 	* docs/CHANGES: Updated.
       
  5889 
       
  5890 	* src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
       
  5891 	hinting script to CJK, since it works well with more scripts than
       
  5892 	latin.  Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
       
  5893 	this out!
       
  5894 
       
  5895 2007-05-25  Werner Lemberg  <wl@gnu.org>
       
  5896 
       
  5897 	* docs/CHANGES: Updated.
       
  5898 
       
  5899 2007-05-24  Werner Lemberg  <wl@gnu.org>
       
  5900 
       
  5901 	* src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
       
  5902 	into TT_USE_BYTECODE_INTERPRETER preprocessor block.
       
  5903 
       
  5904 2007-05-24  Graham Asher  <graham.asher@btinternet.com>
       
  5905 
       
  5906 	* src/truetype/ttobjs.c (tt_size_ready_bytecode)
       
  5907 	[!TT_USE_BYTECODE_INTERPRETER]: Removed.  Unused.
       
  5908 
       
  5909 2007-05-22  David Turner  <david@freetype.org>
       
  5910 
       
  5911 	* src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
       
  5912 	avoid crashes in case the bytecode interpreter is not used.
       
  5913 
       
  5914 
       
  5915 	Avoid heap blowup with very large .Z font files.  This fixes
       
  5916 	Savannah bug #19910.
       
  5917 
       
  5918 	* src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
       
  5919 	`in_limit', `pad', `pad_bits', and `in_buff' members.
       
  5920 	Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
       
  5921 	`buf_total' members.
       
  5922 
       
  5923 	* src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten.  It now takes
       
  5924 	only one argument.
       
  5925 	(ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
       
  5926 
       
  5927 2007-05-20  Ismail Dönmez  <ismail@pardus.org.tr>
       
  5928 
       
  5929 	* src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
       
  5930 	(ps_dimension_set_mask_bits): Remove `const'.
       
  5931 
       
  5932 2007-05-19  Werner Lemberg  <wl@gnu.org>
       
  5933 
       
  5934 	* src/sfnt/ttmtx.c (tt_face_get_metrics)
       
  5935 	[!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
       
  5936 
       
  5937 2007-05-19  Derek Clegg  <dclegg@apple.com>
       
  5938 
       
  5939 	Savannah patch #5929.
       
  5940 
       
  5941 	* include/freetype/tttables.h, src/base/ftobjcs.c
       
  5942 	(FT_Get_CMap_Format): New function.
       
  5943 
       
  5944 	* include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
       
  5945 	`format' member.
       
  5946 	* src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
       
  5947 	cmap_info->format.
       
  5948 
       
  5949 2007-05-19  Werner Lemberg  <wl@gnu.org>
       
  5950 
       
  5951 	* src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
       
  5952 	before handling subglyphs so that it can be reinitialized each time.
       
  5953 	This fixes Savannah bug #19859.
       
  5954 
       
  5955 2007-05-16  Werner Lemberg  <wl@gnu.org>
       
  5956 
       
  5957 	* src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
       
  5958 	src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
       
  5959 	(FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
       
  5960 	src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
       
  5961 	tt_face_get_metrics): Fix type-punning issues.
       
  5962 
       
  5963 2007-05-15  David Turner  <david@freetype.org>
       
  5964 
       
  5965 	* include/freetype/config/ftstdlib.h,
       
  5966 	include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
       
  5967 	ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
       
  5968 	instead on relying on the locale-dependent functions provided by
       
  5969 	<ctypes.h>.
       
  5970 
       
  5971 2007-05-15  Graham Asher  <graham.asher@btinternet.com>
       
  5972 
       
  5973 	* src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
       
  5974 	variable.
       
  5975 	* src/autofit/afloader.c (af_loader_load_g): Ditto.
       
  5976 
       
  5977 	* src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
       
  5978 	(open_face_from_buffer): Initialize `stream'.
       
  5979 	(FT_Request_Metrics): Remove unused variable.
       
  5980 	Remove redundant `break' statements.
       
  5981 	(FT_Get_Track_Kerning): Remove unused variable.
       
  5982 
       
  5983 	* src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
       
  5984 	afm_parse_kern_data): Remove redundant
       
  5985 	`break' statements.
       
  5986 	(afm_parser_parse): Ditto.
       
  5987 	Don't use uninitialized variables.
       
  5988 
       
  5989 	* src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
       
  5990 	Use `|' operator instead of `^' to set it.
       
  5991 	Update all users.
       
  5992 
       
  5993 	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
       
  5994 	* src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
       
  5995 
       
  5996 	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
       
  5997 	comparison.
       
  5998 	(TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
       
  5999 	(TT_Load_Glyph): Remove unused variable.
       
  6000 
       
  6001 2007-05-13  Derek Clegg  <dclegg@apple.com>
       
  6002 
       
  6003 	* src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
       
  6004 	if FT_RENDER_POOL_SIZE is > 0.  From Savannah patch #5928.
       
  6005 
       
  6006 2007-05-11  David Turner  <david@freetype.org>
       
  6007 
       
  6008 	* src/cache/ftbasic.c, include/freetype/ftcache.h
       
  6009 	(FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
       
  6010 	functions that allow us to look up glyphs using an FTC_Scaler object
       
  6011 	to specify the size, making it possible to use fractional pixel
       
  6012 	sizes.
       
  6013 
       
  6014 	* src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
       
  6015 	`size->cvt_ready'.  Reported by Boris Letocha.
       
  6016 
       
  6017 2007-05-09  Graham Asher  <graham.asher@btinternet.com>
       
  6018 
       
  6019 	* src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
       
  6020 	(af_latin_metrics_scale_dim): Fix compiler warnings.
       
  6021 
       
  6022 2007-05-06  Werner Lemberg  <wl@gnu.org>
       
  6023 
       
  6024 	* builds/win32/visualce/freetype.sln: Removed, as requested by
       
  6025 	Vincent.
       
  6026 
       
  6027 2007-05-04  Vincent RICHOMME  <richom.v@free.fr>
       
  6028 
       
  6029 	* builds/win32/visualce/*: Add Visual C++ project files for Pocket
       
  6030 	PC targets.
       
  6031 
       
  6032 	* docs/CHANGES: Document them.
       
  6033 
       
  6034 2007-05-04  <harry@kdevelop.org>
       
  6035 
       
  6036 	* builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
       
  6037 	mmap (which might happen on some RTOS).  From Savannah patch #5909.
       
  6038 
       
  6039 2007-05-03  Werner Lemberg  <wl@gnu.org>
       
  6040 
       
  6041 	* src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
       
  6042 	* include/freetype/freetype.h (FT_Set_Char_Size): Update
       
  6043 	documentation.
       
  6044 
       
  6045 2007-04-28  Victor Stinner  <victor.stinner@inl.fr>
       
  6046 
       
  6047 	* src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
       
  6048 	`cmap'.
       
  6049 
       
  6050 2007-04-27  Werner Lemberg  <wl@gnu.org>
       
  6051 
       
  6052 	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
       
  6053 	number of points in contours.  Problem reported by Victor Stinner
       
  6054 	<victor.stinner@haypocalc.com>.
       
  6055 	(TT_Process_Simple_Glyph): Synchronize variable types.
       
  6056 
       
  6057 2007-04-26  Werner Lemberg  <wl@gnu.org>
       
  6058 
       
  6059 	* src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
       
  6060 	zero in case of error.  This fixes Savannah bug #19689.
       
  6061 
       
  6062 2007-04-25  Boris Letocha  <b.letocha@cz.gmc.net>
       
  6063 
       
  6064 	* src/truetype/ttobjs.c: Fix a typo that created a speed regression
       
  6065 	in the TrueType bytecode loader.
       
  6066 
       
  6067 2007-04-10  Martin Horak  <horakm@centrum.cz>
       
  6068 
       
  6069 	* src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
       
  6070 	Ignore `hhea' table.  This fixes Savannah bug #19261.
       
  6071 
       
  6072 2007-04-09  Werner Lemberg  <wl@gnu.org>
       
  6073 
       
  6074 
       
  6075 	* Version 2.3.4 released.
       
  6076 	=========================
       
  6077 
       
  6078 
       
  6079 	Tag sources with `VER-2-3-4'.
       
  6080 
       
  6081 	* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
       
  6082 	version number to 2.3.4.
       
  6083 
       
  6084 	* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
       
  6085 	builds/win32/visualc/freetype.dsp,
       
  6086 	builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
       
  6087 
       
  6088 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
       
  6089 
       
  6090 	* builds/unix/configure.raw (version_info): Set to 9:15:3.
       
  6091 
       
  6092 2007-04-09  Martin Horak  <horakm@centrum.cz>
       
  6093 
       
  6094 	* src/truetype/ttgload.c (load_truetype_glyph): Save and restore
       
  6095 	memory stream to avoid a crash with the incremental memory
       
  6096 	interface (Savannah bug #19260).
       
  6097 
       
  6098 2007-04-06  David Turner  <david@freetype.org>
       
  6099 
       
  6100 	* src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
       
  6101 	(Savannah bug #19536).
       
  6102 
       
  6103 2007-04-04  Werner Lemberg  <wl@gnu.org>
       
  6104 
       
  6105 
       
  6106 	* Version 2.3.3 released.
       
  6107 	=========================
       
  6108 
       
  6109 
       
  6110 	Tag sources with `VER-2-3-3'.
       
  6111 
       
  6112 	* docs/CHANGES: Mention CVE-2007-1351.
       
  6113 
       
  6114 2007-04-03  David Turner  <david@freetype.org>
       
  6115 
       
  6116 	* src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
       
  6117 	if one of the resolution values is 0, treat it as if it were the
       
  6118 	same as the other value.
       
  6119 
       
  6120 2007-04-02  David Turner  <david@freetype.org>
       
  6121 
       
  6122 	Add special code to detect `extra-light' fonts and do not snap their
       
  6123 	stem widths too much to avoid bizarre hinting effects.
       
  6124 
       
  6125 	* src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
       
  6126 	`extra_light' members.
       
  6127 
       
  6128 	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
       
  6129 	them.
       
  6130 	(af_latin_metrics_scale_dim): Set `extra_light'.
       
  6131 	(af_latin_compute_stem_width): Use `extra_light'.
       
  6132 
       
  6133 2007-03-28  David Turner  <david@freetype.org>
       
  6134 
       
  6135 	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
       
  6136 	padding.
       
  6137 
       
  6138 2007-03-28  Werner Lemberg  <wl@gnu.org>
       
  6139 
       
  6140 	* src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
       
  6141 	gracefully.
       
  6142 	(_bdf_set_default_spacing): Increase `name' buffer size to 256 and
       
  6143 	issue an error for longer names.  This fixes CVE-2007-1351.
       
  6144 	(_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
       
  6145 	number of code points in Unicode.
       
  6146 
       
  6147 	* builds/win32/visualc/index.html,
       
  6148 	builds/win32/visualc/freetype.dsp,
       
  6149 	builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
       
  6150 	s/232/233/.
       
  6151 
       
  6152 	* docs/CHANGES: Mention ftdiff.
       
  6153 
       
  6154 2007-03-26  David Turner  <david@freetype.org>
       
  6155 
       
  6156 	* src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
       
  6157 	corresponding code.
       
  6158 	(Ins_MD): Last regression fix.
       
  6159 
       
  6160 	* src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
       
  6161 	computations in order to ignore single-point contours.  These are
       
  6162 	never rasterized and correspond in certain fonts to mark-attach
       
  6163 	points that are very far from the glyph's real outline, ruining the
       
  6164 	computation.
       
  6165 
       
  6166 	* src/autofit/afloader.c (af_loader_load_g): In the case of
       
  6167 	monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
       
  6168 	Otherwise code that uses them will most certainly ruin the fixed
       
  6169 	advance property.
       
  6170 
       
  6171 	* docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
       
  6172 	documentation and bump version number to 2.3.3.
       
  6173 
       
  6174 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
       
  6175 
       
  6176 	* builds/unix/configure.raw (version_info): Set to 9:14:3.
       
  6177 
       
  6178 2007-03-26  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6179 
       
  6180 	* builds/unix/ftconfig.in: Disable Carbon framework dependency on
       
  6181 	64bit ABI on Mac OS X 10.4.x (ppc & i386).  Found by Sean McBride.
       
  6182 	* builds/vms/ftconfig.h: Ditto.
       
  6183 	* include/freetype/config/ftconfig.h: Ditto.
       
  6184 
       
  6185 2007-03-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6186 
       
  6187 	* builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
       
  6188 	32bit unsigned long overflow by 64bit filesize on LP64 platform, as
       
  6189 	proposed by Sean McBride:
       
  6190 	http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
       
  6191 
       
  6192 2007-03-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6193 
       
  6194 	* builds/unix/ftconfig.in: Suppress SGI compiler's warning against
       
  6195 	setjmp, proposed by Sean McBride:
       
  6196 	http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
       
  6197 
       
  6198 2007-03-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6199 
       
  6200 	* builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
       
  6201 	conftest.c, to avoid unexpected shell evaluation.  Possibly it is a
       
  6202 	bug or undocumented behaviour of autoconf.
       
  6203 
       
  6204 2007-03-18  David Turner   <david@freetype.org>
       
  6205 
       
  6206 	* src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
       
  6207 	fix; testing still needed.
       
  6208 
       
  6209 	* src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
       
  6210 
       
  6211 2007-03-17  David Turner   <david@freetype.org>
       
  6212 
       
  6213 	* src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
       
  6214 	(undocumented) twilight zone special case.
       
  6215 
       
  6216 2007-03-09  Werner Lemberg  <wl@gnu.org>
       
  6217 
       
  6218 
       
  6219 	* Version 2.3.2 released.
       
  6220 	=========================
       
  6221 
       
  6222 
       
  6223 	Tag sources with `VER-2-3-2'.
       
  6224 
       
  6225 	* builds/win32/visualc/index.html,
       
  6226 	builds/win32/visualc/freetype.dsp,
       
  6227 	builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
       
  6228 	s/231/232/.
       
  6229 
       
  6230 2007-03-08  David Turner  <david@freetype.org>
       
  6231 
       
  6232 	* docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
       
  6233 
       
  6234 	* builds/unix/configure.raw (version_info): Set to 9:13:3.
       
  6235 
       
  6236 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
       
  6237 
       
  6238 	* README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
       
  6239 
       
  6240 	* src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
       
  6241 	function to work properly, over-writing user-provided buffers in
       
  6242 	some cases.  Reported by James Cloos <cloos@jhcloos.com>.
       
  6243 
       
  6244 
       
  6245 2007-03-05  Werner Lemberg  <wl@gnu.org>
       
  6246 
       
  6247 	* include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
       
  6248 	macro for `strstr'.
       
  6249 
       
  6250 	* src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
       
  6251 	`trick_names', as suggested by Ivan Nincic.
       
  6252 
       
  6253 2007-03-05  David Turner  <david@freetype.org>
       
  6254 
       
  6255 	* src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
       
  6256 	case FT_Init_FreeType fails for some reason.  Problem reported by
       
  6257 	Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
       
  6258 
       
  6259 	* src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
       
  6260 	and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
       
  6261 	`TT_Size.root.metrics'.  Problem reported by Daniel Glöckner
       
  6262 	<daniel-gl@gmx.net>.
       
  6263 
       
  6264 	* src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
       
  6265 	signed values, not unsigned ones.  Problem reported by Johannes
       
  6266 	Walther <joh_walt@yahoo.de>.
       
  6267 
       
  6268 2007-02-21  David Turner  <david@freetype.org>
       
  6269 
       
  6270 	* src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
       
  6271 	of small and ghost stems in the Postscript interpreter.
       
  6272 
       
  6273 2007-02-20  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6274 
       
  6275 	* src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
       
  6276 	leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
       
  6277 	* builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
       
  6278 
       
  6279 2007-02-16  Werner Lemberg  <wl@gnu.org>
       
  6280 
       
  6281 	* src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
       
  6282 	* src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
       
  6283 
       
  6284 2007-02-14  David Turner  <david@freetype.org>
       
  6285 
       
  6286 	It seems that the following changes fix most of the known
       
  6287 	interpreter problems with my fonts, but more testing is needed,
       
  6288 	though.
       
  6289 
       
  6290 	* src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
       
  6291 	(TT_MulFix14): Rewrite.
       
  6292 	(Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
       
  6293 	(Ins_MIRP): Ditto.
       
  6294 
       
  6295 2007-02-12  Werner Lemberg  <wl@gnu.org>
       
  6296 
       
  6297 	* src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
       
  6298 	warnings.
       
  6299 
       
  6300 	* src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
       
  6301 	(bdf_interpret_style): Ditto.
       
  6302 
       
  6303 2007-02-12  David Turner  <david@freetype.org>
       
  6304 
       
  6305 	Simplify projection and dual-projection code interface.
       
  6306 
       
  6307 	* src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
       
  6308 	FT_Vector' as argument type.
       
  6309 	* src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
       
  6310 	Updated.
       
  6311 	(CUR_fast_project, CUR_fast_dualproj): New macros.
       
  6312 	(Project, Dual_Project, Project_x, Project_y): Updated.
       
  6313 	(Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
       
  6314 	macros.
       
  6315 
       
  6316 
       
  6317 	* src/autofit/afloader.c (af_loader_load_g): Improve spacing
       
  6318 	adjustments for the non-light auto-hinted modes.  Gets rid of
       
  6319 	`inter-letter spacing is too wide' problems.
       
  6320 
       
  6321 	* src/autofit/aflatin.c (af_latin_hints_link_segments,
       
  6322 	af_latin_hints_compute_edges): Slight optimization of the segment
       
  6323 	linker and better handling of serif segments to get rid of broken
       
  6324 	`9' in Arial at 9pt (96dpi).
       
  6325 
       
  6326 
       
  6327 	Introduce new string functions and the corresponding macros to get
       
  6328 	rid of various uses of strcpy and other `evil' functions, as well as
       
  6329 	to simplify a few things.
       
  6330 
       
  6331 	* include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
       
  6332 	ft_mem_strcpyn): New declarations.
       
  6333 	(FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
       
  6334 	macros.
       
  6335 	* src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
       
  6336 	functions.
       
  6337 
       
  6338 	* src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
       
  6339 	src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
       
  6340 	(pcf_get_properties, pcf_interpret_style, pcf_load_font),
       
  6341 	src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
       
  6342 	(cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
       
  6343 	src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
       
  6344 	(t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
       
  6345 	t42_get_name_index): Use new functions and simplify code.
       
  6346 
       
  6347 	* builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
       
  6348 
       
  6349 2007-02-11  Werner Lemberg  <wl@gnu.org>
       
  6350 
       
  6351 	* src/autofit/afloader.c (af_loader_load_g): Don't change width for
       
  6352 	non-spacing glyphs.
       
  6353 
       
  6354 2007-02-07  Tom Parker  <palfrey@tevp.net>
       
  6355 
       
  6356 	* src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
       
  6357 	pointer.
       
  6358 
       
  6359 2007-02-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6360 
       
  6361 	* include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
       
  6362 	Introduce __attribute((deprecated))__ to warn functions
       
  6363 	which use non-ANSI data types in its interfaces.
       
  6364 	(FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
       
  6365 	(FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
       
  6366 	(FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
       
  6367 	(FT_New_Face_From_FSRef): Deprecated, using FSRef.
       
  6368 
       
  6369 	* src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
       
  6370 	to avoid warning in building FreeType.
       
  6371 	* builds/mac/ftmac.c: Ditto.
       
  6372 
       
  6373 2007-02-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6374 
       
  6375 	* src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
       
  6376 	`--with-fsspec' etc.  Replace #include "ftmac.c" with
       
  6377 	#include <ftmac.c>.
       
  6378 
       
  6379 2007-02-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6380 
       
  6381 	* include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
       
  6382 	Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
       
  6383 	* src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
       
  6384 	(FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
       
  6385 	FT_GetFilePath_From_Mac_ATS_Name.
       
  6386 	* builds/mac/ftmac.c: Ditto.
       
  6387 
       
  6388 2007-02-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6389 
       
  6390 	* include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
       
  6391 	FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
       
  6392 	for passing to FT_New_Face_From_FSSpec.
       
  6393 
       
  6394 2007-02-05  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6395 
       
  6396 	* builds/unix/configure.raw: Check whether Mac OS X system headers
       
  6397 	can be built under ANSI C mode.
       
  6398 
       
  6399 	* src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
       
  6400 	compatible to ANSI C in case system headers are ANSI C incompatible.
       
  6401 	* builds/mac/ftmac.c (OS_INLINE): Ditto.
       
  6402 
       
  6403 2007-02-01  Werner Lemberg  <wl@gnu.org>
       
  6404 
       
  6405 	* include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
       
  6406 	Explain why applications shouldn't use it.  Found by Alexei.
       
  6407 
       
  6408 2007-02-01  Alexei Podtelezhnikov  <apodtele@gmail.com>
       
  6409 
       
  6410 	* builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
       
  6411 	message.
       
  6412 
       
  6413 	* src/gxvalid/gxvmort1.c
       
  6414 	(gxv_mort_subtable_type1_substTable_validate): Fix debugging
       
  6415 	message.
       
  6416 
       
  6417 2007-01-31  Werner Lemberg  <wl@gnu.org>
       
  6418 
       
  6419 
       
  6420 	* Version 2.3.1 released.
       
  6421 	=========================
       
  6422 
       
  6423 
       
  6424 	Tag sources with `VER-2-3-1-FINAL'.
       
  6425 
       
  6426 	* builds/win32/visualc/freetype.dsp,
       
  6427 	builds/win32/visualc/freetype.vcproj: s/230/231/.
       
  6428 	* builds/win32/visualc/index.html: s/221/231/.
       
  6429 
       
  6430 	* vms_make.com: Add `ftgasp'.
       
  6431 
       
  6432 2007-01-30  David Turner  <david@freetype.org>
       
  6433 
       
  6434 	Tag sources with VER-2-3-1 to prepare release.
       
  6435 
       
  6436 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
       
  6437 
       
  6438 	* docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
       
  6439 	s/2.3.0/2.3.1/.
       
  6440 
       
  6441 	* builds/unix/configure.raw (version_info): Set to 9:12:3.
       
  6442 
       
  6443 
       
  6444 	* src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
       
  6445 	(af_loader_load_g): Disable the warper (i.e., the light hinting
       
  6446 	improvements) to make a 2.3.1 bugfix release before introducing a
       
  6447 	new feature.  This should give us more time to tune and improve the
       
  6448 	warper for the next release.
       
  6449 
       
  6450 	* docs/CHANGES: Update accordingly.
       
  6451 
       
  6452 2007-01-25  David Turner  <david@freetype.org>
       
  6453 
       
  6454 	For light auto-hinting, improve glyph advance widths and resurrect
       
  6455 	normal/full hinting to its normal quality.
       
  6456 
       
  6457 	* src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
       
  6458 	and `xmax_delta'.
       
  6459 	* src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
       
  6460 	and `xmax_delta'.
       
  6461 
       
  6462 	* src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
       
  6463 	preprocessor conditional with if-clause, handling both light and
       
  6464 	normal mode.
       
  6465 
       
  6466 	* src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
       
  6467 	(af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
       
  6468 
       
  6469 2007-01-25  Werner Lemberg  <wl@gnu.org>
       
  6470 
       
  6471 	* docs/release: Updated -- Savannah uses a new uploading scheme.
       
  6472 
       
  6473 2007-01-25  David Turner  <david@freetype.org>
       
  6474 
       
  6475 	* src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
       
  6476 
       
  6477 	* src/cff/cffgload.c (cff_decoder_parse_charstrings)
       
  6478 	<cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
       
  6479 	functions.
       
  6480 
       
  6481 	* docs/CHANGES: Document light auto-hinting improvement.
       
  6482 
       
  6483 2007-01-25  Werner Lemberg  <wl@gnu.org>
       
  6484 
       
  6485 	* src/cff/cffload.c (cff_index_get_pointers): Handle last entry
       
  6486 	correctly in a sanity check.  Since this function is only used to
       
  6487 	load local and global functions, any charstring that called the last
       
  6488 	local/global function would fail otherwise.  This fixes Savannah bug
       
  6489 	#18867.
       
  6490 
       
  6491 	* docs/CHANGES: Document it.
       
  6492 
       
  6493 2007-01-23  David Turner  <david@freetype.org>
       
  6494 
       
  6495 	* src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
       
  6496 	prevented compilation when disabling both the unpatented and the
       
  6497 	bytecode interpreter in the TrueType font driver.
       
  6498 
       
  6499 
       
  6500 	Fix and enable the warper to improve `light' hinting mode.  This is
       
  6501 	not necessarily a final version, but it seems to work well.
       
  6502 
       
  6503 	* src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
       
  6504 	Disable code.
       
  6505 	(af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
       
  6506 	* src/autofit/aftypes.h: Activate AF_USE_WARPER.
       
  6507 
       
  6508 	* src/autofit/afwarp.c (AF_WarpScore): Tune table.
       
  6509 	(af_warper_compute_line_best): Fix array size of `scores'.
       
  6510 	(af_warper_compute): Better handling of border cases.
       
  6511 	* src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
       
  6512 	and `X2'.
       
  6513 
       
  6514 2007-01-21  Werner Lemberg  <wl@gnu.org>
       
  6515 
       
  6516 	* ChangeLog: Split off older entries into...
       
  6517 	* ChangeLog.22: This new file.
       
  6518 
       
  6519 2007-01-21  Werner Lemberg  <wl@gnu.org>
       
  6520 
       
  6521 	* docs/CHANGES: Document SHZ fix.
       
  6522 
       
  6523 2007-01-21  George Williams  <gww@silcom.com>
       
  6524 
       
  6525 	* src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
       
  6526 	points.
       
  6527 
       
  6528 2007-01-21  Werner Lemberg  <wl@gnu.org>
       
  6529 
       
  6530 	* src/sfnt/ttmtx.c (tt_face_get_metrics)
       
  6531 	[!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
       
  6532 
       
  6533 2007-01-17  Werner Lemberg  <wl@gnu.org>
       
  6534 
       
  6535 
       
  6536 	* Version 2.3.0 released.
       
  6537 	=========================
       
  6538 
       
  6539 
       
  6540 	Tag sources with `VER-2-3-0-FINAL'.
       
  6541 
       
  6542 2007-01-17  Werner Lemberg  <wl@gnu.org>
       
  6543 
       
  6544 	* docs/release: Updated.
       
  6545 
       
  6546 2007-01-16  David Turner  <david@freetype.org>
       
  6547 
       
  6548 	* src/autofit/aflatin.c (af_latin_hints_compute_segments),
       
  6549 	src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
       
  6550 	(tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
       
  6551 	warnings.
       
  6552 
       
  6553 2007-01-15  Detlef Würkner  <TetiSoft@apg.lahn.de>
       
  6554 
       
  6555 	* builds/amiga/makefile, builds/amiga/makefile.os4,
       
  6556 	builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
       
  6557 
       
  6558 	* builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
       
  6559 
       
  6560 2007-01-14  Detlef Würkner  <TetiSoft@apg.lahn.de>
       
  6561 
       
  6562 	Fix various compiler warnings.
       
  6563 
       
  6564 	* src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
       
  6565 	src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
       
  6566 	s/index/strike_index/.
       
  6567 	* src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
       
  6568 
       
  6569 	* src/gxvalid/gxvmorx5.c
       
  6570 	(gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
       
  6571 
       
  6572 	* src/truetype/ttinterp.c (Compute_Point_Displacement),
       
  6573 	src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
       
  6574 	uninitialized variables.
       
  6575 
       
  6576 2007-01-13  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6577 
       
  6578 	* docs/CHANGES, docs/INSTALL.MAC: Improvements.
       
  6579 
       
  6580 2007-01-13  Werner Lemberg  <wl@gnu.org>
       
  6581 
       
  6582 	* src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
       
  6583 	versions up to 0x3FF without complaining.
       
  6584 
       
  6585 2007-01-13  Derek Clegg  <dclegg@apple.com>
       
  6586 
       
  6587 	Add FT_Get_PS_Font_Info interface to CFF driver.
       
  6588 
       
  6589 	* src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
       
  6590 	(CFF_FontRec): Add `font_info' field.
       
  6591 
       
  6592 	* src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
       
  6593 	(cff_font_done): Free font->font_info if necessary.
       
  6594 
       
  6595 	* src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
       
  6596 	(cff_service_ps_info): Register cff_ps_get_font_info.
       
  6597 
       
  6598 2007-01-13  Werner Lemberg  <wl@gnu.org>
       
  6599 
       
  6600 	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
       
  6601 	with C++ compiler.
       
  6602 
       
  6603 	* src/autofit/afhints.c (af_glyph_hints_dump_segments,
       
  6604 	af_glyph_hints_dump_edges): Ditto.
       
  6605 
       
  6606 	* src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
       
  6607 	`modules.cfg').
       
  6608 
       
  6609 	* src/sfnt/ttsbit0.h: Remove.
       
  6610 
       
  6611 	* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
       
  6612 
       
  6613 2007-01-12  David Turner  <david@freetype.org>
       
  6614 
       
  6615 	* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
       
  6616 	bug in the bitmap emboldener if the pitch of the source bitmap is
       
  6617 	much larger than its width.
       
  6618 
       
  6619 	* src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
       
  6620 	compilation warning.
       
  6621 
       
  6622 2007-01-12  Werner Lemberg  <wl@gnu.org>
       
  6623 
       
  6624 	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
       
  6625 	`automake' CVS module from sources.redhat.com.
       
  6626 
       
  6627 2007-01-11  Werner Lemberg  <wl@gnu.org>
       
  6628 
       
  6629 	* src/type1/t1load.c (is_space): Removed.
       
  6630 	(parse_encoding, parse_charstrings): Use IS_PS_DELIM.
       
  6631 	(parse_charstrings): Use IS_PS_TOKEN.
       
  6632 
       
  6633 
       
  6634 	* autogen.sh: Avoid bash specific syntax.
       
  6635 
       
  6636 2007-01-11  David Turner  <david@freetype.org>
       
  6637 
       
  6638 	* docs/CHANGES: Small update.
       
  6639 
       
  6640 	* builds/unix/configure.raw (version_info): Set to 9:11:3.
       
  6641 
       
  6642 	* src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
       
  6643 	crash with some Mac OS X .dfont files.  Submitted by Masatake
       
  6644 	Yamato.
       
  6645 
       
  6646 	* autogen.sh: Small fix to get it working on Mac OS X properly:
       
  6647 	The issue is that GNU libtool is called `glibtool' on this platform,
       
  6648 	and we must call `glibtoolize', since `libtoolize' doesn't exist.
       
  6649 
       
  6650 2007-01-10  David Turner  <david@freetype.org>
       
  6651 
       
  6652 	* all-sources: Tag all sources with VER-2-3-0-RC1 and
       
  6653 	VER-2-3-0.
       
  6654 
       
  6655 	* Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
       
  6656 	builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
       
  6657 	version number to 2.3.0.
       
  6658 
       
  6659 	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
       
  6660 	(FREETYPE_PATCH): Set to 0.
       
  6661 
       
  6662 	* include/freetype/ftchapters.h, include/freetype/ftgasp.h,
       
  6663 	include/freetype/ftlcdfil.h: Update reference documentation with
       
  6664 	GASP support and LCD filtering sections.
       
  6665 
       
  6666 	* src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
       
  6667 	which created an endless loop with some malformed font files.
       
  6668 
       
  6669 2007-01-10  Derek Clegg  <dclegg@apple.com>
       
  6670 
       
  6671 	* src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
       
  6672 	values.
       
  6673 
       
  6674 2007-01-08  David Turner  <david@freetype.org>
       
  6675 
       
  6676 	* docs/CHANGES: Updated.
       
  6677 
       
  6678 	* include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
       
  6679 	a new API `FT_Get_Gasp' to return entries of the `gasp' table
       
  6680 	corresponding to a given character pixel size.
       
  6681 
       
  6682 	* src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
       
  6683 	`gasp' table, in order to avoid potential problems with later
       
  6684 	versions.
       
  6685 
       
  6686 	* include/freetype/config/ftheader.h (FT_GASP_H): New macro for
       
  6687 	<freetype/ftgasp.h>.
       
  6688 
       
  6689 	* src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
       
  6690 	modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
       
  6691 	builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
       
  6692 	default build.
       
  6693 
       
  6694 2007-01-07  Werner Lemberg  <wl@gnu.org>
       
  6695 
       
  6696 	* src/cid/cidparse.c (cid_parser_new): Improve error message for
       
  6697 	Type 11 fonts.
       
  6698 	Scan for `/sfnts' token.
       
  6699 
       
  6700 2007-01-07  Werner Lemberg  <wl@gnu.org>
       
  6701 
       
  6702 	* src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
       
  6703 
       
  6704 2007-01-06  Werner Lemberg  <wl@gnu.org>
       
  6705 
       
  6706 	* src/cff/cffload.c (cff_index_init): Remove unused variable.
       
  6707 	(cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
       
  6708 
       
  6709 2007-01-04  David Turner  <david@freetype.org>
       
  6710 
       
  6711 	* src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
       
  6712 	correctly.  This fixes Savannah bug #17876.
       
  6713 
       
  6714 
       
  6715 	Do not allocate interpreter-specific tables in memory if we are not
       
  6716 	going to load glyphs with the bytecode interpreter anyway.
       
  6717 
       
  6718 	* src/truetype/ttgload.c (tt_loader_init): Load execution context
       
  6719 	only if glyph is hinted.
       
  6720 	Updated.
       
  6721 	* src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
       
  6722 	and `cvs_ready'.
       
  6723 	Add `tt_size_ready_bytecode' declaration.
       
  6724 	* src/truetype/ttobjs.c (tt_size_done_bytecode,
       
  6725 	tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
       
  6726 	(tt_size_init): Move most code into `tt_size_init_bytecode'.
       
  6727 	(tt_size_done): Move most code into `tt_size_done_bytecode'.
       
  6728 	(tt_size_reset): Move some code to `tt_size_ready_bytecode'.
       
  6729 
       
  6730 
       
  6731 	Don't extract the metrics table from the SFNT font file.  Instead,
       
  6732 	reparse it on each glyph load.  The runtime difference is not
       
  6733 	noticeable, and it can save a lot of heap memory when memory-mapped
       
  6734 	files are not used.
       
  6735 
       
  6736 	* include/freetype/internal/tttypes.h (TT_FaceRec): Add members
       
  6737 	`horz_metrics_offset' and `vert_metrics_ofset'.
       
  6738 	* src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
       
  6739 	Updated.
       
  6740 
       
  6741 
       
  6742 	* src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
       
  6743 
       
  6744 
       
  6745 	Do not load the CFF index offsets into memory, since this wastes a
       
  6746 	*lot* of heap memory with large Asian CFF fonts.  There is no
       
  6747 	significant performance loss.
       
  6748 
       
  6749 	* src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
       
  6750 	* src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
       
  6751 	`data_size'.
       
  6752 	(CFF_CharsetRec): Add field `num_glyphs'.
       
  6753 
       
  6754 	* src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
       
  6755 	cff_charset_cid_to_gindex): New functions.
       
  6756 	(cff_new_index): Renamed to...
       
  6757 	(cff_index_init): This.  Update all callers.
       
  6758 	Updated -- some code has been moved to `cff_index_load_offsets'.
       
  6759 	(cff_done_index): Renamed to...
       
  6760 	(cff_index_done): This.  Update all callers.
       
  6761 	(cff_index_get_pointers, cff_index_access_element): Updated to use
       
  6762 	stream offsets.
       
  6763 	(cff_charset_compute_cids): Set `num_glyphs' field.
       
  6764 	(cff_encoding_load): Updated.
       
  6765 
       
  6766 	* src/cff/cffgload.c (cff_slot_load): Updated.
       
  6767 
       
  6768 2007-01-04  David Turner  <david@freetype.org>
       
  6769 
       
  6770 	* docs/INSTALL.UNIX: Simplify some parts, add reference to
       
  6771 	autogen.sh and pointer to README.CVS.
       
  6772 
       
  6773 	* README.CVS: Add common problem description and solution
       
  6774 	when running autogen.sh.
       
  6775 
       
  6776 	* docs/INSTALL: Add reference to MacOS X.
       
  6777 
       
  6778 	* docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
       
  6779 
       
  6780 	* docs/TODO: Remove obsolete items.
       
  6781 
       
  6782 	* src/raster/ftraster.c: (TRaster_Instance): Replace it with...
       
  6783 	(TWorker): This.
       
  6784 	Remove `count_table' and `memory'.
       
  6785 	Make `grays' a pointer.
       
  6786 	(TRaster): New structure.
       
  6787 	(count_table): New static array.
       
  6788 	(RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
       
  6789 	Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
       
  6790 	ft_black_set_mode, ft_black_render): Updated.
       
  6791 	(ft_black_init): Don't initialize `count_table'.
       
  6792 	(ft_black_reset): Use the render pool.  This saves about 6KB of
       
  6793 	heap space for each FT_Library instance.
       
  6794 
       
  6795 	* src/smooth/ftgrays.c (TRaster): Replaced with...
       
  6796 	(TWorker): This.
       
  6797 	Remove `memory'.
       
  6798 	(TRaster): New structure.
       
  6799 
       
  6800 	(RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
       
  6801 	gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
       
  6802 	gray_render_span, gray_raster_render): Updated.
       
  6803 	(gray_raster_reset): Use the render pool.  This saves about 6KB of
       
  6804 	heap space for each FT_Library instance.
       
  6805 
       
  6806 	* src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
       
  6807 	src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
       
  6808 	src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
       
  6809 	FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
       
  6810 	the optimization is no longer experimental.
       
  6811 
       
  6812 	* src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
       
  6813 	Remove a typo that results in no hinting and a memory leak with some
       
  6814 	large Asian CFF fonts.
       
  6815 
       
  6816 	* src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
       
  6817 	which happens when FT_Done_Library is called with still opened
       
  6818 	CFF_Faces in it.  We need to close all faces before destroying the
       
  6819 	modules, or else some bad things (memory leaks) may happen.
       
  6820 
       
  6821 2007-01-02  Werner Lemberg  <wl@gnu.org>
       
  6822 
       
  6823 	* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
       
  6824 	Remove compiler warning.
       
  6825 
       
  6826 2007-01-02  David Turner  <david@freetype.org>
       
  6827 
       
  6828 	* src/sfnt/sfobjs.c: Add documentation comment.
       
  6829 
       
  6830 2006-12-31  Masatake YAMATO  <jet@gyve.org>
       
  6831 
       
  6832 	* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
       
  6833 	function.
       
  6834 	Check uniqueness of the gid pairs.
       
  6835 	(gxv_kern_subtable_fmt0_validate): Move some code to
       
  6836 	`gxv_kern_subtable_fmt0_pairs_validate'.
       
  6837 
       
  6838 2006-12-22  David Turner  <david@freetype.org>
       
  6839 
       
  6840 	* src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
       
  6841 	warnings.
       
  6842 
       
  6843 	* builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
       
  6844 	to avoid deprecation warnings with Visual C++ 8.
       
  6845 
       
  6846 2006-12-16  Anders Kaseorg  <anders@kaseorg.com>
       
  6847 
       
  6848 	* src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
       
  6849 	[FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
       
  6850 
       
  6851 2006-12-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6852 
       
  6853 	* include/freetype/internal/services/svotval.h: Add `volatile' to
       
  6854 	sync with the modification by Jens Claudius on 2006-08-22; cf.
       
  6855 	  http://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5
       
  6856 
       
  6857 2006-12-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6858 
       
  6859 	* src/base/ftmac.c: Specialized for Mac OS X only.
       
  6860 	* builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
       
  6861 	* builds/unix/configure.raw: Ditto.  When explicit switches for
       
  6862 	FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
       
  6863 	builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
       
  6864 
       
  6865 2006-12-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6866 
       
  6867 	* builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
       
  6868 	* builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
       
  6869 	instead of src/base/ftmac.c
       
  6870 	* builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
       
  6871 	* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
       
  6872 	* builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
       
  6873 	that cannot be built at present.
       
  6874 
       
  6875 2006-12-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  6876 
       
  6877 	* src/base/ftobjs.c: Improvement of resource fork handler for
       
  6878 	POSIX, cf.
       
  6879 	  http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
       
  6880 	(Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
       
  6881 	format or .dfont, to simulate the face index number counted by ftmac.c.
       
  6882 	(IsMacResource): Return the number of scalable faces correctly.
       
  6883 
       
  6884 2006-12-10  Werner Lemberg  <wl@gnu.org>
       
  6885 
       
  6886 	* builds/toplevel.mk (version): Protect against `distclean' target.
       
  6887 
       
  6888 2006-12-09  Werner Lemberg  <wl@gnu.org>
       
  6889 
       
  6890 	* builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
       
  6891 	or `type'.
       
  6892 
       
  6893 	* builds/freetype.mk (version): Extracted from freetype.h, using
       
  6894 	GNU make's built-in string functions.
       
  6895 	(refdoc): Use $(version) instead of static version number.
       
  6896 
       
  6897 2006-12-08  Werner Lemberg  <wl@gnu.org>
       
  6898 
       
  6899 	* builds/toplevel.mk (dist): Extract version number from freetype.h.
       
  6900 
       
  6901 2006-12-08  Vladimir Volovich  <vvv@vsu.ru>
       
  6902 
       
  6903 	* src/tools/apinames.c (State): Remove final comma in structure --
       
  6904 	xlc v5 under AIX 4.3 doesn't like this.
       
  6905 
       
  6906 2006-12-07  David Turner  <david@freetype.org>
       
  6907 
       
  6908 	* src/autofit/afloader.c (af_loader_load_g): Small adjustment
       
  6909 	to the spacing of auto-fitted glyphs.  This only impacts rare
       
  6910 	cases (e.g., Arial Bold at rather small character sizes).
       
  6911 
       
  6912 2006-12-03  Werner Lemberg  <wl@gnu.org>
       
  6913 
       
  6914 	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
       
  6915 
       
  6916 2006-12-01  Werner Lemberg  <wl@gnu.org>
       
  6917 
       
  6918 	* src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
       
  6919 	encoded in UTF-16BE.  Patch from Rajeev Pahuja <rpahuja@esri.com>.
       
  6920 	(tt_name_entry_ascii_from_ucs4): Removed.
       
  6921 
       
  6922 
       
  6923 	* include/freetype/ftxf86.h: Fix and extend comment so that it
       
  6924 	appears in the documentation.
       
  6925 
       
  6926 	* include/freetype/ftchapters.h: Add `font_format' section.
       
  6927 
       
  6928 
       
  6929 	* src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
       
  6930 	to TOC in index page.
       
  6931 
       
  6932 2006-11-28  David Turner  <david@freetype.org>
       
  6933 
       
  6934 	* src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
       
  6935 	trying to render into a zero-width/height bitmap, not an error code.
       
  6936 
       
  6937 	* src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
       
  6938 
       
  6939 	* src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
       
  6940 	ones instead.
       
  6941 
       
  6942 	* src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
       
  6943 	variable.
       
  6944 
       
  6945 2006-11-26  Pierre Hanser  <hanser@club-internet.fr>
       
  6946 
       
  6947 	* src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
       
  6948 
       
  6949 2006-11-25  David Turner  <david@freetype.org>
       
  6950 
       
  6951 	* src/autofit/afhints.c	(af_glyph_hints_dump_points,
       
  6952 	af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
       
  6953 	Add stubs to link the `ftgrid' test program when debugging is
       
  6954 	disabled in the auto-hinter.
       
  6955 
       
  6956 2006-11-23  David Turner  <david@freetype.org>
       
  6957 
       
  6958 	* src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
       
  6959 	src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
       
  6960 
       
  6961 	* src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
       
  6962 	Emit more sensible information.
       
  6963 
       
  6964 	* src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
       
  6965 
       
  6966 	* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
       
  6967 	rounding of blue values.
       
  6968 	(af_latin_hints_compute_segments): Hint segment heights.
       
  6969 	(af_latin_hints_link_segments): Reduce `len_score' value.
       
  6970 	(af_latin_hints_compute_edges): Increase `segment_length_threshold'
       
  6971 	value and use `height' member for comparisons.
       
  6972 	(af_latin_hint_edges): Extend logging message.
       
  6973 	Improve handling of remaining edges.
       
  6974 
       
  6975 2006-11-22  Werner Lemberg  <wl@gnu.org>
       
  6976 
       
  6977 	Fix Savannah bug #15553.
       
  6978 
       
  6979 	* src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
       
  6980 	program after a change from mono to grayscaling (and vice versa).
       
  6981 	Use correct constant for comparison to get `exec->grayscale'.
       
  6982 
       
  6983 2006-11-18  Werner Lemberg  <wl@gnu.org>
       
  6984 
       
  6985 	Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
       
  6986 	test for a valid glyph index must be deferred to the font drivers.
       
  6987 	This patch fixes Savannah bug #18301.
       
  6988 
       
  6989 	* src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
       
  6990 	* src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
       
  6991 	(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
       
  6992 	src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
       
  6993 	(pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
       
  6994 	src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
       
  6995 	(FNT_Load_Glyph): Check validity of `glyph_index'.
       
  6996 
       
  6997 2006-11-13  David Turner  <david@freetype.org>
       
  6998 
       
  6999 	* src/truetype/ttinterp.c (FIX_BYTECODE): Undefine.  The interpreter
       
  7000 	`enhancements' are still too buggy for general use.
       
  7001 
       
  7002 	* src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
       
  7003 	FT_FORCE_LEGACY_LCD_FILTER at compile time.  Define these macros
       
  7004 	when building the library to change the default LCD filter to be
       
  7005 	used.  This is only useful for experimentation.
       
  7006 
       
  7007 	* include/freetype/ftlcdfil.h: Update documentation.
       
  7008 
       
  7009 2006-11-10  David Turner  <david@freetype.org>
       
  7010 
       
  7011 	* src/smooth/ftsmooth.c: API change for the LCD
       
  7012 	filter.  The FT_LcdFilter value is an enumeration describing which
       
  7013 	filter to apply, with new values FT_LCD_FILTER_LIGHT and
       
  7014 	FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
       
  7015 	algorithm which produces strong color fringes for everything
       
  7016 	except very-well hinted text).
       
  7017 
       
  7018 	* include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
       
  7019 	second parameter to an enum type.
       
  7020 
       
  7021 	* src/base/ftlcdfil.c (USE_LEGACY): Define.
       
  7022 	(_ft_lcd_filter): Rename to...
       
  7023 	(_ft_lcd_filter_fir): This.
       
  7024 	Update parameters.
       
  7025 	(_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
       
  7026 	(FT_Library_Set_LcdFilter): Update parameters.
       
  7027 	Handle new filter modes.
       
  7028 
       
  7029 	* include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
       
  7030 	(FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
       
  7031 	(FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
       
  7032 	callback and update other fields.
       
  7033 
       
  7034 	* src/smooth/ftsmooth.c (ft_smooth_render_generic)
       
  7035 	[FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
       
  7036 	Other minor improvements.
       
  7037 
       
  7038 	* src/autofit/aflatin.c: Various tiny improvements that drastically
       
  7039 	improve the handling of serif fonts and of LCD/LCD_V hinting modes.
       
  7040 	(af_latin_hints_compute_edges): Fix typo.
       
  7041 	(af_latin_compute_stem_width): Take better care of diagonal stems.
       
  7042 
       
  7043 2006-11-09  David Turner  <david@freetype.org>
       
  7044 
       
  7045 	* src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
       
  7046 	typo which created a variable-used-before-initialized bug.
       
  7047 
       
  7048 2006-11-07  Zhe Su  <james.su@gmail.com>
       
  7049 
       
  7050 	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
       
  7051 	also.
       
  7052 
       
  7053 2006-11-03  Werner Lemberg  <wl@gnu.org>
       
  7054 
       
  7055 	* src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
       
  7056 
       
  7057 2006-11-02  David Turner  <david@freetype.org>
       
  7058 
       
  7059 	Add a few tweaks to better handle serif fonts.
       
  7060 	Add more debugging messages.
       
  7061 
       
  7062 	* src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
       
  7063 	segments that are less than 1.5 pixels high.  This gets rid of
       
  7064 	*many* corner cases with serifs.
       
  7065 	(af_latin_align_linked_edge): Add logging message.
       
  7066 	(af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
       
  7067 	Add logging messages.
       
  7068 	Handle AF_EDGE_FLAG flag specially.
       
  7069 
       
  7070 	* src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
       
  7071 	_af_debug_disable_blue_hints, and _af_debug_hints variables.
       
  7072 
       
  7073 	* src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
       
  7074 	Update external declarations.
       
  7075 	(af_corner_orientation, af_corner_is_flat): Replaced by...
       
  7076 
       
  7077 	* include/freetype/internal/ftcalc.h (ft_corner_orientation,
       
  7078 	ft_corner_is_flat): These declarations.
       
  7079 
       
  7080 	* src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
       
  7081 	Comment out.  Replaced by...
       
  7082 
       
  7083 	* src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
       
  7084 	These functions.  Update all callers.
       
  7085 	(FT_Add64) [!FT_LONG64]: Simplify.
       
  7086 
       
  7087 	* src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
       
  7088 	(af_direction_compute): Add a missing FT_ABS call.  This bug caused
       
  7089 	production of garbage by missing lots of segments.
       
  7090 
       
  7091 	* src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
       
  7092 
       
  7093 	* src/autofit/afloader.c (af_loader_init, af_loader_done)
       
  7094 	[AF_DEBUG]: Set _af_debug_hints.
       
  7095 
       
  7096 
       
  7097 	* src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
       
  7098 	(psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
       
  7099 	and ft_corner_orientation.
       
  7100 
       
  7101 
       
  7102 	* src/gzip/inftrees.c (huft_build): Remove compiler warning.
       
  7103 
       
  7104 2006-10-24  Werner Lemberg  <wl@gnu.org>
       
  7105 
       
  7106 	* src/cff/cffload.c (cff_encoding_load): Remove unused variable.
       
  7107 
       
  7108 	* src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
       
  7109 	as argument.
       
  7110 
       
  7111 2006-10-23  Zhe Su  <zsu@novell.com>
       
  7112 
       
  7113 	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
       
  7114 	better deal with broken Asian fonts with strange glyphs, having
       
  7115 	self-intersections and other peculiarities.  The used algorithm is
       
  7116 	based on the nonzero winding rule.
       
  7117 
       
  7118 2006-10-23  David Turner  <david@freetype.org>
       
  7119 
       
  7120 	Speed up the CFF font loader.  With some large CFF fonts,
       
  7121 	FT_Open_Face is now more than three times faster.
       
  7122 
       
  7123 	* src/cff/cffload.c (cff_get_offset): Removed.
       
  7124 	(cff_new_index): Inline functionality of `cff_get_offset'.
       
  7125 	(cff_charset_compute_cids, cff_charset_free_cids): New functions.
       
  7126 	(cff_charset_done): Call `cff_charset_free_cids'.
       
  7127 	(cff_charset_load): Call `cff_charset_compute_cids'.
       
  7128 	(cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
       
  7129 
       
  7130 	* src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
       
  7131 	with FT_NEXT_XXX.
       
  7132 
       
  7133 
       
  7134 	Speed up the Postscript hinter, with more than 100% speed increase
       
  7135 	on my machine.
       
  7136 
       
  7137 	* src/pshinter/pshalgo.c (psh_corner_is_flat,
       
  7138 	psh_corner_orientation): New functions.
       
  7139 	(psh_glyph_compute_inflections): Merge loops for efficiency.
       
  7140 	Use `psh_corner_orientation'.
       
  7141 	(psh_glyph_init): Use `psh_corner_is_flat'.
       
  7142 	(psh_hint_table_find_strong_point): Renamed to...
       
  7143 	(psh_hint_table_find_strong_points): This.
       
  7144 	Rewrite, adding argument to handle all points at once.
       
  7145 	Update all callers.
       
  7146 	(PSH_MAX_STRONG_INTERNAL): New macro.
       
  7147 	(psh_glyph_interpolate_normal_points): Rewrite for efficiency.
       
  7148 
       
  7149 2006-10-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  7150 
       
  7151 	* src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
       
  7152 	`error' with FT_Err_Ok.
       
  7153 
       
  7154 2006-10-14  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  7155 
       
  7156 	* docs/INSTALL.CROSS: New document file for cross-building.
       
  7157 
       
  7158 	* builds/unix/configure.raw: Preliminary cross-building support.
       
  7159 	Find native C compiler and pass it by CC_BUILD, and
       
  7160 	find suffix for native executable and pass it by EXEEXT_BUILD.
       
  7161 	Also suffix for target executable is passed by EXEEXT.
       
  7162 
       
  7163 	* builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
       
  7164 	build `apinames' which runs on building system.  They are set by
       
  7165 	CC_BUILD and EXEEXT_BUILD.
       
  7166 
       
  7167 	* builds/exports.mk (APINAMES_EXE): Change the extension for
       
  7168 	apinames from the suffix for target (E) to that for building host
       
  7169 	(E_BUILD).
       
  7170 
       
  7171 2006-10-12  Werner Lemberg  <wl@gnu.org>
       
  7172 
       
  7173 	* docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
       
  7174 	* docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This.  Update all documents
       
  7175 	which reference those files.
       
  7176 
       
  7177 2006-10-12  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  7178 
       
  7179 	* builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable.  It is
       
  7180 	embedded in freetype2.pc and freetype-config.  Use it to record
       
  7181 	Carbon dependency of MacOSX.
       
  7182 
       
  7183 	* builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
       
  7184 
       
  7185 	* builds/unix/freetype-config.in: Ditto.
       
  7186 
       
  7187 2006-10-11  Werner Lemberg  <wl@gnu.org>
       
  7188 
       
  7189 	* devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
       
  7190 	development.
       
  7191 
       
  7192 2006-10-03  Jens Claudius  <jens.claudius@yahoo.com>
       
  7193 
       
  7194 	* include/freetype/config/ftstdlib.h: Cast away volatileness from
       
  7195 	argument to ft_setjmp.
       
  7196 
       
  7197 	* include/freetype/internal/ftvalid.h: Add comment that
       
  7198 	ft_validator_run must not be used.
       
  7199 
       
  7200 2006-10-01  Werner Lemberg  <wl@gnu.org>
       
  7201 
       
  7202 	* src/base/ftbase.c: Undo change from 2006-09-30.
       
  7203 
       
  7204 	* src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
       
  7205 
       
  7206 2006-09-30  David Turner  <david@freetype.org>
       
  7207 
       
  7208 	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
       
  7209 	s/unpatented_hinting/ignore_unpatented_hinter/.
       
  7210 	Update all callers.
       
  7211 
       
  7212 	* src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
       
  7213 	auto-hinting shall be used or not.
       
  7214 
       
  7215 	* src/truetype/ttobjs.c (tt_face_init): Ditto.
       
  7216 
       
  7217 2006-09-30  Werner Lemberg  <wl@gnu.org>
       
  7218 
       
  7219 	* src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
       
  7220 	in use).
       
  7221 
       
  7222 	* src/base/ftbase.c: Include `ftlcdfil.c'.
       
  7223 
       
  7224 2006-09-29  Werner Lemberg  <wl@gnu.org>
       
  7225 
       
  7226 	* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
       
  7227 	overlapping segments.  Bug reported by Stefan Koch.
       
  7228 
       
  7229 2006-09-28  David Turner  <david@freetype.org>
       
  7230 
       
  7231 	Fix a bug in the automatic unpatented hinting support which prevents
       
  7232 	normal bytecode hinting to work properly.
       
  7233 
       
  7234 	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
       
  7235 	s/force_autohint/unpatented_hinting/.  Update all callers.
       
  7236 
       
  7237 	* src/base/ftobjs.c (FT_Load_Glyph): Updated code.
       
  7238 
       
  7239 	* src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
       
  7240 
       
  7241 2006-09-27  David Turner  <david@freetype.org>
       
  7242 
       
  7243 	* include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
       
  7244 
       
  7245 
       
  7246 	Add a new API to support color filtering of subpixel glyph bitmaps.
       
  7247 	In a default build, the function `FT_Library_SetLcdFilter' returns
       
  7248 	`FT_Err_Unimplemented_Feature'; you need to #define
       
  7249 	FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
       
  7250 	real implementation.
       
  7251 
       
  7252 	* include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
       
  7253 
       
  7254 	* include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
       
  7255 	typedef.
       
  7256 	(FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
       
  7257 	`lcd_filter_weights' and `lcd_filter'.
       
  7258 
       
  7259 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
       
  7260 	`hmul' and `vmul'.
       
  7261 
       
  7262 	Handle subpixel rendering.
       
  7263 	Simplify function.
       
  7264 	(ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
       
  7265 	(ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
       
  7266 
       
  7267 	* include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
       
  7268 	pointing to <freetype/ftlcdfil.h>.
       
  7269 
       
  7270 	* src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
       
  7271 	vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
       
  7272 
       
  7273 	* modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
       
  7274 
       
  7275 2006-09-26  David Bustin
       
  7276 
       
  7277 	* src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
       
  7278 	correctly.  Reported as Savannah bug #17843.
       
  7279 
       
  7280 2006-09-26  David Turner  <david@freetype.org>
       
  7281 
       
  7282 	* src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
       
  7283 	AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
       
  7284 	horizontal and vertical hinting for the purpose of debugging the
       
  7285 	auto-fitter.
       
  7286 
       
  7287 	* src/autofit/afmodule.c (_af_debug_disable_horz_hints,
       
  7288 	_af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
       
  7289 
       
  7290 	* src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
       
  7291 
       
  7292 	* include/freetype/config/ftoption.h, devel/ftoption.h
       
  7293 	(FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
       
  7294 	we want to compile LCD-optimized rendering code (à la ClearType) or
       
  7295 	not.  The macro *must* be disabled in default builds of the library
       
  7296 	for patent reasons.
       
  7297 
       
  7298 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
       
  7299 	LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
       
  7300 	isn't defined at compile time.  This only changes the content of the
       
  7301 	rendered glyph to match the one of normal gray-level rendering,
       
  7302 	hence clients should not need to be modified.
       
  7303 
       
  7304 	* docs/CHANGES: Updated.
       
  7305 
       
  7306 2006-09-18  Garrick Meeker  <garrick@digitalanarchy.com>
       
  7307 
       
  7308 	* src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
       
  7309 	LWFN fails and both are available.
       
  7310 
       
  7311 2006-09-11  David Turner  <david@freetype.org>
       
  7312 
       
  7313 	* src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
       
  7314 	report their English names through an Apple Roman
       
  7315 	(platform,encoding) pair, with language_id != English.
       
  7316 
       
  7317 	If the font uses another name entry with language_id == English, it
       
  7318 	will be selected correctly, though.
       
  7319 
       
  7320 	* src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
       
  7321 	selection for `mingli.ttf'.
       
  7322 
       
  7323 2006-09-05  Werner Lemberg  <wl@gnu.org>
       
  7324 
       
  7325 	* src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
       
  7326 	values which have the upper two bytes set to 0xFF instead of 0x00
       
  7327 	(as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
       
  7328 	`HAN NOM B.ttf').
       
  7329 
       
  7330 	* src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
       
  7331 
       
  7332 2006-09-05  David Turner  <david@freetype.org>
       
  7333 
       
  7334 	Minor source cleanups and optimizations.
       
  7335 
       
  7336 	* src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
       
  7337 	(TRaster): Remove `count_ex' and `count_ey'.
       
  7338 	(gray_find_cell): Remove 2nd and 3rd argument.
       
  7339 	(gray_alloc_cell): Merged with `gray_find_cell'.
       
  7340 	(gray_record_cell): Simplify.
       
  7341 	(gray_set_cell): Rewrite.
       
  7342 	(gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
       
  7343 	(gray_render_span): Don't use FT_MEM_SET for small values.
       
  7344 	(gray_dump_cells) [DEBUG_GRAYS]: New function.
       
  7345 	(gray_sweep): Avoid buffer overwrites when to drawing the end of a
       
  7346 	bitmap scanline.
       
  7347 	(gray_convert_glyph): Fix speed-up.
       
  7348 
       
  7349 2006-09-04  David Turner  <david@freetype.org>
       
  7350 
       
  7351 	* src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
       
  7352 	64bit processors.
       
  7353 
       
  7354 2006-09-03  Werner Lemberg  <wl@gnu.org>
       
  7355 
       
  7356 	* devel/ftoption.h: Synchronize with
       
  7357 	include/freetype/config/ftoption.h.
       
  7358 
       
  7359 	* src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
       
  7360 	variable declaration.
       
  7361 	(gray_convert_glyph): Fix compiler warnings.
       
  7362 
       
  7363 2006-09-01  David Turner  <david@freetype.org>
       
  7364 
       
  7365 	* src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
       
  7366 	to recognize a few fonts that require the automatic unpatented
       
  7367 	loader.
       
  7368 
       
  7369 	* src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
       
  7370 	rasterizer.  The speed improvement is between 15% and 25%, depending
       
  7371 	on the font data.
       
  7372 
       
  7373 	(GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
       
  7374 	(TCell): Redefine.
       
  7375 	(TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
       
  7376 	(gray_init_cells): Updated.
       
  7377 	(gray_find_cell, gray_alloc_cell): New functions.
       
  7378 	(gray_record_cell): Rewritten to use `gray_find_cell' and
       
  7379 	`gray_alloc_cell'.
       
  7380 	(PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
       
  7381 	QSORT_THRESHOLD):
       
  7382 	Removed.
       
  7383 	(gray_shell_sort, gray_quick_sort, gray_check_sort,
       
  7384 	gray_dump_cells): Removed.
       
  7385 	(gray_sweep): Rewritten.
       
  7386 	(gray_convert_glyph): Rewrite code which used one of the sorting
       
  7387 	functions.
       
  7388 	(gray_raster_render): Updated.
       
  7389 
       
  7390 2006-08-29  Dr. Werner Fink  <werner@suse.de>
       
  7391 
       
  7392 	* configure: Make it possible to handle configure options which
       
  7393 	have strings containing spaces.
       
  7394 
       
  7395 2006-08-27  David Turner  <david@freetype.org>
       
  7396 
       
  7397 	* include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
       
  7398 	New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
       
  7399 	or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
       
  7400 
       
  7401 	* include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
       
  7402 	src/truetype/truetype.c, src/truetype/ttdriver.c,
       
  7403 	src/truetype/ttgload.c, src/truetype/ttgload.h,
       
  7404 	src/truetype/ttinterp.c, src/truetype/ttobjs.c,
       
  7405 	src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
       
  7406 	s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
       
  7407 
       
  7408 	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
       
  7409 	member `force_autohint'.
       
  7410 
       
  7411 	* src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
       
  7412 
       
  7413 	* src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
       
  7414 	against a list of font names which need the bytecode interpreter.
       
  7415 
       
  7416 2006-08-27  Jens Claudius  <jens.claudius@yahoo.com>
       
  7417 
       
  7418 	Fix miscellaneous compiler warnings.
       
  7419 
       
  7420 	* include/freetype/internal/ftobjs.h: Close comment with `*/' to
       
  7421 	avoid `/* in comment' compiler warning.
       
  7422 
       
  7423 	* src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
       
  7424 	`(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
       
  7425 	64-bit platforms void* is larger than FT_UInt32.
       
  7426 
       
  7427 	* src/base/ftobjs.c (t_validator_error): Cast away
       
  7428 	volatileness of argument to ft_longjmp.  Spotted by Werner
       
  7429 	`Putzfrau' Lemberg.
       
  7430 
       
  7431 	* src/bdf/bdflib.c (bdf_load_font): Initialize local
       
  7432 	variable `lineno'.
       
  7433 
       
  7434 	* src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
       
  7435 	`error' as volatile.
       
  7436 
       
  7437 2006-08-27  Werner Lemberg  <wl@gnu.org>
       
  7438 
       
  7439 	* builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
       
  7440 	Reported by Jens.
       
  7441 
       
  7442 2006-08-22  Jens Claudius  <jens.claudius@yahoo.com>
       
  7443 
       
  7444 	Fix for previous commit, which caused many compiler warnings/errors
       
  7445 	about addresses of volatile objects passed as function arguments as
       
  7446 	non-volatile pointers.
       
  7447 
       
  7448 	* include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
       
  7449 	pointer to a volatile object.
       
  7450 
       
  7451 	* src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
       
  7452 	`table' a pointer to a volatile object.
       
  7453 
       
  7454 	* src/otvalid/otvmod.c (otv_load_table): Make function argument
       
  7455 	`table' a pointer to a volatile object.
       
  7456 
       
  7457 2006-08-18  Jens Claudius  <jens.claudius@yahoo.com>
       
  7458 
       
  7459 	* src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
       
  7460 	as volatile since it must keep its value across a call to ft_setjmp.
       
  7461 	(gxv_validate): Same for local variables `memory' and `valid'.
       
  7462 	(classic_kern_validate): Same for local variables `memory',
       
  7463 	`ckern', and `valid'.
       
  7464 
       
  7465 	* src/otvalid/otvmod.c (otv_validate): Same for function parameter
       
  7466 	`face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
       
  7467 	and 'valid'.
       
  7468 
       
  7469 	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
       
  7470 	`cmap'.
       
  7471 
       
  7472 2006-08-16  David Turner  <david@freetype.org>
       
  7473 
       
  7474 	* src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
       
  7475 	warnings.
       
  7476 
       
  7477 	* src/base/ftobjs.c (ft_validator_run): Disable function; it is
       
  7478 	buggy by design.  Always return -1.
       
  7479 
       
  7480 
       
  7481 	Improvements to native TrueType hinting.  This is a first try,
       
  7482 	controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
       
  7483 
       
  7484 	* include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
       
  7485 	`extra_points2'.
       
  7486 
       
  7487 	* include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
       
  7488 	`orus'.
       
  7489 
       
  7490 	* src/base/ftgloadr.c (FT_GlyphLoader_Reset,
       
  7491 	FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
       
  7492 	FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
       
  7493 	handle `extra_points2'.
       
  7494 
       
  7495 	* src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
       
  7496 	Remove compiler warning.
       
  7497 	(cur_to_arg): Remove macro.
       
  7498 	(TT_Hint_Glyph): Updated.
       
  7499 	(TT_Process_Simple_Glyph): Handle `orus'.
       
  7500 
       
  7501 	* src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
       
  7502 	(Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
       
  7503 	(LOC_Ins_IUP): Renamed to...
       
  7504 	(IUP_WorkerRec): This.
       
  7505 	Add `orus' member.
       
  7506 	(Shift): Renamed to...
       
  7507 	(_iup_worker_shift): This.
       
  7508 	Updated.
       
  7509 	(Interp): Renamed to...
       
  7510 	(_iup_worker_interpolate): This.
       
  7511 	Updated to handle `orus'.
       
  7512 	(Ins_IUP): Updated.
       
  7513 
       
  7514 	* src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
       
  7515 	Handle `orus'.
       
  7516 
       
  7517 2006-08-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  7518 
       
  7519 	* modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
       
  7520 	build ftvalid in ft2demos.  This has been inadvertedly changed
       
  7521 	2006-08-13.
       
  7522 
       
  7523 2006-08-15  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  7524 
       
  7525 	`ft_validator_run' wrapping `setjmp' can cause a crash, as found by
       
  7526 	Jens:
       
  7527 	http://lists.gnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
       
  7528 
       
  7529 	* src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
       
  7530 	It reverts the change introduced on 2005-08-20.
       
  7531 
       
  7532 	* src/gxvalid/gxvmod.c: Ditto.
       
  7533 
       
  7534 2006-08-13  Jens Claudius  <jens.claudius@yahoo.com>
       
  7535 
       
  7536 	* finclude/freetype/internal/psaux.h: (T1_TokenType): Add
       
  7537 	T1_TOKEN_TYPE_KEY.
       
  7538 	(T1_FieldRec): Add `dict'.
       
  7539 	(T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
       
  7540 	(T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
       
  7541 	keyword is expected as an additional argument.
       
  7542 
       
  7543 	* src/cid/cidload.c: (cid_field_records): Adjust invocations of
       
  7544 	T1_FIELD_XXX.
       
  7545 
       
  7546 	* src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
       
  7547 
       
  7548 	* src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
       
  7549 	(ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
       
  7550 	not T1_TOKEN_TYPE_ANY.
       
  7551 	(ps_parser_load_field): Make sure a token that should be a string or
       
  7552 	name is really a string or name.
       
  7553 	Avoid memory leak if a keyword has been already encountered and its
       
  7554 	value is overwritten.
       
  7555 	* src/type1/t1load.c: (t1_keywords): Adjust invocations of
       
  7556 	T1_FIELD_XXX.
       
  7557 	(parse_dict): Ignore keywords that occur in the wrong dictionary
       
  7558 	(e.g., in `Private' instead of `FontDict').
       
  7559 
       
  7560 	* src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
       
  7561 
       
  7562 	* src/type42/t42parse.c: (t42_keywords): Adjust invocations of
       
  7563 	T1_FIELD_XXX.
       
  7564 
       
  7565 2006-07-18  Jens Claudius  <jens.claudius@yahoo.com>
       
  7566 
       
  7567 	Move creation of field `buildchar' of T1_DecoderRec out of
       
  7568 	`t1_decoder_init' and let the caller of `t1_decoder_init' take care
       
  7569 	of it.
       
  7570 
       
  7571 	Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
       
  7572 	and `T1_Compute_Max_Advance'.
       
  7573 
       
  7574 	* include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
       
  7575 	`face', add `len_buildchar'.
       
  7576 
       
  7577 	* include/freetype/internal/t1types.h (T1_FaceRec): Add field
       
  7578 	`buildchar'.
       
  7579 
       
  7580 	* src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
       
  7581 	for T1_Decoder.
       
  7582 	(cid_slot_load_glyph): Do not ignore failure when initializing the
       
  7583 	T1_Decoder.
       
  7584 
       
  7585 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
       
  7586 	(t1_decoder_init): Remove initialization of fields `buildchar' and
       
  7587 	`len_buildchar'.
       
  7588 	(t1_decoder_done): Remove deallocation of field `buildchar'.
       
  7589 
       
  7590 	* freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
       
  7591 	T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
       
  7592 	T1_Decoder.
       
  7593 	(T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
       
  7594 	`len_buildchar'; make sure to call finisher for T1_Decoder even in
       
  7595 	case of error.
       
  7596 
       
  7597 	* src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
       
  7598 	of T1_FaceRec.
       
  7599 
       
  7600 	* src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
       
  7601 	T1_FaceRec.
       
  7602 
       
  7603 2006-07-14  Jens Claudius  <jens.claudius@yahoo.com>
       
  7604 
       
  7605 	* include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
       
  7606 	IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
       
  7607 	and IS_PS_BASE85 (from src/psaux/psconv.h).
       
  7608 	(T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
       
  7609 	T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
       
  7610 	(T1_DecoderRec): New fields `buildchar' and `face'.
       
  7611 	(IS_PS_TOKEN): New macro.
       
  7612 
       
  7613 	* include/freetype/internal/t1types.h (T1_FaceRec): New fields
       
  7614 	`ndv_idx', `cdv_idx', and `len_buildchar'.
       
  7615 
       
  7616 	* include/freetype/t1tables.h (PS_BlendRec): New fields
       
  7617 	`default_design_vector' and `num_default_design_vector'.
       
  7618 
       
  7619 	* src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
       
  7620 	IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
       
  7621 	IS_PS_BASE85 to include/freetype/internal/psaux.h.
       
  7622 
       
  7623 	* src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
       
  7624 	argument to be NULL if we want only to count the number of tokens.
       
  7625 	(ps_tocoordarray): Allow `coords' argument to be NULL if we just
       
  7626 	want to skip the array.
       
  7627 	(ps_tofixedarray): Allow `values' argument to be NULL if we just
       
  7628 	want to skip the array.
       
  7629 
       
  7630 	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
       
  7631 	for (partially commented out) othersubrs 19-25, 27, and 28.
       
  7632 	(t1_decoder_init): Initialize new fields `face' and `buildchar'.
       
  7633 	(t1_decoder_done): Release new field `buildchar'.
       
  7634 
       
  7635 	* src/type1/t1load.c (parse_buildchar, parse_private): New
       
  7636 	functions.
       
  7637 	(t1_keywords): Register them.
       
  7638 	(t1_allocate_blend): Updated.
       
  7639 	(t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
       
  7640 	T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
       
  7641 	(parse_dict): Remove `keyword_flags' argument.
       
  7642 	Use new macro IS_PS_TOKEN.
       
  7643 	Changed function so that later PostScript definitions override
       
  7644 	earlier ones.
       
  7645 	(t1_init_loader): Initialize new field `keywords_encountered'.
       
  7646 	(T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
       
  7647 	`len_buildchar'.
       
  7648 	Remove `keywords_flags'.
       
  7649 
       
  7650 	* src/type1/t1load.h (T1_LoaderRect): New field
       
  7651 	`keywords_encountered'.
       
  7652 	(T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
       
  7653 
       
  7654 	* src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
       
  7655 	entries for parsing /NDV, /CDV, and /DesignVector.
       
  7656 
       
  7657 2006-07-07  Werner Lemberg  <wl@gnu.org>
       
  7658 
       
  7659 	Add many checks to protect against malformed PCF files.
       
  7660 
       
  7661 	* src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
       
  7662 	(PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
       
  7663 
       
  7664 	* src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
       
  7665 	data and check that tables don't overlap (using a simple
       
  7666 	bubblesort).
       
  7667 	(PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
       
  7668 	New macros which give the size of data structures in the data
       
  7669 	stream.
       
  7670 	(pcf_get_properties): Use rough estimates to get array size limits.
       
  7671 	Assign `face->nprops' and `face->properties' earlier so that a call
       
  7672 	to PCF_Face_Done can do the clean-up in case of error.
       
  7673 	Protect against invalid string offsets.
       
  7674 	(pcf_get_metrics): Clean up code.
       
  7675 	Adjust tracing message levels.
       
  7676 	Use rough estimate to get array size limit.
       
  7677 	(pcf_get_bitmaps): Clean up code.
       
  7678 	Adjust tracing message levels.
       
  7679 	Use rough estimates to get offset limits.
       
  7680 	(pcf_get_encodings): Adjust tracing message level.
       
  7681 	(pcf_get_accel): Clean up code.
       
  7682 
       
  7683 2006-06-26  Werner Lemberg  <wl@gnu.org>
       
  7684 
       
  7685 	* src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
       
  7686 	don't have a POINT_SIZE property.  This fixes Savannah bug #16914.
       
  7687 
       
  7688 2006-06-26  Jens Claudius  <jens.claudius@yahoo.com>
       
  7689 
       
  7690 	* src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
       
  7691 	(t1_decoder_parse_charstrings): Operator with
       
  7692 	opcode 15 pops its two arguments.
       
  7693 	Handle the case where the pops of an othersubr may be part of a
       
  7694 	subroutine.
       
  7695 	Handle unknown othersubrs gracefully: count their operands and let
       
  7696 	the following pop operators push the operands as the results onto
       
  7697 	the Type1 stack.
       
  7698 	Improve handling of setcurrentpoint opcode.
       
  7699 
       
  7700 2006-06-25  Jens Claudius  <jens.claudius@yahoo.com>
       
  7701 
       
  7702 	The Type 1 parser now skips over top-level procedures as required
       
  7703 	for a `Simplified Parser'.  This makes the parser more robust as it
       
  7704 	doesn't poke around in PostScript code.  Additionally, it makes the
       
  7705 	FontDirectory hackery in src/type1/t1load.c unnecessary.
       
  7706 
       
  7707 	* src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
       
  7708 	(skip_literal_string): Add FT_Error as return value.
       
  7709 	Handle escapes better.
       
  7710 	(skip_string): Add FT_Error as return value.
       
  7711 	Don't set `parser->error' but return error code directly.
       
  7712 	(skip_procedure): New function.
       
  7713 	(ps_parser_skip_PS_token): Handle procedures.
       
  7714 	Update code.
       
  7715 	(ps_parser_to_token): Update code.
       
  7716 	(ps_parser_load_field_table): Handle bbox entries also.
       
  7717 
       
  7718 	* src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
       
  7719 	Add commented-out code for synthetic fonts.
       
  7720 
       
  7721 2006-06-24  Eugeniy Meshcheryakov  <eugen@univ.kiev.ua>
       
  7722 
       
  7723 	Fix two hinting bugs as reported in
       
  7724 	http://lists.gnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
       
  7725 
       
  7726 	* include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
       
  7727 	`first_point' member.
       
  7728 
       
  7729 	* src/truetype/ttgload.c (tt_prepare_zone): Initialize
       
  7730 	`first_point'.
       
  7731 	(TT_Process_Composite_Glyph): Always untouch points.
       
  7732 
       
  7733 	* src/truetype/ttinterp.c (Ins_SHC): Fix computation of
       
  7734 	`first_point' and `last_point' in case of composite glyphs.
       
  7735 	(Ins_IUP): Fix computation of `end_point'.
       
  7736 
       
  7737 2006-06-22  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  7738 
       
  7739 	Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
       
  7740 	Mac.  The original patch was written by David Sachitano and Lawrence
       
  7741 	Coopet, and modified by Sean McBride for MPW compatibility.  Only
       
  7742 	required data are converted; unused data are left in big endian.
       
  7743 
       
  7744 	* src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
       
  7745 	Mac OS X platforms.
       
  7746 	(OS_INLINE): Undefine before definition.
       
  7747 	(count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
       
  7748 	FontAssociation table in FOND resource.
       
  7749 	(count_faces_scalable): Insert EndianS16_BtoN to parse the header
       
  7750 	and fontSize at each entry of FontAssociation table in FOND
       
  7751 	resource.
       
  7752 	(parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
       
  7753 	ffStylOff of FamilyRecord header of FOND resource, the header,
       
  7754 	fontSize, fontID at each entry of FontAssociation table, and
       
  7755 	StyleMapping table.
       
  7756 	(count_faces): Call `HUnlock' after all FOND utilization.
       
  7757 
       
  7758 2006-06-08  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  7759 
       
  7760 	Public API of TrueTypeGX, OpenType, and classic kern table validator
       
  7761 	should return `FT_Err_Unimplemented_Feature' if validation service
       
  7762 	is unavailable (disabled in `modules.cfg').  It is originally
       
  7763 	suggested by David Turner, cf.
       
  7764 	http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
       
  7765 
       
  7766 	* src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
       
  7767 	FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
       
  7768 	unavailable.
       
  7769 	(FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
       
  7770 	classic kern table validation service is unavailable.
       
  7771 
       
  7772 	* src/base/ftotval.c (FT_OpenType_Validate): Return
       
  7773 	FT_Err_Unimplemented_Feature if OpenType validation service is
       
  7774 	unavailable.
       
  7775 
       
  7776 2006-06-08  Werner Lemberg  <wl@gnu.org>
       
  7777 
       
  7778 	* src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
       
  7779 	errors.
       
  7780 
       
  7781 2006-06-07  David Turner  <david@freetype.org>
       
  7782 
       
  7783 	* src/type1/t1afm.c (KERN_INDEX): Make it more robust.
       
  7784 	(T1_Read_Metrics): Fix memory leak which happened when the metrics
       
  7785 	file doesn't have kerning pairs.  This fixes Savannah bug #16768.
       
  7786 
       
  7787 2006-06-06  David Turner  <david@freetype.org>
       
  7788 
       
  7789 	Fix memory leak described in Savannah bug #16759.
       
  7790 
       
  7791 	We change `ps_unicodes_init' so that it also takes a
       
  7792 	`free_glyph_name' callback to release the glyph names returned by
       
  7793 	`get_glyph_name'
       
  7794 
       
  7795 	* include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
       
  7796 	Renamed to ...
       
  7797 	(PS_GetGlyphNameFunc): This.
       
  7798 	(PS_FreeGlyphNameFunc): New typedef.
       
  7799 	(PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
       
  7800 
       
  7801 	* src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
       
  7802 	argument.
       
  7803 	(cff_sid_free_glyph_name): New function.
       
  7804 	(cff_cmap_unicode_init): Updated.
       
  7805 
       
  7806 	* src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
       
  7807 
       
  7808 	* src/psnames/psmodule.c (ps_unicodes_init): Add variable for
       
  7809 	PS_FreeGlyphNameFunc and use it.
       
  7810 
       
  7811 
       
  7812 2006-06-04  David Turner  <david@freetype.org>
       
  7813 
       
  7814 	* src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
       
  7815 	`item_size == 0' as well -- though this sounds weird, it can
       
  7816 	theoretically happen.  This fixes Savannah bug #16669.
       
  7817 
       
  7818 	* src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
       
  7819 	of `face->num_glyphs' which missed the last glyph, due to
       
  7820 	the offset-by-1 computation, since the PFR format doesn't
       
  7821 	guarantee that glyph index 0 corresponds to the `missing
       
  7822 	glyph.  This fixes Savannah bug #16668.
       
  7823 
       
  7824 2006-05-25  Werner Lemberg  <wl@gnu.org>
       
  7825 
       
  7826 	* builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
       
  7827 	`-no-undefined'.  Reported by Christian Biesinger.
       
  7828 
       
  7829 2006-05-19  Brian Weed  <bw@imaginengine.com>
       
  7830 
       
  7831 	* builds/win32/visualc/freetype.dsp: Release libraries no longer
       
  7832 	have debug information, and debug libraries use `C7 compatible'
       
  7833 	debug info.
       
  7834 
       
  7835 2006-05-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  7836 
       
  7837 	Apply patch by Derek Clegg to fix two memory leaks in the MacOS
       
  7838 	resource fork handler.  This fixes Savannah bug #16631.
       
  7839 
       
  7840 	* src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
       
  7841 	`FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
       
  7842 
       
  7843 	* src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
       
  7844 	Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
       
  7845 
       
  7846 2006-05-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  7847 
       
  7848 	* build/unix/configure.raw: Add a fallback to disable Carbon
       
  7849 	dependency, if configured with no options on Mac OS X.
       
  7850 
       
  7851 2006-05-19  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  7852 
       
  7853 	* src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
       
  7854 	its content cannot be parsed as supported font.  This fixes
       
  7855 	the second part of Savannah bug #16590.
       
  7856 
       
  7857 2006-05-18  Werner Lemberg  <wl@gnu.org>
       
  7858 
       
  7859 	* src/truetype/ttgload.c (TT_Load_Composite_Glyph)
       
  7860 	[FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
       
  7861 
       
  7862 2006-05-17  David Turner  <david@freetype.org>
       
  7863 
       
  7864 	This is a major patch used to drastically improve the performance of
       
  7865 	loading glyphs.  This both speeds up loading the glyph vectors
       
  7866 	themselves and the auto-fitter module.
       
  7867 
       
  7868 	We now use inline assembler code with GCC to implement `FT_MulFix',
       
  7869 	which is probably the most important function related to the
       
  7870 	engine's performance.
       
  7871 
       
  7872 	The resulting speed-up is about 25%.
       
  7873 
       
  7874 
       
  7875 	* include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
       
  7876 	`cursor' and `limit'.
       
  7877 
       
  7878 	* src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
       
  7879 	New functions.
       
  7880 	(AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
       
  7881 	[TEST]: Remove.
       
  7882 
       
  7883 	* src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
       
  7884 	code.
       
  7885 
       
  7886 	* src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
       
  7887 	`FT_ZERO'
       
  7888 	(af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
       
  7889 	(af_glyph_hints_reload: Rewrite recognition of weak points.
       
  7890 
       
  7891 	* src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
       
  7892 	constant values out of the loops.
       
  7893 
       
  7894 	* src/autofit/aftypes.h: Updated.
       
  7895 
       
  7896 	* src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
       
  7897 
       
  7898 	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
       
  7899 	product to get orientation.
       
  7900 
       
  7901 	* src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
       
  7902 	(FT_Stream_OpenGzip): Use it to handle small files directly in
       
  7903 	memory.
       
  7904 
       
  7905 	* src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
       
  7906 	Improve performance.
       
  7907 
       
  7908 	* src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
       
  7909 	`limit'.
       
  7910 
       
  7911 	(TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
       
  7912 	TT_Load_Composite_Glyph): Updated.  Add threshold to protect against
       
  7913 	exceedingly large values of number of contours.  Speed up by
       
  7914 	reducing the number of loops.
       
  7915 
       
  7916 	* src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
       
  7917 
       
  7918 
       
  7919 	* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
       
  7920 	used to detect rogue clients from 4 to 16.  This is to prevent some
       
  7921 	segmentation faults with fonts like `KozMinProVI-Regular.otf' which
       
  7922 	comes from the Japanese Adobe Reader Asian Font pack.
       
  7923 
       
  7924 2007-05-17  Werner Lemberg  <wl@gnu.org>
       
  7925 
       
  7926 	* src/cff/cffload.c (cff_font_done): Deallocate subfont array.  This
       
  7927 	fixes the first part of Savannah bug #16590.
       
  7928 
       
  7929 2006-05-16  Werner Lemberg  <wl@gnu.org>
       
  7930 
       
  7931 	* docs/PROBLEMS: Updated icl issues.
       
  7932 
       
  7933 ----------------------------------------------------------------------------
       
  7934 
       
  7935 Copyright 2006, 2007, 2008, 2009, 2010 by
       
  7936 David Turner, Robert Wilhelm, and Werner Lemberg.
       
  7937 
       
  7938 This file is part of the FreeType project, and may only be used, modified,
       
  7939 and distributed under the terms of the FreeType project license,
       
  7940 LICENSE.TXT.  By continuing to use, modify, or distribute this file you
       
  7941 indicate that you have read the license and understand and accept it
       
  7942 fully.
       
  7943 
       
  7944 
       
  7945 Local Variables:
       
  7946 version-control: never
       
  7947 coding: utf-8
       
  7948 End: