上のソフトウェアの場合には日本語入力に対応するためには変換クライアントを使えるようになっていなければならない。ライブラリ組込み型クライアントもある)。そのため、どの変換サーバーでも利用可能とは限らない。変換クライアント間は基本的には各サーバー毎に独自のプロトコルを用いる。そのため、変換クライアントは、対応しているサーバーにしか利用できない。クライアントの橋渡しを行うソフトウェアだ。このあたりの相関図をまとめたものが、次の図だ(川口さん提供。クリックすると原寸になります)。クライアント・サーバー方式なのかなぜ、UNIXの日本語入力でこのような方式がとられたのか。ひとつは、マルチユーザーによる共用やネットワーク越しでの利用を考えているからだ。PCがスタンドアローンで利用されることを前提としていたのに対し、UNIXは当初からマルチユーザーでの利用が可能になっていたし、ネットワークでの利用が意識されていた。日本語入力プログラムもそうした利用を意識して作られたのは当然だろう。UNIXはアプリケーションによるキー入力や画面表示を統一的に扱うしくみをもっていない。Systemベースの日本語入力には異なるクライアントが必要になる。文字端末ベースの場合は統一されたプロトコルが存在しないうえ、日本語入力プログラムがキー入力と画面表示を乗っ取る標準的な手段がないため、変換サーバーごとにシェルベースのクライアントを用意する必要があるし、それでは非力だと思うなら、アプリケーション側でライブラリーを組み込んで変換サーバーを直接呼び出す必要がある。Systemでは、かつてはXsiなどいくつかのプロトコルが使われていた時期もあった。現在は、変換クライアントと(かな漢字変換を利用したい)アプリケーションとを結ぶ部分のプロトコルとしては、XIMで統一されている。変換クライアントと変換サーバー間は各変換システムの仕様にも深く依存しますので統一的なプロトコルは存在していない。対応のクライアントから利用できるようにするソフトすら存在するが、デファクトスタンダードというほどの存在ではない)。別にX11に依存しないIIIMFというのを策定する動きもある(http://www.openi18n.org/subgroups/im/IIIMF/)。これは、まだまだこれからの話だ。WindowsにはUNIXの変換サーバーと同じように関数呼び出しで変換操作を行うしくみが用意されているので、UNIXと同様に独自の変換クライアントを新たに作ることも可能なはずだ。どのIMEでも共通して使えるクライアントを作っても、それは現在ある標準提供のクライアントより非力になるわけだし、そうまでして新しいものを作るモチベーションはどこにもないのだろう。このページは、川口銀河さんの記事news:akej3v$3o2$1@inb.m.ecl.ntt.co.jp(→Google)、news:alfsgt$e36$1@inb.m.ecl.ntt.co.jp(→Google)、太田純さんの記事news:akgba0$5fv$1@ns.src.ricoh.co.jp(→Google)を中心にまとめました。