1 : |
ktanaka |
1.1 |
;; --------- ;; |
2 : |
|
|
;; han2zen.l ;; |
3 : |
|
|
;; --------- ;; |
4 : |
|
|
|
5 : |
|
|
(defun hankaku->zenkaku-sub (code) |
6 : |
|
|
(setq code (+ code code)) |
7 : |
|
|
(substring |
8 : |
|
|
"¡¡¡ª¡É¡ô¡ð¡ó¡õ¡Ç¡Ê¡Ë¡ö¡Ü¡¤¡Ý¡¥¡¿£°£±£²£³£´£µ£¶£·£¸£¹¡§¡¨¡ã¡á¡ä¡©¡÷£Á£Â£Ã£Ä£Å£Æ£Ç£È£É£Ê£Ë£Ì£Í£Î£Ï£Ð£Ñ£Ò£Ó£Ô£Õ£Ö£×£Ø£Ù£Ú¡Î¡ï¡Ï¡°¡²£à£á£â£ã£ä£å£æ£ç£è£é£ê£ë£ì£í£î£ï£ð£ñ£ò£ó£ô£õ£ö£÷£ø£ù£ú¡Ð¡Ã¡Ñ¡±" |
9 : |
|
|
(- code 64) |
10 : |
|
|
(- code 62))) |
11 : |
|
|
|
12 : |
|
|
(defun zenkaku-string (str) |
13 : |
|
|
(let ((len (string-length str)) |
14 : |
|
|
(ret "")) |
15 : |
|
|
(do ((i 0 (1+ i))) |
16 : |
|
|
((>= i len) ret) |
17 : |
|
|
(setq ret |
18 : |
|
|
(string-append ret |
19 : |
|
|
(cond ((= (logand (sref str i) 128) 128) |
20 : |
|
|
(setq i (1+ i)) |
21 : |
|
|
(substring str (1- i) (1+ i))) |
22 : |
|
|
(t |
23 : |
|
|
(hankaku->zenkaku-sub (sref str i))))))))) |
24 : |
|
|
|
25 : |
|
|
(defun num->string (num) |
26 : |
|
|
(lets ((string (make-string 256)) |
27 : |
|
|
(stream (string-stream string)) |
28 : |
|
|
(standard-output (outopen stream))) |
29 : |
|
|
(princ num) |
30 : |
|
|
(substring string 0 (string-stream-index standard-output)))) |