Fonts

This chapter explains about the fonts which AH Formatter V7.1 supports and how to use them. Also it explains the general consideration for each type of font.

The Font Configuration File is for setting the details of the font environment. In non-Windows version: Although the initial file is prepared, you need to set it in accordance with your font environment. In the Windows version: The font configuration file may be used as is.

AH Formatter V7.1 also supports Adobe Fonts and EUDC (end user defined character) for Private Use Characters.

  See also Font Output in the PDF Output.
  See also Font Output in the PostScript® Output.
  See also Font Output in the XPS Output.

Supported font formats

AH Formatter V7.1 supports the following types of fonts.

  • Type 1

    Type 1 font files usually consists of a pair of font files .AFM+.PFB or .PFM+.PFB. The former is used in non-Windows environment. The latter is used in Windows environment. For further information, see Type 1.

  • TrueType

    TrueType font files have the .TTF or .TTC extension. For further information, see TrueType.

  • OpenType

    OpenType font files have the .TTF or .OTF extension. Fonts with the .TTF extension are fonts that contain TrueType outline information and are treated the same as TrueType. See TrueType. Fonts with the .OTF extension are fonts that contain PostScript outline information. See OpenType. Supports also OpenType Collection.

  • WOFF File Format 1.0 no-LT

    You can treat WOFF (Web Open Font Format) by specifying to <axf:font-face>. WOFF fonts cannot be specified directly. The WOFF font specified by <axf:font-face> is treated as a TrueType or an OpenType. It's not necessary to specify the place where the WOFF font is located in the Font Configuration File. These functions are not available with AH Formatter V7.1 Lite.

  • WOFF File Format 2.0 no-LT

    You can treat WOFF 2.0 as well as WOFF 1.0.

  • Macintosh TrueType data fork suitcase

    Supports Macintosh TrueType Suitcase expressed by the .dfont extension or the .dfon extension. This is the Font Suitcase whose font is defined as the data fork. The old Font Suitcase, which is used by Classic MacOS and whose font is defined in the resource fork, is not supported. The contents is TrueType. For details, see also TrueType.

Font Configuration File

To configure the font environment for AH Formatter V7.1, you must make a Font Configuration File.

The Font Configuration File is a simple structured XML file and is usually located in the [Install directory]/​etc on non-Windows and [Install directory] on Windows.

The Font Configuration File should be set in the Environment Variables. The name font-config.xml is set as default.

In the Font Configuration File, the most important element is <font-folder>. If you want to use more than the PDF Standard 14 Fonts on non-Windows, you must locate the font files and add their directory as a <font-folder path="..."> element to the configuration file.

AH Formatter V7.1 automatically detects the font files in the specified directory at the <font-folder path="...">. However, there are a few cases where the font name cannot be resolved, only in such cases it is necessary to describe the font file. Normally it is not necessary to specify each file to be used.

In the Windows version, the default font configuration includes all the fonts in the Windows font directory. AH Formatter V7.1 reads the information on the fonts available to use when starting up AH Formatter. In other words, the more the fonts exist, the more processing time is taken. This means that it may take more time to initialize fonts than time to format when formatting a small document. With a big document, the time to initialize font may not be significant. In order to save the time to initialize fonts, reduce the available fonts. There are the following three solutions available:

  1. Reduce the font installed in the Windows font directory.
  2. In the Font Configuration File, enumerate fonts that are not used in the Windows font directory by using the font-exclude attribute.
  3. Prepare the separate directory where only necessary fonts are included and specify only that directory in the Font Configuration File.

A realistic solution may probably be 3. For example, put fonts you'd like to use in the directory of C:\MyFonts and prepare the Font Configuration File like the following:

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

Be sure not to include the setting of Windows font directory here. Specify this Font Configuration File by the Environment Variables.

In Macintosh version, the system font directory is also included in the Initial Font Configuration File. If necessary, adjust the Font Configuration File as well.

Initial Font Configuration File

