Twitter / nsh: Use Hiragino Font on Squeak-web image. のフォロー.
ベースにしたのは,イメージが最終版の sq3.10.2-7179web09.07.1. web イメージでうまく行きゃ dev イメージでも行くでしょ,と甘い期待.仮想マシンは 4.2.2b1U.もっと手間取るかと思ったが,意外とすんなり運んだ感じ.ただ,よせばいいのに, Jacqueline タンで作業したので,思いのほか待ち時間が掛かる掛かる,死ぬほど掛かる.おそらく 2/3 以上は待ち時間 orz.ベンチマークの結果は Barbara タンの 1/10 だしな〜.忍耐力を鍛えるのにはエエか知れん.手順としては, 1) 日本語環境のインストール, 2) FreeType+ のインストール, 3) FreeTypeFontProvider にパッチ当て, 4) フォント情報更新 という順番になる.
注:インストールする順番がたいせつ. FreeType Plus を先に入れて Japanese Environment Installer を後からインストールすると,警察沙汰になる.
Barbara タンでは楽勝だが, Pharo のデフォルトである Watery2 にしなくとも, Jacqueline タンでは dev/web イメージは重い.その点, Squeak 3.10 (たぶん安定) の All-in-oneパッケージ は軽い. TODO: というわけで,まだ PPC on Tiger (10.4.11) でしか試してない. Leopard 以降は後で試す.
日本語環境を突っ込む
Squeak開発者版 に従い, SqueakMap に置いてある Japanese Environment Installer をインストールする. dev/web イメージにはいろいろ突っ込んであるんだけど,とりあえず,止まることなくインストールは終わる.
アピアランスのフォント設定はデフォルトのままで変更してない.それから,日本語環境インストール後に表示される Read Me の中身は, Script Manager へコピーしてみた.
FreeType Plus を入れてパッチ当て,ヒラギノを使ってみる
フォントを用意する. FreeTypeFontProvider>>getMacOSXFontFolderPaths は #('/System/Library/Fonts' '/Library/Fonts') しか見ないので, $HOME/Library/Fonts/ にフォントを入れてもダメッす.
なにはとりあえずの命 (難波酉不合命) FreeType Plus が必要.インストールにはそれなりの時間が掛かるので,珈琲でも煎れるなり,一服するなりするよろしね.それから, FreeType Plus インストール直後のこの時点では,使える日本語フォントはたぶん Osaka だけだと思う.なので, ヒラギノ問題 対策として応急手当で一箇所パッチを当てる.たぶん,ファイル名の問題だろうと見当付けて当てただけ.誰かもっとカッチョ佳くてイケてるパッチを書いて下さい orz.とりあえず,こんだけで日本語のディレクトリ名でもイケるはず.試してないけど.
FreeTypeFontProvider>>updateFromFileEntry:directory:locationType: ... path := (aFileDirectory fullNameFor: aDirectoryEntry name) squeakToUtf8. ...
チェンジ・ファイルはこちらから→ FreeTypeFontProvider-patches4JEI.1.cs (2,205 バイト).
なんかギョっとするような名前のメソッドだが,中身は 1 行で,レシーバ (aString) は self convertToWithConverter: UTF8TextConverter new
を返して来るだけ.ここだけに関して言えば,
path := (aFileDirectory fullNameFor: aDirectoryEntry name) convertToWithConverter: UTF8TextConverter new.
とした方がパっと見で判りやすいか知らん.でも,もしものときを考えると,単項メッセージの方が楽っちゃ〜楽.
無事インストールが済んで,パッチを当てたらお呪い.
FreeTypeFontProvider current updateFromSystem.
を掛けてフォント情報を更新する[パッチの前後で 確かに Hiragino がいくつかあるのが確認される.この段階では一つの文字列になっちゃってるので,それぞれ FontChooser new fontList asCommaString.
で結果を見てみると以下のとおり.
findTokens: ','
して collect: [:each | each withBlanksTrimmed]
でコレクションに戻したもの同士の difference:
を取ると,結果は 'Hiragino Kaku Gothic Pro W3, Hiragino Kaku Gothic Pro W6, Hiragino Kaku Gothic Std W8, Hiragino Maru Gothic Pro W4, Hiragino Mincho Pro W3, Hiragino Mincho Pro W6, LiHei Pro, LiSong Pro, MS Gothic, STFangsong, STHeiti, STKaiti, STSong' となって 13 フォントの差違がある.
例えば,
FontChooser openWithWindowTitle: 'Choose the Menu Font' for: Preferences setSelector: #setMenuFontTo: getSelector: #standardMenuFont.
とかやって,ヒラギノがリスト・アップされてれば OK.
.表示させてるフォントは以下のとおり.
- さざなみフォント 明朝 24 ポ
- さざなみフォント ゴシック 24 ポ
- モナー・フォント 24 ポ (Version 2.30(s-0.9.9 k-0.2.20020124) b20030111.ファイルの日付が 2003 年 1 月になってるので, IPAモナーフォント ではない.どっから入手したのか,もう覚えてないッす)
- ヒラギノ丸ゴシック Pro W4 24 ポ
- ヒラギノ角ゴシック Std W8 24 ポ
- ヒラギノ明朝 Pro W6 24 ポ
「DFP***」とかのDFPフォント系はリストに出て来るけど表示できない orz.
日本語クラス名に日本語メソッド名を使って,無常を味わう
おまけ.
おぉっ! Japanese Environment Installer の性格からして当然のことなのかも知れんが,なんか感動するデスメタル. Mac ではインライン変換ができんので,メンドいだけだけど (笑).
0 件のコメント:
コメントを投稿