blob: f781a9043a00ab8cdb194dc9ad28f7c1db58e1ed [file] [log] [blame]
David Turner0a24bd22007-05-15 10:54:10 +000012007-05-15 David Turner <david@freetype.org>
2
3 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00004 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
5 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +00006 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +00007 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +00008
Werner Lemberg607dec72007-05-15 06:49:37 +000092007-05-15 Graham Asher <graham.asher@btinternet.com>
10
11 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
12 variable.
13 * src/autofit/afloader.c (af_loader_load_g): Ditto.
14
15 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
16 (open_face_from_buffer): Initialize `stream'.
17 (FT_Request_Metrics): Remove unused variable.
18 Remove redundant `break' statements.
19 (FT_Get_Track_Kerning): Remove unused variable.
20
21 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
22 afm_parse_kern_data): Remove redundant
23 `break' statements.
24 (afm_parser_parse): Ditto.
25 Don't use uninitialized variables.
26
27 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
28 Use `|' operator instead of `^' to set it.
29 Update all users.
30
31 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
32 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
33
34 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
35 comparison.
36 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
37 (TT_Load_Glyph): Remove unused variable.
38
Werner Lemberg8d463a52007-05-13 16:01:55 +0000392007-05-13 Derek Clegg <dclegg@apple.com>
40
41 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
42 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
43
David Turner711cf842007-05-11 14:36:24 +0000442007-05-11 David Turner <david@freetype.org>
45
Werner Lemberg56ceaa42007-05-14 18:53:58 +000046 * src/cache/ftbasic.c, include/freetype/ftcache.h
47 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
48 functions that allow us to look up glyphs using an FTC_Scaler object
49 to specify the size, making it possible to use fractional pixel
50 sizes.
51
52 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
53 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +000054
Werner Lemberg94be20e2007-05-09 20:02:55 +0000552007-05-09 Graham Asher <graham.asher@btinternet.com>
56
57 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
58 (af_latin_metrics_scale_dim): Fix compiler warnings.
59
Werner Lemberg41271032007-05-06 04:51:48 +0000602007-05-06 Werner Lemberg <wl@gnu.org>
61
62 * builds/win32/visualce/freetype.sln: Removed, as requested by
63 Vincent.
64
Werner Lembergdf49e692007-05-04 06:30:05 +0000652007-05-04 Vincent RICHOMME <richom.v@free.fr>
66
67 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
68 PC targets.
69
70 * docs/CHANGES: Document them.
71
722007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +000073
74 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
75 mmap (which might happen on some RTOS). From Savannah patch #5909.
76
Werner Lemberg106eaf12007-05-03 07:07:47 +0000772007-05-03 Werner Lemberg <wl@gnu.org>
78
79 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
80 * include/freetype/freetype.h (FT_Set_Char_Size): Update
81 documentation.
82
Werner Lemberg1b5267d2007-04-28 21:06:15 +0000832007-04-28 Victor Stinner <victor.stinner@inl.fr>
84
85 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
86 `cmap'.
87
Werner Lembergcc712a22007-04-27 17:16:50 +0000882007-04-27 Werner Lemberg <wl@gnu.org>
89
90 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
91 number of points in contours. Problem reported by Victor Stinner
92 <victor.stinner@haypocalc.com>.
93 (TT_Process_Simple_Glyph): Synchronize variable types.
94
Werner Lemberg45bb18f2007-04-26 06:26:35 +0000952007-04-26 Werner Lemberg <wl@gnu.org>
96
97 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
98 zero in case of error. This fixes Savannah bug #19689.
99
David Turnera8b45e62007-05-11 14:10:30 +00001002007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
101
102 * src/truetype/ttobjs.c: fix a typo that created a speed regression
103 in the TrueType bytecode loader
104
Werner Lembergfcc1f472007-04-10 11:51:50 +00001052007-04-10 Martin Horak <horakm@centrum.cz>
106
107 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
108 Ignore `hhea' table. This fixes Savannah bug #19261.
109
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001102007-04-09 Werner Lemberg <wl@gnu.org>
111
112 * Version 2.3.4 released.
113 =========================
114
115
116 Tag sources with `VER-2-3-4'.
117
118 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
119 version number to 2.3.4.
120
121 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
122 builds/win32/visualc/freetype.dsp,
123 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
124
125 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
126
127 * builds/unix/configure.raw (version_info): Set to 9:15:3.
128
Werner Lembergf4a52a62007-04-09 08:40:11 +00001292007-04-09 Martin Horak <horakm@centrum.cz>
130
131 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
132 memory stream to avoid a crash with the incremental memory
133 interface (Savannah bug #19260).
134
David Turner1dcb4442007-04-06 08:19:04 +00001352007-04-06 David Turner <david@freetype.org>
136
Werner Lembergc81cf612007-04-06 09:28:23 +0000137 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
138 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000139
Werner Lemberg9f83e052007-04-05 02:28:23 +00001402007-04-04 Werner Lemberg <wl@gnu.org>
141
142 * Version 2.3.3 released.
143 =========================
144
145
146 Tag sources with `VER-2-3-3'.
147
148 * docs/CHANGES: Mention CVE-2007-1351.
149
David Turner7338ec22007-04-03 14:30:34 +00001502007-04-03 David Turner <david@freetype.org>
151
152 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000153 if one of the resolution values is 0, treat it as if it were the
154 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000155
David Turnere6472c12007-04-02 13:13:54 +00001562007-04-02 David Turner <david@freetype.org>
157
Werner Lemberg94f12272007-04-03 07:19:53 +0000158 Add special code to detect `extra-light' fonts and do not snap their
159 stem widths too much to avoid bizarre hinting effects.
160
161 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
162 `extra_light' members.
163
164 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
165 them.
166 (af_latin_metrics_scale_dim): Set `extra_light'.
167 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000168
David Turner3f539692007-03-28 14:53:40 +00001692007-03-28 David Turner <david@freetype.org>
170
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000171 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000172 padding.
173
Werner Lemberga08b2172007-03-28 07:17:17 +00001742007-03-28 Werner Lemberg <wl@gnu.org>
175
176 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
177 gracefully.
178 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000179 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000180 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
181 number of code points in Unicode.
182
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000183 * builds/win32/visualc/index.html,
184 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000185 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000186 s/232/233/.
187
188 * docs/CHANGES: Mention ftdiff.
189
David Turner3b242d32007-03-26 12:03:04 +00001902007-03-26 David Turner <david@freetype.org>
191
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000192 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
193 corresponding code.
194 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000195
Werner Lemberga08b2172007-03-28 07:17:17 +0000196 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000197 computations in order to ignore single-point contours. These are
198 never rasterized and correspond in certain fonts to mark-attach
199 points that are very far from the glyph's real outline, ruining the
200 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000201
Werner Lemberga08b2172007-03-28 07:17:17 +0000202 * src/autofit/afloader.c (af_loader_load_g): In the case of
203 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
204 Otherwise code that uses them will most certainly ruin the fixed
205 advance property.
David Turner23553d62007-03-26 13:37:17 +0000206
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000207 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
208 documentation and bump version number to 2.3.3.
209
210 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
211
212 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000213
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00002142007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
215
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000216 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
217 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000218 * builds/vms/ftconfig.h: Ditto.
219 * include/freetype/config/ftconfig.h: Ditto.
220
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00002212007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
222
Werner Lemberg14ffe092007-03-22 06:12:43 +0000223 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
224 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000225 proposed by Sean McBride:
226 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
227
2282007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
229
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000230 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
231 setjmp, proposed by Sean McBride:
232 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
233
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00002342007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
235
Werner Lembergc9f6c662007-03-21 13:30:14 +0000236 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
237 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
238 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000239
David Turner74c34eb2007-03-18 07:19:31 +00002402007-03-18 David Turner <david@freetype.org>
241
Werner Lembergc9f6c662007-03-21 13:30:14 +0000242 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
243 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000244
Werner Lembergc9f6c662007-03-21 13:30:14 +0000245 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000246
David Turner89020d92007-03-17 17:48:57 +00002472007-03-17 David Turner <david@freetype.org>
248
Werner Lembergc9f6c662007-03-21 13:30:14 +0000249 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
250 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000251
Werner Lemberg25d592a2007-03-09 07:59:35 +00002522007-03-09 Werner Lemberg <wl@gnu.org>
253
254 * Version 2.3.2 released.
255 =========================
256
257
258 Tag sources with `VER-2-3-2'.
259
260 * builds/win32/visualc/index.html,
261 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000262 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000263 s/231/232/.
264
David Turner3a51afa2007-03-08 10:50:38 +00002652007-03-08 David Turner <david@freetype.org>
266
Werner Lemberg25d592a2007-03-09 07:59:35 +0000267 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000268
Werner Lemberg25d592a2007-03-09 07:59:35 +0000269 * builds/unix/configure.raw (version_info): Set to 9:13:3.
270
271 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
272
273 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000274
Werner Lemberg1e259de2007-03-08 15:39:21 +0000275 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
276 function to work properly, over-writing user-provided buffers in
277 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000278
David Turner121cad52007-03-08 16:43:50 +0000279
Werner Lemberg3d92f082007-03-06 11:59:24 +00002802007-03-05 Werner Lemberg <wl@gnu.org>
281
282 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
283 macro for `strstr'.
284
285 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
286 `trick_names', as suggested by Ivan Nincic.
287
David Turner085bc6e2007-03-05 17:40:03 +00002882007-03-05 David Turner <david@freetype.org>
289
Werner Lembergd112cf02007-03-06 12:06:56 +0000290 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
291 case FT_Init_FreeType fails for some reason. Problem reported by
292 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000293
Werner Lembergd112cf02007-03-06 12:06:56 +0000294 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
295 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
296 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
297 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000298
Werner Lembergd112cf02007-03-06 12:06:56 +0000299 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
300 signed values, not unsigned ones. Problem reported by Johannes
301 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000302
David Turner601aefe2007-02-21 16:47:49 +00003032007-02-21 David Turner <david@freetype.org>
304
Werner Lembergde5e6862007-02-25 21:06:43 +0000305 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
306 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000307
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00003082007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
309
310 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
311 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
312 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
313
Werner Lemberga0915172007-02-16 08:12:50 +00003142007-02-16 Werner Lemberg <wl@gnu.org>
315
316 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
317 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
318
David Turner2c4500e2007-02-14 15:08:47 +00003192007-02-14 David Turner <david@freetype.org>
320
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000321 It seems that the following changes fix most of the known
322 interpreter problems with my fonts, but more testing is needed,
323 though.
324
325 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
326 (TT_MulFix14): Rewrite.
327 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
328 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000329
Werner Lembergc6a14082007-02-12 22:08:15 +00003302007-02-12 Werner Lemberg <wl@gnu.org>
331
332 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
333 warnings.
334
335 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
336 (bdf_interpret_style): Ditto.
337
David Turnerc0f9c4a2007-02-12 14:55:03 +00003382007-02-12 David Turner <david@freetype.org>
339
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000340 Simplify projection and dual-projection code interface.
341
Werner Lemberg406d25f2007-02-12 22:01:18 +0000342 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
343 FT_Vector' as argument type.
344 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
345 Updated.
346 (CUR_fast_project, CUR_fast_dualproj): New macros.
347 (Project, Dual_Project, Project_x, Project_y): Updated.
348 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
349 macros.
350
351
352 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
353 adjustments for the non-light auto-hinted modes. Gets rid of
354 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000355
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000356 * src/autofit/aflatin.c (af_latin_hints_link_segments,
357 af_latin_hints_compute_edges): Slight optimization of the segment
358 linker and better handling of serif segments to get rid of broken
359 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000360
David Turnerc0f9c4a2007-02-12 14:55:03 +0000361
Werner Lemberg442bfb82007-02-12 21:44:10 +0000362 Introduce new string functions and the corresponding macros to get
363 rid of various uses of strcpy and other `evil' functions, as well as
364 to simplify a few things.
365
366 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
367 ft_mem_strcpyn): New declarations.
368 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
369 macros.
370 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
371 functions.
372
373 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
374 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
375 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
376 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
377 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
378 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
379 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
380 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000381
Werner Lemberg406d25f2007-02-12 22:01:18 +0000382 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
383
Werner Lemberg582067d2007-02-11 15:03:05 +00003842007-02-11 Werner Lemberg <wl@gnu.org>
385
386 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
387 non-spacing glyphs.
388
Werner Lemberg8f474532007-02-07 08:31:01 +00003892007-02-07 Tom Parker <palfrey@tevp.net>
390
391 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
392 pointer.
393
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00003942007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
395
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000396 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
397 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000398 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000399 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
400 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
401 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
402 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000403
404 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
405 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000406 * builds/mac/ftmac.c: Ditto.
407
4082007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
409
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000410 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000411 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000412 #include <ftmac.c>.
413
4142007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
415
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000416 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
417 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
418 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
419 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
420 FT_GetFilePath_From_Mac_ATS_Name.
421 * builds/mac/ftmac.c: Ditto.
422
4232007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
424
Werner Lembergdcbb7082007-02-08 08:54:09 +0000425 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000426 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
427 for passing to FT_New_Face_From_FSSpec.
428
4292007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
430
Werner Lembergdcbb7082007-02-08 08:54:09 +0000431 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000432 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000433
434 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
435 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000436 * builds/mac/ftmac.c (OS_INLINE): Ditto.
437
Werner Lemberg313d7772007-02-01 08:10:45 +00004382007-02-01 Werner Lemberg <wl@gnu.org>
439
440 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
441 Explain why applications shouldn't use it. Found by Alexei.
442
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00004432007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000444
445 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
446 message.
447
448 * src/gxvalid/gxvmort1.c
449 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
450 message.
451
Werner Lemberg53935932007-01-31 08:53:02 +00004522007-01-31 Werner Lemberg <wl@gnu.org>
453
454
455 * Version 2.3.1 released.
456 =========================
457
458
459 Tag sources with `VER-2-3-1-FINAL'.
460
461 * builds/win32/visualc/freetype.dsp,
462 builds/win32/visualc/freetype.vcproj: s/230/231/.
463 * builds/win32/visualc/index.html: s/221/231/.
464
465 * vms_make.com: Add `ftgasp'.
466
David Turnera7ee6082007-01-30 10:33:53 +00004672007-01-30 David Turner <david@freetype.org>
468
Werner Lemberg53935932007-01-31 08:53:02 +0000469 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000470
Werner Lemberg53935932007-01-31 08:53:02 +0000471 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000472
Werner Lemberg25d592a2007-03-09 07:59:35 +0000473 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000474 s/2.3.0/2.3.1/.
475
476 * builds/unix/configure.raw (version_info): Set to 9:12:3.
477
478
479 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
480 (af_loader_load_g): Disable the warper (i.e., the light hinting
481 improvements) to make a 2.3.1 bugfix release before introducing a
482 new feature. This should give us more time to tune and improve the
483 warper for the next release.
484
485 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000486
David Turnerd91eebd2007-01-26 15:05:41 +00004872007-01-25 David Turner <david@freetype.org>
488
Werner Lembergbf241762007-01-26 16:08:49 +0000489 For light auto-hinting, improve glyph advance widths and resurrect
490 normal/full hinting to its normal quality.
491
492 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
493 and `xmax_delta'.
494 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
495 and `xmax_delta'.
496
497 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
498 preprocessor conditional with if-clause, handling both light and
499 normal mode.
500
501 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
502 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000503
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00005042007-01-25 Werner Lemberg <wl@gnu.org>
505
506 * docs/release: Updated -- Savannah uses a new uploading scheme.
507
David Turnera42567b2007-01-25 12:23:37 +00005082007-01-25 David Turner <david@freetype.org>
509
Werner Lembergd7855662007-01-25 13:53:56 +0000510 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000511
Werner Lembergd7855662007-01-25 13:53:56 +0000512 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
513 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
514 functions.
David Turnera42567b2007-01-25 12:23:37 +0000515
Werner Lembergd7855662007-01-25 13:53:56 +0000516 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000517
Werner Lembergb1be9e82007-01-25 11:50:00 +00005182007-01-25 Werner Lemberg <wl@gnu.org>
519
520 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000521 correctly in a sanity check. Since this function is only used to
522 load local and global functions, any charstring that called the last
523 local/global function would fail otherwise. This fixes Savannah bug
524 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000525
526 * docs/CHANGES: Document it.
527
David Turnerb6de8d12007-01-23 15:51:50 +00005282007-01-23 David Turner <david@freetype.org>
529
Werner Lembergb1be9e82007-01-25 11:50:00 +0000530 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
531 prevented compilation when disabling both the unpatented and the
532 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000533
Werner Lembergb1be9e82007-01-25 11:50:00 +0000534
535 Fix and enable the warper to improve `light' hinting mode. This is
536 not necessarily a final version, but it seems to work well.
537
538 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
539 Disable code.
540 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
541 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
542
543 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
544 (af_warper_compute_line_best): Fix array size of `scores'.
545 (af_warper_compute): Better handling of border cases.
546 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
547 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000548
Werner Lemberg011d1112007-01-21 09:36:00 +00005492007-01-21 Werner Lemberg <wl@gnu.org>
550
Werner Lemberg42b63b22007-01-21 21:01:33 +0000551 * ChangeLog: Split off older entries into...
552 * ChangeLog.22: This new file.
553
5542007-01-21 Werner Lemberg <wl@gnu.org>
555
Werner Lemberg555258f2007-01-21 09:46:37 +0000556 * docs/CHANGES: Document SHZ fix.
557
5582007-01-21 George Williams <gww@silcom.com>
559
560 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
561 points.
562
5632007-01-21 Werner Lemberg <wl@gnu.org>
564
Werner Lemberg011d1112007-01-21 09:36:00 +0000565 * src/sfnt/ttmtx.c (tt_face_get_metrics)
566 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
567
Werner Lemberg87a5a432007-01-17 12:44:39 +00005682007-01-17 Werner Lemberg <wl@gnu.org>
569
Werner Lembergb8003292007-01-17 12:56:25 +0000570
571 * Version 2.3.0 released.
572 =========================
573
574
575 Tag sources with `VER-2-3-0-FINAL'.
576
5772007-01-17 Werner Lemberg <wl@gnu.org>
578
Werner Lemberg87a5a432007-01-17 12:44:39 +0000579 * docs/release: Updated.
580
David Turner22122722007-01-16 20:06:44 +00005812007-01-16 David Turner <david@freetype.org>
582
Werner Lemberg87a5a432007-01-17 12:44:39 +0000583 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
584 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
585 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
586 warnings.
David Turner22122722007-01-16 20:06:44 +0000587
Werner Lemberg267e1d72007-01-15 07:48:09 +00005882007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
589
590 * builds/amiga/makefile, builds/amiga/makefile.os4,
591 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
592
593 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
594
Werner Lemberg8c4120d2007-01-15 06:42:40 +00005952007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
596
597 Fix various compiler warnings.
598
599 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
600 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
601 s/index/strike_index/.
602 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
603
604 * src/gxvalid/gxvmorx5.c
605 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
606
607 * src/truetype/ttinterp.c (Compute_Point_Displacement),
608 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
609 uninitialized variables.
610
Werner Lemberg6164a9d2007-01-13 23:01:36 +00006112007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
612
613 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
614
Werner Lemberg281c1482007-01-13 22:50:51 +00006152007-01-13 Werner Lemberg <wl@gnu.org>
616
617 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
618 versions up to 0x3FF without complaining.
619
Werner Lembergac250b22007-01-13 14:01:36 +00006202007-01-13 Derek Clegg <dclegg@apple.com>
621
622 Add FT_Get_PS_Font_Info interface to CFF driver.
623
624 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
625 (CFF_FontRec): Add `font_info' field.
626
627 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
628 (cff_font_done): Free font->font_info if necessary.
629
630 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
631 (cff_service_ps_info): Register cff_ps_get_font_info.
632
Werner Lemberg23df31a2007-01-13 08:45:00 +00006332007-01-13 Werner Lemberg <wl@gnu.org>
634
635 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
636 with C++ compiler.
637
638 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
639 af_glyph_hints_dump_edges): Ditto.
640
641 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
642 `modules.cfg').
643
644 * src/sfnt/ttsbit0.h: Remove.
645
646 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
647
Werner Lemberg27cf9de2007-01-13 07:34:23 +00006482007-01-12 David Turner <david@freetype.org>
649
650 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
651 bug in the bitmap emboldener if the pitch of the source bitmap is
652 much larger than its width.
653
654 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
655 compilation warning.
656
Werner Lemberg6d96d312007-01-12 10:30:19 +00006572007-01-12 Werner Lemberg <wl@gnu.org>
658
659 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
660 `automake' CVS module from sources.redhat.com.
661
Werner Lemberg17432b52007-01-12 09:28:44 +00006622007-01-11 Werner Lemberg <wl@gnu.org>
663
664 * src/type1/t1load.c (is_space): Removed.
665 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
666 (parse_charstrings): Use IS_PS_TOKEN.
667
668
669 * autogen.sh: Avoid bash specific syntax.
670
David Turner038ace22007-01-11 15:00:59 +00006712007-01-11 David Turner <david@freetype.org>
672
Werner Lemberg17432b52007-01-12 09:28:44 +0000673 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +0000674
Werner Lemberg17432b52007-01-12 09:28:44 +0000675 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +0000676
Werner Lemberg17432b52007-01-12 09:28:44 +0000677 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
678 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +0000679 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +0000680
Werner Lemberg17432b52007-01-12 09:28:44 +0000681 * autogen.sh: Small fix to get it working on Mac OS X properly:
682 The issue is that GNU libtool is called `glibtool' on this platform,
683 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +0000684
David Turner2628ea92007-01-10 13:15:56 +00006852007-01-10 David Turner <david@freetype.org>
686
Werner Lemberg17432b52007-01-12 09:28:44 +0000687 * all-sources: Tag all sources with VER-2-3-0-RC1 and
688 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +0000689
Werner Lemberg17432b52007-01-12 09:28:44 +0000690 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
691 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
692 version number to 2.3.0.
693
694 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
695 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +0000696
697 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +0000698 include/freetype/ftlcdfil.h: Update reference documentation with
699 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +0000700
Werner Lemberg17432b52007-01-12 09:28:44 +0000701 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
702 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +0000703
Werner Lembergbf02d392007-01-10 07:07:37 +00007042007-01-10 Derek Clegg <dclegg@apple.com>
705
706 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
707 values.
708
David Turnerf48b60e2007-01-08 15:15:32 +00007092007-01-08 David Turner <david@freetype.org>
710
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000711 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +0000712
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000713 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
714 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +0000715 corresponding to a given character pixel size.
716
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000717 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
718 `gasp' table, in order to avoid potential problems with later
719 versions.
David Turnerf48b60e2007-01-08 15:15:32 +0000720
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000721 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
722 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +0000723
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000724 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
725 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
726 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
727 default build.
David Turnerf48b60e2007-01-08 15:15:32 +0000728
Werner Lemberge6b6f372007-01-07 00:06:47 +00007292007-01-07 Werner Lemberg <wl@gnu.org>
730
Werner Lembergb8004d22007-01-07 09:13:38 +0000731 * src/cid/cidparse.c (cid_parser_new): Improve error message for
732 Type 11 fonts.
733 Scan for `/sfnts' token.
734
7352007-01-07 Werner Lemberg <wl@gnu.org>
736
737 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +0000738
Werner Lembergbe5f7972007-01-06 07:51:48 +00007392007-01-06 Werner Lemberg <wl@gnu.org>
740
741 * src/cff/cffload.c (cff_index_init): Remove unused variable.
742 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
743
David Turnera8cf42b2007-01-04 16:46:46 +00007442007-01-04 David Turner <david@freetype.org>
745
Werner Lembergf6294392007-01-06 07:47:45 +0000746 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
747 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +0000748
Werner Lembergf6294392007-01-06 07:47:45 +0000749
750 Do not allocate interpreter-specific tables in memory if we are not
751 going to load glyphs with the bytecode interpreter anyway.
752
753 * src/truetype/ttgload.c (tt_loader_init): Load execution context
754 only if glyph is hinted.
755 Updated.
756 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
757 and `cvs_ready'.
758 Add `tt_size_ready_bytecode' declaration.
759 * src/truetype/ttobjs.c (tt_size_done_bytecode,
760 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
761 (tt_size_init): Move most code into `tt_size_init_bytecode'.
762 (tt_size_done): Move most code into `tt_size_done_bytecode'.
763 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000764
David Turner91a34022007-01-05 14:47:08 +0000765
Werner Lembergf6294392007-01-06 07:47:45 +0000766 Don't extract the metrics table from the SFNT font file. Instead,
767 reparse it on each glyph load. The runtime difference is not
768 noticeable, and it can save a lot of heap memory when memory-mapped
769 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +0000770
Werner Lembergf6294392007-01-06 07:47:45 +0000771 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
772 `horz_metrics_offset' and `vert_metrics_ofset'.
773 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
774 Updated.
775
776
777 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
778
779
780 Do not load the CFF index offsets into memory, since this wastes a
781 *lot* of heap memory with large Asian CFF fonts. There is no
782 significant performance loss.
783
784 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
785 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
786 `data_size'.
787 (CFF_CharsetRec): Add field `num_glyphs'.
788
789 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
790 cff_charset_cid_to_gindex): New functions.
791 (cff_new_index): Renamed to...
792 (cff_index_init): This. Update all callers.
793 Updated -- some code has been moved to `cff_index_load_offsets'.
794 (cff_done_index): Renamed to...
795 (cff_index_done): This. Update all callers.
796 (cff_index_get_pointers, cff_index_access_element): Updated to use
797 stream offsets.
798 (cff_charset_compute_cids): Set `num_glyphs' field.
799 (cff_encoding_load): Updated.
800
801 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +0000802
8032007-01-04 David Turner <david@freetype.org>
804
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000805 * docs/INSTALL.UNIX: Simplify some parts, add reference to
806 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +0000807
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000808 * README.CVS: Add common problem description and solution
809 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +0000810
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000811 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +0000812
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000813 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +0000814
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000815 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +0000816
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000817 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
818 (TWorker): This.
819 Remove `count_table' and `memory'.
820 Make `grays' a pointer.
821 (TRaster): New structure.
822 (count_table): New static array.
823 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
824 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
825 ft_black_set_mode, ft_black_render): Updated.
826 (ft_black_init): Don't initialize `count_table'.
827 (ft_black_reset): Use the render pool. This saves about 6KB of
828 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +0000829
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000830 * src/smooth/ftgrays.c (TRaster): Replaced with...
831 (TWorker): This.
832 Remove `memory'.
833 (TRaster): New structure.
834
835 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
836 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
837 gray_render_span, gray_raster_render): Updated.
838 (gray_raster_reset): Use the render pool. This saves about 6KB of
839 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +0000840
David Turner8a6c44e2007-01-04 17:03:11 +0000841 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
842 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000843 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
844 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
845 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +0000846
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000847 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
848 Remove a typo that results in no hinting and a memory leak with some
849 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +0000850
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000851 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +0000852 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000853 CFF_Faces in it. We need to close all faces before destroying the
854 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +0000855
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00008562007-01-02 Werner Lemberg <wl@gnu.org>
857
858 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
859 Remove compiler warning.
860
David Turner9207e002007-01-02 16:58:13 +00008612007-01-02 David Turner <david@freetype.org>
862
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000863 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +0000864
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00008652006-12-31 Masatake YAMATO <jet@gyve.org>
866
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000867 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
868 function.
869 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000870 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +0000871 `gxv_kern_subtable_fmt0_pairs_validate'.
872
David Turner115b4422006-12-22 11:37:05 +00008732006-12-22 David Turner <david@freetype.org>
874
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000875 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
876 warnings.
David Turner115b4422006-12-22 11:37:05 +0000877
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000878 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
879 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +0000880
Werner Lemberg4755bf72006-12-16 08:58:44 +00008812006-12-16 Anders Kaseorg <anders@kaseorg.com>
882
883 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
884 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
885
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00008862006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
887
Werner Lemberg9b774e22007-01-16 06:11:27 +0000888 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000889 sync with the modification by Jens Claudius on 2006-08-22; cf.
890 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 +0000891
8922006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
893
894 * src/base/ftmac.c: Specialized for Mac OS X only.
895 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
896 * builds/unix/configure.raw: Ditto. When explicit switches for
897 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
898 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
899
9002006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
901
902 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
903 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
904 instead of src/base/ftmac.c
905 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
906 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
907 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
908 that cannot be built at present.
909
9102006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
911
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000912 * src/base/ftobjs.c: Improvement of resource fork handler for
913 POSIX, cf.
914 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +0000915 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
916 format or .dfont, to simulate the face index number counted by ftmac.c.
917 (IsMacResource): Return the number of scalable faces correctly.
918
Werner Lembergec5b4502006-12-10 07:51:38 +00009192006-12-10 Werner Lemberg <wl@gnu.org>
920
921 * builds/toplevel.mk (version): Protect against `distclean' target.
922
Werner Lembergb26b3142006-12-09 20:01:43 +00009232006-12-09 Werner Lemberg <wl@gnu.org>
924
925 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
926 or `type'.
927
928 * builds/freetype.mk (version): Extracted from freetype.h, using
929 GNU make's built-in string functions.
930 (refdoc): Use $(version) instead of static version number.
931
Werner Lemberg4e1d6c02006-12-09 08:20:37 +00009322006-12-08 Werner Lemberg <wl@gnu.org>
933
934 * builds/toplevel.mk (dist): Extract version number from freetype.h.
935
Werner Lemberg15c29502006-12-09 07:29:54 +00009362006-12-08 Vladimir Volovich <vvv@vsu.ru>
937
938 * src/tools/apinames (State): Remove final comma in structure -- xlc
939 v5 under AIX 4.3 doesn't like this.
940
David Turnerdbf3b432006-12-07 21:18:09 +00009412006-12-07 David Turner <david@freetype.org>
942
Werner Lemberg256a3512006-12-08 06:49:33 +0000943 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
944 to the spacing of auto-fitted glyphs. This only impacts rare
945 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +0000946
Werner Lemberg11171312006-12-03 09:43:40 +00009472006-12-03 Werner Lemberg <wl@gnu.org>
948
949 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
950
Werner Lemberg960ba592006-12-01 08:20:47 +00009512006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +0000952
Werner Lemberg960ba592006-12-01 08:20:47 +0000953 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
954 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
955 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +0000956
David Turner80658e52006-11-28 08:09:20 +0000957
Werner Lemberg960ba592006-12-01 08:20:47 +0000958 * include/freetype/ftxf86.h: Fix and extend comment so that it
959 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +0000960
Werner Lemberg960ba592006-12-01 08:20:47 +0000961 * include/freetype/ftchapters.h: Add `font_format' section.
962
963
964 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
965 to TOC in index page.
966
9672006-11-28 David Turner <david@freetype.org>
968
969 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
970 trying to render into a zero-width/height bitmap, not an error code.
971
972 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
973
974 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
975 ones instead.
976
977 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
978 variable.
David Turner80658e52006-11-28 08:09:20 +0000979
Werner Lemberg8636c292006-11-26 22:28:13 +00009802006-11-26 Pierre Hanser <hanser@club-internet.fr>
981
982 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
983
Werner Lemberg960ba592006-12-01 08:20:47 +00009842006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +0000985
Werner Lemberg960ba592006-12-01 08:20:47 +0000986 * src/autofit/afhints.c (af_glyph_hints_dump_points,
987 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
988 Add stubs to link the `ftgrid' test program when debugging is
989 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +0000990
Werner Lemberg960ba592006-12-01 08:20:47 +00009912006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +0000992
993 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +0000994 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
995
996 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
997 Emit more sensible information.
998
999 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1000
1001 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1002 rounding of blue values.
1003 (af_latin_hints_compute_segments): Hint segment heights.
1004 (af_latin_hints_link_segments): Reduce `len_score' value.
1005 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1006 value and use `height' member for comparisons.
1007 (af_latin_hint_edges): Extend logging message.
1008 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001009
Werner Lemberg91959bf2006-11-22 10:36:55 +000010102006-11-22 Werner Lemberg <wl@gnu.org>
1011
1012 Fix Savannah bug #15553.
1013
1014 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1015 program after a change from mono to grayscaling (and vice versa).
1016 Use correct constant for comparison to get `exec->grayscale'.
1017
Werner Lemberg913a3652006-11-19 09:19:17 +000010182006-11-18 Werner Lemberg <wl@gnu.org>
1019
1020 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001021 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001022 This patch fixes Savannah bug #18301.
1023
1024 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1025 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1026 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1027 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1028 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1029 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1030 (FNT_Load_Glyph): Check validity of `glyph_index'.
1031
David Turner7bab6ae2006-11-13 11:25:06 +000010322006-11-13 David Turner <david@freetype.org>
1033
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001034 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1035 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001036
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001037 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1038 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1039 when building the library to change the default LCD filter to be
1040 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001041
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001042 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001043
David Turner8765c712006-11-10 16:49:42 +000010442006-11-10 David Turner <david@freetype.org>
1045
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001046 * src/smooth/ftsmooth.c: API change for the LCD
1047 filter. The FT_LcdFilter value is an enumeration describing which
1048 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1049 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1050 algorithm which produces strong color fringes for everything
1051 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001052
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001053 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1054 second parameter to an enum type.
1055
1056 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1057 (_ft_lcd_filter): Rename to...
1058 (_ft_lcd_filter_fir): This.
1059 Update parameters.
1060 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1061 (FT_Library_Set_LcdFilter): Update parameters.
1062 Handle new filter modes.
1063
1064 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1065 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1066 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1067 callback and update other fields.
1068
1069 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1070 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1071 Other minor improvements.
1072
1073 * src/autofit/aflatin.c: Various tiny improvements that drastically
1074 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1075 (af_latin_hints_compute_edges): Fix typo.
1076 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001077
David Turner4e9cc3c2006-11-09 16:31:52 +000010782006-11-09 David Turner <david@freetype.org>
1079
Werner Lemberg49c77a82006-11-09 21:51:57 +00001080 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1081 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001082
Werner Lemberg5e430892006-11-07 09:35:03 +000010832006-11-07 Zhe Su <james.su@gmail.com>
1084
1085 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1086 also.
1087
Werner Lemberg111b5ae2006-11-03 09:40:12 +000010882006-11-03 Werner Lemberg <wl@gnu.org>
1089
1090 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1091
David Turner40604742006-11-02 16:37:35 +000010922006-11-02 David Turner <david@freetype.org>
1093
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001094 Add a few tweaks to better handle serif fonts.
1095 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001096
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001097 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1098 segments that are less than 1.5 pixels high. This gets rid of
1099 *many* corner cases with serifs.
1100 (af_latin_align_linked_edge): Add logging message.
1101 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1102 Add logging messages.
1103 Handle AF_EDGE_FLAG flag specially.
1104
1105 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1106 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1107
1108 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1109 Update external declarations.
1110 (af_corner_orientation, af_corner_is_flat): Replaced by...
1111
1112 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1113 ft_corner_is_flat): These declarations.
1114
1115 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1116 Comment out. Replaced by...
1117
1118 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1119 These functions. Update all callers.
1120 (FT_Add64) [!FT_LONG64]: Simplify.
1121
1122 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1123 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1124 production of garbage by missing lots of segments.
1125
1126 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1127
1128 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1129 [AF_DEBUG]: Set _af_debug_hints.
1130
1131
1132 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1133 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1134 and ft_corner_orientation.
1135
1136
1137 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001138
Werner Lemberge88c5262006-10-24 05:46:26 +000011392006-10-24 Werner Lemberg <wl@gnu.org>
1140
1141 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1142
1143 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1144 as argument.
1145
David Turnera1861392006-10-23 16:00:59 +000011462006-10-23 Zhe Su <zsu@novell.com>
1147
Werner Lemberg715e96e2006-10-24 05:28:45 +00001148 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1149 better deal with broken Asian fonts with strange glyphs, having
1150 self-intersections and other peculiarities. The used algorithm is
1151 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001152
David Turnere140f142006-10-23 08:56:57 +000011532006-10-23 David Turner <david@freetype.org>
1154
Werner Lemberg715e96e2006-10-24 05:28:45 +00001155 Speed up the CFF font loader. With some large CFF fonts,
1156 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001157
Werner Lemberg715e96e2006-10-24 05:28:45 +00001158 * src/cff/cffload.c (cff_get_offset): Removed.
1159 (cff_new_index): Inline functionality of `cff_get_offset'.
1160 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1161 (cff_charset_done): Call `cff_charset_free_cids'.
1162 (cff_charset_load): Call `cff_charset_compute_cids'.
1163 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1164
1165 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1166 with FT_NEXT_XXX.
1167
1168
1169 Speed up the Postscript hinter, with more than 100% speed increase
1170 on my machine.
1171
1172 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1173 psh_corner_orientation): New functions.
1174 (psh_glyph_compute_inflections): Merge loops for efficiency.
1175 Use `psh_corner_orientation'.
1176 (psh_glyph_init): Use `psh_corner_is_flat'.
1177 (psh_hint_table_find_strong_point): Renamed to...
1178 (psh_hint_table_find_strong_points): This.
1179 Rewrite, adding argument to handle all points at once.
1180 Update all callers.
1181 (PSH_MAX_STRONG_INTERNAL): New macro.
1182 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001183
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000011842006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1185
1186 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001187 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001188
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000011892006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1190
1191 * docs/INSTALL.CROSS: New document file for cross-building.
1192
1193 * builds/unix/configure.raw: Preliminary cross-building support.
1194 Find native C compiler and pass it by CC_BUILD, and
1195 find suffix for native executable and pass it by EXEEXT_BUILD.
1196 Also suffix for target executable is passed by EXEEXT.
1197
Werner Lembergb9e6d692006-10-15 08:58:40 +00001198 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1199 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001200 CC_BUILD and EXEEXT_BUILD.
1201
Werner Lembergb9e6d692006-10-15 08:58:40 +00001202 * builds/exports.mk (APINAMES_EXE): Change the extension for
1203 apinames from the suffix for target (E) to that for building host
1204 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001205
Werner Lemberg82a07e92006-10-12 06:20:44 +000012062006-10-12 Werner Lemberg <wl@gnu.org>
1207
1208 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1209 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1210 which reference those files.
1211
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000012122006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1213
Werner Lembergb9e6d692006-10-15 08:58:40 +00001214 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1215 embedded in freetype2.pc and freetype-config. Use it to record
1216 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001217
1218 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1219
1220 * builds/unix/freetype-config.in: Ditto.
1221
Werner Lemberg28e17d92006-10-11 17:27:47 +000012222006-10-11 Werner Lemberg <wl@gnu.org>
1223
1224 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1225 development.
1226
Jens Claudius336d2292006-10-03 08:53:37 +000012272006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1228
1229 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1230 argument to ft_setjmp.
1231
1232 * include/freetype/internal/ftvalid.h: Add comment that
1233 ft_validator_run must not be used.
1234
Werner Lemberg2863cfa2006-10-01 17:04:00 +000012352006-10-01 Werner Lemberg <wl@gnu.org>
1236
1237 * src/base/ftbase.c: Undo change from 2006-09-30.
1238
1239 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1240
12412006-09-30 David Turner <david@freetype.org>
1242
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001243 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1244 s/unpatented_hinting/ignore_unpatented_hinter/.
1245 Update all callers.
1246
1247 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1248 auto-hinting shall be used or not.
1249
1250 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001251
Werner Lemberg2863cfa2006-10-01 17:04:00 +000012522006-09-30 Werner Lemberg <wl@gnu.org>
1253
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001254 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1255 in use).
1256
1257 * src/base/ftbase.c: Include `ftlcdfil.c'.
1258
Werner Lemberg9b15ea32006-09-29 18:22:11 +000012592006-09-29 Werner Lemberg <wl@gnu.org>
1260
1261 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1262 overlapping segments. Bug reported by Stefan Koch.
1263
David Turnerad830712006-09-27 16:20:59 +000012642006-09-28 David Turner <david@freetype.org>
1265
Werner Lemberg2c002e12006-09-29 21:31:53 +00001266 Fix a bug in the automatic unpatented hinting support which prevents
1267 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001268
Werner Lemberg2c002e12006-09-29 21:31:53 +00001269 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1270 s/force_autohint/unpatented_hinting/. Update all callers.
1271
1272 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1273
1274 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001275
David Turner8a317cf2006-09-27 07:52:48 +000012762006-09-27 David Turner <david@freetype.org>
1277
Werner Lemberg2c002e12006-09-29 21:31:53 +00001278 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001279
David Turner8a317cf2006-09-27 07:52:48 +00001280
David Turnere140f142006-10-23 08:56:57 +00001281 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001282 In a default build, the function `FT_Library_SetLcdFilter' returns
1283 `FT_Err_Unimplemented_Feature'; you need to #define
1284 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1285 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001286
Werner Lemberg2c002e12006-09-29 21:31:53 +00001287 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001288
Werner Lemberg2c002e12006-09-29 21:31:53 +00001289 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1290 typedef.
1291 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1292 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001293
Werner Lemberg2c002e12006-09-29 21:31:53 +00001294 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1295 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001296
Werner Lemberg2c002e12006-09-29 21:31:53 +00001297 Handle subpixel rendering.
1298 Simplify function.
1299 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1300 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1301
1302 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1303 pointing to <freetype/ftlcdfil.h>.
1304
1305 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1306 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1307
1308 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001309
Werner Lemberge20df4a2006-09-27 06:29:21 +000013102006-09-26 David Bustin
1311
1312 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1313 correctly. Reported as Savannah bug #17843.
1314
David Turner6f8c6222006-09-26 15:42:44 +000013152006-09-26 David Turner <david@freetype.org>
1316
Werner Lemberg110246c2006-09-26 21:55:44 +00001317 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1318 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1319 horizontal and vertical hinting for the purpose of debugging the
1320 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001321
Werner Lemberg110246c2006-09-26 21:55:44 +00001322 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1323 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001324
Werner Lemberg110246c2006-09-26 21:55:44 +00001325 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1326
1327 * include/freetype/config/ftoption.h, devel/ftoption.h
1328 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1329 we want to compile LCD-optimized rendering code (à la ClearType) or
1330 not. The macro *must* be disabled in default builds of the library
1331 for patent reasons.
1332
1333 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1334 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1335 isn't defined at compile time. This only changes the content of the
1336 rendered glyph to match the one of normal gray-level rendering,
1337 hence clients should not need to be modified.
1338
1339 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001340
Werner Lemberg745ff2c2006-09-19 05:48:02 +000013412006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1342
1343 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1344 LWFN fails and both are available.
1345
David Turnerf3050052006-09-11 12:00:32 +000013462006-09-11 David Turner <david@freetype.org>
1347
Werner Lembergf9644552006-09-12 13:48:10 +00001348 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1349 report their English names through an Apple Roman
1350 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001351
Werner Lembergf9644552006-09-12 13:48:10 +00001352 If the font uses another name entry with language_id == English, it
1353 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001354
Werner Lembergf9644552006-09-12 13:48:10 +00001355 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1356 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001357
Werner Lemberg36d2eab2006-09-05 19:24:34 +000013582006-09-05 Werner Lemberg <wl@gnu.org>
1359
1360 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001361 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001362 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1363 `HAN NOM B.ttf').
1364
1365 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1366
David Turner772e55d2006-09-05 09:45:15 +000013672006-09-05 David Turner <david@freetype.org>
1368
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001369 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001370
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001371 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1372 (TRaster): Remove `count_ex' and `count_ey'.
1373 (gray_find_cell): Remove 2nd and 3rd argument.
1374 (gray_alloc_cell): Merged with `gray_find_cell'.
1375 (gray_record_cell): Simplify.
1376 (gray_set_cell): Rewrite.
1377 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1378 (gray_render_span): Don't use FT_MEM_SET for small values.
1379 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1380 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1381 bitmap scanline.
1382 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001383
David Turneraa557a92006-09-04 16:42:44 +000013842006-09-04 David Turner <david@freetype.org>
1385
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001386 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1387 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001388
Werner Lemberg2d8629b2006-09-03 06:18:45 +000013892006-09-03 Werner Lemberg <wl@gnu.org>
1390
1391 * devel/ftoption.h: Synchronize with
1392 include/freetype/config/ftoption.h.
1393
1394 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1395 variable declaration.
1396 (gray_convert_glyph): Fix compiler warnings.
1397
David Turner6d79f212006-09-01 14:09:35 +000013982006-09-01 David Turner <david@freetype.org>
1399
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001400 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1401 to recognize a few fonts that require the automatic unpatented
1402 loader.
David Turnerbd502952006-09-01 19:05:24 +00001403
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001404 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1405 rasterizer. The speed improvement is between 15% and 25%, depending
1406 on the font data.
1407
1408 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1409 (TCell): Redefine.
1410 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1411 (gray_init_cells): Updated.
1412 (gray_find_cell, gray_alloc_cell): New functions.
1413 (gray_record_cell): Rewritten to use `gray_find_cell' and
1414 `gray_alloc_cell'.
1415 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1416 QSORT_THRESHOLD):
1417 Removed.
1418 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1419 gray_dump_cells): Removed.
1420 (gray_sweep): Rewritten.
1421 (gray_convert_glyph): Rewrite code which used one of the sorting
1422 functions.
1423 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001424
Werner Lembergd898aed2006-08-29 09:50:34 +000014252006-08-29 Dr. Werner Fink <werner@suse.de>
1426
1427 * configure: Make it possible to handle configure options which
1428 have strings containing spaces.
1429
14302006-08-27 David Turner <david@freetype.org>
1431
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001432 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1433 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1434 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1435
1436 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1437 src/truetype/truetype.c, src/truetype/ttdriver.c,
1438 src/truetype/ttgload.c, src/truetype/ttgload.h,
1439 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1440 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1441 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1442
1443 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1444 member `force_autohint'.
1445
1446 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1447
1448 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1449 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001450
Jens Claudiusa787f452006-08-27 11:26:18 +000014512006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1452
1453 Fix miscellaneous compiler warnings.
1454
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001455 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1456 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001457
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001458 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1459 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1460 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001461
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001462 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1463 volatileness of argument to ft_longjmp. Spotted by Werner
1464 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001465
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001466 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1467 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001468
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001469 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1470 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001471
Werner Lembergc4c35b72006-08-27 08:03:46 +000014722006-08-27 Werner Lemberg <wl@gnu.org>
1473
1474 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1475 Reported by Jens.
1476
Jens Claudius088e44e2006-08-22 14:24:30 +000014772006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001478
Jens Claudius088e44e2006-08-22 14:24:30 +00001479 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001480 about addresses of volatile objects passed as function arguments as
1481 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001482
Werner Lembergc4c35b72006-08-27 08:03:46 +00001483 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1484 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001485
1486 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1487 argument `table' a pointer to a volatile object.
1488
1489 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1490 argument `table' a pointer to a volatile object.
1491
Jens Claudius2652bd52006-08-18 17:20:37 +000014922006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1493
1494 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1495 variable `_sfnt' as volatile since it must keep its value across
1496 a call to ft_setjmp.
1497 (gxv_validate): Same for local variables `memory' and `valid'.
1498 (classic_kern_validate): Same for local variables `memory',
1499 `ckern', and `valid'.
1500
1501 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1502 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1503 `jstf', and 'valid'.
1504
1505 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1506 local variable `cmap'.
1507
David Turner9fbfc6a2006-08-16 09:11:31 +000015082006-08-16 David Turner <david@freetype.org>
1509
Werner Lemberg12342992006-08-19 11:18:09 +00001510 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1511 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001512
Werner Lemberg12342992006-08-19 11:18:09 +00001513 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1514 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001515
David Turner33f5f242006-08-16 16:50:55 +00001516
Werner Lemberg12342992006-08-19 11:18:09 +00001517 Improvements to native TrueType hinting. This is a first try,
1518 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1519
1520 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1521 `extra_points2'.
1522
1523 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1524 `orus'.
1525
1526 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1527 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1528 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1529 handle `extra_points2'.
1530
1531 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1532 Remove compiler warning.
1533 (cur_to_arg): Remove macro.
1534 (TT_Hint_Glyph): Updated.
1535 (TT_Process_Simple_Glyph): Handle `orus'.
1536
1537 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1538 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1539 (LOC_Ins_IUP): Renamed to...
1540 (IUP_WorkerRec): This.
1541 Add `orus' member.
1542 (Shift): Renamed to...
1543 (_iup_worker_shift): This.
1544 Updated.
1545 (Interp): Renamed to...
1546 (_iup_worker_interpolate): This.
1547 Updated to handle `orus'.
1548 (Ins_IUP): Updated.
1549
1550 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1551 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001552
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000015532006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1554
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001555 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001556 build ftvalid in ft2demos. This has been inadvertedly changed
1557 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001558
15592006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1560
Werner Lemberg12342992006-08-19 11:18:09 +00001561 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1562 Jens:
1563 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001564
Werner Lemberg12342992006-08-19 11:18:09 +00001565 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1566 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001567
1568 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1569
Jens Claudius9950adc2006-08-13 12:14:36 +000015702006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1571
Werner Lemberg12342992006-08-19 11:18:09 +00001572 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1573 T1_TOKEN_TYPE_KEY.
1574 (T1_FieldRec): Add `dict'.
1575 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1576 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1577 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001578
Werner Lemberg12342992006-08-19 11:18:09 +00001579 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1580 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001581
1582 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1583
1584 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001585 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1586 not T1_TOKEN_TYPE_ANY.
1587 (ps_parser_load_field): Make sure a token that should be a string or
1588 name is really a string or name.
1589 Avoid memory leak if a keyword has been already encountered and its
1590 value is overwritten.
1591 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1592 T1_FIELD_XXX.
1593 (parse_dict): Ignore keywords that occur in the wrong dictionary
1594 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001595
Werner Lemberg12342992006-08-19 11:18:09 +00001596 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1597 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001598
Werner Lemberg12342992006-08-19 11:18:09 +00001599 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1600 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001601
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000016022006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1603
1604 Move creation of field `buildchar' of T1_DecoderRec out of
1605 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1606 of it.
1607
1608 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1609 and `T1_Compute_Max_Advance'.
1610
1611 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1612 Remove field `face', add `len_buildchar'.
1613
1614 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1615 field `buildchar'.
1616
1617 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1618 finisher for T1_Decoder.
1619 (cid_slot_load_glyph): Do not ignore failure when initializing the
1620 T1_Decoder.
1621
1622 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
1623 Updated.
1624 (t1_decoder_init): Remove initialization of fields `buildchar' and
1625 `len_buildchar'.
1626 (t1_decoder_done): Remove deallocation of field `buildchar'.
1627
1628 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
1629 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
1630 T1_Decoder.
1631 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
1632 `len_buildchar'; make sure to call finisher for T1_Decoder even in
1633 case of error.
1634
1635 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
1636 `buildchar' of T1_FaceRec.
1637
1638 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
1639 `buildchar' of T1_FaceRec.
1640
Werner Lemberg1a380e02006-07-14 18:28:08 +000016412006-07-14 Jens Claudius <jens.claudius@yahoo.com>
1642
1643 * freetype2/include/freetype/internal/psaux.h: New macros
1644 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
1645 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
1646 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
1647 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
1648 (T1_DecoderRec): New fields `buildchar' and `face'.
1649 (IS_PS_TOKEN): New macro.
1650
1651 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
1652 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
1653
1654 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
1655 `default_design_vector' and `num_default_design_vector'.
1656
1657 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
1658 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
1659 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
1660
1661 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
1662 `token' argument to be NULL if we want only to count the number of
1663 tokens.
1664 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
1665 want to skip the array.
1666 (ps_tofixedarray): Allow `values' argument to be NULL if we just
1667 want to skip the array.
1668
1669 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
1670 support for (partially commented out) othersubrs 19-25, 27, and 28.
1671 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
1672 (t1_decoder_done): Release new field `buildchar'.
1673
1674 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
1675 functions.
1676 (t1_keywords): Register them.
1677 (t1_allocate_blend): Updated.
1678 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
1679 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
1680 (parse_dict): Remove `keyword_flags' argument.
1681 Use new macro IS_PS_TOKEN.
1682 Changed function so that later PostScript definitions override
1683 earlier ones.
1684 (t1_init_loader): Initialize new field `keywords_encountered'.
1685 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
1686 `len_buildchar'.
1687 Remove `keywords_flags'.
1688
1689 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
1690 `keywords_encountered'.
1691 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
1692
1693 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
1694 New entries for parsing /NDV, /CDV, and /DesignVector.
1695
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000016962006-07-07 Werner Lemberg <wl@gnu.org>
1697
1698 Add many checks to protect against malformed PCF files.
1699
1700 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
1701 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
1702
1703 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
1704 data and check that tables don't overlap (using a simple
1705 bubblesort).
1706 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
1707 New macros which give the size of data structures in the data
1708 stream.
1709 (pcf_get_properties): Use rough estimates to get array size limits.
1710 Assign `face->nprops' and `face->properties' earlier so that a call
1711 to PCF_Face_Done can do the clean-up in case of error.
1712 Protect against invalid string offsets.
1713 (pcf_get_metrics): Clean up code.
1714 Adjust tracing message levels.
1715 Use rough estimate to get array size limit.
1716 (pcf_get_bitmaps): Clean up code.
1717 Adjust tracing message levels.
1718 Use rough estimates to get offset limits.
1719 (pcf_get_encodings): Adjust tracing message level.
1720 (pcf_get_accel): Clean up code.
1721
Werner Lemberg8eb05252006-06-27 06:20:01 +000017222006-06-26 Werner Lemberg <wl@gnu.org>
1723
1724 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
1725 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
1726
Werner Lemberg24703f82006-06-26 19:12:51 +000017272006-06-26 Jens Claudius <jens.claudius@yahoo.com>
1728
1729 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
1730 (t1_decoder_parse_charstrings): Operator with
1731 opcode 15 pops its two arguments.
1732 Handle the case where the pops of an othersubr may be part of a
1733 subroutine.
1734 Handle unknown othersubrs gracefully: count their operands and let
1735 the following pop operators push the operands as the results onto
1736 the Type1 stack.
1737 Improve handling of setcurrentpoint opcode.
1738
Werner Lembergc011f4c2006-06-26 09:40:00 +000017392006-06-25 Jens Claudius <jens.claudius@yahoo.com>
1740
1741 The Type 1 parser now skips over top-level procedures as required
1742 for a `Simplified Parser'. This makes the parser more robust as it
1743 doesn't poke around in PostScript code. Additionally, it makes the
1744 FontDirectory hackery in src/type1/t1load.c unnecessary.
1745
1746 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
1747 (skip_literal_string): Add FT_Error as return value.
1748 Handle escapes better.
1749 (skip_string): Add FT_Error as return value.
1750 Don't set `parser->error' but return error code directly.
1751 (skip_procedure): New function.
1752 (ps_parser_skip_PS_token): Handle procedures.
1753 Update code.
1754 (ps_parser_to_token): Update code.
1755 (ps_parser_load_field_table): Handle bbox entries also.
1756
1757 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
1758 Add commented-out code for synthetic fonts.
1759
Werner Lemberga2da05c2006-06-25 06:27:27 +000017602006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
1761
1762 Fix two hinting bugs as reported in
1763 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
1764
1765 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
1766 `first_point' member.
1767
1768 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
1769 `first_point'.
1770 (TT_Process_Composite_Glyph): Always untouch points.
1771
1772 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
1773 `first_point' and `last_point' in case of composite glyphs.
1774 (Ins_IUP): Fix computation of `end_point'.
1775
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000017762006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1777
Werner Lembergef3d2c22006-06-25 06:07:14 +00001778 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
1779 Mac. The original patch was written by David Sachitano and Lawrence
1780 Coopet, and modified by Sean McBride for MPW compatibility. Only
1781 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001782
Werner Lembergef3d2c22006-06-25 06:07:14 +00001783 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
1784 Mac OS X platforms.
1785 (OS_INLINE): Undefine before definition.
1786 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
1787 FontAssociation table in FOND resource.
1788 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
1789 and fontSize at each entry of FontAssociation table in FOND
1790 resource.
1791 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
1792 ffStylOff of FamilyRecord header of FOND resource, the header,
1793 fontSize, fontID at each entry of FontAssociation table, and
1794 StyleMapping table.
1795 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001796
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000017972006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1798
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001799 Public API of TrueTypeGX, OpenType, and classic kern table validator
1800 should return `FT_Err_Unimplemented_Feature' if validation service
1801 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00001802 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001803 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
1804
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001805 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
1806 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
1807 unavailable.
1808 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
1809 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001810
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001811 * src/base/ftotval.c (FT_OpenType_Validate): Return
1812 FT_Err_Unimplemented_Feature if OpenType validation service is
1813 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001814
Werner Lembergb10e45a2006-06-08 07:32:56 +000018152006-06-08 Werner Lemberg <wl@gnu.org>
1816
1817 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
1818 errors.
1819
David Turner5f1f7502006-06-07 05:11:50 +000018202006-06-07 David Turner <david@freetype.org>
1821
Werner Lemberg7d48cb02006-06-08 06:00:08 +00001822 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
1823 (T1_Read_Metrics): Fix memory leak which happened when the metrics
1824 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00001825
David Turner457b4a82006-06-06 08:14:14 +000018262006-06-06 David Turner <david@freetype.org>
1827
Werner Lemberg4836f952006-06-06 12:54:08 +00001828 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00001829
Werner Lemberg4836f952006-06-06 12:54:08 +00001830 We change `ps_unicodes_init' so that it also takes a
1831 `free_glyph_name' callback to release the glyph names returned by
1832 `get_glyph_name'
1833
1834 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
1835 Renamed to ...
1836 (PS_GetGlyphNameFunc): This.
1837 (PS_FreeGlyphNameFunc): New typedef.
1838 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
1839
1840 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
1841 argument.
1842 (cff_sid_free_glyph_name): New function.
1843 (cff_cmap_unicode_init): Updated.
1844
1845 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
1846
1847 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
1848 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00001849
1850
David Turner09717352006-06-04 14:33:08 +000018512006-06-04 David Turner <david@freetype.org>
1852
Werner Lembergd724f202006-06-04 15:17:41 +00001853 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
1854 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001855 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00001856
Werner Lembergd724f202006-06-04 15:17:41 +00001857 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
1858 of `face->num_glyphs' which missed the last glyph, due to
1859 the offset-by-1 computation, since the PFR format doesn't
1860 guarantee that glyph index 0 corresponds to the `missing
1861 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00001862
Werner Lemberg33779662006-05-26 06:30:05 +000018632006-05-25 Werner Lemberg <wl@gnu.org>
1864
1865 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
1866 `-no-undefined'. Reported by Christian Biesinger.
1867
Werner Lemberg24773d62006-05-20 08:53:13 +000018682006-05-19 Brian Weed <bw@imaginengine.com>
1869
1870 * builds/win32/visualc/freetype.dsp: Release libraries no longer
1871 have debug information, and debug libraries use `C7 compatible'
1872 debug info.
1873
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000018742006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1875
Werner Lemberga6523a62006-05-20 08:47:01 +00001876 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00001877 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001878
Werner Lemberga6523a62006-05-20 08:47:01 +00001879 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
1880 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001881
1882 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00001883 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001884
18852006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1886
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00001887 * build/unix/configure.raw: Add a fallback to disable Carbon
1888 dependency, if configured with no options on Mac OS X.
1889
18902006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1891
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001892 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00001893 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001894 the second part of Savannah bug #16590.
1895
Werner Lemberg545c4e52006-05-17 22:55:04 +000018962006-05-18 Werner Lemberg <wl@gnu.org>
1897
1898 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
1899 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
1900
David Turnerdc3ff312006-05-17 12:59:35 +000019012006-05-17 David Turner <david@freetype.org>
1902
Werner Lemberg545c4e52006-05-17 22:55:04 +00001903 This is a major patch used to drastically improve the performance of
1904 loading glyphs. This both speeds up loading the glyph vectors
1905 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00001906
Werner Lemberg545c4e52006-05-17 22:55:04 +00001907 We now use inline assembler code with GCC to implement `FT_MulFix',
1908 which is probably the most important function related to the
1909 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00001910
Werner Lemberg545c4e52006-05-17 22:55:04 +00001911 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00001912
1913
Werner Lemberg545c4e52006-05-17 22:55:04 +00001914 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
1915 `cursor' and `limit'.
1916
1917 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
1918 New functions.
1919 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
1920 [TEST]: Remove.
1921
1922 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
1923 code.
1924
1925 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
1926 `FT_ZERO'
1927 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
1928 (af_glyph_hints_reload: Rewrite recognition of weak points.
1929
1930 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
1931 constant values out of the loops.
1932
1933 * src/autofit/aftypes.h: Updated.
1934
1935 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
1936
1937 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
1938 product to get orientation.
1939
1940 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
1941 (FT_Stream_OpenGzip): Use it to handle small files directly in
1942 memory.
1943
1944 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
1945 Improve performance.
1946
1947 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
1948 `limit'.
1949
1950 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
1951 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
1952 exceedingly large values of number of contours. Speed up by
1953 reducing the number of loops.
1954
1955 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
1956
1957
1958 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
1959 used to detect rogue clients from 4 to 16. This is to prevent some
1960 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
1961 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00001962
Werner Lembergde2d90a2006-05-17 08:54:30 +000019632007-05-17 Werner Lemberg <wl@gnu.org>
1964
1965 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00001966 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00001967
19682006-05-16 Werner Lemberg <wl@gnu.org>
1969
1970 * docs/PROBLEMS: Updated icl issues.
1971
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001972----------------------------------------------------------------------------
1973
Werner Lemberg42b63b22007-01-21 21:01:33 +00001974Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001975David Turner, Robert Wilhelm, and Werner Lemberg.
1976
1977This file is part of the FreeType project, and may only be used, modified,
1978and distributed under the terms of the FreeType project license,
1979LICENSE.TXT. By continuing to use, modify, or distribute this file you
1980indicate that you have read the license and understand and accept it
1981fully.
1982
1983
1984Local Variables:
1985version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00001986coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001987End: