ag-psd 30.1.1 → 30.2.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/.v8-cache/v24.13.1-x64-cf738c9d/017325ac +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/043c7b90 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/05135617 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/059f8558 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/0706ecb8 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/0db754a7 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/1130885f +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/15f0e479 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/20477c23 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/20dfa422 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/2a19133e +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/2b069ee0 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/2de09439 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/2e44f5f0 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/2fb229a9 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/3144b401 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/37481985 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/4511bacf +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/49d22b79 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/4f5702bd +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/514cc428 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/57d3380b +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/6024ce3f +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/61735b23 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/63dbdb75 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/6cbfc0ec +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/6f08372c +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/7100ee08 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/71df9cb3 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/75e41e43 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/7ea06cea +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/8568576b +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/87372817 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/87cf2209 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/932f0770 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/a79a40bb +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/a7e80865 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/acc36e66 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/b3c2fab7 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/b69ed3a3 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/bdff1628 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/c0b789d2 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/c314aece +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/cfc49f4f +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/cff9434a +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/d02dd6f7 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/dc86f000 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/de74e659 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/e03e2acd +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/e158d332 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/e6735171 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/e6745c2b +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/e6b99945 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/eeeebdfe +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/fbca6276 +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/fc97d72d +0 -0
- package/.v8-cache/v24.13.1-x64-cf738c9d/fd0a2987 +0 -0
- package/CHANGELOG.md +3 -0
- package/README.md +1 -1
- package/README_PSD.md +1 -1
- package/dist/abr.js +43 -56
- package/dist/abr.js.map +1 -1
- package/dist/additionalInfo.js +770 -808
- package/dist/additionalInfo.js.map +1 -1
- package/dist/ase.js +21 -21
- package/dist/ase.js.map +1 -1
- package/dist/bundle.js +2592 -2778
- package/dist/csh.js +18 -29
- package/dist/csh.js.map +1 -1
- package/dist/descriptor.js +234 -269
- package/dist/descriptor.js.map +1 -1
- package/dist/effectsHelpers.js +91 -112
- package/dist/effectsHelpers.js.map +1 -1
- package/dist/engineData.js +45 -51
- package/dist/engineData.js.map +1 -1
- package/dist/engineData2.js +8 -9
- package/dist/engineData2.js.map +1 -1
- package/dist/helpers.js +75 -81
- package/dist/helpers.js.map +1 -1
- package/dist/imageResources.js +342 -381
- package/dist/imageResources.js.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/initializeCanvas.js +2 -2
- package/dist/initializeCanvas.js.map +1 -1
- package/dist/jpeg.js +279 -279
- package/dist/jpeg.js.map +1 -1
- package/dist/psdReader.js +336 -347
- package/dist/psdReader.js.map +1 -1
- package/dist/psdWriter.d.ts +2 -1
- package/dist/psdWriter.js +225 -206
- package/dist/psdWriter.js.map +1 -1
- package/dist/text.js +98 -122
- package/dist/text.js.map +1 -1
- package/dist/utf8.js +22 -22
- package/dist/utf8.js.map +1 -1
- package/dist-es/abr.js +41 -54
- package/dist-es/abr.js.map +1 -1
- package/dist-es/additionalInfo.js +765 -803
- package/dist-es/additionalInfo.js.map +1 -1
- package/dist-es/ase.js +20 -20
- package/dist-es/ase.js.map +1 -1
- package/dist-es/csh.js +16 -27
- package/dist-es/csh.js.map +1 -1
- package/dist-es/descriptor.js +284 -319
- package/dist-es/descriptor.js.map +1 -1
- package/dist-es/effectsHelpers.js +88 -109
- package/dist-es/effectsHelpers.js.map +1 -1
- package/dist-es/engineData.js +45 -51
- package/dist-es/engineData.js.map +1 -1
- package/dist-es/engineData2.js +8 -9
- package/dist-es/engineData2.js.map +1 -1
- package/dist-es/helpers.js +79 -85
- package/dist-es/helpers.js.map +1 -1
- package/dist-es/imageResources.js +338 -377
- package/dist-es/imageResources.js.map +1 -1
- package/dist-es/index.js +4 -4
- package/dist-es/index.js.map +1 -1
- package/dist-es/jpeg.js +279 -279
- package/dist-es/jpeg.js.map +1 -1
- package/dist-es/psdReader.js +333 -344
- package/dist-es/psdReader.js.map +1 -1
- package/dist-es/psdWriter.d.ts +2 -1
- package/dist-es/psdWriter.js +220 -202
- package/dist-es/psdWriter.js.map +1 -1
- package/dist-es/text.js +98 -122
- package/dist-es/text.js.map +1 -1
- package/dist-es/utf8.js +22 -22
- package/dist-es/utf8.js.map +1 -1
- package/package.json +1 -1
- package/publish.js +24 -0
- package/src/additionalInfo.ts +15 -11
- package/src/psdWriter.ts +76 -1
- package/tsconfig.json +4 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { toBlendMode, fromBlendMode } from './helpers';
|
|
2
2
|
import { checkSignature, readSignature, skipBytes, readUint16, readUint8, readUint32, readFixedPoint32, readColor } from './psdReader';
|
|
3
3
|
import { writeSignature, writeUint16, writeZeros, writeFixedPoint32, writeUint8, writeUint32, writeColor } from './psdWriter';
|
|
4
|
-
|
|
4
|
+
const bevelStyles = [
|
|
5
5
|
undefined, 'outer bevel', 'inner bevel', 'emboss', 'pillow emboss', 'stroke emboss'
|
|
6
6
|
];
|
|
7
7
|
function readBlendMode(reader) {
|
|
@@ -19,52 +19,47 @@ function writeFixedPoint8(writer, value) {
|
|
|
19
19
|
writeUint8(writer, Math.round(value * 0xff) | 0);
|
|
20
20
|
}
|
|
21
21
|
export function readEffects(reader) {
|
|
22
|
-
|
|
22
|
+
const version = readUint16(reader);
|
|
23
23
|
if (version !== 0)
|
|
24
|
-
throw new Error(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
for (
|
|
24
|
+
throw new Error(`Invalid effects layer version: ${version}`);
|
|
25
|
+
const effectsCount = readUint16(reader);
|
|
26
|
+
const effects = {};
|
|
27
|
+
for (let i = 0; i < effectsCount; i++) {
|
|
28
28
|
checkSignature(reader, '8BIM');
|
|
29
|
-
|
|
29
|
+
const type = readSignature(reader);
|
|
30
30
|
switch (type) {
|
|
31
31
|
case 'cmnS': { // common state (see See Effects layer, common state info)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
const size = readUint32(reader);
|
|
33
|
+
const version = readUint32(reader);
|
|
34
|
+
const visible = !!readUint8(reader);
|
|
35
35
|
skipBytes(reader, 2);
|
|
36
|
-
if (size !== 7 ||
|
|
37
|
-
throw new Error(
|
|
36
|
+
if (size !== 7 || version !== 0 || !visible)
|
|
37
|
+
throw new Error(`Invalid effects common state`);
|
|
38
38
|
break;
|
|
39
39
|
}
|
|
40
40
|
case 'dsdw': // drop shadow (see See Effects layer, drop shadow and inner shadow info)
|
|
41
41
|
case 'isdw': { // inner shadow (see See Effects layer, drop shadow and inner shadow info)
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
const blockSize = readUint32(reader);
|
|
43
|
+
const version = readUint32(reader);
|
|
44
44
|
if (blockSize !== 41 && blockSize !== 51)
|
|
45
|
-
throw new Error(
|
|
46
|
-
if (
|
|
47
|
-
throw new Error(
|
|
48
|
-
|
|
45
|
+
throw new Error(`Invalid shadow size: ${blockSize}`);
|
|
46
|
+
if (version !== 0 && version !== 2)
|
|
47
|
+
throw new Error(`Invalid shadow version: ${version}`);
|
|
48
|
+
const size = readFixedPoint32(reader);
|
|
49
49
|
readFixedPoint32(reader); // intensity
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
50
|
+
const angle = readFixedPoint32(reader);
|
|
51
|
+
const distance = readFixedPoint32(reader);
|
|
52
|
+
const color = readColor(reader);
|
|
53
|
+
const blendMode = readBlendMode(reader);
|
|
54
|
+
const enabled = !!readUint8(reader);
|
|
55
|
+
const useGlobalLight = !!readUint8(reader);
|
|
56
|
+
const opacity = readFixedPoint8(reader);
|
|
57
57
|
if (blockSize >= 51)
|
|
58
58
|
readColor(reader); // native color
|
|
59
|
-
|
|
59
|
+
const shadowInfo = {
|
|
60
60
|
size: { units: 'Pixels', value: size },
|
|
61
61
|
distance: { units: 'Pixels', value: distance },
|
|
62
|
-
angle
|
|
63
|
-
color: color,
|
|
64
|
-
blendMode: blendMode,
|
|
65
|
-
enabled: enabled,
|
|
66
|
-
useGlobalLight: useGlobalLight,
|
|
67
|
-
opacity: opacity
|
|
62
|
+
angle, color, blendMode, enabled, useGlobalLight, opacity
|
|
68
63
|
};
|
|
69
64
|
if (type === 'dsdw') {
|
|
70
65
|
effects.dropShadow = [shadowInfo];
|
|
@@ -75,113 +70,97 @@ export function readEffects(reader) {
|
|
|
75
70
|
break;
|
|
76
71
|
}
|
|
77
72
|
case 'oglw': { // outer glow (see See Effects layer, outer glow info)
|
|
78
|
-
|
|
79
|
-
|
|
73
|
+
const blockSize = readUint32(reader);
|
|
74
|
+
const version = readUint32(reader);
|
|
80
75
|
if (blockSize !== 32 && blockSize !== 42)
|
|
81
|
-
throw new Error(
|
|
82
|
-
if (
|
|
83
|
-
throw new Error(
|
|
84
|
-
|
|
76
|
+
throw new Error(`Invalid outer glow size: ${blockSize}`);
|
|
77
|
+
if (version !== 0 && version !== 2)
|
|
78
|
+
throw new Error(`Invalid outer glow version: ${version}`);
|
|
79
|
+
const size = readFixedPoint32(reader);
|
|
85
80
|
readFixedPoint32(reader); // intensity
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
81
|
+
const color = readColor(reader);
|
|
82
|
+
const blendMode = readBlendMode(reader);
|
|
83
|
+
const enabled = !!readUint8(reader);
|
|
84
|
+
const opacity = readFixedPoint8(reader);
|
|
90
85
|
if (blockSize >= 42)
|
|
91
86
|
readColor(reader); // native color
|
|
92
87
|
effects.outerGlow = {
|
|
93
88
|
size: { units: 'Pixels', value: size },
|
|
94
|
-
color
|
|
95
|
-
blendMode: blendMode,
|
|
96
|
-
enabled: enabled,
|
|
97
|
-
opacity: opacity
|
|
89
|
+
color, blendMode, enabled, opacity
|
|
98
90
|
};
|
|
99
91
|
break;
|
|
100
92
|
}
|
|
101
93
|
case 'iglw': { // inner glow (see See Effects layer, inner glow info)
|
|
102
|
-
|
|
103
|
-
|
|
94
|
+
const blockSize = readUint32(reader);
|
|
95
|
+
const version = readUint32(reader);
|
|
104
96
|
if (blockSize !== 32 && blockSize !== 43)
|
|
105
|
-
throw new Error(
|
|
106
|
-
if (
|
|
107
|
-
throw new Error(
|
|
108
|
-
|
|
97
|
+
throw new Error(`Invalid inner glow size: ${blockSize}`);
|
|
98
|
+
if (version !== 0 && version !== 2)
|
|
99
|
+
throw new Error(`Invalid inner glow version: ${version}`);
|
|
100
|
+
const size = readFixedPoint32(reader);
|
|
109
101
|
readFixedPoint32(reader); // intensity
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
102
|
+
const color = readColor(reader);
|
|
103
|
+
const blendMode = readBlendMode(reader);
|
|
104
|
+
const enabled = !!readUint8(reader);
|
|
105
|
+
const opacity = readFixedPoint8(reader);
|
|
114
106
|
if (blockSize >= 43) {
|
|
115
107
|
readUint8(reader); // inverted
|
|
116
108
|
readColor(reader); // native color
|
|
117
109
|
}
|
|
118
110
|
effects.innerGlow = {
|
|
119
111
|
size: { units: 'Pixels', value: size },
|
|
120
|
-
color
|
|
121
|
-
blendMode: blendMode,
|
|
122
|
-
enabled: enabled,
|
|
123
|
-
opacity: opacity
|
|
112
|
+
color, blendMode, enabled, opacity
|
|
124
113
|
};
|
|
125
114
|
break;
|
|
126
115
|
}
|
|
127
116
|
case 'bevl': { // bevel (see See Effects layer, bevel info)
|
|
128
|
-
|
|
129
|
-
|
|
117
|
+
const blockSize = readUint32(reader);
|
|
118
|
+
const version = readUint32(reader);
|
|
130
119
|
if (blockSize !== 58 && blockSize !== 78)
|
|
131
|
-
throw new Error(
|
|
132
|
-
if (
|
|
133
|
-
throw new Error(
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
120
|
+
throw new Error(`Invalid bevel size: ${blockSize}`);
|
|
121
|
+
if (version !== 0 && version !== 2)
|
|
122
|
+
throw new Error(`Invalid bevel version: ${version}`);
|
|
123
|
+
const angle = readFixedPoint32(reader);
|
|
124
|
+
const strength = readFixedPoint32(reader);
|
|
125
|
+
const size = readFixedPoint32(reader);
|
|
126
|
+
const highlightBlendMode = readBlendMode(reader);
|
|
127
|
+
const shadowBlendMode = readBlendMode(reader);
|
|
128
|
+
const highlightColor = readColor(reader);
|
|
129
|
+
const shadowColor = readColor(reader);
|
|
130
|
+
const style = bevelStyles[readUint8(reader)] || 'inner bevel';
|
|
131
|
+
const highlightOpacity = readFixedPoint8(reader);
|
|
132
|
+
const shadowOpacity = readFixedPoint8(reader);
|
|
133
|
+
const enabled = !!readUint8(reader);
|
|
134
|
+
const useGlobalLight = !!readUint8(reader);
|
|
135
|
+
const direction = readUint8(reader) ? 'down' : 'up';
|
|
147
136
|
if (blockSize >= 78) {
|
|
148
137
|
readColor(reader); // real highlight color
|
|
149
138
|
readColor(reader); // real shadow color
|
|
150
139
|
}
|
|
151
140
|
effects.bevel = {
|
|
152
141
|
size: { units: 'Pixels', value: size },
|
|
153
|
-
angle
|
|
154
|
-
|
|
155
|
-
highlightBlendMode: highlightBlendMode,
|
|
156
|
-
shadowBlendMode: shadowBlendMode,
|
|
157
|
-
highlightColor: highlightColor,
|
|
158
|
-
shadowColor: shadowColor,
|
|
159
|
-
style: style,
|
|
160
|
-
highlightOpacity: highlightOpacity,
|
|
161
|
-
shadowOpacity: shadowOpacity,
|
|
162
|
-
enabled: enabled,
|
|
163
|
-
useGlobalLight: useGlobalLight,
|
|
164
|
-
direction: direction,
|
|
142
|
+
angle, strength, highlightBlendMode, shadowBlendMode, highlightColor, shadowColor,
|
|
143
|
+
style, highlightOpacity, shadowOpacity, enabled, useGlobalLight, direction,
|
|
165
144
|
};
|
|
166
145
|
break;
|
|
167
146
|
}
|
|
168
147
|
case 'sofi': { // solid fill (Photoshop 7.0) (see See Effects layer, solid fill (added in Photoshop 7.0))
|
|
169
|
-
|
|
170
|
-
|
|
148
|
+
const size = readUint32(reader);
|
|
149
|
+
const version = readUint32(reader);
|
|
171
150
|
if (size !== 34)
|
|
172
|
-
throw new Error(
|
|
173
|
-
if (
|
|
174
|
-
throw new Error(
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
151
|
+
throw new Error(`Invalid effects solid fill info size: ${size}`);
|
|
152
|
+
if (version !== 2)
|
|
153
|
+
throw new Error(`Invalid effects solid fill info version: ${version}`);
|
|
154
|
+
const blendMode = readBlendMode(reader);
|
|
155
|
+
const color = readColor(reader);
|
|
156
|
+
const opacity = readFixedPoint8(reader);
|
|
157
|
+
const enabled = !!readUint8(reader);
|
|
179
158
|
readColor(reader); // native color
|
|
180
|
-
effects.solidFill = [{ blendMode
|
|
159
|
+
effects.solidFill = [{ blendMode, color, opacity, enabled }];
|
|
181
160
|
break;
|
|
182
161
|
}
|
|
183
162
|
default:
|
|
184
|
-
throw new Error(
|
|
163
|
+
throw new Error(`Invalid effect type: '${type}'`);
|
|
185
164
|
}
|
|
186
165
|
}
|
|
187
166
|
return effects;
|
|
@@ -203,13 +182,13 @@ function writeShadowInfo(writer, shadow) {
|
|
|
203
182
|
}
|
|
204
183
|
export function writeEffects(writer, effects) {
|
|
205
184
|
var _a, _b, _c, _d, _e, _f;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
185
|
+
const dropShadow = (_a = effects.dropShadow) === null || _a === void 0 ? void 0 : _a[0];
|
|
186
|
+
const innerShadow = (_b = effects.innerShadow) === null || _b === void 0 ? void 0 : _b[0];
|
|
187
|
+
const outerGlow = effects.outerGlow;
|
|
188
|
+
const innerGlow = effects.innerGlow;
|
|
189
|
+
const bevel = effects.bevel;
|
|
190
|
+
const solidFill = (_c = effects.solidFill) === null || _c === void 0 ? void 0 : _c[0];
|
|
191
|
+
let count = 1;
|
|
213
192
|
if (dropShadow)
|
|
214
193
|
count++;
|
|
215
194
|
if (innerShadow)
|
|
@@ -279,7 +258,7 @@ export function writeEffects(writer, effects) {
|
|
|
279
258
|
writeBlendMode(writer, bevel.shadowBlendMode);
|
|
280
259
|
writeColor(writer, bevel.highlightColor);
|
|
281
260
|
writeColor(writer, bevel.shadowColor);
|
|
282
|
-
|
|
261
|
+
const style = bevelStyles.indexOf(bevel.style);
|
|
283
262
|
writeUint8(writer, style <= 0 ? 1 : style);
|
|
284
263
|
writeFixedPoint8(writer, bevel.highlightOpacity || 0);
|
|
285
264
|
writeFixedPoint8(writer, bevel.shadowOpacity || 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effectsHelpers.js","sourceRoot":"../src/","sources":["effectsHelpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"effectsHelpers.js","sourceRoot":"../src/","sources":["effectsHelpers.ts"],"names":[],"mappings":"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"}
|
package/dist-es/engineData.js
CHANGED
|
@@ -7,14 +7,14 @@ function isNumber(char) {
|
|
|
7
7
|
return (char >= 48 && char <= 57) || char === 46 || char === 45;
|
|
8
8
|
}
|
|
9
9
|
export function parseEngineData(data) {
|
|
10
|
-
|
|
10
|
+
let index = 0;
|
|
11
11
|
function skipWhitespace() {
|
|
12
12
|
while (index < data.length && isWhitespace(data[index])) {
|
|
13
13
|
index++;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
function getTextByte() {
|
|
17
|
-
|
|
17
|
+
let byte = data[index];
|
|
18
18
|
index++;
|
|
19
19
|
if (byte === 92) { // \
|
|
20
20
|
byte = data[index];
|
|
@@ -23,7 +23,7 @@ export function parseEngineData(data) {
|
|
|
23
23
|
return byte;
|
|
24
24
|
}
|
|
25
25
|
function getText() {
|
|
26
|
-
|
|
26
|
+
let result = '';
|
|
27
27
|
if (data[index] === 41) { // )
|
|
28
28
|
index++;
|
|
29
29
|
return result;
|
|
@@ -36,16 +36,16 @@ export function parseEngineData(data) {
|
|
|
36
36
|
// ), ( and \ characters are escaped in ascii manner, remove the escapes before interpreting
|
|
37
37
|
// the bytes as utf-16
|
|
38
38
|
while (index < data.length && data[index] !== 41) { // )
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
const high = getTextByte();
|
|
40
|
+
const low = getTextByte();
|
|
41
|
+
const char = (high << 8) | low;
|
|
42
42
|
result += String.fromCharCode(char);
|
|
43
43
|
}
|
|
44
44
|
index++;
|
|
45
45
|
return result;
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
let root = null;
|
|
48
|
+
const stack = [];
|
|
49
49
|
function pushContainer(value) {
|
|
50
50
|
if (!stack.length) {
|
|
51
51
|
stack.push(value);
|
|
@@ -59,7 +59,7 @@ export function parseEngineData(data) {
|
|
|
59
59
|
function pushValue(value) {
|
|
60
60
|
if (!stack.length)
|
|
61
61
|
throw new Error('Invalid data');
|
|
62
|
-
|
|
62
|
+
const top = stack[stack.length - 1];
|
|
63
63
|
if (typeof top === 'string') {
|
|
64
64
|
stack[stack.length - 2][top] = value;
|
|
65
65
|
pop();
|
|
@@ -74,13 +74,13 @@ export function parseEngineData(data) {
|
|
|
74
74
|
function pushProperty(name) {
|
|
75
75
|
if (!stack.length)
|
|
76
76
|
pushContainer({});
|
|
77
|
-
|
|
77
|
+
const top = stack[stack.length - 1];
|
|
78
78
|
if (top && typeof top === 'string') {
|
|
79
79
|
if (name === 'nil') {
|
|
80
80
|
pushValue(null);
|
|
81
81
|
}
|
|
82
82
|
else {
|
|
83
|
-
pushValue(
|
|
83
|
+
pushValue(`/${name}`);
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
else if (top && typeof top === 'object') {
|
|
@@ -96,12 +96,12 @@ export function parseEngineData(data) {
|
|
|
96
96
|
stack.pop();
|
|
97
97
|
}
|
|
98
98
|
skipWhitespace();
|
|
99
|
-
|
|
99
|
+
let dataLength = data.length;
|
|
100
100
|
while (dataLength > 0 && data[dataLength - 1] === 0)
|
|
101
101
|
dataLength--; // trim 0 bytes from end
|
|
102
102
|
while (index < dataLength) {
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
const i = index;
|
|
104
|
+
const char = data[i];
|
|
105
105
|
if (char === 60 && data[i + 1] === 60) { // <<
|
|
106
106
|
index += 2;
|
|
107
107
|
pushContainer({});
|
|
@@ -112,15 +112,15 @@ export function parseEngineData(data) {
|
|
|
112
112
|
}
|
|
113
113
|
else if (char === 47) { // /
|
|
114
114
|
index += 1;
|
|
115
|
-
|
|
115
|
+
const start = index;
|
|
116
116
|
while (index < data.length && !isWhitespace(data[index])) {
|
|
117
117
|
index++;
|
|
118
118
|
}
|
|
119
|
-
|
|
120
|
-
for (
|
|
121
|
-
|
|
119
|
+
let name = '';
|
|
120
|
+
for (let i = start; i < index; i++) {
|
|
121
|
+
name += String.fromCharCode(data[i]);
|
|
122
122
|
}
|
|
123
|
-
pushProperty(
|
|
123
|
+
pushProperty(name);
|
|
124
124
|
}
|
|
125
125
|
else if (char === 40) { // (
|
|
126
126
|
index += 1;
|
|
@@ -147,7 +147,7 @@ export function parseEngineData(data) {
|
|
|
147
147
|
pushValue(false);
|
|
148
148
|
}
|
|
149
149
|
else if (isNumber(char)) {
|
|
150
|
-
|
|
150
|
+
let value = '';
|
|
151
151
|
while (index < data.length && isNumber(data[index])) {
|
|
152
152
|
value += String.fromCharCode(data[index]);
|
|
153
153
|
index++;
|
|
@@ -156,7 +156,7 @@ export function parseEngineData(data) {
|
|
|
156
156
|
}
|
|
157
157
|
else {
|
|
158
158
|
index += 1;
|
|
159
|
-
console.log(
|
|
159
|
+
console.log(`Invalid token '${String.fromCharCode(char)}' (${char}) at ${index}`
|
|
160
160
|
// + ` near '${String.fromCharCode.apply(null, data.slice(index - 10, index + 20) as any)}'`
|
|
161
161
|
// + ` data [${Array.from(data.slice(index - 10, index + 20)).join(', ')}]`
|
|
162
162
|
);
|
|
@@ -166,22 +166,21 @@ export function parseEngineData(data) {
|
|
|
166
166
|
}
|
|
167
167
|
return root;
|
|
168
168
|
}
|
|
169
|
-
|
|
169
|
+
const floatKeys = [
|
|
170
170
|
'Axis', 'XY', 'Zone', 'WordSpacing', 'FirstLineIndent', 'GlyphSpacing', 'StartIndent', 'EndIndent', 'SpaceBefore',
|
|
171
171
|
'SpaceAfter', 'LetterSpacing', 'Values', 'GridSize', 'GridLeading', 'PointBase', 'BoxBounds', 'TransformPoint0', 'TransformPoint1',
|
|
172
172
|
'TransformPoint2', 'FontSize', 'Leading', 'HorizontalScale', 'VerticalScale', 'BaselineShift', 'Tsume',
|
|
173
173
|
'OutlineWidth', 'AutoLeading',
|
|
174
174
|
];
|
|
175
|
-
|
|
175
|
+
const intArrays = ['RunLengthArray'];
|
|
176
176
|
// TODO: handle /nil
|
|
177
|
-
export function serializeEngineData(data, condensed) {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
var indent = 0;
|
|
177
|
+
export function serializeEngineData(data, condensed = false) {
|
|
178
|
+
let buffer = new Uint8Array(1024);
|
|
179
|
+
let offset = 0;
|
|
180
|
+
let indent = 0;
|
|
182
181
|
function write(value) {
|
|
183
182
|
if (offset >= buffer.length) {
|
|
184
|
-
|
|
183
|
+
const newBuffer = new Uint8Array(buffer.length * 2);
|
|
185
184
|
newBuffer.set(buffer);
|
|
186
185
|
buffer = newBuffer;
|
|
187
186
|
}
|
|
@@ -189,7 +188,7 @@ export function serializeEngineData(data, condensed) {
|
|
|
189
188
|
offset++;
|
|
190
189
|
}
|
|
191
190
|
function writeString(value) {
|
|
192
|
-
for (
|
|
191
|
+
for (let i = 0; i < value.length; i++) {
|
|
193
192
|
write(value.charCodeAt(i));
|
|
194
193
|
}
|
|
195
194
|
}
|
|
@@ -198,14 +197,14 @@ export function serializeEngineData(data, condensed) {
|
|
|
198
197
|
writeString(' ');
|
|
199
198
|
}
|
|
200
199
|
else {
|
|
201
|
-
for (
|
|
200
|
+
for (let i = 0; i < indent; i++) {
|
|
202
201
|
writeString('\t');
|
|
203
202
|
}
|
|
204
203
|
}
|
|
205
204
|
}
|
|
206
205
|
function writeProperty(key, value) {
|
|
207
206
|
writeIndent();
|
|
208
|
-
writeString(
|
|
207
|
+
writeString(`/${key}`);
|
|
209
208
|
writeValue(value, key, true);
|
|
210
209
|
if (!condensed)
|
|
211
210
|
writeString('\n');
|
|
@@ -220,15 +219,15 @@ export function serializeEngineData(data, condensed) {
|
|
|
220
219
|
.replace(/^-0+\.0(\d)/g, '-.0$1');
|
|
221
220
|
}
|
|
222
221
|
function serializeNumber(value, key) {
|
|
223
|
-
|
|
222
|
+
const isFloat = (key && floatKeys.indexOf(key) !== -1) || (value | 0) !== value;
|
|
224
223
|
return isFloat ? serializeFloat(value) : serializeInt(value);
|
|
225
224
|
}
|
|
226
225
|
function getKeys(value) {
|
|
227
|
-
|
|
226
|
+
const keys = Object.keys(value);
|
|
228
227
|
if (keys.indexOf('98') !== -1)
|
|
229
|
-
keys.unshift
|
|
228
|
+
keys.unshift(...keys.splice(keys.indexOf('99'), 1));
|
|
230
229
|
if (keys.indexOf('99') !== -1)
|
|
231
|
-
keys.unshift
|
|
230
|
+
keys.unshift(...keys.splice(keys.indexOf('99'), 1));
|
|
232
231
|
return keys;
|
|
233
232
|
}
|
|
234
233
|
function writeStringByte(value) {
|
|
@@ -237,8 +236,7 @@ export function serializeEngineData(data, condensed) {
|
|
|
237
236
|
}
|
|
238
237
|
write(value);
|
|
239
238
|
}
|
|
240
|
-
function writeValue(value, key, inProperty) {
|
|
241
|
-
if (inProperty === void 0) { inProperty = false; }
|
|
239
|
+
function writeValue(value, key, inProperty = false) {
|
|
242
240
|
function writePrefix() {
|
|
243
241
|
if (inProperty) {
|
|
244
242
|
writeString(' ');
|
|
@@ -268,8 +266,8 @@ export function serializeEngineData(data, condensed) {
|
|
|
268
266
|
writeString('(');
|
|
269
267
|
write(0xfe);
|
|
270
268
|
write(0xff);
|
|
271
|
-
for (
|
|
272
|
-
|
|
269
|
+
for (let i = 0; i < value.length; i++) {
|
|
270
|
+
const code = value.charCodeAt(i);
|
|
273
271
|
writeStringByte((code >> 8) & 0xff);
|
|
274
272
|
writeStringByte(code & 0xff);
|
|
275
273
|
}
|
|
@@ -278,11 +276,10 @@ export function serializeEngineData(data, condensed) {
|
|
|
278
276
|
}
|
|
279
277
|
else if (Array.isArray(value)) {
|
|
280
278
|
writePrefix();
|
|
281
|
-
if (value.every(
|
|
279
|
+
if (value.every(x => typeof x === 'number')) {
|
|
282
280
|
writeString('[');
|
|
283
|
-
|
|
284
|
-
for (
|
|
285
|
-
var x = value_1[_i];
|
|
281
|
+
const intArray = intArrays.indexOf(key) !== -1;
|
|
282
|
+
for (const x of value) {
|
|
286
283
|
writeString(' ');
|
|
287
284
|
writeString(intArray ? serializeNumber(x) : serializeFloat(x));
|
|
288
285
|
}
|
|
@@ -292,8 +289,7 @@ export function serializeEngineData(data, condensed) {
|
|
|
292
289
|
writeString('[');
|
|
293
290
|
if (!condensed)
|
|
294
291
|
writeString('\n');
|
|
295
|
-
for (
|
|
296
|
-
var x = value_2[_a];
|
|
292
|
+
for (const x of value) {
|
|
297
293
|
writeValue(x, key);
|
|
298
294
|
if (!condensed)
|
|
299
295
|
writeString('\n');
|
|
@@ -310,9 +306,8 @@ export function serializeEngineData(data, condensed) {
|
|
|
310
306
|
if (!condensed)
|
|
311
307
|
writeString('\n');
|
|
312
308
|
indent++;
|
|
313
|
-
for (
|
|
314
|
-
|
|
315
|
-
writeProperty(key_1, value[key_1]);
|
|
309
|
+
for (const key of getKeys(value)) {
|
|
310
|
+
writeProperty(key, value[key]);
|
|
316
311
|
}
|
|
317
312
|
indent--;
|
|
318
313
|
writeIndent();
|
|
@@ -322,8 +317,7 @@ export function serializeEngineData(data, condensed) {
|
|
|
322
317
|
}
|
|
323
318
|
if (condensed) {
|
|
324
319
|
if (typeof data === 'object') {
|
|
325
|
-
for (
|
|
326
|
-
var key = _a[_i];
|
|
320
|
+
for (const key of getKeys(data)) {
|
|
327
321
|
writeProperty(key, data[key]);
|
|
328
322
|
}
|
|
329
323
|
}
|