# Function 8 Set a stem to the pixel width defined in the Stems TrueType options. Arguments on stack: _cvt_stem, ppm6, ppm5, ppm4, ppm3, ppm2, ppm1_

Assembly |  | Stack
--- | --- | ---
PUSHW[ ] | 1 value pushed
8 | function index
FDEF[ ] | FunctionDefinition
MPPEM[ ] | MeasurePixelPerEm | cvt_stem ppm6 ppm5 ppm4 ppm3 ppm2 ppm1 ppem
DUP[ ] | DuplicateTopStack | cvt_stem ppm6 ppm5 ppm4 ppm3 ppm2 ppm1 ppem ppem
PUSHB[ ] | 1 value pushed
3 |  | cvt_stem ppm6 ppm5 ppm4 ppm3 ppm2 ppm1 ppem ppem 3
MINDEX[ ] | MoveXToTopStack | cvt_stem ppm6 ppm5 ppm4 ppm3 ppm2 ppem ppem ppm1
GTEQ[ ] | GreaterThanOrEqual | cvt_stem ppm6 ppm5 ppm4 ppm3 ppm2 ppem ppem>=ppm1
IF[ ] | If | cvt_stem ppm6 ppm5 ppm4 ppm3 ppm2 ppem
PUSHB[ ] | 1 value pushed
64 |  | cvt_stem ppm6 ppm5 ppm4 ppm3 ppm2 ppem 64
ELSE[ ] | Else
PUSHB[ ] | 1 value pushed
0 |  | cvt_stem ppm6 ppm5 ppm4 ppm3 ppm2 ppem 0
EIF[ ] | EndIf
ROLL[ ] | RollTopThreeStack | cvt_stem ppm6 ppm5 ppm4 ppm2 ppem 64|0 ppm3
ROLL[ ] | RollTopThreeStack | cvt_stem ppm6 ppm5 ppm4 ppm2 64|0 ppm3 ppem
DUP[ ] | DuplicateTopStack | cvt_stem ppm6 ppm5 ppm4 ppm2 64|0 ppm3 ppem ppem
PUSHB[ ] | 1 value pushed
3 |  | cvt_stem ppm6 ppm5 ppm4 ppm2 64|0 ppm3 ppem ppem 3
MINDEX[ ] | MoveXToTopStack | cvt_stem ppm6 ppm5 ppm4 ppm2 64|0 ppem ppem ppm3
GTEQ[ ] | GreaterThanOrEqual | cvt_stem ppm6 ppm5 ppm4 ppm2 64|0 ppem ppem>=ppm3
IF[ ] | If | cvt_stem ppm6 ppm5 ppm4 ppm2 64|0 ppem
SWAP[ ] | SwapTopStack | cvt_stem ppm6 ppm5 ppm4 ppm2 ppem 64|0
POP[ ] | PopTopStack | cvt_stem ppm6 ppm5 ppm4 ppm2 ppem
PUSHB[ ] | 1 value pushed
128 |  | cvt_stem ppm6 ppm5 ppm4 ppm2 ppem 128
ROLL[ ] | RollTopThreeStack | cvt_stem ppm6 ppm5 ppm4 ppem 128 ppm2
ROLL[ ] | RollTopThreeStack | cvt_stem ppm6 ppm5 ppm4 128 ppm2 ppem
ELSE[ ] | Else
ROLL[ ] | RollTopThreeStack | cvt_stem ppm6 ppm5 ppm4 64|0 ppem ppm2
SWAP[ ] | SwapTopStack | cvt_stem ppm6 ppm5 ppm4 64|0 ppm2 ppem
EIF[ ] | EndIf
DUP[ ] | DuplicateTopStack | cvt_stem ppm6 ppm5 ppm4 128|64|0 ppm2 ppem ppem
PUSHB[ ] | 1 value pushed
3 |  | cvt_stem ppm6 ppm5 ppm4 128|64|0 ppm2 ppem ppem 3
MINDEX[ ] | MoveXToTopStack | cvt_stem ppm6 ppm5 ppm4 128|64|0 ppem ppem ppm2
GTEQ[ ] | GreaterThanOrEqual | cvt_stem ppm6 ppm5 ppm4 128|64|0 ppem ppem>=ppm2
IF[ ] | If | cvt_stem ppm6 ppm5 ppm4 128|64|0 ppem
SWAP[ ] | SwapTopStack | cvt_stem ppm6 ppm5 ppm4 ppem 128|64|0
POP[ ] | PopTopStack | cvt_stem ppm6 ppm5 ppm4 ppem
PUSHW[ ] | 1 value pushed
192 |  | cvt_stem ppm6 ppm5 ppm4 ppem 192
ROLL[ ] | RollTopThreeStack | cvt_stem ppm6 ppm5 ppem 192 ppm4
ROLL[ ] | RollTopThreeStack | cvt_stem ppm6 ppm5 192 ppm4 ppem
ELSE[ ] | Else
ROLL[ ] | RollTopThreeStack | cvt_stem ppm6 ppm5 128|64|0 ppem ppm4
SWAP[ ] | SwapTopStack | cvt_stem ppm6 ppm5 128|64|0 ppm4 ppem
EIF[ ] | EndIf
DUP[ ] | DuplicateTopStack | cvt_stem ppm6 ppm5 192|128|64|0 ppm4 ppem ppem
PUSHB[ ] | 1 value pushed
3 |  | cvt_stem ppm6 ppm5 192|128|64|0 ppm4 ppem ppem 3
MINDEX[ ] | MoveXToTopStack | cvt_stem ppm6 ppm5 192|128|64|0 ppem ppem ppm4
GTEQ[ ] | GreaterThanOrEqual | cvt_stem ppm6 ppm5 192|128|64|0 ppem ppem>=ppm4
IF[ ] | If | cvt_stem ppm6 ppm5 192|128|64|0 ppem
SWAP[ ] | SwapTopStack | cvt_stem ppm6 ppm5 ppem 192|128|64|0
POP[ ] | PopTopStack | cvt_stem ppm6 ppm5 ppem
PUSHW[ ] | 1 value pushed
256 |  | cvt_stem ppm6 ppm5 ppem 256
ROLL[ ] | RollTopThreeStack | cvt_stem ppm6 ppem 256 ppm5
ROLL[ ] | RollTopThreeStack | cvt_stem ppm6 256 ppm5 ppem
ELSE[ ] | Else | cvt_stem ppm6 ppm5 192|128|64|0 ppem
ROLL[ ] | RollTopThreeStack | cvt_stem ppm6 192|128|64|0 ppem ppm5
SWAP[ ] | SwapTopStack | cvt_stem ppm6 192|128|64|0 ppm5 ppem
EIF[ ] | EndIf
DUP[ ] | DuplicateTopStack | cvt_stem ppm6 256|192|128|64|0 ppm5 ppem ppem
PUSHB[ ] | 1 value pushed
3 |  | cvt_stem ppm6 256|192|128|64|0 ppm5 ppem ppem 3
MINDEX[ ] | MoveXToTopStack | cvt_stem ppm6 256|192|128|64|0 ppem ppem ppm5
GTEQ[ ] | GreaterThanOrEqual | cvt_stem ppm6 256|192|128|64|0 ppem ppem>=ppm5
IF[ ] | If | cvt_stem ppm6 256|192|128|64|0 ppem
SWAP[ ] | SwapTopStack | cvt_stem ppm6 ppem 256|192|128|64|0
POP[ ] | PopTopStack | cvt_stem ppm6 ppem
PUSHW[ ] | 1 value pushed
320 |  | cvt_stem ppm6 ppem 320
ROLL[ ] | RollTopThreeStack | cvt_stem ppem 320 ppm6
ROLL[ ] | RollTopThreeStack | cvt_stem 320 ppm6 ppem
ELSE[ ] | Else | cvt_stem ppm6 256|192|128|64|0 ppem
ROLL[ ] | RollTopThreeStack | cvt_stem 256|192|128|64|0 ppem ppm6
SWAP[ ] | SwapTopStack | cvt_stem 256|192|128|64|0 ppm6 ppem
EIF[ ] | EndIf
DUP[ ] | DuplicateTopStack | cvt_stem 320|256|192|128|64|0 ppm6 ppem ppem
PUSHW[ ] | 1 value pushed
3 |  | cvt_stem 320|256|192|128|64|0 ppm6 ppem ppem 3
MINDEX[ ] | MoveXToTopStack | cvt_stem 320|256|192|128|64|0 ppem ppem ppm6
GTEQ[ ] | GreaterThanOrEqual | cvt_stem 320|256|192|128|64|0 ppem ppem>=ppm6
IF[ ] | If | cvt_stem 320|256|192|128|64|0 ppem
PUSHB[ ] | 1 value pushed
3 |  | cvt_stem 320|256|192|128|64|0 ppem 3
CINDEX[ ] | CopyXToTopStack | cvt_stem 320|256|192|128|64|0 ppem cvt_stem
RCVT[ ] | ReadCVT | cvt_stem 320|256|192|128|64|0 ppem stem
PUSHW[ ] | 1 value pushed
384 |  | cvt_stem 320|256|192|128|64|0 ppem stem 384
LT[ ] | LessThan | cvt_stem 320|256|192|128|64|0 ppem stem<384
IF[ ] | If | cvt_stem 320|256|192|128|64|0 ppem
SWAP[ ] | SwapTopStack | cvt_stem ppem 320|256|192|128|64|0
POP[ ] | PopTopStack | cvt_stem ppem
PUSHW[ ] | 1 value pushed
384 |  | cvt_stem ppem 384
SWAP[ ] | SwapTopStack | cvt_stem 384 ppem
POP[ ] | PopTopStack | cvt_stem 384
ELSE[ ] | Else | cvt_stem 320|256|192|128|64|0 ppem
PUSHB[ ] | 1 value pushed
3 |  | cvt_stem 320|256|192|128|64|0 ppem 3
CINDEX[ ] | CopyXToTopStack | cvt_stem 320|256|192|128|64|0 ppem cvt_stem
RCVT[ ] | ReadCVT | cvt_stem 320|256|192|128|64|0 ppem stem
SWAP[ ] | SwapTopStack | cvt_stem 320|256|192|128|64|0 stem ppem
POP[ ] | PopTopStack | cvt_stem 320|256|192|128|64|0 stem
SWAP[ ] | SwapTopStack | cvt_stem stem 320|256|192|128|64|0
POP[ ] | PopTopStack | cvt_stem stem
EIF[ ] | EndIf
ELSE[ ] | Else | cvt_stem 320|256|192|128|64|0 ppem
POP[ ] | PopTopStack | cvt_stem 320|256|192|128|64|0
EIF[ ] | EndIf | cvt_stem 384|320|256|192|128|64|0|stem
WCVTP[ ] | WriteCVTInPixels | —
ENDF[ ] | EndFunctionDefinition

The values 384, 320, 256, 192, 128, 64, 0 correspond to 64ths of a pixel: 6, 5, 4, 3, 2, 1, 0 full pixels.