[GX] Remove (partial) support for anisotropic variations
It doesn't always work, not part of FreeType, and we were not going to expose it in the API anyway. Can always be added later.
This commit is contained in:
parent
c22176d4ba
commit
26648cebcd
@ -110,8 +110,7 @@ struct hb_font_t {
|
||||
|
||||
/* Font variation coordinates. */
|
||||
unsigned int num_coords;
|
||||
int *x_coords;
|
||||
int *y_coords;
|
||||
int *coords;
|
||||
|
||||
hb_font_funcs_t *klass;
|
||||
void *user_data;
|
||||
|
@ -1197,8 +1197,7 @@ hb_font_get_empty (void)
|
||||
0, /* y_ppem */
|
||||
|
||||
0, /* num_coords */
|
||||
NULL, /* x_coords */
|
||||
NULL, /* y_coords */
|
||||
NULL, /* coords */
|
||||
|
||||
const_cast<hb_font_funcs_t *> (&_hb_font_funcs_nil), /* klass */
|
||||
NULL, /* user_data */
|
||||
@ -1254,10 +1253,8 @@ hb_font_destroy (hb_font_t *font)
|
||||
hb_face_destroy (font->face);
|
||||
hb_font_funcs_destroy (font->klass);
|
||||
|
||||
if (font->x_coords)
|
||||
free (font->x_coords);
|
||||
if (font->y_coords && font->y_coords != font->x_coords)
|
||||
free (font->y_coords);
|
||||
if (font->coords)
|
||||
free (font->coords);
|
||||
|
||||
free (font);
|
||||
}
|
||||
@ -1564,15 +1561,13 @@ hb_font_set_var_coords_normalized (hb_font_t *font,
|
||||
if (unlikely (coords_length && !copy))
|
||||
return;
|
||||
|
||||
if (font->x_coords)
|
||||
free (font->x_coords);
|
||||
if (font->y_coords && font->y_coords != font->x_coords)
|
||||
free (font->y_coords);
|
||||
if (font->coords)
|
||||
free (font->coords);
|
||||
|
||||
if (coords_length)
|
||||
memcpy (copy, coords, coords_length * sizeof (coords[0]));
|
||||
|
||||
font->x_coords = font->y_coords = copy;
|
||||
font->coords = copy;
|
||||
font->num_coords = coords_length;
|
||||
}
|
||||
|
||||
|
@ -1584,10 +1584,10 @@ struct VariationDevice
|
||||
private:
|
||||
|
||||
inline hb_position_t get_x_delta (hb_font_t *font, const VariationStore &store) const
|
||||
{ return font->em_scalef_x (get_delta (store, font->x_coords, font->num_coords)); }
|
||||
{ return font->em_scalef_x (get_delta (font, store)); }
|
||||
|
||||
inline hb_position_t get_y_delta (hb_font_t *font, const VariationStore &store) const
|
||||
{ return font->em_scalef_y (get_delta (store, font->y_coords, font->num_coords)); }
|
||||
{ return font->em_scalef_y (get_delta (font, store)); }
|
||||
|
||||
inline bool sanitize (hb_sanitize_context_t *c) const
|
||||
{
|
||||
@ -1597,10 +1597,9 @@ struct VariationDevice
|
||||
|
||||
private:
|
||||
|
||||
inline float get_delta (const VariationStore &store,
|
||||
int *coords, unsigned int coord_count) const
|
||||
inline float get_delta (hb_font_t *font, const VariationStore &store) const
|
||||
{
|
||||
return store.get_delta (outerIndex, innerIndex, coords, coord_count);
|
||||
return store.get_delta (outerIndex, innerIndex, font->coords, font->num_coords);
|
||||
}
|
||||
|
||||
protected:
|
||||
|
Loading…
Reference in New Issue
Block a user