Class: I2CE FontMetricMultiDirection

From IHRIS Wiki
Revision as of 20:27, 16 October 2009 by Litlfred (talk | contribs)

This article desrcibes the class I2CE_FontMetricMultiDirection which extends the class I2CE_FontMetric It is contained in the module textlayout in the package TextLayout Tools

The class is defined in the file: lib/I2CE_FontMetricMultiDirection.php

Class to contain information about font metrics.

Setup to handle multiple directions.


@package I2CE

@subpackage TextLayout

@author Carl Leitner <litlfred@ibiblio.org>


@version 0.1

@access public

Variables

$font_metrics

protecteed @var array of I2CE_FontMetric $font_metrics contains the fonr metrics that are global or for user defined directions

  • Type: protected $font_metrics

$direction

  • Type: protected $direction

$directions

  • Type: protected $directions

Methods

__construct()

The constructor @params array $directions of mixed the directions. the value -1 is reserved for global information array has a default value of 0 (horizontal) and 1 (vertical). Sets the direction to be $directions[0] needs to be one that is a valid encoding for PHP multibyte strings.

  • Signature: public function __construct($directions,$encoding)

Parameters:

  • $directions
  • I2CE_Encoding $encoding
    the encoding used for the internal storage of strings/characters

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 @param bool use_font_size default false --

  • Signature: public function getCharacterHeight($ch,$use_font_size)
  • Returns: float the width

Parameters:

  • mixed $ch
    a character
  • $use_font_size
    • Default Value: false

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)
  • Returns: mixed $value

Parameters:

getCharacterWidth()

Gets the character width of a character @param bool use_font_size default false --

  • Signature: public function getCharacterWidth($ch,$use_font_size)
  • Returns: float the width

Parameters:

  • mixed $ch
    a character
  • $use_font_size
    • Default Value: false

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

getDirection()

Function to get the font direction

  • Signature: public function getDirection()
  • Returns: mixed

getDirections()

Function to get the possible directions

  • Signature: public function getDirections($add_global)
  • Returns: array of mixed -- the directions

Parameters:

  • boolena $add_global
    (defaults to false) whether or not to include the global direction, -1
    • Default Value: false

getEncoding()

Get the encoding information for the font. This is global info

getFixedStringWidth()

Function caluclulate the length of a fixed width string @param bool use_font_size default false --

  • Signature: protected function getFixedStringWidth($string,$use_font_size)
  • Returns: float the length of the string

Parameters:

  • string $string
    the string we wish to calculate the length of
  • $use_font_size
    • Default Value: false

getFixedWidth()

Get the width of a character in a fixed width font (for the current direction)

  • 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)
  • Returns: mixed the value associated to the $key

Parameters:

  • $key

getFontSize()

Get the font size. This is global info.

  • Signature: public function getFontSize()
  • Returns: int

getKerningByGroup()

get the kerning values associated to a pair of groups @param bool use_font_size default false --

  • Signature: public function getKerningByGroup($g1,$g2,$use_font_size)
  • Returns: numeric $kern the kerning value or null if none found

Parameters:

  • mixed $g1
    the preceeding group
  • mixed $g2
    the following group
  • $use_font_size
    • Default Value: false

getKerningByPair()

get the kerning values associated to a pair of character @param bool use_font_size default false --

  • Signature: public function getKerningByPair($ch1,$ch2,$use_font_size)
  • Returns: numeric the kerning value or null if there is none found

Parameters:

  • mixed $ch1
    the preceeding character
  • mixed $ch2
    the following character
  • $use_font_size
    • Default Value: false

getKerningGroup()

Get the kerning groups associated to a character

  • Signature: public function getKerningGroup($ch)
  • Returns: mixed the group

Parameters:

getKerningValue()

Return the (horizontal) kerning values for a pair of characters @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)
  • Returns: float the kerning value or null if none is found

Parameters:

  • $ch1
  • $ch2
  • $use_font_size
    • Default Value: false

getLinegap()

get the line gap value

  • Signature: public function getLinegap()
  • Returns: numeric $linegap

getStringWidth()

Caluclulate the length of a string @param bool use_font_size default false --

  • Signature: public function getStringWidth($string,$use_font_size)
  • Returns: float/int the length of the string

Parameters:

  • string $string
    the string we wish to calculate the length of
  • $use_font_size
    • Default Value: false

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 @param bool use_font_size default false --

  • Signature: protected function getVariableStringWidth($string,$use_font_size)
  • Returns: float the length of the string

Parameters:

  • string $string
    the string we wish to calculate the length of
  • $use_font_size
    • Default Value: false

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 height 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:

setDescender()

set the desceneder value

  • Signature: public function setDescender($descender)

Parameters:

setDirection()

Function to set the font direction @params mixed $direction. -1 is global information, all other values are user defined directions.

  • Signature: public function setDirection($direction)

Parameters:

  • $direction

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 font characteristic

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

Parameters:

setFontSize()

Set the font size. This is global info. @params int $size

  • Signature: public function setFontSize($size)

Parameters:

  • $size

setGlobal()

Specify that we are working with global font metric information, e.g. glpyhnames, font size, etc.

  • Signature: public function setGlobal()

setKerningByGroup()

set the kerning values associated to a pair of groups @params numeric $kern the kerning value

  • Signature: public function setKerningByGroup($g1,$g2,$kern)

Parameters:

  • mixed $g1
    the preceeding group
  • mixed $g2
    the following group
  • $kern

setKerningByPair()

set the kerning values associated to a pair of character @params numeric $kern the kerning value

  • Signature: public function setKerningByPair($ch1,$ch2,$kern)

Parameters:

  • mixed $ch1
    the preceeding character
  • mixed $ch2
    the following character
  • $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:

Inherited Variables

$character_widths

Theis public variable is inherited from I2CE_FontMetric->$character_widths

$character_heights

Theis public variable is inherited from I2CE_FontMetric->$character_heights

$character_info

Theis public variable is inherited from I2CE_FontMetric->$character_info

$bbox

Theis protected variable is inherited from I2CE_FontMetric->$bbox

$ascender

Theis protected variable is inherited from I2CE_FontMetric->$ascender

$descender

Theis protected variable is inherited from I2CE_FontMetric->$descender

$linegap

Theis protected variable is inherited from I2CE_FontMetric->$linegap

$is_fixed_width

Theis protected variable is inherited from I2CE_FontMetric->$is_fixed_width

$fixed_character_width

Theis protected variable is inherited from I2CE_FontMetric->$fixed_character_width

$fixed_character_height

Theis protected variable is inherited from I2CE_FontMetric->$fixed_character_height

$size

Theis protected variable is inherited from I2CE_FontMetric->$size

$encoding

Theis protected variable is inherited from I2CE_FontMetric->$encoding

$kerning_table_pairs

Theis protected variable is inherited from I2CE_FontMetric->$kerning_table_pairs

$kerning_table_groups

Theis protected variable is inherited from I2CE_FontMetric->$kerning_table_groups

$kerning_groups

Theis protected variable is inherited from I2CE_FontMetric->$kerning_groups

$font_info

Theis protected variable is inherited from I2CE_FontMetric->$font_info