From 9dfcd5f9ecc9f26c882c1314d2a30b1b5fe2d29e Mon Sep 17 00:00:00 2001 From: Bowon Ryu Date: Mon, 24 Feb 2020 20:16:40 +0900 Subject: [PATCH] edje/style: Fix a problem where embedded font does not load in edj Summary: When edje_font_is_embedded the path of the font must be "font=edje/fonts/%s" The previous code is "font=%s" This causes the font to not load properly when edje_font_is_embedded. Test Plan: edje_cc test.edc edje_player test.edj collections { group { "main"; fonts { // Set any two fonts in your local path. font: "ANYFONT_1.TTF" "font_1"; font: "ANYFONT_2.TTF" "font_2"; } styles { style { name: "textblock_style_1"; base: "font=font_1 font_size=30 color=#ffffff"; } style { name: "textblock_style_2"; base: "font=font_2 font_size=30 color=#ffffff"; } } parts { spacer { "base"; scale; desc { "default"; min: 600 250; max: 600 250; } } rect { "bg"; scale; desc { "default"; rel.to: "base"; color: 5 5 5 255; } } textblock { "tb1"; scale; desc { "default"; rel.to: base; rel1.relative: 0 0; rel2.relative: 1 0.5; text.text: "THIS IS FONT 1"; text.style: "textblock_style_1"; } } textblock { "tb2"; scale; desc { "default"; rel.to: base; rel1.relative: 0 0.5; rel2.relative: 1 1; text.text: "THIS IS FONT 2"; text.style: "textblock_style_2"; } } } } } Reviewers: smohanty, CHAN, Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11401 --- src/lib/edje/edje_textblock_styles.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/edje/edje_textblock_styles.c b/src/lib/edje/edje_textblock_styles.c index 0eec7bca80..340e77abbc 100644 --- a/src/lib/edje/edje_textblock_styles.c +++ b/src/lib/edje/edje_textblock_styles.c @@ -166,6 +166,10 @@ _edje_format_reparse(Edje_File *edf, const char *str, Edje_Style_Tag *tag_ret, E char buffer[120]; snprintf(buffer, sizeof(buffer), "edje/fonts/%s", val); tag_ret->font = eina_stringshare_add(buffer); + if (eina_strbuf_length_get(result)) eina_strbuf_append(result, " "); + eina_strbuf_append(result, "font="); + eina_strbuf_append(result, buffer); + continue; } else {