| Modifier and Type | Field and Description |
|---|---|
| private final int[] | |
| private int[] | |
| private final GraphicsState | |
| private boolean | |
| private Parser | |
| private int[] | |
| private int | |
| private int[] | |
| private final Point[][] |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private int | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private int | |
| private void | _instctrl()
INSTruction Execution ConTRol INSTCTRL[] Code Range 0x8E Pops s: selector flag (int32) value: USHORT (padded to 32 bits) used to set value of instruction_control. |
| private void | |
| private void | |
| private void | |
| private int | |
| private int | |
| private int | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | _scanctrl()
SCAN conversion ConTRoL SCANCTRL[ ] Code Range 0x85 Pops n: flags indicating when to turn on dropout control mode (16 bit word padded to 32 bits) Pushes - Sets scan_control SCANCTRL is used to set the value of the Graphics State variable scan_control which in turn determines whether the scan converter will activate dropout control for this glyph. |
| private void | _scantype()
SCANTYPE SCANTYPE[] Code Range 0x8D Pops n: 16 bit integer Pushes - Sets scan_control Pops a 16-bit integer whose value is used to determine which rules the scan converter will use. |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| private void | |
| public void | |
| public Point[][] | |
| private int | |
| private void | |
| public void | |
| public void | |
| public void | |
| public void |
| cvt | back to summary |
|---|---|
| private final int[] cvt | |
| functionMap | back to summary |
|---|---|
| private int[] functionMap | |
| gs | back to summary |
|---|---|
| private final GraphicsState gs | |
| inFuncDef | back to summary |
|---|---|
| private boolean inFuncDef | |
| parser | back to summary |
|---|---|
| private Parser parser | |
| stack | back to summary |
|---|---|
| private int[] stack | |
| stackIndex | back to summary |
|---|---|
| private int stackIndex | |
| store | back to summary |
|---|---|
| private int[] store | |
| zone | back to summary |
|---|---|
| private final Point[][] zone | |
| Interpreter | back to summary |
|---|---|
| public Interpreter(final int stackMax, final int storeMax, final int funcMax) | |
| _abs | back to summary |
|---|---|
| private void _abs() ABSolute value | |
| _add | back to summary |
|---|---|
| private void _add() ADD | |
| _alignpts | back to summary |
|---|---|
| private void _alignpts() | |
| _alignrp | back to summary |
|---|---|
| private void _alignrp() USES: loop | |
| _and | back to summary |
|---|---|
| private void _and() logical AND | |
| _call | back to summary |
|---|---|
| private void _call() CALL function | |
| _ceiling | back to summary |
|---|---|
| private void _ceiling() CEILING | |
| _cindex | back to summary |
|---|---|
| private void _cindex() Copy the INDEXed element to the top of the stack | |
| _clear | back to summary |
|---|---|
| private void _clear() CLEAR the entire stack | |
| _debug | back to summary |
|---|---|
| private void _debug() | |
| _deltac1 | back to summary |
|---|---|
| private void _deltac1() DELTA exception C1 | |
| _deltac2 | back to summary |
|---|---|
| private void _deltac2() DELTA exception C2 | |
| _deltac3 | back to summary |
|---|---|
| private void _deltac3() DELTA exception C3 | |
| _deltap1 | back to summary |
|---|---|
| private void _deltap1() DELTA exception P1 | |
| _deltap2 | back to summary |
|---|---|
| private void _deltap2() DELTA exception P2 | |
| _deltap3 | back to summary |
|---|---|
| private void _deltap3() DELTA exception P3 | |
| _depth | back to summary |
|---|---|
| private void _depth() Returns the DEPTH of the stack | |
| _div | back to summary |
|---|---|
| private void _div() DIVide | |
| _dup | back to summary |
|---|---|
| private void _dup() DUPlicate top stack element | |
| _else | back to summary |
|---|---|
| private int _else(final int instructionIndex) ELSE | |
| _eq | back to summary |
|---|---|
| private void _eq() EQual | |
| _even | back to summary |
|---|---|
| private void _even() | |
| _fdef | back to summary |
|---|---|
| private void _fdef(final int instructionIndex) Function DEFinition | |
| _flipoff | back to summary |
|---|---|
| private void _flipoff() Set the auto_FLIP boolean to OFF | |
| _flipon | back to summary |
|---|---|
| private void _flipon() Set the auto_FLIP boolean to ON | |
| _flippt | back to summary |
|---|---|
| private void _flippt() FLIP PoinT USES: loop | |
| _fliprgoff | back to summary |
|---|---|
| private void _fliprgoff() FLIP RanGe OFF | |
| _fliprgon | back to summary |
|---|---|
| private void _fliprgon() FLIP RanGe ON | |
| _floor | back to summary |
|---|---|
| private void _floor() FLOOR | |
| _gc | back to summary |
|---|---|
| private void _gc(final short param) | |
| _getinfo | back to summary |
|---|---|
| private void _getinfo() | |
| _gfv | back to summary |
|---|---|
| private void _gfv() Get Freedom_Vector | |
| _gpv | back to summary |
|---|---|
| private void _gpv() Get Projection_Vector | |
| _gt | back to summary |
|---|---|
| private void _gt() Greater Than | |
| _gteq | back to summary |
|---|---|
| private void _gteq() Greater Than or EQual | |
| _idef | back to summary |
|---|---|
| private void _idef() Instruction DEFinition | |
| _if | back to summary |
|---|---|
| private int _if(final int instructionIndex) IF test | |
| _instctrl | back to summary |
|---|---|
| private void _instctrl() INSTruction Execution ConTRol INSTCTRL[] Code Range 0x8E Pops s: selector flag (int32) value: USHORT (padded to 32 bits) used to set value of instruction_control. Pushes - Sets instruction_control Sets the instruction control state variable making it possible to turn on or off the execution of instructions and to regulate use of parameters set in the CVT program. INSTCTRL[ ] can only be executed in the CVT program. This instruction clears and sets various control flags in the rasterizer. The selector flag determines valid values for the value argument. The value determines the new setting of the raterizer control flag. In version 1.0 there are only two flags in use: Selector flag 1 is used to inhibit grid-fitting. If s=1, valid values for the value argument are 0 (FALSE) and 1 (TRUE). If the value argument is set to TRUE (v=1), any instructions associated with glyphs will not be executed. For example, to inhibit grid-fitting when a glyph is being rotated or stretched, use the following sequence on the preprogram: PUSHB[000] 6 ; ask GETINFO to check for stretching or rotation GETINFO[] ; will push TRUE if glyph is stretched or rotated IF[] ; tests value at top of stack PUSHB[000] 1 ; value for INSTCTRL PUSHB[000] 1 ; selector for INSTCTRL INSTRCTRL[] ; based on selector and value will turn grid-fitting off EIF[] Selector flag 2 is used to establish that any parameters set in the CVT program should be ignored when instructions associated with glyphs are executed. These include, for example, the values for scantype and the CVT cut-in. If s=1, valid values for the value argument are 0 (FALSE) and 2 (TRUE). If the value argument is set to TRUE (v=2), the default values of those parameters will be used regardless of any changes that may have been made in those values by the preprogram. If the value argument is set to FALSE (v=0), parameter values changed by the CVT program will be used in glyph instructions. | |
| _ip | back to summary |
|---|---|
| private void _ip() | |
| _isect | back to summary |
|---|---|
| private void _isect() | |
| _iup | back to summary |
|---|---|
| private void _iup(final short param) | |
| _jmpr | back to summary |
|---|---|
| private int _jmpr(final int instructionIndex) JuMP Relative | |
| _jrof | back to summary |
|---|---|
| private int _jrof(int instructionIndex) Jump Relative On False | |
| _jrot | back to summary |
|---|---|
| private int _jrot(int instructionIndex) Jump Relative On True | |
| _loopcall | back to summary |
|---|---|
| private void _loopcall() LOOP and CALL function | |
| _lt | back to summary |
|---|---|
| private void _lt() Less Than | |
| _lteq | back to summary |
|---|---|
| private void _lteq() Less Than or EQual | |
| _max | back to summary |
|---|---|
| private void _max() MAXimum of top two stack elements | |
| _md | back to summary |
|---|---|
| private void _md(final short param) | |
| _mdap | back to summary |
|---|---|
| private void _mdap(final short param) | |
| _mdrp | back to summary |
|---|---|
| private void _mdrp(final short param) | |
| _miap | back to summary |
|---|---|
| private void _miap(final short param) | |
| _min | back to summary |
|---|---|
| private void _min() MINimum of top two stack elements | |
| _mindex | back to summary |
|---|---|
| private void _mindex() Move the INDEXed element to the top of the stack | |
| _mirp | back to summary |
|---|---|
| private void _mirp(final short param) | |
| _mppem | back to summary |
|---|---|
| private void _mppem() | |
| _mps | back to summary |
|---|---|
| private void _mps() | |
| _msirp | back to summary |
|---|---|
| private void _msirp(final short param) | |
| _mul | back to summary |
|---|---|
| private void _mul() MULtiply | |
| _neg | back to summary |
|---|---|
| private void _neg() NEGate | |
| _neq | back to summary |
|---|---|
| private void _neq() Not EQual | |
| _not | back to summary |
|---|---|
| private void _not() logical NOT | |
| _nround | back to summary |
|---|---|
| private void _nround(final short param) | |
| _odd | back to summary |
|---|---|
| private void _odd() | |
| _or | back to summary |
|---|---|
| private void _or() logical OR | |
| _push | back to summary |
|---|---|
| private void _push(final int[] data) PUSH N Bytes PUSH N Words PUSH Bytes PUSH Words | |
| _rcvt | back to summary |
|---|---|
| private void _rcvt() Read Control Value Table | |
| _rdtg | back to summary |
|---|---|
| private void _rdtg() Round Down To Grid | |
| _roff | back to summary |
|---|---|
| private void _roff() Round OFF | |
| _roll | back to summary |
|---|---|
| private void _roll() ROLL the top three stack elements | |
| _round | back to summary |
|---|---|
| private void _round(final short param) | |
| _rs | back to summary |
|---|---|
| private void _rs() Read Store | |
| _rtdg | back to summary |
|---|---|
| private void _rtdg() Round To Double Grid | |
| _rtg | back to summary |
|---|---|
| private void _rtg() Round To Grid | |
| _rthg | back to summary |
|---|---|
| private void _rthg() Round To Half Grid | |
| _rutg | back to summary |
|---|---|
| private void _rutg() Round Up To Grid | |
| _s45round | back to summary |
|---|---|
| private void _s45round() | |
| _scanctrl | back to summary |
|---|---|
| private void _scanctrl() SCAN conversion ConTRoL SCANCTRL[ ] Code Range 0x85 Pops n: flags indicating when to turn on dropout control mode (16 bit word padded to 32 bits) Pushes - Sets scan_control SCANCTRL is used to set the value of the Graphics State variable scan_control which in turn determines whether the scan converter will activate dropout control for this glyph. Use of the dropout control mode is determined by three conditions: Is the glyph rotated? Is the glyph stretched? Is the current setting for ppem less than a specified threshold? The interpreter pops a word from the stack and looks at the lower 16 bits. Bits 0-7 represent the threshold value for ppem. A value of FF in bits 0-7 means invoke dropout_control for all sizes. A value of 0 in bits 0-7 means never invoke dropout_control. Bits 8-13 are used to turn on dropout_control in cases where the specified conditions are met. Bits 8, 9 and 10 are used to turn on the dropout_control mode (assuming other conditions do not block it). Bits 11, 12, and 13 are used to turn off the dropout mode unless other conditions force it. Bits 14 and 15 are reserved for future use. Bit Meaning if set --- -------------- 8 Set dropout_control to TRUE if other conditions do not block and ppem is less than or equal to the threshold value. 9 Set dropout_control to TRUE if other conditions do not block and the glyph is rotated. 10 Set dropout_control to TRUE if other conditions do not block and the glyph is stretched. 11 Set dropout_control to FALSE unless ppem is less than or equal to the threshold value. 12 Set dropout_control to FALSE unless the glyph is rotated. 13 Set dropout_control to FALSE unless the glyph is stretched. 14 Reserved for future use. 15 Reserved for future use. For example 0x0000 No dropout control is invoked 0x01FF Always do dropout control 0x0A10 Do dropout control if the glyph is rotated and has less than 16 pixels per-em The scan converter can operate in either a "normal" mode or in a "fix dropout" mode depending on the value of a set of enabling and disabling flags. | |
| _scantype | back to summary |
|---|---|
| private void _scantype() SCANTYPE SCANTYPE[] Code Range 0x8D Pops n: 16 bit integer Pushes - Sets scan_control Pops a 16-bit integer whose value is used to determine which rules the scan converter will use. If the value of the argument is 0, the fast scan converter will be used. If the value of the integer is 1 or 2, simple dropout control will be used. If the value of the integer is 4 or 5, smart dropout control will be used. More specifically, if n=0 rules 1, 2, and 3 are invoked (simple dropout control scan conversion including stubs) if n=1 rules 1, 2, and 4 are invoked (simple dropout control scan conversion excluding stubs) if n=2 rules 1 and 2 only are invoked (fast scan conversion; dropout control turned off) if n=3 same as n = 2 if n = 4 rules 1, 2, and 5 are invoked (smart dropout control scan conversion including stubs) if n = 5 rules 1, 2, and 6 are invoked (smart dropout control scan conversion excluding stubs) if n = 6 same as n = 2 if n = 7 same as n = 2 The scan conversion rules are shown here: Rule 1 If a pixel's center falls within the glyph outline, that pixel is turned on. Rule 2 If a contour falls exactly on a pixel's center, that pixel is turned on. Rule 3 If a scan line between two adjacent pixel centers (either vertical or horizontal) is intersected by both an on-Transition contour and an off-Transition contour and neither of the pixels was already turned on by rules 1 and 2, turn on the left-most pixel (horizontal scan line) or the bottom-most pixel (vertical scan line). This is "Simple" dropout control. Rule 4 Apply Rule 3 only if the two contours continue to intersect other scan lines in both directions. That is, do not turn on pixels for 'stubs.' The scanline segments that form a square with the intersected scan line segment are examined to verify that they are intersected by two contours. It is possible that these could be different contours than the ones intersecting the dropout scan line segment. This is very unlikely but may have to be controlled with grid-fitting in some exotic glyphs. Rule 5 If a scan line between two adjacent pixel centers (either vertical or horizontal) is intersected by both an on-Transition contour and an off-Transition contour and neither of the pixels was already turned on by rules 1 and 2, turn on the pixel which is closer to the midpoint between the on-Transition contour and off- Transition contour. This is "Smart" dropout control. Rule 6 Apply Rule 5 only if the two contours continue to intersect other scan lines in both directions. That is, do not turn on pixels for 'stubs.' New fonts wishing to use the new modes of the ScanType instruction, but still wishing to work correctly on old rasterizers that don't recognize the new modes should: First execute a ScanType instruction using an old mode which will give the best approximation to the desired new mode (e.g. Simple Stubs for Smart Stubs), and then Immediately execute another ScanType instruction with the desired new mode. | |
| _scfs | back to summary |
|---|---|
| private void _scfs() | |
| _scvtci | back to summary |
|---|---|
| private void _scvtci() Set Control Value Table Cut In | |
| _sdb | back to summary |
|---|---|
| private void _sdb() Set Delta_Base in the graphics state | |
| _sdpvtl | back to summary |
|---|---|
| private void _sdpvtl(final short param) Set Dual Projection_Vector To Line | |
| _sds | back to summary |
|---|---|
| private void _sds() Set Delta_Shift in the graphics state | |
| _sfvfs | back to summary |
|---|---|
| private void _sfvfs() Set Freedom_Vector From Stack | |
| _sfvtca | back to summary |
|---|---|
| private void _sfvtca(final short param) | |
| _sfvtl | back to summary |
|---|---|
| private void _sfvtl(final short param) | |
| _sfvtpv | back to summary |
|---|---|
| private void _sfvtpv() Set Freedom_Vector To Projection Vector | |
| _shc | back to summary |
|---|---|
| private void _shc(final short param) | |
| _shp | back to summary |
|---|---|
| private void _shp(final short param) SHift Point by the last point USES: loop | |
| _shpix | back to summary |
|---|---|
| private void _shpix() SHift Point by a PIXel amount USES: loop | |
| _shz | back to summary |
|---|---|
| private void _shz(final short param) | |
| _sloop | back to summary |
|---|---|
| private void _sloop() Set LOOP variable | |
| _smd | back to summary |
|---|---|
| private void _smd() Set Minimum_Distance | |
| _spvfs | back to summary |
|---|---|
| private void _spvfs() Set Projection_Vector From Stack | |
| _spvtca | back to summary |
|---|---|
| private void _spvtca(final short param) | |
| _spvtl | back to summary |
|---|---|
| private void _spvtl(final short param) Set Projection_Vector To Line | |
| _sround | back to summary |
|---|---|
| private void _sround() | |
| _srp0 | back to summary |
|---|---|
| private void _srp0() Set Reference Point 0 | |
| _srp1 | back to summary |
|---|---|
| private void _srp1() Set Reference Point 1 | |
| _srp2 | back to summary |
|---|---|
| private void _srp2() Set Reference Point 2 | |
| _ssw | back to summary |
|---|---|
| private void _ssw() Set Single-Width | |
| _sswci | back to summary |
|---|---|
| private void _sswci() Set Single_Width_Cut_In | |
| _sub | back to summary |
|---|---|
| private void _sub() SUBtract | |
| _svtca | back to summary |
|---|---|
| private void _svtca(final short param) Set freedom and projection Vectors To Coordinate Axis | |
| _swap | back to summary |
|---|---|
| private void _swap() SWAP the top two elements on the stack | |
| _szp0 | back to summary |
|---|---|
| private void _szp0() Set Zone Pointer 0 | |
| _szp1 | back to summary |
|---|---|
| private void _szp1() Set Zone Pointer 1 | |
| _szp2 | back to summary |
|---|---|
| private void _szp2() Set Zone Pointer 2 | |
| _szps | back to summary |
|---|---|
| private void _szps() Set Zone PointerS | |
| _utp | back to summary |
|---|---|
| private void _utp() | |
| _wcvtf | back to summary |
|---|---|
| private void _wcvtf() Write Control Value Table in FUnits | |
| _wcvtp | back to summary |
|---|---|
| private void _wcvtp() Write Control Value Table in Pixel units | |
| _ws | back to summary |
|---|---|
| private void _ws() Write Store | |
| execute | back to summary |
|---|---|
| public void execute(int ip) | |
| getZones | back to summary |
|---|---|
| public Point[][] getZones() | |
| pop | back to summary |
|---|---|
| private int pop() | |
| push | back to summary |
|---|---|
| private void push(final int i) | |
| runCvtProgram | back to summary |
|---|---|
| public void runCvtProgram() | |
| runFontProgram | back to summary |
|---|---|
| public void runFontProgram() | |
| runGlyphProgram | back to summary |
|---|---|
| public void runGlyphProgram() | |
| setParser | back to summary |
|---|---|
| public void setParser(final Parser p) | |