[xyzzy:08328] Re: ( Lisp 勉強法(文字コードを使用して文字テーブル(?))
- Subject: [xyzzy:08328] Re: ( Lisp 勉強法(文字コードを使用して文字テーブル(?))
- From: chiyu <ma11092c@xxxxxxxxxxxxxxxxx>
こんばんわ、chiyu@ふくおか、といいます。
> これをJIS X 0208(日本語JIS 2byteコード)でするには、
> my-insert-char-tableの部分をもうちょっと
> 考えてループを回さないといけないです。
いきあたりばったりに考えてみました。
ただし、EUCコードになります。
Shift-JISの番号で出力させるには、
もっといろいろと考えないといけないみたいです。
(これも、今後の課題、ということで。)
(defun my-insert-char-table-2 (fn)
(save-excursion
(do ((x #xa1a0 (+ x #x10)))
((>= x #xffa0) t)
(insert (format nil "~4,'0x: " x))
(dotimes (y #x10)
(if (= (mod (+ x y) #x100) #xa0)
(insert " ")
(if (= (mod (+ x y) #x100) #xff)
(progn
(insert " ")
(setq x (+ x #xa0)))
(insert (funcall fn (+ x y))))))
(insert #\LFD))))
(defun my-insert-jisx0208-char-table ()
(interactive)
(my-insert-char-table-2 #'my-code-jisx0208-char))
(defun my-code-jisx0208-char (code)
(iso-code-char code :jisx0208))
(defun my-insert-ks-char-table ()
(interactive)
(my-insert-char-table-2 #'my-code-ks-char))
(defun my-code-ks-char (code)
(iso-code-char code :ksc5601))