Ver.3.9の変更点
-------------------
- 「美坂」互換モジュールに文字コードの自動判定を実装しました.
  Shift_JIS以外の文字コードを使用しているゴーストを動作させることが
  可能になりました. 機能させるには Universal Encoding Detector
  (http://chardet.feedparser.org/) が必要になります.
- 上付き, 下付き, 下線および字消し線のフォントタグを実装しました.
- 括弧の無い(\p0のような)\pタグに対応しました.
- ゴーストの見切れ処理を調整しました. 透明部分も含めたサーフェスの1/3が
  画面外に出ると発動するようになりました. (これまでは1/4でした.)
- 「文 Ver.5」互換モジュールを追加しました. AYA5 DLL 付属の aya_shiori3.dic
  を使っているゴーストはほぼ動きます. Real AYA5 ローダーは削除しました.
- コミュニケート複数送信拡張に対応しました.
- タスクバー上にサーフェスウインドウ2つが表示されるのをゴースト1組で1つ
  表示されるようにしました.
- バルーンがアクティブウインドウより下に表示されるよう調整しました.
- バルーンの設定ファイルによるフォントサイズの指定とユーザーによる指定を
  きちんと区別し, ユーザー指定は3/4倍しないように修正しました.
- サーフェスとバルーンの描画処理の一部に Cairo グラフィックライブラリ
  (http://cairographics.org/) を使用するよう変更しました.
  そのため GTK+(pygtk) 2.8 以降が必要となります.
  この変更の結果, デスクトップ側の環境が対応していれば, pna もしくは
  本体設定によるサーフェスとバルーンの半透明化が可能です.(*)
  X Window System であれば Composite 拡張と composition manager
  (xcompmgr, etc.) が必要です.
  (*)注記: Shape 1.1 拡張に未対応のため表示が乱れます.
- ddp暗号化ファイルのサポートを追加しました.
  （「理夢」がサーフェスで使用しています.）

Ver.3.8の変更点
---------------
- メニューフォアグラウンドの画像およびフォントカラー設定に対応しました。
  （正しく動作させるには GTK+ 2.6 以降が必要です。）
- SHIORIがNOTIFYイベントに対してスクリプトを返しても破棄するよう修正しました。
- easyballoon もサーフェスの倍率に合わせて縮小（拡大）するようにしました。
  「猫どりふ」などとは違い、サーフェスの倍率を変更しても、既に生成されている
  バルーンは生成時点の倍率のままです。
- ninix-aya 終了後、即座に SSTP サーバのソケットを削除するようにしました。
- サーフェスの描画処理を改良しました。
- アニメーションの処理を改良しました。
- サーフェス、バルーン等の縮小でサイズが 0 にならないように修正しました。
- mciaudio および mciaudior のファイル名の処理を修正しました。
- ファイルがドロップされた際の処理を OnFileDrop2 に変更しました。
  本体で設定されているヘルパーへの引き渡しはイベントの結果にかかわらず
  実行されません。
  （上記の mciaudior の修正と合わせて「橘花」の音声ファイル再生が
    動くようになりました。）

Ver.3.6の変更点
---------------
- READMEファイルをREADMEとNEWSに分割しました。
- SERIKOの処理を改良しました。
- コーディングスタイルを調整しました。
- OnBoot等のイベントでスクリプト終了時までにサーフェス定義が無かった場合には
  \0, \1のみ強制的にサーフェスを表示するようにしました。
- 起動後サーフェスがまだ指定されていない状態で\iタグが来た場合に、
  デフォルトIDに対する指定として受け付けてしまっていた問題を修正。
- %ms, %mc, %mz等をSHIORI/3.0として処理する上で、 IDに\ms, \mc, \mzの様に
  \を付けるよう修正しました。
- ゴーストマネージャが~/.ninix/ngm/data/MasterList.xmlが無いと
  落ちる問題を修正しました。
- 「華和梨7」互換モジュールを改良しました。
- SHIORI/3.0 basewareversionをSHIORIのロード時に通知するようにしました。
   (Reference2には開発コードを除いた数値のみのバージョン番号が入っています。)
- OnShellChangedのReference1、Reference2を追加しました。
- OnShellChangingのReference1を追加しました。
- ポップアップメニューを出すかどうかを決めるリクエストの処理を追加しました。
- \![set,windowstate,stayontop]、\![set,windowstate,!stayontop]を実装しました。
- \![set,windowstate,minimize]を実装しました。
- OnMouseClickイベントの処理をSHIORI/3.0仕様に準拠しました。
- 本体設定に「喋る時手前に出てくる」設定を追加しました。
  設定されている場合には喋り始める時に一回だけサーフェスとバルーンを
  手前に出します。この変更に合わせて喋っている間常にサーフェスと
  バルーンを手前に出していた処理を削除しました。
- ゴースト起動時のOnDisplayChangeは喋らないように修正しました。
- \v(手前に出てくる)タグを実装しました。
- \sタグでサーフェスIDが数値で指定されていて、先頭に0が付いている場合は
  0を削除する("0001"なら"1"に置き換える)ようにしました。
- \_uタグの処理を実装しました。
- サーフェスとバルーンのアルファチャンネル設定を追加しました。(未テスト)
- ゴースト側で指定されたバルーン名がバルーンのインストール
  ディレクトリ名の場合にも対応しました。
- CheckQueueコマンドを拡張しました。
  キューに残っている全てのリクエストの数も返します。
- 本体設定に「喋り終わると裏へ沈む」設定を追加しました。
- 使用率トップのゴーストのai.pngを使用率グラフの背景に使用するようにしました。
- 「美坂」互換モジュールを改良しました。（「橘花」対応のため。）

Ver.3.4の変更点
---------------
- GTK+2.4 APIに移行しました。
- 「華和梨8」でのマルチゴーストに対応しました。
  （_kawari8.soも対応したものが必要になります。従来のものは動作しません。）
- スクリプトエラーからの復帰処理を追加しました。
- 単体のシェルを使用すると落ちる問題を修正しました。
- 「文」のバージョン判定を修正しました。
-  \![change,ghost]による自分自身への交代が正しく処理されるよう修正しました。
- メニューのサイドバーとフォントカラー変更の実装を修正しました。
- サーフェスのリセットで自由配置が無効になるバグを修正しました。
- サーフェスのリセットの際に必要以上にオーバーレイ等を消去してしまうのを修正
  しました。
- PNAファイルによるサーフェスとバルーンのアルファチャンネル設定に対応しました。
  （オーバーレイ等についても対応しています。本体の透過処理にはXサーバが
    Composition拡張機能を持ち、適切に設定されていることが必要です。）
- 本体設定でPNAファイルを使用するかどうかを設定できるようにしました。
- openngmをベースに「何かゴーストマネージャ」のクローンを実装しました。
  （未完成のため検索とネットワーク更新機能のみです。）

Ver.3.2の変更点
---------------
- 「きのこ」互換機能を追加しました。スキンファイルはninix-installでインストール
  することができます。
- 「猫どりふ」互換機能を追加しました。スキンおよび落下物ファイルはninix-installで
  インストールすることができます。
   (未完成のため落下物を落としてSHIORIイベントを発生させることしかできません。)
- サーフェスの当たり判定領域の表示/非表示を本体設定から変更できるようにしました。
- ホームディレクトリが同じninix-ayaの多重起動を禁止しました。
- アニメーションのバグを修正しました。
- 「里々」互換モジュールを改良/修正しました。
- 3.0で'\-'タグが機能しなくなっていたのを修正しました。
- SSTPのEXECUTE/1.0にCheckQueueコマンドを追加しました。
- 「文」のバージョン判定を修正しました。

Ver.3.0の変更点
---------------
- 「文５」モジュールインタフェース。
- ポップアップメニューからゴーストを複数起動できるようにしました。
- SSTP Bottleクライアント向けにGetNamesコマンドを追加しました。
- SSTP SEND/1.4の処理でIfGhost指定されたゴーストが起動していない場合には
  一時的にそのゴーストを呼び出してスクリプトを再生するようにしました。
  （指定ゴーストがインストールされていない場合に他のゴーストでスクリプトを
    再生するかどうかは本体設定の「色々」->「SSTP 設定」で変更できます。）
- アニメーションの処理を改良しました。（SERIKO/2.0にも対応。）
- フォントの設定ファイルpango_fontrcをpreferencesに統合しました。
  設定は従来通り本体設定から行なうようになっています。
- これまではポップアップメニューから他のゴーストの専用バルーンも含めた全バルーンが
  選択できたのをそのゴーストの専用バルーンと汎用バルーンに制限しました。
  （デフォルトバルーンは汎用バルーンからのみ選択可能です。）
  これは複数ゴースト起動が可能になったための変更で、消滅したゴーストの専用バルーン
  を使用しているゴーストがいるという状況が発生しないようにするための措置です。
- サーフェス倍率と表示ウエイトのデフォルト設定は本体設定で行なうようになりました。
  ポップアップメニューからの変更は対象となるゴーストの設定を一時的に変更するだけに
  なります。他のゴーストや次回起動時の設定には影響しません。
- -Rオプションを削除しました。
- Pythonのトレースバック出力専用ダイアログを追加しました。
- オーナードローメニュー用画像をポップアップメニューで利用するようにしました。

Ver.2.6の変更点
---------------
- 「里々」互換モジュールを大幅に更新しました。
- 「里々」互換モジュールで SAORI 互換モジュール呼び出しに対応しました。
- saori_cpuid.dll 互換モジュールを追加しました。
- ssu.dll 互換モジュールを追加しました。
- 「花柚」互換モジュールで radar 形式のグラフに対応しました。
- メニューアイテムにアクセラレータを設定しました。
- デフォルトバルーンの設定に「常にこのバルーンを使う」チェックボックスを
  追加しました。
- OnChoiceEnter イベントのサポートを追加しました。
- 「文」互換モジュールを Ver. 4.97fix0 仕様に更新しました。
- 明示的にサーフェス指定が来ない限りサーフェスを出さないように変更しました。
- cjkcodecs(要1.0.2)にも対応しました。
- 「華和梨」、「偽栞」互換モジュールのメタ文字列の展開を改良しました。
- サーフェスの当り判定の ID を0〜255に拡張しました。
- バルーン切り替えの際にゴーストを再起動しないように変更しました。
- 表示する文字が含まれていないスクリプト(改行のみなど)の場合にはバルーンを
  出さないようにしました。
- バルーンのフォントサイズの設定が実際の表示に反映されるよう修正しました。
- バルーンフォント設定の変更が即反映されるように修正しました。
- %username の展開で最初に SHIORI で設定されている値を問い合わせるように
  しました。
- 「ポータル」、「おすすめ」の中の項目を選択した際に
  OnRecommandedSiteChoice イベントを発生させるようにしました。
- バルーンの配置を改良しました。

Ver.2.4の変更点
---------------
- サーフェス倍率の最小値を10%から40%に変更しました。
- サーフェスに合わせてバルーンも縮小できるようにしました。
- 本体設定にデフォルトバルーンの設定を追加しました。
  それに合わせてポップアップメニューのバルーンの項目は起動中のゴーストの
  バルーンを一時的に変更するのみにしました。
- 起動時点でサーフェス全てを読み込んでいたのを必要になってから読み込むように
  変更しました。起動時間の短縮、メモリ使用量の削減などの効果があります。
  ただし一部アニメーション等で動作が遅くなることがあります。
- passivemode 中に SSTP を受信した場合には passivemode を抜けるまで再生を
  始めないよう修正しました。
- サーフェス移動中にゴーストの動作を停止させないよう変更しました。
- wmove.dll 互換モジュールを追加しました。
- UNIX ドメインソケット版の SSTP サーバを追加した際に入ったバグを修正しました。
- ポップアップメニューに「ポータル」、「おすすめ」を実装しました。
- Shell の descript.txt の seriko.alignmenttodesktop に対応しました。
- 全てのデスクトップに居座るようにする設定をポップアップメニューに追加
  しました。ウインドウマネージャによっては正しく機能しないことがあります。
- 起動後に本体設定で画面下端からの距離を調整できるようにしました。
  (従来通り -R オプションも使用可能ですが、このオプションは将来削除される
   可能性があります。オプションを指定した場合はそれが優先されます。)
  また画面上部に移動するゴースト向けに画面上端からの距離も指定できるように
  しました。
  easyballoon 互換モジュールもこれらの設定の影響を受けます。
- Python2.3 で動作するようにしました。
- easyballoon 互換モジュールを1.0仕様に対応させました。

Ver.2.2の変更点
---------------
- ゴーストが最小化されている時はしゃべらなくなりました。(時間経過イベントは
  発生しています。) SSTP リクエストに対しては "512 Invisible" を返します。
- Python栞のサポートを削除しました。
- 本体のターミナル出力を UTF-8 に変更しました。互換栞等はそれぞれが内部で
  使用している文字コードでの出力のままです。
- install.txt で指定されるインストールディレクトリの文字コードを UTF-8 に
  変換するよう変更しました。
- ファイル名に関して文字コード変換を行なわないよう変更しました。
  アーカイブ内にマルチバイト文字を使用したファイル名があるものについては
  ゴースト・シェル等の種類を問わずサポート対象外です。
- メニュー等を L10N (gettext化)しました。メッセージカタログは日本語(ja.po)と
  中国語(zh_TW.po)が用意されています。(zh_TW.poはChieh-Nan Wangさんが作成。)
- バルーンに使用しているウインドウの種類がダイアログに変わりました。
- コミュニケートウインドウ, 花柚ウインドウの移動の処理が変更になりました。
  よりスムーズに移動できるようになっています。
- サーフェス・バルーン・コミュニケートウインドウがサイズ変更を拒否するよう
  にしました。
- 本体・SSTP サーバ・互換 SAORI 内部で使用する文字コードを Unicode に変更
  しました。
- 華和梨7で日本語以外の文字コードを使用したゴーストにも対応しました。
- サーフェスが最小化された場合と復帰した場合にイベントが発生します。
- ninix-install で pnaファイルもインストールするようにしました。
  ネットワーク更新の対象としても認識されるようになっています。
- ninix 用プラグインの定義ファイル plugin.txt で EUC-JP 以外の文字コードを
  使用可能にしました。
  (デフォルトは EUC-JP なので既存のプラグインの変更は不要です。)
- ゴースト起動時に OnDisplayChange を送信するようにしました。
- ~/.ninix/gtkrc をインストールしないようにしました.
  ファイルは doc/examples に移動しています。
- ゴーストのアイコンをサーフェスウインドウのアイコンとして使うようにしました。
  ポップアップメニューでも使っています。
- misaka.py を「フサギコ漫談」対応のため変更しました。
- サーフェス画像として暗号化 PNG を使えるようにしました。
- 着せ替えメニューをポップアップメニューから分離して画面上に置いておける
  ようにしました。

Ver.2.0の変更点
---------------
- GTK+1.2 から GTK+2.0 API に移行しました。
  Python 2.0, GTK+2.0, PyGTK 1.99 以降が必要です。
  (Python 2.2, GTK+ 2.2.1, PyGTK 1.99.14 以降推奨。)
- libpng を使用していた _image.so モジュールは削除されました。
  ビルドに libpng のヘッダは不要です。
- サーフェス縮小機能を搭載しました。
  ポップアップメニューの「サーフェス倍率」から選択して下さい。
- 画像ファイルの xpm 形式への変換および変換してインストールされたファイルの
  サポートが削除されました。
  変換を使用していた場合はゴーストを再インストールする必要があります。
- ゴーストインストーラ(ninix-install)の動作が変更になりました。
  ゴーストのインストール先となるディレクトリの決定方法が従来と異なり
  ゴーストアーカイブ内の install.txt に従うようになっています。
  既にインストールされているゴーストはそのままで動作しますので
  再インストールの必要はありません。
- ゴースト起動時間と消滅回数の記録先が ~/.ninix/history, ~/.ninix/vanished
  からゴーストのインストール先の HISTORY ファイルに変更になりました。
  以前のファイルの記録は引き継がれません。
  また、これまでのサーフェス毎の起動時間ではなくそのディレクトリにある
  サーフェス全てについての起動時間の合計のみが記録されるようになっています。
- バルーンフォントの指定がPango形式に変更になっています。指定は従来通り
  ポップアップメニューの「設定」から行なえます。
  設定ファイルは ~/.ninix/pango_fontrc になります。
- CROW 同梱ゴーストのインストール機能は削除されました。
- マウスカーソルがサーフェスの当り判定領域に入るとカーソル形状が変わります。
  撫で/触り判定はボタンを押していない状態でマウスを動かすと発生するように
  変更されています。
- バルーンのスクロールボタンがマウスホイールで操作できるようになりました。
- -p オプションは廃止されました。ウインドウマネージャで強制しない限り
  ウインドウの枠などは付きません。また、ウインドウの配置も可能な範囲で
  ウインドウマネージャの制御を受けないようになっています。
- 着せ替え対応。

Ver.1.0の変更点
---------------
- 「文」互換 SHIORI モジュール aya.py。
- SAORI API 互換フレームワークおよび各種 SAORI 互換モジュール。
  (各モジュールの詳細は doc/saori.txt を参照して下さい。)
- 「華和梨８」モジュールインタフェース。
  (「華和梨８」モジュールの詳細は doc/kawari.txt を参照して下さい。)
- ゴースト間コミュニケーション対応。
- アニメーション機能強化。
- ネットワーク更新の途中キャンセル対応。
- SakuraScript 対応強化。
- 画面の上端や自由配置といった位置指定に対応。

aya.py は、umeici 氏が開発公開されている「文（あや）」Ver. 3.x〜4.xの
仕様に準拠した互換モジュールです。基本的な構造は「偽林檎」を参考に
させていただきました。
