Frequently asked questions about skkinput
よくある質問と回答集

(目次)
1. skkinput って何？
2. 最新バージョンは何処で入手できますか？
3. skkinput のインストールについて
4. フォント集合って何を指定すれば分からないです
5. skkinput で入力中に backward-delete-char が入らないのですが？
6. OverTheSpot 入力スタイルを利用していると辞書のセーブが出来ないので
   すが？ 
7. Netscape で日本語を入力するためにはどう設定したら良いのでしょうか？
8. phone で skkinput を用いると phone が bad signal と言って落ちてしま
   うのですが？
9. Root Window Style のウィンドウサイズが大き過ぎるのですが…
10. 半角仮名こと JISX0201-KATAKANA を入力したいのですが…
11. 何か注意すべき点はありますか？

(内容)
[問 1]. skkinput って何？

[答]
skkinput は、X Window System 上で動作する日本語入力のためのアプリケー
ションです。日本語入力のために利用可能なプロトコル毎に1.00系、1.50系、
2.00系に分類されます。1.00系は Kinput Protocol、1.50系は Kinput2
Protocol、2.00系は Kinput2 Protocol 及び XIM Protocol が利用可能です。 

1.00系と1.50,2.00系の見た目の大きな違いは入力スタイルです。1.00系では
Root Window Style しかありませんが、1.50,2.00では Root Window Style 
及び OffTheSpot Window Style, OverTheSpot Window Style の Window Style
が可能になっています。 OnTheSpot Style  は、いずれのバージョンでも用い
ることはできません。

OverTheSpot Window Style
その名前の通り、その場変換のスタイルです。つまり、何らかのアプリケーショ
ンで漢字を入力したい時に「そのアプリケーションの漢字を入力しようとして
いる位置」で仮名漢字変換を行います。

OffTheSpot Window Style
例えば、MS-DOS で ATOK などを使ったことのある人なら分かると思いますが…
それらは、漢字を入力しようとすると画面の一番下一行使って仮名漢字変換を
行ってからアプリケーション(？ wterm なり kemacs なり)に漢字を送ります。
それと同様に「アプリケーションが指定した領域」で「仮名漢字変換をして」
からアプリケーションに入力した漢字(など)を送るスタイルです。

Root Window Style
アプリケーションからの要求は関係なしに別のウィンドウを開いて、そこで仮
名漢字変換をするというスタイルです。

skkinput は、SKK に付属している skkserv と BSD 系 UNIX のソケットを利
用してかな漢字変換を行います。skkserv が利用できない場合にローカル辞書
だけを用いて日本語入力が可能です。ただし、skkserv を起こしに行く機能は
サポートされておりません。

[問 2] 最新バージョンは何処で入手できますか？

[答] 
skkinput の最新バージョンは 
"http://sourceforge.jp/projects/skkinput2"から入手可能
です。

[問 3] skkinput のインストールについて

[答]
skkinput のインストールは基本的に xmkmf -a 及び make; make install で
可能です。

インストール時に注意すべきことがあるとすれば、

  1. デフォルトの skkserver の指定
  2. デフォルトのフォント集合の指定

でしょう。インストール後にリソースやオプションによって指定し直すことが
できますので、適当に設定しても特に困るということはありません。

**動作確認情報を求む。**

また、動作確認をしている環境は次の通りです。(skkinput-1.00)

  ・SunOS 4.1.3 + gcc 2.7.2 + X11R5
  ・ SunOS 4.1.4 + gcc 2.7.2 + X11R6
  ・ FreeBSD 2.1.5R(98) + gcc 2.6.3 + XFree86-3.1.2G
  ・ FreeBSD 2.1.5R(98) + gcc 2.6.3 + XFree86-3.2
  ・ FreeBSD 2.1.5R(AT) + gcc 2.6.3 + XFree86-3.1.2G
  ・ NetBSD-1.2(98) + gcc 2.7.2 + XFree86-3.2
  ・ Solaris 2.5 + SPARCompiler C 3.0.1 + X11R6
  ・ SunOS 5.4 + cc + X11R5(openwin)
  ・ SunOS 5.5 + gcc + X11R6.3
  ・ SunOS 5.5.1 + gcc + X11R6.3
  ・ Linux 2.0.27 + gcc 2.7.2.1 + XFree86-3.2
  ・ Linux 1.2.13 + libc 5.2.18 + gcc 2.7.2 + XFree86-3.2
  ・ Digital UNIX 3.2D + DEC OSF/1 C compiler + X11R5
  ・ Digital UNIX 3.2D + gcc 2.7.2 + X11R5
  ・ IRIX 5.3 + cc + X11R5
  ・ HPUX 9.03 + cc + X11R6.1

  skkinput-2.00 の動作確認がなされている環境は次の通りです。

  ・SunOS 4.1.4 + gcc-2.7.2 + X11R6, Support XIM 
  ・Solaris 2.5.1 + gcc-2.7.2 + X11R6.1(Server は OpenWindow),
    Support XIM and Support XIMP
  ・FreeBSD-2.2.1R(98) + gcc-2.7.2 + XFree86-3.2, Support XIM
  ・FreeBSD-2.2.2R(98) + gcc-2.7.2 + XFree86-3.3.1 Support XIM

skkinput-2.00 は開発途中ということもあり、多くの環境で動作確認がされて
いるわけではありません。ここに挙げられていない環境でコンパイルかつ動作
に成功した場合にはレポートして頂けると有難いです。また、この環境では動
作しなかったというレポートも有難いです。 

[問 4] フォント集合って何を指定すれば分からないです

[答]
どのフォントが利用可能であるかは xlsfont を利用すれば分かると思います。
skkinput が利用するフォントは、

   *-iso8859-?
     ASCII 文字を表示するのに利用します。

   *-jisx0201.1976-0
     JISX0201-ROMAN 及び JISX0201-KATAKANA コードの文字を表示するのに
     利用します。JISX0201-KATAKANA というのは俗に「半角片仮名」と呼ば
     れる文字コードです。

   *-jisc6226.1978-0
     JISC6226-1978 (旧JIS) コードの文字を表示するのに利用します。
     JISC6226 の BDF Font には yasuoka@kudpc.kyoto-u.ac.jp 様が作られ
     たフリーのフォントが存在します。

   *-jisx0208.1983-0
     JISX0208-1983 コードの文字を表示するのに利用します。

   *-jisx0212.1990-0
     JISX0212.1990 コード(補助漢字コード)の文字を表示するのに利用しま
     す。補助漢字の BDF Font には yasuoka@kudpc.kyoto-u.ac.jp 様が作ら
     れたフリーのフォントが存在します。

です。

[問 5] skkinput で入力中に backward-delete-char が入らないのですが？

[答]
お使いのアプリケーションは何でしょうか？ 恐らく kterm ではないかと思わ
れます。kterm で skkinput (OverTheSpot 入力スタイル)を使っている時に
既に確定してしまった文字を消去したいということがよくあります。この時、
kterm の allowSendevents が TRUE になっていれば、入力中の文字列の先頭
で backward-delete-char を用いて既に kterm へと送られてしまった文字を
消去することができます。 

もし allowSendevents が TRUE になっていないのでしたら、kterm にマウス
のフォーカスを合わせて、コントロール＋左クリックをして下さい。そこで現
れるメニューで allowSendevents にチェックを入れれば、allowSendevents 
が TRUE になります。 

毎回 allowSendevents を TRUE にするのが手間でしたら、X のリソースファ
イルに次の一行を加えると良いでしょう。

          kterm*allowSendEvents:		true

allowSendevents が TRUE になっていれば、"かな--"を出した状態で C-p,C-n 
などが kterm に直接渡されますので、かなり使い良くなります。

(allowSendEventsの危険性?)

[問 6] OverTheSpot 入力スタイルを利用していると辞書のセーブが出来ない
のですが？

[答]
OverTheSpot 入力スタイルでは、"C-x" 及び "C-s"を変換クライアントの方に
渡してしまいますので、"C-xC-s"で辞書のセーブを行うことができません。 

対処方法としては、

 1. 一時的に OverTheSpot 入力スタイルを停止してセーブする。
   Insert キーで切り替えることが可能です。

 2. "Q"などのキーを押して、一旦 skkinput でテキスト入力に入ります。こ
   の状態なら"C-xC-s"で辞書のセーブが可能です。

 3. "C-\\"に辞書のセーブを割当てます。"C-\\"は tcsh も kemacs も ng も
    利用していないようですので。Home キーにデフォルトでセーブを割り当
    てていますので、それを利用するという手もあります。

[問 7] Netscape で日本語を入力するためにはどう設定したら良いのでしょう
か？

[答]
Netscape については、Solaris-2.x では Ximp Protocol で日本語の入力を、
Linux では X Input Method で日本語の入力を行うことが可能なようです。
skkinput は Ximp Protocol では Root Window Style でのみ入力が可能です。
私自身の利用可能な環境では Netscape に対して OverTheSpot/OffTheSpot
Window Style で入力できないからです。XIM(Linux) で入力する場合には、ま
だ怪しい挙動をするようですが、原因を追及できておりません。

Solaris-2.x で skkinput を用いて Netscape に日本語を入れるための設定は、

Netscape*preeditType: Root
Netscape*inputMethod: skkinput

です。環境変数 LANG を適切に設定してから、netscape を起こして下さい。
LANG には ja や japanese, ja_JP.EUC, ja_JP.eucJP などの値が入ると思わ
れます。これは環境(OSなど)によって異なりますので、貴方の環境がどの
locale をサポートしているのか確認してから設定して下さい。

DebianではNetscape Communicator などでも以下の設定で特に問題なく日本語入力が
できるようになっています。

  ~/.Xresources
  Netscape*inputMethod: skkinput

  環境変数
  XMODIFIERS='@im=skkinput'

[問 8] phone で skkinput を用いると phone が bad signal と言って落ちて
しまうのですが？

[答]
phone で用いる場合には kterm の "Japanese EUC Mode" 及び "Shift JIS
Mode" はオフにしておいて下さい。どうやら、8bit 目が立っているとおかし
くなる傾向があるようです。FreeBSD の okphone のソースをながめた限
りでは EUC だろうが Shift JIS だろうが大丈夫そうに見えたのですが…。 

[問 9] Root Window Style のウィンドウサイズが大き過ぎるのですが…

[答]
skkinput-1.00系ならば、geometryの指定が可能な筈ですので、

skkinput -geometry 40x3

のように引数を与えて起動すれば窓の大きさを変更することができます。X の
リソースファイルに

skkinput*geometry:	40x3

のように記述して指定してもかまいません。高さ(height)は最低3行あるよう
になっています。  

skkinput-1.50系、2.00系ならば、

skkinput -width 640 -height 3

のようにオプションで指定する、もしくは、

skkinput*width:  640
skkinput*height:  3

とあらかじめリソースファイルに記述しておくことにより解決できます。注意
すべきことは、width は Pixel 単位の指定であるが、height はフォント単位
の指定であるということです。
プロポーショナルフォントを扱えるようにしたために、width はフォント単位
の指定が不可能になったのです。

同様にして、OverTheSpot及びOffTheSpot Window Style の時のミニバッファ窓
の大きさも変更することができます。

skkinput*minibuffer_width: 640

オプションの -mwidth によって指定することもできます。

[問 10] 半角仮名こと JISX0201-KATAKANA を入力したいのですが…

[答]
あまり JISX0201-KATAKANA を入力することは御すすめできませんが…
skkinput の直接コード入力で、

JIS of EUC code ( ... ):

と表示されているところで、"8eNN" と入力して下さい。8e は日本語EUC の 
SS1 です。

同様にして、"8f00" と入力すると、補助漢字コードを入力することが可能で
す。8f は日本語EUC の SS2 です。( 3 byte EUC )

[問 11] 何か注意すべき点はありますか？

[答]
mule + skk を利用している場合には、"かな"モードで"C-xo"と入力しても
"C-xo"が送られますが、skkinput の場合には "kemacs" や "ng" が "C-x" の
状態で待っているということは分かりません。従って、"C-xお"を入力して
しまうことになり、誤動作の原因</u>になります。入力中に何か文字化けが発
生した場合に一番疑わしいのはこの現象でしょう。 

-------------
この FAQ は作者こと sakamoto@kuis.kyoto-u.ac.jp (阪本 崇/たたり) が適
当にありそうな質問に対して回答を用意したものですから、実状にそぐわない
場合が多々あると思います。何か分からないことがありましたら、気軽に 
sakamoto@kuis.kyoto-u.ac.jp もしくは PXG01715@niftyserve.or.jp まで御
質問下さい。私自身の能力値の低さから、御返事に非常に時間がかかるかもし
れませんが…。
