[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: [Q] 半角カナと全角カナの相互変換



こんにちは。赤羽伸之といいます。

> 磯と申します。
(ちょきちょき)
> char-component、make-character は、emacs20.x ではこういう関数で代替で
> きる、という情報でもありがたいです。

○char-componentについて。
(char-component char 0) => (charset-id (nth 0 (split-char char)))
(char-component char 1) => (+ (nth 1 (split-char char)) 128)
(char-component char 2) => (+ (nth 2 (split-char char)) 128)
でどうでしょうか?
(eval lc-jp) => (charset-id 'japanese-jisx0208)
等の変更もして、Mule2.3用のマクロをMeadowで動かしたことがあります。

what-cursor-position (デフォルトではC-x =)という
コマンドの定義を見比べれば、参考になるのではないか、と思います。
M-x describe-key <Enter>
C-x =
の後で、simple という文字列に下線が引いてありますが、
そこにカーソルを置いて(実はtabキーで移動できる)Enterを押すと、
定義が見れます。

○make-characterについて。
w3のパッケージの中の、mule-sysdp.elを覗くと、
<引用>
(defun mule-make-iso-character (char)
  (if (<= char 127)
      char
    (case mule-sysdep-version
      (2.3 (make-character lc-ltn1 char))
      (2.4 (make-char charset-latin-iso8859-1 char))
      (3.0 (make-char 'latin-iso8859-1 char))
      ((4.0 4.1) (if default-enable-multibyte-characters
		     (make-char 'latin-iso8859-1 char)
		   char))
      (xemacs char)
      (otherwise char))))
</引用>
とあります。

参考になれば幸いです。

お元気で。

赤羽伸之
http://ha1.seikyou.ne.jp/home/akairingosaita/meadow/