blob: ecad07303d6ede9ac7969b2a00f95b683ce2aa3e [file] [log] [blame]
David Turnerf0cd69c2007-05-28 15:42:09 +000012007-05-28 David Turner <david@freetype.org>
2
Werner Lemberg99e0c182007-05-29 07:00:23 +00003 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
4 transformation. This significantly reduces the loading time of CFF
5 glyphs.
David Turner552a9562007-05-28 15:45:35 +00006
Werner Lemberg99e0c182007-05-29 07:00:23 +00007 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +00008
Werner Lemberg99e0c182007-05-29 07:00:23 +00009 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
10 hinting script to CJK, since it works well with more scripts than
11 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
12 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +000013
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000142007-05-25 Werner Lemberg <wl@gnu.org>
15
16 * docs/CHANGES: Updated.
17
Werner Lemberg6ff2ff52007-05-24 19:39:14 +0000182007-05-24 Werner Lemberg <wl@gnu.org>
19
20 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
21 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
22
232007-05-24 Graham Asher <graham.asher@btinternet.com>
24
25 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
26 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
27
David Turner0d0365e2007-05-22 09:53:44 +0000282007-05-22 David Turner <david@freetype.org>
29
Werner Lemberg1c8980e2007-05-25 07:11:12 +000030 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
31 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +000032
Werner Lemberg1c8980e2007-05-25 07:11:12 +000033
34 Avoid heap blowup with very large .Z font files. This fixes
35 Savannah bug #19910.
36
37 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
38 `in_limit', `pad', `pad_bits', and `in_buff' members.
39 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
40 `buf_total' members.
41
42 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
43 only one argument.
44 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +000045
462007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +000047
48 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
49 (ps_dimension_set_mask_bits): Remove `const'.
50
David Turner0d0365e2007-05-22 09:53:44 +0000512007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +000052
53 * src/sfnt/ttmtx.c (tt_face_get_metrics)
54 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
55
Werner Lembergb826fa72007-05-19 07:18:48 +0000562007-05-19 Derek Clegg <dclegg@apple.com>
57
58 Savannah patch #5929.
59
60 * include/freetype/tttables.h, src/base/ftobjcs.c
61 (FT_Get_CMap_Format): New function.
62
63 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
64 `format' member.
65 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
66 cmap_info->format.
67
Werner Lemberg6f99c882007-05-19 07:01:49 +0000682007-05-19 Werner Lemberg <wl@gnu.org>
69
70 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
71 before handling subglyphs so that it can be reinitialized each time.
72 This fixes Savannah bug #19859.
73
Werner Lemberg95bc9d32007-05-16 15:19:42 +0000742007-05-16 Werner Lemberg <wl@gnu.org>
75
76 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
77 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
78 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
79 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
80 tt_face_get_metrics): Fix type-punning issues.
81
David Turner0a24bd22007-05-15 10:54:10 +0000822007-05-15 David Turner <david@freetype.org>
83
84 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +000085 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
86 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +000087 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +000088 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +000089
Werner Lemberg607dec72007-05-15 06:49:37 +0000902007-05-15 Graham Asher <graham.asher@btinternet.com>
91
92 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
93 variable.
94 * src/autofit/afloader.c (af_loader_load_g): Ditto.
95
96 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
97 (open_face_from_buffer): Initialize `stream'.
98 (FT_Request_Metrics): Remove unused variable.
99 Remove redundant `break' statements.
100 (FT_Get_Track_Kerning): Remove unused variable.
101
102 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
103 afm_parse_kern_data): Remove redundant
104 `break' statements.
105 (afm_parser_parse): Ditto.
106 Don't use uninitialized variables.
107
108 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
109 Use `|' operator instead of `^' to set it.
110 Update all users.
111
112 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
113 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
114
115 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
116 comparison.
117 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
118 (TT_Load_Glyph): Remove unused variable.
119
Werner Lemberg8d463a52007-05-13 16:01:55 +00001202007-05-13 Derek Clegg <dclegg@apple.com>
121
122 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
123 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
124
David Turner711cf842007-05-11 14:36:24 +00001252007-05-11 David Turner <david@freetype.org>
126
Werner Lemberg56ceaa42007-05-14 18:53:58 +0000127 * src/cache/ftbasic.c, include/freetype/ftcache.h
128 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
129 functions that allow us to look up glyphs using an FTC_Scaler object
130 to specify the size, making it possible to use fractional pixel
131 sizes.
132
133 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
134 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +0000135
Werner Lemberg94be20e2007-05-09 20:02:55 +00001362007-05-09 Graham Asher <graham.asher@btinternet.com>
137
138 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
139 (af_latin_metrics_scale_dim): Fix compiler warnings.
140
Werner Lemberg41271032007-05-06 04:51:48 +00001412007-05-06 Werner Lemberg <wl@gnu.org>
142
143 * builds/win32/visualce/freetype.sln: Removed, as requested by
144 Vincent.
145
Werner Lembergdf49e692007-05-04 06:30:05 +00001462007-05-04 Vincent RICHOMME <richom.v@free.fr>
147
148 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
149 PC targets.
150
151 * docs/CHANGES: Document them.
152
1532007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +0000154
155 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
156 mmap (which might happen on some RTOS). From Savannah patch #5909.
157
Werner Lemberg106eaf12007-05-03 07:07:47 +00001582007-05-03 Werner Lemberg <wl@gnu.org>
159
160 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
161 * include/freetype/freetype.h (FT_Set_Char_Size): Update
162 documentation.
163
Werner Lemberg1b5267d2007-04-28 21:06:15 +00001642007-04-28 Victor Stinner <victor.stinner@inl.fr>
165
166 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
167 `cmap'.
168
Werner Lembergcc712a22007-04-27 17:16:50 +00001692007-04-27 Werner Lemberg <wl@gnu.org>
170
171 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
172 number of points in contours. Problem reported by Victor Stinner
173 <victor.stinner@haypocalc.com>.
174 (TT_Process_Simple_Glyph): Synchronize variable types.
175
Werner Lemberg45bb18f2007-04-26 06:26:35 +00001762007-04-26 Werner Lemberg <wl@gnu.org>
177
178 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
179 zero in case of error. This fixes Savannah bug #19689.
180
David Turnera8b45e62007-05-11 14:10:30 +00001812007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
182
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000183 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
184 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +0000185
Werner Lembergfcc1f472007-04-10 11:51:50 +00001862007-04-10 Martin Horak <horakm@centrum.cz>
187
188 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
189 Ignore `hhea' table. This fixes Savannah bug #19261.
190
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001912007-04-09 Werner Lemberg <wl@gnu.org>
192
193 * Version 2.3.4 released.
194 =========================
195
196
197 Tag sources with `VER-2-3-4'.
198
199 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
200 version number to 2.3.4.
201
202 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
203 builds/win32/visualc/freetype.dsp,
204 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
205
206 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
207
208 * builds/unix/configure.raw (version_info): Set to 9:15:3.
209
Werner Lembergf4a52a62007-04-09 08:40:11 +00002102007-04-09 Martin Horak <horakm@centrum.cz>
211
212 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
213 memory stream to avoid a crash with the incremental memory
214 interface (Savannah bug #19260).
215
David Turner1dcb4442007-04-06 08:19:04 +00002162007-04-06 David Turner <david@freetype.org>
217
Werner Lembergc81cf612007-04-06 09:28:23 +0000218 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
219 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000220
Werner Lemberg9f83e052007-04-05 02:28:23 +00002212007-04-04 Werner Lemberg <wl@gnu.org>
222
223 * Version 2.3.3 released.
224 =========================
225
226
227 Tag sources with `VER-2-3-3'.
228
229 * docs/CHANGES: Mention CVE-2007-1351.
230
David Turner7338ec22007-04-03 14:30:34 +00002312007-04-03 David Turner <david@freetype.org>
232
233 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000234 if one of the resolution values is 0, treat it as if it were the
235 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000236
David Turnere6472c12007-04-02 13:13:54 +00002372007-04-02 David Turner <david@freetype.org>
238
Werner Lemberg94f12272007-04-03 07:19:53 +0000239 Add special code to detect `extra-light' fonts and do not snap their
240 stem widths too much to avoid bizarre hinting effects.
241
242 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
243 `extra_light' members.
244
245 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
246 them.
247 (af_latin_metrics_scale_dim): Set `extra_light'.
248 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000249
David Turner3f539692007-03-28 14:53:40 +00002502007-03-28 David Turner <david@freetype.org>
251
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000252 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000253 padding.
254
Werner Lemberga08b2172007-03-28 07:17:17 +00002552007-03-28 Werner Lemberg <wl@gnu.org>
256
257 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
258 gracefully.
259 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000260 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000261 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
262 number of code points in Unicode.
263
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000264 * builds/win32/visualc/index.html,
265 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000266 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000267 s/232/233/.
268
269 * docs/CHANGES: Mention ftdiff.
270
David Turner3b242d32007-03-26 12:03:04 +00002712007-03-26 David Turner <david@freetype.org>
272
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000273 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
274 corresponding code.
275 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000276
Werner Lemberga08b2172007-03-28 07:17:17 +0000277 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000278 computations in order to ignore single-point contours. These are
279 never rasterized and correspond in certain fonts to mark-attach
280 points that are very far from the glyph's real outline, ruining the
281 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000282
Werner Lemberga08b2172007-03-28 07:17:17 +0000283 * src/autofit/afloader.c (af_loader_load_g): In the case of
284 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
285 Otherwise code that uses them will most certainly ruin the fixed
286 advance property.
David Turner23553d62007-03-26 13:37:17 +0000287
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000288 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
289 documentation and bump version number to 2.3.3.
290
291 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
292
293 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000294
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00002952007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
296
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000297 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
298 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000299 * builds/vms/ftconfig.h: Ditto.
300 * include/freetype/config/ftconfig.h: Ditto.
301
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00003022007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
303
Werner Lemberg14ffe092007-03-22 06:12:43 +0000304 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
305 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000306 proposed by Sean McBride:
307 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
308
3092007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
310
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000311 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
312 setjmp, proposed by Sean McBride:
313 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
314
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00003152007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
316
Werner Lembergc9f6c662007-03-21 13:30:14 +0000317 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
318 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
319 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000320
David Turner74c34eb2007-03-18 07:19:31 +00003212007-03-18 David Turner <david@freetype.org>
322
Werner Lembergc9f6c662007-03-21 13:30:14 +0000323 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
324 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000325
Werner Lembergc9f6c662007-03-21 13:30:14 +0000326 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000327
David Turner89020d92007-03-17 17:48:57 +00003282007-03-17 David Turner <david@freetype.org>
329
Werner Lembergc9f6c662007-03-21 13:30:14 +0000330 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
331 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000332
Werner Lemberg25d592a2007-03-09 07:59:35 +00003332007-03-09 Werner Lemberg <wl@gnu.org>
334
335 * Version 2.3.2 released.
336 =========================
337
338
339 Tag sources with `VER-2-3-2'.
340
341 * builds/win32/visualc/index.html,
342 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000343 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000344 s/231/232/.
345
David Turner3a51afa2007-03-08 10:50:38 +00003462007-03-08 David Turner <david@freetype.org>
347
Werner Lemberg25d592a2007-03-09 07:59:35 +0000348 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000349
Werner Lemberg25d592a2007-03-09 07:59:35 +0000350 * builds/unix/configure.raw (version_info): Set to 9:13:3.
351
352 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
353
354 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000355
Werner Lemberg1e259de2007-03-08 15:39:21 +0000356 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
357 function to work properly, over-writing user-provided buffers in
358 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000359
David Turner121cad52007-03-08 16:43:50 +0000360
Werner Lemberg3d92f082007-03-06 11:59:24 +00003612007-03-05 Werner Lemberg <wl@gnu.org>
362
363 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
364 macro for `strstr'.
365
366 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
367 `trick_names', as suggested by Ivan Nincic.
368
David Turner085bc6e2007-03-05 17:40:03 +00003692007-03-05 David Turner <david@freetype.org>
370
Werner Lembergd112cf02007-03-06 12:06:56 +0000371 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
372 case FT_Init_FreeType fails for some reason. Problem reported by
373 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000374
Werner Lembergd112cf02007-03-06 12:06:56 +0000375 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
376 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
377 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
378 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000379
Werner Lembergd112cf02007-03-06 12:06:56 +0000380 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
381 signed values, not unsigned ones. Problem reported by Johannes
382 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000383
David Turner601aefe2007-02-21 16:47:49 +00003842007-02-21 David Turner <david@freetype.org>
385
Werner Lembergde5e6862007-02-25 21:06:43 +0000386 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
387 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000388
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00003892007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
390
391 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
392 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
393 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
394
Werner Lemberga0915172007-02-16 08:12:50 +00003952007-02-16 Werner Lemberg <wl@gnu.org>
396
397 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
398 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
399
David Turner2c4500e2007-02-14 15:08:47 +00004002007-02-14 David Turner <david@freetype.org>
401
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000402 It seems that the following changes fix most of the known
403 interpreter problems with my fonts, but more testing is needed,
404 though.
405
406 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
407 (TT_MulFix14): Rewrite.
408 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
409 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000410
Werner Lembergc6a14082007-02-12 22:08:15 +00004112007-02-12 Werner Lemberg <wl@gnu.org>
412
413 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
414 warnings.
415
416 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
417 (bdf_interpret_style): Ditto.
418
David Turnerc0f9c4a2007-02-12 14:55:03 +00004192007-02-12 David Turner <david@freetype.org>
420
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000421 Simplify projection and dual-projection code interface.
422
Werner Lemberg406d25f2007-02-12 22:01:18 +0000423 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
424 FT_Vector' as argument type.
425 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
426 Updated.
427 (CUR_fast_project, CUR_fast_dualproj): New macros.
428 (Project, Dual_Project, Project_x, Project_y): Updated.
429 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
430 macros.
431
432
433 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
434 adjustments for the non-light auto-hinted modes. Gets rid of
435 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000436
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000437 * src/autofit/aflatin.c (af_latin_hints_link_segments,
438 af_latin_hints_compute_edges): Slight optimization of the segment
439 linker and better handling of serif segments to get rid of broken
440 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000441
David Turnerc0f9c4a2007-02-12 14:55:03 +0000442
Werner Lemberg442bfb82007-02-12 21:44:10 +0000443 Introduce new string functions and the corresponding macros to get
444 rid of various uses of strcpy and other `evil' functions, as well as
445 to simplify a few things.
446
447 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
448 ft_mem_strcpyn): New declarations.
449 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
450 macros.
451 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
452 functions.
453
454 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
455 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
456 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
457 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
458 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
459 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
460 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
461 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000462
Werner Lemberg406d25f2007-02-12 22:01:18 +0000463 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
464
Werner Lemberg582067d2007-02-11 15:03:05 +00004652007-02-11 Werner Lemberg <wl@gnu.org>
466
467 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
468 non-spacing glyphs.
469
Werner Lemberg8f474532007-02-07 08:31:01 +00004702007-02-07 Tom Parker <palfrey@tevp.net>
471
472 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
473 pointer.
474
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00004752007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
476
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000477 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
478 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000479 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000480 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
481 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
482 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
483 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000484
485 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
486 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000487 * builds/mac/ftmac.c: Ditto.
488
4892007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
490
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000491 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000492 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000493 #include <ftmac.c>.
494
4952007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
496
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000497 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
498 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
499 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
500 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
501 FT_GetFilePath_From_Mac_ATS_Name.
502 * builds/mac/ftmac.c: Ditto.
503
5042007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
505
Werner Lembergdcbb7082007-02-08 08:54:09 +0000506 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000507 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
508 for passing to FT_New_Face_From_FSSpec.
509
5102007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
511
Werner Lembergdcbb7082007-02-08 08:54:09 +0000512 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000513 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000514
515 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
516 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000517 * builds/mac/ftmac.c (OS_INLINE): Ditto.
518
Werner Lemberg313d7772007-02-01 08:10:45 +00005192007-02-01 Werner Lemberg <wl@gnu.org>
520
521 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
522 Explain why applications shouldn't use it. Found by Alexei.
523
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00005242007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000525
526 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
527 message.
528
529 * src/gxvalid/gxvmort1.c
530 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
531 message.
532
Werner Lemberg53935932007-01-31 08:53:02 +00005332007-01-31 Werner Lemberg <wl@gnu.org>
534
535
536 * Version 2.3.1 released.
537 =========================
538
539
540 Tag sources with `VER-2-3-1-FINAL'.
541
542 * builds/win32/visualc/freetype.dsp,
543 builds/win32/visualc/freetype.vcproj: s/230/231/.
544 * builds/win32/visualc/index.html: s/221/231/.
545
546 * vms_make.com: Add `ftgasp'.
547
David Turnera7ee6082007-01-30 10:33:53 +00005482007-01-30 David Turner <david@freetype.org>
549
Werner Lemberg53935932007-01-31 08:53:02 +0000550 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000551
Werner Lemberg53935932007-01-31 08:53:02 +0000552 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000553
Werner Lemberg25d592a2007-03-09 07:59:35 +0000554 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000555 s/2.3.0/2.3.1/.
556
557 * builds/unix/configure.raw (version_info): Set to 9:12:3.
558
559
560 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
561 (af_loader_load_g): Disable the warper (i.e., the light hinting
562 improvements) to make a 2.3.1 bugfix release before introducing a
563 new feature. This should give us more time to tune and improve the
564 warper for the next release.
565
566 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000567
David Turnerd91eebd2007-01-26 15:05:41 +00005682007-01-25 David Turner <david@freetype.org>
569
Werner Lembergbf241762007-01-26 16:08:49 +0000570 For light auto-hinting, improve glyph advance widths and resurrect
571 normal/full hinting to its normal quality.
572
573 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
574 and `xmax_delta'.
575 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
576 and `xmax_delta'.
577
578 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
579 preprocessor conditional with if-clause, handling both light and
580 normal mode.
581
582 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
583 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000584
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00005852007-01-25 Werner Lemberg <wl@gnu.org>
586
587 * docs/release: Updated -- Savannah uses a new uploading scheme.
588
David Turnera42567b2007-01-25 12:23:37 +00005892007-01-25 David Turner <david@freetype.org>
590
Werner Lembergd7855662007-01-25 13:53:56 +0000591 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000592
Werner Lembergd7855662007-01-25 13:53:56 +0000593 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
594 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
595 functions.
David Turnera42567b2007-01-25 12:23:37 +0000596
Werner Lembergd7855662007-01-25 13:53:56 +0000597 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000598
Werner Lembergb1be9e82007-01-25 11:50:00 +00005992007-01-25 Werner Lemberg <wl@gnu.org>
600
601 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000602 correctly in a sanity check. Since this function is only used to
603 load local and global functions, any charstring that called the last
604 local/global function would fail otherwise. This fixes Savannah bug
605 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000606
607 * docs/CHANGES: Document it.
608
David Turnerb6de8d12007-01-23 15:51:50 +00006092007-01-23 David Turner <david@freetype.org>
610
Werner Lembergb1be9e82007-01-25 11:50:00 +0000611 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
612 prevented compilation when disabling both the unpatented and the
613 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000614
Werner Lembergb1be9e82007-01-25 11:50:00 +0000615
616 Fix and enable the warper to improve `light' hinting mode. This is
617 not necessarily a final version, but it seems to work well.
618
619 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
620 Disable code.
621 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
622 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
623
624 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
625 (af_warper_compute_line_best): Fix array size of `scores'.
626 (af_warper_compute): Better handling of border cases.
627 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
628 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000629
Werner Lemberg011d1112007-01-21 09:36:00 +00006302007-01-21 Werner Lemberg <wl@gnu.org>
631
Werner Lemberg42b63b22007-01-21 21:01:33 +0000632 * ChangeLog: Split off older entries into...
633 * ChangeLog.22: This new file.
634
6352007-01-21 Werner Lemberg <wl@gnu.org>
636
Werner Lemberg555258f2007-01-21 09:46:37 +0000637 * docs/CHANGES: Document SHZ fix.
638
6392007-01-21 George Williams <gww@silcom.com>
640
641 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
642 points.
643
6442007-01-21 Werner Lemberg <wl@gnu.org>
645
Werner Lemberg011d1112007-01-21 09:36:00 +0000646 * src/sfnt/ttmtx.c (tt_face_get_metrics)
647 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
648
Werner Lemberg87a5a432007-01-17 12:44:39 +00006492007-01-17 Werner Lemberg <wl@gnu.org>
650
Werner Lembergb8003292007-01-17 12:56:25 +0000651
652 * Version 2.3.0 released.
653 =========================
654
655
656 Tag sources with `VER-2-3-0-FINAL'.
657
6582007-01-17 Werner Lemberg <wl@gnu.org>
659
Werner Lemberg87a5a432007-01-17 12:44:39 +0000660 * docs/release: Updated.
661
David Turner22122722007-01-16 20:06:44 +00006622007-01-16 David Turner <david@freetype.org>
663
Werner Lemberg87a5a432007-01-17 12:44:39 +0000664 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
665 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
666 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
667 warnings.
David Turner22122722007-01-16 20:06:44 +0000668
Werner Lemberg267e1d72007-01-15 07:48:09 +00006692007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
670
671 * builds/amiga/makefile, builds/amiga/makefile.os4,
672 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
673
674 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
675
Werner Lemberg8c4120d2007-01-15 06:42:40 +00006762007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
677
678 Fix various compiler warnings.
679
680 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
681 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
682 s/index/strike_index/.
683 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
684
685 * src/gxvalid/gxvmorx5.c
686 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
687
688 * src/truetype/ttinterp.c (Compute_Point_Displacement),
689 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
690 uninitialized variables.
691
Werner Lemberg6164a9d2007-01-13 23:01:36 +00006922007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
693
694 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
695
Werner Lemberg281c1482007-01-13 22:50:51 +00006962007-01-13 Werner Lemberg <wl@gnu.org>
697
698 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
699 versions up to 0x3FF without complaining.
700
Werner Lembergac250b22007-01-13 14:01:36 +00007012007-01-13 Derek Clegg <dclegg@apple.com>
702
703 Add FT_Get_PS_Font_Info interface to CFF driver.
704
705 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
706 (CFF_FontRec): Add `font_info' field.
707
708 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
709 (cff_font_done): Free font->font_info if necessary.
710
711 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
712 (cff_service_ps_info): Register cff_ps_get_font_info.
713
Werner Lemberg23df31a2007-01-13 08:45:00 +00007142007-01-13 Werner Lemberg <wl@gnu.org>
715
716 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
717 with C++ compiler.
718
719 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
720 af_glyph_hints_dump_edges): Ditto.
721
722 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
723 `modules.cfg').
724
725 * src/sfnt/ttsbit0.h: Remove.
726
727 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
728
Werner Lemberg27cf9de2007-01-13 07:34:23 +00007292007-01-12 David Turner <david@freetype.org>
730
731 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
732 bug in the bitmap emboldener if the pitch of the source bitmap is
733 much larger than its width.
734
735 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
736 compilation warning.
737
Werner Lemberg6d96d312007-01-12 10:30:19 +00007382007-01-12 Werner Lemberg <wl@gnu.org>
739
740 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
741 `automake' CVS module from sources.redhat.com.
742
Werner Lemberg17432b52007-01-12 09:28:44 +00007432007-01-11 Werner Lemberg <wl@gnu.org>
744
745 * src/type1/t1load.c (is_space): Removed.
746 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
747 (parse_charstrings): Use IS_PS_TOKEN.
748
749
750 * autogen.sh: Avoid bash specific syntax.
751
David Turner038ace22007-01-11 15:00:59 +00007522007-01-11 David Turner <david@freetype.org>
753
Werner Lemberg17432b52007-01-12 09:28:44 +0000754 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +0000755
Werner Lemberg17432b52007-01-12 09:28:44 +0000756 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +0000757
Werner Lemberg17432b52007-01-12 09:28:44 +0000758 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
759 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +0000760 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +0000761
Werner Lemberg17432b52007-01-12 09:28:44 +0000762 * autogen.sh: Small fix to get it working on Mac OS X properly:
763 The issue is that GNU libtool is called `glibtool' on this platform,
764 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +0000765
David Turner2628ea92007-01-10 13:15:56 +00007662007-01-10 David Turner <david@freetype.org>
767
Werner Lemberg17432b52007-01-12 09:28:44 +0000768 * all-sources: Tag all sources with VER-2-3-0-RC1 and
769 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +0000770
Werner Lemberg17432b52007-01-12 09:28:44 +0000771 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
772 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
773 version number to 2.3.0.
774
775 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
776 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +0000777
778 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +0000779 include/freetype/ftlcdfil.h: Update reference documentation with
780 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +0000781
Werner Lemberg17432b52007-01-12 09:28:44 +0000782 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
783 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +0000784
Werner Lembergbf02d392007-01-10 07:07:37 +00007852007-01-10 Derek Clegg <dclegg@apple.com>
786
787 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
788 values.
789
David Turnerf48b60e2007-01-08 15:15:32 +00007902007-01-08 David Turner <david@freetype.org>
791
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000792 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +0000793
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000794 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
795 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +0000796 corresponding to a given character pixel size.
797
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000798 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
799 `gasp' table, in order to avoid potential problems with later
800 versions.
David Turnerf48b60e2007-01-08 15:15:32 +0000801
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000802 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
803 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +0000804
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000805 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
806 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
807 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
808 default build.
David Turnerf48b60e2007-01-08 15:15:32 +0000809
Werner Lemberge6b6f372007-01-07 00:06:47 +00008102007-01-07 Werner Lemberg <wl@gnu.org>
811
Werner Lembergb8004d22007-01-07 09:13:38 +0000812 * src/cid/cidparse.c (cid_parser_new): Improve error message for
813 Type 11 fonts.
814 Scan for `/sfnts' token.
815
8162007-01-07 Werner Lemberg <wl@gnu.org>
817
818 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +0000819
Werner Lembergbe5f7972007-01-06 07:51:48 +00008202007-01-06 Werner Lemberg <wl@gnu.org>
821
822 * src/cff/cffload.c (cff_index_init): Remove unused variable.
823 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
824
David Turnera8cf42b2007-01-04 16:46:46 +00008252007-01-04 David Turner <david@freetype.org>
826
Werner Lembergf6294392007-01-06 07:47:45 +0000827 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
828 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +0000829
Werner Lembergf6294392007-01-06 07:47:45 +0000830
831 Do not allocate interpreter-specific tables in memory if we are not
832 going to load glyphs with the bytecode interpreter anyway.
833
834 * src/truetype/ttgload.c (tt_loader_init): Load execution context
835 only if glyph is hinted.
836 Updated.
837 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
838 and `cvs_ready'.
839 Add `tt_size_ready_bytecode' declaration.
840 * src/truetype/ttobjs.c (tt_size_done_bytecode,
841 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
842 (tt_size_init): Move most code into `tt_size_init_bytecode'.
843 (tt_size_done): Move most code into `tt_size_done_bytecode'.
844 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000845
David Turner91a34022007-01-05 14:47:08 +0000846
Werner Lembergf6294392007-01-06 07:47:45 +0000847 Don't extract the metrics table from the SFNT font file. Instead,
848 reparse it on each glyph load. The runtime difference is not
849 noticeable, and it can save a lot of heap memory when memory-mapped
850 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +0000851
Werner Lembergf6294392007-01-06 07:47:45 +0000852 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
853 `horz_metrics_offset' and `vert_metrics_ofset'.
854 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
855 Updated.
856
857
858 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
859
860
861 Do not load the CFF index offsets into memory, since this wastes a
862 *lot* of heap memory with large Asian CFF fonts. There is no
863 significant performance loss.
864
865 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
866 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
867 `data_size'.
868 (CFF_CharsetRec): Add field `num_glyphs'.
869
870 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
871 cff_charset_cid_to_gindex): New functions.
872 (cff_new_index): Renamed to...
873 (cff_index_init): This. Update all callers.
874 Updated -- some code has been moved to `cff_index_load_offsets'.
875 (cff_done_index): Renamed to...
876 (cff_index_done): This. Update all callers.
877 (cff_index_get_pointers, cff_index_access_element): Updated to use
878 stream offsets.
879 (cff_charset_compute_cids): Set `num_glyphs' field.
880 (cff_encoding_load): Updated.
881
882 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +0000883
8842007-01-04 David Turner <david@freetype.org>
885
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000886 * docs/INSTALL.UNIX: Simplify some parts, add reference to
887 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +0000888
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000889 * README.CVS: Add common problem description and solution
890 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +0000891
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000892 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +0000893
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000894 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +0000895
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000896 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +0000897
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000898 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
899 (TWorker): This.
900 Remove `count_table' and `memory'.
901 Make `grays' a pointer.
902 (TRaster): New structure.
903 (count_table): New static array.
904 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
905 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
906 ft_black_set_mode, ft_black_render): Updated.
907 (ft_black_init): Don't initialize `count_table'.
908 (ft_black_reset): Use the render pool. This saves about 6KB of
909 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +0000910
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000911 * src/smooth/ftgrays.c (TRaster): Replaced with...
912 (TWorker): This.
913 Remove `memory'.
914 (TRaster): New structure.
915
916 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
917 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
918 gray_render_span, gray_raster_render): Updated.
919 (gray_raster_reset): Use the render pool. This saves about 6KB of
920 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +0000921
David Turner8a6c44e2007-01-04 17:03:11 +0000922 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
923 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000924 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
925 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
926 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +0000927
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000928 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
929 Remove a typo that results in no hinting and a memory leak with some
930 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +0000931
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000932 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +0000933 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000934 CFF_Faces in it. We need to close all faces before destroying the
935 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +0000936
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00009372007-01-02 Werner Lemberg <wl@gnu.org>
938
939 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
940 Remove compiler warning.
941
David Turner9207e002007-01-02 16:58:13 +00009422007-01-02 David Turner <david@freetype.org>
943
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000944 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +0000945
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00009462006-12-31 Masatake YAMATO <jet@gyve.org>
947
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000948 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
949 function.
950 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000951 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +0000952 `gxv_kern_subtable_fmt0_pairs_validate'.
953
David Turner115b4422006-12-22 11:37:05 +00009542006-12-22 David Turner <david@freetype.org>
955
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000956 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
957 warnings.
David Turner115b4422006-12-22 11:37:05 +0000958
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000959 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
960 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +0000961
Werner Lemberg4755bf72006-12-16 08:58:44 +00009622006-12-16 Anders Kaseorg <anders@kaseorg.com>
963
964 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
965 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
966
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00009672006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
968
Werner Lemberg9b774e22007-01-16 06:11:27 +0000969 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000970 sync with the modification by Jens Claudius on 2006-08-22; cf.
971 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 +0000972
9732006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
974
975 * src/base/ftmac.c: Specialized for Mac OS X only.
976 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
977 * builds/unix/configure.raw: Ditto. When explicit switches for
978 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
979 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
980
9812006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
982
983 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
984 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
985 instead of src/base/ftmac.c
986 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
987 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
988 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
989 that cannot be built at present.
990
9912006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
992
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000993 * src/base/ftobjs.c: Improvement of resource fork handler for
994 POSIX, cf.
995 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +0000996 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
997 format or .dfont, to simulate the face index number counted by ftmac.c.
998 (IsMacResource): Return the number of scalable faces correctly.
999
Werner Lembergec5b4502006-12-10 07:51:38 +000010002006-12-10 Werner Lemberg <wl@gnu.org>
1001
1002 * builds/toplevel.mk (version): Protect against `distclean' target.
1003
Werner Lembergb26b3142006-12-09 20:01:43 +000010042006-12-09 Werner Lemberg <wl@gnu.org>
1005
1006 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
1007 or `type'.
1008
1009 * builds/freetype.mk (version): Extracted from freetype.h, using
1010 GNU make's built-in string functions.
1011 (refdoc): Use $(version) instead of static version number.
1012
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000010132006-12-08 Werner Lemberg <wl@gnu.org>
1014
1015 * builds/toplevel.mk (dist): Extract version number from freetype.h.
1016
Werner Lemberg15c29502006-12-09 07:29:54 +000010172006-12-08 Vladimir Volovich <vvv@vsu.ru>
1018
1019 * src/tools/apinames (State): Remove final comma in structure -- xlc
1020 v5 under AIX 4.3 doesn't like this.
1021
David Turnerdbf3b432006-12-07 21:18:09 +000010222006-12-07 David Turner <david@freetype.org>
1023
Werner Lemberg256a3512006-12-08 06:49:33 +00001024 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
1025 to the spacing of auto-fitted glyphs. This only impacts rare
1026 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00001027
Werner Lemberg11171312006-12-03 09:43:40 +000010282006-12-03 Werner Lemberg <wl@gnu.org>
1029
1030 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
1031
Werner Lemberg960ba592006-12-01 08:20:47 +000010322006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00001033
Werner Lemberg960ba592006-12-01 08:20:47 +00001034 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
1035 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
1036 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00001037
David Turner80658e52006-11-28 08:09:20 +00001038
Werner Lemberg960ba592006-12-01 08:20:47 +00001039 * include/freetype/ftxf86.h: Fix and extend comment so that it
1040 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00001041
Werner Lemberg960ba592006-12-01 08:20:47 +00001042 * include/freetype/ftchapters.h: Add `font_format' section.
1043
1044
1045 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
1046 to TOC in index page.
1047
10482006-11-28 David Turner <david@freetype.org>
1049
1050 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
1051 trying to render into a zero-width/height bitmap, not an error code.
1052
1053 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
1054
1055 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
1056 ones instead.
1057
1058 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
1059 variable.
David Turner80658e52006-11-28 08:09:20 +00001060
Werner Lemberg8636c292006-11-26 22:28:13 +000010612006-11-26 Pierre Hanser <hanser@club-internet.fr>
1062
1063 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
1064
Werner Lemberg960ba592006-12-01 08:20:47 +000010652006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00001066
Werner Lemberg960ba592006-12-01 08:20:47 +00001067 * src/autofit/afhints.c (af_glyph_hints_dump_points,
1068 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
1069 Add stubs to link the `ftgrid' test program when debugging is
1070 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00001071
Werner Lemberg960ba592006-12-01 08:20:47 +000010722006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00001073
1074 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00001075 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
1076
1077 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
1078 Emit more sensible information.
1079
1080 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1081
1082 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1083 rounding of blue values.
1084 (af_latin_hints_compute_segments): Hint segment heights.
1085 (af_latin_hints_link_segments): Reduce `len_score' value.
1086 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1087 value and use `height' member for comparisons.
1088 (af_latin_hint_edges): Extend logging message.
1089 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001090
Werner Lemberg91959bf2006-11-22 10:36:55 +000010912006-11-22 Werner Lemberg <wl@gnu.org>
1092
1093 Fix Savannah bug #15553.
1094
1095 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1096 program after a change from mono to grayscaling (and vice versa).
1097 Use correct constant for comparison to get `exec->grayscale'.
1098
Werner Lemberg913a3652006-11-19 09:19:17 +000010992006-11-18 Werner Lemberg <wl@gnu.org>
1100
1101 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001102 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001103 This patch fixes Savannah bug #18301.
1104
1105 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1106 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1107 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1108 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1109 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1110 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1111 (FNT_Load_Glyph): Check validity of `glyph_index'.
1112
David Turner7bab6ae2006-11-13 11:25:06 +000011132006-11-13 David Turner <david@freetype.org>
1114
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001115 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1116 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001117
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001118 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1119 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1120 when building the library to change the default LCD filter to be
1121 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001122
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001123 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001124
David Turner8765c712006-11-10 16:49:42 +000011252006-11-10 David Turner <david@freetype.org>
1126
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001127 * src/smooth/ftsmooth.c: API change for the LCD
1128 filter. The FT_LcdFilter value is an enumeration describing which
1129 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1130 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1131 algorithm which produces strong color fringes for everything
1132 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001133
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001134 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1135 second parameter to an enum type.
1136
1137 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1138 (_ft_lcd_filter): Rename to...
1139 (_ft_lcd_filter_fir): This.
1140 Update parameters.
1141 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1142 (FT_Library_Set_LcdFilter): Update parameters.
1143 Handle new filter modes.
1144
1145 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1146 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1147 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1148 callback and update other fields.
1149
1150 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1151 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1152 Other minor improvements.
1153
1154 * src/autofit/aflatin.c: Various tiny improvements that drastically
1155 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1156 (af_latin_hints_compute_edges): Fix typo.
1157 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001158
David Turner4e9cc3c2006-11-09 16:31:52 +000011592006-11-09 David Turner <david@freetype.org>
1160
Werner Lemberg49c77a82006-11-09 21:51:57 +00001161 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1162 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001163
Werner Lemberg5e430892006-11-07 09:35:03 +000011642006-11-07 Zhe Su <james.su@gmail.com>
1165
1166 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1167 also.
1168
Werner Lemberg111b5ae2006-11-03 09:40:12 +000011692006-11-03 Werner Lemberg <wl@gnu.org>
1170
1171 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1172
David Turner40604742006-11-02 16:37:35 +000011732006-11-02 David Turner <david@freetype.org>
1174
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001175 Add a few tweaks to better handle serif fonts.
1176 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001177
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001178 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1179 segments that are less than 1.5 pixels high. This gets rid of
1180 *many* corner cases with serifs.
1181 (af_latin_align_linked_edge): Add logging message.
1182 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1183 Add logging messages.
1184 Handle AF_EDGE_FLAG flag specially.
1185
1186 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1187 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1188
1189 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1190 Update external declarations.
1191 (af_corner_orientation, af_corner_is_flat): Replaced by...
1192
1193 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1194 ft_corner_is_flat): These declarations.
1195
1196 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1197 Comment out. Replaced by...
1198
1199 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1200 These functions. Update all callers.
1201 (FT_Add64) [!FT_LONG64]: Simplify.
1202
1203 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1204 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1205 production of garbage by missing lots of segments.
1206
1207 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1208
1209 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1210 [AF_DEBUG]: Set _af_debug_hints.
1211
1212
1213 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1214 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1215 and ft_corner_orientation.
1216
1217
1218 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001219
Werner Lemberge88c5262006-10-24 05:46:26 +000012202006-10-24 Werner Lemberg <wl@gnu.org>
1221
1222 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1223
1224 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1225 as argument.
1226
David Turnera1861392006-10-23 16:00:59 +000012272006-10-23 Zhe Su <zsu@novell.com>
1228
Werner Lemberg715e96e2006-10-24 05:28:45 +00001229 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1230 better deal with broken Asian fonts with strange glyphs, having
1231 self-intersections and other peculiarities. The used algorithm is
1232 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001233
David Turnere140f142006-10-23 08:56:57 +000012342006-10-23 David Turner <david@freetype.org>
1235
Werner Lemberg715e96e2006-10-24 05:28:45 +00001236 Speed up the CFF font loader. With some large CFF fonts,
1237 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001238
Werner Lemberg715e96e2006-10-24 05:28:45 +00001239 * src/cff/cffload.c (cff_get_offset): Removed.
1240 (cff_new_index): Inline functionality of `cff_get_offset'.
1241 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1242 (cff_charset_done): Call `cff_charset_free_cids'.
1243 (cff_charset_load): Call `cff_charset_compute_cids'.
1244 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1245
1246 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1247 with FT_NEXT_XXX.
1248
1249
1250 Speed up the Postscript hinter, with more than 100% speed increase
1251 on my machine.
1252
1253 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1254 psh_corner_orientation): New functions.
1255 (psh_glyph_compute_inflections): Merge loops for efficiency.
1256 Use `psh_corner_orientation'.
1257 (psh_glyph_init): Use `psh_corner_is_flat'.
1258 (psh_hint_table_find_strong_point): Renamed to...
1259 (psh_hint_table_find_strong_points): This.
1260 Rewrite, adding argument to handle all points at once.
1261 Update all callers.
1262 (PSH_MAX_STRONG_INTERNAL): New macro.
1263 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001264
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000012652006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1266
1267 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001268 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001269
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000012702006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1271
1272 * docs/INSTALL.CROSS: New document file for cross-building.
1273
1274 * builds/unix/configure.raw: Preliminary cross-building support.
1275 Find native C compiler and pass it by CC_BUILD, and
1276 find suffix for native executable and pass it by EXEEXT_BUILD.
1277 Also suffix for target executable is passed by EXEEXT.
1278
Werner Lembergb9e6d692006-10-15 08:58:40 +00001279 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1280 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001281 CC_BUILD and EXEEXT_BUILD.
1282
Werner Lembergb9e6d692006-10-15 08:58:40 +00001283 * builds/exports.mk (APINAMES_EXE): Change the extension for
1284 apinames from the suffix for target (E) to that for building host
1285 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001286
Werner Lemberg82a07e92006-10-12 06:20:44 +000012872006-10-12 Werner Lemberg <wl@gnu.org>
1288
1289 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1290 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1291 which reference those files.
1292
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000012932006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1294
Werner Lembergb9e6d692006-10-15 08:58:40 +00001295 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1296 embedded in freetype2.pc and freetype-config. Use it to record
1297 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001298
1299 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1300
1301 * builds/unix/freetype-config.in: Ditto.
1302
Werner Lemberg28e17d92006-10-11 17:27:47 +000013032006-10-11 Werner Lemberg <wl@gnu.org>
1304
1305 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1306 development.
1307
Jens Claudius336d2292006-10-03 08:53:37 +000013082006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1309
1310 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1311 argument to ft_setjmp.
1312
1313 * include/freetype/internal/ftvalid.h: Add comment that
1314 ft_validator_run must not be used.
1315
Werner Lemberg2863cfa2006-10-01 17:04:00 +000013162006-10-01 Werner Lemberg <wl@gnu.org>
1317
1318 * src/base/ftbase.c: Undo change from 2006-09-30.
1319
1320 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1321
13222006-09-30 David Turner <david@freetype.org>
1323
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001324 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1325 s/unpatented_hinting/ignore_unpatented_hinter/.
1326 Update all callers.
1327
1328 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1329 auto-hinting shall be used or not.
1330
1331 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001332
Werner Lemberg2863cfa2006-10-01 17:04:00 +000013332006-09-30 Werner Lemberg <wl@gnu.org>
1334
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001335 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1336 in use).
1337
1338 * src/base/ftbase.c: Include `ftlcdfil.c'.
1339
Werner Lemberg9b15ea32006-09-29 18:22:11 +000013402006-09-29 Werner Lemberg <wl@gnu.org>
1341
1342 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1343 overlapping segments. Bug reported by Stefan Koch.
1344
David Turnerad830712006-09-27 16:20:59 +000013452006-09-28 David Turner <david@freetype.org>
1346
Werner Lemberg2c002e12006-09-29 21:31:53 +00001347 Fix a bug in the automatic unpatented hinting support which prevents
1348 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001349
Werner Lemberg2c002e12006-09-29 21:31:53 +00001350 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1351 s/force_autohint/unpatented_hinting/. Update all callers.
1352
1353 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1354
1355 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001356
David Turner8a317cf2006-09-27 07:52:48 +000013572006-09-27 David Turner <david@freetype.org>
1358
Werner Lemberg2c002e12006-09-29 21:31:53 +00001359 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001360
David Turner8a317cf2006-09-27 07:52:48 +00001361
David Turnere140f142006-10-23 08:56:57 +00001362 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001363 In a default build, the function `FT_Library_SetLcdFilter' returns
1364 `FT_Err_Unimplemented_Feature'; you need to #define
1365 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1366 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001367
Werner Lemberg2c002e12006-09-29 21:31:53 +00001368 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001369
Werner Lemberg2c002e12006-09-29 21:31:53 +00001370 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1371 typedef.
1372 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1373 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001374
Werner Lemberg2c002e12006-09-29 21:31:53 +00001375 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1376 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001377
Werner Lemberg2c002e12006-09-29 21:31:53 +00001378 Handle subpixel rendering.
1379 Simplify function.
1380 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1381 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1382
1383 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1384 pointing to <freetype/ftlcdfil.h>.
1385
1386 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1387 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1388
1389 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001390
Werner Lemberge20df4a2006-09-27 06:29:21 +000013912006-09-26 David Bustin
1392
1393 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1394 correctly. Reported as Savannah bug #17843.
1395
David Turner6f8c6222006-09-26 15:42:44 +000013962006-09-26 David Turner <david@freetype.org>
1397
Werner Lemberg110246c2006-09-26 21:55:44 +00001398 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1399 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1400 horizontal and vertical hinting for the purpose of debugging the
1401 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001402
Werner Lemberg110246c2006-09-26 21:55:44 +00001403 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1404 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001405
Werner Lemberg110246c2006-09-26 21:55:44 +00001406 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1407
1408 * include/freetype/config/ftoption.h, devel/ftoption.h
1409 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1410 we want to compile LCD-optimized rendering code (à la ClearType) or
1411 not. The macro *must* be disabled in default builds of the library
1412 for patent reasons.
1413
1414 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1415 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1416 isn't defined at compile time. This only changes the content of the
1417 rendered glyph to match the one of normal gray-level rendering,
1418 hence clients should not need to be modified.
1419
1420 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001421
Werner Lemberg745ff2c2006-09-19 05:48:02 +000014222006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1423
1424 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1425 LWFN fails and both are available.
1426
David Turnerf3050052006-09-11 12:00:32 +000014272006-09-11 David Turner <david@freetype.org>
1428
Werner Lembergf9644552006-09-12 13:48:10 +00001429 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1430 report their English names through an Apple Roman
1431 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001432
Werner Lembergf9644552006-09-12 13:48:10 +00001433 If the font uses another name entry with language_id == English, it
1434 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001435
Werner Lembergf9644552006-09-12 13:48:10 +00001436 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1437 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001438
Werner Lemberg36d2eab2006-09-05 19:24:34 +000014392006-09-05 Werner Lemberg <wl@gnu.org>
1440
1441 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001442 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001443 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1444 `HAN NOM B.ttf').
1445
1446 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1447
David Turner772e55d2006-09-05 09:45:15 +000014482006-09-05 David Turner <david@freetype.org>
1449
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001450 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001451
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001452 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1453 (TRaster): Remove `count_ex' and `count_ey'.
1454 (gray_find_cell): Remove 2nd and 3rd argument.
1455 (gray_alloc_cell): Merged with `gray_find_cell'.
1456 (gray_record_cell): Simplify.
1457 (gray_set_cell): Rewrite.
1458 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1459 (gray_render_span): Don't use FT_MEM_SET for small values.
1460 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1461 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1462 bitmap scanline.
1463 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001464
David Turneraa557a92006-09-04 16:42:44 +000014652006-09-04 David Turner <david@freetype.org>
1466
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001467 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1468 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001469
Werner Lemberg2d8629b2006-09-03 06:18:45 +000014702006-09-03 Werner Lemberg <wl@gnu.org>
1471
1472 * devel/ftoption.h: Synchronize with
1473 include/freetype/config/ftoption.h.
1474
1475 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1476 variable declaration.
1477 (gray_convert_glyph): Fix compiler warnings.
1478
David Turner6d79f212006-09-01 14:09:35 +000014792006-09-01 David Turner <david@freetype.org>
1480
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001481 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1482 to recognize a few fonts that require the automatic unpatented
1483 loader.
David Turnerbd502952006-09-01 19:05:24 +00001484
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001485 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1486 rasterizer. The speed improvement is between 15% and 25%, depending
1487 on the font data.
1488
1489 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1490 (TCell): Redefine.
1491 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1492 (gray_init_cells): Updated.
1493 (gray_find_cell, gray_alloc_cell): New functions.
1494 (gray_record_cell): Rewritten to use `gray_find_cell' and
1495 `gray_alloc_cell'.
1496 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1497 QSORT_THRESHOLD):
1498 Removed.
1499 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1500 gray_dump_cells): Removed.
1501 (gray_sweep): Rewritten.
1502 (gray_convert_glyph): Rewrite code which used one of the sorting
1503 functions.
1504 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001505
Werner Lembergd898aed2006-08-29 09:50:34 +000015062006-08-29 Dr. Werner Fink <werner@suse.de>
1507
1508 * configure: Make it possible to handle configure options which
1509 have strings containing spaces.
1510
15112006-08-27 David Turner <david@freetype.org>
1512
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001513 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1514 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1515 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1516
1517 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1518 src/truetype/truetype.c, src/truetype/ttdriver.c,
1519 src/truetype/ttgload.c, src/truetype/ttgload.h,
1520 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1521 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1522 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1523
1524 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1525 member `force_autohint'.
1526
1527 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1528
1529 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1530 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001531
Jens Claudiusa787f452006-08-27 11:26:18 +000015322006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1533
1534 Fix miscellaneous compiler warnings.
1535
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001536 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1537 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001538
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001539 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1540 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1541 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001542
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001543 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1544 volatileness of argument to ft_longjmp. Spotted by Werner
1545 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001546
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001547 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1548 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001549
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001550 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1551 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001552
Werner Lembergc4c35b72006-08-27 08:03:46 +000015532006-08-27 Werner Lemberg <wl@gnu.org>
1554
1555 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1556 Reported by Jens.
1557
Jens Claudius088e44e2006-08-22 14:24:30 +000015582006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001559
Jens Claudius088e44e2006-08-22 14:24:30 +00001560 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001561 about addresses of volatile objects passed as function arguments as
1562 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001563
Werner Lembergc4c35b72006-08-27 08:03:46 +00001564 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1565 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001566
1567 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1568 argument `table' a pointer to a volatile object.
1569
1570 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1571 argument `table' a pointer to a volatile object.
1572
Jens Claudius2652bd52006-08-18 17:20:37 +000015732006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1574
1575 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1576 variable `_sfnt' as volatile since it must keep its value across
1577 a call to ft_setjmp.
1578 (gxv_validate): Same for local variables `memory' and `valid'.
1579 (classic_kern_validate): Same for local variables `memory',
1580 `ckern', and `valid'.
1581
1582 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1583 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1584 `jstf', and 'valid'.
1585
1586 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1587 local variable `cmap'.
1588
David Turner9fbfc6a2006-08-16 09:11:31 +000015892006-08-16 David Turner <david@freetype.org>
1590
Werner Lemberg12342992006-08-19 11:18:09 +00001591 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1592 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001593
Werner Lemberg12342992006-08-19 11:18:09 +00001594 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1595 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001596
David Turner33f5f242006-08-16 16:50:55 +00001597
Werner Lemberg12342992006-08-19 11:18:09 +00001598 Improvements to native TrueType hinting. This is a first try,
1599 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1600
1601 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1602 `extra_points2'.
1603
1604 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1605 `orus'.
1606
1607 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1608 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1609 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1610 handle `extra_points2'.
1611
1612 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1613 Remove compiler warning.
1614 (cur_to_arg): Remove macro.
1615 (TT_Hint_Glyph): Updated.
1616 (TT_Process_Simple_Glyph): Handle `orus'.
1617
1618 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1619 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1620 (LOC_Ins_IUP): Renamed to...
1621 (IUP_WorkerRec): This.
1622 Add `orus' member.
1623 (Shift): Renamed to...
1624 (_iup_worker_shift): This.
1625 Updated.
1626 (Interp): Renamed to...
1627 (_iup_worker_interpolate): This.
1628 Updated to handle `orus'.
1629 (Ins_IUP): Updated.
1630
1631 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1632 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001633
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000016342006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1635
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001636 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001637 build ftvalid in ft2demos. This has been inadvertedly changed
1638 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001639
16402006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1641
Werner Lemberg12342992006-08-19 11:18:09 +00001642 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1643 Jens:
1644 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001645
Werner Lemberg12342992006-08-19 11:18:09 +00001646 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1647 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001648
1649 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1650
Jens Claudius9950adc2006-08-13 12:14:36 +000016512006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1652
Werner Lemberg12342992006-08-19 11:18:09 +00001653 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1654 T1_TOKEN_TYPE_KEY.
1655 (T1_FieldRec): Add `dict'.
1656 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1657 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1658 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001659
Werner Lemberg12342992006-08-19 11:18:09 +00001660 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1661 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001662
1663 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1664
1665 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001666 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1667 not T1_TOKEN_TYPE_ANY.
1668 (ps_parser_load_field): Make sure a token that should be a string or
1669 name is really a string or name.
1670 Avoid memory leak if a keyword has been already encountered and its
1671 value is overwritten.
1672 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1673 T1_FIELD_XXX.
1674 (parse_dict): Ignore keywords that occur in the wrong dictionary
1675 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001676
Werner Lemberg12342992006-08-19 11:18:09 +00001677 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1678 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001679
Werner Lemberg12342992006-08-19 11:18:09 +00001680 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1681 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001682
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000016832006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1684
1685 Move creation of field `buildchar' of T1_DecoderRec out of
1686 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1687 of it.
1688
1689 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1690 and `T1_Compute_Max_Advance'.
1691
1692 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1693 Remove field `face', add `len_buildchar'.
1694
1695 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1696 field `buildchar'.
1697
1698 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1699 finisher for T1_Decoder.
1700 (cid_slot_load_glyph): Do not ignore failure when initializing the
1701 T1_Decoder.
1702
1703 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
1704 Updated.
1705 (t1_decoder_init): Remove initialization of fields `buildchar' and
1706 `len_buildchar'.
1707 (t1_decoder_done): Remove deallocation of field `buildchar'.
1708
1709 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
1710 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
1711 T1_Decoder.
1712 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
1713 `len_buildchar'; make sure to call finisher for T1_Decoder even in
1714 case of error.
1715
1716 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
1717 `buildchar' of T1_FaceRec.
1718
1719 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
1720 `buildchar' of T1_FaceRec.
1721
Werner Lemberg1a380e02006-07-14 18:28:08 +000017222006-07-14 Jens Claudius <jens.claudius@yahoo.com>
1723
1724 * freetype2/include/freetype/internal/psaux.h: New macros
1725 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
1726 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
1727 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
1728 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
1729 (T1_DecoderRec): New fields `buildchar' and `face'.
1730 (IS_PS_TOKEN): New macro.
1731
1732 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
1733 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
1734
1735 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
1736 `default_design_vector' and `num_default_design_vector'.
1737
1738 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
1739 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
1740 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
1741
1742 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
1743 `token' argument to be NULL if we want only to count the number of
1744 tokens.
1745 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
1746 want to skip the array.
1747 (ps_tofixedarray): Allow `values' argument to be NULL if we just
1748 want to skip the array.
1749
1750 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
1751 support for (partially commented out) othersubrs 19-25, 27, and 28.
1752 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
1753 (t1_decoder_done): Release new field `buildchar'.
1754
1755 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
1756 functions.
1757 (t1_keywords): Register them.
1758 (t1_allocate_blend): Updated.
1759 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
1760 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
1761 (parse_dict): Remove `keyword_flags' argument.
1762 Use new macro IS_PS_TOKEN.
1763 Changed function so that later PostScript definitions override
1764 earlier ones.
1765 (t1_init_loader): Initialize new field `keywords_encountered'.
1766 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
1767 `len_buildchar'.
1768 Remove `keywords_flags'.
1769
1770 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
1771 `keywords_encountered'.
1772 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
1773
1774 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
1775 New entries for parsing /NDV, /CDV, and /DesignVector.
1776
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000017772006-07-07 Werner Lemberg <wl@gnu.org>
1778
1779 Add many checks to protect against malformed PCF files.
1780
1781 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
1782 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
1783
1784 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
1785 data and check that tables don't overlap (using a simple
1786 bubblesort).
1787 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
1788 New macros which give the size of data structures in the data
1789 stream.
1790 (pcf_get_properties): Use rough estimates to get array size limits.
1791 Assign `face->nprops' and `face->properties' earlier so that a call
1792 to PCF_Face_Done can do the clean-up in case of error.
1793 Protect against invalid string offsets.
1794 (pcf_get_metrics): Clean up code.
1795 Adjust tracing message levels.
1796 Use rough estimate to get array size limit.
1797 (pcf_get_bitmaps): Clean up code.
1798 Adjust tracing message levels.
1799 Use rough estimates to get offset limits.
1800 (pcf_get_encodings): Adjust tracing message level.
1801 (pcf_get_accel): Clean up code.
1802
Werner Lemberg8eb05252006-06-27 06:20:01 +000018032006-06-26 Werner Lemberg <wl@gnu.org>
1804
1805 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
1806 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
1807
Werner Lemberg24703f82006-06-26 19:12:51 +000018082006-06-26 Jens Claudius <jens.claudius@yahoo.com>
1809
1810 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
1811 (t1_decoder_parse_charstrings): Operator with
1812 opcode 15 pops its two arguments.
1813 Handle the case where the pops of an othersubr may be part of a
1814 subroutine.
1815 Handle unknown othersubrs gracefully: count their operands and let
1816 the following pop operators push the operands as the results onto
1817 the Type1 stack.
1818 Improve handling of setcurrentpoint opcode.
1819
Werner Lembergc011f4c2006-06-26 09:40:00 +000018202006-06-25 Jens Claudius <jens.claudius@yahoo.com>
1821
1822 The Type 1 parser now skips over top-level procedures as required
1823 for a `Simplified Parser'. This makes the parser more robust as it
1824 doesn't poke around in PostScript code. Additionally, it makes the
1825 FontDirectory hackery in src/type1/t1load.c unnecessary.
1826
1827 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
1828 (skip_literal_string): Add FT_Error as return value.
1829 Handle escapes better.
1830 (skip_string): Add FT_Error as return value.
1831 Don't set `parser->error' but return error code directly.
1832 (skip_procedure): New function.
1833 (ps_parser_skip_PS_token): Handle procedures.
1834 Update code.
1835 (ps_parser_to_token): Update code.
1836 (ps_parser_load_field_table): Handle bbox entries also.
1837
1838 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
1839 Add commented-out code for synthetic fonts.
1840
Werner Lemberga2da05c2006-06-25 06:27:27 +000018412006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
1842
1843 Fix two hinting bugs as reported in
1844 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
1845
1846 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
1847 `first_point' member.
1848
1849 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
1850 `first_point'.
1851 (TT_Process_Composite_Glyph): Always untouch points.
1852
1853 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
1854 `first_point' and `last_point' in case of composite glyphs.
1855 (Ins_IUP): Fix computation of `end_point'.
1856
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000018572006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1858
Werner Lembergef3d2c22006-06-25 06:07:14 +00001859 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
1860 Mac. The original patch was written by David Sachitano and Lawrence
1861 Coopet, and modified by Sean McBride for MPW compatibility. Only
1862 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001863
Werner Lembergef3d2c22006-06-25 06:07:14 +00001864 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
1865 Mac OS X platforms.
1866 (OS_INLINE): Undefine before definition.
1867 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
1868 FontAssociation table in FOND resource.
1869 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
1870 and fontSize at each entry of FontAssociation table in FOND
1871 resource.
1872 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
1873 ffStylOff of FamilyRecord header of FOND resource, the header,
1874 fontSize, fontID at each entry of FontAssociation table, and
1875 StyleMapping table.
1876 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001877
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000018782006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1879
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001880 Public API of TrueTypeGX, OpenType, and classic kern table validator
1881 should return `FT_Err_Unimplemented_Feature' if validation service
1882 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00001883 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001884 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
1885
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001886 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
1887 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
1888 unavailable.
1889 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
1890 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001891
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001892 * src/base/ftotval.c (FT_OpenType_Validate): Return
1893 FT_Err_Unimplemented_Feature if OpenType validation service is
1894 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001895
Werner Lembergb10e45a2006-06-08 07:32:56 +000018962006-06-08 Werner Lemberg <wl@gnu.org>
1897
1898 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
1899 errors.
1900
David Turner5f1f7502006-06-07 05:11:50 +000019012006-06-07 David Turner <david@freetype.org>
1902
Werner Lemberg7d48cb02006-06-08 06:00:08 +00001903 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
1904 (T1_Read_Metrics): Fix memory leak which happened when the metrics
1905 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00001906
David Turner457b4a82006-06-06 08:14:14 +000019072006-06-06 David Turner <david@freetype.org>
1908
Werner Lemberg4836f952006-06-06 12:54:08 +00001909 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00001910
Werner Lemberg4836f952006-06-06 12:54:08 +00001911 We change `ps_unicodes_init' so that it also takes a
1912 `free_glyph_name' callback to release the glyph names returned by
1913 `get_glyph_name'
1914
1915 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
1916 Renamed to ...
1917 (PS_GetGlyphNameFunc): This.
1918 (PS_FreeGlyphNameFunc): New typedef.
1919 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
1920
1921 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
1922 argument.
1923 (cff_sid_free_glyph_name): New function.
1924 (cff_cmap_unicode_init): Updated.
1925
1926 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
1927
1928 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
1929 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00001930
1931
David Turner09717352006-06-04 14:33:08 +000019322006-06-04 David Turner <david@freetype.org>
1933
Werner Lembergd724f202006-06-04 15:17:41 +00001934 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
1935 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001936 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00001937
Werner Lembergd724f202006-06-04 15:17:41 +00001938 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
1939 of `face->num_glyphs' which missed the last glyph, due to
1940 the offset-by-1 computation, since the PFR format doesn't
1941 guarantee that glyph index 0 corresponds to the `missing
1942 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00001943
Werner Lemberg33779662006-05-26 06:30:05 +000019442006-05-25 Werner Lemberg <wl@gnu.org>
1945
1946 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
1947 `-no-undefined'. Reported by Christian Biesinger.
1948
Werner Lemberg24773d62006-05-20 08:53:13 +000019492006-05-19 Brian Weed <bw@imaginengine.com>
1950
1951 * builds/win32/visualc/freetype.dsp: Release libraries no longer
1952 have debug information, and debug libraries use `C7 compatible'
1953 debug info.
1954
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000019552006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1956
Werner Lemberga6523a62006-05-20 08:47:01 +00001957 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00001958 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001959
Werner Lemberga6523a62006-05-20 08:47:01 +00001960 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
1961 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001962
1963 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00001964 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001965
19662006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1967
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00001968 * build/unix/configure.raw: Add a fallback to disable Carbon
1969 dependency, if configured with no options on Mac OS X.
1970
19712006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1972
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001973 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00001974 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001975 the second part of Savannah bug #16590.
1976
Werner Lemberg545c4e52006-05-17 22:55:04 +000019772006-05-18 Werner Lemberg <wl@gnu.org>
1978
1979 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
1980 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
1981
David Turnerdc3ff312006-05-17 12:59:35 +000019822006-05-17 David Turner <david@freetype.org>
1983
Werner Lemberg545c4e52006-05-17 22:55:04 +00001984 This is a major patch used to drastically improve the performance of
1985 loading glyphs. This both speeds up loading the glyph vectors
1986 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00001987
Werner Lemberg545c4e52006-05-17 22:55:04 +00001988 We now use inline assembler code with GCC to implement `FT_MulFix',
1989 which is probably the most important function related to the
1990 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00001991
Werner Lemberg545c4e52006-05-17 22:55:04 +00001992 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00001993
1994
Werner Lemberg545c4e52006-05-17 22:55:04 +00001995 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
1996 `cursor' and `limit'.
1997
1998 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
1999 New functions.
2000 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
2001 [TEST]: Remove.
2002
2003 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
2004 code.
2005
2006 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
2007 `FT_ZERO'
2008 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
2009 (af_glyph_hints_reload: Rewrite recognition of weak points.
2010
2011 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
2012 constant values out of the loops.
2013
2014 * src/autofit/aftypes.h: Updated.
2015
2016 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
2017
2018 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
2019 product to get orientation.
2020
2021 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
2022 (FT_Stream_OpenGzip): Use it to handle small files directly in
2023 memory.
2024
2025 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
2026 Improve performance.
2027
2028 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
2029 `limit'.
2030
2031 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
2032 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
2033 exceedingly large values of number of contours. Speed up by
2034 reducing the number of loops.
2035
2036 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
2037
2038
2039 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
2040 used to detect rogue clients from 4 to 16. This is to prevent some
2041 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
2042 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00002043
Werner Lembergde2d90a2006-05-17 08:54:30 +000020442007-05-17 Werner Lemberg <wl@gnu.org>
2045
2046 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00002047 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00002048
20492006-05-16 Werner Lemberg <wl@gnu.org>
2050
2051 * docs/PROBLEMS: Updated icl issues.
2052
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002053----------------------------------------------------------------------------
2054
Werner Lemberg42b63b22007-01-21 21:01:33 +00002055Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002056David Turner, Robert Wilhelm, and Werner Lemberg.
2057
2058This file is part of the FreeType project, and may only be used, modified,
2059and distributed under the terms of the FreeType project license,
2060LICENSE.TXT. By continuing to use, modify, or distribute this file you
2061indicate that you have read the license and understand and accept it
2062fully.
2063
2064
2065Local Variables:
2066version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002067coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002068End: