blob: 9934abc34b9abb9e1d75227975b0309a08d5f05e [file] [log] [blame]
Werner Lemberg5057e362008-02-29 07:23:02 +000012008-02-29 Wermer Lemberg <wl@gnu.org>
2
3 * docs/CHANGES: Updated.
4
Werner Lemberg7faa1552008-02-29 07:14:38 +000052008-02-29 Wolf
6
7 Add build support for symbian platform. From Savannah bug #22440.
8
9 * builds/symbian/*: New files.
10
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +0000112008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
12
Werner Lemberg9b9d3342008-02-21 23:22:06 +000013 * src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
14 synthesis. For any face of a specified FOND, always the name for
15 the first face was used. Except of a FOND that refers multiple
16 Type1 font files, wrong synthesized font names are not used at all,
17 so this is an invisible bug. A few limit checks are added too.
Suzuki, Toshiya (鈴木俊哉)6cb2faa2008-02-21 18:46:07 +000018
19 * builds/mac/ftmac.c: Ditto.
20
212008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
22
Werner Lemberg31093cc2008-02-21 17:10:04 +000023 * builds/unix/configure.raw: Split compiler option to link Carbon
24 frameworks to one option for CoreServices framework and another
25 option for ApplicationServices framework. The split options can be
26 managed by GNU libtool to avoid unrequired duplication when FreeType
27 is linked with other applications. Suggested by Daniel Macks,
28 Savannah bug #22366.
Suzuki, Toshiya (鈴木俊哉)5d3ac4a2008-02-21 10:15:41 +000029
Werner Lemberg28464c42008-02-18 20:34:42 +0000302008-02-18 Victor Stinner <victor.stinner@haypocalc.com>
31
32 * src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix
33 from Savannah bug #22356.
34
Werner Lemberg44c655b2008-02-17 08:22:08 +0000352008-02-17 Jonathan Blow <jon@number-none.com>
36
37 * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
38 Check for valid callback pointers.
39
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +0000402008-02-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
41
42 * src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
43 handle by its value instead of ResError(), fix provided by Deron
Werner Lembergc903f2f2008-02-17 08:23:04 +000044 Kazmaier. According to the Resource Manager Reference,
45 GetResource(), Get1Resource(), GetNamedResource(),
46 Get1NamedResource() and RGetResource() set noErr but return NULL
47 handle when they can not find the requested resource. These
48 functions never return undefined values, so it is sufficient to
49 check if the handle is not NULL.
Suzuki, Toshiya (鈴木俊哉)d2c55ab2008-02-15 09:12:59 +000050
51 * builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
52
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +0000532008-02-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
54
55 * src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
Werner Lembergaa722df2008-02-14 10:46:40 +000056 inclusion styles. Now it always includes src/base/ftmac.c;
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +000057 builds/mac/ftmac.c is never included in any configuration.
Werner Lembergaa722df2008-02-14 10:46:40 +000058
59 * builds/unix/configure.raw: Print warning if configure is executed
60 with options to specify Carbon functionalities explicitly.
61
62 * docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
Suzuki, Toshiya (鈴木俊哉)60e83a12008-02-14 02:55:16 +000063 included automatically and manual replacement is required.
64
Werner Lemberg744dd452008-02-11 08:22:40 +0000652008-02-11 Werner Lemberg <wl@gnu.org>
66
67 * builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
68 (dos_setup), builds/freetype.mk (clean_project_dos,
69 distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan
70 Murdoch.
71
Werner Lemberg4c933992008-01-18 05:32:55 +0000722008-01-18 Sylvain Pasche <sylvain.pasche@gmail.com>
73
74 * src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
75 mention intra-pixel algorithm.
76
77 * include/freetype/freetype.h (FT_Render_Mode): Mention that
78 FT_Library_SetLcdFilter can be used to reduce fringes.
79
Werner Lemberg1ddd1b72008-01-16 06:58:54 +0000802008-01-16 Werner Lemberg <wl@gnu.org>
81
82 * src/raster/ftraster.c (ft_black_render): Check `outline' before
83 using it. Reported by Allan Yang.
84
Werner Lembergeca1f272008-01-12 07:46:09 +0000852008-01-12 Werner Lemberg <wl@gnu.org>
86
87 * src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
88
892008-01-12 Allan Yang, Jian Hua - SH <Allan.Yang@fmc.fujitsu.com>
90
91 * src/raster/ftraster.c (ft_black_init)
92 [FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
93
Werner Lembergbf391cb2008-01-10 08:47:08 +0000942008-01-10 Werner Lemberg <wl@gnu.org>
95
96 * src/truetype/ttgload.c (load_truetype_glyph): Handle the case
97 where the number of contours in a simple glyph is zero (and which
98 does contain an entry in the `glyf' table). This fixes Savannah bug
99 #21990.
100
Suzuki, Toshiya (鈴木俊哉)75696862008-01-04 01:43:23 +00001012008-01-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
102
103 Formatting suggested by Sean McBride.
104
105 * builds/mac/ftmac.c: Formatting (tab expanded).
106 * src/autofit/afindic.c: Ditto.
107 * src/base/ftcid.c: Ditto.
108 * src/base/ftmac.c: Ditto.
109
Werner Lembergd2e15732007-12-30 23:49:14 +00001102007-12-30 Werner Lemberg <wl@gnu.org>
111
112 * src/smooth/ftgrays.c (gray_raster_render): Check `outline'
113 correctly.
114
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +00001152007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
116
117 Improvement of POSIX resource-fork accessor to load unsorted
Werner Lembergd2e15732007-12-30 23:49:14 +0000118 references in a resource. In HelveLTMM (resource-fork PostScript
119 Type1 font bundled with Mac OS X since 10.3.x), the appearance order
120 of PFB chunks is not sorted; sorting the chunks by reference IDs is
121 required.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +0000122
Werner Lembergd2e15732007-12-30 23:49:14 +0000123 * include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
124 type to store a pair of reference ID and offset to the chunk.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +0000125
Werner Lembergd2e15732007-12-30 23:49:14 +0000126 * src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
127 sort FT_RFork_Ref by their reference IDs.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +0000128
Werner Lembergd2e15732007-12-30 23:49:14 +0000129 (FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
130 sorted by reference ID.
Suzuki, Toshiya (鈴木俊哉)540b9542007-12-21 06:03:59 +0000131
Werner Lembergd156cab2007-12-14 07:48:32 +00001322007-12-14 Werner Lemberg <wl@gnu.org>
133
134 * src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
135 division too early; otherwise the most significant digit(s) of the
136 final result are lost as the value is truncated to an integer. This
137 fixes Savannah bug #21794 (where the patch has been posted too).
138
Werner Lembergbd7e1c32007-12-06 17:17:30 +00001392007-12-06 Fix <4d876b82@gmail.com>
140
141 Pass options from one configure script to another as-is (not
142 expanded). This is needed for options like
143 --includedir='${prefix}/include'.
144
145 * builds/unix/detect.mk, configure: Prevent argument expansion in
146 call to the (real) `configure' script.
147
1482007-12-06 Werner Lemberg <wl@gnu.org>
149
150 * src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
151 TT_USE_BYTECODE_INTERPRETER isn't defined.
152
1532007-12-06 Werner Lemberg <wl@gnu.org>
154
155 There exist CFFs which contain opcodes for the Type 1 operators
156 `hsbw' and `closepath' which are both invalid in Type 2 charstrings.
157 However, it doesn't harm to support them.
158
159 * src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
160 `cff_op_closepath.'
161 (cff_argument_counts): Ditto.
162
163 (cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
164 and 13 (hsbw) which are invalid in Type 2 charstrings.
165
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +00001662007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
167
Werner Lembergbd7e1c32007-12-06 17:17:30 +0000168 * src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
169 support new pathname syntax `..namedfork/rsrc' to access a resource
170 fork on Mac OS X. The legacy syntax `/rsrc' does not work on
171 case-sensitive HFS+.
Suzuki, Toshiya (鈴木俊哉)a6d36572007-12-06 10:27:15 +0000172 (raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
173 buffer size to store a pathname.
174 * include/freetype/internal/ftrfork.h: Increment the number of
175 resource fork guessing rule.
176
1772007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
178
Werner Lembergbd7e1c32007-12-06 17:17:30 +0000179 * builds/unix/configure.raw: Improve the compile tests to search
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +0000180 Carbon functions.
Werner Lembergbd7e1c32007-12-06 17:17:30 +0000181 * builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
Suzuki, Toshiya (鈴木俊哉)44b5e572007-12-06 07:47:25 +0000182 proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
183
1842007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
185
Suzuki, Toshiya (鈴木俊哉)05f5c582007-12-06 05:43:36 +0000186 The documents and comments for Mac OS X are improved by Sean
187 McBride.
188
189 * src/base/ftmac.c: Fix a comment.
190 * include/freetype/ftmac.h: Ditto.
191 * docs/INSTALL.MAC: Improve English and add comment on lowest
192 system version specified by MACOSX_DEPLOYMENT_TARGET.
193
Werner Lemberga10d2b72007-12-04 22:05:54 +00001942007-12-04 Werner Lemberg <wl@gnu.org>
195
196 * src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
197 concatenate error codes.
198 * src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
199
Werner Lembergd496b922007-12-04 21:49:59 +00002002007-12-04 Graham Asher <graham.asher@btinternet.com>
201
202 * src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
203 concatenate error codes.
204
Werner Lembergc0da5232007-12-04 21:44:32 +00002052007-12-04 Sean McBride <sean@rogue-research.com>
206
207 * src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
208 warning.
209
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +00002102007-11-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
211
Werner Lemberg24fe6182007-11-23 09:18:07 +0000212 Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is
213 not working since 2.3.5. In FT_Open_New(), if FT_New_Stream()
214 cannot mmap() the specified file and cannot seek to head of the
215 specified file, it returns NULL stream and FT_Open_New() returns the
216 error immediately. On MacOS, most legacy MacOS fonts fall into such
217 a scenario because their data forks are zero-sized and cannot be
218 sought. To proceed to guessing of resource fork fonts, the
219 functions for legacy MacOS font must properly handle the NULL stream
220 returned by FT_New_Stream().
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +0000221
Werner Lemberg24fe6182007-11-23 09:18:07 +0000222 * src/base/ftobjs.c (IsMacBinary): Return error
223 FT_Err_Invalid_Stream_Operation immediately when NULL stream is
224 passed.
225 (FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
226 to fallback. Originally, legacy MacOS font is tested in the cases
227 of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
228 or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
229 .dfont header is combined). Now the case of
230 FT_Err_Cannot_Open_Stream is included.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +0000231
Werner Lemberg24fe6182007-11-23 09:18:07 +0000232 * src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
233 skip FT_Stream_Seek(), which seeks to the head of stream, and
234 proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek()
235 for a NULL stream causes a Bus error on Mac OS X.
236 (raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +0000237 immediately if passed stream is NULL.
Suzuki, Toshiya (鈴木俊哉)86c0f902007-11-20 14:00:17 +0000238 (raccess_guess_apple_single): Ditto.
239
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00002402007-11-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
241
Suzuki, Toshiya (鈴木俊哉)a5470682007-11-16 16:29:36 +0000242 Fix for Carbon incompatibilities since Mac OS X 10.5,
243 proposed by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +0000244
245 * doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
246
247 * include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
248 FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
249 Carbon functions from a forked process is classified as unsafe
250 by Apple. All Carbon-dependent functions should be deprecated.
251
252 * src/base/ftmac.c: Use essential header files <Carbon/Carbon.h>
253 and <ApplicationServices/ApplicationServices.h> instead of
254 all-in-one header file <CoreServices/CoreServices.h>.
255
256 Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
257 genuine macro PATH_MAX.
258
259 Add fallback macro for kATSOptionFlagsUnRestrictedScope which
260 is not found in Mac OS X 10.0.
261
262 Multi-character constants ('POST', 'sfnt' etc) are replaced by
263 64bit constants calculated by FT_MAKE_TAG() macro.
264
265 For the index in the segment of resource fork, new portable
266 type ResourceIndex is introduced for better compatibility.
267 This type is since Mac OS X 10.5, so it is defined as short
268 when built on older platforms.
269
270 (FT_ATSFontGetFileReference): If build target is only the systems
271 10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
272
273 (FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
274 and newer or 64bit platform, because legacy type FSSpec type is
275 removed completely.
276
277 (FT_New_Face_From_FSSpec): Ditto.
278
2792007-11-01 Werner Lemberg <wl@gnu.org>
Werner Lembergd503fc52007-11-01 09:19:44 +0000280
281 * src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This
282 fixes Savannah bug #21485.
283
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00002842007-10-29 Daniel Svoboda <dasvo@planeta@cz>
Werner Lemberg27649fb2007-10-29 22:00:58 +0000285
286 * src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
287 can handle the font at all, then check `face_index'. Otherwise, the
288 driver might return the wrong error code. This fixes Savannah bug
289 #21468.
290
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00002912007-10-21 Werner Lemberg <wl@gnu.org>
Werner Lemberg7d9c1892007-10-21 08:12:30 +0000292
293 * src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
Werner Lemberge77b6c42007-10-21 08:18:40 +0000294 support for bit 8 of the `fsSelection' field in the `OS/2' table.
295 MS is already using this; hopefully, this becomes part of OpenType
296 1.5.
Werner Lemberg7d9c1892007-10-21 08:12:30 +0000297 Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
298 (WWS_SUBFAMILY).
299
Suzuki, Toshiya (鈴木俊哉)00518ca2007-11-16 15:48:58 +00003002007-10-20 Werner Lemberg <wl@gnu.org>
Werner Lemberg66842572007-10-20 16:17:28 +0000301
302 * src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
303 Add `td.left' element to CSS.
304 (toc_section_enter): Use it.
305
David Turnercf432db2007-10-19 12:36:40 +00003062007-10-18 David Turner <david@freetype.org>
307
Werner Lemberg7f2425f2007-10-20 16:15:07 +0000308 * include/freetype/freetype.h, src/base/ftobjs.c: Rename API
309 functions related to cmap type 14 support to the
310 `FT_Object_ActionName' scheme:
David Turnercf432db2007-10-19 12:36:40 +0000311
Werner Lemberg7f2425f2007-10-20 16:15:07 +0000312 FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex
313 FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
314 FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors
315 FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar
316 FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant
317
318 Update documentation accordingly.
319
320 * src/sfnt/ttcmap.c: Stronger cmap 14 validation.
321 Make the code a little more consistent with FreeType coding
322 conventions and modify the cmap14 functions that returned a newly
323 allocated array to use a persistent vector from the TT_CMap14 object
David Turnercf432db2007-10-19 12:36:40 +0000324 instead.
325
Werner Lemberg7f2425f2007-10-20 16:15:07 +0000326 (TT_CMap14Rec): Provide array and auxiliary data for result.
327 (tt_cmap14_done, tt_cmap14_ensure): New functions.
328
329 (tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
330 tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
331 tt_cmap14_char_var_index, tt_cmap14_variants,
332 tt_cmap14_char_variants, tt_cmap14_def_char_count,
333 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
334 tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
335
Werner Lemberg9a966b72007-10-15 17:21:32 +00003362007-10-15 George Williams <gww@silcom.com>
337
338 Add support for cmap type 14.
339
340 * devel/ftoption.h, include/freetype/config/ftoption.h
341 (TT_CONFIG_CMAP_FORMAT_14): New macro.
342
343 * include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
344 FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
345 FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
346 support function prototypes.
347 (FT_CMap_ClassRec): Add them.
348 Update all users.
349
350 * include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
351 macro.
352
353 * include/freetype/freetype.h (FT_Get_Char_Variant_Index,
354 FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
355 FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
356 functions.
357
358 * src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
359 function.
360 (FT_Set_Charmap): Disallow cmaps of type 14.
361 (FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
362 FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
363 FT_Get_Chars_Of_Variant): New API functions.
364
365 * src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
366
367 (TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
368 tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
369 tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
370 tt_cmap14_find_variant, tt_cmap14_char_var_index,
371 tt_cmap14_char_var_isdefault, tt_cmap14_variants,
372 tt_cmap14_char_variants, tt_cmap14_def_char_count,
373 tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
374 tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
375 structures for cmap 14 support.
376 (tt_cmap_classes): Register tt_cmap14_class_rec.
377 (tt_face_build_cmaps): One more error message.
378
379 * docs/CHANGES: Mention cmap 14 support.
380
Werner Lemberg74597cc2007-10-01 07:08:56 +00003812007-10-01 Werner Lemberg <wl@gnu.org>
382
383 * src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
David Turnercf432db2007-10-19 12:36:40 +0000384 charmap fails, do the loop again while searching a UCS-2 charmap.
Werner Lemberg74597cc2007-10-01 07:08:56 +0000385 This favours MS charmaps over Apple ones.
386
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +00003872007-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
388
Werner Lemberg9a966b72007-10-15 17:21:32 +0000389 * src/base/ftmac.c: Introduction of abstract `short' data types,
390 ResFileRefNum and ResID. These types were introduced for Copland,
391 then backported to MPW. The variables exchanged with FileManager
392 QuickDraw frameworks are redefined by these data types. Patch was
Suzuki, Toshiya (鈴木俊哉)2be3f472007-08-29 06:08:59 +0000393 proposed by Sean McBride.
394 * builds/mac/ftmac.c: Ditto.
395
Werner Lembergabc44f52007-08-18 06:38:07 +00003962007-08-18 Werner Lemberg <wl@gnu.org>
397
398 * src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found
399 by Imran Yousaf. Fixes Savannah bug #20773.
400
401 (otv_Lookup_validate): Correct handling of LookupType. Found by
402 Imran Yousaf. Fixes Savannah bug #20782.
403
Werner Lemberg23a424f2007-08-17 20:16:44 +00004042007-08-17 George Williams <gww@silcom.com>
405
406 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
407 SingleSubstFormat1.
408
Suzuki, Toshiya (鈴木俊哉)4fc0cce2007-08-11 16:35:06 +00004092007-08-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
410
411 * builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
412 ${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
413 Found by Ryan Hill.
414
Werner Lemberg3f1905b2007-08-11 15:45:32 +00004152007-08-11 George Williams <gww@silcom.com>
416
417 * src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
418 (otv_Coverage_validate): Add fourth argument to pass an expected
419 count value. Update all users.
420 Check glyph IDs.
421 (otv_ClassDef_validate): Check `StartGlyph'.
422
423 * src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
424 checks.
425
426 * src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
427 56 constants.
428 (otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
429 Check glyph IDs.
430
Werner Lembergd76fe5a2007-08-08 06:38:06 +00004312007-08-08 Werner Lemberg <wl@gnu.org>
432
433 * src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
434 src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
435 src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
436 appropriate. Reported by George.
437
438 * include/freetype/internal/fttrace.h: Define `trace_otvmath'.
439
440 * src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
441
442 * docs/CHANGES: Updated.
443
4442007-08-08 George Williams <gww@silcom.com>
445
446 Add `MATH' validating support to otvalid module.
447
448 * include/freetype/tttags.h (TTAG_MATH): New macro.
449 * include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
450 (FT_VALIDATE_OT): Updated.
451
452 * src/otvalid/otmath.c: New file.
453
454 * src/otvalid/otvalid.c: Include otvmath.c.
455 * src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
456
Werner Lembergb6617882007-08-04 22:17:48 +00004572007-08-04 Werner Lemberg <wl@gnu.org>
458
David Turnercf432db2007-10-19 12:36:40 +0000459 * builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
Werner Lembergb6617882007-08-04 22:17:48 +0000460 Fixes Savannah bug #20686.
461
Werner Lembergd6752a62007-08-02 22:03:30 +00004622007-08-03 Werner Lemberg <wl@gnu.org>
463
464 * src/psnames/psmodule.c: Fix usage of
465 FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher.
466
Suzuki, Toshiya (鈴木俊哉)cf093cd2007-07-31 03:58:09 +00004672007-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
468
469 * src/base/ftmac.c (open_face_from_buffer): The argument
470 `driver_name' is typed as `const char*' to match with the
471 callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
472 This is same with open_face_from_buffer in src/base/ftobjs.c.
473 Found and fixed by Sean McBride.
474
Werner Lemberg39c91ad2007-07-28 05:40:40 +00004752007-07-28 Werner Lemberg <wl@gnu.org>
476
477 * src/raster/ftraster.c (count_table): Make it conditional.
478 * src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
479 a preprocessor statement.
480
Werner Lemberg71dd6872007-07-27 04:44:36 +00004812007-07-27 Werner Lemberg <wl@gnu.org>
482
483 * src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
484 first usage. From Savannah patch #6115.
485
Werner Lembergef915c32007-07-16 20:46:05 +00004862007-07-16 Werner Lemberg <wl@gnu.org>
487
488 * docs/CHANGES: Updated.
489
4902007-07-16 Derek Clegg <dclegg@apple.com>
491
492 Add new service for getting the ROS from a CID font.
493
494 * include/freetype/config/ftheader.h (FT_CID_H): New macro.
495 * include/freetype/ftcid.h: New file.
496
497 * include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
498 * include/freetype/internal/services/svcid.h: New file.
499
500 * src/base/ftcid.c: New file.
501
502 * src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
503 (cff_get_ros): New function.
504 (cff_service_cid_info): New service structure.
505 (cff_services): Register it.
506
507 * src/cff/cffload.c (cff_font_done): Free registry and ordering.
508
509 * src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
510
511 * modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
512
Werner Lemberg2f109562007-07-11 05:32:00 +00005132007-07-11 Derek Clegg <dclegg@apple.com>
514
515 Add support for postscript name service to CFF driver.
516
517 * src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
518 (cff_get_ps_name): New function.
519 (cff_service_ps_name): New service structure.
520 (cff_services): Register it.
521
Werner Lembergb003b3e2007-07-08 07:13:12 +00005222007-07-07 Werner Lemberg <wl@gnu.org>
523
524 * src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
525 `target'. Reported by Sean McBride.
526
Werner Lemberg1e1b6df2007-07-07 07:30:40 +00005272007-07-06 Werner Lemberg <wl@gnu.org>
528
529 * src/pfr/pfrcmap.c: Include pfrerror.h.
530
531 * src/autofit/afindic.c: Add some external declarations to pacify
532 `make multi' compilation.
533
534 * src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
535
536 * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
537 (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
538 src/autofit/aflatin.c (af_latin_hints_compute_edges),
539 src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
540 (tt_face_get_metrics), src/base/ftobjs.c (open_face)
541 [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
542
543 * docs/release: Mention test compilation targets.
544
Werner Lemberg986ea4b2007-07-04 04:53:15 +00005452007-07-04 Werner Lemberg <wl@gnu.org>
546
547 * docs/PROBLEMS: Mention that some PS based fonts can't be
548 handled correctly by FreeType.
549
Werner Lemberg3033f432007-07-04 14:12:19 +0000550 * src/truetype/ttgload.c (load_truetype_glyph): Always allow a
551 recursion depth of 1. This was the maximum value in TrueType 1.0,
552 and some older fonts don't set this field correctly.
553
554 * src/gxvalid/gxvmort1.c
555 (gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
556
Werner Lemberg3b0e5002007-07-03 04:48:19 +00005572007-07-03 Werner Lemberg <wl@gnu.org>
558
559 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
560 `round' to pacify compiler.
561
5622007-07-02 Werner Lemberg <wl@gnu.org>
563
564
565 * Version 2.3.5 released.
566 =========================
567
568
569 Tag sources with `VER-2-3-5'.
570
571 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
572 version number to 2.3.5.
573
574 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
575 builds/win32/visualc/freetype.dsp,
576 builds/win32/visualc/freetype.vcproj,
577 builds/win32/visualce/index.html,
578 builds/win32/visualce/freetype.dsp,
579 builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
580
581 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
582
583 * builds/unix/configure.raw (version_info): Set to 9:16:3.
584
David Turner0ba89912007-07-01 09:34:04 +00005852007-07-01 David Turner <david@freetype.org>
586
Werner Lemberge3be90b2007-07-02 14:58:58 +0000587 * include/freetype/freetype.h, src/base/ftpatent.c
588 (FT_Face_SetUnpatentedHinting): New function to dynamically change
589 the setting after a face is created.
David Turner481b25f2007-07-01 09:51:15 +0000590
Werner Lemberge3be90b2007-07-02 14:58:58 +0000591 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
592 that created distortions in the bytecode interpreter results.
David Turner0ba89912007-07-01 09:34:04 +0000593
David Turner74cc0e92007-06-30 22:54:12 +00005942007-06-30 David Turner <david@freetype.org>
595
Werner Lemberge3be90b2007-07-02 14:58:58 +0000596 * src/truetype/ttinterp.c (Ins_IUP): Add missing variable
597 initialization.
David Turner74cc0e92007-06-30 22:54:12 +0000598
Werner Lemberge3be90b2007-07-02 14:58:58 +0000599 * src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
600 infinite loop in the case of degenerate fonts.
David Turner74cc0e92007-06-30 22:54:12 +0000601
Werner Lemberg7723dc32007-06-26 04:44:35 +00006022007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com>
603
604 Add autofit module for Indic scripts. This currently just reuses
605 the CJK-specific functions.
606
607 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
608 macro.
609 * devel/ftoption.h: Synchronize with
610 include/freetype/config/ftoption.h.
611
612 * src/autofit/afindic.c, src/autofit/afindic.h: New files.
613
614 * src/autofit/afglobal.c, src/autofit/aftypes.h,
615 src/autofit/autofit.c: Updated.
616
617 * src/autofit/Jamfile (_sources), * src/autofit/rules.mk
618 (AUTOF_DRV_SRC): Updated.
619
David Turner8f626b02007-06-22 22:22:38 +00006202007-06-23 David Turner <david@freetype.org>
621
Werner Lemberg7854c4a2007-06-23 07:16:20 +0000622 * src/truetype/ttgload.c (TT_Load_Simple): Fix change from
623 2007-06-16 that prevented the TrueType module from loading most
624 glyphs.
David Turner8f626b02007-06-22 22:22:38 +0000625
Werner Lemberg5b4d4352007-06-20 07:07:55 +00006262007-06-20 Werner Lemberg <wl@gnu.org>
627
628 * src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
629 change.
630
Werner Lemberg9fe58152007-06-19 07:57:30 +00006312007-06-19 Werner Lemberg <wl@gnu.org>
632
633 * src/type1/t1load.c (parse_encoding): Handle one more error.
634
Werner Lemberg5a829392007-06-19 04:53:30 +00006352007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
636
637 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
638 FNT_Err_Invalid_File_Format if file format was recognized but
639 the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
640 Add verbose debug logs to make it easier to debug failing load
641 attempts.
642 (FNT_Face_Init): A single FNT font can't contain more than 1 face,
643 so return an error if requested face index is > 0.
644 Do not do further attempt to load fonts if a previous attempt has
645 failed but returned error FNT_Err_Invalid_File_Format, i.e., the
646 file format has been recognized but no fonts found in the file.
647
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00006482007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
649
650 * src/base/ftmac.c: Apply patches proposed by Sean McBride.
651 (FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
652 the compiler warnings against unused arguments.
653 (FT_ATSFontGetFileReference): Ditto.
654 (FT_GetFile_From_Mac_ATS_Name): Ditto.
655 (FT_New_Face_From_FSSpec): Ditto.
656 (lookup_lwfn_by_fond): Fix wrong comment.
657 Replace `const StringPtr' by more appropriate type
658 `ConstStr255Param'.
659 FSRefMakePathPath always returns UTF8 POSIX pathname in
660 Mach-O, thus HFS pathname support is dropped.
661 (count_faces): Remove HLock and HUnlock which is not
662 required on Mac OS X anymore.
663 (FT_New_Face_From_SFNT): Ditto.
664 (FT_New_Face_From_FOND): Ditto.
665 * builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
666 except of HFS pathname support and HLock/HUnlock.
667 They are required on classic CFM environment.
668
6692007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf48aec72007-06-18 07:07:55 +0000670
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000671 * src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
672 assertion.
673 (ps_parser_to_bytes): Fix error message.
674
Werner Lembergbb2510d2007-06-18 17:07:49 +0000675 * src/type42/t42objs.c (T42_Open_Face): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000676 * src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
677 Don't allow mixed binary and hex strings.
Werner Lembergc67fb6f2007-06-20 06:08:13 +0000678 Handle string_size == 0 and string_buf == 0.
Werner Lembergbb2510d2007-06-18 17:07:49 +0000679 (t42_parse_encoding): Handle one more error.
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000680
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00006812007-06-18 Werner Lemberg <wl@gnu.org>
Werner Lembergf9fa1c82007-06-18 17:00:05 +0000682
Werner Lembergf48aec72007-06-18 07:07:55 +0000683 * src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
684 logic.
685 (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
686 correctly.
687 (ps_parser_load_field_table): Use `fields->array_max' instead of
688 T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
689
Werner Lemberg95104a42007-06-18 07:33:10 +0000690 * src/cff/cffgload.c (cff_decoder_prepare): Fix change from
691 2007-06-06.
692
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00006932007-06-17 Werner Lemberg <wl@gnu.org>
Werner Lemberge12ed562007-06-17 05:31:23 +0000694
695 * src/tools/ftrandom.c (font_size): New global variable.
696 (TestFace): Use it.
697 (main): Handle new option `--size' to set `font_size'.
698 (Usage): Updated.
699
Werner Lembergbe183eb2007-06-17 11:27:17 +0000700 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
701 invalid font.
702 (FNT_Load_Glyph): Protect against invalid bitmap width.
703
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00007042007-06-16 David Turner <david@freetype.org>
David Turner6c2ab092007-06-16 16:40:37 +0000705
Werner Lemberge12ed562007-06-17 05:31:23 +0000706 * src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
707 Prevent integer overflows when rendering very large outlines.
David Turner6c2ab092007-06-16 16:40:37 +0000708
Werner Lemberge12ed562007-06-17 05:31:23 +0000709 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
710 well-formedness of the contours array when loading a glyph.
David Turner815911a2007-06-16 17:07:20 +0000711
Werner Lemberge12ed562007-06-17 05:31:23 +0000712 * src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
713 and `zp2'.
714 (Ins_IP): Check argument ranges to reject bogus operations properly.
715 (IUP_WorkerRec): Add `max_points' member.
716 (_iup_worker_interpolate): Check argument ranges.
717 (Ins_IUP): Ignore empty outlines.
David Turner6c2ab092007-06-16 16:40:37 +0000718
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00007192007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lembergab1604b2007-06-16 07:59:39 +0000720
721 * src/winfonts/winfnt.h: Add necessary structures for PE resource
722 parsing.
723 (WinPE32_HeaderRec): New structure.
724 (WinPE32_SectionRec): New structure.
725 (WinPE_RsrcDirRec): New structure.
726 (WinPE_RsrcDirEntryRec): New structure.
727 (WinPE_RsrcDataEntryRec): New structure.
728 (FNT_FontRec): Remove unused `size_shift' field.
729
730 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
731 loading bitmap .fon files in PE format.
732
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00007332007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg08a645d2007-06-15 14:05:20 +0000734
735 * builds/win32/ftdebug.c: Unify debug level handling with other
736 platforms.
737
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00007382007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
Werner Lemberg367f3012007-06-14 06:56:52 +0000739
740 * builds/win32/ftdebug.c (FT_Message): Send debug output to the
741 console as well as to the debugger.
742
Suzuki, Toshiya (鈴木俊哉)78935012007-06-19 03:27:05 +00007432007-06-14 Werner Lemberg <wl@gnu.org>
Werner Lemberg46dde492007-06-14 03:59:02 +0000744
745 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
746 cover all ranges which could possibly be handled by the aflatin
747 module (since the default fallback for unknown ranges is now the
748 afcjk module). It might be necessary to fine-tune this further by
749 splitting off modules for Greek, Cyrillic, or other blocks.
750
David Turnerb7920172007-06-11 05:37:35 +00007512007-06-11 David Turner <david@freetype.org>
752
Werner Lemberg49e18b82007-06-11 21:15:09 +0000753 * src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
754 incorrect segment linking computation. This was the root cause of
755 Savannah bug #19565.
David Turnerb38c15d2007-06-11 19:36:48 +0000756
757
Werner Lemberg49e18b82007-06-11 21:15:09 +0000758 * src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
759 to improve the Latin auto-hinter. Note that the new code is
760 disabled by default since it is not stabilized yet.
761
762 * src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
763 (disabled currently).
764
765 * src/autofit/afhints.c: Remove dead code.
766 (af_axis_hints_new_edge): Add argument to handle segment directions.
767 (af_edge_flags_to_string): New function.
768 (af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
769 option flags.
770 (af_glyph_hints_reload): Add argument to handle inflections.
771 Simplify.
772 (af_direction_compute): Fine tuning.
773 (af_glyph_hints_align_edge_points): Fix logic.
774 (af_glyph_hints_align_strong_points): Do linear search for small
775 edge counts.
776 (af_glyph_hints_align_weak_points): Skip any touched neighbors.
777 (af_iup_shift): Handle zero `delta'.
778
779 * src/autofit/afhints.h: Updated.
780 (AF_SORT_SEGMENTS): New macro (disabled).
781 (AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
782
783 * src/autofit/afglobal.c (af_face_globals_get_metrics): Add
784 argument to pass option flags for handling scripts.
785 * src/autofit/afglobal.h: Updated.
786
787 * src/autofit/afcjk.c: Updated.
788 * src/autofit/aflatin.c: Updated.
789 (af_latin_metrics_scale_dim): Don't reduce scale by 2%.
790
791 (af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
792 (af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
793 Don't set `edge->dir'
794 (af_latin_hint_edges): Add more logging.
795
796 * src/autofit/afloader.c: Updated.
David Turnerb7920172007-06-11 05:37:35 +0000797
Werner Lembergf6c120f2007-06-11 04:55:58 +00007982007-06-11 Werner Lemberg <wl@gnu.org>
799
Werner Lembergcf7b7642007-06-11 04:58:01 +0000800 * docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
Werner Lembergf6c120f2007-06-11 04:55:58 +0000801
David Turner84c6f882007-06-10 20:51:04 +00008022007-06-10 David Turner <david@freetype.org>
803
Werner Lembergf6c120f2007-06-11 04:55:58 +0000804 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
805 the TrueType glyph loader.
David Turner5f5e5442007-06-11 00:18:00 +0000806
Werner Lembergf6c120f2007-06-11 04:55:58 +0000807 * include/freetype/config/ftoption.h: Clarify documentation
808 regarding unpatented hinting.
David Turner84c6f882007-06-10 20:51:04 +0000809
Werner Lembergf6c120f2007-06-11 04:55:58 +0000810
811 Add new `FT_Face_CheckTrueTypePatents' API.
812
813 * include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
814 declaration.
815
816 * include/freetype/internal/services/svttglyf.h,
817 src/base/ftpatent.c: New files.
818
819 * include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
820 New macro.
821
822 * src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
823 `ttpload.h'.
824 (tt_service_truetype_glyf): New service structure.
825 (tt_services): Register it.
826
827 * modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
828 `ftpatent.c'.
David Turner84c6f882007-06-10 20:51:04 +0000829
Werner Lemberg33db39e2007-06-08 06:30:29 +00008302007-06-08 Werner Lemberg <wl@gnu.org>
831
David Turner84c6f882007-06-10 20:51:04 +0000832 * src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
Werner Lemberg33db39e2007-06-08 06:30:29 +0000833 Fonts without a cmap must be handled correctly by FreeType (anything
834 else would be a bug).
835
836
837 * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
838 [FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
839
Werner Lemberg88ab6382007-06-07 05:01:56 +00008402007-06-07 Werner Lemberg <wl@gnu.org>
841
842 * src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
843 tt_sbit_decoder_load_image): Protect against integer overflows.
844
845
846 * src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
847 for `x_control' and `y_control'.
848
Werner Lemberg2a2dca62007-06-06 04:39:37 +00008492007-06-06 Werner Lemberg <wl@gnu.org>
850
851 * src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
852
Werner Lemberga8d65492007-06-06 04:47:49 +0000853
854 * src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
855 FreeType error.
856
Werner Lemberg470210b2007-06-06 10:05:49 +0000857
858 * src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
859 `font_count'.
860
861
862 * src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
863
864
865 * src/cff/cffgload.c (cff_decoder_prepare): Change return type to
866 `FT_Error'.
867 Check `fd_index'.
868 (cff_slot_load): Updated.
869 * src/cff/cffgload.h: Updated.
870
Werner Lemberg6c054752007-06-05 05:27:54 +00008712007-06-05 Werner Lemberg <wl@gnu.org>
872
873 * src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
874 (pfr_glyph_load_simple): Convert assertion into normal FreeType
875 error.
876 Check `idx'.
Werner Lemberg9a0332c2007-06-05 05:50:01 +0000877 (pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
878 Convert assertion into normal FreeType error.
Werner Lemberg6c054752007-06-05 05:27:54 +0000879
880 * src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
881
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000882
Werner Lemberg470210b2007-06-06 10:05:49 +0000883 * src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
Werner Lembergf4bc3f42007-06-05 07:32:15 +0000884
Werner Lemberge5c14d92007-06-05 20:50:37 +0000885
886 * src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
887 in case of parsing error.
888 (ps_parser_load_field): Updated.
889
890 * src/type1/t1load.c (parse_font_matrix): Updated.
891
Werner Lembergad18b362007-06-04 07:04:05 +00008922007-06-04 Werner Lemberg <wl@gnu.org>
893
894 * src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
895
896 * src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
897
Werner Lemberg3d507fe2007-06-03 16:54:55 +00008982007-06-03 Werner Lemberg <wl@gnu.org>
899
Werner Lemberg99a320b2007-06-03 19:21:26 +0000900 * src/tools/ftrandom/*: Add the `ftrandom' test program written by
901 George Williams (with some modifications).
902
9032007-06-03 Werner Lemberg <wl@gnu.org>
904
Werner Lemberg3d507fe2007-06-03 16:54:55 +0000905 * src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
906 (T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
907 face == NULL. Suggested by Graham Asher.
908
Werner Lembergce280a22007-06-03 05:58:30 +00009092007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
910
911 * src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
912
Werner Lemberg5b591e42007-06-01 22:16:43 +00009132007-06-02 Werner Lemberg <wl@gnu.org>
914
915 * include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
916 FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
917
918 * src/bdf/bdflib.c (bdf_load_font): Use them.
919
920 * src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
921
Werner Lembergb9933f42007-06-01 21:27:12 +00009222007-06-01 Werner Lemberg <wl@gnu.org>
923
924 * src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
925 (FTC_CMapCache_Lookup): Remove unused code.
926
Werner Lembergc793d902007-06-01 20:51:11 +00009272007-06-01 Sean McBride <sean@rogue-research.com>
928
929 * src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
930 unused.
931
Werner Lembergbebc7b12007-06-01 06:32:30 +00009322007-06-01 Werner Lemberg <wl@gnu.org>
933
934 * src/cid/cidparse.c (cid_parser_new): Don't continue second search
935 pass for `StartData' if an error has occurred.
Werner Lemberg4d2815d2007-06-01 07:49:31 +0000936 Exit properly if no `StartData' has been seen at all.
Werner Lembergbebc7b12007-06-01 06:32:30 +0000937
Werner Lembergcb37b3b2007-06-01 06:49:03 +0000938 * builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
939 LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
940
Werner Lembergba03af62007-05-30 13:57:02 +00009412007-05-30 Werner Lemberg <wl@gnu.org>
942
943 * src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
944 against too small binary data strings.
945
946 * src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
947
David Turnerf0cd69c2007-05-28 15:42:09 +00009482007-05-28 David Turner <david@freetype.org>
949
Werner Lemberg99e0c182007-05-29 07:00:23 +0000950 * src/cff/cffgload.c (cff_slot_load): Do not apply the identity
951 transformation. This significantly reduces the loading time of CFF
952 glyphs.
David Turner552a9562007-05-28 15:45:35 +0000953
Werner Lemberg99e0c182007-05-29 07:00:23 +0000954 * docs/CHANGES: Updated.
David Turner0291a5c2007-05-28 15:49:08 +0000955
Werner Lemberg99e0c182007-05-29 07:00:23 +0000956 * src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
957 hinting script to CJK, since it works well with more scripts than
958 latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
959 this out!
David Turnerf0cd69c2007-05-28 15:42:09 +0000960
Werner Lemberg1c8980e2007-05-25 07:11:12 +00009612007-05-25 Werner Lemberg <wl@gnu.org>
962
963 * docs/CHANGES: Updated.
964
Werner Lemberg6ff2ff52007-05-24 19:39:14 +00009652007-05-24 Werner Lemberg <wl@gnu.org>
966
967 * src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
968 into TT_USE_BYTECODE_INTERPRETER preprocessor block.
969
9702007-05-24 Graham Asher <graham.asher@btinternet.com>
971
972 * src/truetype/ttobjs.c (tt_size_ready_bytecode)
973 [!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
974
David Turner0d0365e2007-05-22 09:53:44 +00009752007-05-22 David Turner <david@freetype.org>
976
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000977 * src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
978 avoid crashes in case the bytecode interpreter is not used.
David Turner78906862007-05-22 14:08:09 +0000979
Werner Lemberg1c8980e2007-05-25 07:11:12 +0000980
981 Avoid heap blowup with very large .Z font files. This fixes
982 Savannah bug #19910.
983
984 * src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
985 `in_limit', `pad', `pad_bits', and `in_buff' members.
986 Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
987 `buf_total' members.
988
989 * src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
990 only one argument.
991 (ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
David Turner0d0365e2007-05-22 09:53:44 +0000992
9932007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
Werner Lemberg9df3c222007-05-20 18:07:52 +0000994
995 * src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
996 (ps_dimension_set_mask_bits): Remove `const'.
997
David Turner0d0365e2007-05-22 09:53:44 +00009982007-05-19 Werner Lemberg <wl@gnu.org>
Werner Lemberg0f2b7bd2007-05-19 15:15:47 +0000999
1000 * src/sfnt/ttmtx.c (tt_face_get_metrics)
1001 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
1002
Werner Lembergb826fa72007-05-19 07:18:48 +000010032007-05-19 Derek Clegg <dclegg@apple.com>
1004
1005 Savannah patch #5929.
1006
1007 * include/freetype/tttables.h, src/base/ftobjcs.c
1008 (FT_Get_CMap_Format): New function.
1009
1010 * include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
1011 `format' member.
1012 * src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
1013 cmap_info->format.
1014
Werner Lemberg6f99c882007-05-19 07:01:49 +000010152007-05-19 Werner Lemberg <wl@gnu.org>
1016
1017 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
1018 before handling subglyphs so that it can be reinitialized each time.
1019 This fixes Savannah bug #19859.
1020
Werner Lemberg95bc9d32007-05-16 15:19:42 +000010212007-05-16 Werner Lemberg <wl@gnu.org>
1022
1023 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
1024 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
1025 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
1026 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
1027 tt_face_get_metrics): Fix type-punning issues.
1028
David Turner0a24bd22007-05-15 10:54:10 +000010292007-05-15 David Turner <david@freetype.org>
1030
1031 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00001032 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
1033 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +00001034 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00001035 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +00001036
Werner Lemberg607dec72007-05-15 06:49:37 +000010372007-05-15 Graham Asher <graham.asher@btinternet.com>
1038
1039 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
1040 variable.
1041 * src/autofit/afloader.c (af_loader_load_g): Ditto.
1042
1043 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
1044 (open_face_from_buffer): Initialize `stream'.
1045 (FT_Request_Metrics): Remove unused variable.
1046 Remove redundant `break' statements.
1047 (FT_Get_Track_Kerning): Remove unused variable.
1048
1049 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
1050 afm_parse_kern_data): Remove redundant
1051 `break' statements.
1052 (afm_parser_parse): Ditto.
1053 Don't use uninitialized variables.
1054
1055 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
1056 Use `|' operator instead of `^' to set it.
1057 Update all users.
1058
1059 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
1060 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
1061
1062 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
1063 comparison.
1064 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
1065 (TT_Load_Glyph): Remove unused variable.
1066
Werner Lemberg8d463a52007-05-13 16:01:55 +000010672007-05-13 Derek Clegg <dclegg@apple.com>
1068
1069 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
1070 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
1071
David Turner711cf842007-05-11 14:36:24 +000010722007-05-11 David Turner <david@freetype.org>
1073
Werner Lemberg56ceaa42007-05-14 18:53:58 +00001074 * src/cache/ftbasic.c, include/freetype/ftcache.h
1075 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
1076 functions that allow us to look up glyphs using an FTC_Scaler object
1077 to specify the size, making it possible to use fractional pixel
1078 sizes.
1079
1080 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
1081 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +00001082
Werner Lemberg94be20e2007-05-09 20:02:55 +000010832007-05-09 Graham Asher <graham.asher@btinternet.com>
1084
1085 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
1086 (af_latin_metrics_scale_dim): Fix compiler warnings.
1087
Werner Lemberg41271032007-05-06 04:51:48 +000010882007-05-06 Werner Lemberg <wl@gnu.org>
1089
1090 * builds/win32/visualce/freetype.sln: Removed, as requested by
1091 Vincent.
1092
Werner Lembergdf49e692007-05-04 06:30:05 +000010932007-05-04 Vincent RICHOMME <richom.v@free.fr>
1094
1095 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
1096 PC targets.
1097
1098 * docs/CHANGES: Document them.
1099
11002007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +00001101
1102 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
1103 mmap (which might happen on some RTOS). From Savannah patch #5909.
1104
Werner Lemberg106eaf12007-05-03 07:07:47 +000011052007-05-03 Werner Lemberg <wl@gnu.org>
1106
1107 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
1108 * include/freetype/freetype.h (FT_Set_Char_Size): Update
1109 documentation.
1110
Werner Lemberg1b5267d2007-04-28 21:06:15 +000011112007-04-28 Victor Stinner <victor.stinner@inl.fr>
1112
1113 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
1114 `cmap'.
1115
Werner Lembergcc712a22007-04-27 17:16:50 +000011162007-04-27 Werner Lemberg <wl@gnu.org>
1117
1118 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
1119 number of points in contours. Problem reported by Victor Stinner
1120 <victor.stinner@haypocalc.com>.
1121 (TT_Process_Simple_Glyph): Synchronize variable types.
1122
Werner Lemberg45bb18f2007-04-26 06:26:35 +000011232007-04-26 Werner Lemberg <wl@gnu.org>
1124
1125 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
1126 zero in case of error. This fixes Savannah bug #19689.
1127
David Turnera8b45e62007-05-11 14:10:30 +000011282007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
1129
Werner Lemberg1c8980e2007-05-25 07:11:12 +00001130 * src/truetype/ttobjs.c: Fix a typo that created a speed regression
1131 in the TrueType bytecode loader.
David Turnera8b45e62007-05-11 14:10:30 +00001132
Werner Lembergfcc1f472007-04-10 11:51:50 +000011332007-04-10 Martin Horak <horakm@centrum.cz>
1134
1135 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
1136 Ignore `hhea' table. This fixes Savannah bug #19261.
1137
Werner Lemberg14bf82e2007-04-10 04:09:49 +000011382007-04-09 Werner Lemberg <wl@gnu.org>
1139
Werner Lemberg3b0e5002007-07-03 04:48:19 +00001140
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001141 * Version 2.3.4 released.
1142 =========================
1143
1144
1145 Tag sources with `VER-2-3-4'.
1146
1147 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
1148 version number to 2.3.4.
1149
1150 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
1151 builds/win32/visualc/freetype.dsp,
1152 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
1153
1154 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
1155
1156 * builds/unix/configure.raw (version_info): Set to 9:15:3.
1157
Werner Lembergf4a52a62007-04-09 08:40:11 +000011582007-04-09 Martin Horak <horakm@centrum.cz>
1159
1160 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
1161 memory stream to avoid a crash with the incremental memory
1162 interface (Savannah bug #19260).
1163
David Turner1dcb4442007-04-06 08:19:04 +000011642007-04-06 David Turner <david@freetype.org>
1165
Werner Lembergc81cf612007-04-06 09:28:23 +00001166 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
1167 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +00001168
Werner Lemberg9f83e052007-04-05 02:28:23 +000011692007-04-04 Werner Lemberg <wl@gnu.org>
1170
Werner Lemberg3b0e5002007-07-03 04:48:19 +00001171
Werner Lemberg9f83e052007-04-05 02:28:23 +00001172 * Version 2.3.3 released.
1173 =========================
1174
1175
1176 Tag sources with `VER-2-3-3'.
1177
1178 * docs/CHANGES: Mention CVE-2007-1351.
1179
David Turner7338ec22007-04-03 14:30:34 +000011802007-04-03 David Turner <david@freetype.org>
1181
1182 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +00001183 if one of the resolution values is 0, treat it as if it were the
1184 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +00001185
David Turnere6472c12007-04-02 13:13:54 +000011862007-04-02 David Turner <david@freetype.org>
1187
Werner Lemberg94f12272007-04-03 07:19:53 +00001188 Add special code to detect `extra-light' fonts and do not snap their
1189 stem widths too much to avoid bizarre hinting effects.
1190
1191 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
1192 `extra_light' members.
1193
1194 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
1195 them.
1196 (af_latin_metrics_scale_dim): Set `extra_light'.
1197 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +00001198
David Turner3f539692007-03-28 14:53:40 +000011992007-03-28 David Turner <david@freetype.org>
1200
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001201 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +00001202 padding.
1203
Werner Lemberga08b2172007-03-28 07:17:17 +000012042007-03-28 Werner Lemberg <wl@gnu.org>
1205
1206 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
1207 gracefully.
1208 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +00001209 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +00001210 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
1211 number of code points in Unicode.
1212
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001213 * builds/win32/visualc/index.html,
1214 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001215 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001216 s/232/233/.
1217
1218 * docs/CHANGES: Mention ftdiff.
1219
David Turner3b242d32007-03-26 12:03:04 +000012202007-03-26 David Turner <david@freetype.org>
1221
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001222 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
1223 corresponding code.
1224 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +00001225
Werner Lemberga08b2172007-03-28 07:17:17 +00001226 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001227 computations in order to ignore single-point contours. These are
1228 never rasterized and correspond in certain fonts to mark-attach
1229 points that are very far from the glyph's real outline, ruining the
1230 computation.
David Turnerf58caa02007-03-26 12:39:25 +00001231
Werner Lemberga08b2172007-03-28 07:17:17 +00001232 * src/autofit/afloader.c (af_loader_load_g): In the case of
David Turner84c6f882007-06-10 20:51:04 +00001233 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
Werner Lemberga08b2172007-03-28 07:17:17 +00001234 Otherwise code that uses them will most certainly ruin the fixed
1235 advance property.
David Turner23553d62007-03-26 13:37:17 +00001236
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001237 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
1238 documentation and bump version number to 2.3.3.
1239
1240 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
1241
1242 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +00001243
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +000012442007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1245
Werner Lemberg644b1ad2007-03-28 21:17:11 +00001246 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
1247 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00001248 * builds/vms/ftconfig.h: Ditto.
1249 * include/freetype/config/ftconfig.h: Ditto.
1250
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +000012512007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1252
Werner Lemberg14ffe092007-03-22 06:12:43 +00001253 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
1254 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +00001255 proposed by Sean McBride:
1256 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
1257
12582007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1259
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00001260 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
1261 setjmp, proposed by Sean McBride:
1262 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
1263
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +000012642007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1265
Werner Lembergc9f6c662007-03-21 13:30:14 +00001266 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
1267 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
1268 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00001269
David Turner74c34eb2007-03-18 07:19:31 +000012702007-03-18 David Turner <david@freetype.org>
1271
Werner Lembergc9f6c662007-03-21 13:30:14 +00001272 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
1273 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +00001274
Werner Lembergc9f6c662007-03-21 13:30:14 +00001275 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +00001276
David Turner89020d92007-03-17 17:48:57 +000012772007-03-17 David Turner <david@freetype.org>
1278
Werner Lembergc9f6c662007-03-21 13:30:14 +00001279 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
1280 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +00001281
Werner Lemberg25d592a2007-03-09 07:59:35 +000012822007-03-09 Werner Lemberg <wl@gnu.org>
1283
Werner Lemberg3b0e5002007-07-03 04:48:19 +00001284
Werner Lemberg25d592a2007-03-09 07:59:35 +00001285 * Version 2.3.2 released.
1286 =========================
1287
1288
1289 Tag sources with `VER-2-3-2'.
1290
1291 * builds/win32/visualc/index.html,
1292 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001293 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +00001294 s/231/232/.
1295
David Turner3a51afa2007-03-08 10:50:38 +000012962007-03-08 David Turner <david@freetype.org>
1297
Werner Lemberg25d592a2007-03-09 07:59:35 +00001298 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +00001299
Werner Lemberg25d592a2007-03-09 07:59:35 +00001300 * builds/unix/configure.raw (version_info): Set to 9:13:3.
1301
1302 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
1303
1304 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +00001305
Werner Lemberg1e259de2007-03-08 15:39:21 +00001306 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
1307 function to work properly, over-writing user-provided buffers in
1308 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +00001309
David Turner121cad52007-03-08 16:43:50 +00001310
Werner Lemberg3d92f082007-03-06 11:59:24 +000013112007-03-05 Werner Lemberg <wl@gnu.org>
1312
1313 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
1314 macro for `strstr'.
1315
1316 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
1317 `trick_names', as suggested by Ivan Nincic.
1318
David Turner085bc6e2007-03-05 17:40:03 +000013192007-03-05 David Turner <david@freetype.org>
1320
Werner Lembergd112cf02007-03-06 12:06:56 +00001321 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
1322 case FT_Init_FreeType fails for some reason. Problem reported by
1323 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +00001324
Werner Lembergd112cf02007-03-06 12:06:56 +00001325 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
1326 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
1327 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
1328 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +00001329
Werner Lembergd112cf02007-03-06 12:06:56 +00001330 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
1331 signed values, not unsigned ones. Problem reported by Johannes
1332 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +00001333
David Turner601aefe2007-02-21 16:47:49 +000013342007-02-21 David Turner <david@freetype.org>
1335
Werner Lembergde5e6862007-02-25 21:06:43 +00001336 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
1337 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +00001338
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +000013392007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1340
1341 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
1342 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
1343 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
1344
Werner Lemberga0915172007-02-16 08:12:50 +000013452007-02-16 Werner Lemberg <wl@gnu.org>
1346
1347 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
1348 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
1349
David Turner2c4500e2007-02-14 15:08:47 +000013502007-02-14 David Turner <david@freetype.org>
1351
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00001352 It seems that the following changes fix most of the known
1353 interpreter problems with my fonts, but more testing is needed,
1354 though.
1355
1356 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
1357 (TT_MulFix14): Rewrite.
1358 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
1359 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +00001360
Werner Lembergc6a14082007-02-12 22:08:15 +000013612007-02-12 Werner Lemberg <wl@gnu.org>
1362
1363 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
1364 warnings.
1365
1366 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
1367 (bdf_interpret_style): Ditto.
1368
David Turnerc0f9c4a2007-02-12 14:55:03 +000013692007-02-12 David Turner <david@freetype.org>
1370
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00001371 Simplify projection and dual-projection code interface.
1372
Werner Lemberg406d25f2007-02-12 22:01:18 +00001373 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
1374 FT_Vector' as argument type.
1375 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
1376 Updated.
1377 (CUR_fast_project, CUR_fast_dualproj): New macros.
1378 (Project, Dual_Project, Project_x, Project_y): Updated.
1379 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
1380 macros.
1381
1382
1383 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
1384 adjustments for the non-light auto-hinted modes. Gets rid of
1385 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +00001386
Werner Lemberg3cd6cc22007-02-16 08:10:17 +00001387 * src/autofit/aflatin.c (af_latin_hints_link_segments,
1388 af_latin_hints_compute_edges): Slight optimization of the segment
1389 linker and better handling of serif segments to get rid of broken
1390 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +00001391
David Turnerc0f9c4a2007-02-12 14:55:03 +00001392
Werner Lemberg442bfb82007-02-12 21:44:10 +00001393 Introduce new string functions and the corresponding macros to get
1394 rid of various uses of strcpy and other `evil' functions, as well as
1395 to simplify a few things.
1396
1397 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
1398 ft_mem_strcpyn): New declarations.
1399 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
1400 macros.
1401 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
1402 functions.
1403
1404 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
1405 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
1406 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
1407 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
1408 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
1409 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
1410 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
1411 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +00001412
Werner Lemberg406d25f2007-02-12 22:01:18 +00001413 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
1414
Werner Lemberg582067d2007-02-11 15:03:05 +000014152007-02-11 Werner Lemberg <wl@gnu.org>
1416
1417 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
1418 non-spacing glyphs.
1419
Werner Lemberg8f474532007-02-07 08:31:01 +000014202007-02-07 Tom Parker <palfrey@tevp.net>
1421
1422 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
1423 pointer.
1424
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000014252007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1426
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00001427 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
1428 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +00001429 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00001430 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
1431 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
1432 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
1433 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +00001434
1435 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
1436 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +00001437 * builds/mac/ftmac.c: Ditto.
1438
14392007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1440
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00001441 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +00001442 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +00001443 #include <ftmac.c>.
1444
14452007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1446
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +00001447 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
1448 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
1449 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
1450 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
1451 FT_GetFilePath_From_Mac_ATS_Name.
1452 * builds/mac/ftmac.c: Ditto.
1453
14542007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1455
Werner Lembergdcbb7082007-02-08 08:54:09 +00001456 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +00001457 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
1458 for passing to FT_New_Face_From_FSSpec.
1459
14602007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1461
Werner Lembergdcbb7082007-02-08 08:54:09 +00001462 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00001463 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +00001464
1465 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
1466 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00001467 * builds/mac/ftmac.c (OS_INLINE): Ditto.
1468
Werner Lemberg313d7772007-02-01 08:10:45 +000014692007-02-01 Werner Lemberg <wl@gnu.org>
1470
1471 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
1472 Explain why applications shouldn't use it. Found by Alexei.
1473
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +000014742007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001475
1476 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
1477 message.
1478
1479 * src/gxvalid/gxvmort1.c
1480 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
1481 message.
1482
Werner Lemberg53935932007-01-31 08:53:02 +000014832007-01-31 Werner Lemberg <wl@gnu.org>
1484
1485
1486 * Version 2.3.1 released.
1487 =========================
1488
1489
1490 Tag sources with `VER-2-3-1-FINAL'.
1491
1492 * builds/win32/visualc/freetype.dsp,
1493 builds/win32/visualc/freetype.vcproj: s/230/231/.
1494 * builds/win32/visualc/index.html: s/221/231/.
1495
1496 * vms_make.com: Add `ftgasp'.
1497
David Turnera7ee6082007-01-30 10:33:53 +000014982007-01-30 David Turner <david@freetype.org>
1499
Werner Lemberg53935932007-01-31 08:53:02 +00001500 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +00001501
Werner Lemberg53935932007-01-31 08:53:02 +00001502 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +00001503
Werner Lemberg25d592a2007-03-09 07:59:35 +00001504 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +00001505 s/2.3.0/2.3.1/.
1506
1507 * builds/unix/configure.raw (version_info): Set to 9:12:3.
1508
1509
1510 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
1511 (af_loader_load_g): Disable the warper (i.e., the light hinting
1512 improvements) to make a 2.3.1 bugfix release before introducing a
1513 new feature. This should give us more time to tune and improve the
1514 warper for the next release.
1515
1516 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +00001517
David Turnerd91eebd2007-01-26 15:05:41 +000015182007-01-25 David Turner <david@freetype.org>
1519
Werner Lembergbf241762007-01-26 16:08:49 +00001520 For light auto-hinting, improve glyph advance widths and resurrect
1521 normal/full hinting to its normal quality.
1522
1523 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
1524 and `xmax_delta'.
1525 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
1526 and `xmax_delta'.
1527
1528 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
1529 preprocessor conditional with if-clause, handling both light and
1530 normal mode.
1531
1532 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
1533 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +00001534
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000015352007-01-25 Werner Lemberg <wl@gnu.org>
1536
1537 * docs/release: Updated -- Savannah uses a new uploading scheme.
1538
David Turnera42567b2007-01-25 12:23:37 +000015392007-01-25 David Turner <david@freetype.org>
1540
Werner Lembergd7855662007-01-25 13:53:56 +00001541 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +00001542
Werner Lembergd7855662007-01-25 13:53:56 +00001543 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
1544 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
1545 functions.
David Turnera42567b2007-01-25 12:23:37 +00001546
Werner Lembergd7855662007-01-25 13:53:56 +00001547 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +00001548
Werner Lembergb1be9e82007-01-25 11:50:00 +000015492007-01-25 Werner Lemberg <wl@gnu.org>
1550
1551 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +00001552 correctly in a sanity check. Since this function is only used to
1553 load local and global functions, any charstring that called the last
1554 local/global function would fail otherwise. This fixes Savannah bug
1555 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +00001556
1557 * docs/CHANGES: Document it.
1558
David Turnerb6de8d12007-01-23 15:51:50 +000015592007-01-23 David Turner <david@freetype.org>
1560
Werner Lembergb1be9e82007-01-25 11:50:00 +00001561 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
1562 prevented compilation when disabling both the unpatented and the
1563 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +00001564
Werner Lembergb1be9e82007-01-25 11:50:00 +00001565
1566 Fix and enable the warper to improve `light' hinting mode. This is
1567 not necessarily a final version, but it seems to work well.
1568
1569 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
1570 Disable code.
1571 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
1572 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
1573
1574 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
1575 (af_warper_compute_line_best): Fix array size of `scores'.
1576 (af_warper_compute): Better handling of border cases.
1577 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
1578 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +00001579
Werner Lemberg011d1112007-01-21 09:36:00 +000015802007-01-21 Werner Lemberg <wl@gnu.org>
1581
Werner Lemberg42b63b22007-01-21 21:01:33 +00001582 * ChangeLog: Split off older entries into...
1583 * ChangeLog.22: This new file.
1584
15852007-01-21 Werner Lemberg <wl@gnu.org>
1586
Werner Lemberg555258f2007-01-21 09:46:37 +00001587 * docs/CHANGES: Document SHZ fix.
1588
15892007-01-21 George Williams <gww@silcom.com>
1590
1591 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
1592 points.
1593
15942007-01-21 Werner Lemberg <wl@gnu.org>
1595
Werner Lemberg011d1112007-01-21 09:36:00 +00001596 * src/sfnt/ttmtx.c (tt_face_get_metrics)
1597 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
1598
Werner Lemberg87a5a432007-01-17 12:44:39 +000015992007-01-17 Werner Lemberg <wl@gnu.org>
1600
Werner Lembergb8003292007-01-17 12:56:25 +00001601
1602 * Version 2.3.0 released.
1603 =========================
1604
1605
1606 Tag sources with `VER-2-3-0-FINAL'.
1607
16082007-01-17 Werner Lemberg <wl@gnu.org>
1609
Werner Lemberg87a5a432007-01-17 12:44:39 +00001610 * docs/release: Updated.
1611
David Turner22122722007-01-16 20:06:44 +000016122007-01-16 David Turner <david@freetype.org>
1613
Werner Lemberg87a5a432007-01-17 12:44:39 +00001614 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
1615 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
1616 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
1617 warnings.
David Turner22122722007-01-16 20:06:44 +00001618
Werner Lemberg267e1d72007-01-15 07:48:09 +000016192007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
1620
1621 * builds/amiga/makefile, builds/amiga/makefile.os4,
1622 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
1623
1624 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
1625
Werner Lemberg8c4120d2007-01-15 06:42:40 +000016262007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
1627
1628 Fix various compiler warnings.
1629
1630 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
1631 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
1632 s/index/strike_index/.
1633 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
1634
1635 * src/gxvalid/gxvmorx5.c
1636 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
1637
1638 * src/truetype/ttinterp.c (Compute_Point_Displacement),
1639 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
1640 uninitialized variables.
1641
Werner Lemberg6164a9d2007-01-13 23:01:36 +000016422007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1643
1644 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
1645
Werner Lemberg281c1482007-01-13 22:50:51 +000016462007-01-13 Werner Lemberg <wl@gnu.org>
1647
1648 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
1649 versions up to 0x3FF without complaining.
1650
Werner Lembergac250b22007-01-13 14:01:36 +000016512007-01-13 Derek Clegg <dclegg@apple.com>
1652
1653 Add FT_Get_PS_Font_Info interface to CFF driver.
1654
1655 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
1656 (CFF_FontRec): Add `font_info' field.
1657
1658 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
1659 (cff_font_done): Free font->font_info if necessary.
1660
1661 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
1662 (cff_service_ps_info): Register cff_ps_get_font_info.
1663
Werner Lemberg23df31a2007-01-13 08:45:00 +000016642007-01-13 Werner Lemberg <wl@gnu.org>
1665
1666 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
1667 with C++ compiler.
1668
1669 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
1670 af_glyph_hints_dump_edges): Ditto.
1671
1672 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
1673 `modules.cfg').
1674
1675 * src/sfnt/ttsbit0.h: Remove.
1676
1677 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
1678
Werner Lemberg27cf9de2007-01-13 07:34:23 +000016792007-01-12 David Turner <david@freetype.org>
1680
1681 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
1682 bug in the bitmap emboldener if the pitch of the source bitmap is
1683 much larger than its width.
1684
1685 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
1686 compilation warning.
1687
Werner Lemberg6d96d312007-01-12 10:30:19 +000016882007-01-12 Werner Lemberg <wl@gnu.org>
1689
1690 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
1691 `automake' CVS module from sources.redhat.com.
1692
Werner Lemberg17432b52007-01-12 09:28:44 +000016932007-01-11 Werner Lemberg <wl@gnu.org>
1694
1695 * src/type1/t1load.c (is_space): Removed.
1696 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
1697 (parse_charstrings): Use IS_PS_TOKEN.
1698
1699
1700 * autogen.sh: Avoid bash specific syntax.
1701
David Turner038ace22007-01-11 15:00:59 +000017022007-01-11 David Turner <david@freetype.org>
1703
Werner Lemberg17432b52007-01-12 09:28:44 +00001704 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +00001705
Werner Lemberg17432b52007-01-12 09:28:44 +00001706 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +00001707
Werner Lemberg17432b52007-01-12 09:28:44 +00001708 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
1709 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +00001710 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +00001711
Werner Lemberg17432b52007-01-12 09:28:44 +00001712 * autogen.sh: Small fix to get it working on Mac OS X properly:
1713 The issue is that GNU libtool is called `glibtool' on this platform,
1714 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +00001715
David Turner2628ea92007-01-10 13:15:56 +000017162007-01-10 David Turner <david@freetype.org>
1717
Werner Lemberg17432b52007-01-12 09:28:44 +00001718 * all-sources: Tag all sources with VER-2-3-0-RC1 and
1719 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +00001720
Werner Lemberg17432b52007-01-12 09:28:44 +00001721 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
1722 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
1723 version number to 2.3.0.
1724
1725 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
1726 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +00001727
1728 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +00001729 include/freetype/ftlcdfil.h: Update reference documentation with
1730 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +00001731
Werner Lemberg17432b52007-01-12 09:28:44 +00001732 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
1733 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +00001734
Werner Lembergbf02d392007-01-10 07:07:37 +000017352007-01-10 Derek Clegg <dclegg@apple.com>
1736
1737 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
1738 values.
1739
David Turnerf48b60e2007-01-08 15:15:32 +000017402007-01-08 David Turner <david@freetype.org>
1741
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001742 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +00001743
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001744 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
1745 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +00001746 corresponding to a given character pixel size.
1747
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001748 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
1749 `gasp' table, in order to avoid potential problems with later
1750 versions.
David Turnerf48b60e2007-01-08 15:15:32 +00001751
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001752 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
1753 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +00001754
Werner Lembergcc7f12a2007-01-09 10:37:36 +00001755 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
1756 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
1757 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
1758 default build.
David Turnerf48b60e2007-01-08 15:15:32 +00001759
Werner Lemberge6b6f372007-01-07 00:06:47 +000017602007-01-07 Werner Lemberg <wl@gnu.org>
1761
Werner Lembergb8004d22007-01-07 09:13:38 +00001762 * src/cid/cidparse.c (cid_parser_new): Improve error message for
1763 Type 11 fonts.
1764 Scan for `/sfnts' token.
1765
17662007-01-07 Werner Lemberg <wl@gnu.org>
1767
1768 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +00001769
Werner Lembergbe5f7972007-01-06 07:51:48 +000017702007-01-06 Werner Lemberg <wl@gnu.org>
1771
1772 * src/cff/cffload.c (cff_index_init): Remove unused variable.
1773 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
1774
David Turnera8cf42b2007-01-04 16:46:46 +000017752007-01-04 David Turner <david@freetype.org>
1776
Werner Lembergf6294392007-01-06 07:47:45 +00001777 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
1778 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +00001779
Werner Lembergf6294392007-01-06 07:47:45 +00001780
1781 Do not allocate interpreter-specific tables in memory if we are not
1782 going to load glyphs with the bytecode interpreter anyway.
1783
1784 * src/truetype/ttgload.c (tt_loader_init): Load execution context
1785 only if glyph is hinted.
1786 Updated.
1787 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
1788 and `cvs_ready'.
1789 Add `tt_size_ready_bytecode' declaration.
1790 * src/truetype/ttobjs.c (tt_size_done_bytecode,
1791 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
1792 (tt_size_init): Move most code into `tt_size_init_bytecode'.
1793 (tt_size_done): Move most code into `tt_size_done_bytecode'.
1794 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001795
David Turner91a34022007-01-05 14:47:08 +00001796
Werner Lembergf6294392007-01-06 07:47:45 +00001797 Don't extract the metrics table from the SFNT font file. Instead,
1798 reparse it on each glyph load. The runtime difference is not
1799 noticeable, and it can save a lot of heap memory when memory-mapped
1800 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +00001801
Werner Lembergf6294392007-01-06 07:47:45 +00001802 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
1803 `horz_metrics_offset' and `vert_metrics_ofset'.
1804 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
1805 Updated.
1806
1807
1808 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
1809
1810
1811 Do not load the CFF index offsets into memory, since this wastes a
1812 *lot* of heap memory with large Asian CFF fonts. There is no
1813 significant performance loss.
1814
1815 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
1816 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
1817 `data_size'.
1818 (CFF_CharsetRec): Add field `num_glyphs'.
1819
1820 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
1821 cff_charset_cid_to_gindex): New functions.
1822 (cff_new_index): Renamed to...
1823 (cff_index_init): This. Update all callers.
1824 Updated -- some code has been moved to `cff_index_load_offsets'.
1825 (cff_done_index): Renamed to...
1826 (cff_index_done): This. Update all callers.
1827 (cff_index_get_pointers, cff_index_access_element): Updated to use
1828 stream offsets.
1829 (cff_charset_compute_cids): Set `num_glyphs' field.
1830 (cff_encoding_load): Updated.
1831
1832 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +00001833
18342007-01-04 David Turner <david@freetype.org>
1835
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001836 * docs/INSTALL.UNIX: Simplify some parts, add reference to
1837 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +00001838
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001839 * README.CVS: Add common problem description and solution
1840 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +00001841
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001842 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +00001843
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001844 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +00001845
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001846 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +00001847
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001848 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
1849 (TWorker): This.
1850 Remove `count_table' and `memory'.
1851 Make `grays' a pointer.
1852 (TRaster): New structure.
1853 (count_table): New static array.
1854 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
1855 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
1856 ft_black_set_mode, ft_black_render): Updated.
1857 (ft_black_init): Don't initialize `count_table'.
1858 (ft_black_reset): Use the render pool. This saves about 6KB of
1859 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +00001860
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001861 * src/smooth/ftgrays.c (TRaster): Replaced with...
1862 (TWorker): This.
1863 Remove `memory'.
1864 (TRaster): New structure.
1865
1866 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
1867 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
1868 gray_render_span, gray_raster_render): Updated.
1869 (gray_raster_reset): Use the render pool. This saves about 6KB of
1870 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +00001871
David Turner8a6c44e2007-01-04 17:03:11 +00001872 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
1873 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001874 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
1875 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
1876 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +00001877
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001878 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
1879 Remove a typo that results in no hinting and a memory leak with some
1880 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +00001881
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001882 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +00001883 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +00001884 CFF_Faces in it. We need to close all faces before destroying the
1885 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +00001886
Werner Lemberg6b87e6f2007-01-02 19:20:08 +000018872007-01-02 Werner Lemberg <wl@gnu.org>
1888
1889 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
1890 Remove compiler warning.
1891
David Turner9207e002007-01-02 16:58:13 +000018922007-01-02 David Turner <david@freetype.org>
1893
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001894 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +00001895
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +000018962006-12-31 Masatake YAMATO <jet@gyve.org>
1897
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001898 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
1899 function.
1900 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +00001901 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00001902 `gxv_kern_subtable_fmt0_pairs_validate'.
1903
David Turner115b4422006-12-22 11:37:05 +000019042006-12-22 David Turner <david@freetype.org>
1905
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001906 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
1907 warnings.
David Turner115b4422006-12-22 11:37:05 +00001908
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00001909 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
1910 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +00001911
Werner Lemberg4755bf72006-12-16 08:58:44 +000019122006-12-16 Anders Kaseorg <anders@kaseorg.com>
1913
1914 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
1915 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
1916
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +000019172006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1918
Werner Lemberg9b774e22007-01-16 06:11:27 +00001919 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001920 sync with the modification by Jens Claudius on 2006-08-22; cf.
1921 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 +00001922
19232006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1924
1925 * src/base/ftmac.c: Specialized for Mac OS X only.
1926 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
1927 * builds/unix/configure.raw: Ditto. When explicit switches for
1928 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
1929 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
1930
19312006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1932
1933 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
1934 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
1935 instead of src/base/ftmac.c
1936 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
1937 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
1938 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
1939 that cannot be built at present.
1940
19412006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1942
Werner Lemberg0fd08bd2006-12-16 02:57:46 +00001943 * src/base/ftobjs.c: Improvement of resource fork handler for
1944 POSIX, cf.
1945 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00001946 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
1947 format or .dfont, to simulate the face index number counted by ftmac.c.
1948 (IsMacResource): Return the number of scalable faces correctly.
1949
Werner Lembergec5b4502006-12-10 07:51:38 +000019502006-12-10 Werner Lemberg <wl@gnu.org>
1951
1952 * builds/toplevel.mk (version): Protect against `distclean' target.
1953
Werner Lembergb26b3142006-12-09 20:01:43 +000019542006-12-09 Werner Lemberg <wl@gnu.org>
1955
1956 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
1957 or `type'.
1958
1959 * builds/freetype.mk (version): Extracted from freetype.h, using
1960 GNU make's built-in string functions.
1961 (refdoc): Use $(version) instead of static version number.
1962
Werner Lemberg4e1d6c02006-12-09 08:20:37 +000019632006-12-08 Werner Lemberg <wl@gnu.org>
1964
1965 * builds/toplevel.mk (dist): Extract version number from freetype.h.
1966
Werner Lemberg15c29502006-12-09 07:29:54 +000019672006-12-08 Vladimir Volovich <vvv@vsu.ru>
1968
1969 * src/tools/apinames (State): Remove final comma in structure -- xlc
1970 v5 under AIX 4.3 doesn't like this.
1971
David Turnerdbf3b432006-12-07 21:18:09 +000019722006-12-07 David Turner <david@freetype.org>
1973
Werner Lemberg256a3512006-12-08 06:49:33 +00001974 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
1975 to the spacing of auto-fitted glyphs. This only impacts rare
1976 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +00001977
Werner Lemberg11171312006-12-03 09:43:40 +000019782006-12-03 Werner Lemberg <wl@gnu.org>
1979
1980 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
1981
Werner Lemberg960ba592006-12-01 08:20:47 +000019822006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +00001983
Werner Lemberg960ba592006-12-01 08:20:47 +00001984 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
1985 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
1986 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +00001987
David Turner80658e52006-11-28 08:09:20 +00001988
Werner Lemberg960ba592006-12-01 08:20:47 +00001989 * include/freetype/ftxf86.h: Fix and extend comment so that it
1990 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +00001991
Werner Lemberg960ba592006-12-01 08:20:47 +00001992 * include/freetype/ftchapters.h: Add `font_format' section.
1993
1994
1995 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
1996 to TOC in index page.
1997
19982006-11-28 David Turner <david@freetype.org>
1999
2000 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
2001 trying to render into a zero-width/height bitmap, not an error code.
2002
2003 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
2004
2005 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
2006 ones instead.
2007
2008 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
2009 variable.
David Turner80658e52006-11-28 08:09:20 +00002010
Werner Lemberg8636c292006-11-26 22:28:13 +000020112006-11-26 Pierre Hanser <hanser@club-internet.fr>
2012
2013 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
2014
Werner Lemberg960ba592006-12-01 08:20:47 +000020152006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +00002016
Werner Lemberg960ba592006-12-01 08:20:47 +00002017 * src/autofit/afhints.c (af_glyph_hints_dump_points,
2018 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
2019 Add stubs to link the `ftgrid' test program when debugging is
2020 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00002021
Werner Lemberg960ba592006-12-01 08:20:47 +000020222006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00002023
2024 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00002025 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
2026
2027 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
2028 Emit more sensible information.
2029
2030 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
2031
2032 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
2033 rounding of blue values.
2034 (af_latin_hints_compute_segments): Hint segment heights.
2035 (af_latin_hints_link_segments): Reduce `len_score' value.
2036 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
2037 value and use `height' member for comparisons.
2038 (af_latin_hint_edges): Extend logging message.
2039 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00002040
Werner Lemberg91959bf2006-11-22 10:36:55 +000020412006-11-22 Werner Lemberg <wl@gnu.org>
2042
2043 Fix Savannah bug #15553.
2044
2045 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
2046 program after a change from mono to grayscaling (and vice versa).
2047 Use correct constant for comparison to get `exec->grayscale'.
2048
Werner Lemberg913a3652006-11-19 09:19:17 +000020492006-11-18 Werner Lemberg <wl@gnu.org>
2050
2051 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00002052 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00002053 This patch fixes Savannah bug #18301.
2054
2055 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
2056 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
2057 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
2058 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
2059 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
2060 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
2061 (FNT_Load_Glyph): Check validity of `glyph_index'.
2062
David Turner7bab6ae2006-11-13 11:25:06 +000020632006-11-13 David Turner <david@freetype.org>
2064
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002065 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
2066 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00002067
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002068 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
2069 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
2070 when building the library to change the default LCD filter to be
2071 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00002072
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002073 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00002074
David Turner8765c712006-11-10 16:49:42 +000020752006-11-10 David Turner <david@freetype.org>
2076
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002077 * src/smooth/ftsmooth.c: API change for the LCD
2078 filter. The FT_LcdFilter value is an enumeration describing which
2079 filter to apply, with new values FT_LCD_FILTER_LIGHT and
2080 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
2081 algorithm which produces strong color fringes for everything
2082 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00002083
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00002084 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
2085 second parameter to an enum type.
2086
2087 * src/base/ftlcdfil.c (USE_LEGACY): Define.
2088 (_ft_lcd_filter): Rename to...
2089 (_ft_lcd_filter_fir): This.
2090 Update parameters.
2091 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
2092 (FT_Library_Set_LcdFilter): Update parameters.
2093 Handle new filter modes.
2094
2095 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
2096 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
2097 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
2098 callback and update other fields.
2099
2100 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
2101 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
2102 Other minor improvements.
2103
2104 * src/autofit/aflatin.c: Various tiny improvements that drastically
2105 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
2106 (af_latin_hints_compute_edges): Fix typo.
2107 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00002108
David Turner4e9cc3c2006-11-09 16:31:52 +000021092006-11-09 David Turner <david@freetype.org>
2110
Werner Lemberg49c77a82006-11-09 21:51:57 +00002111 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
2112 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00002113
Werner Lemberg5e430892006-11-07 09:35:03 +000021142006-11-07 Zhe Su <james.su@gmail.com>
2115
2116 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
2117 also.
2118
Werner Lemberg111b5ae2006-11-03 09:40:12 +000021192006-11-03 Werner Lemberg <wl@gnu.org>
2120
2121 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
2122
David Turner40604742006-11-02 16:37:35 +000021232006-11-02 David Turner <david@freetype.org>
2124
Werner Lemberg111b5ae2006-11-03 09:40:12 +00002125 Add a few tweaks to better handle serif fonts.
2126 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00002127
Werner Lemberg111b5ae2006-11-03 09:40:12 +00002128 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
2129 segments that are less than 1.5 pixels high. This gets rid of
2130 *many* corner cases with serifs.
2131 (af_latin_align_linked_edge): Add logging message.
2132 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
2133 Add logging messages.
2134 Handle AF_EDGE_FLAG flag specially.
2135
2136 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
2137 _af_debug_disable_blue_hints, and _af_debug_hints variables.
2138
2139 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
2140 Update external declarations.
2141 (af_corner_orientation, af_corner_is_flat): Replaced by...
2142
2143 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
2144 ft_corner_is_flat): These declarations.
2145
2146 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
2147 Comment out. Replaced by...
2148
2149 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
2150 These functions. Update all callers.
2151 (FT_Add64) [!FT_LONG64]: Simplify.
2152
2153 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
2154 (af_direction_compute): Add a missing FT_ABS call. This bug caused
2155 production of garbage by missing lots of segments.
2156
2157 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
2158
2159 * src/autofit/afloader.c (af_loader_init, af_loader_done)
2160 [AF_DEBUG]: Set _af_debug_hints.
2161
2162
2163 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
2164 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
2165 and ft_corner_orientation.
2166
2167
2168 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00002169
Werner Lemberge88c5262006-10-24 05:46:26 +000021702006-10-24 Werner Lemberg <wl@gnu.org>
2171
2172 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
2173
2174 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
2175 as argument.
2176
David Turnera1861392006-10-23 16:00:59 +000021772006-10-23 Zhe Su <zsu@novell.com>
2178
Werner Lemberg715e96e2006-10-24 05:28:45 +00002179 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
2180 better deal with broken Asian fonts with strange glyphs, having
2181 self-intersections and other peculiarities. The used algorithm is
2182 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00002183
David Turnere140f142006-10-23 08:56:57 +000021842006-10-23 David Turner <david@freetype.org>
2185
Werner Lemberg715e96e2006-10-24 05:28:45 +00002186 Speed up the CFF font loader. With some large CFF fonts,
2187 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00002188
Werner Lemberg715e96e2006-10-24 05:28:45 +00002189 * src/cff/cffload.c (cff_get_offset): Removed.
2190 (cff_new_index): Inline functionality of `cff_get_offset'.
2191 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
2192 (cff_charset_done): Call `cff_charset_free_cids'.
2193 (cff_charset_load): Call `cff_charset_compute_cids'.
2194 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
2195
2196 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
2197 with FT_NEXT_XXX.
2198
2199
2200 Speed up the Postscript hinter, with more than 100% speed increase
2201 on my machine.
2202
2203 * src/pshinter/pshalgo.c (psh_corner_is_flat,
2204 psh_corner_orientation): New functions.
2205 (psh_glyph_compute_inflections): Merge loops for efficiency.
2206 Use `psh_corner_orientation'.
2207 (psh_glyph_init): Use `psh_corner_is_flat'.
2208 (psh_hint_table_find_strong_point): Renamed to...
2209 (psh_hint_table_find_strong_points): This.
2210 Rewrite, adding argument to handle all points at once.
2211 Update all callers.
2212 (PSH_MAX_STRONG_INTERNAL): New macro.
2213 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00002214
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000022152006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2216
2217 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00002218 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00002219
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000022202006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2221
2222 * docs/INSTALL.CROSS: New document file for cross-building.
2223
2224 * builds/unix/configure.raw: Preliminary cross-building support.
2225 Find native C compiler and pass it by CC_BUILD, and
2226 find suffix for native executable and pass it by EXEEXT_BUILD.
2227 Also suffix for target executable is passed by EXEEXT.
2228
Werner Lembergb9e6d692006-10-15 08:58:40 +00002229 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
2230 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00002231 CC_BUILD and EXEEXT_BUILD.
2232
Werner Lembergb9e6d692006-10-15 08:58:40 +00002233 * builds/exports.mk (APINAMES_EXE): Change the extension for
2234 apinames from the suffix for target (E) to that for building host
2235 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00002236
Werner Lemberg82a07e92006-10-12 06:20:44 +000022372006-10-12 Werner Lemberg <wl@gnu.org>
2238
2239 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
2240 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
2241 which reference those files.
2242
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000022432006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2244
Werner Lembergb9e6d692006-10-15 08:58:40 +00002245 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
2246 embedded in freetype2.pc and freetype-config. Use it to record
2247 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00002248
2249 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
2250
2251 * builds/unix/freetype-config.in: Ditto.
2252
Werner Lemberg28e17d92006-10-11 17:27:47 +000022532006-10-11 Werner Lemberg <wl@gnu.org>
2254
2255 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
2256 development.
2257
Jens Claudius336d2292006-10-03 08:53:37 +000022582006-10-03 Jens Claudius <jens.claudius@yahoo.com>
2259
2260 * include/freetype/config/ftstdlib.h: Cast away volatileness from
2261 argument to ft_setjmp.
2262
2263 * include/freetype/internal/ftvalid.h: Add comment that
2264 ft_validator_run must not be used.
2265
Werner Lemberg2863cfa2006-10-01 17:04:00 +000022662006-10-01 Werner Lemberg <wl@gnu.org>
2267
2268 * src/base/ftbase.c: Undo change from 2006-09-30.
2269
2270 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
2271
22722006-09-30 David Turner <david@freetype.org>
2273
Werner Lemberg046bf8b2006-10-03 08:43:42 +00002274 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
2275 s/unpatented_hinting/ignore_unpatented_hinter/.
2276 Update all callers.
2277
2278 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
2279 auto-hinting shall be used or not.
2280
2281 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00002282
Werner Lemberg2863cfa2006-10-01 17:04:00 +000022832006-09-30 Werner Lemberg <wl@gnu.org>
2284
Werner Lemberg1e4402e2006-09-29 22:10:36 +00002285 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
2286 in use).
2287
2288 * src/base/ftbase.c: Include `ftlcdfil.c'.
2289
Werner Lemberg9b15ea32006-09-29 18:22:11 +000022902006-09-29 Werner Lemberg <wl@gnu.org>
2291
2292 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
2293 overlapping segments. Bug reported by Stefan Koch.
2294
David Turnerad830712006-09-27 16:20:59 +000022952006-09-28 David Turner <david@freetype.org>
2296
Werner Lemberg2c002e12006-09-29 21:31:53 +00002297 Fix a bug in the automatic unpatented hinting support which prevents
2298 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00002299
Werner Lemberg2c002e12006-09-29 21:31:53 +00002300 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
2301 s/force_autohint/unpatented_hinting/. Update all callers.
2302
2303 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
2304
2305 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00002306
David Turner8a317cf2006-09-27 07:52:48 +000023072006-09-27 David Turner <david@freetype.org>
2308
Werner Lemberg2c002e12006-09-29 21:31:53 +00002309 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00002310
David Turner8a317cf2006-09-27 07:52:48 +00002311
David Turnere140f142006-10-23 08:56:57 +00002312 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00002313 In a default build, the function `FT_Library_SetLcdFilter' returns
2314 `FT_Err_Unimplemented_Feature'; you need to #define
2315 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
2316 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00002317
Werner Lemberg2c002e12006-09-29 21:31:53 +00002318 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00002319
Werner Lemberg2c002e12006-09-29 21:31:53 +00002320 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
2321 typedef.
2322 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
2323 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00002324
Werner Lemberg2c002e12006-09-29 21:31:53 +00002325 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
2326 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00002327
Werner Lemberg2c002e12006-09-29 21:31:53 +00002328 Handle subpixel rendering.
2329 Simplify function.
2330 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
2331 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
2332
2333 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
2334 pointing to <freetype/ftlcdfil.h>.
2335
2336 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
2337 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
2338
2339 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00002340
Werner Lemberge20df4a2006-09-27 06:29:21 +000023412006-09-26 David Bustin
2342
2343 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
2344 correctly. Reported as Savannah bug #17843.
2345
David Turner6f8c6222006-09-26 15:42:44 +000023462006-09-26 David Turner <david@freetype.org>
2347
Werner Lemberg110246c2006-09-26 21:55:44 +00002348 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
2349 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
2350 horizontal and vertical hinting for the purpose of debugging the
2351 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00002352
Werner Lemberg110246c2006-09-26 21:55:44 +00002353 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
2354 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00002355
Werner Lemberg110246c2006-09-26 21:55:44 +00002356 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
2357
2358 * include/freetype/config/ftoption.h, devel/ftoption.h
2359 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
2360 we want to compile LCD-optimized rendering code (à la ClearType) or
2361 not. The macro *must* be disabled in default builds of the library
2362 for patent reasons.
2363
2364 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
2365 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
2366 isn't defined at compile time. This only changes the content of the
2367 rendered glyph to match the one of normal gray-level rendering,
2368 hence clients should not need to be modified.
2369
2370 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00002371
Werner Lemberg745ff2c2006-09-19 05:48:02 +000023722006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
2373
2374 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
2375 LWFN fails and both are available.
2376
David Turnerf3050052006-09-11 12:00:32 +000023772006-09-11 David Turner <david@freetype.org>
2378
Werner Lembergf9644552006-09-12 13:48:10 +00002379 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
2380 report their English names through an Apple Roman
2381 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00002382
Werner Lembergf9644552006-09-12 13:48:10 +00002383 If the font uses another name entry with language_id == English, it
2384 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00002385
Werner Lembergf9644552006-09-12 13:48:10 +00002386 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
2387 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00002388
Werner Lemberg36d2eab2006-09-05 19:24:34 +000023892006-09-05 Werner Lemberg <wl@gnu.org>
2390
2391 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00002392 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00002393 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
2394 `HAN NOM B.ttf').
2395
2396 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
2397
David Turner772e55d2006-09-05 09:45:15 +000023982006-09-05 David Turner <david@freetype.org>
2399
Werner Lemberg36d2eab2006-09-05 19:24:34 +00002400 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00002401
Werner Lemberg36d2eab2006-09-05 19:24:34 +00002402 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
2403 (TRaster): Remove `count_ex' and `count_ey'.
2404 (gray_find_cell): Remove 2nd and 3rd argument.
2405 (gray_alloc_cell): Merged with `gray_find_cell'.
2406 (gray_record_cell): Simplify.
2407 (gray_set_cell): Rewrite.
2408 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
2409 (gray_render_span): Don't use FT_MEM_SET for small values.
2410 (gray_dump_cells) [DEBUG_GRAYS]: New function.
2411 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
2412 bitmap scanline.
2413 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00002414
David Turneraa557a92006-09-04 16:42:44 +000024152006-09-04 David Turner <david@freetype.org>
2416
Werner Lembergd1fc7d42006-09-05 07:55:42 +00002417 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
2418 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00002419
Werner Lemberg2d8629b2006-09-03 06:18:45 +000024202006-09-03 Werner Lemberg <wl@gnu.org>
2421
2422 * devel/ftoption.h: Synchronize with
2423 include/freetype/config/ftoption.h.
2424
2425 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
2426 variable declaration.
2427 (gray_convert_glyph): Fix compiler warnings.
2428
David Turner6d79f212006-09-01 14:09:35 +000024292006-09-01 David Turner <david@freetype.org>
2430
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002431 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
2432 to recognize a few fonts that require the automatic unpatented
2433 loader.
David Turnerbd502952006-09-01 19:05:24 +00002434
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002435 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
2436 rasterizer. The speed improvement is between 15% and 25%, depending
2437 on the font data.
2438
2439 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
2440 (TCell): Redefine.
2441 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
2442 (gray_init_cells): Updated.
2443 (gray_find_cell, gray_alloc_cell): New functions.
2444 (gray_record_cell): Rewritten to use `gray_find_cell' and
2445 `gray_alloc_cell'.
2446 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
2447 QSORT_THRESHOLD):
2448 Removed.
2449 (gray_shell_sort, gray_quick_sort, gray_check_sort,
2450 gray_dump_cells): Removed.
2451 (gray_sweep): Rewritten.
2452 (gray_convert_glyph): Rewrite code which used one of the sorting
2453 functions.
2454 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00002455
Werner Lembergd898aed2006-08-29 09:50:34 +000024562006-08-29 Dr. Werner Fink <werner@suse.de>
2457
2458 * configure: Make it possible to handle configure options which
2459 have strings containing spaces.
2460
24612006-08-27 David Turner <david@freetype.org>
2462
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002463 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
2464 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
2465 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
2466
2467 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
2468 src/truetype/truetype.c, src/truetype/ttdriver.c,
2469 src/truetype/ttgload.c, src/truetype/ttgload.h,
2470 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
2471 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
2472 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
2473
2474 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
2475 member `force_autohint'.
2476
2477 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
2478
2479 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
2480 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00002481
Jens Claudiusa787f452006-08-27 11:26:18 +000024822006-08-27 Jens Claudius <jens.claudius@yahoo.com>
2483
2484 Fix miscellaneous compiler warnings.
2485
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002486 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
2487 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00002488
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002489 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
2490 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
2491 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00002492
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002493 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
2494 volatileness of argument to ft_longjmp. Spotted by Werner
2495 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00002496
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002497 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
2498 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00002499
Werner Lemberg2d8629b2006-09-03 06:18:45 +00002500 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
2501 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00002502
Werner Lembergc4c35b72006-08-27 08:03:46 +000025032006-08-27 Werner Lemberg <wl@gnu.org>
2504
2505 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
2506 Reported by Jens.
2507
Jens Claudius088e44e2006-08-22 14:24:30 +000025082006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00002509
Jens Claudius088e44e2006-08-22 14:24:30 +00002510 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00002511 about addresses of volatile objects passed as function arguments as
2512 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00002513
Werner Lembergc4c35b72006-08-27 08:03:46 +00002514 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
2515 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00002516
2517 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
2518 argument `table' a pointer to a volatile object.
2519
2520 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
2521 argument `table' a pointer to a volatile object.
2522
Jens Claudius2652bd52006-08-18 17:20:37 +000025232006-08-18 Jens Claudius <jens.claudius@yahoo.com>
2524
2525 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
2526 variable `_sfnt' as volatile since it must keep its value across
2527 a call to ft_setjmp.
2528 (gxv_validate): Same for local variables `memory' and `valid'.
2529 (classic_kern_validate): Same for local variables `memory',
2530 `ckern', and `valid'.
2531
2532 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
2533 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
2534 `jstf', and 'valid'.
2535
2536 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
2537 local variable `cmap'.
2538
David Turner9fbfc6a2006-08-16 09:11:31 +000025392006-08-16 David Turner <david@freetype.org>
2540
Werner Lemberg12342992006-08-19 11:18:09 +00002541 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
2542 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00002543
Werner Lemberg12342992006-08-19 11:18:09 +00002544 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
2545 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00002546
David Turner33f5f242006-08-16 16:50:55 +00002547
Werner Lemberg12342992006-08-19 11:18:09 +00002548 Improvements to native TrueType hinting. This is a first try,
2549 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
2550
2551 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
2552 `extra_points2'.
2553
2554 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
2555 `orus'.
2556
2557 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
2558 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
2559 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
2560 handle `extra_points2'.
2561
2562 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
2563 Remove compiler warning.
2564 (cur_to_arg): Remove macro.
2565 (TT_Hint_Glyph): Updated.
2566 (TT_Process_Simple_Glyph): Handle `orus'.
2567
2568 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
2569 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
2570 (LOC_Ins_IUP): Renamed to...
2571 (IUP_WorkerRec): This.
2572 Add `orus' member.
2573 (Shift): Renamed to...
2574 (_iup_worker_shift): This.
2575 Updated.
2576 (Interp): Renamed to...
2577 (_iup_worker_interpolate): This.
2578 Updated to handle `orus'.
2579 (Ins_IUP): Updated.
2580
2581 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
2582 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00002583
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000025842006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2585
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00002586 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00002587 build ftvalid in ft2demos. This has been inadvertedly changed
2588 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00002589
25902006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2591
Werner Lemberg12342992006-08-19 11:18:09 +00002592 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
2593 Jens:
2594 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00002595
Werner Lemberg12342992006-08-19 11:18:09 +00002596 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
2597 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00002598
2599 * freetype2/src/gxvalid/gxvmod.c: Ditto.
2600
Jens Claudius9950adc2006-08-13 12:14:36 +000026012006-08-13 Jens Claudius <jens.claudius@yahoo.com>
2602
Werner Lemberg12342992006-08-19 11:18:09 +00002603 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
2604 T1_TOKEN_TYPE_KEY.
2605 (T1_FieldRec): Add `dict'.
2606 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
2607 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
2608 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00002609
Werner Lemberg12342992006-08-19 11:18:09 +00002610 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
2611 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002612
2613 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
2614
2615 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00002616 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
2617 not T1_TOKEN_TYPE_ANY.
2618 (ps_parser_load_field): Make sure a token that should be a string or
2619 name is really a string or name.
2620 Avoid memory leak if a keyword has been already encountered and its
2621 value is overwritten.
2622 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
2623 T1_FIELD_XXX.
2624 (parse_dict): Ignore keywords that occur in the wrong dictionary
2625 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00002626
Werner Lemberg12342992006-08-19 11:18:09 +00002627 * freetype2/src/type1/t1tokens.h: Adjust invocations of
2628 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002629
Werner Lemberg12342992006-08-19 11:18:09 +00002630 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
2631 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00002632
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000026332006-07-18 Jens Claudius <jens.claudius@yahoo.com>
2634
2635 Move creation of field `buildchar' of T1_DecoderRec out of
2636 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
2637 of it.
2638
2639 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
2640 and `T1_Compute_Max_Advance'.
2641
2642 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
2643 Remove field `face', add `len_buildchar'.
2644
2645 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
2646 field `buildchar'.
2647
2648 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
2649 finisher for T1_Decoder.
2650 (cid_slot_load_glyph): Do not ignore failure when initializing the
2651 T1_Decoder.
2652
2653 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
2654 Updated.
2655 (t1_decoder_init): Remove initialization of fields `buildchar' and
2656 `len_buildchar'.
2657 (t1_decoder_done): Remove deallocation of field `buildchar'.
2658
2659 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
2660 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
2661 T1_Decoder.
2662 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
2663 `len_buildchar'; make sure to call finisher for T1_Decoder even in
2664 case of error.
2665
2666 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
2667 `buildchar' of T1_FaceRec.
2668
2669 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
2670 `buildchar' of T1_FaceRec.
2671
Werner Lemberg1a380e02006-07-14 18:28:08 +000026722006-07-14 Jens Claudius <jens.claudius@yahoo.com>
2673
2674 * freetype2/include/freetype/internal/psaux.h: New macros
2675 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
2676 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
2677 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
2678 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
2679 (T1_DecoderRec): New fields `buildchar' and `face'.
2680 (IS_PS_TOKEN): New macro.
2681
2682 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
2683 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
2684
2685 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
2686 `default_design_vector' and `num_default_design_vector'.
2687
2688 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
2689 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
2690 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
2691
2692 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
2693 `token' argument to be NULL if we want only to count the number of
2694 tokens.
2695 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
2696 want to skip the array.
2697 (ps_tofixedarray): Allow `values' argument to be NULL if we just
2698 want to skip the array.
2699
2700 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
2701 support for (partially commented out) othersubrs 19-25, 27, and 28.
2702 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
2703 (t1_decoder_done): Release new field `buildchar'.
2704
2705 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
2706 functions.
2707 (t1_keywords): Register them.
2708 (t1_allocate_blend): Updated.
2709 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
2710 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
2711 (parse_dict): Remove `keyword_flags' argument.
2712 Use new macro IS_PS_TOKEN.
2713 Changed function so that later PostScript definitions override
2714 earlier ones.
2715 (t1_init_loader): Initialize new field `keywords_encountered'.
2716 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
2717 `len_buildchar'.
2718 Remove `keywords_flags'.
2719
2720 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
2721 `keywords_encountered'.
2722 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
2723
2724 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
2725 New entries for parsing /NDV, /CDV, and /DesignVector.
2726
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000027272006-07-07 Werner Lemberg <wl@gnu.org>
2728
2729 Add many checks to protect against malformed PCF files.
2730
2731 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
2732 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
2733
2734 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
2735 data and check that tables don't overlap (using a simple
2736 bubblesort).
2737 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
2738 New macros which give the size of data structures in the data
2739 stream.
2740 (pcf_get_properties): Use rough estimates to get array size limits.
2741 Assign `face->nprops' and `face->properties' earlier so that a call
2742 to PCF_Face_Done can do the clean-up in case of error.
2743 Protect against invalid string offsets.
2744 (pcf_get_metrics): Clean up code.
2745 Adjust tracing message levels.
2746 Use rough estimate to get array size limit.
2747 (pcf_get_bitmaps): Clean up code.
2748 Adjust tracing message levels.
2749 Use rough estimates to get offset limits.
2750 (pcf_get_encodings): Adjust tracing message level.
2751 (pcf_get_accel): Clean up code.
2752
Werner Lemberg8eb05252006-06-27 06:20:01 +000027532006-06-26 Werner Lemberg <wl@gnu.org>
2754
2755 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
2756 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
2757
Werner Lemberg24703f82006-06-26 19:12:51 +000027582006-06-26 Jens Claudius <jens.claudius@yahoo.com>
2759
2760 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
2761 (t1_decoder_parse_charstrings): Operator with
2762 opcode 15 pops its two arguments.
2763 Handle the case where the pops of an othersubr may be part of a
2764 subroutine.
2765 Handle unknown othersubrs gracefully: count their operands and let
2766 the following pop operators push the operands as the results onto
2767 the Type1 stack.
2768 Improve handling of setcurrentpoint opcode.
2769
Werner Lembergc011f4c2006-06-26 09:40:00 +000027702006-06-25 Jens Claudius <jens.claudius@yahoo.com>
2771
2772 The Type 1 parser now skips over top-level procedures as required
2773 for a `Simplified Parser'. This makes the parser more robust as it
2774 doesn't poke around in PostScript code. Additionally, it makes the
2775 FontDirectory hackery in src/type1/t1load.c unnecessary.
2776
2777 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
2778 (skip_literal_string): Add FT_Error as return value.
2779 Handle escapes better.
2780 (skip_string): Add FT_Error as return value.
2781 Don't set `parser->error' but return error code directly.
2782 (skip_procedure): New function.
2783 (ps_parser_skip_PS_token): Handle procedures.
2784 Update code.
2785 (ps_parser_to_token): Update code.
2786 (ps_parser_load_field_table): Handle bbox entries also.
2787
2788 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
2789 Add commented-out code for synthetic fonts.
2790
Werner Lemberga2da05c2006-06-25 06:27:27 +000027912006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
2792
2793 Fix two hinting bugs as reported in
2794 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
2795
2796 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
2797 `first_point' member.
2798
2799 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
2800 `first_point'.
2801 (TT_Process_Composite_Glyph): Always untouch points.
2802
2803 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
2804 `first_point' and `last_point' in case of composite glyphs.
2805 (Ins_IUP): Fix computation of `end_point'.
2806
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000028072006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2808
Werner Lembergef3d2c22006-06-25 06:07:14 +00002809 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
2810 Mac. The original patch was written by David Sachitano and Lawrence
2811 Coopet, and modified by Sean McBride for MPW compatibility. Only
2812 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002813
Werner Lembergef3d2c22006-06-25 06:07:14 +00002814 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
2815 Mac OS X platforms.
2816 (OS_INLINE): Undefine before definition.
2817 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
2818 FontAssociation table in FOND resource.
2819 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
2820 and fontSize at each entry of FontAssociation table in FOND
2821 resource.
2822 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
2823 ffStylOff of FamilyRecord header of FOND resource, the header,
2824 fontSize, fontID at each entry of FontAssociation table, and
2825 StyleMapping table.
2826 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00002827
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000028282006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2829
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002830 Public API of TrueTypeGX, OpenType, and classic kern table validator
2831 should return `FT_Err_Unimplemented_Feature' if validation service
2832 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00002833 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002834 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
2835
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002836 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
2837 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
2838 unavailable.
2839 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
2840 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002841
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00002842 * src/base/ftotval.c (FT_OpenType_Validate): Return
2843 FT_Err_Unimplemented_Feature if OpenType validation service is
2844 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00002845
Werner Lembergb10e45a2006-06-08 07:32:56 +000028462006-06-08 Werner Lemberg <wl@gnu.org>
2847
2848 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
2849 errors.
2850
David Turner5f1f7502006-06-07 05:11:50 +000028512006-06-07 David Turner <david@freetype.org>
2852
Werner Lemberg7d48cb02006-06-08 06:00:08 +00002853 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
2854 (T1_Read_Metrics): Fix memory leak which happened when the metrics
2855 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00002856
David Turner457b4a82006-06-06 08:14:14 +000028572006-06-06 David Turner <david@freetype.org>
2858
Werner Lemberg4836f952006-06-06 12:54:08 +00002859 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00002860
Werner Lemberg4836f952006-06-06 12:54:08 +00002861 We change `ps_unicodes_init' so that it also takes a
2862 `free_glyph_name' callback to release the glyph names returned by
2863 `get_glyph_name'
2864
2865 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
2866 Renamed to ...
2867 (PS_GetGlyphNameFunc): This.
2868 (PS_FreeGlyphNameFunc): New typedef.
2869 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
2870
2871 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
2872 argument.
2873 (cff_sid_free_glyph_name): New function.
2874 (cff_cmap_unicode_init): Updated.
2875
2876 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
2877
2878 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
2879 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00002880
2881
David Turner09717352006-06-04 14:33:08 +000028822006-06-04 David Turner <david@freetype.org>
2883
Werner Lembergd724f202006-06-04 15:17:41 +00002884 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
2885 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00002886 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00002887
Werner Lembergd724f202006-06-04 15:17:41 +00002888 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
2889 of `face->num_glyphs' which missed the last glyph, due to
2890 the offset-by-1 computation, since the PFR format doesn't
2891 guarantee that glyph index 0 corresponds to the `missing
2892 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00002893
Werner Lemberg33779662006-05-26 06:30:05 +000028942006-05-25 Werner Lemberg <wl@gnu.org>
2895
2896 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
2897 `-no-undefined'. Reported by Christian Biesinger.
2898
Werner Lemberg24773d62006-05-20 08:53:13 +000028992006-05-19 Brian Weed <bw@imaginengine.com>
2900
2901 * builds/win32/visualc/freetype.dsp: Release libraries no longer
2902 have debug information, and debug libraries use `C7 compatible'
2903 debug info.
2904
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000029052006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2906
Werner Lemberga6523a62006-05-20 08:47:01 +00002907 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00002908 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002909
Werner Lemberga6523a62006-05-20 08:47:01 +00002910 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
2911 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002912
2913 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00002914 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00002915
29162006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2917
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00002918 * build/unix/configure.raw: Add a fallback to disable Carbon
2919 dependency, if configured with no options on Mac OS X.
2920
29212006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
2922
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002923 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00002924 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00002925 the second part of Savannah bug #16590.
2926
Werner Lemberg545c4e52006-05-17 22:55:04 +000029272006-05-18 Werner Lemberg <wl@gnu.org>
2928
2929 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
2930 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
2931
David Turnerdc3ff312006-05-17 12:59:35 +000029322006-05-17 David Turner <david@freetype.org>
2933
Werner Lemberg545c4e52006-05-17 22:55:04 +00002934 This is a major patch used to drastically improve the performance of
2935 loading glyphs. This both speeds up loading the glyph vectors
2936 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00002937
Werner Lemberg545c4e52006-05-17 22:55:04 +00002938 We now use inline assembler code with GCC to implement `FT_MulFix',
2939 which is probably the most important function related to the
2940 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00002941
Werner Lemberg545c4e52006-05-17 22:55:04 +00002942 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00002943
2944
Werner Lemberg545c4e52006-05-17 22:55:04 +00002945 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
2946 `cursor' and `limit'.
2947
2948 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
2949 New functions.
2950 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
2951 [TEST]: Remove.
2952
2953 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
2954 code.
2955
2956 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
2957 `FT_ZERO'
2958 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
2959 (af_glyph_hints_reload: Rewrite recognition of weak points.
2960
2961 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
2962 constant values out of the loops.
2963
2964 * src/autofit/aftypes.h: Updated.
2965
2966 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
2967
2968 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
2969 product to get orientation.
2970
2971 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
2972 (FT_Stream_OpenGzip): Use it to handle small files directly in
2973 memory.
2974
2975 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
2976 Improve performance.
2977
2978 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
2979 `limit'.
2980
2981 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
2982 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
2983 exceedingly large values of number of contours. Speed up by
2984 reducing the number of loops.
2985
2986 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
2987
2988
2989 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
2990 used to detect rogue clients from 4 to 16. This is to prevent some
2991 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
2992 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00002993
Werner Lembergde2d90a2006-05-17 08:54:30 +000029942007-05-17 Werner Lemberg <wl@gnu.org>
2995
2996 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00002997 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00002998
29992006-05-16 Werner Lemberg <wl@gnu.org>
3000
3001 * docs/PROBLEMS: Updated icl issues.
3002
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00003003----------------------------------------------------------------------------
3004
Werner Lemberg4c933992008-01-18 05:32:55 +00003005Copyright 2006, 2007, 2008 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00003006David Turner, Robert Wilhelm, and Werner Lemberg.
3007
3008This file is part of the FreeType project, and may only be used, modified,
3009and distributed under the terms of the FreeType project license,
3010LICENSE.TXT. By continuing to use, modify, or distribute this file you
3011indicate that you have read the license and understand and accept it
3012fully.
3013
3014
3015Local Variables:
3016version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00003017coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00003018End: