GUCHI

-Getto Unaritakunaru Chotto Heiwa na Itinichi tati-

[install log] [OPG] [title list] [lost world] [gallary] [RSS] [home]
hns - 日記自動生成システム - Version 2.19.9

2005年11月03日(木) [そういえば昔は…]

(曇り)
予定:【文化の日】

♪1 きょ

ごご :「ロードオブザリング 王の帰還」を DVD でようやく見る。 例によって4時間とは長過ぎる。 劇場では半分ですか? しかし象 vs 騎馬は非常に迫力があった。 すげいよ、象、鼻一振りで飛ぶわ飛ぶわ。
よる :自転車買ってからまたよく銭湯行くようになったので、回数券復活。
しんや :PowerBook のディスクの整理。 iTunes でロスレスでエンコードしていたものを AAC でエンコードし直したら 5GB 以上もディスクが空いたりして。 これでしばらくは現 Ti な PowerBook で生きてゆけます。 なんか Al はかっこわるいし、高いし。


2005年11月05日() [そういえば昔は…]

太田(晴れ)

♪1 きょ

太田市場の果物屋。1個じゃなくて1山ね。
さくや :会社のマシンルームの UPS が落ちたみたい。 これ、ちょっと前にトラブった UPS なのよね。 交換しておけば良かった、しくしく。
ごぜん :太田市場なるところに寿司を食いに行く。 父親のなじみの店だとか。 うまうま。 ついでに市場もうろうろしてみる。 この市場は日本一のお花市場だとか。 お花は見れなかったけれど、その他なぞのモノどもを見る。 果物がべらぼうに安かった。
よる :テレビで映画「スウィングガールズ」を見る。 DVD 持ってるのだけれどね。 しかも DVD はまだ見ていないのだけれどね。

♪2 [lost] today's get

[雑誌] UNIX MAGAZINE 11月号RANCID と P2P を使った アリエル・マルチスケジューラ なんかの記事が興味深い。
[自転車] CC-MC100W :ワイヤレスタイプの自転車のトリップメーター。 BROMPTON 買ったときから欲しかったんだよなあ。 まだ取り付けてないので何とも。 これでいっぱい走るぞー。

♪3 にうす

デジ・アナ同時録画のスゴ録、ソニー「RDZ-D90」〜 CoCoon/PSXのイイトコ取り。新HDスゴ録 〜 :最初に出した RDZ-D5 でここまでやってほしかったけれどね。 全部アナログレコーダではやっていたことなのだから。 あとは、デジタルレコーダでも おでかけ・スゴ録 できるようにしてほしいなあ。 PSP よりも iPod に転送できた方がいいけれど。
高信頼設計でさらに進化を遂げたRAID5対応LAN接続ハードディスク“TeraStation” :実は家に置きたいと考えているのだが、旧モデルの 金庫 デザインの方が良かったなあ。


2005年11月06日() [そういえば昔は…]

(曇りのち雨)

♪1 きょ

ごご :にゃんか今日もトラブっているみたい。 重なるときはとことん重なる。
ゆうがた :ここ1ヶ月毎週末は雨雨雨。 うぜえ。 仕方ないのでたまりまくっている録画したテレビを見続ける。
よる :テレビで北野武の「座頭市」を見る。 テレビにしては珍しくスタッフロールが全て流れたり。 先週の LOVERS もだったけれど、5.1ch にしてくれるのはありがたいなあ。 地デジ万歳。

♪2 [Mac] Spotlight いろいろ

検索に超便利な Spotlight 。 ただ、テキストファイルはデフォルトでは SJIS か UTF8 のものしかインデックスを作成してくれない。 そんなあなたのために、 JapaneseText.mdimporter 。 これで EUC などの他のエンコードのテキストファイルも検索可能になる。 が、これだけでは HNS の日記ファイル(.hnf)の全文検索ができるようにならなかった。 そこでいろいろ調べてみた。
Spotlight のインデックス、メタデータを管理するコマンドに mdimport というものがある。
 $ mdimport -d1 huge
のように実行すると、huge というファイルのメタデータがインデックスに登録される。 「-d」というのはデバッグ出力を有効にするもの。 例えば -d1 で実行すると、
2005-11-06 17:45:50.303 mdimport[4415] Import
 '/Volumes/Data/Users/youhe/huge.txt' type 'public.plain-text' using
 'file://localhost/Volumes/Data/Users/youhe/Library/
 Spotlight/JapaneseText.mdimporter/'
といったメッセージが表示される。 huge.txt は public.plain-text というタイプで、 JapaneseText.mdimporter というインポータでメタデータを抽出する、というような意味。 たとえば huge.hnf と huge (拡張子なし)のファイルを mdimport してみると、
2005-11-06 17:45:50.536 mdimport[4415] Import
 '/Volumes/Data/Users/youhe/huge.hnf' type 'dyn.ah62d4rv4ge80u7phqe'
 no mdimporter
2005-11-06 17:45:50.540 mdimport[4415] Import
 '/Volumes/Data/Users/youhe/huge' type 'public.data'
 no mdimporter
