blob: aaee4f555e754ed8266daae4103eb6cf60b3bf30 [file] [log] [blame]
David Turnerf0cd69c2007-05-28 15:42:09 +000012007-05-28 David Turner <david@freetype.org>
2
David Turner552a9562007-05-28 15:45:35 +00003 * src/cff/cffgload.c: do not apply the font transform to loaded glyph
4 if it is the identity. this cuts a significant percent of CFF glyph
5 loading time
6
David Turnerf0cd69c2007-05-28 15:42:09 +00007 * src/autofit/afglobal.c: change default hinting script to
8 CJK, since it works well with a larger array of scripts. thanks to
9 "Rahul Bhalerao" <b.rahul.pm@gmail.com> for pointing this out !
10
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000112007-05-25 Werner Lemberg <wl@gnu.org>
12
13 * docs/CHANGES: Updated.
14
Werner Lemberg6ff2ff52007-05-24 19:39:14 +0000152007-05-24 Werner Lemberg <wl@gnu.org>
16
17 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
18 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
19
202007-05-24 Graham Asher <graham.asher@btinternet.com>
21
22 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
23 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
24
David Turnerf0cd69c2007-05-28 15:42:09 +000025>>>>>>> 1.1589
David Turner0d0365e2007-05-22 09:53:44 +0000262007-05-22 David Turner <david@freetype.org>
27
Werner Lemberg1c8980e2007-05-25 07:11:12 +000028 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
29 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +000030
Werner Lemberg1c8980e2007-05-25 07:11:12 +000031
32 Avoid heap blowup with very large .Z font files. This fixes
33 Savannah bug #19910.
34
35 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
36 `in_limit', `pad', `pad_bits', and `in_buff' members.
37 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
38 `buf_total' members.
39
40 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
41 only one argument.
42 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +000043
442007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +000045
46 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
47 (ps_dimension_set_mask_bits): Remove `const'.
48
David Turner0d0365e2007-05-22 09:53:44 +0000492007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +000050
51 * src/sfnt/ttmtx.c (tt_face_get_metrics)
52 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
53
Werner Lembergb826fa72007-05-19 07:18:48 +0000542007-05-19 Derek Clegg <dclegg@apple.com>
55
56 Savannah patch #5929.
57
58 * include/freetype/tttables.h, src/base/ftobjcs.c
59 (FT_Get_CMap_Format): New function.
60
61 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
62 `format' member.
63 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
64 cmap_info->format.
65
Werner Lemberg6f99c882007-05-19 07:01:49 +0000662007-05-19 Werner Lemberg <wl@gnu.org>
67
68 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
69 before handling subglyphs so that it can be reinitialized each time.
70 This fixes Savannah bug #19859.
71
Werner Lemberg95bc9d32007-05-16 15:19:42 +0000722007-05-16 Werner Lemberg <wl@gnu.org>
73
74 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
75 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
76 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
77 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
78 tt_face_get_metrics): Fix type-punning issues.
79
David Turner0a24bd22007-05-15 10:54:10 +0000802007-05-15 David Turner <david@freetype.org>
81
82 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +000083 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
84 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +000085 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +000086 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +000087
Werner Lemberg607dec72007-05-15 06:49:37 +0000882007-05-15 Graham Asher <graham.asher@btinternet.com>
89
90 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
91 variable.
92 * src/autofit/afloader.c (af_loader_load_g): Ditto.
93
94 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
95 (open_face_from_buffer): Initialize `stream'.
96 (FT_Request_Metrics): Remove unused variable.
97 Remove redundant `break' statements.
98 (FT_Get_Track_Kerning): Remove unused variable.
99
100 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
101 afm_parse_kern_data): Remove redundant
102 `break' statements.
103 (afm_parser_parse): Ditto.
104 Don't use uninitialized variables.
105
106 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
107 Use `|' operator instead of `^' to set it.
108 Update all users.
109
110 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
111 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
112
113 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
114 comparison.
115 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
116 (TT_Load_Glyph): Remove unused variable.
117
Werner Lemberg8d463a52007-05-13 16:01:55 +00001182007-05-13 Derek Clegg <dclegg@apple.com>
119
120 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
121 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
122
David Turner711cf842007-05-11 14:36:24 +00001232007-05-11 David Turner <david@freetype.org>
124
Werner Lemberg56ceaa42007-05-14 18:53:58 +0000125 * src/cache/ftbasic.c, include/freetype/ftcache.h
126 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
127 functions that allow us to look up glyphs using an FTC_Scaler object
128 to specify the size, making it possible to use fractional pixel
129 sizes.
130
131 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
132 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +0000133
Werner Lemberg94be20e2007-05-09 20:02:55 +00001342007-05-09 Graham Asher <graham.asher@btinternet.com>
135
136 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
137 (af_latin_metrics_scale_dim): Fix compiler warnings.
138
Werner Lemberg41271032007-05-06 04:51:48 +00001392007-05-06 Werner Lemberg <wl@gnu.org>
140
141 * builds/win32/visualce/freetype.sln: Removed, as requested by
142 Vincent.
143
Werner Lembergdf49e692007-05-04 06:30:05 +00001442007-05-04 Vincent RICHOMME <richom.v@free.fr>
145
146 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
147 PC targets.
148
149 * docs/CHANGES: Document them.
150
1512007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +0000152
153 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
154 mmap (which might happen on some RTOS). From Savannah patch #5909.
155
Werner Lemberg106eaf12007-05-03 07:07:47 +00001562007-05-03 Werner Lemberg <wl@gnu.org>
157
158 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
159 * include/freetype/freetype.h (FT_Set_Char_Size): Update
160 documentation.
161
Werner Lemberg1b5267d2007-04-28 21:06:15 +00001622007-04-28 Victor Stinner <victor.stinner@inl.fr>
163
164 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
165 `cmap'.
166
Werner Lembergcc712a22007-04-27 17:16:50 +00001672007-04-27 Werner Lemberg <wl@gnu.org>
168
169 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
170 number of points in contours. Problem reported by Victor Stinner
171 <victor.stinner@haypocalc.com>.
172 (TT_Process_Simple_Glyph): Synchronize variable types.
173
Werner Lemberg45bb18f2007-04-26 06:26:35 +00001742007-04-26 Werner Lemberg <wl@gnu.org>
175
176 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
177 zero in case of error. This fixes Savannah bug #19689.
178
David Turnera8b45e62007-05-11 14:10:30 +00001792007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
180
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000181 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
182 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +0000183
Werner Lembergfcc1f472007-04-10 11:51:50 +00001842007-04-10 Martin Horak <horakm@centrum.cz>
185
186 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
187 Ignore `hhea' table. This fixes Savannah bug #19261.
188
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001892007-04-09 Werner Lemberg <wl@gnu.org>
190
191 * Version 2.3.4 released.
192 =========================
193
194
195 Tag sources with `VER-2-3-4'.
196
197 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
198 version number to 2.3.4.
199
200 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
201 builds/win32/visualc/freetype.dsp,
202 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
203
204 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
205
206 * builds/unix/configure.raw (version_info): Set to 9:15:3.
207
Werner Lembergf4a52a62007-04-09 08:40:11 +00002082007-04-09 Martin Horak <horakm@centrum.cz>
209
210 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
211 memory stream to avoid a crash with the incremental memory
212 interface (Savannah bug #19260).
213
David Turner1dcb4442007-04-06 08:19:04 +00002142007-04-06 David Turner <david@freetype.org>
215
Werner Lembergc81cf612007-04-06 09:28:23 +0000216 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
217 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000218
Werner Lemberg9f83e052007-04-05 02:28:23 +00002192007-04-04 Werner Lemberg <wl@gnu.org>
220
221 * Version 2.3.3 released.
222 =========================
223
224
225 Tag sources with `VER-2-3-3'.
226
227 * docs/CHANGES: Mention CVE-2007-1351.
228
David Turner7338ec22007-04-03 14:30:34 +00002292007-04-03 David Turner <david@freetype.org>
230
231 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000232 if one of the resolution values is 0, treat it as if it were the
233 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000234
David Turnere6472c12007-04-02 13:13:54 +00002352007-04-02 David Turner <david@freetype.org>
236
Werner Lemberg94f12272007-04-03 07:19:53 +0000237 Add special code to detect `extra-light' fonts and do not snap their
238 stem widths too much to avoid bizarre hinting effects.
239
240 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
241 `extra_light' members.
242
243 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
244 them.
245 (af_latin_metrics_scale_dim): Set `extra_light'.
246 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000247
David Turner3f539692007-03-28 14:53:40 +00002482007-03-28 David Turner <david@freetype.org>
249
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000250 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000251 padding.
252
Werner Lemberga08b2172007-03-28 07:17:17 +00002532007-03-28 Werner Lemberg <wl@gnu.org>
254
255 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
256 gracefully.
257 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000258 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000259 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
260 number of code points in Unicode.
261
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000262 * builds/win32/visualc/index.html,
263 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000264 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000265 s/232/233/.
266
267 * docs/CHANGES: Mention ftdiff.
268
David Turner3b242d32007-03-26 12:03:04 +00002692007-03-26 David Turner <david@freetype.org>
270
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000271 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
272 corresponding code.
273 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000274
Werner Lemberga08b2172007-03-28 07:17:17 +0000275 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000276 computations in order to ignore single-point contours. These are
277 never rasterized and correspond in certain fonts to mark-attach
278 points that are very far from the glyph's real outline, ruining the
279 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000280
Werner Lemberga08b2172007-03-28 07:17:17 +0000281 * src/autofit/afloader.c (af_loader_load_g): In the case of
282 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
283 Otherwise code that uses them will most certainly ruin the fixed
284 advance property.
David Turner23553d62007-03-26 13:37:17 +0000285
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000286 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
287 documentation and bump version number to 2.3.3.
288
289 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
290
291 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000292
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00002932007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
294
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000295 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
296 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000297 * builds/vms/ftconfig.h: Ditto.
298 * include/freetype/config/ftconfig.h: Ditto.
299
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00003002007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
301
Werner Lemberg14ffe092007-03-22 06:12:43 +0000302 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
303 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000304 proposed by Sean McBride:
305 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
306
3072007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
308
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000309 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
310 setjmp, proposed by Sean McBride:
311 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
312
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00003132007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
314
Werner Lembergc9f6c662007-03-21 13:30:14 +0000315 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
316 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
317 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000318
David Turner74c34eb2007-03-18 07:19:31 +00003192007-03-18 David Turner <david@freetype.org>
320
Werner Lembergc9f6c662007-03-21 13:30:14 +0000321 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
322 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000323
Werner Lembergc9f6c662007-03-21 13:30:14 +0000324 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000325
David Turner89020d92007-03-17 17:48:57 +00003262007-03-17 David Turner <david@freetype.org>
327
Werner Lembergc9f6c662007-03-21 13:30:14 +0000328 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
329 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000330
Werner Lemberg25d592a2007-03-09 07:59:35 +00003312007-03-09 Werner Lemberg <wl@gnu.org>
332
333 * Version 2.3.2 released.
334 =========================
335
336
337 Tag sources with `VER-2-3-2'.
338
339 * builds/win32/visualc/index.html,
340 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000341 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000342 s/231/232/.
343
David Turner3a51afa2007-03-08 10:50:38 +00003442007-03-08 David Turner <david@freetype.org>
345
Werner Lemberg25d592a2007-03-09 07:59:35 +0000346 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000347
Werner Lemberg25d592a2007-03-09 07:59:35 +0000348 * builds/unix/configure.raw (version_info): Set to 9:13:3.
349
350 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
351
352 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000353
Werner Lemberg1e259de2007-03-08 15:39:21 +0000354 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
355 function to work properly, over-writing user-provided buffers in
356 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000357
David Turner121cad52007-03-08 16:43:50 +0000358
Werner Lemberg3d92f082007-03-06 11:59:24 +00003592007-03-05 Werner Lemberg <wl@gnu.org>
360
361 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
362 macro for `strstr'.
363
364 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
365 `trick_names', as suggested by Ivan Nincic.
366
David Turner085bc6e2007-03-05 17:40:03 +00003672007-03-05 David Turner <david@freetype.org>
368
Werner Lembergd112cf02007-03-06 12:06:56 +0000369 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
370 case FT_Init_FreeType fails for some reason. Problem reported by
371 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000372
Werner Lembergd112cf02007-03-06 12:06:56 +0000373 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
374 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
375 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
376 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000377
Werner Lembergd112cf02007-03-06 12:06:56 +0000378 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
379 signed values, not unsigned ones. Problem reported by Johannes
380 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000381
David Turner601aefe2007-02-21 16:47:49 +00003822007-02-21 David Turner <david@freetype.org>
383
Werner Lembergde5e6862007-02-25 21:06:43 +0000384 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
385 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000386
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00003872007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
388
389 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
390 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
391 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
392
Werner Lemberga0915172007-02-16 08:12:50 +00003932007-02-16 Werner Lemberg <wl@gnu.org>
394
395 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
396 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
397
David Turner2c4500e2007-02-14 15:08:47 +00003982007-02-14 David Turner <david@freetype.org>
399
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000400 It seems that the following changes fix most of the known
401 interpreter problems with my fonts, but more testing is needed,
402 though.
403
404 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
405 (TT_MulFix14): Rewrite.
406 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
407 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000408
Werner Lembergc6a14082007-02-12 22:08:15 +00004092007-02-12 Werner Lemberg <wl@gnu.org>
410
411 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
412 warnings.
413
414 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
415 (bdf_interpret_style): Ditto.
416
David Turnerc0f9c4a2007-02-12 14:55:03 +00004172007-02-12 David Turner <david@freetype.org>
418
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000419 Simplify projection and dual-projection code interface.
420
Werner Lemberg406d25f2007-02-12 22:01:18 +0000421 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
422 FT_Vector' as argument type.
423 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
424 Updated.
425 (CUR_fast_project, CUR_fast_dualproj): New macros.
426 (Project, Dual_Project, Project_x, Project_y): Updated.
427 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
428 macros.
429
430
431 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
432 adjustments for the non-light auto-hinted modes. Gets rid of
433 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000434
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000435 * src/autofit/aflatin.c (af_latin_hints_link_segments,
436 af_latin_hints_compute_edges): Slight optimization of the segment
437 linker and better handling of serif segments to get rid of broken
438 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000439
David Turnerc0f9c4a2007-02-12 14:55:03 +0000440
Werner Lemberg442bfb82007-02-12 21:44:10 +0000441 Introduce new string functions and the corresponding macros to get
442 rid of various uses of strcpy and other `evil' functions, as well as
443 to simplify a few things.
444
445 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
446 ft_mem_strcpyn): New declarations.
447 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
448 macros.
449 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
450 functions.
451
452 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
453 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
454 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
455 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
456 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
457 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
458 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
459 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000460
Werner Lemberg406d25f2007-02-12 22:01:18 +0000461 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
462
Werner Lemberg582067d2007-02-11 15:03:05 +00004632007-02-11 Werner Lemberg <wl@gnu.org>
464
465 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
466 non-spacing glyphs.
467
Werner Lemberg8f474532007-02-07 08:31:01 +00004682007-02-07 Tom Parker <palfrey@tevp.net>
469
470 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
471 pointer.
472
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00004732007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
474
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000475 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
476 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000477 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000478 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
479 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
480 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
481 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000482
483 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
484 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000485 * builds/mac/ftmac.c: Ditto.
486
4872007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
488
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000489 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000490 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000491 #include <ftmac.c>.
492
4932007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
494
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000495 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
496 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
497 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
498 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
499 FT_GetFilePath_From_Mac_ATS_Name.
500 * builds/mac/ftmac.c: Ditto.
501
5022007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
503
Werner Lembergdcbb7082007-02-08 08:54:09 +0000504 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000505 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
506 for passing to FT_New_Face_From_FSSpec.
507
5082007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
509
Werner Lembergdcbb7082007-02-08 08:54:09 +0000510 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000511 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000512
513 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
514 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000515 * builds/mac/ftmac.c (OS_INLINE): Ditto.
516
Werner Lemberg313d7772007-02-01 08:10:45 +00005172007-02-01 Werner Lemberg <wl@gnu.org>
518
519 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
520 Explain why applications shouldn't use it. Found by Alexei.
521
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00005222007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000523
524 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
525 message.
526
527 * src/gxvalid/gxvmort1.c
528 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
529 message.
530
Werner Lemberg53935932007-01-31 08:53:02 +00005312007-01-31 Werner Lemberg <wl@gnu.org>
532
533
534 * Version 2.3.1 released.
535 =========================
536
537
538 Tag sources with `VER-2-3-1-FINAL'.
539
540 * builds/win32/visualc/freetype.dsp,
541 builds/win32/visualc/freetype.vcproj: s/230/231/.
542 * builds/win32/visualc/index.html: s/221/231/.
543
544 * vms_make.com: Add `ftgasp'.
545
David Turnera7ee6082007-01-30 10:33:53 +00005462007-01-30 David Turner <david@freetype.org>
547
Werner Lemberg53935932007-01-31 08:53:02 +0000548 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000549
Werner Lemberg53935932007-01-31 08:53:02 +0000550 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000551
Werner Lemberg25d592a2007-03-09 07:59:35 +0000552 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000553 s/2.3.0/2.3.1/.
554
555 * builds/unix/configure.raw (version_info): Set to 9:12:3.
556
557
558 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
559 (af_loader_load_g): Disable the warper (i.e., the light hinting
560 improvements) to make a 2.3.1 bugfix release before introducing a
561 new feature. This should give us more time to tune and improve the
562 warper for the next release.
563
564 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000565
David Turnerd91eebd2007-01-26 15:05:41 +00005662007-01-25 David Turner <david@freetype.org>
567
Werner Lembergbf241762007-01-26 16:08:49 +0000568 For light auto-hinting, improve glyph advance widths and resurrect
569 normal/full hinting to its normal quality.
570
571 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
572 and `xmax_delta'.
573 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
574 and `xmax_delta'.
575
576 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
577 preprocessor conditional with if-clause, handling both light and
578 normal mode.
579
580 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
581 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000582
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00005832007-01-25 Werner Lemberg <wl@gnu.org>
584
585 * docs/release: Updated -- Savannah uses a new uploading scheme.
586
David Turnera42567b2007-01-25 12:23:37 +00005872007-01-25 David Turner <david@freetype.org>
588
Werner Lembergd7855662007-01-25 13:53:56 +0000589 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000590
Werner Lembergd7855662007-01-25 13:53:56 +0000591 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
592 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
593 functions.
David Turnera42567b2007-01-25 12:23:37 +0000594
Werner Lembergd7855662007-01-25 13:53:56 +0000595 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000596
Werner Lembergb1be9e82007-01-25 11:50:00 +00005972007-01-25 Werner Lemberg <wl@gnu.org>
598
599 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000600 correctly in a sanity check. Since this function is only used to
601 load local and global functions, any charstring that called the last
602 local/global function would fail otherwise. This fixes Savannah bug
603 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000604
605 * docs/CHANGES: Document it.
606
David Turnerb6de8d12007-01-23 15:51:50 +00006072007-01-23 David Turner <david@freetype.org>
608
Werner Lembergb1be9e82007-01-25 11:50:00 +0000609 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
610 prevented compilation when disabling both the unpatented and the
611 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000612
Werner Lembergb1be9e82007-01-25 11:50:00 +0000613
614 Fix and enable the warper to improve `light' hinting mode. This is
615 not necessarily a final version, but it seems to work well.
616
617 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
618 Disable code.
619 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
620 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
621
622 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
623 (af_warper_compute_line_best): Fix array size of `scores'.
624 (af_warper_compute): Better handling of border cases.
625 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
626 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000627
Werner Lemberg011d1112007-01-21 09:36:00 +00006282007-01-21 Werner Lemberg <wl@gnu.org>
629
Werner Lemberg42b63b22007-01-21 21:01:33 +0000630 * ChangeLog: Split off older entries into...
631 * ChangeLog.22: This new file.
632
6332007-01-21 Werner Lemberg <wl@gnu.org>
634
Werner Lemberg555258f2007-01-21 09:46:37 +0000635 * docs/CHANGES: Document SHZ fix.
636
6372007-01-21 George Williams <gww@silcom.com>
638
639 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
640 points.
641
6422007-01-21 Werner Lemberg <wl@gnu.org>
643
Werner Lemberg011d1112007-01-21 09:36:00 +0000644 * src/sfnt/ttmtx.c (tt_face_get_metrics)
645 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
646
Werner Lemberg87a5a432007-01-17 12:44:39 +00006472007-01-17 Werner Lemberg <wl@gnu.org>
648
Werner Lembergb8003292007-01-17 12:56:25 +0000649
650 * Version 2.3.0 released.
651 =========================
652
653
654 Tag sources with `VER-2-3-0-FINAL'.
655
6562007-01-17 Werner Lemberg <wl@gnu.org>
657
Werner Lemberg87a5a432007-01-17 12:44:39 +0000658 * docs/release: Updated.
659
David Turner22122722007-01-16 20:06:44 +00006602007-01-16 David Turner <david@freetype.org>
661
Werner Lemberg87a5a432007-01-17 12:44:39 +0000662 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
663 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
664 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
665 warnings.
David Turner22122722007-01-16 20:06:44 +0000666
Werner Lemberg267e1d72007-01-15 07:48:09 +00006672007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
668
669 * builds/amiga/makefile, builds/amiga/makefile.os4,
670 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
671
672 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
673
Werner Lemberg8c4120d2007-01-15 06:42:40 +00006742007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
675
676 Fix various compiler warnings.
677
678 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
679 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
680 s/index/strike_index/.
681 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
682
683 * src/gxvalid/gxvmorx5.c
684 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
685
686 * src/truetype/ttinterp.c (Compute_Point_Displacement),
687 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
688 uninitialized variables.
689
Werner Lemberg6164a9d2007-01-13 23:01:36 +00006902007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
691
692 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
693
Werner Lemberg281c1482007-01-13 22:50:51 +00006942007-01-13 Werner Lemberg <wl@gnu.org>
695
696 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
697 versions up to 0x3FF without complaining.
698
Werner Lembergac250b22007-01-13 14:01:36 +00006992007-01-13 Derek Clegg <dclegg@apple.com>
700
701 Add FT_Get_PS_Font_Info interface to CFF driver.
702
703 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
704 (CFF_FontRec): Add `font_info' field.
705
706 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
707 (cff_font_done): Free font->font_info if necessary.
708
709 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
710 (cff_service_ps_info): Register cff_ps_get_font_info.
711
Werner Lemberg23df31a2007-01-13 08:45:00 +00007122007-01-13 Werner Lemberg <wl@gnu.org>
713
714 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
715 with C++ compiler.
716
717 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
718 af_glyph_hints_dump_edges): Ditto.
719
720 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
721 `modules.cfg').
722
723 * src/sfnt/ttsbit0.h: Remove.
724
725 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
726
Werner Lemberg27cf9de2007-01-13 07:34:23 +00007272007-01-12 David Turner <david@freetype.org>
728
729 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
730 bug in the bitmap emboldener if the pitch of the source bitmap is
731 much larger than its width.
732
733 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
734 compilation warning.
735
Werner Lemberg6d96d312007-01-12 10:30:19 +00007362007-01-12 Werner Lemberg <wl@gnu.org>
737
738 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
739 `automake' CVS module from sources.redhat.com.
740
Werner Lemberg17432b52007-01-12 09:28:44 +00007412007-01-11 Werner Lemberg <wl@gnu.org>
742
743 * src/type1/t1load.c (is_space): Removed.
744 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
745 (parse_charstrings): Use IS_PS_TOKEN.
746
747
748 * autogen.sh: Avoid bash specific syntax.
749
David Turner038ace22007-01-11 15:00:59 +00007502007-01-11 David Turner <david@freetype.org>
751
Werner Lemberg17432b52007-01-12 09:28:44 +0000752 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +0000753
Werner Lemberg17432b52007-01-12 09:28:44 +0000754 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +0000755
Werner Lemberg17432b52007-01-12 09:28:44 +0000756 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
757 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +0000758 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +0000759
Werner Lemberg17432b52007-01-12 09:28:44 +0000760 * autogen.sh: Small fix to get it working on Mac OS X properly:
761 The issue is that GNU libtool is called `glibtool' on this platform,
762 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +0000763
David Turner2628ea92007-01-10 13:15:56 +00007642007-01-10 David Turner <david@freetype.org>
765
Werner Lemberg17432b52007-01-12 09:28:44 +0000766 * all-sources: Tag all sources with VER-2-3-0-RC1 and
767 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +0000768
Werner Lemberg17432b52007-01-12 09:28:44 +0000769 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
770 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
771 version number to 2.3.0.
772
773 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
774 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +0000775
776 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +0000777 include/freetype/ftlcdfil.h: Update reference documentation with
778 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +0000779
Werner Lemberg17432b52007-01-12 09:28:44 +0000780 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
781 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +0000782
Werner Lembergbf02d392007-01-10 07:07:37 +00007832007-01-10 Derek Clegg <dclegg@apple.com>
784
785 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
786 values.
787
David Turnerf48b60e2007-01-08 15:15:32 +00007882007-01-08 David Turner <david@freetype.org>
789
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000790 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +0000791
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000792 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
793 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +0000794 corresponding to a given character pixel size.
795
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000796 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
797 `gasp' table, in order to avoid potential problems with later
798 versions.
David Turnerf48b60e2007-01-08 15:15:32 +0000799
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000800 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
801 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +0000802
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000803 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
804 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
805 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
806 default build.
David Turnerf48b60e2007-01-08 15:15:32 +0000807
Werner Lemberge6b6f372007-01-07 00:06:47 +00008082007-01-07 Werner Lemberg <wl@gnu.org>
809
Werner Lembergb8004d22007-01-07 09:13:38 +0000810 * src/cid/cidparse.c (cid_parser_new): Improve error message for
811 Type 11 fonts.
812 Scan for `/sfnts' token.
813
8142007-01-07 Werner Lemberg <wl@gnu.org>
815
816 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +0000817
Werner Lembergbe5f7972007-01-06 07:51:48 +00008182007-01-06 Werner Lemberg <wl@gnu.org>
819
820 * src/cff/cffload.c (cff_index_init): Remove unused variable.
821 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
822
David Turnera8cf42b2007-01-04 16:46:46 +00008232007-01-04 David Turner <david@freetype.org>
824
Werner Lembergf6294392007-01-06 07:47:45 +0000825 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
826 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +0000827
Werner Lembergf6294392007-01-06 07:47:45 +0000828
829 Do not allocate interpreter-specific tables in memory if we are not
830 going to load glyphs with the bytecode interpreter anyway.
831
832 * src/truetype/ttgload.c (tt_loader_init): Load execution context
833 only if glyph is hinted.
834 Updated.
835 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
836 and `cvs_ready'.
837 Add `tt_size_ready_bytecode' declaration.
838 * src/truetype/ttobjs.c (tt_size_done_bytecode,
839 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
840 (tt_size_init): Move most code into `tt_size_init_bytecode'.
841 (tt_size_done): Move most code into `tt_size_done_bytecode'.
842 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000843
David Turner91a34022007-01-05 14:47:08 +0000844
Werner Lembergf6294392007-01-06 07:47:45 +0000845 Don't extract the metrics table from the SFNT font file. Instead,
846 reparse it on each glyph load. The runtime difference is not
847 noticeable, and it can save a lot of heap memory when memory-mapped
848 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +0000849
Werner Lembergf6294392007-01-06 07:47:45 +0000850 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
851 `horz_metrics_offset' and `vert_metrics_ofset'.
852 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
853 Updated.
854
855
856 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
857
858
859 Do not load the CFF index offsets into memory, since this wastes a
860 *lot* of heap memory with large Asian CFF fonts. There is no
861 significant performance loss.
862
863 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
864 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
865 `data_size'.
866 (CFF_CharsetRec): Add field `num_glyphs'.
867
868 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
869 cff_charset_cid_to_gindex): New functions.
870 (cff_new_index): Renamed to...
871 (cff_index_init): This. Update all callers.
872 Updated -- some code has been moved to `cff_index_load_offsets'.
873 (cff_done_index): Renamed to...
874 (cff_index_done): This. Update all callers.
875 (cff_index_get_pointers, cff_index_access_element): Updated to use
876 stream offsets.
877 (cff_charset_compute_cids): Set `num_glyphs' field.
878 (cff_encoding_load): Updated.
879
880 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +0000881
8822007-01-04 David Turner <david@freetype.org>
883
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000884 * docs/INSTALL.UNIX: Simplify some parts, add reference to
885 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +0000886
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000887 * README.CVS: Add common problem description and solution
888 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +0000889
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000890 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +0000891
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000892 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +0000893
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000894 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +0000895
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000896 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
897 (TWorker): This.
898 Remove `count_table' and `memory'.
899 Make `grays' a pointer.
900 (TRaster): New structure.
901 (count_table): New static array.
902 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
903 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
904 ft_black_set_mode, ft_black_render): Updated.
905 (ft_black_init): Don't initialize `count_table'.
906 (ft_black_reset): Use the render pool. This saves about 6KB of
907 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +0000908
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000909 * src/smooth/ftgrays.c (TRaster): Replaced with...
910 (TWorker): This.
911 Remove `memory'.
912 (TRaster): New structure.
913
914 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
915 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
916 gray_render_span, gray_raster_render): Updated.
917 (gray_raster_reset): Use the render pool. This saves about 6KB of
918 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +0000919
David Turner8a6c44e2007-01-04 17:03:11 +0000920 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
921 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000922 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
923 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
924 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +0000925
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000926 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
927 Remove a typo that results in no hinting and a memory leak with some
928 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +0000929
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000930 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +0000931 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000932 CFF_Faces in it. We need to close all faces before destroying the
933 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +0000934
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00009352007-01-02 Werner Lemberg <wl@gnu.org>
936
937 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
938 Remove compiler warning.
939
David Turner9207e002007-01-02 16:58:13 +00009402007-01-02 David Turner <david@freetype.org>
941
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000942 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +0000943
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00009442006-12-31 Masatake YAMATO <jet@gyve.org>
945
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000946 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
947 function.
948 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000949 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +0000950 `gxv_kern_subtable_fmt0_pairs_validate'.
951
David Turner115b4422006-12-22 11:37:05 +00009522006-12-22 David Turner <david@freetype.org>
953
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000954 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
955 warnings.
David Turner115b4422006-12-22 11:37:05 +0000956
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000957 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
958 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +0000959
Werner Lemberg4755bf72006-12-16 08:58:44 +00009602006-12-16 Anders Kaseorg <anders@kaseorg.com>
961
962 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
963 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
964
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00009652006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
966
Werner Lemberg9b774e22007-01-16 06:11:27 +0000967 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000968 sync with the modification by Jens Claudius on 2006-08-22; cf.
969 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 +0000970
9712006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
972
973 * src/base/ftmac.c: Specialized for Mac OS X only.
974 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
975 * builds/unix/configure.raw: Ditto. When explicit switches for
976 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
977 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
978
9792006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
980
981 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
982 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
983 instead of src/base/ftmac.c
984 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
985 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
986 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
987 that cannot be built at present.
988
9892006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
990
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000991 * src/base/ftobjs.c: Improvement of resource fork handler for
992 POSIX, cf.
993 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +0000994 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
995 format or .dfont, to simulate the face index number counted by ftmac.c.
996 (IsMacResource): Return the number of scalable faces correctly.
997
Werner Lembergec5b4502006-12-10 07:51:38 +00009982006-12-10 Werner Lemberg <wl@gnu.org>
999
1000 * builds/toplevel.mk (version): Protect against `distclean' target.
1001
Werner Lembergb26b3142006-12-09 20:01:43 +000010022006-12-09 Werner Lemberg <wl@gnu.org>
1003
1004 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
1005 or `type'.
1006
1007 * builds/freetype.mk (version): Extracted from freetype.h, using
1008 GNU make's built-in string functions.
1009 (refdoc): Use $(version) instead of static version number.
1010
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000010112006-12-08 Werner Lemberg <wl@gnu.org>
1012
1013 * builds/toplevel.mk (dist): Extract version number from freetype.h.
1014
Werner Lemberg15c29502006-12-09 07:29:54 +000010152006-12-08 Vladimir Volovich <vvv@vsu.ru>
1016
1017 * src/tools/apinames (State): Remove final comma in structure -- xlc
1018 v5 under AIX 4.3 doesn't like this.
1019
David Turnerdbf3b432006-12-07 21:18:09 +000010202006-12-07 David Turner <david@freetype.org>
1021
Werner Lemberg256a3512006-12-08 06:49:33 +00001022 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
1023 to the spacing of auto-fitted glyphs. This only impacts rare
1024 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00001025
Werner Lemberg11171312006-12-03 09:43:40 +000010262006-12-03 Werner Lemberg <wl@gnu.org>
1027
1028 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
1029
Werner Lemberg960ba592006-12-01 08:20:47 +000010302006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00001031
Werner Lemberg960ba592006-12-01 08:20:47 +00001032 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
1033 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
1034 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00001035
David Turner80658e52006-11-28 08:09:20 +00001036
Werner Lemberg960ba592006-12-01 08:20:47 +00001037 * include/freetype/ftxf86.h: Fix and extend comment so that it
1038 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00001039
Werner Lemberg960ba592006-12-01 08:20:47 +00001040 * include/freetype/ftchapters.h: Add `font_format' section.
1041
1042
1043 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
1044 to TOC in index page.
1045
10462006-11-28 David Turner <david@freetype.org>
1047
1048 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
1049 trying to render into a zero-width/height bitmap, not an error code.
1050
1051 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
1052
1053 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
1054 ones instead.
1055
1056 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
1057 variable.
David Turner80658e52006-11-28 08:09:20 +00001058
Werner Lemberg8636c292006-11-26 22:28:13 +000010592006-11-26 Pierre Hanser <hanser@club-internet.fr>
1060
1061 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
1062
Werner Lemberg960ba592006-12-01 08:20:47 +000010632006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00001064
Werner Lemberg960ba592006-12-01 08:20:47 +00001065 * src/autofit/afhints.c (af_glyph_hints_dump_points,
1066 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
1067 Add stubs to link the `ftgrid' test program when debugging is
1068 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00001069
Werner Lemberg960ba592006-12-01 08:20:47 +000010702006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00001071
1072 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00001073 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
1074
1075 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
1076 Emit more sensible information.
1077
1078 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1079
1080 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1081 rounding of blue values.
1082 (af_latin_hints_compute_segments): Hint segment heights.
1083 (af_latin_hints_link_segments): Reduce `len_score' value.
1084 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1085 value and use `height' member for comparisons.
1086 (af_latin_hint_edges): Extend logging message.
1087 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001088
Werner Lemberg91959bf2006-11-22 10:36:55 +000010892006-11-22 Werner Lemberg <wl@gnu.org>
1090
1091 Fix Savannah bug #15553.
1092
1093 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1094 program after a change from mono to grayscaling (and vice versa).
1095 Use correct constant for comparison to get `exec->grayscale'.
1096
Werner Lemberg913a3652006-11-19 09:19:17 +000010972006-11-18 Werner Lemberg <wl@gnu.org>
1098
1099 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001100 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001101 This patch fixes Savannah bug #18301.
1102
1103 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1104 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1105 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1106 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1107 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1108 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1109 (FNT_Load_Glyph): Check validity of `glyph_index'.
1110
David Turner7bab6ae2006-11-13 11:25:06 +000011112006-11-13 David Turner <david@freetype.org>
1112
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001113 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1114 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001115
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001116 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1117 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1118 when building the library to change the default LCD filter to be
1119 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001120
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001121 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001122
David Turner8765c712006-11-10 16:49:42 +000011232006-11-10 David Turner <david@freetype.org>
1124
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001125 * src/smooth/ftsmooth.c: API change for the LCD
1126 filter. The FT_LcdFilter value is an enumeration describing which
1127 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1128 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1129 algorithm which produces strong color fringes for everything
1130 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001131
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001132 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1133 second parameter to an enum type.
1134
1135 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1136 (_ft_lcd_filter): Rename to...
1137 (_ft_lcd_filter_fir): This.
1138 Update parameters.
1139 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1140 (FT_Library_Set_LcdFilter): Update parameters.
1141 Handle new filter modes.
1142
1143 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1144 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1145 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1146 callback and update other fields.
1147
1148 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1149 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1150 Other minor improvements.
1151
1152 * src/autofit/aflatin.c: Various tiny improvements that drastically
1153 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1154 (af_latin_hints_compute_edges): Fix typo.
1155 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001156
David Turner4e9cc3c2006-11-09 16:31:52 +000011572006-11-09 David Turner <david@freetype.org>
1158
Werner Lemberg49c77a82006-11-09 21:51:57 +00001159 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1160 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001161
Werner Lemberg5e430892006-11-07 09:35:03 +000011622006-11-07 Zhe Su <james.su@gmail.com>
1163
1164 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1165 also.
1166
Werner Lemberg111b5ae2006-11-03 09:40:12 +000011672006-11-03 Werner Lemberg <wl@gnu.org>
1168
1169 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1170
David Turner40604742006-11-02 16:37:35 +000011712006-11-02 David Turner <david@freetype.org>
1172
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001173 Add a few tweaks to better handle serif fonts.
1174 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001175
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001176 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1177 segments that are less than 1.5 pixels high. This gets rid of
1178 *many* corner cases with serifs.
1179 (af_latin_align_linked_edge): Add logging message.
1180 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1181 Add logging messages.
1182 Handle AF_EDGE_FLAG flag specially.
1183
1184 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1185 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1186
1187 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1188 Update external declarations.
1189 (af_corner_orientation, af_corner_is_flat): Replaced by...
1190
1191 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1192 ft_corner_is_flat): These declarations.
1193
1194 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1195 Comment out. Replaced by...
1196
1197 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1198 These functions. Update all callers.
1199 (FT_Add64) [!FT_LONG64]: Simplify.
1200
1201 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1202 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1203 production of garbage by missing lots of segments.
1204
1205 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1206
1207 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1208 [AF_DEBUG]: Set _af_debug_hints.
1209
1210
1211 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1212 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1213 and ft_corner_orientation.
1214
1215
1216 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001217
Werner Lemberge88c5262006-10-24 05:46:26 +000012182006-10-24 Werner Lemberg <wl@gnu.org>
1219
1220 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1221
1222 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1223 as argument.
1224
David Turnera1861392006-10-23 16:00:59 +000012252006-10-23 Zhe Su <zsu@novell.com>
1226
Werner Lemberg715e96e2006-10-24 05:28:45 +00001227 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1228 better deal with broken Asian fonts with strange glyphs, having
1229 self-intersections and other peculiarities. The used algorithm is
1230 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001231
David Turnere140f142006-10-23 08:56:57 +000012322006-10-23 David Turner <david@freetype.org>
1233
Werner Lemberg715e96e2006-10-24 05:28:45 +00001234 Speed up the CFF font loader. With some large CFF fonts,
1235 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001236
Werner Lemberg715e96e2006-10-24 05:28:45 +00001237 * src/cff/cffload.c (cff_get_offset): Removed.
1238 (cff_new_index): Inline functionality of `cff_get_offset'.
1239 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1240 (cff_charset_done): Call `cff_charset_free_cids'.
1241 (cff_charset_load): Call `cff_charset_compute_cids'.
1242 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1243
1244 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1245 with FT_NEXT_XXX.
1246
1247
1248 Speed up the Postscript hinter, with more than 100% speed increase
1249 on my machine.
1250
1251 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1252 psh_corner_orientation): New functions.
1253 (psh_glyph_compute_inflections): Merge loops for efficiency.
1254 Use `psh_corner_orientation'.
1255 (psh_glyph_init): Use `psh_corner_is_flat'.
1256 (psh_hint_table_find_strong_point): Renamed to...
1257 (psh_hint_table_find_strong_points): This.
1258 Rewrite, adding argument to handle all points at once.
1259 Update all callers.
1260 (PSH_MAX_STRONG_INTERNAL): New macro.
1261 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001262
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000012632006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1264
1265 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001266 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001267
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000012682006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1269
1270 * docs/INSTALL.CROSS: New document file for cross-building.
1271
1272 * builds/unix/configure.raw: Preliminary cross-building support.
1273 Find native C compiler and pass it by CC_BUILD, and
1274 find suffix for native executable and pass it by EXEEXT_BUILD.
1275 Also suffix for target executable is passed by EXEEXT.
1276
Werner Lembergb9e6d692006-10-15 08:58:40 +00001277 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1278 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001279 CC_BUILD and EXEEXT_BUILD.
1280
Werner Lembergb9e6d692006-10-15 08:58:40 +00001281 * builds/exports.mk (APINAMES_EXE): Change the extension for
1282 apinames from the suffix for target (E) to that for building host
1283 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001284
Werner Lemberg82a07e92006-10-12 06:20:44 +000012852006-10-12 Werner Lemberg <wl@gnu.org>
1286
1287 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1288 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1289 which reference those files.
1290
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000012912006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1292
Werner Lembergb9e6d692006-10-15 08:58:40 +00001293 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1294 embedded in freetype2.pc and freetype-config. Use it to record
1295 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001296
1297 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1298
1299 * builds/unix/freetype-config.in: Ditto.
1300
Werner Lemberg28e17d92006-10-11 17:27:47 +000013012006-10-11 Werner Lemberg <wl@gnu.org>
1302
1303 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1304 development.
1305
Jens Claudius336d2292006-10-03 08:53:37 +000013062006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1307
1308 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1309 argument to ft_setjmp.
1310
1311 * include/freetype/internal/ftvalid.h: Add comment that
1312 ft_validator_run must not be used.
1313
Werner Lemberg2863cfa2006-10-01 17:04:00 +000013142006-10-01 Werner Lemberg <wl@gnu.org>
1315
1316 * src/base/ftbase.c: Undo change from 2006-09-30.
1317
1318 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1319
13202006-09-30 David Turner <david@freetype.org>
1321
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001322 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1323 s/unpatented_hinting/ignore_unpatented_hinter/.
1324 Update all callers.
1325
1326 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1327 auto-hinting shall be used or not.
1328
1329 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001330
Werner Lemberg2863cfa2006-10-01 17:04:00 +000013312006-09-30 Werner Lemberg <wl@gnu.org>
1332
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001333 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1334 in use).
1335
1336 * src/base/ftbase.c: Include `ftlcdfil.c'.
1337
Werner Lemberg9b15ea32006-09-29 18:22:11 +000013382006-09-29 Werner Lemberg <wl@gnu.org>
1339
1340 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1341 overlapping segments. Bug reported by Stefan Koch.
1342
David Turnerad830712006-09-27 16:20:59 +000013432006-09-28 David Turner <david@freetype.org>
1344
Werner Lemberg2c002e12006-09-29 21:31:53 +00001345 Fix a bug in the automatic unpatented hinting support which prevents
1346 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001347
Werner Lemberg2c002e12006-09-29 21:31:53 +00001348 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1349 s/force_autohint/unpatented_hinting/. Update all callers.
1350
1351 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1352
1353 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001354
David Turner8a317cf2006-09-27 07:52:48 +000013552006-09-27 David Turner <david@freetype.org>
1356
Werner Lemberg2c002e12006-09-29 21:31:53 +00001357 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001358
David Turner8a317cf2006-09-27 07:52:48 +00001359
David Turnere140f142006-10-23 08:56:57 +00001360 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001361 In a default build, the function `FT_Library_SetLcdFilter' returns
1362 `FT_Err_Unimplemented_Feature'; you need to #define
1363 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1364 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001365
Werner Lemberg2c002e12006-09-29 21:31:53 +00001366 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001367
Werner Lemberg2c002e12006-09-29 21:31:53 +00001368 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1369 typedef.
1370 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1371 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001372
Werner Lemberg2c002e12006-09-29 21:31:53 +00001373 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1374 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001375
Werner Lemberg2c002e12006-09-29 21:31:53 +00001376 Handle subpixel rendering.
1377 Simplify function.
1378 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1379 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1380
1381 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1382 pointing to <freetype/ftlcdfil.h>.
1383
1384 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1385 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1386
1387 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001388
Werner Lemberge20df4a2006-09-27 06:29:21 +000013892006-09-26 David Bustin
1390
1391 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1392 correctly. Reported as Savannah bug #17843.
1393
David Turner6f8c6222006-09-26 15:42:44 +000013942006-09-26 David Turner <david@freetype.org>
1395
Werner Lemberg110246c2006-09-26 21:55:44 +00001396 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1397 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1398 horizontal and vertical hinting for the purpose of debugging the
1399 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001400
Werner Lemberg110246c2006-09-26 21:55:44 +00001401 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1402 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001403
Werner Lemberg110246c2006-09-26 21:55:44 +00001404 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1405
1406 * include/freetype/config/ftoption.h, devel/ftoption.h
1407 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1408 we want to compile LCD-optimized rendering code (à la ClearType) or
1409 not. The macro *must* be disabled in default builds of the library
1410 for patent reasons.
1411
1412 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1413 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1414 isn't defined at compile time. This only changes the content of the
1415 rendered glyph to match the one of normal gray-level rendering,
1416 hence clients should not need to be modified.
1417
1418 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001419
Werner Lemberg745ff2c2006-09-19 05:48:02 +000014202006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1421
1422 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1423 LWFN fails and both are available.
1424
David Turnerf3050052006-09-11 12:00:32 +000014252006-09-11 David Turner <david@freetype.org>
1426
Werner Lembergf9644552006-09-12 13:48:10 +00001427 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1428 report their English names through an Apple Roman
1429 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001430
Werner Lembergf9644552006-09-12 13:48:10 +00001431 If the font uses another name entry with language_id == English, it
1432 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001433
Werner Lembergf9644552006-09-12 13:48:10 +00001434 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1435 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001436
Werner Lemberg36d2eab2006-09-05 19:24:34 +000014372006-09-05 Werner Lemberg <wl@gnu.org>
1438
1439 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001440 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001441 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1442 `HAN NOM B.ttf').
1443
1444 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1445
David Turner772e55d2006-09-05 09:45:15 +000014462006-09-05 David Turner <david@freetype.org>
1447
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001448 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001449
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001450 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1451 (TRaster): Remove `count_ex' and `count_ey'.
1452 (gray_find_cell): Remove 2nd and 3rd argument.
1453 (gray_alloc_cell): Merged with `gray_find_cell'.
1454 (gray_record_cell): Simplify.
1455 (gray_set_cell): Rewrite.
1456 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1457 (gray_render_span): Don't use FT_MEM_SET for small values.
1458 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1459 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1460 bitmap scanline.
1461 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001462
David Turneraa557a92006-09-04 16:42:44 +000014632006-09-04 David Turner <david@freetype.org>
1464
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001465 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1466 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001467
Werner Lemberg2d8629b2006-09-03 06:18:45 +000014682006-09-03 Werner Lemberg <wl@gnu.org>
1469
1470 * devel/ftoption.h: Synchronize with
1471 include/freetype/config/ftoption.h.
1472
1473 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1474 variable declaration.
1475 (gray_convert_glyph): Fix compiler warnings.
1476
David Turner6d79f212006-09-01 14:09:35 +000014772006-09-01 David Turner <david@freetype.org>
1478
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001479 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1480 to recognize a few fonts that require the automatic unpatented
1481 loader.
David Turnerbd502952006-09-01 19:05:24 +00001482
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001483 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1484 rasterizer. The speed improvement is between 15% and 25%, depending
1485 on the font data.
1486
1487 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1488 (TCell): Redefine.
1489 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1490 (gray_init_cells): Updated.
1491 (gray_find_cell, gray_alloc_cell): New functions.
1492 (gray_record_cell): Rewritten to use `gray_find_cell' and
1493 `gray_alloc_cell'.
1494 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1495 QSORT_THRESHOLD):
1496 Removed.
1497 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1498 gray_dump_cells): Removed.
1499 (gray_sweep): Rewritten.
1500 (gray_convert_glyph): Rewrite code which used one of the sorting
1501 functions.
1502 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001503
Werner Lembergd898aed2006-08-29 09:50:34 +000015042006-08-29 Dr. Werner Fink <werner@suse.de>
1505
1506 * configure: Make it possible to handle configure options which
1507 have strings containing spaces.
1508
15092006-08-27 David Turner <david@freetype.org>
1510
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001511 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1512 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1513 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1514
1515 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1516 src/truetype/truetype.c, src/truetype/ttdriver.c,
1517 src/truetype/ttgload.c, src/truetype/ttgload.h,
1518 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1519 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1520 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1521
1522 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1523 member `force_autohint'.
1524
1525 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1526
1527 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1528 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001529
Jens Claudiusa787f452006-08-27 11:26:18 +000015302006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1531
1532 Fix miscellaneous compiler warnings.
1533
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001534 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1535 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001536
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001537 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1538 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1539 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001540
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001541 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1542 volatileness of argument to ft_longjmp. Spotted by Werner
1543 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001544
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001545 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1546 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001547
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001548 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1549 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001550
Werner Lembergc4c35b72006-08-27 08:03:46 +000015512006-08-27 Werner Lemberg <wl@gnu.org>
1552
1553 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1554 Reported by Jens.
1555
Jens Claudius088e44e2006-08-22 14:24:30 +000015562006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001557
Jens Claudius088e44e2006-08-22 14:24:30 +00001558 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001559 about addresses of volatile objects passed as function arguments as
1560 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001561
Werner Lembergc4c35b72006-08-27 08:03:46 +00001562 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1563 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001564
1565 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1566 argument `table' a pointer to a volatile object.
1567
1568 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1569 argument `table' a pointer to a volatile object.
1570
Jens Claudius2652bd52006-08-18 17:20:37 +000015712006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1572
1573 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1574 variable `_sfnt' as volatile since it must keep its value across
1575 a call to ft_setjmp.
1576 (gxv_validate): Same for local variables `memory' and `valid'.
1577 (classic_kern_validate): Same for local variables `memory',
1578 `ckern', and `valid'.
1579
1580 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1581 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1582 `jstf', and 'valid'.
1583
1584 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1585 local variable `cmap'.
1586
David Turner9fbfc6a2006-08-16 09:11:31 +000015872006-08-16 David Turner <david@freetype.org>
1588
Werner Lemberg12342992006-08-19 11:18:09 +00001589 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1590 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001591
Werner Lemberg12342992006-08-19 11:18:09 +00001592 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1593 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001594
David Turner33f5f242006-08-16 16:50:55 +00001595
Werner Lemberg12342992006-08-19 11:18:09 +00001596 Improvements to native TrueType hinting. This is a first try,
1597 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1598
1599 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1600 `extra_points2'.
1601
1602 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1603 `orus'.
1604
1605 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1606 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1607 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1608 handle `extra_points2'.
1609
1610 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1611 Remove compiler warning.
1612 (cur_to_arg): Remove macro.
1613 (TT_Hint_Glyph): Updated.
1614 (TT_Process_Simple_Glyph): Handle `orus'.
1615
1616 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1617 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1618 (LOC_Ins_IUP): Renamed to...
1619 (IUP_WorkerRec): This.
1620 Add `orus' member.
1621 (Shift): Renamed to...
1622 (_iup_worker_shift): This.
1623 Updated.
1624 (Interp): Renamed to...
1625 (_iup_worker_interpolate): This.
1626 Updated to handle `orus'.
1627 (Ins_IUP): Updated.
1628
1629 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1630 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001631
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000016322006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1633
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001634 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001635 build ftvalid in ft2demos. This has been inadvertedly changed
1636 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001637
16382006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1639
Werner Lemberg12342992006-08-19 11:18:09 +00001640 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1641 Jens:
1642 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001643
Werner Lemberg12342992006-08-19 11:18:09 +00001644 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1645 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001646
1647 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1648
Jens Claudius9950adc2006-08-13 12:14:36 +000016492006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1650
Werner Lemberg12342992006-08-19 11:18:09 +00001651 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1652 T1_TOKEN_TYPE_KEY.
1653 (T1_FieldRec): Add `dict'.
1654 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1655 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1656 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001657
Werner Lemberg12342992006-08-19 11:18:09 +00001658 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1659 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001660
1661 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1662
1663 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001664 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1665 not T1_TOKEN_TYPE_ANY.
1666 (ps_parser_load_field): Make sure a token that should be a string or
1667 name is really a string or name.
1668 Avoid memory leak if a keyword has been already encountered and its
1669 value is overwritten.
1670 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1671 T1_FIELD_XXX.
1672 (parse_dict): Ignore keywords that occur in the wrong dictionary
1673 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001674
Werner Lemberg12342992006-08-19 11:18:09 +00001675 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1676 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001677
Werner Lemberg12342992006-08-19 11:18:09 +00001678 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1679 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001680
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000016812006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1682
1683 Move creation of field `buildchar' of T1_DecoderRec out of
1684 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1685 of it.
1686
1687 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1688 and `T1_Compute_Max_Advance'.
1689
1690 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1691 Remove field `face', add `len_buildchar'.
1692
1693 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1694 field `buildchar'.
1695
1696 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1697 finisher for T1_Decoder.
1698 (cid_slot_load_glyph): Do not ignore failure when initializing the
1699 T1_Decoder.
1700
1701 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
1702 Updated.
1703 (t1_decoder_init): Remove initialization of fields `buildchar' and
1704 `len_buildchar'.
1705 (t1_decoder_done): Remove deallocation of field `buildchar'.
1706
1707 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
1708 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
1709 T1_Decoder.
1710 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
1711 `len_buildchar'; make sure to call finisher for T1_Decoder even in
1712 case of error.
1713
1714 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
1715 `buildchar' of T1_FaceRec.
1716
1717 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
1718 `buildchar' of T1_FaceRec.
1719
Werner Lemberg1a380e02006-07-14 18:28:08 +000017202006-07-14 Jens Claudius <jens.claudius@yahoo.com>
1721
1722 * freetype2/include/freetype/internal/psaux.h: New macros
1723 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
1724 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
1725 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
1726 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
1727 (T1_DecoderRec): New fields `buildchar' and `face'.
1728 (IS_PS_TOKEN): New macro.
1729
1730 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
1731 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
1732
1733 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
1734 `default_design_vector' and `num_default_design_vector'.
1735
1736 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
1737 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
1738 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
1739
1740 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
1741 `token' argument to be NULL if we want only to count the number of
1742 tokens.
1743 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
1744 want to skip the array.
1745 (ps_tofixedarray): Allow `values' argument to be NULL if we just
1746 want to skip the array.
1747
1748 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
1749 support for (partially commented out) othersubrs 19-25, 27, and 28.
1750 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
1751 (t1_decoder_done): Release new field `buildchar'.
1752
1753 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
1754 functions.
1755 (t1_keywords): Register them.
1756 (t1_allocate_blend): Updated.
1757 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
1758 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
1759 (parse_dict): Remove `keyword_flags' argument.
1760 Use new macro IS_PS_TOKEN.
1761 Changed function so that later PostScript definitions override
1762 earlier ones.
1763 (t1_init_loader): Initialize new field `keywords_encountered'.
1764 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
1765 `len_buildchar'.
1766 Remove `keywords_flags'.
1767
1768 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
1769 `keywords_encountered'.
1770 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
1771
1772 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
1773 New entries for parsing /NDV, /CDV, and /DesignVector.
1774
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000017752006-07-07 Werner Lemberg <wl@gnu.org>
1776
1777 Add many checks to protect against malformed PCF files.
1778
1779 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
1780 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
1781
1782 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
1783 data and check that tables don't overlap (using a simple
1784 bubblesort).
1785 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
1786 New macros which give the size of data structures in the data
1787 stream.
1788 (pcf_get_properties): Use rough estimates to get array size limits.
1789 Assign `face->nprops' and `face->properties' earlier so that a call
1790 to PCF_Face_Done can do the clean-up in case of error.
1791 Protect against invalid string offsets.
1792 (pcf_get_metrics): Clean up code.
1793 Adjust tracing message levels.
1794 Use rough estimate to get array size limit.
1795 (pcf_get_bitmaps): Clean up code.
1796 Adjust tracing message levels.
1797 Use rough estimates to get offset limits.
1798 (pcf_get_encodings): Adjust tracing message level.
1799 (pcf_get_accel): Clean up code.
1800
Werner Lemberg8eb05252006-06-27 06:20:01 +000018012006-06-26 Werner Lemberg <wl@gnu.org>
1802
1803 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
1804 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
1805
Werner Lemberg24703f82006-06-26 19:12:51 +000018062006-06-26 Jens Claudius <jens.claudius@yahoo.com>
1807
1808 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
1809 (t1_decoder_parse_charstrings): Operator with
1810 opcode 15 pops its two arguments.
1811 Handle the case where the pops of an othersubr may be part of a
1812 subroutine.
1813 Handle unknown othersubrs gracefully: count their operands and let
1814 the following pop operators push the operands as the results onto
1815 the Type1 stack.
1816 Improve handling of setcurrentpoint opcode.
1817
Werner Lembergc011f4c2006-06-26 09:40:00 +000018182006-06-25 Jens Claudius <jens.claudius@yahoo.com>
1819
1820 The Type 1 parser now skips over top-level procedures as required
1821 for a `Simplified Parser'. This makes the parser more robust as it
1822 doesn't poke around in PostScript code. Additionally, it makes the
1823 FontDirectory hackery in src/type1/t1load.c unnecessary.
1824
1825 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
1826 (skip_literal_string): Add FT_Error as return value.
1827 Handle escapes better.
1828 (skip_string): Add FT_Error as return value.
1829 Don't set `parser->error' but return error code directly.
1830 (skip_procedure): New function.
1831 (ps_parser_skip_PS_token): Handle procedures.
1832 Update code.
1833 (ps_parser_to_token): Update code.
1834 (ps_parser_load_field_table): Handle bbox entries also.
1835
1836 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
1837 Add commented-out code for synthetic fonts.
1838
Werner Lemberga2da05c2006-06-25 06:27:27 +000018392006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
1840
1841 Fix two hinting bugs as reported in
1842 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
1843
1844 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
1845 `first_point' member.
1846
1847 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
1848 `first_point'.
1849 (TT_Process_Composite_Glyph): Always untouch points.
1850
1851 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
1852 `first_point' and `last_point' in case of composite glyphs.
1853 (Ins_IUP): Fix computation of `end_point'.
1854
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000018552006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1856
Werner Lembergef3d2c22006-06-25 06:07:14 +00001857 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
1858 Mac. The original patch was written by David Sachitano and Lawrence
1859 Coopet, and modified by Sean McBride for MPW compatibility. Only
1860 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001861
Werner Lembergef3d2c22006-06-25 06:07:14 +00001862 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
1863 Mac OS X platforms.
1864 (OS_INLINE): Undefine before definition.
1865 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
1866 FontAssociation table in FOND resource.
1867 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
1868 and fontSize at each entry of FontAssociation table in FOND
1869 resource.
1870 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
1871 ffStylOff of FamilyRecord header of FOND resource, the header,
1872 fontSize, fontID at each entry of FontAssociation table, and
1873 StyleMapping table.
1874 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001875
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000018762006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1877
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001878 Public API of TrueTypeGX, OpenType, and classic kern table validator
1879 should return `FT_Err_Unimplemented_Feature' if validation service
1880 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00001881 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001882 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
1883
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001884 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
1885 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
1886 unavailable.
1887 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
1888 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001889
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001890 * src/base/ftotval.c (FT_OpenType_Validate): Return
1891 FT_Err_Unimplemented_Feature if OpenType validation service is
1892 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001893
Werner Lembergb10e45a2006-06-08 07:32:56 +000018942006-06-08 Werner Lemberg <wl@gnu.org>
1895
1896 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
1897 errors.
1898
David Turner5f1f7502006-06-07 05:11:50 +000018992006-06-07 David Turner <david@freetype.org>
1900
Werner Lemberg7d48cb02006-06-08 06:00:08 +00001901 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
1902 (T1_Read_Metrics): Fix memory leak which happened when the metrics
1903 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00001904
David Turner457b4a82006-06-06 08:14:14 +000019052006-06-06 David Turner <david@freetype.org>
1906
Werner Lemberg4836f952006-06-06 12:54:08 +00001907 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00001908
Werner Lemberg4836f952006-06-06 12:54:08 +00001909 We change `ps_unicodes_init' so that it also takes a
1910 `free_glyph_name' callback to release the glyph names returned by
1911 `get_glyph_name'
1912
1913 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
1914 Renamed to ...
1915 (PS_GetGlyphNameFunc): This.
1916 (PS_FreeGlyphNameFunc): New typedef.
1917 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
1918
1919 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
1920 argument.
1921 (cff_sid_free_glyph_name): New function.
1922 (cff_cmap_unicode_init): Updated.
1923
1924 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
1925
1926 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
1927 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00001928
1929
David Turner09717352006-06-04 14:33:08 +000019302006-06-04 David Turner <david@freetype.org>
1931
Werner Lembergd724f202006-06-04 15:17:41 +00001932 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
1933 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001934 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00001935
Werner Lembergd724f202006-06-04 15:17:41 +00001936 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
1937 of `face->num_glyphs' which missed the last glyph, due to
1938 the offset-by-1 computation, since the PFR format doesn't
1939 guarantee that glyph index 0 corresponds to the `missing
1940 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00001941
Werner Lemberg33779662006-05-26 06:30:05 +000019422006-05-25 Werner Lemberg <wl@gnu.org>
1943
1944 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
1945 `-no-undefined'. Reported by Christian Biesinger.
1946
Werner Lemberg24773d62006-05-20 08:53:13 +000019472006-05-19 Brian Weed <bw@imaginengine.com>
1948
1949 * builds/win32/visualc/freetype.dsp: Release libraries no longer
1950 have debug information, and debug libraries use `C7 compatible'
1951 debug info.
1952
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000019532006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1954
Werner Lemberga6523a62006-05-20 08:47:01 +00001955 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00001956 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001957
Werner Lemberga6523a62006-05-20 08:47:01 +00001958 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
1959 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001960
1961 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00001962 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001963
19642006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1965
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00001966 * build/unix/configure.raw: Add a fallback to disable Carbon
1967 dependency, if configured with no options on Mac OS X.
1968
19692006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1970
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001971 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00001972 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001973 the second part of Savannah bug #16590.
1974
Werner Lemberg545c4e52006-05-17 22:55:04 +000019752006-05-18 Werner Lemberg <wl@gnu.org>
1976
1977 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
1978 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
1979
David Turnerdc3ff312006-05-17 12:59:35 +000019802006-05-17 David Turner <david@freetype.org>
1981
Werner Lemberg545c4e52006-05-17 22:55:04 +00001982 This is a major patch used to drastically improve the performance of
1983 loading glyphs. This both speeds up loading the glyph vectors
1984 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00001985
Werner Lemberg545c4e52006-05-17 22:55:04 +00001986 We now use inline assembler code with GCC to implement `FT_MulFix',
1987 which is probably the most important function related to the
1988 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00001989
Werner Lemberg545c4e52006-05-17 22:55:04 +00001990 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00001991
1992
Werner Lemberg545c4e52006-05-17 22:55:04 +00001993 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
1994 `cursor' and `limit'.
1995
1996 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
1997 New functions.
1998 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
1999 [TEST]: Remove.
2000
2001 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
2002 code.
2003
2004 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
2005 `FT_ZERO'
2006 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
2007 (af_glyph_hints_reload: Rewrite recognition of weak points.
2008
2009 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
2010 constant values out of the loops.
2011
2012 * src/autofit/aftypes.h: Updated.
2013
2014 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
2015
2016 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
2017 product to get orientation.
2018
2019 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
2020 (FT_Stream_OpenGzip): Use it to handle small files directly in
2021 memory.
2022
2023 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
2024 Improve performance.
2025
2026 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
2027 `limit'.
2028
2029 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
2030 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
2031 exceedingly large values of number of contours. Speed up by
2032 reducing the number of loops.
2033
2034 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
2035
2036
2037 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
2038 used to detect rogue clients from 4 to 16. This is to prevent some
2039 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
2040 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00002041
Werner Lembergde2d90a2006-05-17 08:54:30 +000020422007-05-17 Werner Lemberg <wl@gnu.org>
2043
2044 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00002045 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00002046
20472006-05-16 Werner Lemberg <wl@gnu.org>
2048
2049 * docs/PROBLEMS: Updated icl issues.
2050
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002051----------------------------------------------------------------------------
2052
Werner Lemberg42b63b22007-01-21 21:01:33 +00002053Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002054David Turner, Robert Wilhelm, and Werner Lemberg.
2055
2056This file is part of the FreeType project, and may only be used, modified,
2057and distributed under the terms of the FreeType project license,
2058LICENSE.TXT. By continuing to use, modify, or distribute this file you
2059indicate that you have read the license and understand and accept it
2060fully.
2061
2062
2063Local Variables:
2064version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002065coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002066End: