diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-05-09 22:23:10 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-05-09 22:23:10 +0000 |
commit | 560d5d2035793e8902d68ba94294dce0fe549d2f (patch) | |
tree | 57c1ee6fad1b6d5fea4f5236e0a6c3511dc05e65 /amiga/font_scan.c | |
parent | 722a75bdf503143b0c44f0440523d3cea7ce1484 (diff) | |
download | netsurf-560d5d2035793e8902d68ba94294dce0fe549d2f.tar.gz netsurf-560d5d2035793e8902d68ba94294dce0fe549d2f.tar.bz2 |
Allow a comma-separated list of fonts to be specified in font_unicode_list
to provide more preferred fonts. eg. if a user has dedicated Japanese
and Korean fonts available they might want a config like:
font_unicode:Japanese
font_unicode_list:Korean,Code2000
This will scan Japanese and Korean fonts first, then fill in any blanks
with Code2000 (followed by alphabetically all other fonts installed)
svn path=/trunk/netsurf/; revision=13917
Diffstat (limited to 'amiga/font_scan.c')
-rw-r--r-- | amiga/font_scan.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/amiga/font_scan.c b/amiga/font_scan.c index ed762769e..688347d8c 100644 --- a/amiga/font_scan.c +++ b/amiga/font_scan.c @@ -432,7 +432,7 @@ void ami_font_scan_init(const char *filename, bool force_scan, bool save, ULONG i, found = 0, entries = 0; struct MinList *list; struct nsObject *node; - char *unicode_font; + char *unicode_font, *csv; struct ami_font_scan_window *win = NULL; /* Ensure array zeroed */ @@ -453,6 +453,23 @@ void ami_font_scan_init(const char *filename, bool force_scan, bool save, entries = 1; } + /* add preferred fonts list */ + if(nsoption_charp(font_unicode_list) && + (csv = strdup(nsoption_charp(font_unicode_list)))) + { + char *p; + + while(p = strsep(&csv, ",")) { + asprintf(&unicode_font, "%s.font", p); + if(unicode_font != NULL) { + node = AddObject(list, AMINS_UNKNOWN); + if(node) node->dtz_Node.ln_Name = unicode_font; + entries++; + } + } + free(csv); + } + if(nsoption_bool(font_unicode_only) == false) entries += ami_font_scan_list(list); |