フォント

ここでは、AH Formatter V7.2 がサポートしているフォントと、それらのフォントの使い方などを説明します。また、各フォントに対する一般的な考慮点についても記述します。

フォント構築ファイル は、フォント環境を細かく設定するためのものです。インストール時に初期状態のものが作成されていますが、非Windows版では、ご自身のフォント環境に合わせて設定する必要があります。Windows版では、多くの場合そのままでも問題ないでしょう。

AH Formatter V7.2 は、Adobe Fonts外字(EUDC) にも対応しています。

  PDF出力でのフォントの扱いについては、PDF出力フォント出力を参照してください。
  PostScript出力でのフォントの扱いについては、PostScript®出力フォント出力を参照してください。
  XPS出力でのフォントの扱いについては、XPS出力フォント出力を参照してください。

サポートされるフォント

AH Formatter V7.2 は、以下の種類のフォントに対応しています。

  • Type 1

    Type 1 フォントファイルは、通常 .AFM+.PFB、または .PFM+.PFB フォントファイルのペアから成り、前者は 非Windows環境で、後者は Windows環境で使用されます。詳細は、Type 1を参照してください。

  • TrueType

    TrueType フォントファイルは .TTF または .TTC の拡張子を持ちます。詳細は、TrueTypeを参照してください。

  • OpenType

    OpenType フォントファイルは .TTF または .OTF の拡張子を持ちます。拡張子が .TTF であるフォントは、TrueTypeアウトライン情報が含まれるフォントで、TrueTypeと扱いは同じです。TrueTypeを参照してください。拡張子が .OTF であるフォントは、PostScriptアウトライン情報が含まれるフォントです。詳細は、OpenTypeを参照してください。 なお、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 を扱うことができます。

  • Macintosh TrueType データフォークスーツケース

    拡張子 .dfont または .dfon で示される Macintosh TrueType スーツケースに対応しています。これは、フォントがデータフォークに定義されているフォントスーツケースです。Classic MacOS で利用されてきた、フォントがリソースフォークに定義されている旧フォントスーツケースには対応していません。内容は TrueType です。詳細は、TrueTypeを参照してください。

フォント構築ファイル

AH Formatter V7.2 のフォント環境を設定するには、フォント構築ファイルを作成する必要があります。

フォント構築ファイルは、単純な構造のXMLファイルで、非Windows版では通常 [Install directory]/​etc に、Windows版では [Install directory] に置かれます。

フォント構築ファイルは、環境変数 で指定しておかなければなりません。 デフォルトでは font-config.xml という名前で設定されています。

フォント構築ファイル内で、もっとも重要な要素は <font-folder> です。 非Windows版で、PDFの基本14フォントより多くのフォントを使用したい場合は、特定のディレクトリの下にフォントファイルを用意し、フォント構築ファイルに <font-folder path="..."> 要素を追加します。

AH Formatter V7.2 は自動的に <font-folder path="..."> で指定されたディレクトリの中のフォントファイルを検出します。たいていの場合(いくつかの例外がありますが)、それぞれのフォントファイルすべてをフォント構築ファイルに記述する必要はありません。

Windows版は、デフォルトでWindowsのフォントディレクトリ内のすべてのフォントが含まれるよう設定されています。AH Formatter V7.2 は、利用可能なフォントの情報を起動時に読み込みます。つまり、フォントが大量であればあるほど、わずかですが時間がかかるようになります。これは、小さい文書を組版するときに、組版の時間よりもフォントの初期化の時間の方がかかってしまうことを意味します。大きい文書では、フォントの初期化は無視できる時間でしょう。 フォントの初期化の時間を節約するためには、利用できるフォントを減らします。その方法には、次の 3通りがあるでしょう。

  1. Windowsのフォントディレクトリにインストールされているフォントを減らす。
  2. フォント構築ファイルで、Windowsのフォントディレクトリ中の利用しないフォントを font-exclude で列挙する。
  3. 必要なフォントだけを置いたディレクトリを別に用意し、フォント構築ファイルでそのディレクトリだけを指定する。

現実的な解決策は、おそらく3.の方法です。例えば、C:\MyFonts というディレクトリに使いたいフォントを置き、次のようなフォント構築ファイルを用意します。

<?xml version="1.0" encoding="UTF-8" ?>
<font-config windows-registry="disable">
  <font-folder path="C:\MyFonts"/>
</font-config>

ここに、Windowsのフォントディレクトリの指定が含まれないことに注意してください。このフォント構築ファイルを環境変数で指定します。

Macintosh版でも、初期のフォント構築ファイルにシステムのフォントディレクトリが含まれています。必要ならば同様に調整するとよいでしょう。

初期のフォント構築ファイル

以下は、初期のフォント構築ファイルです。AH Formatter V7.2 Linux版では、次のようなフォント構築ファイル[Install directory]/​etc にインストールされます。

<?xml version="1.0" encoding="UTF-8" ?>
<!-- DOCTYPE font-config SYSTEM "font-config.dtd" -->
<font-config>
  <!-- add your font folder here -->
  <!-- font-folder path="/home/user-name/fonts" -->
  <!-- /font-folder -->
  <font-folder path="[Install directory]/fonts">
    <font-entry file="ZapfDingbats.afm"
          glyph-list="ZapfDingbats-glyphname.txt"/>
  </font-folder>
</font-config>

AH Formatter V7.2 Macintosh版では、次のようなフォント構築ファイル[Install directory]/​etc にインストールされます。

<?xml version="1.0" encoding="UTF-8" ?>
<!-- DOCTYPE font-config SYSTEM "font-config.dtd" -->
<font-config>
  <!-- add your font folder here -->
  <acc-folder path="~/Library/Application Support/Adobe/CoreSync/plugins/livetype"/>
  <font-folder path="/System/Library/Fonts"/>
  <font-folder path="/System/Library/Fonts/Supplemental"/>
  <font-folder path="/System/Library/Assets" recursive="true"/>
  <font-folder path="/System/Library/AssetsV2" recursive="true"/>
  <font-folder path="/Library/Fonts"/>
  <font-folder path="[Install directory]/fonts">
    <font-entry file="ZapfDingbats.afm"
          glyph-list="ZapfDingbats-glyphname.txt"/>
  </font-folder>
</font-config>

AH Formatter V7.2 Windows版では、次のようなフォント構築ファイル[Install directory] にインストールされます。ここに、[User font directory] にはWindows 10で追加されたユーザ用フォントディレクトリが、[System font directory] にはWindowsのフォントディレクトリが設定されます。

<?xml version="1.0" encoding="UTF-8" ?>
<!-- DOCTYPE font-config SYSTEM "font-config.dtd" -->
<font-config>
  <!-- add your font folder here -->
  <acc-folder/>
  <font-folder path="[User font directory]"/>
  <font-folder path="[System font directory]"/>
</font-config>

Windows版では、フォント構築ファイルが存在しないときは、この内容のフォント構築ファイルが仮定されます。

フォント構築ファイルの要素と属性

以下は、フォント構築ファイルの要素と属性の概略です。

要素属性既定値説明
<font-config>ルート要素
windows-registryenable

Windows版のときのみ有効で、外字情報をWindowsのレジストリから求めるかどうかを指定します。値が enable ならレジストリを参照し、disable なら参照しません。

<font-folder><font-config> の子要素
path

path 属性で、フォントフォルダを指定します。

<font-folder path="/home/user-name/fonts">
  ...
</font-folder>

この要素はいくつでも指定できます。

recursivefalse true を指定すると path で指定されたフォルダに含まれるサブフォルダ内も検索します。
<font-entry><font-folder> の子要素
file

file 属性で指定したフォントファイル(ベースファイル名、ワイルドカード不可)に各種属性を与えます。

glyph-list

file 属性で Type 1フォントが指定されたとき、そのフォントのグリフリストファイルを指定します。 グリフリストには、Type 1 フォントのUnicodeとグリフ名の対応付けのルールを定義します。

skip-glyphname-mappingtrue

file 属性で Type 1フォントが指定されたとき、フォントの、Unicodeとグリフ名、またはUnicodeと文字コードの対応付けを行うかどうかを指定します。 "false" なら対応付けを行い、true なら行いません。

font-excludefalse

file 属性で指定されたファイルを無視するかどうか指定します。 true なら無視し、false なら無視しません。無視が指定されたときは、そのフォントファイルは処理されません。

unicode-range

file 属性で指定されたファイルに対して、適用するUnicodeの範囲を指定します。 書式については、Unicode範囲 を参照してください。 unicode-range が指定されなかったときは全範囲 U+0-10FFFF とみなされます。

font-size-adjust1

file 属性で指定されたファイルのフォントサイズを調整します。例えば、font-size-adjust="1.05" と指定したとき、FO中で指定されたサイズより、1.05倍されたサイズで出力されます。指定は、"105%" のように%値で行うこともできます。

baseline-adjust0

