Leopard で BDF UM+ が使えない? (2)
いろいろ試したけどダメだった記録。
まず、Font Book の「フォントを検証」で【"name" テーブルの使用性】で問題が出たので、name テーブルについて調べてみた。
どうやら name テーブルには、プラットフォームや言語設定などのプロパティを記述するらしい。
次に、実際の name テーブルを見てみることにしてみた。利用したのは、Apple の Font Tools。パッケージには複数のコマンドラインツールが含まれており、今回は ftxdumperfuser を利用した。
使い方は、Apple Font Tool Suite Manual (pdf) や ヘチマch:Kanmon続き を参考に、
# # (1) bdfUMplus.ttf から name テーブルを取り出し、name.xml に出力する # $ ftxdumperfuser -t name -o name.xml bdfUMplus.ttf # # (2) bdfUMplus.ttf に name.xml で指定した name テーブルを書き込む # $ ftxdumperfuser -t name -d name.xml bdfUMplus.ttf
のようにした。
(1) の段階で name.xml は、下記のように出力された。
?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <!DOCTYPE nameTable [ <!ELEMENT nameTable (nameTableEntry+)> <!ELEMENT nameTableEntry (localizedName+)><!ELEMENT localizedName (#PCDATA)> <!ATTLIST nameTableEntry nameTypeID CDATA #REQUIRED nameTypeName CDATA #IMPLIED> <!ATTLIST nameTable fontName CDATA #IMPLIED> <!ATTLIST localizedName platformID CDATA #REQUIRED platformName CDATA #IMPLIED scriptID CDATA #REQUIRED scriptName CDATA #IMPLIED languageID CDATA #REQUIRED languageName CDATA #IMPLIED isRawHex CDATA #IMPLIED > ]> <!-- Data generated Sat Oct 18 14:25:34 2008 Generated by ftxdumperfuser, version 1.3.4 FTXVersion 1.2.8 --> <nameTable> <nameTableEntry nameTypeID="0" nameTypeName="Copyright"> <localizedName platformID="1" platformName="Macintosh" scriptID="0" scriptName="Roman" languageID="11" languageName="Japanese" isRawHex="NO">(C) 2002-6 underforest design/KaoriYa</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1033" isRawHex="NO">(C) 2002-6 underforest design/KaoriYa</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1041" isRawHex="NO">(C) 2002-6 underforest design/香り屋</localizedName> </nameTableEntry> <nameTableEntry nameTypeID="1" nameTypeName="Family"> <localizedName platformID="1" platformName="Macintosh" scriptID="0" scriptName="Roman" languageID="11" languageName="Japanese" isRawHex="NO">BDF UM+</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1033" isRawHex="NO">BDF UM+</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1041" isRawHex="NO">BDF UM+</localizedName> </nameTableEntry> <nameTableEntry nameTypeID="2" nameTypeName="Style"> <localizedName platformID="1" platformName="Macintosh" scriptID="0" scriptName="Roman" languageID="11" languageName="Japanese" isRawHex="NO">Regular</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1033" isRawHex="NO">Regular</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1041" isRawHex="NO">Regular</localizedName> </nameTableEntry> <nameTableEntry nameTypeID="3" nameTypeName="Unique"> <localizedName platformID="1" platformName="Macintosh" scriptID="0" scriptName="Roman" languageID="11" languageName="Japanese" isRawHex="NO">BDF UM+</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1033" isRawHex="NO">BDF UM+</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1041" isRawHex="NO">BDF UM+</localizedName> </nameTableEntry> <nameTableEntry nameTypeID="4" nameTypeName="Full"> <localizedName platformID="1" platformName="Macintosh" scriptID="0" scriptName="Roman" languageID="11" languageName="Japanese" isRawHex="NO">BDF UM+</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1033" isRawHex="NO">BDF UM+</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1041" isRawHex="NO">BDF UM+</localizedName> </nameTableEntry> <nameTableEntry nameTypeID="5" nameTypeName="Version"> <localizedName platformID="1" platformName="Macintosh" scriptID="0" scriptName="Roman" languageID="11" languageName="Japanese" isRawHex="NO">2006.06.05</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1033" isRawHex="NO">2006.06.05</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1041" isRawHex="NO">2006.06.05</localizedName> </nameTableEntry> <nameTableEntry nameTypeID="6" nameTypeName="PostScript"> <localizedName platformID="1" platformName="Macintosh" scriptID="0" scriptName="Roman" languageID="11" languageName="Japanese" isRawHex="NO">BDF UM+</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1033" isRawHex="NO">BDF UM+</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1041" isRawHex="NO">BDF UM+</localizedName> </nameTableEntry> <nameTableEntry nameTypeID="7" nameTypeName="Trademark"> <localizedName platformID="1" platformName="Macintosh" scriptID="0" scriptName="Roman" languageID="11" languageName="Japanese" isRawHex="NO">UM+ (tm)</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1033" isRawHex="NO">UM+ (tm)</localizedName> <localizedName platformID="3" platformName="Microsoft" scriptID="1" scriptName="Unicode" languageID="1041" isRawHex="NO">UM+ (tm)</localizedName> </nameTableEntry> </nameTable>
この name.xml について、正常に表示される M+ 1c black フォントの name テーブル出力を参考に
- すべての nameTableEntry の子供にある「localizedName ... languageID="1041"」の行をまるごと消す
- 「languageID="11" languageName="Japanese"」を「languageID="0" languageName="English"」に置き換える
- M+ 1c black の name テーブルをそのまま書き込む
の 3 つの方法でいじくってみたのですが、結果はダメ。フォントプレビューが真っ白で表示されませんでした。おしまい(泣)。
・・・問題は name テーブルではないのかもしれないです。