Evas harfbuzz: Adjust evas to work with Harfbuzz >= 3.0

SVN revision: 58802
This commit is contained in:
Tom Hacohen 2011-04-21 14:04:53 +00:00
parent 3f86ed9349
commit 48d0603e5d
3 changed files with 6 additions and 5 deletions

View File

@ -314,7 +314,7 @@ AC_ARG_ENABLE([harfbuzz],
if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
PKG_CHECK_MODULES([HARFBUZZ], PKG_CHECK_MODULES([HARFBUZZ],
[harfbuzz >= 0.2], [harfbuzz >= 0.3],
[ [
have_harfbuzz="yes" have_harfbuzz="yes"
requirement_evas="harfbuzz ${requirement_evas}" requirement_evas="harfbuzz ${requirement_evas}"

View 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_t *hb_font;
hb_font = hb_ft_font_create(fi->src->ft.face, NULL); 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_shape(hb_font, fi->src->hb.face, buffer, NULL, 0);
hb_font_destroy(hb_font); 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)); sizeof(Evas_Font_OT_Info));
props->info->glyph = calloc(props->len, props->info->glyph = calloc(props->len,
sizeof(Evas_Font_Glyph_Info)); sizeof(Evas_Font_Glyph_Info));
positions = hb_buffer_get_glyph_positions(buffer); positions = hb_buffer_get_glyph_positions(buffer, NULL);
infos = hb_buffer_get_glyph_infos(buffer); infos = hb_buffer_get_glyph_infos(buffer, NULL);
gl_itr = props->info->glyph; gl_itr = props->info->glyph;
ot_itr = props->info->ot; ot_itr = props->info->ot;
for (i = 0 ; i < props->len ; i++) for (i = 0 ; i < props->len ; i++)

View File

@ -43,7 +43,8 @@ evas_common_language_char_script_get(Eina_Unicode unicode)
static hb_unicode_funcs_t *funcs; static hb_unicode_funcs_t *funcs;
if (!funcs) if (!funcs)
funcs = evas_common_language_unicode_funcs_get(); funcs = evas_common_language_unicode_funcs_get();
return hb_unicode_get_script(funcs, unicode); if (funcs)
return hb_unicode_get_script(funcs, unicode);
#else #else
(void) unicode; (void) unicode;
#endif #endif