blob: 5ce53587033fae608973ce8adac307597dd1a79f [file] [log] [blame]
David Turnerdc3ff312006-05-17 12:59:35 +000012006-05-17 David Turner <david@freetype.org>
2
3 * src/ftccmap.c (FTC_CMapCache_Lookup): changed the threshold
4 used to detect rogue clients from 4 to 16. This is to prevent
5 some segmentation faults with fonts like KozMinProVI-Regular.otf
6 which comes from the Japanese Adobe Reader Asian Font pack.
7
Werner Lembergde2d90a2006-05-17 08:54:30 +000082007-05-17 Werner Lemberg <wl@gnu.org>
9
10 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
11 fixes the first part of Savannah bug #16590.
12
132006-05-16 Werner Lemberg <wl@gnu.org>
14
15 * docs/PROBLEMS: Updated icl issues.
16
Werner Lemberg6756dc12006-05-12 08:00:13 +0000172006-05-12 Werner Lemberg <wl@gnu.org>
18
Werner Lemberg8ab412d2006-05-12 15:09:02 +000019
20 * Version 2.2.1 released.
Werner Lembergde2d90a2006-05-17 08:54:30 +000021 =========================
Werner Lemberg8ab412d2006-05-12 15:09:02 +000022
23
24 Tag sources with `VER-2-2-1'.
25
262006-05-12 Werner Lemberg <wl@gnu.org>
27
Werner Lemberg6756dc12006-05-12 08:00:13 +000028 * src/tools/docmaker/sources.py (re_source_keywords): Add word
29 boundary markers.
30 * src/tools/docmaker/content.py (re_field): Allow `.' in field names
31 (but not at the beginning or end).
Werner Lemberge12a4712006-05-12 14:20:43 +000032 * src/tools/docmaker/tohtml.py (html_header_1): Use `utf-8' charset.
Werner Lemberg6e467a62006-05-12 15:05:45 +000033 (block_footer): Split into...
34 (block_footer_start, block_footer_middle, block_footer_end): This to
35 add navigation buttons.
36 (HtmlFormatter::block_exit): Updated.
Werner Lemberg6756dc12006-05-12 08:00:13 +000037
38 * include/freetype/*: Many minor documentation improvements (adding
39 links, spelling errors, etc.).
40
Werner Lembergfd74ec62006-05-12 04:00:44 +0000412006-05-11 Werner Lemberg <wl@gnu.org>
42
43 * README: Minor updates.
44
45 * include/freetype/*: s/scale/scaling value/ where appropriate.
46 Many other minor documentation improvements.
47
48 * src/tools/docmaker/sources.py (re_italic, re_bold): Handle
49 trailing punctuation.
50 * src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word): Add
51 warning message for undefined cross references.
52 Update handling of re_italic and re_bold.
53
Yamato, Masatake (大和正武)28b55a92006-05-11 03:01:42 +0000542006-05-11 Masatake YAMATO <jet@gyve.org>
55
56 * builds/unix/ftsystem.c (FT_Stream_Open): Check errno only if
57 read system call returns -1.
58 Remove a redundant parenthesis.
59
Werner Lembergb80d85f2006-05-10 04:47:35 +0000602006-05-10 Werner Lemberg <wl@gnu.org>
61
62 * builds/unix/ftsystem.c (FT_Stream_Open): Avoid infinite loop if
63 given an empty, un-mmap()able file. Reported and suggested fix in
64 Savannah bug #16555.
65
Werner Lemberge0d15592006-05-10 13:44:47 +000066 * builds/freetype.mk (refdoc): Write-protect the `docmaker'
67 directory to suppress generation of .pyc files. According to the
68 Python docs there isn't a more elegant solution (currently).
69
70 * builds/toplevel.mk (dist): New target which builds .tar.gz,
71 .tar.bz2, and .zip files. Note that the version number is still
72 hard-coded.
73 (do-dist): Sub-target of `dist'.
74 (CONFIG_GUESS, CONFIG_SUB): New variables.
75 (.PHONY): Updated.
76
Werner Lemberga127ca42006-05-09 13:41:50 +0000772006-05-09 Rajeev Pahuja <rpahuja@esri.com>
78
79 * builds/win32/visualc/freetype.sln,
80 builds/win32/visualc/freetype.vcproj: Upgraded to VS.NET 2005 from
81 VS.NET 2003
82 Added files ftbbox.c, fttype1.c, ftwinfnt.c, ftsynth.c.
83
84 * builds/win32/visualc/index.html: Updated.
85
Werner Lemberg4df5b262006-05-08 07:10:29 +0000862006-05-07 Werner Lemberg <wl@gnu.org>
87
88 Put version information into the configure script. Reported by Paul
89 Watson <pwatson@redlinepy.com>.
90
91 * builds/unix/configure.ac: Renamed to...
92 * builds/unix/configure.raw: This which now serves (with appropriate
93 modifications) as a template for configure.ac.
94
95 * version.sed: New script.
96
97 * autogen.sh: Generate configure.ac from configure.raw, using
98 FREETYPE_MAJOR, FREETYPE_MINOR, and FREETYPE_PATCH from freetype.h.
99
Werner Lemberg1639c792006-05-06 16:44:58 +00001002006-05-06 Werner Lemberg <wl@gnu.org>
101
102 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
103
104 * builds/unix/configure.ac (version_info): Set to 9:10:3.
105
106 * builds/win32/visualc/index.html,
107 builds/win32/visualc/freetype.dsp,
108 builds/win32/visualc/freetype.vcproj, builds/freetype.mk (refdoc),
109 Jamfile (RefDoc), README: s/220/221/, s/2.2.0/2.2.1/.
110 Minor updates.
111
112 * docs/CHANGES, docs/VERSION.DLL, docs/PROBLEMS, README.CVS:
113 Updated.
114
115 * builds/unix/install-sh: Updated from `texinfo' CVS module at
116 savannah.gnu.org.
117
118 * devel/ftoption.h: Synchronize with
119 include/freetype/config/ftoption.h.
120
Werner Lemberg4f3b5bb2006-05-04 07:13:05 +00001212006-05-04 Werner Lemberg <wl@gnu.org>
122
123 * src/lzw/ftlzw2.c: Renamed to...
124 * src/lzw/ftlzw.c: This.
125
126 * src/lzw/Jamfile, src/lzw/rules.mk: Updated.
127
128 * builds/mac/FreeType.m68k_cfm.make.txt,
129 builds/mac/FreeType.m68k_far.make.txt,
130 builds/mac/FreeType.ppc_carbon.make.txt,
131 builds/mac/FreeType.ppc_classic.make.txt: Updated.
132
David Turner679a2522006-05-03 09:40:33 +00001332006-05-03 David Turner <david@freetype.org>
134
Werner Lemberga94746c2006-05-03 20:39:55 +0000135 Allow compilation again with C++ compilers.
136
137 * include/freetype/internal/ftmemory.h (FT_ASSIGNP,
138 FT_ASSIGNP_INNER): New macros which do the actual assignment, and
139 which exist in two variants (for C and C++).
140 Update callers accordingly.
David Turner679a2522006-05-03 09:40:33 +0000141
Werner Lemberg58eed042006-05-02 22:26:09 +00001422006-05-03 Werner Lemberg <wl@gnu.org>
143
144 * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Removed.
145
Werner Lembergc6afa122006-05-02 22:22:16 +00001462006-05-02 Werner Lemberg <wl@gnu.org>
147
148 * include/freetype/internal/ftmemory.h: s/new/newsz/ (for C++).
149 (FT_ALLOC): Remove redundant redefinition.
150
151 * builds/compiler/gcc-dev.mk (CFLAGS) [g++]: Don't use
152 `-Wstrict-prototypes'.
153
154 * src/base/ftstream.c (FT_Stream_EnterFrame): Add cast.
155
Werner Lemberg58eed042006-05-02 22:26:09 +0000156 * include/freetype/config/ftconfig.h (FT_BASE_DEF) [__cplusplus]:
157 Remove `extern'.
Werner Lemberg94204892006-05-02 22:24:06 +0000158
David Turner264f3072006-05-02 06:34:27 +00001592006-05-02 David Turner <david@freetype.org>
160
Werner Lembergc6afa122006-05-02 22:22:16 +0000161 Update the memory management functions and macros to safely deal
162 with array size buffer overflows. This corresponds to attemps to
163 allocate arrays that are too large. For an example, consider the
164 following code:
David Turner264f3072006-05-02 06:34:27 +0000165
Werner Lembergc6afa122006-05-02 22:22:16 +0000166 count = read_uint32_from_file(); array = malloc( sizeof ( Item ) *
167 count ); for ( nn = 0; nn < count; nn++ )
168 array[nn] = read_item_from_file();
David Turner264f3072006-05-02 06:34:27 +0000169
Werner Lembergc6afa122006-05-02 22:22:16 +0000170 If `count' is larger than `FT_UINT_MAX/sizeof(Item)', the
171 multiplication overflows, and the array allocated os smaller than
172 the data read from the file. In this case, the heap will be
173 trashed, and this can be used as a denial-of-service attack, or make
174 the engine crash later.
David Turner264f3072006-05-02 06:34:27 +0000175
Werner Lembergc6afa122006-05-02 22:22:16 +0000176 The FT_ARRAY_NEW and FT_ARRAY_RENEW macros now ensure that the new
177 count is no larger than `FT_INT_MAX/item_size', otherwise a new
178 error code `FT_Err_Array_Too_Large' will be returned.
David Turner264f3072006-05-02 06:34:27 +0000179
Werner Lembergc6afa122006-05-02 22:22:16 +0000180 Note that the memory debugger now works again when FT_DEBUG_MEMORY
181 is defined. FT_STRICT_ALIASING has disappeared; the corresponding
182 code is now the default.
David Turner264f3072006-05-02 06:34:27 +0000183
David Turner9ca78252006-05-02 09:00:29 +0000184
Werner Lembergc6afa122006-05-02 22:22:16 +0000185 * include/freetype/config/ftconfig.h (FT_BASE_DEF) [!__cplusplus]:
186 Don't use `extern'.
Suzuki, Toshiya (鈴木俊哉)a2295402006-04-30 04:46:17 +0000187
Werner Lembergc6afa122006-05-02 22:22:16 +0000188 * include/freetype/fterrdef.h (FT_Err_Array_Too_Large): New error
189 code.
Suzuki, Toshiya (鈴木俊哉)a2295402006-04-30 04:46:17 +0000190
Werner Lembergc6afa122006-05-02 22:22:16 +0000191 * include/freetype/internal/ftmemory.h (FT_DEBUG_INNER)
192 [FT_DEBUG_MEMORY]: New macro.
193 (ft_mem_realloc, ft_mem_qrealloc): Pass new object size count also.
194 (ft_mem_alloc_debug, ft_mem_qalloc_debug, ft_mem_realloc_debug,
195 ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
196 (FT_MEM_ALLOC, FT_MEM_REALLOC, FT_MEM_QALLOC, FT_MEM_QREALLOC,
197 FT_MEM_FREE): Redefine.
198 (FT_MEM_NEW_ARRAY, FT_MEM_RENEW_ARRAY, FT_MEM_QNEW_ARRAY,
199 FT_MEM_QRENEW_ARRAY): Redefine.
200 (FT_ALLOC_MULT, FT_REALLOC_MULT, FT_MEM_QALLOC_MULT,
201 FT_MEM_QREALLOC_MULT): New macros. Update callers where
202 appropriate.
203 (FT_MEM_SET_ERROR): Slightly redefine.
204
205
206 * src/base/ftdbgmem.c (_ft_debug_file, _ft_debug_lineno)
207 [FT_DEBUG_MEMORY]: New global variables, replacing...
208 (FT_MemTable_Rec) [FT_DEBUG_MEMORY]: Remove `filename' and
209 `line_no'. Update all callers.
210 (ft_mem_debug_alloc) [FT_DEBUG_MEMORY]: Avoid possible integer
211 overflow.
212 (ft_mem_alloc_debug, ft_mem_realloc_debug, ft_mem_qalloc_debug,
213 ft_mem_qrealloc_debug, ft_mem_free_debug): Removed.
214
215 * src/base/ftmac.c (read_lwfn): Catch integer overflow.
216 * src/base/ftrfork.c (raccess_guess_darwin_hfsplus): Ditto.
217 * src/base/ftutil.c: Remove special code for FT_STRICT_ALIASING.
218 (ft_mem_alloc. ft_mem_realloc, ft_mem_qrealloc): Rewrite.
219
Werner Lemberg4f3b5bb2006-05-04 07:13:05 +0000220
221 * include/freetype/ftstream.h (FT_FRAME_ENTER, FT_FRAME_EXIT,
222 FT_FRAME_EXTRACT, FT_FRAME_RELEASE): Use FT_DEBUG_INNER to report the
223 place where the frames were entered, extracted, exited or released
224 in the memory debugger.
225
226 * src/base/ftstream.c (FT_Stream_ReleaseFrame) [FT_DEBUG_MEMORY]:
227 Call ft_mem_free.
228 (FT_Stream_EnterFrame) [FT_DEBUG_MEMORY]: Use ft_mem_qalloc.
229 (FT_Stream_ExitFrame) [FT_DEBUG_MEMORY]: Use ft_mem_free.
230
Werner Lembergc6afa122006-05-02 22:22:16 +00002312006-04-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
232
233 * src/base/ftobjs.c (Mac_Read_POST_Resource): Correct pfb_pos
234 initialization, remove extra cast to copy to pfb_lenpos. This fixes
235 parsing of PFB fonts with MacOS resource fork (bug introduced
236 2003-09-11). Patch provided by Huib-Jan Imbens <ft@imbens.nl>.
Suzuki, Toshiya (鈴木俊哉)a2295402006-04-30 04:46:17 +0000237
Werner Lemberg8fe65392006-04-29 07:31:16 +00002382006-04-29 Werner Lemberg <wl@gnu.org>
239
240 Further C library abstraction. Based on a patch from
241 msn2@bidyut.com.
242
243 * include/freetype/config/ftstdlib.h (FT_CHAR_BIT, FT_FILE,
244 ft_fopen, ft_fclose, ft_fseek, ft_ftell, ft_fread, ft_smalloc,
245 ft_scalloc, ft_srealloc, ft_sfree, ft_labs): New wrapper macros for
246 C library functions. Update all users accordingly (and catch some
247 other places where the C library function was used instead of the
248 wrapper functions).
249
250 * src/base/ftsystem.c: Don't include stdio.h and stdlib.h.
251 * src/gzip/zutil.h [MSDOS && !(__TURBOC__ || __BORLANDC__)]: Don't
252 include malloc.h.
253
Werner Lemberg06fceb32006-04-29 07:53:40 +0000254
255 * builds/unix/unix-def.in (datarootdir): Define, for autoconf 2.59c
256 and forthcoming versions.
257
Werner Lemberg50ef72b2006-04-29 07:02:36 +00002582006-04-28 Werner Lemberg <wl@gnu.org>
259
260 * src/lzw/ftlzw.c, src/lzw/zopen.c, src/lzw/zopen.h: Removed,
261 obsolete.
262
Werner Lemberg12cceaa2006-04-27 05:02:35 +00002632006-04-27 yi luo <luoyi.ly@gmail.com>
264
265 * builds/win32/visualc/freetype.vcproj: Updated.
266
David Turner3b47dd62006-04-26 19:34:24 +00002672006-04-26 David Turner <david@freetype.org>
268
Werner Lemberg12cceaa2006-04-27 05:02:35 +0000269
270 * Version 2.2 released.
Werner Lembergc6afa122006-05-02 22:22:16 +0000271 =======================
Werner Lemberg12cceaa2006-04-27 05:02:35 +0000272
273
274 Tag sources with `VER-2-2-0'.
David Turner3b47dd62006-04-26 19:34:24 +0000275
Werner Lemberg564b4432006-04-26 15:02:52 +00002762006-04-26 Werner Lemberg <wl@gnu.org>
277
278 * src/psaux/psobjs.c (shift_elements): Don't use FT_Long but
Werner Lemberg4e03fe72006-04-29 06:20:09 +0000279 FT_PtrDiff for `delta'. Reported by Céline PILLET
Werner Lemberg564b4432006-04-26 15:02:52 +0000280 <Celine.Pillet@Tagginfo.com>.
281
David Turner8e438ea2006-04-21 08:35:11 +00002822006-04-21 David Turner <david@freetype.org>
283
Werner Lemberg8a8c6022006-04-22 12:24:52 +0000284 * include/freetype/ftincrem.h: Documentation updates.
285 (FT_Incremental_Interface): New typedef.
David Turner8e438ea2006-04-21 08:35:11 +0000286
Werner Lemberg8a8c6022006-04-22 12:24:52 +0000287 * include/freetype/ftmodapi.h, include/freetype/ftglyph.h:
288 Documentation updates.
289
290 * include/freetype/freetype.h: Documentation update.
291 (FT_HAS_FAST_GLYPHS): Always set to 0.
292
293 * include/freetype/ftstroke.h, src/base/ftstroke.c (FT_Stroker_New):
294 Take an FT_Library argument instead of FT_Memory.
295
296 * src/sfnt/ttcmap.c: Remove compiler warnings (gcc-4.0.2).
David Turner7aa20102006-04-21 08:38:35 +0000297
David Turner65c7c772006-04-13 07:51:58 +00002982006-04-13 David Turner <david@freetype.org>
299
Werner Lemberg8a8c6022006-04-22 12:24:52 +0000300 * src/autofit/afloader.c (af_loader_init, af_loader_load_g): Remove
301 superfluous code in the auto-fitter's loader.
David Turner65c7c772006-04-13 07:51:58 +0000302
Werner Lemberg4e03fe72006-04-29 06:20:09 +00003032006-04-05 Detlef Würkner <TetiSoft@apg.lahn.de>
Detlef Würkner7d043222006-04-05 07:17:12 +0000304
305 * builds/amiga/makefile, builds/amiga/makefile.os4,
306 builds/amiga/smakefile: Added FT2_BUILD_LIBRARY define.
307
Werner Lemberg7f18de62006-04-03 16:47:34 +00003082006-04-03 luoyi <luoyi.ly@gmail.com>
309
310 * builds/compiler/intelc.mk (TE): New variable.
311 (ANSIFLAGS): Updated.
312
Werner Lembergfd7456c2006-04-03 15:46:48 +00003132006-04-03 Werner Lemberg <wl@gnu.org>
314
315 * builds/exports.mk (clean_symbols_list, clean_apinames): Removed.
316 (CLEAN): Add $(EXPORTS_LIST) and $(APINAMES_EXE).
317 (.PHONY): Updated.
318
319 * configure.ac: Minor fixes to improve --help output.
320
Werner Lemberg764b2512006-04-03 16:42:39 +0000321
322 * docs/PROBLEMS: New file.
323
Werner Lemberg40917862006-04-01 18:49:07 +00003242006-04-01 David Turner <david@freetype.org>
David Turner0f15e1c2006-04-01 16:11:53 +0000325
Werner Lemberg40917862006-04-01 18:49:07 +0000326 * docs/CHANGES: Updated.
David Turnercf603712006-04-01 16:22:06 +0000327
Werner Lemberg40917862006-04-01 18:49:07 +0000328 * include/freetype/ftcache.h, include/freetype/config/ftheader.h:
329 Update documentation comments.
David Turner0f15e1c2006-04-01 16:11:53 +0000330
Werner Lemberg6e9df682006-04-01 05:22:07 +00003312006-04-01 Werner Lemberg <wl@gnu.org>
332
333 * builds/unix/install.mk (uninstall): Don't handle `cache'
334 directory which no longer exists.
335
Werner Lemberg4e03fe72006-04-29 06:20:09 +00003362006-03-29 Detlef Würkner <TetiSoft@apg.lahn.de>
Detlef Würknerd51b41e2006-03-29 06:35:26 +0000337
Werner Lemberg6e9df682006-04-01 05:22:07 +0000338 * src/psaux/psconv.c: Changed some variables which are expected to
339 hold negative values from `char' to `FT_Char' to allow building with
340 a compiler where `char' is unsigned by default.
Detlef Würknerd51b41e2006-03-29 06:35:26 +0000341
David Turner42137bc2006-03-27 20:10:26 +00003422006-03-27 David Turner <david@freetype.org>
343
Werner Lembergfa3651e2006-03-28 05:06:50 +0000344 * src/sfnt/ttkern.c (tt_face_get_kerning): Fix a serious bug that
345 causes some programs to go into an infinite loop when dealing with
346 fonts that don't have a properly sorted kerning sub-table.
David Turner42137bc2006-03-27 20:10:26 +0000347
Werner Lemberg26170df2006-03-26 07:19:07 +00003482006-03-26 Werner Lemberg <wl@gnu.org>
349
350 * src/bdf/bdflib.c (ERRMSG4): New macro.
351 (_bdf_parse_glyphs): Handle invalid BBX values.
352
353 * include/freetype/fterrdef.h (FT_Err_Bbx_Too_Big): New error
354 macro.
355
Werner Lemberg4db32ec2006-03-24 11:54:53 +00003562006-03-23 Werner Lemberg <wl@gnu.org>
357
358 * docs/CHANGES: Updated.
359
Werner Lembergd6e24982006-03-24 18:31:47 +0000360
Werner Lemberg4db32ec2006-03-24 11:54:53 +0000361 * src/tools/docmaker/tohtml.py (html_header_2): Add horizontal
362 padding between table elements.
Werner Lemberge0dd18f2006-03-24 12:14:48 +0000363 (html_header_1): The `DOCTYPE' comment must be in uppercase.
Werner Lembergd6e24982006-03-24 18:31:47 +0000364 (make_html_para): Convert `...' quotations into real left and
365 right single quotes.
366 Use `para_header' and `para_footer'.
367
368 * src/tools/docmaker/sources.py (re_bold, re_italic): Accept "'"
369 also.
Werner Lemberg4db32ec2006-03-24 11:54:53 +0000370
David Turner2ce92032006-03-23 20:58:20 +00003712006-03-23 David Turner <david@freetype.org>
372
Werner Lemberg4db32ec2006-03-24 11:54:53 +0000373 Add FT_Get_SubGlyph_Info API to retrieve subglyph data. Note that
Werner Lembergc6afa122006-05-02 22:22:16 +0000374 we do not expose the FT_SubGlyphRec structure.
David Turner2ce92032006-03-23 20:58:20 +0000375
Werner Lemberg4db32ec2006-03-24 11:54:53 +0000376 * include/freetype/internal/ftgloadr.h (FT_SUBGLYPH_FLAGS_*): Moved
377 to...
378 * include/freetype/freetype.h (FT_SUBGLYPH_FLAGS_*): Here.
379 (FT_Get_SybGlyph_Info): New declaration.
380
381 * src/base/ftobjs.c (FT_Get_SubGlyph_Info): New function.
382
383
384 * src/autofit/afloader.c (af_loader_load_g): Compute lsb_delta and
Werner Lembergc6afa122006-05-02 22:22:16 +0000385 rsb_delta correctly in edge cases.
David Turner2ce92032006-03-23 20:58:20 +0000386
Werner Lemberg3867d2f2006-03-22 08:03:06 +00003872006-03-22 Werner Lemberg <wl@gnu.org>
388
Werner Lemberg6c5b6172006-03-22 15:30:41 +0000389 * src/cache/ftccache.c, (ftc_node_mru_up, FTC_Cache_Lookup)
390 [!FTC_INLINE]: Compile conditionally.
391 * src/cache/ftccache.h: Updated.
392
393 * src/cache/ftcglyph.c (FTC_GNode_Init, FTC_GNode_UnselectFamily,
394 FTC_GNode_Done, FTC_GNode_Compare, FTC_Family_Init, FTC_GCache_New):
395 s/FT_EXPORT/FT_LOCAL/.
396 (FTC_GCache_Init, FTC_GCache_Done): Commented out.
397 (FTC_GCache_Lookup) [!FTC_INLINE]: Compile conditionally.
398 s/FT_EXPORT/FT_LOCAL/.
399 * src/cache/ftcglyph.h: Updated.
400
401 * src/cache/ftcimage.c (FTC_INode_Free, FTC_INode_New):
402 s/FT_EXPORT/FT_LOCAL/.
403 (FTC_INode_Weight): Commented out.
404 * src/cache/ftcimage.h: Updated.
405
406 * src/cache/ftmanag.c (FTC_Manager_Compress,
407 FTC_Manager_RegisterCache, FTC_Manager_FlushN):
408 s/FT_EXPORT/FT_LOCAL/.
409 * src/cache/ftmanag.h: Updated.
410
411 * src/cache/ftcsbits.c (FTC_SNode_Free, FTC_SNode_New,
412 FTC_SNode_Compare): s/FT_EXPORT/FT_LOCAL/.
413 (FTC_SNode_Weight): Commented out.
414 * src/cache/ftcsbits.h: Updated.
415
4162006-03-22 Werner Lemberg <wl@gnu.org>
417
Werner Lemberg3867d2f2006-03-22 08:03:06 +0000418 * src/cache/ftccache.c, src/cache/ftccache.h (FTC_Node_Destroy):
419 Remove, unused.
420
421 * src/cache/ftccmap.h: Remove, unused.
422
423 * src/cache/rules.mk (CACHE_DRV_H): Remove ftccmap.h.
424
Werner Lemberg5556dd22006-03-21 21:36:33 +00004252006-03-21 Zhe Su <james.su@gmail.com>
426
427 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Improve
428 algorithm.
429
Werner Lemberg26377002006-03-21 18:41:40 +00004302006-03-21 Werner Lemberg <wl@gnu.org>
431
432 * src/cff/cfftypes.h (CFF_CharsetRec): Add `max_cid' member.
433
434 * src/cff/cffload.c (cff_charset_load): Set `charset->max_cid'.
435
436 * src/cff/cffgload.c (cff_slot_load): Change type of third parameter
437 to `FT_UInt'.
438 Check range of `glyph_index'.
439 * src/cff/cffgload.h: Updated.
440
Werner Lemberg8439fe82006-03-21 21:04:33 +0000441
Werner Lemberg95f206b2006-03-21 20:47:28 +0000442 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Handle invalid offset
443 correctly.
444
Werner Lemberg8439fe82006-03-21 21:04:33 +0000445
446 * builds/freetype.mk (refdoc), docs/CHANGES, Jamfile (RefDoc),
447 README: s/2.1.10/2.2/.
448
Werner Lemberg26377002006-03-21 18:41:40 +00004492006-03-21 David Turner <david@freetype.org>
David Turner24b9e872006-03-21 16:30:04 +0000450
Werner Lemberga62007f2006-03-21 17:41:40 +0000451 * src/autofit/aflatin.c (af_latin_metrics_scale): Fix small bug
452 that crashes the auto-hinter (introduced by previous patch).
David Turner24b9e872006-03-21 16:30:04 +0000453
Werner Lemberg5a73d8d2006-03-20 16:55:32 +00004542006-03-20 Werner Lemberg <wl@gnu.org>
David Turnerdad2a2d2006-03-20 11:48:13 +0000455
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000456 * builds/freetype.mk (CACHE_DIR, CACHE_H): Remove.
457 (FREETYPE_H): Updated.
David Turnere091ce32006-03-20 16:01:28 +0000458
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000459 * src/cache/rules.mk (CACHE_H_DIR): Remove.
460 (CACHE_DRV_H): Updated.
David Turnerda95af62006-03-20 13:32:33 +0000461
Werner Lemberg5a73d8d2006-03-20 16:55:32 +00004622006-03-20 David Turner <david@freetype.org>
David Turnerda95af62006-03-20 13:32:33 +0000463
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000464 * include/freetype/cache/ftccache.h,
465 include/freetype/cache/ftccmap.h, include/freetype/cache/ftcglyph.h
466 include/freetype/cache/ftcimage.h include/freetype/cache/ftcmanag.h
467 include/freetype/cache/ftcmru.h include/freetype/cache/ftcsbits.h:
468 Move to...
David Turner505667c2006-03-20 12:13:14 +0000469
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000470 * src/cache/ftccache.h, src/cache/ftcglyph.h, src/cache/ftcimage.h,
471 src/cache/ftcsbits.h, src/cache/ftcmanag.h, src/cache/ftccmap.h,
472 src/cache/ftcmru.h: This new location.
473 Update declarations according to the changes in the corresponding
474 source files.
David Turner256de4b2006-03-20 12:10:24 +0000475
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000476 Note that these files are not used by FreeType clients; all public
477 APIs of the cache module have been already moved to
478 `include/freetype/ftcache.h', and all FT_CACHE_INTERNAL_XXXX_H
479 macros resolve to it.
David Turner256de4b2006-03-20 12:10:24 +0000480
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000481 Reason for the move is to allow modifications of the internals
482 without interferences with rogue clients. Note that there are no
483 known clients that access the cache internals at the moment.
David Turner256de4b2006-03-20 12:10:24 +0000484
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000485 * builds/unix/install.mk (install): Don't install headers from
486 $(CACHE_H).
487 Remove `freetype/cache' from the target directory.
David Turnerdad2a2d2006-03-20 11:48:13 +0000488
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000489 * include/freetype/config/ftheader.h (FT_CACHE_MANAGER_H,
490 FT_CACHE_INTERNAL_MRU_H, FT_CACHE_INTERNAL_MANAGER_H,
491 FT_CACHE_INTERNAL_CACHE_H, FT_CACHE_INTERNAL_GLYPH_H,
492 FT_CACHE_INTERNAL_IMAGE_H, FT_CACHE_INTERNAL_SBITS_H): Point to
493 FT_CACHE_H.
David Turnerdad2a2d2006-03-20 11:48:13 +0000494
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000495 * src/cache/ftcbasic.c, src/cache/ftccache.h, src/cache/ftccback.h,
496 src/cache/ftccmap.c, src/cache/ftcglyph.c, src/cache/ftcglyph.h,
497 src/cache/ftcimage.c, src/cache/ftcimage.h, src/cache/ftcmanag.c,
498 src/cache/ftcmanag.h, src/cache/ftcmru.h, src/cache/ftcsbits.c,
499 src/cache/ftcsbits.h: Don't use the FT_CACHE_INTERNAL_XXX_H macros
500 but include the headers directly (which are now in `src/cache').
David Turnerdad2a2d2006-03-20 11:48:13 +0000501
Werner Lemberg5a73d8d2006-03-20 16:55:32 +0000502 * src/cache/ftccache.c: Don't use the FT_CACHE_INTERNAL_XXX_H
503 macros but include the headers directly.
504 (FTC_Cache_Init, FTC_Cache_Done, FTC_Cache_NewNode,
505 FTC_Cache_Lookup, FTC_Cache_RemoveFaceID): Declare as FT_LOCAL_DEF.
506
507 * src/cache/ftccache.c: Don't use the FT_CACHE_INTERNAL_XXX_H
508 macros but include the headers directly.
509 (FTC_MruNode_Prepend, FTC_MruNode_Up, FTC_MruNode_Remove,
510 FTC_MruList_Init, FTC_MruList_Reset, FTC_MruList_Done,
511 FTC_MruList_New, FTC_MruList_Remove, FTC_MruList_RemoveSelection):
512 Declare as FT_LOCAL_DEF.
513 (FTC_MruListFind, FTC_MruList_Lookup) [!FTC_INLINE]: Compile
514 conditionally.
515 Declare as FT_LOCAL_DEF.
516
517
518 * builds/win32/visualc/freetype.dsp: Update project file, add
519 missing base source files (ftstroke.c, ftxf86.c, etc.).
520
521
522 * src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c,
523 src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c,
524 src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/type1/t1afm.c,
525 src/type1/t1objs.c: Remove compiler warnings when building with
526 Visual C++ 6 and /W4.
527
528 * src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
529 hinting for italic/oblique fonts.
530
531
532
533 * src/truetype/ttpload.c, src/truetype/ttpload.h
534 (tt_face_get_device_metrics): Change second argument to `FT_UInt'.
535
5362006-03-06 David Turner <david@freetype.org>
David Turner65b96aa2006-03-07 00:38:24 +0000537
Werner Lemberge6a8fca2006-03-07 23:53:55 +0000538 * src/cache/ftcmanag.c (FTC_Manager_Lookup_Size): Prevent crashes in
539 Mozilla/FireFox print preview in Ubuntu Hoary.
David Turner65b96aa2006-03-07 00:38:24 +0000540
Wu, Chia-I (吳佳一)a87b08a2006-02-28 09:53:23 +00005412006-02-28 Chia-I Wu <b90201047@ntu.edu.tw>
542
Wu, Chia-I (吳佳一)9f5d3de2006-02-28 13:21:50 +0000543 * src/base/ftutil.c (ft_mem_qalloc) [FT_STRICT_ALIASING]: Do not
544 return error when size == 0.
545
5462006-02-28 Chia-I Wu <b90201047@ntu.edu.tw>
547
Werner Lemberge88d24c2006-02-28 21:49:54 +0000548 * src/base/ftobjs.c (FT_Done_Library): Remove modules in reverse
549 order so that type42 module is removed before truetype module. This
550 avoids double free in some occasions.
Wu, Chia-I (吳佳一)a87b08a2006-02-28 09:53:23 +0000551
Werner Lembergc6afa122006-05-02 22:22:16 +00005522006-02-28 David Turner <david@freetype.org>
David Turnere9a47192006-02-28 09:26:58 +0000553
Werner Lemberge88d24c2006-02-28 21:49:54 +0000554 * Release candidate VER-2-2-0-RC4.
555 ----------------------------------
David Turnere9a47192006-02-28 09:26:58 +0000556
Werner Lemberge88d24c2006-02-28 21:49:54 +0000557 * docs/CHANGES: Documentation updates.
David Turnere9a47192006-02-28 09:26:58 +0000558
Suzuki, Toshiya (鈴木俊哉)576c3532006-02-28 01:11:57 +00005592006-02-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
560
Werner Lemberge88d24c2006-02-28 21:49:54 +0000561 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
562 build ftvalid in ft2demos. It works as dummy ABI if gxvalid is not
563 built.
Suzuki, Toshiya (鈴木俊哉)576c3532006-02-28 01:11:57 +0000564
Werner Lembergc07ee522006-02-27 18:13:12 +00005652006-02-27 Werner Lemberg <wl@gnu.org>
566
567 * include/freetype/cache/ftccache.h
568 [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove declaration of
569 ftc_node_done.
570
Werner Lemberg98d6a3a2006-02-27 19:49:34 +0000571 * src/cache/ftccache.c (ftc_node_destroy)
572 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Mark as FT_LOCAL_DEF. This
573 should now fix all possible compilation options.
574
David Turnerc13e75f2006-02-27 13:14:42 +00005752006-02-27 David Turner <david@freetype.org>
576
Werner Lemberg422d2a02006-02-27 18:25:22 +0000577 * src/base/ftutil.c (ft_mem_alloc, ft_mem_qalloc, ft_mem_realloc,
578 ft_mem_qrealloc): Return an error if a negative size is passed in
579 parameters.
David Turnerc13e75f2006-02-27 13:14:42 +0000580
Werner Lemberg98d6a3a2006-02-27 19:49:34 +0000581 * src/cache/ftccache.c (ftc_node_destroy): Mark as FT_BASE_DEF since
582 it needs to be exported for rogue clients.
David Turner65b96aa2006-03-07 00:38:24 +0000583
Werner Lemberg422d2a02006-02-27 18:25:22 +0000584 * src/pshinter/pshglob.c (psh_blues_set_zones_0): Prevent problems
585 with malformed fonts which have an odd number of blue values (these
586 are broken according to the specs).
David Turnerc13e75f2006-02-27 13:14:42 +0000587
Werner Lemberg422d2a02006-02-27 18:25:22 +0000588 * src/cff/cffload.c (cff_subfont_load), src/type1/t1load.c
589 (T1_Open_Face): Modify the loaders to force even-ness of
590 `num_blue_values'.
591
592 (cff_index_access_element): Ignore invalid entries in index files.
David Turnerc13e75f2006-02-27 13:14:42 +0000593
Wu, Chia-I (吳佳一)cffa8b62006-02-27 11:11:40 +00005942006-02-27 Chia-I Wu <b90201047@ntu.edu.tw>
595
Werner Lemberg98d6a3a2006-02-27 19:49:34 +0000596 * src/base/ftobjs.c (FT_Set_Char_Size): Check the case where width
597 or height is 0.
Wu, Chia-I (吳佳一)cffa8b62006-02-27 11:11:40 +0000598
Suzuki, Toshiya (鈴木俊哉)2f239b82006-02-27 10:34:33 +00005992006-02-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
600
601 * builds/mac/FreeType.m68k_cfm.make.txt,
602 builds/mac/FreeType.m68k_far.make.txt,
603 builds/mac/FreeType.ppc_carbon.make.txt,
Werner Lemberg98d6a3a2006-02-27 19:49:34 +0000604 builds/mac/FreeType.ppc_classic.make.txt: Update to new header
605 inclusion introduced on 2006-02-16.
Suzuki, Toshiya (鈴木俊哉)2f239b82006-02-27 10:34:33 +0000606
Wu, Chia-I (吳佳一)2e48a1a2006-02-27 09:18:07 +00006072006-02-27 Chia-I Wu <b90201047@ntu.edu.tw>
608
Werner Lemberg422d2a02006-02-27 18:25:22 +0000609 * src/base/ftobjs.c (GRID_FIT_METRICS): New macro.
610 (ft_glyphslot_grid_fit_metrics, FT_Load_Glyph) [GRID_FIT_METRICS]:
Wu, Chia-I (吳佳一)2e48a1a2006-02-27 09:18:07 +0000611 Re-enable glyph metrics grid-fitting. It is now done in the base
612 layer.
Werner Lembergc07ee522006-02-27 18:13:12 +0000613 (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Make sure the width and
614 height are not too small or too large, just like we were doing in
615 2.1.10.
Wu, Chia-I (吳佳一)2e48a1a2006-02-27 09:18:07 +0000616
Werner Lembergc07ee522006-02-27 18:13:12 +0000617 * src/autofit/afloader.c (af_loader_load_g): The vertical metrics
618 are not scaled.
Wu, Chia-I (吳佳一)2e48a1a2006-02-27 09:18:07 +0000619
Werner Lembergf99d8462006-02-26 17:50:59 +00006202006-02-26 Werner Lemberg <wl@gnu.org>
621
622 * docs/release: Minor additions and clarifications.
623
624 * docs/CHANGES: Updated to reflect many fixes for backwards
625 compatibility. Still incomplete.
626
David Turnerb4636652006-02-26 07:57:45 +00006272006-02-26 David Turner <david@freetype.org>
628
Werner Lemberg0aaf4292006-02-26 17:30:15 +0000629 * src/base/ftobjs.c (ft_recompute_scaled_metrics): Re-enable
630 conservative rounding of metrics to avoid breaking clients like
631 Pango (see http://bugzilla.gnome.org/show_bug.cgi?id=327852).
David Turnerb4636652006-02-26 07:57:45 +0000632
Werner Lemberg20a8d0c2006-02-25 16:56:04 +00006332006-02-25 Werner Lemberg <wl@gnu.org>
634
635 * devel/ftoption.h: Synchronize with
636 include/freetype/config/ftoption.h.
637
Werner Lembergae1e4b12006-02-25 17:11:04 +0000638 * src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF (again).
639
David Turner6c71c6b2006-02-25 12:49:40 +00006402006-02-25 David Turner <david@freetype.org>
641
Werner Lemberg7f049f42006-02-25 16:52:16 +0000642 Fix compiler warnings as well as C++ compilation problems.
643 Add missing prototypes.
David Turner6c71c6b2006-02-25 12:49:40 +0000644
Werner Lemberg7f049f42006-02-25 16:52:16 +0000645 * src/autofit/afcjk.c, src/base/ftobjs.c, src/base/ftutil.c,
646 src/bdf/bdfdrivr.c, src/cff/cffcmap.c, src/cff/cffobjs.c,
647 src/psaux/afmparse.c,, src/psaux/t1cmap.c, src/smooth/ftgrays.c
648 src/tools/apinames.c, src/truetype/ttdriver.c: Add various casts,
649 initialize variables, and decorate functions with FT_CALLBACK_DEF,
650 etc., to fix compiler warnings (and C++ compiling errors).
David Turner6c71c6b2006-02-25 12:49:40 +0000651
Werner Lemberg7f049f42006-02-25 16:52:16 +0000652 * src/cache/ftcbasic.c: Fix `-Wmissing-prototypes' warnings with
653 gcc.
David Turnerde271ab2006-02-25 14:53:02 +0000654
Werner Lemberg7f049f42006-02-25 16:52:16 +0000655 * builds/unix/ftsystem.c: Don't include FT_INTERNAL_OBJECTS_H but
656 FT_INTERNAL_STREAM_H.
David Turnerde271ab2006-02-25 14:53:02 +0000657
Werner Lemberg7f049f42006-02-25 16:52:16 +0000658 * src/base/ftsystem.c: Include FT_INTERNAL_STREAM_H.
David Turnerde271ab2006-02-25 14:53:02 +0000659
Werner Lemberg7f049f42006-02-25 16:52:16 +0000660 * include/freetype/config/ftheader.h (FT_PFR_H): New macro.
661
662 * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): Don't
663 define for C++.
664
665 * include/freetype/internal/services/svotval.h: Don't include
666 FT_OPENTYPE_VALIDATE_H but FT_INTERNAL_VALIDATE_H.
667
668 * include/freetype/internal/services/svpfr.h: Include FT_PFR_H.
669
670 * src/gzip/ftgzip.c: Include FT_GZIP_H.
671
672 * src/lzw/ftlzw.c, src/lzw/ftlzw2.c: Include FT_LZW_H.
673
674 * src/sfnt/ttbdf.c (tt_face_load_bdf_props): Rearrange code.
David Turner6c71c6b2006-02-25 12:49:40 +0000675
Wu, Chia-I (吳佳一)03264612006-02-24 11:18:40 +00006762006-02-24 Chia-I Wu <b90201047@ntu.edu.tw>
677
Wu, Chia-I (吳佳一)88242072006-02-24 11:53:21 +0000678 * src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
679 ft_contour_enclosed, ft_outline_get_orientation): Commented out. We
David Turner6c71c6b2006-02-25 12:49:40 +0000680 have to wait until `FT_GlyphSlot_Own_Bitmap' is stabilized.
Wu, Chia-I (吳佳一)88242072006-02-24 11:53:21 +0000681 (FT_Outline_Embolden): Use `FT_Outline_Get_Orientation'.
682
6832006-02-24 Chia-I Wu <b90201047@ntu.edu.tw>
684
Wu, Chia-I (吳佳一)03264612006-02-24 11:18:40 +0000685 * include/freetype/ftbitmap.h (FT_Bitmap_Embolden): Update
686 documentation.
687
688 * include/freetype/ftsynth.h (FT_GlyphSlot_Own_Bitmap),
689 src/base/ftsynth.c (FT_GlyphSlot_Own_Bitmap): New function to make
Werner Lembergd7e6b762006-02-25 06:24:28 +0000690 sure a glyph slot owns its bitmap. It is also marked experimental
691 and due to change.
692 (FT_GlyphSlot_Embolden): Undo the last change. It turns out that
693 rendering the outline confuses some applications.
Wu, Chia-I (吳佳一)03264612006-02-24 11:18:40 +0000694
David Turnerca7d76f2006-02-24 09:09:10 +00006952006-02-24 David Turner <david@freetype.org>
696
Werner Lembergd7e6b762006-02-25 06:24:28 +0000697 * Release candidate VER-2-2-0-RC3.
698 ----------------------------------
David Turner478c5912006-02-24 09:56:23 +0000699
Werner Lembergd7e6b762006-02-25 06:24:28 +0000700 * src/cache/ftcbasic.c: Correct compatibility hack bug.
David Turnerca7d76f2006-02-24 09:09:10 +0000701
Wu, Chia-I (吳佳一)a8e7a012006-02-24 06:11:30 +00007022006-02-24 Chia-I Wu <b90201047@ntu.edu.tw>
703
Werner Lembergd7e6b762006-02-25 06:24:28 +0000704 * include/freetype/freetype.h (FT_Size_RequestRec): Change the type
705 of `width' and `height' to `FT_Long'.
Wu, Chia-I (吳佳一)a8e7a012006-02-24 06:11:30 +0000706 (enum FT_Size_Request_Type), src/base/ftobjs.c (FT_Request_Metrics):
707 New request type `FT_SIZE_REQUEST_TYPE_SCALES' to specify the scales
708 directly.
709
David Turner6cda6c02006-02-23 12:37:18 +00007102006-02-23 David Turner <david@freetype.org>
711
Werner Lembergd7e6b762006-02-25 06:24:28 +0000712 Two BDF patches from Debian libfreetype6 for 2.1.10.
David Turner6cda6c02006-02-23 12:37:18 +0000713
Werner Lembergd4303da2006-02-23 21:01:34 +0000714 * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix a bug with zero-width
715 glyphs.
716 Fix a problem with large encodings.
David Turner481838e2006-02-23 12:40:14 +0000717
Werner Lembergd7e6b762006-02-25 06:24:28 +0000718
719 Fix binary compatibility issues for gnustep-back (GNUstep backend
720 module) which still crashes under Sarge.
721
722 * src/cache/ftccmap.c (FTC_OldCMapType, FTC_OldCMapIdRec,
723 FTC_OldCMapDesc) [FT_CONFIG_OPTION_OLD_INTERNALS]: New data
724 structures and enumerations.
725 (FTC_CMapCache_Lookup) [FT_CONFIG_OPTION_OLD_INTERNALS]: New
726 compatibility code.
David Turner88d89852006-02-23 22:35:26 +0000727
Wu, Chia-I (吳佳一)890f8072006-02-22 20:47:39 +00007282006-02-23 Chia-I Wu <b90201047@ntu.edu.tw>
729
730 * include/freetype/ftoutln.h (enum FT_Orientation): New value
731 `FT_ORIENTATION_NONE'.
732
733 * src/base/ftoutln.c (FT_OUTLINE_GET_CONTOUR, ft_contour_has,
734 ft_contour_enclosed, ft_outline_get_orientation): Another version of
735 `FT_Outline_Get_Orientation'. This version differs from the public
736 one in that each part (contour not enclosed in another contour) of the
737 outline is checked for orientation.
738 (FT_Outline_Embolden): Use `ft_outline_get_orientation'.
739
740 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Render the outline and
741 use bitmap's embolden routine when the outline one failed.
742
Wu, Chia-I (吳佳一)facd9af2006-02-22 07:59:35 +00007432006-02-22 Chia-I Wu <b90201047@ntu.edu.tw>
744
745 * modules.cfg: Compile in ftotval.c and ftxf86.c by default for ABI
746 compatibility.
747
748 * src/sfnt/sfobjs.c (sfnt_done_face): Fix a memory leak.
749
750 * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned,
751 tt_sbit_decoder_load_byte_aligned) [FT_OPTIMIZE_MEMORY]: Fix sbit
Werner Lemberg5edafed2006-02-22 08:23:35 +0000752 loading. (Only tested with bit aligned sbit with x_pos == 0.)
Wu, Chia-I (吳佳一)facd9af2006-02-22 07:59:35 +0000753
754 * src/truetype/ttpload.c (tt_face_load_hdmx,
Werner Lemberg5edafed2006-02-22 08:23:35 +0000755 tt_face_get_device_metrics) [FT_OPTIMIZE_MEMORY]: `hdmx' is not
756 actually used.
Wu, Chia-I (吳佳一)facd9af2006-02-22 07:59:35 +0000757
David Turner1ae134a2006-02-21 16:50:17 +00007582006-02-21 David Turner <david@freetype.org>
759
Werner Lemberg5edafed2006-02-22 08:23:35 +0000760 Add a new API named FT_Get_TrueType_Engine_Type to determine whether
761 we have a patented, unpatented, or unimplemented TrueType bytecode
762 interpreter.
David Turner0b5dc4d2006-02-21 22:36:23 +0000763
Werner Lemberg5edafed2006-02-22 08:23:35 +0000764 The FT_Get_Module_Flags API was removed consequently.
David Turner0b5dc4d2006-02-21 22:36:23 +0000765
David Turner88d89852006-02-23 22:35:26 +0000766 * include/freetype/ftmodapi.h (FT_Module_Get_Flags): Removed.
Werner Lemberg5edafed2006-02-22 08:23:35 +0000767 Replaced with...
768 (FT_Get_TrueType_Engine_Type): This.
769 (FT_TrueTypeEngineType): New enumeration.
David Turner0b5dc4d2006-02-21 22:36:23 +0000770
Werner Lemberg5edafed2006-02-22 08:23:35 +0000771 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_ENGINE_H):
772 New macro.
David Turner1ae134a2006-02-21 16:50:17 +0000773
Werner Lemberg5edafed2006-02-22 08:23:35 +0000774 * src/base/ftobjs.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
775 (FT_Module_Get_Flags): Removed. Replaced with...
776 (FT_Get_TrueType_Engine_Type): This.
David Turnerc093db92006-02-21 17:06:35 +0000777
Werner Lemberg5edafed2006-02-22 08:23:35 +0000778 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
779 (tt_service_truetype_engine): New service structure.
780 (tt_services): Register it.
781
782 * include/freetype/internal/services/svtteng.h: New file.
783
784
785 * src/sfnt/sfobjs.c (sfnt_load_face): Fix silly bug that prevented
786 embedded bitmaps from being correctly listed and used.
787
788
789 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Disable memory optimization
790 if FT_CONFIG_OPTION_OLD_INTERNALS is used. The is necessary because
791 libXfont is directly accessing the HMTX data, unfortunately.
792 Fix some compiler warnings.
793 (tt_face_get_metrics): Ditto.
794
795
796 * src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix handling of
797 character advances.
David Turner1ae134a2006-02-21 16:50:17 +0000798
David Turnerdd0f3602006-02-20 23:50:21 +00007992006-02-20 David Turner <david@freetype.org>
800
David Turner0b5dc4d2006-02-21 22:36:23 +0000801 Support binary compatibility with the X.Org server's Xfont library.
Werner Lembergd41aecd2006-02-21 08:08:14 +0000802 Note that this change unfortunately prevents memory optimizations
803 for the embedded bitmap loader.
David Turnerdd0f3602006-02-20 23:50:21 +0000804
Werner Lembergd41aecd2006-02-21 08:08:14 +0000805 * include/freetype/internal/sfnt.h (SFNT_Interface): Move
806 `set_sbit_strike' and `load_sbit_metrics' fields to the location of
807 version 2.1.8.
David Turnerdd0f3602006-02-20 23:50:21 +0000808
Werner Lembergd41aecd2006-02-21 08:08:14 +0000809 * src/sfnt/sfdriver.c (tt_face_set_sbit_strike_stub): Call
810 FT_Size_Request.
811 (sfnt_interface): Updated.
812
813 * src/sfnt/ttsbit.c [FT_CONFIG_OPTION_OLD_INTERNALS]: Don't load
814 ttsbit0.c.
815 (tt_load_sbit_metrics): Make `sbit_small_metrics_fields' static.
816
817 * src/sfnt/ttsbit.h: Updated.
David Turnerdd0f3602006-02-20 23:50:21 +0000818
David Turner0880ac32006-02-17 17:23:13 +00008192006-02-17 David Turner <david@freetype.org>
820
Werner Lembergf145e312006-02-19 16:12:18 +0000821 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't filter out exported
822 functions anymore. This ensures that all FT_BASE internal functions
823 are available for dynamic linking.
824
825 * include/freetype/ftcache.h (FTC_IMAGE_TYPE_COMPARE,
826 FTC_IMAGE_TYPE_HASH), src/cache/ftcbasic.c (FTC_OldFontRec,
827 FTC_OldImageDescRec, FTC_ImageCache_Lookup, FTC_Image_Cache_New,
828 FTC_OldImage_Desc, FTC_OLD_IMAGE_FORMAT, ftc_old_image_xxx,
829 ftc_image_type_from_old_desc, FTC_Image_Cache_Lookup,
830 FTC_SBitCache_Lookup, FTC_SBit_Cache_New, FTC_SBit_Cache_Lookup)
831 [FT_CONFIG_OPTION_OLD_INTERNALS]: Try to revive old functions of the
832 cache sub-system. We try to recognize old legacy signatures with a
833 gross hack (hope it works).
David Turner0880ac32006-02-17 17:23:13 +0000834
Werner Lemberg1fae6692006-02-17 16:16:40 +00008352006-02-17 Werner Lemberg <wl@gnu.org>
836
837 * devel/ftoption.h: Synchronize with
838 include/freetype/config/ftoption.h.
839
David Turnercda2d952006-02-16 22:45:31 +00008402006-02-16 David Turner <david@freetype.org>
841
Werner Lemberg8e6f8c42006-02-17 08:07:09 +0000842 Massive changes to the internals to respect the internal object
843 layouts and exported functions of FreeType 2.1.7. Note that the
844 cache sub-system cannot be fully retrofitted, unfortunately.
David Turnercda2d952006-02-16 22:45:31 +0000845
Werner Lemberg8e6f8c42006-02-17 08:07:09 +0000846 * include/freetype/config/ftoption.h
847 (FT_CONFIG_OPTION_OLD_INTERNALS): New macro.
848
849 * include/freetype/ftcache.h, include/freetype/cache/ftccache.h,
850 include/freetype/cache/ftccmap.h,
851 include/freetype/internal/ftcalc.h,
852 include/freetype/internal/ftdriver.h,
853 include/freetype/internal/ftmemory.h,
854 include/freetype/internal/ftobjs.h,
855 include/freetype/internal/psaux.h, include/freetype/internal/sfnt.h,
856 include/freetype/internal/t1types.h,
857 include/freetype/internal/tttypes.h, src/base/ftcalc.c,
858 src/base/ftdbgmem.c, src/base/ftobjs.c, src/base/ftutil.c,
859 src/bdf/bdfdrivr.c, src/cache/ftccache.c, src/cache/ftccback.h,
860 src/cache/ftcmanag.c, src/cff/cffdrivr.c, src/cid/cidriver.c,
861 src/pcf/pcfdrivr.c, src/pfr/pfrdrivr.c, src/psaux/psauxmod.c,
862 src/sfnt/sfdriver.c, src/truetype/ttdriver.c, src/type1/t1driver.c,
863 src/type1/t1objs.c, src/type42/t42drivr.c, src/winfonts/winfnt.c:
864 Use FT_CONFIG_OPTION_OLD_INTERNALS to revive old functions and data
865 structures.
866
867 Move newly added structure elements to the end of the affected
868 structure and add stub fields (if FT_CONFIG_OPTION_OLD_INTERNALS is
869 defined) to assure binary compatibility with older FreeType
870 versions.
871 Use FT_CONFIG_OPTION_OLD_INTERNALS to add function stubs for old
872 functions:
873
874 ft_stub_set_char_sizes
875 ft_stub_set_pixel_sizes
876
877 Rename the following internal functions to provide the old function
878 names as stubs:
879
880 FT_Alloc -> ft_mem_alloc
881 FT_QAlloc -> ft_mem_qalloc
882 FT_Realloc -> ft_mem_realloc
883 FT_QRealloc -> ft_mem_qrealloc
884 FT_Free -> ft_mem_free
885 FT_Alloc_Debug -> ft_mem_alloc_debug
886 FT_QAlloc_Debug -> ft_mem_qalloc_debug
887 FT_Realloc_Debug -> ft_mem_realloc_debug
888 FT_QRealloc_Debug -> ft_mem_qrealloc_debug
889 FT_Free_Debug -> ft_mem_free_debug
David Turnercda2d952006-02-16 22:45:31 +0000890
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +00008912006-02-15 Chia-I Wu <b90201047@ntu.edu.tw>
892
893 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): Remove
894 unused `max_points' and `max_contours'.
David Turnercda2d952006-02-16 22:45:31 +0000895
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +0000896 * src/cid/cidobjs.c (cid_face_init), src/type1/t1objs.c
897 (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Update.
898
899 * include/freetype/internal/tttypes.h (TT_FaceRec): Remove unused
900 `max_components'.
901
902 * src/truetype/ttinterp.h (TT_ExecContextRec): Remove unused
903 `loadSize' and `loadStack'.
904
905 * src/truetype/ttinterp.c (TT_Done_Context, TT_Load_Context),
906 src/sfnt/ttload.c (tt_face_load_maxp): Update.
907
908 * src/cff/cffobjs.h (cff_size_select), src/sfnt/sfdriver.c
909 (sfnt_interface), src/truetype/ttdriver.c (tt_size_request): Fix
910 compiler errors/warnings when TT_CONFIG_OPTION_EMBEDDED_BITMAPS is not
911 defined.
912
913 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics): Fix
914 possible segment faults for the non-FT_OPTIMIZE_MEMORY'ed versions.
915 (finally!)
916
Werner Lemberg8e6f8c42006-02-17 08:07:09 +0000917
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +0000918 For most OpenType tables, `tt_face_load_xxxx' simply loads the table
919 and `face->root' is set later in `sfnt_load_face'. Here, we try to
Werner Lemberg8e6f8c42006-02-17 08:07:09 +0000920 make this work for _all_ tables. Also improve tracing messages.
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +0000921
922 * src/sfnt/ttsbit.c, src/sfnt/ttsbit0.c, src/sfnt/ttload.c,
923 src/sfnt/ttmtx.c: all `tt_face_load_xxxx' should load the table and
924 then exit. Error handling or setting face->root is done later in
925 `sfnt_load_face'.
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +0000926
927 * src/sfnt/sfobjs.c (sfnt_load_face): Work harder.
928 Mac bitmap-only fonts are not scalable.
929 Check that `face->header.Units_Per_EM' is not zero.
Werner Lemberg8e6f8c42006-02-17 08:07:09 +0000930 (LOAD_, LOADM_): Emit pretty trace messages.
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +0000931
Werner Lemberg8e6f8c42006-02-17 08:07:09 +0000932 * src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Read metrics
933 from `eblc'.
Wu, Chia-I (吳佳一)0d565fd2006-02-15 07:44:31 +0000934
935 * src/sfnt/ttcmap.c (tt_face_build_cmaps), src/sfnt/ttpost.c
936 (load_format_20, load_format_25, tt_face_get_ps_name): Use
937 face->max_profile.numGlyphs, instead of face->root.num_glyphs.
938
Werner Lemberg52254022006-02-15 06:05:52 +00009392006-02-14 Werner Lemberg <wl@gnu.org>
940
941 * include/freetype/ftoutln.h (FT_Outline_Embolden): Mention in
942 documentation that negative strength values are possible.
943 Give an example call.
944
945 * include/freetype/freetype.h (FT_GlyphSlotRec): Improve
946 documentation of `outline' field.
947
948 * src/sfnt/sfobjc.s: Inckude FT_INTERNAL_DEBUG_H.
949 * src/sfnt/sfdriver.c: Include ttmtx.h.
950
951 * src/autofit/afcjk.c: Include aftypes.h and aflatin.h.
952
Wu, Chia-I (吳佳一)9a2b3b62006-02-14 08:37:03 +00009532006-02-14 Chia-I Wu <b90201047@ntu.edu.tw>
954
Wu, Chia-I (吳佳一)3dc00182006-02-14 13:36:28 +0000955 * src/sfnt/ttmtx.c (tt_face_get_metrics): Typo.
956
9572006-02-14 Chia-I Wu <b90201047@ntu.edu.tw>
958
Wu, Chia-I (吳佳一)9a2b3b62006-02-14 08:37:03 +0000959 * src/sfnt/ttmtx.c (tt_face_load_hhea, tt_face_load_hmtx): Simply
960 return error if table is missing.
961 Check table length in non-FT_OPTIMIZE_MEMORY'ed `tt_face_load_hmtx'.
962
963 * src/sfnt/sfobjs.c (sfnt_load_face): Take care of missing metrics
Werner Lemberg52254022006-02-15 06:05:52 +0000964 tables. The last change makes Mac bitmap-only font not load and
965 this fixes it.
Wu, Chia-I (吳佳一)9a2b3b62006-02-14 08:37:03 +0000966
Werner Lemberg52254022006-02-15 06:05:52 +0000967 * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation
968 error when FT_CONFIG_OPTION_INCREMENTAL is defined.
Wu, Chia-I (吳佳一)9a2b3b62006-02-14 08:37:03 +0000969
Wu, Chia-I (吳佳一)f5aa47b2006-02-14 06:40:10 +00009702006-02-13 Chia-I Wu <b90201047@ntu.edu.tw>
971
Wu, Chia-I (吳佳一)35222ff2006-02-14 07:25:57 +0000972 Clean up the SFNT_Interface. In this final pass, `load_hmtx' is
973 splitted from `load_hhea'.
974
975 * include/freetype/internal/sfnt.h, src/sfnt/sfdriver.c,
976 src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Split `hmtx' from `hhea'.
977
978 * src/sfnt/sfobjs.c (sfnt_load_face): Update.
979
9802006-02-13 Chia-I Wu <b90201047@ntu.edu.tw>
981
Wu, Chia-I (吳佳一)e0decd12006-02-14 07:20:06 +0000982 * src/sfnt/ttmtx.h, src/sfnt/ttmtx.c: Why are there two copies of
983 code...
984
9852006-02-13 Chia-I Wu <b90201047@ntu.edu.tw>
986
Werner Lemberg52254022006-02-15 06:05:52 +0000987 Clean up the SFNT_Interface. In this pass, we want to treat the
988 font directory (offset table and table directory) as a normal table
989 like the others. This also means that TTCs are no longer recognized
990 there but in `init_face'.
Wu, Chia-I (吳佳一)65863a52006-02-14 07:01:29 +0000991
992 * include/freetype/internal/sfnt.h (SFNT_Interface),
993 src/sfnt/sfdriver.c: `load_sfnt_header' and `load_directory' are
994 combined and renamed to `load_font_dir'.
995
996 * src/sfnt/ttload.h, src/sfnt/ttload.c:
997 s/sfnt_dir_check/check_table_dir/.
998 `sfnt_init' is moved to sfobjs.c and renamed to `sfnt_open_font'.
999 `tt_face_load_sfnt_header' and `tt_face_load_directory' are combined
1000 and renamed to `tt_face_load_font_dir'.
1001
1002 * src/sfnt/sfobjs.c (sfnt_init_face): Recognize TTC here.
1003
10042006-02-13 Chia-I Wu <b90201047@ntu.edu.tw>
1005
Wu, Chia-I (吳佳一)f5aa47b2006-02-14 06:40:10 +00001006 Clean up the SFNT_Interface. Table loading functions are now named
Werner Lemberg52254022006-02-15 06:05:52 +00001007 after the tables' tags; `hdmx' is TrueType-specific and thus the
1008 code is moved to the truetype module; `get_metrics' is moved here
1009 from the truetype module so that the code can be shared with the cff
1010 module.
Wu, Chia-I (吳佳一)f5aa47b2006-02-14 06:40:10 +00001011
1012 This pass involves no real changes. That is, the code is moved
1013 verbatim mostly. The only exception is the return value of
1014 `tt_face_get_metrics'.
1015
1016 * include/freetype/internal/sfnt.h, src/sfnt/rules.mk,
1017 src/sfnt/sfdriver.c, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
1018 src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttsbit.c,
1019 src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: Clean up the SFNT_Interface.
David Turnercda2d952006-02-16 22:45:31 +00001020
Werner Lemberg52254022006-02-15 06:05:52 +00001021 * src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: New files. Metrics-related
1022 tables' loading and parsing code is moved to here.
1023 Move `tt_face_get_metrics' here from the truetype module. The
1024 return value is changed from `void' to `FT_Error'.
Wu, Chia-I (吳佳一)f5aa47b2006-02-14 06:40:10 +00001025
1026 * include/freetype/internal/fttrace.h: New trace: ttmtx.
1027
1028 * src/truetype/ttpload.c, src/truetype/ttpload.h: `hdmx' loading and
1029 parsing code is moved here.
1030 New function `tt_face_load_prep' splitted from `tt_face_load_fpgm'.
1031 `tt_face_load_fpgm' returns `FT_Err_Ok' if `fpgm' doesn't exist.
1032
1033 * src/cff/cffgload.c, src/cff/cffobjs.c: Update.
1034
1035 * src/truetype/ttgload.c, src/truetype/ttobjs.c: Update.
1036
Wu, Chia-I (吳佳一)f9a69132006-02-11 12:12:02 +000010372006-02-11 Chia-I Wu <b90201047@ntu.edu.tw>
1038
Wu, Chia-I (吳佳一)4c507ff2006-02-11 13:22:37 +00001039 * src/autofit/afcjk.c (af_cjk_metrics_init): Fix a stupid bug...
1040
1041 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Use
Werner Lembergd39fda22006-02-12 21:49:21 +00001042 AF_LatinMetricsRec as the dummy metrics because we cast the metrics
1043 to it later in `af_latin_hints_link_segments'.
Wu, Chia-I (吳佳一)4c507ff2006-02-11 13:22:37 +00001044
10452006-02-11 Chia-I Wu <b90201047@ntu.edu.tw>
1046
Wu, Chia-I (吳佳一)f9a69132006-02-11 12:12:02 +00001047 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_CJK): #define
Werner Lembergd39fda22006-02-12 21:49:21 +00001048 to enable autofit CJK script support. (#define'd by default.)
Wu, Chia-I (吳佳一)f9a69132006-02-11 12:12:02 +00001049
1050 * src/autofit/aflatin.h (AF_LATIN_CONSTANT): New macro.
1051
Werner Lembergd39fda22006-02-12 21:49:21 +00001052 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Make sure
1053 that `edge_distance_threshold' is always set.
1054 (af_latin_hints_link_segments): Potential divide-by-zero bug.
Wu, Chia-I (吳佳一)f9a69132006-02-11 12:12:02 +00001055 Use latin constant in the scoring formula.
1056
1057 * src/autofit/afcjk.c: Minor updates due to the above three changes.
1058
1059 * docs/TODO, docs/CHANGES: Updated.
1060
Wu, Chia-I (吳佳一)4cdb45c2006-02-09 14:17:04 +000010612006-02-09 Chia-I Wu <b90201047@ntu.edu.tw>
1062
1063 Introduce experimental autofit CJK module based on akito's autohint
1064 patch. You need to #define AF_MOD_CJK in afcjk.c to enable it.
1065
1066 * src/autofit/afglobal.c, src/autofit/afcjk.h, src/autofit/afcjk.c,
1067 src/autofit/rules.mk, src/autofit/autofit.c, src/autofit/aftypes.h:
1068 Add CJK module based on akito's autohint patch.
1069
1070 * src/autofit/afhints.h (AF_SegmentRec): New field `len' for the
Werner Lembergd1d4bff2006-02-10 22:15:22 +00001071 overlap length of the segments.
1072 (AF_SEGMENT_LEN, AF_SEGMENT_DIST): New macros.
Wu, Chia-I (吳佳一)4cdb45c2006-02-09 14:17:04 +00001073
1074 * src/autofit/aflatin.h (af_latin_metrics_init_widths),
Werner Lembergd1d4bff2006-02-10 22:15:22 +00001075 src/autofit/aflatin.c (af_latin_metrics_init_widths): Made
1076 `FT_LOCAL'.
Wu, Chia-I (吳佳一)4cdb45c2006-02-09 14:17:04 +00001077 Use the character given by the caller.
1078 (af_latin_metrics_init_widths, af_latin_hints_link_segments): Scale
1079 the thresholds.
1080
1081 * src/autofit/afloader.c (af_loader_load_g): Respect
1082 AF_SCALER_FLAG_NO_ADVANCE.
1083
Werner Lemberg6be99f92006-02-09 07:38:57 +000010842006-02-09 Werner Lemberg <wl@gnu.org>
Suzuki, Toshiya (鈴木俊哉)4f41d632006-02-09 01:43:00 +00001085
Werner Lemberg6be99f92006-02-09 07:38:57 +00001086 * src/cid/cidparse.c (cid_parse_new): Remove shadowing variable.
Suzuki, Toshiya (鈴木俊哉)4f41d632006-02-09 01:43:00 +00001087
Werner Lemberg6be99f92006-02-09 07:38:57 +000010882006-02-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)458c3422006-02-08 12:58:24 +00001089
Werner Lemberg6be99f92006-02-09 07:38:57 +00001090 * src/cid/cidparse.c (cid_parse_new): Fix for abnormally short or
1091 broken CIDFont. Reported by Taek Kwan(TK) Lee (see ft-devel
1092 2005-11-02).
1093
10942006-02-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1095
1096 * builds/unix/configure.ac: Fix bug for `--with-old-mac-fonts'
1097 option on UNIX platform. It has been broken since 2006-01-11.
Suzuki, Toshiya (鈴木俊哉)458c3422006-02-08 12:58:24 +00001098
Werner Lemberg38beff02006-02-01 05:14:25 +000010992006-02-01 Werner Lemberg <wl@gnu.org>
1100
1101 * src/otvalid/module.mk: s/otvalid_module_class/otv_module_class/.
1102 * src/gxvalid/module.mk: s/gxvalid_module_class/gxv_module_class/.
1103
Werner Lemberg03379b62006-02-01 05:40:06 +00001104 * builds/unix/unixddef.mk: Actually do define PLATFORM (fixing
1105 change from 2006-01-31).
1106 (TOP_DIR, OBJ_DIR): Update.
1107
Werner Lemberg9a8006b2006-02-01 06:07:05 +00001108 * builds/unix/install.mk (install): Fix path for ftmodule.h.
1109
Werner Lemberg54a79c82006-02-01 07:54:07 +00001110 * Makefile, *.mk, builds/unix/unix-cc.in, builds/unix-def.in: Use
1111 `?=' where appropriate.
Werner Lemberg8a4de0d2006-02-01 07:52:11 +00001112
1113 * builds/detect.mk (TOP_DIR), builds/os2/os2-dev.mk (TOP_DIR),
1114 builds/win32/w32-dev.mk (TOP_DIR): Removed. Defined elsewhere.
1115
Werner Lemberg38beff02006-02-01 05:14:25 +000011162006-01-31 Werner Lemberg <wl@gnu.org>
Werner Lemberg59939242006-01-31 20:17:42 +00001117
1118 Implement new, simplified module selection. With GNU make it is now
1119 sufficient to modify a single file, `modules.cfg', to control the
1120 inclusion of modules and base extension files.
1121
1122 This change also fixes the creation of ftmodule.h; it now depends on
1123 `modules.cfg' and thus is rebuilt only if necessary.
1124
1125 Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the
1126 default location.
1127
1128 * modules.cfg: New file.
1129
1130 * builds/freetype.mk: Don't include `modules.mk'.
1131 Include all `rules.mk' files as specified in `modules.cfg'.
1132 (FTOPTION_FLAG, FTOPTION_H): New variables.
1133 (FT_CFLAGS): Add macro definition for FT_CONFIG_MODULES_H.
1134 Add FTOPTION_FLAG.
1135 ($(FT_INIT_OBJ)): Don't use FT_MODULE_LIST.
1136 (CONFIG_H): Add FTMODULE_H and FTOPTION_H.
1137 (INCLUDES): Add DEVEL_DIR.
1138 (INCLUDE_FLAGS, FTSYS_SRC, FTSYS_OBJ, FTDEBUG_SRC, FTDEBUG_OBJ,
1139 OBJ_M, OBJ_S): Use `:=', not `='.
1140 (remove_ftmodule_h): New phony target to delete `ftmodule.h'.
1141 (distclean): Add remove_ftmodule_h.
1142
1143 * builds/modules.mk: (MODULE_LIST): Removed.
1144 (make_module_list, clean_module_list): Replace targets
1145 with...
1146 (FTMODULE_H_INIT, FTMODULE_H_CREATE, FTMODULE_H_DONE): New
1147 variables. Reason for the change is that it is not possible to have
1148 a phony prerequisite which is run only if the target file must be
1149 rebuilt (phony prerequisites act like subroutines and are *always*
1150 executed). We only want to rebuild `ftmodule.h' if `module.cfg' is
1151 changed.
1152 Update all callers.
1153 ($FTMODULE_H)): Rule to create `ftmodule.h', depending on
1154 `modules.cfg'.
1155
1156 * builds/toplevel.mk: Rewrite and simplify module handling.
1157 (MODULES_CFG, FTMODULE_H): New variables.
1158 Include MODULES_CFG.
1159 (MODULES): New variable to include all `module.mk' and `rules.mk'
1160 files. We no longer use make's `wildcard' function for this.
1161
1162 * Makefile (USE_MODULES): Remove. Update all users.
1163 (OBJ_DIR): Define it here.
1164
1165 * src/*/module.mk: Change
1166
1167 make_module_list: foo
1168 foo: ...
1169
1170 to
1171
1172 FTMODULE_H_COMMANDS += FOO
1173 define FOO
1174 ...
1175 endef
1176
1177 in all files. `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'.
1178
1179 * src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS.
1180
1181 * builds/unix/detect.mk (setup): Always execute `configure' script.
1182 (have_mk): Rename to...
1183 (have_Makefile): This.
1184 Don't use `strip' function.
1185
1186 * builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is
1187 defined.
1188 (have_mk): Don't use `strip' function.
1189 Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test
1190 accordingly).
1191
1192 * builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'.
1193
1194 * builds/os2/os2-dev.mk, builds/unix/unix-dev.mk,
1195 builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Don't define
1196 BUILD_DIR but DEVEL_DIR for development header files.
1197
1198 * builds/ansi/ansi-def.mk (TOP_DIR, OBJ_DIR),
1199 builds/beos/beos-def.mk (TOP_DIR, OBJ_DIR), builds/unix/unix-def.in
1200 (TOP_DIR, OBJ_DIR): Removed. Defined elsewhere.
1201
1202 * builds/dos/dos-def.mk (OBJ_DIR), builds/os2/os2-def.mk (OBJ_DIR),
1203 builds/win32/win32-def.mk (OBJ_DIR): Removed. Defined elsewhere.
1204
1205 * builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for
1206 development header files.
1207 Don't define PLATFORM.
1208
1209 * configure: Copy `modules.cfg' to builddir if builddir != srcdir.
1210 Update snippet taken from autoconf's m4sh.m4 to current CVS version.
1211 Be more verbose.
1212
1213 * include/freetype/config/ftmodule.h: Add comments -- this file is
1214 no longer used if FreeType is built with GNU make.
1215
1216 * docs/CHANGES, docs/CUSTOMIZE, docs/INSTALL, docs/INSTALL.ANY,
1217 docs/INSTALL.GNU, docs/INSTALL.UNX: Document new build mechanism.
1218 Other minor updates.
1219
1220 * modules.txt: Removed. Contents included in `modules.cfg'.
1221
1222
1223 * include/freetype/internal/ftmemory.h (FT_QAlloc_Debug,
1224 FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos.
1225
1226 * src/base/ftdbgmem.c (FT_Alloc_Debug, FT_Realloc_Debug,
1227 FT_QAlloc_Debug, FT_QRealloc_Debug, FT_Free_Debug)
1228 [FT_STRICT_ALIASING]: Implement.
1229
Wu, Chia-I (吳佳一)98d802b2006-01-31 07:01:24 +000012302006-01-31 Chia-I Wu <b90201047@ntu.edu.tw>
1231
Wu, Chia-I (吳佳一)5d146852006-01-31 10:29:44 +00001232 * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
Werner Lemberg59939242006-01-31 20:17:42 +00001233 (cid_face_init), src/pfr/pfrobjs.c (pfr_face_init),
1234 src/type1/t1objs.c (T1_Face_Init): Set face->height to MAX(1.2 *
1235 units_per_EM, ascender - descender).
Wu, Chia-I (吳佳一)5d146852006-01-31 10:29:44 +00001236
12372006-01-31 Chia-I Wu <b90201047@ntu.edu.tw>
1238
Wu, Chia-I (吳佳一)98d802b2006-01-31 07:01:24 +00001239 * include/freetype/internal/t1types.h (AFM_FontInfo),
1240 src/psaux/afmparse.c, src/tools/test_afm.c: Read `FontBBox',
1241 `Ascender', and `Descender' from an AFM.
1242
1243 * src/type1/t1afm.c (T1_Read_Metrics): Use the metrics from the AFM.
1244
Werner Lemberg59939242006-01-31 20:17:42 +00001245 * include/freetype/freetype.h (FT_FaceRec): Mention that fields may
1246 be changed after file attachment.
Wu, Chia-I (吳佳一)98d802b2006-01-31 07:01:24 +00001247
Werner Lemberg7596fd32006-01-28 16:29:29 +000012482006-01-28 Werner Lemberg <wl@gnu.org>
1249
1250 * src/*/module.mk (.PHONY): Add.
1251
Werner Lemberg68a15eb2006-01-28 07:30:58 +000012522006-01-27 Werner Lemberg <wl@gnu.org>
1253
1254 * README, docs/FTL.TXT: Fix email address for bug reports.
1255 Other minor formatting.
1256
Werner Lembergf6a25502006-01-28 10:38:15 +00001257 * devel/ftoption.h: Synchronize with
1258 include/freetype/config/ftoption.h.
1259
1260 * src/autofit/module.mk (add_autofit_module), src/bdf/module.mk
1261 (add_bdf_module), src/type42/module.mk (add_type42_driver): Fix
1262 whitespace.
1263
1264 * src/smooth/module.mk (add_smooth_renderer): Add lcd and lcdv
1265 renderer classes.
1266
David Turnerff0e9e62006-01-27 09:15:53 +000012672006-01-27 David Turner <david@freetype.org>
1268
Werner Lemberg68a15eb2006-01-28 07:30:58 +00001269 * builds/unix/configure.ac: Fix build problem on Cygwin.
David Turnercda2d952006-02-16 22:45:31 +00001270
Werner Lemberg68a15eb2006-01-28 07:30:58 +00001271 * builds/unix/install.mk (install): Don't install the internal
1272 headers, and remove existing ones if found in the target install
1273 directory.
David Turner7213b4f2006-01-27 16:42:32 +00001274
Werner Lemberg68a15eb2006-01-28 07:30:58 +00001275 * src/autofit/afwarp.c: Add simple #ifdef to prevent compilation
1276 if the warp hinter isn't active (it shouldn't, still experimental).
David Turner6a681fa2006-01-27 12:11:22 +00001277
Werner Lemberg68a15eb2006-01-28 07:30:58 +00001278 * Jamfile, include/freetype/config/ftmodule.h: Remove `gxvalid'
Werner Lembergbe3c9812006-01-27 14:16:16 +00001279 and `otvalid' from the list of modules that are linked statically
1280 to a given FreeType library. Functionality has been moved to the
1281 `ftvalid' CVS module.
David Turner6a681fa2006-01-27 12:11:22 +00001282
Werner Lembergbe3c9812006-01-27 14:16:16 +00001283 Note also that current Make-based build system still compiles the
1284 modules though.
David Turner6a681fa2006-01-27 12:11:22 +00001285
Werner Lembergbe3c9812006-01-27 14:16:16 +00001286 * include/freetype/config/ftoption.h (FT_STRICT_ALIASING): New macro
1287 which controls the definitions of the memory management functions to
1288 avoid warnings with recent versions of GCC. This macro is only here
1289 to be disabled, in case we detect problems with the new scheme.
David Turner6a681fa2006-01-27 12:11:22 +00001290
Werner Lembergbe3c9812006-01-27 14:16:16 +00001291 NOTE: Disable macro to use the memory debugger -- this will be fixed
1292 later!
1293
1294 * include/freetype/internal/ftmemory.h, src/base/ftutil.c (FT_Alloc,
1295 FT_QAlloc, FT_Realloc, FT_QRealloc, FT_Free) [FT_STRICT_ALIASING]:
1296 New versions.
1297
1298
1299 * builds/win32/visualc/freetype.dsp: Updating project file to
1300 define FT2_BUILD_LIBRARY, and remove gxvalid + otvalid modules from
1301 compilation.
1302
1303
1304 * builds/freetype.mk (FT_CFLAGS), Jamfile (DEFINES): Define the
1305 macro FT2_BUILD_LIBRARY when compiling the library.
1306
1307 * include/freetype/config/ftheader.h: Remove inclusions of internal
1308 headers except if the macro FT2_BUILD_LIBRARY is defined.
1309
1310
1311 * include/freetype/internal/psaux.h (AFM_KernPair, AFM_TrackKern,
1312 AFM_FontInfo): Move structure declarations to...
1313 * include/freetype/internal/t1types.h: This file.
1314
1315
1316 * (many files): Fix compiler warnings.
1317 Various minor reorganizations.
1318
1319
1320 * src/cff/cffload.c (cff_font_done): Don't free static array
1321 `subfonts'.
1322
1323 * src/otvalid/otvcommn.c (otv_ClassDef_validate),
1324 src/otvalid/otvgpos.c (otv_x_sxy): Fix debugging information.
1325
Werner Lemberg68a15eb2006-01-28 07:30:58 +00001326
1327 Get rid of writable static variables (i.e., the string table) in
1328 afmparse, and fix compilation in FT2_MULTI mode.
1329
Werner Lembergbe3c9812006-01-27 14:16:16 +00001330 * src/psaux/afmparse.c: Include ft2build.h and FT_FREETYPE_H.
1331 (AFM_MAX_ARGUMENTS): Define...
1332 * src/psaux/afmparse.h: Here.
1333 * src/psaux/Jamfile (_sources): Add afmparse.
1334
1335 * src/psaux/psconv.c: Include psconv.h.
1336
1337 * src/type1/t1afm.c: Don't include FT_INTERNAL_TYPE1_TYPES_H but
1338 FT_INTERNAL_POSTSCRIPT_AUX_H.
1339 * src/type1/t1afm.h: Include FT_INTERNAL_TYPE1_TYPES_H.
David Turnerff0e9e62006-01-27 09:15:53 +00001340
Wu, Chia-I (吳佳一)4c6234d2006-01-23 10:46:38 +000013412006-01-23 Chia-I Wu <b90201047@ntu.edu.tw>
1342
Wu, Chia-I (吳佳一)bcc438b2006-01-23 14:12:40 +00001343 * include/freetype/freetype.h (FT_Select_Size): Rename the second
1344 argument from `idx' to `strike_index'.
1345 (FT_Size_Request_Type): Add FT_SIZE_REQUEST_TYPE_MAX to the end of
1346 this enum.
1347
1348 * include/freetype/internal/ftobjs.h (FT_REQUEST_WIDTH,
1349 FT_REQUEST_HEIGHT): New macros to get the width and height of a
1350 request, in fractional pixels.
1351
1352 * include/freetype/internal/ftobjs.h (FT_Select_Metrics,
1353 FT_Request_Metrics), src/base/ftobjs.c (FT_Select_Metrics,
1354 FT_Request_Metrics): New base functions to set the font metrics. They
1355 were part of FT_Select_Size/FT_Request_Size and are made independent
1356 functions so that metrics are not set again and again.
1357
1358 * src/base/ftobjs.c (FT_Select_Size, FT_Request_Size): Metrics are set
1359 only when driver's size_select/size_request is NULL. That is, drivers
1360 should set the metrics themselves.
1361 (FT_Match_Size): Round before matching. This was what we did and it
1362 does cause some problems without rounding.
1363
1364 * src/cff/cffobjs.c (cff_size_select), src/truetype/ttdriver.c
1365 (tt_size_select): Set the font metrics.
1366 s/index/strike_index/.
1367 The scaled metrics are always preferred over strikes' metrics, even
1368 when some strike is selected. This is done because the strikes'
1369 metrics are not reliable, e.g., the sign of the descender is wrong for
1370 some fonts.
1371
1372 * src/cff/cffobjs.c (cff_size_request), src/truetype/ttdriver.c
1373 (tt_size_request): Set the font metrics.
1374 Call cff_size_select/tt_size_select when some strike is matched.
1375
1376 * src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/cid/cidobjs.c,
1377 src/pcf/pcfdrivr.c, src/truetype/ttdriver.c, src/type1/t1objs.c,
1378 src/type1/t1objs.h, src/type42/t42objs.c, src/winfonts/winfnt.c:
1379 Set the font metrics.
1380 s/index/strike_index/.
1381
1382 * src/tools/test_afm.c, src/psaux/psconv.c: Older versions of these
1383 files were committed. Just a catch-up.
1384 (PS_Conv_ToFixed): Remove the `goto'.
1385 (PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Speed up a little.
1386
1387 * src/sfnt/ttsbit.c (tt_face_load_sbit_strikes,
1388 tt_face_load_strike_metrics), src/sfnt/ttsbit0.c
1389 (tt_face_load_sbit_strikes, tt_face_load_strike_metrics): The
1390 advertised metrics in `available_sizes' are different from those
1391 actually used.
1392
13932006-01-23 Chia-I Wu <b90201047@ntu.edu.tw>
1394
Wu, Chia-I (吳佳一)4c6234d2006-01-23 10:46:38 +00001395 * src/psaux/psaux.c src/psaux/psauxmod.c src/type1/t1driver.c: Make
1396 AFM parser optional, controlled by `T1_CONFIG_OPTION_NO_AFM'.
1397
Werner Lemberged70ca52006-01-23 07:28:03 +000013982006-01-22 Werner Lemberg <wl@gnu.org>
1399
1400 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
1401 `texinfo' CVS module at savannah.gnu.org.
1402
Werner Lemberg1be9ebf2006-01-22 06:58:16 +000014032006-01-21 Werner Lemberg <wl@gnu.org>
1404
1405 * src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c.
1406
Werner Lembergb36bf522006-01-22 07:09:54 +00001407 * src/autofit/afloader.c (af_loader_load_g): Move AF_USE_WARPER up
1408 to avoid compiler warnings.
1409
1410 * src/autofit/afwarp.c (af_warper_compute_line_best): Remove
1411 shadowing variable declarations.
1412 Fix warning parameters and replace printf with AF_LOG.
1413 (af_warper_compute): Remove unused variable.
1414
David Turnerbb4edc92006-01-21 14:31:45 +000014152006-01-20 David Turner <david@freetype.org>
1416
Werner Lemberg1be9ebf2006-01-22 06:58:16 +00001417 Adding experimental implementation of `warp hinting' (new hinting
1418 algorithm for gray-level and LCD rendering). It is disabled by
1419 default, you need to #define AF_USE_WARPER in aftypes.h.
1420
1421 * src/autofit/afhints.c (af_glyph_hints_scale_dim) [AF_USE_WARPER]:
1422 New function.
1423 * src/autofit/afhints.h: Updated.
1424
1425 * src/autofit/aflatin.c [AF_USE_WARPER]: Include afwarp.h.
1426 (af_latin_hints_init) [AF_USE_WARPER]: Reset mode to
1427 FT_RENDER_MODE_NORMAL if an LCD mode is selected.
1428 (af_latin_hints_apply) [AF_USE_WARPER]: Call af_warper_compute
1429 appropriately.
1430
1431 * src/autofit/afloader.c (af_loader_load_g) [!AF_USER_WARPER]:
1432 Isolate code for adjusting metrics.
1433
1434 * src/autofit/aftypes.h (AF_USE_WARPER): New macro (commented out by
1435 default).
1436
1437 * src/autofit/afwarp.c, src/autofit/afwarp.h: New files.
1438
1439 * src/autofit/autofit.c [AF_USE_WARPER]: Include afwarp.c.
1440
1441 * src/autofit/Jamfile (_sources): Add afwarp.
David Turnerbb4edc92006-01-21 14:31:45 +00001442
David Turner8c16ed32006-01-19 13:10:49 +000014432006-01-19 David Turner <david@freetype.org>
1444
Werner Lemberge7be64e2006-01-21 17:27:32 +00001445 * src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Fix small bug
1446 that prevented compilation when FT_OPTIMIZE_MEMORY is defined.
David Turner8c16ed32006-01-19 13:10:49 +00001447
Werner Lemberg8b560632006-01-19 08:30:58 +000014482006-01-19 Brian Weed <bw@imaginengine.com>
1449
1450 * builds/win32/visualc/freetype.dsp: Updated.
1451
Werner Lemberg47bf95d2006-01-17 16:55:32 +000014522006-01-17 Werner Lemberg <wl@gnu.org>
1453
1454 Use pscmap service in CFF module.
1455
1456 * src/cff/cffcmap.c (cff_cmap_uni_pair_compare): Removed.
1457 (cff_sid_to_glyph_name): New function.
1458 (cff_cmap_unicode_init, cff_cmap_unicode_done,
1459 cff_cmap_unicode_char_index, cff_cmap_unicode_char next): Use pscmap
1460 service.
1461 (cff_cmap_unicode_class_rec): Updated.
1462 * src/cff/cffcmap.h (CFF_CMapUnicode, CFF_CMap_UniPair): Removed.
1463
1464
1465 * src/psnames/psmodule.c (ps_unicodes_char_next): Fix `unicode'
1466 return value.
1467
1468
1469 * src/psaux/afmparse.c (afm_parser_read_vals): Use double casting
Werner Lemberge7be64e2006-01-21 17:27:32 +00001470 to avoid compiler warnings regarding type-punning.
Werner Lemberg47bf95d2006-01-17 16:55:32 +00001471
Wu, Chia-I (吳佳一)108fdbb2006-01-16 15:35:56 +000014722006-01-16 Chia-I Wu <b90201047@ntu.edu.tw>
1473
1474 * src/psaux/afmparse.c, src/psaux/afmparse.h: New files which
Werner Lembergce94c7a2006-01-16 22:35:33 +00001475 implement an AFM parser.
Wu, Chia-I (吳佳一)108fdbb2006-01-16 15:35:56 +00001476
1477 * src/psaux/psconv.c, src/psaux/psconv.h: New files to provide
Werner Lembergce94c7a2006-01-16 22:35:33 +00001478 conversion functions (e.g., PS real number => FT_Fixed) for the
1479 PS_Parser and AFM_Parser. Some of the functions are taken, with
1480 some modifications, from the file psobjs.c.
Wu, Chia-I (吳佳一)108fdbb2006-01-16 15:35:56 +00001481
1482 * src/psaux/psobjs.c: Use functions from psconv.c.
1483
Werner Lembergce94c7a2006-01-16 22:35:33 +00001484 * include/freetype/internal/psaux.h, src/psaux/psauxmod.c: Add
Wu, Chia-I (吳佳一)108fdbb2006-01-16 15:35:56 +00001485 `AFM_Parser' to the `psaux' service.
1486
Werner Lembergce94c7a2006-01-16 22:35:33 +00001487 * src/psaux/psaux.c, src/psaux/rules.mk (PSAUX_DRV_SRC): Include
1488 those new files.
Wu, Chia-I (吳佳一)108fdbb2006-01-16 15:35:56 +00001489
1490 * src/tools/test_afm.c: A test program for AFM parser.
1491
Werner Lembergce94c7a2006-01-16 22:35:33 +00001492 * include/freetype/internal/services/svkern.h: New file providing a
1493 `Kerning' service. It is currently only used to get the track
1494 kerning information.
1495
1496 * include/freetype/internal/ftserv.h (FT_SERVICE_KERNING_H): New
1497 macro.
Wu, Chia-I (吳佳一)108fdbb2006-01-16 15:35:56 +00001498
1499 * src/type1/t1driver.c, src/type1/t1objs.c, src/type1/t1afm.c,
1500 src/type1/t1afm.h: Update to use the AFM parser.
1501 Provide the `Kerning' service.
1502
1503 * include/freetype/freetype.h, src/base/ftobjs.c: New API
1504 `FT_Get_Track_Kerning'.
1505
Wu, Chia-I (吳佳一)e5ff0592006-01-15 06:00:49 +000015062006-01-15 Chia-I Wu <b90201047@ntu.edu.tw>
1507
Wu, Chia-I (吳佳一)ea1e8d32006-01-15 15:01:45 +00001508 * include/freetype/internal/ftobjs.h, src/base/ftobjs.c,
1509 src/bdf/bdfdrivr.c, src/cff/cffgload.c, src/cid/cidgload.c,
1510 src/pcf/pcfdrivr.c, src/type1/t1gload.c, src/winfonts/winfnt.c:
1511 s/ft_fake_vertical_metrics/ft_synthesize_vertical_metrics/.
1512
1513 * docs/CHANGES: Mention that vertical metrics are synthesized for
1514 fonts not having this info.
1515
15162006-01-15 Chia-I Wu <b90201047@ntu.edu.tw>
1517
Wu, Chia-I (吳佳一)212aee02006-01-15 06:24:53 +00001518 * include/freetype/internal/ftobjs.h (ft_fake_vertical_metrics),
Werner Lemberg1723dcc2006-01-15 07:30:32 +00001519 src/base/ftobjs.c (ft_fake_vertical_metrics): New function to fake
Wu, Chia-I (吳佳一)212aee02006-01-15 06:24:53 +00001520 vertical metrics.
1521
1522 * src/cff/cffgload.c, src/cid/cidgload.c, src/pcf/pcfdrivr.c,
Werner Lemberg1723dcc2006-01-15 07:30:32 +00001523 src/type1/t1gload.c, src/winfonts/winfnt.c: Fake vertical metrics,
1524 which are monotone.
Wu, Chia-I (吳佳一)212aee02006-01-15 06:24:53 +00001525
1526 * src/truetype/ttgload.c (compute_glyph_metrics): Some fixes and
Werner Lemberg1723dcc2006-01-15 07:30:32 +00001527 formattings in vertical metrics faking. There is still room for
1528 improvements (and so does the CFF module).
Wu, Chia-I (吳佳一)212aee02006-01-15 06:24:53 +00001529
15302006-01-15 Chia-I Wu <b90201047@ntu.edu.tw>
1531
Wu, Chia-I (吳佳一)e5ff0592006-01-15 06:00:49 +00001532 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/pcf/pcfdrivr.c
1533 (PCF_Glyph_Load), src/winfonts/winfnt.c (FNT_Load_Glyph): Don't set
Werner Lemberg1723dcc2006-01-15 07:30:32 +00001534 the linear advance fields as they are only used by the outline
1535 glyphs.
Wu, Chia-I (吳佳一)e5ff0592006-01-15 06:00:49 +00001536
Werner Lemberg1723dcc2006-01-15 07:30:32 +00001537 * include/freetype/freetype.h: Documentation updates and
1538 clarifications.
Wu, Chia-I (吳佳一)e5ff0592006-01-15 06:00:49 +00001539 The meaning of FT_LOAD_FORCE_AUTOHINT is changed so that no real
1540 change need be made to the code.
1541
1542 * src/base/ftobjs.c (FT_Load_Glyph): Resolve flag dependencies and
1543 decide whether to use the auto-hinter according to documentation.
1544 There should to be no real difference.
Werner Lemberg1723dcc2006-01-15 07:30:32 +00001545 Some checks (e.g., is text height positve?) after the glyph is
1546 loaded.
Wu, Chia-I (吳佳一)e5ff0592006-01-15 06:00:49 +00001547 (FT_Select_Size, FT_Request_Size): Scales are set to wrong values.
1548 Be careful that scales won't be negative.
1549
Wu, Chia-I (吳佳一)e33dc2e2006-01-14 05:09:30 +000015502006-01-14 Chia-I Wu <b90201047@ntu.edu.tw>
1551
1552 * docs/CHANGES: Mention the size selection change.
1553
1554 * src/bdf/bdfdrivr.c (BDF_Size_Request, BDF_Size_Select),
1555 src/pcf/pcfdrivr.c (PCF_Size_Request, PCF_Size_Select),
1556 src/winfonts/winfnt.c (FNT_Size_Request, FNT_Size_Select): Do size
Werner Lemberg3d8eeb82006-01-14 07:10:45 +00001557 matching for requests of type NOMINAL and REAL_DIM.
Wu, Chia-I (吳佳一)e33dc2e2006-01-14 05:09:30 +00001558
1559 * src/winfonts/winfnt.c (FNT_Face_Init): Print trace message when
1560 `pixel_height' is used for nominal height.
1561
1562 * src/base/ftobjs.c (FT_Request_Size): Call `FT_Match_Size' if the
1563 face is bitmap only and driver doesn't provide `request_size'. This
1564 is added merely for completion as no driver satisfies the conditions.
1565
Wu, Chia-I (吳佳一)fa7d6ab2006-01-13 12:21:31 +000015662006-01-13 Chia-I Wu <b90201047@ntu.edu.tw>
1567
1568 Introduce new size selection interface.
1569
Werner Lembergf1c2b912006-01-13 14:53:28 +00001570 * include/freetype/internal/ftdriver.h (struct FT_Driver_ClassRec):
Wu, Chia-I (吳佳一)fa7d6ab2006-01-13 12:21:31 +00001571 Replace `set_char_sizes' and `set_pixel_sizes' by `request_size' and
1572 `select_size'.
1573
1574 * include/freetype/freetype.h (FT_Select_Size, FT_Size_Request_Type,
1575 FT_Size_Request, FT_Request_Size, FT_Select_Size), src/base/ftobjs.c
1576 (FT_Select_Size, FT_Request_Size): API additions to export the new
1577 size selection interface.
1578
1579 * src/base/ftobjs.c (FT_Set_Char_Size, FT_Set_Pixel_Sizes): Use
1580 `FT_Request_Size'.
1581
1582 * include/freetype/internal/ftobjs.h (FT_Match_Size),
1583 src/base/ftobjs.c (FT_Match_Size): New function to match a size
1584 request against `available_sizes'. Drivers supporting bitmap strikes
1585 can use this function to implement `request_size'.
1586
1587 * src/bdf/bdfdrivr.c, src/cid/cidobjs.c, src/cid/cidobjs.h,
1588 src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/type1/t1driver.c,
1589 src/type1/t1objs.c, src/type1/t1objs.h, src/type42/t42drivr.c,
1590 src/type42/t42objs.c, src/type42/t42objs.h, src/winfonts/winfnt.c:
1591 Update to new size selection interface.
1592
1593 * src/cff/cffdrivr.c, src/cff/cffgload.c, src/cff/cffobjs.c,
1594 src/cff/cffobjs.h, src/truetype/ttdriver.c, src/truetype/ttgload.c,
1595 src/truetype/ttobjs.c, src/truetype/ttobjs.h: Update to new size
1596 selection interface.
1597 Make `strike_index' FT_ULong and always defined.
1598 Use `load_strike_metrics' provided by SFNT interface.
1599
16002006-01-13 Chia-I Wu <b90201047@ntu.edu.tw>
1601
1602 * include/freetype/internal/sfnt.h (SFNT_Interface): New method
1603 `load_strike_metrics' used to load the strike's metrics.
1604
1605 * src/sfnt/sfdriver.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
1606 src/sfnt/ttsbit0.c: New function `tt_face_load_strike_metrics'.
1607
1608 * src/pfr/pfrobjs.c (pfr_face_init): Set FT_Bitmap_Size correctly.
1609
1610 * src/winfonts/winfnt.c (FNT_Face_Init): Use `nominal_point_size' for
1611 nominal size unless it is obviously incorrect.
1612
1613 * include/freetype/freetype.h (FT_Bitmap_Size): Update the comments on
1614 FNT driver.
1615
Werner Lemberg8ab09792006-01-12 08:12:27 +000016162006-01-12 Werner Lemberg <wl@gnu.org>
1617
1618 Prepare use of pscmap service within CFF module.
1619
1620 * include/freetype/internal/services/svpscmap.h: Include
1621 FT_INTERNAL_OBJECTS_H.
1622 (PS_Unicode_Index_Func): Removed. Unused.
1623 (PS_Macintosh_Name_Func): Renamed to...
1624 (PS_Macintosh_NameFunc): This.
1625 Update all callers.
1626 (PS_Adobe_Std_Strings_Func): Renamed to...
1627 (PS_Adobe_Std_StringsFunc): This.
1628 Update all callers.
1629 (PS_UnicodesRec): This is the former `PS_Unicodes' structure.
1630 Add `cmap' member.
1631 Update all callers.
1632 (PS_Unicodes): This is now a typedef'd pointer to PS_UnicodesRec.
1633 Update all callers.
1634 (PS_Glyph_NameFunc): New typedef.
1635 (PS_Unicodes_InitFunc): Change arguments to expect a function
1636 and generic data pointer which returns a glyph name from a given
1637 index.
1638
1639 * src/psnames/psmodule.c (ps_unicodes_init, ps_unicodes_char_index,
1640 ps_unicodes_char_next, pscmaps_interface): Updated.
1641
1642 * include/freetype/internal/t1types.h (T1_FaceRec): Updated.
1643
1644 * src/psaux/t1cmap.h (T1_CmapStdRec): Updated.
1645 (T1_CmapUnicode, T1_CmapUnicodeRec): Removed.
1646
1647 * src/psaux/t1cmap.c (t1_get_glyph_name): New callback function.
1648 (t1_cmap_unicode_init, t1_cmap_unicode_done,
1649 t1_cmap_unicode_char_index, t1_cmap_unicode_char_next,
1650 t1_cmap_unicode_class_rec): Updated.
1651
1652 * src/type42/t42types.h (T42_FaceRec): Updated.
1653
16542006-01-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)356a4d82006-01-12 03:33:16 +00001655
1656 * include/freetype/ftmac.h: Add declaration of new functions
1657 FT_New_Face_From_FSRef and FT_GetFile_From_Mac_ATS_Name that
1658 were introduced by the jumbo patch on 2006-01-11.
1659
Werner Lemberg8ab09792006-01-12 08:12:27 +000016602006-01-11 Werner Lemberg <wl@gnu.org>
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +00001661
Werner Lembergadf828f2006-01-11 10:08:49 +00001662 Fix Savannah bug #15056 and use pscmap service in psaux module.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +00001663
Werner Lembergadf828f2006-01-11 10:08:49 +00001664 * include/freetype/internal/services/svpscmap.h (PS_UniMap): Use
1665 FT_UInt32 for `glyph_index'.
1666 (PS_Unicodes_InitFunc): Use FT_String for `glyph_names'.
1667 (PS_Unicodes_CharIndexFunc): Use FT_UInt32 for `unicode'.
1668 (PS_Unicodes_CharNextFunc): Make second argument a pointer to
1669 FT_UInt32.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +00001670
Werner Lembergadf828f2006-01-11 10:08:49 +00001671 * src/psnames/psmodule.c (VARIANT_BIT, BASE_GLYPH): New macros.
1672 (ps_unicode_value): Set VARIANT_BIT in return value if glyph is a
1673 variant glyph (this is, it has non-leading `.' in its name).
1674 (compare_uni_maps): Sort base glyphs before variant glyphs.
1675 (ps_unicodes_init): Use FT_String for `glyph_names' argument.
1676 Reallocate only if number of used entries is much smaller.
1677 Updated to handle variant glyphs.
1678 (ps_unicodes_char_index, ps_unicodes_char_next): Prefer base glyphs
1679 over variant glyphs.
1680 Simplify code.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +00001681
Werner Lembergadf828f2006-01-11 10:08:49 +00001682 * src/psaux/t1cmap.c (t1_cmap_uni_pair_compare): Removed.
1683 (t1_cmap_unicode_init, t1_cmap_unicode_char_index,
1684 t1_cmap_unicode_char_next): Use pscmap service.
1685 (t1_cmap_unicode_done): Updated.
1686
1687 * src/psaux/t1cmap.h (T1_CMapUniPair): Removed.
1688 (T1_CMapUnicode): Use PS_Unicodes structure.
1689
16902006-01-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1691
1692 Jumbo patch to fix `deprecated' warning of cross-build for Tiger on
1693 Intel, as reported by Sean McBride <sean@rogue-research.com> on
1694 2005-08-24.
1695
1696 * src/base/ftmac.c: Heavy change to build without deprecated Carbon
1697 functions on Tiger.
1698
1699 * builds/unix/configure.ac: Add options and autochecks for Carbon
1700 functions availabilities, for MacOS X.
1701
1702 * builds/mac/ascii2mpw.py: Add converter for character `\305'.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +00001703 * builds/mac/FreeType.m68k_{far|cfm}.make.txt: Add conditional
Werner Lembergadf828f2006-01-11 10:08:49 +00001704 macros to avoid unavailable functions.
1705 ftmac.c must be compiled without `-strict ansi', because it disables
1706 cpp macro to use ToolBox system call.
1707
1708 * builds/mac/FreeType.ppc_{classic|carbon}.make.txt: Add conditional
1709 macros to avoid unavailable functions.
Suzuki, Toshiya (鈴木俊哉)f8d16cc2006-01-11 09:28:38 +00001710
1711 * builds/mac/README: Detailed notes on function availabilities.
1712
1713 * docs/CHANGES: Notes about (possible) incompatibilities.
1714
Werner Lemberge8f92af2006-01-08 13:43:30 +000017152006-01-08 Werner Lemberg <wl@gnu.org>
1716
Werner Lemberg6cdab922006-01-08 22:34:01 +00001717 * docs/CHANGES: Updated.
1718
17192006-01-08 Huw D M Davies <h.davies1@physics.ox.ac.uk>
1720
1721 * include/freetype/ftmodapi.h (FT_Module_Get_Flags): New
1722 declaration.
1723
1724 * src/base/ftobjs.c (FT_Module_Get_Flags): New function.
1725
17262006-01-07 Werner Lemberg <wl@gnu.org>
1727
Werner Lemberge8f92af2006-01-08 13:43:30 +00001728 * src/pcf/pcfread.c (pcf_get_bitmaps): Remove unused variable
Werner Lemberg30bd2842006-01-08 19:38:42 +00001729 `bitmaps'. Reported by Yu Lei <yulei0@gmail.com>.
1730
1731 * src/base/ftutil.c (ft_highpow2): s/FT_BASE/FT_BASE_DEF/.
1732 Reported by Niels Boldt <nielsboldt@gmail.com>.
Werner Lemberge8f92af2006-01-08 13:43:30 +00001733
17342005-12-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)3dfcef62005-12-28 06:47:12 +00001735
Werner Lemberg05cda082006-01-08 13:37:15 +00001736 * src/sfnt/sfnt/ttbdf.c: Add newline '\n' to the end of file, for
1737 MPW compiler.
Suzuki, Toshiya (鈴木俊哉)3dfcef62005-12-28 06:47:12 +00001738
David Turnere6bb9532005-12-23 13:32:06 +000017392005-12-23 David Turner <david@freetype.org>
1740
Werner Lemberg083ba0b2005-12-23 15:10:54 +00001741 * Jamfile (RefDoc), docs/reference/README: Fix it so that `jam
1742 refdoc' works correctly to generate the API reference in
1743 `docs/reference'.
David Turnere6bb9532005-12-23 13:32:06 +00001744
Werner Lemberg083ba0b2005-12-23 15:10:54 +00001745 * src/tools/docmaker/tohtml.py (print_html_field,
1746 print_html_field_list): Update to output nicer fields lists in the
1747 API reference.
David Turnere6bb9532005-12-23 13:32:06 +00001748
1749 * src/base/ftobjs.c (FT_Load_Glyph): FT_LOAD_TARGET_LIGHT now
Werner Lemberg083ba0b2005-12-23 15:10:54 +00001750 forces auto-hinting.
David Turnere6bb9532005-12-23 13:32:06 +00001751
Werner Lemberg083ba0b2005-12-23 15:10:54 +00001752 * freetype/freetype.h: Updating the documentation for
1753 FT_LOAD_TARGET_XXX and FT_Render_Mode values.
David Turnere6bb9532005-12-23 13:32:06 +00001754
Werner Lemberg6be99f92006-02-09 07:38:57 +000017552005-12-23 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)53be6e92005-12-23 12:22:46 +00001756
Werner Lemberg083ba0b2005-12-23 15:10:54 +00001757 * src/base/ftmac.c (FT_New_Face_From_Suitcase): Count scalable faces
1758 in supported formats (sfnt, LWFN) only, and ignore bitmap faces in
1759 unsupported formats (fbit, NFNT). The number of available faces are
1760 passed via face->num_faces. If bitmap faces are embedded in sfnt
1761 resource, face->num_fixed_size is correctly set. In public API,
1762 FT_New_Face() and FT_New_Face_From_FSSpec() count the faces as
1763 FT_GetFile_From_Mac_Name(), which ignores NFNT resources.
Suzuki, Toshiya (鈴木俊哉)53be6e92005-12-23 12:22:46 +00001764
1765 * doc/CHANGES: Mention the changes.
1766
Wu, Chia-I (吳佳一)ce34d122005-12-17 13:12:49 +000017672005-12-17 Chia-I Wu <b90201047@ntu.edu.tw>
1768
1769 * src/truetype/ttinterp.c (Update_Max): Set current size of buffer
1770 correctly (so that memory debug system won't panic).
1771
Wu, Chia-I (吳佳一)dcb8b712005-12-16 14:27:14 +000017722005-12-16 Chia-I Wu <b90201047@ntu.edu.tw>
1773
1774 * include/freetype/internal/ftobjs.h (ft_glyphslot_grid_fit_metrics),
1775 src/base/ftobjs.c (ft_glyphslot_grid_fit_metrics): Removed.
1776
1777 * src/base/ftobjs.c (ft_recompute_scaled_metrics): Do not round.
1778
1779 * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
1780 (cid_slot_load_glyph), src/truetype/ttgload.c (compute_glyph_metrics),
1781 src/type1/t1gload.c (T1_Load_Glyph): Do not round glyph metrics.
1782
1783 * doc/CHANGES: Mention the changes.
1784
David Turner5b5f3822005-12-14 16:37:15 +000017852005-12-13 David Turner <david@freetype.org>
1786
Werner Lembergb79b5132005-12-20 12:01:58 +00001787 Change the implementation of the LIGHT hinting mode to completely
1788 disable horizontal hinting. This is an experimental effort to
1789 integrate David Chester's latest patch without affecting the other
1790 hinting modes as well.
David Turner5b5f3822005-12-14 16:37:15 +00001791
Werner Lembergb79b5132005-12-20 12:01:58 +00001792 Note that this doesn't force auto-hinting for all fonts, however.
David Turner5b5f3822005-12-14 16:37:15 +00001793
Werner Lembergb79b5132005-12-20 12:01:58 +00001794 * src/autofit/afhints.c (af_glyph_hints_reload): Don't set
1795 scaler_fiags here but...
1796 (af_glyph_hints_rescale): Here.
David Turner8def3c82005-12-14 16:38:31 +00001797
Werner Lembergb79b5132005-12-20 12:01:58 +00001798 * src/autofit/aflatin.c (af_latin_hints_init): Disable horizontal
1799 hinting for `light' hinting mode.
David Turnerdb0182f2005-12-14 21:16:33 +00001800
David Turnerdb0182f2005-12-14 21:16:33 +00001801
Werner Lembergb79b5132005-12-20 12:01:58 +00001802 * Jamfile: Small fix to ensure that ftexport.sym is placed into the
1803 same location as other generated objects (i.e., within the `objs'
1804 directory of the current directory).
David Turnerdb0182f2005-12-14 21:16:33 +00001805
Werner Lembergb79b5132005-12-20 12:01:58 +00001806
1807 Add support for an embedded `BDF ' table within SFNT-based bitmap
1808 font files. This is used to store atoms & properties from the
1809 original BDF fonts that were used to generate the font file.
1810
1811 The feature is controlled by TT_CONFIG_OPTION_BDF within
1812 `ftoption.h' and is used to implement FT_Get_BDF_Property for these
1813 font files.
1814
1815 At the moment, this is still experimental, the BDF table format
1816 isn't cast into stone yet.
1817
1818 * include/freetype/config/ftoption.h (TT_CONFIG_OPTION_BDF): New
1819 macro.
1820
1821 * include/freetype/config/ftstdlib.h (ft_memchr): New macro.
1822
1823 * include/freetype/internal/tttypes.h (TT_BDFRec, TT_BDF)
1824 [TT_CONFIG_OPTION_BDF]: New structure.
1825 (TT_FaceRec) [TT_CONFIG_OPTION_BDF]: New member `bdf'.
1826
1827 * include/freetype/ttags.h (TTAG_BDF): New macro.
1828
1829 * src/sfnt/Jamfile (_sources): Add ttbdf.
1830
1831 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttbdf.c.
1832
1833 * src/sfnt/sfdriver.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h and
1834 FT_SERVICE_BDF_H.
1835 (sfnt_get_charset_it) [TT_CONFIG_OPTION_BDF]: New function.
1836 (sfnt_service_bdf) [TT_CONFIG_OPTION_BDF]: New service.
1837 (sfnt_servives) [TT_CONFIG_OPTION_BDF]: Add sfnt_service_bdf.
1838
1839 * src/sfnt/sfnt.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.c.
1840
1841 * src/sfnt/sfobjs.c [TT_CONFIG_OPTION_BDF]: Include ttbdf.h.
1842 (sfnt_done_face) [TT_CONFIG_OPTION_BDF]: Call
1843 tt_face_free_bdf_props.
1844
1845 * src/sfnt/ttbdf.h, src/sfnt/ttbdf.c: New files.
David Turner89a2a4b2005-12-14 20:38:15 +00001846
Werner Lemberg364db082005-12-07 20:34:11 +000018472005-12-07 Werner Lemberg <wl@gnu.org>
1848
1849 * src/sfnt/sfobjc.c (sfnt_init_face): Move tag check to...
1850 * src/sfnt/ttload.c (sfnt_init): Here, before handling TTCs.
1851
Wu, Chia-I (吳佳一)a3690cd2005-12-06 08:24:01 +000018522005-12-06 Chia-I Wu <b90201047@ntu.edu.tw>
1853
1854 * src/truetype/ttobjs.c (tt_size_init): size->ttmetrics.valid is
1855 initialized twice.
1856 size->strike_index is not initialized.
1857
Werner Lemberg2a0903a2005-12-03 08:13:43 +000018582005-12-02 Taek Kwan(TK) Lee <taeklee@gmail.com>
1859
Werner Lemberg3b8db662005-12-06 10:47:44 +00001860 * src/type42/t42objs.c (T42_Face_Init): Replace call to
Werner Lemberg2a0903a2005-12-03 08:13:43 +00001861 FT_New_Memory_Face with call to FT_Open_Face to pass `params'.
1862
Werner Lembergb797fdb2005-11-30 08:48:32 +000018632005-11-30 Werner Lemberg <wl@gnu.org>
1864
1865 * docs/CHANGES: Document ftdump's `-v' option.
Werner Lembergb5d88e82005-11-30 08:55:51 +00001866 Document latest charmap code changes.
Werner Lembergb797fdb2005-11-30 08:48:32 +00001867
Werner Lemberg44e47d52005-11-30 18:47:49 +00001868 * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h:
1869 s/TT_CMAP_FLAG_OVERLAPPED/TT_CMAP_FLAG_OVERLAPPING/.
1870
Wu, Chia-I (吳佳一)a28bc4c2005-11-30 02:39:10 +000018712005-11-30 Chia-I Wu <b90201047@ntu.edu.tw>
1872
1873 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary,
1874 tt_cmap12_char_map_binary): Fix compiler warnings.
1875
Wu, Chia-I (吳佳一)569ec4e2005-11-29 11:27:51 +000018762005-11-29 Chia-I Wu <b90201047@ntu.edu.tw>
1877
Werner Lemberg44e47d52005-11-30 18:47:49 +00001878 Major update to distinguish between unsorted and overlapping
1879 segments for cmap format 4. For overlapping but sorted segments,
1880 which is previously considered unsorted, we still use binary search.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +00001881
David Turner5b5f3822005-12-14 16:37:15 +00001882 * src/sfnt/ttcmap.h (TT_CMapRec_): Replace `unsorted' by `flags'.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +00001883 (TT_CMAP_FLAG_UNSORTED, TT_CMAP_FLAG_OVERLAPPED): New macros.
1884
1885 * src/sfnt/ttcmap.c (OPT_CMAP4): Removed as it is always defined.
David Turner5b5f3822005-12-14 16:37:15 +00001886 (TT_CMap4Rec_): Remove `old_charcode' and `table_length'.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +00001887 (tt_cmap4_reset): Removed.
1888 (tt_cmap4_init): Updated accordingly.
1889 (tt_cmap4_next): Updated accordingly.
Werner Lemberg44e47d52005-11-30 18:47:49 +00001890 Take care of overlapping segments.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +00001891 (tt_cmap4_validate): Make sure the subtable is large enough.
1892 Do not check glyph_ids because some fonts set the length wrongly.
Werner Lemberg05cda082006-01-08 13:37:15 +00001893 Also, if all segments have offset 0, glyph_ids is always invalid.
Werner Lemberg44e47d52005-11-30 18:47:49 +00001894 It does not cause any problem so far only because the check misses
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +00001895 equality.
Werner Lemberg44e47d52005-11-30 18:47:49 +00001896 Distinguish between unsorted and overlapping segments.
1897 (tt_cmap4_char_map_linear, tt_cmap4_char_map_binary): New functions
1898 to do `charcode => glyph index' by linear/binary search.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +00001899 (tt_cmap4_char_index, tt_cmap4_char_next): Use
1900 tt_cmap4_char_map_linear and tt_cmap4_char_map_binary.
1901 (tt_face_build_cmaps): Treat the return value of validator as flags
1902 for cmap.
1903
19042005-11-29 Chia-I Wu <b90201047@ntu.edu.tw>
1905
Werner Lemberg44e47d52005-11-30 18:47:49 +00001906 * src/sfnt/ttcmap.c (TT_CMap12Rec_, tt_cmap12_init, tt_cmap12_next):
1907 New structures and functions for fast `next char'.
1908 (tt_cmap12_char_map_binary): New function to do `charcode => glyph
1909 index' by binary search.
Wu, Chia-I (吳佳一)569ec4e2005-11-29 11:27:51 +00001910 (tt_cmap12_char_index, tt_cmap12_char_next): Use
1911 tt_cmap12_char_map_binary.
1912 (tt_face_build_cmaps): Check table and offset correctly (equality is
1913 missing).
1914
Werner Lemberg4e03fe72006-04-29 06:20:09 +000019152005-11-15 Detlef Würkner <TetiSoft@apg.lahn.de>
Detlef Würknerdf1598e2005-11-25 08:04:09 +00001916
1917 * builds/amiga/smakefile: Adjusted the compiler options
1918 to the current sources, now really builds the gxvalid, gzip
1919 and psnames modules.
1920
1921 * builds/amiga/src/base/ftsystem.c: The assumed Seek() position
1922 in the file cache was off by one byte which could cause false
1923 errors in font files.
1924
Werner Lemberg6be99f92006-02-09 07:38:57 +000019252005-11-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Suzuki, Toshiya (鈴木俊哉)6b1c5972005-11-24 05:16:57 +00001926
1927 * builds/mac/FreeType.m68k_far.make.txt,
1928 builds/mac/FreeType.m68k_cfm.make.txt,
1929 builds/mac/FreeType.ppc_classic.make.txt,
1930 builds/mac/FreeType.ppc_carbon.make.txt:
1931 Updated for MPW to build all available modules.
1932
Werner Lemberg4e03fe72006-04-29 06:20:09 +000019332005-11-21 Håvard Wall <haavardw@ifi.uio.no>
Werner Lemberg67ba2112005-11-21 17:32:03 +00001934
1935 * src/bdf/bdfdrivr.c (bdf_interpret_style, BDF_Face_Done): Fix small
1936 memory leak.
1937
Werner Lemberg840232a2005-11-21 12:36:42 +000019382005-11-21 Werner Lemberg <wl@gnu.org>
1939
1940 * src/sfnt/ttload.c (sfnt_init): Add tracing message.
1941
Wu, Chia-I (吳佳一)d81947e2005-11-21 03:04:03 +000019422005-11-21 Chia-I Wu <b90201047@ntu.edu.tw>
1943
Werner Lemberg840232a2005-11-21 12:36:42 +00001944 * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Image_offset was
Werner Lemberg05cda082006-01-08 13:37:15 +00001945 added twice to image_start if image_format was 2 or 5.
Wu, Chia-I (吳佳一)275be9b2005-11-21 03:05:34 +00001946
19472005-11-21 Chia-I Wu <b90201047@ntu.edu.tw>
1948
Wu, Chia-I (吳佳一)d81947e2005-11-21 03:04:03 +00001949 * src/sfnt/sfobjs.c (sfnt_init_face): Check that format_tag is known
1950 before loading the table directory.
1951
1952 * src/sfnt/ttload.c (tt_face_load_sfnt_header,
1953 tt_face_load_directory): Delay sfnt_dir_check from
1954 tt_face_load_sfnt_header to tt_face_load_directory.
1955
Wu, Chia-I (吳佳一)6f1eca02005-11-20 08:24:24 +000019562005-11-20 Chia-I Wu <b90201047@ntu.edu.tw>
1957
1958 * src/sfnt/ttload.c (sfnt_dir_check): Clean up and return correct
1959 error code.
1960 (sfnt_init): New function to fill in face->ttc_header. A non-TTC font
1961 is synthesized into a TTC font with one offset table.
1962 (tt_face_load_sfnt_header): Use sfnt_init.
Werner Lemberg05cda082006-01-08 13:37:15 +00001963 Fix an invalid access if the font is TTC and face_index is -1.
Wu, Chia-I (吳佳一)6f1eca02005-11-20 08:24:24 +00001964
Werner Lemberg1a293d62005-11-18 08:23:06 +000019652005-11-18 Werner Lemberg <wl@gnu.org>
1966
1967 * src/sfnt/ttload.c (tt_face_load_metrics): Ignore excess number
1968 of metrics instead of aborting. Patch suggested by Derek Noonburg.
1969
Werner Lemberg6c990452005-11-18 21:10:59 +00001970 * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
1971 (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Scale
1972 the glyph properly if no hinter is available.
1973
1974 * docs/CHANGES: Mention scaling bug.
1975
Suzuki, Toshiya (鈴木俊哉)8d81d412005-11-18 07:47:06 +000019762005-11-18 susuzki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1977
1978 * include/freetype/ftgxval.h, src/base/ftgxval.c
1979 (FT_TrueTypeGX_Free, FT_ClassicKern_Free): New functions to free
1980 buffers allocated by gxvalid module.
1981 * include/freetype/ftotval.h, src/base/ftotval.c
1982 (FT_OpenType_Free): New function to free buffer allocated by
1983 otvalid module.
1984
Wu, Chia-I (吳佳一)cb182382005-11-18 04:29:31 +000019852005-11-18 Chia-I Wu <b90201047@ntu.edu.tw>
1986
1987 * builds/unix/ftsystem.c (FT_Stream_Open, FT_New_Memory,
1988 FT_Done_Memory), builds/vms/ftsystem.c (FT_Stream_Open, FT_New_Memory,
1989 FT_Done_Memory), builds/win32/ftdebug.c (FT_Message, FT_Panic):
1990 s/FT_EXPORT/FT_BASE/.
1991
Werner Lemberg4e03fe72006-04-29 06:20:09 +000019922005-11-17 Detlef Würkner <TetiSoft@apg.lahn.de>
Detlef Würkner4859ac42005-11-17 14:21:07 +00001993
Detlef Würkner0acfc1f2005-11-17 16:54:54 +00001994 * builds/amiga/src/base/ftdebug.c (FT_Trace_Get_Count,
1995 FT_Trace_Get_Name, FT_Message, FT_Panic),
1996 builds/amiga/src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory,
1997 FT_Stream_Open): s/FT_EXPORT/FT_BASE/.
1998
Werner Lemberg4e03fe72006-04-29 06:20:09 +000019992005-11-17 Detlef Würkner <TetiSoft@apg.lahn.de>
Detlef Würkner0acfc1f2005-11-17 16:54:54 +00002000
Werner Lemberg1a293d62005-11-18 08:23:06 +00002001 * builds/amiga/makefile, builds/amiga/makefile.os4,
Detlef Würknerdf1598e2005-11-25 08:04:09 +00002002 builds/amiga/smakefile,
Detlef Würkner4859ac42005-11-17 14:21:07 +00002003 builds/amiga/include/freetype/config/ftmodule.h: Updated the Amiga
Werner Lemberg1a293d62005-11-18 08:23:06 +00002004 build files (added support for the gxvalid module).
Detlef Würkner4859ac42005-11-17 14:21:07 +00002005
Werner Lembergcfc0cf22005-11-17 08:12:00 +000020062005-11-17 Werner Lemberg <wl@gnu.org>
2007
2008 Add vertical metrics support to OpenType CFF outlines. Based on a
Werner Lemberg1a293d62005-11-18 08:23:06 +00002009 patch from Mike Moening <MikeM@RetekSolutions.com>.
Werner Lembergcfc0cf22005-11-17 08:12:00 +00002010
2011 * src/cff/cffgload.c (cff_face_get_vertical_metrics): New function.
2012 (cff_slot_load): Use cff_face_get_vertical_metrics.
2013
2014 * docs/CHANGES: Updated.
2015
Wu, Chia-I (吳佳一)35bfc0f2005-11-17 01:53:07 +000020162005-11-17 Chia-I Wu <b90201047@ntu.edu.tw>
2017
2018 * src/base/ftcalc.c (FT_MulTo64): Commented out.
2019
Werner Lembergcfc0cf22005-11-17 08:12:00 +00002020 * include/freetype/internal/ftcalc.h (FT_SqrtFixed),
2021 src/base/ftcalc.c (FT_SqrtFixed),
2022 include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
2023 FT_Trace_Get_Name, FT_Message, FT_Panic), src/base/ftdebug.c
Wu, Chia-I (吳佳一)35bfc0f2005-11-17 01:53:07 +00002024 (FT_Trace_Get_Count, FT_Trace_Get_Name, FT_Message, FT_Panic),
Werner Lembergcfc0cf22005-11-17 08:12:00 +00002025 include/freetype/internal/ftobjs.h (FT_New_Memory, FT_Done_Memory),
2026 include/freetype/internal/ftstream.h (FT_Stream_Open),
2027 src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory, FT_Stream_Open):
2028 s/FT_EXPORT/FT_BASE/.
Wu, Chia-I (吳佳一)35bfc0f2005-11-17 01:53:07 +00002029
Werner Lembergcfc0cf22005-11-17 08:12:00 +00002030 * builds/exports.mk: Manually add TT_New_Context to EXPORTS_LIST
2031 too.
Wu, Chia-I (吳佳一)35bfc0f2005-11-17 01:53:07 +00002032
David Turnerf7cc1812005-11-15 17:30:56 +000020332005-11-15 David Turner <david@freetype.org>
2034
Werner Lemberg674ba912005-11-16 18:09:27 +00002035 * src/base/fttrigon.c (ft_trig_prenorm): Fix a bug that created
David Turnerf7cc1812005-11-15 17:30:56 +00002036 invalid computations, resulting in very weird bugs in TrueType
Werner Lemberg674ba912005-11-16 18:09:27 +00002037 bytecode hinted fonts.
David Turnerf7cc1812005-11-15 17:30:56 +00002038
Werner Lemberg674ba912005-11-16 18:09:27 +00002039 * src/truetype/ttinterp.c (FT_UNUSED_EXEC): Don't perform a
2040 structure copy each time.
David Turnerf7cc1812005-11-15 17:30:56 +00002041
Werner Lembergd829ff72005-11-12 17:07:11 +000020422005-11-11 Werner Lemberg <wl@gnu.org>
2043
2044 * src/cache/ftccache.c (FTC_Cache_Clear), src/cache/ftcmanag.c
2045 (FTC_Manager_Check): Remove FT_EXPORT_DEF tag.
2046
David Turnerf7cc1812005-11-15 17:30:56 +00002047 * src/base/ftcalc.c (FT_Add64): Remove FT_EXPORT_DEF tag.
Werner Lembergd829ff72005-11-12 17:07:11 +00002048 (FT_Div64by32, FT_Sqrt32): Commented out. Unused.
2049
2050 * include/freetype/internal/ftcalc.h (SQRT_32): Removed. Unused.
2051 (FT_Sqrt32): Commented out. Unused.
2052
2053 * include/freetype/cache/ftccache.h:
2054 s/ftc_node_destroy/FTC_Node_Destroy/.
2055
2056 * src/cache/ftccback.h (ftc_node_destroy): New declaration.
2057
2058 * src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF tag.
2059 (FTC_Node_Destroy): New exported wrapper function for
2060 ftc_node_destroy.
2061
2062 * src/cache/ftcmanag.c: Include ftccback.c.
2063
Werner Lemberg4309edc2005-11-11 15:49:14 +000020642005-11-10 Werner Lemberg <wl@gnu.org>
2065
2066 * src/autofit/afangles.c, src/autofit/aftypes.h (af_angle_diff):
2067 Comment out. Unused.
2068
Werner Lembergf2c53302005-11-11 16:20:59 +00002069 * builds/exports.mk ($(EXPORTS_LIST)): Add TT_RunIns.
2070
Werner Lemberg4309edc2005-11-11 15:49:14 +000020712005-11-10 Christian Biesinger <cbiesinger@web.de>
2072
2073 * builds/beos/beos.mk: Call beos-def.mk before anything else to
2074 define the separator.
2075
2076 * builds/unix/unix-cc.in (LINK_LIBRARY): Add `-no-undefined' flag.
2077
Werner Lembergea4c3dc2005-11-08 09:10:16 +000020782005-11-07 Werner Lemberg <wl@gnu.org>
2079
2080 * src/type1/t1afm.c (T1_Read_PFM): Zero offset means `no kerning
2081 table available'. From Sergey Tolstov <stolstov@esri.com>.
2082
Werner Lemberg4e03fe72006-04-29 06:20:09 +000020832005-11-03 Ville Syrjälä <syrjala@sci.fi>
Werner Lembergb2d02532005-11-04 06:58:49 +00002084
2085 * src/base/ftobjs.c (FT_Open_Face): Avoid possible memory leak.
2086
20872005-11-02 Werner Lemberg <wl@gnu.org>
2088
2089 Make compiling instructions in docs/CUSTOMIZE work again.
2090
2091 * builds/unix/unix-cc.in (CPPFLAGS): New variable.
2092 (CFLAGS): Don't include @CPPFLAGS@.
2093 * builds/freetype.mk (FT_CFLAGS): Add CPPFLAGS.
2094
David Turnerdab24542005-11-02 09:24:00 +000020952005-10-28 David Turner <david@freetype.org>
2096
Werner Lembergcee37a32005-11-12 07:34:40 +00002097 Update build system to support the generation of a list of exported
2098 symbols or Windows .DEF files by parsing the public headers with the
Werner Lembergb2d02532005-11-04 06:58:49 +00002099 `apinames' tool located in src/tools/apinames.c.
David Turnerdab24542005-11-02 09:24:00 +00002100
Werner Lembergb2d02532005-11-04 06:58:49 +00002101 Only tested on Unix at the moment. On Windows, the .DEF file is
2102 generated but isn't used yet to generate a DLL.
David Turnerdab24542005-11-02 09:24:00 +00002103
Werner Lembergcee37a32005-11-12 07:34:40 +00002104 * builds/exports.mk: New file.
David Turnerdab24542005-11-02 09:24:00 +00002105
Werner Lembergcee37a32005-11-12 07:34:40 +00002106 * builds/freetype.mk: Include exports.mk.
2107 (dll): New target.
2108 (clean_project_dos): Fix rule.
David Turnerdab24542005-11-02 09:24:00 +00002109
Werner Lembergcee37a32005-11-12 07:34:40 +00002110 * builds/compiler/visualc.mk (TE), builds/dos/dos-def.mk (E),
2111 builds/os2/os2-def.mk (E), builds/win32/win32-def.mk (E): New
2112 variables for controlling executable extensions.
David Turnerdab24542005-11-02 09:24:00 +00002113
Werner Lembergcee37a32005-11-12 07:34:40 +00002114 * builds/unix/unix-cc.in (EXPORTS_LIST, CCexe),
2115 builds/win32/w32-bcc.mk, builds/win32/w32-gcc.mk,
2116 builds/win32/w32-icc.mk, builds/win32/w32-icc.mk,
2117 builds/win32/w32-mingw32.mk, builds/win32/w32-vcc,
2118 builds/win32/w32-wat.mk (EXPORTS_LIST, EXPORT_OPTIONS,
2119 APINAMES_OPTIONS): New targets for controlling the `apinames' tool.
2120
2121 * Jamfile (GenExportSymbols): Updated.
2122
2123
2124 * src/pfr/pfrtypes.h, src/pfr/pfrload.c, src/pfr/pfrobjs.c
2125 [!FT_OPTIMIZE_MEMORY]: Fold memory optimization code into
2126 FT_OPTIMIZE_MEMORY chunks for better maintainability and simplicity.
2127
2128
2129 * src/base/fttrigon.c (ft_trig_prenorm), src/base/ftcalc.c
2130 (FT_MulFix): Performance optimizations.
2131
2132
2133 * include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
2134 FT_GLYPHLOADER_CHECK_C, FT_GLYPHLOADER_CHECK_POINTS): New macros for
2135 checking points and contours. Update callers to use
2136 FT_GLYPHLOADER_CHECK_POINTS instead of FT_GlyphLoader_CheckPoints
2137 at profile-detected hot-spots.
2138
2139 * src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Set `adjust'
2140 to 0 to not call `AdjustPoints' every time.
2141
David Turnerdab24542005-11-02 09:24:00 +00002142
Werner Lembergb2d02532005-11-04 06:58:49 +00002143 * src/autofit/aftypes.h (AF_ANGLE_DIFF): New macro to inline
2144 FT_Angle_Diff.
David Turnerdab24542005-11-02 09:24:00 +00002145
Werner Lembergcee37a32005-11-12 07:34:40 +00002146 * src/autofit/afhints.c (af_direction_compute): Re-implement.
2147 (af_glyph_hints_compute_inflections, af_glyph_hints_reload): Use
Werner Lembergb2d02532005-11-04 06:58:49 +00002148 AF_ANGLE_DIFF to speed up the detection of inflexions.
David Turnerdab24542005-11-02 09:24:00 +00002149
Werner Lembergcee37a32005-11-12 07:34:40 +00002150
2151 * src/tools/apinames.c: Include <string.h>.
2152 (OutputFormat): New enumeration.
2153 (names_dump): Add two parameters to control output format and DLL
2154 name.
2155 (names_dump_windef): Removed. Code folded into `names_dump'.
2156 (read_header_file): Use isalnum, not isalpha. Otherwise function
2157 names with digits aren't read correctly.
2158 (usage): Updated.
2159 (main): New option `-o' to control output file name.
2160 New option `-d' to indicate DLL file name.
2161 Extend `-w' flag to handle Borland and Watcom compilers and linkers.
2162
Suzuki, Toshiya (鈴木俊哉)45115762005-10-28 15:39:58 +000021632005-10-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2164
Suzuki, Toshiya (鈴木俊哉)69d45172005-10-28 16:03:06 +00002165 * builds/mac/ftlib.prj, builds/mac/freetype.mak: Removed.
2166 ftlib.prj is unmaintained and incompatible with current tree.
2167 freetype.mak is unrecoverably broken.
2168
2169 * builds/mac/ftlib.prj.xml: Added.
Werner Lemberg05cda082006-01-08 13:37:15 +00002170 Generated by Metrowerks CodeWarrior 9.0.
Suzuki, Toshiya (鈴木俊哉)69d45172005-10-28 16:03:06 +00002171
2172 * builds/mac/FreeType.m68k_far.make.txt,
2173 builds/mac/FreeType.m68k_cfm.make.txt,
2174 builds/mac/FreeType.ppc_classic.make.txt,
2175 builds/mac/FreeType.ppc_carbon.make.txt: Added.
Werner Lemberg05cda082006-01-08 13:37:15 +00002176 Skeleton files of MPW makefiles.
Suzuki, Toshiya (鈴木俊哉)69d45172005-10-28 16:03:06 +00002177
2178 * builds/mac/ascii2mpw.py: Added.
Werner Lemberg05cda082006-01-08 13:37:15 +00002179 Python script to make MPW makefile from skeleton.
Suzuki, Toshiya (鈴木俊哉)69d45172005-10-28 16:03:06 +00002180
2181 * builds/mac/README: Updated.
2182 Almost rewritten to use new files.
2183
21842005-10-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2185
Werner Lemberg05cda082006-01-08 13:37:15 +00002186 * src/base/ftmac.c: Fix invalid casts from NULL to integer typed
2187 variables. Advised by David Turner, Masatake YAMATO, Sean McBride,
Suzuki, Toshiya (鈴木俊哉)45115762005-10-28 15:39:58 +00002188 and George Williams.
2189
Werner Lemberg4b5661c2005-10-27 21:28:35 +000021902005-10-27 Werner Lemberg <wl@gnu.org>
2191
2192 * include/freetype/ftsysmem.h, include/freetype/ftsysio.h: Removed.
2193 Obsolete.
2194
Werner Lemberg43b057b2005-10-26 18:37:40 +000021952005-10-25 Werner Lemberg <wl@gnu.org>
2196
2197 * src/sfnt/sfdriver.c (sfnt_interface): Move out
2198 `tt_face_get_kerning' from a #ifdef clause. Reported by Tony J.
2199 Ibbs <tibs@sj.co.uk>.
2200
Werner Lemberg6c0e7342005-10-23 19:31:01 +000022012005-10-23 Werner Lemberg <wl@gnu.org>
2202
2203 * src/base/ftdbgmem.c (ft_mem_debug_realloc): Make it compile with
2204 C++.
2205
David Turner398d64c2005-10-21 10:01:25 +000022062005-10-21 David Turner <david@freetype.org>
2207
Werner Lemberg90968f72005-10-22 10:34:45 +00002208 * src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_debug_realloc):
2209 Another realloc memory counting bug fix.
David Turner398d64c2005-10-21 10:01:25 +00002210
Werner Lemberg90968f72005-10-22 10:34:45 +00002211 * src/tools/Jamfile: Add missing file.
David Turner398d64c2005-10-21 10:01:25 +00002212
Werner Lemberg90968f72005-10-22 10:34:45 +00002213 * src/lzw/Jamfile: Fix incorrect source file reference.
David Turner398d64c2005-10-21 10:01:25 +00002214
David Turnerc1b6d082005-10-20 15:33:34 +000022152005-10-20 David Turner <david@freetype.org>
2216
Werner Lemberg560d5fe2005-10-21 09:08:28 +00002217 * src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_table_remove,
2218 ft_mem_debug_alloc, ft_mem_debug_free, ft_mem_debug_realloc): Fixes
2219 to better account for memory reallocations.
David Turnerc1b6d082005-10-20 15:33:34 +00002220
Werner Lemberg560d5fe2005-10-21 09:08:28 +00002221 * src/lzw/ftlzw2.c, src/lzw/ftzopen.h, src/lzw/ftzopen.c,
David Turner398d64c2005-10-21 10:01:25 +00002222 src/lzw/rules.mk: First version of LZW loader re-implementation.
2223 Apparently, this saves about 330 KB of heap memory when loading
Werner Lemberg560d5fe2005-10-21 09:08:28 +00002224 timR24.pcf.Z.
David Turnerc1b6d082005-10-20 15:33:34 +00002225
Wu, Chia-I (吳佳一)7e307762005-10-20 02:13:46 +000022262005-10-20 Chia-I Wu <b90201047@ntu.edu.tw>
2227
2228 * include/freetype/ftbitmap.h (FT_Bitmap_Copy, FT_Bitmap_Embolden),
2229 src/base/ftbdf.c (FT_Get_BDF_Property), src/cache/ftcmru.c
Werner Lemberg560d5fe2005-10-21 09:08:28 +00002230 (FTC_MruList_Reset, FTC_MruList_Done, FTC_MruList_Lookup): Fix
2231 FT_EXPORT/FT_EXPORT_DEF tagging.
Wu, Chia-I (吳佳一)7e307762005-10-20 02:13:46 +00002232
Wu, Chia-I (吳佳一)2293bb12005-10-19 08:07:38 +000022332005-10-19 Chia-I Wu <b90201047@ntu.edu.tw>
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002234
Werner Lemberg560d5fe2005-10-21 09:08:28 +00002235 * src/truetype/ttgload.c (TT_Load_Glyph): Allow size->ttmetrics to
2236 be invalid when FT_LOAD_NO_SCALE is set.
Wu, Chia-I (吳佳一)2293bb12005-10-19 08:07:38 +00002237
22382005-10-17 David Turner <david@freetype.org>
2239
2240 * src/base/ftobjs.c (FT_Open_Face): Don't call FT_New_GlyphSlot and
2241 FT_New_Size if we are opening a face with face_index < 0 (which is
2242 only used for testing the format).
2243
2244 * src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_entry_validate):
2245 Remove compiler warning.
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002246
22472005-10-16 David Turner <david@freetype.org>
2248
Wu, Chia-I (吳佳一)2293bb12005-10-19 08:07:38 +00002249 * src/tools/apinames.c: Add new tool to extract public API function
2250 names from header files.
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002251
22522005-10-05 Werner Lemberg <wl@gnu.org>
2253
2254 Add FT_FACE_FLAG_HINTER to indicate that a specific font driver has
2255 a hinting engine of its own.
2256
2257 * include/freetype/freetype.h (FT_FACE_FLAG_HINTER): New macro.
2258
2259 * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
2260 (cid_face_init), src/truetype/ttobjs.c (tt_face_init)
2261 [TT_CONFIG_OPTION_BYTECODE_INTERPRETER], src/type1/t1objs.c
2262 (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init)
2263 [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Update face flags.
2264
2265 * docs/CHANGES: Document it.
2266
22672005-09-27 Werner Lemberg <wl@gnu.org>
2268
2269 * builds/unix/freetype2.m4: Add license exception so that the file
2270 can be used in any other autoconf script.
2271
22722005-09-26 David Turner <david@freetype.org>
2273
2274 * src/autofit/aflatin.c (af_latin_compute_stem_width): Fix bad
2275 computation of the `vertical' flag, causing ugly things in LCD mode
2276 and others.
2277
22782005-09-23 David Turner <david@freetype.org>
2279
2280 * src/autofit/aflatin.c (af_latin_hints_init): Fix a bug that
2281 prevented internal hint mode bitflags from being computed correctly.
2282
2283 * src/base/Jamfile: Adding src/base/ftgxval.c.
2284
2285 * src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
2286 src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c,
2287 src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
2288 src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
2289 src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
2290 src/gxvalid/gxvmort5.c, src/gxvalid/gxvmorx.c,
2291 src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
2292 src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx5.c,
2293 src/gxvalid/gxvopbd.c, src/gxvalid/gxvprop.c,
2294 src/truetype/ttgload.c: Remove _many_ compiler warnings when
2295 compiling with Visual C++ at maximum level (/W4).
2296
2297 * src/autofit/afangles.c (af_angle_atan): Replaced CORDIC-based
2298 implementation with one using lookup tables. This simple thing
2299 speeds up glyph loading by 18%, according to ftbench!
2300
2301 * src/sfnt/sfdriver.c (sfnt_get_interface): Don't check for
2302 `get_sfnt' and `load_sfnt' module interfaces.
2303
23042005-09-22 Werner Lemberg <wl@gnu.org>
2305
2306 * docs/CHANGES: Mention SING Glyphlet support.
2307
23082005-09-22 David Turner <david@freetype.org>
2309
2310 * src/base/Jamfile: Disable compilation of ftgxval module
2311 temporarily.
2312
23132005-09-19 David Somers <dsomers@omz13.com>
2314
2315 * freetype2/src/sfnt/ttload.c (sfnt_dir_check): Modified to allow a
2316 font to have no `head' table if tables `SING' and `META' are
2317 present; this is to support `SING Glyphlet'.
2318
2319 `SING Glyphlet' is an extension to OpenType developed by Adobe
2320 primarily to facilitate adding supplemental glyphs to an OpenType
2321 font (with emphasis on, but not necessariy limited to, gaiji to a
2322 CJK font). A SING Glyphlet Font is an OpenType font that contains
2323 the outline(s), either in a `glyf' or `CFF' table, for a glyph;
2324 `cmap', `BASE', and `GSUB' tables are present with the same format
2325 and functionaliy as a regular OpenType font; there are no `name',
2326 `head', `OS/2', and `post' tables; there are two new tables, `SING'
2327 which contains details about the glyphlet, and `META' which contains
2328 metadata.
2329
2330 Further information on the SING Glyphlet format can be found at:
2331
2332 http://www.adobe.com/products/indesign/sing_gaiji.html
2333
2334 * freetype2/include/freetype/ttags.h (TTAG_SING, TTAG_META): New
2335 macros for the OpenType tables `SING' and `META'. These two tables
2336 are used in SING Glyphlet Format fonts.
2337
23382005-09-09 Werner Lemberg <wl@gnu.org>
2339
2340 * src/sfnt/sfobjs.c (sfnt_load_face): Reactivate code to set
2341 FT_FACE_FLAG_KERNING which has been commented out erroneously.
2342
2343 * docs/CHANGES: Document it.
2344
23452005-09-05 Werner Lemberg <wl@gnu.org>
2346
2347 Fixes for `make multi' and using C++ compiler.
2348
2349 * gxvalid/gxvcommn.c (gxv_set_length_by_ushort_offset,
2350 gxv_set_length_by_ulong_offset, gxv_array_getlimits_byte,
2351 gxv_array_getlimits_ushort): Declare with FT_LOCAL_DEF.
2352 (gxv_compare_ranges): Make it static.
2353 (gxv_LookupTable_fmt0_validate, gxv_LookupTable_fmt2_validate,
2354 gxv_LookupTable_fmt4_validate, gxv_LookupTable_fmt6_validate,
2355 gxv_LookupTable_fmt8_validate, gxv_LookupTable_validate): Improve
2356 trace messages.
2357 (gxv_StateArray_validate, gxv_XStateArray_validate): s/class/clazz/.
2358 (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
2359 GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Move to
2360 gxvcommn.h.
2361
2362 * gxvalid/gxvcommn.h: Add prototypes for
2363 gxv_StateTable_subtable_setup, gxv_XStateTable_subtable_setup,
2364 gxv_XStateTable_validate, gxv_array_getlimits_byte,
2365 gxv_array_getlimits_ushort, gxv_set_length_by_ushort_offset,
2366 gxv_set_length_by_ulong_offset, gxv_odtect_add_range,
2367 gxv_odtect_validate.
2368 (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
2369 GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Moved from
2370 gxvcommn.c.
2371
2372 * src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
2373 gxv_bsln_parts_fmt1_validate): Improve trace messages.
2374
2375 * gxvalid/gxvfeat.c: Split off predefined registry stuff to...
2376 * gxvalid/gxvfeat.h: New file.
2377
2378 * gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
2379 message.
2380
2381 * gxvalid/gxvkern.c (GXV_kern_Dialect): Add KERN_DIALECT_UNKNOWN.
2382 (gxv_kern_subtable_fmt1_valueTable_load,
2383 gxv_kern_subtable_fmt1_subtable_setup,
2384 gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors.
2385 (gxv_kern_coverage_validate): Use KERN_DIALECT_UNKWOWN.
2386 Improve trace message.
2387 (gxv_kern_validate_generic): Fix C++ compiler error.
2388 Improve trace message.
2389 (gxv_kern_validate_classic): Fix C++ compiler error.
2390
2391 * gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
2392 with FT_LOCAL_DEF.
2393
2394 * gxvalid/gxvmort1.c
2395 (gxv_mort_subtable_type1_substitutionTable_load,
2396 gxv_mort_subtable_type1_subtable_setup): Fix C++ compiler errors.
2397 (gxv_mort_subtable_type1_substTable_validate): Improve trace
2398 message.
2399 (gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF.
2400
2401 * gxvalid/gxvmort2.c (gxv_mort_subtable_type2_opttable_load,
2402 gxv_mort_subtable_type2_subtable_setup,
2403 gxv_mort_subtable_type2_ligActionOffset_validate,
2404 gxv_mort_subtable_type2_ligatureTable_validate): Fix C++ compiler
2405 errors.
2406 (gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF.
2407
2408 * gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
2409 with FT_LOCAL_DEF.
2410
2411 * gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup,
2412 gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler
2413 errors.
2414 (gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF.
2415
2416 * gxvalid/gxvmort.c: Include gxvfeat.h.
2417 (gxv_mort_featurearray_validate, gxv_mort_coverage_validate):
2418 Declare with FT_LOCAL_DEF.
2419 (gxv_mort_subtables_validate, gxv_mort_validate): Improve trace
2420 messages.
2421
2422 * gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.
2423
2424 * gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
2425 with FT_LOCAL_DEF.
2426
2427 * gxvalid/gxvmorx1.c
2428 (gxv_morx_subtable_type1_substitutionTable_load,
2429 gxv_morx_subtable_type1_subtable_setup,
2430 gxv_morx_subtable_type1_entry_validate,
2431 gxv_morx_subtable_type1_substitutionTable_validate): Fix C++
2432 compiler errors.
2433 (gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF.
2434
2435 * gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_opttable_load,
2436 gxv_morx_subtable_type2_subtable_setup,
2437 gxv_morx_subtable_type2_ligActionIndex_validate,
2438 gxv_morx_subtable_type2_ligatureTable_validate): Fix C++ compiler
2439 errors.
2440 (gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF.
2441 Fix typo.
2442
2443 * gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
2444 with FT_LOCAL_DEF.
2445
2446 * gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_insertionGlyph_load,
2447 gxv_morx_subtable_type5_subtable_setup): Fix C++ compiler error.
2448 (gxv_morx_subtable_type5_validate): Declare with FT_LOCAL_DEF.
2449
2450 * gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
2451 gxv_morx_validate): Improve trace message.
2452
2453 * gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
2454 warnings.
2455 (gxv_opbd_validate): Improve trace message.
2456
2457 * gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
2458 appropriate.
2459 (gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
2460 message.
2461
2462 * gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused
2463 parameter. Update all callers.
2464 (gxv_trak_validate): Improve trace message.
2465
2466 * rules.mk (GXV_DRV_H): Add gxvfeat.h.
2467
24682005-09-01 Werner Lemberg <wl@gnu.org>
2469
2470 * src/gxvalid/gxvbsln.c (GXV_BSLN_VALUE_EMPTY): Add `U'.
2471
2472 * src/gxvalid/gxmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
2473 src/gxvalid/gxmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix
2474 typo.
2475
2476 * src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
2477 src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx4.c,
2478 src/gxvalid/gxvmorx5.c, src/gxvalid/gxvmort.c: Improve trace
2479 messages.
2480 Decorate constants with `U' and `L' where appropriate.
2481 Fix compiler warnings.
2482
24832005-08-31 Werner Lemberg <wl@gnu.org>
2484
2485 * src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
2486
2487 * src/gxvalid/gxvbsln.c (gxv_bsln_validate): Fix trace message.
2488
2489 * src/gxvalid/gxvcommn.c (gxv_odtect_add_range): Use `const'.
2490
2491 * src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c,
2492 src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmod.c,
2493 src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
2494 src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
2495 src/gxvalid/gxvmort5.c, src/gxvalid/gxvmort.c: Improve trace
2496 messages.
2497 Decorate constants with `U' and `L' where appropriate.
2498 Fix compiler warnings.
2499
25002005-08-30 Werner Lemberg <wl@gnu.org>
2501
2502 * src/gxvalid/README: Revised.
2503 * src/gxvalid/gxvbsln.c: Fix compiler warnings.
2504 * src/gxvalid/gxvcommn.c: Fix compiler warnings.
2505 (gxv_XEntryTable_validate, gxv_compare_ranges): Remove unused
2506 parameter. Update all callers.
2507 Improve trace messages.
2508 Some formatting.
2509
25102005-08-29 Werner Lemberg <wl@gnu.org>
2511
2512 * include/freetype/freetype.h, include/freetype/ftchapters.h: Add
2513 a preliminary section with some explanations about user allocation.
2514
2515 * src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
2516 Don't abort if there are no data types, functions, etc., in a
2517 section.
2518 Print synopsis only if we have a data type, function, etc.
2519
2520 * docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
2521 docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
2522 docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
2523
25242005-08-28 George Williams <gww@silcom.com>
2525
2526 * src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed.
2527 (load_truetype_glyph): Limit recursion depth by `maxComponentDepth'.
2528
25292005-08-25 J. Ali Harlow <ali@avrc.city.ac.uk>
2530
2531 * builds/unix/freetype2.in (CFlags): Add missing directory.
2532
25332005-08-24 Werner Lemberg <wl@gnu.org>
2534
2535 * docs/CHANGES: Mention gxvalid module.
2536
25372005-08-23 Werner Lemberg <wl@gnu.org>
2538
2539 * src/autofit/aflatin.c (af_latin_metrics_scale): Initialize
2540 render mode properly. Reported by chris@dokein.co.uk.
2541
Werner Lemberg6be99f92006-02-09 07:38:57 +000025422005-08-23 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002543
2544 Add gxvalid module to validate TrueType GX/AAT tables.
2545
2546 Modifications on existing files:
2547
2548 * Jamfile: Register gxvalid module.
2549 * src/base/Jamfile: Register ftgxval.c.
2550 * src/base/rule.mk: Register ftgxval.c.
2551 * docs/INSTALL.ANY: Register gxvalid/gxvalid.c.
2552
2553 * include/freetype/config/ftheader.h (FT_GX_VALIDATE_H): New macro
2554 to include gxvalid header file.
2555 * include/freetype/config/ftmodule.h: Register gxv_module_class.
2556
2557 * include/freetype/ftchapters.h: Add comment about gx_validation.
2558 * include/freetype/ftotval.h: Change keyword FT_VALIDATE_XXX
2559 to FT_VALIDATE_OTXXX to co-exist with gxvalid.
2560 * include/freetype/tttags.h: Add tags for TrueType GX/AAT tables.
2561
2562 * include/freetype/internal/ftserv.h (FT_SERVICE_GX_VALIDATE_H): New
2563 macro for gxvalid service.
2564 * include/freetype/internal/fttrace.h: Add trace facilities for
2565 gxvalid.
2566
2567 New files on existing directories:
2568
2569 * include/freetype/internal/services/svgxval.h: Registration of
2570 validation service for TrueType GX/AAT and classic kern table.
2571 * include/freetype/ftgxval.h: Public API definition to use gxvalid.
2572 * src/base/ftgxval.c: Public API of gxvalid.
2573
2574 New files under src/gxvalid/:
2575
2576 * src/gxvalid/Jamfile src/gxvalid/README src/gxvalid/module.mk
2577 src/gxvalid/rules.mk src/gxvalid/gxvalid.c src/gxvalid/gxvalid.h
2578 src/gxvalid/gxvbsln.c src/gxvalid/gxvcommn.c src/gxvalid/gxvcommn.h
2579 src/gxvalid/gxverror.h src/gxvalid/gxvfeat.c src/gxvalid/gxvfgen.c
2580 src/gxvalid/gxvjust.c src/gxvalid/gxvkern.c src/gxvalid/gxvlcar.c
2581 src/gxvalid/gxvmod.c src/gxvalid/gxvmod.h src/gxvalid/gxvmort.c
2582 src/gxvalid/gxvmort.h src/gxvalid/gxvmort0.c src/gxvalid/gxvmort1.c
2583 src/gxvalid/gxvmort2.c src/gxvalid/gxvmort4.c src/gxvalid/gxvmort5.c
2584 src/gxvalid/gxvmorx.c src/gxvalid/gxvmorx.h src/gxvalid/gxvmorx0.c
2585 src/gxvalid/gxvmorx1.c src/gxvalid/gxvmorx2.c src/gxvalid/gxvmorx4.c
2586 src/gxvalid/gxvmorx5.c src/gxvalid/gxvopbd.c src/gxvalid/gxvprop.c
2587 src/gxvalid/gxvtrak.c: New files, gxvalid body.
2588
25892005-08-21 Werner Lemberg <wl@gnu.org>
2590
2591 * src/truetype/ttgload.c (TT_Load_Glyph): Only translate outline
2592 to (0,0) if bit 1 of the `head' table isn't set. This improves
2593 rendering of buggy fonts.
2594
25952005-08-20 Chia I Wu <b90201047@ntu.edu.tw>
2596
2597 * src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of
2598 ttmetrics here. TrueType fonts with only sbits always have
2599 ttmetrics.valid set to false.
2600
2601 * src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is
2602 valid before loading outline glyph.
2603
2604 * src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
2605
26062005-08-20 Werner Lemberg <wl@gnu.org>
2607
2608 * src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing
2609 `hhea' table for SFNT Mac fonts. Change based on a patch by
2610 mpsuzuki@hiroshima-u.ac.jp.
2611
26122005-08-20 Masatake YAMATO <jet@gyve.org>
2613
2614 * src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead
2615 of ft_setjmp.
2616
26172005-08-19 Werner Lemberg <wl@gnu.org>
2618
2619 * src/truetype/ttgload.c (load_truetype_glyph): Fix compiler
2620 warnings.
2621
26222005-08-16 Chia I Wu <b90201047@ntu.edu.tw>
2623
2624 * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright
2625 messages.
2626
26272005-08-16 Chia I Wu <b90201047@ntu.edu.tw>
2628
2629 * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original
2630 TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context
2631 with slight changes.
2632 Update all callers.
2633 (TT_New_Context): Now takes TT_Driver argument directly.
2634 Update all callers.
2635
2636 * src/truetype/ttobjs.h (tt_slot_init): New function.
2637 * src/truetype/ttobjs.c (tt_driver_init): Initialize execution
2638 context here.
2639 (tt_slot_init): New function to create extra points for the internal
2640 glyph loader. We then use it directly, instead of face's glyph
2641 loader, when loading glyph.
2642
2643 * src/truetype/ttdriver.c (tt_driver_class): Use tt_slot_init for
2644 glyph slot initialization.
2645 (Load_Glyph): Load flag dependencies are handled here. Return error
2646 if size is NULL.
2647
2648 * src/truetype/ttgload.c: Heavy cleanup and refactoring.
2649 (org_to_cur): Removed.
2650 (TT_Load_Simple_Glyph): Call FT_GlyphLoader_CheckPoints.
2651 (TT_Hint_Glyph): New funcion to hint a zone, prepared by caller.
2652 (TT_Process_Simple_Glyph): s/load/loader/.
2653 Use loader->pp values instead of recalculation.
2654 Use TT_Hint_Glyph.
2655 No need to save/restore loader->stream before and after
2656 TT_Vary_Get_Glyph_Deltas now.
2657 (TT_LOADER_SET_PP): New macro to calculate and set the four phantom
2658 points.
2659 (load_truetype_glyph): Never set exec->glyphSize to 0. This closes
2660 Savannah bug #13107.
2661 Forget glyph frame before calling TT_Process_Simple_Glyph.
2662 Use TT_LOADER_SET_PP.
2663 Scale all four phantom points.
2664 Split off some functionality to ...
2665 (TT_Process_Composite_Component, TT_Process_Composite_Glyph): These
2666 new functions.
2667 (TT_Load_Glyph): Set various fields of `glyph' here, not in
2668 load_truetype_glyph and compute_glyph_metrics.
2669 Split off some functionality to ...
2670 (load_sbit_image, tt_loader_init): These new functions.
2671 (compute_glyph_metrics): Call FT_Outline_Get_CBox.
2672
26732005-08-08 Werner Lemberg <wl@gnu.org>
2674
2675 * docs/INSTALL.ANY: Updated.
2676
26772005-08-05 Werner Lemberg <wl@gnu.org>
2678
2679 * src/cff/cffgload.c (cff_builder_close_contour),
2680 src/psaux/psobjs.c (t1_builder_close_contour): Protect against
2681 zero `outline' pointer.
2682
2683 * src/base/ftgloadr.c (FT_GlyphLoader_Add): Protect against zero
2684 `loader' address.
2685
26862005-08-03 Werner Lemberg <wl@gnu.org>
2687
2688 * src/sfnt/sfdriver.c (sfnt_interface) [FT_OPTIMIZE_MEMORY]:
2689 Reactivate pointers to tt_find_sbit_image and tt_load_sbit_metrics
2690 to make X work again.
2691
26922005-08-02 Werner Lemberg <wl@gnu.org>
2693
2694 * src/otvalid/otvcommn.h: Remove dead code.
2695
26962005-07-31 Chia I Wu <b90201047@ntu.edu.tw>
2697
2698 * src/truetype/ttobjs.h (tt_size_run_fpgm, tt_size_run_prep): New
2699 functions.
2700
2701 * src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): New
2702 functions.
2703 (tt_size_init): Add 4, instead of 2, (phantom) points to twilight
2704 zone.
2705 Move code that runs fpgm to tt_size_run_fpgm.
2706 (Reset_Outline_Size): Move code that runs prep to tt_size_run_prep.
2707 (tt_glyphzone_new): Allocate right size of arrays.
2708 Set max_points and max_contours properly.
2709
27102005-07-26 Chia I Wu <b90201047@ntu.edu.tw>
2711
2712 * src/truetype/ttdriver.c (Set_Char_Sizes): Avoid unnecessary
2713 computations and clean up.
2714
2715 * src/truetype/ttobjs.h (struct TT_SizeRec_): Comment on the
2716 internal copy of metrics.
2717
27182005-07-12 Werner Lemberg <wl@gnu.org>
2719
2720 * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype.
2721 Reported by Xerxes.
2722
27232005-07-04 Werner Lemberg <wl@gnu.org>
2724
2725 * include/freetype/internal/ftmemory.h (FT_REALLOC_ARRAY): Fix typo.
2726 Reported by Brett Hutley.
2727
27282005-06-30 David Turner <david@freetype.org>
2729
2730 * src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c:
2731 Removing compiler warnings (Visual C++ /W4).
2732
2733
2734 Implement a work-around for broken C preprocessor in Visual C++ (it
2735 has been confirmed by the MS developers that it is indeed a bug
2736 which won't be fixed in the very near future).
2737
2738 * Jamfile (FT2_COMPONENTS): Include otvalid (again).
2739
2740 * src/otvalid/otvcommn.h (OTV_NAME, OTV_FUNC): New macros.
2741 (OTV_NEST1, OTV_NEST2, OTV_NEST3): Use OTV_NAME and OTV_FUNC to
2742 avoid argument expansion by argument prescan.
2743 Append `Func' to all affected macros and change them to take just a
2744 single argument. Example: `AttachList' is renamed to
2745 `AttachListFunc'.
2746
2747 * src/otvalid/otvgdef.c, src/otvalid/otvgpos.c,
2748 src/otvalid/otvgsub.c, src/otvjstf.c: Append `Func' to macros
2749 affected by the changes to OTV_NESTx and modify them to take just a
2750 single argument.
2751
27522005-06-20 Chia I Wu <b90201047@ntu.edu.tw>
2753
2754 * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: New function
2755 ft_glyphslot_grid_fit_metrics.
2756
2757 * src/truetype/ttgload.c (compute_glyph_metrics): Use
2758 ft_glyphslot_grid_fit_metrics.
2759
2760 * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
2761 (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Use
2762 ft_glyphslot_grid_fit_metrics.
2763 FT_Outline_Get_CBox is called twice.
2764
2765 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Modify metrics to more
2766 reasonable values when emboldening outline glyphs. The theoretic
2767 ones are unrealistic.
2768
27692005-06-16 Chia I Wu <b90201047@ntu.edu.tw>
2770
2771 * src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
2772 halved.
2773
2774 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
2775 strength.
2776 Don't increase slot->advance.y.
2777
27782005-06-16 Werner Lemberg <wl@gnu.org>
2779
2780 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
2781 (FREETYPE_PATCH): Set to 0.
2782
2783 * builds/unix/configure.ac (version_info): Set to 9:9:3.
2784 Currently, we are still binary compatible.
2785
2786 * builds/win32/visualc/index.html,
2787 builds/win32/visualc/freetype.dsp,
2788 builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
2789
2790 * builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
2791 s/2.1.9/2.1.10/.
2792
2793 * docs/CHANGES, docs/VERSION.DLL: Updated.
2794
2795 * ChangeLog: Split off older entries into...
2796 * ChangeLog.20, ChangeLog.21: These new files.
2797
27982005-06-15 Kirill Smelkov <kirr@mns.spb.ru>
2799
2800 The next release will be 2.2.0, so don't worry about source code
2801 backwards compatibility.
2802
2803 * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
2804 FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
2805 FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc),
2806 include/freetype/ftrender.h (FT_Glyph_TransformFunc,
2807 FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate
2808 parameters with `const' where appropriate.
2809
28102005-06-15 Chia I Wu <b90201047@ntu.edu.tw>
2811
2812 * src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
2813 to make glyphs centered vertically.
2814
2815 * src/truetype/ttgload.c (compute_glyph_metrics): Compute
2816 vertBearingY to make glyphs centered vertically.
2817 Fix some bugs in vertical metrics:
2818
2819 . loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
2820 units.
2821 . As we use the glyph's cbox to calculate the top bearing now
2822 there iss no need to adjust `top'.
2823
28242005-06-15 Werner Lemberg <wl@gnu.org>
2825
2826 * src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
2827 in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake.
2828
28292005-06-13 Werner Lemberg <wl@gnu.org>
2830
2831 * docs/release: Update.
2832
2833----------------------------------------------------------------------------
2834
Werner Lemberg435046b2006-01-11 10:57:42 +00002835Copyright 2005, 2006 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002836David Turner, Robert Wilhelm, and Werner Lemberg.
2837
2838This file is part of the FreeType project, and may only be used, modified,
2839and distributed under the terms of the FreeType project license,
2840LICENSE.TXT. By continuing to use, modify, or distribute this file you
2841indicate that you have read the license and understand and accept it
2842fully.
2843
2844
2845Local Variables:
2846version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002847coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002848End: