Class: I2CE FontMetric: Difference between revisions

From IHRIS Wiki
No edit summary
No edit summary
Line 1: Line 1:
This article desrcibes the class ''I2CE_FontMetric''.
This article describes the class ''I2CE_FontMetric''.
*Child Classes:
*Child Classes:
** [[Class: I2CE_FontMetricMultiDirection | I2CE_FontMetricMultiDirection]]
** [[Class: I2CE_FontMetricMultiDirection | I2CE_FontMetricMultiDirection]]

Revision as of 12:33, 19 October 2009

This article describes the class I2CE_FontMetric.

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.

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
  • 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
  • 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
  • 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:
    • mixed $g1
      the preceeding group
    • mixed $g2
      the following group @param bool use_font_size default false --
    • $use_font_size
      • Default Value: false
  • 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:
    • mixed $ch1
      the preceeding character
    • mixed $ch2
      the following character @param bool use_font_size default false --
    • $use_font_size
      • Default Value: false
  • 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:
  • 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
  • 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 --
  • 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:

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

setDescender()

set the desceneder value

  • Signature: public function setDescender($descender)
  • Parameters:

setFixedHeightSize()

set the fixed height character size

  • Signature: public function setFixedHeightSize($height)
  • Parameters:

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:

setFontCharacteristic()

Set a global font characteristic

  • Signature: public function setFontCharacteristic($key,$value)
  • Parameters:

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:
    • mixed $g1
      the preceeding group
    • mixed $g2
      the following grou @params numeric $kern the kerning value
    • $kern

setKerningByPair()

set the kerning values associated to a pair of character

  • Signature: public function setKerningByPair($ch1,$ch2,$kern)
  • Parameters:
    • mixed $ch1
      the preceeding character
    • mixed $ch2
      the following character @params numeric $kern the kerning value
    • $kern

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: