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