* [w3m-dev 04321] Re: w3m's bugs from bugs.debian.org
* http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=261174#10 * terms.c (graph_ok): check UseGraphicChar is GRAPHIC_CHAR_ALL or not. * symbol.c (get_symbol): check UseGraphicChar. * rc.c (graphic_char_str): added. * main.c (sig_chld): use GRAPHIC_CHAR_ASCII and GRAPHIC_CHAR_ALL. * fm.h (GRAPHIC_CHAR_ASCII, GRAPHIC_CHAR_CHARSET, GRAPHIC_CHAR_ALL): added. * fm.h: UseGraphicChar is initialized as GRAPHIC_CHAR_ASCII.
This commit is contained in:
37
symbol.c
37
symbol.c
@@ -86,24 +86,29 @@ get_symbol(wc_ces charset, int *width)
|
||||
charset_symbol_set *p;
|
||||
symbol_set *s = NULL;
|
||||
|
||||
if (charset == save_charset && save_symbol != NULL &&
|
||||
*width == save_symbol->width) {
|
||||
*width = save_symbol->width;
|
||||
return save_symbol->item;
|
||||
}
|
||||
save_charset = charset;
|
||||
for (p = charset_symbol_list; p->charset; p++) {
|
||||
if (charset == p->charset &&
|
||||
(*width == 0 || *width == p->symbol->width)) {
|
||||
s = p->symbol;
|
||||
break;
|
||||
if (UseGraphicChar != GRAPHIC_CHAR_ASCII) {
|
||||
if (charset == save_charset && save_symbol != NULL &&
|
||||
*width == save_symbol->width)
|
||||
return save_symbol->item;
|
||||
save_charset = charset;
|
||||
for (p = charset_symbol_list; p->charset; p++) {
|
||||
if (charset == p->charset &&
|
||||
(*width == 0 || *width == p->symbol->width)) {
|
||||
s = p->symbol;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (s == NULL)
|
||||
if (s == NULL)
|
||||
s = (*width == 2) ? &alt2_symbol_set : &alt_symbol_set;
|
||||
if (s != save_symbol) {
|
||||
if (!s->encode)
|
||||
encode_symbol(s);
|
||||
save_symbol = s;
|
||||
}
|
||||
} else {
|
||||
if (save_symbol != NULL && *width == save_symbol->width)
|
||||
return save_symbol->item;
|
||||
s = (*width == 2) ? &alt2_symbol_set : &alt_symbol_set;
|
||||
if (s != save_symbol) {
|
||||
if (!s->encode)
|
||||
encode_symbol(s);
|
||||
save_symbol = s;
|
||||
}
|
||||
*width = s->width;
|
||||
|
Reference in New Issue
Block a user