フォント
ここでは、Antenna House Formatter V7.4 がサポートしているフォントと、それらのフォントの使い方などを説明します。また、各フォントに対する一般的な考慮点についても記述します。
フォント構築ファイル は、フォント環境を細かく設定するためのものです。インストール時に初期状態のものが作成されていますが、非Windows版では、ご自身のフォント環境に合わせて設定する必要があります。Windows版では、多くの場合そのままでも問題ないでしょう。
Antenna House Formatter V7.4 は、Adobe Fonts、外字(EUDC) にも対応しています。
☞ | PDF出力でのフォントの扱いについては、PDF出力のフォント出力を参照してください。 |
---|
☞ |
PostScript出力でのフォントの扱いについては、Post |
---|
☞ | XPS出力でのフォントの扱いについては、XPS出力のフォント出力を参照してください。 |
---|
サポートされるフォント
Antenna House Formatter V7.4 は、以下の種類のフォントに対応しています。
-
Type 1
Type 1 フォントファイルは、通常 .AFM+.PFB、または .PFM+.PFB フォントファイルのペアから成り、前者は 非Windows環境で、後者は Windows環境で使用されます。詳細は、Type 1を参照してください。
- True
Type TrueType フォントファイルは .TTF または .TTC の拡張子を持ちます。詳細は、True
Typeを参照してください。 - Open
Type OpenType フォントファイルは .TTF または .OTF の拡張子を持ちます。拡張子が .TTF であるフォントは、TrueTypeアウトライン情報が含まれるフォントで、TrueTypeと扱いは同じです。True
Typeを参照してください。拡張子が .OTF であるフォントは、PostScriptアウトライン情報が含まれるフォントです。詳細は、Open Typeを参照してください。 なお、OpenType Collection にも対応しています。 - WOFF File Format 1.0
<axf:font-face> へ指定することにより、WOFF (Web Open Font Format) を扱うことができます。直接 WOFF フォントを指定することはできません。<axf:font-face> で指定された WOFF フォントは、TrueType フォント、または OpenType フォントとして扱われます。 WOFF フォントの置いてある場所をフォント構築ファイルで指定する必要はありません。
- WOFF File Format 2.0
WOFF 1.0 と同様に WOFF 2.0 を扱うことができます。
注意: TrueType Collection、OpenType Collection がベースである WOFF2 には対応していません。 - Macintosh TrueType データフォークスーツケース
拡張子 .dfont または .dfon で示される Macintosh TrueType スーツケースに対応しています。これは、フォントがデータフォークに定義されているフォントスーツケースです。Classic MacOS で利用されてきた、フォントがリソースフォークに定義されている旧フォントスーツケースには対応していません。内容は TrueType です。詳細は、True
Typeを参照してください。
フォント構築ファイル
Antenna House Formatter V7.4 のフォント環境を設定するには、フォント構築ファイルを作成する必要があります。
フォント構築ファイルは、単純な構造のXMLファイルで、非Windows版では通常 [Install directory]/etc に、Windows版では [Install directory] に置かれます。
フォント構築ファイルは、環境変数 で指定しておかなければなりません。 デフォルトでは font-config.xml という名前で設定されています。
フォント構築ファイル内で、もっとも重要な要素は <font-folder> です。 非Windows版で、PDFの基本14フォントより多くのフォントを使用したい場合は、特定のディレクトリの下にフォントファイルを用意し、フォント構築ファイルに <font-folder path="..."> 要素を追加します。
Antenna House Formatter V7.4 は自動的に <font-folder path="..."> で指定されたディレクトリの中のフォントファイルを検出します。たいていの場合(いくつかの例外がありますが)、それぞれのフォントファイルすべてをフォント構築ファイルに記述する必要はありません。
名前の同じフォントが複数の <font-folder path="..."> に含まれているときは、最初のものが採用されます。 例えば、Windowsにインストールされているものと異なるバージョンのフォントを利用したいときなど、@@WINFONTS@@ の指定よりも前の方にそのフォントの含まれるfont-folderを指定するようにします。
Windows版は、デフォルトでWindowsのフォントディレクトリ内のインストールされているすべてのフォントが含まれるよう設定されています。Antenna House Formatter V7.4 は、利用可能なフォントの情報を起動時に読み込みます。つまり、フォントが大量であればあるほど、わずかですが時間がかかるようになります。これは、小さい文書を組版するときに、組版の時間よりもフォントの初期化の時間の方がかかってしまうことを意味します。大きい文書では、フォントの初期化は無視できる時間でしょう。 フォントの初期化の時間を節約するためには、利用できるフォントを減らします。その方法には、次の 3通りがあるでしょう。
- Windowsのフォントディレクトリにインストールされているフォントを減らす。
- フォント構築ファイルで、Windowsのフォントディレクトリ中の利用しないフォントを font-exclude で列挙する。
- 必要なフォントだけを置いたディレクトリを別に用意し、フォント構築ファイルでそのディレクトリだけを指定する。
現実的な解決策は、おそらく3.の方法です。例えば、C:\MyFonts というディレクトリに使いたいフォントを置き、次のようなフォント構築ファイルを用意します。
ここに、Windowsのフォントディレクトリの指定が含まれないことに注意してください。このフォント構築ファイルを環境変数で指定します。
Macintosh版でも、初期のフォント構築ファイルにシステムのフォントディレクトリが含まれています。必要ならば同様に調整するとよいでしょう。
注意: | 同一ディレクトリ内に、異なる種類のフォントで、ファイル名やフォントファミリ名が同じものが混在している場合、そのどちらが採用されるのかは不定です。また、動作に支障を来たす恐れもありますので、そのような混在は避けてください。 |
---|
注意: | Windowsのフォントディレクトリに、インストーラを経由せずにコピーしただけのフォントは、アプリケーションによっては利用することができません。そのようなフォントを利用したいときは、フォント構築ファイルで winfonts-registry="false" を指定してください。 |
---|
初期のフォント構築ファイル
以下は、初期のフォント構築ファイルです。Antenna House Formatter V7.4 Linux版では、次のようなフォント構築ファイルが [Install directory]/etc にインストールされます。
In Antenna House Formatter V7.4 Macintosh版では、次のようなフォント構築ファイルが [Install directory]/etc にインストールされます。
Antenna House Formatter V7.4 Windows版では、次のようなフォント構築ファイルが [Install directory] にインストールされます。ここに、@@USERWINFONTS@@ にはユーザ用フォントディレクトリが、@@WINFONTS@@ にはWindowsのフォントディレクトリが設定されます。
Windows版では、フォント構築ファイルが存在しないときは、この内容のフォント構築ファイルが仮定されます。
フォント構築ファイルの要素と属性
以下は、フォント構築ファイルの要素と属性の概略です。
要素 | 属性 | 既定値 | 説明 |
---|---|---|---|
<font-config> | ルート要素 | ||
winfonts-registry | true | Windowsのシステムのフォントディレクトリの走査をレジストリで行うか物理的なディレクトリで行うかを指定します。 true のときはレジストリを走査し、false のときはディレクトリ内を走査します。 レジストリを走査する場合、正しくインストールされていないフォントは使用できません。 Windows版のときのみ有効です。 V7.3MR2 | |
<font-folder> | <font-config> の子要素 | ||
path | path 属性で、フォントフォルダを指定します。 この要素はいくつでも指定できます。 | ||
recursive | false | true を指定すると path で指定されたフォルダに含まれるサブフォルダ内も検索します。 | |
<font-entry> | <font-folder> の子要素 | ||
file |
file 属性で指定したフォントファイル(ベースファイル名、ワイルドカード不可)に各種属性を与えます。 | ||
font-exclude | false |
file 属性で指定されたファイルを無視するかどうか指定します。 true なら無視し、false なら無視しません。無視が指定されたときは、そのフォントファイルは処理されません。 | |
unicode-range |
file 属性で指定されたファイルに対して、適用するUnicodeの範囲を指定します。 書式については、Unicode範囲 を参照してください。 unicode-range が指定されなかったときは全範囲 U+0-10FFFF とみなされます。 | ||
font-size-adjust | 1 |
file 属性で指定されたファイルのフォントサイズを調整します。例えば、font-size-adjust="1.05" と指定したとき、FO中で指定されたサイズより、1.05倍されたサイズで出力されます。指定は、"105%" のように%値で行うこともできます。 | |
baseline-adjust | 0 |
file 属性で指定されたファイルのベースラインを調整します。例えば、baseline-adjust="0.1" と指定したときは、FO中で指定されたベースラインにこの値が加算された位置に調整されます。指定は、"10%" のように%値で行うこともできます。 | |
x-height | file 属性で指定されたファイルの x-height を調整します。フォントによっては x-height の情報を持っていないことがあります。そのようなときや、フォントが持つ値を調整したいときに指定します。1.0 が 1em に相当します。0 以下の指定は無効です。 | ||
cap-height | file 属性で指定されたファイルの cap-height を調整します。フォントによっては cap-height の情報を持っていないことがあります。そのようなときや、フォントが持つ値を調整したいときに指定します。1.0 が 1em に相当します。0 以下の指定は無効です。 | ||
glyph-list | file 属性で Type 1フォントが指定されたとき、そのフォントのグリフリストファイルを指定します。 グリフリストには、Type 1 フォントのUnicodeとグリフ名の対応付けのルールを定義します。 | ||
skip-glyphname-mapping | true |
file 属性で Type 1フォントが指定されたとき、フォントの、Unicodeとグリフ名、またはUnicodeと文字コードの対応付けを行うかどうかを指定します。 false なら対応付けを行い、true なら行いません。 | |
<font-alias> | <font-folder> の子要素 | ||
file |
フォントファミリ名の別名の定義を指示します。 file 属性で対象となるフォントファイル(ベースファイル名、ワイルドカード不可)を指定します。 Type 1 フォントは、拡張子 .AFM または .PFM を持つフォントファイルを指定します。TrueType または OpenType フォントでは、拡張子 .TTF または .TTC または .OTF を持つフォントファイルを指定します。 entry 属性には、.TTC(TrueType Collection)ファイル内の、フォントの番号を指定します。これは、1以上の整数値でなければなりません。 entry 属性を省略したときは1とみなされます。.TTC 以外では指定しても無視されます。 別名の定義は、この要素内に <alias> 要素を列挙します。 この要素はいくつでも指定できます。 | ||
entry | |||
<alias> | <font-alias> の子要素 | ||
family-name |
<font-alias> の file で指定されたフォントに対する別名を定義します。別名情報は、family-name 属性、weight 属性、italic 属性を使って指定されます。 family-name 属性に、別名となる任意の名前を指定します。 新たに定義された名前は、存在する他の font-family名と一致しないようにする必要があります。 weight 属性はフォントの太さを指定し、100~900 の数値、または normal または bold を指定します。 italic 属性は斜体かどうかを、true または false で指定します。true ならば斜体です。 ひとつのフォントに対して複数の別名を定義できます。この要素はいくつでも指定できます。 FO中では、ここで指定された名前とスタイルを使って、<font-alias> の file で指定されたフォントファイルを表示することができます。 上の例では、font-family="MyArial" font-weight="normal" という指定で、"ARIALI.TTF" が、font-family="MyArial" font-weight="bold" という指定で、"ARIALBI.TTF" が、それぞれ表示されます。以下の点に注意してください。
<alias> の指定では、<font-alias> の file に指定されたファイルを名前とスタイルでもって選択して表示するだけです。例えば、font-style="italic" という指定のとき、スタイルにitalicを指定した <alias> がなければ、normalのものが採用されます。 | ||
weight | normal | ||
italic | false | ||
<acc-folder> | <font-config> の子要素 | ||
path | "path" 属性で、Adobe Fonts のインストール先を指定します。詳しくは、Adobe Fonts を参照してください。 | ||
<eudc-processing> | <font-config> の子要素 | ||
mapping | enable |
外字の処理方法を指定します。 mapping 属性が enable なら外字を処理し、disable なら処理しません。 | |
<eudc-range> | <eudc-processing> の子要素 | ||
start |
外字の範囲をUnicodeで指定します。 指定は数値で行います。この例では、57344 = U+E000、63743 = U+F8FF です。 指定がない場合、Windows版でレジストリ参照が有効なときは、レジストリの指定に従います。 そうでないときは、PUA領域(U+E000~U+F8FF)とみなされます。 end を省略したときは、start と同じ値とみなされます。また、複数の範囲を指定することができます。 | ||
end | |||
<eudc-system-default> | <eudc-processing> の子要素 | ||
file-path |
システムデフォルトの外字フォントファイルを指定します。これは、対応するグリフが指定外字フォントにない場合などに利用されます。 指定がない場合、Windows版でレジストリ参照が有効なときは、レジストリの指定に従います。このとき、コードページ932を参照します。 そうでないときは、システムデフォルトの外字フォントなしとなります。 | ||
<eudc-map> | <eudc-processing> の子要素 | ||
family-name |
family-name 属性で指定されているフォントに対して、外字範囲の文字コードが指定されたときに使用する外字ファイルを file-path 属性で指定します。 Windows版でレジストリ参照が有効なときは、それも考慮されます。 同じ font-family の指定は、先に現れたものが優先し、フォント構築ファイルのものがレジストリよりも優先します。 この要素はいくつでも指定できます。 | ||
file-path |
<font-folder>、<acc-folder> の path に以下のメタ文字列を指定できます。
- @@HOME@@:環境変数 AHF74_32_HOME または AHF74_64_HOME の内容に展開されます。[Install directory] です。
- @@WINFONTS@@:Windows版で、システムのフォントディレクトリ(例えば C:\Windows\Fonts)に展開されます。
- @@USERWINFONTS@@:Windows版で、ユーザのフォントディレクトリ(@@LOCALAPPDATA@@\Microsoft\Windows\Fonts)に展開されます。
- @@APPDATA@@:Windows版で、環境変数 APPDATA の内容に展開されます。
- @@LOCALAPPDATA@@:Windows版で、環境変数 LOCALAPPDATA の内容に展開されます。
- @@ACCFOLDER@@:Windows版またはMacintosh版で、Adobe Fonts のインストール先に展開されます。ただし、このフォルダは特殊な構造なので、<font-folder> の path には指定できないでしょう。
フォント構築ファイルのDTDは次のとおりです。
Type 1
ここでは、Type 1 フォント の一般的な情報と、Antenna House Formatter V7.4 が Type 1 フォント にどのように対応しているかを記述します。
注意: | Adobeは 2023年1月で、Type 1 フォントのサポートを終了しました。Type 1 フォントの利用はお勧めできません。 |
---|
フォントの構成と必要条件
Type 1 フォントは、以下のフォントファイルから成ります。
拡張子 | 説明 |
---|---|
.PFB (Printer Font Binary) | バイナリ圧縮されたフォントのアウトラインが含まれます。 |
.AFM (Adobe Font Metrics) | 一般フォント情報と、フォントメトリクス情報を含むテキストファイルです。 .AFM+.PFB のペアで使用されます。 |
.PFM (Printer Font Metrics) | 一般フォント情報と、フォントメトリクス情報を含むバイナリフォーマットのファイルです。.PFM+.PFB のペアで使用されます。 |
Antenna House Formatter V7.4 は、.AFM+.PFB または .PFM+.PFBのどちらのタイプの組み合わせにも対応しています。
以下は Type 1 フォントに関する必要条件です。
- 他にも、.PFA(Printer Font Ascii)という拡張子を持つアウトラインファイルが存在しますが、Antenna House Formatter V7.4 はこのアウトラインファイルには正式には対応していません。 ほとんどの Type 1 フォント製品が .PFB 形式で出荷されていますので、.PFB 形式のフォントファイルをお使いください。
- 拡張子 .MMM を持つ Type 1 フォントメトリクスデータには対応していません。 このメトリクスファイルは、Multiple Master Type 1 フォントに使われています。
- .PFB と対応する .PFM は、同一ディレクトリに存在していなければなりません。ATM(Adobe Type Manager)を使ってインストールされたフォントは異なるディレクトリにインストールされていることがあります。そのようなフォントは、Antenna House Formatter V7.4 では埋め込みに利用することができません。
Type 1 の埋め込み
Antenna House Formatter V7.4 は、PDFファイルへの Type 1 フォントの埋め込みに対応しています。 フォントを埋め込むためには、以下を準備してください。
- .AFM+.PFB、または .PFM+.PFB のフォントファイルをフォント構築ファイルの <font-folder> で指定されているフォルダに準備してください。
- オプション設定ファイル の <embed-font> 要素に埋め込むフォントファミリ名を指定します。または <pdf-settings embed-all-fonts="true"> を指定します。
フォントを埋め込まない場合は、.AFM または .PFM ファイルのどちらかが必要です。 フォントが埋め込まれていないPDFファイルを読むには、ユーザの環境に実際にPDFに使用されているフォントがインストールされている必要があります。
欧文基本14フォント
非Windows版では、以下の Type 1 フォントがインストールされます。
- Courier.afm
- Courier-Bold.afm
- Courier-Oblique.afm
- Courier-BoldOblique.afm
- Helvetica.afm
- Helvetica-Bold.afm
- Helvetica-Oblique.afm
- Helvetica-BoldOblique.afm
- Times-Roman.afm
- Times-Bold.afm
- Times-Italic.afm
- Times-BoldItalic.afm
- Symbol.afm
- ZapfDingbats.afm
これらには、.PFB は含まれていませんので、PDFへの埋め込みをすることはできません。また、ご利用になるときは、同梱されている MustRead.html をお読みください。
True Type
ここでは、True
フォントの構成と必要条件
TrueType フォントは、Apple Computer によって開発され、Windows環境で使われています。OpenType フォントは、プラットフォーム非依存のフォントとして Adobe と Microsoft により共同開発されました。 もともと OpenType フォントは、2種類の性質を持っています。 ひとつは、TrueTypeアウトライン であり、もうひとつは PostScriptアウトライン です。TrueTypeアウトライン を持つ OpenType フォントファイルは、拡張子 .TTF または .TTC のファイルを持ちます。PostScriptアウトライン を持つ OpenType フォントファイルの拡張子は .OTF です。 ここでは、元々の TrueType フォントと OpenType(TrueTypeアウトライン)フォントを一緒に説明します。 以降では、TrueType フォント と OpenType(TrueTypeアウトライン)フォント をあわせて、TrueType フォント として記述します。
☞ | Macintosh TrueType フォントデータフォークスーツケースも TrueType フォントで、拡張子は .dfont または .dfon です。.TTF といくらか違いはありますが、TrueType の扱いはほとんど同じですので、解説は割愛します。 |
---|
TrueType フォントは、拡張子 .TTF または .TTC の単一ファイルで構成されています。 .TTC は TrueType Collection の短縮形で、単一ファイル内に複数の TrueType フォントを含みます。 CJKフォントで使われることがあります。
以下は、TrueType フォントの必要条件です。
- Unicodeをグリフインデクスにマップするための cmap table が必要です。ほとんどの TrueType フォントはそれを持っています。
- 古い TrueType フォントの中には、OS/2 table にコードページ情報を持っていないフォントがあります(ulCodePageRange1, 2)。 これは、Antenna House Formatter V7.4 がフォントの選択を行うときに影響を与えますので、このような古い TrueType フォントはお使いいただかないことをお勧めします。
☞ |
cmap table など、TrueType フォントの詳細については、以下のようなサイトを参照してください。
|
---|
TrueType の埋め込み
Antenna House Formatter V7.4 は、Type 1 フォントと同様に TrueType フォントをPDFファイルへ埋め込むことができますが、大きな違いとして、埋め込みライセンスがあります。TrueType フォントは、OS/2 table の fs
なお、TrueType フォントは、使用されているグリフだけが埋め込まれます。
☞ | ISO 32000-1 または ISO 32000-2では、あらゆるビューアアプリケーションが期待どおりの正しい表示をするためには、TrueType フォントを埋め込むように推奨しています。 TrueType フォントが埋め込まれていないPDFを Adobe Acrobat または Reader が処理するとき、特定のUnicode文字とフォントの組み合わせによっては、エラーが表示される場合があるからです。 |
---|
Open Type
ここでは、OpenType(PostScriptアウトライン) フォントの一般情報と Antenna House Formatter V7.4 がどのようにそれらを取り扱っているのかを説明します。お使いの環境で、より便利にこれらのフォントをお使いいただくヒントを示します。 以降、単にOpenTypeと言った場合は、PostScriptアウトラインのOpenTypeを指します。
フォントの構成と必要条件
OpenTypeフォントは、拡張子が .OTF で、単一のファイルから構成されます。また、OpenTypeは、ふたつのカテゴリに分類されます。 ひとつは、OpenType CID フォントであり、もうひとつは、OpenType non-CID フォントです。以下でこれらのカテゴリを簡単に説明します。
Type | Contents | Treatment in PDF |
---|---|---|
non-CID フォント | 主に Latin文字のグリフを含み、グリフは、グリフ名を使ってインデクスされます。これは、Type 1 フォントと同様です。 | Type 1 |
CID フォント | 主に CJK ideograph グリフを含み、グリフは、CIDを用いてインデクスされます。 | Type 0 |
OpenType の埋め込み
フォントの埋め込み条件は、TrueType フォントと同様です。詳細は、TrueType の埋め込み を参照してください。
Adobe Fonts
Adobe Fonts は Adobe が提供するフォントライブラリのサービスです。Antenna House Formatter V7.4 は Adobe Fonts に対応しています。Adobe Fonts や使用できるフォントのライセンスなど詳しくは次を参考にしてください。
☞ | Adobe Fonts |
---|
☞ | Adobe Fonts ユーザーガイド |
---|
Adobe Fonts は、Windows版または Macintosh版で利用することができます。Adobe Fonts を利用するには、Adobe Fonts がインストールされた環境で、フォント構築ファイルに <acc-folder> 要素を追加する必要があります。初期のフォント構築ファイルにはその指定が含まれています。
Windowsでは、Adobe Fonts は、[APPDATA]\Adobe\CoreSync\plugins\livetype にインストールされます。[APPDATA] は、その環境変数で示される場所を示します。<acc-folder> の path にそれを指定してください。ただし、Windows版では path を省略することができます。path を省略して <acc-folder/> とした場合、path にはそれが指定されたとみなされます。
Macintoshでは、Adobe Fonts は、~/Library/Application Support/Adobe/CoreSync/plugins/livetype にインストールされます。<acc-folder> の path にそれを指定してください。省略することはできません。
インストールされている Adobe Fonts は、OpenType です。そのフォントファミリ名などは、.../livetype/c/entitlements.xml または .../livetype/.c/entitlements.xml で確認することができます。
外字
Antenna House Formatter V7.4 では、外字(EUDC: End User Defined Character)を利用することができます。
Windows版では、外字の情報をレジストリから取得するので、フォント構築ファイルに外字情報を作成する必要はありませんが、フォント構築ファイルに外字情報が記述されている場合はそれも考慮されます。 非Windows版では、外字を利用するためにはフォント構築ファイルに外字情報を作成しておく必要があります。
外字の利用は、利用者は意識する必要がありません。Antenna House Formatter V7.4 は、文字コードによって、自動的にフォントの切り替えを行います。
制限事項
インド系OpenTypeフォントの仕様には、V1とV2とがあります。V2は2008年にMicrosoftから公開された仕様で、Windows Vista 以降に同梱されているフォントで対応しています。V1仕様とV2仕様の主な違いは以下のとおりです。
- スクリプトタグが変更された。
- テキストレイアウトの基本となる音節の区切り方が変わった。
- 字形の選択などに使われるZWJ, ZWNJ, NBSPの扱いが明確になった。
- 結合子音や前置母音記号の振る舞いがフォント依存になった。
- 適用するGSUB、GPOSのフィーチャが追加された。
- GSUB、GPOSフィーチャ適用順序が変更された。
Antenna House Formatter V7.4 は、V1仕様をベースにフォント処理が実装されています。 V2仕様しか持っていないフォントには対応していません。
Antenna House Formatter V7.4 には、インド系のフォントについて、実装上の既知の問題がいくつか存在します。
Windows Vista 以降に同梱の Kokila V5.* で、Vattuの処理が正しくありません。例えば、U+0915 U+094D U+0930 という列は、左のようになるべきですが、右のように組まれてしまいます。
これは、フォント自身のV1仕様の処理が正しくないと思われます。V1.00 などをご利用ください。
Windows Vista 以降に同梱の Kalinga V5.* には、V2仕様のフィーチャしか含まれていません。V1仕様実装の Antenna House Formatter V7.4 では、このフォントを正しく扱うことができません。 フリーのLohitフォント(Oriya)などを利用するとよいでしょう。Lohitフォントは次からダウンロードできます。
以下は、Antenna House Formatter V7.4 の問題ではありませんが、参考までに。
Windows Vista 以降に同梱の DaunPenh V5.* は、字形が非常に小さくデザインされています。そのため、欧文などと混植をした場合、バランスが非常に悪いです。 フリーのKhmerOSフォントなどを利用するとよいでしょう。KhmerOSフォントは次からダウンロードできます。