iText 9.0.0 API
|
Low-level API class for Type 3 fonts. More...
Public Member Functions |
|
virtual void | SetFontName (String fontName) |
Sets the PostScript name of the font. More... |
|
virtual void | SetFontFamily (String fontFamily) |
Sets a preferred font family name. More... |
|
virtual void | SetFontWeight (int fontWeight) |
Sets font weight. More... |
|
virtual void | SetCapHeight (int capHeight) |
Sets cap height. More... |
|
virtual void | SetItalicAngle (int italicAngle) |
Sets the PostScript italic angle. More... |
|
virtual void | SetFontStretch (String fontWidth) |
Sets font width in css notation (font-stretch property) More... |
|
virtual void | SetPdfFontFlags (int flags) |
Sets Font descriptor flags. More... |
|
virtual Type3Glyph | GetType3Glyph (int unicode) |
Returns a Type3Glyph by unicode. More... |
|
override bool | IsSubset () |
override bool | IsEmbedded () |
virtual int | GetNumberOfGlyphs () |
Gets count of glyphs in Type 3 font. More... |
|
virtual Type3Glyph | AddGlyph (char c, int wx, int llx, int lly, int urx, int ury) |
Defines a glyph. More... |
|
override Glyph | GetGlyph (int unicode) |
override bool | ContainsGlyph (int unicode) |
override void | Flush () |
Public Member Functions inherited from iText.Kernel.Font.PdfSimpleFont< Type3Font > | |
override bool | IsBuiltWith (String fontProgram, String encoding) |
Checks whether the PdfFont was built with corresponding fontProgram and encoding or CMAP. More... |
|
override GlyphLine | CreateGlyphLine (String content) |
override int | AppendGlyphs (String text, int from, int to, IList< Glyph > glyphs) |
Append all supported glyphs and return number of processed chars. More... |
|
override int | AppendAnyGlyph (String text, int from, IList< Glyph > glyphs) |
Append any single glyph, even notdef. More... |
|
virtual FontEncoding | GetFontEncoding () |
Get the font encoding. More... |
|
virtual CMapToUnicode | GetToUnicode () |
Get the mapping of character codes to unicode values based on /ToUnicode entry of font dictionary. More... |
|
override byte[] | ConvertToBytes (String text) |
Converts the text into bytes to be placed in the document. More... |
|
override byte[] | ConvertToBytes (GlyphLine glyphLine) |
override byte[] | ConvertToBytes (Glyph glyph) |
override void | WriteText (GlyphLine text, int from, int to, PdfOutputStream stream) |
override void | WriteText (String text, PdfOutputStream stream) |
override String | Decode (PdfString content) |
override GlyphLine | DecodeIntoGlyphLine (PdfString content) |
override bool | AppendDecodedCodesToGlyphsList (IList< Glyph > list, PdfString characterCodes) |
override float | GetContentWidth (PdfString content) |
virtual bool | IsForceWidthsOutput () |
Gets the state of the property. More... |
|
virtual void | SetForceWidthsOutput (bool forceWidthsOutput) |
Set to true to force the generation of the widths array. More... |
|
Package Functions |
|
override PdfDictionary | GetFontDescriptor (String fontName) |
override PdfArray | BuildWidthsArray (int firstChar, int lastChar) |
override void | AddFontStream (PdfDictionary fontDescriptor) |
virtual PdfDocument | GetDocument () |
Package Functions inherited from iText.Kernel.Font.PdfSimpleFont< Type3Font > | |
PdfSimpleFont (PdfDictionary fontDictionary) | |
virtual void | FlushFontData (String fontName, PdfName subtype) |
virtual bool | IsBuiltInFont () |
Indicates that the font is built in, i.e. it is one of the 14 Standard fonts More... |
|
override PdfDictionary | GetFontDescriptor (String fontName) |
Generates the font descriptor for this font or null if it is one of the 14 built in fonts. More... |
|
abstract void | AddFontStream (PdfDictionary fontDescriptor) |
virtual void | SetFontProgram (T fontProgram) |
Additional Inherited Members |
|
Package Attributes inherited from iText.Kernel.Font.PdfSimpleFont< Type3Font > | |
FontEncoding | fontEncoding |
bool | forceWidthsOutput |
Forces the output of the width array. More... |
|
byte[] | usedGlyphs |
The array used with single byte encodings. More... |
|
CMapToUnicode | toUnicode |
Currently only exists for the fonts that are parsed from the document. More... |
|
Low-level API class for Type 3 fonts.
Low-level API class for Type 3 fonts.
In Type 3 fonts, glyphs are defined by streams of PDF graphics operators. These streams are associated with character names. A separate encoding entry maps character codes to the appropriate character names for the glyphs.
Note, that this class operates in a special way with glyph space units. In the code when working with fonts, iText expects that 1000 units of glyph-space correspond to 1 unit of text space. For Type3 fonts this is not always the case and depends on FontMatrix. That's why in PdfType3Font the font matrix and all font metrics in glyph space units are "normalized" in such way, that 1 to 1000 relation is preserved. This is done on Type3 font initialization, and is reverted back on font flushing, because the actual content streams of type3 font glyphs are left with original coordinates based on original font matrix. See also ISO-32000-2, 9.2.4 "Glyph positioning and metrics":
"The glyph coordinate system is the space in which an individual character’s glyph is defined. All path coordinates and metrics shall be interpreted in glyph space. For all font types except Type 3, the units of glyph space are one-thousandth of a unit of text space; for a Type 3 font, the transformation from glyph space to text space shall be defined by a font matrix specified in an explicit FontMatrix entry in the font."
Note, that because of this when processing Type3 glyphs content streams either process them completely independent from this class or take this normalization into account.
To be able to be wrapped with this iText.Kernel.Pdf.PdfObjectWrapper
|
inlinevirtual |
Defines a glyph.
Defines a glyph. If the character was already defined it will return the same content
c | the character to match this glyph. |
wx | the advance this character will have |
llx | the X lower left corner of the glyph bounding box. If the colorize option is true the value is ignored |
lly | the Y lower left corner of the glyph bounding box. If the colorize option is true the value is ignored |
urx | the X upper right corner of the glyph bounding box. If the colorize option is true the value is ignored |
ury | the Y upper right corner of the glyph bounding box. If the colorize option is true the value is ignored |
|
inlinevirtual |
Gets count of glyphs in Type 3 font.
|
inlinevirtual |
Returns a Type3Glyph by unicode.
unicode | glyph unicode |
Type3Glyph glyph, or null
if this font does not contain glyph for the unicode
|
inlinevirtual |
Sets cap height.
capHeight | integer in glyph-space 1000-units |
|
inlinevirtual |
Sets a preferred font family name.
fontFamily | a preferred font family name. |
|
inlinevirtual |
Sets the PostScript name of the font.
fontName | the PostScript name of the font, shall not be null or empty. |
|
inlinevirtual |
Sets font width in css notation (font-stretch property)
fontWidth |
|
inlinevirtual |
Sets font weight.
fontWeight | integer form 100 to 900. See iText.IO.Font.Constants.FontWeights. |
|
inlinevirtual |
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).
italicAngle | in counter-clockwise degrees from the vertical |
|
inlinevirtual |
Sets Font descriptor flags.
flags | font descriptor flags. |