Class: I2CE FontMetric
This article desrcibes the class I2CE_FontMetric.
- Child Classes:
- Location: Part of the module textlayout in the package TextLayout Tools
- Source: Defined in the file lib/I2CE_FontMetric.php
- Author: Carl Leitner <litlfred@ibiblio.org>
Class to contain information about font metrics.
Variables
$bbox
protected @var $bbox of numeric. the bounding box with values in order llx lly urx ury
- Type: protected $bbox
$ascender
protected @var numeric $ascender
- Type: protected $ascender
$descender
protected @var numeric $ascender
- Type: protected $descender
$linegap
protected @var numeric $linegap
- Type: protected $linegap
$is_fixed_width
protected @var array of boolean $is_fixed_width whether or not this font is fixed width
- Type: protected $is_fixed_width
$fixed_character_width
protected @var int the size of a fixed width character
- Type: protected $fixed_character_width
$fixed_character_height
protected @var int the size of a fixed width character
- Type: protected $fixed_character_height
$size
protected @var int $size the font size in points
- Type: protected $size
$encoding
proteted @var I2CE_Encoding encoding data for the character set
- Type: protected $encoding
$kerning_table_pairs
protected @var array of array of numbers $kerning_table_pairs the kerning table for pairs. the first index is the preceeding character the second index is the following character
- Type: protected $kerning_table_pairs
$kerning_table_groups
protected @var array of array of numbers $kerning_table_groups the kerning table for groups. the first index is the group for the preceeding character the second index is the group for the following character
- Type: protected $kerning_table_groups
$kerning_groups
protected $var array with keys character and values the kerning groups
- Type: protected $kerning_groups
$character_widths
of floats containing $character_widths the character widths for the current font to be super redundant the keys will be either the character code or the glyph name
- Type: public array $character_widths
$character_heights
of array of floats $character_heights containing the character heights for the current font to be super redundant the keys will be either the character code or the glyph name
- Type: public array $character_heights
$character_info
of array of mixed $character_info containing character information (besides the width)
- Type: public array $character_info
$font_info
protected @var array of mixed global font information
- Type: protected $font_info
Methods
__construct()
- Signature: public function __construct($encoding)
- Parameters:
- I2CE_Encoding $encoding
the encoding used for the internal storage of strings/characters needs to be one that is a valid encoding for PHP multibyte strings.
- I2CE_Encoding $encoding
getAllFontCharacteristics()
Get all the font information
- Signature: public function getAllFontCharacteristics()
getAscender()
get the asceneder value
- Signature: public function getAscender()
- Returns: numeric
$ascender *
getBoundingBox()
Get the bounding box $returns array $bbox of numeric. The bounding box in llx lly urx ury order
- Signature: public function getBoundingBox()
getCharacterHeight()
Gets the character height of a character
- Signature: public function getCharacterHeight($ch,$use_font_size)
- Parameters:
- mixed $ch
a character @param bool use_font_size default false -- - $use_font_size
- Default Value: false
- mixed $ch
- Returns: float
the width
getCharacterHeights()
Get the character heights
- Signature: public function getCharacterHeights()
- Returns: array
of number, the values of which are the heights and the keys of which are some combination of glpyh names, character codes, and unicodes codepoints, or characters
getCharacterInfo()
Get information associated to a character
- Signature: public function getCharacterInfo($ch,$key)
- Parameters:
- Returns: mixed
$value
getCharacterWidth()
Gets the character width of a character
- Signature: public function getCharacterWidth($ch,$use_font_size)
- Parameters:
- mixed $ch
a character (or glyphname) @param bool use_font_size default false -- - $use_font_size
- Default Value: false
- mixed $ch
- Returns: float
the width
getCharacterWidths()
Get the character widths
- Signature: public function getCharacterWidths()
- Returns: array
of number, the values of which are the widths and the keys of which are some combination of glpyh names, character codes, and unicodes codepoints, or characters
getDescender()
get the desceneder value
- Signature: public function getDescender()
- Returns: numeric
$descender *
getEncoding()
Get the encoding used for the internal storage of strings/characters
- Signature: public function getEncoding()
- Returns: string
getFixedStringWidth()
Caluclulate the length of a fixed width string
- Signature: protected function getFixedStringWidth($string)
- Parameters:
- string $string
the string we wish to calculate the length of
- string $string
- Returns: float/int
the length of the string
getFixedWidth()
Get the width of a character in a fixed width font
- Signature: public function getFixedWidth()
- Returns: number
Returns null if called when the current font is not fixed width
getFontCharacteristic()
Get a global font characteristic @param $key
- Signature: public function getFontCharacteristic($key)
- Parameters:
- $key
- Returns: mixed
the value associated to the $key
getFontSize()
Get the font size
- Signature: public function getFontSize()
- Returns: int
getKerningByGroup()
get the kerning values associated to a pair of groups
- Signature: public function getKerningByGroup($g1,$g2,$use_font_size)
- Parameters:
- Returns: numeric
$kern the kerning value or null if none found
getKerningByPair()
get the kerning values associated to a pair of character
- Signature: public function getKerningByPair($ch1,$ch2,$use_font_size)
- Parameters:
- Returns: numeric
the kerning value or null if there is none found
getKerningGroup()
Get the kerning groups associated to a character
- Signature: public function getKerningGroup($ch)
- Parameters:
- mixed $ch
the character
- mixed $ch
- Returns: mixed
the group
getKerningValue()
Return the (horizontal) kerning values for a pair of characters If there is kerning info for both groups and pairs, the pairs takes prescedence @params string $ch1 the left characcter @params string $ch2 the right character @param bool use_font_size default false --
- Signature: public function getKerningValue($ch1,$ch2,$use_font_size)
- Parameters:
- $ch1
- $ch2
- $use_font_size
- Returns: number
the kerning value or null if none is found
getLinegap()
get the line gap value
- Signature: public function getLinegap()
- Returns: numeric
$linegap *
getStringWidth()
Caluclulate the length of a string
- Signature: public function getStringWidth($string,$use_font_size)
- Parameters:
- string $string
the string we wish to calculate the length of - $use_font_size
- Default Value: false
- string $string
- Returns: float/int
the length of the string note: if it is a fixed width font, we assume that all characters are printable. in particular a line break is considered a printable character. If you have line breaks to deal with @param bool use_font_size default false -- you should see TextColumn
getTrackingValues()
Get the tracking values for the current font size
- Signature: public function getTrackingValues()
- Returns: array
$values of floats. $values[0] is the minimum, $values[1] is the maximum or null if if there is no tracking values
getVariableStringWidth()
Function caluclulate the length of a variable width string
- Signature: protected function getVariableStringWidth($string)
- Parameters:
- string $string
the string we wish to calculate the length of @param bool use_font_size default false --
- string $string
- Returns: float
the length of the string
isFixedWidth()
Check to see if the current font is fixed width
- Signature: public function isFixedWidth()
- Returns: boolean
true if it is fixed width
setAscender()
set the asceneder value
- Signature: public function setAscender($ascender)
- Parameters:
- numeric $ascender *
setBoundingBox()
Set the bounding box $param array $bbox of numeric. The bounding box in llx lly urx ury order
- Signature: public function setBoundingBox($bbox)
- Parameters:
- $bbox
setCharacterHeight()
Sets the character width of a character
- Signature: public function setCharacterHeight($ch,$h)
- Parameters:
setCharacterInfo()
Sets information associated to a character
- Signature: public function setCharacterInfo($ch,$key,$value)
- Parameters:
setCharacterWidth()
Sets the character width of a character
- Signature: public function setCharacterWidth($ch,$w)
- Parameters:
- mixed $ch
a character (or glyphname) - numeriv $w
the width
- mixed $ch
setDescender()
set the desceneder value
- Signature: public function setDescender($descender)
- Parameters:
- numeric $descender *
setFixedHeightSize()
set the fixed height character size
- Signature: public function setFixedHeightSize($height)
- Parameters:
- numeric $height
the width
- numeric $height
setFixedWidth()
Set whether or not this is a fixed width font @parma boolean $is_fixed_width
- Signature: public function setFixedWidth($is_fixed_width)
- Parameters:
- $is_fixed_width
setFixedWidthSize()
set the fixed width character size
- Signature: public function setFixedWidthSize($width)
- Parameters:
- numeric $width
the width
- numeric $width
setFontCharacteristic()
Set a global font characteristic
setFontSize()
Set the font size @params int $size
- Signature: public function setFontSize($size)
- Parameters:
- $size
setKerningByGroup()
get the kerning values associated to a pair of groups
- Signature: public function setKerningByGroup($g1,$g2,$kern)
- Parameters:
setKerningByPair()
set the kerning values associated to a pair of character
- Signature: public function setKerningByPair($ch1,$ch2,$kern)
- Parameters:
setKerningGroup()
Set the kerning groups associated to a character
- Signature: public function setKerningGroup($ch,$group)
- Parameters:
setLinegap()
set the line gap value
- Signature: public function setLinegap($linegap)
- Parameters:
- numeric $linegap *