[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

symbol width



emacs-w3m では,文字コードの変換による意図しない字形の変化を極力避ける
ため,「表示しようとしているページの文字コードそのままで,halfdump を
行う」ようにする変更を計画中です.例えば,euc-jp のページであれば,

    w3m -T text/html -halfdump -o ext_halfdump=1 -I EUC-JP -O EUC-JP

とし,utf-8 のページであれば,

    w3m -T text/html -halfdump -o ext_halfdump=1 -I UTF-8 -O UTF-8

とするということです.

現在の w3m では,<li> や <table> をレンダリングしたときに使われる記号
の文字幅は,出力用文字コードに応じて決められているので,前者の場合は全
角幅の記号が用いられ,後者の場合は半角幅の記号が使われることになります.

ページによって用いられる記号がころころ変化するのは見映えが良くないので,
添付のパッチのように,記号の文字幅を別に指定できるようにして頂けると有
難いのですが,どうでしょうか.宜しくご検討をお願いします.

;; なお,po/ 配下のメッセージファイルの編集の仕方が理解できなかったた
;; め,添付のパッチはメッセージが gettextize されていません.どなたか,
;; gettextize する方法を教えていただけないでしょうか.

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )

Index: file.c
===================================================================
RCS file: /cvsroot/w3m/w3m/file.c,v
retrieving revision 1.235
diff -u -r1.235 file.c
--- file.c	16 Apr 2004 18:47:19 -0000	1.235
+++ file.c	24 Apr 2004 01:36:33 -0000
@@ -6506,9 +6506,13 @@
 	symbol_width = symbol_width0 = 1;
     }
     else {
-	symbol_width0 = 0;
-	get_symbol(DisplayCharset, &symbol_width0);
-	symbol_width = WcOption.use_wide ? symbol_width0 : 1;
+	if (HalfdumpSymbolWidth) {
+	    symbol_width = symbol_width0 = HalfdumpSymbolWidth;
+	} else {
+	    symbol_width0 = 0;
+	    get_symbol(DisplayCharset, &symbol_width0);
+	    symbol_width = WcOption.use_wide ? symbol_width0 : 1;
+	}
     }
 #else
     symbol_width = symbol_width0 = 1;
Index: fm.h
===================================================================
RCS file: /cvsroot/w3m/w3m/fm.h,v
retrieving revision 1.125
diff -u -r1.125 fm.h
--- fm.h	16 Apr 2004 18:47:19 -0000	1.125
+++ fm.h	24 Apr 2004 01:36:33 -0000
@@ -1010,6 +1010,7 @@
 global wc_ces DocumentCharset init(DOCUMENT_CHARSET);
 global wc_ces SystemCharset init(SYSTEM_CHARSET);
 global char ExtHalfdump init(FALSE);
+global int HalfdumpSymbolWidth init(0);
 global char FollowLocale init(TRUE);
 global char UseContentCharset init(TRUE);
 global char SearchConv init(TRUE);
Index: rc.c
===================================================================
RCS file: /cvsroot/w3m/w3m/rc.c,v
retrieving revision 1.96
diff -u -r1.96 rc.c
--- rc.c	22 Apr 2004 16:34:08 -0000	1.96
+++ rc.c	24 Apr 2004 01:36:33 -0000
@@ -622,6 +622,8 @@
      CMT_FOLLOW_LOCALE, NULL},
     {"ext_halfdump", P_CHARINT, PI_ONOFF, (void *)&ExtHalfdump,
      CMT_EXT_HALFDUMP, NULL},
+    {"symbol_width", P_INT, PI_TEXT, (void *)&HalfdumpSymbolWidth,
+     "Width of half-dumped symbols", 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,