~ubuntu-branches/ubuntu/utopic/hedgewars/utopic

« back to all changes in this revision

Viewing changes to misc/libfreetype/ChangeLog.22

  • Committer: Package Import Robot
  • Author(s): Gianfranco Costamagna
  • Date: 2014-01-02 12:37:23 UTC
  • mfrom: (19.1.5 sid)
  • Revision ID: package-import@ubuntu.com-20140102123723-6pdhmyj8tb5y8xbg
Tags: 0.9.20.3-1
New upstream minor release, suitable for unstable

Show diffs side-by-side

added added

removed removed

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