あまつぶ

10.20 12:00

 突然だけど、Helveticaってどういう意味なんだろ。前にスイスの話をちょっと書いた時にスイス連邦をフランス語でCof仕屍ation Helv師iqueというというようなことを書いたはず。このHelv師iqueというのは「スイスの」というような意味なのだが、Helveticaも同じような意味なのだろうか。ちょっと辞書を引いてみたのだが(リーダーズ)載っていなかった。んー、英語ではないのかな。。この件についてなにか知っている方がいらっしゃいましたら教えて下さい。そもそもフォントの名前に地名が使われるようになった由来なんかも知りたいけどどこかでわかるのかな?

 OS8.5でシステムフォントを変更する方法について多少。これから書く情報は確実に大丈夫と保証できる方法ではないし、ひょっとしたら起動しなくなってしまう可能性もあるのでそれでもいいという人だけ読むべし(笑)。ま、Geneva2Osaka 1.00b4からはサポートする予定なのでResEditはちょっと……って人はそれまで待つという手もある。
 システムフォントの設定自体は「アピアランス」コントロールパネルから行うことからも分かるようにアピアランスマネージャで設定する。1.1以降の機能らしいのでInterfaces-Libraries 3.2以降がないと動かない。CodeWarriorだとPro4以降でないとこのあたりをいじるアプリケーションを作ることはできない。ま、3.2をダウンロードしてくればPro3でも作ることができるが。
 が、アピアランスで設定できるフォントは、システムに登録されているものだけでそれ以外を選択することは不可能。試しにちょっとプログラムを書いて実験してみたが何もおこらなかった(ま、当然かな)。この方法を使ってシステムフォントを変更しようと思ったら、システムにフォントを登録してやる必要があるということになる。
 OS8.5の資料をいろいろ見てみたがこのことに関するものは全く見つからず、しかたないのでシステムのリソースをしらみつぶしにチェックしてみることにした。その結果見つけたのは「sfn#」リソース。sfはシステムフォントだろうか。nはなにかわからないが、「#」がついているのはいくつかの設定の並びというようなニュアンスであろう(STR#みたいな)。その他に「sfs#」と「sfe#」というのがあるが、これらがなんなのかいまいちよく分からない。これら両方にフォントを追加してやるとスモールシステムフォントを変更できるようになったのでsfs#の方のsはスモールなのかなと思いつつ、2つ設定しないとうまくいかないというのはちょっとよくわからないなぁ。これらリソースの構造についての説明は省略。ま、開いてみれば分かるはず。OS8.5Jではシステムスクリプトは日本語だから、id=1のJapaneseという名前のついたものが使われている。英語システムではid=0のものが使われるということになるのだろう。
 設定したいフォントの名前を追加したらシステムを保存して「アピアランス」コントロールパネルで「フォント」を見てみるとラージフォントメニューに先程追加したフォントが出てくるはず。メニューでそれを選んで2秒くらい待つとメニューなどのフォントが変更されるはずだ。

 Geneva2Osaka 1.00b4のGeneva2Osaka 設定ではこの一連の操作を自動でしてくれる機能を搭載する予定。Geneva2Osakaの動作とは全く関係ない機能なので同じパッケージで配付するというのも変かなという気もするが……。
 コントロールパネルの「アピアランス」を開いて……という部分の操作は、アピアランスマネージャに追加された新しいAPIのGetTheme、SetThemeを使う。テーマの内容を変更する時にはコレクションマネージャを使う。コレクションマネージャについてはほとんど知らなくてもおそらく勘で使えるはず(笑)。
 あとは、システムフォントの変更でラージシステムフォントだけを変更すべきかスモールシステムフォントも含めて変更するべきかという問題が残るが、、まずはラージの方だけということにしておいてスモールの方はsfs#とsfe#についての謎が解けてからということにしようかなと思う。

 そういえば昨日の更新情報のところでArialきらいのアップデートを書くのを忘れていた。仕方がないので今日のところに書くことにしよう。

 次回はおそらく「……」のことについて。それからGeneva2Osakaの新バージョンができていればその関連の話かな。

to October 19, 1998 ↑ to October index → to October 21, 1998