[aat] Fallback to old style "Letter Case" small caps
Fixes https://github.com/harfbuzz/harfbuzz/issues/1342
This commit is contained in:
parent
f928931948
commit
40b19fd469
@ -955,12 +955,20 @@ struct Chain
|
|||||||
const Feature &feature = featureZ[i];
|
const Feature &feature = featureZ[i];
|
||||||
uint16_t type = feature.featureType;
|
uint16_t type = feature.featureType;
|
||||||
uint16_t setting = feature.featureSetting;
|
uint16_t setting = feature.featureSetting;
|
||||||
|
retry:
|
||||||
const hb_aat_map_builder_t::feature_info_t *info = map->features.bsearch (type);
|
const hb_aat_map_builder_t::feature_info_t *info = map->features.bsearch (type);
|
||||||
if (info && info->setting == setting)
|
if (info && info->setting == setting)
|
||||||
{
|
{
|
||||||
flags &= feature.disableFlags;
|
flags &= feature.disableFlags;
|
||||||
flags |= feature.enableFlags;
|
flags |= feature.enableFlags;
|
||||||
}
|
}
|
||||||
|
else if (type == 3/*kLetterCaseType*/ && setting == 3/*kSmallCapsSelector*/)
|
||||||
|
{
|
||||||
|
/* Deprecated. https://github.com/harfbuzz/harfbuzz/issues/1342 */
|
||||||
|
type = 37/*kLowerCaseType*/;
|
||||||
|
setting = 1/*kLowerCaseSmallCapsSelector*/;
|
||||||
|
goto retry;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return flags;
|
return flags;
|
||||||
|
Loading…
Reference in New Issue
Block a user