API Documentation

Pdf/FileParser/Font.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-2011 Zend Technologies USA Inc. (http://www.zend.com)  
license
New BSD License  
package
Zend_Pdf  
subpackage
FileParser  
version
$Id: Font.php 23775 2011-03-01 17:25:24Z ralph $  

\Zend_Pdf_FileParser_Font

Abstract helper class for {@link Zend_Pdf_Font} that parses font files.

Defines the public interface for concrete subclasses which are responsible for parsing the raw binary data from the font file on disk. Also provides a debug logging interface and a couple of shared utility methods.

Extends from
\Zend_Pdf_FileParser
copyright
Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)  
license
New BSD License  
package
Zend_Pdf  
subpackage
FileParser  

Properties

Propertyprivateboolean  $_debug= 'false'

Flag indicating whether or not debug logging is active.

Default valuefalseDetails
Type
boolean
Propertyprivatearray  $_fontProperties= 'array'

Array of parsed font properties. Used with {@link __get()} and {@link __set()}.

Default valuearrayDetails
Type
array

Methods

methodpublic__construct( \Zend_Pdf_FileParserDataSource $dataSource ) : void

Object constructor.

Validates the data source and enables debug logging if so configured.

Parameters
Name Type Description
$dataSource \Zend_Pdf_FileParserDataSource
Throws
Exception Description
\Zend_Pdf_Exception
methodpublic__destruct( ) : void

Object destructor.

Inherited from: \Zend_Pdf_FileParser::__destruct()

Discards the data source object.

methodpublic__get( string $property ) : mixed

Get handler

Parameters
Name Type Description
$property string
Returns
Type Description
mixed
methodpublic__set( string $property, mixed $value ) : void

Set handler

NOTE: This method is protected. Other classes may freely interrogate the font properties, but only this and its subclasses may set them.

Parameters
Name Type Description
$property string
$value mixed
methodprotected_debugLog( string $message ) : void

If debug logging is enabled, writes the log message.

The log message is a sprintf() style string and any number of arguments may accompany it as additional parameters.

Parameters
Name Type Description
$message string
methodpublicgetDataSource( ) : \Zend_Pdf_FileParserDataSource

Returns the data source object representing the file being parsed.

Inherited from: \Zend_Pdf_FileParser::getDataSource()
Returns
Type Description
\Zend_Pdf_FileParserDataSource
methodpublicgetOffset( ) : void
methodpublicgetSize( ) : void
methodpublicisBitSet( integer $bit, integer $bitField ) : boolean

Returns true if the specified bit is set in the integer bitfield.

Inherited from: \Zend_Pdf_FileParser::isBitSet()
Parameters
Name Type Description
$bit integer

Bit number to test (i.e. - 0-31)

$bitField integer
Returns
Type Description
boolean
methodpublicisParsed( ) : boolean

Returns true if the file has been successfully parsed.

Inherited from: \Zend_Pdf_FileParser::isParsed()
Returns
Type Description
boolean
methodpublicisScreened( ) : boolean

Returns true if the file has passed a cursory validation check.

Inherited from: \Zend_Pdf_FileParser::isScreened()
Returns
Type Description
boolean
methodpublicmoveToOffset( integer $offset ) : void

Convenience wrapper for the data source object's moveToOffset() method.

Inherited from: \Zend_Pdf_FileParser::moveToOffset()
Parameters
Name Type Description
$offset integer Destination byte offset.
Throws
Exception Description
\Zend_Pdf_Exception
methodpublicparse( ) : void
abstract

Reads and parses the complete binary file.

Inherited from: \Zend_Pdf_FileParser::parse()

Must set $this->_isParsed to true if successful.

Throws
Exception Description
\Zend_Pdf_Exception
methodpublicreadBytes( integer $byteCount ) : string

Convenience wrapper for the data source object's readBytes() method.

Inherited from: \Zend_Pdf_FileParser::readBytes()
Parameters
Name Type Description
$byteCount integer Number of bytes to read.
Returns
Type Description
string
Throws
Exception Description
\Zend_Pdf_Exception
methodpublicreadFixed( integer $mantissaBits, integer $fractionBits, integer $byteOrder = Zend_Pdf_FileParser ) : float

Reads the signed fixed-point number from the binary file at the current byte offset.

Inherited from: \Zend_Pdf_FileParser::readFixed()

Common fixed-point sizes are 2.14 and 16.16.

Advances the offset by the number of bytes read. Throws an exception if an error occurs.

Parameters
Name Type Description
$mantissaBits integer Number of bits in the mantissa
$fractionBits integer Number of bits in the fraction
$byteOrder integer

(optional) Big- or little-endian byte order. Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}. If omitted, uses big-endian.

Returns
Type Description
float
Throws
Exception Description
\Zend_Pdf_Exception
methodpublicreadInt( integer $size, integer $byteOrder = Zend_Pdf_FileParser ) : integer

Reads the signed integer value from the binary file at the current byte offset.

Inherited from: \Zend_Pdf_FileParser::readInt()

Advances the offset by the number of bytes read. Throws an exception if an error occurs.

Parameters
Name Type Description
$size integer

Size of integer in bytes: 1-4

$byteOrder integer

(optional) Big- or little-endian byte order. Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}. If omitted, uses big-endian.

Returns
Type Description
integer
Throws
Exception Description
\Zend_Pdf_Exception
methodpublicreadStringMacRoman( integer $byteCount, string $characterSet ) : string

Reads the Mac Roman-encoded string from the binary file at the current offset location. Overridden to fix return character set at UTF-16BE.

You must supply the desired resulting character set.

Advances the offset by the number of bytes read. Throws an exception if an error occurs.

Parameters
Name Type Description
$byteCount integer

Number of bytes (characters) to return.

$characterSet string

(optional) --Ignored--

Returns
Type Description
string
Throws
Exception Description
\Zend_Pdf_Exception
methodpublicreadStringPascal( string $characterSet, integer $lengthBytes = 1 ) : string

Reads the Pascal string from the binary file at the current offset location. Overridden to fix return character set at UTF-16BE.

The length of the Pascal string is determined by reading the length bytes which preceed the character data. You must supply the desired resulting character set.

Advances the offset by the number of bytes read. Throws an exception if an error occurs.

Parameters
Name Type Description
$characterSet string

(optional) --Ignored--

$lengthBytes integer

(optional) Number of bytes that make up the length. Default is 1.

Returns
Type Description
string
Throws
Exception Description
\Zend_Pdf_Exception
methodpublicreadStringUTF16( integer $byteCount, integer $byteOrder = Zend_Pdf_FileParser, string $characterSet ) : string

Reads the Unicode UTF-16-encoded string from the binary file at the current offset location. Overridden to fix return character set at UTF-16BE.

The byte order of the UTF-16 string must be specified. You must also supply the desired resulting character set.

Advances the offset by the number of bytes read. Throws an exception if an error occurs.

Parameters
Name Type Description
$byteCount integer

Number of bytes (characters * 2) to return.

$byteOrder integer

(optional) Big- or little-endian byte order. Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}. If omitted, uses big-endian.

$characterSet string

(optional) --Ignored--

Returns
Type Description
string
Throws
Exception Description
\Zend_Pdf_Exception
Details
todo
Deal with to-dos in the parent method.  
methodpublicreadUInt( integer $size, integer $byteOrder = Zend_Pdf_FileParser ) : integer

Reads the unsigned integer value from the binary file at the current byte offset.

Inherited from: \Zend_Pdf_FileParser::readUInt()

Advances the offset by the number of bytes read. Throws an exception if an error occurs.

NOTE: If you ask for a 4-byte unsigned integer on a 32-bit machine, the resulting value WILL BE SIGNED because PHP uses signed integers internally for everything. To guarantee portability, be sure to use bitwise operators operators on large unsigned integers!

Parameters
Name Type Description
$size integer

Size of integer in bytes: 1-4

$byteOrder integer

(optional) Big- or little-endian byte order. Use the BYTE_ORDER_ constants defined in {@link Zend_Pdf_FileParser}. If omitted, uses big-endian.

Returns
Type Description
integer
Throws
Exception Description
\Zend_Pdf_Exception
methodpublicscreen( ) : void
abstract

Performs a cursory check to verify that the binary file is in the expected format. Intended to quickly weed out obviously bogus files.

Inherited from: \Zend_Pdf_FileParser::screen()

Must set $this->_isScreened to true if successful.

Throws
Exception Description
\Zend_Pdf_Exception
methodpublicskipBytes( integer $byteCount ) : void

Convenience wrapper for the data source object's skipBytes() method.

Inherited from: \Zend_Pdf_FileParser::skipBytes()
Parameters
Name Type Description
$byteCount integer Number of bytes to skip.
Throws
Exception Description
\Zend_Pdf_Exception
methodpublicwriteDebug( ) : void

Writes the entire font properties array to STDOUT. Used only for debugging.

Documentation was generated by DocBlox 0.13.3.