blob: 492614df86e2d934e189e21916bbde0feec20dc9 [file] [log] [blame]
Werner Lemberg94be20e2007-05-09 20:02:55 +000012007-05-09 Graham Asher <graham.asher@btinternet.com>
2
3 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
4 (af_latin_metrics_scale_dim): Fix compiler warnings.
5
Werner Lemberg41271032007-05-06 04:51:48 +000062007-05-06 Werner Lemberg <wl@gnu.org>
7
8 * builds/win32/visualce/freetype.sln: Removed, as requested by
9 Vincent.
10
Werner Lembergdf49e692007-05-04 06:30:05 +0000112007-05-04 Vincent RICHOMME <richom.v@free.fr>
12
13 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
14 PC targets.
15
16 * docs/CHANGES: Document them.
17
182007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +000019
20 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
21 mmap (which might happen on some RTOS). From Savannah patch #5909.
22
Werner Lemberg106eaf12007-05-03 07:07:47 +0000232007-05-03 Werner Lemberg <wl@gnu.org>
24
25 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
26 * include/freetype/freetype.h (FT_Set_Char_Size): Update
27 documentation.
28
Werner Lemberg1b5267d2007-04-28 21:06:15 +0000292007-04-28 Victor Stinner <victor.stinner@inl.fr>
30
31 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
32 `cmap'.
33
Werner Lembergcc712a22007-04-27 17:16:50 +0000342007-04-27 Werner Lemberg <wl@gnu.org>
35
36 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
37 number of points in contours. Problem reported by Victor Stinner
38 <victor.stinner@haypocalc.com>.
39 (TT_Process_Simple_Glyph): Synchronize variable types.
40
Werner Lemberg45bb18f2007-04-26 06:26:35 +0000412007-04-26 Werner Lemberg <wl@gnu.org>
42
43 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
44 zero in case of error. This fixes Savannah bug #19689.
45
David Turnera8b45e62007-05-11 14:10:30 +0000462007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
47
48 * src/truetype/ttobjs.c: fix a typo that created a speed regression
49 in the TrueType bytecode loader
50
Werner Lembergfcc1f472007-04-10 11:51:50 +0000512007-04-10 Martin Horak <horakm@centrum.cz>
52
53 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
54 Ignore `hhea' table. This fixes Savannah bug #19261.
55
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000562007-04-09 Werner Lemberg <wl@gnu.org>
57
58 * Version 2.3.4 released.
59 =========================
60
61
62 Tag sources with `VER-2-3-4'.
63
64 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
65 version number to 2.3.4.
66
67 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
68 builds/win32/visualc/freetype.dsp,
69 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
70
71 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
72
73 * builds/unix/configure.raw (version_info): Set to 9:15:3.
74
Werner Lembergf4a52a62007-04-09 08:40:11 +0000752007-04-09 Martin Horak <horakm@centrum.cz>
76
77 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
78 memory stream to avoid a crash with the incremental memory
79 interface (Savannah bug #19260).
80
David Turner1dcb4442007-04-06 08:19:04 +0000812007-04-06 David Turner <david@freetype.org>
82
Werner Lembergc81cf612007-04-06 09:28:23 +000083 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
84 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +000085
Werner Lemberg9f83e052007-04-05 02:28:23 +0000862007-04-04 Werner Lemberg <wl@gnu.org>
87
88 * Version 2.3.3 released.
89 =========================
90
91
92 Tag sources with `VER-2-3-3'.
93
94 * docs/CHANGES: Mention CVE-2007-1351.
95
David Turner7338ec22007-04-03 14:30:34 +0000962007-04-03 David Turner <david@freetype.org>
97
98 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +000099 if one of the resolution values is 0, treat it as if it were the
100 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000101
David Turnere6472c12007-04-02 13:13:54 +00001022007-04-02 David Turner <david@freetype.org>
103
Werner Lemberg94f12272007-04-03 07:19:53 +0000104 Add special code to detect `extra-light' fonts and do not snap their
105 stem widths too much to avoid bizarre hinting effects.
106
107 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
108 `extra_light' members.
109
110 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
111 them.
112 (af_latin_metrics_scale_dim): Set `extra_light'.
113 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000114
David Turner3f539692007-03-28 14:53:40 +00001152007-03-28 David Turner <david@freetype.org>
116
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000117 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000118 padding.
119
Werner Lemberga08b2172007-03-28 07:17:17 +00001202007-03-28 Werner Lemberg <wl@gnu.org>
121
122 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
123 gracefully.
124 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000125 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000126 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
127 number of code points in Unicode.
128
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000129 * builds/win32/visualc/index.html,
130 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000131 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000132 s/232/233/.
133
134 * docs/CHANGES: Mention ftdiff.
135
David Turner3b242d32007-03-26 12:03:04 +00001362007-03-26 David Turner <david@freetype.org>
137
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000138 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
139 corresponding code.
140 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000141
Werner Lemberga08b2172007-03-28 07:17:17 +0000142 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000143 computations in order to ignore single-point contours. These are
144 never rasterized and correspond in certain fonts to mark-attach
145 points that are very far from the glyph's real outline, ruining the
146 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000147
Werner Lemberga08b2172007-03-28 07:17:17 +0000148 * src/autofit/afloader.c (af_loader_load_g): In the case of
149 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
150 Otherwise code that uses them will most certainly ruin the fixed
151 advance property.
David Turner23553d62007-03-26 13:37:17 +0000152
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000153 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
154 documentation and bump version number to 2.3.3.
155
156 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
157
158 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000159
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00001602007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
161
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000162 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
163 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000164 * builds/vms/ftconfig.h: Ditto.
165 * include/freetype/config/ftconfig.h: Ditto.
166
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00001672007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
168
Werner Lemberg14ffe092007-03-22 06:12:43 +0000169 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
170 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000171 proposed by Sean McBride:
172 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
173
1742007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
175
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000176 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
177 setjmp, proposed by Sean McBride:
178 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
179
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00001802007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
181
Werner Lembergc9f6c662007-03-21 13:30:14 +0000182 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
183 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
184 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000185
David Turner74c34eb2007-03-18 07:19:31 +00001862007-03-18 David Turner <david@freetype.org>
187
Werner Lembergc9f6c662007-03-21 13:30:14 +0000188 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
189 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000190
Werner Lembergc9f6c662007-03-21 13:30:14 +0000191 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000192
David Turner89020d92007-03-17 17:48:57 +00001932007-03-17 David Turner <david@freetype.org>
194
Werner Lembergc9f6c662007-03-21 13:30:14 +0000195 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
196 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000197
Werner Lemberg25d592a2007-03-09 07:59:35 +00001982007-03-09 Werner Lemberg <wl@gnu.org>
199
200 * Version 2.3.2 released.
201 =========================
202
203
204 Tag sources with `VER-2-3-2'.
205
206 * builds/win32/visualc/index.html,
207 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000208 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000209 s/231/232/.
210
David Turner3a51afa2007-03-08 10:50:38 +00002112007-03-08 David Turner <david@freetype.org>
212
Werner Lemberg25d592a2007-03-09 07:59:35 +0000213 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000214
Werner Lemberg25d592a2007-03-09 07:59:35 +0000215 * builds/unix/configure.raw (version_info): Set to 9:13:3.
216
217 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
218
219 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000220
Werner Lemberg1e259de2007-03-08 15:39:21 +0000221 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
222 function to work properly, over-writing user-provided buffers in
223 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000224
David Turner121cad52007-03-08 16:43:50 +0000225
Werner Lemberg3d92f082007-03-06 11:59:24 +00002262007-03-05 Werner Lemberg <wl@gnu.org>
227
228 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
229 macro for `strstr'.
230
231 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
232 `trick_names', as suggested by Ivan Nincic.
233
David Turner085bc6e2007-03-05 17:40:03 +00002342007-03-05 David Turner <david@freetype.org>
235
Werner Lembergd112cf02007-03-06 12:06:56 +0000236 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
237 case FT_Init_FreeType fails for some reason. Problem reported by
238 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000239
Werner Lembergd112cf02007-03-06 12:06:56 +0000240 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
241 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
242 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
243 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000244
Werner Lembergd112cf02007-03-06 12:06:56 +0000245 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
246 signed values, not unsigned ones. Problem reported by Johannes
247 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000248
David Turner601aefe2007-02-21 16:47:49 +00002492007-02-21 David Turner <david@freetype.org>
250
Werner Lembergde5e6862007-02-25 21:06:43 +0000251 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
252 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000253
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00002542007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
255
256 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
257 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
258 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
259
Werner Lemberga0915172007-02-16 08:12:50 +00002602007-02-16 Werner Lemberg <wl@gnu.org>
261
262 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
263 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
264
David Turner2c4500e2007-02-14 15:08:47 +00002652007-02-14 David Turner <david@freetype.org>
266
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000267 It seems that the following changes fix most of the known
268 interpreter problems with my fonts, but more testing is needed,
269 though.
270
271 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
272 (TT_MulFix14): Rewrite.
273 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
274 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000275
Werner Lembergc6a14082007-02-12 22:08:15 +00002762007-02-12 Werner Lemberg <wl@gnu.org>
277
278 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
279 warnings.
280
281 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
282 (bdf_interpret_style): Ditto.
283
David Turnerc0f9c4a2007-02-12 14:55:03 +00002842007-02-12 David Turner <david@freetype.org>
285
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000286 Simplify projection and dual-projection code interface.
287
Werner Lemberg406d25f2007-02-12 22:01:18 +0000288 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
289 FT_Vector' as argument type.
290 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
291 Updated.
292 (CUR_fast_project, CUR_fast_dualproj): New macros.
293 (Project, Dual_Project, Project_x, Project_y): Updated.
294 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
295 macros.
296
297
298 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
299 adjustments for the non-light auto-hinted modes. Gets rid of
300 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000301
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000302 * src/autofit/aflatin.c (af_latin_hints_link_segments,
303 af_latin_hints_compute_edges): Slight optimization of the segment
304 linker and better handling of serif segments to get rid of broken
305 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000306
David Turnerc0f9c4a2007-02-12 14:55:03 +0000307
Werner Lemberg442bfb82007-02-12 21:44:10 +0000308 Introduce new string functions and the corresponding macros to get
309 rid of various uses of strcpy and other `evil' functions, as well as
310 to simplify a few things.
311
312 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
313 ft_mem_strcpyn): New declarations.
314 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
315 macros.
316 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
317 functions.
318
319 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
320 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
321 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
322 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
323 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
324 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
325 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
326 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000327
Werner Lemberg406d25f2007-02-12 22:01:18 +0000328 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
329
Werner Lemberg582067d2007-02-11 15:03:05 +00003302007-02-11 Werner Lemberg <wl@gnu.org>
331
332 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
333 non-spacing glyphs.
334
Werner Lemberg8f474532007-02-07 08:31:01 +00003352007-02-07 Tom Parker <palfrey@tevp.net>
336
337 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
338 pointer.
339
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00003402007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
341
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000342 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
343 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000344 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000345 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
346 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
347 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
348 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000349
350 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
351 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000352 * builds/mac/ftmac.c: Ditto.
353
3542007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
355
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000356 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000357 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000358 #include <ftmac.c>.
359
3602007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
361
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000362 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
363 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
364 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
365 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
366 FT_GetFilePath_From_Mac_ATS_Name.
367 * builds/mac/ftmac.c: Ditto.
368
3692007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
370
Werner Lembergdcbb7082007-02-08 08:54:09 +0000371 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000372 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
373 for passing to FT_New_Face_From_FSSpec.
374
3752007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
376
Werner Lembergdcbb7082007-02-08 08:54:09 +0000377 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000378 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000379
380 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
381 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000382 * builds/mac/ftmac.c (OS_INLINE): Ditto.
383
Werner Lemberg313d7772007-02-01 08:10:45 +00003842007-02-01 Werner Lemberg <wl@gnu.org>
385
386 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
387 Explain why applications shouldn't use it. Found by Alexei.
388
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00003892007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000390
391 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
392 message.
393
394 * src/gxvalid/gxvmort1.c
395 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
396 message.
397
Werner Lemberg53935932007-01-31 08:53:02 +00003982007-01-31 Werner Lemberg <wl@gnu.org>
399
400
401 * Version 2.3.1 released.
402 =========================
403
404
405 Tag sources with `VER-2-3-1-FINAL'.
406
407 * builds/win32/visualc/freetype.dsp,
408 builds/win32/visualc/freetype.vcproj: s/230/231/.
409 * builds/win32/visualc/index.html: s/221/231/.
410
411 * vms_make.com: Add `ftgasp'.
412
David Turnera7ee6082007-01-30 10:33:53 +00004132007-01-30 David Turner <david@freetype.org>
414
Werner Lemberg53935932007-01-31 08:53:02 +0000415 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000416
Werner Lemberg53935932007-01-31 08:53:02 +0000417 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000418
Werner Lemberg25d592a2007-03-09 07:59:35 +0000419 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000420 s/2.3.0/2.3.1/.
421
422 * builds/unix/configure.raw (version_info): Set to 9:12:3.
423
424
425 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
426 (af_loader_load_g): Disable the warper (i.e., the light hinting
427 improvements) to make a 2.3.1 bugfix release before introducing a
428 new feature. This should give us more time to tune and improve the
429 warper for the next release.
430
431 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000432
David Turnerd91eebd2007-01-26 15:05:41 +00004332007-01-25 David Turner <david@freetype.org>
434
Werner Lembergbf241762007-01-26 16:08:49 +0000435 For light auto-hinting, improve glyph advance widths and resurrect
436 normal/full hinting to its normal quality.
437
438 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
439 and `xmax_delta'.
440 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
441 and `xmax_delta'.
442
443 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
444 preprocessor conditional with if-clause, handling both light and
445 normal mode.
446
447 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
448 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000449
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00004502007-01-25 Werner Lemberg <wl@gnu.org>
451
452 * docs/release: Updated -- Savannah uses a new uploading scheme.
453
David Turnera42567b2007-01-25 12:23:37 +00004542007-01-25 David Turner <david@freetype.org>
455
Werner Lembergd7855662007-01-25 13:53:56 +0000456 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000457
Werner Lembergd7855662007-01-25 13:53:56 +0000458 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
459 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
460 functions.
David Turnera42567b2007-01-25 12:23:37 +0000461
Werner Lembergd7855662007-01-25 13:53:56 +0000462 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000463
Werner Lembergb1be9e82007-01-25 11:50:00 +00004642007-01-25 Werner Lemberg <wl@gnu.org>
465
466 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000467 correctly in a sanity check. Since this function is only used to
468 load local and global functions, any charstring that called the last
469 local/global function would fail otherwise. This fixes Savannah bug
470 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000471
472 * docs/CHANGES: Document it.
473
David Turnerb6de8d12007-01-23 15:51:50 +00004742007-01-23 David Turner <david@freetype.org>
475
Werner Lembergb1be9e82007-01-25 11:50:00 +0000476 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
477 prevented compilation when disabling both the unpatented and the
478 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000479
Werner Lembergb1be9e82007-01-25 11:50:00 +0000480
481 Fix and enable the warper to improve `light' hinting mode. This is
482 not necessarily a final version, but it seems to work well.
483
484 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
485 Disable code.
486 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
487 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
488
489 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
490 (af_warper_compute_line_best): Fix array size of `scores'.
491 (af_warper_compute): Better handling of border cases.
492 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
493 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000494
Werner Lemberg011d1112007-01-21 09:36:00 +00004952007-01-21 Werner Lemberg <wl@gnu.org>
496
Werner Lemberg42b63b22007-01-21 21:01:33 +0000497 * ChangeLog: Split off older entries into...
498 * ChangeLog.22: This new file.
499
5002007-01-21 Werner Lemberg <wl@gnu.org>
501
Werner Lemberg555258f2007-01-21 09:46:37 +0000502 * docs/CHANGES: Document SHZ fix.
503
5042007-01-21 George Williams <gww@silcom.com>
505
506 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
507 points.
508
5092007-01-21 Werner Lemberg <wl@gnu.org>
510
Werner Lemberg011d1112007-01-21 09:36:00 +0000511 * src/sfnt/ttmtx.c (tt_face_get_metrics)
512 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
513
Werner Lemberg87a5a432007-01-17 12:44:39 +00005142007-01-17 Werner Lemberg <wl@gnu.org>
515
Werner Lembergb8003292007-01-17 12:56:25 +0000516
517 * Version 2.3.0 released.
518 =========================
519
520
521 Tag sources with `VER-2-3-0-FINAL'.
522
5232007-01-17 Werner Lemberg <wl@gnu.org>
524
Werner Lemberg87a5a432007-01-17 12:44:39 +0000525 * docs/release: Updated.
526
David Turner22122722007-01-16 20:06:44 +00005272007-01-16 David Turner <david@freetype.org>
528
Werner Lemberg87a5a432007-01-17 12:44:39 +0000529 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
530 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
531 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
532 warnings.
David Turner22122722007-01-16 20:06:44 +0000533
Werner Lemberg267e1d72007-01-15 07:48:09 +00005342007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
535
536 * builds/amiga/makefile, builds/amiga/makefile.os4,
537 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
538
539 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
540
Werner Lemberg8c4120d2007-01-15 06:42:40 +00005412007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
542
543 Fix various compiler warnings.
544
545 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
546 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
547 s/index/strike_index/.
548 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
549
550 * src/gxvalid/gxvmorx5.c
551 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
552
553 * src/truetype/ttinterp.c (Compute_Point_Displacement),
554 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
555 uninitialized variables.
556
Werner Lemberg6164a9d2007-01-13 23:01:36 +00005572007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
558
559 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
560
Werner Lemberg281c1482007-01-13 22:50:51 +00005612007-01-13 Werner Lemberg <wl@gnu.org>
562
563 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
564 versions up to 0x3FF without complaining.
565
Werner Lembergac250b22007-01-13 14:01:36 +00005662007-01-13 Derek Clegg <dclegg@apple.com>
567
568 Add FT_Get_PS_Font_Info interface to CFF driver.
569
570 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
571 (CFF_FontRec): Add `font_info' field.
572
573 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
574 (cff_font_done): Free font->font_info if necessary.
575
576 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
577 (cff_service_ps_info): Register cff_ps_get_font_info.
578
Werner Lemberg23df31a2007-01-13 08:45:00 +00005792007-01-13 Werner Lemberg <wl@gnu.org>
580
581 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
582 with C++ compiler.
583
584 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
585 af_glyph_hints_dump_edges): Ditto.
586
587 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
588 `modules.cfg').
589
590 * src/sfnt/ttsbit0.h: Remove.
591
592 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
593
Werner Lemberg27cf9de2007-01-13 07:34:23 +00005942007-01-12 David Turner <david@freetype.org>
595
596 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
597 bug in the bitmap emboldener if the pitch of the source bitmap is
598 much larger than its width.
599
600 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
601 compilation warning.
602
Werner Lemberg6d96d312007-01-12 10:30:19 +00006032007-01-12 Werner Lemberg <wl@gnu.org>
604
605 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
606 `automake' CVS module from sources.redhat.com.
607
Werner Lemberg17432b52007-01-12 09:28:44 +00006082007-01-11 Werner Lemberg <wl@gnu.org>
609
610 * src/type1/t1load.c (is_space): Removed.
611 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
612 (parse_charstrings): Use IS_PS_TOKEN.
613
614
615 * autogen.sh: Avoid bash specific syntax.
616
David Turner038ace22007-01-11 15:00:59 +00006172007-01-11 David Turner <david@freetype.org>
618
Werner Lemberg17432b52007-01-12 09:28:44 +0000619 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +0000620
Werner Lemberg17432b52007-01-12 09:28:44 +0000621 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +0000622
Werner Lemberg17432b52007-01-12 09:28:44 +0000623 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
624 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +0000625 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +0000626
Werner Lemberg17432b52007-01-12 09:28:44 +0000627 * autogen.sh: Small fix to get it working on Mac OS X properly:
628 The issue is that GNU libtool is called `glibtool' on this platform,
629 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +0000630
David Turner2628ea92007-01-10 13:15:56 +00006312007-01-10 David Turner <david@freetype.org>
632
Werner Lemberg17432b52007-01-12 09:28:44 +0000633 * all-sources: Tag all sources with VER-2-3-0-RC1 and
634 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +0000635
Werner Lemberg17432b52007-01-12 09:28:44 +0000636 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
637 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
638 version number to 2.3.0.
639
640 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
641 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +0000642
643 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +0000644 include/freetype/ftlcdfil.h: Update reference documentation with
645 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +0000646
Werner Lemberg17432b52007-01-12 09:28:44 +0000647 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
648 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +0000649
Werner Lembergbf02d392007-01-10 07:07:37 +00006502007-01-10 Derek Clegg <dclegg@apple.com>
651
652 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
653 values.
654
David Turnerf48b60e2007-01-08 15:15:32 +00006552007-01-08 David Turner <david@freetype.org>
656
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000657 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +0000658
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000659 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
660 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +0000661 corresponding to a given character pixel size.
662
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000663 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
664 `gasp' table, in order to avoid potential problems with later
665 versions.
David Turnerf48b60e2007-01-08 15:15:32 +0000666
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000667 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
668 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +0000669
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000670 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
671 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
672 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
673 default build.
David Turnerf48b60e2007-01-08 15:15:32 +0000674
Werner Lemberge6b6f372007-01-07 00:06:47 +00006752007-01-07 Werner Lemberg <wl@gnu.org>
676
Werner Lembergb8004d22007-01-07 09:13:38 +0000677 * src/cid/cidparse.c (cid_parser_new): Improve error message for
678 Type 11 fonts.
679 Scan for `/sfnts' token.
680
6812007-01-07 Werner Lemberg <wl@gnu.org>
682
683 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +0000684
Werner Lembergbe5f7972007-01-06 07:51:48 +00006852007-01-06 Werner Lemberg <wl@gnu.org>
686
687 * src/cff/cffload.c (cff_index_init): Remove unused variable.
688 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
689
David Turnera8cf42b2007-01-04 16:46:46 +00006902007-01-04 David Turner <david@freetype.org>
691
Werner Lembergf6294392007-01-06 07:47:45 +0000692 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
693 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +0000694
Werner Lembergf6294392007-01-06 07:47:45 +0000695
696 Do not allocate interpreter-specific tables in memory if we are not
697 going to load glyphs with the bytecode interpreter anyway.
698
699 * src/truetype/ttgload.c (tt_loader_init): Load execution context
700 only if glyph is hinted.
701 Updated.
702 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
703 and `cvs_ready'.
704 Add `tt_size_ready_bytecode' declaration.
705 * src/truetype/ttobjs.c (tt_size_done_bytecode,
706 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
707 (tt_size_init): Move most code into `tt_size_init_bytecode'.
708 (tt_size_done): Move most code into `tt_size_done_bytecode'.
709 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000710
David Turner91a34022007-01-05 14:47:08 +0000711
Werner Lembergf6294392007-01-06 07:47:45 +0000712 Don't extract the metrics table from the SFNT font file. Instead,
713 reparse it on each glyph load. The runtime difference is not
714 noticeable, and it can save a lot of heap memory when memory-mapped
715 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +0000716
Werner Lembergf6294392007-01-06 07:47:45 +0000717 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
718 `horz_metrics_offset' and `vert_metrics_ofset'.
719 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
720 Updated.
721
722
723 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
724
725
726 Do not load the CFF index offsets into memory, since this wastes a
727 *lot* of heap memory with large Asian CFF fonts. There is no
728 significant performance loss.
729
730 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
731 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
732 `data_size'.
733 (CFF_CharsetRec): Add field `num_glyphs'.
734
735 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
736 cff_charset_cid_to_gindex): New functions.
737 (cff_new_index): Renamed to...
738 (cff_index_init): This. Update all callers.
739 Updated -- some code has been moved to `cff_index_load_offsets'.
740 (cff_done_index): Renamed to...
741 (cff_index_done): This. Update all callers.
742 (cff_index_get_pointers, cff_index_access_element): Updated to use
743 stream offsets.
744 (cff_charset_compute_cids): Set `num_glyphs' field.
745 (cff_encoding_load): Updated.
746
747 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +0000748
7492007-01-04 David Turner <david@freetype.org>
750
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000751 * docs/INSTALL.UNIX: Simplify some parts, add reference to
752 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +0000753
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000754 * README.CVS: Add common problem description and solution
755 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +0000756
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000757 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +0000758
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000759 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +0000760
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000761 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +0000762
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000763 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
764 (TWorker): This.
765 Remove `count_table' and `memory'.
766 Make `grays' a pointer.
767 (TRaster): New structure.
768 (count_table): New static array.
769 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
770 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
771 ft_black_set_mode, ft_black_render): Updated.
772 (ft_black_init): Don't initialize `count_table'.
773 (ft_black_reset): Use the render pool. This saves about 6KB of
774 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +0000775
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000776 * src/smooth/ftgrays.c (TRaster): Replaced with...
777 (TWorker): This.
778 Remove `memory'.
779 (TRaster): New structure.
780
781 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
782 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
783 gray_render_span, gray_raster_render): Updated.
784 (gray_raster_reset): Use the render pool. This saves about 6KB of
785 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +0000786
David Turner8a6c44e2007-01-04 17:03:11 +0000787 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
788 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000789 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
790 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
791 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +0000792
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000793 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
794 Remove a typo that results in no hinting and a memory leak with some
795 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +0000796
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000797 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +0000798 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000799 CFF_Faces in it. We need to close all faces before destroying the
800 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +0000801
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00008022007-01-02 Werner Lemberg <wl@gnu.org>
803
804 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
805 Remove compiler warning.
806
David Turner9207e002007-01-02 16:58:13 +00008072007-01-02 David Turner <david@freetype.org>
808
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000809 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +0000810
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00008112006-12-31 Masatake YAMATO <jet@gyve.org>
812
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000813 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
814 function.
815 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000816 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +0000817 `gxv_kern_subtable_fmt0_pairs_validate'.
818
David Turner115b4422006-12-22 11:37:05 +00008192006-12-22 David Turner <david@freetype.org>
820
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000821 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
822 warnings.
David Turner115b4422006-12-22 11:37:05 +0000823
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000824 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
825 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +0000826
Werner Lemberg4755bf72006-12-16 08:58:44 +00008272006-12-16 Anders Kaseorg <anders@kaseorg.com>
828
829 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
830 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
831
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00008322006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
833
Werner Lemberg9b774e22007-01-16 06:11:27 +0000834 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000835 sync with the modification by Jens Claudius on 2006-08-22; cf.
836 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 +0000837
8382006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
839
840 * src/base/ftmac.c: Specialized for Mac OS X only.
841 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
842 * builds/unix/configure.raw: Ditto. When explicit switches for
843 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
844 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
845
8462006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
847
848 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
849 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
850 instead of src/base/ftmac.c
851 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
852 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
853 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
854 that cannot be built at present.
855
8562006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
857
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000858 * src/base/ftobjs.c: Improvement of resource fork handler for
859 POSIX, cf.
860 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +0000861 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
862 format or .dfont, to simulate the face index number counted by ftmac.c.
863 (IsMacResource): Return the number of scalable faces correctly.
864
Werner Lembergec5b4502006-12-10 07:51:38 +00008652006-12-10 Werner Lemberg <wl@gnu.org>
866
867 * builds/toplevel.mk (version): Protect against `distclean' target.
868
Werner Lembergb26b3142006-12-09 20:01:43 +00008692006-12-09 Werner Lemberg <wl@gnu.org>
870
871 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
872 or `type'.
873
874 * builds/freetype.mk (version): Extracted from freetype.h, using
875 GNU make's built-in string functions.
876 (refdoc): Use $(version) instead of static version number.
877
Werner Lemberg4e1d6c02006-12-09 08:20:37 +00008782006-12-08 Werner Lemberg <wl@gnu.org>
879
880 * builds/toplevel.mk (dist): Extract version number from freetype.h.
881
Werner Lemberg15c29502006-12-09 07:29:54 +00008822006-12-08 Vladimir Volovich <vvv@vsu.ru>
883
884 * src/tools/apinames (State): Remove final comma in structure -- xlc
885 v5 under AIX 4.3 doesn't like this.
886
David Turnerdbf3b432006-12-07 21:18:09 +00008872006-12-07 David Turner <david@freetype.org>
888
Werner Lemberg256a3512006-12-08 06:49:33 +0000889 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
890 to the spacing of auto-fitted glyphs. This only impacts rare
891 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +0000892
Werner Lemberg11171312006-12-03 09:43:40 +00008932006-12-03 Werner Lemberg <wl@gnu.org>
894
895 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
896
Werner Lemberg960ba592006-12-01 08:20:47 +00008972006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +0000898
Werner Lemberg960ba592006-12-01 08:20:47 +0000899 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
900 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
901 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +0000902
David Turner80658e52006-11-28 08:09:20 +0000903
Werner Lemberg960ba592006-12-01 08:20:47 +0000904 * include/freetype/ftxf86.h: Fix and extend comment so that it
905 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +0000906
Werner Lemberg960ba592006-12-01 08:20:47 +0000907 * include/freetype/ftchapters.h: Add `font_format' section.
908
909
910 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
911 to TOC in index page.
912
9132006-11-28 David Turner <david@freetype.org>
914
915 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
916 trying to render into a zero-width/height bitmap, not an error code.
917
918 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
919
920 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
921 ones instead.
922
923 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
924 variable.
David Turner80658e52006-11-28 08:09:20 +0000925
Werner Lemberg8636c292006-11-26 22:28:13 +00009262006-11-26 Pierre Hanser <hanser@club-internet.fr>
927
928 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
929
Werner Lemberg960ba592006-12-01 08:20:47 +00009302006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +0000931
Werner Lemberg960ba592006-12-01 08:20:47 +0000932 * src/autofit/afhints.c (af_glyph_hints_dump_points,
933 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
934 Add stubs to link the `ftgrid' test program when debugging is
935 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +0000936
Werner Lemberg960ba592006-12-01 08:20:47 +00009372006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +0000938
939 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +0000940 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
941
942 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
943 Emit more sensible information.
944
945 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
946
947 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
948 rounding of blue values.
949 (af_latin_hints_compute_segments): Hint segment heights.
950 (af_latin_hints_link_segments): Reduce `len_score' value.
951 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
952 value and use `height' member for comparisons.
953 (af_latin_hint_edges): Extend logging message.
954 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +0000955
Werner Lemberg91959bf2006-11-22 10:36:55 +00009562006-11-22 Werner Lemberg <wl@gnu.org>
957
958 Fix Savannah bug #15553.
959
960 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
961 program after a change from mono to grayscaling (and vice versa).
962 Use correct constant for comparison to get `exec->grayscale'.
963
Werner Lemberg913a3652006-11-19 09:19:17 +00009642006-11-18 Werner Lemberg <wl@gnu.org>
965
966 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +0000967 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +0000968 This patch fixes Savannah bug #18301.
969
970 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
971 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
972 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
973 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
974 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
975 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
976 (FNT_Load_Glyph): Check validity of `glyph_index'.
977
David Turner7bab6ae2006-11-13 11:25:06 +00009782006-11-13 David Turner <david@freetype.org>
979
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000980 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
981 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +0000982
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000983 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
984 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
985 when building the library to change the default LCD filter to be
986 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +0000987
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000988 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +0000989
David Turner8765c712006-11-10 16:49:42 +00009902006-11-10 David Turner <david@freetype.org>
991
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000992 * src/smooth/ftsmooth.c: API change for the LCD
993 filter. The FT_LcdFilter value is an enumeration describing which
994 filter to apply, with new values FT_LCD_FILTER_LIGHT and
995 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
996 algorithm which produces strong color fringes for everything
997 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +0000998
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000999 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1000 second parameter to an enum type.
1001
1002 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1003 (_ft_lcd_filter): Rename to...
1004 (_ft_lcd_filter_fir): This.
1005 Update parameters.
1006 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1007 (FT_Library_Set_LcdFilter): Update parameters.
1008 Handle new filter modes.
1009
1010 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1011 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1012 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1013 callback and update other fields.
1014
1015 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1016 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1017 Other minor improvements.
1018
1019 * src/autofit/aflatin.c: Various tiny improvements that drastically
1020 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1021 (af_latin_hints_compute_edges): Fix typo.
1022 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001023
David Turner4e9cc3c2006-11-09 16:31:52 +000010242006-11-09 David Turner <david@freetype.org>
1025
Werner Lemberg49c77a82006-11-09 21:51:57 +00001026 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1027 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001028
Werner Lemberg5e430892006-11-07 09:35:03 +000010292006-11-07 Zhe Su <james.su@gmail.com>
1030
1031 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1032 also.
1033
Werner Lemberg111b5ae2006-11-03 09:40:12 +000010342006-11-03 Werner Lemberg <wl@gnu.org>
1035
1036 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1037
David Turner40604742006-11-02 16:37:35 +000010382006-11-02 David Turner <david@freetype.org>
1039
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001040 Add a few tweaks to better handle serif fonts.
1041 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001042
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001043 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1044 segments that are less than 1.5 pixels high. This gets rid of
1045 *many* corner cases with serifs.
1046 (af_latin_align_linked_edge): Add logging message.
1047 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1048 Add logging messages.
1049 Handle AF_EDGE_FLAG flag specially.
1050
1051 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1052 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1053
1054 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1055 Update external declarations.
1056 (af_corner_orientation, af_corner_is_flat): Replaced by...
1057
1058 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1059 ft_corner_is_flat): These declarations.
1060
1061 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1062 Comment out. Replaced by...
1063
1064 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1065 These functions. Update all callers.
1066 (FT_Add64) [!FT_LONG64]: Simplify.
1067
1068 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1069 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1070 production of garbage by missing lots of segments.
1071
1072 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1073
1074 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1075 [AF_DEBUG]: Set _af_debug_hints.
1076
1077
1078 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1079 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1080 and ft_corner_orientation.
1081
1082
1083 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001084
Werner Lemberge88c5262006-10-24 05:46:26 +000010852006-10-24 Werner Lemberg <wl@gnu.org>
1086
1087 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1088
1089 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1090 as argument.
1091
David Turnera1861392006-10-23 16:00:59 +000010922006-10-23 Zhe Su <zsu@novell.com>
1093
Werner Lemberg715e96e2006-10-24 05:28:45 +00001094 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1095 better deal with broken Asian fonts with strange glyphs, having
1096 self-intersections and other peculiarities. The used algorithm is
1097 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001098
David Turnere140f142006-10-23 08:56:57 +000010992006-10-23 David Turner <david@freetype.org>
1100
Werner Lemberg715e96e2006-10-24 05:28:45 +00001101 Speed up the CFF font loader. With some large CFF fonts,
1102 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001103
Werner Lemberg715e96e2006-10-24 05:28:45 +00001104 * src/cff/cffload.c (cff_get_offset): Removed.
1105 (cff_new_index): Inline functionality of `cff_get_offset'.
1106 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1107 (cff_charset_done): Call `cff_charset_free_cids'.
1108 (cff_charset_load): Call `cff_charset_compute_cids'.
1109 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1110
1111 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1112 with FT_NEXT_XXX.
1113
1114
1115 Speed up the Postscript hinter, with more than 100% speed increase
1116 on my machine.
1117
1118 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1119 psh_corner_orientation): New functions.
1120 (psh_glyph_compute_inflections): Merge loops for efficiency.
1121 Use `psh_corner_orientation'.
1122 (psh_glyph_init): Use `psh_corner_is_flat'.
1123 (psh_hint_table_find_strong_point): Renamed to...
1124 (psh_hint_table_find_strong_points): This.
1125 Rewrite, adding argument to handle all points at once.
1126 Update all callers.
1127 (PSH_MAX_STRONG_INTERNAL): New macro.
1128 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001129
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000011302006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1131
1132 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001133 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001134
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000011352006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1136
1137 * docs/INSTALL.CROSS: New document file for cross-building.
1138
1139 * builds/unix/configure.raw: Preliminary cross-building support.
1140 Find native C compiler and pass it by CC_BUILD, and
1141 find suffix for native executable and pass it by EXEEXT_BUILD.
1142 Also suffix for target executable is passed by EXEEXT.
1143
Werner Lembergb9e6d692006-10-15 08:58:40 +00001144 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1145 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001146 CC_BUILD and EXEEXT_BUILD.
1147
Werner Lembergb9e6d692006-10-15 08:58:40 +00001148 * builds/exports.mk (APINAMES_EXE): Change the extension for
1149 apinames from the suffix for target (E) to that for building host
1150 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001151
Werner Lemberg82a07e92006-10-12 06:20:44 +000011522006-10-12 Werner Lemberg <wl@gnu.org>
1153
1154 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1155 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1156 which reference those files.
1157
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000011582006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1159
Werner Lembergb9e6d692006-10-15 08:58:40 +00001160 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1161 embedded in freetype2.pc and freetype-config. Use it to record
1162 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001163
1164 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1165
1166 * builds/unix/freetype-config.in: Ditto.
1167
Werner Lemberg28e17d92006-10-11 17:27:47 +000011682006-10-11 Werner Lemberg <wl@gnu.org>
1169
1170 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1171 development.
1172
Jens Claudius336d2292006-10-03 08:53:37 +000011732006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1174
1175 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1176 argument to ft_setjmp.
1177
1178 * include/freetype/internal/ftvalid.h: Add comment that
1179 ft_validator_run must not be used.
1180
Werner Lemberg2863cfa2006-10-01 17:04:00 +000011812006-10-01 Werner Lemberg <wl@gnu.org>
1182
1183 * src/base/ftbase.c: Undo change from 2006-09-30.
1184
1185 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1186
11872006-09-30 David Turner <david@freetype.org>
1188
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001189 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1190 s/unpatented_hinting/ignore_unpatented_hinter/.
1191 Update all callers.
1192
1193 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1194 auto-hinting shall be used or not.
1195
1196 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001197
Werner Lemberg2863cfa2006-10-01 17:04:00 +000011982006-09-30 Werner Lemberg <wl@gnu.org>
1199
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001200 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1201 in use).
1202
1203 * src/base/ftbase.c: Include `ftlcdfil.c'.
1204
Werner Lemberg9b15ea32006-09-29 18:22:11 +000012052006-09-29 Werner Lemberg <wl@gnu.org>
1206
1207 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1208 overlapping segments. Bug reported by Stefan Koch.
1209
David Turnerad830712006-09-27 16:20:59 +000012102006-09-28 David Turner <david@freetype.org>
1211
Werner Lemberg2c002e12006-09-29 21:31:53 +00001212 Fix a bug in the automatic unpatented hinting support which prevents
1213 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001214
Werner Lemberg2c002e12006-09-29 21:31:53 +00001215 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1216 s/force_autohint/unpatented_hinting/. Update all callers.
1217
1218 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1219
1220 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001221
David Turner8a317cf2006-09-27 07:52:48 +000012222006-09-27 David Turner <david@freetype.org>
1223
Werner Lemberg2c002e12006-09-29 21:31:53 +00001224 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001225
David Turner8a317cf2006-09-27 07:52:48 +00001226
David Turnere140f142006-10-23 08:56:57 +00001227 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001228 In a default build, the function `FT_Library_SetLcdFilter' returns
1229 `FT_Err_Unimplemented_Feature'; you need to #define
1230 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1231 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001232
Werner Lemberg2c002e12006-09-29 21:31:53 +00001233 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001234
Werner Lemberg2c002e12006-09-29 21:31:53 +00001235 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1236 typedef.
1237 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1238 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001239
Werner Lemberg2c002e12006-09-29 21:31:53 +00001240 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1241 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001242
Werner Lemberg2c002e12006-09-29 21:31:53 +00001243 Handle subpixel rendering.
1244 Simplify function.
1245 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1246 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1247
1248 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1249 pointing to <freetype/ftlcdfil.h>.
1250
1251 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1252 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1253
1254 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001255
Werner Lemberge20df4a2006-09-27 06:29:21 +000012562006-09-26 David Bustin
1257
1258 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1259 correctly. Reported as Savannah bug #17843.
1260
David Turner6f8c6222006-09-26 15:42:44 +000012612006-09-26 David Turner <david@freetype.org>
1262
Werner Lemberg110246c2006-09-26 21:55:44 +00001263 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1264 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1265 horizontal and vertical hinting for the purpose of debugging the
1266 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001267
Werner Lemberg110246c2006-09-26 21:55:44 +00001268 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1269 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001270
Werner Lemberg110246c2006-09-26 21:55:44 +00001271 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1272
1273 * include/freetype/config/ftoption.h, devel/ftoption.h
1274 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1275 we want to compile LCD-optimized rendering code (à la ClearType) or
1276 not. The macro *must* be disabled in default builds of the library
1277 for patent reasons.
1278
1279 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1280 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1281 isn't defined at compile time. This only changes the content of the
1282 rendered glyph to match the one of normal gray-level rendering,
1283 hence clients should not need to be modified.
1284
1285 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001286
Werner Lemberg745ff2c2006-09-19 05:48:02 +000012872006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1288
1289 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1290 LWFN fails and both are available.
1291
David Turnerf3050052006-09-11 12:00:32 +000012922006-09-11 David Turner <david@freetype.org>
1293
Werner Lembergf9644552006-09-12 13:48:10 +00001294 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1295 report their English names through an Apple Roman
1296 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001297
Werner Lembergf9644552006-09-12 13:48:10 +00001298 If the font uses another name entry with language_id == English, it
1299 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001300
Werner Lembergf9644552006-09-12 13:48:10 +00001301 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1302 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001303
Werner Lemberg36d2eab2006-09-05 19:24:34 +000013042006-09-05 Werner Lemberg <wl@gnu.org>
1305
1306 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001307 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001308 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1309 `HAN NOM B.ttf').
1310
1311 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1312
David Turner772e55d2006-09-05 09:45:15 +000013132006-09-05 David Turner <david@freetype.org>
1314
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001315 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001316
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001317 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1318 (TRaster): Remove `count_ex' and `count_ey'.
1319 (gray_find_cell): Remove 2nd and 3rd argument.
1320 (gray_alloc_cell): Merged with `gray_find_cell'.
1321 (gray_record_cell): Simplify.
1322 (gray_set_cell): Rewrite.
1323 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1324 (gray_render_span): Don't use FT_MEM_SET for small values.
1325 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1326 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1327 bitmap scanline.
1328 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001329
David Turneraa557a92006-09-04 16:42:44 +000013302006-09-04 David Turner <david@freetype.org>
1331
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001332 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1333 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001334
Werner Lemberg2d8629b2006-09-03 06:18:45 +000013352006-09-03 Werner Lemberg <wl@gnu.org>
1336
1337 * devel/ftoption.h: Synchronize with
1338 include/freetype/config/ftoption.h.
1339
1340 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1341 variable declaration.
1342 (gray_convert_glyph): Fix compiler warnings.
1343
David Turner6d79f212006-09-01 14:09:35 +000013442006-09-01 David Turner <david@freetype.org>
1345
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001346 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1347 to recognize a few fonts that require the automatic unpatented
1348 loader.
David Turnerbd502952006-09-01 19:05:24 +00001349
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001350 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1351 rasterizer. The speed improvement is between 15% and 25%, depending
1352 on the font data.
1353
1354 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1355 (TCell): Redefine.
1356 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1357 (gray_init_cells): Updated.
1358 (gray_find_cell, gray_alloc_cell): New functions.
1359 (gray_record_cell): Rewritten to use `gray_find_cell' and
1360 `gray_alloc_cell'.
1361 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1362 QSORT_THRESHOLD):
1363 Removed.
1364 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1365 gray_dump_cells): Removed.
1366 (gray_sweep): Rewritten.
1367 (gray_convert_glyph): Rewrite code which used one of the sorting
1368 functions.
1369 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001370
Werner Lembergd898aed2006-08-29 09:50:34 +000013712006-08-29 Dr. Werner Fink <werner@suse.de>
1372
1373 * configure: Make it possible to handle configure options which
1374 have strings containing spaces.
1375
13762006-08-27 David Turner <david@freetype.org>
1377
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001378 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1379 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1380 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1381
1382 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1383 src/truetype/truetype.c, src/truetype/ttdriver.c,
1384 src/truetype/ttgload.c, src/truetype/ttgload.h,
1385 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1386 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1387 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1388
1389 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1390 member `force_autohint'.
1391
1392 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1393
1394 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1395 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001396
Jens Claudiusa787f452006-08-27 11:26:18 +000013972006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1398
1399 Fix miscellaneous compiler warnings.
1400
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001401 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1402 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001403
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001404 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1405 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1406 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001407
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001408 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1409 volatileness of argument to ft_longjmp. Spotted by Werner
1410 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001411
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001412 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1413 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001414
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001415 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1416 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001417
Werner Lembergc4c35b72006-08-27 08:03:46 +000014182006-08-27 Werner Lemberg <wl@gnu.org>
1419
1420 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1421 Reported by Jens.
1422
Jens Claudius088e44e2006-08-22 14:24:30 +000014232006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001424
Jens Claudius088e44e2006-08-22 14:24:30 +00001425 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001426 about addresses of volatile objects passed as function arguments as
1427 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001428
Werner Lembergc4c35b72006-08-27 08:03:46 +00001429 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1430 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001431
1432 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1433 argument `table' a pointer to a volatile object.
1434
1435 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1436 argument `table' a pointer to a volatile object.
1437
Jens Claudius2652bd52006-08-18 17:20:37 +000014382006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1439
1440 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1441 variable `_sfnt' as volatile since it must keep its value across
1442 a call to ft_setjmp.
1443 (gxv_validate): Same for local variables `memory' and `valid'.
1444 (classic_kern_validate): Same for local variables `memory',
1445 `ckern', and `valid'.
1446
1447 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1448 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1449 `jstf', and 'valid'.
1450
1451 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1452 local variable `cmap'.
1453
David Turner9fbfc6a2006-08-16 09:11:31 +000014542006-08-16 David Turner <david@freetype.org>
1455
Werner Lemberg12342992006-08-19 11:18:09 +00001456 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1457 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001458
Werner Lemberg12342992006-08-19 11:18:09 +00001459 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1460 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001461
David Turner33f5f242006-08-16 16:50:55 +00001462
Werner Lemberg12342992006-08-19 11:18:09 +00001463 Improvements to native TrueType hinting. This is a first try,
1464 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1465
1466 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1467 `extra_points2'.
1468
1469 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1470 `orus'.
1471
1472 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1473 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1474 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1475 handle `extra_points2'.
1476
1477 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1478 Remove compiler warning.
1479 (cur_to_arg): Remove macro.
1480 (TT_Hint_Glyph): Updated.
1481 (TT_Process_Simple_Glyph): Handle `orus'.
1482
1483 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1484 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1485 (LOC_Ins_IUP): Renamed to...
1486 (IUP_WorkerRec): This.
1487 Add `orus' member.
1488 (Shift): Renamed to...
1489 (_iup_worker_shift): This.
1490 Updated.
1491 (Interp): Renamed to...
1492 (_iup_worker_interpolate): This.
1493 Updated to handle `orus'.
1494 (Ins_IUP): Updated.
1495
1496 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1497 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001498
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000014992006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1500
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001501 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001502 build ftvalid in ft2demos. This has been inadvertedly changed
1503 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001504
15052006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1506
Werner Lemberg12342992006-08-19 11:18:09 +00001507 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1508 Jens:
1509 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001510
Werner Lemberg12342992006-08-19 11:18:09 +00001511 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1512 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001513
1514 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1515
Jens Claudius9950adc2006-08-13 12:14:36 +000015162006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1517
Werner Lemberg12342992006-08-19 11:18:09 +00001518 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1519 T1_TOKEN_TYPE_KEY.
1520 (T1_FieldRec): Add `dict'.
1521 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1522 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1523 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001524
Werner Lemberg12342992006-08-19 11:18:09 +00001525 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1526 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001527
1528 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1529
1530 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001531 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1532 not T1_TOKEN_TYPE_ANY.
1533 (ps_parser_load_field): Make sure a token that should be a string or
1534 name is really a string or name.
1535 Avoid memory leak if a keyword has been already encountered and its
1536 value is overwritten.
1537 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1538 T1_FIELD_XXX.
1539 (parse_dict): Ignore keywords that occur in the wrong dictionary
1540 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001541
Werner Lemberg12342992006-08-19 11:18:09 +00001542 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1543 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001544
Werner Lemberg12342992006-08-19 11:18:09 +00001545 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1546 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001547
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000015482006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1549
1550 Move creation of field `buildchar' of T1_DecoderRec out of
1551 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1552 of it.
1553
1554 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1555 and `T1_Compute_Max_Advance'.
1556
1557 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1558 Remove field `face', add `len_buildchar'.
1559
1560 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1561 field `buildchar'.
1562
1563 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1564 finisher for T1_Decoder.
1565 (cid_slot_load_glyph): Do not ignore failure when initializing the
1566 T1_Decoder.
1567
1568 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
1569 Updated.
1570 (t1_decoder_init): Remove initialization of fields `buildchar' and
1571 `len_buildchar'.
1572 (t1_decoder_done): Remove deallocation of field `buildchar'.
1573
1574 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
1575 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
1576 T1_Decoder.
1577 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
1578 `len_buildchar'; make sure to call finisher for T1_Decoder even in
1579 case of error.
1580
1581 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
1582 `buildchar' of T1_FaceRec.
1583
1584 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
1585 `buildchar' of T1_FaceRec.
1586
Werner Lemberg1a380e02006-07-14 18:28:08 +000015872006-07-14 Jens Claudius <jens.claudius@yahoo.com>
1588
1589 * freetype2/include/freetype/internal/psaux.h: New macros
1590 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
1591 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
1592 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
1593 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
1594 (T1_DecoderRec): New fields `buildchar' and `face'.
1595 (IS_PS_TOKEN): New macro.
1596
1597 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
1598 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
1599
1600 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
1601 `default_design_vector' and `num_default_design_vector'.
1602
1603 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
1604 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
1605 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
1606
1607 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
1608 `token' argument to be NULL if we want only to count the number of
1609 tokens.
1610 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
1611 want to skip the array.
1612 (ps_tofixedarray): Allow `values' argument to be NULL if we just
1613 want to skip the array.
1614
1615 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
1616 support for (partially commented out) othersubrs 19-25, 27, and 28.
1617 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
1618 (t1_decoder_done): Release new field `buildchar'.
1619
1620 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
1621 functions.
1622 (t1_keywords): Register them.
1623 (t1_allocate_blend): Updated.
1624 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
1625 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
1626 (parse_dict): Remove `keyword_flags' argument.
1627 Use new macro IS_PS_TOKEN.
1628 Changed function so that later PostScript definitions override
1629 earlier ones.
1630 (t1_init_loader): Initialize new field `keywords_encountered'.
1631 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
1632 `len_buildchar'.
1633 Remove `keywords_flags'.
1634
1635 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
1636 `keywords_encountered'.
1637 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
1638
1639 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
1640 New entries for parsing /NDV, /CDV, and /DesignVector.
1641
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000016422006-07-07 Werner Lemberg <wl@gnu.org>
1643
1644 Add many checks to protect against malformed PCF files.
1645
1646 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
1647 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
1648
1649 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
1650 data and check that tables don't overlap (using a simple
1651 bubblesort).
1652 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
1653 New macros which give the size of data structures in the data
1654 stream.
1655 (pcf_get_properties): Use rough estimates to get array size limits.
1656 Assign `face->nprops' and `face->properties' earlier so that a call
1657 to PCF_Face_Done can do the clean-up in case of error.
1658 Protect against invalid string offsets.
1659 (pcf_get_metrics): Clean up code.
1660 Adjust tracing message levels.
1661 Use rough estimate to get array size limit.
1662 (pcf_get_bitmaps): Clean up code.
1663 Adjust tracing message levels.
1664 Use rough estimates to get offset limits.
1665 (pcf_get_encodings): Adjust tracing message level.
1666 (pcf_get_accel): Clean up code.
1667
Werner Lemberg8eb05252006-06-27 06:20:01 +000016682006-06-26 Werner Lemberg <wl@gnu.org>
1669
1670 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
1671 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
1672
Werner Lemberg24703f82006-06-26 19:12:51 +000016732006-06-26 Jens Claudius <jens.claudius@yahoo.com>
1674
1675 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
1676 (t1_decoder_parse_charstrings): Operator with
1677 opcode 15 pops its two arguments.
1678 Handle the case where the pops of an othersubr may be part of a
1679 subroutine.
1680 Handle unknown othersubrs gracefully: count their operands and let
1681 the following pop operators push the operands as the results onto
1682 the Type1 stack.
1683 Improve handling of setcurrentpoint opcode.
1684
Werner Lembergc011f4c2006-06-26 09:40:00 +000016852006-06-25 Jens Claudius <jens.claudius@yahoo.com>
1686
1687 The Type 1 parser now skips over top-level procedures as required
1688 for a `Simplified Parser'. This makes the parser more robust as it
1689 doesn't poke around in PostScript code. Additionally, it makes the
1690 FontDirectory hackery in src/type1/t1load.c unnecessary.
1691
1692 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
1693 (skip_literal_string): Add FT_Error as return value.
1694 Handle escapes better.
1695 (skip_string): Add FT_Error as return value.
1696 Don't set `parser->error' but return error code directly.
1697 (skip_procedure): New function.
1698 (ps_parser_skip_PS_token): Handle procedures.
1699 Update code.
1700 (ps_parser_to_token): Update code.
1701 (ps_parser_load_field_table): Handle bbox entries also.
1702
1703 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
1704 Add commented-out code for synthetic fonts.
1705
Werner Lemberga2da05c2006-06-25 06:27:27 +000017062006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
1707
1708 Fix two hinting bugs as reported in
1709 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
1710
1711 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
1712 `first_point' member.
1713
1714 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
1715 `first_point'.
1716 (TT_Process_Composite_Glyph): Always untouch points.
1717
1718 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
1719 `first_point' and `last_point' in case of composite glyphs.
1720 (Ins_IUP): Fix computation of `end_point'.
1721
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000017222006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1723
Werner Lembergef3d2c22006-06-25 06:07:14 +00001724 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
1725 Mac. The original patch was written by David Sachitano and Lawrence
1726 Coopet, and modified by Sean McBride for MPW compatibility. Only
1727 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001728
Werner Lembergef3d2c22006-06-25 06:07:14 +00001729 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
1730 Mac OS X platforms.
1731 (OS_INLINE): Undefine before definition.
1732 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
1733 FontAssociation table in FOND resource.
1734 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
1735 and fontSize at each entry of FontAssociation table in FOND
1736 resource.
1737 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
1738 ffStylOff of FamilyRecord header of FOND resource, the header,
1739 fontSize, fontID at each entry of FontAssociation table, and
1740 StyleMapping table.
1741 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001742
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000017432006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1744
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001745 Public API of TrueTypeGX, OpenType, and classic kern table validator
1746 should return `FT_Err_Unimplemented_Feature' if validation service
1747 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00001748 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001749 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
1750
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001751 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
1752 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
1753 unavailable.
1754 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
1755 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001756
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001757 * src/base/ftotval.c (FT_OpenType_Validate): Return
1758 FT_Err_Unimplemented_Feature if OpenType validation service is
1759 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001760
Werner Lembergb10e45a2006-06-08 07:32:56 +000017612006-06-08 Werner Lemberg <wl@gnu.org>
1762
1763 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
1764 errors.
1765
David Turner5f1f7502006-06-07 05:11:50 +000017662006-06-07 David Turner <david@freetype.org>
1767
Werner Lemberg7d48cb02006-06-08 06:00:08 +00001768 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
1769 (T1_Read_Metrics): Fix memory leak which happened when the metrics
1770 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00001771
David Turner457b4a82006-06-06 08:14:14 +000017722006-06-06 David Turner <david@freetype.org>
1773
Werner Lemberg4836f952006-06-06 12:54:08 +00001774 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00001775
Werner Lemberg4836f952006-06-06 12:54:08 +00001776 We change `ps_unicodes_init' so that it also takes a
1777 `free_glyph_name' callback to release the glyph names returned by
1778 `get_glyph_name'
1779
1780 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
1781 Renamed to ...
1782 (PS_GetGlyphNameFunc): This.
1783 (PS_FreeGlyphNameFunc): New typedef.
1784 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
1785
1786 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
1787 argument.
1788 (cff_sid_free_glyph_name): New function.
1789 (cff_cmap_unicode_init): Updated.
1790
1791 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
1792
1793 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
1794 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00001795
1796
David Turner09717352006-06-04 14:33:08 +000017972006-06-04 David Turner <david@freetype.org>
1798
Werner Lembergd724f202006-06-04 15:17:41 +00001799 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
1800 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001801 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00001802
Werner Lembergd724f202006-06-04 15:17:41 +00001803 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
1804 of `face->num_glyphs' which missed the last glyph, due to
1805 the offset-by-1 computation, since the PFR format doesn't
1806 guarantee that glyph index 0 corresponds to the `missing
1807 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00001808
Werner Lemberg33779662006-05-26 06:30:05 +000018092006-05-25 Werner Lemberg <wl@gnu.org>
1810
1811 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
1812 `-no-undefined'. Reported by Christian Biesinger.
1813
Werner Lemberg24773d62006-05-20 08:53:13 +000018142006-05-19 Brian Weed <bw@imaginengine.com>
1815
1816 * builds/win32/visualc/freetype.dsp: Release libraries no longer
1817 have debug information, and debug libraries use `C7 compatible'
1818 debug info.
1819
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000018202006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1821
Werner Lemberga6523a62006-05-20 08:47:01 +00001822 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00001823 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001824
Werner Lemberga6523a62006-05-20 08:47:01 +00001825 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
1826 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001827
1828 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00001829 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001830
18312006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1832
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00001833 * build/unix/configure.raw: Add a fallback to disable Carbon
1834 dependency, if configured with no options on Mac OS X.
1835
18362006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1837
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001838 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00001839 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001840 the second part of Savannah bug #16590.
1841
Werner Lemberg545c4e52006-05-17 22:55:04 +000018422006-05-18 Werner Lemberg <wl@gnu.org>
1843
1844 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
1845 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
1846
David Turnerdc3ff312006-05-17 12:59:35 +000018472006-05-17 David Turner <david@freetype.org>
1848
Werner Lemberg545c4e52006-05-17 22:55:04 +00001849 This is a major patch used to drastically improve the performance of
1850 loading glyphs. This both speeds up loading the glyph vectors
1851 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00001852
Werner Lemberg545c4e52006-05-17 22:55:04 +00001853 We now use inline assembler code with GCC to implement `FT_MulFix',
1854 which is probably the most important function related to the
1855 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00001856
Werner Lemberg545c4e52006-05-17 22:55:04 +00001857 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00001858
1859
Werner Lemberg545c4e52006-05-17 22:55:04 +00001860 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
1861 `cursor' and `limit'.
1862
1863 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
1864 New functions.
1865 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
1866 [TEST]: Remove.
1867
1868 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
1869 code.
1870
1871 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
1872 `FT_ZERO'
1873 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
1874 (af_glyph_hints_reload: Rewrite recognition of weak points.
1875
1876 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
1877 constant values out of the loops.
1878
1879 * src/autofit/aftypes.h: Updated.
1880
1881 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
1882
1883 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
1884 product to get orientation.
1885
1886 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
1887 (FT_Stream_OpenGzip): Use it to handle small files directly in
1888 memory.
1889
1890 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
1891 Improve performance.
1892
1893 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
1894 `limit'.
1895
1896 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
1897 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
1898 exceedingly large values of number of contours. Speed up by
1899 reducing the number of loops.
1900
1901 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
1902
1903
1904 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
1905 used to detect rogue clients from 4 to 16. This is to prevent some
1906 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
1907 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00001908
Werner Lembergde2d90a2006-05-17 08:54:30 +000019092007-05-17 Werner Lemberg <wl@gnu.org>
1910
1911 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00001912 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00001913
19142006-05-16 Werner Lemberg <wl@gnu.org>
1915
1916 * docs/PROBLEMS: Updated icl issues.
1917
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001918----------------------------------------------------------------------------
1919
Werner Lemberg42b63b22007-01-21 21:01:33 +00001920Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001921David Turner, Robert Wilhelm, and Werner Lemberg.
1922
1923This file is part of the FreeType project, and may only be used, modified,
1924and distributed under the terms of the FreeType project license,
1925LICENSE.TXT. By continuing to use, modify, or distribute this file you
1926indicate that you have read the license and understand and accept it
1927fully.
1928
1929
1930Local Variables:
1931version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00001932coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001933End: