void (*image_content_hint_set) (void *data, void *surface, int hint);
int (*image_content_hint_get) (void *data, void *surface);
int (*font_pen_coords_get) (void *data, void *font, const Evas_Text_Props *intl_props, int pos, int *cpen_x, int *cy, int *cadv, int *ch);
- Eina_Bool (*font_text_props_info_create) (void *data __UNUSED__, void *font, Eina_Unicode *text, Evas_Text_Props *intl_props, const Evas_BiDi_Paragraph_Props *par_props, size_t pos, size_t len);
+ Eina_Bool (*font_text_props_info_create) (void *data __UNUSED__, void *font, const Eina_Unicode *text, Evas_Text_Props *intl_props, const Evas_BiDi_Paragraph_Props *par_props, size_t pos, size_t len);
int (*font_right_inset_get) (void *data, void *font, const Evas_Text_Props *text_props);
/* EFL-GL Glue Layer */
}
static Eina_Bool
-eng_font_text_props_info_create(void *data __UNUSED__, void *font, Eina_Unicode *text, Evas_Text_Props *text_props, const Evas_BiDi_Paragraph_Props *par_props, size_t pos, size_t len)
+eng_font_text_props_info_create(void *data __UNUSED__, void *font, const Eina_Unicode *text, Evas_Text_Props *text_props, const Evas_BiDi_Paragraph_Props *par_props, size_t pos, size_t len)
{
- (void) font;
- (void) text;
- (void) text_props;
+ Eina_Bool ret;
(void) par_props;
(void) pos;
- (void) len;
#if !defined(OT_SUPPORT) && defined(BIDI_SUPPORT)
+ Eina_Unicode *tmp = eina_unicode_strndup(text, len);
+ text = tmp;
evas_bidi_shape_string(text, par_props, pos, len);
#endif
- return evas_common_text_props_content_create(font, text, text_props, len);
+ ret = evas_common_text_props_content_create(font, text, text_props, len);
+
+#if !defined(OT_SUPPORT) && defined(BIDI_SUPPORT)
+ free(tmp);
+#endif
+ return ret;
}
static int