misc/libfreetype/ChangeLog.22
changeset 5172 88f2e05288ba
equal deleted inserted replaced
5171:f9283dc4860d 5172:88f2e05288ba
       
     1 2006-05-12  Werner Lemberg  <wl@gnu.org>
       
     2 
       
     3 
       
     4 	* Version 2.2.1 released.
       
     5 	=========================
       
     6 
       
     7 
       
     8 	Tag sources with `VER-2-2-1'.
       
     9 
       
    10 2006-05-12  Werner Lemberg  <wl@gnu.org>
       
    11 
       
    12 	* src/tools/docmaker/sources.py (re_source_keywords): Add word
       
    13 	boundary markers.
       
    14 	* src/tools/docmaker/content.py (re_field): Allow `.' in field names
       
    15 	(but not at the beginning or end).
       
    16 	* src/tools/docmaker/tohtml.py (html_header_1): Use `utf-8' charset.
       
    17 	(block_footer): Split into...
       
    18 	(block_footer_start, block_footer_middle, block_footer_end): This to
       
    19 	add navigation buttons.
       
    20 	(HtmlFormatter::block_exit): Updated.
       
    21 
       
    22 	* include/freetype/*: Many minor documentation improvements (adding
       
    23 	links, spelling errors, etc.).
       
    24 
       
    25 2006-05-11  Werner Lemberg  <wl@gnu.org>
       
    26 
       
    27 	* README: Minor updates.
       
    28 
       
    29 	* include/freetype/*: s/scale/scaling value/ where appropriate.
       
    30 	Many other minor documentation improvements.
       
    31 
       
    32 	* src/tools/docmaker/sources.py (re_italic, re_bold): Handle
       
    33 	trailing punctuation.
       
    34 	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word): Add
       
    35 	warning message for undefined cross references.
       
    36 	Update handling of re_italic and re_bold.
       
    37 
       
    38 2006-05-11  Masatake YAMATO  <jet@gyve.org>
       
    39 
       
    40 	* builds/unix/ftsystem.c (FT_Stream_Open): Check errno only if
       
    41 	read system call returns -1.
       
    42 	Remove a redundant parenthesis.
       
    43 
       
    44 2006-05-10  Werner Lemberg  <wl@gnu.org>
       
    45 
       
    46 	* builds/unix/ftsystem.c (FT_Stream_Open): Avoid infinite loop if
       
    47 	given an empty, un-mmap()able file.  Reported and suggested fix in
       
    48 	Savannah bug #16555.
       
    49 
       
    50 	* builds/freetype.mk (refdoc): Write-protect the `docmaker'
       
    51 	directory to suppress generation of .pyc files.  According to the
       
    52 	Python docs there isn't a more elegant solution (currently).
       
    53 
       
    54 	* builds/toplevel.mk (dist): New target which builds .tar.gz,
       
    55 	.tar.bz2, and .zip files.  Note that the version number is still
       
    56 	hard-coded.
       
    57 	(do-dist): Sub-target of `dist'.
       
    58 	(CONFIG_GUESS, CONFIG_SUB): New variables.
       
    59 	(.PHONY): Updated.
       
    60 
       
    61 2006-05-09  Rajeev Pahuja  <rpahuja@esri.com>
       
    62 
       
    63 	* builds/win32/visualc/freetype.sln,
       
    64 	builds/win32/visualc/freetype.vcproj: Upgraded to VS.NET 2005 from
       
    65 	VS.NET 2003
       
    66 	Added files ftbbox.c, fttype1.c, ftwinfnt.c, ftsynth.c.
       
    67 
       
    68 	* builds/win32/visualc/index.html: Updated.
       
    69 
       
    70 2006-05-07  Werner Lemberg  <wl@gnu.org>
       
    71 
       
    72 	Put version information into the configure script.  Reported by Paul
       
    73 	Watson <pwatson@redlinepy.com>.
       
    74 
       
    75 	* builds/unix/configure.ac: Renamed to...
       
    76 	* builds/unix/configure.raw: This which now serves (with appropriate
       
    77 	modifications) as a template for configure.ac.
       
    78 
       
    79 	* version.sed: New script.
       
    80 
       
    81 	* autogen.sh: Generate configure.ac from configure.raw, using
       
    82 	FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH from freetype.h.
       
    83 
       
    84 2006-05-06  Werner Lemberg  <wl@gnu.org>
       
    85 
       
    86 	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
       
    87 
       
    88 	* builds/unix/configure.ac (version_info): Set to 9:10:3.
       
    89 
       
    90 	* builds/win32/visualc/index.html,
       
    91 	builds/win32/visualc/freetype.dsp,
       
    92 	builds/win32/visualc/freetype.vcproj, builds/freetype.mk (refdoc),
       
    93 	Jamfile (RefDoc), README: s/220/221/, s/2.2.0/2.2.1/.
       
    94 	Minor updates.
       
    95 
       
    96 	* docs/CHANGES, docs/VERSION.DLL, docs/PROBLEMS, README.CVS:
       
    97 	Updated.
       
    98 
       
    99 	* builds/unix/install-sh: Updated from `texinfo' CVS module at
       
   100 	savannah.gnu.org.
       
   101 
       
   102 	* devel/ftoption.h: Synchronize with
       
   103 	include/freetype/config/ftoption.h.
       
   104 
       
   105 2006-05-04  Werner Lemberg  <wl@gnu.org>
       
   106 
       
   107 	* src/lzw/ftlzw2.c: Renamed to...
       
   108 	* src/lzw/ftlzw.c: This.
       
   109 
       
   110 	* src/lzw/Jamfile, src/lzw/rules.mk: Updated.
       
   111 
       
   112 	* builds/mac/FreeType.m68k_cfm.make.txt,
       
   113 	builds/mac/FreeType.m68k_far.make.txt,
       
   114 	builds/mac/FreeType.ppc_carbon.make.txt,
       
   115 	builds/mac/FreeType.ppc_classic.make.txt: Updated.
       
   116 
       
   117 2006-05-03  David Turner  <david@freetype.org>
       
   118 
       
   119 	Allow compilation again with C++ compilers.
       
   120 
       
   121 	* include/freetype/internal/ftmemory.h (FT_ASSIGNP,
       
   122 	FT_ASSIGNP_INNER): New macros which do the actual assignment, and
       
   123 	which exist in two variants (for C and C++).
       
   124 	Update callers accordingly.
       
   125 
       
   126 2006-05-03  Werner Lemberg  <wl@gnu.org>
       
   127 
       
   128 	* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Removed.
       
   129 
       
   130 2006-05-02  Werner Lemberg  <wl@gnu.org>
       
   131 
       
   132 	* include/freetype/internal/ftmemory.h: s/new/newsz/ (for C++).
       
   133 	(FT_ALLOC): Remove redundant redefinition.
       
   134 
       
   135 	* builds/compiler/gcc-dev.mk (CFLAGS) [g++]: Don't use
       
   136 	`-Wstrict-prototypes'.
       
   137 
       
   138 	* src/base/ftstream.c (FT_Stream_EnterFrame): Add cast.
       
   139 
       
   140 	* include/freetype/config/ftconfig.h (FT_BASE_DEF) [__cplusplus]:
       
   141 	Remove `extern'.
       
   142 
       
   143 2006-05-02  David Turner  <david@freetype.org>
       
   144 
       
   145 	Update the memory management functions and macros to safely deal
       
   146 	with array size buffer overflows.  This corresponds to attempts to
       
   147 	allocate arrays that are too large.  For an example, consider the
       
   148 	following code:
       
   149 
       
   150 	  count = read_uint32_from_file(); array = malloc( sizeof ( Item ) *
       
   151 	  count ); for ( nn = 0; nn < count; nn++ )
       
   152 	    array[nn] = read_item_from_file();
       
   153 
       
   154 	If `count' is larger than `FT_UINT_MAX/sizeof(Item)', the
       
   155 	multiplication overflows, and the array allocated os smaller than
       
   156 	the data read from the file.  In this case, the heap will be
       
   157 	trashed, and this can be used as a denial-of-service attack, or make
       
   158 	the engine crash later.
       
   159 
       
   160 	The FT_ARRAY_NEW and FT_ARRAY_RENEW macros now ensure that the new
       
   161 	count is no larger than `FT_INT_MAX/item_size', otherwise a new
       
   162 	error code `FT_Err_Array_Too_Large' will be returned.
       
   163 
       
   164 	Note that the memory debugger now works again when FT_DEBUG_MEMORY
       
   165 	is defined.  FT_STRICT_ALIASING has disappeared; the corresponding
       
   166 	code is now the default.
       
   167 
       
   168 
       
   169 	* include/freetype/config/ftconfig.h (FT_BASE_DEF) [!__cplusplus]:
       
   170 	Don't use `extern'.
       
   171 
       
   172 	* include/freetype/fterrdef.h (FT_Err_Array_Too_Large): New error
       
   173 	code.
       
   174 
       
   175 	* include/freetype/internal/ftmemory.h (FT_DEBUG_INNER)
       
   176 	[FT_DEBUG_MEMORY]: New macro.
       
   177 	(ft_mem_realloc, ft_mem_qrealloc): Pass new object size count also.
       
   178 	(ft_mem_alloc_debug, ft_mem_qalloc_debug, ft_mem_realloc_debug,
       
   179 	ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
       
   180 	(FT_MEM_ALLOC, FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC,
       
   181 	FT_MEM_FREE): Redefine.
       
   182 	(FT_MEM_NEW_ARRAY, FT_MEM_RENEW_ARRAY, FT_MEM_QNEW_ARRAY,
       
   183 	FT_MEM_QRENEW_ARRAY): Redefine.
       
   184 	(FT_ALLOC_MULT, FT_REALLOC_MULT, FT_MEM_QALLOC_MULT,
       
   185 	FT_MEM_QREALLOC_MULT): New macros.  Update callers where
       
   186 	appropriate.
       
   187 	(FT_MEM_SET_ERROR): Slightly redefine.
       
   188 
       
   189 
       
   190 	* src/base/ftdbgmem.c (_ft_debug_file, _ft_debug_lineno)
       
   191 	[FT_DEBUG_MEMORY]: New global variables, replacing...
       
   192 	(FT_MemTable_Rec) [FT_DEBUG_MEMORY]: Remove `filename' and
       
   193 	`line_no'.  Update all callers.
       
   194 	(ft_mem_debug_alloc) [FT_DEBUG_MEMORY]: Avoid possible integer
       
   195 	overflow.
       
   196 	(ft_mem_alloc_debug, ft_mem_realloc_debug, ft_mem_qalloc_debug,
       
   197 	ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
       
   198 
       
   199 	* src/base/ftmac.c (read_lwfn): Catch integer overflow.
       
   200 	* src/base/ftrfork.c (raccess_guess_darwin_hfsplus): Ditto.
       
   201 	* src/base/ftutil.c: Remove special code for FT_STRICT_ALIASING.
       
   202 	(ft_mem_alloc, ft_mem_realloc, ft_mem_qrealloc): Rewrite.
       
   203 
       
   204 
       
   205 	* include/freetype/ftstream.h (FT_FRAME_ENTER, FT_FRAME_EXIT,
       
   206 	FT_FRAME_EXTRACT, FT_FRAME_RELEASE): Use FT_DEBUG_INNER to report the
       
   207 	place where the frames were entered, extracted, exited or released
       
   208 	in the memory debugger.
       
   209 
       
   210 	* src/base/ftstream.c (FT_Stream_ReleaseFrame) [FT_DEBUG_MEMORY]:
       
   211 	Call ft_mem_free.
       
   212 	(FT_Stream_EnterFrame) [FT_DEBUG_MEMORY]: Use ft_mem_qalloc.
       
   213 	(FT_Stream_ExitFrame) [FT_DEBUG_MEMORY]: Use ft_mem_free.
       
   214 
       
   215 2006-04-30  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   216 
       
   217 	* src/base/ftobjs.c (Mac_Read_POST_Resource): Correct pfb_pos
       
   218 	initialization, remove extra cast to copy to pfb_lenpos.  This fixes
       
   219 	parsing of PFB fonts with MacOS resource fork (bug introduced
       
   220 	2003-09-11).  Patch provided by Huib-Jan Imbens <ft@imbens.nl>.
       
   221 
       
   222 2006-04-29  Werner Lemberg  <wl@gnu.org>
       
   223 
       
   224 	Further C library abstraction.  Based on a patch from
       
   225 	msn2@bidyut.com.
       
   226 
       
   227 	* include/freetype/config/ftstdlib.h (FT_CHAR_BIT, FT_FILE,
       
   228 	ft_fopen, ft_fclose, ft_fseek, ft_ftell, ft_fread, ft_smalloc,
       
   229 	ft_scalloc, ft_srealloc, ft_sfree, ft_labs): New wrapper macros for
       
   230 	C library functions.  Update all users accordingly (and catch some
       
   231 	other places where the C library function was used instead of the
       
   232 	wrapper functions).
       
   233 
       
   234 	* src/base/ftsystem.c: Don't include stdio.h and stdlib.h.
       
   235 	* src/gzip/zutil.h [MSDOS && !(__TURBOC__ || __BORLANDC__)]: Don't
       
   236 	include malloc.h.
       
   237 
       
   238 
       
   239 	* builds/unix/unix-def.in (datarootdir): Define, for autoconf 2.59c
       
   240 	and forthcoming versions.
       
   241 
       
   242 2006-04-28  Werner Lemberg  <wl@gnu.org>
       
   243 
       
   244 	* src/lzw/ftlzw.c, src/lzw/zopen.c, src/lzw/zopen.h: Removed,
       
   245 	obsolete.
       
   246 
       
   247 2006-04-27  yi luo  <luoyi.ly@gmail.com>
       
   248 
       
   249 	* builds/win32/visualc/freetype.vcproj: Updated.
       
   250 
       
   251 2006-04-26  David Turner  <david@freetype.org>
       
   252 
       
   253 
       
   254 	* Version 2.2 released.
       
   255 	=======================
       
   256 
       
   257 
       
   258 	Tag sources with `VER-2-2-0'.
       
   259 
       
   260 2006-04-26  Werner Lemberg  <wl@gnu.org>
       
   261 
       
   262 	* src/psaux/psobjs.c (shift_elements): Don't use FT_Long but
       
   263 	FT_PtrDiff for `delta'.  Reported by Céline PILLET
       
   264 	<Celine.Pillet@Tagginfo.com>.
       
   265 
       
   266 2006-04-21  David Turner  <david@freetype.org>
       
   267 
       
   268 	* include/freetype/ftincrem.h: Documentation updates.
       
   269 	(FT_Incremental_Interface): New typedef.
       
   270 
       
   271 	* include/freetype/ftmodapi.h, include/freetype/ftglyph.h:
       
   272 	Documentation updates.
       
   273 
       
   274 	* include/freetype/freetype.h: Documentation update.
       
   275 	(FT_HAS_FAST_GLYPHS): Always set to 0.
       
   276 
       
   277 	* include/freetype/ftstroke.h, src/base/ftstroke.c (FT_Stroker_New):
       
   278 	Take an FT_Library argument instead of FT_Memory.
       
   279 
       
   280 	* src/sfnt/ttcmap.c: Remove compiler warnings (gcc-4.0.2).
       
   281 
       
   282 2006-04-13  David Turner  <david@freetype.org>
       
   283 
       
   284 	* src/autofit/afloader.c (af_loader_init, af_loader_load_g): Remove
       
   285 	superfluous code in the auto-fitter's loader.
       
   286 
       
   287 2006-04-05  Detlef Würkner  <TetiSoft@apg.lahn.de>
       
   288 
       
   289 	* builds/amiga/makefile, builds/amiga/makefile.os4,
       
   290 	builds/amiga/smakefile: Added FT2_BUILD_LIBRARY define.
       
   291 
       
   292 2006-04-03  luoyi  <luoyi.ly@gmail.com>
       
   293 
       
   294 	* builds/compiler/intelc.mk (TE): New variable.
       
   295 	(ANSIFLAGS): Updated.
       
   296 
       
   297 2006-04-03  Werner Lemberg  <wl@gnu.org>
       
   298 
       
   299 	* builds/exports.mk (clean_symbols_list, clean_apinames): Removed.
       
   300 	(CLEAN): Add $(EXPORTS_LIST) and $(APINAMES_EXE).
       
   301 	(.PHONY): Updated.
       
   302 
       
   303 	* configure.ac: Minor fixes to improve --help output.
       
   304 
       
   305 
       
   306 	* docs/PROBLEMS: New file.
       
   307 
       
   308 2006-04-01  David Turner  <david@freetype.org>
       
   309 
       
   310 	* docs/CHANGES: Updated.
       
   311 
       
   312 	* include/freetype/ftcache.h, include/freetype/config/ftheader.h:
       
   313 	Update documentation comments.
       
   314 
       
   315 2006-04-01  Werner Lemberg  <wl@gnu.org>
       
   316 
       
   317 	* builds/unix/install.mk (uninstall): Don't handle `cache'
       
   318 	directory which no longer exists.
       
   319 
       
   320 2006-03-29  Detlef Würkner  <TetiSoft@apg.lahn.de>
       
   321 
       
   322 	* src/psaux/psconv.c: Changed some variables which are expected to
       
   323 	hold negative values from `char' to `FT_Char' to allow building with
       
   324 	a compiler where `char' is unsigned by default.
       
   325 
       
   326 2006-03-27  David Turner  <david@freetype.org>
       
   327 
       
   328 	* src/sfnt/ttkern.c (tt_face_get_kerning): Fix a serious bug that
       
   329 	causes some programs to go into an infinite loop when dealing with
       
   330 	fonts that don't have a properly sorted kerning sub-table.
       
   331 
       
   332 2006-03-26  Werner Lemberg  <wl@gnu.org>
       
   333 
       
   334 	* src/bdf/bdflib.c (ERRMSG4): New macro.
       
   335 	(_bdf_parse_glyphs): Handle invalid BBX values.
       
   336 
       
   337 	* include/freetype/fterrdef.h (FT_Err_Bbx_Too_Big): New error
       
   338 	macro.
       
   339 
       
   340 2006-03-23  Werner Lemberg  <wl@gnu.org>
       
   341 
       
   342 	* docs/CHANGES: Updated.
       
   343 
       
   344 
       
   345 	* src/tools/docmaker/tohtml.py (html_header_2): Add horizontal
       
   346 	padding between table elements.
       
   347 	(html_header_1): The `DOCTYPE' comment must be in uppercase.
       
   348 	(make_html_para): Convert `...' quotations into real left and
       
   349 	right single quotes.
       
   350 	Use `para_header' and `para_footer'.
       
   351 
       
   352 	* src/tools/docmaker/sources.py (re_bold, re_italic): Accept "'"
       
   353 	also.
       
   354 
       
   355 2006-03-23  David Turner <david@freetype.org>
       
   356 
       
   357 	Add FT_Get_SubGlyph_Info API to retrieve subglyph data.  Note that
       
   358 	we do not expose the FT_SubGlyphRec structure.
       
   359 
       
   360 	* include/freetype/internal/ftgloadr.h (FT_SUBGLYPH_FLAGS_*): Moved
       
   361 	to...
       
   362 	* include/freetype/freetype.h (FT_SUBGLYPH_FLAGS_*): Here.
       
   363 	(FT_Get_SybGlyph_Info): New declaration.
       
   364 
       
   365 	* src/base/ftobjs.c (FT_Get_SubGlyph_Info): New function.
       
   366 
       
   367 
       
   368 	* src/autofit/afloader.c (af_loader_load_g): Compute lsb_delta and
       
   369 	rsb_delta correctly in edge cases.
       
   370 
       
   371 2006-03-22  Werner Lemberg  <wl@gnu.org>
       
   372 
       
   373 	* src/cache/ftccache.c, (ftc_node_mru_up, FTC_Cache_Lookup)
       
   374 	[!FTC_INLINE]: Compile conditionally.
       
   375 	* src/cache/ftccache.h: Updated.
       
   376 
       
   377 	* src/cache/ftcglyph.c (FTC_GNode_Init, FTC_GNode_UnselectFamily,
       
   378 	FTC_GNode_Done, FTC_GNode_Compare, FTC_Family_Init, FTC_GCache_New):
       
   379 	s/FT_EXPORT/FT_LOCAL/.
       
   380 	(FTC_GCache_Init, FTC_GCache_Done): Commented out.
       
   381 	(FTC_GCache_Lookup) [!FTC_INLINE]: Compile conditionally.
       
   382 	s/FT_EXPORT/FT_LOCAL/.
       
   383 	* src/cache/ftcglyph.h: Updated.
       
   384 
       
   385 	* src/cache/ftcimage.c (FTC_INode_Free, FTC_INode_New):
       
   386 	s/FT_EXPORT/FT_LOCAL/.
       
   387 	(FTC_INode_Weight): Commented out.
       
   388 	* src/cache/ftcimage.h: Updated.
       
   389 
       
   390 	* src/cache/ftmanag.c (FTC_Manager_Compress,
       
   391 	FTC_Manager_RegisterCache, FTC_Manager_FlushN):
       
   392 	s/FT_EXPORT/FT_LOCAL/.
       
   393 	* src/cache/ftmanag.h: Updated.
       
   394 
       
   395 	* src/cache/ftcsbits.c (FTC_SNode_Free, FTC_SNode_New,
       
   396 	FTC_SNode_Compare): s/FT_EXPORT/FT_LOCAL/.
       
   397 	(FTC_SNode_Weight): Commented out.
       
   398 	* src/cache/ftcsbits.h: Updated.
       
   399 
       
   400 2006-03-22  Werner Lemberg  <wl@gnu.org>
       
   401 
       
   402 	* src/cache/ftccache.c, src/cache/ftccache.h (FTC_Node_Destroy):
       
   403 	Remove, unused.
       
   404 
       
   405 	* src/cache/ftccmap.h: Remove, unused.
       
   406 
       
   407 	* src/cache/rules.mk (CACHE_DRV_H): Remove ftccmap.h.
       
   408 
       
   409 2006-03-21  Zhe Su  <james.su@gmail.com>
       
   410 
       
   411 	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Improve
       
   412 	algorithm.
       
   413 
       
   414 2006-03-21  Werner Lemberg  <wl@gnu.org>
       
   415 
       
   416 	* src/cff/cfftypes.h (CFF_CharsetRec): Add `max_cid' member.
       
   417 
       
   418 	* src/cff/cffload.c (cff_charset_load): Set `charset->max_cid'.
       
   419 
       
   420 	* src/cff/cffgload.c (cff_slot_load): Change type of third parameter
       
   421 	to `FT_UInt'.
       
   422 	Check range of `glyph_index'.
       
   423 	* src/cff/cffgload.h: Updated.
       
   424 
       
   425 
       
   426 	* src/sfnt/ttcmap.c (tt_face_build_cmaps): Handle invalid offset
       
   427 	correctly.
       
   428 
       
   429 
       
   430 	* builds/freetype.mk (refdoc), docs/CHANGES, Jamfile (RefDoc),
       
   431 	README: s/2.1.10/2.2/.
       
   432 
       
   433 2006-03-21  David Turner  <david@freetype.org>
       
   434 
       
   435 	* src/autofit/aflatin.c (af_latin_metrics_scale): Fix small bug
       
   436 	that crashes the auto-hinter (introduced by previous patch).
       
   437 
       
   438 2006-03-20  Werner Lemberg  <wl@gnu.org>
       
   439 
       
   440 	* builds/freetype.mk (CACHE_DIR, CACHE_H): Remove.
       
   441 	(FREETYPE_H): Updated.
       
   442 
       
   443 	* src/cache/rules.mk (CACHE_H_DIR): Remove.
       
   444 	(CACHE_DRV_H): Updated.
       
   445 
       
   446 2006-03-20  David Turner  <david@freetype.org>
       
   447 
       
   448 	* include/freetype/cache/ftccache.h,
       
   449 	include/freetype/cache/ftccmap.h, include/freetype/cache/ftcglyph.h
       
   450 	include/freetype/cache/ftcimage.h include/freetype/cache/ftcmanag.h
       
   451 	include/freetype/cache/ftcmru.h include/freetype/cache/ftcsbits.h:
       
   452 	Move to...
       
   453 
       
   454 	* src/cache/ftccache.h, src/cache/ftcglyph.h, src/cache/ftcimage.h,
       
   455 	src/cache/ftcsbits.h, src/cache/ftcmanag.h, src/cache/ftccmap.h,
       
   456 	src/cache/ftcmru.h: This new location.
       
   457 	Update declarations according to the changes in the corresponding
       
   458 	source files.
       
   459 
       
   460 	Note that these files are not used by FreeType clients; all public
       
   461 	APIs of the cache module have been already moved to
       
   462 	`include/freetype/ftcache.h', and all FT_CACHE_INTERNAL_XXXX_H
       
   463 	macros resolve to it.
       
   464 
       
   465 	Reason for the move is to allow modifications of the internals
       
   466 	without interferences with rogue clients.  Note that there are no
       
   467 	known clients that access the cache internals at the moment.
       
   468 
       
   469 	* builds/unix/install.mk (install): Don't install headers from
       
   470 	$(CACHE_H).
       
   471 	Remove `freetype/cache' from the target directory.
       
   472 
       
   473 	* include/freetype/config/ftheader.h (FT_CACHE_MANAGER_H,
       
   474 	FT_CACHE_INTERNAL_MRU_H, FT_CACHE_INTERNAL_MANAGER_H,
       
   475 	FT_CACHE_INTERNAL_CACHE_H, FT_CACHE_INTERNAL_GLYPH_H,
       
   476 	FT_CACHE_INTERNAL_IMAGE_H, FT_CACHE_INTERNAL_SBITS_H): Point to
       
   477 	FT_CACHE_H.
       
   478 
       
   479 	* src/cache/ftcbasic.c, src/cache/ftccache.h, src/cache/ftccback.h,
       
   480 	src/cache/ftccmap.c, src/cache/ftcglyph.c, src/cache/ftcglyph.h,
       
   481 	src/cache/ftcimage.c, src/cache/ftcimage.h, src/cache/ftcmanag.c,
       
   482 	src/cache/ftcmanag.h, src/cache/ftcmru.h, src/cache/ftcsbits.c,
       
   483 	src/cache/ftcsbits.h: Don't use the FT_CACHE_INTERNAL_XXX_H macros
       
   484 	but include the headers directly (which are now in `src/cache').
       
   485 
       
   486 	* src/cache/ftccache.c:  Don't use the FT_CACHE_INTERNAL_XXX_H
       
   487 	macros but include the headers directly.
       
   488 	(FTC_Cache_Init, FTC_Cache_Done, FTC_Cache_NewNode,
       
   489 	FTC_Cache_Lookup, FTC_Cache_RemoveFaceID): Declare as FT_LOCAL_DEF.
       
   490 
       
   491 	* src/cache/ftccache.c:  Don't use the FT_CACHE_INTERNAL_XXX_H
       
   492 	macros but include the headers directly.
       
   493 	(FTC_MruNode_Prepend, FTC_MruNode_Up, FTC_MruNode_Remove,
       
   494 	FTC_MruList_Init, FTC_MruList_Reset, FTC_MruList_Done,
       
   495 	FTC_MruList_New, FTC_MruList_Remove, FTC_MruList_RemoveSelection):
       
   496 	Declare as FT_LOCAL_DEF.
       
   497 	(FTC_MruListFind, FTC_MruList_Lookup) [!FTC_INLINE]: Compile
       
   498 	conditionally.
       
   499 	Declare as FT_LOCAL_DEF.
       
   500 
       
   501 
       
   502 	* builds/win32/visualc/freetype.dsp: Update project file, add
       
   503 	missing base source files (ftstroke.c, ftxf86.c, etc.).
       
   504 
       
   505 
       
   506 	* src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c,
       
   507 	src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c,
       
   508 	src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/type1/t1afm.c,
       
   509 	src/type1/t1objs.c: Remove compiler warnings when building with
       
   510 	Visual C++ 6 and /W4.
       
   511 
       
   512 	* src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
       
   513 	hinting for italic/oblique fonts.
       
   514 
       
   515 
       
   516 
       
   517 	* src/truetype/ttpload.c, src/truetype/ttpload.h
       
   518 	(tt_face_get_device_metrics): Change second argument to `FT_UInt'.
       
   519 
       
   520 2006-03-06  David Turner  <david@freetype.org>
       
   521 
       
   522 	* src/cache/ftcmanag.c (FTC_Manager_Lookup_Size): Prevent crashes in
       
   523 	Mozilla/FireFox print preview in Ubuntu Hoary.
       
   524 
       
   525 2006-02-28  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   526 
       
   527 	* src/base/ftutil.c (ft_mem_qalloc) [FT_STRICT_ALIASING]: Do not
       
   528 	return error when size == 0.
       
   529 
       
   530 2006-02-28  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   531 
       
   532 	* src/base/ftobjs.c (FT_Done_Library): Remove modules in reverse
       
   533 	order so that type42 module is removed before truetype module.  This
       
   534 	avoids double free in some occasions.
       
   535 
       
   536 2006-02-28  David Turner  <david@freetype.org>
       
   537 
       
   538 	* Release candidate VER-2-2-0-RC4.
       
   539 	----------------------------------
       
   540 
       
   541 	* docs/CHANGES: Documentation updates.
       
   542 
       
   543 2006-02-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   544 
       
   545 	* modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
       
   546 	build ftvalid in ft2demos.  It works as dummy ABI if gxvalid is not
       
   547 	built.
       
   548 
       
   549 2006-02-27  Werner Lemberg  <wl@gnu.org>
       
   550 
       
   551 	* include/freetype/cache/ftccache.h
       
   552 	[FT_CONFIG_OPTION_OLD_INTERNALS]: Remove declaration of
       
   553 	ftc_node_done.
       
   554 
       
   555 	* src/cache/ftccache.c (ftc_node_destroy)
       
   556 	[!FT_CONFIG_OPTION_OLD_INTERNALS]: Mark as FT_LOCAL_DEF.  This
       
   557 	should now fix all possible compilation options.
       
   558 
       
   559 2006-02-27  David Turner  <david@freetype.org>
       
   560 
       
   561 	* src/base/ftutil.c (ft_mem_alloc, ft_mem_qalloc, ft_mem_realloc,
       
   562 	ft_mem_qrealloc): Return an error if a negative size is passed in
       
   563 	parameters.
       
   564 
       
   565 	* src/cache/ftccache.c (ftc_node_destroy): Mark as FT_BASE_DEF since
       
   566 	it needs to be exported for rogue clients.
       
   567 
       
   568 	* src/pshinter/pshglob.c (psh_blues_set_zones_0): Prevent problems
       
   569 	with malformed fonts which have an odd number of blue values (these
       
   570 	are broken according to the specs).
       
   571 
       
   572 	* src/cff/cffload.c (cff_subfont_load), src/type1/t1load.c
       
   573 	(T1_Open_Face): Modify the loaders to force even-ness of
       
   574 	`num_blue_values'.
       
   575 
       
   576 	(cff_index_access_element): Ignore invalid entries in index files.
       
   577 
       
   578 2006-02-27  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   579 
       
   580 	* src/base/ftobjs.c (FT_Set_Char_Size): Check the case where width
       
   581 	or height is 0.
       
   582 
       
   583 2006-02-27  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
   584 
       
   585 	* builds/mac/FreeType.m68k_cfm.make.txt,
       
   586 	builds/mac/FreeType.m68k_far.make.txt,
       
   587 	builds/mac/FreeType.ppc_carbon.make.txt,
       
   588 	builds/mac/FreeType.ppc_classic.make.txt: Update to new header
       
   589 	inclusion introduced on 2006-02-16.
       
   590 
       
   591 2006-02-27  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   592 
       
   593 	* src/base/ftobjs.c (GRID_FIT_METRICS): New macro.
       
   594 	(ft_glyphslot_grid_fit_metrics, FT_Load_Glyph) [GRID_FIT_METRICS]:
       
   595 	Re-enable glyph metrics grid-fitting.  It is now done in the base
       
   596 	layer.
       
   597 	(FT_Set_Char_Size, FT_Set_Pixel_Sizes): Make sure the width and
       
   598 	height are not too small or too large, just like we were doing in
       
   599 	2.1.10.
       
   600 
       
   601 	* src/autofit/afloader.c (af_loader_load_g): The vertical metrics
       
   602 	are not scaled.
       
   603 
       
   604 2006-02-26  Werner Lemberg  <wl@gnu.org>
       
   605 
       
   606 	* docs/release: Minor additions and clarifications.
       
   607 
       
   608 	* docs/CHANGES: Updated to reflect many fixes for backwards
       
   609 	compatibility.  Still incomplete.
       
   610 
       
   611 2006-02-26  David Turner  <david@freetype.org>
       
   612 
       
   613 	* src/base/ftobjs.c (ft_recompute_scaled_metrics): Re-enable
       
   614 	conservative rounding of metrics to avoid breaking clients like
       
   615 	Pango (see http://bugzilla.gnome.org/show_bug.cgi?id=327852).
       
   616 
       
   617 2006-02-25  Werner Lemberg  <wl@gnu.org>
       
   618 
       
   619 	* devel/ftoption.h: Synchronize with
       
   620 	include/freetype/config/ftoption.h.
       
   621 
       
   622 	* src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF (again).
       
   623 
       
   624 2006-02-25  David Turner  <david@freetype.org>
       
   625 
       
   626 	Fix compiler warnings as well as C++ compilation problems.
       
   627 	Add missing prototypes.
       
   628 
       
   629 	* src/autofit/afcjk.c, src/base/ftobjs.c, src/base/ftutil.c,
       
   630 	src/bdf/bdfdrivr.c, src/cff/cffcmap.c, src/cff/cffobjs.c,
       
   631 	src/psaux/afmparse.c,, src/psaux/t1cmap.c, src/smooth/ftgrays.c
       
   632 	src/tools/apinames.c, src/truetype/ttdriver.c: Add various casts,
       
   633 	initialize variables, and decorate functions with FT_CALLBACK_DEF,
       
   634 	etc., to fix compiler warnings (and C++ compiling errors).
       
   635 
       
   636 	* src/cache/ftcbasic.c: Fix `-Wmissing-prototypes' warnings with
       
   637 	gcc.
       
   638 
       
   639 	* builds/unix/ftsystem.c: Don't include FT_INTERNAL_OBJECTS_H but
       
   640 	FT_INTERNAL_STREAM_H.
       
   641 
       
   642 	* src/base/ftsystem.c: Include FT_INTERNAL_STREAM_H.
       
   643 
       
   644 	* include/freetype/config/ftheader.h (FT_PFR_H): New macro.
       
   645 
       
   646 	* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Don't
       
   647 	define for C++.
       
   648 
       
   649 	* include/freetype/internal/services/svotval.h: Don't include
       
   650 	FT_OPENTYPE_VALIDATE_H but FT_INTERNAL_VALIDATE_H.
       
   651 
       
   652 	* include/freetype/internal/services/svpfr.h: Include FT_PFR_H.
       
   653 
       
   654 	* src/gzip/ftgzip.c: Include FT_GZIP_H.
       
   655 
       
   656 	* src/lzw/ftlzw.c, src/lzw/ftlzw2.c: Include FT_LZW_H.
       
   657 
       
   658 	* src/sfnt/ttbdf.c (tt_face_load_bdf_props): Rearrange code.
       
   659 
       
   660 2006-02-24  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   661 
       
   662 	* src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
       
   663 	ft_contour_enclosed, ft_outline_get_orientation): Commented out.  We
       
   664 	have to wait until `FT_GlyphSlot_Own_Bitmap' is stabilized.
       
   665 	(FT_Outline_Embolden): Use `FT_Outline_Get_Orientation'.
       
   666 
       
   667 2006-02-24  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   668 
       
   669 	* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Update
       
   670 	documentation.
       
   671 
       
   672 	* include/freetype/ftsynth.h (FT_GlyphSlot_Own_Bitmap),
       
   673 	src/base/ftsynth.c (FT_GlyphSlot_Own_Bitmap): New function to make
       
   674 	sure a glyph slot owns its bitmap.  It is also marked experimental
       
   675 	and due to change.
       
   676 	(FT_GlyphSlot_Embolden): Undo the last change.  It turns out that
       
   677 	rendering the outline confuses some applications.
       
   678 
       
   679 2006-02-24  David Turner  <david@freetype.org>
       
   680 
       
   681 	* Release candidate VER-2-2-0-RC3.
       
   682 	----------------------------------
       
   683 
       
   684 	* src/cache/ftcbasic.c: Correct compatibility hack bug.
       
   685 
       
   686 2006-02-24  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   687 
       
   688 	* include/freetype/freetype.h (FT_Size_RequestRec): Change the type
       
   689 	of `width' and `height' to `FT_Long'.
       
   690 	(enum FT_Size_Request_Type), src/base/ftobjs.c (FT_Request_Metrics):
       
   691 	New request type `FT_SIZE_REQUEST_TYPE_SCALES' to specify the scales
       
   692 	directly.
       
   693 
       
   694 2006-02-23  David Turner  <david@freetype.org>
       
   695 
       
   696 	Two BDF patches from Debian libfreetype6 for 2.1.10.
       
   697 
       
   698 	* src/bdf/bdflib.c (_bdf_parse_glyphs): Fix a bug with zero-width
       
   699 	glyphs.
       
   700 	Fix a problem with large encodings.
       
   701 
       
   702 
       
   703 	Fix binary compatibility issues for gnustep-back (GNUstep backend
       
   704 	module) which still crashes under Sarge.
       
   705 
       
   706 	* src/cache/ftccmap.c (FTC_OldCMapType, FTC_OldCMapIdRec,
       
   707 	FTC_OldCMapDesc) [FT_CONFIG_OPTION_OLD_INTERNALS]: New data
       
   708 	structures and enumerations.
       
   709 	(FTC_CMapCache_Lookup) [FT_CONFIG_OPTION_OLD_INTERNALS]: New
       
   710 	compatibility code.
       
   711 
       
   712 	* src/cache/ftcbasic.c: Fix a silly bug that prevented our `hack' to
       
   713 	support rogue clients compiled against 2.1.7 to work correctly.
       
   714 	This probably explains the GNUstep crashes with the second release
       
   715 	candidate.
       
   716 
       
   717 2006-02-23  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   718 
       
   719 	* include/freetype/ftoutln.h (enum FT_Orientation): New value
       
   720 	`FT_ORIENTATION_NONE'.
       
   721 
       
   722 	* src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
       
   723 	ft_contour_enclosed, ft_outline_get_orientation): Another version of
       
   724 	`FT_Outline_Get_Orientation'.  This version differs from the public
       
   725 	one in that each part (contour not enclosed in another contour) of the
       
   726 	outline is checked for orientation.
       
   727 	(FT_Outline_Embolden): Use `ft_outline_get_orientation'.
       
   728 
       
   729 	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Render the outline and
       
   730 	use bitmap's embolden routine when the outline one failed.
       
   731 
       
   732 2006-02-22  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   733 
       
   734 	* modules.cfg: Compile in ftotval.c and ftxf86.c by default for ABI
       
   735 	compatibility.
       
   736 
       
   737 	* src/sfnt/sfobjs.c (sfnt_done_face): Fix a memory leak.
       
   738 
       
   739 	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned,
       
   740 	tt_sbit_decoder_load_byte_aligned) [FT_OPTIMIZE_MEMORY]: Fix sbit
       
   741 	loading.  (Only tested with bit aligned sbit with x_pos == 0.)
       
   742 
       
   743 	* src/truetype/ttpload.c (tt_face_load_hdmx,
       
   744 	tt_face_get_device_metrics) [FT_OPTIMIZE_MEMORY]: `hdmx' is not
       
   745 	actually used.
       
   746 
       
   747 2006-02-21  David Turner  <david@freetype.org>
       
   748 
       
   749 	Add a new API named FT_Get_TrueType_Engine_Type to determine whether
       
   750 	we have a patented, unpatented, or unimplemented TrueType bytecode
       
   751 	interpreter.
       
   752 
       
   753 	The FT_Get_Module_Flags API was removed consequently.
       
   754 
       
   755 	* include/freetype/ftmodapi.h (FT_Module_Get_Flags): Removed.
       
   756 	Replaced with...
       
   757 	(FT_Get_TrueType_Engine_Type): This.
       
   758 	(FT_TrueTypeEngineType): New enumeration.
       
   759 
       
   760 	* include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_ENGINE_H):
       
   761 	New macro.
       
   762 
       
   763 	* src/base/ftobjs.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
       
   764 	(FT_Module_Get_Flags): Removed.  Replaced with...
       
   765 	(FT_Get_TrueType_Engine_Type): This.
       
   766 
       
   767 	* src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
       
   768 	(tt_service_truetype_engine): New service structure.
       
   769 	(tt_services): Register it.
       
   770 
       
   771 	* include/freetype/internal/services/svtteng.h: New file.
       
   772 
       
   773 
       
   774 	* src/sfnt/sfobjs.c (sfnt_load_face): Fix silly bug that prevented
       
   775 	embedded bitmaps from being correctly listed and used.
       
   776 
       
   777 
       
   778 	* src/sfnt/ttmtx.c (tt_face_load_hmtx): Disable memory optimization
       
   779 	if FT_CONFIG_OPTION_OLD_INTERNALS is used.  The is necessary because
       
   780 	libXfont is directly accessing the HMTX data, unfortunately.
       
   781 	Fix some compiler warnings.
       
   782 	(tt_face_get_metrics): Ditto.
       
   783 
       
   784 
       
   785 	* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix handling of
       
   786 	character advances.
       
   787 
       
   788 2006-02-20  David Turner  <david@freetype.org>
       
   789 
       
   790 	Support binary compatibility with the X.Org server's Xfont library.
       
   791 	Note that this change unfortunately prevents memory optimizations
       
   792 	for the embedded bitmap loader.
       
   793 
       
   794 	* include/freetype/internal/sfnt.h (SFNT_Interface): Move
       
   795 	`set_sbit_strike' and `load_sbit_metrics' fields to the location of
       
   796 	version 2.1.8.
       
   797 
       
   798 	* src/sfnt/sfdriver.c (tt_face_set_sbit_strike_stub): Call
       
   799 	FT_Size_Request.
       
   800 	(sfnt_interface): Updated.
       
   801 
       
   802 	* src/sfnt/ttsbit.c [FT_CONFIG_OPTION_OLD_INTERNALS]: Don't load
       
   803 	ttsbit0.c.
       
   804 	(tt_load_sbit_metrics): Make `sbit_small_metrics_fields' static.
       
   805 
       
   806 	* src/sfnt/ttsbit.h: Updated.
       
   807 
       
   808 2006-02-17  David Turner  <david@freetype.org>
       
   809 
       
   810 	* builds/unix/unix-cc.in (LINK_LIBRARY): Don't filter out exported
       
   811 	functions anymore.  This ensures that all FT_BASE internal functions
       
   812 	are available for dynamic linking.
       
   813 
       
   814 	* include/freetype/ftcache.h (FTC_IMAGE_TYPE_COMPARE,
       
   815 	FTC_IMAGE_TYPE_HASH), src/cache/ftcbasic.c (FTC_OldFontRec,
       
   816 	FTC_OldImageDescRec, FTC_ImageCache_Lookup, FTC_Image_Cache_New,
       
   817 	FTC_OldImage_Desc, FTC_OLD_IMAGE_FORMAT, ftc_old_image_xxx,
       
   818 	ftc_image_type_from_old_desc, FTC_Image_Cache_Lookup,
       
   819 	FTC_SBitCache_Lookup, FTC_SBit_Cache_New, FTC_SBit_Cache_Lookup)
       
   820 	[FT_CONFIG_OPTION_OLD_INTERNALS]: Try to revive old functions of the
       
   821 	cache sub-system.  We try to recognize old legacy signatures with a
       
   822 	gross hack (hope it works).
       
   823 
       
   824 2006-02-17  Werner Lemberg  <wl@gnu.org>
       
   825 
       
   826 	* devel/ftoption.h: Synchronize with
       
   827 	include/freetype/config/ftoption.h.
       
   828 
       
   829 2006-02-16  David Turner  <david@freetype.org>
       
   830 
       
   831 	Massive changes to the internals to respect the internal object
       
   832 	layouts and exported functions of FreeType 2.1.7.  Note that the
       
   833 	cache sub-system cannot be fully retrofitted, unfortunately.
       
   834 
       
   835 	* include/freetype/config/ftoption.h
       
   836 	(FT_CONFIG_OPTION_OLD_INTERNALS): New macro.
       
   837 
       
   838 	* include/freetype/ftcache.h, include/freetype/cache/ftccache.h,
       
   839 	include/freetype/cache/ftccmap.h,
       
   840 	include/freetype/internal/ftcalc.h,
       
   841 	include/freetype/internal/ftdriver.h,
       
   842 	include/freetype/internal/ftmemory.h,
       
   843 	include/freetype/internal/ftobjs.h,
       
   844 	include/freetype/internal/psaux.h, include/freetype/internal/sfnt.h,
       
   845 	include/freetype/internal/t1types.h,
       
   846 	include/freetype/internal/tttypes.h, src/base/ftcalc.c,
       
   847 	src/base/ftdbgmem.c, src/base/ftobjs.c, src/base/ftutil.c,
       
   848 	src/bdf/bdfdrivr.c, src/cache/ftccache.c, src/cache/ftccback.h,
       
   849 	src/cache/ftcmanag.c, src/cff/cffdrivr.c, src/cid/cidriver.c,
       
   850 	src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c, src/psaux/psauxmod.c,
       
   851 	src/sfnt/sfdriver.c, src/truetype/ttdriver.c, src/type1/t1driver.c,
       
   852 	src/type1/t1objs.c, src/type42/t42drivr.c, src/winfonts/winfnt.c:
       
   853 	Use FT_CONFIG_OPTION_OLD_INTERNALS to revive old functions and data
       
   854 	structures.
       
   855 
       
   856 	Move newly added structure elements to the end of the affected
       
   857 	structure and add stub fields (if FT_CONFIG_OPTION_OLD_INTERNALS is
       
   858 	defined) to assure binary compatibility with older FreeType
       
   859 	versions.
       
   860 	Use FT_CONFIG_OPTION_OLD_INTERNALS to add function stubs for old
       
   861 	functions:
       
   862 
       
   863 	  ft_stub_set_char_sizes
       
   864 	  ft_stub_set_pixel_sizes
       
   865 
       
   866 	Rename the following internal functions to provide the old function
       
   867 	names as stubs:
       
   868 
       
   869 	  FT_Alloc          -> ft_mem_alloc
       
   870 	  FT_QAlloc         -> ft_mem_qalloc
       
   871 	  FT_Realloc        -> ft_mem_realloc
       
   872 	  FT_QRealloc       -> ft_mem_qrealloc
       
   873 	  FT_Free           -> ft_mem_free
       
   874 	  FT_Alloc_Debug    -> ft_mem_alloc_debug
       
   875 	  FT_QAlloc_Debug   -> ft_mem_qalloc_debug
       
   876 	  FT_Realloc_Debug  -> ft_mem_realloc_debug
       
   877 	  FT_QRealloc_Debug -> ft_mem_qrealloc_debug
       
   878 	  FT_Free_Debug     -> ft_mem_free_debug
       
   879 
       
   880 2006-02-15  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   881 
       
   882 	* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
       
   883 	unused `max_points' and `max_contours'.
       
   884 
       
   885 	* src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
       
   886 	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Update.
       
   887 
       
   888 	* include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused
       
   889 	`max_components'.
       
   890 
       
   891 	* src/truetype/ttinterp.h (TT_ExecContextRec): Remove unused
       
   892 	`loadSize' and `loadStack'.
       
   893 
       
   894 	* src/truetype/ttinterp.c (TT_Done_Context, TT_Load_Context),
       
   895 	src/sfnt/ttload.c (tt_face_load_maxp): Update.
       
   896 
       
   897 	* src/cff/cffobjs.h (cff_size_select), src/sfnt/sfdriver.c
       
   898 	(sfnt_interface), src/truetype/ttdriver.c (tt_size_request): Fix
       
   899 	compiler errors/warnings when TT_CONFIG_OPTION_EMBEDDED_BITMAPS is not
       
   900 	defined.
       
   901 
       
   902 	* src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): Fix
       
   903 	possible segment faults for the non-FT_OPTIMIZE_MEMORY'ed versions.
       
   904 	(finally!)
       
   905 
       
   906 
       
   907 	For most OpenType tables, `tt_face_load_xxxx' simply loads the table
       
   908 	and `face->root' is set later in `sfnt_load_face'.  Here, we try to
       
   909 	make this work for _all_ tables.  Also improve tracing messages.
       
   910 
       
   911 	* src/sfnt/ttsbit.c, src/sfnt/ttsbit0.c, src/sfnt/ttload.c,
       
   912 	src/sfnt/ttmtx.c: all `tt_face_load_xxxx' should load the table and
       
   913 	then exit.  Error handling or setting face->root is done later in
       
   914 	`sfnt_load_face'.
       
   915 
       
   916 	* src/sfnt/sfobjs.c (sfnt_load_face): Work harder.
       
   917 	Mac bitmap-only fonts are not scalable.
       
   918 	Check that `face->header.Units_Per_EM' is not zero.
       
   919 	(LOAD_, LOADM_): Emit pretty trace messages.
       
   920 
       
   921 	* src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Read metrics
       
   922 	from `eblc'.
       
   923 
       
   924 	* src/sfnt/ttcmap.c (tt_face_build_cmaps), src/sfnt/ttpost.c
       
   925 	(load_format_20, load_format_25, tt_face_get_ps_name): Use
       
   926 	face->max_profile.numGlyphs, instead of face->root.num_glyphs.
       
   927 
       
   928 2006-02-14  Werner Lemberg  <wl@gnu.org>
       
   929 
       
   930 	* include/freetype/ftoutln.h (FT_Outline_Embolden): Mention in
       
   931 	documentation that negative strength values are possible.
       
   932 	Give an example call.
       
   933 
       
   934 	* include/freetype/freetype.h (FT_GlyphSlotRec): Improve
       
   935 	documentation of `outline' field.
       
   936 
       
   937 	* src/sfnt/sfobjc.s: Inckude FT_INTERNAL_DEBUG_H.
       
   938 	* src/sfnt/sfdriver.c: Include ttmtx.h.
       
   939 
       
   940 	* src/autofit/afcjk.c: Include aftypes.h and aflatin.h.
       
   941 
       
   942 2006-02-14  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   943 
       
   944 	* src/sfnt/ttmtx.c (tt_face_get_metrics): Typo.
       
   945 
       
   946 2006-02-14  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   947 
       
   948 	* src/sfnt/ttmtx.c (tt_face_load_hhea, tt_face_load_hmtx): Simply
       
   949 	return error if table is missing.
       
   950 	Check table length in non-FT_OPTIMIZE_MEMORY'ed `tt_face_load_hmtx'.
       
   951 
       
   952 	* src/sfnt/sfobjs.c (sfnt_load_face): Take care of missing metrics
       
   953 	tables.  The last change makes Mac bitmap-only font not load and
       
   954 	this fixes it.
       
   955 
       
   956 	* src/truetype/ttgload.c (load_truetype_glyph): Fix compilation
       
   957 	error when FT_CONFIG_OPTION_INCREMENTAL is defined.
       
   958 
       
   959 2006-02-13  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   960 
       
   961 	Clean up the SFNT_Interface.  In this final pass, `load_hmtx' is
       
   962 	split from `load_hhea'.
       
   963 
       
   964 	* include/freetype/internal/sfnt.h, src/sfnt/sfdriver.c,
       
   965 	src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Split `hmtx' from `hhea'.
       
   966 
       
   967 	* src/sfnt/sfobjs.c (sfnt_load_face): Update.
       
   968 
       
   969 2006-02-13  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   970 
       
   971 	* src/sfnt/ttmtx.h, src/sfnt/ttmtx.c: Why are there two copies of
       
   972 	code...
       
   973 
       
   974 2006-02-13  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   975 
       
   976 	Clean up the SFNT_Interface.  In this pass, we want to treat the
       
   977 	font directory (offset table and table directory) as a normal table
       
   978 	like the others.  This also means that TTCs are no longer recognized
       
   979 	there but in `init_face'.
       
   980 
       
   981 	* include/freetype/internal/sfnt.h (SFNT_Interface),
       
   982 	src/sfnt/sfdriver.c: `load_sfnt_header' and `load_directory' are
       
   983 	combined and renamed to `load_font_dir'.
       
   984 
       
   985 	* src/sfnt/ttload.h, src/sfnt/ttload.c:
       
   986 	s/sfnt_dir_check/check_table_dir/.
       
   987 	`sfnt_init' is moved to sfobjs.c and renamed to `sfnt_open_font'.
       
   988 	`tt_face_load_sfnt_header' and `tt_face_load_directory' are combined
       
   989 	and renamed to `tt_face_load_font_dir'.
       
   990 
       
   991 	* src/sfnt/sfobjs.c (sfnt_init_face): Recognize TTC here.
       
   992 
       
   993 2006-02-13  Chia-I Wu  <b90201047@ntu.edu.tw>
       
   994 
       
   995 	Clean up the SFNT_Interface.  Table loading functions are now named
       
   996 	after the tables' tags; `hdmx' is TrueType-specific and thus the
       
   997 	code is moved to the truetype module; `get_metrics' is moved here
       
   998 	from the truetype module so that the code can be shared with the cff
       
   999 	module.
       
  1000 
       
  1001 	This pass involves no real changes.  That is, the code is moved
       
  1002 	verbatim mostly.  The only exception is the return value of
       
  1003 	`tt_face_get_metrics'.
       
  1004 
       
  1005 	* include/freetype/internal/sfnt.h, src/sfnt/rules.mk,
       
  1006 	src/sfnt/sfdriver.c, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
       
  1007 	src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttsbit.c,
       
  1008 	src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: Clean up the SFNT_Interface.
       
  1009 
       
  1010 	* src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: New files.  Metrics-related
       
  1011 	tables' loading and parsing code is moved to here.
       
  1012 	Move `tt_face_get_metrics' here from the truetype module.  The
       
  1013 	return value is changed from `void' to `FT_Error'.
       
  1014 
       
  1015 	* include/freetype/internal/fttrace.h: New trace: ttmtx.
       
  1016 
       
  1017 	* src/truetype/ttpload.c, src/truetype/ttpload.h: `hdmx' loading and
       
  1018 	parsing code is moved here.
       
  1019 	New function `tt_face_load_prep' split from `tt_face_load_fpgm'.
       
  1020 	`tt_face_load_fpgm' returns `FT_Err_Ok' if `fpgm' doesn't exist.
       
  1021 
       
  1022 	* src/cff/cffgload.c, src/cff/cffobjs.c: Update.
       
  1023 
       
  1024 	* src/truetype/ttgload.c, src/truetype/ttobjs.c: Update.
       
  1025 
       
  1026 2006-02-11  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1027 
       
  1028 	* src/autofit/afcjk.c (af_cjk_metrics_init): Fix a stupid bug...
       
  1029 
       
  1030 	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Use
       
  1031 	AF_LatinMetricsRec as the dummy metrics because we cast the metrics
       
  1032 	to it later in `af_latin_hints_link_segments'.
       
  1033 
       
  1034 2006-02-11  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1035 
       
  1036 	* include/freetype/config/ftoption.h (AF_CONFIG_OPTION_CJK): #define
       
  1037 	to enable autofit CJK script support.  (#define'd by default.)
       
  1038 
       
  1039 	* src/autofit/aflatin.h (AF_LATIN_CONSTANT): New macro.
       
  1040 
       
  1041 	* src/autofit/aflatin.c (af_latin_metrics_init_widths): Make sure
       
  1042 	that `edge_distance_threshold' is always set.
       
  1043 	(af_latin_hints_link_segments): Potential divide-by-zero bug.
       
  1044 	Use latin constant in the scoring formula.
       
  1045 
       
  1046 	* src/autofit/afcjk.c: Minor updates due to the above three changes.
       
  1047 
       
  1048 	* docs/TODO, docs/CHANGES: Updated.
       
  1049 
       
  1050 2006-02-09  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1051 
       
  1052 	Introduce experimental autofit CJK module based on akito's autohint
       
  1053 	patch.  You need to #define AF_MOD_CJK in afcjk.c to enable it.
       
  1054 
       
  1055 	* src/autofit/afglobal.c, src/autofit/afcjk.h, src/autofit/afcjk.c,
       
  1056 	src/autofit/rules.mk, src/autofit/autofit.c, src/autofit/aftypes.h:
       
  1057 	Add CJK module based on akito's autohint patch.
       
  1058 
       
  1059 	* src/autofit/afhints.h (AF_SegmentRec): New field `len' for the
       
  1060 	overlap length of the segments.
       
  1061 	(AF_SEGMENT_LEN, AF_SEGMENT_DIST): New macros.
       
  1062 
       
  1063 	* src/autofit/aflatin.h (af_latin_metrics_init_widths),
       
  1064 	src/autofit/aflatin.c (af_latin_metrics_init_widths): Made
       
  1065 	`FT_LOCAL'.
       
  1066 	Use the character given by the caller.
       
  1067 	(af_latin_metrics_init_widths, af_latin_hints_link_segments): Scale
       
  1068 	the thresholds.
       
  1069 
       
  1070 	* src/autofit/afloader.c (af_loader_load_g): Respect
       
  1071 	AF_SCALER_FLAG_NO_ADVANCE.
       
  1072 
       
  1073 2006-02-09  Werner Lemberg  <wl@gnu.org>
       
  1074 
       
  1075 	* src/cid/cidparse.c (cid_parse_new): Remove shadowing variable.
       
  1076 
       
  1077 2006-02-09  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1078 
       
  1079 	* src/cid/cidparse.c (cid_parse_new): Fix for abnormally short or
       
  1080 	broken CIDFont.  Reported by Taek Kwan(TK) Lee (see ft-devel
       
  1081 	2005-11-02).
       
  1082 
       
  1083 2006-02-08  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1084 
       
  1085 	* builds/unix/configure.ac: Fix bug for `--with-old-mac-fonts'
       
  1086 	option on UNIX platform.  It has been broken since 2006-01-11.
       
  1087 
       
  1088 2006-02-01  Werner Lemberg  <wl@gnu.org>
       
  1089 
       
  1090 	* src/otvalid/module.mk: s/otvalid_module_class/otv_module_class/.
       
  1091 	* src/gxvalid/module.mk: s/gxvalid_module_class/gxv_module_class/.
       
  1092 
       
  1093 	* builds/unix/unixddef.mk: Actually do define PLATFORM (fixing
       
  1094 	change from 2006-01-31).
       
  1095 	(TOP_DIR, OBJ_DIR): Update.
       
  1096 
       
  1097 	* builds/unix/install.mk (install): Fix path for ftmodule.h.
       
  1098 
       
  1099 	* Makefile, *.mk, builds/unix/unix-cc.in, builds/unix-def.in: Use
       
  1100 	`?=' where appropriate.
       
  1101 
       
  1102 	* builds/detect.mk (TOP_DIR), builds/os2/os2-dev.mk (TOP_DIR),
       
  1103 	builds/win32/w32-dev.mk (TOP_DIR): Removed.  Defined elsewhere.
       
  1104 
       
  1105 2006-01-31  Werner Lemberg  <wl@gnu.org>
       
  1106 
       
  1107 	Implement new, simplified module selection.  With GNU make it is now
       
  1108 	sufficient to modify a single file, `modules.cfg', to control the
       
  1109 	inclusion of modules and base extension files.
       
  1110 
       
  1111 	This change also fixes the creation of ftmodule.h; it now depends on
       
  1112 	`modules.cfg' and thus is rebuilt only if necessary.
       
  1113 
       
  1114 	Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the
       
  1115 	default location.
       
  1116 
       
  1117 	* modules.cfg: New file.
       
  1118 
       
  1119 	* builds/freetype.mk: Don't include `modules.mk'.
       
  1120 	Include all `rules.mk' files as specified in `modules.cfg'.
       
  1121 	(FTOPTION_FLAG, FTOPTION_H): New variables.
       
  1122 	(FT_CFLAGS): Add macro definition for FT_CONFIG_MODULES_H.
       
  1123 	Add FTOPTION_FLAG.
       
  1124 	($(FT_INIT_OBJ)): Don't use FT_MODULE_LIST.
       
  1125 	(CONFIG_H): Add FTMODULE_H and FTOPTION_H.
       
  1126 	(INCLUDES): Add DEVEL_DIR.
       
  1127 	(INCLUDE_FLAGS, FTSYS_SRC, FTSYS_OBJ, FTDEBUG_SRC, FTDEBUG_OBJ,
       
  1128 	OBJ_M, OBJ_S): Use `:=', not `='.
       
  1129 	(remove_ftmodule_h): New phony target to delete `ftmodule.h'.
       
  1130 	(distclean): Add remove_ftmodule_h.
       
  1131 
       
  1132 	* builds/modules.mk: (MODULE_LIST): Removed.
       
  1133 	(make_module_list, clean_module_list): Replace targets
       
  1134 	with...
       
  1135 	(FTMODULE_H_INIT, FTMODULE_H_CREATE, FTMODULE_H_DONE): New
       
  1136 	variables.  Reason for the change is that it is not possible to have
       
  1137 	a phony prerequisite which is run only if the target file must be
       
  1138 	rebuilt (phony prerequisites act like subroutines and are *always*
       
  1139 	executed).  We only want to rebuild `ftmodule.h' if `module.cfg' is
       
  1140 	changed.
       
  1141 	Update all callers.
       
  1142 	($FTMODULE_H)): Rule to create `ftmodule.h', depending on
       
  1143 	`modules.cfg'.
       
  1144 
       
  1145 	* builds/toplevel.mk: Rewrite and simplify module handling.
       
  1146 	(MODULES_CFG, FTMODULE_H): New variables.
       
  1147 	Include MODULES_CFG.
       
  1148 	(MODULES): New variable to include all `module.mk' and `rules.mk'
       
  1149 	files.  We no longer use make's `wildcard' function for this.
       
  1150 
       
  1151 	* Makefile (USE_MODULES): Remove.  Update all users.
       
  1152 	(OBJ_DIR): Define it here.
       
  1153 
       
  1154 	* src/*/module.mk: Change
       
  1155 
       
  1156 	    make_module_list: foo
       
  1157 	    foo: ...
       
  1158 
       
  1159 	to
       
  1160 
       
  1161 	    FTMODULE_H_COMMANDS += FOO
       
  1162 	    define FOO
       
  1163 	    ...
       
  1164 	    endef
       
  1165 
       
  1166 	in all files.  `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'.
       
  1167 
       
  1168 	* src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS.
       
  1169 
       
  1170 	* builds/unix/detect.mk (setup): Always execute `configure' script.
       
  1171 	(have_mk): Rename to...
       
  1172 	(have_Makefile): This.
       
  1173 	Don't use `strip' function.
       
  1174 
       
  1175 	* builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is
       
  1176 	defined.
       
  1177 	(have_mk): Don't use `strip' function.
       
  1178 	Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test
       
  1179 	accordingly).
       
  1180 
       
  1181 	* builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'.
       
  1182 
       
  1183 	* builds/os2/os2-dev.mk, builds/unix/unix-dev.mk,
       
  1184 	builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Don't define
       
  1185 	BUILD_DIR but DEVEL_DIR for development header files.
       
  1186 
       
  1187 	* builds/ansi/ansi-def.mk (TOP_DIR, OBJ_DIR),
       
  1188 	builds/beos/beos-def.mk (TOP_DIR, OBJ_DIR), builds/unix/unix-def.in
       
  1189 	(TOP_DIR, OBJ_DIR): Removed.  Defined elsewhere.
       
  1190 
       
  1191 	* builds/dos/dos-def.mk (OBJ_DIR), builds/os2/os2-def.mk (OBJ_DIR),
       
  1192 	builds/win32/win32-def.mk (OBJ_DIR): Removed.  Defined elsewhere.
       
  1193 
       
  1194 	* builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for
       
  1195 	development header files.
       
  1196 	Don't define PLATFORM.
       
  1197 
       
  1198 	* configure: Copy `modules.cfg' to builddir if builddir != srcdir.
       
  1199 	Update snippet taken from autoconf's m4sh.m4 to current CVS version.
       
  1200 	Be more verbose.
       
  1201 
       
  1202 	* include/freetype/config/ftmodule.h: Add comments -- this file is
       
  1203 	no longer used if FreeType is built with GNU make.
       
  1204 
       
  1205 	* docs/CHANGES, docs/CUSTOMIZE, docs/INSTALL, docs/INSTALL.ANY,
       
  1206 	docs/INSTALL.GNU, docs/INSTALL.UNX: Document new build mechanism.
       
  1207 	Other minor updates.
       
  1208 
       
  1209 	* modules.txt: Removed.  Contents included in `modules.cfg'.
       
  1210 
       
  1211 
       
  1212 	* include/freetype/internal/ftmemory.h (FT_QAlloc_Debug,
       
  1213 	FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos.
       
  1214 
       
  1215 	* src/base/ftdbgmem.c (FT_Alloc_Debug, FT_Realloc_Debug,
       
  1216 	FT_QAlloc_Debug, FT_QRealloc_Debug, FT_Free_Debug)
       
  1217 	[FT_STRICT_ALIASING]: Implement.
       
  1218 
       
  1219 2006-01-31  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1220 
       
  1221 	* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
       
  1222 	(cid_face_init), src/pfr/pfrobjs.c (pfr_face_init),
       
  1223 	src/type1/t1objs.c (T1_Face_Init): Set face->height to MAX(1.2 *
       
  1224 	units_per_EM, ascender - descender).
       
  1225 
       
  1226 2006-01-31  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1227 
       
  1228 	* include/freetype/internal/t1types.h (AFM_FontInfo),
       
  1229 	src/psaux/afmparse.c, src/tools/test_afm.c: Read `FontBBox',
       
  1230 	`Ascender', and `Descender' from an AFM.
       
  1231 
       
  1232 	* src/type1/t1afm.c (T1_Read_Metrics): Use the metrics from the AFM.
       
  1233 
       
  1234 	* include/freetype/freetype.h (FT_FaceRec): Mention that fields may
       
  1235 	be changed after file attachment.
       
  1236 
       
  1237 2006-01-28  Werner Lemberg  <wl@gnu.org>
       
  1238 
       
  1239 	* src/*/module.mk (.PHONY): Add.
       
  1240 
       
  1241 2006-01-27  Werner Lemberg  <wl@gnu.org>
       
  1242 
       
  1243 	* README, docs/FTL.TXT: Fix email address for bug reports.
       
  1244 	Other minor formatting.
       
  1245 
       
  1246 	* devel/ftoption.h: Synchronize with
       
  1247 	include/freetype/config/ftoption.h.
       
  1248 
       
  1249 	* src/autofit/module.mk (add_autofit_module), src/bdf/module.mk
       
  1250 	(add_bdf_module), src/type42/module.mk (add_type42_driver): Fix
       
  1251 	whitespace.
       
  1252 
       
  1253 	* src/smooth/module.mk (add_smooth_renderer): Add lcd and lcdv
       
  1254 	renderer classes.
       
  1255 
       
  1256 2006-01-27  David Turner  <david@freetype.org>
       
  1257 
       
  1258 	* builds/unix/configure.ac: Fix build problem on Cygwin.
       
  1259 
       
  1260 	* builds/unix/install.mk (install): Don't install the internal
       
  1261 	headers, and remove existing ones if found in the target install
       
  1262 	directory.
       
  1263 
       
  1264 	* src/autofit/afwarp.c: Add simple #ifdef to prevent compilation
       
  1265 	if the warp hinter isn't active (it shouldn't, still experimental).
       
  1266 
       
  1267 	* Jamfile, include/freetype/config/ftmodule.h: Remove `gxvalid'
       
  1268 	and `otvalid' from the list of modules that are linked statically
       
  1269 	to a given FreeType library.  Functionality has been moved to the
       
  1270 	`ftvalid' CVS module.
       
  1271 
       
  1272 	Note also that current Make-based build system still compiles the
       
  1273 	modules though.
       
  1274 
       
  1275 	* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): New macro
       
  1276 	which controls the definitions of the memory management functions to
       
  1277 	avoid warnings with recent versions of GCC.  This macro is only here
       
  1278 	to be disabled, in case we detect problems with the new scheme.
       
  1279 
       
  1280 	NOTE: Disable macro to use the memory debugger -- this will be fixed
       
  1281 	      later!
       
  1282 
       
  1283 	* include/freetype/internal/ftmemory.h, src/base/ftutil.c (FT_Alloc,
       
  1284 	FT_QAlloc, FT_Realloc, FT_QRealloc, FT_Free) [FT_STRICT_ALIASING]:
       
  1285 	New versions.
       
  1286 
       
  1287 
       
  1288 	* builds/win32/visualc/freetype.dsp: Updating project file to
       
  1289 	define FT2_BUILD_LIBRARY, and remove gxvalid + otvalid modules from
       
  1290 	compilation.
       
  1291 
       
  1292 
       
  1293 	* builds/freetype.mk (FT_CFLAGS), Jamfile (DEFINES): Define the
       
  1294 	macro FT2_BUILD_LIBRARY when compiling the library.
       
  1295 
       
  1296 	* include/freetype/config/ftheader.h: Remove inclusions of internal
       
  1297 	headers except if the macro FT2_BUILD_LIBRARY is defined.
       
  1298 
       
  1299 
       
  1300 	* include/freetype/internal/psaux.h (AFM_KernPair, AFM_TrackKern,
       
  1301 	AFM_FontInfo): Move structure declarations to...
       
  1302 	* include/freetype/internal/t1types.h: This file.
       
  1303 
       
  1304 
       
  1305 	* (many files): Fix compiler warnings.
       
  1306 	Various minor reorganizations.
       
  1307 
       
  1308 
       
  1309 	* src/cff/cffload.c (cff_font_done): Don't free static array
       
  1310 	`subfonts'.
       
  1311 
       
  1312 	* src/otvalid/otvcommn.c (otv_ClassDef_validate),
       
  1313 	src/otvalid/otvgpos.c (otv_x_sxy): Fix debugging information.
       
  1314 
       
  1315 
       
  1316 	Get rid of writable static variables (i.e., the string table) in
       
  1317 	afmparse, and fix compilation in FT2_MULTI mode.
       
  1318 
       
  1319 	* src/psaux/afmparse.c: Include ft2build.h and FT_FREETYPE_H.
       
  1320 	(AFM_MAX_ARGUMENTS): Define...
       
  1321 	* src/psaux/afmparse.h: Here.
       
  1322 	* src/psaux/Jamfile (_sources): Add afmparse.
       
  1323 
       
  1324 	* src/psaux/psconv.c: Include psconv.h.
       
  1325 
       
  1326 	* src/type1/t1afm.c: Don't include FT_INTERNAL_TYPE1_TYPES_H but
       
  1327 	FT_INTERNAL_POSTSCRIPT_AUX_H.
       
  1328 	* src/type1/t1afm.h: Include FT_INTERNAL_TYPE1_TYPES_H.
       
  1329 
       
  1330 2006-01-23  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1331 
       
  1332 	* include/freetype/freetype.h (FT_Select_Size): Rename the second
       
  1333 	argument from `idx' to `strike_index'.
       
  1334 	(FT_Size_Request_Type): Add FT_SIZE_REQUEST_TYPE_MAX to the end of
       
  1335 	this enum.
       
  1336 
       
  1337 	* include/freetype/internal/ftobjs.h (FT_REQUEST_WIDTH,
       
  1338 	FT_REQUEST_HEIGHT): New macros to get the width and height of a
       
  1339 	request, in fractional pixels.
       
  1340 
       
  1341 	* include/freetype/internal/ftobjs.h (FT_Select_Metrics,
       
  1342 	FT_Request_Metrics), src/base/ftobjs.c (FT_Select_Metrics,
       
  1343 	FT_Request_Metrics): New base functions to set the font metrics.  They
       
  1344 	were part of FT_Select_Size/FT_Request_Size and are made independent
       
  1345 	functions so that metrics are not set again and again.
       
  1346 
       
  1347 	* src/base/ftobjs.c (FT_Select_Size, FT_Request_Size): Metrics are set
       
  1348 	only when driver's size_select/size_request is NULL.  That is, drivers
       
  1349 	should set the metrics themselves.
       
  1350 	(FT_Match_Size): Round before matching.  This was what we did and it
       
  1351 	does cause some problems without rounding.
       
  1352 
       
  1353 	* src/cff/cffobjs.c (cff_size_select), src/truetype/ttdriver.c
       
  1354 	(tt_size_select): Set the font metrics.
       
  1355 	s/index/strike_index/.
       
  1356 	The scaled metrics are always preferred over strikes' metrics, even
       
  1357 	when some strike is selected.  This is done because the strikes'
       
  1358 	metrics are not reliable, e.g., the sign of the descender is wrong for
       
  1359 	some fonts.
       
  1360 
       
  1361 	* src/cff/cffobjs.c (cff_size_request), src/truetype/ttdriver.c
       
  1362 	(tt_size_request): Set the font metrics.
       
  1363 	Call cff_size_select/tt_size_select when some strike is matched.
       
  1364 
       
  1365 	* src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/cid/cidobjs.c,
       
  1366 	src/pcf/pcfdrivr.c, src/truetype/ttdriver.c, src/type1/t1objs.c,
       
  1367 	src/type1/t1objs.h, src/type42/t42objs.c, src/winfonts/winfnt.c:
       
  1368 	Set the font metrics.
       
  1369 	s/index/strike_index/.
       
  1370 
       
  1371 	* src/tools/test_afm.c, src/psaux/psconv.c: Older versions of these
       
  1372 	files were committed.  Just a catch-up.
       
  1373 	(PS_Conv_ToFixed): Remove the `goto'.
       
  1374 	(PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Speed up a little.
       
  1375 
       
  1376 	* src/sfnt/ttsbit.c (tt_face_load_sbit_strikes,
       
  1377 	tt_face_load_strike_metrics), src/sfnt/ttsbit0.c
       
  1378 	(tt_face_load_sbit_strikes, tt_face_load_strike_metrics): The
       
  1379 	advertised metrics in `available_sizes' are different from those
       
  1380 	actually used.
       
  1381 
       
  1382 2006-01-23  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1383 
       
  1384 	* src/psaux/psaux.c src/psaux/psauxmod.c src/type1/t1driver.c: Make
       
  1385 	AFM parser optional, controlled by `T1_CONFIG_OPTION_NO_AFM'.
       
  1386 
       
  1387 2006-01-22  Werner Lemberg  <wl@gnu.org>
       
  1388 
       
  1389 	* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
       
  1390 	`texinfo' CVS module at savannah.gnu.org.
       
  1391 
       
  1392 2006-01-21  Werner Lemberg  <wl@gnu.org>
       
  1393 
       
  1394 	* src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c.
       
  1395 
       
  1396 	* src/autofit/afloader.c (af_loader_load_g): Move AF_USE_WARPER up
       
  1397 	to avoid compiler warnings.
       
  1398 
       
  1399 	* src/autofit/afwarp.c (af_warper_compute_line_best): Remove
       
  1400 	shadowing variable declarations.
       
  1401 	Fix warning parameters and replace printf with AF_LOG.
       
  1402 	(af_warper_compute): Remove unused variable.
       
  1403 
       
  1404 2006-01-20  David Turner  <david@freetype.org>
       
  1405 
       
  1406 	Adding experimental implementation of `warp hinting' (new hinting
       
  1407 	algorithm for gray-level and LCD rendering).  It is disabled by
       
  1408 	default, you need to #define AF_USE_WARPER in aftypes.h.
       
  1409 
       
  1410 	* src/autofit/afhints.c (af_glyph_hints_scale_dim) [AF_USE_WARPER]:
       
  1411 	New function.
       
  1412 	* src/autofit/afhints.h: Updated.
       
  1413 
       
  1414 	* src/autofit/aflatin.c [AF_USE_WARPER]: Include afwarp.h.
       
  1415 	(af_latin_hints_init) [AF_USE_WARPER]: Reset mode to
       
  1416 	FT_RENDER_MODE_NORMAL if an LCD mode is selected.
       
  1417 	(af_latin_hints_apply) [AF_USE_WARPER]: Call af_warper_compute
       
  1418 	appropriately.
       
  1419 
       
  1420 	* src/autofit/afloader.c (af_loader_load_g) [!AF_USER_WARPER]:
       
  1421 	Isolate code for adjusting metrics.
       
  1422 
       
  1423 	* src/autofit/aftypes.h (AF_USE_WARPER): New macro (commented out by
       
  1424 	default).
       
  1425 
       
  1426 	* src/autofit/afwarp.c, src/autofit/afwarp.h: New files.
       
  1427 
       
  1428 	* src/autofit/autofit.c [AF_USE_WARPER]: Include afwarp.c.
       
  1429 
       
  1430 	* src/autofit/Jamfile (_sources): Add afwarp.
       
  1431 
       
  1432 2006-01-19  David Turner  <david@freetype.org>
       
  1433 
       
  1434 	* src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Fix small bug
       
  1435 	that prevented compilation when FT_OPTIMIZE_MEMORY is defined.
       
  1436 
       
  1437 2006-01-19  Brian Weed  <bw@imaginengine.com>
       
  1438 
       
  1439 	* builds/win32/visualc/freetype.dsp: Updated.
       
  1440 
       
  1441 2006-01-17  Werner Lemberg  <wl@gnu.org>
       
  1442 
       
  1443 	Use pscmap service in CFF module.
       
  1444 
       
  1445 	* src/cff/cffcmap.c (cff_cmap_uni_pair_compare): Removed.
       
  1446 	(cff_sid_to_glyph_name): New function.
       
  1447 	(cff_cmap_unicode_init, cff_cmap_unicode_done,
       
  1448 	cff_cmap_unicode_char_index, cff_cmap_unicode_char next): Use pscmap
       
  1449 	service.
       
  1450 	(cff_cmap_unicode_class_rec): Updated.
       
  1451 	* src/cff/cffcmap.h (CFF_CMapUnicode, CFF_CMap_UniPair): Removed.
       
  1452 
       
  1453 
       
  1454 	* src/psnames/psmodule.c (ps_unicodes_char_next): Fix `unicode'
       
  1455 	return value.
       
  1456 
       
  1457 
       
  1458 	* src/psaux/afmparse.c (afm_parser_read_vals): Use double casting
       
  1459 	to avoid compiler warnings regarding type-punning.
       
  1460 
       
  1461 2006-01-16  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1462 
       
  1463 	* src/psaux/afmparse.c, src/psaux/afmparse.h: New files which
       
  1464 	implement an AFM parser.
       
  1465 
       
  1466 	* src/psaux/psconv.c, src/psaux/psconv.h: New files to provide
       
  1467 	conversion functions (e.g., PS real number => FT_Fixed) for the
       
  1468 	PS_Parser and AFM_Parser.  Some of the functions are taken, with
       
  1469 	some modifications, from the file psobjs.c.
       
  1470 
       
  1471 	* src/psaux/psobjs.c: Use functions from psconv.c.
       
  1472 
       
  1473 	* include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Add
       
  1474 	`AFM_Parser' to the `psaux' service.
       
  1475 
       
  1476 	* src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Include
       
  1477 	those new files.
       
  1478 
       
  1479 	* src/tools/test_afm.c: A test program for AFM parser.
       
  1480 
       
  1481 	* include/freetype/internal/services/svkern.h: New file providing a
       
  1482 	`Kerning' service.  It is currently only used to get the track
       
  1483 	kerning information.
       
  1484 
       
  1485 	* include/freetype/internal/ftserv.h (FT_SERVICE_KERNING_H): New
       
  1486 	macro.
       
  1487 
       
  1488 	* src/type1/t1driver.c, src/type1/t1objs.c, src/type1/t1afm.c,
       
  1489 	src/type1/t1afm.h: Update to use the AFM parser.
       
  1490 	Provide the `Kerning' service.
       
  1491 
       
  1492 	* include/freetype/freetype.h, src/base/ftobjs.c: New API
       
  1493 	`FT_Get_Track_Kerning'.
       
  1494 
       
  1495 2006-01-15  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1496 
       
  1497 	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c,
       
  1498 	src/bdf/bdfdrivr.c, src/cff/cffgload.c, src/cid/cidgload.c,
       
  1499 	src/pcf/pcfdrivr.c, src/type1/t1gload.c, src/winfonts/winfnt.c:
       
  1500 	s/ft_fake_vertical_metrics/ft_synthesize_vertical_metrics/.
       
  1501 
       
  1502 	* docs/CHANGES: Mention that vertical metrics are synthesized for
       
  1503 	fonts not having this info.
       
  1504 
       
  1505 2006-01-15  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1506 
       
  1507 	* include/freetype/internal/ftobjs.h (ft_fake_vertical_metrics),
       
  1508 	src/base/ftobjs.c (ft_fake_vertical_metrics): New function to fake
       
  1509 	vertical metrics.
       
  1510 
       
  1511 	* src/cff/cffgload.c, src/cid/cidgload.c, src/pcf/pcfdrivr.c,
       
  1512 	src/type1/t1gload.c, src/winfonts/winfnt.c: Fake vertical metrics,
       
  1513 	which are monotone.
       
  1514 
       
  1515 	* src/truetype/ttgload.c (compute_glyph_metrics): Some fixes and
       
  1516 	formattings in vertical metrics faking.  There is still room for
       
  1517 	improvements (and so does the CFF module).
       
  1518 
       
  1519 2006-01-15  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1520 
       
  1521 	* src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdrivr.c
       
  1522 	(PCF_Glyph_Load), src/winfonts/winfnt.c (FNT_Load_Glyph): Don't set
       
  1523 	the linear advance fields as they are only used by the outline
       
  1524 	glyphs.
       
  1525 
       
  1526 	* include/freetype/freetype.h: Documentation updates and
       
  1527 	clarifications.
       
  1528 	The meaning of FT_LOAD_FORCE_AUTOHINT is changed so that no real
       
  1529 	change need be made to the code.
       
  1530 
       
  1531 	* src/base/ftobjs.c (FT_Load_Glyph): Resolve flag dependencies and
       
  1532 	decide whether to use the auto-hinter according to documentation.
       
  1533 	There should to be no real difference.
       
  1534 	Some checks (e.g., is text height positive?) after the glyph is
       
  1535 	loaded.
       
  1536 	(FT_Select_Size, FT_Request_Size): Scales are set to wrong values.
       
  1537 	Be careful that scales won't be negative.
       
  1538 
       
  1539 2006-01-14  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1540 
       
  1541 	* docs/CHANGES: Mention the size selection change.
       
  1542 
       
  1543 	* src/bdf/bdfdrivr.c (BDF_Size_Request, BDF_Size_Select),
       
  1544 	src/pcf/pcfdrivr.c (PCF_Size_Request, PCF_Size_Select),
       
  1545 	src/winfonts/winfnt.c (FNT_Size_Request, FNT_Size_Select): Do size
       
  1546 	matching for requests of type NOMINAL and REAL_DIM.
       
  1547 
       
  1548 	* src/winfonts/winfnt.c (FNT_Face_Init): Print trace message when
       
  1549 	`pixel_height' is used for nominal height.
       
  1550 
       
  1551 	* src/base/ftobjs.c (FT_Request_Size): Call `FT_Match_Size' if the
       
  1552 	face is bitmap only and driver doesn't provide `request_size'.  This
       
  1553 	is added merely for completion as no driver satisfies the conditions.
       
  1554 
       
  1555 2006-01-13  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1556 
       
  1557 	Introduce new size selection interface.
       
  1558 
       
  1559 	* include/freetype/internal/ftdriver.h (struct FT_Driver_ClassRec):
       
  1560 	Replace `set_char_sizes' and `set_pixel_sizes' by `request_size' and
       
  1561 	`select_size'.
       
  1562 
       
  1563 	* include/freetype/freetype.h (FT_Select_Size, FT_Size_Request_Type,
       
  1564 	FT_Size_Request, FT_Request_Size, FT_Select_Size), src/base/ftobjs.c
       
  1565 	(FT_Select_Size, FT_Request_Size): API additions to export the new
       
  1566 	size selection interface.
       
  1567 
       
  1568 	* src/base/ftobjs.c (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Use
       
  1569 	`FT_Request_Size'.
       
  1570 
       
  1571 	* include/freetype/internal/ftobjs.h (FT_Match_Size),
       
  1572 	src/base/ftobjs.c (FT_Match_Size): New function to match a size
       
  1573 	request against `available_sizes'.  Drivers supporting bitmap strikes
       
  1574 	can use this function to implement `request_size'.
       
  1575 
       
  1576 	* src/bdf/bdfdrivr.c, src/cid/cidobjs.c, src/cid/cidobjs.h,
       
  1577 	src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/type1/t1driver.c,
       
  1578 	src/type1/t1objs.c, src/type1/t1objs.h, src/type42/t42drivr.c,
       
  1579 	src/type42/t42objs.c, src/type42/t42objs.h, src/winfonts/winfnt.c:
       
  1580 	Update to new size selection interface.
       
  1581 
       
  1582 	* src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffobjs.c,
       
  1583 	src/cff/cffobjs.h, src/truetype/ttdriver.c, src/truetype/ttgload.c,
       
  1584 	src/truetype/ttobjs.c, src/truetype/ttobjs.h: Update to new size
       
  1585 	selection interface.
       
  1586 	Make `strike_index' FT_ULong and always defined.
       
  1587 	Use `load_strike_metrics' provided by SFNT interface.
       
  1588 
       
  1589 2006-01-13  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1590 
       
  1591 	* include/freetype/internal/sfnt.h (SFNT_Interface): New method
       
  1592 	`load_strike_metrics' used to load the strike's metrics.
       
  1593 
       
  1594 	* src/sfnt/sfdriver.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
       
  1595 	src/sfnt/ttsbit0.c: New function `tt_face_load_strike_metrics'.
       
  1596 
       
  1597 	* src/pfr/pfrobjs.c (pfr_face_init): Set FT_Bitmap_Size correctly.
       
  1598 
       
  1599 	* src/winfonts/winfnt.c (FNT_Face_Init): Use `nominal_point_size' for
       
  1600 	nominal size unless it is obviously incorrect.
       
  1601 
       
  1602 	* include/freetype/freetype.h (FT_Bitmap_Size): Update the comments on
       
  1603 	FNT driver.
       
  1604 
       
  1605 2006-01-12  Werner Lemberg  <wl@gnu.org>
       
  1606 
       
  1607 	Prepare use of pscmap service within CFF module.
       
  1608 
       
  1609 	* include/freetype/internal/services/svpscmap.h: Include
       
  1610 	FT_INTERNAL_OBJECTS_H.
       
  1611 	(PS_Unicode_Index_Func): Removed.  Unused.
       
  1612 	(PS_Macintosh_Name_Func): Renamed to...
       
  1613 	(PS_Macintosh_NameFunc): This.
       
  1614 	Update all callers.
       
  1615 	(PS_Adobe_Std_Strings_Func): Renamed to...
       
  1616 	(PS_Adobe_Std_StringsFunc): This.
       
  1617 	Update all callers.
       
  1618 	(PS_UnicodesRec): This is the former `PS_Unicodes' structure.
       
  1619 	Add `cmap' member.
       
  1620 	Update all callers.
       
  1621 	(PS_Unicodes): This is now a typedef'd pointer to PS_UnicodesRec.
       
  1622 	Update all callers.
       
  1623 	(PS_Glyph_NameFunc): New typedef.
       
  1624 	(PS_Unicodes_InitFunc): Change arguments to expect a function
       
  1625 	and generic data pointer which returns a glyph name from a given
       
  1626 	index.
       
  1627 
       
  1628 	* src/psnames/psmodule.c (ps_unicodes_init, ps_unicodes_char_index,
       
  1629 	ps_unicodes_char_next, pscmaps_interface): Updated.
       
  1630 
       
  1631 	* include/freetype/internal/t1types.h (T1_FaceRec): Updated.
       
  1632 
       
  1633 	* src/psaux/t1cmap.h (T1_CmapStdRec): Updated.
       
  1634 	(T1_CmapUnicode, T1_CmapUnicodeRec): Removed.
       
  1635 
       
  1636 	* src/psaux/t1cmap.c (t1_get_glyph_name): New callback function.
       
  1637 	(t1_cmap_unicode_init, t1_cmap_unicode_done,
       
  1638 	t1_cmap_unicode_char_index, t1_cmap_unicode_char_next,
       
  1639 	t1_cmap_unicode_class_rec): Updated.
       
  1640 
       
  1641 	* src/type42/t42types.h (T42_FaceRec): Updated.
       
  1642 
       
  1643 2006-01-11  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1644 
       
  1645 	* include/freetype/ftmac.h: Add declaration of new functions
       
  1646 	FT_New_Face_From_FSRef and FT_GetFile_From_Mac_ATS_Name that
       
  1647 	were introduced by the jumbo patch on  2006-01-11.
       
  1648 
       
  1649 2006-01-11  Werner Lemberg  <wl@gnu.org>
       
  1650 
       
  1651 	Fix Savannah bug #15056 and use pscmap service in psaux module.
       
  1652 
       
  1653 	* include/freetype/internal/services/svpscmap.h (PS_UniMap): Use
       
  1654 	FT_UInt32 for `glyph_index'.
       
  1655 	(PS_Unicodes_InitFunc): Use FT_String for `glyph_names'.
       
  1656 	(PS_Unicodes_CharIndexFunc): Use FT_UInt32 for `unicode'.
       
  1657 	(PS_Unicodes_CharNextFunc): Make second argument a pointer to
       
  1658 	FT_UInt32.
       
  1659 
       
  1660 	* src/psnames/psmodule.c (VARIANT_BIT, BASE_GLYPH): New macros.
       
  1661 	(ps_unicode_value): Set VARIANT_BIT in return value if glyph is a
       
  1662 	variant glyph (this is, it has non-leading `.' in its name).
       
  1663 	(compare_uni_maps): Sort base glyphs before variant glyphs.
       
  1664 	(ps_unicodes_init): Use FT_String for `glyph_names' argument.
       
  1665 	Reallocate only if number of used entries is much smaller.
       
  1666 	Updated to handle variant glyphs.
       
  1667 	(ps_unicodes_char_index, ps_unicodes_char_next): Prefer base glyphs
       
  1668 	over variant glyphs.
       
  1669 	Simplify code.
       
  1670 
       
  1671 	* src/psaux/t1cmap.c (t1_cmap_uni_pair_compare): Removed.
       
  1672 	(t1_cmap_unicode_init, t1_cmap_unicode_char_index,
       
  1673 	t1_cmap_unicode_char_next): Use pscmap service.
       
  1674 	(t1_cmap_unicode_done): Updated.
       
  1675 
       
  1676 	* src/psaux/t1cmap.h (T1_CMapUniPair): Removed.
       
  1677 	(T1_CMapUnicode): Use PS_Unicodes structure.
       
  1678 
       
  1679 2006-01-11  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1680 
       
  1681 	Jumbo patch to fix `deprecated' warning of cross-build for Tiger on
       
  1682 	Intel, as reported by Sean McBride <sean@rogue-research.com> on
       
  1683 	2005-08-24.
       
  1684 
       
  1685 	* src/base/ftmac.c: Heavy change to build without deprecated Carbon
       
  1686 	functions on Tiger.
       
  1687 
       
  1688 	* builds/unix/configure.ac: Add options and autochecks for Carbon
       
  1689 	functions availabilities, for MacOS X.
       
  1690 
       
  1691 	* builds/mac/ascii2mpw.py: Add converter for character `\305'.
       
  1692 	* builds/mac/FreeType.m68k_{far|cfm}.make.txt: Add conditional
       
  1693 	macros to avoid unavailable functions.
       
  1694 	ftmac.c must be compiled without `-strict ansi', because it disables
       
  1695 	cpp macro to use ToolBox system call.
       
  1696 
       
  1697 	* builds/mac/FreeType.ppc_{classic|carbon}.make.txt: Add conditional
       
  1698 	macros to avoid unavailable functions.
       
  1699 
       
  1700 	* builds/mac/README: Detailed notes on function availabilities.
       
  1701 
       
  1702 	* docs/CHANGES: Notes about (possible) incompatibilities.
       
  1703 
       
  1704 2006-01-08  Werner Lemberg  <wl@gnu.org>
       
  1705 
       
  1706 	* docs/CHANGES: Updated.
       
  1707 
       
  1708 2006-01-08  Huw D M Davies  <h.davies1@physics.ox.ac.uk>
       
  1709 
       
  1710 	* include/freetype/ftmodapi.h (FT_Module_Get_Flags): New
       
  1711 	declaration.
       
  1712 
       
  1713 	* src/base/ftobjs.c (FT_Module_Get_Flags): New function.
       
  1714 
       
  1715 2006-01-07  Werner Lemberg  <wl@gnu.org>
       
  1716 
       
  1717 	* src/pcf/pcfread.c (pcf_get_bitmaps): Remove unused variable
       
  1718 	`bitmaps'.  Reported by Yu Lei <yulei0@gmail.com>.
       
  1719 
       
  1720 	* src/base/ftutil.c (ft_highpow2): s/FT_BASE/FT_BASE_DEF/.
       
  1721 	Reported by Niels Boldt <nielsboldt@gmail.com>.
       
  1722 
       
  1723 2005-12-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1724 
       
  1725 	* src/sfnt/sfnt/ttbdf.c: Add newline '\n' to the end of file, for
       
  1726 	MPW compiler.
       
  1727 
       
  1728 2005-12-23  David Turner  <david@freetype.org>
       
  1729 
       
  1730 	* Jamfile (RefDoc), docs/reference/README: Fix it so that `jam
       
  1731 	refdoc' works correctly to generate the API reference in
       
  1732 	`docs/reference'.
       
  1733 
       
  1734 	* src/tools/docmaker/tohtml.py (print_html_field,
       
  1735 	print_html_field_list): Update to output nicer fields lists in the
       
  1736 	API reference.
       
  1737 
       
  1738 	* src/base/ftobjs.c (FT_Load_Glyph): FT_LOAD_TARGET_LIGHT now
       
  1739 	forces auto-hinting.
       
  1740 
       
  1741 	* freetype/freetype.h: Updating the documentation for
       
  1742 	FT_LOAD_TARGET_XXX and FT_Render_Mode values.
       
  1743 
       
  1744 2005-12-23  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1745 
       
  1746 	* src/base/ftmac.c (FT_New_Face_From_Suitcase): Count scalable faces
       
  1747 	in supported formats (sfnt, LWFN) only, and ignore bitmap faces in
       
  1748 	unsupported formats (fbit, NFNT).  The number of available faces are
       
  1749 	passed via face->num_faces.  If bitmap faces are embedded in sfnt
       
  1750 	resource, face->num_fixed_size is correctly set.  In public API,
       
  1751 	FT_New_Face() and FT_New_Face_From_FSSpec() count the faces as
       
  1752 	FT_GetFile_From_Mac_Name(), which ignores NFNT resources.
       
  1753 
       
  1754 	* doc/CHANGES: Mention the changes.
       
  1755 
       
  1756 2005-12-17  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1757 
       
  1758 	* src/truetype/ttinterp.c (Update_Max): Set current size of buffer
       
  1759 	correctly (so that memory debug system won't panic).
       
  1760 
       
  1761 2005-12-16  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1762 
       
  1763 	* include/freetype/internal/ftobjs.h (ft_glyphslot_grid_fit_metrics),
       
  1764 	src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Removed.
       
  1765 
       
  1766 	* src/base/ftobjs.c (ft_recompute_scaled_metrics): Do not round.
       
  1767 
       
  1768 	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
       
  1769 	(cid_slot_load_glyph), src/truetype/ttgload.c (compute_glyph_metrics),
       
  1770 	src/type1/t1gload.c (T1_Load_Glyph): Do not round glyph metrics.
       
  1771 
       
  1772 	* doc/CHANGES: Mention the changes.
       
  1773 
       
  1774 2005-12-13  David Turner  <david@freetype.org>
       
  1775 
       
  1776 	Change the implementation of the LIGHT hinting mode to completely
       
  1777 	disable horizontal hinting.  This is an experimental effort to
       
  1778 	integrate David Chester's latest patch without affecting the other
       
  1779 	hinting modes as well.
       
  1780 
       
  1781 	Note that this doesn't force auto-hinting for all fonts, however.
       
  1782 
       
  1783 	* src/autofit/afhints.c (af_glyph_hints_reload): Don't set
       
  1784 	scaler_fiags here but...
       
  1785 	(af_glyph_hints_rescale): Here.
       
  1786 
       
  1787 	* src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
       
  1788 	hinting for `light' hinting mode.
       
  1789 
       
  1790 
       
  1791 	* Jamfile: Small fix to ensure that ftexport.sym is placed into the
       
  1792 	same location as other generated objects (i.e., within the `objs'
       
  1793 	directory of the current directory).
       
  1794 
       
  1795 
       
  1796 	Add support for an embedded `BDF ' table within SFNT-based bitmap
       
  1797 	font files.  This is used to store atoms & properties from the
       
  1798 	original BDF fonts that were used to generate the font file.
       
  1799 
       
  1800 	The feature is controlled by TT_CONFIG_OPTION_BDF within
       
  1801 	`ftoption.h' and is used to implement FT_Get_BDF_Property for these
       
  1802 	font files.
       
  1803 
       
  1804 	At the moment, this is still experimental, the BDF table format
       
  1805 	isn't cast into stone yet.
       
  1806 
       
  1807 	* include/freetype/config/ftoption.h (TT_CONFIG_OPTION_BDF): New
       
  1808 	macro.
       
  1809 
       
  1810 	* include/freetype/config/ftstdlib.h (ft_memchr): New macro.
       
  1811 
       
  1812 	* include/freetype/internal/tttypes.h (TT_BDFRec, TT_BDF)
       
  1813 	[TT_CONFIG_OPTION_BDF]: New structure.
       
  1814 	(TT_FaceRec) [TT_CONFIG_OPTION_BDF]: New member `bdf'.
       
  1815 
       
  1816 	* include/freetype/ttags.h (TTAG_BDF): New macro.
       
  1817 
       
  1818 	* src/sfnt/Jamfile (_sources): Add ttbdf.
       
  1819 
       
  1820 	* src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttbdf.c.
       
  1821 
       
  1822 	* src/sfnt/sfdriver.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h and
       
  1823 	FT_SERVICE_BDF_H.
       
  1824 	(sfnt_get_charset_it) [TT_CONFIG_OPTION_BDF]: New function.
       
  1825 	(sfnt_service_bdf) [TT_CONFIG_OPTION_BDF]: New service.
       
  1826 	(sfnt_services) [TT_CONFIG_OPTION_BDF]: Add sfnt_service_bdf.
       
  1827 
       
  1828 	* src/sfnt/sfnt.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.c.
       
  1829 
       
  1830 	* src/sfnt/sfobjs.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h.
       
  1831 	(sfnt_done_face) [TT_CONFIG_OPTION_BDF]: Call
       
  1832 	tt_face_free_bdf_props.
       
  1833 
       
  1834 	* src/sfnt/ttbdf.h, src/sfnt/ttbdf.c: New files.
       
  1835 
       
  1836 2005-12-07  Werner Lemberg  <wl@gnu.org>
       
  1837 
       
  1838 	* src/sfnt/sfobjc.c (sfnt_init_face): Move tag check to...
       
  1839 	* src/sfnt/ttload.c (sfnt_init): Here, before handling TTCs.
       
  1840 
       
  1841 2005-12-06  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1842 
       
  1843 	* src/truetype/ttobjs.c (tt_size_init): size->ttmetrics.valid is
       
  1844 	initialized twice.
       
  1845 	size->strike_index is not initialized.
       
  1846 
       
  1847 2005-12-02  Taek Kwan(TK) Lee  <taeklee@gmail.com>
       
  1848 
       
  1849 	* src/type42/t42objs.c (T42_Face_Init): Replace call to
       
  1850 	FT_New_Memory_Face with call to FT_Open_Face to pass `params'.
       
  1851 
       
  1852 2005-11-30  Werner Lemberg  <wl@gnu.org>
       
  1853 
       
  1854 	* docs/CHANGES: Document ftdump's `-v' option.
       
  1855 	Document latest charmap code changes.
       
  1856 
       
  1857 	* src/sfnt/ttcmap.c, src/sfnt/ttcmap.h:
       
  1858 	s/TT_CMAP_FLAG_OVERLAPPED/TT_CMAP_FLAG_OVERLAPPING/.
       
  1859 
       
  1860 2005-11-30  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1861 
       
  1862 	* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary,
       
  1863 	tt_cmap12_char_map_binary): Fix compiler warnings.
       
  1864 
       
  1865 2005-11-29  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1866 
       
  1867 	Major update to distinguish between unsorted and overlapping
       
  1868 	segments for cmap format 4.  For overlapping but sorted segments,
       
  1869 	which is previously considered unsorted, we still use binary search.
       
  1870 
       
  1871 	* src/sfnt/ttcmap.h (TT_CMapRec_): Replace `unsorted' by `flags'.
       
  1872 	(TT_CMAP_FLAG_UNSORTED, TT_CMAP_FLAG_OVERLAPPED): New macros.
       
  1873 
       
  1874 	* src/sfnt/ttcmap.c (OPT_CMAP4): Removed as it is always defined.
       
  1875 	(TT_CMap4Rec_): Remove `old_charcode' and `table_length'.
       
  1876 	(tt_cmap4_reset): Removed.
       
  1877 	(tt_cmap4_init): Updated accordingly.
       
  1878 	(tt_cmap4_next): Updated accordingly.
       
  1879 	Take care of overlapping segments.
       
  1880 	(tt_cmap4_validate): Make sure the subtable is large enough.
       
  1881 	Do not check glyph_ids because some fonts set the length wrongly.
       
  1882 	Also, if all segments have offset 0, glyph_ids is always invalid.
       
  1883 	It does not cause any problem so far only because the check misses
       
  1884 	equality.
       
  1885 	Distinguish between unsorted and overlapping segments.
       
  1886 	(tt_cmap4_char_map_linear, tt_cmap4_char_map_binary): New functions
       
  1887 	to do `charcode => glyph index' by linear/binary search.
       
  1888 	(tt_cmap4_char_index, tt_cmap4_char_next): Use
       
  1889 	tt_cmap4_char_map_linear and tt_cmap4_char_map_binary.
       
  1890 	(tt_face_build_cmaps): Treat the return value of validator as flags
       
  1891 	for cmap.
       
  1892 
       
  1893 2005-11-29  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1894 
       
  1895 	* src/sfnt/ttcmap.c (TT_CMap12Rec_, tt_cmap12_init, tt_cmap12_next):
       
  1896 	New structures and functions for fast `next char'.
       
  1897 	(tt_cmap12_char_map_binary): New function to do `charcode => glyph
       
  1898 	index' by binary search.
       
  1899 	(tt_cmap12_char_index, tt_cmap12_char_next): Use
       
  1900 	tt_cmap12_char_map_binary.
       
  1901 	(tt_face_build_cmaps): Check table and offset correctly (equality is
       
  1902 	missing).
       
  1903 
       
  1904 2005-11-15  Detlef Würkner  <TetiSoft@apg.lahn.de>
       
  1905 
       
  1906 	* builds/amiga/smakefile: Adjusted the compiler options
       
  1907 	to the current sources, now really builds the gxvalid, gzip
       
  1908 	and psnames modules.
       
  1909 
       
  1910 	* builds/amiga/src/base/ftsystem.c: The assumed Seek() position
       
  1911 	in the file cache was off by one byte which could cause false
       
  1912 	errors in font files.
       
  1913 
       
  1914 2005-11-24  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1915 
       
  1916 	* builds/mac/FreeType.m68k_far.make.txt,
       
  1917 	builds/mac/FreeType.m68k_cfm.make.txt,
       
  1918 	builds/mac/FreeType.ppc_classic.make.txt,
       
  1919 	builds/mac/FreeType.ppc_carbon.make.txt:
       
  1920 	Updated for MPW to build all available modules.
       
  1921 
       
  1922 2005-11-21  HÃ¥vard Wall  <haavardw@ifi.uio.no>
       
  1923 
       
  1924 	* src/bdf/bdfdrivr.c (bdf_interpret_style, BDF_Face_Done): Fix small
       
  1925 	memory leak.
       
  1926 
       
  1927 2005-11-21  Werner Lemberg  <wl@gnu.org>
       
  1928 
       
  1929 	* src/sfnt/ttload.c (sfnt_init): Add tracing message.
       
  1930 
       
  1931 2005-11-21  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1932 
       
  1933 	* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Image_offset was
       
  1934 	added twice to image_start if image_format was 2 or 5.
       
  1935 
       
  1936 2005-11-21  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1937 
       
  1938 	* src/sfnt/sfobjs.c (sfnt_init_face): Check that format_tag is known
       
  1939 	before loading the table directory.
       
  1940 
       
  1941 	* src/sfnt/ttload.c (tt_face_load_sfnt_header,
       
  1942 	tt_face_load_directory): Delay sfnt_dir_check from
       
  1943 	tt_face_load_sfnt_header to tt_face_load_directory.
       
  1944 
       
  1945 2005-11-20  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1946 
       
  1947 	* src/sfnt/ttload.c (sfnt_dir_check): Clean up and return correct
       
  1948 	error code.
       
  1949 	(sfnt_init): New function to fill in face->ttc_header.  A non-TTC font
       
  1950 	is synthesized into a TTC font with one offset table.
       
  1951 	(tt_face_load_sfnt_header): Use sfnt_init.
       
  1952 	Fix an invalid access if the font is TTC and face_index is -1.
       
  1953 
       
  1954 2005-11-18  Werner Lemberg  <wl@gnu.org>
       
  1955 
       
  1956 	* src/sfnt/ttload.c (tt_face_load_metrics): Ignore excess number
       
  1957 	of metrics instead of aborting.  Patch suggested by Derek Noonburg.
       
  1958 
       
  1959 	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
       
  1960 	(cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Scale
       
  1961 	the glyph properly if no hinter is available.
       
  1962 
       
  1963 	* docs/CHANGES: Mention scaling bug.
       
  1964 
       
  1965 2005-11-18  susuzki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  1966 
       
  1967 	* include/freetype/ftgxval.h, src/base/ftgxval.c
       
  1968 	(FT_TrueTypeGX_Free, FT_ClassicKern_Free): New functions to free
       
  1969 	buffers allocated by gxvalid module.
       
  1970 	* include/freetype/ftotval.h, src/base/ftotval.c
       
  1971 	(FT_OpenType_Free): New function to free buffer allocated by
       
  1972 	otvalid module.
       
  1973 
       
  1974 2005-11-18  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  1975 
       
  1976 	* builds/unix/ftsystem.c (FT_Stream_Open, FT_New_Memory,
       
  1977 	FT_Done_Memory), builds/vms/ftsystem.c (FT_Stream_Open, FT_New_Memory,
       
  1978 	FT_Done_Memory), builds/win32/ftdebug.c (FT_Message, FT_Panic):
       
  1979 	s/FT_EXPORT/FT_BASE/.
       
  1980 
       
  1981 2005-11-17  Detlef Würkner  <TetiSoft@apg.lahn.de>
       
  1982 
       
  1983 	* builds/amiga/src/base/ftdebug.c (FT_Trace_Get_Count,
       
  1984 	FT_Trace_Get_Name, FT_Message, FT_Panic),
       
  1985 	builds/amiga/src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory,
       
  1986 	FT_Stream_Open): s/FT_EXPORT/FT_BASE/.
       
  1987 
       
  1988 2005-11-17  Detlef Würkner  <TetiSoft@apg.lahn.de>
       
  1989 
       
  1990 	* builds/amiga/makefile, builds/amiga/makefile.os4,
       
  1991 	builds/amiga/smakefile,
       
  1992 	builds/amiga/include/freetype/config/ftmodule.h: Updated the Amiga
       
  1993 	build files (added support for the gxvalid module).
       
  1994 
       
  1995 2005-11-17  Werner Lemberg  <wl@gnu.org>
       
  1996 
       
  1997 	Add vertical metrics support to OpenType CFF outlines.  Based on a
       
  1998 	patch from Mike Moening <MikeM@RetekSolutions.com>.
       
  1999 
       
  2000 	* src/cff/cffgload.c (cff_face_get_vertical_metrics): New function.
       
  2001 	(cff_slot_load): Use cff_face_get_vertical_metrics.
       
  2002 
       
  2003 	* docs/CHANGES: Updated.
       
  2004 
       
  2005 2005-11-17  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  2006 
       
  2007 	* src/base/ftcalc.c (FT_MulTo64): Commented out.
       
  2008 
       
  2009 	* include/freetype/internal/ftcalc.h (FT_SqrtFixed),
       
  2010 	src/base/ftcalc.c (FT_SqrtFixed),
       
  2011 	include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
       
  2012 	FT_Trace_Get_Name, FT_Message, FT_Panic), src/base/ftdebug.c
       
  2013 	(FT_Trace_Get_Count, FT_Trace_Get_Name, FT_Message, FT_Panic),
       
  2014 	include/freetype/internal/ftobjs.h (FT_New_Memory, FT_Done_Memory),
       
  2015 	include/freetype/internal/ftstream.h (FT_Stream_Open),
       
  2016 	src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory, FT_Stream_Open):
       
  2017 	s/FT_EXPORT/FT_BASE/.
       
  2018 
       
  2019 	* builds/exports.mk: Manually add TT_New_Context to EXPORTS_LIST
       
  2020 	too.
       
  2021 
       
  2022 2005-11-15  David Turner  <david@freetype.org>
       
  2023 
       
  2024 	* src/base/fttrigon.c (ft_trig_prenorm): Fix a bug that created
       
  2025 	invalid computations, resulting in very weird bugs in TrueType
       
  2026 	bytecode hinted fonts.
       
  2027 
       
  2028 	* src/truetype/ttinterp.c (FT_UNUSED_EXEC): Don't perform a
       
  2029 	structure copy each time.
       
  2030 
       
  2031 2005-11-11  Werner Lemberg  <wl@gnu.org>
       
  2032 
       
  2033 	* src/cache/ftccache.c (FTC_Cache_Clear), src/cache/ftcmanag.c
       
  2034 	(FTC_Manager_Check): Remove FT_EXPORT_DEF tag.
       
  2035 
       
  2036 	* src/base/ftcalc.c (FT_Add64): Remove FT_EXPORT_DEF tag.
       
  2037 	(FT_Div64by32, FT_Sqrt32): Commented out.  Unused.
       
  2038 
       
  2039 	* include/freetype/internal/ftcalc.h (SQRT_32): Removed.  Unused.
       
  2040 	(FT_Sqrt32): Commented out.  Unused.
       
  2041 
       
  2042 	* include/freetype/cache/ftccache.h:
       
  2043 	s/ftc_node_destroy/FTC_Node_Destroy/.
       
  2044 
       
  2045 	* src/cache/ftccback.h (ftc_node_destroy): New declaration.
       
  2046 
       
  2047 	* src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF tag.
       
  2048 	(FTC_Node_Destroy): New exported wrapper function for
       
  2049 	ftc_node_destroy.
       
  2050 
       
  2051 	* src/cache/ftcmanag.c: Include ftccback.c.
       
  2052 
       
  2053 2005-11-10  Werner Lemberg  <wl@gnu.org>
       
  2054 
       
  2055 	* src/autofit/afangles.c, src/autofit/aftypes.h (af_angle_diff):
       
  2056 	Comment out.  Unused.
       
  2057 
       
  2058 	* builds/exports.mk ($(EXPORTS_LIST)): Add TT_RunIns.
       
  2059 
       
  2060 2005-11-10  Christian Biesinger  <cbiesinger@web.de>
       
  2061 
       
  2062 	* builds/beos/beos.mk: Call beos-def.mk before anything else to
       
  2063 	define the separator.
       
  2064 
       
  2065 	* builds/unix/unix-cc.in (LINK_LIBRARY): Add `-no-undefined' flag.
       
  2066 
       
  2067 2005-11-07  Werner Lemberg  <wl@gnu.org>
       
  2068 
       
  2069 	* src/type1/t1afm.c (T1_Read_PFM): Zero offset means `no kerning
       
  2070 	table available'.  From Sergey Tolstov <stolstov@esri.com>.
       
  2071 
       
  2072 2005-11-03  Ville Syrjälä  <syrjala@sci.fi>
       
  2073 
       
  2074 	* src/base/ftobjs.c (FT_Open_Face): Avoid possible memory leak.
       
  2075 
       
  2076 2005-11-02  Werner Lemberg  <wl@gnu.org>
       
  2077 
       
  2078 	Make compiling instructions in docs/CUSTOMIZE work again.
       
  2079 
       
  2080 	* builds/unix/unix-cc.in (CPPFLAGS): New variable.
       
  2081 	(CFLAGS): Don't include @CPPFLAGS@.
       
  2082 	* builds/freetype.mk (FT_CFLAGS): Add CPPFLAGS.
       
  2083 
       
  2084 2005-10-28  David Turner  <david@freetype.org>
       
  2085 
       
  2086 	Update build system to support the generation of a list of exported
       
  2087 	symbols or Windows .DEF files by parsing the public headers with the
       
  2088 	`apinames' tool located in src/tools/apinames.c.
       
  2089 
       
  2090 	Only tested on Unix at the moment.  On Windows, the .DEF file is
       
  2091 	generated but isn't used yet to generate a DLL.
       
  2092 
       
  2093 	* builds/exports.mk: New file.
       
  2094 
       
  2095 	* builds/freetype.mk: Include exports.mk.
       
  2096 	(dll): New target.
       
  2097 	(clean_project_dos): Fix rule.
       
  2098 
       
  2099 	* builds/compiler/visualc.mk (TE), builds/dos/dos-def.mk (E),
       
  2100 	builds/os2/os2-def.mk (E), builds/win32/win32-def.mk (E): New
       
  2101 	variables for controlling executable extensions.
       
  2102 
       
  2103 	* builds/unix/unix-cc.in (EXPORTS_LIST, CCexe),
       
  2104 	builds/win32/w32-bcc.mk, builds/win32/w32-gcc.mk,
       
  2105 	builds/win32/w32-icc.mk, builds/win32/w32-icc.mk,
       
  2106 	builds/win32/w32-mingw32.mk, builds/win32/w32-vcc,
       
  2107 	builds/win32/w32-wat.mk (EXPORTS_LIST, EXPORT_OPTIONS,
       
  2108 	APINAMES_OPTIONS): New targets for controlling the `apinames' tool.
       
  2109 
       
  2110 	* Jamfile (GenExportSymbols): Updated.
       
  2111 
       
  2112 
       
  2113 	* src/pfr/pfrtypes.h, src/pfr/pfrload.c, src/pfr/pfrobjs.c
       
  2114 	[!FT_OPTIMIZE_MEMORY]: Fold memory optimization code into
       
  2115 	FT_OPTIMIZE_MEMORY chunks for better maintainability and simplicity.
       
  2116 
       
  2117 
       
  2118 	* src/base/fttrigon.c (ft_trig_prenorm), src/base/ftcalc.c
       
  2119 	(FT_MulFix): Performance optimizations.
       
  2120 
       
  2121 
       
  2122 	* include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
       
  2123 	FT_GLYPHLOADER_CHECK_C, FT_GLYPHLOADER_CHECK_POINTS): New macros for
       
  2124 	checking points and contours.  Update callers to use
       
  2125 	FT_GLYPHLOADER_CHECK_POINTS instead of FT_GlyphLoader_CheckPoints
       
  2126 	at profile-detected hot-spots.
       
  2127 
       
  2128 	* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Set `adjust'
       
  2129 	to 0 to not call `AdjustPoints' every time.
       
  2130 
       
  2131 
       
  2132 	* src/autofit/aftypes.h (AF_ANGLE_DIFF): New macro to inline
       
  2133 	FT_Angle_Diff.
       
  2134 
       
  2135 	* src/autofit/afhints.c (af_direction_compute): Re-implement.
       
  2136 	(af_glyph_hints_compute_inflections, af_glyph_hints_reload): Use
       
  2137 	AF_ANGLE_DIFF to speed up the detection of inflexions.
       
  2138 
       
  2139 
       
  2140 	* src/tools/apinames.c: Include <string.h>.
       
  2141 	(OutputFormat): New enumeration.
       
  2142 	(names_dump): Add two parameters to control output format and DLL
       
  2143 	name.
       
  2144 	(names_dump_windef): Removed.  Code folded into `names_dump'.
       
  2145 	(read_header_file): Use isalnum, not isalpha.  Otherwise function
       
  2146 	names with digits aren't read correctly.
       
  2147 	(usage): Updated.
       
  2148 	(main): New option `-o' to control output file name.
       
  2149 	New option `-d' to indicate DLL file name.
       
  2150 	Extend `-w' flag to handle Borland and Watcom compilers and linkers.
       
  2151 
       
  2152 2005-10-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  2153 
       
  2154 	* builds/mac/ftlib.prj, builds/mac/freetype.mak: Removed.
       
  2155 	ftlib.prj is unmaintained and incompatible with current tree.
       
  2156 	freetype.mak is unrecoverably broken.
       
  2157 
       
  2158 	* builds/mac/ftlib.prj.xml: Added.
       
  2159 	Generated by Metrowerks CodeWarrior 9.0.
       
  2160 
       
  2161 	* builds/mac/FreeType.m68k_far.make.txt,
       
  2162 	builds/mac/FreeType.m68k_cfm.make.txt,
       
  2163 	builds/mac/FreeType.ppc_classic.make.txt,
       
  2164 	builds/mac/FreeType.ppc_carbon.make.txt: Added.
       
  2165 	Skeleton files of MPW makefiles.
       
  2166 
       
  2167 	* builds/mac/ascii2mpw.py: Added.
       
  2168 	Python script to make MPW makefile from skeleton.
       
  2169 
       
  2170 	* builds/mac/README: Updated.
       
  2171 	Almost rewritten to use new files.
       
  2172 
       
  2173 2005-10-28  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  2174 
       
  2175 	* src/base/ftmac.c: Fix invalid casts from NULL to integer typed
       
  2176 	variables.  Advised by David Turner, Masatake YAMATO, Sean McBride,
       
  2177 	and George Williams.
       
  2178 
       
  2179 2005-10-27  Werner Lemberg  <wl@gnu.org>
       
  2180 
       
  2181 	* include/freetype/ftsysmem.h, include/freetype/ftsysio.h: Removed.
       
  2182 	Obsolete.
       
  2183 
       
  2184 2005-10-25  Werner Lemberg  <wl@gnu.org>
       
  2185 
       
  2186 	* src/sfnt/sfdriver.c (sfnt_interface): Move out
       
  2187 	`tt_face_get_kerning' from a #ifdef clause.  Reported by Tony J.
       
  2188 	Ibbs <tibs@sj.co.uk>.
       
  2189 
       
  2190 2005-10-23  Werner Lemberg  <wl@gnu.org>
       
  2191 
       
  2192 	* src/base/ftdbgmem.c (ft_mem_debug_realloc): Make it compile with
       
  2193 	C++.
       
  2194 
       
  2195 2005-10-21  David Turner  <david@freetype.org>
       
  2196 
       
  2197 	* src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_debug_realloc):
       
  2198 	Another realloc memory counting bug fix.
       
  2199 
       
  2200 	* src/tools/Jamfile: Add missing file.
       
  2201 
       
  2202 	* src/lzw/Jamfile: Fix incorrect source file reference.
       
  2203 
       
  2204 2005-10-20  David Turner  <david@freetype.org>
       
  2205 
       
  2206 	* src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_table_remove,
       
  2207 	ft_mem_debug_alloc, ft_mem_debug_free, ft_mem_debug_realloc): Fixes
       
  2208 	to better account for memory reallocations.
       
  2209 
       
  2210 	* src/lzw/ftlzw2.c, src/lzw/ftzopen.h, src/lzw/ftzopen.c,
       
  2211 	src/lzw/rules.mk: First version of LZW loader re-implementation.
       
  2212 	Apparently, this saves about 330 KB of heap memory when loading
       
  2213 	timR24.pcf.Z.
       
  2214 
       
  2215 2005-10-20  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  2216 
       
  2217 	* include/freetype/ftbitmap.h (FT_Bitmap_Copy, FT_Bitmap_Embolden),
       
  2218 	src/base/ftbdf.c (FT_Get_BDF_Property), src/cache/ftcmru.c
       
  2219 	(FTC_MruList_Reset, FTC_MruList_Done, FTC_MruList_Lookup): Fix
       
  2220 	FT_EXPORT/FT_EXPORT_DEF tagging.
       
  2221 
       
  2222 2005-10-19  Chia-I Wu  <b90201047@ntu.edu.tw>
       
  2223 
       
  2224 	* src/truetype/ttgload.c (TT_Load_Glyph): Allow size->ttmetrics to
       
  2225 	be invalid when FT_LOAD_NO_SCALE is set.
       
  2226 
       
  2227 2005-10-17  David Turner  <david@freetype.org>
       
  2228 
       
  2229 	* src/base/ftobjs.c (FT_Open_Face): Don't call FT_New_GlyphSlot and
       
  2230 	FT_New_Size if we are opening a face with face_index < 0 (which is
       
  2231 	only used for testing the format).
       
  2232 
       
  2233 	* src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_entry_validate):
       
  2234 	Remove compiler warning.
       
  2235 
       
  2236 2005-10-16  David Turner  <david@freetype.org>
       
  2237 
       
  2238 	* src/tools/apinames.c: Add new tool to extract public API function
       
  2239 	names from header files.
       
  2240 
       
  2241 2005-10-05  Werner Lemberg  <wl@gnu.org>
       
  2242 
       
  2243 	Add FT_FACE_FLAG_HINTER to indicate that a specific font driver has
       
  2244 	a hinting engine of its own.
       
  2245 
       
  2246 	* include/freetype/freetype.h (FT_FACE_FLAG_HINTER): New macro.
       
  2247 
       
  2248 	* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
       
  2249 	(cid_face_init), src/truetype/ttobjs.c (tt_face_init)
       
  2250 	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER], src/type1/t1objs.c
       
  2251 	(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init)
       
  2252 	[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Update face flags.
       
  2253 
       
  2254 	* docs/CHANGES: Document it.
       
  2255 
       
  2256 2005-09-27  Werner Lemberg  <wl@gnu.org>
       
  2257 
       
  2258 	* builds/unix/freetype2.m4: Add license exception so that the file
       
  2259 	can be used in any other autoconf script.
       
  2260 
       
  2261 2005-09-26  David Turner  <david@freetype.org>
       
  2262 
       
  2263 	* src/autofit/aflatin.c (af_latin_compute_stem_width): Fix bad
       
  2264 	computation of the `vertical' flag, causing ugly things in LCD mode
       
  2265 	and others.
       
  2266 
       
  2267 2005-09-23  David Turner  <david@freetype.org>
       
  2268 
       
  2269 	* src/autofit/aflatin.c (af_latin_hints_init): Fix a bug that
       
  2270 	prevented internal hint mode bitflags from being computed correctly.
       
  2271 
       
  2272 	* src/base/Jamfile: Adding src/base/ftgxval.c.
       
  2273 
       
  2274 	* src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
       
  2275 	src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c,
       
  2276 	src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
       
  2277 	src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
       
  2278 	src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
       
  2279 	src/gxvalid/gxvmort5.c, src/gxvalid/gxvmorx.c,
       
  2280 	src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
       
  2281 	src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx5.c,
       
  2282 	src/gxvalid/gxvopbd.c, src/gxvalid/gxvprop.c,
       
  2283 	src/truetype/ttgload.c: Remove _many_ compiler warnings when
       
  2284 	compiling with Visual C++ at maximum level (/W4).
       
  2285 
       
  2286 	* src/autofit/afangles.c (af_angle_atan): Replaced CORDIC-based
       
  2287 	implementation with one using lookup tables.  This simple thing
       
  2288 	speeds up glyph loading by 18%, according to ftbench!
       
  2289 
       
  2290 	* src/sfnt/sfdriver.c (sfnt_get_interface): Don't check for
       
  2291 	`get_sfnt' and `load_sfnt' module interfaces.
       
  2292 
       
  2293 2005-09-22  Werner Lemberg  <wl@gnu.org>
       
  2294 
       
  2295 	* docs/CHANGES: Mention SING Glyphlet support.
       
  2296 
       
  2297 2005-09-22  David Turner  <david@freetype.org>
       
  2298 
       
  2299 	* src/base/Jamfile: Disable compilation of ftgxval module
       
  2300 	temporarily.
       
  2301 
       
  2302 2005-09-19  David Somers  <dsomers@omz13.com>
       
  2303 
       
  2304 	* src/sfnt/ttload.c (sfnt_dir_check): Modified to allow a
       
  2305 	font to have no `head' table if tables `SING' and `META' are
       
  2306 	present; this is to support `SING Glyphlet'.
       
  2307 
       
  2308 	`SING Glyphlet' is an extension to OpenType developed by Adobe
       
  2309 	primarily to facilitate adding supplemental glyphs to an OpenType
       
  2310 	font (with emphasis on, but not necessarily limited to, gaiji to a
       
  2311 	CJK font).  A SING Glyphlet Font is an OpenType font that contains
       
  2312 	the outline(s), either in a `glyf' or `CFF' table, for a glyph;
       
  2313 	`cmap', `BASE', and `GSUB' tables are present with the same format
       
  2314 	and functionaliy as a regular OpenType font; there are no `name',
       
  2315 	`head', `OS/2', and `post' tables; there are two new tables, `SING'
       
  2316 	which contains details about the glyphlet, and `META' which contains
       
  2317 	metadata.
       
  2318 
       
  2319 	Further information on the SING Glyphlet format can be found at:
       
  2320 
       
  2321 	  http://www.adobe.com/products/indesign/sing_gaiji.html
       
  2322 
       
  2323 	* include/freetype/ttags.h (TTAG_SING, TTAG_META): New macros for
       
  2324 	the OpenType tables `SING' and `META'.  These two tables are used in
       
  2325 	SING Glyphlet Format fonts.
       
  2326 
       
  2327 2005-09-09  Werner Lemberg  <wl@gnu.org>
       
  2328 
       
  2329 	* src/sfnt/sfobjs.c (sfnt_load_face): Reactivate code to set
       
  2330 	FT_FACE_FLAG_KERNING which has been commented out erroneously.
       
  2331 
       
  2332 	* docs/CHANGES: Document it.
       
  2333 
       
  2334 2005-09-05  Werner Lemberg  <wl@gnu.org>
       
  2335 
       
  2336 	Fixes for `make multi' and using C++ compiler.
       
  2337 
       
  2338 	* src/gxvalid/gxvcommn.c (gxv_set_length_by_ushort_offset,
       
  2339 	gxv_set_length_by_ulong_offset, gxv_array_getlimits_byte,
       
  2340 	gxv_array_getlimits_ushort): Declare with FT_LOCAL_DEF.
       
  2341 	(gxv_compare_ranges): Make it static.
       
  2342 	(gxv_LookupTable_fmt0_validate, gxv_LookupTable_fmt2_validate,
       
  2343 	gxv_LookupTable_fmt4_validate, gxv_LookupTable_fmt6_validate,
       
  2344 	gxv_LookupTable_fmt8_validate, gxv_LookupTable_validate): Improve
       
  2345 	trace messages.
       
  2346 	(gxv_StateArray_validate, gxv_XStateArray_validate): s/class/clazz/.
       
  2347 	(GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
       
  2348 	GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Move to
       
  2349 	gxvcommn.h.
       
  2350 
       
  2351 	* src/gxvalid/gxvcommn.h: Add prototypes for
       
  2352 	gxv_StateTable_subtable_setup, gxv_XStateTable_subtable_setup,
       
  2353 	gxv_XStateTable_validate, gxv_array_getlimits_byte,
       
  2354 	gxv_array_getlimits_ushort, gxv_set_length_by_ushort_offset,
       
  2355 	gxv_set_length_by_ulong_offset, gxv_odtect_add_range,
       
  2356 	gxv_odtect_validate.
       
  2357 	(GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
       
  2358 	GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Moved from
       
  2359 	gxvcommn.c.
       
  2360 
       
  2361 	* src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
       
  2362 	gxv_bsln_parts_fmt1_validate): Improve trace messages.
       
  2363 
       
  2364 	* src/gxvalid/gxvfeat.c: Split off predefined registry stuff to...
       
  2365 	* src/gxvalid/gxvfeat.h: New file.
       
  2366 
       
  2367 	* src/gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
       
  2368 	message.
       
  2369 
       
  2370 	* src/gxvalid/gxvkern.c (GXV_kern_Dialect): Add KERN_DIALECT_UNKNOWN.
       
  2371 	(gxv_kern_subtable_fmt1_valueTable_load,
       
  2372 	gxv_kern_subtable_fmt1_subtable_setup,
       
  2373 	gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors.
       
  2374 	(gxv_kern_coverage_validate): Use KERN_DIALECT_UNKWOWN.
       
  2375 	Improve trace message.
       
  2376 	(gxv_kern_validate_generic): Fix C++ compiler error.
       
  2377 	Improve trace message.
       
  2378 	(gxv_kern_validate_classic): Fix C++ compiler error.
       
  2379 
       
  2380 	* src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
       
  2381 	with FT_LOCAL_DEF.
       
  2382 
       
  2383 	* src/gxvalid/gxvmort1.c
       
  2384 	(gxv_mort_subtable_type1_substitutionTable_load,
       
  2385 	gxv_mort_subtable_type1_subtable_setup): Fix C++ compiler errors.
       
  2386 	(gxv_mort_subtable_type1_substTable_validate): Improve trace
       
  2387 	message.
       
  2388 	(gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF.
       
  2389 
       
  2390 	* src/gxvalid/gxvmort2.c (gxv_mort_subtable_type2_opttable_load,
       
  2391 	gxv_mort_subtable_type2_subtable_setup,
       
  2392 	gxv_mort_subtable_type2_ligActionOffset_validate,
       
  2393 	gxv_mort_subtable_type2_ligatureTable_validate): Fix C++ compiler
       
  2394 	errors.
       
  2395 	(gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF.
       
  2396 
       
  2397 	* src/gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
       
  2398 	with FT_LOCAL_DEF.
       
  2399 
       
  2400 	* src/gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup,
       
  2401 	gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler
       
  2402 	errors.
       
  2403 	(gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF.
       
  2404 
       
  2405 	* src/gxvalid/gxvmort.c: Include gxvfeat.h.
       
  2406 	(gxv_mort_featurearray_validate, gxv_mort_coverage_validate):
       
  2407 	Declare with FT_LOCAL_DEF.
       
  2408 	(gxv_mort_subtables_validate, gxv_mort_validate): Improve trace
       
  2409 	messages.
       
  2410 
       
  2411 	* src/gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.
       
  2412 
       
  2413 	* src/gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
       
  2414 	with FT_LOCAL_DEF.
       
  2415 
       
  2416 	* src/gxvalid/gxvmorx1.c
       
  2417 	(gxv_morx_subtable_type1_substitutionTable_load,
       
  2418 	gxv_morx_subtable_type1_subtable_setup,
       
  2419 	gxv_morx_subtable_type1_entry_validate,
       
  2420 	gxv_morx_subtable_type1_substitutionTable_validate): Fix C++
       
  2421 	compiler errors.
       
  2422 	(gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF.
       
  2423 
       
  2424 	* src/gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_opttable_load,
       
  2425 	gxv_morx_subtable_type2_subtable_setup,
       
  2426 	gxv_morx_subtable_type2_ligActionIndex_validate,
       
  2427 	gxv_morx_subtable_type2_ligatureTable_validate): Fix C++ compiler
       
  2428 	errors.
       
  2429 	(gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF.
       
  2430 	Fix typo.
       
  2431 
       
  2432 	* src/gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
       
  2433 	with FT_LOCAL_DEF.
       
  2434 
       
  2435 	* src/gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_insertionGlyph_load,
       
  2436 	gxv_morx_subtable_type5_subtable_setup): Fix C++ compiler error.
       
  2437 	(gxv_morx_subtable_type5_validate): Declare with FT_LOCAL_DEF.
       
  2438 
       
  2439 	* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
       
  2440 	gxv_morx_validate): Improve trace message.
       
  2441 
       
  2442 	* src/gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
       
  2443 	warnings.
       
  2444 	(gxv_opbd_validate): Improve trace message.
       
  2445 
       
  2446 	* src/gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
       
  2447 	appropriate.
       
  2448 	(gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
       
  2449 	message.
       
  2450 
       
  2451 	* src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused
       
  2452 	parameter.  Update all callers.
       
  2453 	(gxv_trak_validate): Improve trace message.
       
  2454 
       
  2455 	* rules.mk (GXV_DRV_H): Add gxvfeat.h.
       
  2456 
       
  2457 2005-09-01  Werner Lemberg  <wl@gnu.org>
       
  2458 
       
  2459 	* src/gxvalid/gxvbsln.c (GXV_BSLN_VALUE_EMPTY): Add `U'.
       
  2460 
       
  2461 	* src/gxvalid/gxmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
       
  2462 	src/gxvalid/gxmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix
       
  2463 	typo.
       
  2464 
       
  2465 	* src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
       
  2466 	src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx4.c,
       
  2467 	src/gxvalid/gxvmorx5.c, src/gxvalid/gxvmort.c: Improve trace
       
  2468 	messages.
       
  2469 	Decorate constants with `U' and `L' where appropriate.
       
  2470 	Fix compiler warnings.
       
  2471 
       
  2472 2005-08-31  Werner Lemberg  <wl@gnu.org>
       
  2473 
       
  2474 	* src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
       
  2475 
       
  2476 	* src/gxvalid/gxvbsln.c (gxv_bsln_validate): Fix trace message.
       
  2477 
       
  2478 	* src/gxvalid/gxvcommn.c (gxv_odtect_add_range): Use `const'.
       
  2479 
       
  2480 	* src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c,
       
  2481 	src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmod.c,
       
  2482 	src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
       
  2483 	src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
       
  2484 	src/gxvalid/gxvmort5.c, src/gxvalid/gxvmort.c: Improve trace
       
  2485 	messages.
       
  2486 	Decorate constants with `U' and `L' where appropriate.
       
  2487 	Fix compiler warnings.
       
  2488 
       
  2489 2005-08-30  Werner Lemberg  <wl@gnu.org>
       
  2490 
       
  2491 	* src/gxvalid/README: Revised.
       
  2492 	* src/gxvalid/gxvbsln.c: Fix compiler warnings.
       
  2493 	* src/gxvalid/gxvcommn.c: Fix compiler warnings.
       
  2494 	(gxv_XEntryTable_validate, gxv_compare_ranges): Remove unused
       
  2495 	parameter.  Update all callers.
       
  2496 	Improve trace messages.
       
  2497 	Some formatting.
       
  2498 
       
  2499 2005-08-29  Werner Lemberg  <wl@gnu.org>
       
  2500 
       
  2501 	* include/freetype/freetype.h, include/freetype/ftchapters.h: Add
       
  2502 	a preliminary section with some explanations about user allocation.
       
  2503 
       
  2504 	* src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
       
  2505 	Don't abort if there are no data types, functions, etc., in a
       
  2506 	section.
       
  2507 	Print synopsis only if we have a data type, function, etc.
       
  2508 
       
  2509 	* docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
       
  2510 	docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
       
  2511 	docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
       
  2512 
       
  2513 2005-08-28  George Williams  <gww@silcom.com>
       
  2514 
       
  2515 	* src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed.
       
  2516 	(load_truetype_glyph): Limit recursion depth by `maxComponentDepth'.
       
  2517 
       
  2518 2005-08-25  J. Ali Harlow  <ali@avrc.city.ac.uk>
       
  2519 
       
  2520 	* builds/unix/freetype2.in (CFlags): Add missing directory.
       
  2521 
       
  2522 2005-08-24  Werner Lemberg  <wl@gnu.org>
       
  2523 
       
  2524 	* docs/CHANGES: Mention gxvalid module.
       
  2525 
       
  2526 2005-08-23  Werner Lemberg  <wl@gnu.org>
       
  2527 
       
  2528 	* src/autofit/aflatin.c (af_latin_metrics_scale): Initialize
       
  2529 	render mode properly.  Reported by chris@dokein.co.uk.
       
  2530 
       
  2531 2005-08-23  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
       
  2532 
       
  2533 	Add gxvalid module to validate TrueType GX/AAT tables.
       
  2534 
       
  2535 	Modifications on existing files:
       
  2536 
       
  2537 	* Jamfile: Register gxvalid module.
       
  2538 	* src/base/Jamfile: Register ftgxval.c.
       
  2539 	* src/base/rule.mk: Register ftgxval.c.
       
  2540 	* docs/INSTALL.ANY: Register gxvalid/gxvalid.c.
       
  2541 
       
  2542 	* include/freetype/config/ftheader.h (FT_GX_VALIDATE_H): New macro
       
  2543 	to include gxvalid header file.
       
  2544 	* include/freetype/config/ftmodule.h: Register gxv_module_class.
       
  2545 
       
  2546 	* include/freetype/ftchapters.h: Add comment about gx_validation.
       
  2547 	* include/freetype/ftotval.h: Change keyword FT_VALIDATE_XXX
       
  2548 	to FT_VALIDATE_OTXXX to co-exist with gxvalid.
       
  2549 	* include/freetype/tttags.h: Add tags for TrueType GX/AAT tables.
       
  2550 
       
  2551 	* include/freetype/internal/ftserv.h (FT_SERVICE_GX_VALIDATE_H): New
       
  2552 	macro for gxvalid service.
       
  2553 	* include/freetype/internal/fttrace.h: Add trace facilities for
       
  2554 	gxvalid.
       
  2555 
       
  2556 	New files on existing directories:
       
  2557 
       
  2558 	* include/freetype/internal/services/svgxval.h: Registration of
       
  2559 	validation service for TrueType GX/AAT and classic kern table.
       
  2560 	* include/freetype/ftgxval.h: Public API definition to use gxvalid.
       
  2561 	* src/base/ftgxval.c: Public API of gxvalid.
       
  2562 
       
  2563 	New files under src/gxvalid/:
       
  2564 
       
  2565 	* src/gxvalid/Jamfile src/gxvalid/README src/gxvalid/module.mk
       
  2566 	src/gxvalid/rules.mk src/gxvalid/gxvalid.c src/gxvalid/gxvalid.h
       
  2567 	src/gxvalid/gxvbsln.c src/gxvalid/gxvcommn.c src/gxvalid/gxvcommn.h
       
  2568 	src/gxvalid/gxverror.h src/gxvalid/gxvfeat.c src/gxvalid/gxvfgen.c
       
  2569 	src/gxvalid/gxvjust.c src/gxvalid/gxvkern.c src/gxvalid/gxvlcar.c
       
  2570 	src/gxvalid/gxvmod.c src/gxvalid/gxvmod.h src/gxvalid/gxvmort.c
       
  2571 	src/gxvalid/gxvmort.h src/gxvalid/gxvmort0.c src/gxvalid/gxvmort1.c
       
  2572 	src/gxvalid/gxvmort2.c src/gxvalid/gxvmort4.c src/gxvalid/gxvmort5.c
       
  2573 	src/gxvalid/gxvmorx.c src/gxvalid/gxvmorx.h src/gxvalid/gxvmorx0.c
       
  2574 	src/gxvalid/gxvmorx1.c src/gxvalid/gxvmorx2.c src/gxvalid/gxvmorx4.c
       
  2575 	src/gxvalid/gxvmorx5.c src/gxvalid/gxvopbd.c src/gxvalid/gxvprop.c
       
  2576 	src/gxvalid/gxvtrak.c: New files, gxvalid body.
       
  2577 
       
  2578 2005-08-21  Werner Lemberg  <wl@gnu.org>
       
  2579 
       
  2580 	* src/truetype/ttgload.c (TT_Load_Glyph): Only translate outline
       
  2581 	to (0,0) if bit 1 of the `head' table isn't set.  This improves
       
  2582 	rendering of buggy fonts.
       
  2583 
       
  2584 2005-08-20  Chia I Wu  <b90201047@ntu.edu.tw>
       
  2585 
       
  2586 	* src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of
       
  2587 	ttmetrics here.  TrueType fonts with only sbits always have
       
  2588 	ttmetrics.valid set to false.
       
  2589 
       
  2590 	* src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is
       
  2591 	valid before loading outline glyph.
       
  2592 
       
  2593 	* src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
       
  2594 
       
  2595 2005-08-20  Werner Lemberg  <wl@gnu.org>
       
  2596 
       
  2597 	* src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing
       
  2598 	`hhea' table for SFNT Mac fonts.  Change based on a patch by
       
  2599 	mpsuzuki@hiroshima-u.ac.jp.
       
  2600 
       
  2601 2005-08-20  Masatake YAMATO  <jet@gyve.org>
       
  2602 
       
  2603 	* src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead
       
  2604 	of ft_setjmp.
       
  2605 
       
  2606 2005-08-19  Werner Lemberg  <wl@gnu.org>
       
  2607 
       
  2608 	* src/truetype/ttgload.c (load_truetype_glyph): Fix compiler
       
  2609 	warnings.
       
  2610 
       
  2611 2005-08-16  Chia I Wu  <b90201047@ntu.edu.tw>
       
  2612 
       
  2613 	* src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright
       
  2614 	messages.
       
  2615 
       
  2616 2005-08-16  Chia I Wu  <b90201047@ntu.edu.tw>
       
  2617 
       
  2618 	* src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original
       
  2619 	TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context
       
  2620 	with slight changes.
       
  2621 	Update all callers.
       
  2622 	(TT_New_Context): Now takes TT_Driver argument directly.
       
  2623 	Update all callers.
       
  2624 
       
  2625 	* src/truetype/ttobjs.h (tt_slot_init): New function.
       
  2626 	* src/truetype/ttobjs.c (tt_driver_init): Initialize execution
       
  2627 	context here.
       
  2628 	(tt_slot_init): New function to create extra points for the internal
       
  2629 	glyph loader.  We then use it directly, instead of face's glyph
       
  2630 	loader, when loading glyph.
       
  2631 
       
  2632 	* src/truetype/ttdriver.c (tt_driver_class): Use tt_slot_init for
       
  2633 	glyph slot initialization.
       
  2634 	(Load_Glyph): Load flag dependencies are handled here.  Return error
       
  2635 	if size is NULL.
       
  2636 
       
  2637 	* src/truetype/ttgload.c: Heavy cleanup and refactoring.
       
  2638 	(org_to_cur): Removed.
       
  2639 	(TT_Load_Simple_Glyph): Call FT_GlyphLoader_CheckPoints.
       
  2640 	(TT_Hint_Glyph): New function to hint a zone, prepared by caller.
       
  2641 	(TT_Process_Simple_Glyph): s/load/loader/.
       
  2642 	Use loader->pp values instead of recalculation.
       
  2643 	Use TT_Hint_Glyph.
       
  2644 	No need to save/restore loader->stream before and after
       
  2645 	TT_Vary_Get_Glyph_Deltas now.
       
  2646 	(TT_LOADER_SET_PP): New macro to calculate and set the four phantom
       
  2647 	points.
       
  2648 	(load_truetype_glyph): Never set exec->glyphSize to 0.  This closes
       
  2649 	Savannah bug #13107.
       
  2650 	Forget glyph frame before calling TT_Process_Simple_Glyph.
       
  2651 	Use TT_LOADER_SET_PP.
       
  2652 	Scale all four phantom points.
       
  2653 	Split off some functionality to ...
       
  2654 	(TT_Process_Composite_Component, TT_Process_Composite_Glyph): These
       
  2655 	new functions.
       
  2656 	(TT_Load_Glyph): Set various fields of `glyph' here, not in
       
  2657 	load_truetype_glyph and compute_glyph_metrics.
       
  2658 	Split off some functionality to ...
       
  2659 	(load_sbit_image, tt_loader_init): These new functions.
       
  2660 	(compute_glyph_metrics): Call FT_Outline_Get_CBox.
       
  2661 
       
  2662 2005-08-08  Werner Lemberg  <wl@gnu.org>
       
  2663 
       
  2664 	* docs/INSTALL.ANY: Updated.
       
  2665 
       
  2666 2005-08-05  Werner Lemberg  <wl@gnu.org>
       
  2667 
       
  2668 	* src/cff/cffgload.c (cff_builder_close_contour),
       
  2669 	src/psaux/psobjs.c (t1_builder_close_contour): Protect against
       
  2670 	zero `outline' pointer.
       
  2671 
       
  2672 	* src/base/ftgloadr.c (FT_GlyphLoader_Add): Protect against zero
       
  2673 	`loader' address.
       
  2674 
       
  2675 2005-08-03  Werner Lemberg  <wl@gnu.org>
       
  2676 
       
  2677 	* src/sfnt/sfdriver.c (sfnt_interface) [FT_OPTIMIZE_MEMORY]:
       
  2678 	Reactivate pointers to tt_find_sbit_image and tt_load_sbit_metrics
       
  2679 	to make X work again.
       
  2680 
       
  2681 2005-08-02  Werner Lemberg  <wl@gnu.org>
       
  2682 
       
  2683 	* src/otvalid/otvcommn.h: Remove dead code.
       
  2684 
       
  2685 2005-07-31  Chia I Wu  <b90201047@ntu.edu.tw>
       
  2686 
       
  2687 	* src/truetype/ttobjs.h (tt_size_run_fpgm, tt_size_run_prep): New
       
  2688 	functions.
       
  2689 
       
  2690 	* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): New
       
  2691 	functions.
       
  2692 	(tt_size_init): Add 4, instead of 2, (phantom) points to twilight
       
  2693 	zone.
       
  2694 	Move code that runs fpgm to tt_size_run_fpgm.
       
  2695 	(Reset_Outline_Size): Move code that runs prep to tt_size_run_prep.
       
  2696 	(tt_glyphzone_new): Allocate right size of arrays.
       
  2697 	Set max_points and max_contours properly.
       
  2698 
       
  2699 2005-07-26  Chia I Wu  <b90201047@ntu.edu.tw>
       
  2700 
       
  2701 	* src/truetype/ttdriver.c (Set_Char_Sizes): Avoid unnecessary
       
  2702 	computations and clean up.
       
  2703 
       
  2704 	* src/truetype/ttobjs.h (struct TT_SizeRec_): Comment on the
       
  2705 	internal copy of metrics.
       
  2706 
       
  2707 2005-07-12  Werner Lemberg  <wl@gnu.org>
       
  2708 
       
  2709 	* include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype.
       
  2710 	Reported by Xerxes.
       
  2711 
       
  2712 2005-07-04  Werner Lemberg  <wl@gnu.org>
       
  2713 
       
  2714 	* include/freetype/internal/ftmemory.h (FT_REALLOC_ARRAY): Fix typo.
       
  2715 	Reported by Brett Hutley.
       
  2716 
       
  2717 2005-06-30  David Turner  <david@freetype.org>
       
  2718 
       
  2719 	* src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c:
       
  2720 	Removing compiler warnings (Visual C++ /W4).
       
  2721 
       
  2722 
       
  2723 	Implement a work-around for broken C preprocessor in Visual C++ (it
       
  2724 	has been confirmed by the MS developers that it is indeed a bug
       
  2725 	which won't be fixed in the very near future).
       
  2726 
       
  2727 	* Jamfile (FT2_COMPONENTS): Include otvalid (again).
       
  2728 
       
  2729 	* src/otvalid/otvcommn.h (OTV_NAME, OTV_FUNC): New macros.
       
  2730 	(OTV_NEST1, OTV_NEST2, OTV_NEST3): Use OTV_NAME and OTV_FUNC to
       
  2731 	avoid argument expansion by argument prescan.
       
  2732 	Append `Func' to all affected macros and change them to take just a
       
  2733 	single argument.  Example: `AttachList' is renamed to
       
  2734 	`AttachListFunc'.
       
  2735 
       
  2736 	* src/otvalid/otvgdef.c, src/otvalid/otvgpos.c,
       
  2737 	src/otvalid/otvgsub.c, src/otvjstf.c: Append `Func' to macros
       
  2738 	affected by the changes to OTV_NESTx and modify them to take just a
       
  2739 	single argument.
       
  2740 
       
  2741 2005-06-20  Chia I Wu  <b90201047@ntu.edu.tw>
       
  2742 
       
  2743 	* include/freetype/internal/ftobjs.h, src/base/ftobjs.c: New function
       
  2744 	ft_glyphslot_grid_fit_metrics.
       
  2745 
       
  2746 	* src/truetype/ttgload.c (compute_glyph_metrics): Use
       
  2747 	ft_glyphslot_grid_fit_metrics.
       
  2748 
       
  2749 	* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
       
  2750 	(cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Use
       
  2751 	ft_glyphslot_grid_fit_metrics.
       
  2752 	FT_Outline_Get_CBox is called twice.
       
  2753 
       
  2754 	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Modify metrics to more
       
  2755 	reasonable values when emboldening outline glyphs.  The theoretic
       
  2756 	ones are unrealistic.
       
  2757 
       
  2758 2005-06-16  Chia I Wu  <b90201047@ntu.edu.tw>
       
  2759 
       
  2760 	* src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
       
  2761 	halved.
       
  2762 
       
  2763 	* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
       
  2764 	strength.
       
  2765 	Don't increase slot->advance.y.
       
  2766 
       
  2767 2005-06-16  Werner Lemberg  <wl@gnu.org>
       
  2768 
       
  2769 	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
       
  2770 	(FREETYPE_PATCH): Set to 0.
       
  2771 
       
  2772 	* builds/unix/configure.ac (version_info): Set to 9:9:3.
       
  2773 	Currently, we are still binary compatible.
       
  2774 
       
  2775 	* builds/win32/visualc/index.html,
       
  2776 	builds/win32/visualc/freetype.dsp,
       
  2777 	builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
       
  2778 
       
  2779 	* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
       
  2780 	s/2.1.9/2.1.10/.
       
  2781 
       
  2782 	* docs/CHANGES, docs/VERSION.DLL: Updated.
       
  2783 
       
  2784 	* ChangeLog: Split off older entries into...
       
  2785 	* ChangeLog.20, ChangeLog.21: These new files.
       
  2786 
       
  2787 2005-06-15  Kirill Smelkov  <kirr@mns.spb.ru>
       
  2788 
       
  2789 	The next release will be 2.2.0, so don't worry about source code
       
  2790 	backwards compatibility.
       
  2791 
       
  2792 	* include/freetype/ftimage.h (FT_Outline_MoveToFunc,
       
  2793 	FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
       
  2794 	FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc),
       
  2795 	include/freetype/ftrender.h (FT_Glyph_TransformFunc,
       
  2796 	FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate
       
  2797 	parameters with `const' where appropriate.
       
  2798 
       
  2799 2005-06-15  Chia I Wu  <b90201047@ntu.edu.tw>
       
  2800 
       
  2801 	* src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
       
  2802 	to make glyphs centered vertically.
       
  2803 
       
  2804 	* src/truetype/ttgload.c (compute_glyph_metrics): Compute
       
  2805 	vertBearingY to make glyphs centered vertically.
       
  2806 	Fix some bugs in vertical metrics:
       
  2807 
       
  2808 	  . loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
       
  2809 	    units.
       
  2810 	  . As we use the glyph's cbox to calculate the top bearing now
       
  2811 	    there is no need to adjust `top'.
       
  2812 
       
  2813 2005-06-15  Werner Lemberg  <wl@gnu.org>
       
  2814 
       
  2815 	* src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
       
  2816 	in sync with OTV_OPTIONAL_OFFSET.  Reported by YAMATO Masatake.
       
  2817 
       
  2818 2005-06-13  Werner Lemberg  <wl@gnu.org>
       
  2819 
       
  2820 	* docs/release: Update.
       
  2821 
       
  2822 ----------------------------------------------------------------------------
       
  2823 
       
  2824 Copyright 2005, 2006, 2007, 2008 by
       
  2825 David Turner, Robert Wilhelm, and Werner Lemberg.
       
  2826 
       
  2827 This file is part of the FreeType project, and may only be used, modified,
       
  2828 and distributed under the terms of the FreeType project license,
       
  2829 LICENSE.TXT.  By continuing to use, modify, or distribute this file you
       
  2830 indicate that you have read the license and understand and accept it
       
  2831 fully.
       
  2832 
       
  2833 
       
  2834 Local Variables:
       
  2835 version-control: never
       
  2836 coding: utf-8
       
  2837 End: