1 ;; -*- coding: iso-2022-jp-3 -*-
3 ;;; --- Some data and utility for JIS X 0213
5 ;; Copyright (C) 2000 KAWABATA, Taichi <batta@beige.ocn.ne.jp>
7 ;; Keywords: Tamago, egg, multilingual, JIS X 0213
11 ;;
\e$(OITK~!'
\e(B translate-string
\e$(O4X?t$,$"$l$P!"$3$s$J
\e(BCCL
\e$(O$OITMW$@$C$?!D
\e(B
13 (define-ccl-program jisx0213-to-jisx0208
16 (read-multibyte-character r0 r1)
17 (translate-character jisx0213-to-jisx0208/0212 r0 r1)
18 (write-multibyte-character r0 r1)
21 (define-ccl-program jisx0208-to-jisx0213
24 (read-multibyte-character r0 r1)
25 (translate-character jisx0208-to-jisx0213 r0 r1)
26 (write-multibyte-character r0 r1)
29 (defun jisx0213-to-jisx0208-string (string)
30 (ccl-execute-on-string 'jisx0213-to-jisx0208
31 (make-vector 9 nil) string))
33 (defun jisx0208-to-jisx0213-string (string)
34 (ccl-execute-on-string 'jisx0208-to-jisx0213
35 (make-vector 9 nil) string))
37 (defun make-jisx0213-char-list (from to)
38 (setq from (string-to-char
39 (jisx0208-to-jisx0213-string
40 (char-to-string from))))
41 (setq to (string-to-char
42 (jisx0208-to-jisx0213-string
43 (char-to-string to))))
45 (let ((split (split-char x)))
46 (setcar split 'japanese-jisx0213-1)
47 (apply 'make-char split)))
48 (make-chars-list from to)))
50 ;; JIS X 0213
\e$(OIUB0=q
\e(B 4
\e$(O$K4p$E$/9g@.2DG=$JJ8;z72
\e(B
52 (defvar jisx0213-combining-chars
53 `(?
\e$(O+R
\e(B ?
\e$(O+W
\e(B
54 ,@(make-jisx0213-char-list ?
\e$(O+Y
\e(B?
\e$(O+_
\e(B)
55 ,@(make-jisx0213-char-list ?
\e$(O+g
\e(B?
\e$(O+~
\e(B)))