quickspeadsheet 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +1072 -0
- package/dist/chunks/decryptOle-CCR7y3ED.js +76 -0
- package/dist/chunks/decryptOoxml-_5lSrxRZ.js +60 -0
- package/dist/chunks/dragMerge-DHUQYNgo.js +70794 -0
- package/dist/chunks/encryptOoxml-Bk1DbPbq.js +82 -0
- package/dist/chunks/udocMetafileBundle-DOq3GGY1.js +1121 -0
- package/dist/community.css +1 -0
- package/dist/community.js +559 -0
- package/dist/enterprise.css +1 -0
- package/dist/enterprise.js +559 -0
- package/dist/pro.css +1 -0
- package/dist/pro.js +559 -0
- package/dist/quickspeadsheet.js +562 -0
- package/dist/style.css +1 -0
- package/dist/types/community.d.ts +10 -0
- package/dist/types/enterprise.d.ts +10 -0
- package/dist/types/excel/core/excelio.d.ts +415 -0
- package/dist/types/index.d.ts +33 -0
- package/dist/types/pro.d.ts +10 -0
- package/dist/types/runtime-public.d.ts +501 -0
- package/dist/types/spread.d.ts +1147 -0
- package/package.json +144 -0
|
@@ -0,0 +1,1121 @@
|
|
|
1
|
+
var M = {};
|
|
2
|
+
M.G = {
|
|
3
|
+
concat: function(E, r) {
|
|
4
|
+
for (var e = 0; e < r.cmds.length; e++) E.cmds.push(r.cmds[e]);
|
|
5
|
+
for (var e = 0; e < r.crds.length; e++) E.crds.push(r.crds[e]);
|
|
6
|
+
},
|
|
7
|
+
getBB: function(E) {
|
|
8
|
+
for (var r = 1e99, e = 1e99, a = -r, T = -e, R = 0; R < E.length; R += 2) {
|
|
9
|
+
var s = E[R], A = E[R + 1];
|
|
10
|
+
s < r ? r = s : s > a && (a = s), A < e ? e = A : A > T && (T = A);
|
|
11
|
+
}
|
|
12
|
+
return [r, e, a, T];
|
|
13
|
+
},
|
|
14
|
+
rectToPath: function(E) {
|
|
15
|
+
return { cmds: ["M", "L", "L", "L", "Z"], crds: [E[0], E[1], E[2], E[1], E[2], E[3], E[0], E[3]] };
|
|
16
|
+
},
|
|
17
|
+
// a inside b
|
|
18
|
+
insideBox: function(E, r) {
|
|
19
|
+
return r[0] <= E[0] && r[1] <= E[1] && E[2] <= r[2] && E[3] <= r[3];
|
|
20
|
+
},
|
|
21
|
+
isBox: function(E, r) {
|
|
22
|
+
var e = function(n, C) {
|
|
23
|
+
for (var h = 0; h < 8; h += 2) {
|
|
24
|
+
for (var O = !0, P = 0; P < 8; P++) if (Math.abs(C[P] - n[P + h & 7]) >= 2) {
|
|
25
|
+
O = !1;
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
if (O) return !0;
|
|
29
|
+
}
|
|
30
|
+
return !1;
|
|
31
|
+
};
|
|
32
|
+
if (E.cmds.length > 10) return !1;
|
|
33
|
+
var a = E.cmds.join(""), T = E.crds, R = !1;
|
|
34
|
+
if (a == "MLLLZ" && T.length == 8 || a == "MLLLLZ" && T.length == 10) {
|
|
35
|
+
T.length == 10 && (T = T.slice(0, 8));
|
|
36
|
+
var s = r[0], A = r[1], S = r[2], v = r[3];
|
|
37
|
+
R || (R = e(T, [s, A, S, A, S, v, s, v])), R || (R = e(T, [s, v, S, v, S, A, s, A]));
|
|
38
|
+
}
|
|
39
|
+
return R;
|
|
40
|
+
},
|
|
41
|
+
boxArea: function(E) {
|
|
42
|
+
var r = E[2] - E[0], e = E[3] - E[1];
|
|
43
|
+
return r * e;
|
|
44
|
+
},
|
|
45
|
+
newPath: function(E) {
|
|
46
|
+
E.pth = { cmds: [], crds: [] };
|
|
47
|
+
},
|
|
48
|
+
moveTo: function(E, r, e) {
|
|
49
|
+
var a = M.M.multPoint(E.ctm, [r, e]);
|
|
50
|
+
E.pth.cmds.push("M"), E.pth.crds.push(a[0], a[1]), E.cpos = a;
|
|
51
|
+
},
|
|
52
|
+
lineTo: function(E, r, e) {
|
|
53
|
+
var a = M.M.multPoint(E.ctm, [r, e]);
|
|
54
|
+
E.cpos[0] == a[0] && E.cpos[1] == a[1] || (E.pth.cmds.push("L"), E.pth.crds.push(a[0], a[1]), E.cpos = a);
|
|
55
|
+
},
|
|
56
|
+
curveTo: function(E, r, e, a, T, R, s) {
|
|
57
|
+
var A;
|
|
58
|
+
A = M.M.multPoint(E.ctm, [r, e]), r = A[0], e = A[1], A = M.M.multPoint(E.ctm, [a, T]), a = A[0], T = A[1], A = M.M.multPoint(E.ctm, [R, s]), R = A[0], s = A[1], E.cpos = A, E.pth.cmds.push("C"), E.pth.crds.push(r, e, a, T, R, s);
|
|
59
|
+
},
|
|
60
|
+
closePath: function(E) {
|
|
61
|
+
E.pth.cmds.push("Z");
|
|
62
|
+
},
|
|
63
|
+
arc: function(E, r, g, a, T, R, s) {
|
|
64
|
+
if (s) for (; R > T; ) R -= 2 * Math.PI;
|
|
65
|
+
else for (; R < T; ) R += 2 * Math.PI;
|
|
66
|
+
var A = (R - T) / 4, S = Math.cos(A / 2), v = -Math.sin(A / 2), n = (4 - S) / 3, C = v == 0 ? v : (1 - S) * (3 - S) / (3 * v), h = n, O = -C, P = S, t = -v, c = [n, C], d = [h, O], D = [P, t], I = { cmds: [E.pth.cmds.length == 0 ? "M" : "L", "C", "C", "C", "C"], crds: [S, v, n, C, h, O, P, t] }, x = [1, 0, 0, 1, 0, 0];
|
|
67
|
+
M.M.rotate(x, -A);
|
|
68
|
+
for (var l = 0; l < 3; l++)
|
|
69
|
+
c = M.M.multPoint(x, c), d = M.M.multPoint(x, d), D = M.M.multPoint(x, D), I.crds.push(c[0], c[1], d[0], d[1], D[0], D[1]);
|
|
70
|
+
var z = [a, 0, 0, a, r, g];
|
|
71
|
+
M.M.rotate(x, -T + A / 2), M.M.concat(x, z), M.M.multArray(x, I.crds), M.M.multArray(E.ctm, I.crds), M.G.concat(E.pth, I);
|
|
72
|
+
var g = I.crds.pop();
|
|
73
|
+
r = I.crds.pop(), E.cpos = [r, g];
|
|
74
|
+
},
|
|
75
|
+
toPoly: function(E) {
|
|
76
|
+
if (E.cmds[0] != "M" || E.cmds[E.cmds.length - 1] != "Z") return null;
|
|
77
|
+
for (var r = 1; r < E.cmds.length - 1; r++) if (E.cmds[r] != "L") return null;
|
|
78
|
+
var e = [], a = E.crds.length;
|
|
79
|
+
E.crds[0] == E.crds[a - 2] && E.crds[1] == E.crds[a - 1] && (a -= 2);
|
|
80
|
+
for (var r = 0; r < a; r += 2) e.push([E.crds[r], E.crds[r + 1]]);
|
|
81
|
+
return M.G.polyArea(E.crds) < 0 && e.reverse(), e;
|
|
82
|
+
},
|
|
83
|
+
fromPoly: function(E) {
|
|
84
|
+
for (var r = { cmds: [], crds: [] }, e = 0; e < E.length; e++)
|
|
85
|
+
r.crds.push(E[e][0], E[e][1]), r.cmds.push(e == 0 ? "M" : "L");
|
|
86
|
+
return r.cmds.push("Z"), r;
|
|
87
|
+
},
|
|
88
|
+
polyArea: function(E) {
|
|
89
|
+
if (E.length < 6) return 0;
|
|
90
|
+
for (var r = E.length - 2, e = (E[0] - E[r]) * (E[r + 1] + E[1]), a = 0; a < r; a += 2)
|
|
91
|
+
e += (E[a + 2] - E[a]) * (E[a + 1] + E[a + 3]);
|
|
92
|
+
return -e * 0.5;
|
|
93
|
+
},
|
|
94
|
+
polyClip: function(E, r) {
|
|
95
|
+
var e, a, T, R, s = function(n) {
|
|
96
|
+
return (a[0] - e[0]) * (n[1] - e[1]) > (a[1] - e[1]) * (n[0] - e[0]);
|
|
97
|
+
}, A = function() {
|
|
98
|
+
var n = [e[0] - a[0], e[1] - a[1]], C = [T[0] - R[0], T[1] - R[1]], h = e[0] * a[1] - e[1] * a[0], O = T[0] * R[1] - T[1] * R[0], P = 1 / (n[0] * C[1] - n[1] * C[0]);
|
|
99
|
+
return [(h * C[0] - O * n[0]) * P, (h * C[1] - O * n[1]) * P];
|
|
100
|
+
}, S = E;
|
|
101
|
+
e = r[r.length - 1];
|
|
102
|
+
for (j in r) {
|
|
103
|
+
var a = r[j], v = S;
|
|
104
|
+
S = [], T = v[v.length - 1];
|
|
105
|
+
for (i in v) {
|
|
106
|
+
var R = v[i];
|
|
107
|
+
s(R) ? (s(T) || S.push(A()), S.push(R)) : s(T) && S.push(A()), T = R;
|
|
108
|
+
}
|
|
109
|
+
e = a;
|
|
110
|
+
}
|
|
111
|
+
return S;
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
M.M = {
|
|
115
|
+
getScale: function(E) {
|
|
116
|
+
return Math.sqrt(Math.abs(E[0] * E[3] - E[1] * E[2]));
|
|
117
|
+
},
|
|
118
|
+
translate: function(E, r, e) {
|
|
119
|
+
M.M.concat(E, [1, 0, 0, 1, r, e]);
|
|
120
|
+
},
|
|
121
|
+
rotate: function(E, r) {
|
|
122
|
+
M.M.concat(E, [Math.cos(r), -Math.sin(r), Math.sin(r), Math.cos(r), 0, 0]);
|
|
123
|
+
},
|
|
124
|
+
scale: function(E, r, e) {
|
|
125
|
+
M.M.concat(E, [r, 0, 0, e, 0, 0]);
|
|
126
|
+
},
|
|
127
|
+
concat: function(E, r) {
|
|
128
|
+
var e = E[0], a = E[1], T = E[2], R = E[3], s = E[4], A = E[5];
|
|
129
|
+
E[0] = e * r[0] + a * r[2], E[1] = e * r[1] + a * r[3], E[2] = T * r[0] + R * r[2], E[3] = T * r[1] + R * r[3], E[4] = s * r[0] + A * r[2] + r[4], E[5] = s * r[1] + A * r[3] + r[5];
|
|
130
|
+
},
|
|
131
|
+
invert: function(E) {
|
|
132
|
+
var r = E[0], e = E[1], a = E[2], T = E[3], R = E[4], s = E[5], A = r * T - e * a;
|
|
133
|
+
E[0] = T / A, E[1] = -e / A, E[2] = -a / A, E[3] = r / A, E[4] = (a * s - T * R) / A, E[5] = (e * R - r * s) / A;
|
|
134
|
+
},
|
|
135
|
+
multPoint: function(E, r) {
|
|
136
|
+
var e = r[0], a = r[1];
|
|
137
|
+
return [e * E[0] + a * E[2] + E[4], e * E[1] + a * E[3] + E[5]];
|
|
138
|
+
},
|
|
139
|
+
multArray: function(E, r) {
|
|
140
|
+
for (var e = 0; e < r.length; e += 2) {
|
|
141
|
+
var a = r[e], T = r[e + 1];
|
|
142
|
+
r[e] = a * E[0] + T * E[2] + E[4], r[e + 1] = a * E[1] + T * E[3] + E[5];
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
M.C = {
|
|
147
|
+
srgbGamma: function(E) {
|
|
148
|
+
return E < 31308e-7 ? 12.92 * E : 1.055 * Math.pow(E, 1 / 2.4) - 0.055;
|
|
149
|
+
},
|
|
150
|
+
cmykToRgb: function(E) {
|
|
151
|
+
var r = E[0], e = E[1], a = E[2], T = E[3], R = 255 + r * (-4.387332384609988 * r + 54.48615194189176 * e + 18.82290502165302 * a + 212.25662451639585 * T + -285.2331026137004) + e * (1.7149763477362134 * e - 5.6096736904047315 * a + -17.873870861415444 * T - 5.497006427196366) + a * (-2.5217340131683033 * a - 21.248923337353073 * T + 17.5119270841813) + T * (-21.86122147463605 * T - 189.48180835922747), s = 255 + r * (8.841041422036149 * r + 60.118027045597366 * e + 6.871425592049007 * a + 31.159100130055922 * T + -79.2970844816548) + e * (-15.310361306967817 * e + 17.575251261109482 * a + 131.35250912493976 * T - 190.9453302588951) + a * (4.444339102852739 * a + 9.8632861493405 * T - 24.86741582555878) + T * (-20.737325471181034 * T - 187.80453709719578), A = 255 + r * (0.8842522430003296 * r + 8.078677503112928 * e + 30.89978309703729 * a - 0.23883238689178934 * T + -14.183576799673286) + e * (10.49593273432072 * e + 63.02378494754052 * a + 50.606957656360734 * T - 112.23884253719248) + a * (0.03296041114873217 * a + 115.60384449646641 * T + -193.58209356861505) + T * (-22.33816807309886 * T - 180.12613974708367);
|
|
152
|
+
return [Math.max(0, Math.min(1, R / 255)), Math.max(0, Math.min(1, s / 255)), Math.max(0, Math.min(1, A / 255))];
|
|
153
|
+
},
|
|
154
|
+
labToRgb: function(E) {
|
|
155
|
+
for (var r = 903.3, e = 8856e-6, a = E[0], T = E[1], R = E[2], s = (a + 16) / 116, A = s * s * s, S = s - R / 200, v = S * S * S, n = T / 500 + s, C = n * n * n, h = v > e ? v : (116 * S - 16) / r, O = A > e ? A : (116 * s - 16) / r, P = C > e ? C : (116 * n - 16) / r, t = P * 96.72, c = O * 100, d = h * 81.427, D = [t / 100, c / 100, d / 100], I = [3.1338561, -1.6168667, -0.4906146, -0.9787684, 1.9161415, 0.033454, 0.0719453, -0.2289914, 1.4052427], x = [
|
|
156
|
+
I[0] * D[0] + I[1] * D[1] + I[2] * D[2],
|
|
157
|
+
I[3] * D[0] + I[4] * D[1] + I[5] * D[2],
|
|
158
|
+
I[6] * D[0] + I[7] * D[1] + I[8] * D[2]
|
|
159
|
+
], l = 0; l < 3; l++) x[l] = Math.max(0, Math.min(1, M.C.srgbGamma(x[l])));
|
|
160
|
+
return x;
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
M.getState = function(E) {
|
|
164
|
+
return {
|
|
165
|
+
font: M.getFont(),
|
|
166
|
+
dd: { flat: 1 },
|
|
167
|
+
// device-dependent
|
|
168
|
+
space: "/DeviceGray",
|
|
169
|
+
// fill
|
|
170
|
+
ca: 1,
|
|
171
|
+
colr: [0, 0, 0],
|
|
172
|
+
sspace: "/DeviceGray",
|
|
173
|
+
// stroke
|
|
174
|
+
CA: 1,
|
|
175
|
+
COLR: [0, 0, 0],
|
|
176
|
+
bmode: "/Normal",
|
|
177
|
+
SA: !1,
|
|
178
|
+
OPM: 0,
|
|
179
|
+
AIS: !1,
|
|
180
|
+
OP: !1,
|
|
181
|
+
op: !1,
|
|
182
|
+
SMask: "/None",
|
|
183
|
+
lwidth: 1,
|
|
184
|
+
lcap: 0,
|
|
185
|
+
ljoin: 0,
|
|
186
|
+
mlimit: 10,
|
|
187
|
+
SM: 0.1,
|
|
188
|
+
doff: 0,
|
|
189
|
+
dash: [],
|
|
190
|
+
ctm: [1, 0, 0, 1, 0, 0],
|
|
191
|
+
cpos: [0, 0],
|
|
192
|
+
pth: { cmds: [], crds: [] },
|
|
193
|
+
cpth: E ? M.G.rectToPath(E) : null
|
|
194
|
+
// clipping path
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
M.getFont = function() {
|
|
198
|
+
return {
|
|
199
|
+
Tc: 0,
|
|
200
|
+
// character spacing
|
|
201
|
+
Tw: 0,
|
|
202
|
+
// word spacing
|
|
203
|
+
Th: 100,
|
|
204
|
+
// horizontal scale
|
|
205
|
+
Tl: 0,
|
|
206
|
+
// leading
|
|
207
|
+
Tf: "Helvetica-Bold",
|
|
208
|
+
Tfs: 1,
|
|
209
|
+
// font size
|
|
210
|
+
Tmode: 0,
|
|
211
|
+
// rendering mode
|
|
212
|
+
Trise: 0,
|
|
213
|
+
// rise
|
|
214
|
+
Tk: 0,
|
|
215
|
+
// knockout
|
|
216
|
+
Tal: 0,
|
|
217
|
+
// align, 0: left, 1: right, 2: center
|
|
218
|
+
Tun: 0,
|
|
219
|
+
// 0: no, 1: underline
|
|
220
|
+
Tm: [1, 0, 0, 1, 0, 0],
|
|
221
|
+
Tlm: [1, 0, 0, 1, 0, 0],
|
|
222
|
+
Trm: [1, 0, 0, 1, 0, 0]
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
function X(E, r) {
|
|
226
|
+
this.canvas = document.createElement("canvas"), this.ctx = this.canvas.getContext("2d"), this.bb = null, this.currPage = 0, this.needPage = E, this.scale = r;
|
|
227
|
+
}
|
|
228
|
+
X.prototype.StartPage = function(E, r, e, a) {
|
|
229
|
+
if (this.currPage == this.needPage) {
|
|
230
|
+
var T = E, R = r, s = e, A = a;
|
|
231
|
+
if (s < T) {
|
|
232
|
+
var S = T;
|
|
233
|
+
T = s, s = S;
|
|
234
|
+
}
|
|
235
|
+
if (A < R) {
|
|
236
|
+
var v = R;
|
|
237
|
+
R = A, A = v;
|
|
238
|
+
}
|
|
239
|
+
var n = Math.max(1, s - T), C = Math.max(1, A - R);
|
|
240
|
+
this.bb = [T, R, s, A];
|
|
241
|
+
var h = this.scale, O = this.canvas, P = this.ctx;
|
|
242
|
+
O.width = Math.round(n * h), O.height = Math.round(C * h), P.setTransform(1, 0, 0, 1, 0, 0), P.translate(0, C * h), P.scale(h, -h);
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
X.prototype.Fill = function(E, r) {
|
|
246
|
+
if (this.currPage == this.needPage) {
|
|
247
|
+
var e = this.ctx;
|
|
248
|
+
e.beginPath(), this._setStyle(E, e), this._draw(E.pth, e), e.fill();
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
X.prototype.Stroke = function(E) {
|
|
252
|
+
if (this.currPage == this.needPage) {
|
|
253
|
+
var r = this.ctx;
|
|
254
|
+
r.beginPath(), this._setStyle(E, r), this._draw(E.pth, r), r.stroke();
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
X.prototype.PutText = function(E, r, e) {
|
|
258
|
+
if (this.currPage == this.needPage) {
|
|
259
|
+
this._scale(E.ctm);
|
|
260
|
+
var a = this.ctx;
|
|
261
|
+
this._setStyle(E, a), a.save();
|
|
262
|
+
var T = [1, 0, 0, -1, 0, 0];
|
|
263
|
+
this._concat(T, E.font.Tm), this._concat(T, E.ctm), a.transform(T[0], T[1], T[2], T[3], T[4], T[5]), a.fillText(r, 0, 0), a.restore();
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
X.prototype.PutImage = function(E, r, e, a, T) {
|
|
267
|
+
if (this.currPage == this.needPage) {
|
|
268
|
+
var R = this.ctx;
|
|
269
|
+
if (r.length == e * a * 4) {
|
|
270
|
+
if (r = r.slice(0), T && T.length == e * a * 4) for (var s = 0; s < r.length; s += 4) r[s + 3] = T[s + 1];
|
|
271
|
+
var A = document.createElement("canvas"), S = A.getContext("2d");
|
|
272
|
+
A.width = e, A.height = a;
|
|
273
|
+
for (var v = S.createImageData(e, a), n = 0; n < r.length; n++) v.data[n] = r[n];
|
|
274
|
+
S.putImageData(v, 0, 0), R.save();
|
|
275
|
+
var C = [1, 0, 0, 1, 0, 0];
|
|
276
|
+
this._concat(C, [1 / e, 0, 0, -1 / a, 0, 1]), this._concat(C, E.ctm), R.transform(C[0], C[1], C[2], C[3], C[4], C[5]), R.drawImage(A, 0, 0), R.restore();
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
X.prototype.ShowPage = function() {
|
|
281
|
+
this.currPage++;
|
|
282
|
+
};
|
|
283
|
+
X.prototype.Done = function() {
|
|
284
|
+
};
|
|
285
|
+
X.prototype._setStyle = function(E, r) {
|
|
286
|
+
var e = this._scale(E.ctm);
|
|
287
|
+
r.fillStyle = this._getFill(E.colr, E.ca, r), r.strokeStyle = this._getFill(E.COLR, E.CA, r), r.lineCap = ["butt", "round", "square"][E.lcap], r.lineJoin = ["miter", "round", "bevel"][E.ljoin], r.lineWidth = E.lwidth * e;
|
|
288
|
+
for (var a = E.dash.slice(0), T = 0; T < a.length; T++) a[T] = a[T] * e;
|
|
289
|
+
r.setLineDash(a), r.miterLimit = E.mlimit * e;
|
|
290
|
+
var R = E.font.Tf, s = R.toLowerCase(), A = s.indexOf("bold") != -1 ? "bold " : "", S = s.indexOf("italic") != -1 || s.indexOf("oblique") != -1 ? "italic " : "";
|
|
291
|
+
r.font = A + S + E.font.Tfs + 'px "' + R + '"';
|
|
292
|
+
};
|
|
293
|
+
X.prototype._getFill = function(E, r, e) {
|
|
294
|
+
if (E.typ == null) return this._colr(E, r);
|
|
295
|
+
var a = E, T = a.crds, R = a.mat, s = this._scale(R), A;
|
|
296
|
+
if (a.typ == "lin") {
|
|
297
|
+
var S = this._multPoint(R, T.slice(0, 2)), v = this._multPoint(R, T.slice(2));
|
|
298
|
+
A = e.createLinearGradient(S[0], S[1], v[0], v[1]);
|
|
299
|
+
} else if (a.typ == "rad") {
|
|
300
|
+
var n = this._multPoint(R, T.slice(0, 2)), C = this._multPoint(R, T.slice(3));
|
|
301
|
+
A = e.createRadialGradient(n[0], n[1], T[2] * s, C[0], C[1], T[5] * s);
|
|
302
|
+
} else
|
|
303
|
+
return this._colr(E, r);
|
|
304
|
+
for (var h = 0; h < a.grad.length; h++) A.addColorStop(a.grad[h][0], this._colr(a.grad[h][1], r));
|
|
305
|
+
return A;
|
|
306
|
+
};
|
|
307
|
+
X.prototype._colr = function(E, r) {
|
|
308
|
+
return "rgba(" + Math.round(E[0] * 255) + "," + Math.round(E[1] * 255) + "," + Math.round(E[2] * 255) + "," + r + ")";
|
|
309
|
+
};
|
|
310
|
+
X.prototype._scale = function(E) {
|
|
311
|
+
return Math.sqrt(Math.abs(E[0] * E[3] - E[1] * E[2]));
|
|
312
|
+
};
|
|
313
|
+
X.prototype._concat = function(E, r) {
|
|
314
|
+
var e = E[0], a = E[1], T = E[2], R = E[3], s = E[4], A = E[5];
|
|
315
|
+
E[0] = e * r[0] + a * r[2], E[1] = e * r[1] + a * r[3], E[2] = T * r[0] + R * r[2], E[3] = T * r[1] + R * r[3], E[4] = s * r[0] + A * r[2] + r[4], E[5] = s * r[1] + A * r[3] + r[5];
|
|
316
|
+
};
|
|
317
|
+
X.prototype._multPoint = function(E, r) {
|
|
318
|
+
var e = r[0], a = r[1];
|
|
319
|
+
return [e * E[0] + a * E[2] + E[4], e * E[1] + a * E[3] + E[5]];
|
|
320
|
+
};
|
|
321
|
+
X.prototype._draw = function(E, r) {
|
|
322
|
+
for (var e = 0, a = E.crds, T = 0; T < E.cmds.length; T++) {
|
|
323
|
+
var R = E.cmds[T];
|
|
324
|
+
R == "M" ? (r.moveTo(a[e], a[e + 1]), e += 2) : R == "L" ? (r.lineTo(a[e], a[e + 1]), e += 2) : R == "C" ? (r.bezierCurveTo(a[e], a[e + 1], a[e + 2], a[e + 3], a[e + 4], a[e + 5]), e += 6) : R == "Q" ? (r.quadraticCurveTo(a[e], a[e + 1], a[e + 2], a[e + 3]), e += 4) : R == "Z" && r.closePath();
|
|
325
|
+
}
|
|
326
|
+
};
|
|
327
|
+
function L() {
|
|
328
|
+
}
|
|
329
|
+
L.Parse = function(E, r) {
|
|
330
|
+
E = new Uint8Array(E);
|
|
331
|
+
for (var e = 0, a = { fill: !1, strk: !1, bb: [0, 0, 1, 1], wbb: [0, 0, 1, 1], fnt: { nam: "Arial", hgh: 25, und: !1, orn: 0 }, tclr: [0, 0, 0], talg: 0 }, T, R = [], s = [], A = L.B.readShort, S = L.B.readUshort, v = L.B.readInt, n = L.B.readUint, C = L.B.readFloat; ; ) {
|
|
332
|
+
var h = n(E, e);
|
|
333
|
+
e += 4;
|
|
334
|
+
var O = L.K[h], P = n(E, e);
|
|
335
|
+
e += 4;
|
|
336
|
+
var t = e, c = null, d = 0;
|
|
337
|
+
if (O == "EOF")
|
|
338
|
+
break;
|
|
339
|
+
if (O == "HEADER")
|
|
340
|
+
a.bb = L._readBox(E, t), t += 16, r.StartPage(a.bb[0], a.bb[1], a.bb[2], a.bb[3]), T = M.getState(a.bb);
|
|
341
|
+
else if (O == "SAVEDC") s.push(JSON.stringify(T), JSON.stringify(a));
|
|
342
|
+
else if (O == "RESTOREDC") {
|
|
343
|
+
var D = v(E, t);
|
|
344
|
+
for (t += 4; D < -1; )
|
|
345
|
+
s.pop(), s.pop();
|
|
346
|
+
a = JSON.parse(s.pop()), T = JSON.parse(s.pop());
|
|
347
|
+
} else if (O == "SELECTCLIPPATH")
|
|
348
|
+
T.cpth = JSON.parse(JSON.stringify(T.pth));
|
|
349
|
+
else if (["SETMAPMODE", "SETPOLYFILLMODE", "SETBKMODE", "SETICMMODE", "SETROP2", "EXTSELECTCLIPRGN"].indexOf(O) == -1) {
|
|
350
|
+
if (O == "SETMITERLIMIT") T.mlimit = n(E, t);
|
|
351
|
+
else if (O == "SETTEXTCOLOR") a.tclr = [E[t] / 255, E[t + 1] / 255, E[t + 2] / 255];
|
|
352
|
+
else if (O == "SETTEXTALIGN") a.talg = n(E, t);
|
|
353
|
+
else if (O == "SETVIEWPORTEXTEX" || O == "SETVIEWPORTORGEX") {
|
|
354
|
+
a.vbb == null && (a.vbb = []);
|
|
355
|
+
var I = O == "SETVIEWPORTORGEX" ? 0 : 2;
|
|
356
|
+
a.vbb[I] = v(E, t), t += 4, a.vbb[I + 1] = v(E, t), t += 4, O == "SETVIEWPORTEXTEX" && L._updateCtm(a, T);
|
|
357
|
+
} else if (O == "SETWINDOWEXTEX" || O == "SETWINDOWORGEX") {
|
|
358
|
+
var I = O == "SETWINDOWORGEX" ? 0 : 2;
|
|
359
|
+
a.wbb[I] = v(E, t), t += 4, a.wbb[I + 1] = v(E, t), t += 4, O == "SETWINDOWEXTEX" && L._updateCtm(a, T);
|
|
360
|
+
} else if (O == "COMMENT")
|
|
361
|
+
n(E, t), t += 4;
|
|
362
|
+
else if (O == "SELECTOBJECT") {
|
|
363
|
+
var x = n(E, t);
|
|
364
|
+
if (t += 4, x == 2147483648)
|
|
365
|
+
a.fill = !0, T.colr = [1, 1, 1];
|
|
366
|
+
else if (x == 2147483653)
|
|
367
|
+
a.fill = !1;
|
|
368
|
+
else if (x == 2147483655)
|
|
369
|
+
a.strk = !0, a.lwidth = 1, T.COLR = [0, 0, 0];
|
|
370
|
+
else if (x == 2147483656)
|
|
371
|
+
a.strk = !1;
|
|
372
|
+
else if (x != 2147483661) {
|
|
373
|
+
if (x != 2147483662) {
|
|
374
|
+
var l = R[x];
|
|
375
|
+
if (l.t == "b") {
|
|
376
|
+
if (a.fill = l.stl != 1, l.stl != 0) {
|
|
377
|
+
if (l.stl != 1) throw l.stl + " e";
|
|
378
|
+
}
|
|
379
|
+
T.colr = l.clr;
|
|
380
|
+
} else if (l.t == "p")
|
|
381
|
+
a.strk = l.stl != 5, T.lwidth = l.wid, T.COLR = l.clr;
|
|
382
|
+
else if (l.t == "f")
|
|
383
|
+
a.fnt = l, T.font.Tf = l.nam, T.font.Tfs = Math.abs(l.hgh), T.font.Tun = l.und;
|
|
384
|
+
else throw "e";
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
} else if (O == "DELETEOBJECT") {
|
|
388
|
+
var x = n(E, t);
|
|
389
|
+
if (t += 4, R[x] != null) R[x] = null;
|
|
390
|
+
else throw "e";
|
|
391
|
+
} else if (O == "CREATEBRUSHINDIRECT")
|
|
392
|
+
d = n(E, t), t += 4, c = { t: "b" }, c.stl = n(E, t), t += 4, c.clr = [E[t] / 255, E[t + 1] / 255, E[t + 2] / 255], t += 4, c.htc = n(E, t), t += 4;
|
|
393
|
+
else if (O == "CREATEPEN" || O == "EXTCREATEPEN")
|
|
394
|
+
d = n(E, t), t += 4, c = { t: "p" }, O == "EXTCREATEPEN" ? (t += 16, c.stl = n(E, t), t += 4, c.wid = n(E, t), t += 4, t += 4) : (c.stl = n(E, t), t += 4, c.wid = n(E, t), t += 4, t += 4), c.clr = [E[t] / 255, E[t + 1] / 255, E[t + 2] / 255], t += 4;
|
|
395
|
+
else if (O == "EXTCREATEFONTINDIRECTW") {
|
|
396
|
+
d = n(E, t), t += 4, c = { t: "f", nam: "" }, c.hgh = v(E, t), t += 4, t += 4 * 2, c.orn = v(E, t) / 10, t += 4;
|
|
397
|
+
var z = n(E, t);
|
|
398
|
+
for (t += 4, c.und = E[t + 1], c.stk = E[t + 2], t += 4 * 2; S(E, t) != 0; )
|
|
399
|
+
c.nam += String.fromCharCode(S(E, t)), t += 2;
|
|
400
|
+
z > 500 && (c.nam += "-Bold");
|
|
401
|
+
} else if (O == "EXTTEXTOUTW") {
|
|
402
|
+
t += 16;
|
|
403
|
+
var g = n(E, t);
|
|
404
|
+
t += 4, C(E, t), t += 4, C(E, t), t += 4;
|
|
405
|
+
var t0 = v(E, t);
|
|
406
|
+
t += 4;
|
|
407
|
+
var e0 = v(E, t);
|
|
408
|
+
t += 4, T.font.Tm = [1, 0, 0, -1, 0, 0], M.M.rotate(T.font.Tm, a.fnt.orn * Math.PI / 180), M.M.translate(T.font.Tm, t0, e0);
|
|
409
|
+
var p = a.talg;
|
|
410
|
+
if ((p & 6) == 6) T.font.Tal = 2;
|
|
411
|
+
else if (!(p & 7)) T.font.Tal = 0;
|
|
412
|
+
else throw p + " e";
|
|
413
|
+
if ((p & 24) != 24) if (!(p & 24)) M.M.translate(T.font.Tm, 0, T.font.Tfs);
|
|
414
|
+
else throw "e";
|
|
415
|
+
var a0 = n(E, t);
|
|
416
|
+
t += 4;
|
|
417
|
+
var T0 = n(E, t);
|
|
418
|
+
t += 4, n(E, t), t += 4, t += 16, n(E, t), t += 4, T0 += e - 8;
|
|
419
|
+
for (var k = "", U = 0; U < a0; U++) {
|
|
420
|
+
var $ = S(E, T0 + U * 2);
|
|
421
|
+
k += String.fromCharCode($);
|
|
422
|
+
}
|
|
423
|
+
var m = T.colr;
|
|
424
|
+
T.colr = a.tclr, r.PutText(T, k, k.length * T.font.Tfs * 0.5), T.colr = m;
|
|
425
|
+
} else if (O == "BEGINPATH")
|
|
426
|
+
M.G.newPath(T);
|
|
427
|
+
else if (O != "ENDPATH") {
|
|
428
|
+
if (O == "CLOSEFIGURE") M.G.closePath(T);
|
|
429
|
+
else if (O == "MOVETOEX")
|
|
430
|
+
M.G.moveTo(T, v(E, t), v(E, t + 4));
|
|
431
|
+
else if (O == "LINETO") {
|
|
432
|
+
if (T.pth.cmds.length == 0) {
|
|
433
|
+
var Q = T.ctm.slice(0);
|
|
434
|
+
M.M.invert(Q);
|
|
435
|
+
var i0 = M.M.multPoint(Q, T.cpos);
|
|
436
|
+
M.G.moveTo(T, i0[0], i0[1]);
|
|
437
|
+
}
|
|
438
|
+
M.G.lineTo(T, v(E, t), v(E, t + 4));
|
|
439
|
+
} else if (O == "POLYGON" || O == "POLYGON16" || O == "POLYLINE" || O == "POLYLINE16" || O == "POLYLINETO" || O == "POLYLINETO16") {
|
|
440
|
+
t += 16;
|
|
441
|
+
var Z = O.startsWith("POLYGON"), y = O.indexOf("TO") != -1, J = n(E, t);
|
|
442
|
+
t += 4, y || M.G.newPath(T), t = L._drawPoly(E, t, J, T, O.endsWith("16") ? 2 : 4, Z, y), y || L._draw(r, T, a, Z);
|
|
443
|
+
} else if (O == "POLYPOLYGON16") {
|
|
444
|
+
t += 16;
|
|
445
|
+
var Z = O.startsWith("POLYPOLYGON"), y = O.indexOf("TO") != -1, b = n(E, t);
|
|
446
|
+
t += 4, t += 4;
|
|
447
|
+
var R0 = t;
|
|
448
|
+
t += b * 4, y || M.G.newPath(T);
|
|
449
|
+
for (var U = 0; U < b; U++) {
|
|
450
|
+
var s0 = S(E, R0 + U * 4);
|
|
451
|
+
t = L._drawPoly(E, t, s0, T, O.endsWith("16") ? 2 : 4, Z, y);
|
|
452
|
+
}
|
|
453
|
+
y || L._draw(r, T, a, Z);
|
|
454
|
+
} else if (O == "POLYBEZIER" || O == "POLYBEZIER16" || O == "POLYBEZIERTO" || O == "POLYBEZIERTO16") {
|
|
455
|
+
t += 16;
|
|
456
|
+
var n0 = O.endsWith("16"), w = n0 ? A : v, Y = n0 ? 2 : 4, J = n(E, t);
|
|
457
|
+
for (t += 4, O.indexOf("TO") == -1 && (M.G.moveTo(T, w(E, t), w(E, t + Y)), t += 2 * Y, J--); J > 0; )
|
|
458
|
+
M.G.curveTo(T, w(E, t), w(E, t + Y), w(E, t + 2 * Y), w(E, t + 3 * Y), w(E, t + 4 * Y), w(E, t + 5 * Y)), t += 6 * Y, J -= 3;
|
|
459
|
+
} else if (O == "RECTANGLE" || O == "ELLIPSE") {
|
|
460
|
+
M.G.newPath(T);
|
|
461
|
+
var F = L._readBox(E, t);
|
|
462
|
+
if (O == "RECTANGLE")
|
|
463
|
+
M.G.moveTo(T, F[0], F[1]), M.G.lineTo(T, F[2], F[1]), M.G.lineTo(T, F[2], F[3]), M.G.lineTo(T, F[0], F[3]);
|
|
464
|
+
else {
|
|
465
|
+
var G = (F[0] + F[2]) / 2, B = (F[1] + F[3]) / 2;
|
|
466
|
+
M.G.arc(T, G, B, (F[2] - F[0]) / 2, 0, 2 * Math.PI, !1);
|
|
467
|
+
}
|
|
468
|
+
M.G.closePath(T), L._draw(r, T, a, !0);
|
|
469
|
+
} else if (O == "FILLPATH") r.Fill(T, !1);
|
|
470
|
+
else if (O == "STROKEPATH") r.Stroke(T);
|
|
471
|
+
else if (O == "STROKEANDFILLPATH")
|
|
472
|
+
r.Fill(T, !1), r.Stroke(T);
|
|
473
|
+
else if (O == "SETWORLDTRANSFORM" || O == "MODIFYWORLDTRANSFORM") {
|
|
474
|
+
for (var f = [], U = 0; U < 6; U++) f.push(C(E, t + U * 4));
|
|
475
|
+
if (t += 24, O == "SETWORLDTRANSFORM") T.ctm = f;
|
|
476
|
+
else {
|
|
477
|
+
var g = n(E, t);
|
|
478
|
+
if (t += 4, g == 2) {
|
|
479
|
+
var M0 = T.ctm;
|
|
480
|
+
T.ctm = f, M.M.concat(T.ctm, M0);
|
|
481
|
+
} else throw "e";
|
|
482
|
+
}
|
|
483
|
+
} else if (O == "SETSTRETCHBLTMODE")
|
|
484
|
+
n(E, t), t += 4;
|
|
485
|
+
else if (O == "STRETCHDIBITS") {
|
|
486
|
+
var F = L._readBox(E, t);
|
|
487
|
+
t += 16;
|
|
488
|
+
var E0 = v(E, t);
|
|
489
|
+
t += 4;
|
|
490
|
+
var q = v(E, t);
|
|
491
|
+
t += 4, v(E, t), t += 4, v(E, t), t += 4;
|
|
492
|
+
var O0 = v(E, t);
|
|
493
|
+
t += 4;
|
|
494
|
+
var r0 = v(E, t);
|
|
495
|
+
t += 4;
|
|
496
|
+
var N = n(E, t) + e - 8;
|
|
497
|
+
t += 4, n(E, t), t += 4;
|
|
498
|
+
var A0 = n(E, t) + e - 8;
|
|
499
|
+
t += 4, n(E, t), t += 4;
|
|
500
|
+
var L0 = n(E, t);
|
|
501
|
+
if (t += 4, L0 != 0) throw "e";
|
|
502
|
+
n(E, t), t += 4;
|
|
503
|
+
var x0 = v(E, t);
|
|
504
|
+
t += 4;
|
|
505
|
+
var P0 = v(E, t);
|
|
506
|
+
t += 4, n(E, N), N += 4;
|
|
507
|
+
var o = n(E, N);
|
|
508
|
+
N += 4;
|
|
509
|
+
var H = n(E, N);
|
|
510
|
+
if (N += 4, o != O0 || H != r0) throw "e";
|
|
511
|
+
var _0 = S(E, N);
|
|
512
|
+
N += 2;
|
|
513
|
+
var V = S(E, N);
|
|
514
|
+
if (N += 2, V != 8 && V != 24 && V != 32) throw V + " e";
|
|
515
|
+
var c0 = n(E, N);
|
|
516
|
+
if (N += 4, c0 != 0) throw c0 + " e";
|
|
517
|
+
n(E, N), N += 4, n(E, N), N += 4, n(E, N), N += 4, n(E, N), N += 4, n(E, N), N += 4;
|
|
518
|
+
var v0 = Math.floor((o * _0 * V + 31 & -32) / 8), u = new Uint8Array(o * H * 4);
|
|
519
|
+
if (V == 8)
|
|
520
|
+
for (var B = 0; B < H; B++)
|
|
521
|
+
for (var G = 0; G < o; G++) {
|
|
522
|
+
var W = B * o + G << 2, x = E[A0 + (H - 1 - B) * v0 + G] << 2;
|
|
523
|
+
u[W] = E[N + x + 2], u[W + 1] = E[N + x + 1], u[W + 2] = E[N + x + 0], u[W + 3] = 255;
|
|
524
|
+
}
|
|
525
|
+
if (V == 24)
|
|
526
|
+
for (var B = 0; B < H; B++)
|
|
527
|
+
for (var G = 0; G < o; G++) {
|
|
528
|
+
var W = B * o + G << 2, K = A0 + (H - 1 - B) * v0 + G * 3;
|
|
529
|
+
u[W] = E[K + 2], u[W + 1] = E[K + 1], u[W + 2] = E[K + 0], u[W + 3] = 255;
|
|
530
|
+
}
|
|
531
|
+
if (V == 32)
|
|
532
|
+
for (var B = 0; B < H; B++)
|
|
533
|
+
for (var G = 0; G < o; G++) {
|
|
534
|
+
var W = B * o + G << 2, K = A0 + (H - 1 - B) * v0 + G * 4;
|
|
535
|
+
u[W] = E[K + 2], u[W + 1] = E[K + 1], u[W + 2] = E[K + 0], u[W + 3] = E[K + 3];
|
|
536
|
+
}
|
|
537
|
+
var S0 = T.ctm.slice(0);
|
|
538
|
+
T.ctm = [1, 0, 0, 1, 0, 0], M.M.scale(T.ctm, x0, -P0), M.M.translate(T.ctm, E0, q + P0), M.M.concat(T.ctm, S0), r.PutImage(T, u, o, H), T.ctm = S0;
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
c != null && (R[d] = c), e += P - 8;
|
|
543
|
+
}
|
|
544
|
+
r.ShowPage(), r.Done();
|
|
545
|
+
};
|
|
546
|
+
L._readBox = function(E, r) {
|
|
547
|
+
for (var e = [], a = 0; a < 4; a++) e[a] = L.B.readInt(E, r + a * 4);
|
|
548
|
+
return e;
|
|
549
|
+
};
|
|
550
|
+
L._updateCtm = function(E, r) {
|
|
551
|
+
var e = [1, 0, 0, 1, 0, 0], a = E.wbb;
|
|
552
|
+
E.bb;
|
|
553
|
+
var T = E.vbb && E.vbb.length == 4 ? E.vbb : E.bb;
|
|
554
|
+
M.M.translate(e, -a[0], -a[1]), M.M.scale(e, 1 / a[2], 1 / a[3]), M.M.scale(e, T[2], T[3]), r.ctm = e;
|
|
555
|
+
};
|
|
556
|
+
L._draw = function(E, r, e, a) {
|
|
557
|
+
e.fill && a && E.Fill(r, !1), e.strk && r.lwidth != 0 && E.Stroke(r);
|
|
558
|
+
};
|
|
559
|
+
L._drawPoly = function(E, r, e, a, T, R, s) {
|
|
560
|
+
for (var A = T == 2 ? L.B.readShort : L.B.readInt, S = 0; S < e; S++) {
|
|
561
|
+
var v = A(E, r);
|
|
562
|
+
r += T;
|
|
563
|
+
var n = A(E, r);
|
|
564
|
+
r += T, S == 0 && !s ? M.G.moveTo(a, v, n) : M.G.lineTo(a, v, n);
|
|
565
|
+
}
|
|
566
|
+
return R && M.G.closePath(a), r;
|
|
567
|
+
};
|
|
568
|
+
L.B = {
|
|
569
|
+
uint8: new Uint8Array(4),
|
|
570
|
+
readShort: function(E, r) {
|
|
571
|
+
var e = L.B.uint8;
|
|
572
|
+
return e[0] = E[r], e[1] = E[r + 1], L.B.int16[0];
|
|
573
|
+
},
|
|
574
|
+
readUshort: function(E, r) {
|
|
575
|
+
var e = L.B.uint8;
|
|
576
|
+
return e[0] = E[r], e[1] = E[r + 1], L.B.uint16[0];
|
|
577
|
+
},
|
|
578
|
+
readInt: function(E, r) {
|
|
579
|
+
var e = L.B.uint8;
|
|
580
|
+
return e[0] = E[r], e[1] = E[r + 1], e[2] = E[r + 2], e[3] = E[r + 3], L.B.int32[0];
|
|
581
|
+
},
|
|
582
|
+
readUint: function(E, r) {
|
|
583
|
+
var e = L.B.uint8;
|
|
584
|
+
return e[0] = E[r], e[1] = E[r + 1], e[2] = E[r + 2], e[3] = E[r + 3], L.B.uint32[0];
|
|
585
|
+
},
|
|
586
|
+
readFloat: function(E, r) {
|
|
587
|
+
var e = L.B.uint8;
|
|
588
|
+
return e[0] = E[r], e[1] = E[r + 1], e[2] = E[r + 2], e[3] = E[r + 3], L.B.flot32[0];
|
|
589
|
+
},
|
|
590
|
+
readASCII: function(E, r, e) {
|
|
591
|
+
for (var a = "", T = 0; T < e; T++) a += String.fromCharCode(E[r + T]);
|
|
592
|
+
return a;
|
|
593
|
+
}
|
|
594
|
+
};
|
|
595
|
+
L.B.int16 = new Int16Array(L.B.uint8.buffer);
|
|
596
|
+
L.B.uint16 = new Uint16Array(L.B.uint8.buffer);
|
|
597
|
+
L.B.int32 = new Int32Array(L.B.uint8.buffer);
|
|
598
|
+
L.B.uint32 = new Uint32Array(L.B.uint8.buffer);
|
|
599
|
+
L.B.flot32 = new Float32Array(L.B.uint8.buffer);
|
|
600
|
+
L.C = {
|
|
601
|
+
EMR_HEADER: 1,
|
|
602
|
+
EMR_POLYBEZIER: 2,
|
|
603
|
+
EMR_POLYGON: 3,
|
|
604
|
+
EMR_POLYLINE: 4,
|
|
605
|
+
EMR_POLYBEZIERTO: 5,
|
|
606
|
+
EMR_POLYLINETO: 6,
|
|
607
|
+
EMR_POLYPOLYLINE: 7,
|
|
608
|
+
EMR_POLYPOLYGON: 8,
|
|
609
|
+
EMR_SETWINDOWEXTEX: 9,
|
|
610
|
+
EMR_SETWINDOWORGEX: 10,
|
|
611
|
+
EMR_SETVIEWPORTEXTEX: 11,
|
|
612
|
+
EMR_SETVIEWPORTORGEX: 12,
|
|
613
|
+
EMR_SETBRUSHORGEX: 13,
|
|
614
|
+
EMR_EOF: 14,
|
|
615
|
+
EMR_SETPIXELV: 15,
|
|
616
|
+
EMR_SETMAPPERFLAGS: 16,
|
|
617
|
+
EMR_SETMAPMODE: 17,
|
|
618
|
+
EMR_SETBKMODE: 18,
|
|
619
|
+
EMR_SETPOLYFILLMODE: 19,
|
|
620
|
+
EMR_SETROP2: 20,
|
|
621
|
+
EMR_SETSTRETCHBLTMODE: 21,
|
|
622
|
+
EMR_SETTEXTALIGN: 22,
|
|
623
|
+
EMR_SETCOLORADJUSTMENT: 23,
|
|
624
|
+
EMR_SETTEXTCOLOR: 24,
|
|
625
|
+
EMR_SETBKCOLOR: 25,
|
|
626
|
+
EMR_OFFSETCLIPRGN: 26,
|
|
627
|
+
EMR_MOVETOEX: 27,
|
|
628
|
+
EMR_SETMETARGN: 28,
|
|
629
|
+
EMR_EXCLUDECLIPRECT: 29,
|
|
630
|
+
EMR_INTERSECTCLIPRECT: 30,
|
|
631
|
+
EMR_SCALEVIEWPORTEXTEX: 31,
|
|
632
|
+
EMR_SCALEWINDOWEXTEX: 32,
|
|
633
|
+
EMR_SAVEDC: 33,
|
|
634
|
+
EMR_RESTOREDC: 34,
|
|
635
|
+
EMR_SETWORLDTRANSFORM: 35,
|
|
636
|
+
EMR_MODIFYWORLDTRANSFORM: 36,
|
|
637
|
+
EMR_SELECTOBJECT: 37,
|
|
638
|
+
EMR_CREATEPEN: 38,
|
|
639
|
+
EMR_CREATEBRUSHINDIRECT: 39,
|
|
640
|
+
EMR_DELETEOBJECT: 40,
|
|
641
|
+
EMR_ANGLEARC: 41,
|
|
642
|
+
EMR_ELLIPSE: 42,
|
|
643
|
+
EMR_RECTANGLE: 43,
|
|
644
|
+
EMR_ROUNDRECT: 44,
|
|
645
|
+
EMR_ARC: 45,
|
|
646
|
+
EMR_CHORD: 46,
|
|
647
|
+
EMR_PIE: 47,
|
|
648
|
+
EMR_SELECTPALETTE: 48,
|
|
649
|
+
EMR_CREATEPALETTE: 49,
|
|
650
|
+
EMR_SETPALETTEENTRIES: 50,
|
|
651
|
+
EMR_RESIZEPALETTE: 51,
|
|
652
|
+
EMR_REALIZEPALETTE: 52,
|
|
653
|
+
EMR_EXTFLOODFILL: 53,
|
|
654
|
+
EMR_LINETO: 54,
|
|
655
|
+
EMR_ARCTO: 55,
|
|
656
|
+
EMR_POLYDRAW: 56,
|
|
657
|
+
EMR_SETARCDIRECTION: 57,
|
|
658
|
+
EMR_SETMITERLIMIT: 58,
|
|
659
|
+
EMR_BEGINPATH: 59,
|
|
660
|
+
EMR_ENDPATH: 60,
|
|
661
|
+
EMR_CLOSEFIGURE: 61,
|
|
662
|
+
EMR_FILLPATH: 62,
|
|
663
|
+
EMR_STROKEANDFILLPATH: 63,
|
|
664
|
+
EMR_STROKEPATH: 64,
|
|
665
|
+
EMR_FLATTENPATH: 65,
|
|
666
|
+
EMR_WIDENPATH: 66,
|
|
667
|
+
EMR_SELECTCLIPPATH: 67,
|
|
668
|
+
EMR_ABORTPATH: 68,
|
|
669
|
+
EMR_COMMENT: 70,
|
|
670
|
+
EMR_FILLRGN: 71,
|
|
671
|
+
EMR_FRAMERGN: 72,
|
|
672
|
+
EMR_INVERTRGN: 73,
|
|
673
|
+
EMR_PAINTRGN: 74,
|
|
674
|
+
EMR_EXTSELECTCLIPRGN: 75,
|
|
675
|
+
EMR_BITBLT: 76,
|
|
676
|
+
EMR_STRETCHBLT: 77,
|
|
677
|
+
EMR_MASKBLT: 78,
|
|
678
|
+
EMR_PLGBLT: 79,
|
|
679
|
+
EMR_SETDIBITSTODEVICE: 80,
|
|
680
|
+
EMR_STRETCHDIBITS: 81,
|
|
681
|
+
EMR_EXTCREATEFONTINDIRECTW: 82,
|
|
682
|
+
EMR_EXTTEXTOUTA: 83,
|
|
683
|
+
EMR_EXTTEXTOUTW: 84,
|
|
684
|
+
EMR_POLYBEZIER16: 85,
|
|
685
|
+
EMR_POLYGON16: 86,
|
|
686
|
+
EMR_POLYLINE16: 87,
|
|
687
|
+
EMR_POLYBEZIERTO16: 88,
|
|
688
|
+
EMR_POLYLINETO16: 89,
|
|
689
|
+
EMR_POLYPOLYLINE16: 90,
|
|
690
|
+
EMR_POLYPOLYGON16: 91,
|
|
691
|
+
EMR_POLYDRAW16: 92,
|
|
692
|
+
EMR_CREATEMONOBRUSH: 93,
|
|
693
|
+
EMR_CREATEDIBPATTERNBRUSHPT: 94,
|
|
694
|
+
EMR_EXTCREATEPEN: 95,
|
|
695
|
+
EMR_POLYTEXTOUTA: 96,
|
|
696
|
+
EMR_POLYTEXTOUTW: 97,
|
|
697
|
+
EMR_SETICMMODE: 98,
|
|
698
|
+
EMR_CREATECOLORSPACE: 99,
|
|
699
|
+
EMR_SETCOLORSPACE: 100,
|
|
700
|
+
EMR_DELETECOLORSPACE: 101,
|
|
701
|
+
EMR_GLSRECORD: 102,
|
|
702
|
+
EMR_GLSBOUNDEDRECORD: 103,
|
|
703
|
+
EMR_PIXELFORMAT: 104,
|
|
704
|
+
EMR_DRAWESCAPE: 105,
|
|
705
|
+
EMR_EXTESCAPE: 106,
|
|
706
|
+
EMR_SMALLTEXTOUT: 108,
|
|
707
|
+
EMR_FORCEUFIMAPPING: 109,
|
|
708
|
+
EMR_NAMEDESCAPE: 110,
|
|
709
|
+
EMR_COLORCORRECTPALETTE: 111,
|
|
710
|
+
EMR_SETICMPROFILEA: 112,
|
|
711
|
+
EMR_SETICMPROFILEW: 113,
|
|
712
|
+
EMR_ALPHABLEND: 114,
|
|
713
|
+
EMR_SETLAYOUT: 115,
|
|
714
|
+
EMR_TRANSPARENTBLT: 116,
|
|
715
|
+
EMR_GRADIENTFILL: 118,
|
|
716
|
+
EMR_SETLINKEDUFIS: 119,
|
|
717
|
+
EMR_SETTEXTJUSTIFICATION: 120,
|
|
718
|
+
EMR_COLORMATCHTOTARGETW: 121,
|
|
719
|
+
EMR_CREATECOLORSPACEW: 122
|
|
720
|
+
};
|
|
721
|
+
L.K = [];
|
|
722
|
+
(function() {
|
|
723
|
+
var E, r, e;
|
|
724
|
+
E = L.C, r = L.K, e = 4;
|
|
725
|
+
for (var a in E) r[E[a]] = a.slice(e);
|
|
726
|
+
})();
|
|
727
|
+
function _() {
|
|
728
|
+
}
|
|
729
|
+
_.Parse = function(E, r) {
|
|
730
|
+
E = new Uint8Array(E);
|
|
731
|
+
var e = 0, a = { fill: !1, strk: !1, bb: [0, 0, 1, 1], lbb: [0, 0, 1, 1], scl: 1, fnt: { nam: "Arial", hgh: 25, und: !1, orn: 0, chrst: 0 }, tclr: [0, 0, 0], talg: 0 }, T = _.B.readShort, R = _.B.readUshort, s = _.B.readUint, A = s(E, 0);
|
|
732
|
+
if (A == 2596720087) {
|
|
733
|
+
e = 6;
|
|
734
|
+
var S = T(E, e + 8);
|
|
735
|
+
a.scl = 120 / S;
|
|
736
|
+
for (var v = 0; v < 4; v++)
|
|
737
|
+
a.bb[v] = Math.round(T(E, e) * a.scl), e += 2;
|
|
738
|
+
e += 2, e += 6;
|
|
739
|
+
}
|
|
740
|
+
r.StartPage(a.bb[0], a.bb[1], a.bb[2], a.bb[3]);
|
|
741
|
+
var n = M.getState(a.bb);
|
|
742
|
+
R(E, e), e += 2, R(E, e), e += 2, R(E, e), e += 2, s(E, e), e += 4, R(E, e), e += 2, s(E, e), e += 4, R(E, e), e += 2;
|
|
743
|
+
for (var C = []; ; ) {
|
|
744
|
+
var h = s(E, e) << 1;
|
|
745
|
+
e += 4;
|
|
746
|
+
var O = R(E, e);
|
|
747
|
+
e += 2;
|
|
748
|
+
var P = _.K[O], t = e, c = null;
|
|
749
|
+
if (P == "EOF") break;
|
|
750
|
+
if (P == "ESCAPE") {
|
|
751
|
+
var d = R(E, e);
|
|
752
|
+
t += 2;
|
|
753
|
+
var D = _.K2[d];
|
|
754
|
+
console.log(P, D);
|
|
755
|
+
} else if (!(P == "SETMAPMODE" || P == "SETPOLYFILLMODE" || P == "SETBKMODE")) {
|
|
756
|
+
if (P == "SELECTOBJECT") {
|
|
757
|
+
var I = R(E, t);
|
|
758
|
+
t += 2;
|
|
759
|
+
var x = C[I];
|
|
760
|
+
if (x.t == "br") {
|
|
761
|
+
if (a.fill = x.stl != 1, x.stl != 0) {
|
|
762
|
+
if (x.stl != 1) throw x.stl + " e";
|
|
763
|
+
}
|
|
764
|
+
n.colr = x.clr;
|
|
765
|
+
} else if (x.t == "pn") {
|
|
766
|
+
var l = x.stl & 7;
|
|
767
|
+
if (a.strk = l != 5, l == 0 || l == 6) n.lwidth = x.px;
|
|
768
|
+
else if (l != 5) throw l + " e";
|
|
769
|
+
x.stl & 4096 ? n.ljoin = 2 : x.stl & 8192 ? n.ljoin = 0 : n.ljoin = 1, n.COLR = x.clr;
|
|
770
|
+
} else if (x.t == "fn")
|
|
771
|
+
a.fnt = x, n.font.Tf = x.nam, n.font.Tfs = Math.abs(x.hgh), n.font.Tun = x.und;
|
|
772
|
+
else throw "e";
|
|
773
|
+
} else if (P == "DELETEOBJECT") {
|
|
774
|
+
var I = R(E, t);
|
|
775
|
+
t += 2, C[I] = null;
|
|
776
|
+
} else if (P == "SETWINDOWORG" || P == "SETWINDOWEXT") {
|
|
777
|
+
var z = P == "SETWINDOWORG" ? 0 : 2;
|
|
778
|
+
a.lbb[z + 1] = T(E, t), t += 2, a.lbb[z] = T(E, t), t += 2, _._updateCtm(a, n);
|
|
779
|
+
} else if (P == "CREATEBRUSHINDIRECT")
|
|
780
|
+
c = { t: "br" }, c.stl = R(E, t), t += 2, c.clr = [E[t] / 255, E[t + 1] / 255, E[t + 2] / 255], t += 4, c.htc = R(E, t), t += 2;
|
|
781
|
+
else if (P == "CREATEPENINDIRECT")
|
|
782
|
+
c = { t: "pn" }, c.stl = R(E, t), t += 2, c.px = T(E, t), t += 2, c.py = T(E, t), t += 2, c.clr = [E[t] / 255, E[t + 1] / 255, E[t + 2] / 255], t += 4;
|
|
783
|
+
else if (P == "CREATEFONTINDIRECT") {
|
|
784
|
+
c = { t: "fn", nam: "" }, c.hgh = T(E, t), t += 2, t += 2 * 2, c.orn = T(E, t) / 10, t += 2;
|
|
785
|
+
var g = T(E, t);
|
|
786
|
+
for (t += 2, c.und = E[t + 1], t += 2, c.stk = E[t], c.chrst = E[e + 1], t += 2, t += 4; E[t] != 0; )
|
|
787
|
+
c.nam += String.fromCharCode(E[t]), t++;
|
|
788
|
+
g > 500 && (c.nam += "-Bold");
|
|
789
|
+
} else if (P == "CREATEPALETTE")
|
|
790
|
+
c = { t: "pl" };
|
|
791
|
+
else if (P == "SETTEXTCOLOR") a.tclr = [E[t] / 255, E[t + 1] / 255, E[t + 2] / 255];
|
|
792
|
+
else if (P == "SETTEXTALIGN") a.talg = R(E, t);
|
|
793
|
+
else if (P == "MOVETO")
|
|
794
|
+
M.G.moveTo(n, T(E, t + 2), T(E, t));
|
|
795
|
+
else if (P == "LINETO") {
|
|
796
|
+
if (n.pth.cmds.length == 0) {
|
|
797
|
+
var t0 = n.ctm.slice(0);
|
|
798
|
+
M.M.invert(t0);
|
|
799
|
+
var e0 = M.M.multPoint(t0, n.cpos);
|
|
800
|
+
M.G.moveTo(n, e0[0], e0[1]);
|
|
801
|
+
}
|
|
802
|
+
M.G.lineTo(n, T(E, t + 2), T(E, t));
|
|
803
|
+
var p = a.fill;
|
|
804
|
+
a.fill = !1, _._draw(r, n, a), a.fill = p;
|
|
805
|
+
} else if (P == "POLYPOLYGON") {
|
|
806
|
+
var a0 = R(E, t);
|
|
807
|
+
t += 2;
|
|
808
|
+
var T0 = t;
|
|
809
|
+
t += a0 * 2;
|
|
810
|
+
for (var v = 0; v < a0; v++) {
|
|
811
|
+
var k = R(E, T0 + v * 2);
|
|
812
|
+
t = _._drawPoly(E, t, k, n, !0);
|
|
813
|
+
}
|
|
814
|
+
_._draw(r, n, a);
|
|
815
|
+
} else if (P == "POLYGON" || P == "POLYLINE") {
|
|
816
|
+
var k = R(E, t);
|
|
817
|
+
t += 2, t = _._drawPoly(E, t, k, n, P == "POLYGON");
|
|
818
|
+
var p = a.fill;
|
|
819
|
+
a.fill = p && P == "POLYGON", _._draw(r, n, a), a.fill = p;
|
|
820
|
+
} else if (P == "RECTANGLE" || P == "ELLIPSE") {
|
|
821
|
+
var U = T(E, t);
|
|
822
|
+
t += 2;
|
|
823
|
+
var $ = T(E, t);
|
|
824
|
+
t += 2;
|
|
825
|
+
var m = T(E, t);
|
|
826
|
+
t += 2;
|
|
827
|
+
var Q = T(E, t);
|
|
828
|
+
if (t += 2, P == "RECTANGLE")
|
|
829
|
+
M.G.moveTo(n, Q, m), M.G.lineTo(n, $, m), M.G.lineTo(n, $, U), M.G.lineTo(n, Q, U);
|
|
830
|
+
else {
|
|
831
|
+
var i0 = (Q + $) / 2, Z = (m + U) / 2;
|
|
832
|
+
M.G.arc(n, i0, Z, (U - m) / 2, 0, 2 * Math.PI, !1);
|
|
833
|
+
}
|
|
834
|
+
M.G.closePath(n);
|
|
835
|
+
var p = a.fill;
|
|
836
|
+
a.fill = !0, _._draw(r, n, a), a.fill = p;
|
|
837
|
+
} else if (P == "STRETCHDIB") {
|
|
838
|
+
s(E, t), t += 4, R(E, t), t += 2;
|
|
839
|
+
var y = T(E, t);
|
|
840
|
+
t += 2;
|
|
841
|
+
var J = T(E, t);
|
|
842
|
+
t += 2, T(E, t), t += 2, T(E, t), t += 2;
|
|
843
|
+
var b = T(E, t);
|
|
844
|
+
t += 2;
|
|
845
|
+
var R0 = T(E, t);
|
|
846
|
+
t += 2;
|
|
847
|
+
var s0 = T(E, t);
|
|
848
|
+
t += 2;
|
|
849
|
+
var n0 = T(E, t);
|
|
850
|
+
t += 2;
|
|
851
|
+
var w = _._loadDIB(E, t), Y = n.ctm.slice(0);
|
|
852
|
+
n.ctm = [1, 0, 0, 1, 0, 0], M.M.scale(n.ctm, R0, -b), M.M.translate(n.ctm, n0, s0 + b), M.M.concat(n.ctm, Y), r.PutImage(n, w, J, y), n.ctm = Y;
|
|
853
|
+
} else if (P == "EXTTEXTOUT") {
|
|
854
|
+
var F = T(E, t);
|
|
855
|
+
t += 2;
|
|
856
|
+
var G = T(E, t);
|
|
857
|
+
t += 2, n.font.Tm = [1, 0, 0, -1, 0, 0], M.M.rotate(n.font.Tm, a.fnt.orn * Math.PI / 180), M.M.translate(n.font.Tm, G, F);
|
|
858
|
+
var B = a.talg;
|
|
859
|
+
if ((B & 6) == 6) n.font.Tal = 2;
|
|
860
|
+
else if (!(B & 7)) n.font.Tal = 0;
|
|
861
|
+
else throw B + " e";
|
|
862
|
+
if ((B & 24) != 24) if (!(B & 24)) M.M.translate(n.font.Tm, 0, n.font.Tfs);
|
|
863
|
+
else throw "e";
|
|
864
|
+
var f = R(E, t);
|
|
865
|
+
t += 2;
|
|
866
|
+
var M0 = R(E, t);
|
|
867
|
+
t += 2, M0 & 4 && (t += 8);
|
|
868
|
+
for (var E0 = "", v = 0; v < f; v++) {
|
|
869
|
+
var q = E[t + v];
|
|
870
|
+
q > 127 && (v++, q = q << 8 | E[t + v]), E0 += String.fromCharCode(q);
|
|
871
|
+
}
|
|
872
|
+
var O0 = n.colr;
|
|
873
|
+
n.colr = a.tclr, r.PutText(n, E0, E0.length * n.font.Tfs * 0.5), n.colr = O0;
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
if (c != null) {
|
|
877
|
+
for (var r0 = 0; C[r0] != null; ) r0++;
|
|
878
|
+
C[r0] = c;
|
|
879
|
+
}
|
|
880
|
+
e += h - 6;
|
|
881
|
+
}
|
|
882
|
+
r.ShowPage(), r.Done();
|
|
883
|
+
};
|
|
884
|
+
_._loadDIB = function(E, r) {
|
|
885
|
+
_.B.readShort;
|
|
886
|
+
var e = _.B.readUshort, a = _.B.readUint, T = a(E, r);
|
|
887
|
+
r += 4;
|
|
888
|
+
var R, s, A;
|
|
889
|
+
if (T == 12) throw "e";
|
|
890
|
+
R = a(E, r), r += 4, s = a(E, r), r += 4;
|
|
891
|
+
var S = e(E, r);
|
|
892
|
+
if (r += 2, S != 1) throw "e";
|
|
893
|
+
var v = e(E, r);
|
|
894
|
+
if (r += 2, v != 1 && v != 24 && v != 32) throw v + " e";
|
|
895
|
+
var n = a(E, r);
|
|
896
|
+
if (r += 4, n != 0) throw "e";
|
|
897
|
+
a(E, r), r += 4, a(E, r), r += 4, a(E, r), r += 4, A = a(E, r), r += 4, a(E, r), r += 4;
|
|
898
|
+
var C = R * s, h = new Uint8Array(C * 4), O = Math.floor((R * S * v + 31 & -32) / 8);
|
|
899
|
+
if (v == 1)
|
|
900
|
+
for (var P = 0; P < s; P++)
|
|
901
|
+
for (var t = r + A * 4 + (s - 1 - P) * O, c = 0; c < R; c++) {
|
|
902
|
+
var d = P * R + c << 2, D = E[t + (c >>> 3)] >>> 7 - (c & 7) & 1;
|
|
903
|
+
h[d] = E[r + D * 4 + 2], h[d + 1] = E[r + D * 4 + 1], h[d + 2] = E[r + D * 4 + 0], h[d + 3] = 255;
|
|
904
|
+
}
|
|
905
|
+
if (v == 24)
|
|
906
|
+
for (var P = 0; P < s; P++)
|
|
907
|
+
for (var c = 0; c < R; c++) {
|
|
908
|
+
var d = P * R + c << 2, I = r + (s - 1 - P) * O + c * 3;
|
|
909
|
+
h[d] = E[I + 2], h[d + 1] = E[I + 1], h[d + 2] = E[I + 0], h[d + 3] = 255;
|
|
910
|
+
}
|
|
911
|
+
if (v == 32)
|
|
912
|
+
for (var P = 0; P < s; P++)
|
|
913
|
+
for (var c = 0; c < R; c++) {
|
|
914
|
+
var d = P * R + c << 2, I = r + (s - 1 - P) * O + c * 4;
|
|
915
|
+
h[d] = E[I + 2], h[d + 1] = E[I + 1], h[d + 2] = E[I + 0], h[d + 3] = E[I + 3];
|
|
916
|
+
}
|
|
917
|
+
return h;
|
|
918
|
+
};
|
|
919
|
+
_._updateCtm = function(E, r) {
|
|
920
|
+
var e = [1, 0, 0, 1, 0, 0], a = E.lbb, T = E.bb;
|
|
921
|
+
M.M.translate(e, -a[0], -a[1]), M.M.scale(e, 1 / a[2], 1 / a[3]), M.M.scale(e, T[2] - T[0], T[3] - T[1]), M.M.translate(e, T[0], T[1]), r.ctm = e;
|
|
922
|
+
};
|
|
923
|
+
_._draw = function(E, r, e) {
|
|
924
|
+
e.fill && E.Fill(r, !1), e.strk && r.lwidth != 0 && E.Stroke(r, !1), M.G.newPath(r);
|
|
925
|
+
};
|
|
926
|
+
_._drawPoly = function(E, r, e, a, T) {
|
|
927
|
+
for (var R = _.B.readShort, s = 0; s < e; s++) {
|
|
928
|
+
var A = R(E, r);
|
|
929
|
+
r += 2;
|
|
930
|
+
var S = R(E, r);
|
|
931
|
+
r += 2, s == 0 ? M.G.moveTo(a, A, S) : M.G.lineTo(a, A, S);
|
|
932
|
+
}
|
|
933
|
+
return T && M.G.closePath(a), r;
|
|
934
|
+
};
|
|
935
|
+
_.B = {
|
|
936
|
+
uint8: new Uint8Array(4),
|
|
937
|
+
readShort: function(E, r) {
|
|
938
|
+
var e = _.B.uint8;
|
|
939
|
+
return e[0] = E[r], e[1] = E[r + 1], _.B.int16[0];
|
|
940
|
+
},
|
|
941
|
+
readUshort: function(E, r) {
|
|
942
|
+
var e = _.B.uint8;
|
|
943
|
+
return e[0] = E[r], e[1] = E[r + 1], _.B.uint16[0];
|
|
944
|
+
},
|
|
945
|
+
readUint: function(E, r) {
|
|
946
|
+
var e = _.B.uint8;
|
|
947
|
+
return e[0] = E[r], e[1] = E[r + 1], e[2] = E[r + 2], e[3] = E[r + 3], _.B.uint32[0];
|
|
948
|
+
},
|
|
949
|
+
//readUint : function(buff,p) { return (buff[p]*(256*256*256)) + ((buff[p+1]<<16) | (buff[p+2]<< 8) | buff[p+3]); },
|
|
950
|
+
readASCII: function(E, r, e) {
|
|
951
|
+
for (var a = "", T = 0; T < e; T++) a += String.fromCharCode(E[r + T]);
|
|
952
|
+
return a;
|
|
953
|
+
}
|
|
954
|
+
};
|
|
955
|
+
_.B.int16 = new Int16Array(_.B.uint8.buffer);
|
|
956
|
+
_.B.uint16 = new Uint16Array(_.B.uint8.buffer);
|
|
957
|
+
_.B.uint32 = new Uint32Array(_.B.uint8.buffer);
|
|
958
|
+
_.C = {
|
|
959
|
+
META_EOF: 0,
|
|
960
|
+
META_REALIZEPALETTE: 53,
|
|
961
|
+
META_SETPALENTRIES: 55,
|
|
962
|
+
META_SETBKMODE: 258,
|
|
963
|
+
META_SETMAPMODE: 259,
|
|
964
|
+
META_SETROP2: 260,
|
|
965
|
+
META_SETRELABS: 261,
|
|
966
|
+
META_SETPOLYFILLMODE: 262,
|
|
967
|
+
META_SETSTRETCHBLTMODE: 263,
|
|
968
|
+
META_SETTEXTCHAREXTRA: 264,
|
|
969
|
+
META_RESTOREDC: 295,
|
|
970
|
+
META_RESIZEPALETTE: 313,
|
|
971
|
+
META_DIBCREATEPATTERNBRUSH: 322,
|
|
972
|
+
META_SETLAYOUT: 329,
|
|
973
|
+
META_SETBKCOLOR: 513,
|
|
974
|
+
META_SETTEXTCOLOR: 521,
|
|
975
|
+
META_OFFSETVIEWPORTORG: 529,
|
|
976
|
+
META_LINETO: 531,
|
|
977
|
+
META_MOVETO: 532,
|
|
978
|
+
META_OFFSETCLIPRGN: 544,
|
|
979
|
+
META_FILLREGION: 552,
|
|
980
|
+
META_SETMAPPERFLAGS: 561,
|
|
981
|
+
META_SELECTPALETTE: 564,
|
|
982
|
+
META_POLYGON: 804,
|
|
983
|
+
META_POLYLINE: 805,
|
|
984
|
+
META_SETTEXTJUSTIFICATION: 522,
|
|
985
|
+
META_SETWINDOWORG: 523,
|
|
986
|
+
META_SETWINDOWEXT: 524,
|
|
987
|
+
META_SETVIEWPORTORG: 525,
|
|
988
|
+
META_SETVIEWPORTEXT: 526,
|
|
989
|
+
META_OFFSETWINDOWORG: 527,
|
|
990
|
+
META_SCALEWINDOWEXT: 1040,
|
|
991
|
+
META_SCALEVIEWPORTEXT: 1042,
|
|
992
|
+
META_EXCLUDECLIPRECT: 1045,
|
|
993
|
+
META_INTERSECTCLIPRECT: 1046,
|
|
994
|
+
META_ELLIPSE: 1048,
|
|
995
|
+
META_FLOODFILL: 1049,
|
|
996
|
+
META_FRAMEREGION: 1065,
|
|
997
|
+
META_ANIMATEPALETTE: 1078,
|
|
998
|
+
META_TEXTOUT: 1313,
|
|
999
|
+
META_POLYPOLYGON: 1336,
|
|
1000
|
+
META_EXTFLOODFILL: 1352,
|
|
1001
|
+
META_RECTANGLE: 1051,
|
|
1002
|
+
META_SETPIXEL: 1055,
|
|
1003
|
+
META_ROUNDRECT: 1564,
|
|
1004
|
+
META_PATBLT: 1565,
|
|
1005
|
+
META_SAVEDC: 30,
|
|
1006
|
+
META_PIE: 2074,
|
|
1007
|
+
META_STRETCHBLT: 2851,
|
|
1008
|
+
META_ESCAPE: 1574,
|
|
1009
|
+
META_INVERTREGION: 298,
|
|
1010
|
+
META_PAINTREGION: 299,
|
|
1011
|
+
META_SELECTCLIPREGION: 300,
|
|
1012
|
+
META_SELECTOBJECT: 301,
|
|
1013
|
+
META_SETTEXTALIGN: 302,
|
|
1014
|
+
META_ARC: 2071,
|
|
1015
|
+
META_CHORD: 2096,
|
|
1016
|
+
META_BITBLT: 2338,
|
|
1017
|
+
META_EXTTEXTOUT: 2610,
|
|
1018
|
+
META_SETDIBTODEV: 3379,
|
|
1019
|
+
META_DIBBITBLT: 2368,
|
|
1020
|
+
META_DIBSTRETCHBLT: 2881,
|
|
1021
|
+
META_STRETCHDIB: 3907,
|
|
1022
|
+
META_DELETEOBJECT: 496,
|
|
1023
|
+
META_CREATEPALETTE: 247,
|
|
1024
|
+
META_CREATEPATTERNBRUSH: 505,
|
|
1025
|
+
META_CREATEPENINDIRECT: 762,
|
|
1026
|
+
META_CREATEFONTINDIRECT: 763,
|
|
1027
|
+
META_CREATEBRUSHINDIRECT: 764,
|
|
1028
|
+
META_CREATEREGION: 1791
|
|
1029
|
+
};
|
|
1030
|
+
_.C2 = {
|
|
1031
|
+
NEWFRAME: 1,
|
|
1032
|
+
ABORTDOC: 2,
|
|
1033
|
+
NEXTBAND: 3,
|
|
1034
|
+
SETCOLORTABLE: 4,
|
|
1035
|
+
GETCOLORTABLE: 5,
|
|
1036
|
+
FLUSHOUT: 6,
|
|
1037
|
+
DRAFTMODE: 7,
|
|
1038
|
+
QUERYESCSUPPORT: 8,
|
|
1039
|
+
SETABORTPROC: 9,
|
|
1040
|
+
STARTDOC: 10,
|
|
1041
|
+
ENDDOC: 11,
|
|
1042
|
+
GETPHYSPAGESIZE: 12,
|
|
1043
|
+
GETPRINTINGOFFSET: 13,
|
|
1044
|
+
GETSCALINGFACTOR: 14,
|
|
1045
|
+
META_ESCAPE_ENHANCED_METAFILE: 15,
|
|
1046
|
+
SETPENWIDTH: 16,
|
|
1047
|
+
SETCOPYCOUNT: 17,
|
|
1048
|
+
SETPAPERSOURCE: 18,
|
|
1049
|
+
PASSTHROUGH: 19,
|
|
1050
|
+
GETTECHNOLOGY: 20,
|
|
1051
|
+
SETLINECAP: 21,
|
|
1052
|
+
SETLINEJOIN: 22,
|
|
1053
|
+
SETMITERLIMIT: 23,
|
|
1054
|
+
BANDINFO: 24,
|
|
1055
|
+
DRAWPATTERNRECT: 25,
|
|
1056
|
+
GETVECTORPENSIZE: 26,
|
|
1057
|
+
GETVECTORBRUSHSIZE: 27,
|
|
1058
|
+
ENABLEDUPLEX: 28,
|
|
1059
|
+
GETSETPAPERBINS: 29,
|
|
1060
|
+
GETSETPRINTORIENT: 30,
|
|
1061
|
+
ENUMPAPERBINS: 31,
|
|
1062
|
+
SETDIBSCALING: 32,
|
|
1063
|
+
EPSPRINTING: 33,
|
|
1064
|
+
ENUMPAPERMETRICS: 34,
|
|
1065
|
+
GETSETPAPERMETRICS: 35,
|
|
1066
|
+
POSTSCRIPT_DATA: 37,
|
|
1067
|
+
POSTSCRIPT_IGNORE: 38,
|
|
1068
|
+
GETDEVICEUNITS: 42,
|
|
1069
|
+
GETEXTENDEDTEXTMETRICS: 256,
|
|
1070
|
+
GETPAIRKERNTABLE: 258,
|
|
1071
|
+
EXTTEXTOUT: 512,
|
|
1072
|
+
GETFACENAME: 513,
|
|
1073
|
+
DOWNLOADFACE: 514,
|
|
1074
|
+
METAFILE_DRIVER: 2049,
|
|
1075
|
+
QUERYDIBSUPPORT: 3073,
|
|
1076
|
+
BEGIN_PATH: 4096,
|
|
1077
|
+
CLIP_TO_PATH: 4097,
|
|
1078
|
+
END_PATH: 4098,
|
|
1079
|
+
OPEN_CHANNEL: 4110,
|
|
1080
|
+
DOWNLOADHEADER: 4111,
|
|
1081
|
+
CLOSE_CHANNEL: 4112,
|
|
1082
|
+
POSTSCRIPT_PASSTHROUGH: 4115,
|
|
1083
|
+
ENCAPSULATED_POSTSCRIPT: 4116,
|
|
1084
|
+
POSTSCRIPT_IDENTIFY: 4117,
|
|
1085
|
+
POSTSCRIPT_INJECTION: 4118,
|
|
1086
|
+
CHECKJPEGFORMAT: 4119,
|
|
1087
|
+
CHECKPNGFORMAT: 4120,
|
|
1088
|
+
GET_PS_FEATURESETTING: 4121,
|
|
1089
|
+
MXDC_ESCAPE: 4122,
|
|
1090
|
+
SPCLPASSTHROUGH2: 4568
|
|
1091
|
+
};
|
|
1092
|
+
_.K = [];
|
|
1093
|
+
_.K2 = [];
|
|
1094
|
+
(function() {
|
|
1095
|
+
var E, r, e;
|
|
1096
|
+
E = _.C, r = _.K, e = 5;
|
|
1097
|
+
for (var a in E) r[E[a]] = a.slice(e);
|
|
1098
|
+
E = _.C2, r = _.K2, e = 0;
|
|
1099
|
+
for (var a in E) r[E[a]] = a.slice(e);
|
|
1100
|
+
})();
|
|
1101
|
+
function h0(E) {
|
|
1102
|
+
const r = document.createElement("canvas");
|
|
1103
|
+
r.width = E.width, r.height = E.height;
|
|
1104
|
+
const e = r.getContext("2d");
|
|
1105
|
+
return e ? (e.translate(0, r.height), e.scale(1, -1), e.drawImage(E, 0, 0), r) : E;
|
|
1106
|
+
}
|
|
1107
|
+
function C0(E, r, e) {
|
|
1108
|
+
if (typeof document > "u") return null;
|
|
1109
|
+
const a = e && e.scale != null ? e.scale : 2, T = e && e.page != null ? e.page : 0;
|
|
1110
|
+
try {
|
|
1111
|
+
const R = new X(T, a);
|
|
1112
|
+
r === "wmf" ? _.Parse(E, R) : L.Parse(E, R);
|
|
1113
|
+
let s = R.canvas;
|
|
1114
|
+
return r === "emf" && (s = h0(s)), s.toDataURL("image/png");
|
|
1115
|
+
} catch {
|
|
1116
|
+
return null;
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1119
|
+
export {
|
|
1120
|
+
C0 as renderUdocMetafileToPngDataUrl
|
|
1121
|
+
};
|