suzuki toshiya 0ae3271814 Restrict the number of the charmaps in a rogue-compatible mode.
Fix for Savannah bug #30059.

* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Replace `16' the
minimum character code passed by a legacy rogue client by...
* include/freetype/config/ftoption.h (FT_MAX_CHARMAP_CACHEABLE):
This.  It is undefined when FT_CONFIG_OPTION_OLD_INTERNALS is
undefined (thus the rogue client compatibility is not required).

* src/cff/cffobjs.c (cff_face_init): Abort the automatic
selection or synthesis of Unicode cmap subtable when the charmap
index exceeds FT_MAX_CHARMAP_CACHEABLE.
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Issue error message
when the charmap index exceeds FT_MAX_CHARMAP_CACHEABLE.

* src/base/ftobjs.c (find_unicode_charmap): When Unicode charmap
is found after FT_MAX_CHARMAP_CACHEABLE, ignore it and search
earlier one.
(find_variant_selector_charmap): When UVS charmap is found after
FT_MAX_CHARMAP_CACHEABLE, ignore it and search earlier one.
(FT_Select_Charmap): When a charmap matching with requested
encoding but after FT_MAX_CHARMAP_CACHEABLE, ignore and search
earlier one.
(FT_Set_Charmap): When a charmap matching with requested
charmap but after FT_MAX_CHARMAP_CACHEABLE, ignore and search
earlier one.
(FT_Get_Charmap_Index): When a requested charmap is found
after FT_MAX_CHARMAP_CACHEABLE, return the inverted charmap
index.
2010-07-05 09:59:03 +09:00
..
2008-06-26 19:56:51 +00:00
2010-04-14 15:47:04 +02:00
2009-03-11 21:39:10 +00:00
2010-06-23 10:00:52 +02:00
2007-01-23 06:29:23 +00:00
2009-10-18 09:47:52 +02:00
2008-06-26 19:56:51 +00:00
2008-06-26 19:56:51 +00:00
2010-02-09 07:40:56 +01:00
2010-02-13 07:53:37 +01:00
2010-07-04 07:49:03 +02:00
2008-06-26 19:56:51 +00:00
2008-06-26 19:56:51 +00:00
2009-01-19 08:35:45 +00:00
2008-06-26 19:56:51 +00:00
2010-01-03 14:09:03 +01:00
2009-01-19 08:47:43 +00:00
2009-01-19 08:35:45 +00:00
2010-02-13 07:53:37 +01:00
2009-07-17 10:50:04 +02:00
2007-01-30 23:08:50 +00:00
2010-02-14 10:04:11 +01:00
2008-10-05 06:08:40 +00:00