読者です 読者をやめる 読者になる 読者になる

しろもじメモランダム

文字についてあれこれと。

svivs の現状について

文字コード svivs

Twitter を見ていて、あーそういやそんなもんあったなーと思いだしたのですが、以前 svivs というツールを作りました。

現状

当時は更新・拡張したい点などいくつかあったわけですが、結局のところ今まで放置状態になっています。理由としては、

  • Ubuntu をメインで使うようになったが、Adobe AIR の開発・実行環境は Linux に対応していない
  • 当時はIVSをサポートするOS・ブラウザ・その他アプリケーションが少なかったため、多くの環境で比較的確実に利用できる Adobe AIR を使っていたが、現在ではサポートが進んで問題にならなくなってきた
  • そもそも、Adobe AIR 自体が結局世間ではあまり使われていない気がする
  • めんど(ry

といったあたりで、残念ながら今後も放置状態が続くかと思われます。また、svivs 内部で利用しているIVDのバージョンが古いこともあり、今後の svivs の利用は推奨しません。次項の作業によってIVDを更新することは可能ですが、このような現状を把握した上で、自己責任でお願いします。

svivs で使われているIVDを更新するには

Unicode Consortium の公開するIVDは、これまで何回かアップデートが行われてきました。

svivs は当時最新版であった2010-11-14版のIVDを利用していますが、その後 Adobe-Japan1 と Hanyo-Denshi の両方のコレクションにIVSが追加された、2012-03-02版が出ています。これに対応させたい場合には、以下の作業を行なう必要があります*1

  1. Versions of the IVD のリンクから、最新版の IVD_Sequences.txt をダウンロードする
  2. \Program Files (x86)\svivs\IVD_Sequences.txt を、ダウンロードした IVD_Sequences.txt で上書きする
  3. \Users\{ユーザ名}\AppData\Roaming\net.shiromoji.Svivs\ivd.sqlite を削除する
  4. svivs を起動する

Adobe-Japan1, Hanyo-Denshi 以外のコレクションが新設されるなどした場合には対応できませんので、ご注意ください。

*1:パスは Windows 7 64bit 環境での例。自分の環境に合わせて適宜読み替えてください。

IVS入力ツールsvivsを公開しました

文字コード 字形字体 svivs

前回のエントリで「試作中」と書いたIVS入力ツールの svivs だが、とりあえずある程度までできあがったので、このへんで一旦公開してみる。バージョン1.0.0。Windows XP でしか動作確認をしていないが、Adobe AIR で動くので一応 Mac でも大丈夫。

残念ながら、前回のエントリで書いた「動作が思ったよりも重い感じ」はそれほど改善されていない。テキストエリアの処理がもっさりげな感じ。しかもこのテキストエリア、実のところハイライトさせる処理で Splitting a surrogate pair とかいってコケることがある*1。実際のコードではサロゲートペアをちゃんとペアとして扱っている(はず!)にも関わらず。この問題をどうにかしたかったのだが、コケる条件がよくわからないのでとりあえずそのままになっている*2

今後の予定としては、

  • 「コードを入力して挿入」機能をつける
  • GlyphWiki みたいな感じで符号位置の異なる異体字もリストに表示する
  • 他の情報(どの文字集合に含まれているか、など)もわかるようにする

みたいなのが一つずつでもできたらいいなーという感じ。

*1:try ... catch でエラーを捕まえて(スルーして)いるので svivs が落ちることはないが、ハイライトがおかしくなる(そうなった場合でもその後テキストエリアを編集すれば元に戻る)。

*2:この他にも change イベントが起きたときに text プロパティがちゃんと更新されてなかったりと、TextArea にはバグっぽい挙動がちらほら…

IVSを入力するツールを試作中

文字コード 字形字体 svivs

IVSを手軽に入力したい

最近、Mac OS X Lion のヒラギノIPAmj明朝Windows 8 Developer Preview に搭載されたIMEなど、IVS(Ideographic Variation Sequence; 異体字シーケンス)を扱うための環境が徐々に充実しつつある。

といっても、意図した異体字のIVSを手軽に入力できるようなツールはほとんどなく、Windows では(おそらく唯一)IVS検索(異体字検索)1.00というソフトがあるぐらい。最近になってこのソフトを試してみたのだが、対応OSが Windows 7 なので残念ながら自分のXPではうまく動かなかった*1。自分も昔IVSの入力・表示デモを作ったが、あれはVS(Variation Selector; 異体字セレクタ)違いの異体字が一覧できないので正直使いづらい。

別に自分でIVSをバンバン使う予定などないのだが、手軽に入力できる環境がないというのもなんだか (´・ω・`)ショボーン な話なので、ちょっとIVS入力ツールを作ってみることにした。

名付けて svivs

まだまだ開発中だが、今のところはこんな感じ。


  1. 左のテキストエリアに文字列を入力(IVSがあればその箇所がハイライトされる)
  2. カーソル直前の文字について、
    • 右上に拡大したグリフと符号位置・コレクションID*2・シーケンスIDの情報を表示
    • 右下に同じ基底文字(base character)を含むIVSのリストを表示(コレクションごとに色分け)
  3. 右下のリストのグリフをクリックすると、そのIVSの情報を右上に表示
  4. 右下のリストのグリフをダブルクリックすると、テキストエリアのカーソル直前の文字がそのIVSで置換される

実を言うと、最初はテキストファイルを開いてIVSを検索・置換みたいな使い方を想定していた。が、動作が思ったよりも重い感じなので、とりあえずはちょろっとした文字列や文が対象という前提で作っている。

これからの予定

できればいいなー、という願望も含めて。

  • ActionScript/Flex/AIR についてもうちょい勉強する
  • ハイライトの色もコレクションごとに分ける
  • 設定画面を作る
  • GlyphWiki みたいな感じで符号位置の異なる異体字もリストに表示する
  • 「コードを入力して挿入」機能をつける
  • 他の情報(どの文字集合に含まれているか、など)もわかるようにする
  • 使いやすくする
  • いい感じにする
  • などなど。

ほどほどに進んだら公開してみたい。公開しました。

ちなみにマカーな方は

@monokano さんが IVS Checker っていうなんかすごいソフト公開してるので、それ使った方がいいですよ!!!

svivs は Adobe AIR を使っているので Mac OS X でも一応動くはずだが、未確認。

*1:動作はするが、IVSもデフォルトグリフで表示されてしまう。

*2:Adobe-Japan1 とか Hanyo-Denshi とか