The following is the initial Font Configuration File. AH Formatter V7.1 Linux version, the following Font Configuration File is installed on [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.1 Macintosh version, the following Font Configuration File is installed on [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>

In AH Formatter V7.1 Windows version, the following Font Configuration File is installed on [Install directory]. The user font directory added in Windows 10 is set to [User font directory]. The Windows font directory is set to [System font directory].

<?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>

In Windows version, when there is no Font Configuration File, the Font Configuration File of this content will be assumed.

Font Configuration File elements and attributes

The following table is a summary of the elements and attributes in the Font Configuration File.

ElementAttributeDefaultDescription
<font-config>root element
use-preferred-familytrue

Specifies whether the information on NameID=16 is used for a font family name with TrueType or OpenType.

windows-registryenable

Effective only with Windows version. Specifies whether to get the information of EUDC from the Windows registry or not. If the value is enable, it refers to the registry. If the value is disable, it doesn't.

<font-folder>child of <font-config>
path

Indicates the font folder using the path attribute.

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

This element can be specified as many times as necessary.

recursivefalseIf true is specified, inside of the subfolder included in the folder specified by path will also be searched.
<font-entry>child of <font-folder>
file

Associated attributes are given to the font file specified by the file attribute (base file name, without the wild card).

glyph-list

Specifies the glyph-list file of the font when the Type 1 font is specified by the file attribute. The glyph-list defines Unicode to glyph name mapping rule for Type 1 fonts.

skip-glyphname-mappingtrue

Specifies whether to map Unicode to the glyph name or map Unicode to the character-code of the font when the Type 1 font is specified by the file attribute. If true is specified, it maps. If true is specified, it doesn't.

font-excludefalse

Specifies whether to disregard the file specified by file attribute. If true is specified, it disregards. If false is specified, it doesn't. When true is specified, the font file is not processed.

unicode-range

Specifies the range of Unicode applied to the file specified by the file attribute. See Unicode Range for the format. When unicode-range is not specified, it is considered the total range U+0-10FFFF.

font-size-adjust1

Adjusts the font size of the file specified by the file attribute. For instance, when specifying font-size-adjust="1.05", the output size is 1.05 times greater than the size specified in FO. It is also possible to specify it as "105%" using the % value.

baseline-adjust0

Adjusts the baseline of the file specified by the file attribute. For instance, when specifying baseline-adjust="0.1", the value is added to the baseline specified in FO and adjusted to the added position. It is also possible to specify it as "10%" using the % value.

x-heightAdjusts the x-height of the file specified by the file attribute. Some fonts may not have x-height information. Specify it in such a case or when you want to adjust the value the font has. 1.0 is equivalent to 1em. It's invalid if 0 or less is specified.
cap-heightAdjusts the cap-height of the file specified by the file attribute. Some fonts may not have cap-height information. Specify it in such a case or when you want to adjust the value the font has. 1.0 is equivalent to 1em. It's invalid if 0 or less is specified.
<font-alias>child of <font-folder>
file

Indicates the alias name of the font family name. The source font file should be specified using the file and entry attributes. file attribute should specify font files (base file name, without the wild card). For Type 1 fonts, specify the font files that have the .AFM or .PFM extensions. For TrueType or OpenType fonts, you can specify the font files that have the .TTF or .TTC or .OTF extensions. The entry attributes should be the number of the fonts in the .TTC (TrueType Collection) file. The number should be a numeric value of 1 or more. If the entry attribute is omitted, the value is considered 1. If the font is not .TTC, the value is ignored.

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

To define the alias names, enumerates the <alias> element within this element. This element can be specified as many times as necessary.

entry
<alias>child of <font-alias>
family-name

Indicates the actual alias name for the font described in the file of <font-alias>. The alias information is specified using family-name, weight, italic attributes. family-name attribute is the alias font family-name. Newly defined names should not match any other existing font-family names. weight attribute is the alias font weight class. This attribute can be specified using a numeric value between 100 to 900 or the keyword normal, bold. italic attribute indicates the font style for italic. It should be specified using the keyword true or false. You can specify multiple alias definition for one font file. This element can be specified as often as necessary.

It's possible to display the font file specified by file of <font-alias> using the name and style specified here.

<font-alias file="ARIALI.TTF">
  <alias family-name="MyArial"/>
</font-alias>
<font-alias file="ARIALBI.TTF">
  <alias family-name="MyArial" weight="bold"/>
</font-alias>

In the example above, font-family="MyArial" font-weight="normal" should display “ARIALI.TTF”, font-family="MyArial" font-weight="bold" should display “ARIALBI.TTF” differently. Note the following points.

  • When the italic font is originally specified, and even if font-style="normal" is specified, it doesn't become normal.
  • When the bold font is originally specified, and even if font-weight="normal" is specified, it doesn't become normal. Even if font-weight="bold" is specified, it doesn't become bolder.

When <alias> is specified, the file set in file of <font-alias> is selected by the name and style and displayed. For instance, when font-style="italic" is specified and there is no <alias> with italic setting, normal is adopted.

weightnormal
italicfalse
<acc-folder>child of <font-config>
path

Specifies the installation destination of Adobe Fonts by the path attribute. For more details, see Adobe Fonts.

<eudc-processing>child of <font-config>
mappingenable

Specifies whether to process EUDC. If the mapping attribute is enable, it processes EUDC. If the mapping attribute is disable, it doesn't.

<eudc-range>child of <eudc-processing>
start

Specifies the range of EUDC by Unicode.

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

Numeric value is specified. This sample indicates as 57344 = U+E000, 63743 = U+F8FF. If there is no numeric value specified, and the registry reference is effective with Windows version, it follows the instruction of the registry. If not, the PUA range is detected as (U+E000 to U+F8FF). When end is omitted, it is considered the same value as start. Multiple ranges can also be specified.

end
<eudc-system-default>child of <eudc-processing>
file-path

Specifies the EUDC font file of the system default. It is adopted when there is no supported glyphs in the specified EUDC font. If there is no EUDC font file specified, and the registry reference is effective with Windows version, it follows the registry setting. At that time, the code page 932 is referred. If not, EUDC font of the system default is detected as nothing.

<eudc-map>child of <eudc-processing>
family-name

Specifies the EUDC file by the file-path attribute, which is used when the character code of the EUDC range is specified to the font specified by the family-name attribute. If the registry reference is effective with Windows version, it is also taken into consideration. If there are the same font-family specified, the previous appearance takes precedence and the Font Configuration File takes precedence over the registry. This element can be specified as often as necessary.

file-path

The following meta strings can be specified for path of <font-folder> and <acc-folder>.

  • @@HOME@@ : Expanded to the contents of the Environment Variable, AHF71_HOME or AHF71_64_HOME.
  • @@WINFONTS@@ : Expanded to the system font directory (eg C:\Windows\Fonts) in Windows version.
  • @@USERWINFONTS@@ : Expanded to the user font directory (@@LOCALAPPDATA@@\Microsoft\Windows\Fonts) in Windows version.
  • @@APPDATA@@ : Expanded to the contents of the environment variable APPDATA in Windows version.
  • @@LOCALAPPDATA@@ : Expanded to the contents of the environment variable LOCALAPPDATA in Windows version.
  • @@ACCFOLDER@@ : Expanded to the installation destination of Adobe Fonts in Windows version or Macintosh version. However, since this folder has a special structure, it may not be specified to path of <font-folder>.

The DTD of Font Configuration File is as follows:

<!ELEMENT font-config (font-folder+ | acc-folder? | eudc-processing?)>
<!ATTLIST font-config use-preferred-family (true|false)     "true">
<!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

This section describes general information for Type 1 fonts and how AH Formatter V7.1 supports them.

Font organization and necessary condition

Type 1 fonts are organized using the following font files.

File extensionDescription
.PFB (Printer Font Binary)Contains binary compressed font outline.
.AFM (Adobe Font Metrics) Contains general font information and font metrics information. This is a text file. Used in pairs of .AFM+.PFB.
.PFM (Printer Font Metrics) Contains general font information and font metrics information. This is a binary format file. Used in pairs of .PFM+.PFB.

AH Formatter V7.1 supports both types of combinations: .AFM+.PFB, .PFM+.PFB files.

Type 1 font considerations.

  • The current version of AH Formatter V7.1 does not support font outline files with .PFA (Printer Font ASCII) extension. Most Type 1 font products are shipped in the .PFB format, which is supported by AH Formatter V7.1.
  • Type 1 font metrics data which has the .MMM extension is not supported. This metrics file is used for the Multiple Master Type 1 fonts.
  • Both.PFB and .PFM that maps to .PFB must exist in the same directory. Fonts may be installed in different directories by using ATM (Adobe Type Manager). Such fonts cannot be used for embedding with AH Formatter V7.1.

Embedding Type 1

AH Formatter V7.1 supports embedding the Type 1 font into PDF files. The following are required to embed fonts:

  • The .AFM+.PFB or .PFM+.PFB font files must be in the folder specified in the <font-folder> of the font configuration file.
  • In the Option Setting File specify the target font family name <embed-font> element or specify <pdf-settings embed-all-fonts="true"> entry.

If you do not embed fonts, only .AFM or .PFM files are needed. If fonts are not embedded in the PDF the user will need the actual fonts on their system when they read the PDF file.

PDF Standard 14 Fonts

In non-Windows version, the following Type 1 fonts are installed.

  • 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

Because .PFB is not included in these, it is not possible to embed it in PDF. See the bundled MustRead.html before you use.

These fonts can be downloaded from PDF core font information.

TrueType

This section describes AH Formatter V7.1 implementation for TrueType and OpenType (TrueType outline) fonts. Tips on how to use these fonts in your environment are provided.

Font organization and necessary condition

TrueType fonts were originally developed by Apple Computer and have been used in the Windows environment. OpenType fonts were jointly developed by Adobe and Microsoft as cross-platform fonts. Due to the origin, OpenType fonts have two flavors/kinds. One has the TrueType outline. The other has the PostScript outline. OpenType font files that have the TrueType outline have the file extension .TTF or .TTC. OpenType font files that have the PostScript outline have the extension .OTF. This section treats original TrueType fonts and OpenType (TrueType outline) fonts together. From now on, we will use the term TrueType fonts as the contraction of TrueType font and OpenType (TrueType outline).

  Macintosh TrueType font data fork suitcase is also TrueType font and its extension is .dfont or .dfon. Although it's somehow different from .TTF, since the treatment of TrueType is almost the same, its description is omitted here.

TrueType fonts are composed of a single file which has the extension .TTF or .TTC. TTC is the abbreviation of the TrueType Collection. It contains multiple TrueType fonts in a single file structure. It is sometimes used in the CJK fonts.

TrueType font requirements:

  • Font must have a cmap table which enables mapping Unicode to glyph indexes. (Almost all TrueType fonts have a cmap table available.)
  • Some older TrueType fonts do not have Code Page information in the OS/2 table (ulCodePageRange1, 2) which can negatively influence AH Formatter V7.1's font selection algorithms. For this reason we recommend not using old TrueType fonts.
 Visit the following sites to get more details about TrueType font (cmap table, etc.)

Embedding TrueType

AH Formatter V7.1 supports embedding the TrueType font as well as the Type 1 font into PDF. One big difference is the embedding license. TrueType font has the license information in OS/2 table fsType field. AH Formatter V7.1 respects this licensing information which will cause embedding errors when you specify font embedding against fonts with restrictions on embedding. In addition, only the used glyphs are embedded with the TrueType fonts.

 ISO 32000-1 or ISO 32000-2 says that TrueType fonts should be embedded to get predictable behavior across all viewer applications. If you don't embed TrueType fonts into the PDF file, Adobe Acrobat or Reader sometimes reports errors for particular Unicode character and font combinations.

OpenType

This section describes how AH Formatter V7.1 implements OpenType (PostScript outline) fonts. Tips on how to use OpenType fonts more conveniently in your environment are provided. Hereafter, when simply saying OpenType in this document, it means OpenType of the PostScript outline.

Font organization and necessary condition

OpenType font files have an extension .OTF and consists of only a single file. In addition, OpenType is classified into two categories. One is OpenType CID font and the other is OpenType non-CID font. The following table gives a brief description of these categories.

TypeContentsTreatment in PDF
non-CID fontMainly contains Latin character glyphs. Glyphs are indexed using glyph name. It is the same as Type 1 font.Type 1
CID fontMainly contains CJK ideograph glyphs. Glyphs are indexed using CID.Type 0

Embedding OpenType

Font embedding is the same as for TrueType fonts. For more details, see the Embedding TrueType.

Integrate the family name using the alias name

Some OpenType CID fonts have a family name defined per font file. Originally these fonts belonged to the same family and each font file has a different font-weight value.

Font fileFamily-nameWeightItalic
HeiseiKakuGoStd-W3.otfHeisei Kaku Gothic Std W3300normal
HeiseiKakuGoStd-W5.otfHeisei Kaku Gothic Std W5500normal
HeiseiKakuGoStd-W7.otfHeisei Kaku Gothic Std W7700normal
HeiseiKakuGoStd-W9.otfHeisei Kaku Gothic Std W9900normal

In the Windows environment it is not allowed to have more than three weight-values in the same family name. (Macintosh does allows such combinations.) As a result, these fonts have different family name per font file. This makes it inconvenient to use these fonts using the different family name. To integrate the family names, the following alias descriptions to the font configuration file should be added.

<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>

The alias family name can be used in the FO as follows:

<fo:block font-family="Heisei Kaku Gothic Std" font-weight="300">
  "Heisei Kaku Gothic Std W3" will be applied to this text.
</fo:block>
<fo:block font-family="Heisei Kaku Gothic Std" font-weight="500">
  "Heisei Kaku Gothic Std W5" will be applied to this text.
</fo:block>
<fo:block font-family="Heisei Kaku Gothic Std" font-weight="700">
  "Heisei Kaku Gothic Std W7" will be applied to this text.
</fo:block>
<fo:block font-family="Heisei Kaku Gothic Std" font-weight="900">
  "Heisei Kaku Gothic Std W9" will be applied to this text.
</fo:block>

Adobe Fonts

Adobe Fonts is a font library service provided by Adobe. AH Formatter V7.1 supports Adobe Fonts. For details on Adobe Fonts and available font licenses, see the following:

 Adobe Fonts
 Adobe Fonts User Guide

Adobe Fonts are available on Windows or Macintosh. To use Adobe Fonts, it is necessary to add the <acc-folder> element to the Font Configuration File in the environment where Adobe Fonts are installed. The Font Configuration File includes that setting by default.

In Windows, Adobe Fonts are installed in [APPDATA]\Adobe\CoreSync\plugins\livetype. [APPDATA] shows the location indicated by the environment variable. Specify it to the path of <acc-folder>. However, the path can be omitted in Windows version. If the path is omitted and <acc-folder/> is specified, it is considered that it is specified as the path.

In Macintosh, Adobe Fonts are installed in ~/​Library/​Application Support/​Adobe/​CoreSync/​plugins/​livetype. Specify it to the path of <acc-folder>. It cannot be omitted.

Installed Adobe Fonts are OpenType. You can check the font family name, etc. in .../​livetype/​c/​entitlements.xml or .../​livetype/​.c/​entitlements.xml.

EUDC

EUDC: End User Defined Character is available with AH Formatter V7.1.

Since the information on EUDC is acquired from the registry, it is not necessary to create EUDC information to the Font Configuration File with Windows version. However when EUDC information is described by the Font Configuration File, it is also taken into consideration. With non-Windows version, it is necessary to create EUDC information to the Font Configuration File in order to use EUDC.

<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 Mincho" file-path="c:\Program Files\east\jinmei3\FEJPMIN.TTG"/>
  <eudc-map family-name="MS PMincho" file-path="c:\Program Files\east\jinmei3\FEJPMIN.TTG"/>
 </eudc-processing>
</font-config>

A user does not need to be conscious of utilizing EUDC. AH Formatter V7.1 changes the font automatically by the character code.

Restrictions

There are V1 and V2 specifications for Indic OpenType Fonts. V2 is the specification published by Microsoft in 2008 and corresponds to the fonts included with Windows Vista or later. The main differences between V1 and V2 specifications are as follows:

  • The script tag was changed.
  • The way to divide text into syllables, which is the base of the text layout, was changed.
  • The treatment of ZWJ, ZWNJ and NBSP used for the selection of the typeface was clearly defined.
  • The behavior of consonant conjuncts or above-base vowel marks became font dependence.
  • Features to be applied for GSUB and GPOS were added.
  • The applying order of GSUB and GPOS features was changed.

AH Formatter V7.1 integrates fonts based on the V1 specification. Many of fonts corresponding to the V2 specification are also included in the features of V1 specification. Fonts that only have the V2 compliant are not supported.

There are some known problems in the Indic fonts implementation with AH Formatter V7.1.

  • With Kokila V5.* included with Windows Vista or later, the processing of Vattu is not correct. For example, a sequence of U+0915 U+094D U+0930 will be rendered as shown in the image on the right, although it should be rendered as shown on the left.

    Kokila OKKokila NG

    It seems that the processing of the V1-compliant font itself is not correct. Use V1.00, etc.

  • Kalinga V5.* included with Windows Vista or later only includes the features of the V2 specification. AH Formatter V7.1 conforms to the V1 specification, so this font cannot be handled correctly. We recommend to use the free Lohit font (Oriya). Lohit fonts are downloadable from the following site:

The following is not the problem of AH Formatter V7.1, hope you find it informative.

  • The typeface of DaunPenh V5.* included with Windows Vista or later is designed to be very small. Therefore, the balance is not very good when European languages etc. are mixed. We recommend to use the free KhmerOS font. KhmerOS fonts are downloadable from the following site: