class HexaPDF::Font::Type1Wrapper

Parent

This class wraps a generic Type1 font object and provides the methods needed for working with the font in a PDF context.

Constants

VALID_ENCODING_NAMES

Array of valid encoding names in PDF

Attributes

pdf_object[R]

Returns the PDF object associated with the wrapper.

wrapped_font[R]

Returns the wrapped Type1 font object.

Public Class Methods

new(document, font, pdf_object: nil, custom_encoding: false)

Creates a new Type1Wrapper object wrapping the Type1 font.

The optional argument pdf_object can be used to set the PDF font object that this wrapper should be associated with. If no object is set, a suitable one is automatically created.

If pdf_object is provided, the PDF object's encoding is used. Otherwise, the WinAnsiEncoding or, for 'Special' fonts, the font's internal encoding is used. The optional argument custom_encoding can be set to true so that a custom encoding is used (only respected if pdf_object is not provided).

Public Instance Methods

decode_utf8(str)

Returns an array of glyph objects representing the characters in the UTF-8 encoded string.

If a Unicode codepoint is not available as glyph object, it is tried to map the codepoint using the font's internal encoding. This is useful, for example, for the ZapfDingbats font to use ASCII characters for accessing the glyphs.

encode(glyph)

Encodes the glyph and returns the code string.

font_type()

Returns the type of the font, i.e. :Type1.

glyph(name)

Returns a Glyph object for the given glyph name.

scaling_factor()

Returns 1 since all Type1 fonts use 1000 units for the em-square.