2008/10/20

コトノコ 2.0a7

コトノコ2.0a7を公開します.辞書内容の連続表示機能を追加しました.とりあえず, 5つだけ連続して表示させるようにしました.外字表示/非表示の左にあるボタンをオンにすると, 5つ先の辞書内容まで表示されます.

単純に個数でいってますが, 辞書によっては少ないかもしれないし, 多すぎるかもしれません. うまい具合に調整できるといいんですけどね.

kotonoko-2_0-alpha-7.dmg (universal binary)
kotonoko-src-2_0-alpha-7.tar.gz (ソースコードのみ)

2008/09/28

ベルサイユそして帰国

ベルサイユ宮殿の庭園. かなり広いです.

今日は帰国の日. 飛行機が夕方なので, 荷物をホテルに預けてベルサイユ宮殿に行って来ました. ベルサイユはパリから電車で30分程度. 比較的頻繁に電車も走っているそうです.

なんとなく, ベルサイユは広い草原の中に宮殿が建っているイメージだったのですが,宮殿の前は大きな駐車場になっていました. 本当に観光地ですね. 宮殿内はすごい人で, ガイド付ツアーがひっきりなしに来て常に人だかりという感じでした. さらに, イベントか何かで現代アート(子供用のうきわやプールにしか見えないビニールバルーン)が展示してあり, 荘厳な雰囲気とはまったく合わず, 雰囲気ぶちこわしでした….

2008/09/27

美術館巡り

ルーブルで見たかったものの1つサモトラケのニケ. かっこいい.

今日は美術館巡りの日です. パリ・ミュージアムパスという美術館向けのフリーパスがあるので, それを有効活用しようという考えです. ルーブル美術館→オルセー美術館→オランジュリー美術館を1日で回ろうというスケジュール. 結構無茶苦茶ですが, 見る物を絞って行きました.

とりあえず朝から, 一番混みそうなルーブル美術館のモナリザへ.モナリザは硝子の中にある上に, 近寄れない様に柵が設けられていました.これだと, 雑誌で見た方がよく見えるんでないなかなぁという感じですが,やはり人は一番多かったです. しばらく経ってから近くを通った時に覗くと本当に人だらけだったので, 早めに行ったのは正解みたいです.

あとは, 「絵画は○○展などで日本に来る事がある」という考えで, 彫刻やら調度品に狙いを定めて鑑賞しました.お昼ぐらいまでにひとまわりして, 美術館内のカフェでお昼にしました.

2008/09/26

観光地巡り

バトーパリジャン

今日はパリの観光地巡りをしました. 完全に観光客モード. 昼食に, エッフェル塔の近くから出発するセーヌ河ランチクルーズを予約しておいたので,午前中に凱旋門→エッフェル塔を見る. あとは, 元気があればサクレクールを見にいこうかという予定でした.

パリでの移動はほとんど地下鉄. 市内は均一料金ですし, パリ市交通公団(RATP)に駅探みたいなサービスもありますし, かなり便利に使えます. ちなみに凱旋門は, Charles de Gaulle Etoileという長い名前の駅が最寄り駅です.

2008/09/25

Mont Saint-Michel

フランス, ノルマンディー地方にあるモンサンミッシェルは, 一度は見ておきたいと思っていた所でした. ただ, パリからは遠く片道4時間はかかります. TGVでレンヌまで行ってバスという経路もありますが, 今回は日本語人向けのバスツアーを利用しました.

日本人向けツアーなので, 当然参加者は日本人のみ.旅行シーズンでもない平日の今日, そんなに参加者はいないのではないかと思っていましたが, 大型バスが2台でる程の盛況ぶり. 日本人結構パリに来てるんですねぇ…

運転手2名以外すべて日本人という, 海外に来たんだかよく分からない状況でバスに揺られる事4時間. モンサンミッシェルが見えて来ました. パリを出発していたときは曇っていた空も, 天気予報通り青空になっていました.

2008/09/24

Paris

ルーブル美術館のピラミッド

遅めの夏休みをとって, 夫婦でパリに遊びに来ました.仕事で海外は何度かありますが, プライベートでは初めての海外です. 妻は大学の卒業旅行以来の海外旅行. 海外旅行に不慣れな2人だけで多少心配ではありますが, 観光地ですしなんとかなるでしょう.

初日は夕方頃にパリ到着. チェックインを済ませて少し街中をうろうろしました. その感想としては,

  • 歩きタバコが多い : カフェなどは全面禁煙のはずですが, 街中はタバコを吸っている人を良く見ます.
  • 歩行者信号は守られない : 中央分離帯の手前と向こうで別々の信号機がついていたりするので, 歩行者信号は分かりにくいです. そもそもパリの人は赤でも平気で渡っていたりします. 守っていたとしても, 車道側が黄色になるともう歩き出しています.

そんな事を思いながら, オペラ座からルーブルまでテクテク歩いて初日は終了. 明日は, モン・サン・ミッシェルです.

2008/08/02

帰国

フィンランドから帰ってきました.往復ともにアムステルダム経由で, 日本-ヨーロッパ間はJAL便. という事で結構映画を見る事ができました.

往路 : 到着が夜なのでできるだけ寝ないように, ひたすら映画を見ていました. 結局見たのは「21(邦題:ラスベガスをぶっつぶせ)」「Street Kings(日本未公開)」「バッドマンビギンズ」の3本. 脳みそを英語モードにする為に, 英語音声+英語字幕がベストなのですが, 残念ながらその設定はなく英語音声のみ. すべての内容を理解はできませんが, 多少は英語モードに^^;;

復路 : 日本着がお昼なので, とりあえず離陸したら寝てました. そんな理由で見た映画は少なめで「アフタースクール」と「アイアンマン」の2本.

往路復路共にVoDタイプのシステムだったのは良かったです. 放送タイプだと, 途中から見る事になったり, 次始まるのを待ってないといけないので効率が悪いですからね. あとはもう少し視野角の大きい液晶だといいのですが…前の人が座席を倒していると見にくいのがなんとも…. 左右の視野角は要らないから上下を…って難しいかなぁ….

2008/07/30

Turku

今回出張の目的地はフィンランド第3の都市Turkuです.音楽祭が有名らしいですが, 出張期間は音楽祭の直前. 残念ながら見る事はできませんでした. ただ, 町の中心を流れるアウラ河沿いでは, いつも音楽が流れていました.もっとも, ハードロックかヘビメタかという感じが多かったので, 町の雰囲気に合っているかというと微妙ですが….

トゥルク港の近くに, トゥルク城という城があります. もっとも城壁もなく, こじんまりとしていて, 城というよりは要塞という感じです. ここで国際会議のbanquetがありました.王様主催の祝宴に招待されたというストーリー仕立ての珍しく, 途中休憩付で3時間もある長いbanquetでした.

banquetが終わったのは10:00すぎ. しかしまだ, ほんのり明るい.ちょっと距離がありましたが, テクテク歩きながらホテルまで戻っていると,何か徹夜で飲んで朝帰りという気分でした….

2008/07/28

所持品

地球の歩き方

海外出張は年に1回程度なのですが, 地球の歩き方は一応持って行っています. 初めての海外出張の時, 旅行会社からもらった地図の場所にホテルがなく, 地球の歩き方を見てたどり着いたというのも理由のひとつですが, 電車の乗り方などの情報が結構便利という事もあります. 今回の目的地Turkuは2ページぐらいしか載っていないので, ちょっと悩みましたが持って行きました.

で, もう1つ. 行きの空港で時間があったのでふらふらしてたら見つけた1冊. 旅の指さし会話帳. フィンランド語の本です. これが結構活躍しました. といっても, 英語が通じるので, 使った単語は Kiitos (キートス/ありがとう) ぐらいですが.

食事や交通など旅行時に便利な言い回し, 単語が載っているので, 地元のものを指定するのに便利でした. 試しにLonkero(ロンケロ)を頼んでみると, ちゃんと通じました. ジンとグレープフルーツのお酒らしいですが, グレープフルーツサワーみたいでした. 北国なのでアルコール度数が高い酒を飲んでいるのかと思ったら全体的に度数は低いですね. 地元のビールを頼んだときも「strong」といって度数5.5%でしたから.

海外に行く時, 1,2,3 ぐらいは覚えて行く様にしています. 切符を買うときも「(地名) 1」で通じるので便利なのですが, フィンランド語は結局覚えきれませんでした.1,2,3が yksi(ウュクシ), kaksi(カクシ), kolme(コルメ) … 難しいです.

2008/07/27

Helsinki

ヘルシンキ中央駅

出張でフィンランドに来ています. 目的地はフィンランドで3番目に大きい都市 Turku ですが, 飛行機の関係上ヘルシンキで1泊して朝から Turku に向かいます.

Helsinki空港についたのは, 午後10時すぎでした. しかしまだ外は明るく, ようやく暗くなり始めている感じです. 知識として緯度が高いと夏は日が長いというのは知っていますが, 実際に体験すると奇妙なものです. 時差ぼけ…ではないですが, ちょっと時間の感覚がおかしくなってしまいますね.

こんな時間について, 朝から電車で移動なので本当に1泊しただけでした.見た所といえば, 早朝にホテルの回りを散歩したぐらい.ヘルシンキ大聖堂ぐらい見て来たかったのですが, 道に迷って時間がなくなってしまいました^^;;

2008/07/11

定山渓

定山渓

サミットで警備が厳しい北海道に9日から出張してきました.羽田は早朝なのでそこまで混んでいませんでしたが, 北海道専用の手荷物検査場が設置されていました. 特段いつもより厳重に検査された感じがなかったのは, サミット最終日だったからでしょうか. 新千歳空港も警察犬がうろうろしていたりと, ものものしい様子がありましたが, 混雑もしておらずいつもと変わらない雰囲気でした.

出張先は札幌市の定山渓. 札幌市とはいえ市街地からは遠く, 温泉街をふらっと歩いた程度で, ほとんど缶詰でした. 夜もナイトセッションなどがありましたしね….空港との間も直行バスでしたし, あんまり北海道に行った気はしてません.昔は, 出張のついでにちょっとでも時間を作って観光していた気もしますが,最近は下調べをしている時間もないし, そういった事をする元気もないですね. 歳をとったからでしょうか….

2008/07/01

健康診断

会社での定期健康診断が行われました. 健康診断自体は毎年行われているのですが, 今年は初めてバリウムを体験しました. 不味いだの飲めないだの色々と噂は聞いていたバリウムでしたが, 意外にも普通に飲めました. まぁ「思ったよりも」普通に飲めたというだけですが…

それよりも, バリウムを飲む前に飲む発砲性の粉末. あまり説明のないまま粉末と水を渡されたのですが, 口の中に入れた瞬間「しゅわっ」として驚きました. 素早く水を飲まないといけませんね, あれは….

2008/06/26

地下鉄ダンジョン

副都心線が開通しまいした. 私の行動圏内が「沿線」と呼ばれる地域なので心待ちにしていました. 開通当初は色々トラブルもありましたが, まぁ便利になるのかな? という感じです.普段より2両少ない8両編成の電車が混じり, 電車がどこに止まるのか気にしないといけない様になったのは面倒ですが…. 地下鉄の乗降口って大体端にありますしね.

そんな中, 渋谷駅の構内案内図がRPGのダンジョンの様だという話になっています. ここは元々銀座線のホームが地上3階にあったり, JRや私鉄など多くの路線が通ってたりと複雑でしたが, 改めて図面化されるとすごいですね.

これに対して, 横浜駅や新宿駅, 東京駅ともっとダンジョンっぽい駅はどこだという話題になっていますが, わかりにくさという点では, 東京メトロ 赤坂見附/永田町駅を推したいですね. ここは丸の内線・銀座線(赤坂見附)・半蔵門線・南北線・有楽町線(永田町) と東京メトロの5線が通ってます. 駅名は違いますが半蔵門線のホームを通じて繋がっていて1つの駅のイメージです. ここ, 立体図で見ると大して複雑ではないのですが, 小さなフロアが階段で繋がっている構造をしているので, 駅構内にある平面図での案内ではまったく分かりません. 半蔵門線ホーム(地下6階)に下るエスカレータの長さなども, ある意味ダンジョンっぽいかなーという気はしますがどうでしょう?

2008/06/24

メンテナンス終わりました

しばらく閉鎖していましたが, 無事メンテナンス完了しました. 最近動きが妙な所があったのでいろんな所を作り直しています. ついでに思いっきりデザインを変更しようかとも思いましたが, そこまで時間がとれなかったので見た目はほとんど変わっていません.

今回, prototype.jsやscript.aculo.usといったJavaScriptライブラリを使ってみました. あまりこれらに依存すると普通のJavaScriptが書けなくなりそうなので避けていましたが, 使った事がないのも問題かな? という事で使ってみました. 結局自前のライブラリとして持っていた部分を他のライブラリを呼び出すよう変更しただけなので変わらないのですけどね.

2008/05/29

コトノコ 2.0a6

コトノコ2.0a6を公開します.新機能の追加は「goo辞書」と「Yahoo!辞書」を検索可能とする機能の追加です.

SaaSなどが流行ってますが, すべてのアプリがネットワーク上に…と一気にいくのではなく, 足りない部分をネットワークで補完するというステップがあってもいいのかな? という事で通常の辞書と同じ感覚でWeb上の辞書をひく機能を追加しました. alc等のようにメタ検索を禁止している所もあるので,すべてを追加する事はできないんでしょうけどね.

kotonoko-2_0-alpha-6.dmg (universal binary)
kotonoko-src-2_0-alpha-6.tar.gz (ソースコードのみ)

2008/05/24

バラが満開

バラ

近くに用事があったので新宿御苑にふらっといくと, バラ園が満開との張り紙がありました.行ってみると確かに満開. 何度か新宿御苑に来た事はありますが, ここまで満開の時に来たのは初めてです.

花が咲いてない時は気づいてなかったのですが, 様々な種類のバラが大まかな分類毎に植えられていました. バラっぽいものから, バラのイメージとはかけ離れたものまでいろんな種類があって面白かったです.また, 色々な種類があるためなのか, 名前にも変わったものが多いです. 「プレイボーイ」という品種はいろんな所で見ますが、「プレイガール」というのもありました….

2008/05/01

2からXへ

WebARENAのレンタルサーバをいままでのSuite2からSuiteXに移行しました.ついでに MovableType 4.0にバージョンアップしたので, 移行できていない箇所もありますが, おいおい修正していきたいと思います.

2008/04/22

IRcat 20080422

やはり, 日頃使っていない機能にはバグが残ってしまうものらしく, IRcat 20080415にはバグが多く残ってしまっていました.レンタルサーバの容量も厳しくなってきているので, SourceForgeあたりを借りてリポジトリを公開した方がいいんですかね.

とりあえず, 現状分かっているバグを修正した版を公開します. 20080415-10_4をベースにしているので,10.4以降で動作します. 10.5専用版と比較すると少しデザインが変わっていますが, 機能的には変わりありません.

ircat-20080422.dmg.gz (universal binary)
ircat-src-20080422.tar.gz (ソースコードのみ)

2008/04/15

IRcat 20080415

最近IRC自体をやっていなかったので, 気づけば1年以上放置状態だったIRcat. 細かな修正は行っていたのですが,気づくと公開しているソースと, 手元にあるソースが大きく違っていました.ほっておくのもあれなので, IRcat 20080415を公開します.

この版から MacOS X 10.5以降を必須にしていますが, 形態素解析エンジンが10.5では非推奨になっています.64bit化の影響っぽいですが, 代替するものがないのは困ったものです.CFStringTokenizerを使えとありますが, これでは品詞が分からないので不十分です.mecabが入っているのでこれを使う事も考えましたが, うまくいかなかったのでとりあえず形態素解析エンジンはオフにしています.

ircat-20080415.dmg.bz2 (universal binary)
ircat-src-20080415.tar.gz (ソースコードのみ)

(※ 4/18 追記) 20060718版は色々と問題がある様なので, MacOS X 10.4で動作する20080415版を公開します.10.4での動作チェックはしていませんが多分動くと思います.

(※ 4/21 追記) このバージョンも問題が多い様です. 動作確認が取れたら 10.4対応バージョンとして新しい版を公開します.

ircat-20080415-10_4.dmg.bz2 (universal binary)
ircat-src-20080415-10_4.tar.gz (ソースコードのみ)

2008/04/10

コトノコ 2.0a5

コトノコ2.0a5を公開します.今回は基本的に細かい修正です. 具体的にはTABキーでのforcus移動を実装しています.フルキーボードコントロールをONにした場合には対応しきれていませんが, とりあえず使えるのではないでしょうか?

対応しきれていない箇所は, 複合検索時の disclosure (三角形のコントローラ) を切替た場合のフォーカスが移動されません.コード上では実装できているはずなのですが…何が悪いんでしょうね.

■ kotonoko-2_0-alpha-5.dmg (universal binary)
■ kotonoko-src-2_0-alpha-5.tar.gz (ソースコードのみ)

2008/04/09

mixi widget 1.10

mixi widget 1.10を公開します. 通信回りをcURLからNSURLConnectionに変更しました.1.9.xではLeopardで発生した通信回りの問題を解決する為に通信部分をcURLに変更しましたが,proxyまわりで問題がある為プラグインでの通信に再変更しました. JavaScriptだけで解決できるのが一番いいのですけどね.SafariでのCookieの設定に依存せずに利用が可能となったはずです.

ついでに(?), mixi stationで使われているATOM/APPを用いた「新着情報」の表示機能を追加しました.クリックしても直接メッセージ本文や, コメントのある日記には飛べないのですが,そういう情報しか来ないので仕方ないですね….

mixi_widget-1_10.dmg(Mac OS X用)

2008/04/01

コトノコ 2.0a4

コトノコ2.0a4を公開します.複合検索のインタフェースというのは, かなり難しく悩ましい問題です. しかもあまり使われていない気もしますしね.1.0ではかなり変わったインタフェースにしていましたが, 2.0は普通のインタフェースです.キーボードだけでの操作は難しいかも知れませんが, 分かりやすくはなったでしょうか?

キーボードだけの操作といえば, TABでの移動あたりがまだうまく動いていないので, そこも変えないといけないでしょうね.しかしまぁ, 一通りEPWING辞書にアクセスする機能の実装は終わったので一段落でしょうか?

■ kotonoko-2_0-alpha-4.dmg (universal binary)
■ kotonoko-src-2_0-alpha-4.tar.gz (ソースコードのみ)

2008/03/29

お花見に行って来ました

桜

丁度今週末が見頃という事で, 新宿御苑までお花見に行って来ました.入場料を取られますが, かなり広い公園なので比較的ゆったりと桜が見れるのがいいです.また, 種類が多いのでちょっと次期がずれていても楽しめます.今日は全体的に満開でしたが, しだれ桜はまだまだという感じでした.

縁がうっすらとピンクでとても綺麗な桜があり, すごく気に入ったのですが, 看板によるとそれは「アメリカ」という種類でした.この為, 「アメリカにまた行こうよ」「アメリカはこっちだよ」などという傍で聞くとあやしい会話がなされていました.

2008/03/24

コトノコ 2.0a3

コトノコ2.0a3を公開します.外字一覧の追加を行っています. NSCollectionViewだのIKImageBrowserViewだのと前回言っていましたが,結局NSMatrixを使っています. これが一番動作が軽かったのですが, それならもっと早くこっちにしておいた方がよかったのかな? 最初の版が2001年なので, マシンのスペックが上がっただけかも知れませんが….

ついでに, 外字をビットマップで表示させる機能も追加しています.これに伴って外字ファイル(.gaiji)ファイルの形式も変わっています. ただし, 初回起動時に自動的に変換されるので気にする事はないかと思います. 注意すべきなのは,コトノコの外字ファイルを読み込めるアプリに対してですが, その場合は旧形式(1.x)で書き出して下さい.

■ kotonoko-2_0-alpha-3.dmg.gz (universal binary)
■ kotonoko-src-2_0-alpha-3.tar.gz (ソースコードのみ)

2008/03/13

attachmentを削除する

NSAttributeStringから通常の文字列を取得するには, +(NSString*) stringを用います.しかしながら, NSTextAttachmentで画像等を含ませていた場合, 見た目には何も問題がないのですが,「見えない文字」が入っています. ドキュメントを見ると「attachment charactersを除く処理はしないから, NSTextのstringを使ってね」と書いてありますが, NSTextは viewなのでちょっと面倒です.そんな訳でattachmentを削除する方法です.

これは, コトノコの複合検索で検索語に画像が入っていた場合, NSTokenFieldに渡す時に使っています.

IKImageBrowserViewを使う

IKImageBrowserView

前回に続いて外字一覧ウィンドウの話. NSCollectionViewは速度的に問題があったので,Image Kitに含まれるIKImageBrowserViewを使ってみました. 結論からいくと画像ブラウザを指向しているだけあって速度的には問題なし.ただ, バグがまだまだ多いのかなという感じでした.

外字一覧ウィンドウは辞書を変更する度に中身が変わります. で, 頻繁に内容を入れ替えていると落ちる.こっちでrelease済みのデータにアクセスしている感じです. 仕方ないので, ガベージコレクションを入れると落ちなくなるのですが, リークメモリが凄い事になります. 使い物になるにはしばらくかかりそうです.

2008/03/02

機種変更しました

W61P

携帯電話の機種変更のサイクルは長くなっている様ですが, 1年ぐらい使っていると機種変更したくなってきました.どの端末にするか悩みましたが, 薄くて邪魔にならないのと,このサイズでワンセグ(使わないだろうけど)/FeliCaとそこそこ機能が入っているので決めました.KCP+端末にするか悩みましたが, 今回はちょっとパスしました.

いままでがソニエリのW43Sだったので, 入力方法が微妙に違ってますが,平らなキーは見た目よりはずっと打ちやすいし, いい感じです.機能がすごく増えた訳ではないので, すごく変わったという感じはないですが, 新しい端末は楽しいものです.

2008/02/29

NSCollectionViewを使う

コトノコで辞書の外字一覧を表示させるウィンドウ. いままではNSTableViewを用いて一覧を表示させていましたが,辞書によっては5000近くの外字があり, 表示されるまでが遅いし, 使いにくいという問題がありました.そこで, 文字パレット位のレスポンスを期待してMac OS X 10.5から追加されたNSCollectionViewを使ってみました.

結論からいくと, 5000個のエントリを表示させるには遅すぎて使えません.NSViewを使っているので重いという話はあったのですが, とりあえず使ってみるとやはり重い.コトノコに使う事はないですが, 備忘録も兼ねて使い方をまとめておきます.

2008/02/21

mixi widget 1.9.1

今まで通信関係はDashbordが良きに計らってくれたのですが, cURLを使った事によりそうもいかなくなってしまったので修正を行ったmixi widet 1.9.1です.設定画面にproxy serverの欄が追加されているので, 「proxy.mydomain:8080」の様に「サーバアドレス:ポート番号」の書式で入力して下さい.

mixi_widget-1_9_1.dmg.gz(Mac OS X用)

コトノコ 2.0a2

コトノコ2.0a2を公開します.いくつかバグが見つかったのでその修正と不足していた機能を追加した版です.後は外字一覧のウィンドウを作れば, 1.0とほぼ同じ機能になるでしょうか.外字一覧はNSCollectionViewを使うかIKImageBrowserViewにするか思案中ですが.

あと, 今回から 10.5以降専用になっています.

■ kotonoko-2_0-alpha-2.dmg.gz (universal binary)
■ kotonoko-src-2_0-alpha-2.tar.gz (ソースコードのみ)

2008/02/20

レンダリングにWebKitを使う

コトノコのビュー画面にWebViewを使う事を考えてきましたが, うまく結合文字を表示させる事ができないので,コトノコの辞書内容表示としては使えません. 他の用途になら十分なのでしょうけどね.

ただ, HTML + NSURLProtocolの方が便利な事も多い訳で, どうするかなぁと考えていると, NSAttributeStringの initWithHTML: options: documentAttributes:は10.4からレンダリングにWebKitを使っているとの事.使ってみると, NSURLProtocolで定義した独自プロトコルも普通に呼んでくれます. NSTextViewにレンダリングしたテキストを流し込むと結合文字もちゃんと処理してくれています.結局これで行く事にしました.

2008/02/18

mixi widget 1.9.0

httpアクセスをXMLHttpRequestから cURLに変更した mixi widget 1.9.0を公開します.Leopardになって, setRequestHeaderでCookieが設定できなくなってしまい, Leopardでmixi widgetが使えなくなっていた人もいるかと思います. Safariの設定変更でなんとかなるのですけどね. ちょっとまだ不都合が多いかも知れませんがとりあえず公開です.

Vista版はあまり反応がない様なので今回はありません.

mixi_widget-1_9_0.dmg.gz(Mac OS X用)

2008/02/13

画像, 動画を張り込む

WebViewに画像や動画を張り込む場合, ファイルやネット上の画像の場合は素直にHTMLとして記述すればいいのですが, 動的に生成する画像の場合, いちいちファイルに書き出すのも馬鹿らしいです.いままでと同じ様にNSURLProtocolのsubclassを実装して解決します.

結合文字の取扱い

結合文字

WebView版のコトノコを使っていると, 外字の表示が崩れている箇所があったりします.よく調べてみると結合文字の取扱いがおかしい様です.音声記号のI (LATIN LETTER SMALL CAPITAL I) にアクセント記号 (COMBINING ACUTE ACCENT) をつけたものをNSTextViewに表示させたものと, Safariで表示させたものの比較が右の図です.NSTextViewではきちんと上にアクセントがきているのが, Safariでは表示できていないのが分かります.

一番右にあるのは, 合成用記号にある "COMBINING ACUTE TONE MARK"をつけたものです.こちらの方は, Safariでもヒラギノ角ゴ (下) ではきちんと表示されています. 普通のアプリでは問題ないのでしょうが, 辞書アプリであるコトノコではちょっと問題です.

(ちなみに, Safariのデバッグメニューにある「Use ATSUI for All Text」を入れても同じ結果でした.)

検索する

検索結果

Safari 3.0から追加された検索文字列がポップアップするあのインタフェース. WebKitを使えばすぐに実装できるかと思っていたのですが, 現実はそうは甘くはありませんでした.

WebViewで提供されている検索メソッドは, searchFor:direction:caseSensitive:wrap: ただしこれは検索ダイアログ用のメソッドで, コトノコの様なレイアウトだと, ターゲットを持って行かれるので使えません.NSTextViewにはshowFindIndicatorForRange:なんてメソッドが追加されたのにWebViewでは使えないのです.

2008/02/05

スタイルシートを追加する

テキストビューワとして素のWebViewを利用した場合, お世辞にも見やすいとは言えません. そこで, スタイルシートで指定してレイアウトを変更します.

スタイルシートの指定方法は2つ.

  • WebPreferencesのsetUserStyleSheetLocation:で指定
  • HTMLのヘッダで指定

スタイルシート自身は、ファイルを作成して file: プロトコルを使って指定しても良いですし、新しいプロトコルを定義して動的に生成してもかまいません。

2008/02/01

NSTextViewの代わりにWebViewを使う

