---
name: "Text::PDF::TTFont0"
section: "3pm"
platform: "linux"
package: "libtext-pdf-perl"
version: "0.31-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Text::PDF::TTFont0"
---

# Text::PDF::TTFont0(3pm)

Inherits from PDF::Dict and represents a TrueType Type 0 font within a PDF file.

## NAME

Text::PDF::TTFont0 - Inherits from PDF::Dict and represents a TrueType Type 0 font within a PDF file.

## DESCRIPTION

A font consists of two primary parts in a PDF file: the header and the font descriptor. Whilst two fonts may share font descriptors, they will have their own header dictionaries including encoding and widhth information.

## INSTANCE VARIABLES

There are no instance variables beyond the variables which directly correspond to entries in the appropriate PDF dictionaries.

## METHODS

### Text::PDF::TTFont-\>new($parent, $fontfname. $pdfname)

Creates a new font resource for the given fontfile. This includes the font descriptor and the font stream. The `$pdfname` is the name by which this font resource will be known throughout a particular PDF file.

All font resources are full PDF objects.

### out\_text($text)

Returns the string to be put into a content stream for text to be output in this font. The text is assumed to be UTF8 encoded and the return string is a glyph sequence for the text. If subsetting is enabled, then all the glyphs returned are also marked for output.

### out\_glyphs(@n)

Marks the glyphs as being needed in the output font when subsetting. Returns a string to render the glyphs as specified.

### width($text)

Returns the width of the string, assuming it to be UTF8 encoded.

### outobjdeep($fh, $pdf, %opts)

Handles the creation of the font stream including subsetting at this point. So if you get this far, that's it for subsetting.

### ship\_out($pdf)

Ship this font out to the given `$pdf` file context

### empty

Empty the font of as much as possible in order to save memory
