Zend Framework  1.12
Public Member Functions | Protected Attributes | List of all members
Zend_Pdf_Resource_Font_Simple Class Reference

Public Member Functions

 __construct ()
 Object constructor.
 
 glyphNumbersForCharacters ($characterCodes)
 Returns an array of glyph numbers corresponding to the Unicode characters.
 
 glyphNumberForCharacter ($characterCode)
 Returns the glyph number corresponding to the Unicode character.
 
 getCoveredPercentage ($string, $charEncoding= '')
 Returns a number between 0 and 1 inclusive that indicates the percentage of characters in the string which are covered by glyphs in this font.
 
 widthsForGlyphs ($glyphNumbers)
 Returns the widths of the glyphs.
 
 widthForGlyph ($glyphNumber)
 Returns the width of the glyph.
 
 encodeString ($string, $charEncoding)
 Convert string to the font encoding.
 
 decodeString ($string, $charEncoding)
 Convert string from the font encoding.
 
- Public Member Functions inherited from Zend_Pdf_Resource_Font
 __construct ()
 Object constructor.
 
 __toString ()
 Returns the full name of the font in the encoding method of the current locale.
 
 getFontType ()
 Returns the type of font.
 
 getFontName ($nameType, $language, $characterSet=null)
 Returns the specified descriptive name for the font.
 
 getFontNames ()
 Returns whole set of font names.
 
 isBold ()
 Returns true if font is bold.
 
 isItalic ()
 Returns true if font is italic.
 
 isMonospace ()
 Returns true if font is monospace.
 
 getUnderlinePosition ()
 Returns the suggested position below the text baseline of the underline in glyph units.
 
 getUnderlineThickness ()
 Returns the suggested line thickness of the underline in glyph units.
 
 getStrikePosition ()
 Returns the suggested position above the text baseline of the strikethrough in glyph units.
 
 getStrikeThickness ()
 Returns the suggested line thickness of the strikethrough in glyph units.
 
 getUnitsPerEm ()
 Returns the number of glyph units per em.
 
 getAscent ()
 Returns the typographic ascent in font glyph units.
 
 getDescent ()
 Returns the typographic descent in font glyph units.
 
 getLineGap ()
 Returns the typographic line gap in font glyph units.
 
 getLineHeight ()
 Returns the suggested line height (or leading) in font glyph units.
 
 glyphNumbersForCharacters ($characterCodes)
 Returns an array of glyph numbers corresponding to the Unicode characters.
 
 glyphNumberForCharacter ($characterCode)
 Returns the glyph number corresponding to the Unicode character.
 
 getCoveredPercentage ($string, $charEncoding= '')
 Returns a number between 0 and 1 inclusive that indicates the percentage of characters in the string which are covered by glyphs in this font.
 
 widthsForGlyphs ($glyphNumbers)
 Returns the widths of the glyphs.
 
 widthForGlyph ($glyphNumber)
 Returns the width of the glyph.
 
 encodeString ($string, $charEncoding)
 Convert string to the font encoding.
 
 decodeString ($string, $charEncoding)
 Convert string from the font encoding.
 
 toEmSpace ($value)
 If the font's glyph space is not 1000 units per em, converts the value.
 
- Public Member Functions inherited from Zend_Pdf_Resource
 __construct ($resource)
 Object constructor.
 
 __clone ()
 Clone page, extract it and dependent objects from the current document, so it can be used within other docs.
 
 cloneResource ($factory, &$processed)
 Clone resource, extract it and dependent objects from the current document, so it can be used within other docs.
 
 getResource ()
 Get resource.
 
 getFactory ()
 Get factory.
 

Protected Attributes

 $_cmap = null
 
 $_glyphWidths = null
 
 $_missingGlyphWidth = 0
 
- Protected Attributes inherited from Zend_Pdf_Resource_Font
 $_fontType = Zend_Pdf_Font::TYPE_UNKNOWN
 
 $_fontNames = array()
 
 $_isBold = false
 
 $_isItalic = false
 
 $_isMonospace = false
 
 $_underlinePosition = 0
 
 $_underlineThickness = 0
 
 $_strikePosition = 0
 
 $_strikeThickness = 0
 
 $_unitsPerEm = 0
 
 $_ascent = 0
 
 $_descent = 0
 
 $_lineGap = 0
 
- Protected Attributes inherited from Zend_Pdf_Resource
 $_objectFactory
 
 $_resource
 

Constructor & Destructor Documentation

__construct ( )

Object constructor.

Todo:
It's easy to add other encodings support now (Standard-Encoding, MacRomanEncoding, PDFDocEncoding, MacExpertEncoding, Symbol, and ZapfDingbats). Steps for the implementation:
  • completely describe all PDF single byte encodings in the documentation
  • implement non-WinAnsi encodings processing into encodeString()/decodeString() methods

These encodings will be automatically supported for standard builtin PDF fonts as well as for external fonts.

Member Function Documentation

decodeString (   $string,
  $charEncoding 
)

Convert string from the font encoding.

The method is used to convert strings retrieved from existing content streams

Parameters
string$string
string$charEncodingCharacter encoding of resulting text.
Returns
string
encodeString (   $string,
  $charEncoding 
)

Convert string to the font encoding.

The method is used to prepare string for text drawing operators

Parameters
string$string
string$charEncodingCharacter encoding of source text.
Returns
string
getCoveredPercentage (   $string,
  $charEncoding = '' 
)

Returns a number between 0 and 1 inclusive that indicates the percentage of characters in the string which are covered by glyphs in this font.

Since no one font will contain glyphs for the entire Unicode character range, this method can be used to help locate a suitable font when the actual contents of the string are not known.

Note that some fonts lie about the characters they support. Additionally, fonts don't usually contain glyphs for control characters such as tabs and line breaks, so it is rare that you will get back a full 1.0 score. The resulting value should be considered informational only.

Parameters
string$string
string$charEncoding(optional) Character encoding of source text. If omitted, uses 'current locale'.
Returns
float
Todo:
Properly handle characters encoded as surrogate pairs.
glyphNumberForCharacter (   $characterCode)

Returns the glyph number corresponding to the Unicode character.

If a particular character doesn't exist in this font, the special 'missing character glyph' will be substituted.

See also glyphNumbersForCharacters() which is optimized for bulk operations.

Parameters
integer$characterCodeUnicode character code (code point).
Returns
integer Glyph number.
glyphNumbersForCharacters (   $characterCodes)

Returns an array of glyph numbers corresponding to the Unicode characters.

If a particular character doesn't exist in this font, the special 'missing character glyph' will be substituted.

See also glyphNumberForCharacter().

Parameters
array$characterCodesArray of Unicode character codes (code points).
Returns
array Array of glyph numbers.
widthForGlyph (   $glyphNumber)

Returns the width of the glyph.

Like widthsForGlyphs() but used for one glyph at a time.

Parameters
integer$glyphNumber
Returns
integer
widthsForGlyphs (   $glyphNumbers)

Returns the widths of the glyphs.

The widths are expressed in the font's glyph space. You are responsible for converting to user space as necessary. See unitsPerEm().

See also widthForGlyph().

Parameters
array&$glyphNumbersArray of glyph numbers.
Returns
array Array of glyph widths (integers).

Member Data Documentation

$_cmap = null
protected
$_glyphWidths = null
protected
$_missingGlyphWidth = 0
protected