blob: 7069363ca1917a6e9e40851034f00cf945e26df0 [file] [log] [blame]
Werner Lemberg6c054752007-06-05 05:27:54 +000012007-06-05 Werner Lemberg <wl@gnu.org>
2
3 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
4 (pfr_glyph_load_simple): Convert assertion into normal FreeType
5 error.
6 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +00007 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
8 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +00009
10 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
11
Werner Lembergf4bc3f42007-06-05 07:32:15 +000012
13 * src/winfnt/winfnt.c (FNT_Face_Init): Check `family_size'.
14
Werner Lemberge5c14d92007-06-05 20:50:37 +000015
16 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
17 in case of parsing error.
18 (ps_parser_load_field): Updated.
19
20 * src/type1/t1load.c (parse_font_matrix): Updated.
21
Werner Lembergad18b362007-06-04 07:04:05 +0000222007-06-04 Werner Lemberg <wl@gnu.org>
23
24 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
25
26 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
27
Werner Lemberg3d507fe2007-06-03 16:54:55 +0000282007-06-03 Werner Lemberg <wl@gnu.org>
29
Werner Lemberg99a320b2007-06-03 19:21:26 +000030 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
31 George Williams (with some modifications).
32
332007-06-03 Werner Lemberg <wl@gnu.org>
34
Werner Lemberg3d507fe2007-06-03 16:54:55 +000035 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
36 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
37 face == NULL. Suggested by Graham Asher.
38
Werner Lembergce280a22007-06-03 05:58:30 +0000392007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
40
41 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
42
Werner Lemberg5b591e42007-06-01 22:16:43 +0000432007-06-02 Werner Lemberg <wl@gnu.org>
44
45 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
46 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
47
48 * src/bdf/bdflib.c (bdf_load_font): Use them.
49
50 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
51
Werner Lembergb9933f42007-06-01 21:27:12 +0000522007-06-01 Werner Lemberg <wl@gnu.org>
53
54 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
55 (FTC_CMapCache_Lookup): Remove unused code.
56
Werner Lembergc793d902007-06-01 20:51:11 +0000572007-06-01 Sean McBride <sean@rogue-research.com>
58
59 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
60 unused.
61
Werner Lembergbebc7b12007-06-01 06:32:30 +0000622007-06-01 Werner Lemberg <wl@gnu.org>
63
64 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
65 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +000066 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +000067
Werner Lembergcb37b3b2007-06-01 06:49:03 +000068 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
69 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
70
Werner Lembergba03af62007-05-30 13:57:02 +0000712007-05-30 Werner Lemberg <wl@gnu.org>
72
73 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
74 against too small binary data strings.
75
76 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
77
David Turnerf0cd69c2007-05-28 15:42:09 +0000782007-05-28 David Turner <david@freetype.org>
79
Werner Lemberg99e0c182007-05-29 07:00:23 +000080 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
81 transformation. This significantly reduces the loading time of CFF
82 glyphs.
David Turner552a9562007-05-28 15:45:35 +000083
Werner Lemberg99e0c182007-05-29 07:00:23 +000084 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +000085
Werner Lemberg99e0c182007-05-29 07:00:23 +000086 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
87 hinting script to CJK, since it works well with more scripts than
88 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
89 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +000090
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000912007-05-25 Werner Lemberg <wl@gnu.org>
92
93 * docs/CHANGES: Updated.
94
Werner Lemberg6ff2ff52007-05-24 19:39:14 +0000952007-05-24 Werner Lemberg <wl@gnu.org>
96
97 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
98 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
99
1002007-05-24 Graham Asher <graham.asher@btinternet.com>
101
102 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
103 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
104
David Turner0d0365e2007-05-22 09:53:44 +00001052007-05-22 David Turner <david@freetype.org>
106
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000107 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
108 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +0000109
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000110
111 Avoid heap blowup with very large .Z font files. This fixes
112 Savannah bug #19910.
113
114 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
115 `in_limit', `pad', `pad_bits', and `in_buff' members.
116 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
117 `buf_total' members.
118
119 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
120 only one argument.
121 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +0000122
1232007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +0000124
125 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
126 (ps_dimension_set_mask_bits): Remove `const'.
127
David Turner0d0365e2007-05-22 09:53:44 +00001282007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +0000129
130 * src/sfnt/ttmtx.c (tt_face_get_metrics)
131 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
132
Werner Lembergb826fa72007-05-19 07:18:48 +00001332007-05-19 Derek Clegg <dclegg@apple.com>
134
135 Savannah patch #5929.
136
137 * include/freetype/tttables.h, src/base/ftobjcs.c
138 (FT_Get_CMap_Format): New function.
139
140 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
141 `format' member.
142 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
143 cmap_info->format.
144
Werner Lemberg6f99c882007-05-19 07:01:49 +00001452007-05-19 Werner Lemberg <wl@gnu.org>
146
147 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
148 before handling subglyphs so that it can be reinitialized each time.
149 This fixes Savannah bug #19859.
150
Werner Lemberg95bc9d32007-05-16 15:19:42 +00001512007-05-16 Werner Lemberg <wl@gnu.org>
152
153 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
154 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
155 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
156 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
157 tt_face_get_metrics): Fix type-punning issues.
158
David Turner0a24bd22007-05-15 10:54:10 +00001592007-05-15 David Turner <david@freetype.org>
160
161 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000162 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
163 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +0000164 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000165 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +0000166
Werner Lemberg607dec72007-05-15 06:49:37 +00001672007-05-15 Graham Asher <graham.asher@btinternet.com>
168
169 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
170 variable.
171 * src/autofit/afloader.c (af_loader_load_g): Ditto.
172
173 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
174 (open_face_from_buffer): Initialize `stream'.
175 (FT_Request_Metrics): Remove unused variable.
176 Remove redundant `break' statements.
177 (FT_Get_Track_Kerning): Remove unused variable.
178
179 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
180 afm_parse_kern_data): Remove redundant
181 `break' statements.
182 (afm_parser_parse): Ditto.
183 Don't use uninitialized variables.
184
185 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
186 Use `|' operator instead of `^' to set it.
187 Update all users.
188
189 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
190 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
191
192 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
193 comparison.
194 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
195 (TT_Load_Glyph): Remove unused variable.
196
Werner Lemberg8d463a52007-05-13 16:01:55 +00001972007-05-13 Derek Clegg <dclegg@apple.com>
198
199 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
200 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
201
David Turner711cf842007-05-11 14:36:24 +00002022007-05-11 David Turner <david@freetype.org>
203
Werner Lemberg56ceaa42007-05-14 18:53:58 +0000204 * src/cache/ftbasic.c, include/freetype/ftcache.h
205 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
206 functions that allow us to look up glyphs using an FTC_Scaler object
207 to specify the size, making it possible to use fractional pixel
208 sizes.
209
210 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
211 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +0000212
Werner Lemberg94be20e2007-05-09 20:02:55 +00002132007-05-09 Graham Asher <graham.asher@btinternet.com>
214
215 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
216 (af_latin_metrics_scale_dim): Fix compiler warnings.
217
Werner Lemberg41271032007-05-06 04:51:48 +00002182007-05-06 Werner Lemberg <wl@gnu.org>
219
220 * builds/win32/visualce/freetype.sln: Removed, as requested by
221 Vincent.
222
Werner Lembergdf49e692007-05-04 06:30:05 +00002232007-05-04 Vincent RICHOMME <richom.v@free.fr>
224
225 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
226 PC targets.
227
228 * docs/CHANGES: Document them.
229
2302007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +0000231
232 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
233 mmap (which might happen on some RTOS). From Savannah patch #5909.
234
Werner Lemberg106eaf12007-05-03 07:07:47 +00002352007-05-03 Werner Lemberg <wl@gnu.org>
236
237 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
238 * include/freetype/freetype.h (FT_Set_Char_Size): Update
239 documentation.
240
Werner Lemberg1b5267d2007-04-28 21:06:15 +00002412007-04-28 Victor Stinner <victor.stinner@inl.fr>
242
243 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
244 `cmap'.
245
Werner Lembergcc712a22007-04-27 17:16:50 +00002462007-04-27 Werner Lemberg <wl@gnu.org>
247
248 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
249 number of points in contours. Problem reported by Victor Stinner
250 <victor.stinner@haypocalc.com>.
251 (TT_Process_Simple_Glyph): Synchronize variable types.
252
Werner Lemberg45bb18f2007-04-26 06:26:35 +00002532007-04-26 Werner Lemberg <wl@gnu.org>
254
255 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
256 zero in case of error. This fixes Savannah bug #19689.
257
David Turnera8b45e62007-05-11 14:10:30 +00002582007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
259
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000260 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
261 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +0000262
Werner Lembergfcc1f472007-04-10 11:51:50 +00002632007-04-10 Martin Horak <horakm@centrum.cz>
264
265 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
266 Ignore `hhea' table. This fixes Savannah bug #19261.
267
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002682007-04-09 Werner Lemberg <wl@gnu.org>
269
270 * Version 2.3.4 released.
271 =========================
272
273
274 Tag sources with `VER-2-3-4'.
275
276 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
277 version number to 2.3.4.
278
279 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
280 builds/win32/visualc/freetype.dsp,
281 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
282
283 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
284
285 * builds/unix/configure.raw (version_info): Set to 9:15:3.
286
Werner Lembergf4a52a62007-04-09 08:40:11 +00002872007-04-09 Martin Horak <horakm@centrum.cz>
288
289 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
290 memory stream to avoid a crash with the incremental memory
291 interface (Savannah bug #19260).
292
David Turner1dcb4442007-04-06 08:19:04 +00002932007-04-06 David Turner <david@freetype.org>
294
Werner Lembergc81cf612007-04-06 09:28:23 +0000295 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
296 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000297
Werner Lemberg9f83e052007-04-05 02:28:23 +00002982007-04-04 Werner Lemberg <wl@gnu.org>
299
300 * Version 2.3.3 released.
301 =========================
302
303
304 Tag sources with `VER-2-3-3'.
305
306 * docs/CHANGES: Mention CVE-2007-1351.
307
David Turner7338ec22007-04-03 14:30:34 +00003082007-04-03 David Turner <david@freetype.org>
309
310 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000311 if one of the resolution values is 0, treat it as if it were the
312 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000313
David Turnere6472c12007-04-02 13:13:54 +00003142007-04-02 David Turner <david@freetype.org>
315
Werner Lemberg94f12272007-04-03 07:19:53 +0000316 Add special code to detect `extra-light' fonts and do not snap their
317 stem widths too much to avoid bizarre hinting effects.
318
319 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
320 `extra_light' members.
321
322 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
323 them.
324 (af_latin_metrics_scale_dim): Set `extra_light'.
325 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000326
David Turner3f539692007-03-28 14:53:40 +00003272007-03-28 David Turner <david@freetype.org>
328
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000329 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000330 padding.
331
Werner Lemberga08b2172007-03-28 07:17:17 +00003322007-03-28 Werner Lemberg <wl@gnu.org>
333
334 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
335 gracefully.
336 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000337 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000338 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
339 number of code points in Unicode.
340
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000341 * builds/win32/visualc/index.html,
342 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000343 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000344 s/232/233/.
345
346 * docs/CHANGES: Mention ftdiff.
347
David Turner3b242d32007-03-26 12:03:04 +00003482007-03-26 David Turner <david@freetype.org>
349
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000350 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
351 corresponding code.
352 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000353
Werner Lemberga08b2172007-03-28 07:17:17 +0000354 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000355 computations in order to ignore single-point contours. These are
356 never rasterized and correspond in certain fonts to mark-attach
357 points that are very far from the glyph's real outline, ruining the
358 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000359
Werner Lemberga08b2172007-03-28 07:17:17 +0000360 * src/autofit/afloader.c (af_loader_load_g): In the case of
361 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
362 Otherwise code that uses them will most certainly ruin the fixed
363 advance property.
David Turner23553d62007-03-26 13:37:17 +0000364
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000365 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
366 documentation and bump version number to 2.3.3.
367
368 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
369
370 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000371
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00003722007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
373
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000374 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
375 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000376 * builds/vms/ftconfig.h: Ditto.
377 * include/freetype/config/ftconfig.h: Ditto.
378
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00003792007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
380
Werner Lemberg14ffe092007-03-22 06:12:43 +0000381 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
382 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000383 proposed by Sean McBride:
384 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
385
3862007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
387
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000388 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
389 setjmp, proposed by Sean McBride:
390 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
391
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00003922007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
393
Werner Lembergc9f6c662007-03-21 13:30:14 +0000394 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
395 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
396 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000397
David Turner74c34eb2007-03-18 07:19:31 +00003982007-03-18 David Turner <david@freetype.org>
399
Werner Lembergc9f6c662007-03-21 13:30:14 +0000400 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
401 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000402
Werner Lembergc9f6c662007-03-21 13:30:14 +0000403 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000404
David Turner89020d92007-03-17 17:48:57 +00004052007-03-17 David Turner <david@freetype.org>
406
Werner Lembergc9f6c662007-03-21 13:30:14 +0000407 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
408 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000409
Werner Lemberg25d592a2007-03-09 07:59:35 +00004102007-03-09 Werner Lemberg <wl@gnu.org>
411
412 * Version 2.3.2 released.
413 =========================
414
415
416 Tag sources with `VER-2-3-2'.
417
418 * builds/win32/visualc/index.html,
419 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000420 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000421 s/231/232/.
422
David Turner3a51afa2007-03-08 10:50:38 +00004232007-03-08 David Turner <david@freetype.org>
424
Werner Lemberg25d592a2007-03-09 07:59:35 +0000425 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000426
Werner Lemberg25d592a2007-03-09 07:59:35 +0000427 * builds/unix/configure.raw (version_info): Set to 9:13:3.
428
429 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
430
431 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000432
Werner Lemberg1e259de2007-03-08 15:39:21 +0000433 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
434 function to work properly, over-writing user-provided buffers in
435 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000436
David Turner121cad52007-03-08 16:43:50 +0000437
Werner Lemberg3d92f082007-03-06 11:59:24 +00004382007-03-05 Werner Lemberg <wl@gnu.org>
439
440 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
441 macro for `strstr'.
442
443 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
444 `trick_names', as suggested by Ivan Nincic.
445
David Turner085bc6e2007-03-05 17:40:03 +00004462007-03-05 David Turner <david@freetype.org>
447
Werner Lembergd112cf02007-03-06 12:06:56 +0000448 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
449 case FT_Init_FreeType fails for some reason. Problem reported by
450 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000451
Werner Lembergd112cf02007-03-06 12:06:56 +0000452 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
453 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
454 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
455 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000456
Werner Lembergd112cf02007-03-06 12:06:56 +0000457 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
458 signed values, not unsigned ones. Problem reported by Johannes
459 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000460
David Turner601aefe2007-02-21 16:47:49 +00004612007-02-21 David Turner <david@freetype.org>
462
Werner Lembergde5e6862007-02-25 21:06:43 +0000463 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
464 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000465
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00004662007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
467
468 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
469 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
470 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
471
Werner Lemberga0915172007-02-16 08:12:50 +00004722007-02-16 Werner Lemberg <wl@gnu.org>
473
474 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
475 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
476
David Turner2c4500e2007-02-14 15:08:47 +00004772007-02-14 David Turner <david@freetype.org>
478
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000479 It seems that the following changes fix most of the known
480 interpreter problems with my fonts, but more testing is needed,
481 though.
482
483 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
484 (TT_MulFix14): Rewrite.
485 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
486 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000487
Werner Lembergc6a14082007-02-12 22:08:15 +00004882007-02-12 Werner Lemberg <wl@gnu.org>
489
490 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
491 warnings.
492
493 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
494 (bdf_interpret_style): Ditto.
495
David Turnerc0f9c4a2007-02-12 14:55:03 +00004962007-02-12 David Turner <david@freetype.org>
497
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000498 Simplify projection and dual-projection code interface.
499
Werner Lemberg406d25f2007-02-12 22:01:18 +0000500 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
501 FT_Vector' as argument type.
502 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
503 Updated.
504 (CUR_fast_project, CUR_fast_dualproj): New macros.
505 (Project, Dual_Project, Project_x, Project_y): Updated.
506 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
507 macros.
508
509
510 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
511 adjustments for the non-light auto-hinted modes. Gets rid of
512 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000513
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000514 * src/autofit/aflatin.c (af_latin_hints_link_segments,
515 af_latin_hints_compute_edges): Slight optimization of the segment
516 linker and better handling of serif segments to get rid of broken
517 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000518
David Turnerc0f9c4a2007-02-12 14:55:03 +0000519
Werner Lemberg442bfb82007-02-12 21:44:10 +0000520 Introduce new string functions and the corresponding macros to get
521 rid of various uses of strcpy and other `evil' functions, as well as
522 to simplify a few things.
523
524 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
525 ft_mem_strcpyn): New declarations.
526 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
527 macros.
528 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
529 functions.
530
531 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
532 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
533 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
534 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
535 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
536 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
537 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
538 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000539
Werner Lemberg406d25f2007-02-12 22:01:18 +0000540 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
541
Werner Lemberg582067d2007-02-11 15:03:05 +00005422007-02-11 Werner Lemberg <wl@gnu.org>
543
544 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
545 non-spacing glyphs.
546
Werner Lemberg8f474532007-02-07 08:31:01 +00005472007-02-07 Tom Parker <palfrey@tevp.net>
548
549 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
550 pointer.
551
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00005522007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
553
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000554 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
555 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000556 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000557 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
558 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
559 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
560 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000561
562 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
563 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000564 * builds/mac/ftmac.c: Ditto.
565
5662007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
567
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000568 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000569 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000570 #include <ftmac.c>.
571
5722007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
573
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000574 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
575 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
576 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
577 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
578 FT_GetFilePath_From_Mac_ATS_Name.
579 * builds/mac/ftmac.c: Ditto.
580
5812007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
582
Werner Lembergdcbb7082007-02-08 08:54:09 +0000583 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000584 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
585 for passing to FT_New_Face_From_FSSpec.
586
5872007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
588
Werner Lembergdcbb7082007-02-08 08:54:09 +0000589 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000590 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000591
592 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
593 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000594 * builds/mac/ftmac.c (OS_INLINE): Ditto.
595
Werner Lemberg313d7772007-02-01 08:10:45 +00005962007-02-01 Werner Lemberg <wl@gnu.org>
597
598 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
599 Explain why applications shouldn't use it. Found by Alexei.
600
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00006012007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000602
603 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
604 message.
605
606 * src/gxvalid/gxvmort1.c
607 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
608 message.
609
Werner Lemberg53935932007-01-31 08:53:02 +00006102007-01-31 Werner Lemberg <wl@gnu.org>
611
612
613 * Version 2.3.1 released.
614 =========================
615
616
617 Tag sources with `VER-2-3-1-FINAL'.
618
619 * builds/win32/visualc/freetype.dsp,
620 builds/win32/visualc/freetype.vcproj: s/230/231/.
621 * builds/win32/visualc/index.html: s/221/231/.
622
623 * vms_make.com: Add `ftgasp'.
624
David Turnera7ee6082007-01-30 10:33:53 +00006252007-01-30 David Turner <david@freetype.org>
626
Werner Lemberg53935932007-01-31 08:53:02 +0000627 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000628
Werner Lemberg53935932007-01-31 08:53:02 +0000629 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000630
Werner Lemberg25d592a2007-03-09 07:59:35 +0000631 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000632 s/2.3.0/2.3.1/.
633
634 * builds/unix/configure.raw (version_info): Set to 9:12:3.
635
636
637 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
638 (af_loader_load_g): Disable the warper (i.e., the light hinting
639 improvements) to make a 2.3.1 bugfix release before introducing a
640 new feature. This should give us more time to tune and improve the
641 warper for the next release.
642
643 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000644
David Turnerd91eebd2007-01-26 15:05:41 +00006452007-01-25 David Turner <david@freetype.org>
646
Werner Lembergbf241762007-01-26 16:08:49 +0000647 For light auto-hinting, improve glyph advance widths and resurrect
648 normal/full hinting to its normal quality.
649
650 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
651 and `xmax_delta'.
652 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
653 and `xmax_delta'.
654
655 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
656 preprocessor conditional with if-clause, handling both light and
657 normal mode.
658
659 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
660 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000661
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00006622007-01-25 Werner Lemberg <wl@gnu.org>
663
664 * docs/release: Updated -- Savannah uses a new uploading scheme.
665
David Turnera42567b2007-01-25 12:23:37 +00006662007-01-25 David Turner <david@freetype.org>
667
Werner Lembergd7855662007-01-25 13:53:56 +0000668 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000669
Werner Lembergd7855662007-01-25 13:53:56 +0000670 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
671 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
672 functions.
David Turnera42567b2007-01-25 12:23:37 +0000673
Werner Lembergd7855662007-01-25 13:53:56 +0000674 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000675
Werner Lembergb1be9e82007-01-25 11:50:00 +00006762007-01-25 Werner Lemberg <wl@gnu.org>
677
678 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000679 correctly in a sanity check. Since this function is only used to
680 load local and global functions, any charstring that called the last
681 local/global function would fail otherwise. This fixes Savannah bug
682 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000683
684 * docs/CHANGES: Document it.
685
David Turnerb6de8d12007-01-23 15:51:50 +00006862007-01-23 David Turner <david@freetype.org>
687
Werner Lembergb1be9e82007-01-25 11:50:00 +0000688 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
689 prevented compilation when disabling both the unpatented and the
690 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000691
Werner Lembergb1be9e82007-01-25 11:50:00 +0000692
693 Fix and enable the warper to improve `light' hinting mode. This is
694 not necessarily a final version, but it seems to work well.
695
696 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
697 Disable code.
698 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
699 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
700
701 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
702 (af_warper_compute_line_best): Fix array size of `scores'.
703 (af_warper_compute): Better handling of border cases.
704 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
705 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000706
Werner Lemberg011d1112007-01-21 09:36:00 +00007072007-01-21 Werner Lemberg <wl@gnu.org>
708
Werner Lemberg42b63b22007-01-21 21:01:33 +0000709 * ChangeLog: Split off older entries into...
710 * ChangeLog.22: This new file.
711
7122007-01-21 Werner Lemberg <wl@gnu.org>
713
Werner Lemberg555258f2007-01-21 09:46:37 +0000714 * docs/CHANGES: Document SHZ fix.
715
7162007-01-21 George Williams <gww@silcom.com>
717
718 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
719 points.
720
7212007-01-21 Werner Lemberg <wl@gnu.org>
722
Werner Lemberg011d1112007-01-21 09:36:00 +0000723 * src/sfnt/ttmtx.c (tt_face_get_metrics)
724 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
725
Werner Lemberg87a5a432007-01-17 12:44:39 +00007262007-01-17 Werner Lemberg <wl@gnu.org>
727
Werner Lembergb8003292007-01-17 12:56:25 +0000728
729 * Version 2.3.0 released.
730 =========================
731
732
733 Tag sources with `VER-2-3-0-FINAL'.
734
7352007-01-17 Werner Lemberg <wl@gnu.org>
736
Werner Lemberg87a5a432007-01-17 12:44:39 +0000737 * docs/release: Updated.
738
David Turner22122722007-01-16 20:06:44 +00007392007-01-16 David Turner <david@freetype.org>
740
Werner Lemberg87a5a432007-01-17 12:44:39 +0000741 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
742 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
743 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
744 warnings.
David Turner22122722007-01-16 20:06:44 +0000745
Werner Lemberg267e1d72007-01-15 07:48:09 +00007462007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
747
748 * builds/amiga/makefile, builds/amiga/makefile.os4,
749 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
750
751 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
752
Werner Lemberg8c4120d2007-01-15 06:42:40 +00007532007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
754
755 Fix various compiler warnings.
756
757 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
758 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
759 s/index/strike_index/.
760 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
761
762 * src/gxvalid/gxvmorx5.c
763 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
764
765 * src/truetype/ttinterp.c (Compute_Point_Displacement),
766 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
767 uninitialized variables.
768
Werner Lemberg6164a9d2007-01-13 23:01:36 +00007692007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
770
771 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
772
Werner Lemberg281c1482007-01-13 22:50:51 +00007732007-01-13 Werner Lemberg <wl@gnu.org>
774
775 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
776 versions up to 0x3FF without complaining.
777
Werner Lembergac250b22007-01-13 14:01:36 +00007782007-01-13 Derek Clegg <dclegg@apple.com>
779
780 Add FT_Get_PS_Font_Info interface to CFF driver.
781
782 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
783 (CFF_FontRec): Add `font_info' field.
784
785 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
786 (cff_font_done): Free font->font_info if necessary.
787
788 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
789 (cff_service_ps_info): Register cff_ps_get_font_info.
790
Werner Lemberg23df31a2007-01-13 08:45:00 +00007912007-01-13 Werner Lemberg <wl@gnu.org>
792
793 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
794 with C++ compiler.
795
796 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
797 af_glyph_hints_dump_edges): Ditto.
798
799 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
800 `modules.cfg').
801
802 * src/sfnt/ttsbit0.h: Remove.
803
804 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
805
Werner Lemberg27cf9de2007-01-13 07:34:23 +00008062007-01-12 David Turner <david@freetype.org>
807
808 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
809 bug in the bitmap emboldener if the pitch of the source bitmap is
810 much larger than its width.
811
812 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
813 compilation warning.
814
Werner Lemberg6d96d312007-01-12 10:30:19 +00008152007-01-12 Werner Lemberg <wl@gnu.org>
816
817 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
818 `automake' CVS module from sources.redhat.com.
819
Werner Lemberg17432b52007-01-12 09:28:44 +00008202007-01-11 Werner Lemberg <wl@gnu.org>
821
822 * src/type1/t1load.c (is_space): Removed.
823 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
824 (parse_charstrings): Use IS_PS_TOKEN.
825
826
827 * autogen.sh: Avoid bash specific syntax.
828
David Turner038ace22007-01-11 15:00:59 +00008292007-01-11 David Turner <david@freetype.org>
830
Werner Lemberg17432b52007-01-12 09:28:44 +0000831 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +0000832
Werner Lemberg17432b52007-01-12 09:28:44 +0000833 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +0000834
Werner Lemberg17432b52007-01-12 09:28:44 +0000835 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
836 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +0000837 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +0000838
Werner Lemberg17432b52007-01-12 09:28:44 +0000839 * autogen.sh: Small fix to get it working on Mac OS X properly:
840 The issue is that GNU libtool is called `glibtool' on this platform,
841 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +0000842
David Turner2628ea92007-01-10 13:15:56 +00008432007-01-10 David Turner <david@freetype.org>
844
Werner Lemberg17432b52007-01-12 09:28:44 +0000845 * all-sources: Tag all sources with VER-2-3-0-RC1 and
846 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +0000847
Werner Lemberg17432b52007-01-12 09:28:44 +0000848 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
849 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
850 version number to 2.3.0.
851
852 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
853 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +0000854
855 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +0000856 include/freetype/ftlcdfil.h: Update reference documentation with
857 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +0000858
Werner Lemberg17432b52007-01-12 09:28:44 +0000859 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
860 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +0000861
Werner Lembergbf02d392007-01-10 07:07:37 +00008622007-01-10 Derek Clegg <dclegg@apple.com>
863
864 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
865 values.
866
David Turnerf48b60e2007-01-08 15:15:32 +00008672007-01-08 David Turner <david@freetype.org>
868
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000869 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +0000870
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000871 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
872 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +0000873 corresponding to a given character pixel size.
874
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000875 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
876 `gasp' table, in order to avoid potential problems with later
877 versions.
David Turnerf48b60e2007-01-08 15:15:32 +0000878
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000879 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
880 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +0000881
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000882 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
883 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
884 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
885 default build.
David Turnerf48b60e2007-01-08 15:15:32 +0000886
Werner Lemberge6b6f372007-01-07 00:06:47 +00008872007-01-07 Werner Lemberg <wl@gnu.org>
888
Werner Lembergb8004d22007-01-07 09:13:38 +0000889 * src/cid/cidparse.c (cid_parser_new): Improve error message for
890 Type 11 fonts.
891 Scan for `/sfnts' token.
892
8932007-01-07 Werner Lemberg <wl@gnu.org>
894
895 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +0000896
Werner Lembergbe5f7972007-01-06 07:51:48 +00008972007-01-06 Werner Lemberg <wl@gnu.org>
898
899 * src/cff/cffload.c (cff_index_init): Remove unused variable.
900 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
901
David Turnera8cf42b2007-01-04 16:46:46 +00009022007-01-04 David Turner <david@freetype.org>
903
Werner Lembergf6294392007-01-06 07:47:45 +0000904 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
905 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +0000906
Werner Lembergf6294392007-01-06 07:47:45 +0000907
908 Do not allocate interpreter-specific tables in memory if we are not
909 going to load glyphs with the bytecode interpreter anyway.
910
911 * src/truetype/ttgload.c (tt_loader_init): Load execution context
912 only if glyph is hinted.
913 Updated.
914 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
915 and `cvs_ready'.
916 Add `tt_size_ready_bytecode' declaration.
917 * src/truetype/ttobjs.c (tt_size_done_bytecode,
918 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
919 (tt_size_init): Move most code into `tt_size_init_bytecode'.
920 (tt_size_done): Move most code into `tt_size_done_bytecode'.
921 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000922
David Turner91a34022007-01-05 14:47:08 +0000923
Werner Lembergf6294392007-01-06 07:47:45 +0000924 Don't extract the metrics table from the SFNT font file. Instead,
925 reparse it on each glyph load. The runtime difference is not
926 noticeable, and it can save a lot of heap memory when memory-mapped
927 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +0000928
Werner Lembergf6294392007-01-06 07:47:45 +0000929 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
930 `horz_metrics_offset' and `vert_metrics_ofset'.
931 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
932 Updated.
933
934
935 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
936
937
938 Do not load the CFF index offsets into memory, since this wastes a
939 *lot* of heap memory with large Asian CFF fonts. There is no
940 significant performance loss.
941
942 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
943 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
944 `data_size'.
945 (CFF_CharsetRec): Add field `num_glyphs'.
946
947 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
948 cff_charset_cid_to_gindex): New functions.
949 (cff_new_index): Renamed to...
950 (cff_index_init): This. Update all callers.
951 Updated -- some code has been moved to `cff_index_load_offsets'.
952 (cff_done_index): Renamed to...
953 (cff_index_done): This. Update all callers.
954 (cff_index_get_pointers, cff_index_access_element): Updated to use
955 stream offsets.
956 (cff_charset_compute_cids): Set `num_glyphs' field.
957 (cff_encoding_load): Updated.
958
959 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +0000960
9612007-01-04 David Turner <david@freetype.org>
962
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000963 * docs/INSTALL.UNIX: Simplify some parts, add reference to
964 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +0000965
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000966 * README.CVS: Add common problem description and solution
967 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +0000968
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000969 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +0000970
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000971 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +0000972
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000973 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +0000974
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000975 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
976 (TWorker): This.
977 Remove `count_table' and `memory'.
978 Make `grays' a pointer.
979 (TRaster): New structure.
980 (count_table): New static array.
981 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
982 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
983 ft_black_set_mode, ft_black_render): Updated.
984 (ft_black_init): Don't initialize `count_table'.
985 (ft_black_reset): Use the render pool. This saves about 6KB of
986 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +0000987
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000988 * src/smooth/ftgrays.c (TRaster): Replaced with...
989 (TWorker): This.
990 Remove `memory'.
991 (TRaster): New structure.
992
993 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
994 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
995 gray_render_span, gray_raster_render): Updated.
996 (gray_raster_reset): Use the render pool. This saves about 6KB of
997 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +0000998
David Turner8a6c44e2007-01-04 17:03:11 +0000999 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
1000 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001001 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
1002 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
1003 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00001004
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001005 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
1006 Remove a typo that results in no hinting and a memory leak with some
1007 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00001008
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001009 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00001010 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001011 CFF_Faces in it. We need to close all faces before destroying the
1012 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00001013
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000010142007-01-02 Werner Lemberg <wl@gnu.org>
1015
1016 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
1017 Remove compiler warning.
1018
David Turner9207e002007-01-02 16:58:13 +000010192007-01-02 David Turner <david@freetype.org>
1020
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001021 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00001022
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000010232006-12-31 Masatake YAMATO <jet@gyve.org>
1024
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001025 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
1026 function.
1027 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001028 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00001029 `gxv_kern_subtable_fmt0_pairs_validate'.
1030
David Turner115b4422006-12-22 11:37:05 +000010312006-12-22 David Turner <david@freetype.org>
1032
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001033 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
1034 warnings.
David Turner115b4422006-12-22 11:37:05 +00001035
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001036 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
1037 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00001038
Werner Lemberg4755bf72006-12-16 08:58:44 +000010392006-12-16 Anders Kaseorg <anders@kaseorg.com>
1040
1041 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
1042 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
1043
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000010442006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1045
Werner Lemberg9b774e22007-01-16 06:11:27 +00001046 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001047 sync with the modification by Jens Claudius on 2006-08-22; cf.
1048 http://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5
Suzuki, Toshiya (鈴木俊哉)1d5b6a62006-12-15 15:44:56 +00001049
10502006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1051
1052 * src/base/ftmac.c: Specialized for Mac OS X only.
1053 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
1054 * builds/unix/configure.raw: Ditto. When explicit switches for
1055 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
1056 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
1057
10582006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1059
1060 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
1061 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
1062 instead of src/base/ftmac.c
1063 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
1064 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
1065 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
1066 that cannot be built at present.
1067
10682006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1069
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001070 * src/base/ftobjs.c: Improvement of resource fork handler for
1071 POSIX, cf.
1072 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00001073 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
1074 format or .dfont, to simulate the face index number counted by ftmac.c.
1075 (IsMacResource): Return the number of scalable faces correctly.
1076
Werner Lembergec5b4502006-12-10 07:51:38 +000010772006-12-10 Werner Lemberg <wl@gnu.org>
1078
1079 * builds/toplevel.mk (version): Protect against `distclean' target.
1080
Werner Lembergb26b3142006-12-09 20:01:43 +000010812006-12-09 Werner Lemberg <wl@gnu.org>
1082
1083 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
1084 or `type'.
1085
1086 * builds/freetype.mk (version): Extracted from freetype.h, using
1087 GNU make's built-in string functions.
1088 (refdoc): Use $(version) instead of static version number.
1089
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000010902006-12-08 Werner Lemberg <wl@gnu.org>
1091
1092 * builds/toplevel.mk (dist): Extract version number from freetype.h.
1093
Werner Lemberg15c29502006-12-09 07:29:54 +000010942006-12-08 Vladimir Volovich <vvv@vsu.ru>
1095
1096 * src/tools/apinames (State): Remove final comma in structure -- xlc
1097 v5 under AIX 4.3 doesn't like this.
1098
David Turnerdbf3b432006-12-07 21:18:09 +000010992006-12-07 David Turner <david@freetype.org>
1100
Werner Lemberg256a3512006-12-08 06:49:33 +00001101 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
1102 to the spacing of auto-fitted glyphs. This only impacts rare
1103 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00001104
Werner Lemberg11171312006-12-03 09:43:40 +000011052006-12-03 Werner Lemberg <wl@gnu.org>
1106
1107 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
1108
Werner Lemberg960ba592006-12-01 08:20:47 +000011092006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00001110
Werner Lemberg960ba592006-12-01 08:20:47 +00001111 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
1112 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
1113 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00001114
David Turner80658e52006-11-28 08:09:20 +00001115
Werner Lemberg960ba592006-12-01 08:20:47 +00001116 * include/freetype/ftxf86.h: Fix and extend comment so that it
1117 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00001118
Werner Lemberg960ba592006-12-01 08:20:47 +00001119 * include/freetype/ftchapters.h: Add `font_format' section.
1120
1121
1122 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
1123 to TOC in index page.
1124
11252006-11-28 David Turner <david@freetype.org>
1126
1127 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
1128 trying to render into a zero-width/height bitmap, not an error code.
1129
1130 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
1131
1132 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
1133 ones instead.
1134
1135 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
1136 variable.
David Turner80658e52006-11-28 08:09:20 +00001137
Werner Lemberg8636c292006-11-26 22:28:13 +000011382006-11-26 Pierre Hanser <hanser@club-internet.fr>
1139
1140 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
1141
Werner Lemberg960ba592006-12-01 08:20:47 +000011422006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00001143
Werner Lemberg960ba592006-12-01 08:20:47 +00001144 * src/autofit/afhints.c (af_glyph_hints_dump_points,
1145 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
1146 Add stubs to link the `ftgrid' test program when debugging is
1147 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00001148
Werner Lemberg960ba592006-12-01 08:20:47 +000011492006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00001150
1151 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00001152 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
1153
1154 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
1155 Emit more sensible information.
1156
1157 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1158
1159 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1160 rounding of blue values.
1161 (af_latin_hints_compute_segments): Hint segment heights.
1162 (af_latin_hints_link_segments): Reduce `len_score' value.
1163 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1164 value and use `height' member for comparisons.
1165 (af_latin_hint_edges): Extend logging message.
1166 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001167
Werner Lemberg91959bf2006-11-22 10:36:55 +000011682006-11-22 Werner Lemberg <wl@gnu.org>
1169
1170 Fix Savannah bug #15553.
1171
1172 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1173 program after a change from mono to grayscaling (and vice versa).
1174 Use correct constant for comparison to get `exec->grayscale'.
1175
Werner Lemberg913a3652006-11-19 09:19:17 +000011762006-11-18 Werner Lemberg <wl@gnu.org>
1177
1178 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001179 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001180 This patch fixes Savannah bug #18301.
1181
1182 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1183 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1184 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1185 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1186 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1187 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1188 (FNT_Load_Glyph): Check validity of `glyph_index'.
1189
David Turner7bab6ae2006-11-13 11:25:06 +000011902006-11-13 David Turner <david@freetype.org>
1191
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001192 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1193 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001194
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001195 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1196 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1197 when building the library to change the default LCD filter to be
1198 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001199
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001200 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001201
David Turner8765c712006-11-10 16:49:42 +000012022006-11-10 David Turner <david@freetype.org>
1203
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001204 * src/smooth/ftsmooth.c: API change for the LCD
1205 filter. The FT_LcdFilter value is an enumeration describing which
1206 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1207 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1208 algorithm which produces strong color fringes for everything
1209 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001210
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001211 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1212 second parameter to an enum type.
1213
1214 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1215 (_ft_lcd_filter): Rename to...
1216 (_ft_lcd_filter_fir): This.
1217 Update parameters.
1218 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1219 (FT_Library_Set_LcdFilter): Update parameters.
1220 Handle new filter modes.
1221
1222 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1223 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1224 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1225 callback and update other fields.
1226
1227 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1228 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1229 Other minor improvements.
1230
1231 * src/autofit/aflatin.c: Various tiny improvements that drastically
1232 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1233 (af_latin_hints_compute_edges): Fix typo.
1234 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001235
David Turner4e9cc3c2006-11-09 16:31:52 +000012362006-11-09 David Turner <david@freetype.org>
1237
Werner Lemberg49c77a82006-11-09 21:51:57 +00001238 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1239 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001240
Werner Lemberg5e430892006-11-07 09:35:03 +000012412006-11-07 Zhe Su <james.su@gmail.com>
1242
1243 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1244 also.
1245
Werner Lemberg111b5ae2006-11-03 09:40:12 +000012462006-11-03 Werner Lemberg <wl@gnu.org>
1247
1248 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1249
David Turner40604742006-11-02 16:37:35 +000012502006-11-02 David Turner <david@freetype.org>
1251
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001252 Add a few tweaks to better handle serif fonts.
1253 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001254
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001255 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1256 segments that are less than 1.5 pixels high. This gets rid of
1257 *many* corner cases with serifs.
1258 (af_latin_align_linked_edge): Add logging message.
1259 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1260 Add logging messages.
1261 Handle AF_EDGE_FLAG flag specially.
1262
1263 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1264 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1265
1266 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1267 Update external declarations.
1268 (af_corner_orientation, af_corner_is_flat): Replaced by...
1269
1270 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1271 ft_corner_is_flat): These declarations.
1272
1273 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1274 Comment out. Replaced by...
1275
1276 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1277 These functions. Update all callers.
1278 (FT_Add64) [!FT_LONG64]: Simplify.
1279
1280 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1281 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1282 production of garbage by missing lots of segments.
1283
1284 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1285
1286 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1287 [AF_DEBUG]: Set _af_debug_hints.
1288
1289
1290 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1291 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1292 and ft_corner_orientation.
1293
1294
1295 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001296
Werner Lemberge88c5262006-10-24 05:46:26 +000012972006-10-24 Werner Lemberg <wl@gnu.org>
1298
1299 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1300
1301 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1302 as argument.
1303
David Turnera1861392006-10-23 16:00:59 +000013042006-10-23 Zhe Su <zsu@novell.com>
1305
Werner Lemberg715e96e2006-10-24 05:28:45 +00001306 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1307 better deal with broken Asian fonts with strange glyphs, having
1308 self-intersections and other peculiarities. The used algorithm is
1309 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001310
David Turnere140f142006-10-23 08:56:57 +000013112006-10-23 David Turner <david@freetype.org>
1312
Werner Lemberg715e96e2006-10-24 05:28:45 +00001313 Speed up the CFF font loader. With some large CFF fonts,
1314 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001315
Werner Lemberg715e96e2006-10-24 05:28:45 +00001316 * src/cff/cffload.c (cff_get_offset): Removed.
1317 (cff_new_index): Inline functionality of `cff_get_offset'.
1318 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1319 (cff_charset_done): Call `cff_charset_free_cids'.
1320 (cff_charset_load): Call `cff_charset_compute_cids'.
1321 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1322
1323 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1324 with FT_NEXT_XXX.
1325
1326
1327 Speed up the Postscript hinter, with more than 100% speed increase
1328 on my machine.
1329
1330 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1331 psh_corner_orientation): New functions.
1332 (psh_glyph_compute_inflections): Merge loops for efficiency.
1333 Use `psh_corner_orientation'.
1334 (psh_glyph_init): Use `psh_corner_is_flat'.
1335 (psh_hint_table_find_strong_point): Renamed to...
1336 (psh_hint_table_find_strong_points): This.
1337 Rewrite, adding argument to handle all points at once.
1338 Update all callers.
1339 (PSH_MAX_STRONG_INTERNAL): New macro.
1340 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001341
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000013422006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1343
1344 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001345 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001346
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000013472006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1348
1349 * docs/INSTALL.CROSS: New document file for cross-building.
1350
1351 * builds/unix/configure.raw: Preliminary cross-building support.
1352 Find native C compiler and pass it by CC_BUILD, and
1353 find suffix for native executable and pass it by EXEEXT_BUILD.
1354 Also suffix for target executable is passed by EXEEXT.
1355
Werner Lembergb9e6d692006-10-15 08:58:40 +00001356 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1357 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001358 CC_BUILD and EXEEXT_BUILD.
1359
Werner Lembergb9e6d692006-10-15 08:58:40 +00001360 * builds/exports.mk (APINAMES_EXE): Change the extension for
1361 apinames from the suffix for target (E) to that for building host
1362 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001363
Werner Lemberg82a07e92006-10-12 06:20:44 +000013642006-10-12 Werner Lemberg <wl@gnu.org>
1365
1366 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1367 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1368 which reference those files.
1369
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000013702006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1371
Werner Lembergb9e6d692006-10-15 08:58:40 +00001372 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1373 embedded in freetype2.pc and freetype-config. Use it to record
1374 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001375
1376 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1377
1378 * builds/unix/freetype-config.in: Ditto.
1379
Werner Lemberg28e17d92006-10-11 17:27:47 +000013802006-10-11 Werner Lemberg <wl@gnu.org>
1381
1382 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1383 development.
1384
Jens Claudius336d2292006-10-03 08:53:37 +000013852006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1386
1387 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1388 argument to ft_setjmp.
1389
1390 * include/freetype/internal/ftvalid.h: Add comment that
1391 ft_validator_run must not be used.
1392
Werner Lemberg2863cfa2006-10-01 17:04:00 +000013932006-10-01 Werner Lemberg <wl@gnu.org>
1394
1395 * src/base/ftbase.c: Undo change from 2006-09-30.
1396
1397 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1398
13992006-09-30 David Turner <david@freetype.org>
1400
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001401 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1402 s/unpatented_hinting/ignore_unpatented_hinter/.
1403 Update all callers.
1404
1405 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1406 auto-hinting shall be used or not.
1407
1408 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001409
Werner Lemberg2863cfa2006-10-01 17:04:00 +000014102006-09-30 Werner Lemberg <wl@gnu.org>
1411
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001412 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1413 in use).
1414
1415 * src/base/ftbase.c: Include `ftlcdfil.c'.
1416
Werner Lemberg9b15ea32006-09-29 18:22:11 +000014172006-09-29 Werner Lemberg <wl@gnu.org>
1418
1419 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1420 overlapping segments. Bug reported by Stefan Koch.
1421
David Turnerad830712006-09-27 16:20:59 +000014222006-09-28 David Turner <david@freetype.org>
1423
Werner Lemberg2c002e12006-09-29 21:31:53 +00001424 Fix a bug in the automatic unpatented hinting support which prevents
1425 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001426
Werner Lemberg2c002e12006-09-29 21:31:53 +00001427 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1428 s/force_autohint/unpatented_hinting/. Update all callers.
1429
1430 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1431
1432 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001433
David Turner8a317cf2006-09-27 07:52:48 +000014342006-09-27 David Turner <david@freetype.org>
1435
Werner Lemberg2c002e12006-09-29 21:31:53 +00001436 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001437
David Turner8a317cf2006-09-27 07:52:48 +00001438
David Turnere140f142006-10-23 08:56:57 +00001439 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001440 In a default build, the function `FT_Library_SetLcdFilter' returns
1441 `FT_Err_Unimplemented_Feature'; you need to #define
1442 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1443 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001444
Werner Lemberg2c002e12006-09-29 21:31:53 +00001445 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001446
Werner Lemberg2c002e12006-09-29 21:31:53 +00001447 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1448 typedef.
1449 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1450 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001451
Werner Lemberg2c002e12006-09-29 21:31:53 +00001452 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1453 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001454
Werner Lemberg2c002e12006-09-29 21:31:53 +00001455 Handle subpixel rendering.
1456 Simplify function.
1457 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1458 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1459
1460 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1461 pointing to <freetype/ftlcdfil.h>.
1462
1463 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1464 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1465
1466 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001467
Werner Lemberge20df4a2006-09-27 06:29:21 +000014682006-09-26 David Bustin
1469
1470 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1471 correctly. Reported as Savannah bug #17843.
1472
David Turner6f8c6222006-09-26 15:42:44 +000014732006-09-26 David Turner <david@freetype.org>
1474
Werner Lemberg110246c2006-09-26 21:55:44 +00001475 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1476 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1477 horizontal and vertical hinting for the purpose of debugging the
1478 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001479
Werner Lemberg110246c2006-09-26 21:55:44 +00001480 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1481 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001482
Werner Lemberg110246c2006-09-26 21:55:44 +00001483 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1484
1485 * include/freetype/config/ftoption.h, devel/ftoption.h
1486 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1487 we want to compile LCD-optimized rendering code (à la ClearType) or
1488 not. The macro *must* be disabled in default builds of the library
1489 for patent reasons.
1490
1491 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1492 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1493 isn't defined at compile time. This only changes the content of the
1494 rendered glyph to match the one of normal gray-level rendering,
1495 hence clients should not need to be modified.
1496
1497 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001498
Werner Lemberg745ff2c2006-09-19 05:48:02 +000014992006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1500
1501 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1502 LWFN fails and both are available.
1503
David Turnerf3050052006-09-11 12:00:32 +000015042006-09-11 David Turner <david@freetype.org>
1505
Werner Lembergf9644552006-09-12 13:48:10 +00001506 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1507 report their English names through an Apple Roman
1508 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001509
Werner Lembergf9644552006-09-12 13:48:10 +00001510 If the font uses another name entry with language_id == English, it
1511 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001512
Werner Lembergf9644552006-09-12 13:48:10 +00001513 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1514 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001515
Werner Lemberg36d2eab2006-09-05 19:24:34 +000015162006-09-05 Werner Lemberg <wl@gnu.org>
1517
1518 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001519 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001520 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1521 `HAN NOM B.ttf').
1522
1523 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1524
David Turner772e55d2006-09-05 09:45:15 +000015252006-09-05 David Turner <david@freetype.org>
1526
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001527 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001528
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001529 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1530 (TRaster): Remove `count_ex' and `count_ey'.
1531 (gray_find_cell): Remove 2nd and 3rd argument.
1532 (gray_alloc_cell): Merged with `gray_find_cell'.
1533 (gray_record_cell): Simplify.
1534 (gray_set_cell): Rewrite.
1535 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1536 (gray_render_span): Don't use FT_MEM_SET for small values.
1537 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1538 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1539 bitmap scanline.
1540 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001541
David Turneraa557a92006-09-04 16:42:44 +000015422006-09-04 David Turner <david@freetype.org>
1543
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001544 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1545 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001546
Werner Lemberg2d8629b2006-09-03 06:18:45 +000015472006-09-03 Werner Lemberg <wl@gnu.org>
1548
1549 * devel/ftoption.h: Synchronize with
1550 include/freetype/config/ftoption.h.
1551
1552 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1553 variable declaration.
1554 (gray_convert_glyph): Fix compiler warnings.
1555
David Turner6d79f212006-09-01 14:09:35 +000015562006-09-01 David Turner <david@freetype.org>
1557
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001558 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1559 to recognize a few fonts that require the automatic unpatented
1560 loader.
David Turnerbd502952006-09-01 19:05:24 +00001561
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001562 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1563 rasterizer. The speed improvement is between 15% and 25%, depending
1564 on the font data.
1565
1566 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1567 (TCell): Redefine.
1568 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1569 (gray_init_cells): Updated.
1570 (gray_find_cell, gray_alloc_cell): New functions.
1571 (gray_record_cell): Rewritten to use `gray_find_cell' and
1572 `gray_alloc_cell'.
1573 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1574 QSORT_THRESHOLD):
1575 Removed.
1576 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1577 gray_dump_cells): Removed.
1578 (gray_sweep): Rewritten.
1579 (gray_convert_glyph): Rewrite code which used one of the sorting
1580 functions.
1581 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001582
Werner Lembergd898aed2006-08-29 09:50:34 +000015832006-08-29 Dr. Werner Fink <werner@suse.de>
1584
1585 * configure: Make it possible to handle configure options which
1586 have strings containing spaces.
1587
15882006-08-27 David Turner <david@freetype.org>
1589
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001590 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1591 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1592 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1593
1594 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1595 src/truetype/truetype.c, src/truetype/ttdriver.c,
1596 src/truetype/ttgload.c, src/truetype/ttgload.h,
1597 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1598 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1599 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1600
1601 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1602 member `force_autohint'.
1603
1604 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1605
1606 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1607 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001608
Jens Claudiusa787f452006-08-27 11:26:18 +000016092006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1610
1611 Fix miscellaneous compiler warnings.
1612
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001613 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1614 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001615
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001616 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1617 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1618 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001619
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001620 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1621 volatileness of argument to ft_longjmp. Spotted by Werner
1622 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001623
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001624 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1625 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001626
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001627 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1628 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001629
Werner Lembergc4c35b72006-08-27 08:03:46 +000016302006-08-27 Werner Lemberg <wl@gnu.org>
1631
1632 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1633 Reported by Jens.
1634
Jens Claudius088e44e2006-08-22 14:24:30 +000016352006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001636
Jens Claudius088e44e2006-08-22 14:24:30 +00001637 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001638 about addresses of volatile objects passed as function arguments as
1639 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001640
Werner Lembergc4c35b72006-08-27 08:03:46 +00001641 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1642 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001643
1644 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1645 argument `table' a pointer to a volatile object.
1646
1647 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1648 argument `table' a pointer to a volatile object.
1649
Jens Claudius2652bd52006-08-18 17:20:37 +000016502006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1651
1652 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1653 variable `_sfnt' as volatile since it must keep its value across
1654 a call to ft_setjmp.
1655 (gxv_validate): Same for local variables `memory' and `valid'.
1656 (classic_kern_validate): Same for local variables `memory',
1657 `ckern', and `valid'.
1658
1659 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1660 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1661 `jstf', and 'valid'.
1662
1663 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1664 local variable `cmap'.
1665
David Turner9fbfc6a2006-08-16 09:11:31 +000016662006-08-16 David Turner <david@freetype.org>
1667
Werner Lemberg12342992006-08-19 11:18:09 +00001668 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1669 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001670
Werner Lemberg12342992006-08-19 11:18:09 +00001671 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1672 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001673
David Turner33f5f242006-08-16 16:50:55 +00001674
Werner Lemberg12342992006-08-19 11:18:09 +00001675 Improvements to native TrueType hinting. This is a first try,
1676 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1677
1678 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1679 `extra_points2'.
1680
1681 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1682 `orus'.
1683
1684 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1685 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1686 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1687 handle `extra_points2'.
1688
1689 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1690 Remove compiler warning.
1691 (cur_to_arg): Remove macro.
1692 (TT_Hint_Glyph): Updated.
1693 (TT_Process_Simple_Glyph): Handle `orus'.
1694
1695 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1696 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1697 (LOC_Ins_IUP): Renamed to...
1698 (IUP_WorkerRec): This.
1699 Add `orus' member.
1700 (Shift): Renamed to...
1701 (_iup_worker_shift): This.
1702 Updated.
1703 (Interp): Renamed to...
1704 (_iup_worker_interpolate): This.
1705 Updated to handle `orus'.
1706 (Ins_IUP): Updated.
1707
1708 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1709 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001710
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000017112006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1712
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001713 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001714 build ftvalid in ft2demos. This has been inadvertedly changed
1715 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001716
17172006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1718
Werner Lemberg12342992006-08-19 11:18:09 +00001719 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1720 Jens:
1721 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001722
Werner Lemberg12342992006-08-19 11:18:09 +00001723 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1724 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001725
1726 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1727
Jens Claudius9950adc2006-08-13 12:14:36 +000017282006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1729
Werner Lemberg12342992006-08-19 11:18:09 +00001730 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1731 T1_TOKEN_TYPE_KEY.
1732 (T1_FieldRec): Add `dict'.
1733 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1734 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1735 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001736
Werner Lemberg12342992006-08-19 11:18:09 +00001737 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1738 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001739
1740 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1741
1742 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001743 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1744 not T1_TOKEN_TYPE_ANY.
1745 (ps_parser_load_field): Make sure a token that should be a string or
1746 name is really a string or name.
1747 Avoid memory leak if a keyword has been already encountered and its
1748 value is overwritten.
1749 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1750 T1_FIELD_XXX.
1751 (parse_dict): Ignore keywords that occur in the wrong dictionary
1752 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001753
Werner Lemberg12342992006-08-19 11:18:09 +00001754 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1755 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001756
Werner Lemberg12342992006-08-19 11:18:09 +00001757 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1758 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001759
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000017602006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1761
1762 Move creation of field `buildchar' of T1_DecoderRec out of
1763 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1764 of it.
1765
1766 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1767 and `T1_Compute_Max_Advance'.
1768
1769 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1770 Remove field `face', add `len_buildchar'.
1771
1772 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1773 field `buildchar'.
1774
1775 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1776 finisher for T1_Decoder.
1777 (cid_slot_load_glyph): Do not ignore failure when initializing the
1778 T1_Decoder.
1779
1780 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
1781 Updated.
1782 (t1_decoder_init): Remove initialization of fields `buildchar' and
1783 `len_buildchar'.
1784 (t1_decoder_done): Remove deallocation of field `buildchar'.
1785
1786 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
1787 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
1788 T1_Decoder.
1789 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
1790 `len_buildchar'; make sure to call finisher for T1_Decoder even in
1791 case of error.
1792
1793 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
1794 `buildchar' of T1_FaceRec.
1795
1796 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
1797 `buildchar' of T1_FaceRec.
1798
Werner Lemberg1a380e02006-07-14 18:28:08 +000017992006-07-14 Jens Claudius <jens.claudius@yahoo.com>
1800
1801 * freetype2/include/freetype/internal/psaux.h: New macros
1802 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
1803 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
1804 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
1805 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
1806 (T1_DecoderRec): New fields `buildchar' and `face'.
1807 (IS_PS_TOKEN): New macro.
1808
1809 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
1810 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
1811
1812 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
1813 `default_design_vector' and `num_default_design_vector'.
1814
1815 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
1816 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
1817 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
1818
1819 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
1820 `token' argument to be NULL if we want only to count the number of
1821 tokens.
1822 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
1823 want to skip the array.
1824 (ps_tofixedarray): Allow `values' argument to be NULL if we just
1825 want to skip the array.
1826
1827 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
1828 support for (partially commented out) othersubrs 19-25, 27, and 28.
1829 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
1830 (t1_decoder_done): Release new field `buildchar'.
1831
1832 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
1833 functions.
1834 (t1_keywords): Register them.
1835 (t1_allocate_blend): Updated.
1836 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
1837 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
1838 (parse_dict): Remove `keyword_flags' argument.
1839 Use new macro IS_PS_TOKEN.
1840 Changed function so that later PostScript definitions override
1841 earlier ones.
1842 (t1_init_loader): Initialize new field `keywords_encountered'.
1843 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
1844 `len_buildchar'.
1845 Remove `keywords_flags'.
1846
1847 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
1848 `keywords_encountered'.
1849 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
1850
1851 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
1852 New entries for parsing /NDV, /CDV, and /DesignVector.
1853
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000018542006-07-07 Werner Lemberg <wl@gnu.org>
1855
1856 Add many checks to protect against malformed PCF files.
1857
1858 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
1859 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
1860
1861 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
1862 data and check that tables don't overlap (using a simple
1863 bubblesort).
1864 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
1865 New macros which give the size of data structures in the data
1866 stream.
1867 (pcf_get_properties): Use rough estimates to get array size limits.
1868 Assign `face->nprops' and `face->properties' earlier so that a call
1869 to PCF_Face_Done can do the clean-up in case of error.
1870 Protect against invalid string offsets.
1871 (pcf_get_metrics): Clean up code.
1872 Adjust tracing message levels.
1873 Use rough estimate to get array size limit.
1874 (pcf_get_bitmaps): Clean up code.
1875 Adjust tracing message levels.
1876 Use rough estimates to get offset limits.
1877 (pcf_get_encodings): Adjust tracing message level.
1878 (pcf_get_accel): Clean up code.
1879
Werner Lemberg8eb05252006-06-27 06:20:01 +000018802006-06-26 Werner Lemberg <wl@gnu.org>
1881
1882 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
1883 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
1884
Werner Lemberg24703f82006-06-26 19:12:51 +000018852006-06-26 Jens Claudius <jens.claudius@yahoo.com>
1886
1887 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
1888 (t1_decoder_parse_charstrings): Operator with
1889 opcode 15 pops its two arguments.
1890 Handle the case where the pops of an othersubr may be part of a
1891 subroutine.
1892 Handle unknown othersubrs gracefully: count their operands and let
1893 the following pop operators push the operands as the results onto
1894 the Type1 stack.
1895 Improve handling of setcurrentpoint opcode.
1896
Werner Lembergc011f4c2006-06-26 09:40:00 +000018972006-06-25 Jens Claudius <jens.claudius@yahoo.com>
1898
1899 The Type 1 parser now skips over top-level procedures as required
1900 for a `Simplified Parser'. This makes the parser more robust as it
1901 doesn't poke around in PostScript code. Additionally, it makes the
1902 FontDirectory hackery in src/type1/t1load.c unnecessary.
1903
1904 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
1905 (skip_literal_string): Add FT_Error as return value.
1906 Handle escapes better.
1907 (skip_string): Add FT_Error as return value.
1908 Don't set `parser->error' but return error code directly.
1909 (skip_procedure): New function.
1910 (ps_parser_skip_PS_token): Handle procedures.
1911 Update code.
1912 (ps_parser_to_token): Update code.
1913 (ps_parser_load_field_table): Handle bbox entries also.
1914
1915 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
1916 Add commented-out code for synthetic fonts.
1917
Werner Lemberga2da05c2006-06-25 06:27:27 +000019182006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
1919
1920 Fix two hinting bugs as reported in
1921 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
1922
1923 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
1924 `first_point' member.
1925
1926 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
1927 `first_point'.
1928 (TT_Process_Composite_Glyph): Always untouch points.
1929
1930 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
1931 `first_point' and `last_point' in case of composite glyphs.
1932 (Ins_IUP): Fix computation of `end_point'.
1933
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000019342006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1935
Werner Lembergef3d2c22006-06-25 06:07:14 +00001936 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
1937 Mac. The original patch was written by David Sachitano and Lawrence
1938 Coopet, and modified by Sean McBride for MPW compatibility. Only
1939 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001940
Werner Lembergef3d2c22006-06-25 06:07:14 +00001941 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
1942 Mac OS X platforms.
1943 (OS_INLINE): Undefine before definition.
1944 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
1945 FontAssociation table in FOND resource.
1946 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
1947 and fontSize at each entry of FontAssociation table in FOND
1948 resource.
1949 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
1950 ffStylOff of FamilyRecord header of FOND resource, the header,
1951 fontSize, fontID at each entry of FontAssociation table, and
1952 StyleMapping table.
1953 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001954
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000019552006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1956
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001957 Public API of TrueTypeGX, OpenType, and classic kern table validator
1958 should return `FT_Err_Unimplemented_Feature' if validation service
1959 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00001960 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001961 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
1962
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001963 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
1964 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
1965 unavailable.
1966 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
1967 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001968
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001969 * src/base/ftotval.c (FT_OpenType_Validate): Return
1970 FT_Err_Unimplemented_Feature if OpenType validation service is
1971 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001972
Werner Lembergb10e45a2006-06-08 07:32:56 +000019732006-06-08 Werner Lemberg <wl@gnu.org>
1974
1975 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
1976 errors.
1977
David Turner5f1f7502006-06-07 05:11:50 +000019782006-06-07 David Turner <david@freetype.org>
1979
Werner Lemberg7d48cb02006-06-08 06:00:08 +00001980 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
1981 (T1_Read_Metrics): Fix memory leak which happened when the metrics
1982 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00001983
David Turner457b4a82006-06-06 08:14:14 +000019842006-06-06 David Turner <david@freetype.org>
1985
Werner Lemberg4836f952006-06-06 12:54:08 +00001986 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00001987
Werner Lemberg4836f952006-06-06 12:54:08 +00001988 We change `ps_unicodes_init' so that it also takes a
1989 `free_glyph_name' callback to release the glyph names returned by
1990 `get_glyph_name'
1991
1992 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
1993 Renamed to ...
1994 (PS_GetGlyphNameFunc): This.
1995 (PS_FreeGlyphNameFunc): New typedef.
1996 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
1997
1998 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
1999 argument.
2000 (cff_sid_free_glyph_name): New function.
2001 (cff_cmap_unicode_init): Updated.
2002
2003 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
2004
2005 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
2006 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00002007
2008
David Turner09717352006-06-04 14:33:08 +000020092006-06-04 David Turner <david@freetype.org>
2010
Werner Lembergd724f202006-06-04 15:17:41 +00002011 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
2012 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00002013 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00002014
Werner Lembergd724f202006-06-04 15:17:41 +00002015 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
2016 of `face->num_glyphs' which missed the last glyph, due to
2017 the offset-by-1 computation, since the PFR format doesn't
2018 guarantee that glyph index 0 corresponds to the `missing
2019 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00002020
Werner Lemberg33779662006-05-26 06:30:05 +000020212006-05-25 Werner Lemberg <wl@gnu.org>
2022
2023 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
2024 `-no-undefined'. Reported by Christian Biesinger.
2025
Werner Lemberg24773d62006-05-20 08:53:13 +000020262006-05-19 Brian Weed <bw@imaginengine.com>
2027
2028 * builds/win32/visualc/freetype.dsp: Release libraries no longer
2029 have debug information, and debug libraries use `C7 compatible'
2030 debug info.
2031
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000020322006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2033
Werner Lemberga6523a62006-05-20 08:47:01 +00002034 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00002035 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002036
Werner Lemberga6523a62006-05-20 08:47:01 +00002037 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
2038 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002039
2040 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00002041 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002042
20432006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2044
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00002045 * build/unix/configure.raw: Add a fallback to disable Carbon
2046 dependency, if configured with no options on Mac OS X.
2047
20482006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2049
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002050 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00002051 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002052 the second part of Savannah bug #16590.
2053
Werner Lemberg545c4e52006-05-17 22:55:04 +000020542006-05-18 Werner Lemberg <wl@gnu.org>
2055
2056 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
2057 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
2058
David Turnerdc3ff312006-05-17 12:59:35 +000020592006-05-17 David Turner <david@freetype.org>
2060
Werner Lemberg545c4e52006-05-17 22:55:04 +00002061 This is a major patch used to drastically improve the performance of
2062 loading glyphs. This both speeds up loading the glyph vectors
2063 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00002064
Werner Lemberg545c4e52006-05-17 22:55:04 +00002065 We now use inline assembler code with GCC to implement `FT_MulFix',
2066 which is probably the most important function related to the
2067 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00002068
Werner Lemberg545c4e52006-05-17 22:55:04 +00002069 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00002070
2071
Werner Lemberg545c4e52006-05-17 22:55:04 +00002072 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
2073 `cursor' and `limit'.
2074
2075 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
2076 New functions.
2077 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
2078 [TEST]: Remove.
2079
2080 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
2081 code.
2082
2083 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
2084 `FT_ZERO'
2085 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
2086 (af_glyph_hints_reload: Rewrite recognition of weak points.
2087
2088 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
2089 constant values out of the loops.
2090
2091 * src/autofit/aftypes.h: Updated.
2092
2093 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
2094
2095 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
2096 product to get orientation.
2097
2098 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
2099 (FT_Stream_OpenGzip): Use it to handle small files directly in
2100 memory.
2101
2102 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
2103 Improve performance.
2104
2105 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
2106 `limit'.
2107
2108 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
2109 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
2110 exceedingly large values of number of contours. Speed up by
2111 reducing the number of loops.
2112
2113 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
2114
2115
2116 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
2117 used to detect rogue clients from 4 to 16. This is to prevent some
2118 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
2119 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00002120
Werner Lembergde2d90a2006-05-17 08:54:30 +000021212007-05-17 Werner Lemberg <wl@gnu.org>
2122
2123 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00002124 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00002125
21262006-05-16 Werner Lemberg <wl@gnu.org>
2127
2128 * docs/PROBLEMS: Updated icl issues.
2129
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002130----------------------------------------------------------------------------
2131
Werner Lemberg42b63b22007-01-21 21:01:33 +00002132Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002133David Turner, Robert Wilhelm, and Werner Lemberg.
2134
2135This file is part of the FreeType project, and may only be used, modified,
2136and distributed under the terms of the FreeType project license,
2137LICENSE.TXT. By continuing to use, modify, or distribute this file you
2138indicate that you have read the license and understand and accept it
2139fully.
2140
2141
2142Local Variables:
2143version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002144coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002145End: