ぐる式 (貳) より引っ越し作業中.未完.

2009年11月22日日曜日

Squeak-web 09.07.1 イメージに日本語環境を突っ込んでヒラギノを使ってみる

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 イメージにはいろいろ突っ込んであるんだけど,とりあえず,止まることなくインストールは終わる.

  • sq3.10.2-7179web09.07.1 + Japanese Environment

アピアランスのフォント設定はデフォルトのままで変更してない.それから,日本語環境インストール後に表示される 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.

を掛けてフォント情報を更新する[パッチの前後で FontChooser new fontList asCommaString. で結果を見てみると以下のとおり.

  1. 使用前: 129 個,#GungSeo, #HeadLineA, #PCMyungjo, #PilGi, .Aqua Kana, .Helvetica LT MM, .Times LT MM, Accuat, Accujen, Accula, Accumon, Accuny, Accusf, Accushi, Accuve, Al Bayan, Al Bayan Plain, American Typewriter, Andale Mono, Apple Chancery, Apple LiGothic, Apple LiSung, Apple Symbols, AppleGothic, AppleMyungjo, Arial, Arial Hebrew, Arial Rounded MT, Atlanta, Ayuthaya, Baghdad, Baskerville, BiauKai, Big Caslon, BitstreamVeraSans, BitstreamVeraSansMono, BitstreamVeraSerif, BlairMdITC TT, Brush Script MT, Chalkboard, Charcoal CY, Cochin, Comic Sans MS, ComicSansMS, Copperplate, Corsiva Hebrew, Courier, Courier New, Cracked, DecoType Naskh, Devanagari MT, Didot, EngraverFontExtras, EngraverFontSet, EngraverTextH, EngraverTextNCS, EngraverTextT, EngraverTime, Euphemia UCAS, Fang Song, Futura, Geeza Pro, Geneva, Geneva CY, Georgia, Gill Sans, Gujarati MT, Gurmukhi MT, Handwriting - Dakota, Hei, Helvetica, Helvetica CY, Helvetica CY Plain, Helvetica Neue, Herculanum, Hoefler Text, Hoefler Text Ornaments, Impact, InaiMathi, Jazz, JazzCord, JazzPerc, JazzText, JazzTextExtended, Kai, Kochi Gothic, Kochi Mincho, Krungthep, KufiStandardGK, Lucida Grande, Maestro, MaestroPercussion, MaestroTimes, MaestroWide, Marker Felt, Maynard, Maynard Accents, Maynard Symbols, Monaco, Mshtakan, Nadeem, New Peninim MT, Optima, Osaka, Osaka Mono, Palatino, Papyrus, Petrucci, Plantagenet Cherokee, PortagoITC TT, Raanana, Sathu, Sazanami Gothic Gothic, Sazanami Mincho Mincho, Seoul, Seville, Silom, Skia, Song, Symbol, Tamburo, Thonburi, Times, Times New Roman, Trebuchet MS, Verdana, Webdings, Zapf Dingbats, Zapfino.
  2. 使用後: 142 個,#GungSeo, #HeadLineA, #PCMyungjo, #PilGi, .Aqua Kana, .Helvetica LT MM, .Times LT MM, Accuat, Accujen, Accula, Accumon, Accuny, Accusf, Accushi, Accuve, Al Bayan, Al Bayan Plain, American Typewriter, Andale Mono, Apple Chancery, Apple LiGothic, Apple LiSung, Apple Symbols, AppleGothic, AppleMyungjo, Arial, Arial Hebrew, Arial Rounded MT, Atlanta, Ayuthaya, Baghdad, Baskerville, BiauKai, Big Caslon, BitstreamVeraSans, BitstreamVeraSansMono, BitstreamVeraSerif, BlairMdITC TT, Brush Script MT, Chalkboard, Charcoal CY, Cochin, Comic Sans MS, ComicSansMS, Copperplate, Corsiva Hebrew, Courier, Courier New, Cracked, DecoType Naskh, Devanagari MT, Didot, EngraverFontExtras, EngraverFontSet, EngraverTextH, EngraverTextNCS, EngraverTextT, EngraverTime, Euphemia UCAS, Fang Song, Futura, Geeza Pro, Geneva, Geneva CY, Georgia, Gill Sans, Gujarati MT, Gurmukhi MT, Handwriting - Dakota, Hei, Helvetica, Helvetica CY, Helvetica CY Plain, Helvetica Neue, Herculanum, 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, Hoefler Text, Hoefler Text Ornaments, Impact, InaiMathi, Jazz, JazzCord, JazzPerc, JazzText, JazzTextExtended, Kai, Kochi Gothic, Kochi Mincho, Krungthep, KufiStandardGK, LiHei Pro, LiSong Pro, Lucida Grande, MS Gothic, Maestro, MaestroPercussion, MaestroTimes, MaestroWide, Marker Felt, Maynard, Maynard Accents, Maynard Symbols, Monaco, Mshtakan, Nadeem, New Peninim MT, Optima, Osaka, Osaka Mono, Palatino, Papyrus, Petrucci, Plantagenet Cherokee, PortagoITC TT, Raanana, STFangsong, STHeiti, STKaiti, STSong, Sathu, Sazanami Gothic Gothic, Sazanami Mincho Mincho, Seoul, Seville, Silom, Skia, Song, Symbol, Tamburo, Thonburi, Times, Times New Roman, Trebuchet MS, Verdana, Webdings, Zapf Dingbats, Zapfino.

確かに Hiragino がいくつかあるのが確認される.この段階では一つの文字列になっちゃってるので,それぞれ 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.

  • sq3.10.2-7179web09.07.1 + Japanese Environment + FreeType Plus

.表示させてるフォントは以下のとおり.

  1. さざなみフォント 明朝 24 ポ
  2. さざなみフォント ゴシック 24 ポ
  3. モナー・フォント 24 ポ (Version 2.30(s-0.9.9 k-0.2.20020124) b20030111.ファイルの日付が 2003 年 1 月になってるので, IPAモナーフォント ではない.どっから入手したのか,もう覚えてないッす)
  4. ヒラギノ丸ゴシック Pro W4 24 ポ
  5. ヒラギノ角ゴシック Std W8 24 ポ
  6. ヒラギノ明朝 Pro W6 24 ポ

「DFP***」とかのDFPフォント系はリストに出て来るけど表示できない orz.

日本語クラス名に日本語メソッド名を使って,無常を味わう

おまけ.

  • 日本語クラス名に日本語メソッド名

おぉっ!  Japanese Environment Installer の性格からして当然のことなのかも知れんが,なんか感動するデスメタル. Mac ではインライン変換ができんので,メンドいだけだけど (笑).

0 件のコメント:

コメントを投稿