Pdf/Cmap.php
Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled
with this package in the file LICENSE.txt.
It is also available through the world-wide-web at this URL:
http://framework.zend.com/license/new-bsd
If you did not receive a copy of the license and are unable to
obtain it through the world-wide-web, please send an email
to license@zend.com so we can send you a copy immediately.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Pdf
- Subpackage
- Fonts
- Version
- $Id$
\Zend_Pdf_Cmap
Package: Zend_Pdf\Fonts

Throws

Returns
Throws


Returns

Returns
Abstract helper class for {@link Zend_Pdf_Resource_Font} which manages font
character maps.
Defines the public interface for concrete subclasses which are responsible
for mapping Unicode characters to the font's glyph numbers. Also provides
shared utility methods.
Cmap objects should ordinarily be obtained through the factory method
{@link cmapWithTypeData()}.
The supported character map types are those found in the OpenType spec. For
additional detail on the internal binary format of these tables, see:
- {@link http://developer.apple.com/textfonts/TTRefMan/RM06/Chap6cmap.html}
- {@link http://www.microsoft.com/OpenType/OTSpec/cmap.htm}
- {@link http://partners.adobe.com/public/developer/opentype/index_cmap.html}
- Children
- \Zend_Pdf_Cmap_ByteEncoding
- \Zend_Pdf_Cmap_TrimmedTable
- \Zend_Pdf_Cmap_SegmentToDelta
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Todo
- Write code for Zend_Pdf_FontCmap_HighByteMapping class.
- Todo
- Write code for Zend_Pdf_FontCmap_MixedCoverage class.
- Todo
- Write code for Zend_Pdf_FontCmap_TrimmedArray class.
- Todo
- Write code for Zend_Pdf_FontCmap_SegmentedCoverage class.
Constants

TYPE_BYTE_ENCODING_STATIC
= 241
Static Byte Encoding character map table type. Variant of
{@link TYPE_BYTEENCODING}.
Methods


__construct(string $cmapData) : void
abstract
Object constructor
Parses the raw binary table data. Throws an exception if the table is
malformed.
ParametersName | Type | Description |
---|---|---|
$cmapData | string | Raw binary cmap table data. |
Exception | Description |
---|---|
\Zend_Pdf_Exception |


cmapWithTypeData(integer $cmapType, mixed $cmapData) : \Zend_Pdf_Cmap
static
Instantiates the appropriate concrete subclass based on the type of cmap table and returns the instance.
The cmap type must be one of the following values:
Parameters- {@link Zend_Pdf_Cmap::TYPE_BYTE_ENCODING}
- {@link Zend_Pdf_Cmap::TYPE_BYTE_ENCODING_STATIC}
- {@link Zend_Pdf_Cmap::TYPE_HIGH_BYTE_MAPPING}
- {@link Zend_Pdf_Cmap::TYPE_SEGMENT_TO_DELTA}
- {@link Zend_Pdf_Cmap::TYPE_TRIMMED_TABLE}
- {@link Zend_Pdf_Cmap::TYPE_MIXED_COVERAGE}
- {@link Zend_Pdf_Cmap::TYPE_TRIMMED_ARRAY}
- {@link Zend_Pdf_Cmap::TYPE_SEGMENTED_COVERAGE}
Name | Type | Description |
---|---|---|
$cmapType | integer | Type of cmap. |
$cmapData | mixed | Cmap table data. Usually a string or array. |
Type | Description |
---|---|
\Zend_Pdf_Cmap |
Exception | Description |
---|---|
\Zend_Pdf_Exception |


getCoveredCharacters() : array
abstract
Returns an array containing the Unicode characters that have entries in this character map.
Returns
Type | Description |
---|---|
array | Unicode character codes. |


glyphNumberForCharacter(integer $characterCode) : integer
abstract
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 {@link glyphNumbersForCharacters()} which is optimized for bulk
operations.
ParametersName | Type | Description |
---|---|---|
$characterCode | integer | Unicode character code (code point). |
Type | Description |
---|---|
integer | Glyph number. |


glyphNumbersForCharacters(array $characterCodes) : array
abstract
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 {@link glyphNumberForCharacter()}.
ParametersName | Type | Description |
---|---|---|
$characterCodes | array | Array of Unicode character codes (code points). |
Type | Description |
---|---|
array | Array of glyph numbers. |