MS Office 文書から PDF/SVG への変換を正確に行うためには、変換元文書で使用されているすべてのフォントファイルが Server Based Converter V2.0 の実行環境に用意されている必要があります。
フォントファイルが置かれている場所は フォント構築ファイル で指定しておく必要があります。
また、実際のフォントファイルが用意できない場合は、使用可能な別のフォントに置き換える必要があります。フォントの置き換えは、コマンドラインインターフェイス の -fontalias オプションか オプション設定ファイル で指定できます。
Windows 環境では、存在しないフォントは自動的に別のフォントに置き換えられますが、その置き換えが不適当なことも多々ありますので置き換えが不適当なときは コマンドラインインターフェイス の -fontalias オプションか オプション設定ファイル で指定してください。
フォント構築ファイル は、フォント環境を細かく設定するためのものです。インストール時に初期状態のものが作成されていますが、Windows版以外では、ご自身のフォント環境に合わせて設定する必要があります。Windows版では、多くの場合そのままでも問題ありませんが、フォントファイルを Windows のフォントディレクトリ以外に導入されているときは設定が必要です。
Server Based Converter V2.0 は、外字(EUDC) にも対応しています。
☞ | INX出力でのフォントの扱いについては、INX出力のフォントを参照してください。 |
---|
☞ | XPS出力でのフォントの扱いについては、XPS出力のフォント出力を参照してください。 |
---|
Server Based Converter V2.0 は、以下の種類のフォントに対応しています。
Adobe Type1 フォントは、通常 .AFM+.PFB、または .PFM+.PFB フォントファイルのペアから成り、前者は Solaris / Linux環境で、後者は Windows環境で使用されます。Type1 フォントに関する詳細は、Adobe Type1 フォント を参照してください。 以下、単に Type1 フォントと言った場合は、Adobe Type1 フォントのことを指します。
TrueType フォントファイルは .TTF または .TTC の拡張子を持ちます。TrueType フォントに関する詳細は、TrueType フォント・OpenType(TrueTypeアウトライン)フォント を参照してください。
OpenType フォントファイルは .TTF または .OTF の拡張子を持ちます。前者は TrueTypeアウトライン情報 が、また後者は、PostScriptアウトライン情報が、フォントファイルに含まれます。OpenType フォントに関する詳細は、OpenType(PostScriptアウトライン)フォント を参照してください。
Server Based Converter V2.0 のフォント環境を設定するには、フォント構築ファイルを作成する必要があります。
フォント構築ファイルは、単純な構造のXMLファイルで、Solaris / Linux版では通常 [Install directory]/etc に、Windows版では [Install directory] に置かれます。
フォント構築ファイルは、環境変数 AH_FONT_CONFIGFILE で指定しておかなければなりません。 デフォルトでは font-config.xml という名前で設定されています。
フォント構築ファイル内で、もっとも重要な要素は <font-folder> です。 Solaris / Linux版で、PDFの基本14フォントより多くのフォントを使用したい場合は、特定のディレクトリの下にフォントファイルを用意し、フォント構築ファイルに <font-folder path="..."> 要素を追加します。
Server Based Converter V2.0 は自動的に <font-folder path="..."> で指定されたディレクトリの中のフォントファイルを検出します。たいていの場合(いくつかの例外がありますが)、それぞれのフォントファイルすべてをフォント構築ファイルに記述する必要はありません。
以下は、初期のフォント構築ファイルです。Server Based Converter V2.0 Solaris / Linux版をインストールすると、このファイルが [Install directory]/etc にインストールされます。DTDファイル font-config.dtd も同じディレクトリにインストールされます。
<?xml version="1.0" encoding="UTF-8" ?> <!-- DOCTYPE font-config SYSTEM "font-config.dtd" --> <font-config> <font-folder path="[Install directory]/fonts"> <glyph-list file="ZapfDingbats-glyphname.txt" afm="ZapfDingbats.afm"/> </font-folder> <!-- add your font folder here --> <!-- font-folder path="/home/user-name/fonts" --> <!-- /font-folder --> </font-config>
Server Based Converter V2.0 Windows版では、次のようなフォント構築ファイルが [Install directory] にインストールされます。ここに、[System font directory] には、Windowsのフォントディレクトリが設定されます。
<?xml version="1.0" encoding="UTF-8" ?> <!-- DOCTYPE font-config SYSTEM "font-config.dtd" --> <font-config> <name-processing-mode mode="windows-name"/> <font-folder path="[System font directory]"> </font-folder> </font-config>
Windows版では、フォント構築ファイルが存在しないときは、この内容のフォント構築ファイルが仮定されます。
以下は、フォント構築ファイルの要素と属性の概略です。
要素 | 位置 | 属性 | 説明 |
---|---|---|---|
<font-config> | ルート要素 | Server Based Converter V2.0 のフォント構築ファイルのルート要素です。 |
|
<name-processing-mode> | <font-config> の子要素 | mode | Type1 フォントのフォント名とフォントファイルの対応付けを、Windowsの名前(.PFM+.PFB)だけで行うかどうかを指定します。 "mode" 属性には、 "default" または "windows-name" を指定します。既定値は "default" です。 "windows-name" が指定されている環境を、WindowsNameモードと言います。 <name-processing-mode mode="windows-name"/> この要素は <font-folder> に先んじなければならず、ひとつだけ指定できます。 |
<font-folder> | <font-config> の子要素 | path | "path" 属性で、フォントフォルダを指定します。 <font-folder path="/home/user-name/fonts"> .... </font-folder> この要素はいくつでも指定できます。 |
<glyph-list> | <font-folder> の子要素 | file |
"file" 属性で、Type1 フォントのグリフリストファイルを指定し、 "afm" 属性で Type1 フォントファイルを指定します。 グリフリストには、Type1 フォントのユニコードとグリフ名の対応付けのルールを定義します。 グリフリストファイルに関する詳細は、グリフリストファイル を参照してください。 <glyph-list file="carta.txt" afm="CR______.AFM"/> この要素はいくつでも指定できます。 |
afm | |||
<skip-glyphname-mapping> | <font-folder> の子要素 | afm |
Type1 フォントの、ユニコードとグリフ名、またはにユニコードと文字コードの対応付けを行わないことを指示します。 対応する Type1 フォントファイルは、 "afm" 属性で指定します。 このパラメータに関する詳細は、グリフ名マッピングの省略 を参照してください。 <skip-glyphname-mapping afm="CR______.AFM"/> この要素はいくつでも指定できます。 |
<font-exclude> | <font-folder> の子要素 | file |
"file" 属性で指定されたフォントファイルを無視します。つまり、指定されたフォントファイルは処理されません。 <font-exclude file="times.ttf"/> この要素はいくつでも指定できます。 |
<font-alias> | <font-folder> の子要素 | file |
フォントファミリ名の別名の定義を指示します。 "file" 属性で対象となるフォントファイルを指定します。 Type1 フォントは、拡張子 .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" 属性に、別名となる任意の名前を指定します。 新たに定義された name は、存在する他の font-family namesと一致しないようにする必要があります。 "weight" 属性はフォントの太さを指定し、 "100"~"900" の 100単位の数値、または "normal" または "bold" を指定します。省略したときはフォントの定義に従います。 "italic" 属性は斜体かどうかを、 "true" または "false" で指定します。 "true" ならば斜体です。省略したときはフォントの定義に従います。 ひとつのフォントに対して複数の別名を定義できます。 <font-alias file="EU______.AFM"> <alias family-name="Euro" /> </font-alias> <font-alias file="EUB_____.AFM"> <alias family-name="Euro" weight="bold" /> </font-alias> この要素はいくつでも指定できます。 |
weight | |||
italic | |||
<windows-registry> | <font-config> の子要素 | reference |
Windows版のときのみ有効で、外字情報をWindowsのレジストリから求めるかどうかを指定します。 "reference" 属性が "enable" ならレジストリを参照し、 "disable" なら参照しません。省略したときは "enable" とみなされます。 |
<eudc-processing> | <font-config> の子要素 | mapping |
外字の処理方法を指定します。 "mapping" 属性が "enable" なら外字を処理し、 "disable" なら処理しません。省略したときは "enable" とみなされます。 |
<eudc-range> | <eudc-processing> の子要素 | start |
外字の範囲をユニコードで指定します。 <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 |
フォント構築ファイルのDTDは次のとおりです。
<!ELEMENT font-config ( name-processing-mode?, font-folder+, windows-registry?, eudc-processing? ) > <!ELEMENT name-processing-mode EMPTY > <!ATTLIST name-processing-mode mode (default|windows-name) "default" > <!ELEMENT font-folder ( glyph-list | skip-glyphname-mapping | font-exclude | font-alias )* > <!ATTLIST font-folder path CDATA #REQUIRED > <!ELEMENT glyph-list EMPTY > <!ATTLIST glyph-list file CDATA #REQUIRED afm CDATA #REQUIRED > <!ELEMENT skip-glyphname-mapping EMPTY > <!ATTLIST skip-glyphname-mapping afm CDATA #IMPLIED pfm CDATA #IMPLIED > <!ELEMENT font-exclude EMPTY > <!ATTLIST font-exclude file CDATA #REQUIRED > <!ELEMENT font-alias (alias)* > <!ATTLIST font-alias file CDATA #REQUIRED entry CDATA #IMPLIED > <!ELEMENT alias EMPTY > <!ATTLIST alias family-name CDATA #REQUIRED weight (normal|bold|100|200|300|400|500|600|700|800|900) #IMPLIED italic (true|false) #IMPLIED > <!ELEMENT windows-registry EMPTY > <!ATTLIST windows-registry reference (enable|disable) #IMPLIED > <!ELEMENT eudc-processing ( eudc-range*, eudc-system-default?, eudc-map* ) > <!ATTLIST eudc-processing mapping (enable|disable) "enable" > <!ELEMENT eudc-range EMPTY > <!ATTLIST eudc-range start NUMBER #REQUIRED end NUMBER #IMPLIED > <!ELEMENT eudc-system-default EMPTY > <!ATTLIST eudc-system-default file-path CDATA #REQUIRED > <!ELEMENT eudc-map EMPTY > <!ATTLIST eudc-map family-name CDATA #REQUIRED file-path CDATA #REQUIRED >
ここでは、Adobe Type1 フォント の一般的な情報と、Server Based Converter V2.0 が Adobe Type1 フォント にどのように対応しているかを記述します。お使いの環境で、Adobe Type1 フォントをより便利に使うヒントを示します。
Adobe Type1 フォントは、以下のフォントファイルから成ります。
拡張子 | 説明 |
---|---|
.PFB (Printer Font Binary) | バイナリ圧縮されたフォントのアウトラインが含まれます。 |
.AFM (Adobe Font Metrics) | 一般フォント情報と、フォントメトリクス情報を含むテキストファイルです。 主に、.AFM+.PFB のペアで UNIX で使用されます。 |
.PFM (Printer Font Metrics) | 一般フォント情報と、フォントメトリクス情報が含まれます。 また、Windowsでのフォントメニューの名前となります。 バイナリフォーマットのファイルで、主に .PFM+.PFB のペアで Windowsで使用されます。 |
Server Based Converter V2.0 は、.AFM+.PFB または .PFM+.PFBのどちらのタイプの組合わせにも対応しています。
以下は Type1 フォントに関する必要条件です。
Server Based Converter V2.0 は、PDFファイルへの Type1 フォントの埋め込みに対応しています。 フォントを埋め込むためには、以下を準備してください。
フォントを埋め込まない場合は、.AFM または .PFM ファイルのどちらかが必要です。 フォントが埋め込まれていないPDFファイルを読むには、ユーザの環境に実際にPDFに使用されているフォントがインストールされている必要があります。
☞ | Server Based Converter V2.0 は、Type1 フォントのグリフのうち、使用しているもののみを埋め込みます。 |
---|
Adobe Type1 フォントを .AFM ファイルで使うためには、ユニコード文字がどのように Type1 フォントのグリフにマッピングされるかを知っている必要があります。 以下に、PDFファイル内での Type1 フォント処理を簡単に説明します。
☞ | エンコーディングの詳細については、PDF Reference の D Character Sets and Encodings を参照してください。 |
---|
例えば、ある Type1 フォントのエンコーディングパラメータが、Adobe Standard Encoding で、 "•"(U+2022 BULLET)をPDFファイルに記述したい場合は、 文字コード 0xB7(183)を選択しなければなりません。なぜならばこの文字のグリフ名は、 "bullet" であり、これは 0xB7 として Adobe Standard Encoding に定義されているからです。
これらから、PDFファイルに文字を書くには、まず、ユニコードのグリフ名を知っている必要があります。
この処理については、Unicode and Glyph Names に記述されています。
もっとも重要なマッピングの規則は、AGL(Adobe Glyph List) ファイルに記述されています。AGL は単純なテキストファイルで、800以上の Latin文字に対してユニコードからグリフ名へのマッピング規則を定義しています。Server Based Converter V2.0 は、このデータをユニコードからグリフ名にマップする際に使用します。
以下では、Server Based Converter V2.0 が、どのようにユニコードをグリフ名にマップし、PDFファイルに文字コードを記述するかを簡単に説明します。
Adobe Type1 フォントを .PFM ファイルで使う場合は、Server Based Converter V2.0 は別の方法で、ユニコードをグリフにマップします。このとき、グリフ名は使用しません。
.PFM ファイルは、PFMヘッダの dfCharSet 項目に、ひとつのエンコーディングデータを持っています。この 1バイトの項目には、文字セット(character set)と呼ばれる値が含まれています。Windows環境では、WINGDI.H ファイルに、以下の文字セットが定義されています。
名前 | 値 | コードページ |
---|---|---|
ANSI_CHARSET | 0 | 1252 |
GREEK_CHARSET | 161 | 1253 |
TURKISH_CHARSET | 162 | 1254 |
VIETNAMESE_CHARSET | 163 | 1258 |
EASTEUROPE_CHARSET | 238 | 1250 |
RUSSIAN_CHARSET | 204 | 1251 |
BALTIC_CHARSET | 186 | 1257 |
Microsoft が提供する Unicode to code page mapping data を用いて、Server Based Converter V2.0 は、ユニコードから文字コードへ変換し、PDFに記述します。 このマッピングデータは最大で 256個のエントリを持ちます。これはコードページが 8ビット文字幅のみを提供するためです。 コードページデータに定義されていないグリフは、フォントのアウトラインデータに存在しない限り使用できません。
☞ | コードページマッピングとフォントファイル内の実際のエンコーディングは、適合しない場合があるので、.PFM+.PFB のペアを主として Type1 フォントを使用するのは、推奨されていません。この組み合わせは補助的な方法としてお使いください。 |
---|
.AFM ファイルを使用した場合のユニコードとグリフのマッピング先に説明したように、AGLはユニコードとグリフ名のマッピング規則を提供します。 これは、一般に使用されている Latin文字に対応していますが、フォントの中にはAGLに適合しない特別なフォントもあります。 例えば、Adobe Type1 製品である Carta(CR______.AFM, CR______.PFM, CR______.PFB)には、189の絵グリフと 標準外のグリフ名があります。 これらのグリフ名をAGLの中から調べると、適合するグリフ名は 14個のみで、それ以外はAGLに適合しません。 そのままだと、.AFM+.PFB の組み合わせの Carta は、ほとんどのグリフが使えないことになります。
この問題を回避するのに、Server Based Converter V2.0 は2つの方法を提供します。 ひとつは、このフォント独自の グリフリストファイルを作成する方法、もう一つは、フォント構築ファイルに、<skip-glyphname-mapping>を指定する方法です。
このグリフリストファイルは単純なテキストファイルで、特定のフォントでのユニコードとグリフ名のマッピングを記述します。 フォーマットは、AGLファイルと同様です。
以下は グリフリストファイル の一例です。このグリフリストファイルは、ユニコードのプライベートユーザエリアを Cartaフォントのグリフ名にマップします。 ただし、空白と数字はそのままです。
# Carta sample glyphlist file # file name:carta-glyphname.txt 0020;space; E000;circle; E001;lookoutcontrol; E002;triangle; E003;diamond; E004;hexagon; E005;explode2; E006;lookout; E007;IRBM; E008;ICBM; E009;explode1; E00A;ruin; E00B;goldbar; E00C;lighthouse; E00D;mining; E00E;gaging; 0030;zero; 0031;one; 0032;two; 0033;three; 0034;four; 0035;five; 0036;six; 0037;seven; 0038;eight; 0039;nine; E00F;boundary; ...
グリフリストファイルを作成したら、フォント構築ファイルに、このグリフリストファイルのエントリを追加します。 Carta フォントが /home/resource/fonts ディレクトリにある場合、以下のような <glyph-list> エントリを追加します。
<font-config> <font-folder path="[Install directory]/fonts"> <glyph-list file="ZapfDingbats-glyphname.txt" afm="ZapfDingbats.afm"/> </font-folder> <font-folder path="/home/resource/fonts"> <glyph-list file="carta-glyph-list.txt" afm="CR______.AFM"/> </font-folder> </font-config>
もう一つの方法として、Server Based Converter V2.0 がグリフ名のマッピングを無視するように指示することができます。 これは、フォント構築ファイルに、<skip-glyphname-mapping> 要素を指定します。
<font-config> <font-folder path="[Install directory]/fonts"> <glyph-list file="zapfdingbats-glyphname.txt" afm="ZapfDingbats.afm"/> </font-folder> <font-folder path="/home/resource/fonts"> <skip-glyphname-mapping afm="CR______.AFM"/> </font-folder> </font-config>
.AFM ファイルに対してこのオプションが指定されると、文書内のユニコードの文字は、フォントエンコーディングの範囲内であれば、すべてPDFの文字にマップされます。 例えば、ユニコード U+0021 の場合、この文字は Cartaフォントのエンコーディングでは、10進数の 33が "circle" として定義されているので、直接PDFファイルに記述されます。 ユニコード U+0101 は、喪失グリフとしてエラーになりますが、これは、Cartaフォントのエンコーディングに定義されていないからです。 どのユニコードの文字が利用可能かは、.AFM ファイルを調べれば確認できます。 以下は、Cartaフォントの .AFM ファイルの一部ですが、ユニコードの文字が "C" の右側の数字と一致している場合、その文字は利用可能です。
EncodingScheme FontSpecific StartCharMetrics 189 C 32 ; WX 280 ; N space ; B 0 0 0 0 ; C 33 ; WX 560 ; N circle ; B 30 150 530 650 ; C 34 ; WX 620 ; N lookoutcontrol ; B 15 60 605 741 ; ... C 250 ; WX 1042 ; N boat ; B 30 0 1012 280 ; C 251 ; WX 852 ; N portofentry ; B 30 123 822 677 ; C 252 ; WX 946 ; N whwycounty ; B 0 -58 946 857 ; C 253 ; WX 1154 ; N whwytridown ; B 0 -100 1154 899 ; C 254 ; WX 1072 ; N whwytriright ; B 0 -121 1073 919 ; EndCharMetrics
複数のタイプの Type1 フォントをインストールした場合、フォントファミリ名に関して面倒な問題が起こります。 例えば、Adobe製品の Eurostile Type1 フォントを .AFM+.PFB のペアでインストールした場合、フォントファイルの組み合わせによっては、フォントの選択時に問題が発生します。 以下に、いくつかのフォントファイルの組み合わせにおけるフォントファミリ名の問題を記述します。
PFB name | PFM information | AFM information | |||||
---|---|---|---|---|---|---|---|
WindowsName | dfWeight | dfItalic | FullName | FamilyName | Weight | ItalicAngle | |
EU______.PFB | Eurostile | 400 | 0 | Eurostile Medium | Eurostile | Medium | 0 |
EUB_____.PFB | Eurostile Bold | 400 | 0 | Eurostile Bold | Bold | 0 | |
EUEX____.PFB | Eurostile ExtendedTwo | 400 | 0 | Eurostile Extended #2 | Roman | 0 | |
EUBEX___.PFB | Eurostile ExtendedTwo | 700 | 0 | Eurostile Bold Extended #2 | Bold | 0 |
これらのフォントを、.PFM+.PFB の組み合わせで使用する場合、.PFM ファイルは、すべて異なる フォントファミリ名 を使用するため問題はありません。一方、これらのフォントを、.AFM+.PFB の組み合わせでインストールした場合、すべてのフォントファミリ名は Eurostile となり、しかも同じ太さ(weight)を持つ複数のフォントが存在することになります。太さの値の Medium と Roman は font-weight="400" として解釈され、Bold は font-weight="700" として扱われます。
この問題を回避するためには、フォント構築ファイルで、<alias> 要素を用いて新たなフォントファミリ名の別名を定義する必要があります。 以下は、 .PFM に似せたフォントファミリ名の定義例です。
<font-config> <font-folder path="[Install directory]/fonts"> <glyph-list file="ZapfDingbats.txt" afm="ZapfDingbats.afm"/> </font-folder> <font-folder path="/home/resource/fonts"> <!-- Set the family-name and weight to the PFM definition --> <font-alias file="EU______.AFM"> <alias family-name="Adobe Eurostile"/> </font-alias> <font-alias file="EUB_____.AFM"> <alias family-name="Adobe Eurostile Bold" weight="normal"/> </font-alias> <font-alias file="EUEX____.AFM"> <alias family-name="Adobe Eurostile ExtendedTwo"/> </font-alias> <font-alias file="EUBEX___.AFM"> <alias family-name="Adobe Eurostile ExtendedTwo" weight="bold"/> </font-alias> </font-folder> </font-config>
☞ | 新たに定義する <font-alias> 要素の family-name 属性は、フォントファイル内の他の定義されているどの別名とも異ならなければなりません。 また、太さと斜体の組み合わせは、同じフォントファミリ名を持つフォントの中でユニークでなければなりません。 |
---|
Server Based Converter V2.0 Windows版では、PDFを生成することなく印刷を行うことができます。これは、Windowsの機能を利用して行われるため、フォントの取り扱いもWindowsに準じます。すなわち、Windowsは、.PFM ファイルの WindowsName を用いてフォントにアクセスします。 このため、.AFM ファイルの FamilyName でマッピングしようとしても、うまくマッピングできない可能性があります。 フォント構築ファイルに <name-processing-mode mode="windows-name"/> を指定することにより、この問題を回避できます。しかし、そのときは .AFM ファイルへの指定が直接できなくなりますので、.AFM ファイルについては、別名を定義する必要があります。
しかし、Windows自身には .AFM ファイルは含まれていないので、多くの場合、この問題を意識する必要はありません。
非Windows版では、以下の Adobe Type1 フォントがインストールされます。
これらには、.AFM または .PFM は含まれていませんので、PDFへの埋め込みをすることはできません。また、ご利用に際しては、同梱されている MustRead.html をお読みください。
これらのフォントは、PDF core font information からダウンロードすることができます。
ここでは、TrueType フォント、OpenType(TrueTypeアウトライン)フォント の一般情報と、Server Based Converter V2.0 がどのようにそれらを取り扱っているのかを説明します。お使いの環境で、より便利にこれらのフォントをお使い頂くヒントを示します。
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 フォント として記述します。
TrueType フォントは、拡張子 .TTF または .TTC の単一ファイルで構成されています。 .TTC は TrueType Collection の短縮形で、単一ファイル内に複数の TrueType フォントを含みます。 CJKフォントで使われることがあります。
以下は、TrueType フォントの必要条件です。
☞ |
cmap table など、TrueType フォントの詳細については、以下のようなサイトを参照してください。
|
---|
Server Based Converter V2.0 は、TrueType フォントをPDF/SVGファイルへ埋め込むことができますが、TrueType フォントは、OS/2 table の fsType 項目に、ライセンス情報を持っています。Server Based Converter V2.0 はこのライセンス情報を考慮し、埋め込み禁止フォントを埋め込もうとした場合はエラーとします。
なお、TrueType フォントは、使用されているグリフだけが埋め込まれます。
☞ | PDFのリファレンスマニュアルでは、あらゆるビューアアプリケーションが期待どおりの正しい表示をするためには、TrueType フォントを埋め込むように推奨しています。 TrueType フォントが埋め込まれていないPDFを Adobe Acrobat または Reader が処理する際、特定のユニコード文字とフォントの組み合わせによっては、エラーが表示される場合があるからです。 例えば、タイ語の文字が使われている TrueType フォントが非埋め込みで作成されたPDFファイルは、Adobe Acrobat または Reader で開こうとすると、実際にフォントが存在するにも関わらず、 "font not found" のエラーが表示されます。一方、アラビア語が使われているフォントは、埋め込みをしなくてもこのようなエラーは起こりません。 |
---|
ここでは、OpenType(PostScriptアウトライン) フォントの一般情報と Server Based Converter V2.0 がどのようにそれらを取り扱っているのかを説明します。お使いの環境で、より便利にこれらのフォントをお使い頂くヒントを示します。
OpenType(PostScriptアウトライン)は、フォントの構成と必要条件 に記述されている OpenType フォントの1種類です。 OpenType(PostScriptアウトライン)フォントは、拡張子が .OTF で、単一のファイルから構成されます。また、OpenType(PostScriptアウトライン)は、ふたつのカテゴリに分類されます。 ひとつは、OpenType(PostScript)CID フォントであり、もうひとつは、OpenType(PostScript)non-CID フォントです。以下でこれらのカテゴリを簡単に説明します。
Type | Contents | Treatment in PDF |
---|---|---|
Non-CID フォント | 主に Latin文字のグリフを含み、グリフは、グリフ名を使ってインデクスされます。これは、Type1 フォントと同様です。 | Type1 |
CID フォント | 主に CJK ideograph グリフを含み、グリフは、CIDを用いてインデクスされます。 | Type0 (CIDFontType0) |
OpenType は、新しい標準形式です。Server Based Converter V2.0 からお使いいただく際に必要な条件はありません。
使い方、family-name、font-weight、font-style のマッピング規則は、TrueType フォントと同様です。 詳細は、フォントの構成と必要条件 を参照してください。
OpenType(PostScriptアウトライン)の中には、100の倍数でない font-weight 値を持つフォントがありますが、この場合、Server Based Converter V2.0 は値を四捨五入します。
フォントの埋め込み条件は、TrueType フォントと同様です。詳細は、TrueType フォントの埋め込み を参照してください。
OpenType(PostScriptアウトライン)CID フォントの中には、フォントファイルごとにフォントファミリ名を定義しているフォントがあります。 もともとこれらのフォントは、同じフォントファミリに属し、異なる font-weight値を持ちます。
Font file | Family-name | Weight | Italic |
---|---|---|---|
HeiseiKakuGoStd-W3.otf | "Heisei Kaku Gothic Std W3" | 300 | Normal |
HeiseiKakuGoStd-W5.otf | "Heisei Kaku Gothic Std W5" | 500 | Normal |
HeiseiKakuGoStd-W7.otf | "Heisei Kaku Gothic Std W7" | 700 | Normal |
HeiseiKakuGoStd-W9.otf | "Heisei Kaku Gothic Std W9" | 900 | Normal |
Windows環境において、同じフォントファミリ名に対して、3つを超えて weight値を持つことができない(Macintosh環境ではこのような組み合わせが可能です)ため、これらのフォントは、フォントファイルごとに異なるフォントファミリ名を持ちます。 これらのフォントを異なるフォントファミリ名で使用するのが不便な場合は、フォント構築ファイルに、以下のような別名定義を加えると、フォントファミリ名を統合することができます。
<font-config> <font-folder path="[Install directory]/fonts"> <glyph-list file="ZapfDingbats.txt" afm="ZapfDingbats.afm"/> </font-folder> <font-folder path="/home/resource/fonts"> <!-- Integrate the four OTF font's family name to "Heisei Kaku Gothic Std"--> <font-alias file="HeiseiKakuGoStd-W3.otf"> <alias family-name="Heisei Kaku Gothic Std" weight="300" /> </font-alias> <font-alias file="HeiseiKakuGoStd-W5.otf"> <alias family-name="Heisei Kaku Gothic Std" weight="500" /> </font-alias> <font-alias file="HeiseiKakuGoStd-W7.otf"> <alias family-name="Heisei Kaku Gothic Std" weight="700" /> </font-alias> <font-alias file="HeiseiKakuGoStd-W9.otf"> <alias family-name="Heisei Kaku Gothic Std" weight="900" /> </font-alias> </font-folder> </font-config>
Server Based Converter V2.0 では、外字(EUDC: End User Defined Character)を利用することができます。
Windows版では、外字の情報をレジストリから取得するので、フォント構築ファイルに外字情報を作成する必要はありませんが、フォント構築ファイルに外字情報が記述されている場合はそれも考慮されます。 Windows版以外では、外字を利用するためにはフォント構築ファイルに外字情報を作成しておく必要があります。
<font-config> <name-processing-mode mode="windows-name"/> <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>
外字の利用は、利用者は意識する必要がありません。Server Based Converter V2.0 は、文字コードによって、自動的にフォントの切り替えを行います。