บันทึกการ instruct ฟอนต์

เที่ยวนี้ไม่มีอะไร บันทึกตัวอย่างการ instruct เอาไว้ดูเพื่ออ้างอิงเฉย ๆ

ตัวอย่าง DejaVuSans อักขระ n

โค๊ด

NPUSHB
 25
 3
 9
 0
 3
 14
 1
 6
 135
 14
 17
 184
 12
 188
 10
 1
 2
 8
 0
 78
 13
 9
 8
 11
 70
 20
SRP0
MIRP[rp0,min,rnd,grey]
MIRP[min,rnd,grey]
SHP[rp2]
MIRP[rp0,rnd,grey]
MIRP[min,rnd,grey]
IUP[x]
SVTCA[y-axis]
MDAP[rnd]
ALIGNRP
MIRP[rnd,grey]
MIRP[rp0,rnd,grey]
MDRP[rnd,grey]
MIRP[min,rnd,grey]
SRP1
SRP2
SLOOP
IP
IUP[y]
PUSHB_5
 96
 21
 207
 21
 2
SVTCA[x-axis]
DELTAP1

outline

x-direction instruction

y-direction instruction

คลี่สแต็กให้พออ่านง่าย

CODE                   RP0     STACK      DESCRIPTION
                                           (x-axis is default direction)
SRP0                           20         Set Reference Point 0
MIRP[rp0,min,rnd,grey] (20)    70 11      Move Indirect Relative Point
MIRP[min,rnd,grey]     (11)    8 9
SHP[rp2]               (11)    13         SHift Point using reference point
MIRP[rp0,rnd,grey]     (11)    78 0
MIRP[min,rnd,grey]     (0)     8 2
IUP[x]                                    Interpolate Untouched Points through the outline

SVTCA[y-axis]                             Set freedom and projection Vectors To Coordinate Axis
MDAP[rnd]                      1          Move Direct Absolute Point
ALIGNRP                (1)     10         ALIGN to Reference Point
MIRP[rnd,grey]         (1)     188 12
MIRP[rp0,rnd,grey]     (1)     184 17
MDRP[rnd,grey]         (17)    14
MIRP[min,rnd,grey]     (17)    135 6
SRP1                           1          Set Reference Point 1
SRP2                           14         Set Reference Point 2
SLOOP                          3          Set LOOP variable
IP                             0 9 3      Interpolate Point
IUP[y]                                    Interpolate Untouched Points through the outline

SVTCA[x-axis]
DELTAP1                       2 21 207 21 96    DELTA exception P1


อธิบาย deltap

The 8 bit arg component of the DELTA instructions decomposes into two parts. 
The first 4 bits represent the relative number of pixels per em at which the exception is applied. 
The second 4 bits represent the magnitude of the change to be made. The structure of the arg is shown in FIGURE 26.
ppem = pointSize * dpi / 72 

207 = 1100 1111
1100=12 (9+12=21ppem)
1111=15 = 8step = 8/64 of pixel    (0=-8, 1=-7, ... 14=+7, 15=+8)

96 = 0110 0000
0110=6 (9+6=15ppem)
0000=0 = -8step = -8/64 of pixel

แปลว่า
1.เลื่อนจุด 21 ไป 8step ที่ขนาดฟอนต์ 21 ppem (จอ Mac75dpi=21pt Windows96dpi~16pt Linux(จอผม85dpi)~18pt)
2. เลื่อนจุด 21 ไป -8step ที่ขนาดฟอนต์ 15 ppem (จอ Mac75dpi=15pt Windows96dpi~11pt Linux(จอผม85dpi)~13pt)

ตาราง cvt

ITEM            VALUE           DESCRIPTION
8               184             stem width
70              186             left spacing
78              938             outer width
135             156             top stem thick
184             1147            straight vertical height
188             1120            outer height
Topic: