iText 9.0.0 API
iText.IO.Font.FontProgram Class Referenceabstract
Inheritance diagram for iText.IO.Font.FontProgram:
iText.IO.Font.CidFont iText.IO.Font.TrueTypeFont iText.IO.Font.Type1Font iText.Kernel.Font.Type3Font iText.Kernel.Font.DocTrueTypeFont

Public Member Functions

virtual int  CountOfGlyphs ()
 
virtual FontNames  GetFontNames ()
 
virtual FontMetrics  GetFontMetrics ()
 
virtual FontIdentification  GetFontIdentification ()
 
virtual String  GetRegistry ()
 
abstract int  GetPdfFontFlags ()
 
virtual bool  IsFontSpecific ()
 
virtual int  GetWidth (int unicode)
  Get glyph's width. More...
 
virtual int  GetAvgWidth ()
 
virtual int[]  GetCharBBox (int unicode)
  Get glyph's bbox. More...
 
virtual Glyph  GetGlyph (int unicode)
 
virtual Glyph  GetGlyphByCode (int charCode)
 
virtual bool  HasKernPairs ()
 
virtual int  GetKerning (int first, int second)
  Gets the kerning between two glyphs. More...
 
abstract int  GetKerning (Glyph first, Glyph second)
  Gets the kerning between two glyphs. More...
 
virtual bool  IsBuiltWith (String fontName)
  Checks whether the FontProgram was built with corresponding fontName. More...
 
override String  ToString ()
 

Static Public Member Functions

static float  ConvertTextSpaceToGlyphSpace (float value)
 
static float  ConvertGlyphSpaceToTextSpace (float value)
 
static double  ConvertGlyphSpaceToTextSpace (double value)
 
static int  ConvertGlyphSpaceToTextSpace (int value)
 

Static Public Attributes

const int  HORIZONTAL_SCALING_FACTOR = 100
 
const int  DEFAULT_WIDTH = 1000
 
const int  UNITS_NORMALIZATION = 1000
 

Package Functions

virtual void  SetRegistry (String registry)
 
virtual void  SetTypoAscender (int ascender)
  Sets typo ascender. More...
 
virtual void  SetTypoDescender (int descender)
  Sets typo descender. More...
 
virtual void  SetCapHeight (int capHeight)
  Sets the capital letters height. More...
 
virtual void  SetXHeight (int xHeight)
 
virtual void  SetItalicAngle (int italicAngle)
  Sets the PostScript italic angle. More...
 
virtual void  SetStemV (int stemV)
 
virtual void  SetStemH (int stemH)
 
virtual void  SetFontWeight (int fontWeight)
  Sets font weight. More...
 
virtual void  SetFontStretch (String fontWidth)
  Sets font width in css notation (font-stretch property) More...
 
virtual void  SetFixedPitch (bool isFixedPitch)
 
virtual void  SetBold (bool isBold)
 
virtual void  SetBbox (int[] bbox)
 
virtual void  SetFontFamily (String fontFamily)
  Sets a preferred font family name. More...
 
virtual void  SetFontName (String fontName)
  Sets the PostScript name of the font. More...
 
virtual void  FixSpaceIssue ()
 

Package Attributes

IDictionary< int, Glyph codeToGlyph = new DictionaryGlyph>()
 
IDictionary< int, Glyph unicodeToGlyph = new DictionaryGlyph>()
 
bool  isFontSpecific
 
FontNames  fontNames
 
FontMetrics  fontMetrics = new FontMetrics()
 
FontIdentification  fontIdentification = new FontIdentification()
 
int  avgWidth
 
String  encodingScheme = FontEncoding.FONT_SPECIFIC
  The font's encoding name. More...
 
String  registry
 

Member Function Documentation

◆ GetCharBBox()

virtual int [] iText.IO.Font.FontProgram.GetCharBBox ( int  unicode )
inlinevirtual

Get glyph's bbox.

Parameters
unicode a unicode symbol or FontSpecif code.
Returns
Gets bbox in normalized 1000 units.

◆ GetKerning() [1/2]

abstract int iText.IO.Font.FontProgram.GetKerning ( Glyph  first,
Glyph  second 
)
pure virtual

Gets the kerning between two glyphs.

Parameters
first the first glyph
second the second glyph
Returns
the kerning to be applied

Implemented in iText.Kernel.Font.Type3Font, iText.IO.Font.CidFont, iText.IO.Font.Type1Font, and iText.IO.Font.TrueTypeFont.

◆ GetKerning() [2/2]

virtual int iText.IO.Font.FontProgram.GetKerning ( int  first,
int  second 
)
inlinevirtual

Gets the kerning between two glyphs.

Parameters
first the first unicode value
second the second unicode value
Returns
the kerning to be applied

◆ GetWidth()

virtual int iText.IO.Font.FontProgram.GetWidth ( int  unicode )
inlinevirtual

Get glyph's width.

Parameters
unicode a unicode symbol or FontSpecif code.
Returns
Gets width in normalized 1000 units.

◆ IsBuiltWith()

virtual bool iText.IO.Font.FontProgram.IsBuiltWith ( String  fontName )
inlinevirtual

Checks whether the FontProgram was built with corresponding fontName.

Checks whether the FontProgram was built with corresponding fontName. Default value is false unless overridden.

Parameters
fontName a font name or path to a font program
Returns
true, if the FontProgram was built with the fontProgram. Otherwise false.

Reimplemented in iText.IO.Font.TrueTypeFont, iText.IO.Font.Type1Font, iText.Kernel.Font.DocTrueTypeFont, and iText.IO.Font.CidFont.

◆ SetCapHeight()

virtual void iText.IO.Font.FontProgram.SetCapHeight ( int  capHeight )
inlinepackagevirtual

Sets the capital letters height.

Sets the capital letters height. See also FontMetrics.SetCapHeight(int).

Parameters
capHeight cap height in 1000-units

Reimplemented in iText.Kernel.Font.Type3Font.

◆ SetFontFamily()

virtual void iText.IO.Font.FontProgram.SetFontFamily ( String  fontFamily )
inlinepackagevirtual

Sets a preferred font family name.

Parameters
fontFamily a preferred font family name.

Reimplemented in iText.Kernel.Font.Type3Font.

◆ SetFontName()

virtual void iText.IO.Font.FontProgram.SetFontName ( String  fontName )
inlinepackagevirtual

Sets the PostScript name of the font.

Sets the PostScript name of the font.

If full name is null, it will be set as well.

Parameters
fontName the PostScript name of the font, shall not be null or empty.

Reimplemented in iText.Kernel.Font.Type3Font.

◆ SetFontStretch()

virtual void iText.IO.Font.FontProgram.SetFontStretch ( String  fontWidth )
inlinepackagevirtual

Sets font width in css notation (font-stretch property)

Parameters
fontWidth

iText.IO.Font.Constants.FontStretches.

Reimplemented in iText.Kernel.Font.Type3Font.

◆ SetFontWeight()

virtual void iText.IO.Font.FontProgram.SetFontWeight ( int  fontWeight )
inlinepackagevirtual

Sets font weight.

Parameters
fontWeight integer form 100 to 900. See iText.IO.Font.Constants.FontWeights.

Reimplemented in iText.Kernel.Font.Type3Font.

◆ SetItalicAngle()

virtual void iText.IO.Font.FontProgram.SetItalicAngle ( int  italicAngle )
inlinepackagevirtual

Sets the PostScript italic angle.

Sets the PostScript italic angle.

Italic angle in counter-clockwise degrees from the vertical. Zero for upright text, negative for text that leans to the right (forward).

Parameters
italicAngle in counter-clockwise degrees from the vertical

Reimplemented in iText.Kernel.Font.Type3Font.

◆ SetTypoAscender()

virtual void iText.IO.Font.FontProgram.SetTypoAscender ( int  ascender )
inlinepackagevirtual

Sets typo ascender.

Sets typo ascender. See also FontMetrics.SetTypoAscender(int).

Parameters
ascender typo ascender value in 1000-units

Reimplemented in iText.Kernel.Font.Type3Font.

◆ SetTypoDescender()

virtual void iText.IO.Font.FontProgram.SetTypoDescender ( int  descender )
inlinepackagevirtual

Sets typo descender.

Sets typo descender. See also FontMetrics.SetTypoDescender(int).

Parameters
descender typo descender value in 1000-units

Reimplemented in iText.Kernel.Font.Type3Font.

Member Data Documentation

◆ encodingScheme

String iText.IO.Font.FontProgram.encodingScheme = FontEncoding.FONT_SPECIFIC
package

The font's encoding name.

The font's encoding name. This encoding is 'StandardEncoding' or 'AdobeStandardEncoding' for a font that can be totally encoded according to the characters names. For all other names the font is treated as symbolic.