1
2
3
4
5
6 package truetype
7
8
9
10
11 const (
12 opSVTCA0 = 0x00
13 opSVTCA1 = 0x01
14 opSPVTCA0 = 0x02
15 opSPVTCA1 = 0x03
16 opSFVTCA0 = 0x04
17 opSFVTCA1 = 0x05
18 opSPVTL0 = 0x06
19 opSPVTL1 = 0x07
20 opSFVTL0 = 0x08
21 opSFVTL1 = 0x09
22 opSPVFS = 0x0a
23 opSFVFS = 0x0b
24 opGPV = 0x0c
25 opGFV = 0x0d
26 opSFVTPV = 0x0e
27 opISECT = 0x0f
28 opSRP0 = 0x10
29 opSRP1 = 0x11
30 opSRP2 = 0x12
31 opSZP0 = 0x13
32 opSZP1 = 0x14
33 opSZP2 = 0x15
34 opSZPS = 0x16
35 opSLOOP = 0x17
36 opRTG = 0x18
37 opRTHG = 0x19
38 opSMD = 0x1a
39 opELSE = 0x1b
40 opJMPR = 0x1c
41 opSCVTCI = 0x1d
42 opSSWCI = 0x1e
43 opSSW = 0x1f
44 opDUP = 0x20
45 opPOP = 0x21
46 opCLEAR = 0x22
47 opSWAP = 0x23
48 opDEPTH = 0x24
49 opCINDEX = 0x25
50 opMINDEX = 0x26
51 opALIGNPTS = 0x27
52 op_0x28 = 0x28
53 opUTP = 0x29
54 opLOOPCALL = 0x2a
55 opCALL = 0x2b
56 opFDEF = 0x2c
57 opENDF = 0x2d
58 opMDAP0 = 0x2e
59 opMDAP1 = 0x2f
60 opIUP0 = 0x30
61 opIUP1 = 0x31
62 opSHP0 = 0x32
63 opSHP1 = 0x33
64 opSHC0 = 0x34
65 opSHC1 = 0x35
66 opSHZ0 = 0x36
67 opSHZ1 = 0x37
68 opSHPIX = 0x38
69 opIP = 0x39
70 opMSIRP0 = 0x3a
71 opMSIRP1 = 0x3b
72 opALIGNRP = 0x3c
73 opRTDG = 0x3d
74 opMIAP0 = 0x3e
75 opMIAP1 = 0x3f
76 opNPUSHB = 0x40
77 opNPUSHW = 0x41
78 opWS = 0x42
79 opRS = 0x43
80 opWCVTP = 0x44
81 opRCVT = 0x45
82 opGC0 = 0x46
83 opGC1 = 0x47
84 opSCFS = 0x48
85 opMD0 = 0x49
86 opMD1 = 0x4a
87 opMPPEM = 0x4b
88 opMPS = 0x4c
89 opFLIPON = 0x4d
90 opFLIPOFF = 0x4e
91 opDEBUG = 0x4f
92 opLT = 0x50
93 opLTEQ = 0x51
94 opGT = 0x52
95 opGTEQ = 0x53
96 opEQ = 0x54
97 opNEQ = 0x55
98 opODD = 0x56
99 opEVEN = 0x57
100 opIF = 0x58
101 opEIF = 0x59
102 opAND = 0x5a
103 opOR = 0x5b
104 opNOT = 0x5c
105 opDELTAP1 = 0x5d
106 opSDB = 0x5e
107 opSDS = 0x5f
108 opADD = 0x60
109 opSUB = 0x61
110 opDIV = 0x62
111 opMUL = 0x63
112 opABS = 0x64
113 opNEG = 0x65
114 opFLOOR = 0x66
115 opCEILING = 0x67
116 opROUND00 = 0x68
117 opROUND01 = 0x69
118 opROUND10 = 0x6a
119 opROUND11 = 0x6b
120 opNROUND00 = 0x6c
121 opNROUND01 = 0x6d
122 opNROUND10 = 0x6e
123 opNROUND11 = 0x6f
124 opWCVTF = 0x70
125 opDELTAP2 = 0x71
126 opDELTAP3 = 0x72
127 opDELTAC1 = 0x73
128 opDELTAC2 = 0x74
129 opDELTAC3 = 0x75
130 opSROUND = 0x76
131 opS45ROUND = 0x77
132 opJROT = 0x78
133 opJROF = 0x79
134 opROFF = 0x7a
135 op_0x7b = 0x7b
136 opRUTG = 0x7c
137 opRDTG = 0x7d
138 opSANGW = 0x7e
139 opAA = 0x7f
140 opFLIPPT = 0x80
141 opFLIPRGON = 0x81
142 opFLIPRGOFF = 0x82
143 op_0x83 = 0x83
144 op_0x84 = 0x84
145 opSCANCTRL = 0x85
146 opSDPVTL0 = 0x86
147 opSDPVTL1 = 0x87
148 opGETINFO = 0x88
149 opIDEF = 0x89
150 opROLL = 0x8a
151 opMAX = 0x8b
152 opMIN = 0x8c
153 opSCANTYPE = 0x8d
154 opINSTCTRL = 0x8e
155 op_0x8f = 0x8f
156 op_0x90 = 0x90
157 op_0x91 = 0x91
158 op_0x92 = 0x92
159 op_0x93 = 0x93
160 op_0x94 = 0x94
161 op_0x95 = 0x95
162 op_0x96 = 0x96
163 op_0x97 = 0x97
164 op_0x98 = 0x98
165 op_0x99 = 0x99
166 op_0x9a = 0x9a
167 op_0x9b = 0x9b
168 op_0x9c = 0x9c
169 op_0x9d = 0x9d
170 op_0x9e = 0x9e
171 op_0x9f = 0x9f
172 op_0xa0 = 0xa0
173 op_0xa1 = 0xa1
174 op_0xa2 = 0xa2
175 op_0xa3 = 0xa3
176 op_0xa4 = 0xa4
177 op_0xa5 = 0xa5
178 op_0xa6 = 0xa6
179 op_0xa7 = 0xa7
180 op_0xa8 = 0xa8
181 op_0xa9 = 0xa9
182 op_0xaa = 0xaa
183 op_0xab = 0xab
184 op_0xac = 0xac
185 op_0xad = 0xad
186 op_0xae = 0xae
187 op_0xaf = 0xaf
188 opPUSHB000 = 0xb0
189 opPUSHB001 = 0xb1
190 opPUSHB010 = 0xb2
191 opPUSHB011 = 0xb3
192 opPUSHB100 = 0xb4
193 opPUSHB101 = 0xb5
194 opPUSHB110 = 0xb6
195 opPUSHB111 = 0xb7
196 opPUSHW000 = 0xb8
197 opPUSHW001 = 0xb9
198 opPUSHW010 = 0xba
199 opPUSHW011 = 0xbb
200 opPUSHW100 = 0xbc
201 opPUSHW101 = 0xbd
202 opPUSHW110 = 0xbe
203 opPUSHW111 = 0xbf
204 opMDRP00000 = 0xc0
205 opMDRP00001 = 0xc1
206 opMDRP00010 = 0xc2
207 opMDRP00011 = 0xc3
208 opMDRP00100 = 0xc4
209 opMDRP00101 = 0xc5
210 opMDRP00110 = 0xc6
211 opMDRP00111 = 0xc7
212 opMDRP01000 = 0xc8
213 opMDRP01001 = 0xc9
214 opMDRP01010 = 0xca
215 opMDRP01011 = 0xcb
216 opMDRP01100 = 0xcc
217 opMDRP01101 = 0xcd
218 opMDRP01110 = 0xce
219 opMDRP01111 = 0xcf
220 opMDRP10000 = 0xd0
221 opMDRP10001 = 0xd1
222 opMDRP10010 = 0xd2
223 opMDRP10011 = 0xd3
224 opMDRP10100 = 0xd4
225 opMDRP10101 = 0xd5
226 opMDRP10110 = 0xd6
227 opMDRP10111 = 0xd7
228 opMDRP11000 = 0xd8
229 opMDRP11001 = 0xd9
230 opMDRP11010 = 0xda
231 opMDRP11011 = 0xdb
232 opMDRP11100 = 0xdc
233 opMDRP11101 = 0xdd
234 opMDRP11110 = 0xde
235 opMDRP11111 = 0xdf
236 opMIRP00000 = 0xe0
237 opMIRP00001 = 0xe1
238 opMIRP00010 = 0xe2
239 opMIRP00011 = 0xe3
240 opMIRP00100 = 0xe4
241 opMIRP00101 = 0xe5
242 opMIRP00110 = 0xe6
243 opMIRP00111 = 0xe7
244 opMIRP01000 = 0xe8
245 opMIRP01001 = 0xe9
246 opMIRP01010 = 0xea
247 opMIRP01011 = 0xeb
248 opMIRP01100 = 0xec
249 opMIRP01101 = 0xed
250 opMIRP01110 = 0xee
251 opMIRP01111 = 0xef
252 opMIRP10000 = 0xf0
253 opMIRP10001 = 0xf1
254 opMIRP10010 = 0xf2
255 opMIRP10011 = 0xf3
256 opMIRP10100 = 0xf4
257 opMIRP10101 = 0xf5
258 opMIRP10110 = 0xf6
259 opMIRP10111 = 0xf7
260 opMIRP11000 = 0xf8
261 opMIRP11001 = 0xf9
262 opMIRP11010 = 0xfa
263 opMIRP11011 = 0xfb
264 opMIRP11100 = 0xfc
265 opMIRP11101 = 0xfd
266 opMIRP11110 = 0xfe
267 opMIRP11111 = 0xff
268 )
269
270
271 var popCount = [256]uint8{
272
273 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 5,
274 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1,
275 1, 1, 0, 2, 0, 1, 1, 2, 0, 1, 2, 1, 1, 0, 1, 1,
276 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 2, 2, 0, 0, 2, 2,
277 0, 0, 2, 1, 2, 1, 1, 1, 2, 2, 2, 0, 0, 0, 0, 0,
278 2, 2, 2, 2, 2, 2, 1, 1, 1, 0, 2, 2, 1, 1, 1, 1,
279 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
280 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 1, 1,
281 0, 2, 2, 0, 0, 1, 2, 2, 1, 1, 3, 2, 2, 1, 2, 0,
282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
283 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
284 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
285 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
286 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
287 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
288 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
289 }
290
View as plain text