Hi guys, So apparently RoyalT has many more undocumented instructions beyond GETDATA: SGEP0, SGEP1, SGEP2, SGEPS, SHE, ADJUST Below is the related strings dump. How can we live without richard's secret instruction ADJUST?
Alexei %SVTCA >set vectors to coordinate axis &SPVTCA (set projection vector to coordinate axis &SFVTCA %set freedom vector to coordinate axis %SPVTL =set projection vector to line %SFVTL :set freedom vector to line %SPVFS "write projection vector from stack %SFVFS ?write freedom vector from stack 5get projection vector 2get freedom vector &SFVTPV 'set freedom vector to projection vector %ISECT )intersect %PPPPP $SRP0 5set reference point 0 $SRP1 5set reference point 1 $SRP2 5set reference point 2 %SGEP0 -set element 0 %SGEP1 -set element 1 %SGEP2 -set element 2 %SGEPS ,set elementS %SLOOP 1set loop variable -round to grid $RTHG 2round to half grid 4set minimum distance $ELSE /else for the IF $JMPR -jump relative &SCVTCI 6set width table cut in %SSWCI 7set single width cut in 0set single width )duplicate =pop top element off the stack %CLEAR 2clear entire stack $SWAP 5swap two top elements %DEPTH %depth &CINDEX :copy value to top of stack &MINDEX :move value to top of stack (ALIGNPTS 4align relative point 2read advance width -untouch point (LOOPCALL 9call function inside loop $CALL 7call function by number $FDEF 3function definition $ENDF 7end function definition $MDAP :move direct absolute point <interpolate untouched points +shift point -shift contour -shift element %SHPIX shift by fractional pixel amount 1interpolate point %MSIRP "move stack indirect relative point 'ALIGNRP $RTDG 4round to double grid $MIAP <move indirect absolute point &NPUSHB ,push n bytes &NPUSHW ,push n words +write store *read store %WCVTP =write CVT from outline domain $RCVT 8read control value table /read coordinate $SCFS .set coordinate 0measure distance %MPPEM 5measure pixels per em 1measure pointsize &FLIPON 7set autoflip boolean on 'FLIPOFF 8set autoflip boolean off %DEBUG %debug )less than $LTEQ 2less than or equal ,greater than $GTEQ 5greater than or equal %equal )not equal $EVEN $even &end if 'DELTAP1 5delta point exception .set delta base /set delta shift (subtract ÷ (multiply .absolute value &negate %FLOOR %floor 'CEILING 'ceiling %ROUND %round &NROUND &nround %WCVTF >write CVT from original domain 'DELTAP2 :delta point exception + 16 'DELTAP3 :delta point exception + 32 'DELTAC1 3delta cvt exception 'DELTAC2 8delta cvt exception + 16 'DELTAC3 8delta cvt exception + 32 &SROUND +super round (S45ROUND .super round 45 $JROT 5jump relative on TRUE $JROF 6jump relative on FALSE $ROFF 8set state to no rounding $RUTG 0round up to grid $RDTG 2round down to grid %SANGW 0set angle weight ,adjust angle &FLIPPT +flip on/off (FLIPRGON .flip on low hi )FLIPRGOFF /flip off low hi (SCANCTRL 2set scan converter &SDPVTL >set double proj vector to line 'GETINFO -get misc info $IDEF -define opCode $ROLL (SCANTYPE >change scan converter settings )INSTRCTRL ;change interpreter settings &ADJUST <richard's secret instruction ,GETVARIATION 9get variation coordinates 'GETDATA ?get various bits of information %PUSHB *push bytes %PUSHW *push words $MDRP :move direct relative point $MIRP <move indirect relative point &OFFSET :component is offset by x,y 'SOFFSET component is offset by x,y : 2x2 'GOOMMMM &ANCHOR ?component matches anchor points 'SANCHOR %component matches anchor points : 2x2 'GPPMMMM 'OVERLAP "set overlapping components to TRUE 'METRICS "use metrics of following component
_______________________________________________ Freetype-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/freetype-devel
