サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
t-suwa.hatenadiary.org
プロジェクトページを更新し、今後について書きました。 http://aquaskk.sourceforge.jp/ AquaSKK とともにあった 8 年をふりかえると、人生の節目が詰まっています。 結婚した 子供が生まれた 祖母が死んだ 東日本大震災があった 母親が死んだ 家を建てた(覚悟を決めた) なかなか感慨深いですね。 ケジメですので、この日記も今日で閉めます。長い間お世話になりました。 またどこかで会いましょう。それまでお元気で。
リリースしました。Mac OS 10.7 以降のみサポートしています。 http://sourceforge.jp/projects/aquaskk/releases/ ▽追加・改善された機能 ・Java アプリケーションで文字種切り替え時にゴミが挿入される ・skkserv 辞書の堅牢性向上 ▽不具合修正 ・最新の SDK に合わせてビルド設定を更新 ・各種コンパイル警告への対応 ・TSM 版互換の入力メニューでTISInputSourceIDが全て同じになっている(チケット #22894) ・「ゎ」をトグルカナ変換しても「ヮ」にならない(チケット #29914) 今回は大分ブランクがあったので、リリース手順をすっかり忘れていました。これで大きな不具合が出なければ、RC を用意せずにリリースしてもいいかと思っています。その後はどうしようかと悩み中。 github に移行して引退、というの
辞書共有サービスの開発に着手して随分時間が立つので、そろそろ最近の状況についてお知らせします。 今回開発しているのは、大きく四つの部分に分かれます。 辞書共有サービス本体(google app engine) 同期クライアント(python) AquaSKK 用アダプタ Emacs 用アダプタ 1. 辞書共有サービス本体 今のところ、以下の機能を実装しています。 トップページ 接続トークンのダウンロード・再発行 ユーザー辞書の初期登録 cron ジョブ 同期クライアント向け Web サービス(登録、取得) 基本的に app engine は辞書データを蓄積するのが目的なので、華美な見た目もなく、ひたすらシンプルな感じです。今の問題点は辞書の初期登録処理に時間がかかりすぎることです。 ローカル環境で試しただけですが、3,600 エントリ程度で 8 分前後かかります。なので、辞書ファイルを一旦
個人辞書を複数の計算機間で共有するにはどうすればいいのかを考えています。おおまかな構成は以下の通り。 Google App Engine 上に辞書共有サービスを構築 各計算機には同期クライアントが常駐し、定期的に辞書共有サービスと通信 同期クライアントは各種 SKK 実装向けに、個人辞書インタフェースを提供 同期クライアントを用意した理由は、オフライン対応です。リクエストは以下のような感じで。 GET /skk-jisyo/かんじ GET /skk-jisyo/おおk?okuri=き COMPLETE /skk-jisyo/みだし PUT /skk-jisyo/かんじ/漢字 PUT /skk-jisyo/おおk/大?okuri=き DELETE /skk-jisyo/かんじ/漢字 DELETE /skk-jisyo/おおk/多?okuri=き同期クライアントは受信したリクエストから登録と削
ついに出ましたね。 新鮮な語彙を多く含む辞書は魅力的なので、サービスとして公開されるのを期待。そうすれば AquaSKK でも Google 辞書として実装できます。あと、TSF まわりは資料が乏しくて開発が面倒なので、将来コードが公開されるようなことになれば、Windows 対応で多いに参考になりそうです。 ちなみに google japan blog には このように工藤と小松の二人で始めたプロジェクトですが、徐々に 20% プロジェクトとしての貢献者も増え、しばらくたつと、Anthy, WinAnthy, scim-skk, skkime, AjaxIME, PRIME, MeCab などの日本語処理システムや日本語入力システムの開発に携わっていたエンジニアや Windows の TSF での開発経験のあるエンジニア、各種オペレーティングシステムの開発経験者がこのプロジェクトに様々な
OOP におけるインタフェースとは、再利用される側に課せられる義務を表現したものです。この義務を完遂して実装を提供すれば、きちんと再利用してもらうことが期待できます。そのためにはまず、これから実装しようとするインタフェースの目的・意図をしっかり理解する必要があります。そして実装すべきインタフェースを宣言するのです。こうしてインタフェースと実装が結び付き、再利用の準備が整います。 ところが Go では宣言的にインタフェースを実装することができません。このため、あるインタフェースに適合するかどうかは、インタフェースの定義するメソッドが実装されているかどうかだけで判断されます。 具体例を挙げてみます。同一のメソッドセットを持つインタフェース A と B があるとします。ここで、A と B はそれぞれ異なる目的があるとします。そこで型 C は意図して A を実装するとします。 // a.go ty
Snow Leopard の再インストールが完了したので、職場で使ってる Meadow の ~/.emacs を参考に再設定しています。若い頃はせっせと ~/.emacs のカスタマイズに励んだものですが、年を取ると段々とそういう作業が面倒臭くなってテキトーになっていきますね。bdf フォント等のどうしても譲れないところを除けば、キリキリ拘らないというか、許容範囲が広がったというか。昔に比べると随分スリムになりました。 ;;; ~/.emacs (let* ((setup-user-information '(lambda () (setq user-full-name "Tomotaka SUWA") (setq user-mail-address "tomotaka.suwa@gmail.com"))) (setup-basic-behavior '(lambda () (set-la
仕事がのんびりしてきたので、IMK 版の開発を再開しています。致命的なバグ修正の他に、/today で今日の日付が出たり、/=(1+2)/3.4*(5.6%-7.8) 等のちょっとした計算式を実行できたり。いまさらな感もありますが。 ところで類義語です。頭の中にある文章をそのまま打ち出す時には不要だけど、表現を工夫したい時に類義語があればなあと思うことがあります。SKK 辞書でもアノテーションで類義語がわかるようになっていますが、残念ながら選択はできない。これをなんとかしたい。 ユーザーインタフェースのほうはまあ頑張ればいいとして、問題はデータです。ちょっと調べた感じでは日本語の類義語辞書を GPL や Web サービスとして公開しているところはなさそう(あれば教えて下さい)だし、市販の辞書を使うこともできない。そこで、いっそのこと Google App Engine で類義語登録・検索サ
Trygve Reenskaug と James O. Coplien による新たなプログラミング概念 DCI(Data, Context/Collaborations, Interactions)の提唱。 http://www.artima.com/articles/dci_vision.html 導入部から抜粋すると: In this article, we'll show how to combine roles, algorithms, objects, and associations between them to provide a stronger mapping between the code and the end-user mental model. The result is an architecture based on the object Data, th
新エンジンでは、入力モードの変更や入力セッションがアクティブになったタイミングで、Core Animation を使ってカーソル位置に入力モードアイコンを表示します。アニメーション仕様はごく簡単に「入力モードアイコンを 1 秒間表示したら 1 秒でフェードアウト」です。Core Animation はまだほとんど把握できていないので、今回のフェードアウトも実はもっと簡単に書ける方法があるのかもしれません。ご存知の方は突っ込みくれると助かります。 フェードアウトの実装 Core Animation の中心的な構成要素はレイヤーです。レイヤーは画像や文字、動画などのコンテンツを保持し、位置や不透明度といった「アニメーション可能プロパティ」を備えています。これらのプロパティを変更すると、直前の値との変化量がアニメーションとして自動的に非同期再生される仕組みです。この手軽さが Core Anima
Stroustrup によるプログラミング初学者向けの「Programming -- Principles and Practice Using C++」が 8 月に出版されるようです。 http://www.research.att.com/~bs/programming.html Preface のドラフトが公開されていますが、じんわりと胸が熱くなるようなとてもいい内容です。 http://www.research.att.com/~bs/programming_pref.pdf とは言え、この本は読者を選びます。ちょっと長いですが、その下りを引用します。 If your desire is to use the work of others without understanding how things are done and without adding significant
使い勝手の改善と細かなバグ修正を盛り込んだ 3.6 をリリースしました。全ての AquaSKK ユーザーにバージョンアップをお勧めします。 なお、TSM 版の AquaSKK はこれが最後のバージョンになります。不具合にはなるべく対応したいと思ってますが、機能追加や改善要望が反映されることはたぶんありません。かわりに、Input Method Kit に対応した IMK 版 AquaSKK の開発にシフトしていきます。 これまでは TSM 版 AquaSKK にレガシーエンジンと新エンジンの両方を搭載し、任意に切り替え可能にすることで緩やかに移行する予定でしたが、Leopard では TSM 版と IMK 版の AquaSKK が同時使用できるとわかったので、素直に IMK 版を開発していくことに決めました。 skkserv のポート番号がかぶるとか、ユーザー辞書を共有できない、といった問
ざーっと読んでみました。勘違いもあるかもしれませんが、以下のような感じです。 IMKServer(≒ TSM コンポーネント) が入力セッションを束ねる 各セッションは IMKInputSession(client) と IMKInputController(server) のペア IMKInputSession は TSM ドキュメントを表現している(実装する必要なし) IMKInputController は Input Method を表現している(delegate を実装すべし) IMKCandidates で候補と候補ウィンドウを管理することが可能(アノテーションにも対応) メニューやプリファレンスなどもごく普通に考慮されている かな漢字変換エンジンは独自に用意する必要あり(IMK には含まれない) というわけで、TSM コンポーネント側の実装を簡略化するフレームワークですね。変
iPhone 触ってみたいですねー。商標でもめてますが、いっそのこと Apple Phone でも良いような。 さて、C++ で独自フォーマットのテキストファイルを読み込む場合には、find_first_* と substr を組み合わせて泥臭く処理をすることが多かったのですが、『区切り文字を空白に置換する』という前処理を追加することで、stringstream を活用できることに気付きました。いくつか例を挙げて紹介していきます。 まず最初に、以下のようなカンマ区切りのファイルを読み込む例です。 ### ### sample.csv ### 1,tom,dvorak,1.0 1,bob,qwerty,0.5 ...コードは以下の通り。 struct csvdata { int type; std::string key; std::string value; float priority;
3.0 で Intel Mac に対応しましたが、コーディング上のポイントを簡単にまとめておきます。AquaSKK はアプリケーションに密着して動作するコンポーネント部分と、それらとメッセージ通信して変換などを行なうサーバー部分に大きくわかれています。 1. コンポーネントの対応 まずコンポーネントですが、Universal Binary としてビルドすることに加えて、'thng' Resource に動作プラットフォームを適切に記述する必要がありました。 http://developer.apple.com/technotes/tn/tn2012.html 2. 変換サーバーの対応 こちらは単純に Universal Binary としてビルドすればいいと踏んでいたのですが、意外と苦戦しました。最初に躓いたのが、キーボードレイアウト毎に用意されたアイコンを IconRef から NSIm
プロジェクトページを更新し、今後について書きました。 http://aquaskk.sourceforge.jp/ AquaSKK とともにあった 8 年をふりかえると、人生の節目が詰まっています。 結婚した 子供が生まれた 祖母が死んだ 東日本大震災があった 母親が死んだ 家を建てた(覚悟を決めた) なかなか感慨深いですね。 ケジメですので、この日記も今日で閉めます。長い間お世話になりました。 またどこかで会いましょう。それまでお元気で。 リリースしました。OS X 10.6 以前には対応していませんので、ご注意下さい。 http://sourceforge.jp/projects/aquaskk/releases/ ▼追加・改善された機能 ・SKK 辞書(UTF-8)を追加 ・直接入力モードを追加 ・Java アプリケーションで文字種切り替え時にゴミが挿入される ・skkserv 辞書
このページを最初にブックマークしてみませんか?
『AquaSKK 開発日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く