[var] Add hb_font_set_var_coords_design()

This commit is contained in:
Behdad Esfahbod 2017-01-21 15:05:00 -08:00
parent 0dcc7b49a8
commit 8b2a580470
2 changed files with 25 additions and 3 deletions

View File

@ -1543,10 +1543,27 @@ hb_font_get_ppem (hb_font_t *font,
if (y_ppem) *y_ppem = font->y_ppem; if (y_ppem) *y_ppem = font->y_ppem;
} }
/*
* Variations
*/
void
hb_font_set_var_coords_design (hb_font_t *font,
float *coords,
unsigned int coords_length)
{
int normalized[coords_length]; // XXX Remove variable-length array use...
hb_face_t *face = font->face;
for (unsigned int i = 0; i < coords_length; i++)
normalized[i] = hb_ot_var_normalize_axis_value (face, i, coords[i]);
hb_font_set_var_coords_normalized (font, normalized, coords_length);
}
void void
hb_font_set_var_coords_normalized (hb_font_t *font, hb_font_set_var_coords_normalized (hb_font_t *font,
int *coords, /* XXX 2.14 normalized */ int *coords, /* 2.14 normalized */
unsigned int coords_length) unsigned int coords_length)
{ {
if (font->immutable) if (font->immutable)
@ -1570,7 +1587,7 @@ hb_font_get_var_coords_normalized (hb_font_t *font,
unsigned int *length) unsigned int *length)
{ {
if (length) if (length)
*length = font->coords_length; *length = font->num_coords;
return font->coords; return font->coords;
} }

View File

@ -604,9 +604,14 @@ hb_font_get_ppem (hb_font_t *font,
unsigned int *y_ppem); unsigned int *y_ppem);
HB_EXTERN void
hb_font_set_var_coords_design (hb_font_t *font,
float *coords,
unsigned int coords_length);
HB_EXTERN void HB_EXTERN void
hb_font_set_var_coords_normalized (hb_font_t *font, hb_font_set_var_coords_normalized (hb_font_t *font,
int *coords, /* XXX 2.14 normalized */ int *coords, /* 2.14 normalized */
unsigned int coords_length); unsigned int coords_length);
HB_EXTERN int * HB_EXTERN int *