file 属性で指定されたファイルのベースラインを調整します。例えば、baseline-adjust="0.1" と指定したときは、FO中で指定されたベースラインにこの値が加算された位置に調整されます。指定は、"10%" のように%値で行うこともできます。

x-heightfile 属性で指定されたファイルの x-height を調整します。フォントによっては x-height の情報を持っていないことがあります。そのようなときや、フォントが持つ値を調整したいときに指定します。1.0 が 1em に相当します。0 以下の指定は無効です。
cap-heightfile 属性で指定されたファイルの cap-height を調整します。フォントによっては cap-height の情報を持っていないことがあります。そのようなときや、フォントが持つ値を調整したいときに指定します。1.0 が 1em に相当します。0 以下の指定は無効です。
<font-alias><font-folder> の子要素
file

フォントファミリ名の別名の定義を指示します。 file 属性で対象となるフォントファイル(ベースファイル名、ワイルドカード不可)を指定します。 Type 1 フォントは、拡張子 .AFM または .PFM を持つフォントファイルを指定します。TrueType または OpenType フォントでは、拡張子 .TTF または .TTC または .OTF を持つフォントファイルを指定します。 entry 属性には、.TTC(TrueType Collection)ファイル内の、フォントの番号を指定します。これは、1以上の整数値でなければなりません。 entry 属性を省略したときは1とみなされます。.TTC 以外では指定しても無視されます。

<font-alias file="simsun.ttc" entry="1">
  ...
</font-alias>

別名の定義は、この要素内に <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-alias file="ARIALI.TTF">
  <alias family-name="MyArial"/>
</font-alias>
<font-alias file="ARIALBI.TTF">
  <alias family-name="MyArial" weight="bold"/>
</font-alias>

上の例では、font-family="MyArial" font-weight="normal" という指定で、"ARIALI.TTF" が、font-family="MyArial" font-weight="bold" という指定で、"ARIALBI.TTF" が、それぞれ表示されます。以下の点に注意してください。

  • もともとイタリックのフォントを指定しておいて、font-style="normal" を指定してもnormalにはなりません。
  • もともとボールドのフォントを指定しておいて、font-weight="normal" を指定しても細くなりませんし、font-weight="bold" を指定してもさらに太くなりません。

<alias> の指定では、<font-alias>file に指定されたファイルを名前とスタイルでもって選択して表示するだけです。例えば、font-style="italic" という指定のとき、スタイルにitalicを指定した <alias> がなければ、normalのものが採用されます。

weightnormal
italicfalse
<acc-folder><font-config> の子要素
path

"path" 属性で、Adobe Fonts のインストール先を指定します。詳しくは、Adobe Fonts を参照してください。

<eudc-processing><font-config> の子要素
mappingenable

外字の処理方法を指定します。 mapping 属性が enable なら外字を処理し、disable なら処理しません。

<eudc-range><eudc-processing> の子要素
start

外字の範囲をUnicodeで指定します。

<eudc-range start="57344" end="63743"/>

指定は数値で行います。この例では、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@@環境変数 AHF72_HOME または AHF72_64_HOME の内容に展開されます。
  • @@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は次のとおりです。

<!ELEMENT font-config (font-folder+ | acc-folder? | eudc-processing?)>
<!ATTLIST font-config windows-registry     (enable|disable) "enable">

<!ELEMENT font-folder (font-entry | font-alias)*>
<!ATTLIST font-folder path CDATA #REQUIRED>
<!ATTLIST font-folder recursive (true|false) "false">

<!ELEMENT font-entry EMPTY>
<!ATTLIST font-entry file                   CDATA #REQUIRED>
<!ATTLIST font-entry glyph-list             CDATA #IMPLIED>
<!ATTLIST font-entry skip-glyphname-mapping (true|false) "false">
<!ATTLIST font-entry font-exclude           (true|false) "false">
<!ATTLIST font-entry unicode-range          CDATA "U+0-10FFFF">
<!ATTLIST font-entry font-size-adjust       CDATA "1.0">
<!ATTLIST font-entry baseline-adjust        CDATA "0.0">
<!ATTLIST font-entry x-height               CDATA "0.0">
<!ATTLIST font-entry cap-height             CDATA "0.0">

<!ELEMENT font-alias (alias)*>
<!ATTLIST font-alias file  CDATA #REQUIRED>
<!ATTLIST font-alias entry CDATA #IMPLIED>

<!ELEMENT alias EMPTY>
<!ATTLIST alias family-name CDATA   #REQUIRED>
<!ATTLIST alias weight      CDATA   #IMPLIED><!-- normal|bold|1..1000 -->
<!ATTLIST alias italic (true|false) #IMPLIED>

<!ELEMENT acc-folder EMPTY>
<!ATTLIST acc-folder path CDATA #REQUIRED>

<!ELEMENT eudc-processing (eudc-range?, eudc-system-default?, eudc-map*)>
<!ATTLIST eudc-processing mapping (enable|disable) #IMPLIED>

<!ELEMENT eudc-range EMPTY>
<!ATTLIST eudc-range start CDATA #REQUIRED>
<!ATTLIST eudc-range end   CDATA #REQUIRED>

<!ELEMENT eudc-system-default EMPTY>
<!ATTLIST eudc-system-default file-path CDATA #REQUIRED>

<!ELEMENT eudc-map EMPTY>
<!ATTLIST eudc-map family-name CDATA #REQUIRED>
<!ATTLIST eudc-map file-path   CDATA #REQUIRED>

Type 1

ここでは、Type 1 フォント の一般的な情報と、AH Formatter V7.2 が Type 1 フォント にどのように対応しているかを記述します。

フォントの構成と必要条件

Type 1 フォントは、以下のフォントファイルから成ります。

拡張子説明
.PFB (Printer Font Binary)バイナリ圧縮されたフォントのアウトラインが含まれます。
.AFM (Adobe Font Metrics)一般フォント情報と、フォントメトリクス情報を含むテキストファイルです。 .AFM+.PFB のペアで使用されます。
.PFM (Printer Font Metrics)一般フォント情報と、フォントメトリクス情報を含むバイナリフォーマットのファイルです。.PFM+.PFB のペアで使用されます。

AH Formatter V7.2 は、.AFM+.PFB または .PFM+.PFBのどちらのタイプの組み合わせにも対応しています。

以下は Type 1 フォントに関する必要条件です。

  • 他にも、.PFAPrinter Font Ascii)という拡張子を持つアウトラインファイルが存在しますが、AH Formatter V7.2 はこのアウトラインファイルには正式には対応していません。 ほとんどの Type 1 フォント製品が .PFB 形式で出荷されていますので、.PFB 形式のフォントファイルをお使いください。
  • 拡張子 .MMM を持つ Type 1 フォントメトリクスデータには対応していません。 このメトリクスファイルは、Multiple Master Type 1 フォントに使われています。
  • .PFB と対応する .PFM は、同一ディレクトリに存在していなければなりません。ATM(Adobe Type Manager)を使ってインストールされたフォントは異なるディレクトリにインストールされていることがあります。そのようなフォントは、AH Formatter V7.2 では埋め込みに利用することができません。

Type 1 の埋め込み

AH Formatter V7.2 は、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 をお読みください。

これらのフォントは、PDF core font information からダウンロードすることができます。

TrueType

ここでは、TrueType フォント、OpenType(TrueTypeアウトライン)フォント の一般情報と、AH Formatter V7.2 がどのようにそれらを取り扱っているのかを説明します。お使いの環境で、より便利にこれらのフォントをお使いいただくヒントを示します。

フォントの構成と必要条件

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 の単一ファイルで構成されています。 .TTCTrueType Collection の短縮形で、単一ファイル内に複数の TrueType フォントを含みます。 CJKフォントで使われることがあります。

以下は、TrueType フォントの必要条件です。

  • Unicodeをグリフインデクスにマップするための cmap table が必要です。ほとんどの TrueType フォントはそれを持っています。
  • 古い TrueType フォントの中には、OS/2 table にコードページ情報を持っていないフォントがあります(ulCodePageRange1, 2)。 これは、AH Formatter V7.2 がフォントの選択を行うときに影響を与えますので、このような古い TrueType フォントはお使いいただかないことをお勧めします。
  cmap table など、TrueType フォントの詳細については、以下のようなサイトを参照してください。

TrueType の埋め込み

AH Formatter V7.2 は、Type 1 フォントと同様に TrueType フォントをPDFファイルへ埋め込むことができますが、大きな違いとして、埋め込みライセンスがあります。TrueType フォントは、OS/2 tablefsType 項目に、ライセンス情報を持っています。AH Formatter V7.2 はこのライセンス情報を考慮し、埋め込み禁止フォントを埋め込もうとした場合はエラーとします。
なお、TrueType フォントは、使用されているグリフだけが埋め込まれます。

 ISO 32000-1 または ISO 32000-2では、あらゆるビューアアプリケーションが期待どおりの正しい表示をするためには、TrueType フォントを埋め込むように推奨しています。 TrueType フォントが埋め込まれていないPDFを Adobe Acrobat または Reader が処理するとき、特定のUnicode文字とフォントの組み合わせによっては、エラーが表示される場合があるからです。

OpenType

ここでは、OpenType(PostScriptアウトライン) フォントの一般情報と AH Formatter V7.2 がどのようにそれらを取り扱っているのかを説明します。お使いの環境で、より便利にこれらのフォントをお使いいただくヒントを示します。 以降、単にOpenTypeと言った場合は、PostScriptアウトラインのOpenTypeを指します。

フォントの構成と必要条件

OpenTypeフォントは、拡張子が .OTF で、単一のファイルから構成されます。また、OpenTypeは、ふたつのカテゴリに分類されます。 ひとつは、OpenType CID フォントであり、もうひとつは、OpenType non-CID フォントです。以下でこれらのカテゴリを簡単に説明します。

TypeContentsTreatment in PDF
non-CID フォント主に Latin文字のグリフを含み、グリフは、グリフ名を使ってインデクスされます。これは、Type 1 フォントと同様です。Type 1
CID フォント主に CJK ideograph グリフを含み、グリフは、CIDを用いてインデクスされます。Type 0

OpenType の埋め込み

フォントの埋め込み条件は、TrueType フォントと同様です。詳細は、TrueType の埋め込み を参照してください。

Adobe Fonts

Adobe Fonts は Adobe が提供するフォントライブラリのサービスです。AH Formatter V7.2 は 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 で確認することができます。

外字

AH Formatter V7.2 では、外字(EUDC: End User Defined Character)を利用することができます。

Windows版では、外字の情報をレジストリから取得するので、フォント構築ファイルに外字情報を作成する必要はありませんが、フォント構築ファイルに外字情報が記述されている場合はそれも考慮されます。 非Windows版では、外字を利用するためにはフォント構築ファイルに外字情報を作成しておく必要があります。

<font-config>
 <windows-registry reference="enable"/>
 <font-folder path="c:\Windows\Fonts"/>
 <eudc-processing mapping="enable">
  <eudc-range start="57344" end="63743"/>
  <eudc-system-default file-path="c:\Windows\Fonts\EUDC.TTE"/>
  <eudc-map family-name="MS 明朝" file-path="c:\Program Files\east\jinmei3\FEJPMIN.TTG"/>
  <eudc-map family-name="MS P明朝" file-path="c:\Program Files\east\jinmei3\FEJPMIN.TTG"/>
 </eudc-processing>
</font-config>

外字の利用は、利用者は意識する必要がありません。AH Formatter V7.2 は、文字コードによって、自動的にフォントの切り替えを行います。

制限事項

インド系OpenTypeフォントの仕様には、V1とV2とがあります。V2は2008年にMicrosoftから公開された仕様で、Windows Vista 以降に同梱されているフォントで対応しています。V1仕様とV2仕様の主な違いは以下のとおりです。

  • スクリプトタグが変更された。
  • テキストレイアウトの基本となる音節の区切り方が変わった。
  • 字形の選択などに使われるZWJ, ZWNJ, NBSPの扱いが明確になった。
  • 結合子音や前置母音記号の振る舞いがフォント依存になった。
  • 適用するGSUB、GPOSのフィーチャが追加された。
  • GSUB、GPOSフィーチャ適用順序が変更された。

AH Formatter V7.2 は、V1仕様をベースにフォント処理が実装されています。 V2仕様しか持っていないフォントには対応していません。

AH Formatter V7.2 には、インド系のフォントについて、実装上の既知の問題がいくつか存在します。

  • Windows Vista 以降に同梱の Kokila V5.* で、Vattuの処理が正しくありません。例えば、U+0915 U+094D U+0930 という列は、左のようになるべきですが、右のように組まれてしまいます。

    Kokila OKKokila NG

    これは、フォント自身のV1仕様の処理が正しくないと思われます。V1.00 などをご利用ください。

  • Windows Vista 以降に同梱の Kalinga V5.* には、V2仕様のフィーチャしか含まれていません。V1仕様実装の AH Formatter V7.2 では、このフォントを正しく扱うことができません。 フリーのLohitフォント(Oriya)などを利用するとよいでしょう。Lohitフォントは次からダウンロードできます。

以下は、AH Formatter V7.2 の問題ではありませんが、参考までに。

  • Windows Vista 以降に同梱の DaunPenh V5.* は、字形が非常に小さくデザインされています。そのため、欧文などと混植をした場合、バランスが非常に悪いです。 フリーのKhmerOSフォントなどを利用するとよいでしょう。KhmerOSフォントは次からダウンロードできます。