Qoppa Software’s PDF technology offers the following support for CJK fonts (CJK = Chinese, Japanese, Korean).

Supported for CJK fonts and Non-Latin Character Sets:

  • Rendering existing appearance stream / text content within PDF documents.
  • Rendering existing text annotations such as free text, typewriter or rubber stamps annotations (as long as the appearance stream is defined in the annotations’ dictionary).
  • Adding new and editing existing notes associated within annotations notes for shape annotations (line, square, circle, pencil, polygon) and text markups.
  • Adding new and editing existing bookmarks.
  • Adding new and editing existing documents meta tags such as author, subject, title, keywords.
  • Filling interactive form fields using the font or non-Latin character set associated with the field.
  • Recognizing text in PDFs (OCR)

Most of the issues that are libraries have with CJK fonts and non Latin-character sets are around creating new appearance streams.

Unsupported / Limited Support for CJK Fonts and Non-Latin Character Sets:

  • Adding new and editing existing text content within PDF documents.
  • Adding new and editing existing annotations such as free text, typewriter, callout or rubber stamps annotations. The issue here is with creating the appearance stream for the annotation to be rendered on the page.
  • Creating a new signature field and signing is only support for Helvetica and WinAnsiEncoding.
  • Filling interactive form fields when the CJK font is not embedded or only a subset is embedded.

In terms of our Qoppa’s Java PDF libraries, the following libraries work with CJK fonts without any known issues:

The following libraries have some issues with CJK fonts:

  • jPDFNotes: Problems with CJK fonts or non-Latin characters when adding or editing existing watermarks or text annotations visible on the screen (custom stamp, text box and typewriter). Problems when filling interactive form fields when the CJK font is not embedded or only a subset is embedded.
  • jPDFields: Problems when filling interactive form fields when the CJK font is not embedded or only a subset is embedded.
  • jPDFProcess: New documents can be created but CJK characters will be drawn with graphics command, they will not be font characters. Issue when adding or editing text within document text content, watermarks, text annotations (custom stamp, text box and typewriter).
  • jPDFSecure: jPDFSecure can add signature fields and sign using Helvetica font only. It can not do so with CJK fonts or non-Latin character set but the library allows to set your own custom signature appearance using an image. CJK and Non-Latin characters are supported in signature properties such as Signed by, Reason, Location and Field Name. Verifying existing signatures will work regardless of fonts.
  • jPDFViewer: Problems when filling interactive form fields when the CJK font is not embedded or only a subset is embedded.
  • jPDFWriter: New documents can be created but CJK characters will be drawn will be drawn with graphics command, they will not be font characters.

Note that we are working on adding more support for CJK and non-Latin character sets in future releases. In particular v2017R1 will have a big revamp for a lot of these features.