merge m17n patch
add libwc
This commit is contained in:
399
rc.c
399
rc.c
@@ -1,4 +1,4 @@
|
||||
/* $Id: rc.c,v 1.86 2003/09/22 17:37:41 ukai Exp $ */
|
||||
/* $Id: rc.c,v 1.87 2003/09/22 21:02:20 ukai Exp $ */
|
||||
/*
|
||||
* Initialization file etc.
|
||||
*/
|
||||
@@ -8,7 +8,6 @@
|
||||
#include <errno.h>
|
||||
#include "parsetag.h"
|
||||
#include "local.h"
|
||||
#include "terms.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
struct param_ptr {
|
||||
@@ -17,7 +16,7 @@ struct param_ptr {
|
||||
int inputtype;
|
||||
void *varptr;
|
||||
char *comment;
|
||||
struct sel_c *select;
|
||||
void *select;
|
||||
};
|
||||
|
||||
struct param_section {
|
||||
@@ -44,7 +43,7 @@ static int RC_table_size;
|
||||
#ifdef USE_COLOR
|
||||
#define P_COLOR 6
|
||||
#endif
|
||||
#ifdef JP_CHARSET
|
||||
#ifdef USE_M17N
|
||||
#define P_CODE 7
|
||||
#endif
|
||||
#define P_PIXELS 8
|
||||
@@ -52,15 +51,18 @@ static int RC_table_size;
|
||||
#define P_SCALE 10
|
||||
|
||||
#if LANG == JA
|
||||
static wc_ces OptionCharset = WC_CES_EUC_JP;
|
||||
static int OptionEncode = FALSE;
|
||||
|
||||
#define CMT_HELPER "<22><><EFBFBD><EFBFBD><EFBFBD>ӥ塼<D3A5><E5A1BC><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD>"
|
||||
#define CMT_TABSTOP "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
#define CMT_INDENT_INCR "HTML<4D><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD>"
|
||||
#define CMT_PIXEL_PER_CHAR "ʸ<><CAB8><EFBFBD><EFBFBD> (4.0...32.0)"
|
||||
#define CMT_PIXEL_PER_LINE "<22><><EFBFBD>Ԥι⤵ (4.0...64.0)"
|
||||
#define CMT_PAGERLINE "<22>ڡ<EFBFBD><DAA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD>"
|
||||
#define CMT_HISTORY "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>"
|
||||
#define CMT_HISTSIZE "<22>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD>URL<52><4C><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>"
|
||||
#define CMT_SAVEHIST "URL<52><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸"
|
||||
#define CMT_KANJICODE "ɽ<><C9BD><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
#define CMT_FRAME "<22>ե졼<D5A5><ECA1BC><EFBFBD>μ<EFBFBD>ưɽ<C6B0><C9BD>"
|
||||
#define CMT_ARGV_IS_URL "scheme <20>Τʤ<CEA4><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> URL <20>Ȥߤʤ<DFA4>"
|
||||
#define CMT_TSELF "target<65><74>̤<EFBFBD><CCA4><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD><EFBFBD>_self<6C><66><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD>"
|
||||
@@ -144,8 +146,6 @@ static int RC_table_size;
|
||||
#define CMT_ACCEPTENCODING "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ(Accept-Encoding:)"
|
||||
#define CMT_ACCEPTMEDIA "<22><><EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Accept:)"
|
||||
#define CMT_ACCEPTLANG "<22><><EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Accept-Language:)"
|
||||
#define CMT_DOCUMENTCODE "ʸ<><CAB8><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
#define CMT_SYSTEMCODE "<22><><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
#define CMT_MARK_ALL_PAGES "<22><><EFBFBD>ƤΥڡ<CEA5><DAA1><EFBFBD><EFBFBD><EFBFBD>URL<52><4C><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<F3A5AFA4><CBA4><EFBFBD>"
|
||||
#define CMT_WRAP "<22>ޤ<EFBFBD><DEA4>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>"
|
||||
#define CMT_VIEW_UNSEENOBJECTS "<22>طʲ<D8B7><CAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؤΥ<D8A4><CEA5><EFBFBD><F3A5AFA4><EFBFBD><EFBFBD><EFBFBD>"
|
||||
@@ -203,6 +203,30 @@ static int RC_table_size;
|
||||
#define CMT_MIGEMO_COMMAND "Migemo<6D><6F><EFBFBD>ޥ<EFBFBD><DEA5><EFBFBD>"
|
||||
#endif /* USE_MIGEMO */
|
||||
|
||||
#ifdef USE_M17N
|
||||
#define CMT_DISPLAY_CHARSET "ɽ<><C9BD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
#define CMT_DOCUMENT_CHARSET "ʸ<><CAB8><EFBFBD><EFBFBD>ɸ<EFBFBD><C9B8><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
#define CMT_AUTO_DETECT "ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD>ɤ߹<C9A4><DFB9><EFBFBD><DFBB><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤμ<C9A4>ưȽ<C6B0><C8BD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>"
|
||||
#define CMT_SYSTEM_CHARSET "<22><><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
#define CMT_FOLLOW_LOCALE "Locale(LC_CTYPE) <20>˽<EFBFBD><CBBD>äƥ<C3A4><C6A5><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD>"
|
||||
#define CMT_EXT_HALFDUMP "ɽ<><C9BD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD> halfdump <20>ν<EFBFBD><CEBD>Ϥ<EFBFBD><CFA4>Ԥ<EFBFBD>"
|
||||
#define CMT_USE_WIDE "ʣ<><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>"
|
||||
#define CMT_USE_COMBINING "<22><><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>"
|
||||
#define CMT_USE_LANGUAGE_TAG "Unicode <20>θ<EFBFBD><CEB8>쥿<EFBFBD><ECA5BF><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>"
|
||||
#define CMT_UCS_CONV "Unicode<64><65><EFBFBD>𤷤<EFBFBD><F0A4B7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>"
|
||||
#define CMT_PRE_CONV "ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD>ɤ߹<C9A4><DFB9><EFBFBD><DFBB><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD>"
|
||||
#define CMT_SEARCH_CONV "<22><><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD>"
|
||||
#define CMT_FIX_WIDTH_CONV "ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD>Ѵ<EFBFBD><D1B4>ʤ<F2A4B7A4>"
|
||||
#define CMT_USE_GB12345_MAP "GB 12345 <20><> Unicode <20>ޥåפ<C3A5> GB 2312 <20>Ѥ˻Ȥ<CBBB>"
|
||||
#define CMT_USE_JISX0201 "ISO-2022-JP <20><> JIS X 0201-Roman <20><><EFBFBD>Ȥ<EFBFBD>"
|
||||
#define CMT_USE_JISC6226 "ISO-2022-JP <20><> JIS C 6226:1978(<28><>JIS) <20><><EFBFBD>Ȥ<EFBFBD>"
|
||||
#define CMT_USE_JISX0201K "JIS X 0201-Katakana <20><><EFBFBD>Ȥ<EFBFBD>"
|
||||
#define CMT_USE_JISX0212 "JIS X 0212:1990(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD>Ȥ<EFBFBD>"
|
||||
#define CMT_USE_JISX0213 "JIS X 0213:2000(2000JIS) <20><><EFBFBD>Ȥ<EFBFBD>"
|
||||
#define CMT_STRICT_ISO2022 "<22><><EFBFBD>ʤ<EFBFBD> ISO-2022-JP/KR/CN <20><><EFBFBD>Ȥ<EFBFBD>"
|
||||
#define CMT_GB18030_AS_UCS "GB18030 <20><> 4<>Х<EFBFBD><D0A5><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD> Unicode <20>Ȥ<EFBFBD><C8A4>ư<EFBFBD><C6B0><EFBFBD>"
|
||||
#endif
|
||||
|
||||
#define CMT_KEYMAP_FILE "keymap<61>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>"
|
||||
|
||||
#else /* LANG != JA */
|
||||
@@ -210,13 +234,13 @@ static int RC_table_size;
|
||||
|
||||
#define CMT_HELPER "External Viewer Setup"
|
||||
#define CMT_TABSTOP "Tab width in characters"
|
||||
#define CMT_INDENT_INCR "Indent for HTML rendering"
|
||||
#define CMT_PIXEL_PER_CHAR "Number of pixels per character (4.0...32.0)"
|
||||
#define CMT_PIXEL_PER_LINE "Number of pixels per line (4.0...64.0)"
|
||||
#define CMT_PAGERLINE "Number of remembered lines when used as a pager"
|
||||
#define CMT_HISTORY "Use URL history"
|
||||
#define CMT_HISTSIZE "Number of remembered URL"
|
||||
#define CMT_SAVEHIST "Save URL history"
|
||||
/* #define CMT_KANJICODE "Display Kanji Code" */
|
||||
#define CMT_FRAME "Render frames automatically"
|
||||
#define CMT_ARGV_IS_URL "Treat argument without scheme as URL"
|
||||
#define CMT_TSELF "Use _self as default target"
|
||||
@@ -300,8 +324,6 @@ static int RC_table_size;
|
||||
#define CMT_ACCEPTENCODING "Accept-Encoding header"
|
||||
#define CMT_ACCEPTMEDIA "Accept header"
|
||||
#define CMT_ACCEPTLANG "Accept-Language header"
|
||||
/* #define CMT_DOCUMENTCODE "Document Charset" */
|
||||
/* #define CMT_SYSTEMCODE "System Kanji Code" */
|
||||
#define CMT_MARK_ALL_PAGES "Treat URL-like strings as links in all pages"
|
||||
#define CMT_WRAP "Wrap search"
|
||||
#define CMT_VIEW_UNSEENOBJECTS "Display unseen objects (e.g. bgimage tag)"
|
||||
@@ -358,6 +380,30 @@ static int RC_table_size;
|
||||
#define CMT_MIGEMO_COMMAND "Migemo command"
|
||||
#endif /* USE_MIGEMO */
|
||||
|
||||
#ifdef USE_M17N
|
||||
#define CMT_DISPLAY_CHARSET "Display charset"
|
||||
#define CMT_DOCUMENT_CHARSET "Default document charset"
|
||||
#define CMT_AUTO_DETECT "Automatic charset detect when loading"
|
||||
#define CMT_SYSTEM_CHARSET "System charset"
|
||||
#define CMT_FOLLOW_LOCALE "System charset follows locale(LC_CTYPE)"
|
||||
#define CMT_EXT_HALFDUMP "Output halfdump with display charset"
|
||||
#define CMT_USE_WIDE "Use multi column characters"
|
||||
#define CMT_USE_COMBINING "Use combining characters"
|
||||
#define CMT_USE_LANGUAGE_TAG "Use Unicode language tags"
|
||||
#define CMT_UCS_CONV "Charset conversion using Unicode map"
|
||||
#define CMT_PRE_CONV "Charset conversion when loading"
|
||||
#define CMT_SEARCH_CONV "Adjust search string for document charset"
|
||||
#define CMT_FIX_WIDTH_CONV "Fix character width when conversion"
|
||||
#define CMT_USE_GB12345_MAP "Use GB 12345 Unicode map instead of GB 2312's"
|
||||
#define CMT_USE_JISX0201 "Use JIS X 0201 Roman for ISO-2022-JP"
|
||||
#define CMT_USE_JISC6226 "Use JIS C 6226:1978 for ISO-2022-JP"
|
||||
#define CMT_USE_JISX0201K "Use JIS X 0201 Katakana"
|
||||
#define CMT_USE_JISX0212 "Use JIS X 0212:1990 (Supplemental Kanji)"
|
||||
#define CMT_USE_JISX0213 "Use JIS X 0213:2000 (2000JIS)"
|
||||
#define CMT_STRICT_ISO2022 "Strict ISO-2022-JP/KR/CN"
|
||||
#define CMT_GB18030_AS_UCS "Treat 4 bytes char. of GB18030 as Unicode"
|
||||
#endif
|
||||
|
||||
#define CMT_KEYMAP_FILE "keymap file"
|
||||
|
||||
#endif /* LANG != JA */
|
||||
@@ -365,6 +411,9 @@ static int RC_table_size;
|
||||
#define PI_TEXT 0
|
||||
#define PI_ONOFF 1
|
||||
#define PI_SEL_C 2
|
||||
#ifdef USE_M17N
|
||||
#define PI_CODE 3
|
||||
#endif
|
||||
|
||||
struct sel_c {
|
||||
int value;
|
||||
@@ -372,32 +421,6 @@ struct sel_c {
|
||||
char *text;
|
||||
};
|
||||
|
||||
#ifdef JP_CHARSET
|
||||
static struct sel_c kcodestr[] = {
|
||||
{CODE_EUC, "E", STR_EUC},
|
||||
{CODE_SJIS, "S", STR_SJIS},
|
||||
{CODE_JIS_j, "j", STR_JIS_j},
|
||||
{CODE_JIS_N, "N", STR_JIS_N},
|
||||
{CODE_JIS_m, "m", STR_JIS_m},
|
||||
{CODE_JIS_n, "n", STR_JIS_n},
|
||||
{0, NULL, NULL}
|
||||
};
|
||||
|
||||
static struct sel_c dcodestr[] = {
|
||||
{'\0', "0", "auto detect"},
|
||||
{CODE_EUC, "E", STR_EUC},
|
||||
{CODE_SJIS, "S", STR_SJIS},
|
||||
{CODE_INNER_EUC, "I", STR_INNER_EUC},
|
||||
{0, NULL, NULL}
|
||||
};
|
||||
|
||||
static struct sel_c scodestr[] = {
|
||||
{CODE_EUC, "E", STR_EUC},
|
||||
{CODE_SJIS, "S", STR_SJIS},
|
||||
{0, NULL, NULL}
|
||||
};
|
||||
#endif /* JP_CHARSET */
|
||||
|
||||
#ifdef USE_COLOR
|
||||
static struct sel_c colorstr[] = {
|
||||
#if LANG == JA
|
||||
@@ -451,6 +474,7 @@ static struct sel_c defaulturls[] = {
|
||||
#endif
|
||||
{0, NULL, NULL}
|
||||
};
|
||||
|
||||
#ifdef USE_MOUSE
|
||||
static struct sel_c wheelmode[] = {
|
||||
#if LANG == JA
|
||||
@@ -487,22 +511,28 @@ static struct sel_c badcookiestr[] = {
|
||||
};
|
||||
#endif /* USE_COOKIE */
|
||||
|
||||
#ifdef USE_M17N
|
||||
static wc_ces_list *display_charset_str = NULL;
|
||||
static wc_ces_list *document_charset_str = NULL;
|
||||
static wc_ces_list *system_charset_str = NULL;
|
||||
static struct sel_c auto_detect_str[] = {
|
||||
{N_S(WC_OPT_DETECT_OFF), "OFF"},
|
||||
{N_S(WC_OPT_DETECT_ISO_2022), "Only ISO 2022"},
|
||||
{N_S(WC_OPT_DETECT_ON), "ON"},
|
||||
{0, NULL, NULL}
|
||||
};
|
||||
#endif
|
||||
|
||||
struct param_ptr params1[] = {
|
||||
{"tabstop", P_NZINT, PI_TEXT, (void *)&Tabstop, CMT_TABSTOP, NULL},
|
||||
{"indent_incr", P_NZINT, PI_TEXT, (void *)&IndentIncr, CMT_INDENT_INCR,
|
||||
NULL},
|
||||
{"pixel_per_char", P_PIXELS, PI_TEXT, (void *)&pixel_per_char,
|
||||
CMT_PIXEL_PER_CHAR, NULL},
|
||||
#ifdef USE_IMAGE
|
||||
{"pixel_per_line", P_PIXELS, PI_TEXT, (void *)&pixel_per_line,
|
||||
CMT_PIXEL_PER_LINE, NULL},
|
||||
#endif
|
||||
#ifdef JP_CHARSET
|
||||
{"kanjicode", P_CODE, PI_SEL_C, (void *)&DisplayCode, CMT_KANJICODE,
|
||||
kcodestr},
|
||||
{"document_code", P_CODE, PI_SEL_C, (void *)&DocumentCode,
|
||||
CMT_DOCUMENTCODE, dcodestr},
|
||||
{"system_code", P_CODE, PI_SEL_C, (void *)&SystemCode, CMT_SYSTEMCODE,
|
||||
scodestr},
|
||||
#endif /* JP_CHARSET */
|
||||
{"frame", P_CHARINT, PI_ONOFF, (void *)&RenderFrame, CMT_FRAME, NULL},
|
||||
{"target_self", P_CHARINT, PI_ONOFF, (void *)&TargetSelf, CMT_TSELF, NULL},
|
||||
{"open_tab_blank", P_INT, PI_ONOFF, (void *)&open_tab_blank,
|
||||
@@ -527,10 +557,8 @@ struct param_ptr params1[] = {
|
||||
{"multicol", P_INT, PI_ONOFF, (void *)&multicolList, CMT_MULTICOL, NULL},
|
||||
{"alt_entity", P_CHARINT, PI_ONOFF, (void *)&UseAltEntity, CMT_ALT_ENTITY,
|
||||
NULL},
|
||||
#ifndef KANJI_SYMBOLS
|
||||
{"graphic_char", P_CHARINT, PI_ONOFF, (void *)&UseGraphicChar,
|
||||
CMT_GRAPHIC_CHAR, NULL},
|
||||
#endif
|
||||
{"fold_textarea", P_CHARINT, PI_ONOFF, (void *)&FoldTextarea,
|
||||
CMT_FOLD_TEXTAREA, NULL},
|
||||
{"display_ins_del", P_INT, PI_ONOFF, (void *)&displayInsDel,
|
||||
@@ -570,26 +598,27 @@ struct param_ptr params1[] = {
|
||||
struct param_ptr params2[] = {
|
||||
{"color", P_INT, PI_ONOFF, (void *)&useColor, CMT_COLOR, NULL},
|
||||
{"basic_color", P_COLOR, PI_SEL_C, (void *)&basic_color, CMT_B_COLOR,
|
||||
colorstr},
|
||||
(void *)colorstr},
|
||||
{"anchor_color", P_COLOR, PI_SEL_C, (void *)&anchor_color, CMT_A_COLOR,
|
||||
colorstr},
|
||||
(void *)colorstr},
|
||||
{"image_color", P_COLOR, PI_SEL_C, (void *)&image_color, CMT_I_COLOR,
|
||||
colorstr},
|
||||
(void *)colorstr},
|
||||
{"form_color", P_COLOR, PI_SEL_C, (void *)&form_color, CMT_F_COLOR,
|
||||
colorstr},
|
||||
(void *)colorstr},
|
||||
#ifdef USE_BG_COLOR
|
||||
{"mark_color", P_COLOR, PI_SEL_C, (void *)&mark_color, CMT_MARK_COLOR,
|
||||
colorstr},
|
||||
{"bg_color", P_COLOR, PI_SEL_C, (void *)&bg_color, CMT_BG_COLOR, colorstr},
|
||||
(void *)colorstr},
|
||||
{"bg_color", P_COLOR, PI_SEL_C, (void *)&bg_color, CMT_BG_COLOR,
|
||||
(void *)colorstr},
|
||||
#endif /* USE_BG_COLOR */
|
||||
{"active_style", P_INT, PI_ONOFF, (void *)&useActiveColor,
|
||||
CMT_ACTIVE_STYLE, NULL},
|
||||
{"active_color", P_COLOR, PI_SEL_C, (void *)&active_color, CMT_C_COLOR,
|
||||
colorstr},
|
||||
(void *)colorstr},
|
||||
{"visited_anchor", P_INT, PI_ONOFF, (void *)&useVisitedColor,
|
||||
CMT_VISITED_ANCHOR, NULL},
|
||||
{"visited_color", P_COLOR, PI_SEL_C, (void *)&visited_color, CMT_V_COLOR,
|
||||
colorstr},
|
||||
(void *)colorstr},
|
||||
{NULL, 0, 0, NULL, NULL, NULL},
|
||||
};
|
||||
#endif /* USE_COLOR */
|
||||
@@ -629,7 +658,7 @@ struct param_ptr params3[] = {
|
||||
{"reverse_mouse", P_INT, PI_ONOFF, (void *)&reverse_mouse,
|
||||
CMT_REVERSE_MOUSE, NULL},
|
||||
{"relative_wheel_scroll", P_INT, PI_SEL_C, (void *)&relative_wheel_scroll,
|
||||
CMT_RELATIVE_WHEEL_SCROLL, wheelmode},
|
||||
CMT_RELATIVE_WHEEL_SCROLL, (void *)wheelmode},
|
||||
{"relative_wheel_scroll_ratio", P_INT, PI_TEXT,
|
||||
(void *)&relative_wheel_scroll_ratio,
|
||||
CMT_RELATIVE_WHEEL_SCROLL_RATIO, NULL},
|
||||
@@ -728,7 +757,7 @@ struct param_ptr params8[] = {
|
||||
{"accept_cookie", P_INT, PI_ONOFF, (void *)&accept_cookie,
|
||||
CMT_ACCEPTCOOKIE, NULL},
|
||||
{"accept_bad_cookie", P_INT, PI_SEL_C, (void *)&accept_bad_cookie,
|
||||
CMT_ACCEPTBADCOOKIE, badcookiestr},
|
||||
CMT_ACCEPTBADCOOKIE, (void *)badcookiestr},
|
||||
{"cookie_reject_domains", P_STRING, PI_TEXT,
|
||||
(void *)&cookie_reject_domains, CMT_COOKIE_REJECT_DOMAINS, NULL},
|
||||
{"cookie_accept_domains", P_STRING, PI_TEXT,
|
||||
@@ -736,6 +765,7 @@ struct param_ptr params8[] = {
|
||||
{NULL, 0, 0, NULL, NULL, NULL},
|
||||
};
|
||||
#endif
|
||||
|
||||
struct param_ptr params9[] = {
|
||||
{"passwd_file", P_STRING, PI_TEXT, (void *)&passwd_file, CMT_PASSWDFILE,
|
||||
NULL},
|
||||
@@ -762,15 +792,14 @@ struct param_ptr params9[] = {
|
||||
{"retry_http", P_INT, PI_ONOFF, (void *)&retryAsHttp, CMT_RETRY_HTTP,
|
||||
NULL},
|
||||
{"default_url", P_INT, PI_SEL_C, (void *)&DefaultURLString,
|
||||
CMT_DEFAULT_URL,
|
||||
defaulturls},
|
||||
CMT_DEFAULT_URL, (void *)defaulturls},
|
||||
{"follow_redirection", P_INT, PI_TEXT, &FollowRedirection,
|
||||
CMT_FOLLOW_REDIRECTION, NULL},
|
||||
{"meta_refresh", P_CHARINT, PI_ONOFF, (void *)&MetaRefresh,
|
||||
CMT_META_REFRESH, NULL},
|
||||
#ifdef INET6
|
||||
{"dns_order", P_INT, PI_SEL_C, (void *)&DNS_order, CMT_DNS_ORDER,
|
||||
dnsorders},
|
||||
(void *)dnsorders},
|
||||
#endif /* INET6 */
|
||||
#ifdef USE_NNTP
|
||||
{"nntpserver", P_STRING, PI_TEXT, (void *)&NNTP_server, CMT_NNTP_SERVER,
|
||||
@@ -781,6 +810,60 @@ struct param_ptr params9[] = {
|
||||
{NULL, 0, 0, NULL, NULL, NULL},
|
||||
};
|
||||
|
||||
#ifdef USE_M17N
|
||||
struct param_ptr params10[] = {
|
||||
{"display_charset", P_CODE, PI_CODE, (void *)&DisplayCharset,
|
||||
CMT_DISPLAY_CHARSET, (void *)&display_charset_str},
|
||||
{"document_charset", P_CODE, PI_CODE, (void *)&DocumentCharset,
|
||||
CMT_DOCUMENT_CHARSET, (void *)&document_charset_str},
|
||||
{"auto_detect", P_CHARINT, PI_SEL_C, (void *)&WcOption.auto_detect,
|
||||
CMT_AUTO_DETECT, (void *)auto_detect_str},
|
||||
{"system_charset", P_CODE, PI_CODE, (void *)&SystemCharset,
|
||||
CMT_SYSTEM_CHARSET, (void *)&system_charset_str},
|
||||
{"follow_locale", P_CHARINT, PI_ONOFF, (void *)&FollowLocale,
|
||||
CMT_FOLLOW_LOCALE, NULL},
|
||||
{"ext_halfdump", P_CHARINT, PI_ONOFF, (void *)&ExtHalfdump,
|
||||
CMT_EXT_HALFDUMP, NULL},
|
||||
{"use_wide", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_wide, CMT_USE_WIDE,
|
||||
NULL},
|
||||
{"use_combining", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_combining,
|
||||
CMT_USE_COMBINING, NULL},
|
||||
#ifdef USE_UNICODE
|
||||
{"use_language_tag", P_CHARINT, PI_ONOFF,
|
||||
(void *)&WcOption.use_language_tag, CMT_USE_LANGUAGE_TAG, NULL},
|
||||
{"ucs_conv", P_CHARINT, PI_ONOFF, (void *)&WcOption.ucs_conv, CMT_UCS_CONV,
|
||||
NULL},
|
||||
#endif
|
||||
{"pre_conv", P_CHARINT, PI_ONOFF, (void *)&WcOption.pre_conv, CMT_PRE_CONV,
|
||||
NULL},
|
||||
{"search_conv", P_CHARINT, PI_ONOFF, (void *)&SearchConv, CMT_SEARCH_CONV,
|
||||
NULL},
|
||||
{"fix_width_conv", P_CHARINT, PI_ONOFF, (void *)&WcOption.fix_width_conv,
|
||||
CMT_FIX_WIDTH_CONV, NULL},
|
||||
#ifdef USE_UNICODE
|
||||
{"use_gb12345_map", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_gb12345_map,
|
||||
CMT_USE_GB12345_MAP, NULL},
|
||||
#endif
|
||||
{"use_jisx0201", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_jisx0201,
|
||||
CMT_USE_JISX0201, NULL},
|
||||
{"use_jisc6226", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_jisc6226,
|
||||
CMT_USE_JISC6226, NULL},
|
||||
{"use_jisx0201k", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_jisx0201k,
|
||||
CMT_USE_JISX0201K, NULL},
|
||||
{"use_jisx0212", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_jisx0212,
|
||||
CMT_USE_JISX0212, NULL},
|
||||
{"use_jisx0213", P_CHARINT, PI_ONOFF, (void *)&WcOption.use_jisx0213,
|
||||
CMT_USE_JISX0213, NULL},
|
||||
{"strict_iso2022", P_CHARINT, PI_ONOFF, (void *)&WcOption.strict_iso2022,
|
||||
CMT_STRICT_ISO2022, NULL},
|
||||
#ifdef USE_UNICODE
|
||||
{"gb18030_as_ucs", P_CHARINT, PI_ONOFF, (void *)&WcOption.gb18030_as_ucs,
|
||||
CMT_GB18030_AS_UCS, NULL},
|
||||
#endif
|
||||
{NULL, 0, 0, NULL, NULL, NULL},
|
||||
};
|
||||
#endif
|
||||
|
||||
struct param_section sections[] = {
|
||||
#if LANG == JA
|
||||
{"ɽ<EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD>", params1},
|
||||
@@ -798,6 +881,10 @@ struct param_section sections[] = {
|
||||
#ifdef USE_COOKIE
|
||||
{"<EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", params8},
|
||||
#endif
|
||||
#ifdef USE_M17N
|
||||
{"ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", params10},
|
||||
#endif
|
||||
|
||||
#else /* LANG != JA */
|
||||
{"Display Settings", params1},
|
||||
#ifdef USE_COLOR
|
||||
@@ -814,6 +901,9 @@ struct param_section sections[] = {
|
||||
#ifdef USE_COOKIE
|
||||
{"Cookie Settings", params8},
|
||||
#endif
|
||||
#ifdef USE_M17N
|
||||
{"Charset Settings", params10},
|
||||
#endif
|
||||
#endif /* LANG != JA */
|
||||
{NULL, NULL}
|
||||
};
|
||||
@@ -919,13 +1009,13 @@ show_params(FILE * fp)
|
||||
|
||||
fputs("\nconfiguration parameters\n", fp);
|
||||
for (j = 0; sections[j].name != NULL; j++) {
|
||||
#ifdef JP_CHARSET
|
||||
if (InnerCode != DisplayCode)
|
||||
cmt = conv(sections[j].name, InnerCode, DisplayCode)->ptr;
|
||||
#if LANG == JA
|
||||
if (!OptionEncode)
|
||||
cmt = wc_conv(sections[j].name, OptionCharset, InnerCharset)->ptr;
|
||||
else
|
||||
#endif /* JP_CHARSET */
|
||||
#endif
|
||||
cmt = sections[j].name;
|
||||
fprintf(fp, " section[%d]: %s\n", j, cmt);
|
||||
fprintf(fp, " section[%d]: %s\n", j, conv_to_system(cmt));
|
||||
i = 0;
|
||||
while (sections[j].params[i].name) {
|
||||
switch (sections[j].params[i].type) {
|
||||
@@ -952,9 +1042,9 @@ show_params(FILE * fp)
|
||||
t = "color";
|
||||
break;
|
||||
#endif
|
||||
#ifdef JP_CHARSET
|
||||
#ifdef USE_M17N
|
||||
case P_CODE:
|
||||
t = "E|S|j|N|m|n";
|
||||
t = "charset";
|
||||
break;
|
||||
#endif
|
||||
case P_PIXELS:
|
||||
@@ -964,18 +1054,19 @@ show_params(FILE * fp)
|
||||
t = "percent";
|
||||
break;
|
||||
}
|
||||
#ifdef JP_CHARSET
|
||||
if (InnerCode != DisplayCode)
|
||||
cmt = conv(sections[j].params[i].comment,
|
||||
InnerCode, DisplayCode)->ptr;
|
||||
#if LANG == JA
|
||||
if (!OptionEncode)
|
||||
cmt = wc_conv(sections[j].params[i].comment,
|
||||
OptionCharset, InnerCharset)->ptr;
|
||||
else
|
||||
#endif /* JP_CHARSET */
|
||||
#endif
|
||||
cmt = sections[j].params[i].comment;
|
||||
l = 30 - (strlen(sections[j].params[i].name) + strlen(t));
|
||||
if (l < 0)
|
||||
l = 1;
|
||||
fprintf(fp, " -o %s=<%s>%*s%s\n",
|
||||
sections[j].params[i].name, t, l, " ", cmt);
|
||||
sections[j].params[i].name, t, l, " ",
|
||||
conv_to_system(cmt));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
@@ -1050,64 +1141,6 @@ str_to_color(char *value)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef JP_CHARSET
|
||||
char
|
||||
str_to_code(char *str)
|
||||
{
|
||||
if (str == NULL)
|
||||
return CODE_ASCII;
|
||||
switch (*str) {
|
||||
case CODE_ASCII:
|
||||
return CODE_ASCII;
|
||||
case CODE_EUC:
|
||||
case 'e':
|
||||
return CODE_EUC;
|
||||
case CODE_SJIS:
|
||||
case 's':
|
||||
return CODE_SJIS;
|
||||
case CODE_JIS_n:
|
||||
return CODE_JIS_n;
|
||||
case CODE_JIS_m:
|
||||
return CODE_JIS_m;
|
||||
case CODE_JIS_N:
|
||||
return CODE_JIS_N;
|
||||
case CODE_JIS_j:
|
||||
return CODE_JIS_j;
|
||||
case CODE_JIS_J:
|
||||
return CODE_JIS_J;
|
||||
case CODE_INNER_EUC:
|
||||
return CODE_INNER_EUC;
|
||||
}
|
||||
return CODE_ASCII;
|
||||
}
|
||||
|
||||
char *
|
||||
code_to_str(char code)
|
||||
{
|
||||
switch (code) {
|
||||
case CODE_ASCII:
|
||||
return STR_ASCII;
|
||||
case CODE_EUC:
|
||||
return STR_EUC;
|
||||
case CODE_SJIS:
|
||||
return STR_SJIS;
|
||||
case CODE_JIS_n:
|
||||
return STR_JIS_n;
|
||||
case CODE_JIS_m:
|
||||
return STR_JIS_m;
|
||||
case CODE_JIS_N:
|
||||
return STR_JIS_N;
|
||||
case CODE_JIS_j:
|
||||
return STR_JIS_j;
|
||||
case CODE_JIS_J:
|
||||
return STR_JIS_J;
|
||||
case CODE_INNER_EUC:
|
||||
return STR_INNER_EUC;
|
||||
}
|
||||
return "unknown";
|
||||
}
|
||||
#endif
|
||||
|
||||
static int
|
||||
set_param(char *name, char *value)
|
||||
{
|
||||
@@ -1157,9 +1190,10 @@ set_param(char *name, char *value)
|
||||
*(int *)p->varptr = str_to_color(value);
|
||||
break;
|
||||
#endif
|
||||
#ifdef JP_CHARSET
|
||||
#ifdef USE_M17N
|
||||
case P_CODE:
|
||||
*(char *)p->varptr = str_to_code(value);
|
||||
*(wc_ces *) p->varptr =
|
||||
wc_guess_charset_short(value, *(wc_ces *) p->varptr);
|
||||
break;
|
||||
#endif
|
||||
case P_PIXELS:
|
||||
@@ -1258,7 +1292,7 @@ parse_proxy()
|
||||
#ifdef USE_GOPHER
|
||||
if (non_null(GOPHER_proxy))
|
||||
parseURL(GOPHER_proxy, &GOPHER_proxy_parsed, NULL);
|
||||
#endif /* USE_GOPHER */
|
||||
#endif
|
||||
if (non_null(FTP_proxy))
|
||||
parseURL(FTP_proxy, &FTP_proxy_parsed, NULL);
|
||||
if (non_null(NO_proxy))
|
||||
@@ -1361,6 +1395,12 @@ init_rc(void)
|
||||
if (i > 1 && rc_dir[i - 1] == '/')
|
||||
rc_dir[i - 1] = '\0';
|
||||
|
||||
#ifdef USE_M17N
|
||||
display_charset_str = wc_get_ces_list();
|
||||
document_charset_str = display_charset_str;
|
||||
system_charset_str = display_charset_str;
|
||||
#endif
|
||||
|
||||
if (stat(rc_dir, &st) < 0) {
|
||||
if (errno == ENOENT) { /* no directory */
|
||||
if (do_mkdir(rc_dir, 0700) < 0) {
|
||||
@@ -1428,6 +1468,8 @@ static char optionpanel_src1[] =
|
||||
</form><br>\
|
||||
<form method=internal action=option>";
|
||||
|
||||
static Str optionpanel_str = NULL;
|
||||
|
||||
static Str
|
||||
to_str(struct param_ptr *p)
|
||||
{
|
||||
@@ -1435,6 +1477,10 @@ to_str(struct param_ptr *p)
|
||||
case P_INT:
|
||||
#ifdef USE_COLOR
|
||||
case P_COLOR:
|
||||
#endif
|
||||
#ifdef USE_M17N
|
||||
case P_CODE:
|
||||
return Sprintf("%d", (int)(*(wc_ces *)p->varptr));
|
||||
#endif
|
||||
case P_NZINT:
|
||||
return Sprintf("%d", *(int *)p->varptr);
|
||||
@@ -1443,15 +1489,13 @@ to_str(struct param_ptr *p)
|
||||
case P_CHARINT:
|
||||
return Sprintf("%d", *(char *)p->varptr);
|
||||
case P_CHAR:
|
||||
#ifdef JP_CHARSET
|
||||
case P_CODE:
|
||||
#endif
|
||||
return Sprintf("%c", *(char *)p->varptr);
|
||||
case P_STRING:
|
||||
#if defined(USE_SSL) && defined(USE_SSL_VERIFY)
|
||||
case P_SSLPATH:
|
||||
#endif
|
||||
return Strnew_charp(*(char **)p->varptr);
|
||||
/* SystemCharset -> InnerCharset */
|
||||
return Strnew_charp(conv_from_system(*(char **)p->varptr));
|
||||
case P_PIXELS:
|
||||
case P_SCALE:
|
||||
return Sprintf("%g", *(double *)p->varptr);
|
||||
@@ -1463,12 +1507,36 @@ to_str(struct param_ptr *p)
|
||||
Buffer *
|
||||
load_option_panel(void)
|
||||
{
|
||||
Str src = Sprintf(optionpanel_src1, html_quote(w3m_version),
|
||||
html_quote(localCookie()->ptr), CMT_HELPER);
|
||||
Str str;
|
||||
struct param_ptr *p;
|
||||
struct sel_c *s;
|
||||
#ifdef USE_M17N
|
||||
wc_ces_list *c;
|
||||
#endif
|
||||
int x, i;
|
||||
Str tmp;
|
||||
Buffer *buf;
|
||||
|
||||
if (optionpanel_str == NULL)
|
||||
optionpanel_str = Sprintf(optionpanel_src1, w3m_version,
|
||||
html_quote(Local_cookie->ptr), CMT_HELPER);
|
||||
#ifdef LANG == JA
|
||||
if (!OptionEncode) {
|
||||
optionpanel_str =
|
||||
wc_Str_conv(optionpanel_str, OptionCharset, InnerCharset);
|
||||
for (i = 0; sections[i].name != NULL; i++) {
|
||||
sections[i].name =
|
||||
wc_conv(sections[i].name, OptionCharset, InnerCharset)->ptr;
|
||||
for (p = sections[i].params; p->name; p++)
|
||||
p->comment =
|
||||
wc_conv(p->comment, OptionCharset, InnerCharset)->ptr;
|
||||
}
|
||||
for (s = colorstr; s->text; s++)
|
||||
s->text = wc_conv(s->text, OptionCharset, InnerCharset)->ptr;
|
||||
OptionEncode = TRUE;
|
||||
}
|
||||
#endif
|
||||
src = Strdup(optionpanel_str);
|
||||
|
||||
Strcat_charp(src, "<table><tr><td>");
|
||||
for (i = 0; sections[i].name != NULL; i++) {
|
||||
@@ -1499,25 +1567,32 @@ load_option_panel(void)
|
||||
case PI_SEL_C:
|
||||
tmp = to_str(p);
|
||||
Strcat_m_charp(src, "<select name=", p->name, ">", NULL);
|
||||
for (s = p->select; s->text != NULL; s++) {
|
||||
for (s = (struct sel_c *)p->select; s->text != NULL; s++) {
|
||||
Strcat_charp(src, "<option value=");
|
||||
Strcat(src, Sprintf("%s\n", s->cvalue));
|
||||
if ((p->type != P_CHAR &&
|
||||
#ifdef JP_CHARSET
|
||||
p->type != P_CODE &&
|
||||
#endif
|
||||
s->value == atoi(tmp->ptr)) || ((p->type == P_CHAR
|
||||
#ifdef JP_CHARSET
|
||||
|| p->type == P_CODE
|
||||
#endif
|
||||
)
|
||||
&& (char)(s->value) ==
|
||||
*(tmp->ptr)))
|
||||
if ((p->type != P_CHAR && s->value == atoi(tmp->ptr)) ||
|
||||
(p->type == P_CHAR && (char)s->value == *(tmp->ptr)))
|
||||
Strcat_charp(src, " selected");
|
||||
Strcat_char(src, '>');
|
||||
Strcat_charp(src, s->text);
|
||||
}
|
||||
Strcat_charp(src, "</select>");
|
||||
break;
|
||||
#ifdef USE_M17N
|
||||
case PI_CODE:
|
||||
tmp = to_str(p);
|
||||
Strcat_m_charp(src, "<select name=", p->name, ">", NULL);
|
||||
for (c = *(wc_ces_list **)p->select; c->desc != NULL; c++) {
|
||||
Strcat_charp(src, "<option value=");
|
||||
Strcat(src, Sprintf("%s\n", c->name));
|
||||
if (c->id == atoi(tmp->ptr))
|
||||
Strcat_charp(src, " selected");
|
||||
Strcat_char(src, '>');
|
||||
Strcat_charp(src, c->desc);
|
||||
}
|
||||
Strcat_charp(src, "</select>");
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
Strcat_charp(src, "</td></tr>\n");
|
||||
p++;
|
||||
@@ -1527,13 +1602,23 @@ load_option_panel(void)
|
||||
Strcat_charp(src, "</table><hr width=50%>");
|
||||
}
|
||||
Strcat_charp(src, "</table></form></body></html>");
|
||||
return loadHTMLString(src);
|
||||
buf = loadHTMLString(src);
|
||||
#ifdef USE_M17N
|
||||
if (buf)
|
||||
#if LANG == JA
|
||||
buf->document_charset = OptionCharset;
|
||||
#else
|
||||
buf->document_charset = SystemCharset;
|
||||
#endif
|
||||
#endif
|
||||
return buf;
|
||||
}
|
||||
|
||||
void
|
||||
panel_set_option(struct parsed_tagarg *arg)
|
||||
{
|
||||
FILE *f = NULL;
|
||||
char *p;
|
||||
|
||||
if (no_rc_dir) {
|
||||
disp_message("There's no ~/.w3m directory... config not saved", FALSE);
|
||||
@@ -1545,9 +1630,13 @@ panel_set_option(struct parsed_tagarg *arg)
|
||||
}
|
||||
}
|
||||
while (arg) {
|
||||
if (set_param(arg->arg, arg->value)) {
|
||||
if (f)
|
||||
fprintf(f, "%s %s\n", arg->arg, arg->value);
|
||||
/* InnerCharset -> SystemCharset */
|
||||
if (arg->value) {
|
||||
p = conv_to_system(arg->value);
|
||||
if (set_param(arg->arg, p)) {
|
||||
if (f)
|
||||
fprintf(f, "%s %s\n", arg->arg, p);
|
||||
}
|
||||
}
|
||||
arg = arg->next;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user