---
name: "PDF::API2::Resource::UniFont"
section: "3pm"
platform: "linux"
package: "libpdf-api2-perl"
version: "2.038-3"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/PDF::API2::Resource::UniFont"
---

# PDF::API2::Resource::UniFont(3pm)

Unicode Font Support

## NAME

PDF::API2::Resource::UniFont - Unicode Font Support

## METHODS

- $font = PDF::API2::Resource::UniFont-\>new($pdf, @fontspecs, %options);

  Returns a uni-font object.

  **FONTSPECS:** fonts can be registered using the following hash-ref:

  ```
      {
          font   => $fontobj,     # the font to be registered
          blocks => $blockspec,   # the unicode blocks, the font is being registered for
          codes  => $codespec,    # the unicode codepoints, -"-
      }
  ```

  **BLOCKSPECS:**

  ```
      [
          1, 3,    # register font for blocks 1 and 3
          [1, 3],  # register font for blocks 1 .. 3
      ]
  ```

  **CODESPECS:**

  ```
      [
          1, 3,    # register font for codepoints 1 and 3
          [1, 3],  # register font for codepoints 1 .. 3
      ]
  ```

  **NOTE:** if you want to register a font for the entire unicode space (ie. U+0000 .. U+FFFF), then simply specify a font-object without the hash-ref.

  Valid `%options` are:

  ```
    '-encode' ... changes the encoding of the font from its default.
      (see "perldoc Encode" for a list of valid tags)
  ```
