diff options
author | James Bursa <james@netsurf-browser.org> | 2005-02-20 18:19:29 +0000 |
---|---|---|
committer | James Bursa <james@netsurf-browser.org> | 2005-02-20 18:19:29 +0000 |
commit | 7caf0192182233de4c7524a6c40d914229952dd8 (patch) | |
tree | 1c4829abfb738e8906d2dfcd40428afe28b655a8 /rufl_init.c | |
parent | ba031d279ca169c0f1da245d35e40bc52e5abe31 (diff) | |
download | librufl-7caf0192182233de4c7524a6c40d914229952dd8.tar.gz librufl-7caf0192182233de4c7524a6c40d914229952dd8.tar.bz2 |
[project @ 2005-02-20 18:19:29 by bursa]
Fix glyph with multiple Unicodes issue on RO3-4.
svn path=/import/rufl/; revision=2452
Diffstat (limited to 'rufl_init.c')
-rw-r--r-- | rufl_init.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/rufl_init.c b/rufl_init.c index 3778978..7756ad9 100644 --- a/rufl_init.c +++ b/rufl_init.c @@ -521,9 +521,18 @@ rufl_code rufl_init_read_encoding(font_f font, sizeof rufl_glyph_map[0], rufl_glyph_map_cmp); if (entry) { - umap->map[u].u = entry->u; - umap->map[u].c = i - 1; - u++; + /* may be more than one unicode for the glyph + * sentinels stop overshooting array */ + while (strcmp(s, (entry - 1)->glyph_name) == 0) + entry--; + for (; strcmp(s, entry->glyph_name) == 0; + entry++) { + umap->map[u].u = entry->u; + umap->map[u].c = i - 1; + u++; + if (u == 256) + break; + } } } } |