diff options
author | pommicket <pommicket@gmail.com> | 2023-07-18 17:20:11 -0400 |
---|---|---|
committer | pommicket <pommicket@gmail.com> | 2023-07-19 19:02:27 -0400 |
commit | 6ba52193b95b78c62ea56f54d94a55d0e31504d1 (patch) | |
tree | 9aaff5249db58725d2e39559a902343171074f54 /ted.c | |
parent | fb1c8d184156c9af5432a28831b88776f252da91 (diff) |
font fallbacks
Diffstat (limited to 'ted.c')
-rw-r--r-- | ted.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -313,7 +313,8 @@ static Font *ted_load_single_font(Ted *ted, const char *filename) { static Font *ted_load_multifont(Ted *ted, const char *filenames) { char filename[TED_PATH_MAX]; - Font *font = NULL; + Font *first_font = NULL; + Font *curr_font = NULL; while (*filenames) { while (*filenames == ',') ++filenames; @@ -321,12 +322,17 @@ static Font *ted_load_multifont(Ted *ted, const char *filenames) { strn_cpy(filename, sizeof filename, filenames, len); str_trim(filename); if (*filename) { - font = ted_load_single_font(ted, filename); + Font *font = ted_load_single_font(ted, filename); + if (!first_font) + first_font = font; + if (curr_font) + text_font_set_fallback(curr_font, font); + curr_font = font; } filenames += len; } - return font; + return first_font; } void ted_load_fonts(Ted *ted) { |