Class Type1CharStringInterpreter
Executes a decrypted Type 1 charstring, emitting drawing commands to an IGlyphOutlinePainter. Returns the advance width of the glyph.
Inherited Members
Namespace: DRIT.Drawing.Font.Type1
Assembly: DRIT.Drawing.dll
Syntax
public sealed class Type1CharStringInterpreter
Remarks
Operators implemented: hsbw, sbw, vmoveto, hmoveto, rmoveto, rlineto, hlineto, vlineto, rrcurveto, vhcurveto, hvcurveto, closepath, endchar, hstem, vstem, hstem3, vstem3 (ignored for rendering), seac, callsubr, return, div, dotsection, callothersubr, pop, setcurrentpoint.
Constructors
Type1CharStringInterpreter()
Initializes a empty Type1CharStringInterpreter instance.
Declaration
public Type1CharStringInterpreter()
Remarks
Operators implemented: hsbw, sbw, vmoveto, hmoveto, rmoveto, rlineto, hlineto, vlineto, rrcurveto, vhcurveto, hvcurveto, closepath, endchar, hstem, vstem, hstem3, vstem3 (ignored for rendering), seac, callsubr, return, div, dotsection, callothersubr, pop, setcurrentpoint.
Methods
Interpret(byte[], IGlyphOutlinePainter, byte[][]?, Dictionary<string, byte[]>?)
Executes charstring and delivers outline commands
to painter.
Declaration
public double Interpret(byte[] charstring, IGlyphOutlinePainter painter, byte[][]? subrs, Dictionary<string, byte[]>? charStrings)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | charstring | Decrypted Type 1 charstring bytes. |
| IGlyphOutlinePainter | painter | Receives outline drawing commands. |
| byte[][] | subrs | The font's /Subrs array (decrypted), or null. |
| Dictionary<string, byte[]> | charStrings | All font charstrings keyed by glyph name (needed to implement seac). May be null if seac is not expected. |
Returns
| Type | Description |
|---|---|
| double | The glyph advance width in font units. |
Remarks
Operators implemented: hsbw, sbw, vmoveto, hmoveto, rmoveto, rlineto, hlineto, vlineto, rrcurveto, vhcurveto, hvcurveto, closepath, endchar, hstem, vstem, hstem3, vstem3 (ignored for rendering), seac, callsubr, return, div, dotsection, callothersubr, pop, setcurrentpoint.