The base fonts are guaranteed to be available on all systems.

Using the base fonts in your PDF results in a small document which is guaranteed to render in the same way on all systems. However the base fonts do not support complex languages such as Chinese and Japanese and they do not support some characters used in Eastern Europe.

The following are the names of the base fonts.

  • Times-Roman
  • Times-Bold
  • Times-Italic
  • Times-BoldItalic
  • Helvetica
  • Helvetica-Bold
  • Helvetica-Oblique
  • Helvetica-BoldOblique
  • Courier
  • Courier-Bold
  • Courier-Oblique
  • Courier-BoldOblique
  • Symbol
  • ZapfDingbats

Use the AddFont method, with the "Latin" language, to reference these fonts.




Embedded TrueType or OpenTypeUnicode fonts are generally the most efficient and reliable way of adding complex language support to your PDF documents. However you need to ensure that you have permission to embed and redistribute your chosen font.

ABCpdf includes options to try and protect you from inadvertently embedding copyrighted fonts. However you should not rely on this protection. If you wish to embed fonts It is vitally important that you think about the way these fonts will be used and that you understand the operations permitted by the copyright holder. Ultimately you need to take responsibility for any fonts you embed in your PDF documents.

When embedding large fonts you should generally choose to subset them. Not only does it produce smaller PDF documents but It is also generally faster to embed a subset of a large font than to embed the entire font.

Use the Doc.EmbedFont method to embed fonts. Only Latin and Unicode languages can be embedded; other languages will be referenced.

The table below shows the valid combinations of language and horizontal and vertical writing directions.

Language Horizontal Vertical Notes
"Latin"   The default and most efficient encoding for Western languages.
"Unicode" The setting you will most often want to use when embedding foreign character sets.
"ChineseS" Simple Chinese
"ChineseT" Traditional Chinese




Referenced TrueType or OpenType fonts produce a smaller PDF document. However for complex languages you will need a recent version of Adobe Acrobat and you will need to install the relevant language pack. Without these you will not be able to view your documents and your viewer may report errors.

Use the Doc.AddFont method to reference fonts.

The table below shows the valid combinations of language and horizontal and vertical writing directions.

Language Horizontal Vertical Notes
"Latin"   The default and most efficient encoding for Western languages.
"Unicode"     This selector requires that the font be embedded - it cannot be used for referencing fonts.
"Korean" Requires the relevant Adobe Acrobat Language Pack
"Japanese" Requires the relevant Adobe Acrobat Language Pack
"ChineseS" Simple Chinese requires the relevant Adobe Acrobat Language Pack
"ChineseT" Traditional Chinese requires the relevant Adobe Acrobat Language Pack



Type 1

Sometimes, typically when dealing with the Mac platform, you may need to add or embed Type 1 fonts. You can do this using Doc.EmbedFont or Doc.AddFont in exactly the same way as you would for any other font.

Type 1 fonts contain a limited set of characters. As such the only language which is available is the "Latin" language.




Fonts are changed when they are inserted into a PDF document. As such it can be difficult to reuse a font which has already been embedded.

Unicode fonts are complex and the changes that are made to insert them into a PDF document mean that the characteristics that ABCpdf requires for general text operations are unlikely to be present.

Any font that has been subsetted is obviously going to present difficulty because glyphs have been removed . If you wish to reuse such a font you will not be able to generate output for those glyphs.

Because Type 1 fonts contain contain a limited set of characters and a simple encoding, they are the most reliable for re-use. They are much more reliable than TrueType fonts.

To access a font that you might be able to re-use you can scan through the ObjectSoup looking for FontObject objects.

However be aware that the changes made to fonts may vary between software and between font types. As such this kind of operation is unpredictable.




ABCpdf will allow you to use any valid TrueType or Type 1 (PostScript) font.

If you are having problems accessing a particular font try disabling the ABCpdf font protection functionality. However note that you should not embed and redistribute fonts unless you have permission to do so.

ABCpdf maintains a font cache. This means that for ABCpdf to pick up on a newly installed font you will need to restart any processes that are using ABCpdf.

Alternatively you can pass the path to your font file to the AddFont or EmbedFont method. This will automatically load the font file. Do not move the font file after doing this - ABCpdf relies on fonts staying in place.

Sometimes permissions are placed on individual font files which may restrict access from restricted permission accounts such as ASP or ASP.NET.

Occasionally TrueType fonts are corrupt or non- standard. This can cause problems for ABCpdf (which will refuse to recognize them) or Acrobat (which will refuse to use a font embedded in the PDF). However this type of problem is relatively infrequent and tends to be restricted to unusual fonts such as bar-codes.

If you hit a problem you think is related to a corrupt or nonstandard font please mail us the font and we'll see what we can suggest.