Fix scale issues
[profile/ivi/org.tizen.video-player.git] / src / hb-font.h
index 9a8e5ad..433d31a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * 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
@@ -94,10 +94,10 @@ hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs);
 
 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;
@@ -130,6 +130,24 @@ hb_font_funcs_set_kerning_func (hb_font_funcs_t *ffuncs,
                                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
  */
@@ -159,18 +177,12 @@ hb_font_get_funcs (hb_font_t       *font);
 
 
 /*
- * 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"