> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Working with Fonts

The result of document recognition is dependent on the fonts used during processing and their settings. ABBYY FineReader Engine provides you with the options of using available fonts, but there are cases when you need to set the fonts manually:

* Your document contains specific fonts (for example, non-Latin fonts)

* When you use an operating system with a limited set of fonts or without fonts. For example:

* Windows Server Core inside Docker container

* Any server version of Linux distribution without Graphical User Interface

In these cases, it is important to set the fonts before launching your application because several processing stages require the usage of the correctly tuned fonts:

* PDF opening
* Document synthesis
* Export to PDF

This article contains useful information on how to set the fonts manually and describes ABBYY FineReader Engine functions designed for working with fonts.

## PDF opening

<Accordion title="macOS">
  <Note>
    When opening PDF files, system fonts are used. If you need additional fonts, you may install them using the [Font Book](http://support.apple.com/guide/font-book/install-and-validate-fonts-fntbk1000/mac) system utility.
  </Note>
</Accordion>

<Accordion title="Linux">
  The PDF contains the information about which fonts were used to create it. This information is necessary for PDF rasterization, for example, to process the visible text from the picture and determine the fonts used and their parameters. To open the output PDF with the correctly displaying fonts, use one of the following methods:

  * copy the desired fonts manually into the Data/Resources/Font folder in the distribution package. This method does not register fonts in your operating system and affects only the PDF opening. By default, the fonts from this folder are not used during document synthesis and export.
  * copy the desired fonts manually into the /usr/share/fonts system folder. This method registers fonts in the operating system. The fonts from this folder will be used for document synthesis or export if you specify them in [ISynthesisParamsForDocument::FontSet](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/synthesisparamsfordocument#fontset) property (see Document synthesis and export to PDF section). By default, these fonts are used during synthesis only if they were embedded in input PDF (see description of the FNF\_Auto filter in [FontNamesFiltersEnum](/fine-reader/engine/api-reference/enumerations/fontnamesfiltersenum) enumeration).
  * install the package for the installation of the fonts (use the ttf-mscorefonts-installer package in Debian-like systems and the msttcore-fonts-installer package in RHEL-like systems). This method performs the installation of the fonts automatically and uses the same peculiarities of setting the fonts for synthesis and export as the previous method.

  <Note>
    After copying the fonts into the system folder or installing them with the package in some operating systems, you need to update the font cache with the fc-cache -f command.
  </Note>

  The required fonts to include:

  * Arial
  * Times New Roman
  * Courier New

  <Note>
    To detect the various styles of a single font in the text, we recommend including several basic font styles at once (regular, bold, and italic).
  </Note>
</Accordion>

Windows

<Accordion title="Is there a special installation program for distribution ABBYY FineReader Engine on a workstation?">
  The PDF contains the information about which fonts were used to create it. This information is necessary for PDF rasterization, for example, to process the visible text from the picture and determine the fonts used and their parameters. To open the output PDF with the correctly displaying fonts, you need to copy the files of the required fonts into the Data\Resources\Font folder in the distribution package. ABBYY FineReader Engine will embed these fonts automatically during its operation.

  The required fonts to include:

  * Arial
  * Times New Roman
  * Courier New
</Accordion>

## Document synthesis and export to PDF

When synthesizing the document or exporting it to PDF, ABBYY FineReader Engine selects the best font from the set of fonts specified in the [ISynthesisParamsForDocument::FontSet](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/synthesisparamsfordocument#fontset) property. By default, the number of fonts in this set is optimized for a balance between the speed of processing and the quality of output documents.

To set the fonts manually:

1\. Choose any folder on your machine to be used as fonts storage.

2\. Copy the files of the required fonts into this folder. The fonts recommended for document synthesis and export are listed in the [FontNamesFiltersEnum](/fine-reader/engine/api-reference/enumerations/fontnamesfiltersenum) enumeration.

3\. Specify the folder with fonts using the [Folder](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/customfontset#folder) property of the [CustomFontSet](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/customfontset) object.

Use the recommendations below in case you need to change the default font set:

* With FRE for Linux, you can use fonts from the PDF opening section not only to open PDF but also when synthesizing and exporting any input document. To do this, specify in the [Folder](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/customfontset#folder) property of the [CustomFontSet](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/customfontset) object the path to the font folder that you previously chose in the PDF opening section.
* You can use a predefined font filter for a particular language, e.g., [FNF\_Chinese](/fine-reader/engine/api-reference/enumerations/fontnamesfiltersenum#fnf_chinese), [FNF\_Japanese](/fine-reader/engine/api-reference/enumerations/fontnamesfiltersenum#fnf_japanese). Use the FontNamesFilter property of the SystemFontSet or CustomFontSet object.
* You can specify particular font families used in your document in the FontNamesCustomFilter property of the [SystemFontSet](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/systemfontset#fontnamescustomfilter) or [CustomFontSet](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/customfontset#fontnamescustomfilter) object.
* You can specify the [FNF\_FineReader](/fine-reader/engine/api-reference/enumerations/fontnamesfiltersenum#fnf_finereader) filter for the fonts in the FontNamesFilter property of the [SystemFontSet](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/systemfontset#fontnamesfilter) or [CustomFontSet](/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/customfontset#fontnamesfilter) object. This filter allows FineReader Engine to use more fonts during document synthesis and select better fonts as compared to the default mode. However, the speed of processing may slow down. This may be useful, for example, when [converting to an editable format](/fine-reader/engine/guided-tour/basic-usage-scenarios-implementation/document-conversion). Before specifying this filter, check the list of fonts it uses and make sure these fonts are present on your workstation.

<Note>
  For the document synthesis with system fonts on macOS 10.15 Catalina or above , additional actions are required (see [Frequently Asked Questions](/fine-reader/engine/frequently-asked-questions#sentfontsmac) section).
</Note>

## See also

[Working with Languages](/fine-reader/engine/guided-tour/advanced-techniques/working-with-languages)

[Running ABBYY FineReader Engine 12 inside a Docker container](/fine-reader/engine/distribution/distribution-windows/running-abbyy-finereader-engine-12-inside-a-docker-container) (Linux and Windows)
