blob: 03124f64819e9d26f1805a2cee59a92386c292b3 [file] [log] [blame]
Werner Lembergbebc7b12007-06-01 06:32:30 +000012007-06-01 Werner Lemberg <wl@gnu.org>
2
3 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
4 pass for `StartData' if an error has occurred.
5
Werner Lembergcb37b3b2007-06-01 06:49:03 +00006 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
7 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
8
Werner Lembergba03af62007-05-30 13:57:02 +000092007-05-30 Werner Lemberg <wl@gnu.org>
10
11 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
12 against too small binary data strings.
13
14 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
15
David Turnerf0cd69c2007-05-28 15:42:09 +0000162007-05-28 David Turner <david@freetype.org>
17
Werner Lemberg99e0c182007-05-29 07:00:23 +000018 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
19 transformation. This significantly reduces the loading time of CFF
20 glyphs.
David Turner552a9562007-05-28 15:45:35 +000021
Werner Lemberg99e0c182007-05-29 07:00:23 +000022 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +000023
Werner Lemberg99e0c182007-05-29 07:00:23 +000024 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
25 hinting script to CJK, since it works well with more scripts than
26 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
27 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +000028
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000292007-05-25 Werner Lemberg <wl@gnu.org>
30
31 * docs/CHANGES: Updated.
32
Werner Lemberg6ff2ff52007-05-24 19:39:14 +0000332007-05-24 Werner Lemberg <wl@gnu.org>
34
35 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
36 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
37
382007-05-24 Graham Asher <graham.asher@btinternet.com>
39
40 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
41 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
42
David Turner0d0365e2007-05-22 09:53:44 +0000432007-05-22 David Turner <david@freetype.org>
44
Werner Lemberg1c8980e2007-05-25 07:11:12 +000045 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
46 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +000047
Werner Lemberg1c8980e2007-05-25 07:11:12 +000048
49 Avoid heap blowup with very large .Z font files. This fixes
50 Savannah bug #19910.
51
52 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
53 `in_limit', `pad', `pad_bits', and `in_buff' members.
54 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
55 `buf_total' members.
56
57 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
58 only one argument.
59 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +000060
612007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +000062
63 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
64 (ps_dimension_set_mask_bits): Remove `const'.
65
David Turner0d0365e2007-05-22 09:53:44 +0000662007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +000067
68 * src/sfnt/ttmtx.c (tt_face_get_metrics)
69 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
70
Werner Lembergb826fa72007-05-19 07:18:48 +0000712007-05-19 Derek Clegg <dclegg@apple.com>
72
73 Savannah patch #5929.
74
75 * include/freetype/tttables.h, src/base/ftobjcs.c
76 (FT_Get_CMap_Format): New function.
77
78 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
79 `format' member.
80 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
81 cmap_info->format.
82
Werner Lemberg6f99c882007-05-19 07:01:49 +0000832007-05-19 Werner Lemberg <wl@gnu.org>
84
85 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
86 before handling subglyphs so that it can be reinitialized each time.
87 This fixes Savannah bug #19859.
88
Werner Lemberg95bc9d32007-05-16 15:19:42 +0000892007-05-16 Werner Lemberg <wl@gnu.org>
90
91 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
92 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
93 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
94 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
95 tt_face_get_metrics): Fix type-punning issues.
96
David Turner0a24bd22007-05-15 10:54:10 +0000972007-05-15 David Turner <david@freetype.org>
98
99 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000100 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
101 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +0000102 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +0000103 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +0000104
Werner Lemberg607dec72007-05-15 06:49:37 +00001052007-05-15 Graham Asher <graham.asher@btinternet.com>
106
107 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
108 variable.
109 * src/autofit/afloader.c (af_loader_load_g): Ditto.
110
111 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
112 (open_face_from_buffer): Initialize `stream'.
113 (FT_Request_Metrics): Remove unused variable.
114 Remove redundant `break' statements.
115 (FT_Get_Track_Kerning): Remove unused variable.
116
117 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
118 afm_parse_kern_data): Remove redundant
119 `break' statements.
120 (afm_parser_parse): Ditto.
121 Don't use uninitialized variables.
122
123 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
124 Use `|' operator instead of `^' to set it.
125 Update all users.
126
127 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
128 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
129
130 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
131 comparison.
132 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
133 (TT_Load_Glyph): Remove unused variable.
134
Werner Lemberg8d463a52007-05-13 16:01:55 +00001352007-05-13 Derek Clegg <dclegg@apple.com>
136
137 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
138 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
139
David Turner711cf842007-05-11 14:36:24 +00001402007-05-11 David Turner <david@freetype.org>
141
Werner Lemberg56ceaa42007-05-14 18:53:58 +0000142 * src/cache/ftbasic.c, include/freetype/ftcache.h
143 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
144 functions that allow us to look up glyphs using an FTC_Scaler object
145 to specify the size, making it possible to use fractional pixel
146 sizes.
147
148 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
149 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +0000150
Werner Lemberg94be20e2007-05-09 20:02:55 +00001512007-05-09 Graham Asher <graham.asher@btinternet.com>
152
153 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
154 (af_latin_metrics_scale_dim): Fix compiler warnings.
155
Werner Lemberg41271032007-05-06 04:51:48 +00001562007-05-06 Werner Lemberg <wl@gnu.org>
157
158 * builds/win32/visualce/freetype.sln: Removed, as requested by
159 Vincent.
160
Werner Lembergdf49e692007-05-04 06:30:05 +00001612007-05-04 Vincent RICHOMME <richom.v@free.fr>
162
163 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
164 PC targets.
165
166 * docs/CHANGES: Document them.
167
1682007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +0000169
170 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
171 mmap (which might happen on some RTOS). From Savannah patch #5909.
172
Werner Lemberg106eaf12007-05-03 07:07:47 +00001732007-05-03 Werner Lemberg <wl@gnu.org>
174
175 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
176 * include/freetype/freetype.h (FT_Set_Char_Size): Update
177 documentation.
178
Werner Lemberg1b5267d2007-04-28 21:06:15 +00001792007-04-28 Victor Stinner <victor.stinner@inl.fr>
180
181 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
182 `cmap'.
183
Werner Lembergcc712a22007-04-27 17:16:50 +00001842007-04-27 Werner Lemberg <wl@gnu.org>
185
186 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
187 number of points in contours. Problem reported by Victor Stinner
188 <victor.stinner@haypocalc.com>.
189 (TT_Process_Simple_Glyph): Synchronize variable types.
190
Werner Lemberg45bb18f2007-04-26 06:26:35 +00001912007-04-26 Werner Lemberg <wl@gnu.org>
192
193 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
194 zero in case of error. This fixes Savannah bug #19689.
195
David Turnera8b45e62007-05-11 14:10:30 +00001962007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
197
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000198 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
199 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +0000200
Werner Lembergfcc1f472007-04-10 11:51:50 +00002012007-04-10 Martin Horak <horakm@centrum.cz>
202
203 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
204 Ignore `hhea' table. This fixes Savannah bug #19261.
205
Werner Lemberg14bf82e2007-04-10 04:09:49 +00002062007-04-09 Werner Lemberg <wl@gnu.org>
207
208 * Version 2.3.4 released.
209 =========================
210
211
212 Tag sources with `VER-2-3-4'.
213
214 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
215 version number to 2.3.4.
216
217 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
218 builds/win32/visualc/freetype.dsp,
219 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
220
221 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
222
223 * builds/unix/configure.raw (version_info): Set to 9:15:3.
224
Werner Lembergf4a52a62007-04-09 08:40:11 +00002252007-04-09 Martin Horak <horakm@centrum.cz>
226
227 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
228 memory stream to avoid a crash with the incremental memory
229 interface (Savannah bug #19260).
230
David Turner1dcb4442007-04-06 08:19:04 +00002312007-04-06 David Turner <david@freetype.org>
232
Werner Lembergc81cf612007-04-06 09:28:23 +0000233 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
234 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000235
Werner Lemberg9f83e052007-04-05 02:28:23 +00002362007-04-04 Werner Lemberg <wl@gnu.org>
237
238 * Version 2.3.3 released.
239 =========================
240
241
242 Tag sources with `VER-2-3-3'.
243
244 * docs/CHANGES: Mention CVE-2007-1351.
245
David Turner7338ec22007-04-03 14:30:34 +00002462007-04-03 David Turner <david@freetype.org>
247
248 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000249 if one of the resolution values is 0, treat it as if it were the
250 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000251
David Turnere6472c12007-04-02 13:13:54 +00002522007-04-02 David Turner <david@freetype.org>
253
Werner Lemberg94f12272007-04-03 07:19:53 +0000254 Add special code to detect `extra-light' fonts and do not snap their
255 stem widths too much to avoid bizarre hinting effects.
256
257 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
258 `extra_light' members.
259
260 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
261 them.
262 (af_latin_metrics_scale_dim): Set `extra_light'.
263 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000264
David Turner3f539692007-03-28 14:53:40 +00002652007-03-28 David Turner <david@freetype.org>
266
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000267 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000268 padding.
269
Werner Lemberga08b2172007-03-28 07:17:17 +00002702007-03-28 Werner Lemberg <wl@gnu.org>
271
272 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
273 gracefully.
274 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000275 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000276 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
277 number of code points in Unicode.
278
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000279 * builds/win32/visualc/index.html,
280 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000281 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000282 s/232/233/.
283
284 * docs/CHANGES: Mention ftdiff.
285
David Turner3b242d32007-03-26 12:03:04 +00002862007-03-26 David Turner <david@freetype.org>
287
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000288 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
289 corresponding code.
290 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000291
Werner Lemberga08b2172007-03-28 07:17:17 +0000292 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000293 computations in order to ignore single-point contours. These are
294 never rasterized and correspond in certain fonts to mark-attach
295 points that are very far from the glyph's real outline, ruining the
296 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000297
Werner Lemberga08b2172007-03-28 07:17:17 +0000298 * src/autofit/afloader.c (af_loader_load_g): In the case of
299 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
300 Otherwise code that uses them will most certainly ruin the fixed
301 advance property.
David Turner23553d62007-03-26 13:37:17 +0000302
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000303 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
304 documentation and bump version number to 2.3.3.
305
306 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
307
308 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000309
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00003102007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
311
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000312 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
313 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000314 * builds/vms/ftconfig.h: Ditto.
315 * include/freetype/config/ftconfig.h: Ditto.
316
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00003172007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
318
Werner Lemberg14ffe092007-03-22 06:12:43 +0000319 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
320 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000321 proposed by Sean McBride:
322 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
323
3242007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
325
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000326 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
327 setjmp, proposed by Sean McBride:
328 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
329
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00003302007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
331
Werner Lembergc9f6c662007-03-21 13:30:14 +0000332 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
333 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
334 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000335
David Turner74c34eb2007-03-18 07:19:31 +00003362007-03-18 David Turner <david@freetype.org>
337
Werner Lembergc9f6c662007-03-21 13:30:14 +0000338 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
339 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000340
Werner Lembergc9f6c662007-03-21 13:30:14 +0000341 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000342
David Turner89020d92007-03-17 17:48:57 +00003432007-03-17 David Turner <david@freetype.org>
344
Werner Lembergc9f6c662007-03-21 13:30:14 +0000345 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
346 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000347
Werner Lemberg25d592a2007-03-09 07:59:35 +00003482007-03-09 Werner Lemberg <wl@gnu.org>
349
350 * Version 2.3.2 released.
351 =========================
352
353
354 Tag sources with `VER-2-3-2'.
355
356 * builds/win32/visualc/index.html,
357 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000358 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000359 s/231/232/.
360
David Turner3a51afa2007-03-08 10:50:38 +00003612007-03-08 David Turner <david@freetype.org>
362
Werner Lemberg25d592a2007-03-09 07:59:35 +0000363 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000364
Werner Lemberg25d592a2007-03-09 07:59:35 +0000365 * builds/unix/configure.raw (version_info): Set to 9:13:3.
366
367 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
368
369 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000370
Werner Lemberg1e259de2007-03-08 15:39:21 +0000371 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
372 function to work properly, over-writing user-provided buffers in
373 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000374
David Turner121cad52007-03-08 16:43:50 +0000375
Werner Lemberg3d92f082007-03-06 11:59:24 +00003762007-03-05 Werner Lemberg <wl@gnu.org>
377
378 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
379 macro for `strstr'.
380
381 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
382 `trick_names', as suggested by Ivan Nincic.
383
David Turner085bc6e2007-03-05 17:40:03 +00003842007-03-05 David Turner <david@freetype.org>
385
Werner Lembergd112cf02007-03-06 12:06:56 +0000386 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
387 case FT_Init_FreeType fails for some reason. Problem reported by
388 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000389
Werner Lembergd112cf02007-03-06 12:06:56 +0000390 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
391 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
392 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
393 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000394
Werner Lembergd112cf02007-03-06 12:06:56 +0000395 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
396 signed values, not unsigned ones. Problem reported by Johannes
397 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000398
David Turner601aefe2007-02-21 16:47:49 +00003992007-02-21 David Turner <david@freetype.org>
400
Werner Lembergde5e6862007-02-25 21:06:43 +0000401 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
402 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000403
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00004042007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
405
406 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
407 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
408 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
409
Werner Lemberga0915172007-02-16 08:12:50 +00004102007-02-16 Werner Lemberg <wl@gnu.org>
411
412 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
413 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
414
David Turner2c4500e2007-02-14 15:08:47 +00004152007-02-14 David Turner <david@freetype.org>
416
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000417 It seems that the following changes fix most of the known
418 interpreter problems with my fonts, but more testing is needed,
419 though.
420
421 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
422 (TT_MulFix14): Rewrite.
423 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
424 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000425
Werner Lembergc6a14082007-02-12 22:08:15 +00004262007-02-12 Werner Lemberg <wl@gnu.org>
427
428 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
429 warnings.
430
431 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
432 (bdf_interpret_style): Ditto.
433
David Turnerc0f9c4a2007-02-12 14:55:03 +00004342007-02-12 David Turner <david@freetype.org>
435
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000436 Simplify projection and dual-projection code interface.
437
Werner Lemberg406d25f2007-02-12 22:01:18 +0000438 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
439 FT_Vector' as argument type.
440 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
441 Updated.
442 (CUR_fast_project, CUR_fast_dualproj): New macros.
443 (Project, Dual_Project, Project_x, Project_y): Updated.
444 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
445 macros.
446
447
448 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
449 adjustments for the non-light auto-hinted modes. Gets rid of
450 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000451
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000452 * src/autofit/aflatin.c (af_latin_hints_link_segments,
453 af_latin_hints_compute_edges): Slight optimization of the segment
454 linker and better handling of serif segments to get rid of broken
455 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000456
David Turnerc0f9c4a2007-02-12 14:55:03 +0000457
Werner Lemberg442bfb82007-02-12 21:44:10 +0000458 Introduce new string functions and the corresponding macros to get
459 rid of various uses of strcpy and other `evil' functions, as well as
460 to simplify a few things.
461
462 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
463 ft_mem_strcpyn): New declarations.
464 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
465 macros.
466 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
467 functions.
468
469 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
470 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
471 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
472 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
473 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
474 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
475 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
476 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000477
Werner Lemberg406d25f2007-02-12 22:01:18 +0000478 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
479
Werner Lemberg582067d2007-02-11 15:03:05 +00004802007-02-11 Werner Lemberg <wl@gnu.org>
481
482 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
483 non-spacing glyphs.
484
Werner Lemberg8f474532007-02-07 08:31:01 +00004852007-02-07 Tom Parker <palfrey@tevp.net>
486
487 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
488 pointer.
489
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00004902007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
491
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000492 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
493 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000494 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000495 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
496 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
497 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
498 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000499
500 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
501 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000502 * builds/mac/ftmac.c: Ditto.
503
5042007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
505
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000506 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000507 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000508 #include <ftmac.c>.
509
5102007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
511
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000512 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
513 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
514 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
515 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
516 FT_GetFilePath_From_Mac_ATS_Name.
517 * builds/mac/ftmac.c: Ditto.
518
5192007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
520
Werner Lembergdcbb7082007-02-08 08:54:09 +0000521 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000522 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
523 for passing to FT_New_Face_From_FSSpec.
524
5252007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
526
Werner Lembergdcbb7082007-02-08 08:54:09 +0000527 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000528 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000529
530 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
531 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000532 * builds/mac/ftmac.c (OS_INLINE): Ditto.
533
Werner Lemberg313d7772007-02-01 08:10:45 +00005342007-02-01 Werner Lemberg <wl@gnu.org>
535
536 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
537 Explain why applications shouldn't use it. Found by Alexei.
538
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00005392007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000540
541 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
542 message.
543
544 * src/gxvalid/gxvmort1.c
545 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
546 message.
547
Werner Lemberg53935932007-01-31 08:53:02 +00005482007-01-31 Werner Lemberg <wl@gnu.org>
549
550
551 * Version 2.3.1 released.
552 =========================
553
554
555 Tag sources with `VER-2-3-1-FINAL'.
556
557 * builds/win32/visualc/freetype.dsp,
558 builds/win32/visualc/freetype.vcproj: s/230/231/.
559 * builds/win32/visualc/index.html: s/221/231/.
560
561 * vms_make.com: Add `ftgasp'.
562
David Turnera7ee6082007-01-30 10:33:53 +00005632007-01-30 David Turner <david@freetype.org>
564
Werner Lemberg53935932007-01-31 08:53:02 +0000565 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000566
Werner Lemberg53935932007-01-31 08:53:02 +0000567 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000568
Werner Lemberg25d592a2007-03-09 07:59:35 +0000569 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000570 s/2.3.0/2.3.1/.
571
572 * builds/unix/configure.raw (version_info): Set to 9:12:3.
573
574
575 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
576 (af_loader_load_g): Disable the warper (i.e., the light hinting
577 improvements) to make a 2.3.1 bugfix release before introducing a
578 new feature. This should give us more time to tune and improve the
579 warper for the next release.
580
581 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000582
David Turnerd91eebd2007-01-26 15:05:41 +00005832007-01-25 David Turner <david@freetype.org>
584
Werner Lembergbf241762007-01-26 16:08:49 +0000585 For light auto-hinting, improve glyph advance widths and resurrect
586 normal/full hinting to its normal quality.
587
588 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
589 and `xmax_delta'.
590 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
591 and `xmax_delta'.
592
593 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
594 preprocessor conditional with if-clause, handling both light and
595 normal mode.
596
597 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
598 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000599
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00006002007-01-25 Werner Lemberg <wl@gnu.org>
601
602 * docs/release: Updated -- Savannah uses a new uploading scheme.
603
David Turnera42567b2007-01-25 12:23:37 +00006042007-01-25 David Turner <david@freetype.org>
605
Werner Lembergd7855662007-01-25 13:53:56 +0000606 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000607
Werner Lembergd7855662007-01-25 13:53:56 +0000608 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
609 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
610 functions.
David Turnera42567b2007-01-25 12:23:37 +0000611
Werner Lembergd7855662007-01-25 13:53:56 +0000612 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000613
Werner Lembergb1be9e82007-01-25 11:50:00 +00006142007-01-25 Werner Lemberg <wl@gnu.org>
615
616 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000617 correctly in a sanity check. Since this function is only used to
618 load local and global functions, any charstring that called the last
619 local/global function would fail otherwise. This fixes Savannah bug
620 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000621
622 * docs/CHANGES: Document it.
623
David Turnerb6de8d12007-01-23 15:51:50 +00006242007-01-23 David Turner <david@freetype.org>
625
Werner Lembergb1be9e82007-01-25 11:50:00 +0000626 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
627 prevented compilation when disabling both the unpatented and the
628 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000629
Werner Lembergb1be9e82007-01-25 11:50:00 +0000630
631 Fix and enable the warper to improve `light' hinting mode. This is
632 not necessarily a final version, but it seems to work well.
633
634 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
635 Disable code.
636 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
637 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
638
639 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
640 (af_warper_compute_line_best): Fix array size of `scores'.
641 (af_warper_compute): Better handling of border cases.
642 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
643 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000644
Werner Lemberg011d1112007-01-21 09:36:00 +00006452007-01-21 Werner Lemberg <wl@gnu.org>
646
Werner Lemberg42b63b22007-01-21 21:01:33 +0000647 * ChangeLog: Split off older entries into...
648 * ChangeLog.22: This new file.
649
6502007-01-21 Werner Lemberg <wl@gnu.org>
651
Werner Lemberg555258f2007-01-21 09:46:37 +0000652 * docs/CHANGES: Document SHZ fix.
653
6542007-01-21 George Williams <gww@silcom.com>
655
656 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
657 points.
658
6592007-01-21 Werner Lemberg <wl@gnu.org>
660
Werner Lemberg011d1112007-01-21 09:36:00 +0000661 * src/sfnt/ttmtx.c (tt_face_get_metrics)
662 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
663
Werner Lemberg87a5a432007-01-17 12:44:39 +00006642007-01-17 Werner Lemberg <wl@gnu.org>
665
Werner Lembergb8003292007-01-17 12:56:25 +0000666
667 * Version 2.3.0 released.
668 =========================
669
670
671 Tag sources with `VER-2-3-0-FINAL'.
672
6732007-01-17 Werner Lemberg <wl@gnu.org>
674
Werner Lemberg87a5a432007-01-17 12:44:39 +0000675 * docs/release: Updated.
676
David Turner22122722007-01-16 20:06:44 +00006772007-01-16 David Turner <david@freetype.org>
678
Werner Lemberg87a5a432007-01-17 12:44:39 +0000679 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
680 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
681 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
682 warnings.
David Turner22122722007-01-16 20:06:44 +0000683
Werner Lemberg267e1d72007-01-15 07:48:09 +00006842007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
685
686 * builds/amiga/makefile, builds/amiga/makefile.os4,
687 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
688
689 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
690
Werner Lemberg8c4120d2007-01-15 06:42:40 +00006912007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
692
693 Fix various compiler warnings.
694
695 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
696 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
697 s/index/strike_index/.
698 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
699
700 * src/gxvalid/gxvmorx5.c
701 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
702
703 * src/truetype/ttinterp.c (Compute_Point_Displacement),
704 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
705 uninitialized variables.
706
Werner Lemberg6164a9d2007-01-13 23:01:36 +00007072007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
708
709 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
710
Werner Lemberg281c1482007-01-13 22:50:51 +00007112007-01-13 Werner Lemberg <wl@gnu.org>
712
713 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
714 versions up to 0x3FF without complaining.
715
Werner Lembergac250b22007-01-13 14:01:36 +00007162007-01-13 Derek Clegg <dclegg@apple.com>
717
718 Add FT_Get_PS_Font_Info interface to CFF driver.
719
720 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
721 (CFF_FontRec): Add `font_info' field.
722
723 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
724 (cff_font_done): Free font->font_info if necessary.
725
726 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
727 (cff_service_ps_info): Register cff_ps_get_font_info.
728
Werner Lemberg23df31a2007-01-13 08:45:00 +00007292007-01-13 Werner Lemberg <wl@gnu.org>
730
731 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
732 with C++ compiler.
733
734 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
735 af_glyph_hints_dump_edges): Ditto.
736
737 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
738 `modules.cfg').
739
740 * src/sfnt/ttsbit0.h: Remove.
741
742 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
743
Werner Lemberg27cf9de2007-01-13 07:34:23 +00007442007-01-12 David Turner <david@freetype.org>
745
746 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
747 bug in the bitmap emboldener if the pitch of the source bitmap is
748 much larger than its width.
749
750 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
751 compilation warning.
752
Werner Lemberg6d96d312007-01-12 10:30:19 +00007532007-01-12 Werner Lemberg <wl@gnu.org>
754
755 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
756 `automake' CVS module from sources.redhat.com.
757
Werner Lemberg17432b52007-01-12 09:28:44 +00007582007-01-11 Werner Lemberg <wl@gnu.org>
759
760 * src/type1/t1load.c (is_space): Removed.
761 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
762 (parse_charstrings): Use IS_PS_TOKEN.
763
764
765 * autogen.sh: Avoid bash specific syntax.
766
David Turner038ace22007-01-11 15:00:59 +00007672007-01-11 David Turner <david@freetype.org>
768
Werner Lemberg17432b52007-01-12 09:28:44 +0000769 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +0000770
Werner Lemberg17432b52007-01-12 09:28:44 +0000771 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +0000772
Werner Lemberg17432b52007-01-12 09:28:44 +0000773 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
774 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +0000775 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +0000776
Werner Lemberg17432b52007-01-12 09:28:44 +0000777 * autogen.sh: Small fix to get it working on Mac OS X properly:
778 The issue is that GNU libtool is called `glibtool' on this platform,
779 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +0000780
David Turner2628ea92007-01-10 13:15:56 +00007812007-01-10 David Turner <david@freetype.org>
782
Werner Lemberg17432b52007-01-12 09:28:44 +0000783 * all-sources: Tag all sources with VER-2-3-0-RC1 and
784 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +0000785
Werner Lemberg17432b52007-01-12 09:28:44 +0000786 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
787 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
788 version number to 2.3.0.
789
790 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
791 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +0000792
793 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +0000794 include/freetype/ftlcdfil.h: Update reference documentation with
795 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +0000796
Werner Lemberg17432b52007-01-12 09:28:44 +0000797 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
798 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +0000799
Werner Lembergbf02d392007-01-10 07:07:37 +00008002007-01-10 Derek Clegg <dclegg@apple.com>
801
802 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
803 values.
804
David Turnerf48b60e2007-01-08 15:15:32 +00008052007-01-08 David Turner <david@freetype.org>
806
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000807 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +0000808
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000809 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
810 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +0000811 corresponding to a given character pixel size.
812
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000813 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
814 `gasp' table, in order to avoid potential problems with later
815 versions.
David Turnerf48b60e2007-01-08 15:15:32 +0000816
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000817 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
818 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +0000819
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000820 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
821 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
822 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
823 default build.
David Turnerf48b60e2007-01-08 15:15:32 +0000824
Werner Lemberge6b6f372007-01-07 00:06:47 +00008252007-01-07 Werner Lemberg <wl@gnu.org>
826
Werner Lembergb8004d22007-01-07 09:13:38 +0000827 * src/cid/cidparse.c (cid_parser_new): Improve error message for
828 Type 11 fonts.
829 Scan for `/sfnts' token.
830
8312007-01-07 Werner Lemberg <wl@gnu.org>
832
833 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +0000834
Werner Lembergbe5f7972007-01-06 07:51:48 +00008352007-01-06 Werner Lemberg <wl@gnu.org>
836
837 * src/cff/cffload.c (cff_index_init): Remove unused variable.
838 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
839
David Turnera8cf42b2007-01-04 16:46:46 +00008402007-01-04 David Turner <david@freetype.org>
841
Werner Lembergf6294392007-01-06 07:47:45 +0000842 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
843 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +0000844
Werner Lembergf6294392007-01-06 07:47:45 +0000845
846 Do not allocate interpreter-specific tables in memory if we are not
847 going to load glyphs with the bytecode interpreter anyway.
848
849 * src/truetype/ttgload.c (tt_loader_init): Load execution context
850 only if glyph is hinted.
851 Updated.
852 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
853 and `cvs_ready'.
854 Add `tt_size_ready_bytecode' declaration.
855 * src/truetype/ttobjs.c (tt_size_done_bytecode,
856 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
857 (tt_size_init): Move most code into `tt_size_init_bytecode'.
858 (tt_size_done): Move most code into `tt_size_done_bytecode'.
859 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000860
David Turner91a34022007-01-05 14:47:08 +0000861
Werner Lembergf6294392007-01-06 07:47:45 +0000862 Don't extract the metrics table from the SFNT font file. Instead,
863 reparse it on each glyph load. The runtime difference is not
864 noticeable, and it can save a lot of heap memory when memory-mapped
865 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +0000866
Werner Lembergf6294392007-01-06 07:47:45 +0000867 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
868 `horz_metrics_offset' and `vert_metrics_ofset'.
869 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
870 Updated.
871
872
873 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
874
875
876 Do not load the CFF index offsets into memory, since this wastes a
877 *lot* of heap memory with large Asian CFF fonts. There is no
878 significant performance loss.
879
880 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
881 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
882 `data_size'.
883 (CFF_CharsetRec): Add field `num_glyphs'.
884
885 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
886 cff_charset_cid_to_gindex): New functions.
887 (cff_new_index): Renamed to...
888 (cff_index_init): This. Update all callers.
889 Updated -- some code has been moved to `cff_index_load_offsets'.
890 (cff_done_index): Renamed to...
891 (cff_index_done): This. Update all callers.
892 (cff_index_get_pointers, cff_index_access_element): Updated to use
893 stream offsets.
894 (cff_charset_compute_cids): Set `num_glyphs' field.
895 (cff_encoding_load): Updated.
896
897 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +0000898
8992007-01-04 David Turner <david@freetype.org>
900
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000901 * docs/INSTALL.UNIX: Simplify some parts, add reference to
902 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +0000903
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000904 * README.CVS: Add common problem description and solution
905 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +0000906
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000907 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +0000908
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000909 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +0000910
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000911 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +0000912
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000913 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
914 (TWorker): This.
915 Remove `count_table' and `memory'.
916 Make `grays' a pointer.
917 (TRaster): New structure.
918 (count_table): New static array.
919 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
920 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
921 ft_black_set_mode, ft_black_render): Updated.
922 (ft_black_init): Don't initialize `count_table'.
923 (ft_black_reset): Use the render pool. This saves about 6KB of
924 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +0000925
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000926 * src/smooth/ftgrays.c (TRaster): Replaced with...
927 (TWorker): This.
928 Remove `memory'.
929 (TRaster): New structure.
930
931 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
932 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
933 gray_render_span, gray_raster_render): Updated.
934 (gray_raster_reset): Use the render pool. This saves about 6KB of
935 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +0000936
David Turner8a6c44e2007-01-04 17:03:11 +0000937 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
938 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000939 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
940 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
941 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +0000942
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000943 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
944 Remove a typo that results in no hinting and a memory leak with some
945 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +0000946
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000947 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +0000948 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000949 CFF_Faces in it. We need to close all faces before destroying the
950 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +0000951
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00009522007-01-02 Werner Lemberg <wl@gnu.org>
953
954 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
955 Remove compiler warning.
956
David Turner9207e002007-01-02 16:58:13 +00009572007-01-02 David Turner <david@freetype.org>
958
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000959 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +0000960
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00009612006-12-31 Masatake YAMATO <jet@gyve.org>
962
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000963 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
964 function.
965 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000966 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +0000967 `gxv_kern_subtable_fmt0_pairs_validate'.
968
David Turner115b4422006-12-22 11:37:05 +00009692006-12-22 David Turner <david@freetype.org>
970
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000971 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
972 warnings.
David Turner115b4422006-12-22 11:37:05 +0000973
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000974 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
975 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +0000976
Werner Lemberg4755bf72006-12-16 08:58:44 +00009772006-12-16 Anders Kaseorg <anders@kaseorg.com>
978
979 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
980 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
981
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00009822006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
983
Werner Lemberg9b774e22007-01-16 06:11:27 +0000984 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000985 sync with the modification by Jens Claudius on 2006-08-22; cf.
986 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 +0000987
9882006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
989
990 * src/base/ftmac.c: Specialized for Mac OS X only.
991 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
992 * builds/unix/configure.raw: Ditto. When explicit switches for
993 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
994 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
995
9962006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
997
998 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
999 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
1000 instead of src/base/ftmac.c
1001 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
1002 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
1003 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
1004 that cannot be built at present.
1005
10062006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1007
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001008 * src/base/ftobjs.c: Improvement of resource fork handler for
1009 POSIX, cf.
1010 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00001011 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
1012 format or .dfont, to simulate the face index number counted by ftmac.c.
1013 (IsMacResource): Return the number of scalable faces correctly.
1014
Werner Lembergec5b4502006-12-10 07:51:38 +000010152006-12-10 Werner Lemberg <wl@gnu.org>
1016
1017 * builds/toplevel.mk (version): Protect against `distclean' target.
1018
Werner Lembergb26b3142006-12-09 20:01:43 +000010192006-12-09 Werner Lemberg <wl@gnu.org>
1020
1021 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
1022 or `type'.
1023
1024 * builds/freetype.mk (version): Extracted from freetype.h, using
1025 GNU make's built-in string functions.
1026 (refdoc): Use $(version) instead of static version number.
1027
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000010282006-12-08 Werner Lemberg <wl@gnu.org>
1029
1030 * builds/toplevel.mk (dist): Extract version number from freetype.h.
1031
Werner Lemberg15c29502006-12-09 07:29:54 +000010322006-12-08 Vladimir Volovich <vvv@vsu.ru>
1033
1034 * src/tools/apinames (State): Remove final comma in structure -- xlc
1035 v5 under AIX 4.3 doesn't like this.
1036
David Turnerdbf3b432006-12-07 21:18:09 +000010372006-12-07 David Turner <david@freetype.org>
1038
Werner Lemberg256a3512006-12-08 06:49:33 +00001039 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
1040 to the spacing of auto-fitted glyphs. This only impacts rare
1041 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00001042
Werner Lemberg11171312006-12-03 09:43:40 +000010432006-12-03 Werner Lemberg <wl@gnu.org>
1044
1045 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
1046
Werner Lemberg960ba592006-12-01 08:20:47 +000010472006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00001048
Werner Lemberg960ba592006-12-01 08:20:47 +00001049 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
1050 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
1051 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00001052
David Turner80658e52006-11-28 08:09:20 +00001053
Werner Lemberg960ba592006-12-01 08:20:47 +00001054 * include/freetype/ftxf86.h: Fix and extend comment so that it
1055 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00001056
Werner Lemberg960ba592006-12-01 08:20:47 +00001057 * include/freetype/ftchapters.h: Add `font_format' section.
1058
1059
1060 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
1061 to TOC in index page.
1062
10632006-11-28 David Turner <david@freetype.org>
1064
1065 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
1066 trying to render into a zero-width/height bitmap, not an error code.
1067
1068 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
1069
1070 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
1071 ones instead.
1072
1073 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
1074 variable.
David Turner80658e52006-11-28 08:09:20 +00001075
Werner Lemberg8636c292006-11-26 22:28:13 +000010762006-11-26 Pierre Hanser <hanser@club-internet.fr>
1077
1078 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
1079
Werner Lemberg960ba592006-12-01 08:20:47 +000010802006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00001081
Werner Lemberg960ba592006-12-01 08:20:47 +00001082 * src/autofit/afhints.c (af_glyph_hints_dump_points,
1083 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
1084 Add stubs to link the `ftgrid' test program when debugging is
1085 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00001086
Werner Lemberg960ba592006-12-01 08:20:47 +000010872006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00001088
1089 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00001090 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
1091
1092 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
1093 Emit more sensible information.
1094
1095 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1096
1097 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1098 rounding of blue values.
1099 (af_latin_hints_compute_segments): Hint segment heights.
1100 (af_latin_hints_link_segments): Reduce `len_score' value.
1101 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1102 value and use `height' member for comparisons.
1103 (af_latin_hint_edges): Extend logging message.
1104 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001105
Werner Lemberg91959bf2006-11-22 10:36:55 +000011062006-11-22 Werner Lemberg <wl@gnu.org>
1107
1108 Fix Savannah bug #15553.
1109
1110 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1111 program after a change from mono to grayscaling (and vice versa).
1112 Use correct constant for comparison to get `exec->grayscale'.
1113
Werner Lemberg913a3652006-11-19 09:19:17 +000011142006-11-18 Werner Lemberg <wl@gnu.org>
1115
1116 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001117 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001118 This patch fixes Savannah bug #18301.
1119
1120 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1121 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1122 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1123 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1124 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1125 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1126 (FNT_Load_Glyph): Check validity of `glyph_index'.
1127
David Turner7bab6ae2006-11-13 11:25:06 +000011282006-11-13 David Turner <david@freetype.org>
1129
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001130 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1131 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001132
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001133 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1134 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1135 when building the library to change the default LCD filter to be
1136 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001137
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001138 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001139
David Turner8765c712006-11-10 16:49:42 +000011402006-11-10 David Turner <david@freetype.org>
1141
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001142 * src/smooth/ftsmooth.c: API change for the LCD
1143 filter. The FT_LcdFilter value is an enumeration describing which
1144 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1145 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1146 algorithm which produces strong color fringes for everything
1147 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001148
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001149 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1150 second parameter to an enum type.
1151
1152 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1153 (_ft_lcd_filter): Rename to...
1154 (_ft_lcd_filter_fir): This.
1155 Update parameters.
1156 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1157 (FT_Library_Set_LcdFilter): Update parameters.
1158 Handle new filter modes.
1159
1160 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1161 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1162 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1163 callback and update other fields.
1164
1165 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1166 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1167 Other minor improvements.
1168
1169 * src/autofit/aflatin.c: Various tiny improvements that drastically
1170 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1171 (af_latin_hints_compute_edges): Fix typo.
1172 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001173
David Turner4e9cc3c2006-11-09 16:31:52 +000011742006-11-09 David Turner <david@freetype.org>
1175
Werner Lemberg49c77a82006-11-09 21:51:57 +00001176 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1177 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001178
Werner Lemberg5e430892006-11-07 09:35:03 +000011792006-11-07 Zhe Su <james.su@gmail.com>
1180
1181 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1182 also.
1183
Werner Lemberg111b5ae2006-11-03 09:40:12 +000011842006-11-03 Werner Lemberg <wl@gnu.org>
1185
1186 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1187
David Turner40604742006-11-02 16:37:35 +000011882006-11-02 David Turner <david@freetype.org>
1189
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001190 Add a few tweaks to better handle serif fonts.
1191 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001192
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001193 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1194 segments that are less than 1.5 pixels high. This gets rid of
1195 *many* corner cases with serifs.
1196 (af_latin_align_linked_edge): Add logging message.
1197 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1198 Add logging messages.
1199 Handle AF_EDGE_FLAG flag specially.
1200
1201 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1202 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1203
1204 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1205 Update external declarations.
1206 (af_corner_orientation, af_corner_is_flat): Replaced by...
1207
1208 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1209 ft_corner_is_flat): These declarations.
1210
1211 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1212 Comment out. Replaced by...
1213
1214 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1215 These functions. Update all callers.
1216 (FT_Add64) [!FT_LONG64]: Simplify.
1217
1218 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1219 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1220 production of garbage by missing lots of segments.
1221
1222 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1223
1224 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1225 [AF_DEBUG]: Set _af_debug_hints.
1226
1227
1228 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1229 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1230 and ft_corner_orientation.
1231
1232
1233 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001234
Werner Lemberge88c5262006-10-24 05:46:26 +000012352006-10-24 Werner Lemberg <wl@gnu.org>
1236
1237 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1238
1239 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1240 as argument.
1241
David Turnera1861392006-10-23 16:00:59 +000012422006-10-23 Zhe Su <zsu@novell.com>
1243
Werner Lemberg715e96e2006-10-24 05:28:45 +00001244 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1245 better deal with broken Asian fonts with strange glyphs, having
1246 self-intersections and other peculiarities. The used algorithm is
1247 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001248
David Turnere140f142006-10-23 08:56:57 +000012492006-10-23 David Turner <david@freetype.org>
1250
Werner Lemberg715e96e2006-10-24 05:28:45 +00001251 Speed up the CFF font loader. With some large CFF fonts,
1252 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001253
Werner Lemberg715e96e2006-10-24 05:28:45 +00001254 * src/cff/cffload.c (cff_get_offset): Removed.
1255 (cff_new_index): Inline functionality of `cff_get_offset'.
1256 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1257 (cff_charset_done): Call `cff_charset_free_cids'.
1258 (cff_charset_load): Call `cff_charset_compute_cids'.
1259 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1260
1261 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1262 with FT_NEXT_XXX.
1263
1264
1265 Speed up the Postscript hinter, with more than 100% speed increase
1266 on my machine.
1267
1268 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1269 psh_corner_orientation): New functions.
1270 (psh_glyph_compute_inflections): Merge loops for efficiency.
1271 Use `psh_corner_orientation'.
1272 (psh_glyph_init): Use `psh_corner_is_flat'.
1273 (psh_hint_table_find_strong_point): Renamed to...
1274 (psh_hint_table_find_strong_points): This.
1275 Rewrite, adding argument to handle all points at once.
1276 Update all callers.
1277 (PSH_MAX_STRONG_INTERNAL): New macro.
1278 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001279
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000012802006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1281
1282 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001283 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001284
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000012852006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1286
1287 * docs/INSTALL.CROSS: New document file for cross-building.
1288
1289 * builds/unix/configure.raw: Preliminary cross-building support.
1290 Find native C compiler and pass it by CC_BUILD, and
1291 find suffix for native executable and pass it by EXEEXT_BUILD.
1292 Also suffix for target executable is passed by EXEEXT.
1293
Werner Lembergb9e6d692006-10-15 08:58:40 +00001294 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1295 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001296 CC_BUILD and EXEEXT_BUILD.
1297
Werner Lembergb9e6d692006-10-15 08:58:40 +00001298 * builds/exports.mk (APINAMES_EXE): Change the extension for
1299 apinames from the suffix for target (E) to that for building host
1300 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001301
Werner Lemberg82a07e92006-10-12 06:20:44 +000013022006-10-12 Werner Lemberg <wl@gnu.org>
1303
1304 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1305 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1306 which reference those files.
1307
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000013082006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1309
Werner Lembergb9e6d692006-10-15 08:58:40 +00001310 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1311 embedded in freetype2.pc and freetype-config. Use it to record
1312 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001313
1314 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1315
1316 * builds/unix/freetype-config.in: Ditto.
1317
Werner Lemberg28e17d92006-10-11 17:27:47 +000013182006-10-11 Werner Lemberg <wl@gnu.org>
1319
1320 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1321 development.
1322
Jens Claudius336d2292006-10-03 08:53:37 +000013232006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1324
1325 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1326 argument to ft_setjmp.
1327
1328 * include/freetype/internal/ftvalid.h: Add comment that
1329 ft_validator_run must not be used.
1330
Werner Lemberg2863cfa2006-10-01 17:04:00 +000013312006-10-01 Werner Lemberg <wl@gnu.org>
1332
1333 * src/base/ftbase.c: Undo change from 2006-09-30.
1334
1335 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1336
13372006-09-30 David Turner <david@freetype.org>
1338
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001339 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1340 s/unpatented_hinting/ignore_unpatented_hinter/.
1341 Update all callers.
1342
1343 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1344 auto-hinting shall be used or not.
1345
1346 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001347
Werner Lemberg2863cfa2006-10-01 17:04:00 +000013482006-09-30 Werner Lemberg <wl@gnu.org>
1349
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001350 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1351 in use).
1352
1353 * src/base/ftbase.c: Include `ftlcdfil.c'.
1354
Werner Lemberg9b15ea32006-09-29 18:22:11 +000013552006-09-29 Werner Lemberg <wl@gnu.org>
1356
1357 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1358 overlapping segments. Bug reported by Stefan Koch.
1359
David Turnerad830712006-09-27 16:20:59 +000013602006-09-28 David Turner <david@freetype.org>
1361
Werner Lemberg2c002e12006-09-29 21:31:53 +00001362 Fix a bug in the automatic unpatented hinting support which prevents
1363 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001364
Werner Lemberg2c002e12006-09-29 21:31:53 +00001365 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1366 s/force_autohint/unpatented_hinting/. Update all callers.
1367
1368 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1369
1370 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001371
David Turner8a317cf2006-09-27 07:52:48 +000013722006-09-27 David Turner <david@freetype.org>
1373
Werner Lemberg2c002e12006-09-29 21:31:53 +00001374 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001375
David Turner8a317cf2006-09-27 07:52:48 +00001376
David Turnere140f142006-10-23 08:56:57 +00001377 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001378 In a default build, the function `FT_Library_SetLcdFilter' returns
1379 `FT_Err_Unimplemented_Feature'; you need to #define
1380 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1381 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001382
Werner Lemberg2c002e12006-09-29 21:31:53 +00001383 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001384
Werner Lemberg2c002e12006-09-29 21:31:53 +00001385 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1386 typedef.
1387 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1388 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001389
Werner Lemberg2c002e12006-09-29 21:31:53 +00001390 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1391 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001392
Werner Lemberg2c002e12006-09-29 21:31:53 +00001393 Handle subpixel rendering.
1394 Simplify function.
1395 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1396 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1397
1398 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1399 pointing to <freetype/ftlcdfil.h>.
1400
1401 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1402 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1403
1404 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001405
Werner Lemberge20df4a2006-09-27 06:29:21 +000014062006-09-26 David Bustin
1407
1408 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1409 correctly. Reported as Savannah bug #17843.
1410
David Turner6f8c6222006-09-26 15:42:44 +000014112006-09-26 David Turner <david@freetype.org>
1412
Werner Lemberg110246c2006-09-26 21:55:44 +00001413 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1414 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1415 horizontal and vertical hinting for the purpose of debugging the
1416 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001417
Werner Lemberg110246c2006-09-26 21:55:44 +00001418 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1419 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001420
Werner Lemberg110246c2006-09-26 21:55:44 +00001421 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1422
1423 * include/freetype/config/ftoption.h, devel/ftoption.h
1424 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1425 we want to compile LCD-optimized rendering code (à la ClearType) or
1426 not. The macro *must* be disabled in default builds of the library
1427 for patent reasons.
1428
1429 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1430 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1431 isn't defined at compile time. This only changes the content of the
1432 rendered glyph to match the one of normal gray-level rendering,
1433 hence clients should not need to be modified.
1434
1435 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001436
Werner Lemberg745ff2c2006-09-19 05:48:02 +000014372006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1438
1439 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1440 LWFN fails and both are available.
1441
David Turnerf3050052006-09-11 12:00:32 +000014422006-09-11 David Turner <david@freetype.org>
1443
Werner Lembergf9644552006-09-12 13:48:10 +00001444 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1445 report their English names through an Apple Roman
1446 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001447
Werner Lembergf9644552006-09-12 13:48:10 +00001448 If the font uses another name entry with language_id == English, it
1449 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001450
Werner Lembergf9644552006-09-12 13:48:10 +00001451 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1452 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001453
Werner Lemberg36d2eab2006-09-05 19:24:34 +000014542006-09-05 Werner Lemberg <wl@gnu.org>
1455
1456 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001457 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001458 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1459 `HAN NOM B.ttf').
1460
1461 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1462
David Turner772e55d2006-09-05 09:45:15 +000014632006-09-05 David Turner <david@freetype.org>
1464
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001465 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001466
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001467 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1468 (TRaster): Remove `count_ex' and `count_ey'.
1469 (gray_find_cell): Remove 2nd and 3rd argument.
1470 (gray_alloc_cell): Merged with `gray_find_cell'.
1471 (gray_record_cell): Simplify.
1472 (gray_set_cell): Rewrite.
1473 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1474 (gray_render_span): Don't use FT_MEM_SET for small values.
1475 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1476 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1477 bitmap scanline.
1478 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001479
David Turneraa557a92006-09-04 16:42:44 +000014802006-09-04 David Turner <david@freetype.org>
1481
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001482 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1483 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001484
Werner Lemberg2d8629b2006-09-03 06:18:45 +000014852006-09-03 Werner Lemberg <wl@gnu.org>
1486
1487 * devel/ftoption.h: Synchronize with
1488 include/freetype/config/ftoption.h.
1489
1490 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1491 variable declaration.
1492 (gray_convert_glyph): Fix compiler warnings.
1493
David Turner6d79f212006-09-01 14:09:35 +000014942006-09-01 David Turner <david@freetype.org>
1495
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001496 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1497 to recognize a few fonts that require the automatic unpatented
1498 loader.
David Turnerbd502952006-09-01 19:05:24 +00001499
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001500 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1501 rasterizer. The speed improvement is between 15% and 25%, depending
1502 on the font data.
1503
1504 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1505 (TCell): Redefine.
1506 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1507 (gray_init_cells): Updated.
1508 (gray_find_cell, gray_alloc_cell): New functions.
1509 (gray_record_cell): Rewritten to use `gray_find_cell' and
1510 `gray_alloc_cell'.
1511 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1512 QSORT_THRESHOLD):
1513 Removed.
1514 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1515 gray_dump_cells): Removed.
1516 (gray_sweep): Rewritten.
1517 (gray_convert_glyph): Rewrite code which used one of the sorting
1518 functions.
1519 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001520
Werner Lembergd898aed2006-08-29 09:50:34 +000015212006-08-29 Dr. Werner Fink <werner@suse.de>
1522
1523 * configure: Make it possible to handle configure options which
1524 have strings containing spaces.
1525
15262006-08-27 David Turner <david@freetype.org>
1527
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001528 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1529 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1530 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1531
1532 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1533 src/truetype/truetype.c, src/truetype/ttdriver.c,
1534 src/truetype/ttgload.c, src/truetype/ttgload.h,
1535 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1536 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1537 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1538
1539 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1540 member `force_autohint'.
1541
1542 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1543
1544 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1545 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001546
Jens Claudiusa787f452006-08-27 11:26:18 +000015472006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1548
1549 Fix miscellaneous compiler warnings.
1550
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001551 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1552 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001553
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001554 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1555 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1556 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001557
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001558 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1559 volatileness of argument to ft_longjmp. Spotted by Werner
1560 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001561
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001562 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1563 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001564
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001565 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1566 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001567
Werner Lembergc4c35b72006-08-27 08:03:46 +000015682006-08-27 Werner Lemberg <wl@gnu.org>
1569
1570 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1571 Reported by Jens.
1572
Jens Claudius088e44e2006-08-22 14:24:30 +000015732006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001574
Jens Claudius088e44e2006-08-22 14:24:30 +00001575 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001576 about addresses of volatile objects passed as function arguments as
1577 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001578
Werner Lembergc4c35b72006-08-27 08:03:46 +00001579 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1580 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001581
1582 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1583 argument `table' a pointer to a volatile object.
1584
1585 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1586 argument `table' a pointer to a volatile object.
1587
Jens Claudius2652bd52006-08-18 17:20:37 +000015882006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1589
1590 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1591 variable `_sfnt' as volatile since it must keep its value across
1592 a call to ft_setjmp.
1593 (gxv_validate): Same for local variables `memory' and `valid'.
1594 (classic_kern_validate): Same for local variables `memory',
1595 `ckern', and `valid'.
1596
1597 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1598 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1599 `jstf', and 'valid'.
1600
1601 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1602 local variable `cmap'.
1603
David Turner9fbfc6a2006-08-16 09:11:31 +000016042006-08-16 David Turner <david@freetype.org>
1605
Werner Lemberg12342992006-08-19 11:18:09 +00001606 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1607 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001608
Werner Lemberg12342992006-08-19 11:18:09 +00001609 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1610 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001611
David Turner33f5f242006-08-16 16:50:55 +00001612
Werner Lemberg12342992006-08-19 11:18:09 +00001613 Improvements to native TrueType hinting. This is a first try,
1614 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1615
1616 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1617 `extra_points2'.
1618
1619 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1620 `orus'.
1621
1622 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1623 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1624 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1625 handle `extra_points2'.
1626
1627 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1628 Remove compiler warning.
1629 (cur_to_arg): Remove macro.
1630 (TT_Hint_Glyph): Updated.
1631 (TT_Process_Simple_Glyph): Handle `orus'.
1632
1633 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1634 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1635 (LOC_Ins_IUP): Renamed to...
1636 (IUP_WorkerRec): This.
1637 Add `orus' member.
1638 (Shift): Renamed to...
1639 (_iup_worker_shift): This.
1640 Updated.
1641 (Interp): Renamed to...
1642 (_iup_worker_interpolate): This.
1643 Updated to handle `orus'.
1644 (Ins_IUP): Updated.
1645
1646 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1647 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001648
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000016492006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1650
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001651 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001652 build ftvalid in ft2demos. This has been inadvertedly changed
1653 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001654
16552006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1656
Werner Lemberg12342992006-08-19 11:18:09 +00001657 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1658 Jens:
1659 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001660
Werner Lemberg12342992006-08-19 11:18:09 +00001661 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1662 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001663
1664 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1665
Jens Claudius9950adc2006-08-13 12:14:36 +000016662006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1667
Werner Lemberg12342992006-08-19 11:18:09 +00001668 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1669 T1_TOKEN_TYPE_KEY.
1670 (T1_FieldRec): Add `dict'.
1671 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1672 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1673 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001674
Werner Lemberg12342992006-08-19 11:18:09 +00001675 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1676 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001677
1678 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1679
1680 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001681 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1682 not T1_TOKEN_TYPE_ANY.
1683 (ps_parser_load_field): Make sure a token that should be a string or
1684 name is really a string or name.
1685 Avoid memory leak if a keyword has been already encountered and its
1686 value is overwritten.
1687 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1688 T1_FIELD_XXX.
1689 (parse_dict): Ignore keywords that occur in the wrong dictionary
1690 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001691
Werner Lemberg12342992006-08-19 11:18:09 +00001692 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1693 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001694
Werner Lemberg12342992006-08-19 11:18:09 +00001695 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1696 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001697
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000016982006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1699
1700 Move creation of field `buildchar' of T1_DecoderRec out of
1701 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1702 of it.
1703
1704 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1705 and `T1_Compute_Max_Advance'.
1706
1707 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1708 Remove field `face', add `len_buildchar'.
1709
1710 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1711 field `buildchar'.
1712
1713 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1714 finisher for T1_Decoder.
1715 (cid_slot_load_glyph): Do not ignore failure when initializing the
1716 T1_Decoder.
1717
1718 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
1719 Updated.
1720 (t1_decoder_init): Remove initialization of fields `buildchar' and
1721 `len_buildchar'.
1722 (t1_decoder_done): Remove deallocation of field `buildchar'.
1723
1724 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
1725 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
1726 T1_Decoder.
1727 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
1728 `len_buildchar'; make sure to call finisher for T1_Decoder even in
1729 case of error.
1730
1731 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
1732 `buildchar' of T1_FaceRec.
1733
1734 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
1735 `buildchar' of T1_FaceRec.
1736
Werner Lemberg1a380e02006-07-14 18:28:08 +000017372006-07-14 Jens Claudius <jens.claudius@yahoo.com>
1738
1739 * freetype2/include/freetype/internal/psaux.h: New macros
1740 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
1741 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
1742 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
1743 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
1744 (T1_DecoderRec): New fields `buildchar' and `face'.
1745 (IS_PS_TOKEN): New macro.
1746
1747 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
1748 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
1749
1750 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
1751 `default_design_vector' and `num_default_design_vector'.
1752
1753 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
1754 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
1755 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
1756
1757 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
1758 `token' argument to be NULL if we want only to count the number of
1759 tokens.
1760 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
1761 want to skip the array.
1762 (ps_tofixedarray): Allow `values' argument to be NULL if we just
1763 want to skip the array.
1764
1765 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
1766 support for (partially commented out) othersubrs 19-25, 27, and 28.
1767 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
1768 (t1_decoder_done): Release new field `buildchar'.
1769
1770 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
1771 functions.
1772 (t1_keywords): Register them.
1773 (t1_allocate_blend): Updated.
1774 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
1775 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
1776 (parse_dict): Remove `keyword_flags' argument.
1777 Use new macro IS_PS_TOKEN.
1778 Changed function so that later PostScript definitions override
1779 earlier ones.
1780 (t1_init_loader): Initialize new field `keywords_encountered'.
1781 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
1782 `len_buildchar'.
1783 Remove `keywords_flags'.
1784
1785 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
1786 `keywords_encountered'.
1787 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
1788
1789 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
1790 New entries for parsing /NDV, /CDV, and /DesignVector.
1791
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000017922006-07-07 Werner Lemberg <wl@gnu.org>
1793
1794 Add many checks to protect against malformed PCF files.
1795
1796 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
1797 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
1798
1799 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
1800 data and check that tables don't overlap (using a simple
1801 bubblesort).
1802 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
1803 New macros which give the size of data structures in the data
1804 stream.
1805 (pcf_get_properties): Use rough estimates to get array size limits.
1806 Assign `face->nprops' and `face->properties' earlier so that a call
1807 to PCF_Face_Done can do the clean-up in case of error.
1808 Protect against invalid string offsets.
1809 (pcf_get_metrics): Clean up code.
1810 Adjust tracing message levels.
1811 Use rough estimate to get array size limit.
1812 (pcf_get_bitmaps): Clean up code.
1813 Adjust tracing message levels.
1814 Use rough estimates to get offset limits.
1815 (pcf_get_encodings): Adjust tracing message level.
1816 (pcf_get_accel): Clean up code.
1817
Werner Lemberg8eb05252006-06-27 06:20:01 +000018182006-06-26 Werner Lemberg <wl@gnu.org>
1819
1820 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
1821 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
1822
Werner Lemberg24703f82006-06-26 19:12:51 +000018232006-06-26 Jens Claudius <jens.claudius@yahoo.com>
1824
1825 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
1826 (t1_decoder_parse_charstrings): Operator with
1827 opcode 15 pops its two arguments.
1828 Handle the case where the pops of an othersubr may be part of a
1829 subroutine.
1830 Handle unknown othersubrs gracefully: count their operands and let
1831 the following pop operators push the operands as the results onto
1832 the Type1 stack.
1833 Improve handling of setcurrentpoint opcode.
1834
Werner Lembergc011f4c2006-06-26 09:40:00 +000018352006-06-25 Jens Claudius <jens.claudius@yahoo.com>
1836
1837 The Type 1 parser now skips over top-level procedures as required
1838 for a `Simplified Parser'. This makes the parser more robust as it
1839 doesn't poke around in PostScript code. Additionally, it makes the
1840 FontDirectory hackery in src/type1/t1load.c unnecessary.
1841
1842 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
1843 (skip_literal_string): Add FT_Error as return value.
1844 Handle escapes better.
1845 (skip_string): Add FT_Error as return value.
1846 Don't set `parser->error' but return error code directly.
1847 (skip_procedure): New function.
1848 (ps_parser_skip_PS_token): Handle procedures.
1849 Update code.
1850 (ps_parser_to_token): Update code.
1851 (ps_parser_load_field_table): Handle bbox entries also.
1852
1853 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
1854 Add commented-out code for synthetic fonts.
1855
Werner Lemberga2da05c2006-06-25 06:27:27 +000018562006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
1857
1858 Fix two hinting bugs as reported in
1859 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
1860
1861 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
1862 `first_point' member.
1863
1864 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
1865 `first_point'.
1866 (TT_Process_Composite_Glyph): Always untouch points.
1867
1868 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
1869 `first_point' and `last_point' in case of composite glyphs.
1870 (Ins_IUP): Fix computation of `end_point'.
1871
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000018722006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1873
Werner Lembergef3d2c22006-06-25 06:07:14 +00001874 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
1875 Mac. The original patch was written by David Sachitano and Lawrence
1876 Coopet, and modified by Sean McBride for MPW compatibility. Only
1877 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001878
Werner Lembergef3d2c22006-06-25 06:07:14 +00001879 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
1880 Mac OS X platforms.
1881 (OS_INLINE): Undefine before definition.
1882 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
1883 FontAssociation table in FOND resource.
1884 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
1885 and fontSize at each entry of FontAssociation table in FOND
1886 resource.
1887 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
1888 ffStylOff of FamilyRecord header of FOND resource, the header,
1889 fontSize, fontID at each entry of FontAssociation table, and
1890 StyleMapping table.
1891 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001892
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000018932006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1894
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001895 Public API of TrueTypeGX, OpenType, and classic kern table validator
1896 should return `FT_Err_Unimplemented_Feature' if validation service
1897 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00001898 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001899 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
1900
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001901 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
1902 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
1903 unavailable.
1904 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
1905 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001906
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001907 * src/base/ftotval.c (FT_OpenType_Validate): Return
1908 FT_Err_Unimplemented_Feature if OpenType validation service is
1909 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001910
Werner Lembergb10e45a2006-06-08 07:32:56 +000019112006-06-08 Werner Lemberg <wl@gnu.org>
1912
1913 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
1914 errors.
1915
David Turner5f1f7502006-06-07 05:11:50 +000019162006-06-07 David Turner <david@freetype.org>
1917
Werner Lemberg7d48cb02006-06-08 06:00:08 +00001918 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
1919 (T1_Read_Metrics): Fix memory leak which happened when the metrics
1920 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00001921
David Turner457b4a82006-06-06 08:14:14 +000019222006-06-06 David Turner <david@freetype.org>
1923
Werner Lemberg4836f952006-06-06 12:54:08 +00001924 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00001925
Werner Lemberg4836f952006-06-06 12:54:08 +00001926 We change `ps_unicodes_init' so that it also takes a
1927 `free_glyph_name' callback to release the glyph names returned by
1928 `get_glyph_name'
1929
1930 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
1931 Renamed to ...
1932 (PS_GetGlyphNameFunc): This.
1933 (PS_FreeGlyphNameFunc): New typedef.
1934 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
1935
1936 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
1937 argument.
1938 (cff_sid_free_glyph_name): New function.
1939 (cff_cmap_unicode_init): Updated.
1940
1941 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
1942
1943 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
1944 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00001945
1946
David Turner09717352006-06-04 14:33:08 +000019472006-06-04 David Turner <david@freetype.org>
1948
Werner Lembergd724f202006-06-04 15:17:41 +00001949 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
1950 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001951 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00001952
Werner Lembergd724f202006-06-04 15:17:41 +00001953 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
1954 of `face->num_glyphs' which missed the last glyph, due to
1955 the offset-by-1 computation, since the PFR format doesn't
1956 guarantee that glyph index 0 corresponds to the `missing
1957 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00001958
Werner Lemberg33779662006-05-26 06:30:05 +000019592006-05-25 Werner Lemberg <wl@gnu.org>
1960
1961 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
1962 `-no-undefined'. Reported by Christian Biesinger.
1963
Werner Lemberg24773d62006-05-20 08:53:13 +000019642006-05-19 Brian Weed <bw@imaginengine.com>
1965
1966 * builds/win32/visualc/freetype.dsp: Release libraries no longer
1967 have debug information, and debug libraries use `C7 compatible'
1968 debug info.
1969
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000019702006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1971
Werner Lemberga6523a62006-05-20 08:47:01 +00001972 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00001973 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001974
Werner Lemberga6523a62006-05-20 08:47:01 +00001975 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
1976 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001977
1978 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00001979 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001980
19812006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1982
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00001983 * build/unix/configure.raw: Add a fallback to disable Carbon
1984 dependency, if configured with no options on Mac OS X.
1985
19862006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1987
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001988 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00001989 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001990 the second part of Savannah bug #16590.
1991
Werner Lemberg545c4e52006-05-17 22:55:04 +000019922006-05-18 Werner Lemberg <wl@gnu.org>
1993
1994 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
1995 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
1996
David Turnerdc3ff312006-05-17 12:59:35 +000019972006-05-17 David Turner <david@freetype.org>
1998
Werner Lemberg545c4e52006-05-17 22:55:04 +00001999 This is a major patch used to drastically improve the performance of
2000 loading glyphs. This both speeds up loading the glyph vectors
2001 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00002002
Werner Lemberg545c4e52006-05-17 22:55:04 +00002003 We now use inline assembler code with GCC to implement `FT_MulFix',
2004 which is probably the most important function related to the
2005 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00002006
Werner Lemberg545c4e52006-05-17 22:55:04 +00002007 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00002008
2009
Werner Lemberg545c4e52006-05-17 22:55:04 +00002010 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
2011 `cursor' and `limit'.
2012
2013 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
2014 New functions.
2015 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
2016 [TEST]: Remove.
2017
2018 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
2019 code.
2020
2021 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
2022 `FT_ZERO'
2023 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
2024 (af_glyph_hints_reload: Rewrite recognition of weak points.
2025
2026 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
2027 constant values out of the loops.
2028
2029 * src/autofit/aftypes.h: Updated.
2030
2031 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
2032
2033 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
2034 product to get orientation.
2035
2036 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
2037 (FT_Stream_OpenGzip): Use it to handle small files directly in
2038 memory.
2039
2040 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
2041 Improve performance.
2042
2043 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
2044 `limit'.
2045
2046 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
2047 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
2048 exceedingly large values of number of contours. Speed up by
2049 reducing the number of loops.
2050
2051 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
2052
2053
2054 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
2055 used to detect rogue clients from 4 to 16. This is to prevent some
2056 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
2057 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00002058
Werner Lembergde2d90a2006-05-17 08:54:30 +000020592007-05-17 Werner Lemberg <wl@gnu.org>
2060
2061 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00002062 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00002063
20642006-05-16 Werner Lemberg <wl@gnu.org>
2065
2066 * docs/PROBLEMS: Updated icl issues.
2067
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002068----------------------------------------------------------------------------
2069
Werner Lemberg42b63b22007-01-21 21:01:33 +00002070Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002071David Turner, Robert Wilhelm, and Werner Lemberg.
2072
2073This file is part of the FreeType project, and may only be used, modified,
2074and distributed under the terms of the FreeType project license,
2075LICENSE.TXT. By continuing to use, modify, or distribute this file you
2076indicate that you have read the license and understand and accept it
2077fully.
2078
2079
2080Local Variables:
2081version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002082coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002083End: