blob: 45f753e8e5adec303ebdbb7dda94f883383984c3 [file] [log] [blame]
Werner Lemberg6f99c882007-05-19 07:01:49 +000012007-05-19 Werner Lemberg <wl@gnu.org>
2
3 * src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
4 before handling subglyphs so that it can be reinitialized each time.
5 This fixes Savannah bug #19859.
6
Werner Lemberg95bc9d32007-05-16 15:19:42 +000072007-05-16 Werner Lemberg <wl@gnu.org>
8
9 * src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
10 src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
11 (FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
12 src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
13 tt_face_get_metrics): Fix type-punning issues.
14
David Turner0a24bd22007-05-15 10:54:10 +0000152007-05-15 David Turner <david@freetype.org>
16
17 * include/freetype/config/ftstdlib.h,
Werner Lemberg6ae7ff02007-05-15 11:55:37 +000018 include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
19 ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
David Turner0a24bd22007-05-15 10:54:10 +000020 instead on relying on the locale-dependent functions provided by
Werner Lemberg6ae7ff02007-05-15 11:55:37 +000021 <ctypes.h>.
David Turner0a24bd22007-05-15 10:54:10 +000022
Werner Lemberg607dec72007-05-15 06:49:37 +0000232007-05-15 Graham Asher <graham.asher@btinternet.com>
24
25 * src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
26 variable.
27 * src/autofit/afloader.c (af_loader_load_g): Ditto.
28
29 * src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
30 (open_face_from_buffer): Initialize `stream'.
31 (FT_Request_Metrics): Remove unused variable.
32 Remove redundant `break' statements.
33 (FT_Get_Track_Kerning): Remove unused variable.
34
35 * src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
36 afm_parse_kern_data): Remove redundant
37 `break' statements.
38 (afm_parser_parse): Ditto.
39 Don't use uninitialized variables.
40
41 * src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
42 Use `|' operator instead of `^' to set it.
43 Update all users.
44
45 * src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
46 * src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
47
48 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
49 comparison.
50 (TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
51 (TT_Load_Glyph): Remove unused variable.
52
Werner Lemberg8d463a52007-05-13 16:01:55 +0000532007-05-13 Derek Clegg <dclegg@apple.com>
54
55 * src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
56 if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
57
David Turner711cf842007-05-11 14:36:24 +0000582007-05-11 David Turner <david@freetype.org>
59
Werner Lemberg56ceaa42007-05-14 18:53:58 +000060 * src/cache/ftbasic.c, include/freetype/ftcache.h
61 (FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
62 functions that allow us to look up glyphs using an FTC_Scaler object
63 to specify the size, making it possible to use fractional pixel
64 sizes.
65
66 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
67 `size->cvt_ready'. Reported by Boris Letocha.
David Turner711cf842007-05-11 14:36:24 +000068
Werner Lemberg94be20e2007-05-09 20:02:55 +0000692007-05-09 Graham Asher <graham.asher@btinternet.com>
70
71 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
72 (af_latin_metrics_scale_dim): Fix compiler warnings.
73
Werner Lemberg41271032007-05-06 04:51:48 +0000742007-05-06 Werner Lemberg <wl@gnu.org>
75
76 * builds/win32/visualce/freetype.sln: Removed, as requested by
77 Vincent.
78
Werner Lembergdf49e692007-05-04 06:30:05 +0000792007-05-04 Vincent RICHOMME <richom.v@free.fr>
80
81 * builds/win32/visualce/*: Add Visual C++ project files for Pocket
82 PC targets.
83
84 * docs/CHANGES: Document them.
85
862007-05-04 <harry@kdevelop.org>
Werner Lemberg5077e832007-05-04 06:13:46 +000087
88 * builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
89 mmap (which might happen on some RTOS). From Savannah patch #5909.
90
Werner Lemberg106eaf12007-05-03 07:07:47 +0000912007-05-03 Werner Lemberg <wl@gnu.org>
92
93 * src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
94 * include/freetype/freetype.h (FT_Set_Char_Size): Update
95 documentation.
96
Werner Lemberg1b5267d2007-04-28 21:06:15 +0000972007-04-28 Victor Stinner <victor.stinner@inl.fr>
98
99 * src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
100 `cmap'.
101
Werner Lembergcc712a22007-04-27 17:16:50 +00001022007-04-27 Werner Lemberg <wl@gnu.org>
103
104 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
105 number of points in contours. Problem reported by Victor Stinner
106 <victor.stinner@haypocalc.com>.
107 (TT_Process_Simple_Glyph): Synchronize variable types.
108
Werner Lemberg45bb18f2007-04-26 06:26:35 +00001092007-04-26 Werner Lemberg <wl@gnu.org>
110
111 * src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
112 zero in case of error. This fixes Savannah bug #19689.
113
David Turnera8b45e62007-05-11 14:10:30 +00001142007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
115
116 * src/truetype/ttobjs.c: fix a typo that created a speed regression
117 in the TrueType bytecode loader
118
Werner Lembergfcc1f472007-04-10 11:51:50 +00001192007-04-10 Martin Horak <horakm@centrum.cz>
120
121 * src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
122 Ignore `hhea' table. This fixes Savannah bug #19261.
123
Werner Lemberg14bf82e2007-04-10 04:09:49 +00001242007-04-09 Werner Lemberg <wl@gnu.org>
125
126 * Version 2.3.4 released.
127 =========================
128
129
130 Tag sources with `VER-2-3-4'.
131
132 * docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
133 version number to 2.3.4.
134
135 * README, Jamfile (RefDoc), builds/win32/visualc/index.html,
136 builds/win32/visualc/freetype.dsp,
137 builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
138
139 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
140
141 * builds/unix/configure.raw (version_info): Set to 9:15:3.
142
Werner Lembergf4a52a62007-04-09 08:40:11 +00001432007-04-09 Martin Horak <horakm@centrum.cz>
144
145 * src/truetype/ttgload.c (load_truetype_glyph): Save and restore
146 memory stream to avoid a crash with the incremental memory
147 interface (Savannah bug #19260).
148
David Turner1dcb4442007-04-06 08:19:04 +00001492007-04-06 David Turner <david@freetype.org>
150
Werner Lembergc81cf612007-04-06 09:28:23 +0000151 * src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
152 (Savannah bug #19536).
David Turner1dcb4442007-04-06 08:19:04 +0000153
Werner Lemberg9f83e052007-04-05 02:28:23 +00001542007-04-04 Werner Lemberg <wl@gnu.org>
155
156 * Version 2.3.3 released.
157 =========================
158
159
160 Tag sources with `VER-2-3-3'.
161
162 * docs/CHANGES: Mention CVE-2007-1351.
163
David Turner7338ec22007-04-03 14:30:34 +00001642007-04-03 David Turner <david@freetype.org>
165
166 * src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
Werner Lemberg74781972007-04-03 19:39:28 +0000167 if one of the resolution values is 0, treat it as if it were the
168 same as the other value.
David Turner7338ec22007-04-03 14:30:34 +0000169
David Turnere6472c12007-04-02 13:13:54 +00001702007-04-02 David Turner <david@freetype.org>
171
Werner Lemberg94f12272007-04-03 07:19:53 +0000172 Add special code to detect `extra-light' fonts and do not snap their
173 stem widths too much to avoid bizarre hinting effects.
174
175 * src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
176 `extra_light' members.
177
178 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
179 them.
180 (af_latin_metrics_scale_dim): Set `extra_light'.
181 (af_latin_compute_stem_width): Use `extra_light'.
David Turnere6472c12007-04-02 13:13:54 +0000182
David Turner3f539692007-03-28 14:53:40 +00001832007-03-28 David Turner <david@freetype.org>
184
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000185 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
David Turner3f539692007-03-28 14:53:40 +0000186 padding.
187
Werner Lemberga08b2172007-03-28 07:17:17 +00001882007-03-28 Werner Lemberg <wl@gnu.org>
189
190 * src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
191 gracefully.
192 (_bdf_set_default_spacing): Increase `name' buffer size to 256 and
Werner Lemberg9f83e052007-04-05 02:28:23 +0000193 issue an error for longer names. This fixes CVE-2007-1351.
Werner Lemberga08b2172007-03-28 07:17:17 +0000194 (_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
195 number of code points in Unicode.
196
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000197 * builds/win32/visualc/index.html,
198 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000199 builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000200 s/232/233/.
201
202 * docs/CHANGES: Mention ftdiff.
203
David Turner3b242d32007-03-26 12:03:04 +00002042007-03-26 David Turner <david@freetype.org>
205
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000206 * src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
207 corresponding code.
208 (Ins_MD): Last regression fix.
David Turner3b242d32007-03-26 12:03:04 +0000209
Werner Lemberga08b2172007-03-28 07:17:17 +0000210 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000211 computations in order to ignore single-point contours. These are
212 never rasterized and correspond in certain fonts to mark-attach
213 points that are very far from the glyph's real outline, ruining the
214 computation.
David Turnerf58caa02007-03-26 12:39:25 +0000215
Werner Lemberga08b2172007-03-28 07:17:17 +0000216 * src/autofit/afloader.c (af_loader_load_g): In the case of
217 monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
218 Otherwise code that uses them will most certainly ruin the fixed
219 advance property.
David Turner23553d62007-03-26 13:37:17 +0000220
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000221 * docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
222 documentation and bump version number to 2.3.3.
223
224 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
225
226 * builds/unix/configure.raw (version_info): Set to 9:14:3.
David Turner23553d62007-03-26 13:37:17 +0000227
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +00002282007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
229
Werner Lemberg644b1ad2007-03-28 21:17:11 +0000230 * builds/unix/ftconfig.in: Disable Carbon framework dependency on
231 64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
Suzuki, Toshiya (鈴木俊哉)86a3ee72007-03-26 05:40:55 +0000232 * builds/vms/ftconfig.h: Ditto.
233 * include/freetype/config/ftconfig.h: Ditto.
234
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +00002352007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
236
Werner Lemberg14ffe092007-03-22 06:12:43 +0000237 * builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
238 32bit unsigned long overflow by 64bit filesize on LP64 platform, as
Suzuki, Toshiya (鈴木俊哉)dabf0532007-03-22 05:23:53 +0000239 proposed by Sean McBride:
240 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
241
2422007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
243
Suzuki, Toshiya (鈴木俊哉)4bcf9572007-03-22 04:53:45 +0000244 * builds/unix/ftconfig.in: Suppress SGI compiler's warning against
245 setjmp, proposed by Sean McBride:
246 http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
247
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +00002482007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
249
Werner Lembergc9f6c662007-03-21 13:30:14 +0000250 * builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
251 conftest.c, to avoid unexpected shell evaluation. Possibly it is a
252 bug or undocumented behaviour of autoconf.
Suzuki, Toshiya (鈴木俊哉)6fb74f62007-03-19 06:30:26 +0000253
David Turner74c34eb2007-03-18 07:19:31 +00002542007-03-18 David Turner <david@freetype.org>
255
Werner Lembergc9f6c662007-03-21 13:30:14 +0000256 * src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
257 fix; testing still needed.
David Turner74c34eb2007-03-18 07:19:31 +0000258
Werner Lembergc9f6c662007-03-21 13:30:14 +0000259 * src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
David Turner64a9ef22007-03-18 07:35:08 +0000260
David Turner89020d92007-03-17 17:48:57 +00002612007-03-17 David Turner <david@freetype.org>
262
Werner Lembergc9f6c662007-03-21 13:30:14 +0000263 * src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
264 (undocumented) twilight zone special case.
David Turner89020d92007-03-17 17:48:57 +0000265
Werner Lemberg25d592a2007-03-09 07:59:35 +00002662007-03-09 Werner Lemberg <wl@gnu.org>
267
268 * Version 2.3.2 released.
269 =========================
270
271
272 Tag sources with `VER-2-3-2'.
273
274 * builds/win32/visualc/index.html,
275 builds/win32/visualc/freetype.dsp,
Werner Lemberg14bf82e2007-04-10 04:09:49 +0000276 builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
Werner Lemberg25d592a2007-03-09 07:59:35 +0000277 s/231/232/.
278
David Turner3a51afa2007-03-08 10:50:38 +00002792007-03-08 David Turner <david@freetype.org>
280
Werner Lemberg25d592a2007-03-09 07:59:35 +0000281 * docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
David Turner121cad52007-03-08 16:43:50 +0000282
Werner Lemberg25d592a2007-03-09 07:59:35 +0000283 * builds/unix/configure.raw (version_info): Set to 9:13:3.
284
285 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
286
287 * README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
David Turner121cad52007-03-08 16:43:50 +0000288
Werner Lemberg1e259de2007-03-08 15:39:21 +0000289 * src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
290 function to work properly, over-writing user-provided buffers in
291 some cases. Reported by James Cloos <cloos@jhcloos.com>.
David Turner3a51afa2007-03-08 10:50:38 +0000292
David Turner121cad52007-03-08 16:43:50 +0000293
Werner Lemberg3d92f082007-03-06 11:59:24 +00002942007-03-05 Werner Lemberg <wl@gnu.org>
295
296 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
297 macro for `strstr'.
298
299 * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
300 `trick_names', as suggested by Ivan Nincic.
301
David Turner085bc6e2007-03-05 17:40:03 +00003022007-03-05 David Turner <david@freetype.org>
303
Werner Lembergd112cf02007-03-06 12:06:56 +0000304 * src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
305 case FT_Init_FreeType fails for some reason. Problem reported by
306 Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
David Turnerdddd0682007-03-05 18:23:25 +0000307
Werner Lembergd112cf02007-03-06 12:06:56 +0000308 * src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
309 and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
310 `TT_Size.root.metrics'. Problem reported by Daniel Glöckner
311 <daniel-gl@gmx.net>.
David Turner91aaf322007-03-05 18:18:52 +0000312
Werner Lembergd112cf02007-03-06 12:06:56 +0000313 * src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
314 signed values, not unsigned ones. Problem reported by Johannes
315 Walther <joh_walt@yahoo.de>.
David Turner085bc6e2007-03-05 17:40:03 +0000316
David Turner601aefe2007-02-21 16:47:49 +00003172007-02-21 David Turner <david@freetype.org>
318
Werner Lembergde5e6862007-02-25 21:06:43 +0000319 * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
320 of small and ghost stems in the Postscript interpreter.
David Turner601aefe2007-02-21 16:47:49 +0000321
Suzuki, Toshiya (鈴木俊哉)b68e0252007-02-20 02:37:36 +00003222007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
323
324 * src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
325 leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
326 * builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
327
Werner Lemberga0915172007-02-16 08:12:50 +00003282007-02-16 Werner Lemberg <wl@gnu.org>
329
330 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
331 * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
332
David Turner2c4500e2007-02-14 15:08:47 +00003332007-02-14 David Turner <david@freetype.org>
334
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000335 It seems that the following changes fix most of the known
336 interpreter problems with my fonts, but more testing is needed,
337 though.
338
339 * src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
340 (TT_MulFix14): Rewrite.
341 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
342 (Ins_MIRP): Ditto.
David Turner2c4500e2007-02-14 15:08:47 +0000343
Werner Lembergc6a14082007-02-12 22:08:15 +00003442007-02-12 Werner Lemberg <wl@gnu.org>
345
346 * src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
347 warnings.
348
349 * src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
350 (bdf_interpret_style): Ditto.
351
David Turnerc0f9c4a2007-02-12 14:55:03 +00003522007-02-12 David Turner <david@freetype.org>
353
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000354 Simplify projection and dual-projection code interface.
355
Werner Lemberg406d25f2007-02-12 22:01:18 +0000356 * src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
357 FT_Vector' as argument type.
358 * src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
359 Updated.
360 (CUR_fast_project, CUR_fast_dualproj): New macros.
361 (Project, Dual_Project, Project_x, Project_y): Updated.
362 (Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
363 macros.
364
365
366 * src/autofit/afloader.c (af_loader_load_g): Improve spacing
367 adjustments for the non-light auto-hinted modes. Gets rid of
368 `inter-letter spacing is too wide' problems.
David Turner72a0dd22007-02-12 15:24:51 +0000369
Werner Lemberg3cd6cc22007-02-16 08:10:17 +0000370 * src/autofit/aflatin.c (af_latin_hints_link_segments,
371 af_latin_hints_compute_edges): Slight optimization of the segment
372 linker and better handling of serif segments to get rid of broken
373 `9' in Arial at 9pt (96dpi).
Werner Lembergeb3d1fd2007-02-13 08:19:49 +0000374
David Turnerc0f9c4a2007-02-12 14:55:03 +0000375
Werner Lemberg442bfb82007-02-12 21:44:10 +0000376 Introduce new string functions and the corresponding macros to get
377 rid of various uses of strcpy and other `evil' functions, as well as
378 to simplify a few things.
379
380 * include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
381 ft_mem_strcpyn): New declarations.
382 (FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
383 macros.
384 * src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
385 functions.
386
387 * src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
388 src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
389 (pcf_get_properties, pcf_interpret_style, pcf_load_font),
390 src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
391 (cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
392 src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
393 (t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
394 t42_get_name_index): Use new functions and simplify code.
David Turner2ef3e0f2007-02-12 21:28:21 +0000395
Werner Lemberg406d25f2007-02-12 22:01:18 +0000396 * builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
397
Werner Lemberg582067d2007-02-11 15:03:05 +00003982007-02-11 Werner Lemberg <wl@gnu.org>
399
400 * src/autofit/afloader.c (af_loader_load_g): Don't change width for
401 non-spacing glyphs.
402
Werner Lemberg8f474532007-02-07 08:31:01 +00004032007-02-07 Tom Parker <palfrey@tevp.net>
404
405 * src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
406 pointer.
407
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00004082007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
409
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000410 * include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
411 Introduce __attribute((deprecated))__ to warn functions
Werner Lembergdcbb7082007-02-08 08:54:09 +0000412 which use non-ANSI data types in its interfaces.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000413 (FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
414 (FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
415 (FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
416 (FT_New_Face_From_FSRef): Deprecated, using FSRef.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000417
418 * src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
419 to avoid warning in building FreeType.
Suzuki, Toshiya (鈴木俊哉)f223df62007-02-05 04:07:46 +0000420 * builds/mac/ftmac.c: Ditto.
421
4222007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
423
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000424 * src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
Werner Lembergdcbb7082007-02-08 08:54:09 +0000425 `--with-fsspec' etc. Replace #include "ftmac.c" with
Suzuki, Toshiya (鈴木俊哉)beebb332007-02-05 03:44:27 +0000426 #include <ftmac.c>.
427
4282007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
429
Suzuki, Toshiya (鈴木俊哉)4827e9b2007-02-05 03:28:29 +0000430 * include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
431 Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
432 * src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
433 (FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
434 FT_GetFilePath_From_Mac_ATS_Name.
435 * builds/mac/ftmac.c: Ditto.
436
4372007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
438
Werner Lembergdcbb7082007-02-08 08:54:09 +0000439 * include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
Suzuki, Toshiya (鈴木俊哉)da5ada52007-02-05 02:46:27 +0000440 FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
441 for passing to FT_New_Face_From_FSSpec.
442
4432007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
444
Werner Lembergdcbb7082007-02-08 08:54:09 +0000445 * builds/unix/configure.raw: Check whether Mac OS X system headers
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000446 can be built under ANSI C mode.
Werner Lembergdcbb7082007-02-08 08:54:09 +0000447
448 * src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
449 compatible to ANSI C in case system headers are ANSI C incompatible.
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +0000450 * builds/mac/ftmac.c (OS_INLINE): Ditto.
451
Werner Lemberg313d7772007-02-01 08:10:45 +00004522007-02-01 Werner Lemberg <wl@gnu.org>
453
454 * include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
455 Explain why applications shouldn't use it. Found by Alexei.
456
Suzuki, Toshiya (鈴木俊哉)b8128d92007-02-05 02:31:34 +00004572007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
Werner Lemberg4b2e83d2007-02-01 07:58:02 +0000458
459 * builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
460 message.
461
462 * src/gxvalid/gxvmort1.c
463 (gxv_mort_subtable_type1_substTable_validate): Fix debugging
464 message.
465
Werner Lemberg53935932007-01-31 08:53:02 +00004662007-01-31 Werner Lemberg <wl@gnu.org>
467
468
469 * Version 2.3.1 released.
470 =========================
471
472
473 Tag sources with `VER-2-3-1-FINAL'.
474
475 * builds/win32/visualc/freetype.dsp,
476 builds/win32/visualc/freetype.vcproj: s/230/231/.
477 * builds/win32/visualc/index.html: s/221/231/.
478
479 * vms_make.com: Add `ftgasp'.
480
David Turnera7ee6082007-01-30 10:33:53 +00004812007-01-30 David Turner <david@freetype.org>
482
Werner Lemberg53935932007-01-31 08:53:02 +0000483 Tag sources with VER-2-3-1 to prepare release.
David Turner3eaef6c2007-01-30 10:40:23 +0000484
Werner Lemberg53935932007-01-31 08:53:02 +0000485 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
David Turner3eaef6c2007-01-30 10:40:23 +0000486
Werner Lemberg25d592a2007-03-09 07:59:35 +0000487 * docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
Werner Lemberg53935932007-01-31 08:53:02 +0000488 s/2.3.0/2.3.1/.
489
490 * builds/unix/configure.raw (version_info): Set to 9:12:3.
491
492
493 * src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
494 (af_loader_load_g): Disable the warper (i.e., the light hinting
495 improvements) to make a 2.3.1 bugfix release before introducing a
496 new feature. This should give us more time to tune and improve the
497 warper for the next release.
498
499 * docs/CHANGES: Update accordingly.
David Turnera7ee6082007-01-30 10:33:53 +0000500
David Turnerd91eebd2007-01-26 15:05:41 +00005012007-01-25 David Turner <david@freetype.org>
502
Werner Lembergbf241762007-01-26 16:08:49 +0000503 For light auto-hinting, improve glyph advance widths and resurrect
504 normal/full hinting to its normal quality.
505
506 * src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
507 and `xmax_delta'.
508 * src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
509 and `xmax_delta'.
510
511 * src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
512 preprocessor conditional with if-clause, handling both light and
513 normal mode.
514
515 * src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
516 (af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
David Turnerd91eebd2007-01-26 15:05:41 +0000517
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +00005182007-01-25 Werner Lemberg <wl@gnu.org>
519
520 * docs/release: Updated -- Savannah uses a new uploading scheme.
521
David Turnera42567b2007-01-25 12:23:37 +00005222007-01-25 David Turner <david@freetype.org>
523
Werner Lembergd7855662007-01-25 13:53:56 +0000524 * src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
David Turnera42567b2007-01-25 12:23:37 +0000525
Werner Lembergd7855662007-01-25 13:53:56 +0000526 * src/cff/cffgload.c (cff_decoder_parse_charstrings)
527 <cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
528 functions.
David Turnera42567b2007-01-25 12:23:37 +0000529
Werner Lembergd7855662007-01-25 13:53:56 +0000530 * docs/CHANGES: Document light auto-hinting improvement.
David Turnera42567b2007-01-25 12:23:37 +0000531
Werner Lembergb1be9e82007-01-25 11:50:00 +00005322007-01-25 Werner Lemberg <wl@gnu.org>
533
534 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry
Werner Lembergd7855662007-01-25 13:53:56 +0000535 correctly in a sanity check. Since this function is only used to
536 load local and global functions, any charstring that called the last
537 local/global function would fail otherwise. This fixes Savannah bug
538 #18867.
Werner Lembergb1be9e82007-01-25 11:50:00 +0000539
540 * docs/CHANGES: Document it.
541
David Turnerb6de8d12007-01-23 15:51:50 +00005422007-01-23 David Turner <david@freetype.org>
543
Werner Lembergb1be9e82007-01-25 11:50:00 +0000544 * src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
545 prevented compilation when disabling both the unpatented and the
546 bytecode interpreter in the TrueType font driver.
David Turner741a17e2007-01-23 16:14:38 +0000547
Werner Lembergb1be9e82007-01-25 11:50:00 +0000548
549 Fix and enable the warper to improve `light' hinting mode. This is
550 not necessarily a final version, but it seems to work well.
551
552 * src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
553 Disable code.
554 (af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
555 * src/autofit/aftypes.h: Activate AF_USE_WARPER.
556
557 * src/autofit/afwarp.c (AF_WarpScore): Tune table.
558 (af_warper_compute_line_best): Fix array size of `scores'.
559 (af_warper_compute): Better handling of border cases.
560 * src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
561 and `X2'.
David Turnerb6de8d12007-01-23 15:51:50 +0000562
Werner Lemberg011d1112007-01-21 09:36:00 +00005632007-01-21 Werner Lemberg <wl@gnu.org>
564
Werner Lemberg42b63b22007-01-21 21:01:33 +0000565 * ChangeLog: Split off older entries into...
566 * ChangeLog.22: This new file.
567
5682007-01-21 Werner Lemberg <wl@gnu.org>
569
Werner Lemberg555258f2007-01-21 09:46:37 +0000570 * docs/CHANGES: Document SHZ fix.
571
5722007-01-21 George Williams <gww@silcom.com>
573
574 * src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
575 points.
576
5772007-01-21 Werner Lemberg <wl@gnu.org>
578
Werner Lemberg011d1112007-01-21 09:36:00 +0000579 * src/sfnt/ttmtx.c (tt_face_get_metrics)
580 [!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
581
Werner Lemberg87a5a432007-01-17 12:44:39 +00005822007-01-17 Werner Lemberg <wl@gnu.org>
583
Werner Lembergb8003292007-01-17 12:56:25 +0000584
585 * Version 2.3.0 released.
586 =========================
587
588
589 Tag sources with `VER-2-3-0-FINAL'.
590
5912007-01-17 Werner Lemberg <wl@gnu.org>
592
Werner Lemberg87a5a432007-01-17 12:44:39 +0000593 * docs/release: Updated.
594
David Turner22122722007-01-16 20:06:44 +00005952007-01-16 David Turner <david@freetype.org>
596
Werner Lemberg87a5a432007-01-17 12:44:39 +0000597 * src/autofit/aflatin.c (af_latin_hints_compute_segments),
598 src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
599 (tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
600 warnings.
David Turner22122722007-01-16 20:06:44 +0000601
Werner Lemberg267e1d72007-01-15 07:48:09 +00006022007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
603
604 * builds/amiga/makefile, builds/amiga/makefile.os4,
605 builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
606
607 * builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
608
Werner Lemberg8c4120d2007-01-15 06:42:40 +00006092007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
610
611 Fix various compiler warnings.
612
613 * src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
614 src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
615 s/index/strike_index/.
616 * src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
617
618 * src/gxvalid/gxvmorx5.c
619 (gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
620
621 * src/truetype/ttinterp.c (Compute_Point_Displacement),
622 src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
623 uninitialized variables.
624
Werner Lemberg6164a9d2007-01-13 23:01:36 +00006252007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
626
627 * docs/CHANGES, docs/INSTALL.MAC: Improvements.
628
Werner Lemberg281c1482007-01-13 22:50:51 +00006292007-01-13 Werner Lemberg <wl@gnu.org>
630
631 * src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
632 versions up to 0x3FF without complaining.
633
Werner Lembergac250b22007-01-13 14:01:36 +00006342007-01-13 Derek Clegg <dclegg@apple.com>
635
636 Add FT_Get_PS_Font_Info interface to CFF driver.
637
638 * src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
639 (CFF_FontRec): Add `font_info' field.
640
641 * src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
642 (cff_font_done): Free font->font_info if necessary.
643
644 * src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
645 (cff_service_ps_info): Register cff_ps_get_font_info.
646
Werner Lemberg23df31a2007-01-13 08:45:00 +00006472007-01-13 Werner Lemberg <wl@gnu.org>
648
649 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
650 with C++ compiler.
651
652 * src/autofit/afhints.c (af_glyph_hints_dump_segments,
653 af_glyph_hints_dump_edges): Ditto.
654
655 * src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
656 `modules.cfg').
657
658 * src/sfnt/ttsbit0.h: Remove.
659
660 * src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
661
Werner Lemberg27cf9de2007-01-13 07:34:23 +00006622007-01-12 David Turner <david@freetype.org>
663
664 * src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
665 bug in the bitmap emboldener if the pitch of the source bitmap is
666 much larger than its width.
667
668 * src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
669 compilation warning.
670
Werner Lemberg6d96d312007-01-12 10:30:19 +00006712007-01-12 Werner Lemberg <wl@gnu.org>
672
673 * builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
674 `automake' CVS module from sources.redhat.com.
675
Werner Lemberg17432b52007-01-12 09:28:44 +00006762007-01-11 Werner Lemberg <wl@gnu.org>
677
678 * src/type1/t1load.c (is_space): Removed.
679 (parse_encoding, parse_charstrings): Use IS_PS_DELIM.
680 (parse_charstrings): Use IS_PS_TOKEN.
681
682
683 * autogen.sh: Avoid bash specific syntax.
684
David Turner038ace22007-01-11 15:00:59 +00006852007-01-11 David Turner <david@freetype.org>
686
Werner Lemberg17432b52007-01-12 09:28:44 +0000687 * docs/CHANGES: Small update.
David Turner490503a2007-01-11 15:29:41 +0000688
Werner Lemberg17432b52007-01-12 09:28:44 +0000689 * builds/unix/configure.raw (version_info): Set to 9:11:3.
David Turner2c7a7fb2007-01-11 15:14:16 +0000690
Werner Lemberg17432b52007-01-12 09:28:44 +0000691 * src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
692 crash with some Mac OS X .dfont files. Submitted by Masatake
Yamato, Masatake (大和正武)9f9bc2b2007-01-13 06:38:56 +0000693 Yamato.
David Turner7a3c5642007-01-11 15:09:01 +0000694
Werner Lemberg17432b52007-01-12 09:28:44 +0000695 * autogen.sh: Small fix to get it working on Mac OS X properly:
696 The issue is that GNU libtool is called `glibtool' on this platform,
697 and we must call `glibtoolize', since `libtoolize' doesn't exist.
David Turner038ace22007-01-11 15:00:59 +0000698
David Turner2628ea92007-01-10 13:15:56 +00006992007-01-10 David Turner <david@freetype.org>
700
Werner Lemberg17432b52007-01-12 09:28:44 +0000701 * all-sources: Tag all sources with VER-2-3-0-RC1 and
702 VER-2-3-0.
David Turner72011082007-01-10 14:33:18 +0000703
Werner Lemberg17432b52007-01-12 09:28:44 +0000704 * Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
705 builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
706 version number to 2.3.0.
707
708 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
709 (FREETYPE_PATCH): Set to 0.
David Turnerd5ca7472007-01-10 14:18:15 +0000710
711 * include/freetype/ftchapters.h, include/freetype/ftgasp.h,
Werner Lemberg17432b52007-01-12 09:28:44 +0000712 include/freetype/ftlcdfil.h: Update reference documentation with
713 GASP support and LCD filtering sections.
David Turnerd5ca7472007-01-10 14:18:15 +0000714
Werner Lemberg17432b52007-01-12 09:28:44 +0000715 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
716 which created an endless loop with some malformed font files.
David Turner2628ea92007-01-10 13:15:56 +0000717
Werner Lembergbf02d392007-01-10 07:07:37 +00007182007-01-10 Derek Clegg <dclegg@apple.com>
719
720 * src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
721 values.
722
David Turnerf48b60e2007-01-08 15:15:32 +00007232007-01-08 David Turner <david@freetype.org>
724
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000725 * docs/CHANGES: Updated.
David Turner4f7496e2007-01-09 09:21:16 +0000726
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000727 * include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
728 a new API `FT_Get_Gasp' to return entries of the `gasp' table
David Turnerf48b60e2007-01-08 15:15:32 +0000729 corresponding to a given character pixel size.
730
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000731 * src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
732 `gasp' table, in order to avoid potential problems with later
733 versions.
David Turnerf48b60e2007-01-08 15:15:32 +0000734
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000735 * include/freetype/config/ftheader.h (FT_GASP_H): New macro for
736 <freetype/ftgasp.h>.
David Turnerf48b60e2007-01-08 15:15:32 +0000737
Werner Lembergcc7f12a2007-01-09 10:37:36 +0000738 * src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
739 modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
740 builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
741 default build.
David Turnerf48b60e2007-01-08 15:15:32 +0000742
Werner Lemberge6b6f372007-01-07 00:06:47 +00007432007-01-07 Werner Lemberg <wl@gnu.org>
744
Werner Lembergb8004d22007-01-07 09:13:38 +0000745 * src/cid/cidparse.c (cid_parser_new): Improve error message for
746 Type 11 fonts.
747 Scan for `/sfnts' token.
748
7492007-01-07 Werner Lemberg <wl@gnu.org>
750
751 * src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
Werner Lemberge6b6f372007-01-07 00:06:47 +0000752
Werner Lembergbe5f7972007-01-06 07:51:48 +00007532007-01-06 Werner Lemberg <wl@gnu.org>
754
755 * src/cff/cffload.c (cff_index_init): Remove unused variable.
756 (cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
757
David Turnera8cf42b2007-01-04 16:46:46 +00007582007-01-04 David Turner <david@freetype.org>
759
Werner Lembergf6294392007-01-06 07:47:45 +0000760 * src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
761 correctly. This fixes Savannah bug #17876.
David Turner34fcd0b2007-01-05 15:55:59 +0000762
Werner Lembergf6294392007-01-06 07:47:45 +0000763
764 Do not allocate interpreter-specific tables in memory if we are not
765 going to load glyphs with the bytecode interpreter anyway.
766
767 * src/truetype/ttgload.c (tt_loader_init): Load execution context
768 only if glyph is hinted.
769 Updated.
770 * src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
771 and `cvs_ready'.
772 Add `tt_size_ready_bytecode' declaration.
773 * src/truetype/ttobjs.c (tt_size_done_bytecode,
774 tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
775 (tt_size_init): Move most code into `tt_size_init_bytecode'.
776 (tt_size_done): Move most code into `tt_size_done_bytecode'.
777 (tt_size_reset): Move some code to `tt_size_ready_bytecode'.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000778
David Turner91a34022007-01-05 14:47:08 +0000779
Werner Lembergf6294392007-01-06 07:47:45 +0000780 Don't extract the metrics table from the SFNT font file. Instead,
781 reparse it on each glyph load. The runtime difference is not
782 noticeable, and it can save a lot of heap memory when memory-mapped
783 files are not used.
David Turnera3a3c5d2007-01-05 13:15:29 +0000784
Werner Lembergf6294392007-01-06 07:47:45 +0000785 * include/freetype/internal/tttypes.h (TT_FaceRec): Add members
786 `horz_metrics_offset' and `vert_metrics_ofset'.
787 * src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
788 Updated.
789
790
791 * src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
792
793
794 Do not load the CFF index offsets into memory, since this wastes a
795 *lot* of heap memory with large Asian CFF fonts. There is no
796 significant performance loss.
797
798 * src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
799 * src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
800 `data_size'.
801 (CFF_CharsetRec): Add field `num_glyphs'.
802
803 * src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
804 cff_charset_cid_to_gindex): New functions.
805 (cff_new_index): Renamed to...
806 (cff_index_init): This. Update all callers.
807 Updated -- some code has been moved to `cff_index_load_offsets'.
808 (cff_done_index): Renamed to...
809 (cff_index_done): This. Update all callers.
810 (cff_index_get_pointers, cff_index_access_element): Updated to use
811 stream offsets.
812 (cff_charset_compute_cids): Set `num_glyphs' field.
813 (cff_encoding_load): Updated.
814
815 * src/cff/cffgload.c (cff_slot_load): Updated.
David Turner3a2131a2007-01-05 10:51:56 +0000816
8172007-01-04 David Turner <david@freetype.org>
818
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000819 * docs/INSTALL.UNIX: Simplify some parts, add reference to
820 autogen.sh and pointer to README.CVS.
David Turnerf1c7e382007-01-04 23:16:37 +0000821
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000822 * README.CVS: Add common problem description and solution
823 when running autogen.sh.
David Turnerf1c7e382007-01-04 23:16:37 +0000824
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000825 * docs/INSTALL: Add reference to MacOS X.
David Turnerf1c7e382007-01-04 23:16:37 +0000826
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000827 * docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
David Turnerf1c7e382007-01-04 23:16:37 +0000828
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000829 * docs/TODO: Remove obsolete items.
David Turnerf1c7e382007-01-04 23:16:37 +0000830
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000831 * src/raster/ftraster.c: (TRaster_Instance): Replace it with...
832 (TWorker): This.
833 Remove `count_table' and `memory'.
834 Make `grays' a pointer.
835 (TRaster): New structure.
836 (count_table): New static array.
837 (RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
838 Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
839 ft_black_set_mode, ft_black_render): Updated.
840 (ft_black_init): Don't initialize `count_table'.
841 (ft_black_reset): Use the render pool. This saves about 6KB of
842 heap space for each FT_Library instance.
David Turner38d10022007-01-04 18:50:12 +0000843
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000844 * src/smooth/ftgrays.c (TRaster): Replaced with...
845 (TWorker): This.
846 Remove `memory'.
847 (TRaster): New structure.
848
849 (RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
850 gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
851 gray_render_span, gray_raster_render): Updated.
852 (gray_raster_reset): Use the render pool. This saves about 6KB of
853 heap space for each FT_Library instance.
David Turner91bd5dd2007-01-04 18:00:14 +0000854
David Turner8a6c44e2007-01-04 17:03:11 +0000855 * src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
856 src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000857 src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
858 FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
859 the optimization is no longer experimental.
David Turner8a6c44e2007-01-04 17:03:11 +0000860
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000861 * src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
862 Remove a typo that results in no hinting and a memory leak with some
863 large Asian CFF fonts.
David Turnera8cf42b2007-01-04 16:46:46 +0000864
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000865 * src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
David Turner9d7d50f2007-01-05 13:17:15 +0000866 which happens when FT_Done_Library is called with still opened
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +0000867 CFF_Faces in it. We need to close all faces before destroying the
868 modules, or else some bad things (memory leaks) may happen.
David Turnera8cf42b2007-01-04 16:46:46 +0000869
Werner Lemberg6b87e6f2007-01-02 19:20:08 +00008702007-01-02 Werner Lemberg <wl@gnu.org>
871
872 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
873 Remove compiler warning.
874
David Turner9207e002007-01-02 16:58:13 +00008752007-01-02 David Turner <david@freetype.org>
876
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000877 * src/sfnt/sfobjs.c: Add documentation comment.
David Turner9207e002007-01-02 16:58:13 +0000878
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +00008792006-12-31 Masatake YAMATO <jet@gyve.org>
880
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000881 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
882 function.
883 Check uniqueness of the gid pairs.
Werner Lemberg9b774e22007-01-16 06:11:27 +0000884 (gxv_kern_subtable_fmt0_validate): Move some code to
Yamato, Masatake (大和正武)d5d3e412006-12-30 20:17:30 +0000885 `gxv_kern_subtable_fmt0_pairs_validate'.
886
David Turner115b4422006-12-22 11:37:05 +00008872006-12-22 David Turner <david@freetype.org>
888
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000889 * src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
890 warnings.
David Turner115b4422006-12-22 11:37:05 +0000891
Werner Lemberg6b87e6f2007-01-02 19:20:08 +0000892 * builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
893 to avoid deprecation warnings with Visual C++ 8.
David Turner115b4422006-12-22 11:37:05 +0000894
Werner Lemberg4755bf72006-12-16 08:58:44 +00008952006-12-16 Anders Kaseorg <anders@kaseorg.com>
896
897 * src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
898 [FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
899
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +00009002006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
901
Werner Lemberg9b774e22007-01-16 06:11:27 +0000902 * include/freetype/internal/services/svotval.h: Add `volatile' to
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000903 sync with the modification by Jens Claudius on 2006-08-22; cf.
904 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 +0000905
9062006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
907
908 * src/base/ftmac.c: Specialized for Mac OS X only.
909 * builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
910 * builds/unix/configure.raw: Ditto. When explicit switches for
911 FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
912 builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
913
9142006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
915
916 * builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
917 * builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
918 instead of src/base/ftmac.c
919 * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
920 * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
921 * builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
922 that cannot be built at present.
923
9242006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
925
Werner Lemberg0fd08bd2006-12-16 02:57:46 +0000926 * src/base/ftobjs.c: Improvement of resource fork handler for
927 POSIX, cf.
928 http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
Suzuki, Toshiya (鈴木俊哉)7a7d4032006-12-15 14:47:42 +0000929 (Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
930 format or .dfont, to simulate the face index number counted by ftmac.c.
931 (IsMacResource): Return the number of scalable faces correctly.
932
Werner Lembergec5b4502006-12-10 07:51:38 +00009332006-12-10 Werner Lemberg <wl@gnu.org>
934
935 * builds/toplevel.mk (version): Protect against `distclean' target.
936
Werner Lembergb26b3142006-12-09 20:01:43 +00009372006-12-09 Werner Lemberg <wl@gnu.org>
938
939 * builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
940 or `type'.
941
942 * builds/freetype.mk (version): Extracted from freetype.h, using
943 GNU make's built-in string functions.
944 (refdoc): Use $(version) instead of static version number.
945
Werner Lemberg4e1d6c02006-12-09 08:20:37 +00009462006-12-08 Werner Lemberg <wl@gnu.org>
947
948 * builds/toplevel.mk (dist): Extract version number from freetype.h.
949
Werner Lemberg15c29502006-12-09 07:29:54 +00009502006-12-08 Vladimir Volovich <vvv@vsu.ru>
951
952 * src/tools/apinames (State): Remove final comma in structure -- xlc
953 v5 under AIX 4.3 doesn't like this.
954
David Turnerdbf3b432006-12-07 21:18:09 +00009552006-12-07 David Turner <david@freetype.org>
956
Werner Lemberg256a3512006-12-08 06:49:33 +0000957 * src/autofit/afloader.c (af_loader_load_g): Small adjustment
958 to the spacing of auto-fitted glyphs. This only impacts rare
959 cases (e.g., Arial Bold at rather small character sizes).
David Turnerdbf3b432006-12-07 21:18:09 +0000960
Werner Lemberg11171312006-12-03 09:43:40 +00009612006-12-03 Werner Lemberg <wl@gnu.org>
962
963 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
964
Werner Lemberg960ba592006-12-01 08:20:47 +00009652006-12-01 Werner Lemberg <wl@gnu.org>
David Turner80658e52006-11-28 08:09:20 +0000966
Werner Lemberg960ba592006-12-01 08:20:47 +0000967 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
968 encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
969 (tt_name_entry_ascii_from_ucs4): Removed.
David Turner3a18c5e2006-11-28 08:38:31 +0000970
David Turner80658e52006-11-28 08:09:20 +0000971
Werner Lemberg960ba592006-12-01 08:20:47 +0000972 * include/freetype/ftxf86.h: Fix and extend comment so that it
973 appears in the documentation.
David Turner80658e52006-11-28 08:09:20 +0000974
Werner Lemberg960ba592006-12-01 08:20:47 +0000975 * include/freetype/ftchapters.h: Add `font_format' section.
976
977
978 * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
979 to TOC in index page.
980
9812006-11-28 David Turner <david@freetype.org>
982
983 * src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
984 trying to render into a zero-width/height bitmap, not an error code.
985
986 * src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
987
988 * src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
989 ones instead.
990
991 * src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
992 variable.
David Turner80658e52006-11-28 08:09:20 +0000993
Werner Lemberg8636c292006-11-26 22:28:13 +00009942006-11-26 Pierre Hanser <hanser@club-internet.fr>
995
996 * src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
997
Werner Lemberg960ba592006-12-01 08:20:47 +00009982006-11-25 David Turner <david@freetype.org>
David Turner1bd6c472006-11-25 01:30:40 +0000999
Werner Lemberg960ba592006-12-01 08:20:47 +00001000 * src/autofit/afhints.c (af_glyph_hints_dump_points,
1001 af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
1002 Add stubs to link the `ftgrid' test program when debugging is
1003 disabled in the auto-hinter.
David Turner1bd6c472006-11-25 01:30:40 +00001004
Werner Lemberg960ba592006-12-01 08:20:47 +000010052006-11-23 David Turner <david@freetype.org>
David Turner81e725f2006-11-23 14:49:48 +00001006
1007 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
Werner Lemberg960ba592006-12-01 08:20:47 +00001008 src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
1009
1010 * src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
1011 Emit more sensible information.
1012
1013 * src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
1014
1015 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
1016 rounding of blue values.
1017 (af_latin_hints_compute_segments): Hint segment heights.
1018 (af_latin_hints_link_segments): Reduce `len_score' value.
1019 (af_latin_hints_compute_edges): Increase `segment_length_threshold'
1020 value and use `height' member for comparisons.
1021 (af_latin_hint_edges): Extend logging message.
1022 Improve handling of remaining edges.
David Turner81e725f2006-11-23 14:49:48 +00001023
Werner Lemberg91959bf2006-11-22 10:36:55 +000010242006-11-22 Werner Lemberg <wl@gnu.org>
1025
1026 Fix Savannah bug #15553.
1027
1028 * src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
1029 program after a change from mono to grayscaling (and vice versa).
1030 Use correct constant for comparison to get `exec->grayscale'.
1031
Werner Lemberg913a3652006-11-19 09:19:17 +000010322006-11-18 Werner Lemberg <wl@gnu.org>
1033
1034 Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
David Turner81e725f2006-11-23 14:49:48 +00001035 test for a valid glyph index must be deferred to the font drivers.
Werner Lemberg913a3652006-11-19 09:19:17 +00001036 This patch fixes Savannah bug #18301.
1037
1038 * src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
1039 * src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
1040 (cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
1041 src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
1042 (pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
1043 src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
1044 (FNT_Load_Glyph): Check validity of `glyph_index'.
1045
David Turner7bab6ae2006-11-13 11:25:06 +000010462006-11-13 David Turner <david@freetype.org>
1047
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001048 * src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
1049 `enhancements' are still too buggy for general use.
David Turner7bab6ae2006-11-13 11:25:06 +00001050
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001051 * src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
1052 FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
1053 when building the library to change the default LCD filter to be
1054 used. This is only useful for experimentation.
David Turner29c191c2006-11-13 13:03:48 +00001055
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001056 * include/freetype/ftlcdfil.h: Update documentation.
David Turnera95e5c62006-11-13 13:24:30 +00001057
David Turner8765c712006-11-10 16:49:42 +000010582006-11-10 David Turner <david@freetype.org>
1059
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001060 * src/smooth/ftsmooth.c: API change for the LCD
1061 filter. The FT_LcdFilter value is an enumeration describing which
1062 filter to apply, with new values FT_LCD_FILTER_LIGHT and
1063 FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
1064 algorithm which produces strong color fringes for everything
1065 except very-well hinted text).
David Turner8765c712006-11-10 16:49:42 +00001066
Werner Lemberg0d0d78d2006-11-14 10:37:10 +00001067 * include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
1068 second parameter to an enum type.
1069
1070 * src/base/ftlcdfil.c (USE_LEGACY): Define.
1071 (_ft_lcd_filter): Rename to...
1072 (_ft_lcd_filter_fir): This.
1073 Update parameters.
1074 (_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
1075 (FT_Library_Set_LcdFilter): Update parameters.
1076 Handle new filter modes.
1077
1078 * include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
1079 (FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
1080 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
1081 callback and update other fields.
1082
1083 * src/smooth/ftsmooth.c (ft_smooth_render_generic)
1084 [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
1085 Other minor improvements.
1086
1087 * src/autofit/aflatin.c: Various tiny improvements that drastically
1088 improve the handling of serif fonts and of LCD/LCD_V hinting modes.
1089 (af_latin_hints_compute_edges): Fix typo.
1090 (af_latin_compute_stem_width): Take better care of diagonal stems.
David Turner8765c712006-11-10 16:49:42 +00001091
David Turner4e9cc3c2006-11-09 16:31:52 +000010922006-11-09 David Turner <david@freetype.org>
1093
Werner Lemberg49c77a82006-11-09 21:51:57 +00001094 * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
1095 typo which created a variable-used-before-initialized bug.
David Turner4e9cc3c2006-11-09 16:31:52 +00001096
Werner Lemberg5e430892006-11-07 09:35:03 +000010972006-11-07 Zhe Su <james.su@gmail.com>
1098
1099 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
1100 also.
1101
Werner Lemberg111b5ae2006-11-03 09:40:12 +000011022006-11-03 Werner Lemberg <wl@gnu.org>
1103
1104 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
1105
David Turner40604742006-11-02 16:37:35 +000011062006-11-02 David Turner <david@freetype.org>
1107
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001108 Add a few tweaks to better handle serif fonts.
1109 Add more debugging messages.
David Turner91b44e62006-11-02 23:28:09 +00001110
Werner Lemberg111b5ae2006-11-03 09:40:12 +00001111 * src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
1112 segments that are less than 1.5 pixels high. This gets rid of
1113 *many* corner cases with serifs.
1114 (af_latin_align_linked_edge): Add logging message.
1115 (af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
1116 Add logging messages.
1117 Handle AF_EDGE_FLAG flag specially.
1118
1119 * src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
1120 _af_debug_disable_blue_hints, and _af_debug_hints variables.
1121
1122 * src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
1123 Update external declarations.
1124 (af_corner_orientation, af_corner_is_flat): Replaced by...
1125
1126 * include/freetype/internal/ftcalc.h (ft_corner_orientation,
1127 ft_corner_is_flat): These declarations.
1128
1129 * src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
1130 Comment out. Replaced by...
1131
1132 * src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
1133 These functions. Update all callers.
1134 (FT_Add64) [!FT_LONG64]: Simplify.
1135
1136 * src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
1137 (af_direction_compute): Add a missing FT_ABS call. This bug caused
1138 production of garbage by missing lots of segments.
1139
1140 * src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
1141
1142 * src/autofit/afloader.c (af_loader_init, af_loader_done)
1143 [AF_DEBUG]: Set _af_debug_hints.
1144
1145
1146 * src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
1147 (psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
1148 and ft_corner_orientation.
1149
1150
1151 * src/gzip/inftrees.c (huft_build): Remove compiler warning.
David Turner40604742006-11-02 16:37:35 +00001152
Werner Lemberge88c5262006-10-24 05:46:26 +000011532006-10-24 Werner Lemberg <wl@gnu.org>
1154
1155 * src/cff/cffload.c (cff_encoding_load): Remove unused variable.
1156
1157 * src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
1158 as argument.
1159
David Turnera1861392006-10-23 16:00:59 +000011602006-10-23 Zhe Su <zsu@novell.com>
1161
Werner Lemberg715e96e2006-10-24 05:28:45 +00001162 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
1163 better deal with broken Asian fonts with strange glyphs, having
1164 self-intersections and other peculiarities. The used algorithm is
1165 based on the nonzero winding rule.
David Turnera1861392006-10-23 16:00:59 +00001166
David Turnere140f142006-10-23 08:56:57 +000011672006-10-23 David Turner <david@freetype.org>
1168
Werner Lemberg715e96e2006-10-24 05:28:45 +00001169 Speed up the CFF font loader. With some large CFF fonts,
1170 FT_Open_Face is now more than three times faster.
David Turner29873a02006-10-23 10:23:17 +00001171
Werner Lemberg715e96e2006-10-24 05:28:45 +00001172 * src/cff/cffload.c (cff_get_offset): Removed.
1173 (cff_new_index): Inline functionality of `cff_get_offset'.
1174 (cff_charset_compute_cids, cff_charset_free_cids): New functions.
1175 (cff_charset_done): Call `cff_charset_free_cids'.
1176 (cff_charset_load): Call `cff_charset_compute_cids'.
1177 (cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
1178
1179 * src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
1180 with FT_NEXT_XXX.
1181
1182
1183 Speed up the Postscript hinter, with more than 100% speed increase
1184 on my machine.
1185
1186 * src/pshinter/pshalgo.c (psh_corner_is_flat,
1187 psh_corner_orientation): New functions.
1188 (psh_glyph_compute_inflections): Merge loops for efficiency.
1189 Use `psh_corner_orientation'.
1190 (psh_glyph_init): Use `psh_corner_is_flat'.
1191 (psh_hint_table_find_strong_point): Renamed to...
1192 (psh_hint_table_find_strong_points): This.
1193 Rewrite, adding argument to handle all points at once.
1194 Update all callers.
1195 (PSH_MAX_STRONG_INTERNAL): New macro.
1196 (psh_glyph_interpolate_normal_points): Rewrite for efficiency.
David Turnere140f142006-10-23 08:56:57 +00001197
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +000011982006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1199
1200 * src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
Werner Lembergb9e6d692006-10-15 08:58:40 +00001201 `error' with FT_Err_Ok.
Suzuki, Toshiya (鈴木俊哉)07088262006-10-15 07:15:28 +00001202
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +000012032006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1204
1205 * docs/INSTALL.CROSS: New document file for cross-building.
1206
1207 * builds/unix/configure.raw: Preliminary cross-building support.
1208 Find native C compiler and pass it by CC_BUILD, and
1209 find suffix for native executable and pass it by EXEEXT_BUILD.
1210 Also suffix for target executable is passed by EXEEXT.
1211
Werner Lembergb9e6d692006-10-15 08:58:40 +00001212 * builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
1213 build `apinames' which runs on building system. They are set by
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001214 CC_BUILD and EXEEXT_BUILD.
1215
Werner Lembergb9e6d692006-10-15 08:58:40 +00001216 * builds/exports.mk (APINAMES_EXE): Change the extension for
1217 apinames from the suffix for target (E) to that for building host
1218 (E_BUILD).
Suzuki, Toshiya (鈴木俊哉)bfe872d2006-10-14 13:08:05 +00001219
Werner Lemberg82a07e92006-10-12 06:20:44 +000012202006-10-12 Werner Lemberg <wl@gnu.org>
1221
1222 * docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
1223 * docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
1224 which reference those files.
1225
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +000012262006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1227
Werner Lembergb9e6d692006-10-15 08:58:40 +00001228 * builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
1229 embedded in freetype2.pc and freetype-config. Use it to record
1230 Carbon dependency of MacOSX.
Suzuki, Toshiya (鈴木俊哉)9d499612006-10-12 01:35:54 +00001231
1232 * builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
1233
1234 * builds/unix/freetype-config.in: Ditto.
1235
Werner Lemberg28e17d92006-10-11 17:27:47 +000012362006-10-11 Werner Lemberg <wl@gnu.org>
1237
1238 * devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
1239 development.
1240
Jens Claudius336d2292006-10-03 08:53:37 +000012412006-10-03 Jens Claudius <jens.claudius@yahoo.com>
1242
1243 * include/freetype/config/ftstdlib.h: Cast away volatileness from
1244 argument to ft_setjmp.
1245
1246 * include/freetype/internal/ftvalid.h: Add comment that
1247 ft_validator_run must not be used.
1248
Werner Lemberg2863cfa2006-10-01 17:04:00 +000012492006-10-01 Werner Lemberg <wl@gnu.org>
1250
1251 * src/base/ftbase.c: Undo change from 2006-09-30.
1252
1253 * src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
1254
12552006-09-30 David Turner <david@freetype.org>
1256
Werner Lemberg046bf8b2006-10-03 08:43:42 +00001257 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1258 s/unpatented_hinting/ignore_unpatented_hinter/.
1259 Update all callers.
1260
1261 * src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
1262 auto-hinting shall be used or not.
1263
1264 * src/truetype/ttobjs.c (tt_face_init): Ditto.
David Turnere140f142006-10-23 08:56:57 +00001265
Werner Lemberg2863cfa2006-10-01 17:04:00 +000012662006-09-30 Werner Lemberg <wl@gnu.org>
1267
Werner Lemberg1e4402e2006-09-29 22:10:36 +00001268 * src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
1269 in use).
1270
1271 * src/base/ftbase.c: Include `ftlcdfil.c'.
1272
Werner Lemberg9b15ea32006-09-29 18:22:11 +000012732006-09-29 Werner Lemberg <wl@gnu.org>
1274
1275 * src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
1276 overlapping segments. Bug reported by Stefan Koch.
1277
David Turnerad830712006-09-27 16:20:59 +000012782006-09-28 David Turner <david@freetype.org>
1279
Werner Lemberg2c002e12006-09-29 21:31:53 +00001280 Fix a bug in the automatic unpatented hinting support which prevents
1281 normal bytecode hinting to work properly.
David Turnerad830712006-09-27 16:20:59 +00001282
Werner Lemberg2c002e12006-09-29 21:31:53 +00001283 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
1284 s/force_autohint/unpatented_hinting/. Update all callers.
1285
1286 * src/base/ftobjs.c (FT_Load_Glyph): Updated code.
1287
1288 * src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
David Turnerad830712006-09-27 16:20:59 +00001289
David Turner8a317cf2006-09-27 07:52:48 +000012902006-09-27 David Turner <david@freetype.org>
1291
Werner Lemberg2c002e12006-09-29 21:31:53 +00001292 * include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
David Turner8a317cf2006-09-27 07:52:48 +00001293
David Turner8a317cf2006-09-27 07:52:48 +00001294
David Turnere140f142006-10-23 08:56:57 +00001295 Add a new API to support color filtering of subpixel glyph bitmaps.
Werner Lemberg2c002e12006-09-29 21:31:53 +00001296 In a default build, the function `FT_Library_SetLcdFilter' returns
1297 `FT_Err_Unimplemented_Feature'; you need to #define
1298 FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
1299 real implementation.
David Turner8a317cf2006-09-27 07:52:48 +00001300
Werner Lemberg2c002e12006-09-29 21:31:53 +00001301 * include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
David Turner8a317cf2006-09-27 07:52:48 +00001302
Werner Lemberg2c002e12006-09-29 21:31:53 +00001303 * include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
1304 typedef.
1305 (FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
1306 `lcd_filter_weights' and `lcd_filter'.
David Turner26bb2e22006-09-27 07:58:43 +00001307
Werner Lemberg2c002e12006-09-29 21:31:53 +00001308 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
1309 `hmul' and `vmul'.
Werner Lemberg715e96e2006-10-24 05:28:45 +00001310
Werner Lemberg2c002e12006-09-29 21:31:53 +00001311 Handle subpixel rendering.
1312 Simplify function.
1313 (ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
1314 (ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
1315
1316 * include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
1317 pointing to <freetype/ftlcdfil.h>.
1318
1319 * src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
1320 vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
1321
1322 * modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
David Turner87e4b332006-09-27 08:45:49 +00001323
Werner Lemberge20df4a2006-09-27 06:29:21 +000013242006-09-26 David Bustin
1325
1326 * src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
1327 correctly. Reported as Savannah bug #17843.
1328
David Turner6f8c6222006-09-26 15:42:44 +000013292006-09-26 David Turner <david@freetype.org>
1330
Werner Lemberg110246c2006-09-26 21:55:44 +00001331 * src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
1332 AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
1333 horizontal and vertical hinting for the purpose of debugging the
1334 auto-fitter.
David Turner6f8c6222006-09-26 15:42:44 +00001335
Werner Lemberg110246c2006-09-26 21:55:44 +00001336 * src/autofit/afmodule.c (_af_debug_disable_horz_hints,
1337 _af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
David Turnere3d6e942006-09-26 16:58:21 +00001338
Werner Lemberg110246c2006-09-26 21:55:44 +00001339 * src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
1340
1341 * include/freetype/config/ftoption.h, devel/ftoption.h
1342 (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
1343 we want to compile LCD-optimized rendering code (à la ClearType) or
1344 not. The macro *must* be disabled in default builds of the library
1345 for patent reasons.
1346
1347 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
1348 LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
1349 isn't defined at compile time. This only changes the content of the
1350 rendered glyph to match the one of normal gray-level rendering,
1351 hence clients should not need to be modified.
1352
1353 * docs/CHANGES: Updated.
David Turnere3d6e942006-09-26 16:58:21 +00001354
Werner Lemberg745ff2c2006-09-19 05:48:02 +000013552006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
1356
1357 * src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
1358 LWFN fails and both are available.
1359
David Turnerf3050052006-09-11 12:00:32 +000013602006-09-11 David Turner <david@freetype.org>
1361
Werner Lembergf9644552006-09-12 13:48:10 +00001362 * src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
1363 report their English names through an Apple Roman
1364 (platform,encoding) pair, with language_id != English.
David Turnerf3050052006-09-11 12:00:32 +00001365
Werner Lembergf9644552006-09-12 13:48:10 +00001366 If the font uses another name entry with language_id == English, it
1367 will be selected correctly, though.
David Turnerf3050052006-09-11 12:00:32 +00001368
Werner Lembergf9644552006-09-12 13:48:10 +00001369 * src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
1370 selection for `mingli.ttf'.
David Turnerf3050052006-09-11 12:00:32 +00001371
Werner Lemberg36d2eab2006-09-05 19:24:34 +000013722006-09-05 Werner Lemberg <wl@gnu.org>
1373
1374 * src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
Werner Lembergf9644552006-09-12 13:48:10 +00001375 values which have the upper two bytes set to 0xFF instead of 0x00
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001376 (as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
1377 `HAN NOM B.ttf').
1378
1379 * src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
1380
David Turner772e55d2006-09-05 09:45:15 +000013812006-09-05 David Turner <david@freetype.org>
1382
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001383 Minor source cleanups and optimizations.
David Turnerc7bc9b72006-09-05 12:17:38 +00001384
Werner Lemberg36d2eab2006-09-05 19:24:34 +00001385 * src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
1386 (TRaster): Remove `count_ex' and `count_ey'.
1387 (gray_find_cell): Remove 2nd and 3rd argument.
1388 (gray_alloc_cell): Merged with `gray_find_cell'.
1389 (gray_record_cell): Simplify.
1390 (gray_set_cell): Rewrite.
1391 (gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
1392 (gray_render_span): Don't use FT_MEM_SET for small values.
1393 (gray_dump_cells) [DEBUG_GRAYS]: New function.
1394 (gray_sweep): Avoid buffer overwrites when to drawing the end of a
1395 bitmap scanline.
1396 (gray_convert_glyph): Fix speed-up.
David Turner772e55d2006-09-05 09:45:15 +00001397
David Turneraa557a92006-09-04 16:42:44 +000013982006-09-04 David Turner <david@freetype.org>
1399
Werner Lembergd1fc7d42006-09-05 07:55:42 +00001400 * src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
1401 64bit processors.
David Turneraa557a92006-09-04 16:42:44 +00001402
Werner Lemberg2d8629b2006-09-03 06:18:45 +000014032006-09-03 Werner Lemberg <wl@gnu.org>
1404
1405 * devel/ftoption.h: Synchronize with
1406 include/freetype/config/ftoption.h.
1407
1408 * src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
1409 variable declaration.
1410 (gray_convert_glyph): Fix compiler warnings.
1411
David Turner6d79f212006-09-01 14:09:35 +000014122006-09-01 David Turner <david@freetype.org>
1413
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001414 * src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
1415 to recognize a few fonts that require the automatic unpatented
1416 loader.
David Turnerbd502952006-09-01 19:05:24 +00001417
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001418 * src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
1419 rasterizer. The speed improvement is between 15% and 25%, depending
1420 on the font data.
1421
1422 (GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
1423 (TCell): Redefine.
1424 (TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
1425 (gray_init_cells): Updated.
1426 (gray_find_cell, gray_alloc_cell): New functions.
1427 (gray_record_cell): Rewritten to use `gray_find_cell' and
1428 `gray_alloc_cell'.
1429 (PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
1430 QSORT_THRESHOLD):
1431 Removed.
1432 (gray_shell_sort, gray_quick_sort, gray_check_sort,
1433 gray_dump_cells): Removed.
1434 (gray_sweep): Rewritten.
1435 (gray_convert_glyph): Rewrite code which used one of the sorting
1436 functions.
1437 (gray_raster_render): Updated.
David Turner6d79f212006-09-01 14:09:35 +00001438
Werner Lembergd898aed2006-08-29 09:50:34 +000014392006-08-29 Dr. Werner Fink <werner@suse.de>
1440
1441 * configure: Make it possible to handle configure options which
1442 have strings containing spaces.
1443
14442006-08-27 David Turner <david@freetype.org>
1445
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001446 * include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
1447 New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
1448 or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
1449
1450 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
1451 src/truetype/truetype.c, src/truetype/ttdriver.c,
1452 src/truetype/ttgload.c, src/truetype/ttgload.h,
1453 src/truetype/ttinterp.c, src/truetype/ttobjs.c,
1454 src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
1455 s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
1456
1457 * include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
1458 member `force_autohint'.
1459
1460 * src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
1461
1462 * src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
1463 against a list of font names which need the bytecode interpreter.
Werner Lembergd898aed2006-08-29 09:50:34 +00001464
Jens Claudiusa787f452006-08-27 11:26:18 +000014652006-08-27 Jens Claudius <jens.claudius@yahoo.com>
1466
1467 Fix miscellaneous compiler warnings.
1468
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001469 * freetype2/include/freetype/internal/ftobjs.h: Close comment with
1470 `*/' to avoid `/* in comment' compiler warning.
Jens Claudiusa787f452006-08-27 11:26:18 +00001471
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001472 * freetype2/src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
1473 `(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
1474 64-bit platforms void* is larger than FT_UInt32.
Jens Claudiusa787f452006-08-27 11:26:18 +00001475
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001476 * freetype2/src/base/ftobjs.c (t_validator_error): Cast away
1477 volatileness of argument to ft_longjmp. Spotted by Werner
1478 `Putzfrau' Lemberg.
Jens Claudiusa787f452006-08-27 11:26:18 +00001479
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001480 * freetype2/src/bdf/bdflib.c (bdf_load_font): Initialize local
1481 variable `lineno'.
Jens Claudiusa787f452006-08-27 11:26:18 +00001482
Werner Lemberg2d8629b2006-09-03 06:18:45 +00001483 * freetype2/src/gxvalid/gxvmod.c (classic_kern_validate): Mark local
1484 variable `error' as volatile.
Jens Claudiusa787f452006-08-27 11:26:18 +00001485
Werner Lembergc4c35b72006-08-27 08:03:46 +000014862006-08-27 Werner Lemberg <wl@gnu.org>
1487
1488 * builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
1489 Reported by Jens.
1490
Jens Claudius088e44e2006-08-22 14:24:30 +000014912006-08-22 Jens Claudius <jens.claudius@yahoo.com>
Werner Lembergc4c35b72006-08-27 08:03:46 +00001492
Jens Claudius088e44e2006-08-22 14:24:30 +00001493 Fix for previous commit, which caused many compiler warnings/errors
Werner Lembergc4c35b72006-08-27 08:03:46 +00001494 about addresses of volatile objects passed as function arguments as
1495 non-volatile pointers.
Jens Claudius088e44e2006-08-22 14:24:30 +00001496
Werner Lembergc4c35b72006-08-27 08:03:46 +00001497 * freetype2/include/freetype/internal/ftvalid.h: Make FT_Validator
1498 typedef a pointer to a volatile object.
Jens Claudius088e44e2006-08-22 14:24:30 +00001499
1500 * freetype2/src/gxvalid/gxvmod.c (gxv_load_table): Make function
1501 argument `table' a pointer to a volatile object.
1502
1503 * freetype2/src/otvalid/otvmod.c (otv_load_table): Make function
1504 argument `table' a pointer to a volatile object.
1505
Jens Claudius2652bd52006-08-18 17:20:37 +000015062006-08-18 Jens Claudius <jens.claudius@yahoo.com>
1507
1508 * freetype2/src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local
1509 variable `_sfnt' as volatile since it must keep its value across
1510 a call to ft_setjmp.
1511 (gxv_validate): Same for local variables `memory' and `valid'.
1512 (classic_kern_validate): Same for local variables `memory',
1513 `ckern', and `valid'.
1514
1515 * freetype2/src/otvalid/otvmod.c (otv_validate): Same for function
1516 parameter `face' and local variables `base', `gdef', `gpos', `gsub',
1517 `jstf', and 'valid'.
1518
1519 * freetype2/src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for
1520 local variable `cmap'.
1521
David Turner9fbfc6a2006-08-16 09:11:31 +000015222006-08-16 David Turner <david@freetype.org>
1523
Werner Lemberg12342992006-08-19 11:18:09 +00001524 * src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
1525 warnings.
David Turner9fbfc6a2006-08-16 09:11:31 +00001526
Werner Lemberg12342992006-08-19 11:18:09 +00001527 * src/base/ftobjs.c (ft_validator_run): Disable function; it is
1528 buggy by design. Always return -1.
David Turner2b21a932006-08-16 09:24:32 +00001529
David Turner33f5f242006-08-16 16:50:55 +00001530
Werner Lemberg12342992006-08-19 11:18:09 +00001531 Improvements to native TrueType hinting. This is a first try,
1532 controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
1533
1534 * include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
1535 `extra_points2'.
1536
1537 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
1538 `orus'.
1539
1540 * src/base/ftgloadr.c (FT_GlyphLoader_Reset,
1541 FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
1542 FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
1543 handle `extra_points2'.
1544
1545 * src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
1546 Remove compiler warning.
1547 (cur_to_arg): Remove macro.
1548 (TT_Hint_Glyph): Updated.
1549 (TT_Process_Simple_Glyph): Handle `orus'.
1550
1551 * src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
1552 (Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
1553 (LOC_Ins_IUP): Renamed to...
1554 (IUP_WorkerRec): This.
1555 Add `orus' member.
1556 (Shift): Renamed to...
1557 (_iup_worker_shift): This.
1558 Updated.
1559 (Interp): Renamed to...
1560 (_iup_worker_interpolate): This.
1561 Updated to handle `orus'.
1562 (Ins_IUP): Updated.
1563
1564 * src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
1565 Handle `orus'.
David Turner33f5f242006-08-16 16:50:55 +00001566
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +000015672006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1568
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001569 * modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
Werner Lemberg12342992006-08-19 11:18:09 +00001570 build ftvalid in ft2demos. This has been inadvertedly changed
1571 2006-08-13.
Suzuki, Toshiya (鈴木俊哉)f1e96062006-08-15 17:02:47 +00001572
15732006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1574
Werner Lemberg12342992006-08-19 11:18:09 +00001575 `ft_validator_run' wrapping `setjmp' can cause a crash, as found by
1576 Jens:
1577 http://lists.nongnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001578
Werner Lemberg12342992006-08-19 11:18:09 +00001579 * freetype2/src/otvalid/otvmod.c: Replace `ft_validator_run' by
1580 `ft_setjmp'. It reverts the change introduced on 2005-08-20.
Suzuki, Toshiya (鈴木俊哉)e261f422006-08-15 17:00:43 +00001581
1582 * freetype2/src/gxvalid/gxvmod.c: Ditto.
1583
Jens Claudius9950adc2006-08-13 12:14:36 +000015842006-08-13 Jens Claudius <jens.claudius@yahoo.com>
1585
Werner Lemberg12342992006-08-19 11:18:09 +00001586 * freetype2/include/freetype/internal/psaux.h: (T1_TokenType): Add
1587 T1_TOKEN_TYPE_KEY.
1588 (T1_FieldRec): Add `dict'.
1589 (T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
1590 (T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
1591 keyword is expected as an additional argument.
Jens Claudius9950adc2006-08-13 12:14:36 +00001592
Werner Lemberg12342992006-08-19 11:18:09 +00001593 * freetype2/src/cid/cidload.c: (cid_field_records): Adjust
1594 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001595
1596 * freetype2/src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
1597
1598 * freetype2/src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
Werner Lemberg12342992006-08-19 11:18:09 +00001599 (ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
1600 not T1_TOKEN_TYPE_ANY.
1601 (ps_parser_load_field): Make sure a token that should be a string or
1602 name is really a string or name.
1603 Avoid memory leak if a keyword has been already encountered and its
1604 value is overwritten.
1605 * freetype2/src/type1/t1load.c: (t1_keywords): Adjust invocations of
1606 T1_FIELD_XXX.
1607 (parse_dict): Ignore keywords that occur in the wrong dictionary
1608 (e.g., in `Private' instead of `FontDict').
Jens Claudius9950adc2006-08-13 12:14:36 +00001609
Werner Lemberg12342992006-08-19 11:18:09 +00001610 * freetype2/src/type1/t1tokens.h: Adjust invocations of
1611 T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001612
Werner Lemberg12342992006-08-19 11:18:09 +00001613 * freetype2/src/type42/t42parse.c: (t42_keywords): Adjust
1614 invocations of T1_FIELD_XXX.
Jens Claudius9950adc2006-08-13 12:14:36 +00001615
Werner Lemberga4d6a1c2006-07-19 09:54:56 +000016162006-07-18 Jens Claudius <jens.claudius@yahoo.com>
1617
1618 Move creation of field `buildchar' of T1_DecoderRec out of
1619 `t1_decoder_init' and let the caller of `t1_decoder_init' take care
1620 of it.
1621
1622 Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
1623 and `T1_Compute_Max_Advance'.
1624
1625 * freetype2/include/freetype/internal/psaux.h (T1_DecoderRec):
1626 Remove field `face', add `len_buildchar'.
1627
1628 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): Add
1629 field `buildchar'.
1630
1631 * freetype2/src/cid/cidgload.c (cid_face_compute_max_advance): Call
1632 finisher for T1_Decoder.
1633 (cid_slot_load_glyph): Do not ignore failure when initializing the
1634 T1_Decoder.
1635
1636 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings):
1637 Updated.
1638 (t1_decoder_init): Remove initialization of fields `buildchar' and
1639 `len_buildchar'.
1640 (t1_decoder_done): Remove deallocation of field `buildchar'.
1641
1642 * freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
1643 T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
1644 T1_Decoder.
1645 (T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
1646 `len_buildchar'; make sure to call finisher for T1_Decoder even in
1647 case of error.
1648
1649 * freetype2/src/type1/t1load.c (T1_Open_Face): Allocate new field
1650 `buildchar' of T1_FaceRec.
1651
1652 * freetype2/src/type1/t1objs.c (T1_Face_Done): Free new field
1653 `buildchar' of T1_FaceRec.
1654
Werner Lemberg1a380e02006-07-14 18:28:08 +000016552006-07-14 Jens Claudius <jens.claudius@yahoo.com>
1656
1657 * freetype2/include/freetype/internal/psaux.h: New macros
1658 IS_PS_NEWLINE, IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT,
1659 IS_PS_XDIGIT, and IS_PS_BASE85 (from freetype2/src/psaux/psconv.h).
1660 (T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
1661 T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
1662 (T1_DecoderRec): New fields `buildchar' and `face'.
1663 (IS_PS_TOKEN): New macro.
1664
1665 * freetype2/include/freetype/internal/t1types.h (T1_FaceRec): New
1666 fields `ndv_idx', `cdv_idx', and `len_buildchar'.
1667
1668 * freetype2/include/freetype/t1tables.h (PS_BlendRec): New fields
1669 `default_design_vector' and `num_default_design_vector'.
1670
1671 * freetype2/src/psaux/psconv.h: Move macros IS_PS_NEWLINE,
1672 IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
1673 and IS_PS_BASE85 to freetype2/include/freetype/internal/psaux.h.
1674
1675 * freetype2/src/psaux/psobjs.c (ps_parser_to_token_array): Allow
1676 `token' argument to be NULL if we want only to count the number of
1677 tokens.
1678 (ps_tocoordarray): Allow `coords' argument to be NULL if we just
1679 want to skip the array.
1680 (ps_tofixedarray): Allow `values' argument to be NULL if we just
1681 want to skip the array.
1682
1683 * freetype2/src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add
1684 support for (partially commented out) othersubrs 19-25, 27, and 28.
1685 (t1_decoder_init): Initialize new fields `face' and `buildchar'.
1686 (t1_decoder_done): Release new field `buildchar'.
1687
1688 * freetype2/src/type1/t1load.c (parse_buildchar, parse_private): New
1689 functions.
1690 (t1_keywords): Register them.
1691 (t1_allocate_blend): Updated.
1692 (t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
1693 T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
1694 (parse_dict): Remove `keyword_flags' argument.
1695 Use new macro IS_PS_TOKEN.
1696 Changed function so that later PostScript definitions override
1697 earlier ones.
1698 (t1_init_loader): Initialize new field `keywords_encountered'.
1699 (T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
1700 `len_buildchar'.
1701 Remove `keywords_flags'.
1702
1703 * freetype2/src/type1/t1load.h (T1_LoaderRect): New field
1704 `keywords_encountered'.
1705 (T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
1706
1707 * freetype2/src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]:
1708 New entries for parsing /NDV, /CDV, and /DesignVector.
1709
Werner Lemberg4af3c4d2006-07-08 21:31:24 +000017102006-07-07 Werner Lemberg <wl@gnu.org>
1711
1712 Add many checks to protect against malformed PCF files.
1713
1714 * src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
1715 (PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
1716
1717 * src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
1718 data and check that tables don't overlap (using a simple
1719 bubblesort).
1720 (PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
1721 New macros which give the size of data structures in the data
1722 stream.
1723 (pcf_get_properties): Use rough estimates to get array size limits.
1724 Assign `face->nprops' and `face->properties' earlier so that a call
1725 to PCF_Face_Done can do the clean-up in case of error.
1726 Protect against invalid string offsets.
1727 (pcf_get_metrics): Clean up code.
1728 Adjust tracing message levels.
1729 Use rough estimate to get array size limit.
1730 (pcf_get_bitmaps): Clean up code.
1731 Adjust tracing message levels.
1732 Use rough estimates to get offset limits.
1733 (pcf_get_encodings): Adjust tracing message level.
1734 (pcf_get_accel): Clean up code.
1735
Werner Lemberg8eb05252006-06-27 06:20:01 +000017362006-06-26 Werner Lemberg <wl@gnu.org>
1737
1738 * src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
1739 don't have a POINT_SIZE property. This fixes Savannah bug #16914.
1740
Werner Lemberg24703f82006-06-26 19:12:51 +000017412006-06-26 Jens Claudius <jens.claudius@yahoo.com>
1742
1743 * src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
1744 (t1_decoder_parse_charstrings): Operator with
1745 opcode 15 pops its two arguments.
1746 Handle the case where the pops of an othersubr may be part of a
1747 subroutine.
1748 Handle unknown othersubrs gracefully: count their operands and let
1749 the following pop operators push the operands as the results onto
1750 the Type1 stack.
1751 Improve handling of setcurrentpoint opcode.
1752
Werner Lembergc011f4c2006-06-26 09:40:00 +000017532006-06-25 Jens Claudius <jens.claudius@yahoo.com>
1754
1755 The Type 1 parser now skips over top-level procedures as required
1756 for a `Simplified Parser'. This makes the parser more robust as it
1757 doesn't poke around in PostScript code. Additionally, it makes the
1758 FontDirectory hackery in src/type1/t1load.c unnecessary.
1759
1760 * src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
1761 (skip_literal_string): Add FT_Error as return value.
1762 Handle escapes better.
1763 (skip_string): Add FT_Error as return value.
1764 Don't set `parser->error' but return error code directly.
1765 (skip_procedure): New function.
1766 (ps_parser_skip_PS_token): Handle procedures.
1767 Update code.
1768 (ps_parser_to_token): Update code.
1769 (ps_parser_load_field_table): Handle bbox entries also.
1770
1771 * src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
1772 Add commented-out code for synthetic fonts.
1773
Werner Lemberga2da05c2006-06-25 06:27:27 +000017742006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
1775
1776 Fix two hinting bugs as reported in
1777 http://lists.nongnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
1778
1779 * include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
1780 `first_point' member.
1781
1782 * src/truetype/ttgload.c (tt_prepare_zone): Initialize
1783 `first_point'.
1784 (TT_Process_Composite_Glyph): Always untouch points.
1785
1786 * src/truetype/ttinterp.c (Ins_SHC): Fix computation of
1787 `first_point' and `last_point' in case of composite glyphs.
1788 (Ins_IUP): Fix computation of `end_point'.
1789
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +000017902006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1791
Werner Lembergef3d2c22006-06-25 06:07:14 +00001792 Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
1793 Mac. The original patch was written by David Sachitano and Lawrence
1794 Coopet, and modified by Sean McBride for MPW compatibility. Only
1795 required data are converted; unused data are left in big endian.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001796
Werner Lembergef3d2c22006-06-25 06:07:14 +00001797 * src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
1798 Mac OS X platforms.
1799 (OS_INLINE): Undefine before definition.
1800 (count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
1801 FontAssociation table in FOND resource.
1802 (count_faces_scalable): Insert EndianS16_BtoN to parse the header
1803 and fontSize at each entry of FontAssociation table in FOND
1804 resource.
1805 (parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
1806 ffStylOff of FamilyRecord header of FOND resource, the header,
1807 fontSize, fontID at each entry of FontAssociation table, and
1808 StyleMapping table.
1809 (count_faces): Call `HUnlock' after all FOND utilization.
Suzuki, Toshiya (鈴木俊哉)52311972006-06-22 02:34:27 +00001810
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +000018112006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1812
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001813 Public API of TrueTypeGX, OpenType, and classic kern table validator
1814 should return `FT_Err_Unimplemented_Feature' if validation service
1815 is unavailable (disabled in `modules.cfg'). It is originally
David Turner9fbfc6a2006-08-16 09:11:31 +00001816 suggested by David Turner, cf.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001817 http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
1818
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001819 * src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
1820 FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
1821 unavailable.
1822 (FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
1823 classic kern table validation service is unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001824
Werner Lemberg67d2f3a2006-06-16 06:50:36 +00001825 * src/base/ftotval.c (FT_OpenType_Validate): Return
1826 FT_Err_Unimplemented_Feature if OpenType validation service is
1827 unavailable.
Suzuki, Toshiya (鈴木俊哉)817831f2006-06-15 09:05:41 +00001828
Werner Lembergb10e45a2006-06-08 07:32:56 +000018292006-06-08 Werner Lemberg <wl@gnu.org>
1830
1831 * src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
1832 errors.
1833
David Turner5f1f7502006-06-07 05:11:50 +000018342006-06-07 David Turner <david@freetype.org>
1835
Werner Lemberg7d48cb02006-06-08 06:00:08 +00001836 * src/type1/t1afm.c (KERN_INDEX): Make it more robust.
1837 (T1_Read_Metrics): Fix memory leak which happened when the metrics
1838 file doesn't have kerning pairs. This fixes Savannah bug #16768.
David Turner5f1f7502006-06-07 05:11:50 +00001839
David Turner457b4a82006-06-06 08:14:14 +000018402006-06-06 David Turner <david@freetype.org>
1841
Werner Lemberg4836f952006-06-06 12:54:08 +00001842 Fix memory leak described in Savannah bug #16759.
David Turner457b4a82006-06-06 08:14:14 +00001843
Werner Lemberg4836f952006-06-06 12:54:08 +00001844 We change `ps_unicodes_init' so that it also takes a
1845 `free_glyph_name' callback to release the glyph names returned by
1846 `get_glyph_name'
1847
1848 * include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
1849 Renamed to ...
1850 (PS_GetGlyphNameFunc): This.
1851 (PS_FreeGlyphNameFunc): New typedef.
1852 (PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
1853
1854 * src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
1855 argument.
1856 (cff_sid_free_glyph_name): New function.
1857 (cff_cmap_unicode_init): Updated.
1858
1859 * src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
1860
1861 * src/psnames/psmodule.c (ps_unicodes_init): Add variable for
1862 PS_FreeGlyphNameFunc and use it.
David Turner457b4a82006-06-06 08:14:14 +00001863
1864
David Turner09717352006-06-04 14:33:08 +000018652006-06-04 David Turner <david@freetype.org>
1866
Werner Lembergd724f202006-06-04 15:17:41 +00001867 * src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
1868 `item_size == 0' as well -- though this sounds weird, it can
Werner Lemberg4b2e83d2007-02-01 07:58:02 +00001869 theoretically happen. This fixes Savannah bug #16669.
David Turnerea4547c2006-06-04 14:50:57 +00001870
Werner Lembergd724f202006-06-04 15:17:41 +00001871 * src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
1872 of `face->num_glyphs' which missed the last glyph, due to
1873 the offset-by-1 computation, since the PFR format doesn't
1874 guarantee that glyph index 0 corresponds to the `missing
1875 glyph. This fixes Savannah bug #16668.
David Turner09717352006-06-04 14:33:08 +00001876
Werner Lemberg33779662006-05-26 06:30:05 +000018772006-05-25 Werner Lemberg <wl@gnu.org>
1878
1879 * builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
1880 `-no-undefined'. Reported by Christian Biesinger.
1881
Werner Lemberg24773d62006-05-20 08:53:13 +000018822006-05-19 Brian Weed <bw@imaginengine.com>
1883
1884 * builds/win32/visualc/freetype.dsp: Release libraries no longer
1885 have debug information, and debug libraries use `C7 compatible'
1886 debug info.
1887
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +000018882006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1889
Werner Lemberga6523a62006-05-20 08:47:01 +00001890 Apply patch by Derek Clegg to fix two memory leaks in the MacOS
Werner Lembergd724f202006-06-04 15:17:41 +00001891 resource fork handler. This fixes Savannah bug #16631.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001892
Werner Lemberga6523a62006-05-20 08:47:01 +00001893 * src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
1894 `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001895
1896 * src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
Werner Lemberga6523a62006-05-20 08:47:01 +00001897 Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
Suzuki, Toshiya (鈴木俊哉)de0a96c2006-05-19 23:16:12 +00001898
18992006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1900
Suzuki, Toshiya (鈴木俊哉)8cfa8bd2006-05-19 22:11:50 +00001901 * build/unix/configure.raw: Add a fallback to disable Carbon
1902 dependency, if configured with no options on Mac OS X.
1903
19042006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
1905
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001906 * src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
Werner Lemberga6523a62006-05-20 08:47:01 +00001907 its content cannot be parsed as supported font. This fixes
Suzuki, Toshiya (鈴木俊哉)47200602006-05-19 10:48:42 +00001908 the second part of Savannah bug #16590.
1909
Werner Lemberg545c4e52006-05-17 22:55:04 +000019102006-05-18 Werner Lemberg <wl@gnu.org>
1911
1912 * src/truetype/ttgload.c (TT_Load_Composite_Glyph)
1913 [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
1914
David Turnerdc3ff312006-05-17 12:59:35 +000019152006-05-17 David Turner <david@freetype.org>
1916
Werner Lemberg545c4e52006-05-17 22:55:04 +00001917 This is a major patch used to drastically improve the performance of
1918 loading glyphs. This both speeds up loading the glyph vectors
1919 themselves and the auto-fitter module.
David Turner281679d2006-05-17 13:34:21 +00001920
Werner Lemberg545c4e52006-05-17 22:55:04 +00001921 We now use inline assembler code with GCC to implement `FT_MulFix',
1922 which is probably the most important function related to the
1923 engine's performance.
David Turner281679d2006-05-17 13:34:21 +00001924
Werner Lemberg545c4e52006-05-17 22:55:04 +00001925 The resulting speed-up is about 25%.
David Turner281679d2006-05-17 13:34:21 +00001926
1927
Werner Lemberg545c4e52006-05-17 22:55:04 +00001928 * include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
1929 `cursor' and `limit'.
1930
1931 * src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
1932 New functions.
1933 (AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
1934 [TEST]: Remove.
1935
1936 * src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
1937 code.
1938
1939 * src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
1940 `FT_ZERO'
1941 (af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
1942 (af_glyph_hints_reload: Rewrite recognition of weak points.
1943
1944 * src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
1945 constant values out of the loops.
1946
1947 * src/autofit/aftypes.h: Updated.
1948
1949 * src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
1950
1951 * src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
1952 product to get orientation.
1953
1954 * src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
1955 (FT_Stream_OpenGzip): Use it to handle small files directly in
1956 memory.
1957
1958 * src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
1959 Improve performance.
1960
1961 * src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
1962 `limit'.
1963
1964 (TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
1965 TT_Load_Composite_Glyph): Updated. Add threshold to protect against
1966 exceedingly large values of number of contours. Speed up by
1967 reducing the number of loops.
1968
1969 * src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
1970
1971
1972 * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
1973 used to detect rogue clients from 4 to 16. This is to prevent some
1974 segmentation faults with fonts like `KozMinProVI-Regular.otf' which
1975 comes from the Japanese Adobe Reader Asian Font pack.
David Turnerdc3ff312006-05-17 12:59:35 +00001976
Werner Lembergde2d90a2006-05-17 08:54:30 +000019772007-05-17 Werner Lemberg <wl@gnu.org>
1978
1979 * src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
David Turner281679d2006-05-17 13:34:21 +00001980 fixes the first part of Savannah bug #16590.
Werner Lembergde2d90a2006-05-17 08:54:30 +00001981
19822006-05-16 Werner Lemberg <wl@gnu.org>
1983
1984 * docs/PROBLEMS: Updated icl issues.
1985
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001986----------------------------------------------------------------------------
1987
Werner Lemberg42b63b22007-01-21 21:01:33 +00001988Copyright 2006, 2007 by
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00001989David Turner, Robert Wilhelm, and Werner Lemberg.
1990
1991This file is part of the FreeType project, and may only be used, modified,
1992and distributed under the terms of the FreeType project license,
1993LICENSE.TXT. By continuing to use, modify, or distribute this file you
1994indicate that you have read the license and understand and accept it
1995fully.
1996
1997
1998Local Variables:
1999version-control: never
Werner Lemberg4e03fe72006-04-29 06:20:09 +00002000coding: utf-8
Werner Lemberg8e6c56f2005-10-18 06:09:13 +00002001End: