freetype2/src
Werner Lemberg 03b3da8bb6 Improve CFF string (especially glyphname) lookup performance.
We do this by avoiding memory allocation and file I/O.  This is
Savannah patch #7104.

* src/cff/cfftypes.h: Include PS cmaps service and
FT_INTERNAL_POSTSCRIPT_HINTS_H.
(CFF_SubFontRec): Remove `num_local_subrs'.
(CFF_FontRec): Add `num_strings', `strings', and `string_pool'
fields.
Remove `string_index' and `num_global_subrs' fields.
Use real types instead of `void' for `pshinter' and `psnames' fields.

* src/cff/cffload.c: Don't include PS cmaps service.
(cff_index_get_pointers): Add `pool' parameter which allows to
insert an extra NUL character for each String INDEX entry.
(cff_index_get_name): Make it a local function.
(cff_index_get_string): New function.
(cff_subfont_load): Updated.
(cff_font_load): Initialize `num_strings', `strings', and
`string_pool' fields in the `CFF_FontRec' structure.
(cff_index_get_sid_string): Use `cff_index_get_string' instead of
`cff_index_get_name'.
(cff_font_done): Updated.

* src/cff/cffload.h: Don't include PS cmaps service.
(cff_index_get_string): Added.
(cff_index_get_sid_string): Updated.

* src/cff/cffobjs.c: Don't include PS cmaps service and
FT_INTERNAL_POSTSCRIPT_HINTS_H.
(cff_size_get_globals_funcs, cff_slot_init): Updated.
(cff_face_init): Follow `cff_index_get_name',
`cff_index_get_string', and `cff_index_get_sid_string' changes.

* src/cff/cffcmap.c (cff_sid_free_glyph_name): Removed.
(cff_sid_to_glyph_name): Use `cff_index_get_cid_string'.
(cff_cmap_unicode_init): Updated.

* src/cff/cffdrivr.c: Don't include PS cmap service.
(cff_get_glyph_name): Avoid unnecessary lookup for POSTSCRIPT_CMAPS
service.
(cff_get_glyph_name, cff_ps_get_font_info, cff_get_ros): Follow API
`cff_index_get_sid_string' change.
(cff_get_name_index): Use `cff_index_get_string' instead of
`cff_index_get_name'.

* src/cff/cffgload.c: Don't include FT_INTERNAL_POSTSCRIPT_HINTS_H.
(cff_decoder_init, cff_decoder_prepare): Updated.
2010-03-02 13:00:55 +01:00
..
autofit Really fix FreeDesktop bug #21197. 2009-11-15 10:17:44 +01:00
base Simplify code. 2010-02-27 08:10:11 +01:00
bdf [BDF] Modify hash API to take size_t value instead of void *. 2009-09-13 00:50:14 +09:00
cache Whitespace. 2009-12-20 18:12:57 +01:00
cff Improve CFF string (especially glyphname) lookup performance. 2010-03-02 13:00:55 +01:00
cid Really fix Savannah bug #28678 (part 2). 2010-02-10 07:13:27 +01:00
gxvalid gxvalid: Extend a few local variables to reduce the casts. 2009-08-01 00:37:55 +09:00
gzip gzip: Use FT2 zcalloc() & zfree() in ftgzip.c by default. 2009-08-01 00:30:11 +09:00
lzw Apply reports from clang static analyzer. 2010-01-05 20:00:35 +01:00
otvalid otvalid: Truncate the glyph index to 16-bit. 2009-08-01 00:32:11 +09:00
pcf [pcf] Fix a bug in the nprops truncation, Gentoo bug #288357. 2009-10-11 02:07:16 +09:00
pfr Fix compiler warnings. 2009-12-03 05:57:30 +01:00
psaux Fix Savannah bug #28521. 2010-01-08 18:13:02 +01:00
pshinter For warning messages, replace FT_ERROR with FT_TRACE0. 2009-06-26 06:15:41 +02:00
psnames Prevent NULL pointer dereference passed to FT_Module_Requester. 2010-02-05 02:58:24 +09:00
raster [raster] Fix 5-levels grayscale output. 2009-09-12 23:15:17 +02:00
sfnt Prevent NULL pointer dereference passed to FT_Module_Requester. 2010-02-05 02:58:24 +09:00
smooth smooth: Exclude 16-bit system in invalid pitch/height check. 2009-08-01 00:35:40 +09:00
tools We no longer use CVS. 2010-01-23 16:19:33 +01:00
truetype Fix Savannah bug #28905. 2010-02-18 17:09:30 +01:00
type1 Really fix Savannah bug #28678 (part 2). 2010-02-10 07:13:27 +01:00
type42 Fix custom cmap for empty Type 1 font (Savannah bug #27294). 2009-09-01 08:10:24 +02:00
winfonts XXX_cmap_encoding_char_next() return FT_UInt32 values. 2009-08-01 00:32:09 +09:00
Jamfile Add license. 2005-06-04 23:04:30 +00:00