---
name: "PDF::Builder::Resource::UniFont"
section: "3pm"
platform: "linux"
package: "perl-pdf-builder"
version: "3.028-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/PDF::Builder::Resource::UniFont"
---

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

Unicode Font Support

## NAME

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

## METHODS

### new

```
    $font = PDF::Builder::Resource::UniFont->new($pdf, @fontspecs, %opts)
```

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

```
    [
         $block1, $block3,    # register font for block 1 + 3
        [$blockA, $blockZ],   # register font for blocks A .. Z
    ]
```

**CODESPECS:**

```
    [
         $cp1, $cp3,          # register font for codepoint 1 + 3
        [$cpA, $cpZ],         # register font for codepoints A .. Z
    ]
```

**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 (%opts)*

- encode

  Changes the encoding of the font from its default. See "perldoc Encode" for a list of valid tags.

### isvirtual

```
    $flag = $font->isvirtual()
```

(No Information)

### fontlist

```
    $font->fontlist()
```

(No Information)

### width

```
    $w = $font->width($string)
```

(No Information)

### text

```
    $font->text($string, $size, $indent)
```

(No Information)
