[coretext] Clamp variation settings to min/max
Like our native implementation does; CoreText doesn't itself. Also fix leak of CFNumber's.
This commit is contained in:
parent
1b86753031
commit
4ce0f08897
|
@ -347,10 +347,13 @@ _hb_coretext_shaper_font_data_create (hb_font_t *font)
|
||||||
hb_ot_var_axis_info_t info;
|
hb_ot_var_axis_info_t info;
|
||||||
unsigned int c = 1;
|
unsigned int c = 1;
|
||||||
hb_ot_var_get_axis_infos (font->face, i, &c, &info);
|
hb_ot_var_get_axis_infos (font->face, i, &c, &info);
|
||||||
CFDictionarySetValue (variations,
|
float v = hb_clamp (font->design_coords[i], info.min_value, info.max_value);
|
||||||
CFNumberCreate (kCFAllocatorDefault, kCFNumberIntType, &info.tag),
|
|
||||||
CFNumberCreate (kCFAllocatorDefault, kCFNumberFloatType, &font->design_coords[i])
|
CFNumberRef tag_number = CFNumberCreate (kCFAllocatorDefault, kCFNumberIntType, &info.tag);
|
||||||
);
|
CFNumberRef value_number = CFNumberCreate (kCFAllocatorDefault, kCFNumberFloatType, &v);
|
||||||
|
CFDictionarySetValue (variations, tag_number, value_number);
|
||||||
|
CFRelease (tag_number);
|
||||||
|
CFRelease (value_number);
|
||||||
}
|
}
|
||||||
|
|
||||||
CFDictionaryRef attributes =
|
CFDictionaryRef attributes =
|
||||||
|
|
Loading…
Reference in New Issue