Evas harfbuzz: Adjust evas to work with Harfbuzz >= 3.0
authortasn <tasn@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 21 Apr 2011 14:04:53 +0000 (14:04 +0000)
committertasn <tasn@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 21 Apr 2011 14:04:53 +0000 (14:04 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@58802 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

configure.ac
src/lib/engines/common/evas_font_ot.c
src/lib/engines/common/language/evas_language_utils.c

index 2aec86f..af82b91 100644 (file)
@@ -314,7 +314,7 @@ AC_ARG_ENABLE([harfbuzz],
 
 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
    PKG_CHECK_MODULES([HARFBUZZ],
-      [harfbuzz >= 0.2],
+      [harfbuzz >= 0.3],
       [
        have_harfbuzz="yes"
        requirement_evas="harfbuzz ${requirement_evas}"
index ba7da6b..2a27b06 100644 (file)
@@ -177,7 +177,7 @@ _evas_common_font_ot_shape(hb_buffer_t *buffer, RGBA_Font_Int *fi)
    hb_font_t   *hb_font;
 
    hb_font = hb_ft_font_create(fi->src->ft.face, NULL);
-   hb_font_set_funcs(hb_font, _evas_common_font_ot_font_funcs_get(), NULL, fi);
+   hb_font_set_funcs(hb_font, _evas_common_font_ot_font_funcs_get(), fi, NULL);
 
    hb_shape(hb_font, fi->src->hb.face, buffer, NULL, 0);
    hb_font_destroy(hb_font);
@@ -247,8 +247,8 @@ evas_common_font_ot_populate_text_props(void *_fn, const Eina_Unicode *text,
          sizeof(Evas_Font_OT_Info));
    props->info->glyph = calloc(props->len,
               sizeof(Evas_Font_Glyph_Info));
-   positions = hb_buffer_get_glyph_positions(buffer);
-   infos = hb_buffer_get_glyph_infos(buffer);
+   positions = hb_buffer_get_glyph_positions(buffer, NULL);
+   infos = hb_buffer_get_glyph_infos(buffer, NULL);
    gl_itr = props->info->glyph;
    ot_itr = props->info->ot;
    for (i = 0 ; i < props->len ; i++)
index f4a636a..276d83c 100644 (file)
@@ -43,7 +43,8 @@ evas_common_language_char_script_get(Eina_Unicode unicode)
    static hb_unicode_funcs_t *funcs;
    if (!funcs)
         funcs = evas_common_language_unicode_funcs_get();
-   return hb_unicode_get_script(funcs, unicode);
+   if (funcs)
+      return hb_unicode_get_script(funcs, unicode);
 #else
    (void) unicode;
 #endif