アプリの中にはテキストを表示するものが多くあります. メールアプリのメール本文, 辞書表示アプリの辞書内容表示部分など. これらの表示部分にはNSTextViewが利用されている事が多いです. フォントや色の変更も自由ですし画像も張り込めますしなんら問題ないのですが, WebViewを代わりに使おうと思って調べてみました.技術的に面白そうという事もありますし, HTMLで自由にレイアウト変更ができるので, 楽になるんじゃないかな? という事もあります. (※NSTextViewはHTMLを読み込めます). 題材としては, 辞書ビューワのコトノコを使います.

通常, NSTextViewをビューワとして使う場合には, 表示するテキストを成形して setAttributedString:で設定という流れです. 一方, WebViewを使う場合には, URLを設定して(正確には NSURLRequestをWebViewに送って)その内容をWebViewが表示するという流れになります.

あらかじめ, HTMLファイルがある場合は file: プロトコルでファイルを直接指定すれば良いのですが, 辞書内容等を全部HTMLで書き出すのは現実的ではありません. そこで, eb: というプロトコルを新たに定義してそれを指定します. そしてそのプロトコルを処理するのが, NSURLProtocolです.

2008/01/28

コトノコ 2.0a1

コトノコ2.0a1を公開します. 1.0と比較すると, すべての機能が実装されていないので, alpha版としての公開です.2.0で一番のポイントであるDashboardからのコトノコ呼び出しもまだ実装できていません.

コトノコ2.0で行いたかったのはユーザインタフェースの一新. 見た目を「今風」にしてみました.LeopardからOS標準のアプリ「辞書」に日本語辞書も追加され, Spotlightやコンテクストメニューから検索できる等普通の人はこれで十分なのではないかという気がするアプリになりました. それじゃぁコトノコはどうしようか?という事でとりあえず見た目から変えてみました.

なお, 英語リソースは入っていません. またソースコードには英語リソースが入っていますが(単純にsvnをexportしたため)このソースコードでmakeしたバイナリを英語環境で起動させた場合, 正常に動作しません.

■ kotonoko-2_0-alpha-1.dmg.gz (universal binary) ■ kotonoko-src-2_0-alpha-1.tar.gz (ソースコードのみ)

2008/01/17

MacBook Air

MacBook Airが発売されました.ついこの間MacBookを買ったばかりなので, 買い替えはないですが,個人的には仮想マシンを諦めればスペック的には十分で, いいなぁという気がします.ちょっと高い気もしますが….

ただ, 学会のProceedingはほとんどCD-ROMなので,光学ドライブは欲しいんですけどね. 外付けでいいといえばそうですが.

2008/01/14

ラスベガス出張

Bellagio

年の初めからラスベガスに出張してきました. この時期CESという大きな展示会が開催されているのですが, それではなく, 国際会議への参加です.とはいいつつ折角この時期にラスベガスに行ったので, CESものぞいてくるかと思っていたのですが,乗り継ぎ便が遅れたりと時間が無く結局行けませんでした.

ラスベガスのホテルは, カジノはもちろんですが, ショッピングモールが併設されてたり, アトラクションがあったりと一種アミューズメントパークみたいになっています. 無料のショー等も行われていたりして, ふらふらと歩いているだけで, 楽しめる街でした.

ほとんどのホテルにはbuffetがあり, $10~$25ぐらいで食事ができます.海外では食事に困る事が多いのですが, ラスベガスは1人でもリーズナブルな値段で食事ができるので困る事はなかったです. 高級ホテルでも値段はそこまで変わらないですし, いろいろな所で食事ができてよかったです.結局滞在中, 朝夜の食事はすべてbuffet. 食べるすぎるのが難点ですね…

特に問題もなく出張は終わったのですが, ちょっと困ったのが帰りのロサンゼルスでの乗り継ぎ.案内がほとんどなく, 迷いました…. 行きはサンフランシスコ経由だったのでロサンゼルス空港は初めてだったし, 乗継時間も1時間程度しかなかったのでちょっと慌てました.同じ便に日本の方がいらしたので助かりましたが, 少しは調べておかないとだめですね…