[font] Add public API for slant
Not hooked up internally to anything. New API: + hb_font_set_synthetic_slant() + hb_font_get_synthetic_slant() Part of fixing https://github.com/harfbuzz/harfbuzz/issues/3196
This commit is contained in:
parent
067f90a820
commit
810f5d71c7
|
@ -1477,6 +1477,7 @@ DEFINE_NULL_INSTANCE (hb_font_t) =
|
|||
|
||||
1000, /* x_scale */
|
||||
1000, /* y_scale */
|
||||
0., /* slant */
|
||||
1<<16, /* x_mult */
|
||||
1<<16, /* y_mult */
|
||||
|
||||
|
@ -1578,6 +1579,7 @@ hb_font_create_sub_font (hb_font_t *parent)
|
|||
|
||||
font->x_scale = parent->x_scale;
|
||||
font->y_scale = parent->y_scale;
|
||||
font->slant = parent->slant;
|
||||
font->mults_changed ();
|
||||
font->x_ppem = parent->x_ppem;
|
||||
font->y_ppem = parent->y_ppem;
|
||||
|
@ -2015,7 +2017,7 @@ hb_font_set_ptem (hb_font_t *font,
|
|||
*
|
||||
* Return value: Point size. A value of zero means "not set."
|
||||
*
|
||||
* Since: 0.9.2
|
||||
* Since: 1.6.0
|
||||
**/
|
||||
float
|
||||
hb_font_get_ptem (hb_font_t *font)
|
||||
|
@ -2023,6 +2025,43 @@ hb_font_get_ptem (hb_font_t *font)
|
|||
return font->ptem;
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_set_synthetic_slant:
|
||||
* @font: #hb_font_t to work upon
|
||||
* @ptem: font size in points.
|
||||
*
|
||||
* Sets the XXX "point size" of a font. By default is zero.
|
||||
*
|
||||
* <note>Note: XXX There are 72 points in an inch.</note>
|
||||
*
|
||||
* Since: REPLACEME
|
||||
**/
|
||||
HB_EXTERN void
|
||||
hb_font_set_synthetic_slant (hb_font_t *font, float slant)
|
||||
{
|
||||
if (hb_object_is_immutable (font))
|
||||
return;
|
||||
|
||||
font->slant = slant;
|
||||
font->mults_changed ();
|
||||
}
|
||||
|
||||
/**
|
||||
* hb_font_get_synthetic_slant:
|
||||
* @font: #hb_font_t to work upon
|
||||
*
|
||||
* Fetches the "point size" of a font.
|
||||
*
|
||||
* Return value: XXX Point size. By default is zero.
|
||||
*
|
||||
* Since: REPLACEME
|
||||
**/
|
||||
HB_EXTERN float
|
||||
hb_font_get_synthetic_slant (hb_font_t *font)
|
||||
{
|
||||
return font->slant;
|
||||
}
|
||||
|
||||
#ifndef HB_NO_VAR
|
||||
/*
|
||||
* Variations
|
||||
|
|
|
@ -1023,6 +1023,12 @@ hb_font_set_ptem (hb_font_t *font, float ptem);
|
|||
HB_EXTERN float
|
||||
hb_font_get_ptem (hb_font_t *font);
|
||||
|
||||
HB_EXTERN void
|
||||
hb_font_set_synthetic_slant (hb_font_t *font, float slant);
|
||||
|
||||
HB_EXTERN float
|
||||
hb_font_get_synthetic_slant (hb_font_t *font);
|
||||
|
||||
HB_EXTERN void
|
||||
hb_font_set_variations (hb_font_t *font,
|
||||
const hb_variation_t *variations,
|
||||
|
|
|
@ -109,6 +109,7 @@ struct hb_font_t
|
|||
|
||||
int32_t x_scale;
|
||||
int32_t y_scale;
|
||||
float slant;
|
||||
int64_t x_mult;
|
||||
int64_t y_mult;
|
||||
|
||||
|
|
Loading…
Reference in New Issue