blob: 747f487b8f2120514fe893e1ad1645f5c3dc86fd [file] [log] [blame]
David Turner5b5f3822005-12-14 16:37:15 +000012005-12-13 David Turner <david@freetype.org>
2
3 * src/autofit/aflatin.c, src/autofit/afhints.c: changed the
4 implementation of the LIGHT hinting mode to completely disable
5 horizontal hinting. This is an experimental effort to integrate
6 David Chester's latest patch without fucking the other hinting
7 modes as well.
8
9 Note that this doesn't force auto-hinting for all fonts however.
10
David Turner8def3c82005-12-14 16:38:31 +000011 * Jamfile: small fix to ensure that ftexport.sym is placed in the
12 same location than other generated objects (i.e. within the 'objs'
13 directory of the current dir)
14
David Turner89a2a4b2005-12-14 20:38:15 +000015 * src/sfnt/
16
Werner Lemberg364db082005-12-07 20:34:11 +0000172005-12-07 Werner Lemberg <wl@gnu.org>
18
19 * src/sfnt/sfobjc.c (sfnt_init_face): Move tag check to...
20 * src/sfnt/ttload.c (sfnt_init): Here, before handling TTCs.
21
Wu, Chia-I (吳佳一)a3690cd2005-12-06 08:24:01 +0000222005-12-06 Chia-I Wu <b90201047@ntu.edu.tw>
23
24 * src/truetype/ttobjs.c (tt_size_init): size->ttmetrics.valid is
25 initialized twice.
26 size->strike_index is not initialized.
27
Werner Lemberg2a0903a2005-12-03 08:13:43 +0000282005-12-02 Taek Kwan(TK) Lee <taeklee@gmail.com>
29
Werner Lemberg3b8db662005-12-06 10:47:44 +000030 * src/type42/t42objs.c (T42_Face_Init): Replace call to
Werner Lemberg2a0903a2005-12-03 08:13:43 +000031 FT_New_Memory_Face with call to FT_Open_Face to pass `params'.
32
Werner Lembergb797fdb2005-11-30 08:48:32 +0000332005-11-30 Werner Lemberg <wl@gnu.org>
34
35 * docs/CHANGES: Document ftdump's `-v' option.
Werner Lembergb5d88e82005-11-30 08:55:51 +000036 Document latest charmap code changes.
Werner Lembergb797fdb2005-11-30 08:48:32 +000037
Werner Lemberg44e47d52005-11-30 18:47:49 +000038 * src/sfnt/ttcmap.c, src/sfnt/ttcmap.h:
39 s/TT_CMAP_FLAG_OVERLAPPED/TT_CMAP_FLAG_OVERLAPPING/.
40
Wu, Chia-I (吳佳一)a28bc4c2005-11-30 02:39:10 +0000412005-11-30 Chia-I Wu <b90201047@ntu.edu.tw>
42
43 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary,
44 tt_cmap12_char_map_binary): Fix compiler warnings.
45
Wu, Chia-I (吳佳一)569ec4e2005-11-29 11:27:51 +0000462005-11-29 Chia-I Wu <b90201047@ntu.edu.tw>
47
Werner Lemberg44e47d52005-11-30 18:47:49 +000048 Major update to distinguish between unsorted and overlapping
49 segments for cmap format 4. For overlapping but sorted segments,
50 which is previously considered unsorted, we still use binary search.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +000051
David Turner5b5f3822005-12-14 16:37:15 +000052 * src/sfnt/ttcmap.h (TT_CMapRec_): Replace `unsorted' by `flags'.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +000053 (TT_CMAP_FLAG_UNSORTED, TT_CMAP_FLAG_OVERLAPPED): New macros.
54
55 * src/sfnt/ttcmap.c (OPT_CMAP4): Removed as it is always defined.
David Turner5b5f3822005-12-14 16:37:15 +000056 (TT_CMap4Rec_): Remove `old_charcode' and `table_length'.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +000057 (tt_cmap4_reset): Removed.
58 (tt_cmap4_init): Updated accordingly.
59 (tt_cmap4_next): Updated accordingly.
Werner Lemberg44e47d52005-11-30 18:47:49 +000060 Take care of overlapping segments.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +000061 (tt_cmap4_validate): Make sure the subtable is large enough.
62 Do not check glyph_ids because some fonts set the length wrongly.
Werner Lemberg44e47d52005-11-30 18:47:49 +000063 Also, when all segments have offset 0, glyph_ids is always invalid.
64 It does not cause any problem so far only because the check misses
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +000065 equality.
Werner Lemberg44e47d52005-11-30 18:47:49 +000066 Distinguish between unsorted and overlapping segments.
67 (tt_cmap4_char_map_linear, tt_cmap4_char_map_binary): New functions
68 to do `charcode => glyph index' by linear/binary search.
Wu, Chia-I (吳佳一)a0911342005-11-29 11:32:53 +000069 (tt_cmap4_char_index, tt_cmap4_char_next): Use
70 tt_cmap4_char_map_linear and tt_cmap4_char_map_binary.
71 (tt_face_build_cmaps): Treat the return value of validator as flags
72 for cmap.
73
742005-11-29 Chia-I Wu <b90201047@ntu.edu.tw>
75
Werner Lemberg44e47d52005-11-30 18:47:49 +000076 * src/sfnt/ttcmap.c (TT_CMap12Rec_, tt_cmap12_init, tt_cmap12_next):
77 New structures and functions for fast `next char'.
78 (tt_cmap12_char_map_binary): New function to do `charcode => glyph
79 index' by binary search.
Wu, Chia-I (吳佳一)569ec4e2005-11-29 11:27:51 +000080 (tt_cmap12_char_index, tt_cmap12_char_next): Use
81 tt_cmap12_char_map_binary.
82 (tt_face_build_cmaps): Check table and offset correctly (equality is
83 missing).
84
Detlef Würknerdf1598e2005-11-25 08:04:09 +0000852005-11-15 Detlef Würkner <TetiSoft@apg.lahn.de>
86
87 * builds/amiga/smakefile: Adjusted the compiler options
88 to the current sources, now really builds the gxvalid, gzip
89 and psnames modules.
90
91 * builds/amiga/src/base/ftsystem.c: The assumed Seek() position
92 in the file cache was off by one byte which could cause false
93 errors in font files.
94
Suzuki, Toshiya (鈴木俊哉)6b1c5972005-11-24 05:16:57 +0000952005-11-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
96
97 * builds/mac/FreeType.m68k_far.make.txt,
98 builds/mac/FreeType.m68k_cfm.make.txt,
99 builds/mac/FreeType.ppc_classic.make.txt,
100 builds/mac/FreeType.ppc_carbon.make.txt:
101 Updated for MPW to build all available modules.
102
Werner Lemberg67ba2112005-11-21 17:32:03 +00001032005-11-21 Håvard Wall <haavardw@ifi.uio.no>
104
105 * src/bdf/bdfdrivr.c (bdf_interpret_style, BDF_Face_Done): Fix small
106 memory leak.
107
Werner Lemberg840232a2005-11-21 12:36:42 +00001082005-11-21 Werner Lemberg <wl@gnu.org>
109
110 * src/sfnt/ttload.c (sfnt_init): Add tracing message.
111
Wu, Chia-I (吳佳一)d81947e2005-11-21 03:04:03 +00001122005-11-21 Chia-I Wu <b90201047@ntu.edu.tw>
113
Werner Lemberg840232a2005-11-21 12:36:42 +0000114 * src/sfnt/ttsbit0.c (tt_sbit_decoder_load_image): Image_offset was
115 added twice to image_start when image_format is 2 or 5.
Wu, Chia-I (吳佳一)275be9b2005-11-21 03:05:34 +0000116
1172005-11-21 Chia-I Wu <b90201047@ntu.edu.tw>
118
Wu, Chia-I (吳佳一)d81947e2005-11-21 03:04:03 +0000119 * src/sfnt/sfobjs.c (sfnt_init_face): Check that format_tag is known
120 before loading the table directory.
121
122 * src/sfnt/ttload.c (tt_face_load_sfnt_header,
123 tt_face_load_directory): Delay sfnt_dir_check from
124 tt_face_load_sfnt_header to tt_face_load_directory.
125
Wu, Chia-I (吳佳一)6f1eca02005-11-20 08:24:24 +00001262005-11-20 Chia-I Wu <b90201047@ntu.edu.tw>
127
128 * src/sfnt/ttload.c (sfnt_dir_check): Clean up and return correct
129 error code.
130 (sfnt_init): New function to fill in face->ttc_header. A non-TTC font
131 is synthesized into a TTC font with one offset table.
132 (tt_face_load_sfnt_header): Use sfnt_init.
133 Fix an invalid access when the font is TTC and face_index is -1.
134
Werner Lemberg1a293d62005-11-18 08:23:06 +00001352005-11-18 Werner Lemberg <wl@gnu.org>
136
137 * src/sfnt/ttload.c (tt_face_load_metrics): Ignore excess number
138 of metrics instead of aborting. Patch suggested by Derek Noonburg.
139
Werner Lemberg6c990452005-11-18 21:10:59 +0000140 * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
141 (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Scale
142 the glyph properly if no hinter is available.
143
144 * docs/CHANGES: Mention scaling bug.
145
Suzuki, Toshiya (鈴木俊哉)8d81d412005-11-18 07:47:06 +00001462005-11-18 susuzki toshiya <mpsuzuki@hiroshima-u.ac.jp>
147
148 * include/freetype/ftgxval.h, src/base/ftgxval.c
149 (FT_TrueTypeGX_Free, FT_ClassicKern_Free): New functions to free
150 buffers allocated by gxvalid module.
151 * include/freetype/ftotval.h, src/base/ftotval.c
152 (FT_OpenType_Free): New function to free buffer allocated by
153 otvalid module.
154
Wu, Chia-I (吳佳一)cb182382005-11-18 04:29:31 +00001552005-11-18 Chia-I Wu <b90201047@ntu.edu.tw>
156
157 * builds/unix/ftsystem.c (FT_Stream_Open, FT_New_Memory,
158 FT_Done_Memory), builds/vms/ftsystem.c (FT_Stream_Open, FT_New_Memory,
159 FT_Done_Memory), builds/win32/ftdebug.c (FT_Message, FT_Panic):
160 s/FT_EXPORT/FT_BASE/.
161
Detlef Würkner4859ac42005-11-17 14:21:07 +00001622005-11-17 Detlef Würkner <TetiSoft@apg.lahn.de>
163
Detlef Würkner0acfc1f2005-11-17 16:54:54 +0000164 * builds/amiga/src/base/ftdebug.c (FT_Trace_Get_Count,
165 FT_Trace_Get_Name, FT_Message, FT_Panic),
166 builds/amiga/src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory,
167 FT_Stream_Open): s/FT_EXPORT/FT_BASE/.
168
1692005-11-17 Detlef Würkner <TetiSoft@apg.lahn.de>
170
Werner Lemberg1a293d62005-11-18 08:23:06 +0000171 * builds/amiga/makefile, builds/amiga/makefile.os4,
Detlef Würknerdf1598e2005-11-25 08:04:09 +0000172 builds/amiga/smakefile,
Detlef Würkner4859ac42005-11-17 14:21:07 +0000173 builds/amiga/include/freetype/config/ftmodule.h: Updated the Amiga
Werner Lemberg1a293d62005-11-18 08:23:06 +0000174 build files (added support for the gxvalid module).
Detlef Würkner4859ac42005-11-17 14:21:07 +0000175
Werner Lembergcfc0cf22005-11-17 08:12:00 +00001762005-11-17 Werner Lemberg <wl@gnu.org>
177
178 Add vertical metrics support to OpenType CFF outlines. Based on a
Werner Lemberg1a293d62005-11-18 08:23:06 +0000179 patch from Mike Moening <MikeM@RetekSolutions.com>.
Werner Lembergcfc0cf22005-11-17 08:12:00 +0000180
181 * src/cff/cffgload.c (cff_face_get_vertical_metrics): New function.
182 (cff_slot_load): Use cff_face_get_vertical_metrics.
183
184 * docs/CHANGES: Updated.
185
Wu, Chia-I (吳佳一)35bfc0f2005-11-17 01:53:07 +00001862005-11-17 Chia-I Wu <b90201047@ntu.edu.tw>
187
188 * src/base/ftcalc.c (FT_MulTo64): Commented out.
189
Werner Lembergcfc0cf22005-11-17 08:12:00 +0000190 * include/freetype/internal/ftcalc.h (FT_SqrtFixed),
191 src/base/ftcalc.c (FT_SqrtFixed),
192 include/freetype/internal/ftdebug.h (FT_Trace_Get_Count,
193 FT_Trace_Get_Name, FT_Message, FT_Panic), src/base/ftdebug.c
Wu, Chia-I (吳佳一)35bfc0f2005-11-17 01:53:07 +0000194 (FT_Trace_Get_Count, FT_Trace_Get_Name, FT_Message, FT_Panic),
Werner Lembergcfc0cf22005-11-17 08:12:00 +0000195 include/freetype/internal/ftobjs.h (FT_New_Memory, FT_Done_Memory),
196 include/freetype/internal/ftstream.h (FT_Stream_Open),
197 src/base/ftsystem.c (FT_New_Memory, FT_Done_Memory, FT_Stream_Open):
198 s/FT_EXPORT/FT_BASE/.
Wu, Chia-I (吳佳一)35bfc0f2005-11-17 01:53:07 +0000199
Werner Lembergcfc0cf22005-11-17 08:12:00 +0000200 * builds/exports.mk: Manually add TT_New_Context to EXPORTS_LIST
201 too.
Wu, Chia-I (吳佳一)35bfc0f2005-11-17 01:53:07 +0000202
David Turnerf7cc1812005-11-15 17:30:56 +00002032005-11-15 David Turner <david@freetype.org>
204
Werner Lemberg674ba912005-11-16 18:09:27 +0000205 * src/base/fttrigon.c (ft_trig_prenorm): Fix a bug that created
David Turnerf7cc1812005-11-15 17:30:56 +0000206 invalid computations, resulting in very weird bugs in TrueType
Werner Lemberg674ba912005-11-16 18:09:27 +0000207 bytecode hinted fonts.
David Turnerf7cc1812005-11-15 17:30:56 +0000208
Werner Lemberg674ba912005-11-16 18:09:27 +0000209 * src/truetype/ttinterp.c (FT_UNUSED_EXEC): Don't perform a
210 structure copy each time.
David Turnerf7cc1812005-11-15 17:30:56 +0000211
Werner Lembergd829ff72005-11-12 17:07:11 +00002122005-11-11 Werner Lemberg <wl@gnu.org>
213
214 * src/cache/ftccache.c (FTC_Cache_Clear), src/cache/ftcmanag.c
215 (FTC_Manager_Check): Remove FT_EXPORT_DEF tag.
216
David Turnerf7cc1812005-11-15 17:30:56 +0000217 * src/base/ftcalc.c (FT_Add64): Remove FT_EXPORT_DEF tag.
Werner Lembergd829ff72005-11-12 17:07:11 +0000218 (FT_Div64by32, FT_Sqrt32): Commented out. Unused.
219
220 * include/freetype/internal/ftcalc.h (SQRT_32): Removed. Unused.
221 (FT_Sqrt32): Commented out. Unused.
222
223 * include/freetype/cache/ftccache.h:
224 s/ftc_node_destroy/FTC_Node_Destroy/.
225
226 * src/cache/ftccback.h (ftc_node_destroy): New declaration.
227
228 * src/cache/ftccache.c (ftc_node_destroy): Use FT_LOCAL_DEF tag.
229 (FTC_Node_Destroy): New exported wrapper function for
230 ftc_node_destroy.
231
232 * src/cache/ftcmanag.c: Include ftccback.c.
233
Werner Lemberg4309edc2005-11-11 15:49:14 +00002342005-11-10 Werner Lemberg <wl@gnu.org>
235
236 * src/autofit/afangles.c, src/autofit/aftypes.h (af_angle_diff):
237 Comment out. Unused.
238
Werner Lembergf2c53302005-11-11 16:20:59 +0000239 * builds/exports.mk ($(EXPORTS_LIST)): Add TT_RunIns.
240
Werner Lemberg4309edc2005-11-11 15:49:14 +00002412005-11-10 Christian Biesinger <cbiesinger@web.de>
242
243 * builds/beos/beos.mk: Call beos-def.mk before anything else to
244 define the separator.
245
246 * builds/unix/unix-cc.in (LINK_LIBRARY): Add `-no-undefined' flag.
247
Werner Lembergea4c3dc2005-11-08 09:10:16 +00002482005-11-07 Werner Lemberg <wl@gnu.org>
249
250 * src/type1/t1afm.c (T1_Read_PFM): Zero offset means `no kerning
251 table available'. From Sergey Tolstov <stolstov@esri.com>.
252
Werner Lembergb2d02532005-11-04 06:58:49 +00002532005-11-03 Ville Syrjälä <syrjala@sci.fi>
254
255 * src/base/ftobjs.c (FT_Open_Face): Avoid possible memory leak.
256
2572005-11-02 Werner Lemberg <wl@gnu.org>
258
259 Make compiling instructions in docs/CUSTOMIZE work again.
260
261 * builds/unix/unix-cc.in (CPPFLAGS): New variable.
262 (CFLAGS): Don't include @CPPFLAGS@.
263 * builds/freetype.mk (FT_CFLAGS): Add CPPFLAGS.
264
David Turnerdab24542005-11-02 09:24:00 +00002652005-10-28 David Turner <david@freetype.org>
266
Werner Lembergcee37a32005-11-12 07:34:40 +0000267 Update build system to support the generation of a list of exported
268 symbols or Windows .DEF files by parsing the public headers with the
Werner Lembergb2d02532005-11-04 06:58:49 +0000269 `apinames' tool located in src/tools/apinames.c.
David Turnerdab24542005-11-02 09:24:00 +0000270
Werner Lembergb2d02532005-11-04 06:58:49 +0000271 Only tested on Unix at the moment. On Windows, the .DEF file is
272 generated but isn't used yet to generate a DLL.
David Turnerdab24542005-11-02 09:24:00 +0000273
Werner Lembergcee37a32005-11-12 07:34:40 +0000274 * builds/exports.mk: New file.
David Turnerdab24542005-11-02 09:24:00 +0000275
Werner Lembergcee37a32005-11-12 07:34:40 +0000276 * builds/freetype.mk: Include exports.mk.
277 (dll): New target.
278 (clean_project_dos): Fix rule.
David Turnerdab24542005-11-02 09:24:00 +0000279
Werner Lembergcee37a32005-11-12 07:34:40 +0000280 * builds/compiler/visualc.mk (TE), builds/dos/dos-def.mk (E),
281 builds/os2/os2-def.mk (E), builds/win32/win32-def.mk (E): New
282 variables for controlling executable extensions.
David Turnerdab24542005-11-02 09:24:00 +0000283
Werner Lembergcee37a32005-11-12 07:34:40 +0000284 * builds/unix/unix-cc.in (EXPORTS_LIST, CCexe),
285 builds/win32/w32-bcc.mk, builds/win32/w32-gcc.mk,
286 builds/win32/w32-icc.mk, builds/win32/w32-icc.mk,
287 builds/win32/w32-mingw32.mk, builds/win32/w32-vcc,
288 builds/win32/w32-wat.mk (EXPORTS_LIST, EXPORT_OPTIONS,
289 APINAMES_OPTIONS): New targets for controlling the `apinames' tool.
290
291 * Jamfile (GenExportSymbols): Updated.
292
293
294 * src/pfr/pfrtypes.h, src/pfr/pfrload.c, src/pfr/pfrobjs.c
295 [!FT_OPTIMIZE_MEMORY]: Fold memory optimization code into
296 FT_OPTIMIZE_MEMORY chunks for better maintainability and simplicity.
297
298
299 * src/base/fttrigon.c (ft_trig_prenorm), src/base/ftcalc.c
300 (FT_MulFix): Performance optimizations.
301
302
303 * include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
304 FT_GLYPHLOADER_CHECK_C, FT_GLYPHLOADER_CHECK_POINTS): New macros for
305 checking points and contours. Update callers to use
306 FT_GLYPHLOADER_CHECK_POINTS instead of FT_GlyphLoader_CheckPoints
307 at profile-detected hot-spots.
308
309 * src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Set `adjust'
310 to 0 to not call `AdjustPoints' every time.
311
David Turnerdab24542005-11-02 09:24:00 +0000312
Werner Lembergb2d02532005-11-04 06:58:49 +0000313 * src/autofit/aftypes.h (AF_ANGLE_DIFF): New macro to inline
314 FT_Angle_Diff.
David Turnerdab24542005-11-02 09:24:00 +0000315
Werner Lembergcee37a32005-11-12 07:34:40 +0000316 * src/autofit/afhints.c (af_direction_compute): Re-implement.
317 (af_glyph_hints_compute_inflections, af_glyph_hints_reload): Use
Werner Lembergb2d02532005-11-04 06:58:49 +0000318 AF_ANGLE_DIFF to speed up the detection of inflexions.
David Turnerdab24542005-11-02 09:24:00 +0000319
Werner Lembergcee37a32005-11-12 07:34:40 +0000320
321 * src/tools/apinames.c: Include <string.h>.
322 (OutputFormat): New enumeration.
323 (names_dump): Add two parameters to control output format and DLL
324 name.
325 (names_dump_windef): Removed. Code folded into `names_dump'.
326 (read_header_file): Use isalnum, not isalpha. Otherwise function
327 names with digits aren't read correctly.
328 (usage): Updated.
329 (main): New option `-o' to control output file name.
330 New option `-d' to indicate DLL file name.
331 Extend `-w' flag to handle Borland and Watcom compilers and linkers.
332
Suzuki, Toshiya (鈴木俊哉)45115762005-10-28 15:39:58 +00003332005-10-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
334
Suzuki, Toshiya (鈴木俊哉)69d45172005-10-28 16:03:06 +0000335 * builds/mac/ftlib.prj, builds/mac/freetype.mak: Removed.
336 ftlib.prj is unmaintained and incompatible with current tree.
337 freetype.mak is unrecoverably broken.
338
339 * builds/mac/ftlib.prj.xml: Added.
340 generated by Metrowerks CodeWarrior 9.0.
341
342 * builds/mac/FreeType.m68k_far.make.txt,
343 builds/mac/FreeType.m68k_cfm.make.txt,
344 builds/mac/FreeType.ppc_classic.make.txt,
345 builds/mac/FreeType.ppc_carbon.make.txt: Added.
346 skelton files of MPW makefiles.
347
348 * builds/mac/ascii2mpw.py: Added.
349 Python script to make MPW makefile from skelton.
350
351 * builds/mac/README: Updated.
352 Almost rewritten to use new files.
353
3542005-10-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
355
Suzuki, Toshiya (鈴木俊哉)45115762005-10-28 15:39:58 +0000356 * src/base/ftmac.c: fix invalid casts from NULL to integer typed
357 variables. Advised by David Turner, Masatake YAMATO, Sean McBride
358 and George Williams.
359
Werner Lemberg4b5661c2005-10-27 21:28:35 +00003602005-10-27 Werner Lemberg <wl@gnu.org>
361
362 * include/freetype/ftsysmem.h, include/freetype/ftsysio.h: Removed.
363 Obsolete.
364
Werner Lemberg43b057b2005-10-26 18:37:40 +00003652005-10-25 Werner Lemberg <wl@gnu.org>
366
367 * src/sfnt/sfdriver.c (sfnt_interface): Move out
368 `tt_face_get_kerning' from a #ifdef clause. Reported by Tony J.
369 Ibbs <tibs@sj.co.uk>.
370
Werner Lemberg6c0e7342005-10-23 19:31:01 +00003712005-10-23 Werner Lemberg <wl@gnu.org>
372
373 * src/base/ftdbgmem.c (ft_mem_debug_realloc): Make it compile with
374 C++.
375
David Turner398d64c2005-10-21 10:01:25 +00003762005-10-21 David Turner <david@freetype.org>
377
Werner Lemberg90968f72005-10-22 10:34:45 +0000378 * src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_debug_realloc):
379 Another realloc memory counting bug fix.
David Turner398d64c2005-10-21 10:01:25 +0000380
Werner Lemberg90968f72005-10-22 10:34:45 +0000381 * src/tools/Jamfile: Add missing file.
David Turner398d64c2005-10-21 10:01:25 +0000382
Werner Lemberg90968f72005-10-22 10:34:45 +0000383 * src/lzw/Jamfile: Fix incorrect source file reference.
David Turner398d64c2005-10-21 10:01:25 +0000384
David Turnerc1b6d082005-10-20 15:33:34 +00003852005-10-20 David Turner <david@freetype.org>
386
Werner Lemberg560d5fe2005-10-21 09:08:28 +0000387 * src/base/ftdbgmem.c (ft_mem_table_set, ft_mem_table_remove,
388 ft_mem_debug_alloc, ft_mem_debug_free, ft_mem_debug_realloc): Fixes
389 to better account for memory reallocations.
David Turnerc1b6d082005-10-20 15:33:34 +0000390
Werner Lemberg560d5fe2005-10-21 09:08:28 +0000391 * src/lzw/ftlzw2.c, src/lzw/ftzopen.h, src/lzw/ftzopen.c,
David Turner398d64c2005-10-21 10:01:25 +0000392 src/lzw/rules.mk: First version of LZW loader re-implementation.
393 Apparently, this saves about 330 KB of heap memory when loading
Werner Lemberg560d5fe2005-10-21 09:08:28 +0000394 timR24.pcf.Z.
David Turnerc1b6d082005-10-20 15:33:34 +0000395
Wu, Chia-I (吳佳一)7e307762005-10-20 02:13:46 +00003962005-10-20 Chia-I Wu <b90201047@ntu.edu.tw>
397
398 * include/freetype/ftbitmap.h (FT_Bitmap_Copy, FT_Bitmap_Embolden),
399 src/base/ftbdf.c (FT_Get_BDF_Property), src/cache/ftcmru.c
Werner Lemberg560d5fe2005-10-21 09:08:28 +0000400 (FTC_MruList_Reset, FTC_MruList_Done, FTC_MruList_Lookup): Fix
401 FT_EXPORT/FT_EXPORT_DEF tagging.
Wu, Chia-I (吳佳一)7e307762005-10-20 02:13:46 +0000402
Wu, Chia-I (吳佳一)2293bb12005-10-19 08:07:38 +00004032005-10-19 Chia-I Wu <b90201047@ntu.edu.tw>
Werner Lemberg8e6c56f2005-10-18 06:09:13 +0000404
Werner Lemberg560d5fe2005-10-21 09:08:28 +0000405 * src/truetype/ttgload.c (TT_Load_Glyph): Allow size->ttmetrics to
406 be invalid when FT_LOAD_NO_SCALE is set.
Wu, Chia-I (吳佳一)2293bb12005-10-19 08:07:38 +0000407
4082005-10-17 David Turner <david@freetype.org>
409
410 * src/base/ftobjs.c (FT_Open_Face): Don't call FT_New_GlyphSlot and
411 FT_New_Size if we are opening a face with face_index < 0 (which is
412 only used for testing the format).
413
414 * src/gxvalid/gxvmort0.c (gxv_mort_subtable_type0_entry_validate):
415 Remove compiler warning.
Werner Lemberg8e6c56f2005-10-18 06:09:13 +0000416
4172005-10-16 David Turner <david@freetype.org>
418
Wu, Chia-I (吳佳一)2293bb12005-10-19 08:07:38 +0000419 * src/tools/apinames.c: Add new tool to extract public API function
420 names from header files.
Werner Lemberg8e6c56f2005-10-18 06:09:13 +0000421
4222005-10-05 Werner Lemberg <wl@gnu.org>
423
424 Add FT_FACE_FLAG_HINTER to indicate that a specific font driver has
425 a hinting engine of its own.
426
427 * include/freetype/freetype.h (FT_FACE_FLAG_HINTER): New macro.
428
429 * src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
430 (cid_face_init), src/truetype/ttobjs.c (tt_face_init)
431 [TT_CONFIG_OPTION_BYTECODE_INTERPRETER], src/type1/t1objs.c
432 (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init)
433 [TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Update face flags.
434
435 * docs/CHANGES: Document it.
436
4372005-09-27 Werner Lemberg <wl@gnu.org>
438
439 * builds/unix/freetype2.m4: Add license exception so that the file
440 can be used in any other autoconf script.
441
4422005-09-26 David Turner <david@freetype.org>
443
444 * src/autofit/aflatin.c (af_latin_compute_stem_width): Fix bad
445 computation of the `vertical' flag, causing ugly things in LCD mode
446 and others.
447
4482005-09-23 David Turner <david@freetype.org>
449
450 * src/autofit/aflatin.c (af_latin_hints_init): Fix a bug that
451 prevented internal hint mode bitflags from being computed correctly.
452
453 * src/base/Jamfile: Adding src/base/ftgxval.c.
454
455 * src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c,
456 src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c,
457 src/gxvalid/gxvlcar.c, src/gxvalid/gxvmort.c,
458 src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
459 src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
460 src/gxvalid/gxvmort5.c, src/gxvalid/gxvmorx.c,
461 src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
462 src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx5.c,
463 src/gxvalid/gxvopbd.c, src/gxvalid/gxvprop.c,
464 src/truetype/ttgload.c: Remove _many_ compiler warnings when
465 compiling with Visual C++ at maximum level (/W4).
466
467 * src/autofit/afangles.c (af_angle_atan): Replaced CORDIC-based
468 implementation with one using lookup tables. This simple thing
469 speeds up glyph loading by 18%, according to ftbench!
470
471 * src/sfnt/sfdriver.c (sfnt_get_interface): Don't check for
472 `get_sfnt' and `load_sfnt' module interfaces.
473
4742005-09-22 Werner Lemberg <wl@gnu.org>
475
476 * docs/CHANGES: Mention SING Glyphlet support.
477
4782005-09-22 David Turner <david@freetype.org>
479
480 * src/base/Jamfile: Disable compilation of ftgxval module
481 temporarily.
482
4832005-09-19 David Somers <dsomers@omz13.com>
484
485 * freetype2/src/sfnt/ttload.c (sfnt_dir_check): Modified to allow a
486 font to have no `head' table if tables `SING' and `META' are
487 present; this is to support `SING Glyphlet'.
488
489 `SING Glyphlet' is an extension to OpenType developed by Adobe
490 primarily to facilitate adding supplemental glyphs to an OpenType
491 font (with emphasis on, but not necessariy limited to, gaiji to a
492 CJK font). A SING Glyphlet Font is an OpenType font that contains
493 the outline(s), either in a `glyf' or `CFF' table, for a glyph;
494 `cmap', `BASE', and `GSUB' tables are present with the same format
495 and functionaliy as a regular OpenType font; there are no `name',
496 `head', `OS/2', and `post' tables; there are two new tables, `SING'
497 which contains details about the glyphlet, and `META' which contains
498 metadata.
499
500 Further information on the SING Glyphlet format can be found at:
501
502 http://www.adobe.com/products/indesign/sing_gaiji.html
503
504 * freetype2/include/freetype/ttags.h (TTAG_SING, TTAG_META): New
505 macros for the OpenType tables `SING' and `META'. These two tables
506 are used in SING Glyphlet Format fonts.
507
5082005-09-09 Werner Lemberg <wl@gnu.org>
509
510 * src/sfnt/sfobjs.c (sfnt_load_face): Reactivate code to set
511 FT_FACE_FLAG_KERNING which has been commented out erroneously.
512
513 * docs/CHANGES: Document it.
514
5152005-09-05 Werner Lemberg <wl@gnu.org>
516
517 Fixes for `make multi' and using C++ compiler.
518
519 * gxvalid/gxvcommn.c (gxv_set_length_by_ushort_offset,
520 gxv_set_length_by_ulong_offset, gxv_array_getlimits_byte,
521 gxv_array_getlimits_ushort): Declare with FT_LOCAL_DEF.
522 (gxv_compare_ranges): Make it static.
523 (gxv_LookupTable_fmt0_validate, gxv_LookupTable_fmt2_validate,
524 gxv_LookupTable_fmt4_validate, gxv_LookupTable_fmt6_validate,
525 gxv_LookupTable_fmt8_validate, gxv_LookupTable_validate): Improve
526 trace messages.
527 (gxv_StateArray_validate, gxv_XStateArray_validate): s/class/clazz/.
528 (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
529 GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Move to
530 gxvcommn.h.
531
532 * gxvalid/gxvcommn.h: Add prototypes for
533 gxv_StateTable_subtable_setup, gxv_XStateTable_subtable_setup,
534 gxv_XStateTable_validate, gxv_array_getlimits_byte,
535 gxv_array_getlimits_ushort, gxv_set_length_by_ushort_offset,
536 gxv_set_length_by_ulong_offset, gxv_odtect_add_range,
537 gxv_odtect_validate.
538 (GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
539 GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Moved from
540 gxvcommn.c.
541
542 * src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
543 gxv_bsln_parts_fmt1_validate): Improve trace messages.
544
545 * gxvalid/gxvfeat.c: Split off predefined registry stuff to...
546 * gxvalid/gxvfeat.h: New file.
547
548 * gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
549 message.
550
551 * gxvalid/gxvkern.c (GXV_kern_Dialect): Add KERN_DIALECT_UNKNOWN.
552 (gxv_kern_subtable_fmt1_valueTable_load,
553 gxv_kern_subtable_fmt1_subtable_setup,
554 gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors.
555 (gxv_kern_coverage_validate): Use KERN_DIALECT_UNKWOWN.
556 Improve trace message.
557 (gxv_kern_validate_generic): Fix C++ compiler error.
558 Improve trace message.
559 (gxv_kern_validate_classic): Fix C++ compiler error.
560
561 * gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
562 with FT_LOCAL_DEF.
563
564 * gxvalid/gxvmort1.c
565 (gxv_mort_subtable_type1_substitutionTable_load,
566 gxv_mort_subtable_type1_subtable_setup): Fix C++ compiler errors.
567 (gxv_mort_subtable_type1_substTable_validate): Improve trace
568 message.
569 (gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF.
570
571 * gxvalid/gxvmort2.c (gxv_mort_subtable_type2_opttable_load,
572 gxv_mort_subtable_type2_subtable_setup,
573 gxv_mort_subtable_type2_ligActionOffset_validate,
574 gxv_mort_subtable_type2_ligatureTable_validate): Fix C++ compiler
575 errors.
576 (gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF.
577
578 * gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
579 with FT_LOCAL_DEF.
580
581 * gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup,
582 gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler
583 errors.
584 (gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF.
585
586 * gxvalid/gxvmort.c: Include gxvfeat.h.
587 (gxv_mort_featurearray_validate, gxv_mort_coverage_validate):
588 Declare with FT_LOCAL_DEF.
589 (gxv_mort_subtables_validate, gxv_mort_validate): Improve trace
590 messages.
591
592 * gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.
593
594 * gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
595 with FT_LOCAL_DEF.
596
597 * gxvalid/gxvmorx1.c
598 (gxv_morx_subtable_type1_substitutionTable_load,
599 gxv_morx_subtable_type1_subtable_setup,
600 gxv_morx_subtable_type1_entry_validate,
601 gxv_morx_subtable_type1_substitutionTable_validate): Fix C++
602 compiler errors.
603 (gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF.
604
605 * gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_opttable_load,
606 gxv_morx_subtable_type2_subtable_setup,
607 gxv_morx_subtable_type2_ligActionIndex_validate,
608 gxv_morx_subtable_type2_ligatureTable_validate): Fix C++ compiler
609 errors.
610 (gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF.
611 Fix typo.
612
613 * gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
614 with FT_LOCAL_DEF.
615
616 * gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_insertionGlyph_load,
617 gxv_morx_subtable_type5_subtable_setup): Fix C++ compiler error.
618 (gxv_morx_subtable_type5_validate): Declare with FT_LOCAL_DEF.
619
620 * gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
621 gxv_morx_validate): Improve trace message.
622
623 * gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
624 warnings.
625 (gxv_opbd_validate): Improve trace message.
626
627 * gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
628 appropriate.
629 (gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
630 message.
631
632 * gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused
633 parameter. Update all callers.
634 (gxv_trak_validate): Improve trace message.
635
636 * rules.mk (GXV_DRV_H): Add gxvfeat.h.
637
6382005-09-01 Werner Lemberg <wl@gnu.org>
639
640 * src/gxvalid/gxvbsln.c (GXV_BSLN_VALUE_EMPTY): Add `U'.
641
642 * src/gxvalid/gxmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
643 src/gxvalid/gxmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix
644 typo.
645
646 * src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
647 src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx4.c,
648 src/gxvalid/gxvmorx5.c, src/gxvalid/gxvmort.c: Improve trace
649 messages.
650 Decorate constants with `U' and `L' where appropriate.
651 Fix compiler warnings.
652
6532005-08-31 Werner Lemberg <wl@gnu.org>
654
655 * src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
656
657 * src/gxvalid/gxvbsln.c (gxv_bsln_validate): Fix trace message.
658
659 * src/gxvalid/gxvcommn.c (gxv_odtect_add_range): Use `const'.
660
661 * src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c,
662 src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmod.c,
663 src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
664 src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
665 src/gxvalid/gxvmort5.c, src/gxvalid/gxvmort.c: Improve trace
666 messages.
667 Decorate constants with `U' and `L' where appropriate.
668 Fix compiler warnings.
669
6702005-08-30 Werner Lemberg <wl@gnu.org>
671
672 * src/gxvalid/README: Revised.
673 * src/gxvalid/gxvbsln.c: Fix compiler warnings.
674 * src/gxvalid/gxvcommn.c: Fix compiler warnings.
675 (gxv_XEntryTable_validate, gxv_compare_ranges): Remove unused
676 parameter. Update all callers.
677 Improve trace messages.
678 Some formatting.
679
6802005-08-29 Werner Lemberg <wl@gnu.org>
681
682 * include/freetype/freetype.h, include/freetype/ftchapters.h: Add
683 a preliminary section with some explanations about user allocation.
684
685 * src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
686 Don't abort if there are no data types, functions, etc., in a
687 section.
688 Print synopsis only if we have a data type, function, etc.
689
690 * docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
691 docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
692 docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
693
6942005-08-28 George Williams <gww@silcom.com>
695
696 * src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed.
697 (load_truetype_glyph): Limit recursion depth by `maxComponentDepth'.
698
6992005-08-25 J. Ali Harlow <ali@avrc.city.ac.uk>
700
701 * builds/unix/freetype2.in (CFlags): Add missing directory.
702
7032005-08-24 Werner Lemberg <wl@gnu.org>
704
705 * docs/CHANGES: Mention gxvalid module.
706
7072005-08-23 Werner Lemberg <wl@gnu.org>
708
709 * src/autofit/aflatin.c (af_latin_metrics_scale): Initialize
710 render mode properly. Reported by chris@dokein.co.uk.
711
7122005-08-23 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
713
714 Add gxvalid module to validate TrueType GX/AAT tables.
715
716 Modifications on existing files:
717
718 * Jamfile: Register gxvalid module.
719 * src/base/Jamfile: Register ftgxval.c.
720 * src/base/rule.mk: Register ftgxval.c.
721 * docs/INSTALL.ANY: Register gxvalid/gxvalid.c.
722
723 * include/freetype/config/ftheader.h (FT_GX_VALIDATE_H): New macro
724 to include gxvalid header file.
725 * include/freetype/config/ftmodule.h: Register gxv_module_class.
726
727 * include/freetype/ftchapters.h: Add comment about gx_validation.
728 * include/freetype/ftotval.h: Change keyword FT_VALIDATE_XXX
729 to FT_VALIDATE_OTXXX to co-exist with gxvalid.
730 * include/freetype/tttags.h: Add tags for TrueType GX/AAT tables.
731
732 * include/freetype/internal/ftserv.h (FT_SERVICE_GX_VALIDATE_H): New
733 macro for gxvalid service.
734 * include/freetype/internal/fttrace.h: Add trace facilities for
735 gxvalid.
736
737 New files on existing directories:
738
739 * include/freetype/internal/services/svgxval.h: Registration of
740 validation service for TrueType GX/AAT and classic kern table.
741 * include/freetype/ftgxval.h: Public API definition to use gxvalid.
742 * src/base/ftgxval.c: Public API of gxvalid.
743
744 New files under src/gxvalid/:
745
746 * src/gxvalid/Jamfile src/gxvalid/README src/gxvalid/module.mk
747 src/gxvalid/rules.mk src/gxvalid/gxvalid.c src/gxvalid/gxvalid.h
748 src/gxvalid/gxvbsln.c src/gxvalid/gxvcommn.c src/gxvalid/gxvcommn.h
749 src/gxvalid/gxverror.h src/gxvalid/gxvfeat.c src/gxvalid/gxvfgen.c
750 src/gxvalid/gxvjust.c src/gxvalid/gxvkern.c src/gxvalid/gxvlcar.c
751 src/gxvalid/gxvmod.c src/gxvalid/gxvmod.h src/gxvalid/gxvmort.c
752 src/gxvalid/gxvmort.h src/gxvalid/gxvmort0.c src/gxvalid/gxvmort1.c
753 src/gxvalid/gxvmort2.c src/gxvalid/gxvmort4.c src/gxvalid/gxvmort5.c
754 src/gxvalid/gxvmorx.c src/gxvalid/gxvmorx.h src/gxvalid/gxvmorx0.c
755 src/gxvalid/gxvmorx1.c src/gxvalid/gxvmorx2.c src/gxvalid/gxvmorx4.c
756 src/gxvalid/gxvmorx5.c src/gxvalid/gxvopbd.c src/gxvalid/gxvprop.c
757 src/gxvalid/gxvtrak.c: New files, gxvalid body.
758
7592005-08-21 Werner Lemberg <wl@gnu.org>
760
761 * src/truetype/ttgload.c (TT_Load_Glyph): Only translate outline
762 to (0,0) if bit 1 of the `head' table isn't set. This improves
763 rendering of buggy fonts.
764
7652005-08-20 Chia I Wu <b90201047@ntu.edu.tw>
766
767 * src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of
768 ttmetrics here. TrueType fonts with only sbits always have
769 ttmetrics.valid set to false.
770
771 * src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is
772 valid before loading outline glyph.
773
774 * src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
775
7762005-08-20 Werner Lemberg <wl@gnu.org>
777
778 * src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing
779 `hhea' table for SFNT Mac fonts. Change based on a patch by
780 mpsuzuki@hiroshima-u.ac.jp.
781
7822005-08-20 Masatake YAMATO <jet@gyve.org>
783
784 * src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead
785 of ft_setjmp.
786
7872005-08-19 Werner Lemberg <wl@gnu.org>
788
789 * src/truetype/ttgload.c (load_truetype_glyph): Fix compiler
790 warnings.
791
7922005-08-16 Chia I Wu <b90201047@ntu.edu.tw>
793
794 * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright
795 messages.
796
7972005-08-16 Chia I Wu <b90201047@ntu.edu.tw>
798
799 * src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original
800 TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context
801 with slight changes.
802 Update all callers.
803 (TT_New_Context): Now takes TT_Driver argument directly.
804 Update all callers.
805
806 * src/truetype/ttobjs.h (tt_slot_init): New function.
807 * src/truetype/ttobjs.c (tt_driver_init): Initialize execution
808 context here.
809 (tt_slot_init): New function to create extra points for the internal
810 glyph loader. We then use it directly, instead of face's glyph
811 loader, when loading glyph.
812
813 * src/truetype/ttdriver.c (tt_driver_class): Use tt_slot_init for
814 glyph slot initialization.
815 (Load_Glyph): Load flag dependencies are handled here. Return error
816 if size is NULL.
817
818 * src/truetype/ttgload.c: Heavy cleanup and refactoring.
819 (org_to_cur): Removed.
820 (TT_Load_Simple_Glyph): Call FT_GlyphLoader_CheckPoints.
821 (TT_Hint_Glyph): New funcion to hint a zone, prepared by caller.
822 (TT_Process_Simple_Glyph): s/load/loader/.
823 Use loader->pp values instead of recalculation.
824 Use TT_Hint_Glyph.
825 No need to save/restore loader->stream before and after
826 TT_Vary_Get_Glyph_Deltas now.
827 (TT_LOADER_SET_PP): New macro to calculate and set the four phantom
828 points.
829 (load_truetype_glyph): Never set exec->glyphSize to 0. This closes
830 Savannah bug #13107.
831 Forget glyph frame before calling TT_Process_Simple_Glyph.
832 Use TT_LOADER_SET_PP.
833 Scale all four phantom points.
834 Split off some functionality to ...
835 (TT_Process_Composite_Component, TT_Process_Composite_Glyph): These
836 new functions.
837 (TT_Load_Glyph): Set various fields of `glyph' here, not in
838 load_truetype_glyph and compute_glyph_metrics.
839 Split off some functionality to ...
840 (load_sbit_image, tt_loader_init): These new functions.
841 (compute_glyph_metrics): Call FT_Outline_Get_CBox.
842
8432005-08-08 Werner Lemberg <wl@gnu.org>
844
845 * docs/INSTALL.ANY: Updated.
846
8472005-08-05 Werner Lemberg <wl@gnu.org>
848
849 * src/cff/cffgload.c (cff_builder_close_contour),
850 src/psaux/psobjs.c (t1_builder_close_contour): Protect against
851 zero `outline' pointer.
852
853 * src/base/ftgloadr.c (FT_GlyphLoader_Add): Protect against zero
854 `loader' address.
855
8562005-08-03 Werner Lemberg <wl@gnu.org>
857
858 * src/sfnt/sfdriver.c (sfnt_interface) [FT_OPTIMIZE_MEMORY]:
859 Reactivate pointers to tt_find_sbit_image and tt_load_sbit_metrics
860 to make X work again.
861
8622005-08-02 Werner Lemberg <wl@gnu.org>
863
864 * src/otvalid/otvcommn.h: Remove dead code.
865
8662005-07-31 Chia I Wu <b90201047@ntu.edu.tw>
867
868 * src/truetype/ttobjs.h (tt_size_run_fpgm, tt_size_run_prep): New
869 functions.
870
871 * src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): New
872 functions.
873 (tt_size_init): Add 4, instead of 2, (phantom) points to twilight
874 zone.
875 Move code that runs fpgm to tt_size_run_fpgm.
876 (Reset_Outline_Size): Move code that runs prep to tt_size_run_prep.
877 (tt_glyphzone_new): Allocate right size of arrays.
878 Set max_points and max_contours properly.
879
8802005-07-26 Chia I Wu <b90201047@ntu.edu.tw>
881
882 * src/truetype/ttdriver.c (Set_Char_Sizes): Avoid unnecessary
883 computations and clean up.
884
885 * src/truetype/ttobjs.h (struct TT_SizeRec_): Comment on the
886 internal copy of metrics.
887
8882005-07-12 Werner Lemberg <wl@gnu.org>
889
890 * include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype.
891 Reported by Xerxes.
892
8932005-07-04 Werner Lemberg <wl@gnu.org>
894
895 * include/freetype/internal/ftmemory.h (FT_REALLOC_ARRAY): Fix typo.
896 Reported by Brett Hutley.
897
8982005-06-30 David Turner <david@freetype.org>
899
900 * src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c:
901 Removing compiler warnings (Visual C++ /W4).
902
903
904 Implement a work-around for broken C preprocessor in Visual C++ (it
905 has been confirmed by the MS developers that it is indeed a bug
906 which won't be fixed in the very near future).
907
908 * Jamfile (FT2_COMPONENTS): Include otvalid (again).
909
910 * src/otvalid/otvcommn.h (OTV_NAME, OTV_FUNC): New macros.
911 (OTV_NEST1, OTV_NEST2, OTV_NEST3): Use OTV_NAME and OTV_FUNC to
912 avoid argument expansion by argument prescan.
913 Append `Func' to all affected macros and change them to take just a
914 single argument. Example: `AttachList' is renamed to
915 `AttachListFunc'.
916
917 * src/otvalid/otvgdef.c, src/otvalid/otvgpos.c,
918 src/otvalid/otvgsub.c, src/otvjstf.c: Append `Func' to macros
919 affected by the changes to OTV_NESTx and modify them to take just a
920 single argument.
921
9222005-06-20 Chia I Wu <b90201047@ntu.edu.tw>
923
924 * include/freetype/internal/ftobjs.h, src/base/ftobjs.c: New function
925 ft_glyphslot_grid_fit_metrics.
926
927 * src/truetype/ttgload.c (compute_glyph_metrics): Use
928 ft_glyphslot_grid_fit_metrics.
929
930 * src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
931 (cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph): Use
932 ft_glyphslot_grid_fit_metrics.
933 FT_Outline_Get_CBox is called twice.
934
935 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Modify metrics to more
936 reasonable values when emboldening outline glyphs. The theoretic
937 ones are unrealistic.
938
9392005-06-16 Chia I Wu <b90201047@ntu.edu.tw>
940
941 * src/base/ftoutln.c (FT_Outline_Embolden): Strength should be
942 halved.
943
944 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Change the default
945 strength.
946 Don't increase slot->advance.y.
947
9482005-06-16 Werner Lemberg <wl@gnu.org>
949
950 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 2.
951 (FREETYPE_PATCH): Set to 0.
952
953 * builds/unix/configure.ac (version_info): Set to 9:9:3.
954 Currently, we are still binary compatible.
955
956 * builds/win32/visualc/index.html,
957 builds/win32/visualc/freetype.dsp,
958 builds/win32/visualc/freetype.vcproj: s/219/2110/, s/2.1.9/2.1.10/.
959
960 * builds/freetype.mk (refdoc), README, Jamfile (RefDoc):
961 s/2.1.9/2.1.10/.
962
963 * docs/CHANGES, docs/VERSION.DLL: Updated.
964
965 * ChangeLog: Split off older entries into...
966 * ChangeLog.20, ChangeLog.21: These new files.
967
9682005-06-15 Kirill Smelkov <kirr@mns.spb.ru>
969
970 The next release will be 2.2.0, so don't worry about source code
971 backwards compatibility.
972
973 * include/freetype/ftimage.h (FT_Outline_MoveToFunc,
974 FT_Outline_LineToFunc, FT_Outline_ConicToFunc,
975 FT_Outline_CubicToFunc, FT_SpanFunc, FT_Raster_RenderFunc),
976 include/freetype/ftrender.h (FT_Glyph_TransformFunc,
977 FT_Renderer_RenderFunc, FT_Renderer_TransformFunc): Decorate
978 parameters with `const' where appropriate.
979
9802005-06-15 Chia I Wu <b90201047@ntu.edu.tw>
981
982 * src/sfnt/ttsbit.c (tt_face_load_sbit_image): Compute vertBearingY
983 to make glyphs centered vertically.
984
985 * src/truetype/ttgload.c (compute_glyph_metrics): Compute
986 vertBearingY to make glyphs centered vertically.
987 Fix some bugs in vertical metrics:
988
989 . loader->pp3.y and loader->pp4.y are in 26.6 format, not in font
990 units.
991 . As we use the glyph's cbox to calculate the top bearing now
992 there iss no need to adjust `top'.
993
9942005-06-15 Werner Lemberg <wl@gnu.org>
995
996 * src/otvalid/otvcommn.h (OTV_OPTIONAL_TABLE): Use FT_UShort to be
997 in sync with OTV_OPTIONAL_OFFSET. Reported by YAMATO Masatake.
998
9992005-06-13 Werner Lemberg <wl@gnu.org>
1000
1001 * docs/release: Update.
1002
1003----------------------------------------------------------------------------
1004
1005Copyright 2005 by
1006David Turner, Robert Wilhelm, and Werner Lemberg.
1007
1008This file is part of the FreeType project, and may only be used, modified,
1009and distributed under the terms of the FreeType project license,
1010LICENSE.TXT. By continuing to use, modify, or distribute this file you
1011indicate that you have read the license and understand and accept it
1012fully.
1013
1014
1015Local Variables:
1016version-control: never
1017coding: latin-1
1018End: