|
|
(27 intermediate revisions by one other user not shown) |
Line 1: |
Line 1: |
| This article desrcibes the class '''I2CE_FontMetric'''
| | #REDIRECT [[Class: I2CE_FontMetric (4.1.12)]] |
| It is contained in the module [[iHRIS Module List#textlayout|textlayout]] in the package [https://launchpad.net/textlayout TextLayout Tools]
| |
| | |
| The class is defined in the file: [http://bazaar.launchpad.net/~intrahealth+informatics/textlayout/4.0.0-release/files/head:/lib/I2CE_FontMetric.php lib/I2CE_FontMetric.php]
| |
| | |
| Class to contain information about font metrics.
| |
| | |
| | |
| | |
| @package I2CE
| |
| | |
| @subpackage TextLayout
| |
| | |
| @author Carl Leitner <litlfred@ibiblio.org>
| |
| | |
| | |
| | |
| @version 0.1
| |
| | |
| @access public
| |
| ==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 y $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 y $character_heights
| |
| | |
| ===$character_info===
| |
| of array of mixed $character_info containing character information (besides the width)
| |
| *Type: public y $character_info
| |
| | |
| ===$font_info===
| |
| protected @var array of mixed global font information
| |
| *Type: protected $font_info
| |
| | |
| ==Methods==
| |
| ===__construct()===
| |
| needs to be one that is a valid encoding for PHP multibyte strings.
| |
| *Signature: public function __construct($encoding)
| |
| Parameters:
| |
| * [[Class: I2CE_Encoding | I2CE_Encoding]] $encoding<br/>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: [http://www.php.net/manual/en/language.pseudo-types.php 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: [http://www.php.net/manual/en/language.types.float.php float] the width
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $ch<br/>a character
| |
| *$use_font_size
| |
| **Default Value: false
| |
| ===getCharacterHeights()===
| |
| Get the character heights
| |
| *Signature: public function getCharacterHeights()
| |
| *Returns: [http://www.php.net/manual/en/language.types.array.php 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: [http://www.php.net/manual/en/language.pseudo-types.php mixed] $value
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $ch<br/>a character (or glyphname)
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $key
| |
| ===getCharacterWidth()===
| |
| Gets the character width of a character
| |
| @param bool use_font_size default false --
| |
| *Signature: public function getCharacterWidth($ch,$use_font_size)
| |
| *Returns: [http://www.php.net/manual/en/language.types.float.php float] the width
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $ch<br/>a character (or glyphname)
| |
| *$use_font_size
| |
| **Default Value: false
| |
| ===getCharacterWidths()===
| |
| Get the character widths
| |
| *Signature: public function getCharacterWidths()
| |
| *Returns: [http://www.php.net/manual/en/language.types.array.php 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: [http://www.php.net/manual/en/language.pseudo-types.php numeric] $descender
| |
| *
| |
| ===getEncoding()===
| |
| Get the encoding used for the internal storage of strings/characters
| |
| *Signature: public function getEncoding()
| |
| *Returns: [http://www.php.net/manual/en/language.types.string.php string]
| |
| ===getFixedStringWidth()===
| |
| Caluclulate the length of a fixed width string
| |
| *Signature: protected function getFixedStringWidth($string)
| |
| *Returns: float/int the length of the string
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.types.string.php string] $string<br/>the string we wish to calculate the length of
| |
| ===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)
| |
| *Returns: [http://www.php.net/manual/en/language.pseudo-types.php mixed] the value associated to the $key
| |
| Parameters:
| |
| *$key
| |
| ===getFontSize()===
| |
| Get the font size
| |
| *Signature: public function getFontSize()
| |
| *Returns: [http://www.php.net/manual/en/language.types.integer.php 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: [http://www.php.net/manual/en/language.pseudo-types.php numeric] $kern the kerning value or null if none found
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $g1<br/>the preceeding group
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $g2<br/>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: [http://www.php.net/manual/en/language.pseudo-types.php numeric] the kerning value or null if there is none found
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $ch1<br/>the preceeding character
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $ch2<br/>the following character
| |
| *$use_font_size
| |
| **Default Value: false
| |
| ===getKerningGroup()===
| |
| Get the kerning groups associated to a character
| |
| *Signature: public function getKerningGroup($ch)
| |
| *Returns: [http://www.php.net/manual/en/language.pseudo-types.php mixed] the group
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $ch<br/>the character
| |
| ===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)
| |
| *Returns: number the kerning value or null if none is found
| |
| Parameters:
| |
| *$ch1
| |
| *$ch2
| |
| *$use_font_size
| |
| ===getLinegap()===
| |
| get the line gap value
| |
| *Signature: public function getLinegap()
| |
| *Returns: [http://www.php.net/manual/en/language.pseudo-types.php numeric] $linegap
| |
| *
| |
| ===getStringWidth()===
| |
| Caluclulate the length of a string
| |
| *Signature: public function getStringWidth($string,$use_font_size)
| |
| *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
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.types.string.php string] $string<br/>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: [http://www.php.net/manual/en/language.types.array.php 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)
| |
| *Returns: [http://www.php.net/manual/en/language.types.float.php float] the length of the string
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.types.string.php string] $string<br/>the string we wish to calculate the length of
| |
| ===isFixedWidth()===
| |
| Check to see if the current font is fixed width
| |
| *Signature: public function isFixedWidth()
| |
| *Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean] true if it is fixed width
| |
| ===setAscender()===
| |
| set the asceneder value
| |
| *
| |
| *Signature: public function setAscender($ascender)
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php 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:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $ch<br/>a character (or glyphname)
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php numeric] $h<br/>the $height
| |
| ===setCharacterInfo()===
| |
| Sets information associated to a character
| |
| *Signature: public function setCharacterInfo($ch,$key,$value)
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $ch<br/>a character (or glyphname)
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $key
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $value
| |
| ===setCharacterWidth()===
| |
| Sets the character width of a character
| |
| *Signature: public function setCharacterWidth($ch,$w)
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $ch<br/>a character (or glyphname)
| |
| * numeriv $w<br/>the width
| |
| ===setDescender()===
| |
| set the desceneder value
| |
| *
| |
| *Signature: public function setDescender($descender)
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php numeric] $descender
| |
| ===setFixedHeightSize()===
| |
| set the fixed height character size
| |
| *Signature: public function setFixedHeightSize($height)
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php numeric] $height<br/>the width
| |
| ===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:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php numeric] $width<br/>the width
| |
| ===setFontCharacteristic()===
| |
| Set a global font characteristic
| |
| *Signature: public function setFontCharacteristic($key,$value)
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.types.string.php string] $key
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $value
| |
| ===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
| |
| @params numeric $kern the kerning value
| |
| *Signature: public function setKerningByGroup($g1,$g2,$kern)
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $g1<br/>the preceeding group
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $g2<br/>the following grou
| |
| *$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:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $ch1<br/>the preceeding character
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $ch2<br/>the following character
| |
| *$kern
| |
| ===setKerningGroup()===
| |
| Set the kerning groups associated to a character
| |
| *Signature: public function setKerningGroup($ch,$group)
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $ch<br/>the character
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed] $group<br/>the group
| |
| ===setLinegap()===
| |
| set the line gap value
| |
| *
| |
| *Signature: public function setLinegap($linegap)
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php numeric] $linegap
| |
| | |
| | |
| [[Category:Class Documentation]]
| |