*Article*
★
w3m-m17n の Unicode mapping table
w3m-m17n の Unicode の mapping は Microsoft Windows の変換テーブルなのか。
Mule-UCS のデフォルトは Unicode Consortium のに従っているから、
いくつかの文字が元に戻らないのね。
それも、変換テーブルの違いのためではないでしょうか。
(un-supple-enable 'windows) すると、"ネットワ−ク" と decode され、
encode の結果も変わらないようです。
*
URL メモ
ふと、Emacs で CP1252 の coding-system を作成してみる。
make-coding-system で translation-table-for-* を指定すれば済むかと
思ったけど、うまくいかない。coding.c:decode_coding_iso2022 を
眺めてみたところ、eight-bit-control は問答無用で出力してしまい、
translation-table-for-decode は効かない模様…。
ってことで、mac-roman を参考に CCL にて実装。
*
URL メモ
★
RIGHT SINGLE QUOTATION MARK
cp1252 で遊んでいて気付いたのだが、
「’」を UCS に変換してから、decode すると (greek-iso8859-7 34) になるのは良いとして、
(make-char 'greek-iso8859-7 34) が Meadow では
GREEK CAPITAL LETTER ALPHA WITH TONOS (U+0386) で表示されてしまう。
ISO8859-7 と CP1253 の違いのためかな。BDF フォントを使わずに
どうにかできないものだろうか。
★
cp1253 font encoder
encode-cp1251-font を参考に CP1253 の font encoder を定義してみたところ、
期待通りの表示となった。
(define-ccl-program
ccl-encode-cp1253-font
'(0
((r1 = r1
[ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ;; 00-0F
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ;; 10-1F
0 145 146 163 0 0 166 167 168 169 0 171 172 173 0 151 ;; 20-2F
176 177 178 179 180 161 162 183 184 185 186 187 188 189 190 191 ;; 30-3F
192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 ;; 40-4F
208 209 0 211 212 213 214 215 216 217 218 219 220 221 222 223 ;; 50-5F
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 ;; 60-6F
240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 0 ;; 70-7F
]))))
(w32-regist-font-encoder
'encode-cp1253-font 'ccl-encode-cp1253-font 1)
(w32-add-font
"fixed-14"
'((strict-spec
[...]
((:char-spec greek-iso8859-7 :height any)
(w32-logfont "Courier New" 0 -12 400 0 nil nil nil 161 1 3 49)
((encoding . encode-cp1253-font)))
)))
★
pixel vs point
Windows でピクセル数からポイント数を求めるには、0.75 倍すればよいようだ。
正確な計算は以下のような感じ?
((lambda (pixel)
(let ((device-resolution 96.0)
(point-per-inch 72.0))
(/ pixel (/ device-resolution point-per-inch))))
16.0)
=> 12.0
★
CP932 on Meadow
この記事のはしご高が Meadow で表示できずに悲しかったので、
ムリヤリ表示できるようにしてみた。
CP932 を Emacs で表現するにあたり、基本的には Shift_JIS として処理すれば
よいけど、問題となるのは IBM 拡張文字 (115区〜119区)。
ここは Shift_JIS として decode したら JIS X 0208 に入らないので、
85区〜88区と93区に埋め込んでみた(^^;
でもって、font の encoding に ari-cp932-font-encoder を指定することで、
表示する時に CP932 に戻すと。
(require 'ari-cp932)
(w32-add-font
"fixed-14-ari"
'((spec
[...]
((:char-spec japanese-jisx0208 :height any)
strict
(w32-logfont "MS ゴシック" 0 -14 400 0 nil nil nil 128 1 3 49)
((encoding . ari-cp932-font-encoder)))
((:char-spec japanese-jisx0208 :height any :weight bold)
strict
(w32-logfont "MS ゴシック" 0 -14 700 0 nil nil nil 128 1 3 49)
((encoding . ari-cp932-font-encoder) (spacing . -1)))
[...]
)))
ワラタ。
valid-codes を設定して、ゴニョゴニョしたら autodetect できるようになった
気がする。
(when (require 'ari-cp932 nil t)
(define-coding-system-alias 'cp932 'ari-cp932)
(set-clipboard-coding-system 'ari-cp932-dos)
;; for auto-detect
(setq coding-category-ccl 'ari-cp932)
(set-coding-priority
(progn
(delq 'coding-category-ccl coding-category-list)
(let ((e (memq 'coding-category-raw-text coding-category-list)))
(setcar e 'coding-category-ccl)
(setcdr e (cons 'coding-category-raw-text (cdr e))))
coding-category-list)))
とりあえずメモ。
From: David Hansen <usenetjunk.nospam at gmx.net>
Subject: Shimbun for heise online
Newsgroups: gnu.emacs.sources
Date: Sat, 10 Apr 2004 03:38:15 +0200
Message-ID: <87fzbczk6w.fsf@robotron.ath.cx>
Hi,
i wrote a shimbun to read the news on the popular German
news site Heise Online.
The code is still experimental and only tested with current
CVS versions of GNU emacs, gnus and emacs-w3m.
Supported are the newsticker
<http://www.heise.de/newsticker/>
and the online magazine telepolis
<http://www.heise.de/tp/>
-- David
★
cp932 on emacs-unicode-2
ふと、emacs-unicode-2 の cp932 を試してみた。
(encode-coding-string (decode-coding-string "\372J" 'cp932) 'cp932)
=> "\207T"
IBM 拡張文字が NEC 特殊文字に変わってしまうようだ。
やっぱり重複符号化されている文字は、そのまま保存されるとは限らないか。
*
URL メモ
★
今日の散財
★
PC
小型、5inch * 2 + 3.5inch * 2〜3, i865 って条件で軽く検索してみる。
ショップブランドではあてはまるものは見当たらなかったので、ベアボーンかな。
ばらで買うならケースは
UACC-G2B/250SLT(W150 x H330 x L390)
なんかが良さそう。
★
URL メモ
★
今日の散財
ふと、GNU Emacs で cp125x を使った時に eight-bit-control の領域も
decode されるようにしようと思い立ち作成。
以前作った cp1252.elと同様に、eight-bit-control の領域は Unicode で表現している。
しかし、作ったはいいけど私には使うあてが無い(^^;
以上、12 日分です。