1
2006-05-12 Werner Lemberg <wl@gnu.org>
4
* Version 2.2.1 released.
5
=========================
8
Tag sources with `VER-2-2-1'.
10
2006-05-12 Werner Lemberg <wl@gnu.org>
12
* src/tools/docmaker/sources.py (re_source_keywords): Add word
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.
22
* include/freetype/*: Many minor documentation improvements (adding
23
links, spelling errors, etc.).
25
2006-05-11 Werner Lemberg <wl@gnu.org>
27
* README: Minor updates.
29
* include/freetype/*: s/scale/scaling value/ where appropriate.
30
Many other minor documentation improvements.
32
* src/tools/docmaker/sources.py (re_italic, re_bold): Handle
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.
38
2006-05-11 Masatake YAMATO <jet@gyve.org>
40
* builds/unix/ftsystem.c (FT_Stream_Open): Check errno only if
41
read system call returns -1.
42
Remove a redundant parenthesis.
44
2006-05-10 Werner Lemberg <wl@gnu.org>
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
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).
54
* builds/toplevel.mk (dist): New target which builds .tar.gz,
55
.tar.bz2, and .zip files. Note that the version number is still
57
(do-dist): Sub-target of `dist'.
58
(CONFIG_GUESS, CONFIG_SUB): New variables.
61
2006-05-09 Rajeev Pahuja <rpahuja@esri.com>
63
* builds/win32/visualc/freetype.sln,
64
builds/win32/visualc/freetype.vcproj: Upgraded to VS.NET 2005 from
66
Added files ftbbox.c, fttype1.c, ftwinfnt.c, ftsynth.c.
68
* builds/win32/visualc/index.html: Updated.
70
2006-05-07 Werner Lemberg <wl@gnu.org>
72
Put version information into the configure script. Reported by Paul
73
Watson <pwatson@redlinepy.com>.
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.
79
* version.sed: New script.
81
* autogen.sh: Generate configure.ac from configure.raw, using
82
FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH from freetype.h.
84
2006-05-06 Werner Lemberg <wl@gnu.org>
86
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
88
* builds/unix/configure.ac (version_info): Set to 9:10:3.
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/.
96
* docs/CHANGES, docs/VERSION.DLL, docs/PROBLEMS, README.CVS:
99
* builds/unix/install-sh: Updated from `texinfo' CVS module at
102
* devel/ftoption.h: Synchronize with
103
include/freetype/config/ftoption.h.
105
2006-05-04 Werner Lemberg <wl@gnu.org>
107
* src/lzw/ftlzw2.c: Renamed to...
108
* src/lzw/ftlzw.c: This.
110
* src/lzw/Jamfile, src/lzw/rules.mk: Updated.
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.
117
2006-05-03 David Turner <david@freetype.org>
119
Allow compilation again with C++ compilers.
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.
126
2006-05-03 Werner Lemberg <wl@gnu.org>
128
* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Removed.
130
2006-05-02 Werner Lemberg <wl@gnu.org>
132
* include/freetype/internal/ftmemory.h: s/new/newsz/ (for C++).
133
(FT_ALLOC): Remove redundant redefinition.
135
* builds/compiler/gcc-dev.mk (CFLAGS) [g++]: Don't use
136
`-Wstrict-prototypes'.
138
* src/base/ftstream.c (FT_Stream_EnterFrame): Add cast.
140
* include/freetype/config/ftconfig.h (FT_BASE_DEF) [__cplusplus]:
143
2006-05-02 David Turner <david@freetype.org>
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
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();
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.
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.
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.
169
* include/freetype/config/ftconfig.h (FT_BASE_DEF) [!__cplusplus]:
172
* include/freetype/fterrdef.h (FT_Err_Array_Too_Large): New error
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
187
(FT_MEM_SET_ERROR): Slightly redefine.
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
196
(ft_mem_alloc_debug, ft_mem_realloc_debug, ft_mem_qalloc_debug,
197
ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
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.
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.
210
* src/base/ftstream.c (FT_Stream_ReleaseFrame) [FT_DEBUG_MEMORY]:
212
(FT_Stream_EnterFrame) [FT_DEBUG_MEMORY]: Use ft_mem_qalloc.
213
(FT_Stream_ExitFrame) [FT_DEBUG_MEMORY]: Use ft_mem_free.
215
2006-04-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
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>.
222
2006-04-29 Werner Lemberg <wl@gnu.org>
224
Further C library abstraction. Based on a patch from
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
234
* src/base/ftsystem.c: Don't include stdio.h and stdlib.h.
235
* src/gzip/zutil.h [MSDOS && !(__TURBOC__ || __BORLANDC__)]: Don't
239
* builds/unix/unix-def.in (datarootdir): Define, for autoconf 2.59c
240
and forthcoming versions.
242
2006-04-28 Werner Lemberg <wl@gnu.org>
244
* src/lzw/ftlzw.c, src/lzw/zopen.c, src/lzw/zopen.h: Removed,
247
2006-04-27 yi luo <luoyi.ly@gmail.com>
249
* builds/win32/visualc/freetype.vcproj: Updated.
251
2006-04-26 David Turner <david@freetype.org>
254
* Version 2.2 released.
255
=======================
258
Tag sources with `VER-2-2-0'.
260
2006-04-26 Werner Lemberg <wl@gnu.org>
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>.
266
2006-04-21 David Turner <david@freetype.org>
268
* include/freetype/ftincrem.h: Documentation updates.
269
(FT_Incremental_Interface): New typedef.
271
* include/freetype/ftmodapi.h, include/freetype/ftglyph.h:
272
Documentation updates.
274
* include/freetype/freetype.h: Documentation update.
275
(FT_HAS_FAST_GLYPHS): Always set to 0.
277
* include/freetype/ftstroke.h, src/base/ftstroke.c (FT_Stroker_New):
278
Take an FT_Library argument instead of FT_Memory.
280
* src/sfnt/ttcmap.c: Remove compiler warnings (gcc-4.0.2).
282
2006-04-13 David Turner <david@freetype.org>
284
* src/autofit/afloader.c (af_loader_init, af_loader_load_g): Remove
285
superfluous code in the auto-fitter's loader.
287
2006-04-05 Detlef Würkner <TetiSoft@apg.lahn.de>
289
* builds/amiga/makefile, builds/amiga/makefile.os4,
290
builds/amiga/smakefile: Added FT2_BUILD_LIBRARY define.
292
2006-04-03 luoyi <luoyi.ly@gmail.com>
294
* builds/compiler/intelc.mk (TE): New variable.
295
(ANSIFLAGS): Updated.
297
2006-04-03 Werner Lemberg <wl@gnu.org>
299
* builds/exports.mk (clean_symbols_list, clean_apinames): Removed.
300
(CLEAN): Add $(EXPORTS_LIST) and $(APINAMES_EXE).
303
* configure.ac: Minor fixes to improve --help output.
306
* docs/PROBLEMS: New file.
308
2006-04-01 David Turner <david@freetype.org>
310
* docs/CHANGES: Updated.
312
* include/freetype/ftcache.h, include/freetype/config/ftheader.h:
313
Update documentation comments.
315
2006-04-01 Werner Lemberg <wl@gnu.org>
317
* builds/unix/install.mk (uninstall): Don't handle `cache'
318
directory which no longer exists.
320
2006-03-29 Detlef Würkner <TetiSoft@apg.lahn.de>
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.
326
2006-03-27 David Turner <david@freetype.org>
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.
332
2006-03-26 Werner Lemberg <wl@gnu.org>
334
* src/bdf/bdflib.c (ERRMSG4): New macro.
335
(_bdf_parse_glyphs): Handle invalid BBX values.
337
* include/freetype/fterrdef.h (FT_Err_Bbx_Too_Big): New error
340
2006-03-23 Werner Lemberg <wl@gnu.org>
342
* docs/CHANGES: Updated.
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
350
Use `para_header' and `para_footer'.
352
* src/tools/docmaker/sources.py (re_bold, re_italic): Accept "'"
355
2006-03-23 David Turner <david@freetype.org>
357
Add FT_Get_SubGlyph_Info API to retrieve subglyph data. Note that
358
we do not expose the FT_SubGlyphRec structure.
360
* include/freetype/internal/ftgloadr.h (FT_SUBGLYPH_FLAGS_*): Moved
362
* include/freetype/freetype.h (FT_SUBGLYPH_FLAGS_*): Here.
363
(FT_Get_SybGlyph_Info): New declaration.
365
* src/base/ftobjs.c (FT_Get_SubGlyph_Info): New function.
368
* src/autofit/afloader.c (af_loader_load_g): Compute lsb_delta and
369
rsb_delta correctly in edge cases.
371
2006-03-22 Werner Lemberg <wl@gnu.org>
373
* src/cache/ftccache.c, (ftc_node_mru_up, FTC_Cache_Lookup)
374
[!FTC_INLINE]: Compile conditionally.
375
* src/cache/ftccache.h: Updated.
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.
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.
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.
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.
400
2006-03-22 Werner Lemberg <wl@gnu.org>
402
* src/cache/ftccache.c, src/cache/ftccache.h (FTC_Node_Destroy):
405
* src/cache/ftccmap.h: Remove, unused.
407
* src/cache/rules.mk (CACHE_DRV_H): Remove ftccmap.h.
409
2006-03-21 Zhe Su <james.su@gmail.com>
411
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Improve
414
2006-03-21 Werner Lemberg <wl@gnu.org>
416
* src/cff/cfftypes.h (CFF_CharsetRec): Add `max_cid' member.
418
* src/cff/cffload.c (cff_charset_load): Set `charset->max_cid'.
420
* src/cff/cffgload.c (cff_slot_load): Change type of third parameter
422
Check range of `glyph_index'.
423
* src/cff/cffgload.h: Updated.
426
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Handle invalid offset
430
* builds/freetype.mk (refdoc), docs/CHANGES, Jamfile (RefDoc),
431
README: s/2.1.10/2.2/.
433
2006-03-21 David Turner <david@freetype.org>
435
* src/autofit/aflatin.c (af_latin_metrics_scale): Fix small bug
436
that crashes the auto-hinter (introduced by previous patch).
438
2006-03-20 Werner Lemberg <wl@gnu.org>
440
* builds/freetype.mk (CACHE_DIR, CACHE_H): Remove.
441
(FREETYPE_H): Updated.
443
* src/cache/rules.mk (CACHE_H_DIR): Remove.
444
(CACHE_DRV_H): Updated.
446
2006-03-20 David Turner <david@freetype.org>
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:
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
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.
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.
469
* builds/unix/install.mk (install): Don't install headers from
471
Remove `freetype/cache' from the target directory.
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
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').
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.
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
499
Declare as FT_LOCAL_DEF.
502
* builds/win32/visualc/freetype.dsp: Update project file, add
503
missing base source files (ftstroke.c, ftxf86.c, etc.).
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.
512
* src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
513
hinting for italic/oblique fonts.
517
* src/truetype/ttpload.c, src/truetype/ttpload.h
518
(tt_face_get_device_metrics): Change second argument to `FT_UInt'.
520
2006-03-06 David Turner <david@freetype.org>
522
* src/cache/ftcmanag.c (FTC_Manager_Lookup_Size): Prevent crashes in
523
Mozilla/FireFox print preview in Ubuntu Hoary.
525
2006-02-28 Chia-I Wu <b90201047@ntu.edu.tw>
527
* src/base/ftutil.c (ft_mem_qalloc) [FT_STRICT_ALIASING]: Do not
528
return error when size == 0.
530
2006-02-28 Chia-I Wu <b90201047@ntu.edu.tw>
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.
536
2006-02-28 David Turner <david@freetype.org>
538
* Release candidate VER-2-2-0-RC4.
539
----------------------------------
541
* docs/CHANGES: Documentation updates.
543
2006-02-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
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
549
2006-02-27 Werner Lemberg <wl@gnu.org>
551
* include/freetype/cache/ftccache.h
552
[FT_CONFIG_OPTION_OLD_INTERNALS]: Remove declaration of
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.
559
2006-02-27 David Turner <david@freetype.org>
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
565
* src/cache/ftccache.c (ftc_node_destroy): Mark as FT_BASE_DEF since
566
it needs to be exported for rogue clients.
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).
572
* src/cff/cffload.c (cff_subfont_load), src/type1/t1load.c
573
(T1_Open_Face): Modify the loaders to force even-ness of
576
(cff_index_access_element): Ignore invalid entries in index files.
578
2006-02-27 Chia-I Wu <b90201047@ntu.edu.tw>
580
* src/base/ftobjs.c (FT_Set_Char_Size): Check the case where width
583
2006-02-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
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.
591
2006-02-27 Chia-I Wu <b90201047@ntu.edu.tw>
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
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
601
* src/autofit/afloader.c (af_loader_load_g): The vertical metrics
604
2006-02-26 Werner Lemberg <wl@gnu.org>
606
* docs/release: Minor additions and clarifications.
608
* docs/CHANGES: Updated to reflect many fixes for backwards
609
compatibility. Still incomplete.
611
2006-02-26 David Turner <david@freetype.org>
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).
617
2006-02-25 Werner Lemberg <wl@gnu.org>
619
* devel/ftoption.h: Synchronize with
620
include/freetype/config/ftoption.h.
622
* src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF (again).
624
2006-02-25 David Turner <david@freetype.org>
626
Fix compiler warnings as well as C++ compilation problems.
627
Add missing prototypes.
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).
636
* src/cache/ftcbasic.c: Fix `-Wmissing-prototypes' warnings with
639
* builds/unix/ftsystem.c: Don't include FT_INTERNAL_OBJECTS_H but
640
FT_INTERNAL_STREAM_H.
642
* src/base/ftsystem.c: Include FT_INTERNAL_STREAM_H.
644
* include/freetype/config/ftheader.h (FT_PFR_H): New macro.
646
* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Don't
649
* include/freetype/internal/services/svotval.h: Don't include
650
FT_OPENTYPE_VALIDATE_H but FT_INTERNAL_VALIDATE_H.
652
* include/freetype/internal/services/svpfr.h: Include FT_PFR_H.
654
* src/gzip/ftgzip.c: Include FT_GZIP_H.
656
* src/lzw/ftlzw.c, src/lzw/ftlzw2.c: Include FT_LZW_H.
658
* src/sfnt/ttbdf.c (tt_face_load_bdf_props): Rearrange code.
660
2006-02-24 Chia-I Wu <b90201047@ntu.edu.tw>
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'.
667
2006-02-24 Chia-I Wu <b90201047@ntu.edu.tw>
669
* include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Update
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
676
(FT_GlyphSlot_Embolden): Undo the last change. It turns out that
677
rendering the outline confuses some applications.
679
2006-02-24 David Turner <david@freetype.org>
681
* Release candidate VER-2-2-0-RC3.
682
----------------------------------
684
* src/cache/ftcbasic.c: Correct compatibility hack bug.
686
2006-02-24 Chia-I Wu <b90201047@ntu.edu.tw>
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
694
2006-02-23 David Turner <david@freetype.org>
696
Two BDF patches from Debian libfreetype6 for 2.1.10.
698
* src/bdf/bdflib.c (_bdf_parse_glyphs): Fix a bug with zero-width
700
Fix a problem with large encodings.
703
Fix binary compatibility issues for gnustep-back (GNUstep backend
704
module) which still crashes under Sarge.
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
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
717
2006-02-23 Chia-I Wu <b90201047@ntu.edu.tw>
719
* include/freetype/ftoutln.h (enum FT_Orientation): New value
720
`FT_ORIENTATION_NONE'.
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'.
729
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Render the outline and
730
use bitmap's embolden routine when the outline one failed.
732
2006-02-22 Chia-I Wu <b90201047@ntu.edu.tw>
734
* modules.cfg: Compile in ftotval.c and ftxf86.c by default for ABI
737
* src/sfnt/sfobjs.c (sfnt_done_face): Fix a memory leak.
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.)
743
* src/truetype/ttpload.c (tt_face_load_hdmx,
744
tt_face_get_device_metrics) [FT_OPTIMIZE_MEMORY]: `hdmx' is not
747
2006-02-21 David Turner <david@freetype.org>
749
Add a new API named FT_Get_TrueType_Engine_Type to determine whether
750
we have a patented, unpatented, or unimplemented TrueType bytecode
753
The FT_Get_Module_Flags API was removed consequently.
755
* include/freetype/ftmodapi.h (FT_Module_Get_Flags): Removed.
757
(FT_Get_TrueType_Engine_Type): This.
758
(FT_TrueTypeEngineType): New enumeration.
760
* include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_ENGINE_H):
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.
767
* src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
768
(tt_service_truetype_engine): New service structure.
769
(tt_services): Register it.
771
* include/freetype/internal/services/svtteng.h: New file.
774
* src/sfnt/sfobjs.c (sfnt_load_face): Fix silly bug that prevented
775
embedded bitmaps from being correctly listed and used.
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.
785
* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix handling of
788
2006-02-20 David Turner <david@freetype.org>
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.
794
* include/freetype/internal/sfnt.h (SFNT_Interface): Move
795
`set_sbit_strike' and `load_sbit_metrics' fields to the location of
798
* src/sfnt/sfdriver.c (tt_face_set_sbit_strike_stub): Call
800
(sfnt_interface): Updated.
802
* src/sfnt/ttsbit.c [FT_CONFIG_OPTION_OLD_INTERNALS]: Don't load
804
(tt_load_sbit_metrics): Make `sbit_small_metrics_fields' static.
806
* src/sfnt/ttsbit.h: Updated.
808
2006-02-17 David Turner <david@freetype.org>
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.
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).
824
2006-02-17 Werner Lemberg <wl@gnu.org>
826
* devel/ftoption.h: Synchronize with
827
include/freetype/config/ftoption.h.
829
2006-02-16 David Turner <david@freetype.org>
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.
835
* include/freetype/config/ftoption.h
836
(FT_CONFIG_OPTION_OLD_INTERNALS): New macro.
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
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
860
Use FT_CONFIG_OPTION_OLD_INTERNALS to add function stubs for old
863
ft_stub_set_char_sizes
864
ft_stub_set_pixel_sizes
866
Rename the following internal functions to provide the old function
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
880
2006-02-15 Chia-I Wu <b90201047@ntu.edu.tw>
882
* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
883
unused `max_points' and `max_contours'.
885
* src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
886
(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Update.
888
* include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused
891
* src/truetype/ttinterp.h (TT_ExecContextRec): Remove unused
892
`loadSize' and `loadStack'.
894
* src/truetype/ttinterp.c (TT_Done_Context, TT_Load_Context),
895
src/sfnt/ttload.c (tt_face_load_maxp): Update.
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
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.
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.
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
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.
921
* src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Read metrics
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.
928
2006-02-14 Werner Lemberg <wl@gnu.org>
930
* include/freetype/ftoutln.h (FT_Outline_Embolden): Mention in
931
documentation that negative strength values are possible.
932
Give an example call.
934
* include/freetype/freetype.h (FT_GlyphSlotRec): Improve
935
documentation of `outline' field.
937
* src/sfnt/sfobjc.s: Inckude FT_INTERNAL_DEBUG_H.
938
* src/sfnt/sfdriver.c: Include ttmtx.h.
940
* src/autofit/afcjk.c: Include aftypes.h and aflatin.h.
942
2006-02-14 Chia-I Wu <b90201047@ntu.edu.tw>
944
* src/sfnt/ttmtx.c (tt_face_get_metrics): Typo.
946
2006-02-14 Chia-I Wu <b90201047@ntu.edu.tw>
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'.
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
956
* src/truetype/ttgload.c (load_truetype_glyph): Fix compilation
957
error when FT_CONFIG_OPTION_INCREMENTAL is defined.
959
2006-02-13 Chia-I Wu <b90201047@ntu.edu.tw>
961
Clean up the SFNT_Interface. In this final pass, `load_hmtx' is
962
split from `load_hhea'.
964
* include/freetype/internal/sfnt.h, src/sfnt/sfdriver.c,
965
src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Split `hmtx' from `hhea'.
967
* src/sfnt/sfobjs.c (sfnt_load_face): Update.
969
2006-02-13 Chia-I Wu <b90201047@ntu.edu.tw>
971
* src/sfnt/ttmtx.h, src/sfnt/ttmtx.c: Why are there two copies of
974
2006-02-13 Chia-I Wu <b90201047@ntu.edu.tw>
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'.
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'.
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'.
991
* src/sfnt/sfobjs.c (sfnt_init_face): Recognize TTC here.
993
2006-02-13 Chia-I Wu <b90201047@ntu.edu.tw>
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
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'.
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.
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'.
1015
* include/freetype/internal/fttrace.h: New trace: ttmtx.
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.
1022
* src/cff/cffgload.c, src/cff/cffobjs.c: Update.
1024
* src/truetype/ttgload.c, src/truetype/ttobjs.c: Update.
1026
2006-02-11 Chia-I Wu <b90201047@ntu.edu.tw>
1028
* src/autofit/afcjk.c (af_cjk_metrics_init): Fix a stupid bug...
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'.
1034
2006-02-11 Chia-I Wu <b90201047@ntu.edu.tw>
1036
* include/freetype/config/ftoption.h (AF_CONFIG_OPTION_CJK): #define
1037
to enable autofit CJK script support. (#define'd by default.)
1039
* src/autofit/aflatin.h (AF_LATIN_CONSTANT): New macro.
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.
1046
* src/autofit/afcjk.c: Minor updates due to the above three changes.
1048
* docs/TODO, docs/CHANGES: Updated.
1050
2006-02-09 Chia-I Wu <b90201047@ntu.edu.tw>
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.
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.
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.
1063
* src/autofit/aflatin.h (af_latin_metrics_init_widths),
1064
src/autofit/aflatin.c (af_latin_metrics_init_widths): Made
1066
Use the character given by the caller.
1067
(af_latin_metrics_init_widths, af_latin_hints_link_segments): Scale
1070
* src/autofit/afloader.c (af_loader_load_g): Respect
1071
AF_SCALER_FLAG_NO_ADVANCE.
1073
2006-02-09 Werner Lemberg <wl@gnu.org>
1075
* src/cid/cidparse.c (cid_parse_new): Remove shadowing variable.
1077
2006-02-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
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
1083
2006-02-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
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.
1088
2006-02-01 Werner Lemberg <wl@gnu.org>
1090
* src/otvalid/module.mk: s/otvalid_module_class/otv_module_class/.
1091
* src/gxvalid/module.mk: s/gxvalid_module_class/gxv_module_class/.
1093
* builds/unix/unixddef.mk: Actually do define PLATFORM (fixing
1094
change from 2006-01-31).
1095
(TOP_DIR, OBJ_DIR): Update.
1097
* builds/unix/install.mk (install): Fix path for ftmodule.h.
1099
* Makefile, *.mk, builds/unix/unix-cc.in, builds/unix-def.in: Use
1100
`?=' where appropriate.
1102
* builds/detect.mk (TOP_DIR), builds/os2/os2-dev.mk (TOP_DIR),
1103
builds/win32/w32-dev.mk (TOP_DIR): Removed. Defined elsewhere.
1105
2006-01-31 Werner Lemberg <wl@gnu.org>
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.
1111
This change also fixes the creation of ftmodule.h; it now depends on
1112
`modules.cfg' and thus is rebuilt only if necessary.
1114
Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the
1117
* modules.cfg: New file.
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.
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.
1132
* builds/modules.mk: (MODULE_LIST): Removed.
1133
(make_module_list, clean_module_list): Replace targets
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
1142
($FTMODULE_H)): Rule to create `ftmodule.h', depending on
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.
1151
* Makefile (USE_MODULES): Remove. Update all users.
1152
(OBJ_DIR): Define it here.
1154
* src/*/module.mk: Change
1156
make_module_list: foo
1161
FTMODULE_H_COMMANDS += FOO
1166
in all files. `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'.
1168
* src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS.
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.
1175
* builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is
1177
(have_mk): Don't use `strip' function.
1178
Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test
1181
* builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'.
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.
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.
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.
1194
* builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for
1195
development header files.
1196
Don't define PLATFORM.
1198
* configure: Copy `modules.cfg' to builddir if builddir != srcdir.
1199
Update snippet taken from autoconf's m4sh.m4 to current CVS version.
1202
* include/freetype/config/ftmodule.h: Add comments -- this file is
1203
no longer used if FreeType is built with GNU make.
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.
1209
* modules.txt: Removed. Contents included in `modules.cfg'.
1212
* include/freetype/internal/ftmemory.h (FT_QAlloc_Debug,
1213
FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos.
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.
1219
2006-01-31 Chia-I Wu <b90201047@ntu.edu.tw>
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).
1226
2006-01-31 Chia-I Wu <b90201047@ntu.edu.tw>
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.
1232
* src/type1/t1afm.c (T1_Read_Metrics): Use the metrics from the AFM.
1234
* include/freetype/freetype.h (FT_FaceRec): Mention that fields may
1235
be changed after file attachment.
1237
2006-01-28 Werner Lemberg <wl@gnu.org>
1239
* src/*/module.mk (.PHONY): Add.
1241
2006-01-27 Werner Lemberg <wl@gnu.org>
1243
* README, docs/FTL.TXT: Fix email address for bug reports.
1244
Other minor formatting.
1246
* devel/ftoption.h: Synchronize with
1247
include/freetype/config/ftoption.h.
1249
* src/autofit/module.mk (add_autofit_module), src/bdf/module.mk
1250
(add_bdf_module), src/type42/module.mk (add_type42_driver): Fix
1253
* src/smooth/module.mk (add_smooth_renderer): Add lcd and lcdv
1256
2006-01-27 David Turner <david@freetype.org>
1258
* builds/unix/configure.ac: Fix build problem on Cygwin.
1260
* builds/unix/install.mk (install): Don't install the internal
1261
headers, and remove existing ones if found in the target install
1264
* src/autofit/afwarp.c: Add simple #ifdef to prevent compilation
1265
if the warp hinter isn't active (it shouldn't, still experimental).
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.
1272
Note also that current Make-based build system still compiles the
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.
1280
NOTE: Disable macro to use the memory debugger -- this will be fixed
1283
* include/freetype/internal/ftmemory.h, src/base/ftutil.c (FT_Alloc,
1284
FT_QAlloc, FT_Realloc, FT_QRealloc, FT_Free) [FT_STRICT_ALIASING]:
1288
* builds/win32/visualc/freetype.dsp: Updating project file to
1289
define FT2_BUILD_LIBRARY, and remove gxvalid + otvalid modules from
1293
* builds/freetype.mk (FT_CFLAGS), Jamfile (DEFINES): Define the
1294
macro FT2_BUILD_LIBRARY when compiling the library.
1296
* include/freetype/config/ftheader.h: Remove inclusions of internal
1297
headers except if the macro FT2_BUILD_LIBRARY is defined.
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.
1305
* (many files): Fix compiler warnings.
1306
Various minor reorganizations.
1309
* src/cff/cffload.c (cff_font_done): Don't free static array
1312
* src/otvalid/otvcommn.c (otv_ClassDef_validate),
1313
src/otvalid/otvgpos.c (otv_x_sxy): Fix debugging information.
1316
Get rid of writable static variables (i.e., the string table) in
1317
afmparse, and fix compilation in FT2_MULTI mode.
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.
1324
* src/psaux/psconv.c: Include psconv.h.
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.
1330
2006-01-23 Chia-I Wu <b90201047@ntu.edu.tw>
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
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.
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.
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.
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
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.
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/.
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.
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
1382
2006-01-23 Chia-I Wu <b90201047@ntu.edu.tw>
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'.
1387
2006-01-22 Werner Lemberg <wl@gnu.org>
1389
* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
1390
`texinfo' CVS module at savannah.gnu.org.
1392
2006-01-21 Werner Lemberg <wl@gnu.org>
1394
* src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c.
1396
* src/autofit/afloader.c (af_loader_load_g): Move AF_USE_WARPER up
1397
to avoid compiler warnings.
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.
1404
2006-01-20 David Turner <david@freetype.org>
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.
1410
* src/autofit/afhints.c (af_glyph_hints_scale_dim) [AF_USE_WARPER]:
1412
* src/autofit/afhints.h: Updated.
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
1420
* src/autofit/afloader.c (af_loader_load_g) [!AF_USER_WARPER]:
1421
Isolate code for adjusting metrics.
1423
* src/autofit/aftypes.h (AF_USE_WARPER): New macro (commented out by
1426
* src/autofit/afwarp.c, src/autofit/afwarp.h: New files.
1428
* src/autofit/autofit.c [AF_USE_WARPER]: Include afwarp.c.
1430
* src/autofit/Jamfile (_sources): Add afwarp.
1432
2006-01-19 David Turner <david@freetype.org>
1434
* src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Fix small bug
1435
that prevented compilation when FT_OPTIMIZE_MEMORY is defined.
1437
2006-01-19 Brian Weed <bw@imaginengine.com>
1439
* builds/win32/visualc/freetype.dsp: Updated.
1441
2006-01-17 Werner Lemberg <wl@gnu.org>
1443
Use pscmap service in CFF module.
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
1450
(cff_cmap_unicode_class_rec): Updated.
1451
* src/cff/cffcmap.h (CFF_CMapUnicode, CFF_CMap_UniPair): Removed.
1454
* src/psnames/psmodule.c (ps_unicodes_char_next): Fix `unicode'
1458
* src/psaux/afmparse.c (afm_parser_read_vals): Use double casting
1459
to avoid compiler warnings regarding type-punning.
1461
2006-01-16 Chia-I Wu <b90201047@ntu.edu.tw>
1463
* src/psaux/afmparse.c, src/psaux/afmparse.h: New files which
1464
implement an AFM parser.
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.
1471
* src/psaux/psobjs.c: Use functions from psconv.c.
1473
* include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Add
1474
`AFM_Parser' to the `psaux' service.
1476
* src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Include
1479
* src/tools/test_afm.c: A test program for AFM parser.
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.
1485
* include/freetype/internal/ftserv.h (FT_SERVICE_KERNING_H): New
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.
1492
* include/freetype/freetype.h, src/base/ftobjs.c: New API
1493
`FT_Get_Track_Kerning'.
1495
2006-01-15 Chia-I Wu <b90201047@ntu.edu.tw>
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/.
1502
* docs/CHANGES: Mention that vertical metrics are synthesized for
1503
fonts not having this info.
1505
2006-01-15 Chia-I Wu <b90201047@ntu.edu.tw>
1507
* include/freetype/internal/ftobjs.h (ft_fake_vertical_metrics),
1508
src/base/ftobjs.c (ft_fake_vertical_metrics): New function to fake
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,
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).
1519
2006-01-15 Chia-I Wu <b90201047@ntu.edu.tw>
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
1526
* include/freetype/freetype.h: Documentation updates and
1528
The meaning of FT_LOAD_FORCE_AUTOHINT is changed so that no real
1529
change need be made to the code.
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
1536
(FT_Select_Size, FT_Request_Size): Scales are set to wrong values.
1537
Be careful that scales won't be negative.
1539
2006-01-14 Chia-I Wu <b90201047@ntu.edu.tw>
1541
* docs/CHANGES: Mention the size selection change.
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.
1548
* src/winfonts/winfnt.c (FNT_Face_Init): Print trace message when
1549
`pixel_height' is used for nominal height.
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.
1555
2006-01-13 Chia-I Wu <b90201047@ntu.edu.tw>
1557
Introduce new size selection interface.
1559
* include/freetype/internal/ftdriver.h (struct FT_Driver_ClassRec):
1560
Replace `set_char_sizes' and `set_pixel_sizes' by `request_size' and
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.
1568
* src/base/ftobjs.c (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Use
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'.
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.
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.
1589
2006-01-13 Chia-I Wu <b90201047@ntu.edu.tw>
1591
* include/freetype/internal/sfnt.h (SFNT_Interface): New method
1592
`load_strike_metrics' used to load the strike's metrics.
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'.
1597
* src/pfr/pfrobjs.c (pfr_face_init): Set FT_Bitmap_Size correctly.
1599
* src/winfonts/winfnt.c (FNT_Face_Init): Use `nominal_point_size' for
1600
nominal size unless it is obviously incorrect.
1602
* include/freetype/freetype.h (FT_Bitmap_Size): Update the comments on
1605
2006-01-12 Werner Lemberg <wl@gnu.org>
1607
Prepare use of pscmap service within CFF module.
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.
1615
(PS_Adobe_Std_Strings_Func): Renamed to...
1616
(PS_Adobe_Std_StringsFunc): This.
1618
(PS_UnicodesRec): This is the former `PS_Unicodes' structure.
1621
(PS_Unicodes): This is now a typedef'd pointer to PS_UnicodesRec.
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
1628
* src/psnames/psmodule.c (ps_unicodes_init, ps_unicodes_char_index,
1629
ps_unicodes_char_next, pscmaps_interface): Updated.
1631
* include/freetype/internal/t1types.h (T1_FaceRec): Updated.
1633
* src/psaux/t1cmap.h (T1_CmapStdRec): Updated.
1634
(T1_CmapUnicode, T1_CmapUnicodeRec): Removed.
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.
1641
* src/type42/t42types.h (T42_FaceRec): Updated.
1643
2006-01-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
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.
1649
2006-01-11 Werner Lemberg <wl@gnu.org>
1651
Fix Savannah bug #15056 and use pscmap service in psaux module.
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
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.
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.
1676
* src/psaux/t1cmap.h (T1_CMapUniPair): Removed.
1677
(T1_CMapUnicode): Use PS_Unicodes structure.
1679
2006-01-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
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
1685
* src/base/ftmac.c: Heavy change to build without deprecated Carbon
1688
* builds/unix/configure.ac: Add options and autochecks for Carbon
1689
functions availabilities, for MacOS X.
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.
1697
* builds/mac/FreeType.ppc_{classic|carbon}.make.txt: Add conditional
1698
macros to avoid unavailable functions.
1700
* builds/mac/README: Detailed notes on function availabilities.
1702
* docs/CHANGES: Notes about (possible) incompatibilities.
1704
2006-01-08 Werner Lemberg <wl@gnu.org>
1706
* docs/CHANGES: Updated.
1708
2006-01-08 Huw D M Davies <h.davies1@physics.ox.ac.uk>
1710
* include/freetype/ftmodapi.h (FT_Module_Get_Flags): New
1713
* src/base/ftobjs.c (FT_Module_Get_Flags): New function.
1715
2006-01-07 Werner Lemberg <wl@gnu.org>
1717
* src/pcf/pcfread.c (pcf_get_bitmaps): Remove unused variable
1718
`bitmaps'. Reported by Yu Lei <yulei0@gmail.com>.
1720
* src/base/ftutil.c (ft_highpow2): s/FT_BASE/FT_BASE_DEF/.
1721
Reported by Niels Boldt <nielsboldt@gmail.com>.
1723
2005-12-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1725
* src/sfnt/sfnt/ttbdf.c: Add newline '\n' to the end of file, for
1728
2005-12-23 David Turner <david@freetype.org>
1730
* Jamfile (RefDoc), docs/reference/README: Fix it so that `jam
1731
refdoc' works correctly to generate the API reference in
1734
* src/tools/docmaker/tohtml.py (print_html_field,
1735
print_html_field_list): Update to output nicer fields lists in the
1738
* src/base/ftobjs.c (FT_Load_Glyph): FT_LOAD_TARGET_LIGHT now
1739
forces auto-hinting.
1741
* freetype/freetype.h: Updating the documentation for
1742
FT_LOAD_TARGET_XXX and FT_Render_Mode values.
1744
2005-12-23 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
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.
1754
* doc/CHANGES: Mention the changes.
1756
2005-12-17 Chia-I Wu <b90201047@ntu.edu.tw>
1758
* src/truetype/ttinterp.c (Update_Max): Set current size of buffer
1759
correctly (so that memory debug system won't panic).
1761
2005-12-16 Chia-I Wu <b90201047@ntu.edu.tw>
1763
* include/freetype/internal/ftobjs.h (ft_glyphslot_grid_fit_metrics),
1764
src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Removed.
1766
* src/base/ftobjs.c (ft_recompute_scaled_metrics): Do not round.
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.
1772
* doc/CHANGES: Mention the changes.
1774
2005-12-13 David Turner <david@freetype.org>
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.
1781
Note that this doesn't force auto-hinting for all fonts, however.
1783
* src/autofit/afhints.c (af_glyph_hints_reload): Don't set
1784
scaler_fiags here but...
1785
(af_glyph_hints_rescale): Here.
1787
* src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
1788
hinting for `light' hinting mode.
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).
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.
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
1804
At the moment, this is still experimental, the BDF table format
1805
isn't cast into stone yet.
1807
* include/freetype/config/ftoption.h (TT_CONFIG_OPTION_BDF): New
1810
* include/freetype/config/ftstdlib.h (ft_memchr): New macro.
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'.
1816
* include/freetype/ttags.h (TTAG_BDF): New macro.
1818
* src/sfnt/Jamfile (_sources): Add ttbdf.
1820
* src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttbdf.c.
1822
* src/sfnt/sfdriver.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h and
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.
1828
* src/sfnt/sfnt.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.c.
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.
1834
* src/sfnt/ttbdf.h, src/sfnt/ttbdf.c: New files.
1836
2005-12-07 Werner Lemberg <wl@gnu.org>
1838
* src/sfnt/sfobjc.c (sfnt_init_face): Move tag check to...
1839
* src/sfnt/ttload.c (sfnt_init): Here, before handling TTCs.
1841
2005-12-06 Chia-I Wu <b90201047@ntu.edu.tw>
1843
* src/truetype/ttobjs.c (tt_size_init): size->ttmetrics.valid is
1845
size->strike_index is not initialized.
1847
2005-12-02 Taek Kwan(TK) Lee <taeklee@gmail.com>
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'.
1852
2005-11-30 Werner Lemberg <wl@gnu.org>
1854
* docs/CHANGES: Document ftdump's `-v' option.
1855
Document latest charmap code changes.
1857
* src/sfnt/ttcmap.c, src/sfnt/ttcmap.h:
1858
s/TT_CMAP_FLAG_OVERLAPPED/TT_CMAP_FLAG_OVERLAPPING/.
1860
2005-11-30 Chia-I Wu <b90201047@ntu.edu.tw>
1862
* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary,
1863
tt_cmap12_char_map_binary): Fix compiler warnings.
1865
2005-11-29 Chia-I Wu <b90201047@ntu.edu.tw>
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.
1871
* src/sfnt/ttcmap.h (TT_CMapRec_): Replace `unsorted' by `flags'.
1872
(TT_CMAP_FLAG_UNSORTED, TT_CMAP_FLAG_OVERLAPPED): New macros.
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
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
1893
2005-11-29 Chia-I Wu <b90201047@ntu.edu.tw>
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
1904
2005-11-15 Detlef Würkner <TetiSoft@apg.lahn.de>
1906
* builds/amiga/smakefile: Adjusted the compiler options
1907
to the current sources, now really builds the gxvalid, gzip
1908
and psnames modules.
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.
1914
2005-11-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
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.
1922
2005-11-21 Håvard Wall <haavardw@ifi.uio.no>
1924
* src/bdf/bdfdrivr.c (bdf_interpret_style, BDF_Face_Done): Fix small
1927
2005-11-21 Werner Lemberg <wl@gnu.org>
1929
* src/sfnt/ttload.c (sfnt_init): Add tracing message.
1931
2005-11-21 Chia-I Wu <b90201047@ntu.edu.tw>
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.
1936
2005-11-21 Chia-I Wu <b90201047@ntu.edu.tw>
1938
* src/sfnt/sfobjs.c (sfnt_init_face): Check that format_tag is known
1939
before loading the table directory.
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.
1945
2005-11-20 Chia-I Wu <b90201047@ntu.edu.tw>
1947
* src/sfnt/ttload.c (sfnt_dir_check): Clean up and return correct
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.
1954
2005-11-18 Werner Lemberg <wl@gnu.org>
1956
* src/sfnt/ttload.c (tt_face_load_metrics): Ignore excess number
1957
of metrics instead of aborting. Patch suggested by Derek Noonburg.
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.
1963
* docs/CHANGES: Mention scaling bug.
1965
2005-11-18 susuzki toshiya <mpsuzuki@hiroshima-u.ac.jp>
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
1974
2005-11-18 Chia-I Wu <b90201047@ntu.edu.tw>
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/.
1981
2005-11-17 Detlef Würkner <TetiSoft@apg.lahn.de>
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/.
1988
2005-11-17 Detlef Würkner <TetiSoft@apg.lahn.de>
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).
1995
2005-11-17 Werner Lemberg <wl@gnu.org>
1997
Add vertical metrics support to OpenType CFF outlines. Based on a
1998
patch from Mike Moening <MikeM@RetekSolutions.com>.
2000
* src/cff/cffgload.c (cff_face_get_vertical_metrics): New function.
2001
(cff_slot_load): Use cff_face_get_vertical_metrics.
2003
* docs/CHANGES: Updated.
2005
2005-11-17 Chia-I Wu <b90201047@ntu.edu.tw>
2007
* src/base/ftcalc.c (FT_MulTo64): Commented out.
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/.
2019
* builds/exports.mk: Manually add TT_New_Context to EXPORTS_LIST
2022
2005-11-15 David Turner <david@freetype.org>
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.
2028
* src/truetype/ttinterp.c (FT_UNUSED_EXEC): Don't perform a
2029
structure copy each time.
2031
2005-11-11 Werner Lemberg <wl@gnu.org>
2033
* src/cache/ftccache.c (FTC_Cache_Clear), src/cache/ftcmanag.c
2034
(FTC_Manager_Check): Remove FT_EXPORT_DEF tag.
2036
* src/base/ftcalc.c (FT_Add64): Remove FT_EXPORT_DEF tag.
2037
(FT_Div64by32, FT_Sqrt32): Commented out. Unused.
2039
* include/freetype/internal/ftcalc.h (SQRT_32): Removed. Unused.
2040
(FT_Sqrt32): Commented out. Unused.
2042
* include/freetype/cache/ftccache.h:
2043
s/ftc_node_destroy/FTC_Node_Destroy/.
2045
* src/cache/ftccback.h (ftc_node_destroy): New declaration.
2047
* src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF tag.
2048
(FTC_Node_Destroy): New exported wrapper function for
2051
* src/cache/ftcmanag.c: Include ftccback.c.
2053
2005-11-10 Werner Lemberg <wl@gnu.org>
2055
* src/autofit/afangles.c, src/autofit/aftypes.h (af_angle_diff):
2056
Comment out. Unused.
2058
* builds/exports.mk ($(EXPORTS_LIST)): Add TT_RunIns.
2060
2005-11-10 Christian Biesinger <cbiesinger@web.de>
2062
* builds/beos/beos.mk: Call beos-def.mk before anything else to
2063
define the separator.
2065
* builds/unix/unix-cc.in (LINK_LIBRARY): Add `-no-undefined' flag.
2067
2005-11-07 Werner Lemberg <wl@gnu.org>
2069
* src/type1/t1afm.c (T1_Read_PFM): Zero offset means `no kerning
2070
table available'. From Sergey Tolstov <stolstov@esri.com>.
2072
2005-11-03 Ville Syrjälä <syrjala@sci.fi>
2074
* src/base/ftobjs.c (FT_Open_Face): Avoid possible memory leak.
2076
2005-11-02 Werner Lemberg <wl@gnu.org>
2078
Make compiling instructions in docs/CUSTOMIZE work again.
2080
* builds/unix/unix-cc.in (CPPFLAGS): New variable.
2081
(CFLAGS): Don't include @CPPFLAGS@.
2082
* builds/freetype.mk (FT_CFLAGS): Add CPPFLAGS.
2084
2005-10-28 David Turner <david@freetype.org>
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.
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.
2093
* builds/exports.mk: New file.
2095
* builds/freetype.mk: Include exports.mk.
2097
(clean_project_dos): Fix rule.
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.
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.
2110
* Jamfile (GenExportSymbols): Updated.
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.
2118
* src/base/fttrigon.c (ft_trig_prenorm), src/base/ftcalc.c
2119
(FT_MulFix): Performance optimizations.
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.
2128
* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Set `adjust'
2129
to 0 to not call `AdjustPoints' every time.
2132
* src/autofit/aftypes.h (AF_ANGLE_DIFF): New macro to inline
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.
2140
* src/tools/apinames.c: Include <string.h>.
2141
(OutputFormat): New enumeration.
2142
(names_dump): Add two parameters to control output format and DLL
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.
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.
2152
2005-10-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
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.
2158
* builds/mac/ftlib.prj.xml: Added.
2159
Generated by Metrowerks CodeWarrior 9.0.
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.
2167
* builds/mac/ascii2mpw.py: Added.
2168
Python script to make MPW makefile from skeleton.
2170
* builds/mac/README: Updated.
2171
Almost rewritten to use new files.
2173
2005-10-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
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.
2179
2005-10-27 Werner Lemberg <wl@gnu.org>
2181
* include/freetype/ftsysmem.h, include/freetype/ftsysio.h: Removed.
2184
2005-10-25 Werner Lemberg <wl@gnu.org>
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>.
2190
2005-10-23 Werner Lemberg <wl@gnu.org>
2192
* src/base/ftdbgmem.c (ft_mem_debug_realloc): Make it compile with
2195
2005-10-21 David Turner <david@freetype.org>
2197
* src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_debug_realloc):
2198
Another realloc memory counting bug fix.
2200
* src/tools/Jamfile: Add missing file.
2202
* src/lzw/Jamfile: Fix incorrect source file reference.
2204
2005-10-20 David Turner <david@freetype.org>
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.
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
2215
2005-10-20 Chia-I Wu <b90201047@ntu.edu.tw>
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.
2222
2005-10-19 Chia-I Wu <b90201047@ntu.edu.tw>
2224
* src/truetype/ttgload.c (TT_Load_Glyph): Allow size->ttmetrics to
2225
be invalid when FT_LOAD_NO_SCALE is set.
2227
2005-10-17 David Turner <david@freetype.org>
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).
2233
* src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_entry_validate):
2234
Remove compiler warning.
2236
2005-10-16 David Turner <david@freetype.org>
2238
* src/tools/apinames.c: Add new tool to extract public API function
2239
names from header files.
2241
2005-10-05 Werner Lemberg <wl@gnu.org>
2243
Add FT_FACE_FLAG_HINTER to indicate that a specific font driver has
2244
a hinting engine of its own.
2246
* include/freetype/freetype.h (FT_FACE_FLAG_HINTER): New macro.
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.
2254
* docs/CHANGES: Document it.
2256
2005-09-27 Werner Lemberg <wl@gnu.org>
2258
* builds/unix/freetype2.m4: Add license exception so that the file
2259
can be used in any other autoconf script.
2261
2005-09-26 David Turner <david@freetype.org>
2263
* src/autofit/aflatin.c (af_latin_compute_stem_width): Fix bad
2264
computation of the `vertical' flag, causing ugly things in LCD mode
2267
2005-09-23 David Turner <david@freetype.org>
2269
* src/autofit/aflatin.c (af_latin_hints_init): Fix a bug that
2270
prevented internal hint mode bitflags from being computed correctly.
2272
* src/base/Jamfile: Adding src/base/ftgxval.c.
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).
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!
2290
* src/sfnt/sfdriver.c (sfnt_get_interface): Don't check for
2291
`get_sfnt' and `load_sfnt' module interfaces.
2293
2005-09-22 Werner Lemberg <wl@gnu.org>
2295
* docs/CHANGES: Mention SING Glyphlet support.
2297
2005-09-22 David Turner <david@freetype.org>
2299
* src/base/Jamfile: Disable compilation of ftgxval module
2302
2005-09-19 David Somers <dsomers@omz13.com>
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'.
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
2319
Further information on the SING Glyphlet format can be found at:
2321
http://www.adobe.com/products/indesign/sing_gaiji.html
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.
2327
2005-09-09 Werner Lemberg <wl@gnu.org>
2329
* src/sfnt/sfobjs.c (sfnt_load_face): Reactivate code to set
2330
FT_FACE_FLAG_KERNING which has been commented out erroneously.
2332
* docs/CHANGES: Document it.
2334
2005-09-05 Werner Lemberg <wl@gnu.org>
2336
Fixes for `make multi' and using C++ compiler.
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
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
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
2361
* src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
2362
gxv_bsln_parts_fmt1_validate): Improve trace messages.
2364
* src/gxvalid/gxvfeat.c: Split off predefined registry stuff to...
2365
* src/gxvalid/gxvfeat.h: New file.
2367
* src/gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
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.
2380
* src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
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
2388
(gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF.
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
2395
(gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF.
2397
* src/gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
2400
* src/gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup,
2401
gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler
2403
(gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF.
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
2411
* src/gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.
2413
* src/gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
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++
2422
(gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF.
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
2429
(gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF.
2432
* src/gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
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.
2439
* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
2440
gxv_morx_validate): Improve trace message.
2442
* src/gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
2444
(gxv_opbd_validate): Improve trace message.
2446
* src/gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
2448
(gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
2451
* src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused
2452
parameter. Update all callers.
2453
(gxv_trak_validate): Improve trace message.
2455
* rules.mk (GXV_DRV_H): Add gxvfeat.h.
2457
2005-09-01 Werner Lemberg <wl@gnu.org>
2459
* src/gxvalid/gxvbsln.c (GXV_BSLN_VALUE_EMPTY): Add `U'.
2461
* src/gxvalid/gxmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
2462
src/gxvalid/gxmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix
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
2469
Decorate constants with `U' and `L' where appropriate.
2470
Fix compiler warnings.
2472
2005-08-31 Werner Lemberg <wl@gnu.org>
2474
* src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
2476
* src/gxvalid/gxvbsln.c (gxv_bsln_validate): Fix trace message.
2478
* src/gxvalid/gxvcommn.c (gxv_odtect_add_range): Use `const'.
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
2486
Decorate constants with `U' and `L' where appropriate.
2487
Fix compiler warnings.
2489
2005-08-30 Werner Lemberg <wl@gnu.org>
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.
2499
2005-08-29 Werner Lemberg <wl@gnu.org>
2501
* include/freetype/freetype.h, include/freetype/ftchapters.h: Add
2502
a preliminary section with some explanations about user allocation.
2504
* src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
2505
Don't abort if there are no data types, functions, etc., in a
2507
Print synopsis only if we have a data type, function, etc.
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.
2513
2005-08-28 George Williams <gww@silcom.com>
2515
* src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed.
2516
(load_truetype_glyph): Limit recursion depth by `maxComponentDepth'.
2518
2005-08-25 J. Ali Harlow <ali@avrc.city.ac.uk>
2520
* builds/unix/freetype2.in (CFlags): Add missing directory.
2522
2005-08-24 Werner Lemberg <wl@gnu.org>
2524
* docs/CHANGES: Mention gxvalid module.
2526
2005-08-23 Werner Lemberg <wl@gnu.org>
2528
* src/autofit/aflatin.c (af_latin_metrics_scale): Initialize
2529
render mode properly. Reported by chris@dokein.co.uk.
2531
2005-08-23 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2533
Add gxvalid module to validate TrueType GX/AAT tables.
2535
Modifications on existing files:
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.
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.
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.
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
2556
New files on existing directories:
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.
2563
New files under src/gxvalid/:
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.
2578
2005-08-21 Werner Lemberg <wl@gnu.org>
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.
2584
2005-08-20 Chia I Wu <b90201047@ntu.edu.tw>
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.
2590
* src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is
2591
valid before loading outline glyph.
2593
* src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
2595
2005-08-20 Werner Lemberg <wl@gnu.org>
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.
2601
2005-08-20 Masatake YAMATO <jet@gyve.org>
2603
* src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead
2606
2005-08-19 Werner Lemberg <wl@gnu.org>
2608
* src/truetype/ttgload.c (load_truetype_glyph): Fix compiler
2611
2005-08-16 Chia I Wu <b90201047@ntu.edu.tw>
2613
* src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright
2616
2005-08-16 Chia I Wu <b90201047@ntu.edu.tw>
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.
2622
(TT_New_Context): Now takes TT_Driver argument directly.
2625
* src/truetype/ttobjs.h (tt_slot_init): New function.
2626
* src/truetype/ttobjs.c (tt_driver_init): Initialize execution
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.
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
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.
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
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
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.
2662
2005-08-08 Werner Lemberg <wl@gnu.org>
2664
* docs/INSTALL.ANY: Updated.
2666
2005-08-05 Werner Lemberg <wl@gnu.org>
2668
* src/cff/cffgload.c (cff_builder_close_contour),
2669
src/psaux/psobjs.c (t1_builder_close_contour): Protect against
2670
zero `outline' pointer.
2672
* src/base/ftgloadr.c (FT_GlyphLoader_Add): Protect against zero
2675
2005-08-03 Werner Lemberg <wl@gnu.org>
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.
2681
2005-08-02 Werner Lemberg <wl@gnu.org>
2683
* src/otvalid/otvcommn.h: Remove dead code.
2685
2005-07-31 Chia I Wu <b90201047@ntu.edu.tw>
2687
* src/truetype/ttobjs.h (tt_size_run_fpgm, tt_size_run_prep): New
2690
* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): New
2692
(tt_size_init): Add 4, instead of 2, (phantom) points to twilight
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.
2699
2005-07-26 Chia I Wu <b90201047@ntu.edu.tw>
2701
* src/truetype/ttdriver.c (Set_Char_Sizes): Avoid unnecessary
2702
computations and clean up.
2704
* src/truetype/ttobjs.h (struct TT_SizeRec_): Comment on the
2705
internal copy of metrics.
2707
2005-07-12 Werner Lemberg <wl@gnu.org>
2709
* include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype.
2712
2005-07-04 Werner Lemberg <wl@gnu.org>
2714
* include/freetype/internal/ftmemory.h (FT_REALLOC_ARRAY): Fix typo.
2715
Reported by Brett Hutley.
2717
2005-06-30 David Turner <david@freetype.org>
2719
* src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c:
2720
Removing compiler warnings (Visual C++ /W4).
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).
2727
* Jamfile (FT2_COMPONENTS): Include otvalid (again).
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
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
2741
2005-06-20 Chia I Wu <b90201047@ntu.edu.tw>
2743
* include/freetype/internal/ftobjs.h, src/base/ftobjs.c: New function
2744
ft_glyphslot_grid_fit_metrics.
2746
* src/truetype/ttgload.c (compute_glyph_metrics): Use
2747
ft_glyphslot_grid_fit_metrics.
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.
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.
2758
2005-06-16 Chia I Wu <b90201047@ntu.edu.tw>
2760
* src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
2763
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
2765
Don't increase slot->advance.y.
2767
2005-06-16 Werner Lemberg <wl@gnu.org>
2769
* include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
2770
(FREETYPE_PATCH): Set to 0.
2772
* builds/unix/configure.ac (version_info): Set to 9:9:3.
2773
Currently, we are still binary compatible.
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/.
2779
* builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
2782
* docs/CHANGES, docs/VERSION.DLL: Updated.
2784
* ChangeLog: Split off older entries into...
2785
* ChangeLog.20, ChangeLog.21: These new files.
2787
2005-06-15 Kirill Smelkov <kirr@mns.spb.ru>
2789
The next release will be 2.2.0, so don't worry about source code
2790
backwards compatibility.
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.
2799
2005-06-15 Chia I Wu <b90201047@ntu.edu.tw>
2801
* src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
2802
to make glyphs centered vertically.
2804
* src/truetype/ttgload.c (compute_glyph_metrics): Compute
2805
vertBearingY to make glyphs centered vertically.
2806
Fix some bugs in vertical metrics:
2808
. loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
2810
. As we use the glyph's cbox to calculate the top bearing now
2811
there is no need to adjust `top'.
2813
2005-06-15 Werner Lemberg <wl@gnu.org>
2815
* src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
2816
in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake.
2818
2005-06-13 Werner Lemberg <wl@gnu.org>
2820
* docs/release: Update.
2822
----------------------------------------------------------------------------
2824
Copyright 2005, 2006, 2007, 2008 by
2825
David Turner, Robert Wilhelm, and Werner Lemberg.
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
2835
version-control: never