blob: 1ed66769168a46a54a08d7702c74e7a7767df24c [file] [log] [blame]
Werner Lemberg33779662006-05-26 06:30:05 +000012006-05-25 Werner Lemberg <wl@gnu.org>
2
3 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
4 `-no-undefined'. Reported by Christian Biesinger.
5
Werner Lemberg24773d62006-05-20 08:53:13 +000062006-05-19 Brian Weed <bw@imaginengine.com>
7
8 * builds/win32/visualc/freetype.dsp: Release libraries no longer
9 have debug information, and debug libraries use `C7 compatible'
10 debug info.
11
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +0000122006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
13
Werner Lemberga6523a62006-05-20 08:47:01 +000014 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
15 resource fork handler. This fixes savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +000016
Werner Lemberga6523a62006-05-20 08:47:01 +000017 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
18 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +000019
20 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +000021 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +000022
232006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
24
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +000025 * build/unix/configure.raw: Add a fallback to disable Carbon
26 dependency, if configured with no options on Mac OS X.
27
282006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
29
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000030 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +000031 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000032 the second part of Savannah bug #16590.
33
Werner Lemberg545c4e52006-05-17 22:55:04 +0000342006-05-18 Werner Lemberg <wl@gnu.org>
35
36 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
37 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
38
David Turnerdc3ff312006-05-17 12:59:35 +0000392006-05-17 David Turner <david@freetype.org>
40
Werner Lemberg545c4e52006-05-17 22:55:04 +000041 This is a major patch used to drastically improve the performance of
42 loading glyphs. This both speeds up loading the glyph vectors
43 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +000044
Werner Lemberg545c4e52006-05-17 22:55:04 +000045 We now use inline assembler code with GCC to implement `FT_MulFix',
46 which is probably the most important function related to the
47 engine's performance.
David Turner281679d2006-05-17 13:34:21 +000048
Werner Lemberg545c4e52006-05-17 22:55:04 +000049 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +000050
51
Werner Lemberg545c4e52006-05-17 22:55:04 +000052 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
53 `cursor' and `limit'.
54
55 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
56 New functions.
57 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
58 [TEST]: Remove.
59
60 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
61 code.
62
63 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
64 `FT_ZERO'
65 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
66 (af_glyph_hints_reload: Rewrite recognition of weak points.
67
68 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
69 constant values out of the loops.
70
71 * src/autofit/aftypes.h: Updated.
72
73 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
74
75 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
76 product to get orientation.
77
78 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
79 (FT_Stream_OpenGzip): Use it to handle small files directly in
80 memory.
81
82 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
83 Improve performance.
84
85 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
86 `limit'.
87
88 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
89 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
90 exceedingly large values of number of contours. Speed up by
91 reducing the number of loops.
92
93 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
94
95
96 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
97 used to detect rogue clients from 4 to 16. This is to prevent some
98 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
99 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +0000100
Werner Lembergde2d90a2006-05-17 08:54:30 +00001012007-05-17 Werner Lemberg <wl@gnu.org>
102
103 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +0000104 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +0000105
1062006-05-16 Werner Lemberg <wl@gnu.org>
107
108 * docs/PROBLEMS: Updated icl issues.
109
Werner Lemberg6756dc12006-05-12 08:00:13 +00001102006-05-12 Werner Lemberg <wl@gnu.org>
111
Werner Lemberg8ab412d2006-05-12 15:09:02 +0000112
113 * Version 2.2.1 released.
Werner Lembergde2d90a2006-05-17 08:54:30 +0000114 =========================
Werner Lemberg8ab412d2006-05-12 15:09:02 +0000115
116
117 Tag sources with `VER-2-2-1'.
118
1192006-05-12 Werner Lemberg <wl@gnu.org>
120
Werner Lemberg6756dc12006-05-12 08:00:13 +0000121 * src/tools/docmaker/sources.py (re_source_keywords): Add word
122 boundary markers.
123 * src/tools/docmaker/content.py (re_field): Allow `.' in field names
124 (but not at the beginning or end).
Werner Lemberge12a4712006-05-12 14:20:43 +0000125 * src/tools/docmaker/tohtml.py (html_header_1): Use `utf-8' charset.
Werner Lemberg6e467a62006-05-12 15:05:45 +0000126 (block_footer): Split into...
127 (block_footer_start, block_footer_middle, block_footer_end): This to
128 add navigation buttons.
129 (HtmlFormatter::block_exit): Updated.
Werner Lemberg6756dc12006-05-12 08:00:13 +0000130
131 * include/freetype/*: Many minor documentation improvements (adding
132 links, spelling errors, etc.).
133
Werner Lembergfd74ec62006-05-12 04:00:44 +00001342006-05-11 Werner Lemberg <wl@gnu.org>
135
136 * README: Minor updates.
137
138 * include/freetype/*: s/scale/scaling value/ where appropriate.
139 Many other minor documentation improvements.
140
141 * src/tools/docmaker/sources.py (re_italic, re_bold): Handle
142 trailing punctuation.
143 * src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word): Add
144 warning message for undefined cross references.
145 Update handling of re_italic and re_bold.
146
Yamato, Masatake (大和正武)28b55a92006-05-11 03:01:42 +00001472006-05-11 Masatake YAMATO <jet@gyve.org>
David Turner281679d2006-05-17 13:34:21 +0000148
149 * builds/unix/ftsystem.c (FT_Stream_Open): Check errno only if
Yamato, Masatake (大和正武)28b55a92006-05-11 03:01:42 +0000150 read system call returns -1.
151 Remove a redundant parenthesis.
152
Werner Lembergb80d85f2006-05-10 04:47:35 +00001532006-05-10 Werner Lemberg <wl@gnu.org>
154
155 * builds/unix/ftsystem.c (FT_Stream_Open): Avoid infinite loop if
156 given an empty, un-mmap()able file. Reported and suggested fix in
157 Savannah bug #16555.
158
Werner Lemberge0d15592006-05-10 13:44:47 +0000159 * builds/freetype.mk (refdoc): Write-protect the `docmaker'
160 directory to suppress generation of .pyc files. According to the
161 Python docs there isn't a more elegant solution (currently).
162
163 * builds/toplevel.mk (dist): New target which builds .tar.gz,
164 .tar.bz2, and .zip files. Note that the version number is still
165 hard-coded.
166 (do-dist): Sub-target of `dist'.
167 (CONFIG_GUESS, CONFIG_SUB): New variables.
168 (.PHONY): Updated.
169
Werner Lemberga127ca42006-05-09 13:41:50 +00001702006-05-09 Rajeev Pahuja <rpahuja@esri.com>
171
172 * builds/win32/visualc/freetype.sln,
173 builds/win32/visualc/freetype.vcproj: Upgraded to VS.NET 2005 from
174 VS.NET 2003
175 Added files ftbbox.c, fttype1.c, ftwinfnt.c, ftsynth.c.
176
177 * builds/win32/visualc/index.html: Updated.
178
Werner Lemberg4df5b262006-05-08 07:10:29 +00001792006-05-07 Werner Lemberg <wl@gnu.org>
180
181 Put version information into the configure script. Reported by Paul
182 Watson <pwatson@redlinepy.com>.
183
184 * builds/unix/configure.ac: Renamed to...
185 * builds/unix/configure.raw: This which now serves (with appropriate
186 modifications) as a template for configure.ac.
187
188 * version.sed: New script.
189
190 * autogen.sh: Generate configure.ac from configure.raw, using
191 FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH from freetype.h.
192
Werner Lemberg1639c792006-05-06 16:44:58 +00001932006-05-06 Werner Lemberg <wl@gnu.org>
194
195 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
196
197 * builds/unix/configure.ac (version_info): Set to 9:10:3.
198
199 * builds/win32/visualc/index.html,
200 builds/win32/visualc/freetype.dsp,
201 builds/win32/visualc/freetype.vcproj, builds/freetype.mk (refdoc),
202 Jamfile (RefDoc), README: s/220/221/, s/2.2.0/2.2.1/.
203 Minor updates.
204
205 * docs/CHANGES, docs/VERSION.DLL, docs/PROBLEMS, README.CVS:
206 Updated.
207
208 * builds/unix/install-sh: Updated from `texinfo' CVS module at
209 savannah.gnu.org.
210
211 * devel/ftoption.h: Synchronize with
212 include/freetype/config/ftoption.h.
213
Werner Lemberg4f3b5bb2006-05-04 07:13:05 +00002142006-05-04 Werner Lemberg <wl@gnu.org>
215
216 * src/lzw/ftlzw2.c: Renamed to...
217 * src/lzw/ftlzw.c: This.
218
219 * src/lzw/Jamfile, src/lzw/rules.mk: Updated.
220
221 * builds/mac/FreeType.m68k_cfm.make.txt,
222 builds/mac/FreeType.m68k_far.make.txt,
223 builds/mac/FreeType.ppc_carbon.make.txt,
224 builds/mac/FreeType.ppc_classic.make.txt: Updated.
225
David Turner679a2522006-05-03 09:40:33 +00002262006-05-03 David Turner <david@freetype.org>
227
Werner Lemberga94746c2006-05-03 20:39:55 +0000228 Allow compilation again with C++ compilers.
229
230 * include/freetype/internal/ftmemory.h (FT_ASSIGNP,
231 FT_ASSIGNP_INNER): New macros which do the actual assignment, and
232 which exist in two variants (for C and C++).
233 Update callers accordingly.
David Turner679a2522006-05-03 09:40:33 +0000234
Werner Lemberg58eed042006-05-02 22:26:09 +00002352006-05-03 Werner Lemberg <wl@gnu.org>
236
237 * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Removed.
238
Werner Lembergc6afa122006-05-02 22:22:16 +00002392006-05-02 Werner Lemberg <wl@gnu.org>
240
241 * include/freetype/internal/ftmemory.h: s/new/newsz/ (for C++).
242 (FT_ALLOC): Remove redundant redefinition.
243
244 * builds/compiler/gcc-dev.mk (CFLAGS) [g++]: Don't use
245 `-Wstrict-prototypes'.
246
247 * src/base/ftstream.c (FT_Stream_EnterFrame): Add cast.
248
Werner Lemberg58eed042006-05-02 22:26:09 +0000249 * include/freetype/config/ftconfig.h (FT_BASE_DEF) [__cplusplus]:
250 Remove `extern'.
Werner Lemberg94204892006-05-02 22:24:06 +0000251
David Turner264f3072006-05-02 06:34:27 +00002522006-05-02 David Turner <david@freetype.org>
253
Werner Lembergc6afa122006-05-02 22:22:16 +0000254 Update the memory management functions and macros to safely deal
255 with array size buffer overflows. This corresponds to attemps to
256 allocate arrays that are too large. For an example, consider the
257 following code:
David Turner264f3072006-05-02 06:34:27 +0000258
Werner Lembergc6afa122006-05-02 22:22:16 +0000259 count = read_uint32_from_file(); array = malloc( sizeof ( Item ) *
260 count ); for ( nn = 0; nn < count; nn++ )
261 array[nn] = read_item_from_file();
David Turner264f3072006-05-02 06:34:27 +0000262
Werner Lembergc6afa122006-05-02 22:22:16 +0000263 If `count' is larger than `FT_UINT_MAX/sizeof(Item)', the
264 multiplication overflows, and the array allocated os smaller than
265 the data read from the file. In this case, the heap will be
266 trashed, and this can be used as a denial-of-service attack, or make
267 the engine crash later.
David Turner264f3072006-05-02 06:34:27 +0000268
Werner Lembergc6afa122006-05-02 22:22:16 +0000269 The FT_ARRAY_NEW and FT_ARRAY_RENEW macros now ensure that the new
270 count is no larger than `FT_INT_MAX/item_size', otherwise a new
271 error code `FT_Err_Array_Too_Large' will be returned.
David Turner264f3072006-05-02 06:34:27 +0000272
Werner Lembergc6afa122006-05-02 22:22:16 +0000273 Note that the memory debugger now works again when FT_DEBUG_MEMORY
274 is defined. FT_STRICT_ALIASING has disappeared; the corresponding
275 code is now the default.
David Turner264f3072006-05-02 06:34:27 +0000276
David Turner9ca78252006-05-02 09:00:29 +0000277
Werner Lembergc6afa122006-05-02 22:22:16 +0000278 * include/freetype/config/ftconfig.h (FT_BASE_DEF) [!__cplusplus]:
279 Don't use `extern'.
Suzuki, Toshiya (鈴木俊哉)a2295402006-04-30 04:46:17 +0000280
Werner Lembergc6afa122006-05-02 22:22:16 +0000281 * include/freetype/fterrdef.h (FT_Err_Array_Too_Large): New error
282 code.
Suzuki, Toshiya (鈴木俊哉)a2295402006-04-30 04:46:17 +0000283
Werner Lembergc6afa122006-05-02 22:22:16 +0000284 * include/freetype/internal/ftmemory.h (FT_DEBUG_INNER)
285 [FT_DEBUG_MEMORY]: New macro.
286 (ft_mem_realloc, ft_mem_qrealloc): Pass new object size count also.
287 (ft_mem_alloc_debug, ft_mem_qalloc_debug, ft_mem_realloc_debug,
288 ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
289 (FT_MEM_ALLOC, FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC,
290 FT_MEM_FREE): Redefine.
291 (FT_MEM_NEW_ARRAY, FT_MEM_RENEW_ARRAY, FT_MEM_QNEW_ARRAY,
292 FT_MEM_QRENEW_ARRAY): Redefine.
293 (FT_ALLOC_MULT, FT_REALLOC_MULT, FT_MEM_QALLOC_MULT,
294 FT_MEM_QREALLOC_MULT): New macros. Update callers where
295 appropriate.
296 (FT_MEM_SET_ERROR): Slightly redefine.
297
298
299 * src/base/ftdbgmem.c (_ft_debug_file, _ft_debug_lineno)
300 [FT_DEBUG_MEMORY]: New global variables, replacing...
301 (FT_MemTable_Rec) [FT_DEBUG_MEMORY]: Remove `filename' and
302 `line_no'. Update all callers.
303 (ft_mem_debug_alloc) [FT_DEBUG_MEMORY]: Avoid possible integer
304 overflow.
305 (ft_mem_alloc_debug, ft_mem_realloc_debug, ft_mem_qalloc_debug,
306 ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
307
308 * src/base/ftmac.c (read_lwfn): Catch integer overflow.
309 * src/base/ftrfork.c (raccess_guess_darwin_hfsplus): Ditto.
310 * src/base/ftutil.c: Remove special code for FT_STRICT_ALIASING.
311 (ft_mem_alloc. ft_mem_realloc, ft_mem_qrealloc): Rewrite.
312
Werner Lemberg4f3b5bb2006-05-04 07:13:05 +0000313
314 * include/freetype/ftstream.h (FT_FRAME_ENTER, FT_FRAME_EXIT,
315 FT_FRAME_EXTRACT, FT_FRAME_RELEASE): Use FT_DEBUG_INNER to report the
316 place where the frames were entered, extracted, exited or released
317 in the memory debugger.
318
319 * src/base/ftstream.c (FT_Stream_ReleaseFrame) [FT_DEBUG_MEMORY]:
320 Call ft_mem_free.
321 (FT_Stream_EnterFrame) [FT_DEBUG_MEMORY]: Use ft_mem_qalloc.
322 (FT_Stream_ExitFrame) [FT_DEBUG_MEMORY]: Use ft_mem_free.
323
Werner Lembergc6afa122006-05-02 22:22:16 +00003242006-04-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
325
326 * src/base/ftobjs.c (Mac_Read_POST_Resource): Correct pfb_pos
327 initialization, remove extra cast to copy to pfb_lenpos. This fixes
328 parsing of PFB fonts with MacOS resource fork (bug introduced
329 2003-09-11). Patch provided by Huib-Jan Imbens <ft@imbens.nl>.
Suzuki, Toshiya (鈴木俊哉)a2295402006-04-30 04:46:17 +0000330
Werner Lemberg8fe65392006-04-29 07:31:16 +00003312006-04-29 Werner Lemberg <wl@gnu.org>
332
333 Further C library abstraction. Based on a patch from
334 msn2@bidyut.com.
335
336 * include/freetype/config/ftstdlib.h (FT_CHAR_BIT, FT_FILE,
337 ft_fopen, ft_fclose, ft_fseek, ft_ftell, ft_fread, ft_smalloc,
338 ft_scalloc, ft_srealloc, ft_sfree, ft_labs): New wrapper macros for
339 C library functions. Update all users accordingly (and catch some
340 other places where the C library function was used instead of the
341 wrapper functions).
342
343 * src/base/ftsystem.c: Don't include stdio.h and stdlib.h.
344 * src/gzip/zutil.h [MSDOS && !(__TURBOC__ || __BORLANDC__)]: Don't
345 include malloc.h.
346
Werner Lemberg06fceb32006-04-29 07:53:40 +0000347
348 * builds/unix/unix-def.in (datarootdir): Define, for autoconf 2.59c
349 and forthcoming versions.
350
Werner Lemberg50ef72b2006-04-29 07:02:36 +00003512006-04-28 Werner Lemberg <wl@gnu.org>
352
353 * src/lzw/ftlzw.c, src/lzw/zopen.c, src/lzw/zopen.h: Removed,
354 obsolete.
355
Werner Lemberg12cceaa2006-04-27 05:02:35 +00003562006-04-27 yi luo <luoyi.ly@gmail.com>
357
358 * builds/win32/visualc/freetype.vcproj: Updated.
359
David Turner3b47dd62006-04-26 19:34:24 +00003602006-04-26 David Turner <david@freetype.org>
361
Werner Lemberg12cceaa2006-04-27 05:02:35 +0000362
363 * Version 2.2 released.
Werner Lembergc6afa122006-05-02 22:22:16 +0000364 =======================
Werner Lemberg12cceaa2006-04-27 05:02:35 +0000365
366
367 Tag sources with `VER-2-2-0'.
David Turner3b47dd62006-04-26 19:34:24 +0000368
Werner Lemberg564b4432006-04-26 15:02:52 +00003692006-04-26 Werner Lemberg <wl@gnu.org>
370
371 * src/psaux/psobjs.c (shift_elements): Don't use FT_Long but
Werner Lemberg4e03fe72006-04-29 06:20:09 +0000372 FT_PtrDiff for `delta'. Reported by Céline PILLET
Werner Lemberg564b4432006-04-26 15:02:52 +0000373 <Celine.Pillet@Tagginfo.com>.
374
David Turner8e438ea2006-04-21 08:35:11 +00003752006-04-21 David Turner <david@freetype.org>
376
Werner Lemberg8a8c6022006-04-22 12:24:52 +0000377 * include/freetype/ftincrem.h: Documentation updates.
378 (FT_Incremental_Interface): New typedef.
David Turner8e438ea2006-04-21 08:35:11 +0000379
Werner Lemberg8a8c6022006-04-22 12:24:52 +0000380 * include/freetype/ftmodapi.h, include/freetype/ftglyph.h:
381 Documentation updates.
382
383 * include/freetype/freetype.h: Documentation update.
384 (FT_HAS_FAST_GLYPHS): Always set to 0.
385
386 * include/freetype/ftstroke.h, src/base/ftstroke.c (FT_Stroker_New):
387 Take an FT_Library argument instead of FT_Memory.
388
389 * src/sfnt/ttcmap.c: Remove compiler warnings (gcc-4.0.2).
David Turner7aa20102006-04-21 08:38:35 +0000390
David Turner65c7c772006-04-13 07:51:58 +00003912006-04-13 David Turner <david@freetype.org>
392
Werner Lemberg8a8c6022006-04-22 12:24:52 +0000393 * src/autofit/afloader.c (af_loader_init, af_loader_load_g): Remove
394 superfluous code in the auto-fitter's loader.
David Turner65c7c772006-04-13 07:51:58 +0000395
Werner Lemberg4e03fe72006-04-29 06:20:09 +00003962006-04-05 Detlef Würkner <TetiSoft@apg.lahn.de>
Detlef Würkner7d043222006-04-05 07:17:12 +0000397
398 * builds/amiga/makefile, builds/amiga/makefile.os4,
399 builds/amiga/smakefile: Added FT2_BUILD_LIBRARY define.
400
Werner Lemberg7f18de62006-04-03 16:47:34 +00004012006-04-03 luoyi <luoyi.ly@gmail.com>
402
403 * builds/compiler/intelc.mk (TE): New variable.
404 (ANSIFLAGS): Updated.
405
Werner Lembergfd7456c2006-04-03 15:46:48 +00004062006-04-03 Werner Lemberg <wl@gnu.org>
407
408 * builds/exports.mk (clean_symbols_list, clean_apinames): Removed.
409 (CLEAN): Add $(EXPORTS_LIST) and $(APINAMES_EXE).
410 (.PHONY): Updated.
411
412 * configure.ac: Minor fixes to improve --help output.
413
Werner Lemberg764b2512006-04-03 16:42:39 +0000414
415 * docs/PROBLEMS: New file.
416
Werner Lemberg40917862006-04-01 18:49:07 +00004172006-04-01 David Turner <david@freetype.org>
David Turner0f15e1c2006-04-01 16:11:53 +0000418
Werner Lemberg40917862006-04-01 18:49:07 +0000419 * docs/CHANGES: Updated.
David Turnercf603712006-04-01 16:22:06 +0000420
Werner Lemberg40917862006-04-01 18:49:07 +0000421 * include/freetype/ftcache.h, include/freetype/config/ftheader.h:
422 Update documentation comments.
David Turner0f15e1c2006-04-01 16:11:53 +0000423
Werner Lemberg6e9df682006-04-01 05:22:07 +00004242006-04-01 Werner Lemberg <wl@gnu.org>
425
426 * builds/unix/install.mk (uninstall): Don't handle `cache'
427 directory which no longer exists.
428
Werner Lemberg4e03fe72006-04-29 06:20:09 +00004292006-03-29 Detlef Würkner <TetiSoft@apg.lahn.de>
Detlef Würknerd51b41e2006-03-29 06:35:26 +0000430
Werner Lemberg6e9df682006-04-01 05:22:07 +0000431 * src/psaux/psconv.c: Changed some variables which are expected to
432 hold negative values from `char' to `FT_Char' to allow building with
433 a compiler where `char' is unsigned by default.
Detlef Würknerd51b41e2006-03-29 06:35:26 +0000434
David Turner42137bc2006-03-27 20:10:26 +00004352006-03-27 David Turner <david@freetype.org>
436
Werner Lembergfa3651e2006-03-28 05:06:50 +0000437 * src/sfnt/ttkern.c (tt_face_get_kerning): Fix a serious bug that
438 causes some programs to go into an infinite loop when dealing with
439 fonts that don't have a properly sorted kerning sub-table.
David Turner42137bc2006-03-27 20:10:26 +0000440
Werner Lemberg26170df2006-03-26 07:19:07 +00004412006-03-26 Werner Lemberg <wl@gnu.org>
442
443 * src/bdf/bdflib.c (ERRMSG4): New macro.
444 (_bdf_parse_glyphs): Handle invalid BBX values.
445
446 * include/freetype/fterrdef.h (FT_Err_Bbx_Too_Big): New error
447 macro.
448
Werner Lemberg4db32ec2006-03-24 11:54:53 +00004492006-03-23 Werner Lemberg <wl@gnu.org>
450
451 * docs/CHANGES: Updated.
452
Werner Lembergd6e24982006-03-24 18:31:47 +0000453
Werner Lemberg4db32ec2006-03-24 11:54:53 +0000454 * src/tools/docmaker/tohtml.py (html_header_2): Add horizontal
455 padding between table elements.
Werner Lemberge0dd18f2006-03-24 12:14:48 +0000456 (html_header_1): The `DOCTYPE' comment must be in uppercase.
Werner Lembergd6e24982006-03-24 18:31:47 +0000457 (make_html_para): Convert `...' quotations into real left and
458 right single quotes.
459 Use `para_header' and `para_footer'.
460
461 * src/tools/docmaker/sources.py (re_bold, re_italic): Accept "'"
462 also.
Werner Lemberg4db32ec2006-03-24 11:54:53 +0000463
David Turner2ce92032006-03-23 20:58:20 +00004642006-03-23 David Turner <david@freetype.org>
465
Werner Lemberg4db32ec2006-03-24 11:54:53 +0000466 Add FT_Get_SubGlyph_Info API to retrieve subglyph data. Note that
Werner Lembergc6afa122006-05-02 22:22:16 +0000467 we do not expose the FT_SubGlyphRec structure.
David Turner2ce92032006-03-23 20:58:20 +0000468
Werner Lemberg4db32ec2006-03-24 11:54:53 +0000469 * include/freetype/internal/ftgloadr.h (FT_SUBGLYPH_FLAGS_*): Moved
470 to...
471 * include/freetype/freetype.h (FT_SUBGLYPH_FLAGS_*): Here.
472 (FT_Get_SybGlyph_Info): New declaration.
473
474 * src/base/ftobjs.c (FT_Get_SubGlyph_Info): New function.
475
476
477 * src/autofit/afloader.c (af_loader_load_g): Compute lsb_delta and
Werner Lembergc6afa122006-05-02 22:22:16 +0000478 rsb_delta correctly in edge cases.
David Turner2ce92032006-03-23 20:58:20 +0000479
Werner Lemberg3867d2f2006-03-22 08:03:06 +00004802006-03-22 Werner Lemberg <wl@gnu.org>
481
Werner Lemberg6c5b6172006-03-22 15:30:41 +0000482 * src/cache/ftccache.c, (ftc_node_mru_up, FTC_Cache_Lookup)
483 [!FTC_INLINE]: Compile conditionally.
484 * src/cache/ftccache.h: Updated.
485
486 * src/cache/ftcglyph.c (FTC_GNode_Init, FTC_GNode_UnselectFamily,
487 FTC_GNode_Done, FTC_GNode_Compare, FTC_Family_Init, FTC_GCache_New):
488 s/FT_EXPORT/FT_LOCAL/.
489 (FTC_GCache_Init, FTC_GCache_Done): Commented out.
490 (FTC_GCache_Lookup) [!FTC_INLINE]: Compile conditionally.
491 s/FT_EXPORT/FT_LOCAL/.
492 * src/cache/ftcglyph.h: Updated.
493
494 * src/cache/ftcimage.c (FTC_INode_Free, FTC_INode_New):
495 s/FT_EXPORT/FT_LOCAL/.
496 (FTC_INode_Weight): Commented out.
497 * src/cache/ftcimage.h: Updated.
498
499 * src/cache/ftmanag.c (FTC_Manager_Compress,
500 FTC_Manager_RegisterCache, FTC_Manager_FlushN):
501 s/FT_EXPORT/FT_LOCAL/.
502 * src/cache/ftmanag.h: Updated.
503
504 * src/cache/ftcsbits.c (FTC_SNode_Free, FTC_SNode_New,
505 FTC_SNode_Compare): s/FT_EXPORT/FT_LOCAL/.
506 (FTC_SNode_Weight): Commented out.
507 * src/cache/ftcsbits.h: Updated.
508
5092006-03-22 Werner Lemberg <wl@gnu.org>
510
Werner Lemberg3867d2f2006-03-22 08:03:06 +0000511 * src/cache/ftccache.c, src/cache/ftccache.h (FTC_Node_Destroy):
512 Remove, unused.
513
514 * src/cache/ftccmap.h: Remove, unused.
515
516 * src/cache/rules.mk (CACHE_DRV_H): Remove ftccmap.h.
517
Werner Lemberg5556dd22006-03-21 21:36:33 +00005182006-03-21 Zhe Su <james.su@gmail.com>
519
520 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Improve
521 algorithm.
522
Werner Lemberg26377002006-03-21 18:41:40 +00005232006-03-21 Werner Lemberg <wl@gnu.org>
524
525 * src/cff/cfftypes.h (CFF_CharsetRec): Add `max_cid' member.
526
527 * src/cff/cffload.c (cff_charset_load): Set `charset->max_cid'.
528
529 * src/cff/cffgload.c (cff_slot_load): Change type of third parameter
530 to `FT_UInt'.
531 Check range of `glyph_index'.
532 * src/cff/cffgload.h: Updated.
533
Werner Lemberg8439fe82006-03-21 21:04:33 +0000534
Werner Lemberg95f206b2006-03-21 20:47:28 +0000535 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Handle invalid offset
536 correctly.
537
Werner Lemberg8439fe82006-03-21 21:04:33 +0000538
539 * builds/freetype.mk (refdoc), docs/CHANGES, Jamfile (RefDoc),
540 README: s/2.1.10/2.2/.
541
Werner Lemberg26377002006-03-21 18:41:40 +00005422006-03-21 David Turner <david@freetype.org>
David Turner24b9e872006-03-21 16:30:04 +0000543
Werner Lemberga62007f2006-03-21 17:41:40 +0000544 * src/autofit/aflatin.c (af_latin_metrics_scale): Fix small bug
545 that crashes the auto-hinter (introduced by previous patch).
David Turner24b9e872006-03-21 16:30:04 +0000546
Werner Lemberg5a73d8d2006-03-20 16:55:32 +00005472006-03-20 Werner Lemberg <wl@gnu.org>
David Turnerdad2a2d2006-03-20 11:48:13 +0000548
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000549 * builds/freetype.mk (CACHE_DIR, CACHE_H): Remove.
550 (FREETYPE_H): Updated.
David Turnere091ce32006-03-20 16:01:28 +0000551
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000552 * src/cache/rules.mk (CACHE_H_DIR): Remove.
553 (CACHE_DRV_H): Updated.
David Turnerda95af62006-03-20 13:32:33 +0000554
Werner Lemberg5a73d8d2006-03-20 16:55:32 +00005552006-03-20 David Turner <david@freetype.org>
David Turnerda95af62006-03-20 13:32:33 +0000556
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000557 * include/freetype/cache/ftccache.h,
558 include/freetype/cache/ftccmap.h, include/freetype/cache/ftcglyph.h
559 include/freetype/cache/ftcimage.h include/freetype/cache/ftcmanag.h
560 include/freetype/cache/ftcmru.h include/freetype/cache/ftcsbits.h:
561 Move to...
David Turner505667c2006-03-20 12:13:14 +0000562
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000563 * src/cache/ftccache.h, src/cache/ftcglyph.h, src/cache/ftcimage.h,
564 src/cache/ftcsbits.h, src/cache/ftcmanag.h, src/cache/ftccmap.h,
565 src/cache/ftcmru.h: This new location.
566 Update declarations according to the changes in the corresponding
567 source files.
David Turner256de4b2006-03-20 12:10:24 +0000568
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000569 Note that these files are not used by FreeType clients; all public
570 APIs of the cache module have been already moved to
571 `include/freetype/ftcache.h', and all FT_CACHE_INTERNAL_XXXX_H
572 macros resolve to it.
David Turner256de4b2006-03-20 12:10:24 +0000573
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000574 Reason for the move is to allow modifications of the internals
575 without interferences with rogue clients. Note that there are no
576 known clients that access the cache internals at the moment.
David Turner256de4b2006-03-20 12:10:24 +0000577
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000578 * builds/unix/install.mk (install): Don't install headers from
579 $(CACHE_H).
580 Remove `freetype/cache' from the target directory.
David Turnerdad2a2d2006-03-20 11:48:13 +0000581
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000582 * include/freetype/config/ftheader.h (FT_CACHE_MANAGER_H,
583 FT_CACHE_INTERNAL_MRU_H, FT_CACHE_INTERNAL_MANAGER_H,
584 FT_CACHE_INTERNAL_CACHE_H, FT_CACHE_INTERNAL_GLYPH_H,
585 FT_CACHE_INTERNAL_IMAGE_H, FT_CACHE_INTERNAL_SBITS_H): Point to
586 FT_CACHE_H.
David Turnerdad2a2d2006-03-20 11:48:13 +0000587
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000588 * src/cache/ftcbasic.c, src/cache/ftccache.h, src/cache/ftccback.h,
589 src/cache/ftccmap.c, src/cache/ftcglyph.c, src/cache/ftcglyph.h,
590 src/cache/ftcimage.c, src/cache/ftcimage.h, src/cache/ftcmanag.c,
591 src/cache/ftcmanag.h, src/cache/ftcmru.h, src/cache/ftcsbits.c,
592 src/cache/ftcsbits.h: Don't use the FT_CACHE_INTERNAL_XXX_H macros
593 but include the headers directly (which are now in `src/cache').
David Turnerdad2a2d2006-03-20 11:48:13 +0000594
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000595 * src/cache/ftccache.c: Don't use the FT_CACHE_INTERNAL_XXX_H
596 macros but include the headers directly.
597 (FTC_Cache_Init, FTC_Cache_Done, FTC_Cache_NewNode,
598 FTC_Cache_Lookup, FTC_Cache_RemoveFaceID): Declare as FT_LOCAL_DEF.
599
600 * src/cache/ftccache.c: Don't use the FT_CACHE_INTERNAL_XXX_H
601 macros but include the headers directly.
602 (FTC_MruNode_Prepend, FTC_MruNode_Up, FTC_MruNode_Remove,
603 FTC_MruList_Init, FTC_MruList_Reset, FTC_MruList_Done,
604 FTC_MruList_New, FTC_MruList_Remove, FTC_MruList_RemoveSelection):
605 Declare as FT_LOCAL_DEF.
606 (FTC_MruListFind, FTC_MruList_Lookup) [!FTC_INLINE]: Compile
607 conditionally.
608 Declare as FT_LOCAL_DEF.
609
610
611 * builds/win32/visualc/freetype.dsp: Update project file, add
612 missing base source files (ftstroke.c, ftxf86.c, etc.).
613
614
615 * src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c,
616 src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c,
617 src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/type1/t1afm.c,
618 src/type1/t1objs.c: Remove compiler warnings when building with
619 Visual C++ 6 and /W4.
620
621 * src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
622 hinting for italic/oblique fonts.
623
624
625
626 * src/truetype/ttpload.c, src/truetype/ttpload.h
627 (tt_face_get_device_metrics): Change second argument to `FT_UInt'.
628
6292006-03-06 David Turner <david@freetype.org>
David Turner65b96aa2006-03-07 00:38:24 +0000630
Werner Lemberge6a8fca2006-03-07 23:53:55 +0000631 * src/cache/ftcmanag.c (FTC_Manager_Lookup_Size): Prevent crashes in
632 Mozilla/FireFox print preview in Ubuntu Hoary.
David Turner65b96aa2006-03-07 00:38:24 +0000633
Wu, Chia-I (吳佳一)a87b08a2006-02-28 09:53:23 +00006342006-02-28 Chia-I Wu <b90201047@ntu.edu.tw>
635
Wu, Chia-I (吳佳一)9f5d3de2006-02-28 13:21:50 +0000636 * src/base/ftutil.c (ft_mem_qalloc) [FT_STRICT_ALIASING]: Do not
637 return error when size == 0.
638
6392006-02-28 Chia-I Wu <b90201047@ntu.edu.tw>
640
Werner Lemberge88d24c2006-02-28 21:49:54 +0000641 * src/base/ftobjs.c (FT_Done_Library): Remove modules in reverse
642 order so that type42 module is removed before truetype module. This
643 avoids double free in some occasions.
Wu, Chia-I (吳佳一)a87b08a2006-02-28 09:53:23 +0000644
Werner Lembergc6afa122006-05-02 22:22:16 +00006452006-02-28 David Turner <david@freetype.org>
David Turnere9a47192006-02-28 09:26:58 +0000646
Werner Lemberge88d24c2006-02-28 21:49:54 +0000647 * Release candidate VER-2-2-0-RC4.
648 ----------------------------------
David Turnere9a47192006-02-28 09:26:58 +0000649
Werner Lemberge88d24c2006-02-28 21:49:54 +0000650 * docs/CHANGES: Documentation updates.
David Turnere9a47192006-02-28 09:26:58 +0000651
Suzuki, Toshiya (鈴木俊哉)576c3532006-02-28 01:11:57 +00006522006-02-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
653
Werner Lemberge88d24c2006-02-28 21:49:54 +0000654 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
655 build ftvalid in ft2demos. It works as dummy ABI if gxvalid is not
656 built.
Suzuki, Toshiya (鈴木俊哉)576c3532006-02-28 01:11:57 +0000657
Werner Lembergc07ee522006-02-27 18:13:12 +00006582006-02-27 Werner Lemberg <wl@gnu.org>
659
660 * include/freetype/cache/ftccache.h
661 [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove declaration of
662 ftc_node_done.
663
Werner Lemberg98d6a3a2006-02-27 19:49:34 +0000664 * src/cache/ftccache.c (ftc_node_destroy)
665 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Mark as FT_LOCAL_DEF. This
666 should now fix all possible compilation options.
667
David Turnerc13e75f2006-02-27 13:14:42 +00006682006-02-27 David Turner <david@freetype.org>
669
Werner Lemberg422d2a02006-02-27 18:25:22 +0000670 * src/base/ftutil.c (ft_mem_alloc, ft_mem_qalloc, ft_mem_realloc,
671 ft_mem_qrealloc): Return an error if a negative size is passed in
672 parameters.
David Turnerc13e75f2006-02-27 13:14:42 +0000673
Werner Lemberg98d6a3a2006-02-27 19:49:34 +0000674 * src/cache/ftccache.c (ftc_node_destroy): Mark as FT_BASE_DEF since
675 it needs to be exported for rogue clients.
David Turner65b96aa2006-03-07 00:38:24 +0000676
Werner Lemberg422d2a02006-02-27 18:25:22 +0000677 * src/pshinter/pshglob.c (psh_blues_set_zones_0): Prevent problems
678 with malformed fonts which have an odd number of blue values (these
679 are broken according to the specs).
David Turnerc13e75f2006-02-27 13:14:42 +0000680
Werner Lemberg422d2a02006-02-27 18:25:22 +0000681 * src/cff/cffload.c (cff_subfont_load), src/type1/t1load.c
682 (T1_Open_Face): Modify the loaders to force even-ness of
683 `num_blue_values'.
684
685 (cff_index_access_element): Ignore invalid entries in index files.
David Turnerc13e75f2006-02-27 13:14:42 +0000686
Wu, Chia-I (吳佳一)cffa8b62006-02-27 11:11:40 +00006872006-02-27 Chia-I Wu <b90201047@ntu.edu.tw>
688
Werner Lemberg98d6a3a2006-02-27 19:49:34 +0000689 * src/base/ftobjs.c (FT_Set_Char_Size): Check the case where width
690 or height is 0.
Wu, Chia-I (吳佳一)cffa8b62006-02-27 11:11:40 +0000691
Suzuki, Toshiya (鈴木俊哉)2f239b82006-02-27 10:34:33 +00006922006-02-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
693
694 * builds/mac/FreeType.m68k_cfm.make.txt,
695 builds/mac/FreeType.m68k_far.make.txt,
696 builds/mac/FreeType.ppc_carbon.make.txt,
Werner Lemberg98d6a3a2006-02-27 19:49:34 +0000697 builds/mac/FreeType.ppc_classic.make.txt: Update to new header
698 inclusion introduced on 2006-02-16.
Suzuki, Toshiya (鈴木俊哉)2f239b82006-02-27 10:34:33 +0000699
Wu, Chia-I (吳佳一)2e48a1a2006-02-27 09:18:07 +00007002006-02-27 Chia-I Wu <b90201047@ntu.edu.tw>
701
Werner Lemberg422d2a02006-02-27 18:25:22 +0000702 * src/base/ftobjs.c (GRID_FIT_METRICS): New macro.
703 (ft_glyphslot_grid_fit_metrics, FT_Load_Glyph) [GRID_FIT_METRICS]:
Wu, Chia-I (吳佳一)2e48a1a2006-02-27 09:18:07 +0000704 Re-enable glyph metrics grid-fitting. It is now done in the base
705 layer.
Werner Lembergc07ee522006-02-27 18:13:12 +0000706 (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Make sure the width and
707 height are not too small or too large, just like we were doing in
708 2.1.10.
Wu, Chia-I (吳佳一)2e48a1a2006-02-27 09:18:07 +0000709
Werner Lembergc07ee522006-02-27 18:13:12 +0000710 * src/autofit/afloader.c (af_loader_load_g): The vertical metrics
711 are not scaled.
Wu, Chia-I (吳佳一)2e48a1a2006-02-27 09:18:07 +0000712
Werner Lembergf99d8462006-02-26 17:50:59 +00007132006-02-26 Werner Lemberg <wl@gnu.org>
714
715 * docs/release: Minor additions and clarifications.
716
717 * docs/CHANGES: Updated to reflect many fixes for backwards
718 compatibility. Still incomplete.
719
David Turnerb4636652006-02-26 07:57:45 +00007202006-02-26 David Turner <david@freetype.org>
721
Werner Lemberg0aaf4292006-02-26 17:30:15 +0000722 * src/base/ftobjs.c (ft_recompute_scaled_metrics): Re-enable
723 conservative rounding of metrics to avoid breaking clients like
724 Pango (see http://bugzilla.gnome.org/show_bug.cgi?id=327852).
David Turnerb4636652006-02-26 07:57:45 +0000725
Werner Lemberg20a8d0c2006-02-25 16:56:04 +00007262006-02-25 Werner Lemberg <wl@gnu.org>
727
728 * devel/ftoption.h: Synchronize with
729 include/freetype/config/ftoption.h.
730
Werner Lembergae1e4b12006-02-25 17:11:04 +0000731 * src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF (again).
732
David Turner6c71c6b2006-02-25 12:49:40 +00007332006-02-25 David Turner <david@freetype.org>
734
Werner Lemberg7f049f42006-02-25 16:52:16 +0000735 Fix compiler warnings as well as C++ compilation problems.
736 Add missing prototypes.
David Turner6c71c6b2006-02-25 12:49:40 +0000737
Werner Lemberg7f049f42006-02-25 16:52:16 +0000738 * src/autofit/afcjk.c, src/base/ftobjs.c, src/base/ftutil.c,
739 src/bdf/bdfdrivr.c, src/cff/cffcmap.c, src/cff/cffobjs.c,
740 src/psaux/afmparse.c,, src/psaux/t1cmap.c, src/smooth/ftgrays.c
741 src/tools/apinames.c, src/truetype/ttdriver.c: Add various casts,
742 initialize variables, and decorate functions with FT_CALLBACK_DEF,
743 etc., to fix compiler warnings (and C++ compiling errors).
David Turner6c71c6b2006-02-25 12:49:40 +0000744
Werner Lemberg7f049f42006-02-25 16:52:16 +0000745 * src/cache/ftcbasic.c: Fix `-Wmissing-prototypes' warnings with
746 gcc.
David Turnerde271ab2006-02-25 14:53:02 +0000747
Werner Lemberg7f049f42006-02-25 16:52:16 +0000748 * builds/unix/ftsystem.c: Don't include FT_INTERNAL_OBJECTS_H but
749 FT_INTERNAL_STREAM_H.
David Turnerde271ab2006-02-25 14:53:02 +0000750
Werner Lemberg7f049f42006-02-25 16:52:16 +0000751 * src/base/ftsystem.c: Include FT_INTERNAL_STREAM_H.
David Turnerde271ab2006-02-25 14:53:02 +0000752
Werner Lemberg7f049f42006-02-25 16:52:16 +0000753 * include/freetype/config/ftheader.h (FT_PFR_H): New macro.
754
755 * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Don't
756 define for C++.
757
758 * include/freetype/internal/services/svotval.h: Don't include
759 FT_OPENTYPE_VALIDATE_H but FT_INTERNAL_VALIDATE_H.
760
761 * include/freetype/internal/services/svpfr.h: Include FT_PFR_H.
762
763 * src/gzip/ftgzip.c: Include FT_GZIP_H.
764
765 * src/lzw/ftlzw.c, src/lzw/ftlzw2.c: Include FT_LZW_H.
766
767 * src/sfnt/ttbdf.c (tt_face_load_bdf_props): Rearrange code.
David Turner6c71c6b2006-02-25 12:49:40 +0000768
Wu, Chia-I (吳佳一)03264612006-02-24 11:18:40 +00007692006-02-24 Chia-I Wu <b90201047@ntu.edu.tw>
770
Wu, Chia-I (吳佳一)88242072006-02-24 11:53:21 +0000771 * src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
772 ft_contour_enclosed, ft_outline_get_orientation): Commented out. We
David Turner6c71c6b2006-02-25 12:49:40 +0000773 have to wait until `FT_GlyphSlot_Own_Bitmap' is stabilized.
Wu, Chia-I (吳佳一)88242072006-02-24 11:53:21 +0000774 (FT_Outline_Embolden): Use `FT_Outline_Get_Orientation'.
775
7762006-02-24 Chia-I Wu <b90201047@ntu.edu.tw>
777
Wu, Chia-I (吳佳一)03264612006-02-24 11:18:40 +0000778 * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Update
779 documentation.
780
781 * include/freetype/ftsynth.h (FT_GlyphSlot_Own_Bitmap),
782 src/base/ftsynth.c (FT_GlyphSlot_Own_Bitmap): New function to make
Werner Lembergd7e6b762006-02-25 06:24:28 +0000783 sure a glyph slot owns its bitmap. It is also marked experimental
784 and due to change.
785 (FT_GlyphSlot_Embolden): Undo the last change. It turns out that
786 rendering the outline confuses some applications.
Wu, Chia-I (吳佳一)03264612006-02-24 11:18:40 +0000787
David Turnerca7d76f2006-02-24 09:09:10 +00007882006-02-24 David Turner <david@freetype.org>
789
Werner Lembergd7e6b762006-02-25 06:24:28 +0000790 * Release candidate VER-2-2-0-RC3.
791 ----------------------------------
David Turner478c5912006-02-24 09:56:23 +0000792
Werner Lembergd7e6b762006-02-25 06:24:28 +0000793 * src/cache/ftcbasic.c: Correct compatibility hack bug.
David Turnerca7d76f2006-02-24 09:09:10 +0000794
Wu, Chia-I (吳佳一)a8e7a012006-02-24 06:11:30 +00007952006-02-24 Chia-I Wu <b90201047@ntu.edu.tw>
796
Werner Lembergd7e6b762006-02-25 06:24:28 +0000797 * include/freetype/freetype.h (FT_Size_RequestRec): Change the type
798 of `width' and `height' to `FT_Long'.
Wu, Chia-I (吳佳一)a8e7a012006-02-24 06:11:30 +0000799 (enum FT_Size_Request_Type), src/base/ftobjs.c (FT_Request_Metrics):
800 New request type `FT_SIZE_REQUEST_TYPE_SCALES' to specify the scales
801 directly.
802
David Turner6cda6c02006-02-23 12:37:18 +00008032006-02-23 David Turner <david@freetype.org>
804
Werner Lembergd7e6b762006-02-25 06:24:28 +0000805 Two BDF patches from Debian libfreetype6 for 2.1.10.
David Turner6cda6c02006-02-23 12:37:18 +0000806
Werner Lembergd4303da2006-02-23 21:01:34 +0000807 * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix a bug with zero-width
808 glyphs.
809 Fix a problem with large encodings.
David Turner481838e2006-02-23 12:40:14 +0000810
Werner Lembergd7e6b762006-02-25 06:24:28 +0000811
812 Fix binary compatibility issues for gnustep-back (GNUstep backend
813 module) which still crashes under Sarge.
814
815 * src/cache/ftccmap.c (FTC_OldCMapType, FTC_OldCMapIdRec,
816 FTC_OldCMapDesc) [FT_CONFIG_OPTION_OLD_INTERNALS]: New data
817 structures and enumerations.
818 (FTC_CMapCache_Lookup) [FT_CONFIG_OPTION_OLD_INTERNALS]: New
819 compatibility code.
David Turner88d89852006-02-23 22:35:26 +0000820
Wu, Chia-I (吳佳一)890f8072006-02-22 20:47:39 +00008212006-02-23 Chia-I Wu <b90201047@ntu.edu.tw>
822
823 * include/freetype/ftoutln.h (enum FT_Orientation): New value
824 `FT_ORIENTATION_NONE'.
825
826 * src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
827 ft_contour_enclosed, ft_outline_get_orientation): Another version of
828 `FT_Outline_Get_Orientation'. This version differs from the public
829 one in that each part (contour not enclosed in another contour) of the
830 outline is checked for orientation.
831 (FT_Outline_Embolden): Use `ft_outline_get_orientation'.
832
833 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Render the outline and
834 use bitmap's embolden routine when the outline one failed.
835
Wu, Chia-I (吳佳一)facd9af2006-02-22 07:59:35 +00008362006-02-22 Chia-I Wu <b90201047@ntu.edu.tw>
837
838 * modules.cfg: Compile in ftotval.c and ftxf86.c by default for ABI
839 compatibility.
840
841 * src/sfnt/sfobjs.c (sfnt_done_face): Fix a memory leak.
842
843 * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned,
844 tt_sbit_decoder_load_byte_aligned) [FT_OPTIMIZE_MEMORY]: Fix sbit
Werner Lemberg5edafed2006-02-22 08:23:35 +0000845 loading. (Only tested with bit aligned sbit with x_pos == 0.)
Wu, Chia-I (吳佳一)facd9af2006-02-22 07:59:35 +0000846
847 * src/truetype/ttpload.c (tt_face_load_hdmx,
Werner Lemberg5edafed2006-02-22 08:23:35 +0000848 tt_face_get_device_metrics) [FT_OPTIMIZE_MEMORY]: `hdmx' is not
849 actually used.
Wu, Chia-I (吳佳一)facd9af2006-02-22 07:59:35 +0000850
David Turner1ae134a2006-02-21 16:50:17 +00008512006-02-21 David Turner <david@freetype.org>
852
Werner Lemberg5edafed2006-02-22 08:23:35 +0000853 Add a new API named FT_Get_TrueType_Engine_Type to determine whether
854 we have a patented, unpatented, or unimplemented TrueType bytecode
855 interpreter.
David Turner0b5dc4d2006-02-21 22:36:23 +0000856
Werner Lemberg5edafed2006-02-22 08:23:35 +0000857 The FT_Get_Module_Flags API was removed consequently.
David Turner0b5dc4d2006-02-21 22:36:23 +0000858
David Turner88d89852006-02-23 22:35:26 +0000859 * include/freetype/ftmodapi.h (FT_Module_Get_Flags): Removed.
Werner Lemberg5edafed2006-02-22 08:23:35 +0000860 Replaced with...
861 (FT_Get_TrueType_Engine_Type): This.
862 (FT_TrueTypeEngineType): New enumeration.
David Turner0b5dc4d2006-02-21 22:36:23 +0000863
Werner Lemberg5edafed2006-02-22 08:23:35 +0000864 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_ENGINE_H):
865 New macro.
David Turner1ae134a2006-02-21 16:50:17 +0000866
Werner Lemberg5edafed2006-02-22 08:23:35 +0000867 * src/base/ftobjs.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
868 (FT_Module_Get_Flags): Removed. Replaced with...
869 (FT_Get_TrueType_Engine_Type): This.
David Turnerc093db92006-02-21 17:06:35 +0000870
Werner Lemberg5edafed2006-02-22 08:23:35 +0000871 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
872 (tt_service_truetype_engine): New service structure.
873 (tt_services): Register it.
874
875 * include/freetype/internal/services/svtteng.h: New file.
876
877
878 * src/sfnt/sfobjs.c (sfnt_load_face): Fix silly bug that prevented
879 embedded bitmaps from being correctly listed and used.
880
881
882 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Disable memory optimization
883 if FT_CONFIG_OPTION_OLD_INTERNALS is used. The is necessary because
884 libXfont is directly accessing the HMTX data, unfortunately.
885 Fix some compiler warnings.
886 (tt_face_get_metrics): Ditto.
887
888
889 * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix handling of
890 character advances.
David Turner1ae134a2006-02-21 16:50:17 +0000891
David Turnerdd0f3602006-02-20 23:50:21 +00008922006-02-20 David Turner <david@freetype.org>
893
David Turner0b5dc4d2006-02-21 22:36:23 +0000894 Support binary compatibility with the X.Org server's Xfont library.
Werner Lembergd41aecd2006-02-21 08:08:14 +0000895 Note that this change unfortunately prevents memory optimizations
896 for the embedded bitmap loader.
David Turnerdd0f3602006-02-20 23:50:21 +0000897
Werner Lembergd41aecd2006-02-21 08:08:14 +0000898 * include/freetype/internal/sfnt.h (SFNT_Interface): Move
899 `set_sbit_strike' and `load_sbit_metrics' fields to the location of
900 version 2.1.8.
David Turnerdd0f3602006-02-20 23:50:21 +0000901
Werner Lembergd41aecd2006-02-21 08:08:14 +0000902 * src/sfnt/sfdriver.c (tt_face_set_sbit_strike_stub): Call
903 FT_Size_Request.
904 (sfnt_interface): Updated.
905
906 * src/sfnt/ttsbit.c [FT_CONFIG_OPTION_OLD_INTERNALS]: Don't load
907 ttsbit0.c.
908 (tt_load_sbit_metrics): Make `sbit_small_metrics_fields' static.
909
910 * src/sfnt/ttsbit.h: Updated.
David Turnerdd0f3602006-02-20 23:50:21 +0000911
David Turner0880ac32006-02-17 17:23:13 +00009122006-02-17 David Turner <david@freetype.org>
913
Werner Lembergf145e312006-02-19 16:12:18 +0000914 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't filter out exported
915 functions anymore. This ensures that all FT_BASE internal functions
916 are available for dynamic linking.
917
918 * include/freetype/ftcache.h (FTC_IMAGE_TYPE_COMPARE,
919 FTC_IMAGE_TYPE_HASH), src/cache/ftcbasic.c (FTC_OldFontRec,
920 FTC_OldImageDescRec, FTC_ImageCache_Lookup, FTC_Image_Cache_New,
921 FTC_OldImage_Desc, FTC_OLD_IMAGE_FORMAT, ftc_old_image_xxx,
922 ftc_image_type_from_old_desc, FTC_Image_Cache_Lookup,
923 FTC_SBitCache_Lookup, FTC_SBit_Cache_New, FTC_SBit_Cache_Lookup)
924 [FT_CONFIG_OPTION_OLD_INTERNALS]: Try to revive old functions of the
925 cache sub-system. We try to recognize old legacy signatures with a
926 gross hack (hope it works).
David Turner0880ac32006-02-17 17:23:13 +0000927
Werner Lemberg1fae6692006-02-17 16:16:40 +00009282006-02-17 Werner Lemberg <wl@gnu.org>
929
930 * devel/ftoption.h: Synchronize with
931 include/freetype/config/ftoption.h.
932
David Turnercda2d952006-02-16 22:45:31 +00009332006-02-16 David Turner <david@freetype.org>
934
Werner Lemberg8e6f8c42006-02-17 08:07:09 +0000935 Massive changes to the internals to respect the internal object
936 layouts and exported functions of FreeType 2.1.7. Note that the
937 cache sub-system cannot be fully retrofitted, unfortunately.
David Turnercda2d952006-02-16 22:45:31 +0000938
Werner Lemberg8e6f8c42006-02-17 08:07:09 +0000939 * include/freetype/config/ftoption.h
940 (FT_CONFIG_OPTION_OLD_INTERNALS): New macro.
941
942 * include/freetype/ftcache.h, include/freetype/cache/ftccache.h,
943 include/freetype/cache/ftccmap.h,
944 include/freetype/internal/ftcalc.h,
945 include/freetype/internal/ftdriver.h,
946 include/freetype/internal/ftmemory.h,
947 include/freetype/internal/ftobjs.h,
948 include/freetype/internal/psaux.h, include/freetype/internal/sfnt.h,
949 include/freetype/internal/t1types.h,
950 include/freetype/internal/tttypes.h, src/base/ftcalc.c,
951 src/base/ftdbgmem.c, src/base/ftobjs.c, src/base/ftutil.c,
952 src/bdf/bdfdrivr.c, src/cache/ftccache.c, src/cache/ftccback.h,
953 src/cache/ftcmanag.c, src/cff/cffdrivr.c, src/cid/cidriver.c,
954 src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c, src/psaux/psauxmod.c,
955 src/sfnt/sfdriver.c, src/truetype/ttdriver.c, src/type1/t1driver.c,
956 src/type1/t1objs.c, src/type42/t42drivr.c, src/winfonts/winfnt.c:
957 Use FT_CONFIG_OPTION_OLD_INTERNALS to revive old functions and data
958 structures.
959
960 Move newly added structure elements to the end of the affected
961 structure and add stub fields (if FT_CONFIG_OPTION_OLD_INTERNALS is
962 defined) to assure binary compatibility with older FreeType
963 versions.
964 Use FT_CONFIG_OPTION_OLD_INTERNALS to add function stubs for old
965 functions:
966
967 ft_stub_set_char_sizes
968 ft_stub_set_pixel_sizes
969
970 Rename the following internal functions to provide the old function
971 names as stubs:
972
973 FT_Alloc -> ft_mem_alloc
974 FT_QAlloc -> ft_mem_qalloc
975 FT_Realloc -> ft_mem_realloc
976 FT_QRealloc -> ft_mem_qrealloc
977 FT_Free -> ft_mem_free
978 FT_Alloc_Debug -> ft_mem_alloc_debug
979 FT_QAlloc_Debug -> ft_mem_qalloc_debug
980 FT_Realloc_Debug -> ft_mem_realloc_debug
981 FT_QRealloc_Debug -> ft_mem_qrealloc_debug
982 FT_Free_Debug -> ft_mem_free_debug
David Turnercda2d952006-02-16 22:45:31 +0000983
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +00009842006-02-15 Chia-I Wu <b90201047@ntu.edu.tw>
985
986 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
987 unused `max_points' and `max_contours'.
David Turnercda2d952006-02-16 22:45:31 +0000988
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +0000989 * src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
990 (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Update.
991
992 * include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused
993 `max_components'.
994
995 * src/truetype/ttinterp.h (TT_ExecContextRec): Remove unused
996 `loadSize' and `loadStack'.
997
998 * src/truetype/ttinterp.c (TT_Done_Context, TT_Load_Context),
999 src/sfnt/ttload.c (tt_face_load_maxp): Update.
1000
1001 * src/cff/cffobjs.h (cff_size_select), src/sfnt/sfdriver.c
1002 (sfnt_interface), src/truetype/ttdriver.c (tt_size_request): Fix
1003 compiler errors/warnings when TT_CONFIG_OPTION_EMBEDDED_BITMAPS is not
1004 defined.
1005
1006 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): Fix
1007 possible segment faults for the non-FT_OPTIMIZE_MEMORY'ed versions.
1008 (finally!)
1009
Werner Lemberg8e6f8c42006-02-17 08:07:09 +00001010
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +00001011 For most OpenType tables, `tt_face_load_xxxx' simply loads the table
1012 and `face->root' is set later in `sfnt_load_face'. Here, we try to
Werner Lemberg8e6f8c42006-02-17 08:07:09 +00001013 make this work for _all_ tables. Also improve tracing messages.
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +00001014
1015 * src/sfnt/ttsbit.c, src/sfnt/ttsbit0.c, src/sfnt/ttload.c,
1016 src/sfnt/ttmtx.c: all `tt_face_load_xxxx' should load the table and
1017 then exit. Error handling or setting face->root is done later in
1018 `sfnt_load_face'.
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +00001019
1020 * src/sfnt/sfobjs.c (sfnt_load_face): Work harder.
1021 Mac bitmap-only fonts are not scalable.
1022 Check that `face->header.Units_Per_EM' is not zero.
Werner Lemberg8e6f8c42006-02-17 08:07:09 +00001023 (LOAD_, LOADM_): Emit pretty trace messages.
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +00001024
Werner Lemberg8e6f8c42006-02-17 08:07:09 +00001025 * src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Read metrics
1026 from `eblc'.
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +00001027
1028 * src/sfnt/ttcmap.c (tt_face_build_cmaps), src/sfnt/ttpost.c
1029 (load_format_20, load_format_25, tt_face_get_ps_name): Use
1030 face->max_profile.numGlyphs, instead of face->root.num_glyphs.
1031
Werner Lemberg52254022006-02-15 06:05:52 +000010322006-02-14 Werner Lemberg <wl@gnu.org>
1033
1034 * include/freetype/ftoutln.h (FT_Outline_Embolden): Mention in
1035 documentation that negative strength values are possible.
1036 Give an example call.
1037
1038 * include/freetype/freetype.h (FT_GlyphSlotRec): Improve
1039 documentation of `outline' field.
1040
1041 * src/sfnt/sfobjc.s: Inckude FT_INTERNAL_DEBUG_H.
1042 * src/sfnt/sfdriver.c: Include ttmtx.h.
1043
1044 * src/autofit/afcjk.c: Include aftypes.h and aflatin.h.
1045
Wu, Chia-I (吳佳一)9a2b3b62006-02-14 08:37:03 +000010462006-02-14 Chia-I Wu <b90201047@ntu.edu.tw>
1047
Wu, Chia-I (吳佳一)3dc00182006-02-14 13:36:28 +00001048 * src/sfnt/ttmtx.c (tt_face_get_metrics): Typo.
1049
10502006-02-14 Chia-I Wu <b90201047@ntu.edu.tw>
1051
Wu, Chia-I (吳佳一)9a2b3b62006-02-14 08:37:03 +00001052 * src/sfnt/ttmtx.c (tt_face_load_hhea, tt_face_load_hmtx): Simply
1053 return error if table is missing.
1054 Check table length in non-FT_OPTIMIZE_MEMORY'ed `tt_face_load_hmtx'.
1055
1056 * src/sfnt/sfobjs.c (sfnt_load_face): Take care of missing metrics
Werner Lemberg52254022006-02-15 06:05:52 +00001057 tables. The last change makes Mac bitmap-only font not load and
1058 this fixes it.
Wu, Chia-I (吳佳一)9a2b3b62006-02-14 08:37:03 +00001059
Werner Lemberg52254022006-02-15 06:05:52 +00001060 * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation
1061 error when FT_CONFIG_OPTION_INCREMENTAL is defined.
Wu, Chia-I (吳佳一)9a2b3b62006-02-14 08:37:03 +00001062
Wu, Chia-I (吳佳一)f5aa47b2006-02-14 06:40:10 +000010632006-02-13 Chia-I Wu <b90201047@ntu.edu.tw>
1064
Wu, Chia-I (吳佳一)35222ff2006-02-14 07:25:57 +00001065 Clean up the SFNT_Interface. In this final pass, `load_hmtx' is
1066 splitted from `load_hhea'.
1067
1068 * include/freetype/internal/sfnt.h, src/sfnt/sfdriver.c,
1069 src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Split `hmtx' from `hhea'.
1070
1071 * src/sfnt/sfobjs.c (sfnt_load_face): Update.
1072
10732006-02-13 Chia-I Wu <b90201047@ntu.edu.tw>
1074
Wu, Chia-I (吳佳一)e0decd12006-02-14 07:20:06 +00001075 * src/sfnt/ttmtx.h, src/sfnt/ttmtx.c: Why are there two copies of
1076 code...
1077
10782006-02-13 Chia-I Wu <b90201047@ntu.edu.tw>
1079
Werner Lemberg52254022006-02-15 06:05:52 +00001080 Clean up the SFNT_Interface. In this pass, we want to treat the
1081 font directory (offset table and table directory) as a normal table
1082 like the others. This also means that TTCs are no longer recognized
1083 there but in `init_face'.
Wu, Chia-I (吳佳一)65863a52006-02-14 07:01:29 +00001084
1085 * include/freetype/internal/sfnt.h (SFNT_Interface),
1086 src/sfnt/sfdriver.c: `load_sfnt_header' and `load_directory' are
1087 combined and renamed to `load_font_dir'.
1088
1089 * src/sfnt/ttload.h, src/sfnt/ttload.c:
1090 s/sfnt_dir_check/check_table_dir/.
1091 `sfnt_init' is moved to sfobjs.c and renamed to `sfnt_open_font'.
1092 `tt_face_load_sfnt_header' and `tt_face_load_directory' are combined
1093 and renamed to `tt_face_load_font_dir'.
1094
1095 * src/sfnt/sfobjs.c (sfnt_init_face): Recognize TTC here.
1096
10972006-02-13 Chia-I Wu <b90201047@ntu.edu.tw>
1098
Wu, Chia-I (吳佳一)f5aa47b2006-02-14 06:40:10 +00001099 Clean up the SFNT_Interface. Table loading functions are now named
Werner Lemberg52254022006-02-15 06:05:52 +00001100 after the tables' tags; `hdmx' is TrueType-specific and thus the
1101 code is moved to the truetype module; `get_metrics' is moved here
1102 from the truetype module so that the code can be shared with the cff
1103 module.
Wu, Chia-I (吳佳一)f5aa47b2006-02-14 06:40:10 +00001104
1105 This pass involves no real changes. That is, the code is moved
1106 verbatim mostly. The only exception is the return value of
1107 `tt_face_get_metrics'.
1108
1109 * include/freetype/internal/sfnt.h, src/sfnt/rules.mk,
1110 src/sfnt/sfdriver.c, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
1111 src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttsbit.c,
1112 src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: Clean up the SFNT_Interface.
David Turnercda2d952006-02-16 22:45:31 +00001113
Werner Lemberg52254022006-02-15 06:05:52 +00001114 * src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: New files. Metrics-related
1115 tables' loading and parsing code is moved to here.
1116 Move `tt_face_get_metrics' here from the truetype module. The
1117 return value is changed from `void' to `FT_Error'.
Wu, Chia-I (吳佳一)f5aa47b2006-02-14 06:40:10 +00001118
1119 * include/freetype/internal/fttrace.h: New trace: ttmtx.
1120
1121 * src/truetype/ttpload.c, src/truetype/ttpload.h: `hdmx' loading and
1122 parsing code is moved here.
1123 New function `tt_face_load_prep' splitted from `tt_face_load_fpgm'.
1124 `tt_face_load_fpgm' returns `FT_Err_Ok' if `fpgm' doesn't exist.
1125
1126 * src/cff/cffgload.c, src/cff/cffobjs.c: Update.
1127
1128 * src/truetype/ttgload.c, src/truetype/ttobjs.c: Update.
1129
Wu, Chia-I (吳佳一)f9a69132006-02-11 12:12:02 +000011302006-02-11 Chia-I Wu <b90201047@ntu.edu.tw>
1131
Wu, Chia-I (吳佳一)4c507ff2006-02-11 13:22:37 +00001132 * src/autofit/afcjk.c (af_cjk_metrics_init): Fix a stupid bug...
1133
1134 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Use
Werner Lembergd39fda22006-02-12 21:49:21 +00001135 AF_LatinMetricsRec as the dummy metrics because we cast the metrics
1136 to it later in `af_latin_hints_link_segments'.
Wu, Chia-I (吳佳一)4c507ff2006-02-11 13:22:37 +00001137
11382006-02-11 Chia-I Wu <b90201047@ntu.edu.tw>
1139
Wu, Chia-I (吳佳一)f9a69132006-02-11 12:12:02 +00001140 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_CJK): #define
Werner Lembergd39fda22006-02-12 21:49:21 +00001141 to enable autofit CJK script support. (#define'd by default.)
Wu, Chia-I (吳佳一)f9a69132006-02-11 12:12:02 +00001142
1143 * src/autofit/aflatin.h (AF_LATIN_CONSTANT): New macro.
1144
Werner Lembergd39fda22006-02-12 21:49:21 +00001145 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Make sure
1146 that `edge_distance_threshold' is always set.
1147 (af_latin_hints_link_segments): Potential divide-by-zero bug.
Wu, Chia-I (吳佳一)f9a69132006-02-11 12:12:02 +00001148 Use latin constant in the scoring formula.
1149
1150 * src/autofit/afcjk.c: Minor updates due to the above three changes.
1151
1152 * docs/TODO, docs/CHANGES: Updated.
1153
Wu, Chia-I (吳佳一)4cdb45c2006-02-09 14:17:04 +000011542006-02-09 Chia-I Wu <b90201047@ntu.edu.tw>
1155
1156 Introduce experimental autofit CJK module based on akito's autohint
1157 patch. You need to #define AF_MOD_CJK in afcjk.c to enable it.
1158
1159 * src/autofit/afglobal.c, src/autofit/afcjk.h, src/autofit/afcjk.c,
1160 src/autofit/rules.mk, src/autofit/autofit.c, src/autofit/aftypes.h:
1161 Add CJK module based on akito's autohint patch.
1162
1163 * src/autofit/afhints.h (AF_SegmentRec): New field `len' for the
Werner Lembergd1d4bff2006-02-10 22:15:22 +00001164 overlap length of the segments.
1165 (AF_SEGMENT_LEN, AF_SEGMENT_DIST): New macros.
Wu, Chia-I (吳佳一)4cdb45c2006-02-09 14:17:04 +00001166
1167 * src/autofit/aflatin.h (af_latin_metrics_init_widths),
Werner Lembergd1d4bff2006-02-10 22:15:22 +00001168 src/autofit/aflatin.c (af_latin_metrics_init_widths): Made
1169 `FT_LOCAL'.
Wu, Chia-I (吳佳一)4cdb45c2006-02-09 14:17:04 +00001170 Use the character given by the caller.
1171 (af_latin_metrics_init_widths, af_latin_hints_link_segments): Scale
1172 the thresholds.
1173
1174 * src/autofit/afloader.c (af_loader_load_g): Respect
1175 AF_SCALER_FLAG_NO_ADVANCE.
1176
Werner Lemberg6be99f92006-02-09 07:38:57 +000011772006-02-09 Werner Lemberg <wl@gnu.org>
Suzuki, Toshiya (鈴木俊哉)4f41d632006-02-09 01:43:00 +00001178
Werner Lemberg6be99f92006-02-09 07:38:57 +00001179 * src/cid/cidparse.c (cid_parse_new): Remove shadowing variable.
Suzuki, Toshiya (鈴木俊哉)4f41d632006-02-09 01:43:00 +00001180
Werner Lemberg6be99f92006-02-09 07:38:57 +000011812006-02-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)458c3422006-02-08 12:58:24 +00001182
Werner Lemberg6be99f92006-02-09 07:38:57 +00001183 * src/cid/cidparse.c (cid_parse_new): Fix for abnormally short or
1184 broken CIDFont. Reported by Taek Kwan(TK) Lee (see ft-devel
1185 2005-11-02).
1186
11872006-02-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1188
1189 * builds/unix/configure.ac: Fix bug for `--with-old-mac-fonts'
1190 option on UNIX platform. It has been broken since 2006-01-11.
Suzuki, Toshiya (鈴木俊哉)458c3422006-02-08 12:58:24 +00001191
Werner Lemberg38beff02006-02-01 05:14:25 +000011922006-02-01 Werner Lemberg <wl@gnu.org>
1193
1194 * src/otvalid/module.mk: s/otvalid_module_class/otv_module_class/.
1195 * src/gxvalid/module.mk: s/gxvalid_module_class/gxv_module_class/.
1196
Werner Lemberg03379b62006-02-01 05:40:06 +00001197 * builds/unix/unixddef.mk: Actually do define PLATFORM (fixing
1198 change from 2006-01-31).
1199 (TOP_DIR, OBJ_DIR): Update.
1200
Werner Lemberg9a8006b2006-02-01 06:07:05 +00001201 * builds/unix/install.mk (install): Fix path for ftmodule.h.
1202
Werner Lemberg54a79c82006-02-01 07:54:07 +00001203 * Makefile, *.mk, builds/unix/unix-cc.in, builds/unix-def.in: Use
1204 `?=' where appropriate.
Werner Lemberg8a4de0d2006-02-01 07:52:11 +00001205
1206 * builds/detect.mk (TOP_DIR), builds/os2/os2-dev.mk (TOP_DIR),
1207 builds/win32/w32-dev.mk (TOP_DIR): Removed. Defined elsewhere.
1208
Werner Lemberg38beff02006-02-01 05:14:25 +000012092006-01-31 Werner Lemberg <wl@gnu.org>
Werner Lemberg59939242006-01-31 20:17:42 +00001210
1211 Implement new, simplified module selection. With GNU make it is now
1212 sufficient to modify a single file, `modules.cfg', to control the
1213 inclusion of modules and base extension files.
1214
1215 This change also fixes the creation of ftmodule.h; it now depends on
1216 `modules.cfg' and thus is rebuilt only if necessary.
1217
1218 Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the
1219 default location.
1220
1221 * modules.cfg: New file.
1222
1223 * builds/freetype.mk: Don't include `modules.mk'.
1224 Include all `rules.mk' files as specified in `modules.cfg'.
1225 (FTOPTION_FLAG, FTOPTION_H): New variables.
1226 (FT_CFLAGS): Add macro definition for FT_CONFIG_MODULES_H.
1227 Add FTOPTION_FLAG.
1228 ($(FT_INIT_OBJ)): Don't use FT_MODULE_LIST.
1229 (CONFIG_H): Add FTMODULE_H and FTOPTION_H.
1230 (INCLUDES): Add DEVEL_DIR.
1231 (INCLUDE_FLAGS, FTSYS_SRC, FTSYS_OBJ, FTDEBUG_SRC, FTDEBUG_OBJ,
1232 OBJ_M, OBJ_S): Use `:=', not `='.
1233 (remove_ftmodule_h): New phony target to delete `ftmodule.h'.
1234 (distclean): Add remove_ftmodule_h.
1235
1236 * builds/modules.mk: (MODULE_LIST): Removed.
1237 (make_module_list, clean_module_list): Replace targets
1238 with...
1239 (FTMODULE_H_INIT, FTMODULE_H_CREATE, FTMODULE_H_DONE): New
1240 variables. Reason for the change is that it is not possible to have
1241 a phony prerequisite which is run only if the target file must be
1242 rebuilt (phony prerequisites act like subroutines and are *always*
1243 executed). We only want to rebuild `ftmodule.h' if `module.cfg' is
1244 changed.
1245 Update all callers.
1246 ($FTMODULE_H)): Rule to create `ftmodule.h', depending on
1247 `modules.cfg'.
1248
1249 * builds/toplevel.mk: Rewrite and simplify module handling.
1250 (MODULES_CFG, FTMODULE_H): New variables.
1251 Include MODULES_CFG.
1252 (MODULES): New variable to include all `module.mk' and `rules.mk'
1253 files. We no longer use make's `wildcard' function for this.
1254
1255 * Makefile (USE_MODULES): Remove. Update all users.
1256 (OBJ_DIR): Define it here.
1257
1258 * src/*/module.mk: Change
1259
1260 make_module_list: foo
1261 foo: ...
1262
1263 to
1264
1265 FTMODULE_H_COMMANDS += FOO
1266 define FOO
1267 ...
1268 endef
1269
1270 in all files. `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'.
1271
1272 * src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS.
1273
1274 * builds/unix/detect.mk (setup): Always execute `configure' script.
1275 (have_mk): Rename to...
1276 (have_Makefile): This.
1277 Don't use `strip' function.
1278
1279 * builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is
1280 defined.
1281 (have_mk): Don't use `strip' function.
1282 Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test
1283 accordingly).
1284
1285 * builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'.
1286
1287 * builds/os2/os2-dev.mk, builds/unix/unix-dev.mk,
1288 builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Don't define
1289 BUILD_DIR but DEVEL_DIR for development header files.
1290
1291 * builds/ansi/ansi-def.mk (TOP_DIR, OBJ_DIR),
1292 builds/beos/beos-def.mk (TOP_DIR, OBJ_DIR), builds/unix/unix-def.in
1293 (TOP_DIR, OBJ_DIR): Removed. Defined elsewhere.
1294
1295 * builds/dos/dos-def.mk (OBJ_DIR), builds/os2/os2-def.mk (OBJ_DIR),
1296 builds/win32/win32-def.mk (OBJ_DIR): Removed. Defined elsewhere.
1297
1298 * builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for
1299 development header files.
1300 Don't define PLATFORM.
1301
1302 * configure: Copy `modules.cfg' to builddir if builddir != srcdir.
1303 Update snippet taken from autoconf's m4sh.m4 to current CVS version.
1304 Be more verbose.
1305
1306 * include/freetype/config/ftmodule.h: Add comments -- this file is
1307 no longer used if FreeType is built with GNU make.
1308
1309 * docs/CHANGES, docs/CUSTOMIZE, docs/INSTALL, docs/INSTALL.ANY,
1310 docs/INSTALL.GNU, docs/INSTALL.UNX: Document new build mechanism.
1311 Other minor updates.
1312
1313 * modules.txt: Removed. Contents included in `modules.cfg'.
1314
1315
1316 * include/freetype/internal/ftmemory.h (FT_QAlloc_Debug,
1317 FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos.
1318
1319 * src/base/ftdbgmem.c (FT_Alloc_Debug, FT_Realloc_Debug,
1320 FT_QAlloc_Debug, FT_QRealloc_Debug, FT_Free_Debug)
1321 [FT_STRICT_ALIASING]: Implement.
1322
Wu, Chia-I (吳佳一)98d802b2006-01-31 07:01:24 +000013232006-01-31 Chia-I Wu <b90201047@ntu.edu.tw>
1324
Wu, Chia-I (吳佳一)5d146852006-01-31 10:29:44 +00001325 * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
Werner Lemberg59939242006-01-31 20:17:42 +00001326 (cid_face_init), src/pfr/pfrobjs.c (pfr_face_init),
1327 src/type1/t1objs.c (T1_Face_Init): Set face->height to MAX(1.2 *
1328 units_per_EM, ascender - descender).
Wu, Chia-I (吳佳一)5d146852006-01-31 10:29:44 +00001329
13302006-01-31 Chia-I Wu <b90201047@ntu.edu.tw>
1331
Wu, Chia-I (吳佳一)98d802b2006-01-31 07:01:24 +00001332 * include/freetype/internal/t1types.h (AFM_FontInfo),
1333 src/psaux/afmparse.c, src/tools/test_afm.c: Read `FontBBox',
1334 `Ascender', and `Descender' from an AFM.
1335
1336 * src/type1/t1afm.c (T1_Read_Metrics): Use the metrics from the AFM.
1337
Werner Lemberg59939242006-01-31 20:17:42 +00001338 * include/freetype/freetype.h (FT_FaceRec): Mention that fields may
1339 be changed after file attachment.
Wu, Chia-I (吳佳一)98d802b2006-01-31 07:01:24 +00001340
Werner Lemberg7596fd32006-01-28 16:29:29 +000013412006-01-28 Werner Lemberg <wl@gnu.org>
1342
1343 * src/*/module.mk (.PHONY): Add.
1344
Werner Lemberg68a15eb2006-01-28 07:30:58 +000013452006-01-27 Werner Lemberg <wl@gnu.org>
1346
1347 * README, docs/FTL.TXT: Fix email address for bug reports.
1348 Other minor formatting.
1349
Werner Lembergf6a25502006-01-28 10:38:15 +00001350 * devel/ftoption.h: Synchronize with
1351 include/freetype/config/ftoption.h.
1352
1353 * src/autofit/module.mk (add_autofit_module), src/bdf/module.mk
1354 (add_bdf_module), src/type42/module.mk (add_type42_driver): Fix
1355 whitespace.
1356
1357 * src/smooth/module.mk (add_smooth_renderer): Add lcd and lcdv
1358 renderer classes.
1359
David Turnerff0e9e62006-01-27 09:15:53 +000013602006-01-27 David Turner <david@freetype.org>
1361
Werner Lemberg68a15eb2006-01-28 07:30:58 +00001362 * builds/unix/configure.ac: Fix build problem on Cygwin.
David Turnercda2d952006-02-16 22:45:31 +00001363
Werner Lemberg68a15eb2006-01-28 07:30:58 +00001364 * builds/unix/install.mk (install): Don't install the internal
1365 headers, and remove existing ones if found in the target install
1366 directory.
David Turner7213b4f2006-01-27 16:42:32 +00001367
Werner Lemberg68a15eb2006-01-28 07:30:58 +00001368 * src/autofit/afwarp.c: Add simple #ifdef to prevent compilation
1369 if the warp hinter isn't active (it shouldn't, still experimental).
David Turner6a681fa2006-01-27 12:11:22 +00001370
Werner Lemberg68a15eb2006-01-28 07:30:58 +00001371 * Jamfile, include/freetype/config/ftmodule.h: Remove `gxvalid'
Werner Lembergbe3c9812006-01-27 14:16:16 +00001372 and `otvalid' from the list of modules that are linked statically
1373 to a given FreeType library. Functionality has been moved to the
1374 `ftvalid' CVS module.
David Turner6a681fa2006-01-27 12:11:22 +00001375
Werner Lembergbe3c9812006-01-27 14:16:16 +00001376 Note also that current Make-based build system still compiles the
1377 modules though.
David Turner6a681fa2006-01-27 12:11:22 +00001378
Werner Lembergbe3c9812006-01-27 14:16:16 +00001379 * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): New macro
1380 which controls the definitions of the memory management functions to
1381 avoid warnings with recent versions of GCC. This macro is only here
1382 to be disabled, in case we detect problems with the new scheme.
David Turner6a681fa2006-01-27 12:11:22 +00001383
Werner Lembergbe3c9812006-01-27 14:16:16 +00001384 NOTE: Disable macro to use the memory debugger -- this will be fixed
1385 later!
1386
1387 * include/freetype/internal/ftmemory.h, src/base/ftutil.c (FT_Alloc,
1388 FT_QAlloc, FT_Realloc, FT_QRealloc, FT_Free) [FT_STRICT_ALIASING]:
1389 New versions.
1390
1391
1392 * builds/win32/visualc/freetype.dsp: Updating project file to
1393 define FT2_BUILD_LIBRARY, and remove gxvalid + otvalid modules from
1394 compilation.
1395
1396
1397 * builds/freetype.mk (FT_CFLAGS), Jamfile (DEFINES): Define the
1398 macro FT2_BUILD_LIBRARY when compiling the library.
1399
1400 * include/freetype/config/ftheader.h: Remove inclusions of internal
1401 headers except if the macro FT2_BUILD_LIBRARY is defined.
1402
1403
1404 * include/freetype/internal/psaux.h (AFM_KernPair, AFM_TrackKern,
1405 AFM_FontInfo): Move structure declarations to...
1406 * include/freetype/internal/t1types.h: This file.
1407
1408
1409 * (many files): Fix compiler warnings.
1410 Various minor reorganizations.
1411
1412
1413 * src/cff/cffload.c (cff_font_done): Don't free static array
1414 `subfonts'.
1415
1416 * src/otvalid/otvcommn.c (otv_ClassDef_validate),
1417 src/otvalid/otvgpos.c (otv_x_sxy): Fix debugging information.
1418
Werner Lemberg68a15eb2006-01-28 07:30:58 +00001419
1420 Get rid of writable static variables (i.e., the string table) in
1421 afmparse, and fix compilation in FT2_MULTI mode.
1422
Werner Lembergbe3c9812006-01-27 14:16:16 +00001423 * src/psaux/afmparse.c: Include ft2build.h and FT_FREETYPE_H.
1424 (AFM_MAX_ARGUMENTS): Define...
1425 * src/psaux/afmparse.h: Here.
1426 * src/psaux/Jamfile (_sources): Add afmparse.
1427
1428 * src/psaux/psconv.c: Include psconv.h.
1429
1430 * src/type1/t1afm.c: Don't include FT_INTERNAL_TYPE1_TYPES_H but
1431 FT_INTERNAL_POSTSCRIPT_AUX_H.
1432 * src/type1/t1afm.h: Include FT_INTERNAL_TYPE1_TYPES_H.
David Turnerff0e9e62006-01-27 09:15:53 +00001433
Wu, Chia-I (吳佳一)4c6234d2006-01-23 10:46:38 +000014342006-01-23 Chia-I Wu <b90201047@ntu.edu.tw>
1435
Wu, Chia-I (吳佳一)bcc438b2006-01-23 14:12:40 +00001436 * include/freetype/freetype.h (FT_Select_Size): Rename the second
1437 argument from `idx' to `strike_index'.
1438 (FT_Size_Request_Type): Add FT_SIZE_REQUEST_TYPE_MAX to the end of
1439 this enum.
1440
1441 * include/freetype/internal/ftobjs.h (FT_REQUEST_WIDTH,
1442 FT_REQUEST_HEIGHT): New macros to get the width and height of a
1443 request, in fractional pixels.
1444
1445 * include/freetype/internal/ftobjs.h (FT_Select_Metrics,
1446 FT_Request_Metrics), src/base/ftobjs.c (FT_Select_Metrics,
1447 FT_Request_Metrics): New base functions to set the font metrics. They
1448 were part of FT_Select_Size/FT_Request_Size and are made independent
1449 functions so that metrics are not set again and again.
1450
1451 * src/base/ftobjs.c (FT_Select_Size, FT_Request_Size): Metrics are set
1452 only when driver's size_select/size_request is NULL. That is, drivers
1453 should set the metrics themselves.
1454 (FT_Match_Size): Round before matching. This was what we did and it
1455 does cause some problems without rounding.
1456
1457 * src/cff/cffobjs.c (cff_size_select), src/truetype/ttdriver.c
1458 (tt_size_select): Set the font metrics.
1459 s/index/strike_index/.
1460 The scaled metrics are always preferred over strikes' metrics, even
1461 when some strike is selected. This is done because the strikes'
1462 metrics are not reliable, e.g., the sign of the descender is wrong for
1463 some fonts.
1464
1465 * src/cff/cffobjs.c (cff_size_request), src/truetype/ttdriver.c
1466 (tt_size_request): Set the font metrics.
1467 Call cff_size_select/tt_size_select when some strike is matched.
1468
1469 * src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/cid/cidobjs.c,
1470 src/pcf/pcfdrivr.c, src/truetype/ttdriver.c, src/type1/t1objs.c,
1471 src/type1/t1objs.h, src/type42/t42objs.c, src/winfonts/winfnt.c:
1472 Set the font metrics.
1473 s/index/strike_index/.
1474
1475 * src/tools/test_afm.c, src/psaux/psconv.c: Older versions of these
1476 files were committed. Just a catch-up.
1477 (PS_Conv_ToFixed): Remove the `goto'.
1478 (PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Speed up a little.
1479
1480 * src/sfnt/ttsbit.c (tt_face_load_sbit_strikes,
1481 tt_face_load_strike_metrics), src/sfnt/ttsbit0.c
1482 (tt_face_load_sbit_strikes, tt_face_load_strike_metrics): The
1483 advertised metrics in `available_sizes' are different from those
1484 actually used.
1485
14862006-01-23 Chia-I Wu <b90201047@ntu.edu.tw>
1487
Wu, Chia-I (吳佳一)4c6234d2006-01-23 10:46:38 +00001488 * src/psaux/psaux.c src/psaux/psauxmod.c src/type1/t1driver.c: Make
1489 AFM parser optional, controlled by `T1_CONFIG_OPTION_NO_AFM'.
1490
Werner Lemberged70ca52006-01-23 07:28:03 +000014912006-01-22 Werner Lemberg <wl@gnu.org>
1492
1493 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
1494 `texinfo' CVS module at savannah.gnu.org.
1495
Werner Lemberg1be9ebf2006-01-22 06:58:16 +000014962006-01-21 Werner Lemberg <wl@gnu.org>
1497
1498 * src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c.
1499
Werner Lembergb36bf522006-01-22 07:09:54 +00001500 * src/autofit/afloader.c (af_loader_load_g): Move AF_USE_WARPER up
1501 to avoid compiler warnings.
1502
1503 * src/autofit/afwarp.c (af_warper_compute_line_best): Remove
1504 shadowing variable declarations.
1505 Fix warning parameters and replace printf with AF_LOG.
1506 (af_warper_compute): Remove unused variable.
1507
David Turnerbb4edc92006-01-21 14:31:45 +000015082006-01-20 David Turner <david@freetype.org>
1509
Werner Lemberg1be9ebf2006-01-22 06:58:16 +00001510 Adding experimental implementation of `warp hinting' (new hinting
1511 algorithm for gray-level and LCD rendering). It is disabled by
1512 default, you need to #define AF_USE_WARPER in aftypes.h.
1513
1514 * src/autofit/afhints.c (af_glyph_hints_scale_dim) [AF_USE_WARPER]:
1515 New function.
1516 * src/autofit/afhints.h: Updated.
1517
1518 * src/autofit/aflatin.c [AF_USE_WARPER]: Include afwarp.h.
1519 (af_latin_hints_init) [AF_USE_WARPER]: Reset mode to
1520 FT_RENDER_MODE_NORMAL if an LCD mode is selected.
1521 (af_latin_hints_apply) [AF_USE_WARPER]: Call af_warper_compute
1522 appropriately.
1523
1524 * src/autofit/afloader.c (af_loader_load_g) [!AF_USER_WARPER]:
1525 Isolate code for adjusting metrics.
1526
1527 * src/autofit/aftypes.h (AF_USE_WARPER): New macro (commented out by
1528 default).
1529
1530 * src/autofit/afwarp.c, src/autofit/afwarp.h: New files.
1531
1532 * src/autofit/autofit.c [AF_USE_WARPER]: Include afwarp.c.
1533
1534 * src/autofit/Jamfile (_sources): Add afwarp.
David Turnerbb4edc92006-01-21 14:31:45 +00001535
David Turner8c16ed32006-01-19 13:10:49 +000015362006-01-19 David Turner <david@freetype.org>
1537
Werner Lemberge7be64e2006-01-21 17:27:32 +00001538 * src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Fix small bug
1539 that prevented compilation when FT_OPTIMIZE_MEMORY is defined.
David Turner8c16ed32006-01-19 13:10:49 +00001540
Werner Lemberg8b560632006-01-19 08:30:58 +000015412006-01-19 Brian Weed <bw@imaginengine.com>
1542
1543 * builds/win32/visualc/freetype.dsp: Updated.
1544
Werner Lemberg47bf95d2006-01-17 16:55:32 +000015452006-01-17 Werner Lemberg <wl@gnu.org>
1546
1547 Use pscmap service in CFF module.
1548
1549 * src/cff/cffcmap.c (cff_cmap_uni_pair_compare): Removed.
1550 (cff_sid_to_glyph_name): New function.
1551 (cff_cmap_unicode_init, cff_cmap_unicode_done,
1552 cff_cmap_unicode_char_index, cff_cmap_unicode_char next): Use pscmap
1553 service.
1554 (cff_cmap_unicode_class_rec): Updated.
1555 * src/cff/cffcmap.h (CFF_CMapUnicode, CFF_CMap_UniPair): Removed.
1556
1557
1558 * src/psnames/psmodule.c (ps_unicodes_char_next): Fix `unicode'
1559 return value.
1560
1561
1562 * src/psaux/afmparse.c (afm_parser_read_vals): Use double casting
Werner Lemberge7be64e2006-01-21 17:27:32 +00001563 to avoid compiler warnings regarding type-punning.
Werner Lemberg47bf95d2006-01-17 16:55:32 +00001564
Wu, Chia-I (吳佳一)108fdbb2006-01-16 15:35:56 +000015652006-01-16 Chia-I Wu <b90201047@ntu.edu.tw>
1566
1567 * src/psaux/afmparse.c, src/psaux/afmparse.h: New files which
Werner Lembergce94c7a2006-01-16 22:35:33 +00001568 implement an AFM parser.
Wu, Chia-I (吳佳一)108fdbb2006-01-16 15:35:56 +00001569
1570 * src/psaux/psconv.c, src/psaux/psconv.h: New files to provide
Werner Lembergce94c7a2006-01-16 22:35:33 +00001571 conversion functions (e.g., PS real number => FT_Fixed) for the
1572 PS_Parser and AFM_Parser. Some of the functions are taken, with
1573 some modifications, from the file psobjs.c.
Wu, Chia-I (吳佳一)108fdbb2006-01-16 15:35:56 +00001574
1575 * src/psaux/psobjs.c: Use functions from psconv.c.
1576
Werner Lembergce94c7a2006-01-16 22:35:33 +00001577 * include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Add
Wu, Chia-I (吳佳一)108fdbb2006-01-16 15:35:56 +00001578 `AFM_Parser' to the `psaux' service.
1579
Werner Lembergce94c7a2006-01-16 22:35:33 +00001580 * src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Include
1581 those new files.
Wu, Chia-I (吳佳一)108fdbb2006-01-16 15:35:56 +00001582
1583 * src/tools/test_afm.c: A test program for AFM parser.
1584
Werner Lembergce94c7a2006-01-16 22:35:33 +00001585 * include/freetype/internal/services/svkern.h: New file providing a
1586 `Kerning' service. It is currently only used to get the track
1587 kerning information.
1588
1589 * include/freetype/internal/ftserv.h (FT_SERVICE_KERNING_H): New
1590 macro.
Wu, Chia-I (吳佳一)108fdbb2006-01-16 15:35:56 +00001591
1592 * src/type1/t1driver.c, src/type1/t1objs.c, src/type1/t1afm.c,
1593 src/type1/t1afm.h: Update to use the AFM parser.
1594 Provide the `Kerning' service.
1595
1596 * include/freetype/freetype.h, src/base/ftobjs.c: New API
1597 `FT_Get_Track_Kerning'.
1598
Wu, Chia-I (吳佳一)e5ff0592006-01-15 06:00:49 +000015992006-01-15 Chia-I Wu <b90201047@ntu.edu.tw>
1600
Wu, Chia-I (吳佳一)ea1e8d32006-01-15 15:01:45 +00001601 * include/freetype/internal/ftobjs.h, src/base/ftobjs.c,
1602 src/bdf/bdfdrivr.c, src/cff/cffgload.c, src/cid/cidgload.c,
1603 src/pcf/pcfdrivr.c, src/type1/t1gload.c, src/winfonts/winfnt.c:
1604 s/ft_fake_vertical_metrics/ft_synthesize_vertical_metrics/.
1605
1606 * docs/CHANGES: Mention that vertical metrics are synthesized for
1607 fonts not having this info.
1608
16092006-01-15 Chia-I Wu <b90201047@ntu.edu.tw>
1610
Wu, Chia-I (吳佳一)212aee02006-01-15 06:24:53 +00001611 * include/freetype/internal/ftobjs.h (ft_fake_vertical_metrics),
Werner Lemberg1723dcc2006-01-15 07:30:32 +00001612 src/base/ftobjs.c (ft_fake_vertical_metrics): New function to fake
Wu, Chia-I (吳佳一)212aee02006-01-15 06:24:53 +00001613 vertical metrics.
1614
1615 * src/cff/cffgload.c, src/cid/cidgload.c, src/pcf/pcfdrivr.c,
Werner Lemberg1723dcc2006-01-15 07:30:32 +00001616 src/type1/t1gload.c, src/winfonts/winfnt.c: Fake vertical metrics,
1617 which are monotone.
Wu, Chia-I (吳佳一)212aee02006-01-15 06:24:53 +00001618
1619 * src/truetype/ttgload.c (compute_glyph_metrics): Some fixes and
Werner Lemberg1723dcc2006-01-15 07:30:32 +00001620 formattings in vertical metrics faking. There is still room for
1621 improvements (and so does the CFF module).
Wu, Chia-I (吳佳一)212aee02006-01-15 06:24:53 +00001622
16232006-01-15 Chia-I Wu <b90201047@ntu.edu.tw>
1624
Wu, Chia-I (吳佳一)e5ff0592006-01-15 06:00:49 +00001625 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdrivr.c
1626 (PCF_Glyph_Load), src/winfonts/winfnt.c (FNT_Load_Glyph): Don't set
Werner Lemberg1723dcc2006-01-15 07:30:32 +00001627 the linear advance fields as they are only used by the outline
1628 glyphs.
Wu, Chia-I (吳佳一)e5ff0592006-01-15 06:00:49 +00001629
Werner Lemberg1723dcc2006-01-15 07:30:32 +00001630 * include/freetype/freetype.h: Documentation updates and
1631 clarifications.
Wu, Chia-I (吳佳一)e5ff0592006-01-15 06:00:49 +00001632 The meaning of FT_LOAD_FORCE_AUTOHINT is changed so that no real
1633 change need be made to the code.
1634
1635 * src/base/ftobjs.c (FT_Load_Glyph): Resolve flag dependencies and
1636 decide whether to use the auto-hinter according to documentation.
1637 There should to be no real difference.
Werner Lemberg1723dcc2006-01-15 07:30:32 +00001638 Some checks (e.g., is text height positve?) after the glyph is
1639 loaded.
Wu, Chia-I (吳佳一)e5ff0592006-01-15 06:00:49 +00001640 (FT_Select_Size, FT_Request_Size): Scales are set to wrong values.
1641 Be careful that scales won't be negative.
1642
Wu, Chia-I (吳佳一)e33dc2e2006-01-14 05:09:30 +000016432006-01-14 Chia-I Wu <b90201047@ntu.edu.tw>
1644
1645 * docs/CHANGES: Mention the size selection change.
1646
1647 * src/bdf/bdfdrivr.c (BDF_Size_Request, BDF_Size_Select),
1648 src/pcf/pcfdrivr.c (PCF_Size_Request, PCF_Size_Select),
1649 src/winfonts/winfnt.c (FNT_Size_Request, FNT_Size_Select): Do size
Werner Lemberg3d8eeb82006-01-14 07:10:45 +00001650 matching for requests of type NOMINAL and REAL_DIM.
Wu, Chia-I (吳佳一)e33dc2e2006-01-14 05:09:30 +00001651
1652 * src/winfonts/winfnt.c (FNT_Face_Init): Print trace message when
1653 `pixel_height' is used for nominal height.
1654
1655 * src/base/ftobjs.c (FT_Request_Size): Call `FT_Match_Size' if the
1656 face is bitmap only and driver doesn't provide `request_size'. This
1657 is added merely for completion as no driver satisfies the conditions.
1658
Wu, Chia-I (吳佳一)fa7d6ab2006-01-13 12:21:31 +000016592006-01-13 Chia-I Wu <b90201047@ntu.edu.tw>
1660
1661 Introduce new size selection interface.
1662
Werner Lembergf1c2b912006-01-13 14:53:28 +00001663 * include/freetype/internal/ftdriver.h (struct FT_Driver_ClassRec):
Wu, Chia-I (吳佳一)fa7d6ab2006-01-13 12:21:31 +00001664 Replace `set_char_sizes' and `set_pixel_sizes' by `request_size' and
1665 `select_size'.
1666
1667 * include/freetype/freetype.h (FT_Select_Size, FT_Size_Request_Type,
1668 FT_Size_Request, FT_Request_Size, FT_Select_Size), src/base/ftobjs.c
1669 (FT_Select_Size, FT_Request_Size): API additions to export the new
1670 size selection interface.
1671
1672 * src/base/ftobjs.c (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Use
1673 `FT_Request_Size'.
1674
1675 * include/freetype/internal/ftobjs.h (FT_Match_Size),
1676 src/base/ftobjs.c (FT_Match_Size): New function to match a size
1677 request against `available_sizes'. Drivers supporting bitmap strikes
1678 can use this function to implement `request_size'.
1679
1680 * src/bdf/bdfdrivr.c, src/cid/cidobjs.c, src/cid/cidobjs.h,
1681 src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/type1/t1driver.c,
1682 src/type1/t1objs.c, src/type1/t1objs.h, src/type42/t42drivr.c,
1683 src/type42/t42objs.c, src/type42/t42objs.h, src/winfonts/winfnt.c:
1684 Update to new size selection interface.
1685
1686 * src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffobjs.c,
1687 src/cff/cffobjs.h, src/truetype/ttdriver.c, src/truetype/ttgload.c,
1688 src/truetype/ttobjs.c, src/truetype/ttobjs.h: Update to new size
1689 selection interface.
1690 Make `strike_index' FT_ULong and always defined.
1691 Use `load_strike_metrics' provided by SFNT interface.
1692
16932006-01-13 Chia-I Wu <b90201047@ntu.edu.tw>
1694
1695 * include/freetype/internal/sfnt.h (SFNT_Interface): New method
1696 `load_strike_metrics' used to load the strike's metrics.
1697
1698 * src/sfnt/sfdriver.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
1699 src/sfnt/ttsbit0.c: New function `tt_face_load_strike_metrics'.
1700
1701 * src/pfr/pfrobjs.c (pfr_face_init): Set FT_Bitmap_Size correctly.
1702
1703 * src/winfonts/winfnt.c (FNT_Face_Init): Use `nominal_point_size' for
1704 nominal size unless it is obviously incorrect.
1705
1706 * include/freetype/freetype.h (FT_Bitmap_Size): Update the comments on
1707 FNT driver.
1708
Werner Lemberg8ab09792006-01-12 08:12:27 +000017092006-01-12 Werner Lemberg <wl@gnu.org>
1710
1711 Prepare use of pscmap service within CFF module.
1712
1713 * include/freetype/internal/services/svpscmap.h: Include
1714 FT_INTERNAL_OBJECTS_H.
1715 (PS_Unicode_Index_Func): Removed. Unused.
1716 (PS_Macintosh_Name_Func): Renamed to...
1717 (PS_Macintosh_NameFunc): This.
1718 Update all callers.
1719 (PS_Adobe_Std_Strings_Func): Renamed to...
1720 (PS_Adobe_Std_StringsFunc): This.
1721 Update all callers.
1722 (PS_UnicodesRec): This is the former `PS_Unicodes' structure.
1723 Add `cmap' member.
1724 Update all callers.
1725 (PS_Unicodes): This is now a typedef'd pointer to PS_UnicodesRec.
1726 Update all callers.
1727 (PS_Glyph_NameFunc): New typedef.
1728 (PS_Unicodes_InitFunc): Change arguments to expect a function
1729 and generic data pointer which returns a glyph name from a given
1730 index.
1731
1732 * src/psnames/psmodule.c (ps_unicodes_init, ps_unicodes_char_index,
1733 ps_unicodes_char_next, pscmaps_interface): Updated.
1734
1735 * include/freetype/internal/t1types.h (T1_FaceRec): Updated.
1736
1737 * src/psaux/t1cmap.h (T1_CmapStdRec): Updated.
1738 (T1_CmapUnicode, T1_CmapUnicodeRec): Removed.
1739
1740 * src/psaux/t1cmap.c (t1_get_glyph_name): New callback function.
1741 (t1_cmap_unicode_init, t1_cmap_unicode_done,
1742 t1_cmap_unicode_char_index, t1_cmap_unicode_char_next,
1743 t1_cmap_unicode_class_rec): Updated.
1744
1745 * src/type42/t42types.h (T42_FaceRec): Updated.
1746
17472006-01-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)356a4d82006-01-12 03:33:16 +00001748
1749 * include/freetype/ftmac.h: Add declaration of new functions
1750 FT_New_Face_From_FSRef and FT_GetFile_From_Mac_ATS_Name that
1751 were introduced by the jumbo patch on 2006-01-11.
1752
Werner Lemberg8ab09792006-01-12 08:12:27 +000017532006-01-11 Werner Lemberg <wl@gnu.org>
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +00001754
Werner Lembergadf828f2006-01-11 10:08:49 +00001755 Fix Savannah bug #15056 and use pscmap service in psaux module.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +00001756
Werner Lembergadf828f2006-01-11 10:08:49 +00001757 * include/freetype/internal/services/svpscmap.h (PS_UniMap): Use
1758 FT_UInt32 for `glyph_index'.
1759 (PS_Unicodes_InitFunc): Use FT_String for `glyph_names'.
1760 (PS_Unicodes_CharIndexFunc): Use FT_UInt32 for `unicode'.
1761 (PS_Unicodes_CharNextFunc): Make second argument a pointer to
1762 FT_UInt32.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +00001763
Werner Lembergadf828f2006-01-11 10:08:49 +00001764 * src/psnames/psmodule.c (VARIANT_BIT, BASE_GLYPH): New macros.
1765 (ps_unicode_value): Set VARIANT_BIT in return value if glyph is a
1766 variant glyph (this is, it has non-leading `.' in its name).
1767 (compare_uni_maps): Sort base glyphs before variant glyphs.
1768 (ps_unicodes_init): Use FT_String for `glyph_names' argument.
1769 Reallocate only if number of used entries is much smaller.
1770 Updated to handle variant glyphs.
1771 (ps_unicodes_char_index, ps_unicodes_char_next): Prefer base glyphs
1772 over variant glyphs.
1773 Simplify code.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +00001774
Werner Lembergadf828f2006-01-11 10:08:49 +00001775 * src/psaux/t1cmap.c (t1_cmap_uni_pair_compare): Removed.
1776 (t1_cmap_unicode_init, t1_cmap_unicode_char_index,
1777 t1_cmap_unicode_char_next): Use pscmap service.
1778 (t1_cmap_unicode_done): Updated.
1779
1780 * src/psaux/t1cmap.h (T1_CMapUniPair): Removed.
1781 (T1_CMapUnicode): Use PS_Unicodes structure.
1782
17832006-01-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1784
1785 Jumbo patch to fix `deprecated' warning of cross-build for Tiger on
1786 Intel, as reported by Sean McBride <sean@rogue-research.com> on
1787 2005-08-24.
1788
1789 * src/base/ftmac.c: Heavy change to build without deprecated Carbon
1790 functions on Tiger.
1791
1792 * builds/unix/configure.ac: Add options and autochecks for Carbon
1793 functions availabilities, for MacOS X.
1794
1795 * builds/mac/ascii2mpw.py: Add converter for character `\305'.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +00001796 * builds/mac/FreeType.m68k_{far|cfm}.make.txt: Add conditional
Werner Lembergadf828f2006-01-11 10:08:49 +00001797 macros to avoid unavailable functions.
1798 ftmac.c must be compiled without `-strict ansi', because it disables
1799 cpp macro to use ToolBox system call.
1800
1801 * builds/mac/FreeType.ppc_{classic|carbon}.make.txt: Add conditional
1802 macros to avoid unavailable functions.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +00001803
1804 * builds/mac/README: Detailed notes on function availabilities.
1805
1806 * docs/CHANGES: Notes about (possible) incompatibilities.
1807
Werner Lemberge8f92af2006-01-08 13:43:30 +000018082006-01-08 Werner Lemberg <wl@gnu.org>
1809
Werner Lemberg6cdab922006-01-08 22:34:01 +00001810 * docs/CHANGES: Updated.
1811
18122006-01-08 Huw D M Davies <h.davies1@physics.ox.ac.uk>
1813
1814 * include/freetype/ftmodapi.h (FT_Module_Get_Flags): New
1815 declaration.
1816
1817 * src/base/ftobjs.c (FT_Module_Get_Flags): New function.
1818
18192006-01-07 Werner Lemberg <wl@gnu.org>
1820
Werner Lemberge8f92af2006-01-08 13:43:30 +00001821 * src/pcf/pcfread.c (pcf_get_bitmaps): Remove unused variable
Werner Lemberg30bd2842006-01-08 19:38:42 +00001822 `bitmaps'. Reported by Yu Lei <yulei0@gmail.com>.
1823
1824 * src/base/ftutil.c (ft_highpow2): s/FT_BASE/FT_BASE_DEF/.
1825 Reported by Niels Boldt <nielsboldt@gmail.com>.
Werner Lemberge8f92af2006-01-08 13:43:30 +00001826
18272005-12-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)3dfcef62005-12-28 06:47:12 +00001828
Werner Lemberg05cda082006-01-08 13:37:15 +00001829 * src/sfnt/sfnt/ttbdf.c: Add newline '\n' to the end of file, for
1830 MPW compiler.
Suzuki, Toshiya (鈴木俊哉)3dfcef62005-12-28 06:47:12 +00001831
David Turnere6bb9532005-12-23 13:32:06 +000018322005-12-23 David Turner <david@freetype.org>
1833
Werner Lemberg083ba0b2005-12-23 15:10:54 +00001834 * Jamfile (RefDoc), docs/reference/README: Fix it so that `jam
1835 refdoc' works correctly to generate the API reference in
1836 `docs/reference'.
David Turnere6bb9532005-12-23 13:32:06 +00001837
Werner Lemberg083ba0b2005-12-23 15:10:54 +00001838 * src/tools/docmaker/tohtml.py (print_html_field,
1839 print_html_field_list): Update to output nicer fields lists in the
1840 API reference.
David Turnere6bb9532005-12-23 13:32:06 +00001841
1842 * src/base/ftobjs.c (FT_Load_Glyph): FT_LOAD_TARGET_LIGHT now
Werner Lemberg083ba0b2005-12-23 15:10:54 +00001843 forces auto-hinting.
David Turnere6bb9532005-12-23 13:32:06 +00001844
Werner Lemberg083ba0b2005-12-23 15:10:54 +00001845 * freetype/freetype.h: Updating the documentation for
1846 FT_LOAD_TARGET_XXX and FT_Render_Mode values.
David Turnere6bb9532005-12-23 13:32:06 +00001847
Werner Lemberg6be99f92006-02-09 07:38:57 +000018482005-12-23 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)53be6e92005-12-23 12:22:46 +00001849
Werner Lemberg083ba0b2005-12-23 15:10:54 +00001850 * src/base/ftmac.c (FT_New_Face_From_Suitcase): Count scalable faces
1851 in supported formats (sfnt, LWFN) only, and ignore bitmap faces in
1852 unsupported formats (fbit, NFNT). The number of available faces are
1853 passed via face->num_faces. If bitmap faces are embedded in sfnt
1854 resource, face->num_fixed_size is correctly set. In public API,
1855 FT_New_Face() and FT_New_Face_From_FSSpec() count the faces as
1856 FT_GetFile_From_Mac_Name(), which ignores NFNT resources.
Suzuki, Toshiya (鈴木俊哉)53be6e92005-12-23 12:22:46 +00001857
1858 * doc/CHANGES: Mention the changes.
1859
Wu, Chia-I (吳佳一)ce34d122005-12-17 13:12:49 +000018602005-12-17 Chia-I Wu <b90201047@ntu.edu.tw>
1861
1862 * src/truetype/ttinterp.c (Update_Max): Set current size of buffer
1863 correctly (so that memory debug system won't panic).
1864
Wu, Chia-I (吳佳一)dcb8b712005-12-16 14:27:14 +000018652005-12-16 Chia-I Wu <b90201047@ntu.edu.tw>
1866
1867 * include/freetype/internal/ftobjs.h (ft_glyphslot_grid_fit_metrics),
1868 src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Removed.
1869
1870 * src/base/ftobjs.c (ft_recompute_scaled_metrics): Do not round.
1871
1872 * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
1873 (cid_slot_load_glyph), src/truetype/ttgload.c (compute_glyph_metrics),
1874 src/type1/t1gload.c (T1_Load_Glyph): Do not round glyph metrics.
1875
1876 * doc/CHANGES: Mention the changes.
1877
David Turner5b5f3822005-12-14 16:37:15 +000018782005-12-13 David Turner <david@freetype.org>
1879
Werner Lembergb79b5132005-12-20 12:01:58 +00001880 Change the implementation of the LIGHT hinting mode to completely
1881 disable horizontal hinting. This is an experimental effort to
1882 integrate David Chester's latest patch without affecting the other
1883 hinting modes as well.
David Turner5b5f3822005-12-14 16:37:15 +00001884
Werner Lembergb79b5132005-12-20 12:01:58 +00001885 Note that this doesn't force auto-hinting for all fonts, however.
David Turner5b5f3822005-12-14 16:37:15 +00001886
Werner Lembergb79b5132005-12-20 12:01:58 +00001887 * src/autofit/afhints.c (af_glyph_hints_reload): Don't set
1888 scaler_fiags here but...
1889 (af_glyph_hints_rescale): Here.
David Turner8def3c82005-12-14 16:38:31 +00001890
Werner Lembergb79b5132005-12-20 12:01:58 +00001891 * src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
1892 hinting for `light' hinting mode.
David Turnerdb0182f2005-12-14 21:16:33 +00001893
David Turnerdb0182f2005-12-14 21:16:33 +00001894
Werner Lembergb79b5132005-12-20 12:01:58 +00001895 * Jamfile: Small fix to ensure that ftexport.sym is placed into the
1896 same location as other generated objects (i.e., within the `objs'
1897 directory of the current directory).
David Turnerdb0182f2005-12-14 21:16:33 +00001898
Werner Lembergb79b5132005-12-20 12:01:58 +00001899
1900 Add support for an embedded `BDF ' table within SFNT-based bitmap
1901 font files. This is used to store atoms & properties from the
1902 original BDF fonts that were used to generate the font file.
1903
1904 The feature is controlled by TT_CONFIG_OPTION_BDF within
1905 `ftoption.h' and is used to implement FT_Get_BDF_Property for these
1906 font files.
1907
1908 At the moment, this is still experimental, the BDF table format
1909 isn't cast into stone yet.
1910
1911 * include/freetype/config/ftoption.h (TT_CONFIG_OPTION_BDF): New
1912 macro.
1913
1914 * include/freetype/config/ftstdlib.h (ft_memchr): New macro.
1915
1916 * include/freetype/internal/tttypes.h (TT_BDFRec, TT_BDF)
1917 [TT_CONFIG_OPTION_BDF]: New structure.
1918 (TT_FaceRec) [TT_CONFIG_OPTION_BDF]: New member `bdf'.
1919
1920 * include/freetype/ttags.h (TTAG_BDF): New macro.
1921
1922 * src/sfnt/Jamfile (_sources): Add ttbdf.
1923
1924 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttbdf.c.
1925
1926 * src/sfnt/sfdriver.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h and
1927 FT_SERVICE_BDF_H.
1928 (sfnt_get_charset_it) [TT_CONFIG_OPTION_BDF]: New function.
1929 (sfnt_service_bdf) [TT_CONFIG_OPTION_BDF]: New service.
1930 (sfnt_servives) [TT_CONFIG_OPTION_BDF]: Add sfnt_service_bdf.
1931
1932 * src/sfnt/sfnt.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.c.
1933
1934 * src/sfnt/sfobjs.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h.
1935 (sfnt_done_face) [TT_CONFIG_OPTION_BDF]: Call
1936 tt_face_free_bdf_props.
1937
1938 * src/sfnt/ttbdf.h, src/sfnt/ttbdf.c: New files.
David Turner89a2a4b2005-12-14 20:38:15 +00001939
Werner Lemberg364db082005-12-07 20:34:11 +000019402005-12-07 Werner Lemberg <wl@gnu.org>
1941
1942 * src/sfnt/sfobjc.c (sfnt_init_face): Move tag check to...
1943 * src/sfnt/ttload.c (sfnt_init): Here, before handling TTCs.
1944
Wu, Chia-I (吳佳一)a3690cd2005-12-06 08:24:01 +000019452005-12-06 Chia-I Wu <b90201047@ntu.edu.tw>
1946
1947 * src/truetype/ttobjs.c (tt_size_init): size->ttmetrics.valid is
1948 initialized twice.
1949 size->strike_index is not initialized.
1950
Werner Lemberg2a0903a2005-12-03 08:13:43 +000019512005-12-02 Taek Kwan(TK) Lee <taeklee@gmail.com>
1952
Werner Lemberg3b8db662005-12-06 10:47:44 +00001953 * src/type42/t42objs.c (T42_Face_Init): Replace call to
Werner Lemberg2a0903a2005-12-03 08:13:43 +00001954 FT_New_Memory_Face with call to FT_Open_Face to pass `params'.
1955
Werner Lembergb797fdb2005-11-30 08:48:32 +000019562005-11-30 Werner Lemberg <wl@gnu.org>
1957
1958 * docs/CHANGES: Document ftdump's `-v' option.
Werner Lembergb5d88e82005-11-30 08:55:51 +00001959 Document latest charmap code changes.
Werner Lembergb797fdb2005-11-30 08:48:32 +00001960
Werner Lemberg44e47d52005-11-30 18:47:49 +00001961 * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h:
1962 s/TT_CMAP_FLAG_OVERLAPPED/TT_CMAP_FLAG_OVERLAPPING/.
1963
Wu, Chia-I (吳佳一)a28bc4c2005-11-30 02:39:10 +000019642005-11-30 Chia-I Wu <b90201047@ntu.edu.tw>
1965
1966 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary,
1967 tt_cmap12_char_map_binary): Fix compiler warnings.
1968
Wu, Chia-I (吳佳一)569ec4e2005-11-29 11:27:51 +000019692005-11-29 Chia-I Wu <b90201047@ntu.edu.tw>
1970
Werner Lemberg44e47d52005-11-30 18:47:49 +00001971 Major update to distinguish between unsorted and overlapping
1972 segments for cmap format 4. For overlapping but sorted segments,
1973 which is previously considered unsorted, we still use binary search.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +00001974
David Turner5b5f3822005-12-14 16:37:15 +00001975 * src/sfnt/ttcmap.h (TT_CMapRec_): Replace `unsorted' by `flags'.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +00001976 (TT_CMAP_FLAG_UNSORTED, TT_CMAP_FLAG_OVERLAPPED): New macros.
1977
1978 * src/sfnt/ttcmap.c (OPT_CMAP4): Removed as it is always defined.
David Turner5b5f3822005-12-14 16:37:15 +00001979 (TT_CMap4Rec_): Remove `old_charcode' and `table_length'.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +00001980 (tt_cmap4_reset): Removed.
1981 (tt_cmap4_init): Updated accordingly.
1982 (tt_cmap4_next): Updated accordingly.
Werner Lemberg44e47d52005-11-30 18:47:49 +00001983 Take care of overlapping segments.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +00001984 (tt_cmap4_validate): Make sure the subtable is large enough.
1985 Do not check glyph_ids because some fonts set the length wrongly.
Werner Lemberg05cda082006-01-08 13:37:15 +00001986 Also, if all segments have offset 0, glyph_ids is always invalid.
Werner Lemberg44e47d52005-11-30 18:47:49 +00001987 It does not cause any problem so far only because the check misses
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +00001988 equality.
Werner Lemberg44e47d52005-11-30 18:47:49 +00001989 Distinguish between unsorted and overlapping segments.
1990 (tt_cmap4_char_map_linear, tt_cmap4_char_map_binary): New functions
1991 to do `charcode => glyph index' by linear/binary search.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +00001992 (tt_cmap4_char_index, tt_cmap4_char_next): Use
1993 tt_cmap4_char_map_linear and tt_cmap4_char_map_binary.
1994 (tt_face_build_cmaps): Treat the return value of validator as flags
1995 for cmap.
1996
19972005-11-29 Chia-I Wu <b90201047@ntu.edu.tw>
1998
Werner Lemberg44e47d52005-11-30 18:47:49 +00001999 * src/sfnt/ttcmap.c (TT_CMap12Rec_, tt_cmap12_init, tt_cmap12_next):
2000 New structures and functions for fast `next char'.
2001 (tt_cmap12_char_map_binary): New function to do `charcode => glyph
2002 index' by binary search.
Wu, Chia-I (吳佳一)569ec4e2005-11-29 11:27:51 +00002003 (tt_cmap12_char_index, tt_cmap12_char_next): Use
2004 tt_cmap12_char_map_binary.
2005 (tt_face_build_cmaps): Check table and offset correctly (equality is
2006 missing).
2007
Werner Lemberg4e03fe72006-04-29 06:20:09 +000020082005-11-15 Detlef Würkner <TetiSoft@apg.lahn.de>
Detlef Würknerdf1598e2005-11-25 08:04:09 +00002009
2010 * builds/amiga/smakefile: Adjusted the compiler options
2011 to the current sources, now really builds the gxvalid, gzip
2012 and psnames modules.
2013
2014 * builds/amiga/src/base/ftsystem.c: The assumed Seek() position
2015 in the file cache was off by one byte which could cause false
2016 errors in font files.
2017
Werner Lemberg6be99f92006-02-09 07:38:57 +000020182005-11-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)6b1c5972005-11-24 05:16:57 +00002019
2020 * builds/mac/FreeType.m68k_far.make.txt,
2021 builds/mac/FreeType.m68k_cfm.make.txt,
2022 builds/mac/FreeType.ppc_classic.make.txt,
2023 builds/mac/FreeType.ppc_carbon.make.txt:
2024 Updated for MPW to build all available modules.
2025
Werner Lemberg4e03fe72006-04-29 06:20:09 +000020262005-11-21 Håvard Wall <haavardw@ifi.uio.no>
Werner Lemberg67ba2112005-11-21 17:32:03 +00002027
2028 * src/bdf/bdfdrivr.c (bdf_interpret_style, BDF_Face_Done): Fix small
2029 memory leak.
2030
Werner Lemberg840232a2005-11-21 12:36:42 +000020312005-11-21 Werner Lemberg <wl@gnu.org>
2032
2033 * src/sfnt/ttload.c (sfnt_init): Add tracing message.
2034
Wu, Chia-I (吳佳一)d81947e2005-11-21 03:04:03 +000020352005-11-21 Chia-I Wu <b90201047@ntu.edu.tw>
2036
Werner Lemberg840232a2005-11-21 12:36:42 +00002037 * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Image_offset was
Werner Lemberg05cda082006-01-08 13:37:15 +00002038 added twice to image_start if image_format was 2 or 5.
Wu, Chia-I (吳佳一)275be9b2005-11-21 03:05:34 +00002039
20402005-11-21 Chia-I Wu <b90201047@ntu.edu.tw>
2041
Wu, Chia-I (吳佳一)d81947e2005-11-21 03:04:03 +00002042 * src/sfnt/sfobjs.c (sfnt_init_face): Check that format_tag is known
2043 before loading the table directory.
2044
2045 * src/sfnt/ttload.c (tt_face_load_sfnt_header,
2046 tt_face_load_directory): Delay sfnt_dir_check from
2047 tt_face_load_sfnt_header to tt_face_load_directory.
2048
Wu, Chia-I (吳佳一)6f1eca02005-11-20 08:24:24 +000020492005-11-20 Chia-I Wu <b90201047@ntu.edu.tw>
2050
2051 * src/sfnt/ttload.c (sfnt_dir_check): Clean up and return correct
2052 error code.
2053 (sfnt_init): New function to fill in face->ttc_header. A non-TTC font
2054 is synthesized into a TTC font with one offset table.
2055 (tt_face_load_sfnt_header): Use sfnt_init.
Werner Lemberg05cda082006-01-08 13:37:15 +00002056 Fix an invalid access if the font is TTC and face_index is -1.
Wu, Chia-I (吳佳一)6f1eca02005-11-20 08:24:24 +00002057
Werner Lemberg1a293d62005-11-18 08:23:06 +000020582005-11-18 Werner Lemberg <wl@gnu.org>
2059
2060 * src/sfnt/ttload.c (tt_face_load_metrics): Ignore excess number
2061 of metrics instead of aborting. Patch suggested by Derek Noonburg.
2062
Werner Lemberg6c990452005-11-18 21:10:59 +00002063 * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
2064 (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Scale
2065 the glyph properly if no hinter is available.
2066
2067 * docs/CHANGES: Mention scaling bug.
2068
Suzuki, Toshiya (鈴木俊哉)8d81d412005-11-18 07:47:06 +000020692005-11-18 susuzki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2070
2071 * include/freetype/ftgxval.h, src/base/ftgxval.c
2072 (FT_TrueTypeGX_Free, FT_ClassicKern_Free): New functions to free
2073 buffers allocated by gxvalid module.
2074 * include/freetype/ftotval.h, src/base/ftotval.c
2075 (FT_OpenType_Free): New function to free buffer allocated by
2076 otvalid module.
2077
Wu, Chia-I (吳佳一)cb182382005-11-18 04:29:31 +000020782005-11-18 Chia-I Wu <b90201047@ntu.edu.tw>
2079
2080 * builds/unix/ftsystem.c (FT_Stream_Open, FT_New_Memory,
2081 FT_Done_Memory), builds/vms/ftsystem.c (FT_Stream_Open, FT_New_Memory,
2082 FT_Done_Memory), builds/win32/ftdebug.c (FT_Message, FT_Panic):
2083 s/FT_EXPORT/FT_BASE/.
2084
Werner Lemberg4e03fe72006-04-29 06:20:09 +000020852005-11-17 Detlef Würkner <TetiSoft@apg.lahn.de>
Detlef Würkner4859ac42005-11-17 14:21:07 +00002086
Detlef Würkner0acfc1f2005-11-17 16:54:54 +00002087 * builds/amiga/src/base/ftdebug.c (FT_Trace_Get_Count,
2088 FT_Trace_Get_Name, FT_Message, FT_Panic),
2089 builds/amiga/src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory,
2090 FT_Stream_Open): s/FT_EXPORT/FT_BASE/.
2091
Werner Lemberg4e03fe72006-04-29 06:20:09 +000020922005-11-17 Detlef Würkner <TetiSoft@apg.lahn.de>
Detlef Würkner0acfc1f2005-11-17 16:54:54 +00002093
Werner Lemberg1a293d62005-11-18 08:23:06 +00002094 * builds/amiga/makefile, builds/amiga/makefile.os4,
Detlef Würknerdf1598e2005-11-25 08:04:09 +00002095 builds/amiga/smakefile,
Detlef Würkner4859ac42005-11-17 14:21:07 +00002096 builds/amiga/include/freetype/config/ftmodule.h: Updated the Amiga
Werner Lemberg1a293d62005-11-18 08:23:06 +00002097 build files (added support for the gxvalid module).
Detlef Würkner4859ac42005-11-17 14:21:07 +00002098
Werner Lembergcfc0cf22005-11-17 08:12:00 +000020992005-11-17 Werner Lemberg <wl@gnu.org>
2100
2101 Add vertical metrics support to OpenType CFF outlines. Based on a
Werner Lemberg1a293d62005-11-18 08:23:06 +00002102 patch from Mike Moening <MikeM@RetekSolutions.com>.
Werner Lembergcfc0cf22005-11-17 08:12:00 +00002103
2104 * src/cff/cffgload.c (cff_face_get_vertical_metrics): New function.
2105 (cff_slot_load): Use cff_face_get_vertical_metrics.
2106
2107 * docs/CHANGES: Updated.
2108
Wu, Chia-I (吳佳一)35bfc0f2005-11-17 01:53:07 +000021092005-11-17 Chia-I Wu <b90201047@ntu.edu.tw>
2110
2111 * src/base/ftcalc.c (FT_MulTo64): Commented out.
2112
Werner Lembergcfc0cf22005-11-17 08:12:00 +00002113 * include/freetype/internal/ftcalc.h (FT_SqrtFixed),
2114 src/base/ftcalc.c (FT_SqrtFixed),
2115 include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
2116 FT_Trace_Get_Name, FT_Message, FT_Panic), src/base/ftdebug.c
Wu, Chia-I (吳佳一)35bfc0f2005-11-17 01:53:07 +00002117 (FT_Trace_Get_Count, FT_Trace_Get_Name, FT_Message, FT_Panic),
Werner Lembergcfc0cf22005-11-17 08:12:00 +00002118 include/freetype/internal/ftobjs.h (FT_New_Memory, FT_Done_Memory),
2119 include/freetype/internal/ftstream.h (FT_Stream_Open),
2120 src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory, FT_Stream_Open):
2121 s/FT_EXPORT/FT_BASE/.
Wu, Chia-I (吳佳一)35bfc0f2005-11-17 01:53:07 +00002122
Werner Lembergcfc0cf22005-11-17 08:12:00 +00002123 * builds/exports.mk: Manually add TT_New_Context to EXPORTS_LIST
2124 too.
Wu, Chia-I (吳佳一)35bfc0f2005-11-17 01:53:07 +00002125
David Turnerf7cc1812005-11-15 17:30:56 +000021262005-11-15 David Turner <david@freetype.org>
2127
Werner Lemberg674ba912005-11-16 18:09:27 +00002128 * src/base/fttrigon.c (ft_trig_prenorm): Fix a bug that created
David Turnerf7cc1812005-11-15 17:30:56 +00002129 invalid computations, resulting in very weird bugs in TrueType
Werner Lemberg674ba912005-11-16 18:09:27 +00002130 bytecode hinted fonts.
David Turnerf7cc1812005-11-15 17:30:56 +00002131
Werner Lemberg674ba912005-11-16 18:09:27 +00002132 * src/truetype/ttinterp.c (FT_UNUSED_EXEC): Don't perform a
2133 structure copy each time.
David Turnerf7cc1812005-11-15 17:30:56 +00002134
Werner Lembergd829ff72005-11-12 17:07:11 +000021352005-11-11 Werner Lemberg <wl@gnu.org>
2136
2137 * src/cache/ftccache.c (FTC_Cache_Clear), src/cache/ftcmanag.c
2138 (FTC_Manager_Check): Remove FT_EXPORT_DEF tag.
2139
David Turnerf7cc1812005-11-15 17:30:56 +00002140 * src/base/ftcalc.c (FT_Add64): Remove FT_EXPORT_DEF tag.
Werner Lembergd829ff72005-11-12 17:07:11 +00002141 (FT_Div64by32, FT_Sqrt32): Commented out. Unused.
2142
2143 * include/freetype/internal/ftcalc.h (SQRT_32): Removed. Unused.
2144 (FT_Sqrt32): Commented out. Unused.
2145
2146 * include/freetype/cache/ftccache.h:
2147 s/ftc_node_destroy/FTC_Node_Destroy/.
2148
2149 * src/cache/ftccback.h (ftc_node_destroy): New declaration.
2150
2151 * src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF tag.
2152 (FTC_Node_Destroy): New exported wrapper function for
2153 ftc_node_destroy.
2154
2155 * src/cache/ftcmanag.c: Include ftccback.c.
2156
Werner Lemberg4309edc2005-11-11 15:49:14 +000021572005-11-10 Werner Lemberg <wl@gnu.org>
2158
2159 * src/autofit/afangles.c, src/autofit/aftypes.h (af_angle_diff):
2160 Comment out. Unused.
2161
Werner Lembergf2c53302005-11-11 16:20:59 +00002162 * builds/exports.mk ($(EXPORTS_LIST)): Add TT_RunIns.
2163
Werner Lemberg4309edc2005-11-11 15:49:14 +000021642005-11-10 Christian Biesinger <cbiesinger@web.de>
2165
2166 * builds/beos/beos.mk: Call beos-def.mk before anything else to
2167 define the separator.
2168
2169 * builds/unix/unix-cc.in (LINK_LIBRARY): Add `-no-undefined' flag.
2170
Werner Lembergea4c3dc2005-11-08 09:10:16 +000021712005-11-07 Werner Lemberg <wl@gnu.org>
2172
2173 * src/type1/t1afm.c (T1_Read_PFM): Zero offset means `no kerning
2174 table available'. From Sergey Tolstov <stolstov@esri.com>.
2175
Werner Lemberg4e03fe72006-04-29 06:20:09 +000021762005-11-03 Ville Syrjälä <syrjala@sci.fi>
Werner Lembergb2d02532005-11-04 06:58:49 +00002177
2178 * src/base/ftobjs.c (FT_Open_Face): Avoid possible memory leak.
2179
21802005-11-02 Werner Lemberg <wl@gnu.org>
2181
2182 Make compiling instructions in docs/CUSTOMIZE work again.
2183
2184 * builds/unix/unix-cc.in (CPPFLAGS): New variable.
2185 (CFLAGS): Don't include @CPPFLAGS@.
2186 * builds/freetype.mk (FT_CFLAGS): Add CPPFLAGS.
2187
David Turnerdab24542005-11-02 09:24:00 +000021882005-10-28 David Turner <david@freetype.org>
2189
Werner Lembergcee37a32005-11-12 07:34:40 +00002190 Update build system to support the generation of a list of exported
2191 symbols or Windows .DEF files by parsing the public headers with the
Werner Lembergb2d02532005-11-04 06:58:49 +00002192 `apinames' tool located in src/tools/apinames.c.
David Turnerdab24542005-11-02 09:24:00 +00002193
Werner Lembergb2d02532005-11-04 06:58:49 +00002194 Only tested on Unix at the moment. On Windows, the .DEF file is
2195 generated but isn't used yet to generate a DLL.
David Turnerdab24542005-11-02 09:24:00 +00002196
Werner Lembergcee37a32005-11-12 07:34:40 +00002197 * builds/exports.mk: New file.
David Turnerdab24542005-11-02 09:24:00 +00002198
Werner Lembergcee37a32005-11-12 07:34:40 +00002199 * builds/freetype.mk: Include exports.mk.
2200 (dll): New target.
2201 (clean_project_dos): Fix rule.
David Turnerdab24542005-11-02 09:24:00 +00002202
Werner Lembergcee37a32005-11-12 07:34:40 +00002203 * builds/compiler/visualc.mk (TE), builds/dos/dos-def.mk (E),
2204 builds/os2/os2-def.mk (E), builds/win32/win32-def.mk (E): New
2205 variables for controlling executable extensions.
David Turnerdab24542005-11-02 09:24:00 +00002206
Werner Lembergcee37a32005-11-12 07:34:40 +00002207 * builds/unix/unix-cc.in (EXPORTS_LIST, CCexe),
2208 builds/win32/w32-bcc.mk, builds/win32/w32-gcc.mk,
2209 builds/win32/w32-icc.mk, builds/win32/w32-icc.mk,
2210 builds/win32/w32-mingw32.mk, builds/win32/w32-vcc,
2211 builds/win32/w32-wat.mk (EXPORTS_LIST, EXPORT_OPTIONS,
2212 APINAMES_OPTIONS): New targets for controlling the `apinames' tool.
2213
2214 * Jamfile (GenExportSymbols): Updated.
2215
2216
2217 * src/pfr/pfrtypes.h, src/pfr/pfrload.c, src/pfr/pfrobjs.c
2218 [!FT_OPTIMIZE_MEMORY]: Fold memory optimization code into
2219 FT_OPTIMIZE_MEMORY chunks for better maintainability and simplicity.
2220
2221
2222 * src/base/fttrigon.c (ft_trig_prenorm), src/base/ftcalc.c
2223 (FT_MulFix): Performance optimizations.
2224
2225
2226 * include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
2227 FT_GLYPHLOADER_CHECK_C, FT_GLYPHLOADER_CHECK_POINTS): New macros for
2228 checking points and contours. Update callers to use
2229 FT_GLYPHLOADER_CHECK_POINTS instead of FT_GlyphLoader_CheckPoints
2230 at profile-detected hot-spots.
2231
2232 * src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Set `adjust'
2233 to 0 to not call `AdjustPoints' every time.
2234
David Turnerdab24542005-11-02 09:24:00 +00002235
Werner Lembergb2d02532005-11-04 06:58:49 +00002236 * src/autofit/aftypes.h (AF_ANGLE_DIFF): New macro to inline
2237 FT_Angle_Diff.
David Turnerdab24542005-11-02 09:24:00 +00002238
Werner Lembergcee37a32005-11-12 07:34:40 +00002239 * src/autofit/afhints.c (af_direction_compute): Re-implement.
2240 (af_glyph_hints_compute_inflections, af_glyph_hints_reload): Use
Werner Lembergb2d02532005-11-04 06:58:49 +00002241 AF_ANGLE_DIFF to speed up the detection of inflexions.
David Turnerdab24542005-11-02 09:24:00 +00002242
Werner Lembergcee37a32005-11-12 07:34:40 +00002243
2244 * src/tools/apinames.c: Include <string.h>.
2245 (OutputFormat): New enumeration.
2246 (names_dump): Add two parameters to control output format and DLL
2247 name.
2248 (names_dump_windef): Removed. Code folded into `names_dump'.
2249 (read_header_file): Use isalnum, not isalpha. Otherwise function
2250 names with digits aren't read correctly.
2251 (usage): Updated.
2252 (main): New option `-o' to control output file name.
2253 New option `-d' to indicate DLL file name.
2254 Extend `-w' flag to handle Borland and Watcom compilers and linkers.
2255
Suzuki, Toshiya (鈴木俊哉)45115762005-10-28 15:39:58 +000022562005-10-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2257
Suzuki, Toshiya (鈴木俊哉)69d45172005-10-28 16:03:06 +00002258 * builds/mac/ftlib.prj, builds/mac/freetype.mak: Removed.
2259 ftlib.prj is unmaintained and incompatible with current tree.
2260 freetype.mak is unrecoverably broken.
2261
2262 * builds/mac/ftlib.prj.xml: Added.
Werner Lemberg05cda082006-01-08 13:37:15 +00002263 Generated by Metrowerks CodeWarrior 9.0.
Suzuki, Toshiya (鈴木俊哉)69d45172005-10-28 16:03:06 +00002264
2265 * builds/mac/FreeType.m68k_far.make.txt,
2266 builds/mac/FreeType.m68k_cfm.make.txt,
2267 builds/mac/FreeType.ppc_classic.make.txt,
2268 builds/mac/FreeType.ppc_carbon.make.txt: Added.
Werner Lemberg05cda082006-01-08 13:37:15 +00002269 Skeleton files of MPW makefiles.
Suzuki, Toshiya (鈴木俊哉)69d45172005-10-28 16:03:06 +00002270
2271 * builds/mac/ascii2mpw.py: Added.
Werner Lemberg05cda082006-01-08 13:37:15 +00002272 Python script to make MPW makefile from skeleton.
Suzuki, Toshiya (鈴木俊哉)69d45172005-10-28 16:03:06 +00002273
2274 * builds/mac/README: Updated.
2275 Almost rewritten to use new files.
2276
22772005-10-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2278
Werner Lemberg05cda082006-01-08 13:37:15 +00002279 * src/base/ftmac.c: Fix invalid casts from NULL to integer typed
2280 variables. Advised by David Turner, Masatake YAMATO, Sean McBride,
Suzuki, Toshiya (鈴木俊哉)45115762005-10-28 15:39:58 +00002281 and George Williams.
2282
Werner Lemberg4b5661c2005-10-27 21:28:35 +000022832005-10-27 Werner Lemberg <wl@gnu.org>
2284
2285 * include/freetype/ftsysmem.h, include/freetype/ftsysio.h: Removed.
2286 Obsolete.
2287
Werner Lemberg43b057b2005-10-26 18:37:40 +000022882005-10-25 Werner Lemberg <wl@gnu.org>
2289
2290 * src/sfnt/sfdriver.c (sfnt_interface): Move out
2291 `tt_face_get_kerning' from a #ifdef clause. Reported by Tony J.
2292 Ibbs <tibs@sj.co.uk>.
2293
Werner Lemberg6c0e7342005-10-23 19:31:01 +000022942005-10-23 Werner Lemberg <wl@gnu.org>
2295
2296 * src/base/ftdbgmem.c (ft_mem_debug_realloc): Make it compile with
2297 C++.
2298
David Turner398d64c2005-10-21 10:01:25 +000022992005-10-21 David Turner <david@freetype.org>
2300
Werner Lemberg90968f72005-10-22 10:34:45 +00002301 * src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_debug_realloc):
2302 Another realloc memory counting bug fix.
David Turner398d64c2005-10-21 10:01:25 +00002303
Werner Lemberg90968f72005-10-22 10:34:45 +00002304 * src/tools/Jamfile: Add missing file.
David Turner398d64c2005-10-21 10:01:25 +00002305
Werner Lemberg90968f72005-10-22 10:34:45 +00002306 * src/lzw/Jamfile: Fix incorrect source file reference.
David Turner398d64c2005-10-21 10:01:25 +00002307
David Turnerc1b6d082005-10-20 15:33:34 +000023082005-10-20 David Turner <david@freetype.org>
2309
Werner Lemberg560d5fe2005-10-21 09:08:28 +00002310 * src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_table_remove,
2311 ft_mem_debug_alloc, ft_mem_debug_free, ft_mem_debug_realloc): Fixes
2312 to better account for memory reallocations.
David Turnerc1b6d082005-10-20 15:33:34 +00002313
Werner Lemberg560d5fe2005-10-21 09:08:28 +00002314 * src/lzw/ftlzw2.c, src/lzw/ftzopen.h, src/lzw/ftzopen.c,
David Turner398d64c2005-10-21 10:01:25 +00002315 src/lzw/rules.mk: First version of LZW loader re-implementation.
2316 Apparently, this saves about 330 KB of heap memory when loading
Werner Lemberg560d5fe2005-10-21 09:08:28 +00002317 timR24.pcf.Z.
David Turnerc1b6d082005-10-20 15:33:34 +00002318
Wu, Chia-I (吳佳一)7e307762005-10-20 02:13:46 +000023192005-10-20 Chia-I Wu <b90201047@ntu.edu.tw>
2320
2321 * include/freetype/ftbitmap.h (FT_Bitmap_Copy, FT_Bitmap_Embolden),
2322 src/base/ftbdf.c (FT_Get_BDF_Property), src/cache/ftcmru.c
Werner Lemberg560d5fe2005-10-21 09:08:28 +00002323 (FTC_MruList_Reset, FTC_MruList_Done, FTC_MruList_Lookup): Fix
2324 FT_EXPORT/FT_EXPORT_DEF tagging.
Wu, Chia-I (吳佳一)7e307762005-10-20 02:13:46 +00002325
Wu, Chia-I (吳佳一)2293bb12005-10-19 08:07:38 +000023262005-10-19 Chia-I Wu <b90201047@ntu.edu.tw>
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002327
Werner Lemberg560d5fe2005-10-21 09:08:28 +00002328 * src/truetype/ttgload.c (TT_Load_Glyph): Allow size->ttmetrics to
2329 be invalid when FT_LOAD_NO_SCALE is set.
Wu, Chia-I (吳佳一)2293bb12005-10-19 08:07:38 +00002330
23312005-10-17 David Turner <david@freetype.org>
2332
2333 * src/base/ftobjs.c (FT_Open_Face): Don't call FT_New_GlyphSlot and
2334 FT_New_Size if we are opening a face with face_index < 0 (which is
2335 only used for testing the format).
2336
2337 * src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_entry_validate):
2338 Remove compiler warning.
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002339
23402005-10-16 David Turner <david@freetype.org>
2341
Wu, Chia-I (吳佳一)2293bb12005-10-19 08:07:38 +00002342 * src/tools/apinames.c: Add new tool to extract public API function
2343 names from header files.
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002344
23452005-10-05 Werner Lemberg <wl@gnu.org>
2346
2347 Add FT_FACE_FLAG_HINTER to indicate that a specific font driver has
2348 a hinting engine of its own.
2349
2350 * include/freetype/freetype.h (FT_FACE_FLAG_HINTER): New macro.
2351
2352 * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
2353 (cid_face_init), src/truetype/ttobjs.c (tt_face_init)
2354 [TT_CONFIG_OPTION_BYTECODE_INTERPRETER], src/type1/t1objs.c
2355 (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init)
2356 [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Update face flags.
2357
2358 * docs/CHANGES: Document it.
2359
23602005-09-27 Werner Lemberg <wl@gnu.org>
2361
2362 * builds/unix/freetype2.m4: Add license exception so that the file
2363 can be used in any other autoconf script.
2364
23652005-09-26 David Turner <david@freetype.org>
2366
2367 * src/autofit/aflatin.c (af_latin_compute_stem_width): Fix bad
2368 computation of the `vertical' flag, causing ugly things in LCD mode
2369 and others.
2370
23712005-09-23 David Turner <david@freetype.org>
2372
2373 * src/autofit/aflatin.c (af_latin_hints_init): Fix a bug that
2374 prevented internal hint mode bitflags from being computed correctly.
2375
2376 * src/base/Jamfile: Adding src/base/ftgxval.c.
2377
2378 * src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
2379 src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c,
2380 src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
2381 src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
2382 src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
2383 src/gxvalid/gxvmort5.c, src/gxvalid/gxvmorx.c,
2384 src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
2385 src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx5.c,
2386 src/gxvalid/gxvopbd.c, src/gxvalid/gxvprop.c,
2387 src/truetype/ttgload.c: Remove _many_ compiler warnings when
2388 compiling with Visual C++ at maximum level (/W4).
2389
2390 * src/autofit/afangles.c (af_angle_atan): Replaced CORDIC-based
2391 implementation with one using lookup tables. This simple thing
2392 speeds up glyph loading by 18%, according to ftbench!
2393
2394 * src/sfnt/sfdriver.c (sfnt_get_interface): Don't check for
2395 `get_sfnt' and `load_sfnt' module interfaces.
2396
23972005-09-22 Werner Lemberg <wl@gnu.org>
2398
2399 * docs/CHANGES: Mention SING Glyphlet support.
2400
24012005-09-22 David Turner <david@freetype.org>
2402
2403 * src/base/Jamfile: Disable compilation of ftgxval module
2404 temporarily.
2405
24062005-09-19 David Somers <dsomers@omz13.com>
2407
2408 * freetype2/src/sfnt/ttload.c (sfnt_dir_check): Modified to allow a
2409 font to have no `head' table if tables `SING' and `META' are
2410 present; this is to support `SING Glyphlet'.
2411
2412 `SING Glyphlet' is an extension to OpenType developed by Adobe
2413 primarily to facilitate adding supplemental glyphs to an OpenType
2414 font (with emphasis on, but not necessariy limited to, gaiji to a
2415 CJK font). A SING Glyphlet Font is an OpenType font that contains
2416 the outline(s), either in a `glyf' or `CFF' table, for a glyph;
2417 `cmap', `BASE', and `GSUB' tables are present with the same format
2418 and functionaliy as a regular OpenType font; there are no `name',
2419 `head', `OS/2', and `post' tables; there are two new tables, `SING'
2420 which contains details about the glyphlet, and `META' which contains
2421 metadata.
2422
2423 Further information on the SING Glyphlet format can be found at:
2424
2425 http://www.adobe.com/products/indesign/sing_gaiji.html
2426
2427 * freetype2/include/freetype/ttags.h (TTAG_SING, TTAG_META): New
2428 macros for the OpenType tables `SING' and `META'. These two tables
2429 are used in SING Glyphlet Format fonts.
2430
24312005-09-09 Werner Lemberg <wl@gnu.org>
2432
2433 * src/sfnt/sfobjs.c (sfnt_load_face): Reactivate code to set
2434 FT_FACE_FLAG_KERNING which has been commented out erroneously.
2435
2436 * docs/CHANGES: Document it.
2437
24382005-09-05 Werner Lemberg <wl@gnu.org>
2439
2440 Fixes for `make multi' and using C++ compiler.
2441
2442 * gxvalid/gxvcommn.c (gxv_set_length_by_ushort_offset,
2443 gxv_set_length_by_ulong_offset, gxv_array_getlimits_byte,
2444 gxv_array_getlimits_ushort): Declare with FT_LOCAL_DEF.
2445 (gxv_compare_ranges): Make it static.
2446 (gxv_LookupTable_fmt0_validate, gxv_LookupTable_fmt2_validate,
2447 gxv_LookupTable_fmt4_validate, gxv_LookupTable_fmt6_validate,
2448 gxv_LookupTable_fmt8_validate, gxv_LookupTable_validate): Improve
2449 trace messages.
2450 (gxv_StateArray_validate, gxv_XStateArray_validate): s/class/clazz/.
2451 (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
2452 GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Move to
2453 gxvcommn.h.
2454
2455 * gxvalid/gxvcommn.h: Add prototypes for
2456 gxv_StateTable_subtable_setup, gxv_XStateTable_subtable_setup,
2457 gxv_XStateTable_validate, gxv_array_getlimits_byte,
2458 gxv_array_getlimits_ushort, gxv_set_length_by_ushort_offset,
2459 gxv_set_length_by_ulong_offset, gxv_odtect_add_range,
2460 gxv_odtect_validate.
2461 (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
2462 GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Moved from
2463 gxvcommn.c.
2464
2465 * src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
2466 gxv_bsln_parts_fmt1_validate): Improve trace messages.
2467
2468 * gxvalid/gxvfeat.c: Split off predefined registry stuff to...
2469 * gxvalid/gxvfeat.h: New file.
2470
2471 * gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
2472 message.
2473
2474 * gxvalid/gxvkern.c (GXV_kern_Dialect): Add KERN_DIALECT_UNKNOWN.
2475 (gxv_kern_subtable_fmt1_valueTable_load,
2476 gxv_kern_subtable_fmt1_subtable_setup,
2477 gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors.
2478 (gxv_kern_coverage_validate): Use KERN_DIALECT_UNKWOWN.
2479 Improve trace message.
2480 (gxv_kern_validate_generic): Fix C++ compiler error.
2481 Improve trace message.
2482 (gxv_kern_validate_classic): Fix C++ compiler error.
2483
2484 * gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
2485 with FT_LOCAL_DEF.
2486
2487 * gxvalid/gxvmort1.c
2488 (gxv_mort_subtable_type1_substitutionTable_load,
2489 gxv_mort_subtable_type1_subtable_setup): Fix C++ compiler errors.
2490 (gxv_mort_subtable_type1_substTable_validate): Improve trace
2491 message.
2492 (gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF.
2493
2494 * gxvalid/gxvmort2.c (gxv_mort_subtable_type2_opttable_load,
2495 gxv_mort_subtable_type2_subtable_setup,
2496 gxv_mort_subtable_type2_ligActionOffset_validate,
2497 gxv_mort_subtable_type2_ligatureTable_validate): Fix C++ compiler
2498 errors.
2499 (gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF.
2500
2501 * gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
2502 with FT_LOCAL_DEF.
2503
2504 * gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup,
2505 gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler
2506 errors.
2507 (gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF.
2508
2509 * gxvalid/gxvmort.c: Include gxvfeat.h.
2510 (gxv_mort_featurearray_validate, gxv_mort_coverage_validate):
2511 Declare with FT_LOCAL_DEF.
2512 (gxv_mort_subtables_validate, gxv_mort_validate): Improve trace
2513 messages.
2514
2515 * gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.
2516
2517 * gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
2518 with FT_LOCAL_DEF.
2519
2520 * gxvalid/gxvmorx1.c
2521 (gxv_morx_subtable_type1_substitutionTable_load,
2522 gxv_morx_subtable_type1_subtable_setup,
2523 gxv_morx_subtable_type1_entry_validate,
2524 gxv_morx_subtable_type1_substitutionTable_validate): Fix C++
2525 compiler errors.
2526 (gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF.
2527
2528 * gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_opttable_load,
2529 gxv_morx_subtable_type2_subtable_setup,
2530 gxv_morx_subtable_type2_ligActionIndex_validate,
2531 gxv_morx_subtable_type2_ligatureTable_validate): Fix C++ compiler
2532 errors.
2533 (gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF.
2534 Fix typo.
2535
2536 * gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
2537 with FT_LOCAL_DEF.
2538
2539 * gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_insertionGlyph_load,
2540 gxv_morx_subtable_type5_subtable_setup): Fix C++ compiler error.
2541 (gxv_morx_subtable_type5_validate): Declare with FT_LOCAL_DEF.
2542
2543 * gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
2544 gxv_morx_validate): Improve trace message.
2545
2546 * gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
2547 warnings.
2548 (gxv_opbd_validate): Improve trace message.
2549
2550 * gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
2551 appropriate.
2552 (gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
2553 message.
2554
2555 * gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused
2556 parameter. Update all callers.
2557 (gxv_trak_validate): Improve trace message.
2558
2559 * rules.mk (GXV_DRV_H): Add gxvfeat.h.
2560
25612005-09-01 Werner Lemberg <wl@gnu.org>
2562
2563 * src/gxvalid/gxvbsln.c (GXV_BSLN_VALUE_EMPTY): Add `U'.
2564
2565 * src/gxvalid/gxmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
2566 src/gxvalid/gxmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix
2567 typo.
2568
2569 * src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
2570 src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx4.c,
2571 src/gxvalid/gxvmorx5.c, src/gxvalid/gxvmort.c: Improve trace
2572 messages.
2573 Decorate constants with `U' and `L' where appropriate.
2574 Fix compiler warnings.
2575
25762005-08-31 Werner Lemberg <wl@gnu.org>
2577
2578 * src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
2579
2580 * src/gxvalid/gxvbsln.c (gxv_bsln_validate): Fix trace message.
2581
2582 * src/gxvalid/gxvcommn.c (gxv_odtect_add_range): Use `const'.
2583
2584 * src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c,
2585 src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmod.c,
2586 src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
2587 src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
2588 src/gxvalid/gxvmort5.c, src/gxvalid/gxvmort.c: Improve trace
2589 messages.
2590 Decorate constants with `U' and `L' where appropriate.
2591 Fix compiler warnings.
2592
25932005-08-30 Werner Lemberg <wl@gnu.org>
2594
2595 * src/gxvalid/README: Revised.
2596 * src/gxvalid/gxvbsln.c: Fix compiler warnings.
2597 * src/gxvalid/gxvcommn.c: Fix compiler warnings.
2598 (gxv_XEntryTable_validate, gxv_compare_ranges): Remove unused
2599 parameter. Update all callers.
2600 Improve trace messages.
2601 Some formatting.
2602
26032005-08-29 Werner Lemberg <wl@gnu.org>
2604
2605 * include/freetype/freetype.h, include/freetype/ftchapters.h: Add
2606 a preliminary section with some explanations about user allocation.
2607
2608 * src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
2609 Don't abort if there are no data types, functions, etc., in a
2610 section.
2611 Print synopsis only if we have a data type, function, etc.
2612
2613 * docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
2614 docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
2615 docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
2616
26172005-08-28 George Williams <gww@silcom.com>
2618
2619 * src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed.
2620 (load_truetype_glyph): Limit recursion depth by `maxComponentDepth'.
2621
26222005-08-25 J. Ali Harlow <ali@avrc.city.ac.uk>
2623
2624 * builds/unix/freetype2.in (CFlags): Add missing directory.
2625
26262005-08-24 Werner Lemberg <wl@gnu.org>
2627
2628 * docs/CHANGES: Mention gxvalid module.
2629
26302005-08-23 Werner Lemberg <wl@gnu.org>
2631
2632 * src/autofit/aflatin.c (af_latin_metrics_scale): Initialize
2633 render mode properly. Reported by chris@dokein.co.uk.
2634
Werner Lemberg6be99f92006-02-09 07:38:57 +000026352005-08-23 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002636
2637 Add gxvalid module to validate TrueType GX/AAT tables.
2638
2639 Modifications on existing files:
2640
2641 * Jamfile: Register gxvalid module.
2642 * src/base/Jamfile: Register ftgxval.c.
2643 * src/base/rule.mk: Register ftgxval.c.
2644 * docs/INSTALL.ANY: Register gxvalid/gxvalid.c.
2645
2646 * include/freetype/config/ftheader.h (FT_GX_VALIDATE_H): New macro
2647 to include gxvalid header file.
2648 * include/freetype/config/ftmodule.h: Register gxv_module_class.
2649
2650 * include/freetype/ftchapters.h: Add comment about gx_validation.
2651 * include/freetype/ftotval.h: Change keyword FT_VALIDATE_XXX
2652 to FT_VALIDATE_OTXXX to co-exist with gxvalid.
2653 * include/freetype/tttags.h: Add tags for TrueType GX/AAT tables.
2654
2655 * include/freetype/internal/ftserv.h (FT_SERVICE_GX_VALIDATE_H): New
2656 macro for gxvalid service.
2657 * include/freetype/internal/fttrace.h: Add trace facilities for
2658 gxvalid.
2659
2660 New files on existing directories:
2661
2662 * include/freetype/internal/services/svgxval.h: Registration of
2663 validation service for TrueType GX/AAT and classic kern table.
2664 * include/freetype/ftgxval.h: Public API definition to use gxvalid.
2665 * src/base/ftgxval.c: Public API of gxvalid.
2666
2667 New files under src/gxvalid/:
2668
2669 * src/gxvalid/Jamfile src/gxvalid/README src/gxvalid/module.mk
2670 src/gxvalid/rules.mk src/gxvalid/gxvalid.c src/gxvalid/gxvalid.h
2671 src/gxvalid/gxvbsln.c src/gxvalid/gxvcommn.c src/gxvalid/gxvcommn.h
2672 src/gxvalid/gxverror.h src/gxvalid/gxvfeat.c src/gxvalid/gxvfgen.c
2673 src/gxvalid/gxvjust.c src/gxvalid/gxvkern.c src/gxvalid/gxvlcar.c
2674 src/gxvalid/gxvmod.c src/gxvalid/gxvmod.h src/gxvalid/gxvmort.c
2675 src/gxvalid/gxvmort.h src/gxvalid/gxvmort0.c src/gxvalid/gxvmort1.c
2676 src/gxvalid/gxvmort2.c src/gxvalid/gxvmort4.c src/gxvalid/gxvmort5.c
2677 src/gxvalid/gxvmorx.c src/gxvalid/gxvmorx.h src/gxvalid/gxvmorx0.c
2678 src/gxvalid/gxvmorx1.c src/gxvalid/gxvmorx2.c src/gxvalid/gxvmorx4.c
2679 src/gxvalid/gxvmorx5.c src/gxvalid/gxvopbd.c src/gxvalid/gxvprop.c
2680 src/gxvalid/gxvtrak.c: New files, gxvalid body.
2681
26822005-08-21 Werner Lemberg <wl@gnu.org>
2683
2684 * src/truetype/ttgload.c (TT_Load_Glyph): Only translate outline
2685 to (0,0) if bit 1 of the `head' table isn't set. This improves
2686 rendering of buggy fonts.
2687
26882005-08-20 Chia I Wu <b90201047@ntu.edu.tw>
2689
2690 * src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of
2691 ttmetrics here. TrueType fonts with only sbits always have
2692 ttmetrics.valid set to false.
2693
2694 * src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is
2695 valid before loading outline glyph.
2696
2697 * src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
2698
26992005-08-20 Werner Lemberg <wl@gnu.org>
2700
2701 * src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing
2702 `hhea' table for SFNT Mac fonts. Change based on a patch by
2703 mpsuzuki@hiroshima-u.ac.jp.
2704
27052005-08-20 Masatake YAMATO <jet@gyve.org>
2706
2707 * src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead
2708 of ft_setjmp.
2709
27102005-08-19 Werner Lemberg <wl@gnu.org>
2711
2712 * src/truetype/ttgload.c (load_truetype_glyph): Fix compiler
2713 warnings.
2714
27152005-08-16 Chia I Wu <b90201047@ntu.edu.tw>
2716
2717 * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright
2718 messages.
2719
27202005-08-16 Chia I Wu <b90201047@ntu.edu.tw>
2721
2722 * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original
2723 TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context
2724 with slight changes.
2725 Update all callers.
2726 (TT_New_Context): Now takes TT_Driver argument directly.
2727 Update all callers.
2728
2729 * src/truetype/ttobjs.h (tt_slot_init): New function.
2730 * src/truetype/ttobjs.c (tt_driver_init): Initialize execution
2731 context here.
2732 (tt_slot_init): New function to create extra points for the internal
2733 glyph loader. We then use it directly, instead of face's glyph
2734 loader, when loading glyph.
2735
2736 * src/truetype/ttdriver.c (tt_driver_class): Use tt_slot_init for
2737 glyph slot initialization.
2738 (Load_Glyph): Load flag dependencies are handled here. Return error
2739 if size is NULL.
2740
2741 * src/truetype/ttgload.c: Heavy cleanup and refactoring.
2742 (org_to_cur): Removed.
2743 (TT_Load_Simple_Glyph): Call FT_GlyphLoader_CheckPoints.
2744 (TT_Hint_Glyph): New funcion to hint a zone, prepared by caller.
2745 (TT_Process_Simple_Glyph): s/load/loader/.
2746 Use loader->pp values instead of recalculation.
2747 Use TT_Hint_Glyph.
2748 No need to save/restore loader->stream before and after
2749 TT_Vary_Get_Glyph_Deltas now.
2750 (TT_LOADER_SET_PP): New macro to calculate and set the four phantom
2751 points.
2752 (load_truetype_glyph): Never set exec->glyphSize to 0. This closes
2753 Savannah bug #13107.
2754 Forget glyph frame before calling TT_Process_Simple_Glyph.
2755 Use TT_LOADER_SET_PP.
2756 Scale all four phantom points.
2757 Split off some functionality to ...
2758 (TT_Process_Composite_Component, TT_Process_Composite_Glyph): These
2759 new functions.
2760 (TT_Load_Glyph): Set various fields of `glyph' here, not in
2761 load_truetype_glyph and compute_glyph_metrics.
2762 Split off some functionality to ...
2763 (load_sbit_image, tt_loader_init): These new functions.
2764 (compute_glyph_metrics): Call FT_Outline_Get_CBox.
2765
27662005-08-08 Werner Lemberg <wl@gnu.org>
2767
2768 * docs/INSTALL.ANY: Updated.
2769
27702005-08-05 Werner Lemberg <wl@gnu.org>
2771
2772 * src/cff/cffgload.c (cff_builder_close_contour),
2773 src/psaux/psobjs.c (t1_builder_close_contour): Protect against
2774 zero `outline' pointer.
2775
2776 * src/base/ftgloadr.c (FT_GlyphLoader_Add): Protect against zero
2777 `loader' address.
2778
27792005-08-03 Werner Lemberg <wl@gnu.org>
2780
2781 * src/sfnt/sfdriver.c (sfnt_interface) [FT_OPTIMIZE_MEMORY]:
2782 Reactivate pointers to tt_find_sbit_image and tt_load_sbit_metrics
2783 to make X work again.
2784
27852005-08-02 Werner Lemberg <wl@gnu.org>
2786
2787 * src/otvalid/otvcommn.h: Remove dead code.
2788
27892005-07-31 Chia I Wu <b90201047@ntu.edu.tw>
2790
2791 * src/truetype/ttobjs.h (tt_size_run_fpgm, tt_size_run_prep): New
2792 functions.
2793
2794 * src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): New
2795 functions.
2796 (tt_size_init): Add 4, instead of 2, (phantom) points to twilight
2797 zone.
2798 Move code that runs fpgm to tt_size_run_fpgm.
2799 (Reset_Outline_Size): Move code that runs prep to tt_size_run_prep.
2800 (tt_glyphzone_new): Allocate right size of arrays.
2801 Set max_points and max_contours properly.
2802
28032005-07-26 Chia I Wu <b90201047@ntu.edu.tw>
2804
2805 * src/truetype/ttdriver.c (Set_Char_Sizes): Avoid unnecessary
2806 computations and clean up.
2807
2808 * src/truetype/ttobjs.h (struct TT_SizeRec_): Comment on the
2809 internal copy of metrics.
2810
28112005-07-12 Werner Lemberg <wl@gnu.org>
2812
2813 * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype.
2814 Reported by Xerxes.
2815
28162005-07-04 Werner Lemberg <wl@gnu.org>
2817
2818 * include/freetype/internal/ftmemory.h (FT_REALLOC_ARRAY): Fix typo.
2819 Reported by Brett Hutley.
2820
28212005-06-30 David Turner <david@freetype.org>
2822
2823 * src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c:
2824 Removing compiler warnings (Visual C++ /W4).
2825
2826
2827 Implement a work-around for broken C preprocessor in Visual C++ (it
2828 has been confirmed by the MS developers that it is indeed a bug
2829 which won't be fixed in the very near future).
2830
2831 * Jamfile (FT2_COMPONENTS): Include otvalid (again).
2832
2833 * src/otvalid/otvcommn.h (OTV_NAME, OTV_FUNC): New macros.
2834 (OTV_NEST1, OTV_NEST2, OTV_NEST3): Use OTV_NAME and OTV_FUNC to
2835 avoid argument expansion by argument prescan.
2836 Append `Func' to all affected macros and change them to take just a
2837 single argument. Example: `AttachList' is renamed to
2838 `AttachListFunc'.
2839
2840 * src/otvalid/otvgdef.c, src/otvalid/otvgpos.c,
2841 src/otvalid/otvgsub.c, src/otvjstf.c: Append `Func' to macros
2842 affected by the changes to OTV_NESTx and modify them to take just a
2843 single argument.
2844
28452005-06-20 Chia I Wu <b90201047@ntu.edu.tw>
2846
2847 * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: New function
2848 ft_glyphslot_grid_fit_metrics.
2849
2850 * src/truetype/ttgload.c (compute_glyph_metrics): Use
2851 ft_glyphslot_grid_fit_metrics.
2852
2853 * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
2854 (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Use
2855 ft_glyphslot_grid_fit_metrics.
2856 FT_Outline_Get_CBox is called twice.
2857
2858 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Modify metrics to more
2859 reasonable values when emboldening outline glyphs. The theoretic
2860 ones are unrealistic.
2861
28622005-06-16 Chia I Wu <b90201047@ntu.edu.tw>
2863
2864 * src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
2865 halved.
2866
2867 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
2868 strength.
2869 Don't increase slot->advance.y.
2870
28712005-06-16 Werner Lemberg <wl@gnu.org>
2872
2873 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
2874 (FREETYPE_PATCH): Set to 0.
2875
2876 * builds/unix/configure.ac (version_info): Set to 9:9:3.
2877 Currently, we are still binary compatible.
2878
2879 * builds/win32/visualc/index.html,
2880 builds/win32/visualc/freetype.dsp,
2881 builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
2882
2883 * builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
2884 s/2.1.9/2.1.10/.
2885
2886 * docs/CHANGES, docs/VERSION.DLL: Updated.
2887
2888 * ChangeLog: Split off older entries into...
2889 * ChangeLog.20, ChangeLog.21: These new files.
2890
28912005-06-15 Kirill Smelkov <kirr@mns.spb.ru>
2892
2893 The next release will be 2.2.0, so don't worry about source code
2894 backwards compatibility.
2895
2896 * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
2897 FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
2898 FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc),
2899 include/freetype/ftrender.h (FT_Glyph_TransformFunc,
2900 FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate
2901 parameters with `const' where appropriate.
2902
29032005-06-15 Chia I Wu <b90201047@ntu.edu.tw>
2904
2905 * src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
2906 to make glyphs centered vertically.
2907
2908 * src/truetype/ttgload.c (compute_glyph_metrics): Compute
2909 vertBearingY to make glyphs centered vertically.
2910 Fix some bugs in vertical metrics:
2911
2912 . loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
2913 units.
2914 . As we use the glyph's cbox to calculate the top bearing now
2915 there iss no need to adjust `top'.
2916
29172005-06-15 Werner Lemberg <wl@gnu.org>
2918
2919 * src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
2920 in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake.
2921
29222005-06-13 Werner Lemberg <wl@gnu.org>
2923
2924 * docs/release: Update.
2925
2926----------------------------------------------------------------------------
2927
Werner Lemberg435046b2006-01-11 10:57:42 +00002928Copyright 2005, 2006 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002929David Turner, Robert Wilhelm, and Werner Lemberg.
2930
2931This file is part of the FreeType project, and may only be used, modified,
2932and distributed under the terms of the FreeType project license,
2933LICENSE.TXT. By continuing to use, modify, or distribute this file you
2934indicate that you have read the license and understand and accept it
2935fully.
2936
2937
2938Local Variables:
2939version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002940coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002941End: