あまつぶ

7.14

 βとリンクを更新。疲れた。だいたい形になってきたかなと思いつつ、残ってる自転車のページとかSentierのページとか、作り直すのがかなりめんどくさそうだ…。しかたないから(?)とりあえずこんなもんで妥協しようかなとちょっと思ったり。このページについては、まあ、そのうちまた考えよう。

  DiskCopyとAppleScriptについての続き。まず、前回書いていたスクリプトについて、野本さんからもっと便利な方法があるとの情報をいただいたので、それを掲載。と、あと、前回掲載していたスクリプトが、Preformattedになってなくてtabが全部とれてしまっていたのを修正。

on open image
	set imagename to ((item 1 of image) as text)
	if imagename ends with ".img" then
		set sminame to (text 1 thru -4 of imagename) & "smi"
	else
		set sminame to imagename & ".smi"
	end if
	tell application "Disk Copy"
		create SMI (file sminame) source images (image)
	end tell
end open

修正後のスクリプトはこんな感じ。「〜 ends with 〜」と「text 1 thru -4」がポイントっすね。「-4」だと「後ろから4文字目」という感じになるみたいです。これは便利。
 フォルダからイメージを作るときに、フォルダのサイズがわからないと…なんてことを書いていたのだけど、実はフォルダのサイズはわからなくてもいいらしいことがわかった。イメージファイルは「create」コマンドで作るものだと思い込んでいたのだが、実は「save」コマンドで作るらしい。もちろん「create」で作ることも可能だが、フォルダから作る場合は「save」でやるみたい。
 レコーディングなどを使いつつまず作ってみたスクリプトは、以下のとおり。

tell application "Disk Copy"
	save alias "Macintosh HD:test folder:" in disk image file
		"Macintosh HD:test.img" using format NDIF Compressed without leave 
		image mounted
end tell

かなり横長だけど勘弁して…(笑)。これは何をしてくれるスクリプトかというと、Macintosh HDの中にあるtest folderというフォルダの内容をディスクイメージにして、同じ階層にtest.imgというファイル名で保存してくれるというもの。後ろについている2つのオプション(using format NDIF compressedとwithout leave image mounted)はそれぞれ、NDIF (New Disk Image Formatだっけ?)の圧縮形式のイメージを作る、イメージはマウントしたままにしない、って感じかな。これを使ってフォルダからディスクイメージが作れるぞ…と思ったんだけど、なぜかこのスクリプト、1回はちゃんと動くのに2回目に動かすとなぜかフリーズしてしまう(デバッガに落ちて復帰不能)。原因がわからないので、とりあえずここまでかな…。原因がわかる方がいらっしゃいましたら、御一報ください。

 それから。Geneva2Osakaの話を少し。Mac News Networkさんで紹介されていたのだけど(いつもありがとうございます)、紹介文に少し誤りがあるのでちょっと補足。(あとバージョンの表記が間違っているが、これはうちのページが間違っていた。sorry…^^;)
 文字化けには、大きくわけて2種類ある。ともにフォントの違いが原因なのだが、日本語フォントで表示すべきところを欧文フォントで表示してしまっているものと、欧文フォントで表示すべきところを日本語フォントで表示してしまっているものの2つだ。日本語の表示ができないソフトの文字化けが前者で、メニューに「ノ」などがあらわれる文字化けが後者。
 同様に、文字化けを直す系統のソフトにも、2種類ある。FontPatchin'系とNoMeMo Busters系という感じか(なんじゃそれは(笑))。前者は、英語版ソフトなどで「日本語が」文字化けしてしまうことに対処するもの、後者は逆に、「日本語に」文字化けしてしまうことに対処するもの、である(わかりにくい…)。要は、日本語が表示できないアプリケーションで日本語を表示させるためのものと、記号だったはずの部分がなぜか半角カタカナに文字化けしてしまうのを直すソフト、の2種類あるというわけ。
 Geneva2Osakaは前者のソフト。名前からもわかるように、フォントがGenevaになってしまっているのをOsakaに直すわけだから。半角カタカナの文字化けの問題とは関係ない。どちらかというと、Osakaに変更することによって逆に半角カタカナの文字化けをひき起こしてしまう可能性があるから、半角カタカナが嫌いな方にとっては(ぼくも嫌いだけど)余計うっとうしい場合もあるかもしれない。
 関係ないが、両者の文字化け対処についての方法を少し。前者は、Geneva2Osakaでやっているように、「フォントを変更する」ことで対処できる。FontPatchin'でもその方法を使っているのだと思う。フォント変更のルーチンが呼ばれたところでつかまえて、Genevaにしようとしていたら「だめだめ」といってOsakaに変えてしまうだけだから簡単だ。対して後者は、一部に含まれている記号だけが文字化けするわけだから、全体のフォントを変更してしまうわけにはいかない。だから、文字化けしてしまう文字を「別の文字に置き換える」ことになる。少なくともNoMeMo Bustersではそうしているはずだ。
 Geneva2Osakaでも、この「文字の置き換え」機能を0.60b1から試しに実装してみた。いってみれば、2種類の文字化けに対処してみようというわけ。といっても試しにつけてみただけだからメニューやウィンドウのタイトルバー、ファイルダイアログのリストなどでしか効果はないものと思われる。せめてFinder上でのファイル表示くらい直せるようにしたいが、Finderのファイル表示ってDrawStringを使ってないのか…。。昔Colorful_INITという機能拡張でDrawStringをひっかけたときにはFinderのファイル表示の部分もひっかかってくれたはずなんだが、OS8から仕様が変わったのかな…。

 半角カタカナの置き換えについて少し書こうかと思ったけど長くなってきたから今回はこのへんで。NoMeMo Bustersのドキュメントでかなり述べられているからわざわざここに書かなくてもいいかなと思いつつ。次回の予定は、未定。DiskCopyの話が片付きそうならそれかな。あるいは、Racineについての近況かもしれない。


to July 13, 1998 ↑ to July Index → to July 15,1998