blob: d4b197b17fecf741e3bfb21d83c73c80509ae82f [file] [log] [blame]
Werner Lemberg6ff2ff52007-05-24 19:39:14 +000012007-05-24 Werner Lemberg <wl@gnu.org>
2
3 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
4 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
5
62007-05-24 Graham Asher <graham.asher@btinternet.com>
7
8 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
9 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
10
David Turner0d0365e2007-05-22 09:53:44 +0000112007-05-22 David Turner <david@freetype.org>
12
David Turner78906862007-05-22 14:08:09 +000013 * src/truetype/ttgload.c: fix Werner's recent graphics state
14 patch to avoid crashes when we don't use the bytecode interpreter !
15
David Turner3e2f9532007-05-22 13:10:59 +000016 * src/lzw/ftzopen.h, src/lzw/ftzopen.c: fix for bug #19910
17 (heap blowup with very large .Z font file). The .Z format is
18 *really* crappy :-(
David Turner0d0365e2007-05-22 09:53:44 +000019
202007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +000021
22 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
23 (ps_dimension_set_mask_bits): Remove `const'.
24
David Turner0d0365e2007-05-22 09:53:44 +0000252007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +000026
27 * src/sfnt/ttmtx.c (tt_face_get_metrics)
28 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
29
Werner Lembergb826fa72007-05-19 07:18:48 +0000302007-05-19 Derek Clegg <dclegg@apple.com>
31
32 Savannah patch #5929.
33
34 * include/freetype/tttables.h, src/base/ftobjcs.c
35 (FT_Get_CMap_Format): New function.
36
37 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
38 `format' member.
39 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
40 cmap_info->format.
41
Werner Lemberg6f99c882007-05-19 07:01:49 +0000422007-05-19 Werner Lemberg <wl@gnu.org>
43
44 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
45 before handling subglyphs so that it can be reinitialized each time.
46 This fixes Savannah bug #19859.
47
Werner Lemberg95bc9d32007-05-16 15:19:42 +0000482007-05-16 Werner Lemberg <wl@gnu.org>
49
50 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
51 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
52 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
53 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
54 tt_face_get_metrics): Fix type-punning issues.
55
David Turner0a24bd22007-05-15 10:54:10 +0000562007-05-15 David Turner <david@freetype.org>
57
58 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +000059 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
60 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +000061 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +000062 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +000063
Werner Lemberg607dec72007-05-15 06:49:37 +0000642007-05-15 Graham Asher <graham.asher@btinternet.com>
65
66 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
67 variable.
68 * src/autofit/afloader.c (af_loader_load_g): Ditto.
69
70 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
71 (open_face_from_buffer): Initialize `stream'.
72 (FT_Request_Metrics): Remove unused variable.
73 Remove redundant `break' statements.
74 (FT_Get_Track_Kerning): Remove unused variable.
75
76 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
77 afm_parse_kern_data): Remove redundant
78 `break' statements.
79 (afm_parser_parse): Ditto.
80 Don't use uninitialized variables.
81
82 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
83 Use `|' operator instead of `^' to set it.
84 Update all users.
85
86 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
87 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
88
89 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
90 comparison.
91 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
92 (TT_Load_Glyph): Remove unused variable.
93
Werner Lemberg8d463a52007-05-13 16:01:55 +0000942007-05-13 Derek Clegg <dclegg@apple.com>
95
96 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
97 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
98
David Turner711cf842007-05-11 14:36:24 +0000992007-05-11 David Turner <david@freetype.org>
100
Werner Lemberg56ceaa42007-05-14 18:53:58 +0000101 * src/cache/ftbasic.c, include/freetype/ftcache.h
102 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
103 functions that allow us to look up glyphs using an FTC_Scaler object
104 to specify the size, making it possible to use fractional pixel
105 sizes.
106
107 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
108 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +0000109
Werner Lemberg94be20e2007-05-09 20:02:55 +00001102007-05-09 Graham Asher <graham.asher@btinternet.com>
111
112 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
113 (af_latin_metrics_scale_dim): Fix compiler warnings.
114
Werner Lemberg41271032007-05-06 04:51:48 +00001152007-05-06 Werner Lemberg <wl@gnu.org>
116
117 * builds/win32/visualce/freetype.sln: Removed, as requested by
118 Vincent.
119
Werner Lembergdf49e692007-05-04 06:30:05 +00001202007-05-04 Vincent RICHOMME <richom.v@free.fr>
121
122 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
123 PC targets.
124
125 * docs/CHANGES: Document them.
126
1272007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +0000128
129 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
130 mmap (which might happen on some RTOS). From Savannah patch #5909.
131
Werner Lemberg106eaf12007-05-03 07:07:47 +00001322007-05-03 Werner Lemberg <wl@gnu.org>
133
134 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
135 * include/freetype/freetype.h (FT_Set_Char_Size): Update
136 documentation.
137
Werner Lemberg1b5267d2007-04-28 21:06:15 +00001382007-04-28 Victor Stinner <victor.stinner@inl.fr>
139
140 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
141 `cmap'.
142
Werner Lembergcc712a22007-04-27 17:16:50 +00001432007-04-27 Werner Lemberg <wl@gnu.org>
144
145 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
146 number of points in contours. Problem reported by Victor Stinner
147 <victor.stinner@haypocalc.com>.
148 (TT_Process_Simple_Glyph): Synchronize variable types.
149
Werner Lemberg45bb18f2007-04-26 06:26:35 +00001502007-04-26 Werner Lemberg <wl@gnu.org>
151
152 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
153 zero in case of error. This fixes Savannah bug #19689.
154
David Turnera8b45e62007-05-11 14:10:30 +00001552007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
156
157 * src/truetype/ttobjs.c: fix a typo that created a speed regression
158 in the TrueType bytecode loader
159
Werner Lembergfcc1f472007-04-10 11:51:50 +00001602007-04-10 Martin Horak <horakm@centrum.cz>
161
162 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
163 Ignore `hhea' table. This fixes Savannah bug #19261.
164
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001652007-04-09 Werner Lemberg <wl@gnu.org>
166
167 * Version 2.3.4 released.
168 =========================
169
170
171 Tag sources with `VER-2-3-4'.
172
173 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
174 version number to 2.3.4.
175
176 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
177 builds/win32/visualc/freetype.dsp,
178 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
179
180 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
181
182 * builds/unix/configure.raw (version_info): Set to 9:15:3.
183
Werner Lembergf4a52a62007-04-09 08:40:11 +00001842007-04-09 Martin Horak <horakm@centrum.cz>
185
186 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
187 memory stream to avoid a crash with the incremental memory
188 interface (Savannah bug #19260).
189
David Turner1dcb4442007-04-06 08:19:04 +00001902007-04-06 David Turner <david@freetype.org>
191
Werner Lembergc81cf612007-04-06 09:28:23 +0000192 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
193 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000194
Werner Lemberg9f83e052007-04-05 02:28:23 +00001952007-04-04 Werner Lemberg <wl@gnu.org>
196
197 * Version 2.3.3 released.
198 =========================
199
200
201 Tag sources with `VER-2-3-3'.
202
203 * docs/CHANGES: Mention CVE-2007-1351.
204
David Turner7338ec22007-04-03 14:30:34 +00002052007-04-03 David Turner <david@freetype.org>
206
207 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000208 if one of the resolution values is 0, treat it as if it were the
209 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000210
David Turnere6472c12007-04-02 13:13:54 +00002112007-04-02 David Turner <david@freetype.org>
212
Werner Lemberg94f12272007-04-03 07:19:53 +0000213 Add special code to detect `extra-light' fonts and do not snap their
214 stem widths too much to avoid bizarre hinting effects.
215
216 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
217 `extra_light' members.
218
219 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
220 them.
221 (af_latin_metrics_scale_dim): Set `extra_light'.
222 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000223
David Turner3f539692007-03-28 14:53:40 +00002242007-03-28 David Turner <david@freetype.org>
225
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000226 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000227 padding.
228
Werner Lemberga08b2172007-03-28 07:17:17 +00002292007-03-28 Werner Lemberg <wl@gnu.org>
230
231 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
232 gracefully.
233 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000234 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000235 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
236 number of code points in Unicode.
237
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000238 * builds/win32/visualc/index.html,
239 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000240 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000241 s/232/233/.
242
243 * docs/CHANGES: Mention ftdiff.
244
David Turner3b242d32007-03-26 12:03:04 +00002452007-03-26 David Turner <david@freetype.org>
246
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000247 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
248 corresponding code.
249 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000250
Werner Lemberga08b2172007-03-28 07:17:17 +0000251 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000252 computations in order to ignore single-point contours. These are
253 never rasterized and correspond in certain fonts to mark-attach
254 points that are very far from the glyph's real outline, ruining the
255 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000256
Werner Lemberga08b2172007-03-28 07:17:17 +0000257 * src/autofit/afloader.c (af_loader_load_g): In the case of
258 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
259 Otherwise code that uses them will most certainly ruin the fixed
260 advance property.
David Turner23553d62007-03-26 13:37:17 +0000261
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000262 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
263 documentation and bump version number to 2.3.3.
264
265 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
266
267 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000268
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00002692007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
270
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000271 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
272 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000273 * builds/vms/ftconfig.h: Ditto.
274 * include/freetype/config/ftconfig.h: Ditto.
275
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00002762007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
277
Werner Lemberg14ffe092007-03-22 06:12:43 +0000278 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
279 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000280 proposed by Sean McBride:
281 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
282
2832007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
284
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000285 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
286 setjmp, proposed by Sean McBride:
287 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
288
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00002892007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
290
Werner Lembergc9f6c662007-03-21 13:30:14 +0000291 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
292 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
293 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000294
David Turner74c34eb2007-03-18 07:19:31 +00002952007-03-18 David Turner <david@freetype.org>
296
Werner Lembergc9f6c662007-03-21 13:30:14 +0000297 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
298 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000299
Werner Lembergc9f6c662007-03-21 13:30:14 +0000300 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000301
David Turner89020d92007-03-17 17:48:57 +00003022007-03-17 David Turner <david@freetype.org>
303
Werner Lembergc9f6c662007-03-21 13:30:14 +0000304 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
305 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000306
Werner Lemberg25d592a2007-03-09 07:59:35 +00003072007-03-09 Werner Lemberg <wl@gnu.org>
308
309 * Version 2.3.2 released.
310 =========================
311
312
313 Tag sources with `VER-2-3-2'.
314
315 * builds/win32/visualc/index.html,
316 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000317 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000318 s/231/232/.
319
David Turner3a51afa2007-03-08 10:50:38 +00003202007-03-08 David Turner <david@freetype.org>
321
Werner Lemberg25d592a2007-03-09 07:59:35 +0000322 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000323
Werner Lemberg25d592a2007-03-09 07:59:35 +0000324 * builds/unix/configure.raw (version_info): Set to 9:13:3.
325
326 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
327
328 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000329
Werner Lemberg1e259de2007-03-08 15:39:21 +0000330 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
331 function to work properly, over-writing user-provided buffers in
332 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000333
David Turner121cad52007-03-08 16:43:50 +0000334
Werner Lemberg3d92f082007-03-06 11:59:24 +00003352007-03-05 Werner Lemberg <wl@gnu.org>
336
337 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
338 macro for `strstr'.
339
340 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
341 `trick_names', as suggested by Ivan Nincic.
342
David Turner085bc6e2007-03-05 17:40:03 +00003432007-03-05 David Turner <david@freetype.org>
344
Werner Lembergd112cf02007-03-06 12:06:56 +0000345 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
346 case FT_Init_FreeType fails for some reason. Problem reported by
347 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000348
Werner Lembergd112cf02007-03-06 12:06:56 +0000349 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
350 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
351 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
352 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000353
Werner Lembergd112cf02007-03-06 12:06:56 +0000354 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
355 signed values, not unsigned ones. Problem reported by Johannes
356 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000357
David Turner601aefe2007-02-21 16:47:49 +00003582007-02-21 David Turner <david@freetype.org>
359
Werner Lembergde5e6862007-02-25 21:06:43 +0000360 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
361 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000362
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00003632007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
364
365 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
366 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
367 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
368
Werner Lemberga0915172007-02-16 08:12:50 +00003692007-02-16 Werner Lemberg <wl@gnu.org>
370
371 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
372 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
373
David Turner2c4500e2007-02-14 15:08:47 +00003742007-02-14 David Turner <david@freetype.org>
375
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000376 It seems that the following changes fix most of the known
377 interpreter problems with my fonts, but more testing is needed,
378 though.
379
380 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
381 (TT_MulFix14): Rewrite.
382 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
383 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000384
Werner Lembergc6a14082007-02-12 22:08:15 +00003852007-02-12 Werner Lemberg <wl@gnu.org>
386
387 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
388 warnings.
389
390 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
391 (bdf_interpret_style): Ditto.
392
David Turnerc0f9c4a2007-02-12 14:55:03 +00003932007-02-12 David Turner <david@freetype.org>
394
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000395 Simplify projection and dual-projection code interface.
396
Werner Lemberg406d25f2007-02-12 22:01:18 +0000397 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
398 FT_Vector' as argument type.
399 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
400 Updated.
401 (CUR_fast_project, CUR_fast_dualproj): New macros.
402 (Project, Dual_Project, Project_x, Project_y): Updated.
403 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
404 macros.
405
406
407 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
408 adjustments for the non-light auto-hinted modes. Gets rid of
409 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000410
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000411 * src/autofit/aflatin.c (af_latin_hints_link_segments,
412 af_latin_hints_compute_edges): Slight optimization of the segment
413 linker and better handling of serif segments to get rid of broken
414 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000415
David Turnerc0f9c4a2007-02-12 14:55:03 +0000416
Werner Lemberg442bfb82007-02-12 21:44:10 +0000417 Introduce new string functions and the corresponding macros to get
418 rid of various uses of strcpy and other `evil' functions, as well as
419 to simplify a few things.
420
421 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
422 ft_mem_strcpyn): New declarations.
423 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
424 macros.
425 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
426 functions.
427
428 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
429 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
430 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
431 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
432 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
433 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
434 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
435 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000436
Werner Lemberg406d25f2007-02-12 22:01:18 +0000437 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
438
Werner Lemberg582067d2007-02-11 15:03:05 +00004392007-02-11 Werner Lemberg <wl@gnu.org>
440
441 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
442 non-spacing glyphs.
443
Werner Lemberg8f474532007-02-07 08:31:01 +00004442007-02-07 Tom Parker <palfrey@tevp.net>
445
446 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
447 pointer.
448
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00004492007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
450
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000451 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
452 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000453 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000454 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
455 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
456 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
457 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000458
459 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
460 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000461 * builds/mac/ftmac.c: Ditto.
462
4632007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
464
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000465 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000466 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000467 #include <ftmac.c>.
468
4692007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
470
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000471 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
472 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
473 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
474 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
475 FT_GetFilePath_From_Mac_ATS_Name.
476 * builds/mac/ftmac.c: Ditto.
477
4782007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
479
Werner Lembergdcbb7082007-02-08 08:54:09 +0000480 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000481 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
482 for passing to FT_New_Face_From_FSSpec.
483
4842007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
485
Werner Lembergdcbb7082007-02-08 08:54:09 +0000486 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000487 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000488
489 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
490 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000491 * builds/mac/ftmac.c (OS_INLINE): Ditto.
492
Werner Lemberg313d7772007-02-01 08:10:45 +00004932007-02-01 Werner Lemberg <wl@gnu.org>
494
495 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
496 Explain why applications shouldn't use it. Found by Alexei.
497
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00004982007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000499
500 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
501 message.
502
503 * src/gxvalid/gxvmort1.c
504 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
505 message.
506
Werner Lemberg53935932007-01-31 08:53:02 +00005072007-01-31 Werner Lemberg <wl@gnu.org>
508
509
510 * Version 2.3.1 released.
511 =========================
512
513
514 Tag sources with `VER-2-3-1-FINAL'.
515
516 * builds/win32/visualc/freetype.dsp,
517 builds/win32/visualc/freetype.vcproj: s/230/231/.
518 * builds/win32/visualc/index.html: s/221/231/.
519
520 * vms_make.com: Add `ftgasp'.
521
David Turnera7ee6082007-01-30 10:33:53 +00005222007-01-30 David Turner <david@freetype.org>
523
Werner Lemberg53935932007-01-31 08:53:02 +0000524 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000525
Werner Lemberg53935932007-01-31 08:53:02 +0000526 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000527
Werner Lemberg25d592a2007-03-09 07:59:35 +0000528 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000529 s/2.3.0/2.3.1/.
530
531 * builds/unix/configure.raw (version_info): Set to 9:12:3.
532
533
534 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
535 (af_loader_load_g): Disable the warper (i.e., the light hinting
536 improvements) to make a 2.3.1 bugfix release before introducing a
537 new feature. This should give us more time to tune and improve the
538 warper for the next release.
539
540 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000541
David Turnerd91eebd2007-01-26 15:05:41 +00005422007-01-25 David Turner <david@freetype.org>
543
Werner Lembergbf241762007-01-26 16:08:49 +0000544 For light auto-hinting, improve glyph advance widths and resurrect
545 normal/full hinting to its normal quality.
546
547 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
548 and `xmax_delta'.
549 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
550 and `xmax_delta'.
551
552 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
553 preprocessor conditional with if-clause, handling both light and
554 normal mode.
555
556 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
557 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000558
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00005592007-01-25 Werner Lemberg <wl@gnu.org>
560
561 * docs/release: Updated -- Savannah uses a new uploading scheme.
562
David Turnera42567b2007-01-25 12:23:37 +00005632007-01-25 David Turner <david@freetype.org>
564
Werner Lembergd7855662007-01-25 13:53:56 +0000565 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000566
Werner Lembergd7855662007-01-25 13:53:56 +0000567 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
568 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
569 functions.
David Turnera42567b2007-01-25 12:23:37 +0000570
Werner Lembergd7855662007-01-25 13:53:56 +0000571 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000572
Werner Lembergb1be9e82007-01-25 11:50:00 +00005732007-01-25 Werner Lemberg <wl@gnu.org>
574
575 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000576 correctly in a sanity check. Since this function is only used to
577 load local and global functions, any charstring that called the last
578 local/global function would fail otherwise. This fixes Savannah bug
579 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000580
581 * docs/CHANGES: Document it.
582
David Turnerb6de8d12007-01-23 15:51:50 +00005832007-01-23 David Turner <david@freetype.org>
584
Werner Lembergb1be9e82007-01-25 11:50:00 +0000585 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
586 prevented compilation when disabling both the unpatented and the
587 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000588
Werner Lembergb1be9e82007-01-25 11:50:00 +0000589
590 Fix and enable the warper to improve `light' hinting mode. This is
591 not necessarily a final version, but it seems to work well.
592
593 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
594 Disable code.
595 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
596 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
597
598 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
599 (af_warper_compute_line_best): Fix array size of `scores'.
600 (af_warper_compute): Better handling of border cases.
601 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
602 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000603
Werner Lemberg011d1112007-01-21 09:36:00 +00006042007-01-21 Werner Lemberg <wl@gnu.org>
605
Werner Lemberg42b63b22007-01-21 21:01:33 +0000606 * ChangeLog: Split off older entries into...
607 * ChangeLog.22: This new file.
608
6092007-01-21 Werner Lemberg <wl@gnu.org>
610
Werner Lemberg555258f2007-01-21 09:46:37 +0000611 * docs/CHANGES: Document SHZ fix.
612
6132007-01-21 George Williams <gww@silcom.com>
614
615 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
616 points.
617
6182007-01-21 Werner Lemberg <wl@gnu.org>
619
Werner Lemberg011d1112007-01-21 09:36:00 +0000620 * src/sfnt/ttmtx.c (tt_face_get_metrics)
621 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
622
Werner Lemberg87a5a432007-01-17 12:44:39 +00006232007-01-17 Werner Lemberg <wl@gnu.org>
624
Werner Lembergb8003292007-01-17 12:56:25 +0000625
626 * Version 2.3.0 released.
627 =========================
628
629
630 Tag sources with `VER-2-3-0-FINAL'.
631
6322007-01-17 Werner Lemberg <wl@gnu.org>
633
Werner Lemberg87a5a432007-01-17 12:44:39 +0000634 * docs/release: Updated.
635
David Turner22122722007-01-16 20:06:44 +00006362007-01-16 David Turner <david@freetype.org>
637
Werner Lemberg87a5a432007-01-17 12:44:39 +0000638 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
639 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
640 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
641 warnings.
David Turner22122722007-01-16 20:06:44 +0000642
Werner Lemberg267e1d72007-01-15 07:48:09 +00006432007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
644
645 * builds/amiga/makefile, builds/amiga/makefile.os4,
646 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
647
648 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
649
Werner Lemberg8c4120d2007-01-15 06:42:40 +00006502007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
651
652 Fix various compiler warnings.
653
654 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
655 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
656 s/index/strike_index/.
657 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
658
659 * src/gxvalid/gxvmorx5.c
660 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
661
662 * src/truetype/ttinterp.c (Compute_Point_Displacement),
663 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
664 uninitialized variables.
665
Werner Lemberg6164a9d2007-01-13 23:01:36 +00006662007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
667
668 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
669
Werner Lemberg281c1482007-01-13 22:50:51 +00006702007-01-13 Werner Lemberg <wl@gnu.org>
671
672 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
673 versions up to 0x3FF without complaining.
674
Werner Lembergac250b22007-01-13 14:01:36 +00006752007-01-13 Derek Clegg <dclegg@apple.com>
676
677 Add FT_Get_PS_Font_Info interface to CFF driver.
678
679 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
680 (CFF_FontRec): Add `font_info' field.
681
682 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
683 (cff_font_done): Free font->font_info if necessary.
684
685 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
686 (cff_service_ps_info): Register cff_ps_get_font_info.
687
Werner Lemberg23df31a2007-01-13 08:45:00 +00006882007-01-13 Werner Lemberg <wl@gnu.org>
689
690 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
691 with C++ compiler.
692
693 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
694 af_glyph_hints_dump_edges): Ditto.
695
696 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
697 `modules.cfg').
698
699 * src/sfnt/ttsbit0.h: Remove.
700
701 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
702
Werner Lemberg27cf9de2007-01-13 07:34:23 +00007032007-01-12 David Turner <david@freetype.org>
704
705 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
706 bug in the bitmap emboldener if the pitch of the source bitmap is
707 much larger than its width.
708
709 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
710 compilation warning.
711
Werner Lemberg6d96d312007-01-12 10:30:19 +00007122007-01-12 Werner Lemberg <wl@gnu.org>
713
714 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
715 `automake' CVS module from sources.redhat.com.
716
Werner Lemberg17432b52007-01-12 09:28:44 +00007172007-01-11 Werner Lemberg <wl@gnu.org>
718
719 * src/type1/t1load.c (is_space): Removed.
720 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
721 (parse_charstrings): Use IS_PS_TOKEN.
722
723
724 * autogen.sh: Avoid bash specific syntax.
725
David Turner038ace22007-01-11 15:00:59 +00007262007-01-11 David Turner <david@freetype.org>
727
Werner Lemberg17432b52007-01-12 09:28:44 +0000728 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +0000729
Werner Lemberg17432b52007-01-12 09:28:44 +0000730 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +0000731
Werner Lemberg17432b52007-01-12 09:28:44 +0000732 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
733 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +0000734 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +0000735
Werner Lemberg17432b52007-01-12 09:28:44 +0000736 * autogen.sh: Small fix to get it working on Mac OS X properly:
737 The issue is that GNU libtool is called `glibtool' on this platform,
738 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +0000739
David Turner2628ea92007-01-10 13:15:56 +00007402007-01-10 David Turner <david@freetype.org>
741
Werner Lemberg17432b52007-01-12 09:28:44 +0000742 * all-sources: Tag all sources with VER-2-3-0-RC1 and
743 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +0000744
Werner Lemberg17432b52007-01-12 09:28:44 +0000745 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
746 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
747 version number to 2.3.0.
748
749 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
750 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +0000751
752 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +0000753 include/freetype/ftlcdfil.h: Update reference documentation with
754 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +0000755
Werner Lemberg17432b52007-01-12 09:28:44 +0000756 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
757 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +0000758
Werner Lembergbf02d392007-01-10 07:07:37 +00007592007-01-10 Derek Clegg <dclegg@apple.com>
760
761 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
762 values.
763
David Turnerf48b60e2007-01-08 15:15:32 +00007642007-01-08 David Turner <david@freetype.org>
765
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000766 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +0000767
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000768 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
769 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +0000770 corresponding to a given character pixel size.
771
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000772 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
773 `gasp' table, in order to avoid potential problems with later
774 versions.
David Turnerf48b60e2007-01-08 15:15:32 +0000775
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000776 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
777 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +0000778
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000779 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
780 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
781 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
782 default build.
David Turnerf48b60e2007-01-08 15:15:32 +0000783
Werner Lemberge6b6f372007-01-07 00:06:47 +00007842007-01-07 Werner Lemberg <wl@gnu.org>
785
Werner Lembergb8004d22007-01-07 09:13:38 +0000786 * src/cid/cidparse.c (cid_parser_new): Improve error message for
787 Type 11 fonts.
788 Scan for `/sfnts' token.
789
7902007-01-07 Werner Lemberg <wl@gnu.org>
791
792 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +0000793
Werner Lembergbe5f7972007-01-06 07:51:48 +00007942007-01-06 Werner Lemberg <wl@gnu.org>
795
796 * src/cff/cffload.c (cff_index_init): Remove unused variable.
797 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
798
David Turnera8cf42b2007-01-04 16:46:46 +00007992007-01-04 David Turner <david@freetype.org>
800
Werner Lembergf6294392007-01-06 07:47:45 +0000801 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
802 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +0000803
Werner Lembergf6294392007-01-06 07:47:45 +0000804
805 Do not allocate interpreter-specific tables in memory if we are not
806 going to load glyphs with the bytecode interpreter anyway.
807
808 * src/truetype/ttgload.c (tt_loader_init): Load execution context
809 only if glyph is hinted.
810 Updated.
811 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
812 and `cvs_ready'.
813 Add `tt_size_ready_bytecode' declaration.
814 * src/truetype/ttobjs.c (tt_size_done_bytecode,
815 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
816 (tt_size_init): Move most code into `tt_size_init_bytecode'.
817 (tt_size_done): Move most code into `tt_size_done_bytecode'.
818 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000819
David Turner91a34022007-01-05 14:47:08 +0000820
Werner Lembergf6294392007-01-06 07:47:45 +0000821 Don't extract the metrics table from the SFNT font file. Instead,
822 reparse it on each glyph load. The runtime difference is not
823 noticeable, and it can save a lot of heap memory when memory-mapped
824 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +0000825
Werner Lembergf6294392007-01-06 07:47:45 +0000826 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
827 `horz_metrics_offset' and `vert_metrics_ofset'.
828 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
829 Updated.
830
831
832 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
833
834
835 Do not load the CFF index offsets into memory, since this wastes a
836 *lot* of heap memory with large Asian CFF fonts. There is no
837 significant performance loss.
838
839 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
840 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
841 `data_size'.
842 (CFF_CharsetRec): Add field `num_glyphs'.
843
844 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
845 cff_charset_cid_to_gindex): New functions.
846 (cff_new_index): Renamed to...
847 (cff_index_init): This. Update all callers.
848 Updated -- some code has been moved to `cff_index_load_offsets'.
849 (cff_done_index): Renamed to...
850 (cff_index_done): This. Update all callers.
851 (cff_index_get_pointers, cff_index_access_element): Updated to use
852 stream offsets.
853 (cff_charset_compute_cids): Set `num_glyphs' field.
854 (cff_encoding_load): Updated.
855
856 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +0000857
8582007-01-04 David Turner <david@freetype.org>
859
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000860 * docs/INSTALL.UNIX: Simplify some parts, add reference to
861 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +0000862
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000863 * README.CVS: Add common problem description and solution
864 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +0000865
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000866 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +0000867
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000868 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +0000869
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000870 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +0000871
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000872 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
873 (TWorker): This.
874 Remove `count_table' and `memory'.
875 Make `grays' a pointer.
876 (TRaster): New structure.
877 (count_table): New static array.
878 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
879 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
880 ft_black_set_mode, ft_black_render): Updated.
881 (ft_black_init): Don't initialize `count_table'.
882 (ft_black_reset): Use the render pool. This saves about 6KB of
883 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +0000884
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000885 * src/smooth/ftgrays.c (TRaster): Replaced with...
886 (TWorker): This.
887 Remove `memory'.
888 (TRaster): New structure.
889
890 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
891 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
892 gray_render_span, gray_raster_render): Updated.
893 (gray_raster_reset): Use the render pool. This saves about 6KB of
894 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +0000895
David Turner8a6c44e2007-01-04 17:03:11 +0000896 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
897 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000898 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
899 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
900 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +0000901
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000902 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
903 Remove a typo that results in no hinting and a memory leak with some
904 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +0000905
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000906 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +0000907 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000908 CFF_Faces in it. We need to close all faces before destroying the
909 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +0000910
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00009112007-01-02 Werner Lemberg <wl@gnu.org>
912
913 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
914 Remove compiler warning.
915
David Turner9207e002007-01-02 16:58:13 +00009162007-01-02 David Turner <david@freetype.org>
917
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000918 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +0000919
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00009202006-12-31 Masatake YAMATO <jet@gyve.org>
921
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000922 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
923 function.
924 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000925 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +0000926 `gxv_kern_subtable_fmt0_pairs_validate'.
927
David Turner115b4422006-12-22 11:37:05 +00009282006-12-22 David Turner <david@freetype.org>
929
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000930 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
931 warnings.
David Turner115b4422006-12-22 11:37:05 +0000932
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000933 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
934 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +0000935
Werner Lemberg4755bf72006-12-16 08:58:44 +00009362006-12-16 Anders Kaseorg <anders@kaseorg.com>
937
938 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
939 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
940
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00009412006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
942
Werner Lemberg9b774e22007-01-16 06:11:27 +0000943 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000944 sync with the modification by Jens Claudius on 2006-08-22; cf.
945 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 +0000946
9472006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
948
949 * src/base/ftmac.c: Specialized for Mac OS X only.
950 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
951 * builds/unix/configure.raw: Ditto. When explicit switches for
952 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
953 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
954
9552006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
956
957 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
958 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
959 instead of src/base/ftmac.c
960 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
961 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
962 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
963 that cannot be built at present.
964
9652006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
966
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000967 * src/base/ftobjs.c: Improvement of resource fork handler for
968 POSIX, cf.
969 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +0000970 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
971 format or .dfont, to simulate the face index number counted by ftmac.c.
972 (IsMacResource): Return the number of scalable faces correctly.
973
Werner Lembergec5b4502006-12-10 07:51:38 +00009742006-12-10 Werner Lemberg <wl@gnu.org>
975
976 * builds/toplevel.mk (version): Protect against `distclean' target.
977
Werner Lembergb26b3142006-12-09 20:01:43 +00009782006-12-09 Werner Lemberg <wl@gnu.org>
979
980 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
981 or `type'.
982
983 * builds/freetype.mk (version): Extracted from freetype.h, using
984 GNU make's built-in string functions.
985 (refdoc): Use $(version) instead of static version number.
986
Werner Lemberg4e1d6c02006-12-09 08:20:37 +00009872006-12-08 Werner Lemberg <wl@gnu.org>
988
989 * builds/toplevel.mk (dist): Extract version number from freetype.h.
990
Werner Lemberg15c29502006-12-09 07:29:54 +00009912006-12-08 Vladimir Volovich <vvv@vsu.ru>
992
993 * src/tools/apinames (State): Remove final comma in structure -- xlc
994 v5 under AIX 4.3 doesn't like this.
995
David Turnerdbf3b432006-12-07 21:18:09 +00009962006-12-07 David Turner <david@freetype.org>
997
Werner Lemberg256a3512006-12-08 06:49:33 +0000998 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
999 to the spacing of auto-fitted glyphs. This only impacts rare
1000 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00001001
Werner Lemberg11171312006-12-03 09:43:40 +000010022006-12-03 Werner Lemberg <wl@gnu.org>
1003
1004 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
1005
Werner Lemberg960ba592006-12-01 08:20:47 +000010062006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00001007
Werner Lemberg960ba592006-12-01 08:20:47 +00001008 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
1009 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
1010 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00001011
David Turner80658e52006-11-28 08:09:20 +00001012
Werner Lemberg960ba592006-12-01 08:20:47 +00001013 * include/freetype/ftxf86.h: Fix and extend comment so that it
1014 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00001015
Werner Lemberg960ba592006-12-01 08:20:47 +00001016 * include/freetype/ftchapters.h: Add `font_format' section.
1017
1018
1019 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
1020 to TOC in index page.
1021
10222006-11-28 David Turner <david@freetype.org>
1023
1024 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
1025 trying to render into a zero-width/height bitmap, not an error code.
1026
1027 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
1028
1029 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
1030 ones instead.
1031
1032 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
1033 variable.
David Turner80658e52006-11-28 08:09:20 +00001034
Werner Lemberg8636c292006-11-26 22:28:13 +000010352006-11-26 Pierre Hanser <hanser@club-internet.fr>
1036
1037 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
1038
Werner Lemberg960ba592006-12-01 08:20:47 +000010392006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00001040
Werner Lemberg960ba592006-12-01 08:20:47 +00001041 * src/autofit/afhints.c (af_glyph_hints_dump_points,
1042 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
1043 Add stubs to link the `ftgrid' test program when debugging is
1044 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00001045
Werner Lemberg960ba592006-12-01 08:20:47 +000010462006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00001047
1048 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00001049 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
1050
1051 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
1052 Emit more sensible information.
1053
1054 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1055
1056 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1057 rounding of blue values.
1058 (af_latin_hints_compute_segments): Hint segment heights.
1059 (af_latin_hints_link_segments): Reduce `len_score' value.
1060 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1061 value and use `height' member for comparisons.
1062 (af_latin_hint_edges): Extend logging message.
1063 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001064
Werner Lemberg91959bf2006-11-22 10:36:55 +000010652006-11-22 Werner Lemberg <wl@gnu.org>
1066
1067 Fix Savannah bug #15553.
1068
1069 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1070 program after a change from mono to grayscaling (and vice versa).
1071 Use correct constant for comparison to get `exec->grayscale'.
1072
Werner Lemberg913a3652006-11-19 09:19:17 +000010732006-11-18 Werner Lemberg <wl@gnu.org>
1074
1075 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001076 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001077 This patch fixes Savannah bug #18301.
1078
1079 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1080 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1081 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1082 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1083 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1084 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1085 (FNT_Load_Glyph): Check validity of `glyph_index'.
1086
David Turner7bab6ae2006-11-13 11:25:06 +000010872006-11-13 David Turner <david@freetype.org>
1088
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001089 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1090 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001091
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001092 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1093 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1094 when building the library to change the default LCD filter to be
1095 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001096
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001097 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001098
David Turner8765c712006-11-10 16:49:42 +000010992006-11-10 David Turner <david@freetype.org>
1100
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001101 * src/smooth/ftsmooth.c: API change for the LCD
1102 filter. The FT_LcdFilter value is an enumeration describing which
1103 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1104 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1105 algorithm which produces strong color fringes for everything
1106 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001107
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001108 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1109 second parameter to an enum type.
1110
1111 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1112 (_ft_lcd_filter): Rename to...
1113 (_ft_lcd_filter_fir): This.
1114 Update parameters.
1115 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1116 (FT_Library_Set_LcdFilter): Update parameters.
1117 Handle new filter modes.
1118
1119 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1120 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1121 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1122 callback and update other fields.
1123
1124 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1125 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1126 Other minor improvements.
1127
1128 * src/autofit/aflatin.c: Various tiny improvements that drastically
1129 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1130 (af_latin_hints_compute_edges): Fix typo.
1131 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001132
David Turner4e9cc3c2006-11-09 16:31:52 +000011332006-11-09 David Turner <david@freetype.org>
1134
Werner Lemberg49c77a82006-11-09 21:51:57 +00001135 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1136 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001137
Werner Lemberg5e430892006-11-07 09:35:03 +000011382006-11-07 Zhe Su <james.su@gmail.com>
1139
1140 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1141 also.
1142
Werner Lemberg111b5ae2006-11-03 09:40:12 +000011432006-11-03 Werner Lemberg <wl@gnu.org>
1144
1145 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1146
David Turner40604742006-11-02 16:37:35 +000011472006-11-02 David Turner <david@freetype.org>
1148
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001149 Add a few tweaks to better handle serif fonts.
1150 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001151
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001152 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1153 segments that are less than 1.5 pixels high. This gets rid of
1154 *many* corner cases with serifs.
1155 (af_latin_align_linked_edge): Add logging message.
1156 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1157 Add logging messages.
1158 Handle AF_EDGE_FLAG flag specially.
1159
1160 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1161 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1162
1163 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1164 Update external declarations.
1165 (af_corner_orientation, af_corner_is_flat): Replaced by...
1166
1167 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1168 ft_corner_is_flat): These declarations.
1169
1170 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1171 Comment out. Replaced by...
1172
1173 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1174 These functions. Update all callers.
1175 (FT_Add64) [!FT_LONG64]: Simplify.
1176
1177 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1178 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1179 production of garbage by missing lots of segments.
1180
1181 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1182
1183 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1184 [AF_DEBUG]: Set _af_debug_hints.
1185
1186
1187 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1188 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1189 and ft_corner_orientation.
1190
1191
1192 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001193
Werner Lemberge88c5262006-10-24 05:46:26 +000011942006-10-24 Werner Lemberg <wl@gnu.org>
1195
1196 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1197
1198 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1199 as argument.
1200
David Turnera1861392006-10-23 16:00:59 +000012012006-10-23 Zhe Su <zsu@novell.com>
1202
Werner Lemberg715e96e2006-10-24 05:28:45 +00001203 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1204 better deal with broken Asian fonts with strange glyphs, having
1205 self-intersections and other peculiarities. The used algorithm is
1206 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001207
David Turnere140f142006-10-23 08:56:57 +000012082006-10-23 David Turner <david@freetype.org>
1209
Werner Lemberg715e96e2006-10-24 05:28:45 +00001210 Speed up the CFF font loader. With some large CFF fonts,
1211 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001212
Werner Lemberg715e96e2006-10-24 05:28:45 +00001213 * src/cff/cffload.c (cff_get_offset): Removed.
1214 (cff_new_index): Inline functionality of `cff_get_offset'.
1215 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1216 (cff_charset_done): Call `cff_charset_free_cids'.
1217 (cff_charset_load): Call `cff_charset_compute_cids'.
1218 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1219
1220 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1221 with FT_NEXT_XXX.
1222
1223
1224 Speed up the Postscript hinter, with more than 100% speed increase
1225 on my machine.
1226
1227 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1228 psh_corner_orientation): New functions.
1229 (psh_glyph_compute_inflections): Merge loops for efficiency.
1230 Use `psh_corner_orientation'.
1231 (psh_glyph_init): Use `psh_corner_is_flat'.
1232 (psh_hint_table_find_strong_point): Renamed to...
1233 (psh_hint_table_find_strong_points): This.
1234 Rewrite, adding argument to handle all points at once.
1235 Update all callers.
1236 (PSH_MAX_STRONG_INTERNAL): New macro.
1237 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001238
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000012392006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1240
1241 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001242 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001243
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000012442006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1245
1246 * docs/INSTALL.CROSS: New document file for cross-building.
1247
1248 * builds/unix/configure.raw: Preliminary cross-building support.
1249 Find native C compiler and pass it by CC_BUILD, and
1250 find suffix for native executable and pass it by EXEEXT_BUILD.
1251 Also suffix for target executable is passed by EXEEXT.
1252
Werner Lembergb9e6d692006-10-15 08:58:40 +00001253 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1254 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001255 CC_BUILD and EXEEXT_BUILD.
1256
Werner Lembergb9e6d692006-10-15 08:58:40 +00001257 * builds/exports.mk (APINAMES_EXE): Change the extension for
1258 apinames from the suffix for target (E) to that for building host
1259 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001260
Werner Lemberg82a07e92006-10-12 06:20:44 +000012612006-10-12 Werner Lemberg <wl@gnu.org>
1262
1263 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1264 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1265 which reference those files.
1266
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000012672006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1268
Werner Lembergb9e6d692006-10-15 08:58:40 +00001269 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1270 embedded in freetype2.pc and freetype-config. Use it to record
1271 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001272
1273 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1274
1275 * builds/unix/freetype-config.in: Ditto.
1276
Werner Lemberg28e17d92006-10-11 17:27:47 +000012772006-10-11 Werner Lemberg <wl@gnu.org>
1278
1279 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1280 development.
1281
Jens Claudius336d2292006-10-03 08:53:37 +000012822006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1283
1284 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1285 argument to ft_setjmp.
1286
1287 * include/freetype/internal/ftvalid.h: Add comment that
1288 ft_validator_run must not be used.
1289
Werner Lemberg2863cfa2006-10-01 17:04:00 +000012902006-10-01 Werner Lemberg <wl@gnu.org>
1291
1292 * src/base/ftbase.c: Undo change from 2006-09-30.
1293
1294 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1295
12962006-09-30 David Turner <david@freetype.org>
1297
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001298 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1299 s/unpatented_hinting/ignore_unpatented_hinter/.
1300 Update all callers.
1301
1302 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1303 auto-hinting shall be used or not.
1304
1305 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001306
Werner Lemberg2863cfa2006-10-01 17:04:00 +000013072006-09-30 Werner Lemberg <wl@gnu.org>
1308
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001309 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1310 in use).
1311
1312 * src/base/ftbase.c: Include `ftlcdfil.c'.
1313
Werner Lemberg9b15ea32006-09-29 18:22:11 +000013142006-09-29 Werner Lemberg <wl@gnu.org>
1315
1316 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1317 overlapping segments. Bug reported by Stefan Koch.
1318
David Turnerad830712006-09-27 16:20:59 +000013192006-09-28 David Turner <david@freetype.org>
1320
Werner Lemberg2c002e12006-09-29 21:31:53 +00001321 Fix a bug in the automatic unpatented hinting support which prevents
1322 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001323
Werner Lemberg2c002e12006-09-29 21:31:53 +00001324 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1325 s/force_autohint/unpatented_hinting/. Update all callers.
1326
1327 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1328
1329 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001330
David Turner8a317cf2006-09-27 07:52:48 +000013312006-09-27 David Turner <david@freetype.org>
1332
Werner Lemberg2c002e12006-09-29 21:31:53 +00001333 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001334
David Turner8a317cf2006-09-27 07:52:48 +00001335
David Turnere140f142006-10-23 08:56:57 +00001336 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001337 In a default build, the function `FT_Library_SetLcdFilter' returns
1338 `FT_Err_Unimplemented_Feature'; you need to #define
1339 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1340 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001341
Werner Lemberg2c002e12006-09-29 21:31:53 +00001342 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001343
Werner Lemberg2c002e12006-09-29 21:31:53 +00001344 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1345 typedef.
1346 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1347 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001348
Werner Lemberg2c002e12006-09-29 21:31:53 +00001349 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1350 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001351
Werner Lemberg2c002e12006-09-29 21:31:53 +00001352 Handle subpixel rendering.
1353 Simplify function.
1354 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1355 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1356
1357 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1358 pointing to <freetype/ftlcdfil.h>.
1359
1360 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1361 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1362
1363 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001364
Werner Lemberge20df4a2006-09-27 06:29:21 +000013652006-09-26 David Bustin
1366
1367 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1368 correctly. Reported as Savannah bug #17843.
1369
David Turner6f8c6222006-09-26 15:42:44 +000013702006-09-26 David Turner <david@freetype.org>
1371
Werner Lemberg110246c2006-09-26 21:55:44 +00001372 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1373 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1374 horizontal and vertical hinting for the purpose of debugging the
1375 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001376
Werner Lemberg110246c2006-09-26 21:55:44 +00001377 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1378 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001379
Werner Lemberg110246c2006-09-26 21:55:44 +00001380 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1381
1382 * include/freetype/config/ftoption.h, devel/ftoption.h
1383 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1384 we want to compile LCD-optimized rendering code (à la ClearType) or
1385 not. The macro *must* be disabled in default builds of the library
1386 for patent reasons.
1387
1388 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1389 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1390 isn't defined at compile time. This only changes the content of the
1391 rendered glyph to match the one of normal gray-level rendering,
1392 hence clients should not need to be modified.
1393
1394 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001395
Werner Lemberg745ff2c2006-09-19 05:48:02 +000013962006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1397
1398 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1399 LWFN fails and both are available.
1400
David Turnerf3050052006-09-11 12:00:32 +000014012006-09-11 David Turner <david@freetype.org>
1402
Werner Lembergf9644552006-09-12 13:48:10 +00001403 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1404 report their English names through an Apple Roman
1405 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001406
Werner Lembergf9644552006-09-12 13:48:10 +00001407 If the font uses another name entry with language_id == English, it
1408 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001409
Werner Lembergf9644552006-09-12 13:48:10 +00001410 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1411 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001412
Werner Lemberg36d2eab2006-09-05 19:24:34 +000014132006-09-05 Werner Lemberg <wl@gnu.org>
1414
1415 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001416 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001417 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1418 `HAN NOM B.ttf').
1419
1420 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1421
David Turner772e55d2006-09-05 09:45:15 +000014222006-09-05 David Turner <david@freetype.org>
1423
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001424 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001425
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001426 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1427 (TRaster): Remove `count_ex' and `count_ey'.
1428 (gray_find_cell): Remove 2nd and 3rd argument.
1429 (gray_alloc_cell): Merged with `gray_find_cell'.
1430 (gray_record_cell): Simplify.
1431 (gray_set_cell): Rewrite.
1432 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1433 (gray_render_span): Don't use FT_MEM_SET for small values.
1434 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1435 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1436 bitmap scanline.
1437 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001438
David Turneraa557a92006-09-04 16:42:44 +000014392006-09-04 David Turner <david@freetype.org>
1440
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001441 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1442 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001443
Werner Lemberg2d8629b2006-09-03 06:18:45 +000014442006-09-03 Werner Lemberg <wl@gnu.org>
1445
1446 * devel/ftoption.h: Synchronize with
1447 include/freetype/config/ftoption.h.
1448
1449 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1450 variable declaration.
1451 (gray_convert_glyph): Fix compiler warnings.
1452
David Turner6d79f212006-09-01 14:09:35 +000014532006-09-01 David Turner <david@freetype.org>
1454
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001455 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1456 to recognize a few fonts that require the automatic unpatented
1457 loader.
David Turnerbd502952006-09-01 19:05:24 +00001458
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001459 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1460 rasterizer. The speed improvement is between 15% and 25%, depending
1461 on the font data.
1462
1463 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1464 (TCell): Redefine.
1465 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1466 (gray_init_cells): Updated.
1467 (gray_find_cell, gray_alloc_cell): New functions.
1468 (gray_record_cell): Rewritten to use `gray_find_cell' and
1469 `gray_alloc_cell'.
1470 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1471 QSORT_THRESHOLD):
1472 Removed.
1473 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1474 gray_dump_cells): Removed.
1475 (gray_sweep): Rewritten.
1476 (gray_convert_glyph): Rewrite code which used one of the sorting
1477 functions.
1478 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001479
Werner Lembergd898aed2006-08-29 09:50:34 +000014802006-08-29 Dr. Werner Fink <werner@suse.de>
1481
1482 * configure: Make it possible to handle configure options which
1483 have strings containing spaces.
1484
14852006-08-27 David Turner <david@freetype.org>
1486
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001487 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1488 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1489 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1490
1491 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1492 src/truetype/truetype.c, src/truetype/ttdriver.c,
1493 src/truetype/ttgload.c, src/truetype/ttgload.h,
1494 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1495 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1496 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1497
1498 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1499 member `force_autohint'.
1500
1501 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1502
1503 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1504 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001505
Jens Claudiusa787f452006-08-27 11:26:18 +000015062006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1507
1508 Fix miscellaneous compiler warnings.
1509
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001510 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1511 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001512
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001513 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1514 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1515 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001516
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001517 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1518 volatileness of argument to ft_longjmp. Spotted by Werner
1519 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001520
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001521 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1522 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001523
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001524 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1525 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001526
Werner Lembergc4c35b72006-08-27 08:03:46 +000015272006-08-27 Werner Lemberg <wl@gnu.org>
1528
1529 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1530 Reported by Jens.
1531
Jens Claudius088e44e2006-08-22 14:24:30 +000015322006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001533
Jens Claudius088e44e2006-08-22 14:24:30 +00001534 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001535 about addresses of volatile objects passed as function arguments as
1536 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001537
Werner Lembergc4c35b72006-08-27 08:03:46 +00001538 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1539 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001540
1541 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1542 argument `table' a pointer to a volatile object.
1543
1544 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1545 argument `table' a pointer to a volatile object.
1546
Jens Claudius2652bd52006-08-18 17:20:37 +000015472006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1548
1549 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1550 variable `_sfnt' as volatile since it must keep its value across
1551 a call to ft_setjmp.
1552 (gxv_validate): Same for local variables `memory' and `valid'.
1553 (classic_kern_validate): Same for local variables `memory',
1554 `ckern', and `valid'.
1555
1556 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1557 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1558 `jstf', and 'valid'.
1559
1560 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1561 local variable `cmap'.
1562
David Turner9fbfc6a2006-08-16 09:11:31 +000015632006-08-16 David Turner <david@freetype.org>
1564
Werner Lemberg12342992006-08-19 11:18:09 +00001565 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1566 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001567
Werner Lemberg12342992006-08-19 11:18:09 +00001568 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1569 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001570
David Turner33f5f242006-08-16 16:50:55 +00001571
Werner Lemberg12342992006-08-19 11:18:09 +00001572 Improvements to native TrueType hinting. This is a first try,
1573 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1574
1575 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1576 `extra_points2'.
1577
1578 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1579 `orus'.
1580
1581 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1582 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1583 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1584 handle `extra_points2'.
1585
1586 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1587 Remove compiler warning.
1588 (cur_to_arg): Remove macro.
1589 (TT_Hint_Glyph): Updated.
1590 (TT_Process_Simple_Glyph): Handle `orus'.
1591
1592 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1593 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1594 (LOC_Ins_IUP): Renamed to...
1595 (IUP_WorkerRec): This.
1596 Add `orus' member.
1597 (Shift): Renamed to...
1598 (_iup_worker_shift): This.
1599 Updated.
1600 (Interp): Renamed to...
1601 (_iup_worker_interpolate): This.
1602 Updated to handle `orus'.
1603 (Ins_IUP): Updated.
1604
1605 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1606 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001607
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000016082006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1609
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001610 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001611 build ftvalid in ft2demos. This has been inadvertedly changed
1612 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001613
16142006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1615
Werner Lemberg12342992006-08-19 11:18:09 +00001616 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1617 Jens:
1618 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001619
Werner Lemberg12342992006-08-19 11:18:09 +00001620 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1621 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001622
1623 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1624
Jens Claudius9950adc2006-08-13 12:14:36 +000016252006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1626
Werner Lemberg12342992006-08-19 11:18:09 +00001627 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1628 T1_TOKEN_TYPE_KEY.
1629 (T1_FieldRec): Add `dict'.
1630 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1631 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1632 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001633
Werner Lemberg12342992006-08-19 11:18:09 +00001634 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1635 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001636
1637 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1638
1639 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001640 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1641 not T1_TOKEN_TYPE_ANY.
1642 (ps_parser_load_field): Make sure a token that should be a string or
1643 name is really a string or name.
1644 Avoid memory leak if a keyword has been already encountered and its
1645 value is overwritten.
1646 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1647 T1_FIELD_XXX.
1648 (parse_dict): Ignore keywords that occur in the wrong dictionary
1649 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001650
Werner Lemberg12342992006-08-19 11:18:09 +00001651 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1652 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001653
Werner Lemberg12342992006-08-19 11:18:09 +00001654 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1655 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001656
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000016572006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1658
1659 Move creation of field `buildchar' of T1_DecoderRec out of
1660 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1661 of it.
1662
1663 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1664 and `T1_Compute_Max_Advance'.
1665
1666 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1667 Remove field `face', add `len_buildchar'.
1668
1669 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1670 field `buildchar'.
1671
1672 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1673 finisher for T1_Decoder.
1674 (cid_slot_load_glyph): Do not ignore failure when initializing the
1675 T1_Decoder.
1676
1677 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
1678 Updated.
1679 (t1_decoder_init): Remove initialization of fields `buildchar' and
1680 `len_buildchar'.
1681 (t1_decoder_done): Remove deallocation of field `buildchar'.
1682
1683 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
1684 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
1685 T1_Decoder.
1686 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
1687 `len_buildchar'; make sure to call finisher for T1_Decoder even in
1688 case of error.
1689
1690 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
1691 `buildchar' of T1_FaceRec.
1692
1693 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
1694 `buildchar' of T1_FaceRec.
1695
Werner Lemberg1a380e02006-07-14 18:28:08 +000016962006-07-14 Jens Claudius <jens.claudius@yahoo.com>
1697
1698 * freetype2/include/freetype/internal/psaux.h: New macros
1699 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
1700 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
1701 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
1702 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
1703 (T1_DecoderRec): New fields `buildchar' and `face'.
1704 (IS_PS_TOKEN): New macro.
1705
1706 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
1707 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
1708
1709 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
1710 `default_design_vector' and `num_default_design_vector'.
1711
1712 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
1713 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
1714 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
1715
1716 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
1717 `token' argument to be NULL if we want only to count the number of
1718 tokens.
1719 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
1720 want to skip the array.
1721 (ps_tofixedarray): Allow `values' argument to be NULL if we just
1722 want to skip the array.
1723
1724 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
1725 support for (partially commented out) othersubrs 19-25, 27, and 28.
1726 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
1727 (t1_decoder_done): Release new field `buildchar'.
1728
1729 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
1730 functions.
1731 (t1_keywords): Register them.
1732 (t1_allocate_blend): Updated.
1733 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
1734 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
1735 (parse_dict): Remove `keyword_flags' argument.
1736 Use new macro IS_PS_TOKEN.
1737 Changed function so that later PostScript definitions override
1738 earlier ones.
1739 (t1_init_loader): Initialize new field `keywords_encountered'.
1740 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
1741 `len_buildchar'.
1742 Remove `keywords_flags'.
1743
1744 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
1745 `keywords_encountered'.
1746 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
1747
1748 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
1749 New entries for parsing /NDV, /CDV, and /DesignVector.
1750
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000017512006-07-07 Werner Lemberg <wl@gnu.org>
1752
1753 Add many checks to protect against malformed PCF files.
1754
1755 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
1756 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
1757
1758 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
1759 data and check that tables don't overlap (using a simple
1760 bubblesort).
1761 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
1762 New macros which give the size of data structures in the data
1763 stream.
1764 (pcf_get_properties): Use rough estimates to get array size limits.
1765 Assign `face->nprops' and `face->properties' earlier so that a call
1766 to PCF_Face_Done can do the clean-up in case of error.
1767 Protect against invalid string offsets.
1768 (pcf_get_metrics): Clean up code.
1769 Adjust tracing message levels.
1770 Use rough estimate to get array size limit.
1771 (pcf_get_bitmaps): Clean up code.
1772 Adjust tracing message levels.
1773 Use rough estimates to get offset limits.
1774 (pcf_get_encodings): Adjust tracing message level.
1775 (pcf_get_accel): Clean up code.
1776
Werner Lemberg8eb05252006-06-27 06:20:01 +000017772006-06-26 Werner Lemberg <wl@gnu.org>
1778
1779 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
1780 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
1781
Werner Lemberg24703f82006-06-26 19:12:51 +000017822006-06-26 Jens Claudius <jens.claudius@yahoo.com>
1783
1784 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
1785 (t1_decoder_parse_charstrings): Operator with
1786 opcode 15 pops its two arguments.
1787 Handle the case where the pops of an othersubr may be part of a
1788 subroutine.
1789 Handle unknown othersubrs gracefully: count their operands and let
1790 the following pop operators push the operands as the results onto
1791 the Type1 stack.
1792 Improve handling of setcurrentpoint opcode.
1793
Werner Lembergc011f4c2006-06-26 09:40:00 +000017942006-06-25 Jens Claudius <jens.claudius@yahoo.com>
1795
1796 The Type 1 parser now skips over top-level procedures as required
1797 for a `Simplified Parser'. This makes the parser more robust as it
1798 doesn't poke around in PostScript code. Additionally, it makes the
1799 FontDirectory hackery in src/type1/t1load.c unnecessary.
1800
1801 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
1802 (skip_literal_string): Add FT_Error as return value.
1803 Handle escapes better.
1804 (skip_string): Add FT_Error as return value.
1805 Don't set `parser->error' but return error code directly.
1806 (skip_procedure): New function.
1807 (ps_parser_skip_PS_token): Handle procedures.
1808 Update code.
1809 (ps_parser_to_token): Update code.
1810 (ps_parser_load_field_table): Handle bbox entries also.
1811
1812 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
1813 Add commented-out code for synthetic fonts.
1814
Werner Lemberga2da05c2006-06-25 06:27:27 +000018152006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
1816
1817 Fix two hinting bugs as reported in
1818 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
1819
1820 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
1821 `first_point' member.
1822
1823 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
1824 `first_point'.
1825 (TT_Process_Composite_Glyph): Always untouch points.
1826
1827 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
1828 `first_point' and `last_point' in case of composite glyphs.
1829 (Ins_IUP): Fix computation of `end_point'.
1830
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000018312006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1832
Werner Lembergef3d2c22006-06-25 06:07:14 +00001833 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
1834 Mac. The original patch was written by David Sachitano and Lawrence
1835 Coopet, and modified by Sean McBride for MPW compatibility. Only
1836 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001837
Werner Lembergef3d2c22006-06-25 06:07:14 +00001838 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
1839 Mac OS X platforms.
1840 (OS_INLINE): Undefine before definition.
1841 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
1842 FontAssociation table in FOND resource.
1843 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
1844 and fontSize at each entry of FontAssociation table in FOND
1845 resource.
1846 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
1847 ffStylOff of FamilyRecord header of FOND resource, the header,
1848 fontSize, fontID at each entry of FontAssociation table, and
1849 StyleMapping table.
1850 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001851
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000018522006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1853
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001854 Public API of TrueTypeGX, OpenType, and classic kern table validator
1855 should return `FT_Err_Unimplemented_Feature' if validation service
1856 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00001857 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001858 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
1859
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001860 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
1861 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
1862 unavailable.
1863 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
1864 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001865
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001866 * src/base/ftotval.c (FT_OpenType_Validate): Return
1867 FT_Err_Unimplemented_Feature if OpenType validation service is
1868 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001869
Werner Lembergb10e45a2006-06-08 07:32:56 +000018702006-06-08 Werner Lemberg <wl@gnu.org>
1871
1872 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
1873 errors.
1874
David Turner5f1f7502006-06-07 05:11:50 +000018752006-06-07 David Turner <david@freetype.org>
1876
Werner Lemberg7d48cb02006-06-08 06:00:08 +00001877 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
1878 (T1_Read_Metrics): Fix memory leak which happened when the metrics
1879 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00001880
David Turner457b4a82006-06-06 08:14:14 +000018812006-06-06 David Turner <david@freetype.org>
1882
Werner Lemberg4836f952006-06-06 12:54:08 +00001883 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00001884
Werner Lemberg4836f952006-06-06 12:54:08 +00001885 We change `ps_unicodes_init' so that it also takes a
1886 `free_glyph_name' callback to release the glyph names returned by
1887 `get_glyph_name'
1888
1889 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
1890 Renamed to ...
1891 (PS_GetGlyphNameFunc): This.
1892 (PS_FreeGlyphNameFunc): New typedef.
1893 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
1894
1895 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
1896 argument.
1897 (cff_sid_free_glyph_name): New function.
1898 (cff_cmap_unicode_init): Updated.
1899
1900 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
1901
1902 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
1903 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00001904
1905
David Turner09717352006-06-04 14:33:08 +000019062006-06-04 David Turner <david@freetype.org>
1907
Werner Lembergd724f202006-06-04 15:17:41 +00001908 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
1909 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001910 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00001911
Werner Lembergd724f202006-06-04 15:17:41 +00001912 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
1913 of `face->num_glyphs' which missed the last glyph, due to
1914 the offset-by-1 computation, since the PFR format doesn't
1915 guarantee that glyph index 0 corresponds to the `missing
1916 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00001917
Werner Lemberg33779662006-05-26 06:30:05 +000019182006-05-25 Werner Lemberg <wl@gnu.org>
1919
1920 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
1921 `-no-undefined'. Reported by Christian Biesinger.
1922
Werner Lemberg24773d62006-05-20 08:53:13 +000019232006-05-19 Brian Weed <bw@imaginengine.com>
1924
1925 * builds/win32/visualc/freetype.dsp: Release libraries no longer
1926 have debug information, and debug libraries use `C7 compatible'
1927 debug info.
1928
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000019292006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1930
Werner Lemberga6523a62006-05-20 08:47:01 +00001931 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00001932 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001933
Werner Lemberga6523a62006-05-20 08:47:01 +00001934 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
1935 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001936
1937 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00001938 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001939
19402006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1941
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00001942 * build/unix/configure.raw: Add a fallback to disable Carbon
1943 dependency, if configured with no options on Mac OS X.
1944
19452006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1946
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001947 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00001948 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001949 the second part of Savannah bug #16590.
1950
Werner Lemberg545c4e52006-05-17 22:55:04 +000019512006-05-18 Werner Lemberg <wl@gnu.org>
1952
1953 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
1954 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
1955
David Turnerdc3ff312006-05-17 12:59:35 +000019562006-05-17 David Turner <david@freetype.org>
1957
Werner Lemberg545c4e52006-05-17 22:55:04 +00001958 This is a major patch used to drastically improve the performance of
1959 loading glyphs. This both speeds up loading the glyph vectors
1960 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00001961
Werner Lemberg545c4e52006-05-17 22:55:04 +00001962 We now use inline assembler code with GCC to implement `FT_MulFix',
1963 which is probably the most important function related to the
1964 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00001965
Werner Lemberg545c4e52006-05-17 22:55:04 +00001966 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00001967
1968
Werner Lemberg545c4e52006-05-17 22:55:04 +00001969 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
1970 `cursor' and `limit'.
1971
1972 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
1973 New functions.
1974 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
1975 [TEST]: Remove.
1976
1977 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
1978 code.
1979
1980 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
1981 `FT_ZERO'
1982 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
1983 (af_glyph_hints_reload: Rewrite recognition of weak points.
1984
1985 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
1986 constant values out of the loops.
1987
1988 * src/autofit/aftypes.h: Updated.
1989
1990 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
1991
1992 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
1993 product to get orientation.
1994
1995 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
1996 (FT_Stream_OpenGzip): Use it to handle small files directly in
1997 memory.
1998
1999 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
2000 Improve performance.
2001
2002 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
2003 `limit'.
2004
2005 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
2006 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
2007 exceedingly large values of number of contours. Speed up by
2008 reducing the number of loops.
2009
2010 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
2011
2012
2013 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
2014 used to detect rogue clients from 4 to 16. This is to prevent some
2015 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
2016 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00002017
Werner Lembergde2d90a2006-05-17 08:54:30 +000020182007-05-17 Werner Lemberg <wl@gnu.org>
2019
2020 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00002021 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00002022
20232006-05-16 Werner Lemberg <wl@gnu.org>
2024
2025 * docs/PROBLEMS: Updated icl issues.
2026
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002027----------------------------------------------------------------------------
2028
Werner Lemberg42b63b22007-01-21 21:01:33 +00002029Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002030David Turner, Robert Wilhelm, and Werner Lemberg.
2031
2032This file is part of the FreeType project, and may only be used, modified,
2033and distributed under the terms of the FreeType project license,
2034LICENSE.TXT. By continuing to use, modify, or distribute this file you
2035indicate that you have read the license and understand and accept it
2036fully.
2037
2038
2039Local Variables:
2040version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002041coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002042End: