[UVS] Fix find_variant_selector_charmap(), Savannah bug #31545.

Since 2010-07-04, find_variant_selector_charmap() returns
the first cmap subtable always under rogue-compatible
configuration, it causes NULL pointer dereference and
make UVS-related functions crashed.

* src/base/ftobjs.c (Fix find_variant_selector_charmap):
Returns UVS cmap correctly.
This commit is contained in:
suzuki toshiya 2010-11-04 23:26:11 +09:00
parent b72e046098
commit ac09390afc
2 changed files with 14 additions and 0 deletions

View File

@ -1,3 +1,15 @@
2010-11-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
[UVS] Fix find_variant_selector_charmap(), Savannah bug #31545.
Since 2010-07-04, find_variant_selector_charmap() returns
the first cmap subtable always under rogue-compatible
configuration, it causes NULL pointer dereference and
make UVS-related functions crashed.
* src/base/ftobjs.c (Fix find_variant_selector_charmap):
Returns UVS cmap correctly.
2010-11-01 Alexei Podtelezhnikov <apodtele@gmail.com>
[ftsmooth] Improve rendering.

View File

@ -1062,6 +1062,7 @@
if ( cur[0]->platform_id == TT_PLATFORM_APPLE_UNICODE &&
cur[0]->encoding_id == TT_APPLE_ID_VARIANT_SELECTOR &&
FT_Get_CMap_Format( cur[0] ) == 14 )
{
#ifdef FT_MAX_CHARMAP_CACHEABLE
if ( cur - first > FT_MAX_CHARMAP_CACHEABLE )
{
@ -1072,6 +1073,7 @@
#endif
return cur[0];
}
}
return NULL;
}