というようになった。 huge.hnf はタイプが dyn.ah62d4rv4ge80u7phqe、huge は public.dataで、対応するインポータがない、ということになる。 さて、mdimport は UTI (uniform type identifier) と呼ばれるタイプに応じて、 そのファイルに使用するインポータを決定する。 上の例では huge.txt の UTI は public.plain-text、huge.hnf のは dyn.ah62d4rv4ge80u7phqe、huge のは public.data 。 huge.hnf の UTI の dyn.ah62d4rv4ge80u7phqeは動的 UTI で、これが表示されるのは一般的に 既知の UTI にマップできない ことを表す。 つまり OS はこいつが何者だか分かっていない、ということ。 逆に拡張子なしの huge というファイルは UTI が public.dataというものだと分かっている、ということ。
UTI が分かっているものは、インポータの Info.plist の 「LSItemContentTypes」に追記するだけで、 そのインポータでメタデータを抽出することができた。 たとえば JapaneseText.mdimporter の Info.plist に public.data を追加して
$ mdimport -r ~/Library/Spotlight/JapaneseText.mdimporter
で再インポートをかけると、拡張子なしのテキストファイルの検索ができるようになる。 が、Apple Mail のメールボックス自体なんかもインデックスに追加されてしまう。 片っ端から追加されすぎてかえって使いにくい。 さらにこれでは拡張子が hnf のファイルの検索はできない。 では hnf のファイルを検索できるようにするにはどうすればいいのか。
簡単に考えると、hnf なファイルをテキストに関連づければ良さそうに見える。 Mac のファイルの関連付けは Windows と違って、 拡張子ではなくファイルタイプによる、ものだったが、 最近はファイルタイプだけではなくなった *1 ようだ。 ファイルタイプに関しては /Developer/tools/ 以下にある GetFileInfo、SetFile で情報の閲覧、操作を行うことができる。 拡張子が hnf のファイルに何かを関連づけようとした場合、最初に行おうと思うのは Finder での変更(このアプリケーションで開く)かと思う。 これでテキストエディットに関連づければ、ダブルクリックで開くようになる。 が、これでは hnf の UTI は public.plain-text などには変わらない。 では SetFile でファイルタイプを TEXT にしてみる。 hnf ファイルのアイコンが変わったけれど、やっぱり UTI は変わらない。
ところでうちの Mac には MS Office 文書を開くことができるアプリケーションはインストールされていない。 ただ、MS Office 用のインポータは最初から入っている *2 。 このインポータの Info.plist を見ると「UTExportedTypeDeclarations」という箇所に Word/Excel/PowerPoint の記述があった。 Word の部分は以下の通り。
<key>UTExportedTypeDeclarations</key>
<array>
	<dict>
		<key>UTTypeConformsTo</key>
		<array>
			<string>public.data</string>
                </array>
                <key>UTTypeDescription</key>
                <string>Microsoft Word Document</string>
                <key>UTTypeIdentifier</key>
                <string>com.microsoft.word.doc</string>
                <key>UTTypeTagSpecification</key>
                <dict>
			<key>com.apple.ostype</key>
                        <array>
				<string>W8BN</string>
                                <string>W6BN</string>
                                <string>WDBN</string>
                        </array>
                        <key>public.filename-extension</key>
                        <array>
				<string>doc</string>
                        </array>
		</dict>
	</dict>
com.apple.ostype はファイルタイプ、public.filename-extension は関連する拡張子。 JapaneseText.mdimporter には「UTExportedTypeDeclarations」の部分はなく、 「LSItemContentTypes」に public.plain-text が記入されているだけ。 ここに hnf 用に「UTExportedTypeDeclarations」を追加してあげれば良いのではないかと。 で、以下のように JapaneseText.mdimporter ソース中の Info.plist *3 に以下のように追記。
<key>UTExportedTypeDeclarations</key>
<array>
	<dict>
		<key>UTTypeConformsTo</key>
                <array>
			<string>public.data</string>
                        <string>public.content</string>
                </array>
                <key>UTTypeDescription</key>
                <string>Hyper Nikki File</string>
                <key>UTTypeIdentifier</key>
                <string>com.hns.hyper-nikki-file</string>
                <key>UTTypeReferenceURL</key>
                <string>http://www.company.com/yourproduct</string>
                <key>UTTypeTagSpecification</key>
                <dict>
			<key>public.filename-extension</key>
			<array>
				<string>hnf</string>
			</array>
                </dict>
	</dict>
</array>
で、「LSItemContentTypes」に com.hns.hyper-nikki-file とか勝手に付けた UTI を記入してビルド。 このインポータを使って mdimport してみると、com.hns.hyper-nikki-file と認識され、JapaneseText.mdimporter で抽出できるようになった。 この設定をしても Finder 上の見た目は変わらないし、ダブルクリックの動作も変わらず。
こんな方法で良いのかは分からないけれど、一応できた。 結局拡張子があるファイルは拡張子で使用されるインポータが判断されてしまうみたい。 ファイルの中身自体かファイルタイプで判断してもらえるとありがたい気がするのだけれど。

*1: どのファイルを見てもファイルタイプが設定されていないし。
*2: /Library/Spotlight/Microsoft Office.mdimporter
*3: ビルド済みファイル中の Info.plist を書き換えてもダメ、 ビルドし直さなおす必要があった。


以上、3 日分です。
先月 2005年11月 来月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30


タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

注意書き:
このサイトは Amazon.co.jp アソシエイト・プログラム に参加しています。 (2007/4/29 〜)
このサイトにあるリンクの中には18禁サイトへのリンクが含まれている可能性があります。
お世話になっているサイト:
アンテナ [*BSD Diary Links] [RENAntenna] [はてな]
ニュース [/.J] [ITmedia] [Impress Watch] [MovieWalker] etc.
お買い物 [amazon.co.jp] [Sony Style] [まんが王倶楽部]
そのほか [Tentative Name.]

社会不適合サイトリング
「ごめんね。
ページがひょうじできませんでした。」
Yohei Terada (youhe@cherrylain.que.ne.jp)
※注:「他人のそら似」という言葉があります。