/*
* Copyright (C) 2009 Red Hat, Inc.
*
- * This is part of HarfBuzz, an OpenType Layout engine library.
+ * This is part of HarfBuzz, a text shaping library.
*
* Permission is hereby granted, without written agreement and without
* license or royalty fees, to use, copy, modify, and distribute this
typedef struct _hb_glyph_metrics_t
{
- hb_position_t x_pos;
- hb_position_t y_pos;
hb_position_t x_advance;
hb_position_t y_advance;
+ hb_position_t x_offset;
+ hb_position_t y_offset;
hb_position_t width;
hb_position_t height;
} hb_glyph_metrics_t;
hb_font_get_kerning_func_t kerning_func);
+hb_codepoint_t
+hb_font_get_glyph (hb_font_t *font, hb_face_t *face,
+ hb_codepoint_t unicode, hb_codepoint_t variation_selector);
+
+hb_bool_t
+hb_font_get_contour_point (hb_font_t *font, hb_face_t *face,
+ unsigned int point_index,
+ hb_codepoint_t glyph, hb_position_t *x, hb_position_t *y);
+
+void
+hb_font_get_glyph_metrics (hb_font_t *font, hb_face_t *face,
+ hb_codepoint_t glyph, hb_glyph_metrics_t *metrics);
+
+hb_position_t
+hb_font_get_kerning (hb_font_t *font, hb_face_t *face,
+ hb_codepoint_t first_glyph, hb_codepoint_t second_glyph);
+
+
/*
* hb_font_t
*/
/*
- * XXX
- * should we decompose this to units_per_EM and font-size?
- * units_per_EM setting then can go into the face, or better,
- * read from the 'head' table.
- *
- * Then we either need size+shape like freetype does, or a full
- * matrix.
+ * We should add support for full matrices.
*/
void
hb_font_set_scale (hb_font_t *font,
- hb_16dot16_t x_scale,
- hb_16dot16_t y_scale);
+ unsigned int x_scale,
+ unsigned int y_scale);
/*
* A zero value means "no hinting in that direction"