FontyFruity-0.1.0.2: src/Graphics/Text/TrueType/Bytecode.hs
module Graphics.Text.TrueType.Bytecode where
import Data.Word( Word8, Word16 )
import qualified Data.Vector.Unboxed as VU
type InstructionFlag = Bool
data Instruction =
NPUSHB (VU.Vector Word8)
| NPUSHW (VU.Vector Word16)
-- | Set Vectors To Coordinate axis.
-- Apply to freedom & projection vector
| SVTCA InstructionFlag
-- | Set projection vector to coordinate axis.
-- Apply to projection vector
| SPVTCA InstructionFlag
-- | Set Freedom Vector To Coordinate Axis.
-- Apply to the freedom vector
| SFVTCA InstructionFlag
-- | Set Projection Vector To Line.
-- Apply to projection vector
| SPVTL InstructionFlag
-- | Set Freedom Vector To Line.
-- Apply to freedom vector
| SFVTL InstructionFlag
-- | Set Freedom Vector To Projection Vector.
-- Apply to freedom vector
| SFVTPV
-- | Set Dual Projection Vector To Line
-- dual projection vector
| SDPVTL
-- | Set Projection Vector To Line.
-- Apply to projection vector
| SVPTL
-- | Set Projection Vector From Stack.
-- Apply to projection vector
| SPVFS
-- | Set Freedom Vector From Stack.
-- Apply to freedom vector
| SFVFS
-- | Set reference point 0.
-- Apply to rp0
| SRP0
-- | Set reference point 1.
-- Apply to rp1
| SRP1
-- | Set reference point 2.
-- Apply to rp2
| SRP2
-- | Set zone pointer 0.
-- Apply to zp0.
| SZP0
-- | Set zone pointer 1.
-- Apply to zp1.
| SZP1
-- | Set zone pointer 2.
-- Apply to zp2.
| SZP2
-- | Set zone pointers
-- Apply to zp0, zp1, zp2
| SZPS
-- | Round To Half Grid.
-- Apply to round state.
| RTHG
-- | Round To Grid.
-- Apply to round state.
| RTG
-- | Round To Double Grid.
-- Apply to round state.
| RTDG
-- | Round up To Grid.
-- Apply to round state.
| RUTG
-- | Round down to grid.
-- Apply to round state.
| RDTG
-- | Set rounding off
-- Apply to rounds tate.
| ROFF
-- | Super round
-- Apply to rounds tate.
| SROUND
-- | Super 45 round
-- Apply to rounds tate.
| S45ROUND
-- | Set loop.
-- Apply to loop
| SLOOP
-- | Set Single Width Cut-In
-- Apply to single width cut-in
| SSWCI
-- | Set Control Value Table Cut-In
-- Apply to control value cut-in
| SCVTCI
-- | Set Minimum Distance
-- Apply to minimum distance
| SMD
-- | Get Freedom vector
| GFV
-- | Get Projection vector
| GPV
-- | Get Information
| GETINFO
-- | Measure Pixels Per EM
| MPPEM
-- | Measure Point size
| MPS
-- | If test
| IF
-- | Else
| ELSE
-- | Jump relative on false
| JROF
-- | Jump relative on true
| JROT
-- | Jump relative
| JMPR
-- | Loop and call
| LOOPCALL