blob: 677fe8153f1120252a24965cc059b2f59259d17d [file] [log] [blame]
Werner Lemberg8d463a52007-05-13 16:01:55 +000012007-05-13 Derek Clegg <dclegg@apple.com>
2
3 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
4 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
5
David Turner711cf842007-05-11 14:36:24 +000062007-05-11 David Turner <david@freetype.org>
7
Werner Lemberg56ceaa42007-05-14 18:53:58 +00008 * src/cache/ftbasic.c, include/freetype/ftcache.h
9 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
10 functions that allow us to look up glyphs using an FTC_Scaler object
11 to specify the size, making it possible to use fractional pixel
12 sizes.
13
14 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
15 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +000016
Werner Lemberg94be20e2007-05-09 20:02:55 +0000172007-05-09 Graham Asher <graham.asher@btinternet.com>
18
19 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
20 (af_latin_metrics_scale_dim): Fix compiler warnings.
21
Werner Lemberg41271032007-05-06 04:51:48 +0000222007-05-06 Werner Lemberg <wl@gnu.org>
23
24 * builds/win32/visualce/freetype.sln: Removed, as requested by
25 Vincent.
26
Werner Lembergdf49e692007-05-04 06:30:05 +0000272007-05-04 Vincent RICHOMME <richom.v@free.fr>
28
29 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
30 PC targets.
31
32 * docs/CHANGES: Document them.
33
342007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +000035
36 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
37 mmap (which might happen on some RTOS). From Savannah patch #5909.
38
Werner Lemberg106eaf12007-05-03 07:07:47 +0000392007-05-03 Werner Lemberg <wl@gnu.org>
40
41 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
42 * include/freetype/freetype.h (FT_Set_Char_Size): Update
43 documentation.
44
Werner Lemberg1b5267d2007-04-28 21:06:15 +0000452007-04-28 Victor Stinner <victor.stinner@inl.fr>
46
47 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
48 `cmap'.
49
Werner Lembergcc712a22007-04-27 17:16:50 +0000502007-04-27 Werner Lemberg <wl@gnu.org>
51
52 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
53 number of points in contours. Problem reported by Victor Stinner
54 <victor.stinner@haypocalc.com>.
55 (TT_Process_Simple_Glyph): Synchronize variable types.
56
Werner Lemberg45bb18f2007-04-26 06:26:35 +0000572007-04-26 Werner Lemberg <wl@gnu.org>
58
59 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
60 zero in case of error. This fixes Savannah bug #19689.
61
David Turnera8b45e62007-05-11 14:10:30 +0000622007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
63
64 * src/truetype/ttobjs.c: fix a typo that created a speed regression
65 in the TrueType bytecode loader
66
Werner Lembergfcc1f472007-04-10 11:51:50 +0000672007-04-10 Martin Horak <horakm@centrum.cz>
68
69 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
70 Ignore `hhea' table. This fixes Savannah bug #19261.
71
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000722007-04-09 Werner Lemberg <wl@gnu.org>
73
74 * Version 2.3.4 released.
75 =========================
76
77
78 Tag sources with `VER-2-3-4'.
79
80 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
81 version number to 2.3.4.
82
83 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
84 builds/win32/visualc/freetype.dsp,
85 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
86
87 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
88
89 * builds/unix/configure.raw (version_info): Set to 9:15:3.
90
Werner Lembergf4a52a62007-04-09 08:40:11 +0000912007-04-09 Martin Horak <horakm@centrum.cz>
92
93 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
94 memory stream to avoid a crash with the incremental memory
95 interface (Savannah bug #19260).
96
David Turner1dcb4442007-04-06 08:19:04 +0000972007-04-06 David Turner <david@freetype.org>
98
Werner Lembergc81cf612007-04-06 09:28:23 +000099 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
100 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000101
Werner Lemberg9f83e052007-04-05 02:28:23 +00001022007-04-04 Werner Lemberg <wl@gnu.org>
103
104 * Version 2.3.3 released.
105 =========================
106
107
108 Tag sources with `VER-2-3-3'.
109
110 * docs/CHANGES: Mention CVE-2007-1351.
111
David Turner7338ec22007-04-03 14:30:34 +00001122007-04-03 David Turner <david@freetype.org>
113
114 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000115 if one of the resolution values is 0, treat it as if it were the
116 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000117
David Turnere6472c12007-04-02 13:13:54 +00001182007-04-02 David Turner <david@freetype.org>
119
Werner Lemberg94f12272007-04-03 07:19:53 +0000120 Add special code to detect `extra-light' fonts and do not snap their
121 stem widths too much to avoid bizarre hinting effects.
122
123 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
124 `extra_light' members.
125
126 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
127 them.
128 (af_latin_metrics_scale_dim): Set `extra_light'.
129 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000130
David Turner3f539692007-03-28 14:53:40 +00001312007-03-28 David Turner <david@freetype.org>
132
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000133 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000134 padding.
135
Werner Lemberga08b2172007-03-28 07:17:17 +00001362007-03-28 Werner Lemberg <wl@gnu.org>
137
138 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
139 gracefully.
140 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000141 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000142 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
143 number of code points in Unicode.
144
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000145 * builds/win32/visualc/index.html,
146 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000147 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000148 s/232/233/.
149
150 * docs/CHANGES: Mention ftdiff.
151
David Turner3b242d32007-03-26 12:03:04 +00001522007-03-26 David Turner <david@freetype.org>
153
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000154 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
155 corresponding code.
156 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000157
Werner Lemberga08b2172007-03-28 07:17:17 +0000158 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000159 computations in order to ignore single-point contours. These are
160 never rasterized and correspond in certain fonts to mark-attach
161 points that are very far from the glyph's real outline, ruining the
162 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000163
Werner Lemberga08b2172007-03-28 07:17:17 +0000164 * src/autofit/afloader.c (af_loader_load_g): In the case of
165 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
166 Otherwise code that uses them will most certainly ruin the fixed
167 advance property.
David Turner23553d62007-03-26 13:37:17 +0000168
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000169 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
170 documentation and bump version number to 2.3.3.
171
172 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
173
174 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000175
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00001762007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
177
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000178 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
179 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000180 * builds/vms/ftconfig.h: Ditto.
181 * include/freetype/config/ftconfig.h: Ditto.
182
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00001832007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
184
Werner Lemberg14ffe092007-03-22 06:12:43 +0000185 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
186 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000187 proposed by Sean McBride:
188 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
189
1902007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
191
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000192 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
193 setjmp, proposed by Sean McBride:
194 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
195
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00001962007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
197
Werner Lembergc9f6c662007-03-21 13:30:14 +0000198 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
199 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
200 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000201
David Turner74c34eb2007-03-18 07:19:31 +00002022007-03-18 David Turner <david@freetype.org>
203
Werner Lembergc9f6c662007-03-21 13:30:14 +0000204 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
205 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000206
Werner Lembergc9f6c662007-03-21 13:30:14 +0000207 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000208
David Turner89020d92007-03-17 17:48:57 +00002092007-03-17 David Turner <david@freetype.org>
210
Werner Lembergc9f6c662007-03-21 13:30:14 +0000211 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
212 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000213
Werner Lemberg25d592a2007-03-09 07:59:35 +00002142007-03-09 Werner Lemberg <wl@gnu.org>
215
216 * Version 2.3.2 released.
217 =========================
218
219
220 Tag sources with `VER-2-3-2'.
221
222 * builds/win32/visualc/index.html,
223 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000224 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000225 s/231/232/.
226
David Turner3a51afa2007-03-08 10:50:38 +00002272007-03-08 David Turner <david@freetype.org>
228
Werner Lemberg25d592a2007-03-09 07:59:35 +0000229 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000230
Werner Lemberg25d592a2007-03-09 07:59:35 +0000231 * builds/unix/configure.raw (version_info): Set to 9:13:3.
232
233 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
234
235 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000236
Werner Lemberg1e259de2007-03-08 15:39:21 +0000237 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
238 function to work properly, over-writing user-provided buffers in
239 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000240
David Turner121cad52007-03-08 16:43:50 +0000241
Werner Lemberg3d92f082007-03-06 11:59:24 +00002422007-03-05 Werner Lemberg <wl@gnu.org>
243
244 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
245 macro for `strstr'.
246
247 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
248 `trick_names', as suggested by Ivan Nincic.
249
David Turner085bc6e2007-03-05 17:40:03 +00002502007-03-05 David Turner <david@freetype.org>
251
Werner Lembergd112cf02007-03-06 12:06:56 +0000252 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
253 case FT_Init_FreeType fails for some reason. Problem reported by
254 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000255
Werner Lembergd112cf02007-03-06 12:06:56 +0000256 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
257 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
258 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
259 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000260
Werner Lembergd112cf02007-03-06 12:06:56 +0000261 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
262 signed values, not unsigned ones. Problem reported by Johannes
263 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000264
David Turner601aefe2007-02-21 16:47:49 +00002652007-02-21 David Turner <david@freetype.org>
266
Werner Lembergde5e6862007-02-25 21:06:43 +0000267 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
268 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000269
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00002702007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
271
272 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
273 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
274 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
275
Werner Lemberga0915172007-02-16 08:12:50 +00002762007-02-16 Werner Lemberg <wl@gnu.org>
277
278 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
279 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
280
David Turner2c4500e2007-02-14 15:08:47 +00002812007-02-14 David Turner <david@freetype.org>
282
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000283 It seems that the following changes fix most of the known
284 interpreter problems with my fonts, but more testing is needed,
285 though.
286
287 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
288 (TT_MulFix14): Rewrite.
289 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
290 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000291
Werner Lembergc6a14082007-02-12 22:08:15 +00002922007-02-12 Werner Lemberg <wl@gnu.org>
293
294 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
295 warnings.
296
297 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
298 (bdf_interpret_style): Ditto.
299
David Turnerc0f9c4a2007-02-12 14:55:03 +00003002007-02-12 David Turner <david@freetype.org>
301
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000302 Simplify projection and dual-projection code interface.
303
Werner Lemberg406d25f2007-02-12 22:01:18 +0000304 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
305 FT_Vector' as argument type.
306 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
307 Updated.
308 (CUR_fast_project, CUR_fast_dualproj): New macros.
309 (Project, Dual_Project, Project_x, Project_y): Updated.
310 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
311 macros.
312
313
314 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
315 adjustments for the non-light auto-hinted modes. Gets rid of
316 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000317
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000318 * src/autofit/aflatin.c (af_latin_hints_link_segments,
319 af_latin_hints_compute_edges): Slight optimization of the segment
320 linker and better handling of serif segments to get rid of broken
321 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000322
David Turnerc0f9c4a2007-02-12 14:55:03 +0000323
Werner Lemberg442bfb82007-02-12 21:44:10 +0000324 Introduce new string functions and the corresponding macros to get
325 rid of various uses of strcpy and other `evil' functions, as well as
326 to simplify a few things.
327
328 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
329 ft_mem_strcpyn): New declarations.
330 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
331 macros.
332 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
333 functions.
334
335 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
336 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
337 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
338 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
339 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
340 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
341 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
342 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000343
Werner Lemberg406d25f2007-02-12 22:01:18 +0000344 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
345
Werner Lemberg582067d2007-02-11 15:03:05 +00003462007-02-11 Werner Lemberg <wl@gnu.org>
347
348 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
349 non-spacing glyphs.
350
Werner Lemberg8f474532007-02-07 08:31:01 +00003512007-02-07 Tom Parker <palfrey@tevp.net>
352
353 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
354 pointer.
355
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00003562007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
357
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000358 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
359 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000360 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000361 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
362 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
363 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
364 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000365
366 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
367 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000368 * builds/mac/ftmac.c: Ditto.
369
3702007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
371
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000372 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000373 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000374 #include <ftmac.c>.
375
3762007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
377
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000378 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
379 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
380 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
381 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
382 FT_GetFilePath_From_Mac_ATS_Name.
383 * builds/mac/ftmac.c: Ditto.
384
3852007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
386
Werner Lembergdcbb7082007-02-08 08:54:09 +0000387 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000388 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
389 for passing to FT_New_Face_From_FSSpec.
390
3912007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
392
Werner Lembergdcbb7082007-02-08 08:54:09 +0000393 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000394 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000395
396 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
397 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000398 * builds/mac/ftmac.c (OS_INLINE): Ditto.
399
Werner Lemberg313d7772007-02-01 08:10:45 +00004002007-02-01 Werner Lemberg <wl@gnu.org>
401
402 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
403 Explain why applications shouldn't use it. Found by Alexei.
404
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00004052007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000406
407 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
408 message.
409
410 * src/gxvalid/gxvmort1.c
411 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
412 message.
413
Werner Lemberg53935932007-01-31 08:53:02 +00004142007-01-31 Werner Lemberg <wl@gnu.org>
415
416
417 * Version 2.3.1 released.
418 =========================
419
420
421 Tag sources with `VER-2-3-1-FINAL'.
422
423 * builds/win32/visualc/freetype.dsp,
424 builds/win32/visualc/freetype.vcproj: s/230/231/.
425 * builds/win32/visualc/index.html: s/221/231/.
426
427 * vms_make.com: Add `ftgasp'.
428
David Turnera7ee6082007-01-30 10:33:53 +00004292007-01-30 David Turner <david@freetype.org>
430
Werner Lemberg53935932007-01-31 08:53:02 +0000431 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000432
Werner Lemberg53935932007-01-31 08:53:02 +0000433 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000434
Werner Lemberg25d592a2007-03-09 07:59:35 +0000435 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000436 s/2.3.0/2.3.1/.
437
438 * builds/unix/configure.raw (version_info): Set to 9:12:3.
439
440
441 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
442 (af_loader_load_g): Disable the warper (i.e., the light hinting
443 improvements) to make a 2.3.1 bugfix release before introducing a
444 new feature. This should give us more time to tune and improve the
445 warper for the next release.
446
447 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000448
David Turnerd91eebd2007-01-26 15:05:41 +00004492007-01-25 David Turner <david@freetype.org>
450
Werner Lembergbf241762007-01-26 16:08:49 +0000451 For light auto-hinting, improve glyph advance widths and resurrect
452 normal/full hinting to its normal quality.
453
454 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
455 and `xmax_delta'.
456 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
457 and `xmax_delta'.
458
459 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
460 preprocessor conditional with if-clause, handling both light and
461 normal mode.
462
463 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
464 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000465
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00004662007-01-25 Werner Lemberg <wl@gnu.org>
467
468 * docs/release: Updated -- Savannah uses a new uploading scheme.
469
David Turnera42567b2007-01-25 12:23:37 +00004702007-01-25 David Turner <david@freetype.org>
471
Werner Lembergd7855662007-01-25 13:53:56 +0000472 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000473
Werner Lembergd7855662007-01-25 13:53:56 +0000474 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
475 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
476 functions.
David Turnera42567b2007-01-25 12:23:37 +0000477
Werner Lembergd7855662007-01-25 13:53:56 +0000478 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000479
Werner Lembergb1be9e82007-01-25 11:50:00 +00004802007-01-25 Werner Lemberg <wl@gnu.org>
481
482 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000483 correctly in a sanity check. Since this function is only used to
484 load local and global functions, any charstring that called the last
485 local/global function would fail otherwise. This fixes Savannah bug
486 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000487
488 * docs/CHANGES: Document it.
489
David Turnerb6de8d12007-01-23 15:51:50 +00004902007-01-23 David Turner <david@freetype.org>
491
Werner Lembergb1be9e82007-01-25 11:50:00 +0000492 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
493 prevented compilation when disabling both the unpatented and the
494 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000495
Werner Lembergb1be9e82007-01-25 11:50:00 +0000496
497 Fix and enable the warper to improve `light' hinting mode. This is
498 not necessarily a final version, but it seems to work well.
499
500 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
501 Disable code.
502 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
503 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
504
505 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
506 (af_warper_compute_line_best): Fix array size of `scores'.
507 (af_warper_compute): Better handling of border cases.
508 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
509 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000510
Werner Lemberg011d1112007-01-21 09:36:00 +00005112007-01-21 Werner Lemberg <wl@gnu.org>
512
Werner Lemberg42b63b22007-01-21 21:01:33 +0000513 * ChangeLog: Split off older entries into...
514 * ChangeLog.22: This new file.
515
5162007-01-21 Werner Lemberg <wl@gnu.org>
517
Werner Lemberg555258f2007-01-21 09:46:37 +0000518 * docs/CHANGES: Document SHZ fix.
519
5202007-01-21 George Williams <gww@silcom.com>
521
522 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
523 points.
524
5252007-01-21 Werner Lemberg <wl@gnu.org>
526
Werner Lemberg011d1112007-01-21 09:36:00 +0000527 * src/sfnt/ttmtx.c (tt_face_get_metrics)
528 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
529
Werner Lemberg87a5a432007-01-17 12:44:39 +00005302007-01-17 Werner Lemberg <wl@gnu.org>
531
Werner Lembergb8003292007-01-17 12:56:25 +0000532
533 * Version 2.3.0 released.
534 =========================
535
536
537 Tag sources with `VER-2-3-0-FINAL'.
538
5392007-01-17 Werner Lemberg <wl@gnu.org>
540
Werner Lemberg87a5a432007-01-17 12:44:39 +0000541 * docs/release: Updated.
542
David Turner22122722007-01-16 20:06:44 +00005432007-01-16 David Turner <david@freetype.org>
544
Werner Lemberg87a5a432007-01-17 12:44:39 +0000545 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
546 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
547 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
548 warnings.
David Turner22122722007-01-16 20:06:44 +0000549
Werner Lemberg267e1d72007-01-15 07:48:09 +00005502007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
551
552 * builds/amiga/makefile, builds/amiga/makefile.os4,
553 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
554
555 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
556
Werner Lemberg8c4120d2007-01-15 06:42:40 +00005572007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
558
559 Fix various compiler warnings.
560
561 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
562 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
563 s/index/strike_index/.
564 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
565
566 * src/gxvalid/gxvmorx5.c
567 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
568
569 * src/truetype/ttinterp.c (Compute_Point_Displacement),
570 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
571 uninitialized variables.
572
Werner Lemberg6164a9d2007-01-13 23:01:36 +00005732007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
574
575 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
576
Werner Lemberg281c1482007-01-13 22:50:51 +00005772007-01-13 Werner Lemberg <wl@gnu.org>
578
579 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
580 versions up to 0x3FF without complaining.
581
Werner Lembergac250b22007-01-13 14:01:36 +00005822007-01-13 Derek Clegg <dclegg@apple.com>
583
584 Add FT_Get_PS_Font_Info interface to CFF driver.
585
586 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
587 (CFF_FontRec): Add `font_info' field.
588
589 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
590 (cff_font_done): Free font->font_info if necessary.
591
592 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
593 (cff_service_ps_info): Register cff_ps_get_font_info.
594
Werner Lemberg23df31a2007-01-13 08:45:00 +00005952007-01-13 Werner Lemberg <wl@gnu.org>
596
597 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
598 with C++ compiler.
599
600 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
601 af_glyph_hints_dump_edges): Ditto.
602
603 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
604 `modules.cfg').
605
606 * src/sfnt/ttsbit0.h: Remove.
607
608 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
609
Werner Lemberg27cf9de2007-01-13 07:34:23 +00006102007-01-12 David Turner <david@freetype.org>
611
612 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
613 bug in the bitmap emboldener if the pitch of the source bitmap is
614 much larger than its width.
615
616 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
617 compilation warning.
618
Werner Lemberg6d96d312007-01-12 10:30:19 +00006192007-01-12 Werner Lemberg <wl@gnu.org>
620
621 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
622 `automake' CVS module from sources.redhat.com.
623
Werner Lemberg17432b52007-01-12 09:28:44 +00006242007-01-11 Werner Lemberg <wl@gnu.org>
625
626 * src/type1/t1load.c (is_space): Removed.
627 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
628 (parse_charstrings): Use IS_PS_TOKEN.
629
630
631 * autogen.sh: Avoid bash specific syntax.
632
David Turner038ace22007-01-11 15:00:59 +00006332007-01-11 David Turner <david@freetype.org>
634
Werner Lemberg17432b52007-01-12 09:28:44 +0000635 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +0000636
Werner Lemberg17432b52007-01-12 09:28:44 +0000637 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +0000638
Werner Lemberg17432b52007-01-12 09:28:44 +0000639 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
640 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +0000641 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +0000642
Werner Lemberg17432b52007-01-12 09:28:44 +0000643 * autogen.sh: Small fix to get it working on Mac OS X properly:
644 The issue is that GNU libtool is called `glibtool' on this platform,
645 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +0000646
David Turner2628ea92007-01-10 13:15:56 +00006472007-01-10 David Turner <david@freetype.org>
648
Werner Lemberg17432b52007-01-12 09:28:44 +0000649 * all-sources: Tag all sources with VER-2-3-0-RC1 and
650 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +0000651
Werner Lemberg17432b52007-01-12 09:28:44 +0000652 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
653 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
654 version number to 2.3.0.
655
656 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
657 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +0000658
659 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +0000660 include/freetype/ftlcdfil.h: Update reference documentation with
661 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +0000662
Werner Lemberg17432b52007-01-12 09:28:44 +0000663 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
664 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +0000665
Werner Lembergbf02d392007-01-10 07:07:37 +00006662007-01-10 Derek Clegg <dclegg@apple.com>
667
668 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
669 values.
670
David Turnerf48b60e2007-01-08 15:15:32 +00006712007-01-08 David Turner <david@freetype.org>
672
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000673 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +0000674
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000675 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
676 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +0000677 corresponding to a given character pixel size.
678
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000679 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
680 `gasp' table, in order to avoid potential problems with later
681 versions.
David Turnerf48b60e2007-01-08 15:15:32 +0000682
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000683 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
684 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +0000685
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000686 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
687 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
688 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
689 default build.
David Turnerf48b60e2007-01-08 15:15:32 +0000690
Werner Lemberge6b6f372007-01-07 00:06:47 +00006912007-01-07 Werner Lemberg <wl@gnu.org>
692
Werner Lembergb8004d22007-01-07 09:13:38 +0000693 * src/cid/cidparse.c (cid_parser_new): Improve error message for
694 Type 11 fonts.
695 Scan for `/sfnts' token.
696
6972007-01-07 Werner Lemberg <wl@gnu.org>
698
699 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +0000700
Werner Lembergbe5f7972007-01-06 07:51:48 +00007012007-01-06 Werner Lemberg <wl@gnu.org>
702
703 * src/cff/cffload.c (cff_index_init): Remove unused variable.
704 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
705
David Turnera8cf42b2007-01-04 16:46:46 +00007062007-01-04 David Turner <david@freetype.org>
707
Werner Lembergf6294392007-01-06 07:47:45 +0000708 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
709 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +0000710
Werner Lembergf6294392007-01-06 07:47:45 +0000711
712 Do not allocate interpreter-specific tables in memory if we are not
713 going to load glyphs with the bytecode interpreter anyway.
714
715 * src/truetype/ttgload.c (tt_loader_init): Load execution context
716 only if glyph is hinted.
717 Updated.
718 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
719 and `cvs_ready'.
720 Add `tt_size_ready_bytecode' declaration.
721 * src/truetype/ttobjs.c (tt_size_done_bytecode,
722 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
723 (tt_size_init): Move most code into `tt_size_init_bytecode'.
724 (tt_size_done): Move most code into `tt_size_done_bytecode'.
725 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000726
David Turner91a34022007-01-05 14:47:08 +0000727
Werner Lembergf6294392007-01-06 07:47:45 +0000728 Don't extract the metrics table from the SFNT font file. Instead,
729 reparse it on each glyph load. The runtime difference is not
730 noticeable, and it can save a lot of heap memory when memory-mapped
731 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +0000732
Werner Lembergf6294392007-01-06 07:47:45 +0000733 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
734 `horz_metrics_offset' and `vert_metrics_ofset'.
735 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
736 Updated.
737
738
739 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
740
741
742 Do not load the CFF index offsets into memory, since this wastes a
743 *lot* of heap memory with large Asian CFF fonts. There is no
744 significant performance loss.
745
746 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
747 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
748 `data_size'.
749 (CFF_CharsetRec): Add field `num_glyphs'.
750
751 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
752 cff_charset_cid_to_gindex): New functions.
753 (cff_new_index): Renamed to...
754 (cff_index_init): This. Update all callers.
755 Updated -- some code has been moved to `cff_index_load_offsets'.
756 (cff_done_index): Renamed to...
757 (cff_index_done): This. Update all callers.
758 (cff_index_get_pointers, cff_index_access_element): Updated to use
759 stream offsets.
760 (cff_charset_compute_cids): Set `num_glyphs' field.
761 (cff_encoding_load): Updated.
762
763 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +0000764
7652007-01-04 David Turner <david@freetype.org>
766
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000767 * docs/INSTALL.UNIX: Simplify some parts, add reference to
768 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +0000769
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000770 * README.CVS: Add common problem description and solution
771 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +0000772
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000773 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +0000774
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000775 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +0000776
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000777 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +0000778
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000779 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
780 (TWorker): This.
781 Remove `count_table' and `memory'.
782 Make `grays' a pointer.
783 (TRaster): New structure.
784 (count_table): New static array.
785 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
786 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
787 ft_black_set_mode, ft_black_render): Updated.
788 (ft_black_init): Don't initialize `count_table'.
789 (ft_black_reset): Use the render pool. This saves about 6KB of
790 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +0000791
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000792 * src/smooth/ftgrays.c (TRaster): Replaced with...
793 (TWorker): This.
794 Remove `memory'.
795 (TRaster): New structure.
796
797 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
798 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
799 gray_render_span, gray_raster_render): Updated.
800 (gray_raster_reset): Use the render pool. This saves about 6KB of
801 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +0000802
David Turner8a6c44e2007-01-04 17:03:11 +0000803 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
804 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000805 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
806 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
807 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +0000808
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000809 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
810 Remove a typo that results in no hinting and a memory leak with some
811 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +0000812
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000813 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +0000814 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000815 CFF_Faces in it. We need to close all faces before destroying the
816 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +0000817
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00008182007-01-02 Werner Lemberg <wl@gnu.org>
819
820 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
821 Remove compiler warning.
822
David Turner9207e002007-01-02 16:58:13 +00008232007-01-02 David Turner <david@freetype.org>
824
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000825 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +0000826
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00008272006-12-31 Masatake YAMATO <jet@gyve.org>
828
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000829 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
830 function.
831 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000832 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +0000833 `gxv_kern_subtable_fmt0_pairs_validate'.
834
David Turner115b4422006-12-22 11:37:05 +00008352006-12-22 David Turner <david@freetype.org>
836
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000837 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
838 warnings.
David Turner115b4422006-12-22 11:37:05 +0000839
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000840 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
841 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +0000842
Werner Lemberg4755bf72006-12-16 08:58:44 +00008432006-12-16 Anders Kaseorg <anders@kaseorg.com>
844
845 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
846 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
847
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00008482006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
849
Werner Lemberg9b774e22007-01-16 06:11:27 +0000850 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000851 sync with the modification by Jens Claudius on 2006-08-22; cf.
852 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 +0000853
8542006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
855
856 * src/base/ftmac.c: Specialized for Mac OS X only.
857 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
858 * builds/unix/configure.raw: Ditto. When explicit switches for
859 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
860 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
861
8622006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
863
864 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
865 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
866 instead of src/base/ftmac.c
867 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
868 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
869 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
870 that cannot be built at present.
871
8722006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
873
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000874 * src/base/ftobjs.c: Improvement of resource fork handler for
875 POSIX, cf.
876 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +0000877 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
878 format or .dfont, to simulate the face index number counted by ftmac.c.
879 (IsMacResource): Return the number of scalable faces correctly.
880
Werner Lembergec5b4502006-12-10 07:51:38 +00008812006-12-10 Werner Lemberg <wl@gnu.org>
882
883 * builds/toplevel.mk (version): Protect against `distclean' target.
884
Werner Lembergb26b3142006-12-09 20:01:43 +00008852006-12-09 Werner Lemberg <wl@gnu.org>
886
887 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
888 or `type'.
889
890 * builds/freetype.mk (version): Extracted from freetype.h, using
891 GNU make's built-in string functions.
892 (refdoc): Use $(version) instead of static version number.
893
Werner Lemberg4e1d6c02006-12-09 08:20:37 +00008942006-12-08 Werner Lemberg <wl@gnu.org>
895
896 * builds/toplevel.mk (dist): Extract version number from freetype.h.
897
Werner Lemberg15c29502006-12-09 07:29:54 +00008982006-12-08 Vladimir Volovich <vvv@vsu.ru>
899
900 * src/tools/apinames (State): Remove final comma in structure -- xlc
901 v5 under AIX 4.3 doesn't like this.
902
David Turnerdbf3b432006-12-07 21:18:09 +00009032006-12-07 David Turner <david@freetype.org>
904
Werner Lemberg256a3512006-12-08 06:49:33 +0000905 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
906 to the spacing of auto-fitted glyphs. This only impacts rare
907 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +0000908
Werner Lemberg11171312006-12-03 09:43:40 +00009092006-12-03 Werner Lemberg <wl@gnu.org>
910
911 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
912
Werner Lemberg960ba592006-12-01 08:20:47 +00009132006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +0000914
Werner Lemberg960ba592006-12-01 08:20:47 +0000915 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
916 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
917 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +0000918
David Turner80658e52006-11-28 08:09:20 +0000919
Werner Lemberg960ba592006-12-01 08:20:47 +0000920 * include/freetype/ftxf86.h: Fix and extend comment so that it
921 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +0000922
Werner Lemberg960ba592006-12-01 08:20:47 +0000923 * include/freetype/ftchapters.h: Add `font_format' section.
924
925
926 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
927 to TOC in index page.
928
9292006-11-28 David Turner <david@freetype.org>
930
931 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
932 trying to render into a zero-width/height bitmap, not an error code.
933
934 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
935
936 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
937 ones instead.
938
939 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
940 variable.
David Turner80658e52006-11-28 08:09:20 +0000941
Werner Lemberg8636c292006-11-26 22:28:13 +00009422006-11-26 Pierre Hanser <hanser@club-internet.fr>
943
944 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
945
Werner Lemberg960ba592006-12-01 08:20:47 +00009462006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +0000947
Werner Lemberg960ba592006-12-01 08:20:47 +0000948 * src/autofit/afhints.c (af_glyph_hints_dump_points,
949 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
950 Add stubs to link the `ftgrid' test program when debugging is
951 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +0000952
Werner Lemberg960ba592006-12-01 08:20:47 +00009532006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +0000954
955 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +0000956 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
957
958 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
959 Emit more sensible information.
960
961 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
962
963 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
964 rounding of blue values.
965 (af_latin_hints_compute_segments): Hint segment heights.
966 (af_latin_hints_link_segments): Reduce `len_score' value.
967 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
968 value and use `height' member for comparisons.
969 (af_latin_hint_edges): Extend logging message.
970 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +0000971
Werner Lemberg91959bf2006-11-22 10:36:55 +00009722006-11-22 Werner Lemberg <wl@gnu.org>
973
974 Fix Savannah bug #15553.
975
976 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
977 program after a change from mono to grayscaling (and vice versa).
978 Use correct constant for comparison to get `exec->grayscale'.
979
Werner Lemberg913a3652006-11-19 09:19:17 +00009802006-11-18 Werner Lemberg <wl@gnu.org>
981
982 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +0000983 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +0000984 This patch fixes Savannah bug #18301.
985
986 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
987 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
988 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
989 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
990 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
991 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
992 (FNT_Load_Glyph): Check validity of `glyph_index'.
993
David Turner7bab6ae2006-11-13 11:25:06 +00009942006-11-13 David Turner <david@freetype.org>
995
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000996 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
997 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +0000998
Werner Lemberg0d0d78d2006-11-14 10:37:10 +0000999 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1000 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1001 when building the library to change the default LCD filter to be
1002 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001003
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001004 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001005
David Turner8765c712006-11-10 16:49:42 +000010062006-11-10 David Turner <david@freetype.org>
1007
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001008 * src/smooth/ftsmooth.c: API change for the LCD
1009 filter. The FT_LcdFilter value is an enumeration describing which
1010 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1011 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1012 algorithm which produces strong color fringes for everything
1013 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001014
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001015 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1016 second parameter to an enum type.
1017
1018 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1019 (_ft_lcd_filter): Rename to...
1020 (_ft_lcd_filter_fir): This.
1021 Update parameters.
1022 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1023 (FT_Library_Set_LcdFilter): Update parameters.
1024 Handle new filter modes.
1025
1026 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1027 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1028 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1029 callback and update other fields.
1030
1031 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1032 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1033 Other minor improvements.
1034
1035 * src/autofit/aflatin.c: Various tiny improvements that drastically
1036 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1037 (af_latin_hints_compute_edges): Fix typo.
1038 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001039
David Turner4e9cc3c2006-11-09 16:31:52 +000010402006-11-09 David Turner <david@freetype.org>
1041
Werner Lemberg49c77a82006-11-09 21:51:57 +00001042 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1043 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001044
Werner Lemberg5e430892006-11-07 09:35:03 +000010452006-11-07 Zhe Su <james.su@gmail.com>
1046
1047 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1048 also.
1049
Werner Lemberg111b5ae2006-11-03 09:40:12 +000010502006-11-03 Werner Lemberg <wl@gnu.org>
1051
1052 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1053
David Turner40604742006-11-02 16:37:35 +000010542006-11-02 David Turner <david@freetype.org>
1055
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001056 Add a few tweaks to better handle serif fonts.
1057 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001058
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001059 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1060 segments that are less than 1.5 pixels high. This gets rid of
1061 *many* corner cases with serifs.
1062 (af_latin_align_linked_edge): Add logging message.
1063 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1064 Add logging messages.
1065 Handle AF_EDGE_FLAG flag specially.
1066
1067 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1068 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1069
1070 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1071 Update external declarations.
1072 (af_corner_orientation, af_corner_is_flat): Replaced by...
1073
1074 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1075 ft_corner_is_flat): These declarations.
1076
1077 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1078 Comment out. Replaced by...
1079
1080 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1081 These functions. Update all callers.
1082 (FT_Add64) [!FT_LONG64]: Simplify.
1083
1084 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1085 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1086 production of garbage by missing lots of segments.
1087
1088 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1089
1090 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1091 [AF_DEBUG]: Set _af_debug_hints.
1092
1093
1094 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1095 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1096 and ft_corner_orientation.
1097
1098
1099 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001100
Werner Lemberge88c5262006-10-24 05:46:26 +000011012006-10-24 Werner Lemberg <wl@gnu.org>
1102
1103 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1104
1105 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1106 as argument.
1107
David Turnera1861392006-10-23 16:00:59 +000011082006-10-23 Zhe Su <zsu@novell.com>
1109
Werner Lemberg715e96e2006-10-24 05:28:45 +00001110 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1111 better deal with broken Asian fonts with strange glyphs, having
1112 self-intersections and other peculiarities. The used algorithm is
1113 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001114
David Turnere140f142006-10-23 08:56:57 +000011152006-10-23 David Turner <david@freetype.org>
1116
Werner Lemberg715e96e2006-10-24 05:28:45 +00001117 Speed up the CFF font loader. With some large CFF fonts,
1118 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001119
Werner Lemberg715e96e2006-10-24 05:28:45 +00001120 * src/cff/cffload.c (cff_get_offset): Removed.
1121 (cff_new_index): Inline functionality of `cff_get_offset'.
1122 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1123 (cff_charset_done): Call `cff_charset_free_cids'.
1124 (cff_charset_load): Call `cff_charset_compute_cids'.
1125 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1126
1127 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1128 with FT_NEXT_XXX.
1129
1130
1131 Speed up the Postscript hinter, with more than 100% speed increase
1132 on my machine.
1133
1134 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1135 psh_corner_orientation): New functions.
1136 (psh_glyph_compute_inflections): Merge loops for efficiency.
1137 Use `psh_corner_orientation'.
1138 (psh_glyph_init): Use `psh_corner_is_flat'.
1139 (psh_hint_table_find_strong_point): Renamed to...
1140 (psh_hint_table_find_strong_points): This.
1141 Rewrite, adding argument to handle all points at once.
1142 Update all callers.
1143 (PSH_MAX_STRONG_INTERNAL): New macro.
1144 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001145
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000011462006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1147
1148 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001149 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001150
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000011512006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1152
1153 * docs/INSTALL.CROSS: New document file for cross-building.
1154
1155 * builds/unix/configure.raw: Preliminary cross-building support.
1156 Find native C compiler and pass it by CC_BUILD, and
1157 find suffix for native executable and pass it by EXEEXT_BUILD.
1158 Also suffix for target executable is passed by EXEEXT.
1159
Werner Lembergb9e6d692006-10-15 08:58:40 +00001160 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1161 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001162 CC_BUILD and EXEEXT_BUILD.
1163
Werner Lembergb9e6d692006-10-15 08:58:40 +00001164 * builds/exports.mk (APINAMES_EXE): Change the extension for
1165 apinames from the suffix for target (E) to that for building host
1166 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001167
Werner Lemberg82a07e92006-10-12 06:20:44 +000011682006-10-12 Werner Lemberg <wl@gnu.org>
1169
1170 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1171 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1172 which reference those files.
1173
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000011742006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1175
Werner Lembergb9e6d692006-10-15 08:58:40 +00001176 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1177 embedded in freetype2.pc and freetype-config. Use it to record
1178 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001179
1180 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1181
1182 * builds/unix/freetype-config.in: Ditto.
1183
Werner Lemberg28e17d92006-10-11 17:27:47 +000011842006-10-11 Werner Lemberg <wl@gnu.org>
1185
1186 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1187 development.
1188
Jens Claudius336d2292006-10-03 08:53:37 +000011892006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1190
1191 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1192 argument to ft_setjmp.
1193
1194 * include/freetype/internal/ftvalid.h: Add comment that
1195 ft_validator_run must not be used.
1196
Werner Lemberg2863cfa2006-10-01 17:04:00 +000011972006-10-01 Werner Lemberg <wl@gnu.org>
1198
1199 * src/base/ftbase.c: Undo change from 2006-09-30.
1200
1201 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1202
12032006-09-30 David Turner <david@freetype.org>
1204
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001205 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1206 s/unpatented_hinting/ignore_unpatented_hinter/.
1207 Update all callers.
1208
1209 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1210 auto-hinting shall be used or not.
1211
1212 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001213
Werner Lemberg2863cfa2006-10-01 17:04:00 +000012142006-09-30 Werner Lemberg <wl@gnu.org>
1215
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001216 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1217 in use).
1218
1219 * src/base/ftbase.c: Include `ftlcdfil.c'.
1220
Werner Lemberg9b15ea32006-09-29 18:22:11 +000012212006-09-29 Werner Lemberg <wl@gnu.org>
1222
1223 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1224 overlapping segments. Bug reported by Stefan Koch.
1225
David Turnerad830712006-09-27 16:20:59 +000012262006-09-28 David Turner <david@freetype.org>
1227
Werner Lemberg2c002e12006-09-29 21:31:53 +00001228 Fix a bug in the automatic unpatented hinting support which prevents
1229 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001230
Werner Lemberg2c002e12006-09-29 21:31:53 +00001231 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1232 s/force_autohint/unpatented_hinting/. Update all callers.
1233
1234 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1235
1236 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001237
David Turner8a317cf2006-09-27 07:52:48 +000012382006-09-27 David Turner <david@freetype.org>
1239
Werner Lemberg2c002e12006-09-29 21:31:53 +00001240 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001241
David Turner8a317cf2006-09-27 07:52:48 +00001242
David Turnere140f142006-10-23 08:56:57 +00001243 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001244 In a default build, the function `FT_Library_SetLcdFilter' returns
1245 `FT_Err_Unimplemented_Feature'; you need to #define
1246 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1247 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001248
Werner Lemberg2c002e12006-09-29 21:31:53 +00001249 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001250
Werner Lemberg2c002e12006-09-29 21:31:53 +00001251 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1252 typedef.
1253 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1254 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001255
Werner Lemberg2c002e12006-09-29 21:31:53 +00001256 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1257 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001258
Werner Lemberg2c002e12006-09-29 21:31:53 +00001259 Handle subpixel rendering.
1260 Simplify function.
1261 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1262 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1263
1264 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1265 pointing to <freetype/ftlcdfil.h>.
1266
1267 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1268 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1269
1270 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001271
Werner Lemberge20df4a2006-09-27 06:29:21 +000012722006-09-26 David Bustin
1273
1274 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1275 correctly. Reported as Savannah bug #17843.
1276
David Turner6f8c6222006-09-26 15:42:44 +000012772006-09-26 David Turner <david@freetype.org>
1278
Werner Lemberg110246c2006-09-26 21:55:44 +00001279 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1280 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1281 horizontal and vertical hinting for the purpose of debugging the
1282 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001283
Werner Lemberg110246c2006-09-26 21:55:44 +00001284 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1285 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001286
Werner Lemberg110246c2006-09-26 21:55:44 +00001287 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1288
1289 * include/freetype/config/ftoption.h, devel/ftoption.h
1290 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1291 we want to compile LCD-optimized rendering code (à la ClearType) or
1292 not. The macro *must* be disabled in default builds of the library
1293 for patent reasons.
1294
1295 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1296 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1297 isn't defined at compile time. This only changes the content of the
1298 rendered glyph to match the one of normal gray-level rendering,
1299 hence clients should not need to be modified.
1300
1301 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001302
Werner Lemberg745ff2c2006-09-19 05:48:02 +000013032006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1304
1305 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1306 LWFN fails and both are available.
1307
David Turnerf3050052006-09-11 12:00:32 +000013082006-09-11 David Turner <david@freetype.org>
1309
Werner Lembergf9644552006-09-12 13:48:10 +00001310 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1311 report their English names through an Apple Roman
1312 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001313
Werner Lembergf9644552006-09-12 13:48:10 +00001314 If the font uses another name entry with language_id == English, it
1315 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001316
Werner Lembergf9644552006-09-12 13:48:10 +00001317 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1318 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001319
Werner Lemberg36d2eab2006-09-05 19:24:34 +000013202006-09-05 Werner Lemberg <wl@gnu.org>
1321
1322 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001323 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001324 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1325 `HAN NOM B.ttf').
1326
1327 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1328
David Turner772e55d2006-09-05 09:45:15 +000013292006-09-05 David Turner <david@freetype.org>
1330
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001331 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001332
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001333 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1334 (TRaster): Remove `count_ex' and `count_ey'.
1335 (gray_find_cell): Remove 2nd and 3rd argument.
1336 (gray_alloc_cell): Merged with `gray_find_cell'.
1337 (gray_record_cell): Simplify.
1338 (gray_set_cell): Rewrite.
1339 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1340 (gray_render_span): Don't use FT_MEM_SET for small values.
1341 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1342 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1343 bitmap scanline.
1344 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001345
David Turneraa557a92006-09-04 16:42:44 +000013462006-09-04 David Turner <david@freetype.org>
1347
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001348 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1349 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001350
Werner Lemberg2d8629b2006-09-03 06:18:45 +000013512006-09-03 Werner Lemberg <wl@gnu.org>
1352
1353 * devel/ftoption.h: Synchronize with
1354 include/freetype/config/ftoption.h.
1355
1356 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1357 variable declaration.
1358 (gray_convert_glyph): Fix compiler warnings.
1359
David Turner6d79f212006-09-01 14:09:35 +000013602006-09-01 David Turner <david@freetype.org>
1361
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001362 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1363 to recognize a few fonts that require the automatic unpatented
1364 loader.
David Turnerbd502952006-09-01 19:05:24 +00001365
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001366 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1367 rasterizer. The speed improvement is between 15% and 25%, depending
1368 on the font data.
1369
1370 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1371 (TCell): Redefine.
1372 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1373 (gray_init_cells): Updated.
1374 (gray_find_cell, gray_alloc_cell): New functions.
1375 (gray_record_cell): Rewritten to use `gray_find_cell' and
1376 `gray_alloc_cell'.
1377 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1378 QSORT_THRESHOLD):
1379 Removed.
1380 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1381 gray_dump_cells): Removed.
1382 (gray_sweep): Rewritten.
1383 (gray_convert_glyph): Rewrite code which used one of the sorting
1384 functions.
1385 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001386
Werner Lembergd898aed2006-08-29 09:50:34 +000013872006-08-29 Dr. Werner Fink <werner@suse.de>
1388
1389 * configure: Make it possible to handle configure options which
1390 have strings containing spaces.
1391
13922006-08-27 David Turner <david@freetype.org>
1393
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001394 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1395 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1396 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1397
1398 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1399 src/truetype/truetype.c, src/truetype/ttdriver.c,
1400 src/truetype/ttgload.c, src/truetype/ttgload.h,
1401 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1402 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1403 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1404
1405 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1406 member `force_autohint'.
1407
1408 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1409
1410 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1411 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001412
Jens Claudiusa787f452006-08-27 11:26:18 +000014132006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1414
1415 Fix miscellaneous compiler warnings.
1416
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001417 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1418 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001419
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001420 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1421 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1422 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001423
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001424 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1425 volatileness of argument to ft_longjmp. Spotted by Werner
1426 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001427
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001428 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1429 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001430
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001431 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1432 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001433
Werner Lembergc4c35b72006-08-27 08:03:46 +000014342006-08-27 Werner Lemberg <wl@gnu.org>
1435
1436 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1437 Reported by Jens.
1438
Jens Claudius088e44e2006-08-22 14:24:30 +000014392006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001440
Jens Claudius088e44e2006-08-22 14:24:30 +00001441 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001442 about addresses of volatile objects passed as function arguments as
1443 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001444
Werner Lembergc4c35b72006-08-27 08:03:46 +00001445 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1446 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001447
1448 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1449 argument `table' a pointer to a volatile object.
1450
1451 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1452 argument `table' a pointer to a volatile object.
1453
Jens Claudius2652bd52006-08-18 17:20:37 +000014542006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1455
1456 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1457 variable `_sfnt' as volatile since it must keep its value across
1458 a call to ft_setjmp.
1459 (gxv_validate): Same for local variables `memory' and `valid'.
1460 (classic_kern_validate): Same for local variables `memory',
1461 `ckern', and `valid'.
1462
1463 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1464 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1465 `jstf', and 'valid'.
1466
1467 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1468 local variable `cmap'.
1469
David Turner9fbfc6a2006-08-16 09:11:31 +000014702006-08-16 David Turner <david@freetype.org>
1471
Werner Lemberg12342992006-08-19 11:18:09 +00001472 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1473 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001474
Werner Lemberg12342992006-08-19 11:18:09 +00001475 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1476 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001477
David Turner33f5f242006-08-16 16:50:55 +00001478
Werner Lemberg12342992006-08-19 11:18:09 +00001479 Improvements to native TrueType hinting. This is a first try,
1480 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1481
1482 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1483 `extra_points2'.
1484
1485 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1486 `orus'.
1487
1488 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1489 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1490 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1491 handle `extra_points2'.
1492
1493 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1494 Remove compiler warning.
1495 (cur_to_arg): Remove macro.
1496 (TT_Hint_Glyph): Updated.
1497 (TT_Process_Simple_Glyph): Handle `orus'.
1498
1499 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1500 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1501 (LOC_Ins_IUP): Renamed to...
1502 (IUP_WorkerRec): This.
1503 Add `orus' member.
1504 (Shift): Renamed to...
1505 (_iup_worker_shift): This.
1506 Updated.
1507 (Interp): Renamed to...
1508 (_iup_worker_interpolate): This.
1509 Updated to handle `orus'.
1510 (Ins_IUP): Updated.
1511
1512 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1513 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001514
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000015152006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1516
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001517 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001518 build ftvalid in ft2demos. This has been inadvertedly changed
1519 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001520
15212006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1522
Werner Lemberg12342992006-08-19 11:18:09 +00001523 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1524 Jens:
1525 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001526
Werner Lemberg12342992006-08-19 11:18:09 +00001527 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1528 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001529
1530 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1531
Jens Claudius9950adc2006-08-13 12:14:36 +000015322006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1533
Werner Lemberg12342992006-08-19 11:18:09 +00001534 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1535 T1_TOKEN_TYPE_KEY.
1536 (T1_FieldRec): Add `dict'.
1537 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1538 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1539 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001540
Werner Lemberg12342992006-08-19 11:18:09 +00001541 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1542 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001543
1544 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1545
1546 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001547 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1548 not T1_TOKEN_TYPE_ANY.
1549 (ps_parser_load_field): Make sure a token that should be a string or
1550 name is really a string or name.
1551 Avoid memory leak if a keyword has been already encountered and its
1552 value is overwritten.
1553 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1554 T1_FIELD_XXX.
1555 (parse_dict): Ignore keywords that occur in the wrong dictionary
1556 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001557
Werner Lemberg12342992006-08-19 11:18:09 +00001558 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1559 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001560
Werner Lemberg12342992006-08-19 11:18:09 +00001561 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1562 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001563
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000015642006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1565
1566 Move creation of field `buildchar' of T1_DecoderRec out of
1567 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1568 of it.
1569
1570 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1571 and `T1_Compute_Max_Advance'.
1572
1573 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1574 Remove field `face', add `len_buildchar'.
1575
1576 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1577 field `buildchar'.
1578
1579 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1580 finisher for T1_Decoder.
1581 (cid_slot_load_glyph): Do not ignore failure when initializing the
1582 T1_Decoder.
1583
1584 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
1585 Updated.
1586 (t1_decoder_init): Remove initialization of fields `buildchar' and
1587 `len_buildchar'.
1588 (t1_decoder_done): Remove deallocation of field `buildchar'.
1589
1590 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
1591 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
1592 T1_Decoder.
1593 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
1594 `len_buildchar'; make sure to call finisher for T1_Decoder even in
1595 case of error.
1596
1597 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
1598 `buildchar' of T1_FaceRec.
1599
1600 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
1601 `buildchar' of T1_FaceRec.
1602
Werner Lemberg1a380e02006-07-14 18:28:08 +000016032006-07-14 Jens Claudius <jens.claudius@yahoo.com>
1604
1605 * freetype2/include/freetype/internal/psaux.h: New macros
1606 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
1607 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
1608 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
1609 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
1610 (T1_DecoderRec): New fields `buildchar' and `face'.
1611 (IS_PS_TOKEN): New macro.
1612
1613 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
1614 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
1615
1616 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
1617 `default_design_vector' and `num_default_design_vector'.
1618
1619 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
1620 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
1621 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
1622
1623 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
1624 `token' argument to be NULL if we want only to count the number of
1625 tokens.
1626 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
1627 want to skip the array.
1628 (ps_tofixedarray): Allow `values' argument to be NULL if we just
1629 want to skip the array.
1630
1631 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
1632 support for (partially commented out) othersubrs 19-25, 27, and 28.
1633 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
1634 (t1_decoder_done): Release new field `buildchar'.
1635
1636 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
1637 functions.
1638 (t1_keywords): Register them.
1639 (t1_allocate_blend): Updated.
1640 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
1641 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
1642 (parse_dict): Remove `keyword_flags' argument.
1643 Use new macro IS_PS_TOKEN.
1644 Changed function so that later PostScript definitions override
1645 earlier ones.
1646 (t1_init_loader): Initialize new field `keywords_encountered'.
1647 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
1648 `len_buildchar'.
1649 Remove `keywords_flags'.
1650
1651 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
1652 `keywords_encountered'.
1653 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
1654
1655 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
1656 New entries for parsing /NDV, /CDV, and /DesignVector.
1657
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000016582006-07-07 Werner Lemberg <wl@gnu.org>
1659
1660 Add many checks to protect against malformed PCF files.
1661
1662 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
1663 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
1664
1665 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
1666 data and check that tables don't overlap (using a simple
1667 bubblesort).
1668 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
1669 New macros which give the size of data structures in the data
1670 stream.
1671 (pcf_get_properties): Use rough estimates to get array size limits.
1672 Assign `face->nprops' and `face->properties' earlier so that a call
1673 to PCF_Face_Done can do the clean-up in case of error.
1674 Protect against invalid string offsets.
1675 (pcf_get_metrics): Clean up code.
1676 Adjust tracing message levels.
1677 Use rough estimate to get array size limit.
1678 (pcf_get_bitmaps): Clean up code.
1679 Adjust tracing message levels.
1680 Use rough estimates to get offset limits.
1681 (pcf_get_encodings): Adjust tracing message level.
1682 (pcf_get_accel): Clean up code.
1683
Werner Lemberg8eb05252006-06-27 06:20:01 +000016842006-06-26 Werner Lemberg <wl@gnu.org>
1685
1686 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
1687 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
1688
Werner Lemberg24703f82006-06-26 19:12:51 +000016892006-06-26 Jens Claudius <jens.claudius@yahoo.com>
1690
1691 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
1692 (t1_decoder_parse_charstrings): Operator with
1693 opcode 15 pops its two arguments.
1694 Handle the case where the pops of an othersubr may be part of a
1695 subroutine.
1696 Handle unknown othersubrs gracefully: count their operands and let
1697 the following pop operators push the operands as the results onto
1698 the Type1 stack.
1699 Improve handling of setcurrentpoint opcode.
1700
Werner Lembergc011f4c2006-06-26 09:40:00 +000017012006-06-25 Jens Claudius <jens.claudius@yahoo.com>
1702
1703 The Type 1 parser now skips over top-level procedures as required
1704 for a `Simplified Parser'. This makes the parser more robust as it
1705 doesn't poke around in PostScript code. Additionally, it makes the
1706 FontDirectory hackery in src/type1/t1load.c unnecessary.
1707
1708 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
1709 (skip_literal_string): Add FT_Error as return value.
1710 Handle escapes better.
1711 (skip_string): Add FT_Error as return value.
1712 Don't set `parser->error' but return error code directly.
1713 (skip_procedure): New function.
1714 (ps_parser_skip_PS_token): Handle procedures.
1715 Update code.
1716 (ps_parser_to_token): Update code.
1717 (ps_parser_load_field_table): Handle bbox entries also.
1718
1719 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
1720 Add commented-out code for synthetic fonts.
1721
Werner Lemberga2da05c2006-06-25 06:27:27 +000017222006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
1723
1724 Fix two hinting bugs as reported in
1725 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
1726
1727 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
1728 `first_point' member.
1729
1730 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
1731 `first_point'.
1732 (TT_Process_Composite_Glyph): Always untouch points.
1733
1734 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
1735 `first_point' and `last_point' in case of composite glyphs.
1736 (Ins_IUP): Fix computation of `end_point'.
1737
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000017382006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1739
Werner Lembergef3d2c22006-06-25 06:07:14 +00001740 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
1741 Mac. The original patch was written by David Sachitano and Lawrence
1742 Coopet, and modified by Sean McBride for MPW compatibility. Only
1743 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001744
Werner Lembergef3d2c22006-06-25 06:07:14 +00001745 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
1746 Mac OS X platforms.
1747 (OS_INLINE): Undefine before definition.
1748 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
1749 FontAssociation table in FOND resource.
1750 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
1751 and fontSize at each entry of FontAssociation table in FOND
1752 resource.
1753 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
1754 ffStylOff of FamilyRecord header of FOND resource, the header,
1755 fontSize, fontID at each entry of FontAssociation table, and
1756 StyleMapping table.
1757 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001758
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000017592006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1760
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001761 Public API of TrueTypeGX, OpenType, and classic kern table validator
1762 should return `FT_Err_Unimplemented_Feature' if validation service
1763 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00001764 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001765 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
1766
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001767 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
1768 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
1769 unavailable.
1770 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
1771 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001772
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001773 * src/base/ftotval.c (FT_OpenType_Validate): Return
1774 FT_Err_Unimplemented_Feature if OpenType validation service is
1775 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001776
Werner Lembergb10e45a2006-06-08 07:32:56 +000017772006-06-08 Werner Lemberg <wl@gnu.org>
1778
1779 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
1780 errors.
1781
David Turner5f1f7502006-06-07 05:11:50 +000017822006-06-07 David Turner <david@freetype.org>
1783
Werner Lemberg7d48cb02006-06-08 06:00:08 +00001784 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
1785 (T1_Read_Metrics): Fix memory leak which happened when the metrics
1786 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00001787
David Turner457b4a82006-06-06 08:14:14 +000017882006-06-06 David Turner <david@freetype.org>
1789
Werner Lemberg4836f952006-06-06 12:54:08 +00001790 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00001791
Werner Lemberg4836f952006-06-06 12:54:08 +00001792 We change `ps_unicodes_init' so that it also takes a
1793 `free_glyph_name' callback to release the glyph names returned by
1794 `get_glyph_name'
1795
1796 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
1797 Renamed to ...
1798 (PS_GetGlyphNameFunc): This.
1799 (PS_FreeGlyphNameFunc): New typedef.
1800 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
1801
1802 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
1803 argument.
1804 (cff_sid_free_glyph_name): New function.
1805 (cff_cmap_unicode_init): Updated.
1806
1807 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
1808
1809 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
1810 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00001811
1812
David Turner09717352006-06-04 14:33:08 +000018132006-06-04 David Turner <david@freetype.org>
1814
Werner Lembergd724f202006-06-04 15:17:41 +00001815 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
1816 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001817 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00001818
Werner Lembergd724f202006-06-04 15:17:41 +00001819 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
1820 of `face->num_glyphs' which missed the last glyph, due to
1821 the offset-by-1 computation, since the PFR format doesn't
1822 guarantee that glyph index 0 corresponds to the `missing
1823 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00001824
Werner Lemberg33779662006-05-26 06:30:05 +000018252006-05-25 Werner Lemberg <wl@gnu.org>
1826
1827 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
1828 `-no-undefined'. Reported by Christian Biesinger.
1829
Werner Lemberg24773d62006-05-20 08:53:13 +000018302006-05-19 Brian Weed <bw@imaginengine.com>
1831
1832 * builds/win32/visualc/freetype.dsp: Release libraries no longer
1833 have debug information, and debug libraries use `C7 compatible'
1834 debug info.
1835
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000018362006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1837
Werner Lemberga6523a62006-05-20 08:47:01 +00001838 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00001839 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001840
Werner Lemberga6523a62006-05-20 08:47:01 +00001841 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
1842 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001843
1844 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00001845 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001846
18472006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1848
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00001849 * build/unix/configure.raw: Add a fallback to disable Carbon
1850 dependency, if configured with no options on Mac OS X.
1851
18522006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1853
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001854 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00001855 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001856 the second part of Savannah bug #16590.
1857
Werner Lemberg545c4e52006-05-17 22:55:04 +000018582006-05-18 Werner Lemberg <wl@gnu.org>
1859
1860 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
1861 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
1862
David Turnerdc3ff312006-05-17 12:59:35 +000018632006-05-17 David Turner <david@freetype.org>
1864
Werner Lemberg545c4e52006-05-17 22:55:04 +00001865 This is a major patch used to drastically improve the performance of
1866 loading glyphs. This both speeds up loading the glyph vectors
1867 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00001868
Werner Lemberg545c4e52006-05-17 22:55:04 +00001869 We now use inline assembler code with GCC to implement `FT_MulFix',
1870 which is probably the most important function related to the
1871 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00001872
Werner Lemberg545c4e52006-05-17 22:55:04 +00001873 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00001874
1875
Werner Lemberg545c4e52006-05-17 22:55:04 +00001876 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
1877 `cursor' and `limit'.
1878
1879 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
1880 New functions.
1881 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
1882 [TEST]: Remove.
1883
1884 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
1885 code.
1886
1887 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
1888 `FT_ZERO'
1889 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
1890 (af_glyph_hints_reload: Rewrite recognition of weak points.
1891
1892 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
1893 constant values out of the loops.
1894
1895 * src/autofit/aftypes.h: Updated.
1896
1897 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
1898
1899 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
1900 product to get orientation.
1901
1902 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
1903 (FT_Stream_OpenGzip): Use it to handle small files directly in
1904 memory.
1905
1906 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
1907 Improve performance.
1908
1909 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
1910 `limit'.
1911
1912 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
1913 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
1914 exceedingly large values of number of contours. Speed up by
1915 reducing the number of loops.
1916
1917 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
1918
1919
1920 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
1921 used to detect rogue clients from 4 to 16. This is to prevent some
1922 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
1923 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00001924
Werner Lembergde2d90a2006-05-17 08:54:30 +000019252007-05-17 Werner Lemberg <wl@gnu.org>
1926
1927 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00001928 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00001929
19302006-05-16 Werner Lemberg <wl@gnu.org>
1931
1932 * docs/PROBLEMS: Updated icl issues.
1933
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001934----------------------------------------------------------------------------
1935
Werner Lemberg42b63b22007-01-21 21:01:33 +00001936Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001937David Turner, Robert Wilhelm, and Werner Lemberg.
1938
1939This file is part of the FreeType project, and may only be used, modified,
1940and distributed under the terms of the FreeType project license,
1941LICENSE.TXT. By continuing to use, modify, or distribute this file you
1942indicate that you have read the license and understand and accept it
1943fully.
1944
1945
1946Local Variables:
1947version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00001948coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001949End: