2023-07-27 07:04:13 +00:00
|
|
|
var __assign = (this && this.__assign) || function () {
|
|
|
|
__assign = Object.assign || function(t) {
|
|
|
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
|
|
s = arguments[i];
|
|
|
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
|
|
t[p] = s[p];
|
|
|
|
}
|
|
|
|
return t;
|
|
|
|
};
|
|
|
|
return __assign.apply(this, arguments);
|
|
|
|
};
|
|
|
|
var defaultFont = {
|
|
|
|
name: 'MyriadPro-Regular',
|
|
|
|
script: 0,
|
|
|
|
type: 0,
|
|
|
|
synthetic: 0,
|
|
|
|
};
|
|
|
|
var defaultParagraphStyle = {
|
|
|
|
justification: 'left',
|
|
|
|
firstLineIndent: 0,
|
|
|
|
startIndent: 0,
|
|
|
|
endIndent: 0,
|
|
|
|
spaceBefore: 0,
|
|
|
|
spaceAfter: 0,
|
|
|
|
autoHyphenate: true,
|
|
|
|
hyphenatedWordSize: 6,
|
|
|
|
preHyphen: 2,
|
|
|
|
postHyphen: 2,
|
|
|
|
consecutiveHyphens: 8,
|
|
|
|
zone: 36,
|
|
|
|
wordSpacing: [0.8, 1, 1.33],
|
|
|
|
letterSpacing: [0, 0, 0],
|
|
|
|
glyphSpacing: [1, 1, 1],
|
|
|
|
autoLeading: 1.2,
|
|
|
|
leadingType: 0,
|
|
|
|
hanging: false,
|
|
|
|
burasagari: false,
|
|
|
|
kinsokuOrder: 0,
|
|
|
|
everyLineComposer: false,
|
|
|
|
};
|
|
|
|
var defaultStyle = {
|
|
|
|
font: defaultFont,
|
|
|
|
fontSize: 12,
|
|
|
|
fauxBold: false,
|
|
|
|
fauxItalic: false,
|
|
|
|
autoLeading: true,
|
|
|
|
leading: 0,
|
|
|
|
horizontalScale: 1,
|
|
|
|
verticalScale: 1,
|
|
|
|
tracking: 0,
|
|
|
|
autoKerning: true,
|
|
|
|
kerning: 0,
|
|
|
|
baselineShift: 0,
|
|
|
|
fontCaps: 0,
|
|
|
|
fontBaseline: 0,
|
|
|
|
underline: false,
|
|
|
|
strikethrough: false,
|
|
|
|
ligatures: true,
|
|
|
|
dLigatures: false,
|
|
|
|
baselineDirection: 2,
|
|
|
|
tsume: 0,
|
|
|
|
styleRunAlignment: 2,
|
|
|
|
language: 0,
|
|
|
|
noBreak: false,
|
|
|
|
fillColor: { r: 0, g: 0, b: 0 },
|
|
|
|
strokeColor: { r: 0, g: 0, b: 0 },
|
|
|
|
fillFlag: true,
|
|
|
|
strokeFlag: false,
|
|
|
|
fillFirst: true,
|
|
|
|
yUnderline: 1,
|
|
|
|
outlineWidth: 1,
|
|
|
|
characterDirection: 0,
|
|
|
|
hindiNumbers: false,
|
|
|
|
kashida: 1,
|
|
|
|
diacriticPos: 2,
|
|
|
|
};
|
|
|
|
var defaultGridInfo = {
|
|
|
|
isOn: false,
|
|
|
|
show: false,
|
|
|
|
size: 18,
|
|
|
|
leading: 22,
|
|
|
|
color: { r: 0, g: 0, b: 255 },
|
|
|
|
leadingFillColor: { r: 0, g: 0, b: 255 },
|
|
|
|
alignLineHeightToGridFlags: false,
|
|
|
|
};
|
|
|
|
var paragraphStyleKeys = [
|
|
|
|
'justification', 'firstLineIndent', 'startIndent', 'endIndent', 'spaceBefore', 'spaceAfter',
|
|
|
|
'autoHyphenate', 'hyphenatedWordSize', 'preHyphen', 'postHyphen', 'consecutiveHyphens',
|
|
|
|
'zone', 'wordSpacing', 'letterSpacing', 'glyphSpacing', 'autoLeading', 'leadingType',
|
|
|
|
'hanging', 'burasagari', 'kinsokuOrder', 'everyLineComposer',
|
|
|
|
];
|
|
|
|
var styleKeys = [
|
|
|
|
'font', 'fontSize', 'fauxBold', 'fauxItalic', 'autoLeading', 'leading', 'horizontalScale',
|
|
|
|
'verticalScale', 'tracking', 'autoKerning', 'kerning', 'baselineShift', 'fontCaps', 'fontBaseline',
|
|
|
|
'underline', 'strikethrough', 'ligatures', 'dLigatures', 'baselineDirection', 'tsume',
|
|
|
|
'styleRunAlignment', 'language', 'noBreak', 'fillColor', 'strokeColor', 'fillFlag',
|
|
|
|
'strokeFlag', 'fillFirst', 'yUnderline', 'outlineWidth', 'characterDirection', 'hindiNumbers',
|
|
|
|
'kashida', 'diacriticPos',
|
|
|
|
];
|
|
|
|
var antialias = ['none', 'crisp', 'strong', 'smooth', 'sharp'];
|
|
|
|
var justification = ['left', 'right', 'center'];
|
|
|
|
function upperFirst(value) {
|
|
|
|
return value.substr(0, 1).toUpperCase() + value.substr(1);
|
|
|
|
}
|
|
|
|
function decodeColor(color) {
|
|
|
|
var c = color.Values;
|
|
|
|
if (color.Type === 0) { // grayscale
|
|
|
|
return { r: c[1] * 255, g: c[1] * 255, b: c[1] * 255 }; // , c[0] * 255];
|
|
|
|
}
|
|
|
|
else { // rgb
|
|
|
|
return { r: c[1] * 255, g: c[2] * 255, b: c[3] * 255, a: c[0] }; // , c[0] * 255];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function encodeColor(color) {
|
|
|
|
if (color && 'r' in color) {
|
|
|
|
return ['a' in color ? color.a : 1, color.r / 255, color.g / 255, color.b / 255];
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
return [0, 0, 0, 0];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function arraysEqual(a, b) {
|
|
|
|
if (!a || !b)
|
|
|
|
return false;
|
|
|
|
if (a.length !== b.length)
|
|
|
|
return false;
|
|
|
|
for (var i = 0; i < a.length; i++)
|
|
|
|
if (a[i] !== b[i])
|
|
|
|
return false;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function objectsEqual(a, b) {
|
|
|
|
if (!a || !b)
|
|
|
|
return false;
|
|
|
|
for (var _i = 0, _a = Object.keys(a); _i < _a.length; _i++) {
|
|
|
|
var key = _a[_i];
|
|
|
|
if (a[key] !== b[key])
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
for (var _b = 0, _c = Object.keys(b); _b < _c.length; _b++) {
|
|
|
|
var key = _c[_b];
|
|
|
|
if (a[key] !== b[key])
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
function findOrAddFont(fonts, font) {
|
|
|
|
for (var i = 0; i < fonts.length; i++) {
|
|
|
|
if (fonts[i].name === font.name)
|
|
|
|
return i;
|
|
|
|
}
|
|
|
|
fonts.push(font);
|
|
|
|
return fonts.length - 1;
|
|
|
|
}
|
|
|
|
function decodeObject(obj, keys, fonts) {
|
|
|
|
var result = {};
|
|
|
|
for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
|
|
|
|
var key = keys_1[_i];
|
|
|
|
var Key = upperFirst(key);
|
|
|
|
if (obj[Key] === undefined)
|
|
|
|
continue;
|
|
|
|
if (key === 'justification') {
|
|
|
|
result[key] = justification[obj[Key]];
|
|
|
|
}
|
|
|
|
else if (key === 'font') {
|
|
|
|
result[key] = fonts[obj[Key]];
|
|
|
|
}
|
|
|
|
else if (key === 'fillColor' || key === 'strokeColor') {
|
|
|
|
result[key] = decodeColor(obj[Key]);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
result[key] = obj[Key];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
function encodeObject(obj, keys, fonts) {
|
|
|
|
var _a;
|
|
|
|
var result = {};
|
|
|
|
for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {
|
|
|
|
var key = keys_2[_i];
|
|
|
|
var Key = upperFirst(key);
|
|
|
|
if (obj[key] === undefined)
|
|
|
|
continue;
|
|
|
|
if (key === 'justification') {
|
|
|
|
result[Key] = justification.indexOf((_a = obj[key]) !== null && _a !== void 0 ? _a : 'left');
|
|
|
|
}
|
|
|
|
else if (key === 'font') {
|
|
|
|
result[Key] = findOrAddFont(fonts, obj[key]);
|
|
|
|
}
|
|
|
|
else if (key === 'fillColor' || key === 'strokeColor') {
|
|
|
|
result[Key] = { Type: 1, Values: encodeColor(obj[key]) };
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
result[Key] = obj[key];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
function decodeParagraphStyle(obj, fonts) {
|
|
|
|
return decodeObject(obj, paragraphStyleKeys, fonts);
|
|
|
|
}
|
|
|
|
function decodeStyle(obj, fonts) {
|
|
|
|
return decodeObject(obj, styleKeys, fonts);
|
|
|
|
}
|
|
|
|
function encodeParagraphStyle(obj, fonts) {
|
|
|
|
return encodeObject(obj, paragraphStyleKeys, fonts);
|
|
|
|
}
|
|
|
|
function encodeStyle(obj, fonts) {
|
|
|
|
return encodeObject(obj, styleKeys, fonts);
|
|
|
|
}
|
|
|
|
function deduplicateValues(base, runs, keys) {
|
|
|
|
if (!runs.length)
|
|
|
|
return;
|
|
|
|
var _loop_1 = function (key) {
|
|
|
|
var value = runs[0].style[key];
|
|
|
|
if (value !== undefined) {
|
|
|
|
var identical = false;
|
|
|
|
if (Array.isArray(value)) {
|
|
|
|
identical = runs.every(function (r) { return arraysEqual(r.style[key], value); });
|
|
|
|
}
|
|
|
|
else if (typeof value === 'object') {
|
|
|
|
identical = runs.every(function (r) { return objectsEqual(r.style[key], value); });
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
identical = runs.every(function (r) { return r.style[key] === value; });
|
|
|
|
}
|
|
|
|
if (identical) {
|
|
|
|
base[key] = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var styleValue = base[key];
|
|
|
|
if (styleValue !== undefined) {
|
|
|
|
for (var _a = 0, runs_1 = runs; _a < runs_1.length; _a++) {
|
|
|
|
var r = runs_1[_a];
|
|
|
|
var same = false;
|
|
|
|
if (Array.isArray(value)) {
|
|
|
|
same = arraysEqual(r.style[key], value);
|
|
|
|
}
|
|
|
|
else if (typeof value === 'object') {
|
|
|
|
same = objectsEqual(r.style[key], value);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
same = r.style[key] === value;
|
|
|
|
}
|
|
|
|
if (same)
|
|
|
|
delete r.style[key];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
for (var _i = 0, keys_3 = keys; _i < keys_3.length; _i++) {
|
|
|
|
var key = keys_3[_i];
|
|
|
|
_loop_1(key);
|
|
|
|
}
|
|
|
|
if (runs.every(function (x) { return Object.keys(x.style).length === 0; })) {
|
|
|
|
runs.length = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
export function decodeEngineData(engineData) {
|
|
|
|
var _a, _b, _c, _d, _e, _f;
|
|
|
|
// console.log('engineData', require('util').inspect(engineData, false, 99, true));
|
|
|
|
var engineDict = engineData.EngineDict;
|
|
|
|
var resourceDict = engineData.ResourceDict;
|
|
|
|
var fonts = resourceDict.FontSet.map(function (f) { return ({
|
|
|
|
name: f.Name,
|
|
|
|
script: f.Script,
|
|
|
|
type: f.FontType,
|
|
|
|
synthetic: f.Synthetic,
|
|
|
|
}); });
|
|
|
|
var text = engineDict.Editor.Text.replace(/\r/g, '\n');
|
|
|
|
var removedCharacters = 0;
|
|
|
|
while (/\n$/.test(text)) {
|
|
|
|
text = text.substr(0, text.length - 1);
|
|
|
|
removedCharacters++;
|
|
|
|
}
|
|
|
|
var result = {
|
|
|
|
text: text,
|
|
|
|
antiAlias: (_a = antialias[engineDict.AntiAlias]) !== null && _a !== void 0 ? _a : 'smooth',
|
|
|
|
useFractionalGlyphWidths: !!engineDict.UseFractionalGlyphWidths,
|
|
|
|
superscriptSize: resourceDict.SuperscriptSize,
|
|
|
|
superscriptPosition: resourceDict.SuperscriptPosition,
|
|
|
|
subscriptSize: resourceDict.SubscriptSize,
|
|
|
|
subscriptPosition: resourceDict.SubscriptPosition,
|
|
|
|
smallCapSize: resourceDict.SmallCapSize,
|
|
|
|
};
|
|
|
|
// shape
|
|
|
|
var photoshop = (_f = (_e = (_d = (_c = (_b = engineDict.Rendered) === null || _b === void 0 ? void 0 : _b.Shapes) === null || _c === void 0 ? void 0 : _c.Children) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.Cookie) === null || _f === void 0 ? void 0 : _f.Photoshop;
|
|
|
|
if (photoshop) {
|
|
|
|
result.shapeType = photoshop.ShapeType === 1 ? 'box' : 'point';
|
|
|
|
if (photoshop.PointBase)
|
|
|
|
result.pointBase = photoshop.PointBase;
|
|
|
|
if (photoshop.BoxBounds)
|
|
|
|
result.boxBounds = photoshop.BoxBounds;
|
|
|
|
}
|
|
|
|
// paragraph style
|
|
|
|
// const theNormalParagraphSheet = resourceDict.TheNormalParagraphSheet;
|
|
|
|
// const paragraphSheetSet = resourceDict.ParagraphSheetSet;
|
|
|
|
// const paragraphProperties = paragraphSheetSet[theNormalParagraphSheet].Properties;
|
|
|
|
var paragraphRun = engineData.EngineDict.ParagraphRun;
|
|
|
|
result.paragraphStyle = {}; // decodeParagraphStyle(paragraphProperties, fonts);
|
|
|
|
result.paragraphStyleRuns = [];
|
|
|
|
for (var i = 0; i < paragraphRun.RunArray.length; i++) {
|
|
|
|
var run_1 = paragraphRun.RunArray[i];
|
|
|
|
var length_1 = paragraphRun.RunLengthArray[i];
|
|
|
|
var style = decodeParagraphStyle(run_1.ParagraphSheet.Properties, fonts);
|
|
|
|
// const adjustments = {
|
|
|
|
// axis: run.Adjustments.Axis,
|
|
|
|
// xy: run.Adjustments.XY,
|
|
|
|
// };
|
|
|
|
result.paragraphStyleRuns.push({ length: length_1, style: style /*, adjustments*/ });
|
|
|
|
}
|
|
|
|
for (var counter = removedCharacters; result.paragraphStyleRuns.length && counter > 0; counter--) {
|
|
|
|
if (--result.paragraphStyleRuns[result.paragraphStyleRuns.length - 1].length === 0) {
|
|
|
|
result.paragraphStyleRuns.pop();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
deduplicateValues(result.paragraphStyle, result.paragraphStyleRuns, paragraphStyleKeys);
|
|
|
|
if (!result.paragraphStyleRuns.length)
|
|
|
|
delete result.paragraphStyleRuns;
|
|
|
|
// style
|
|
|
|
// const theNormalStyleSheet = resourceDict.TheNormalStyleSheet;
|
|
|
|
// const styleSheetSet = resourceDict.StyleSheetSet;
|
|
|
|
// const styleSheetData = styleSheetSet[theNormalStyleSheet].StyleSheetData;
|
|
|
|
var styleRun = engineData.EngineDict.StyleRun;
|
|
|
|
result.style = {}; // decodeStyle(styleSheetData, fonts);
|
|
|
|
result.styleRuns = [];
|
|
|
|
for (var i = 0; i < styleRun.RunArray.length; i++) {
|
|
|
|
var length_2 = styleRun.RunLengthArray[i];
|
|
|
|
var style = decodeStyle(styleRun.RunArray[i].StyleSheet.StyleSheetData, fonts);
|
|
|
|
result.styleRuns.push({ length: length_2, style: style });
|
|
|
|
}
|
|
|
|
for (var counter = removedCharacters; result.styleRuns.length && counter > 0; counter--) {
|
|
|
|
if (--result.styleRuns[result.styleRuns.length - 1].length === 0) {
|
|
|
|
result.styleRuns.pop();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
deduplicateValues(result.style, result.styleRuns, styleKeys);
|
|
|
|
if (!result.styleRuns.length)
|
|
|
|
delete result.styleRuns;
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
export function encodeEngineData(data) {
|
|
|
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
|
|
var text = "".concat((data.text || '').replace(/\r?\n/g, '\r'), "\r");
|
|
|
|
var fonts = [
|
|
|
|
{ name: 'AdobeInvisFont', script: 0, type: 0, synthetic: 0 },
|
|
|
|
];
|
|
|
|
var defFont = ((_a = data.style) === null || _a === void 0 ? void 0 : _a.font) || ((_c = (_b = data.styleRuns) === null || _b === void 0 ? void 0 : _b.find(function (s) { return s.style.font; })) === null || _c === void 0 ? void 0 : _c.style.font) || defaultFont;
|
|
|
|
var paragraphRunArray = [];
|
|
|
|
var paragraphRunLengthArray = [];
|
|
|
|
var paragraphRuns = data.paragraphStyleRuns;
|
|
|
|
if (paragraphRuns && paragraphRuns.length) {
|
|
|
|
var leftLength_1 = text.length;
|
|
|
|
for (var _i = 0, paragraphRuns_1 = paragraphRuns; _i < paragraphRuns_1.length; _i++) {
|
|
|
|
var run_2 = paragraphRuns_1[_i];
|
|
|
|
var runLength = Math.min(run_2.length, leftLength_1);
|
|
|
|
leftLength_1 -= runLength;
|
|
|
|
if (!runLength)
|
|
|
|
continue; // ignore 0 size runs
|
|
|
|
// extend last run if it's only for trailing \r
|
|
|
|
if (leftLength_1 === 1 && run_2 === paragraphRuns[paragraphRuns.length - 1]) {
|
|
|
|
runLength++;
|
|
|
|
leftLength_1--;
|
|
|
|
}
|
|
|
|
paragraphRunLengthArray.push(runLength);
|
|
|
|
paragraphRunArray.push({
|
|
|
|
ParagraphSheet: {
|
|
|
|
DefaultStyleSheet: 0,
|
|
|
|
Properties: encodeParagraphStyle(__assign(__assign(__assign({}, defaultParagraphStyle), data.paragraphStyle), run_2.style), fonts),
|
|
|
|
},
|
|
|
|
Adjustments: { Axis: [1, 0, 1], XY: [0, 0] },
|
|
|
|
});
|
|
|
|
}
|
|
|
|
if (leftLength_1) {
|
|
|
|
paragraphRunLengthArray.push(leftLength_1);
|
|
|
|
paragraphRunArray.push({
|
|
|
|
ParagraphSheet: {
|
|
|
|
DefaultStyleSheet: 0,
|
|
|
|
Properties: encodeParagraphStyle(__assign(__assign({}, defaultParagraphStyle), data.paragraphStyle), fonts),
|
|
|
|
},
|
|
|
|
Adjustments: { Axis: [1, 0, 1], XY: [0, 0] },
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
for (var i = 0, last = 0; i < text.length; i++) {
|
|
|
|
if (text.charCodeAt(i) === 13) { // \r
|
|
|
|
paragraphRunLengthArray.push(i - last + 1);
|
|
|
|
paragraphRunArray.push({
|
|
|
|
ParagraphSheet: {
|
|
|
|
DefaultStyleSheet: 0,
|
|
|
|
Properties: encodeParagraphStyle(__assign(__assign({}, defaultParagraphStyle), data.paragraphStyle), fonts),
|
|
|
|
},
|
|
|
|
Adjustments: { Axis: [1, 0, 1], XY: [0, 0] },
|
|
|
|
});
|
|
|
|
last = i + 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var styleSheetData = encodeStyle(__assign(__assign({}, defaultStyle), { font: defFont }), fonts);
|
|
|
|
var styleRuns = data.styleRuns || [{ length: text.length, style: data.style || {} }];
|
|
|
|
var styleRunArray = [];
|
|
|
|
var styleRunLengthArray = [];
|
|
|
|
var leftLength = text.length;
|
|
|
|
for (var _o = 0, styleRuns_1 = styleRuns; _o < styleRuns_1.length; _o++) {
|
|
|
|
var run_3 = styleRuns_1[_o];
|
|
|
|
var runLength = Math.min(run_3.length, leftLength);
|
|
|
|
leftLength -= runLength;
|
|
|
|
if (!runLength)
|
|
|
|
continue; // ignore 0 size runs
|
|
|
|
// extend last run if it's only for trailing \r
|
|
|
|
if (leftLength === 1 && run_3 === styleRuns[styleRuns.length - 1]) {
|
|
|
|
runLength++;
|
|
|
|
leftLength--;
|
|
|
|
}
|
|
|
|
styleRunLengthArray.push(runLength);
|
|
|
|
styleRunArray.push({
|
|
|
|
StyleSheet: {
|
|
|
|
StyleSheetData: encodeStyle(__assign(__assign({ kerning: 0, autoKerning: true, fillColor: { r: 0, g: 0, b: 0 } }, data.style), run_3.style), fonts),
|
|
|
|
},
|
|
|
|
});
|
|
|
|
}
|
|
|
|
// add extra run to the end if existing ones didn't fill it up
|
|
|
|
if (leftLength && styleRuns.length) {
|
|
|
|
styleRunLengthArray.push(leftLength);
|
|
|
|
styleRunArray.push({
|
|
|
|
StyleSheet: {
|
|
|
|
StyleSheetData: encodeStyle(__assign({ kerning: 0, autoKerning: true, fillColor: { r: 0, g: 0, b: 0 } }, data.style), fonts),
|
|
|
|
},
|
|
|
|
});
|
|
|
|
}
|
|
|
|
var gridInfo = __assign(__assign({}, defaultGridInfo), data.gridInfo);
|
|
|
|
var WritingDirection = data.orientation === 'vertical' ? 2 : 0;
|
|
|
|
var Procession = data.orientation === 'vertical' ? 1 : 0;
|
|
|
|
var ShapeType = data.shapeType === 'box' ? 1 : 0;
|
|
|
|
var Photoshop = {
|
|
|
|
ShapeType: ShapeType,
|
|
|
|
};
|
|
|
|
if (ShapeType === 0) {
|
|
|
|
Photoshop.PointBase = data.pointBase || [0, 0];
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
Photoshop.BoxBounds = data.boxBounds || [0, 0, 0, 0];
|
|
|
|
}
|
|
|
|
// needed for correct order of properties
|
|
|
|
Photoshop.Base = {
|
|
|
|
ShapeType: ShapeType,
|
|
|
|
TransformPoint0: [1, 0],
|
|
|
|
TransformPoint1: [0, 1],
|
|
|
|
TransformPoint2: [0, 0],
|
|
|
|
};
|
|
|
|
var defaultResources = {
|
|
|
|
KinsokuSet: [
|
|
|
|
{
|
|
|
|
Name: 'PhotoshopKinsokuHard',
|
|
|
|
NoStart: '、。,.・:;?!ー―’”)〕]}〉》」』】ヽヾゝゞ々ぁぃぅぇぉっゃゅょゎァィゥェォッャュョヮヵヶ゛゜?!)]},.:;℃℉¢%‰',
|
|
|
|
NoEnd: '‘“(〔[{〈《「『【([{¥$£@§〒#',
|
|
|
|
Keep: '―‥',
|
|
|
|
Hanging: '、。.,',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
Name: 'PhotoshopKinsokuSoft',
|
|
|
|
NoStart: '、。,.・:;?!’”)〕]}〉》」』】ヽヾゝゞ々',
|
|
|
|
NoEnd: '‘“(〔[{〈《「『【',
|
|
|
|
Keep: '―‥',
|
|
|
|
Hanging: '、。.,',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
MojiKumiSet: [
|
|
|
|
{ InternalName: 'Photoshop6MojiKumiSet1' },
|
|
|
|
{ InternalName: 'Photoshop6MojiKumiSet2' },
|
|
|
|
{ InternalName: 'Photoshop6MojiKumiSet3' },
|
|
|
|
{ InternalName: 'Photoshop6MojiKumiSet4' },
|
|
|
|
],
|
|
|
|
TheNormalStyleSheet: 0,
|
|
|
|
TheNormalParagraphSheet: 0,
|
|
|
|
ParagraphSheetSet: [
|
|
|
|
{
|
|
|
|
Name: 'Normal RGB',
|
|
|
|
DefaultStyleSheet: 0,
|
|
|
|
Properties: encodeParagraphStyle(__assign(__assign({}, defaultParagraphStyle), data.paragraphStyle), fonts),
|
|
|
|
},
|
|
|
|
],
|
|
|
|
StyleSheetSet: [
|
|
|
|
{
|
|
|
|
Name: 'Normal RGB',
|
|
|
|
StyleSheetData: styleSheetData,
|
|
|
|
},
|
|
|
|
],
|
|
|
|
FontSet: fonts.map(function (f) { return ({
|
|
|
|
Name: f.name,
|
|
|
|
Script: f.script || 0,
|
|
|
|
FontType: f.type || 0,
|
|
|
|
Synthetic: f.synthetic || 0,
|
|
|
|
}); }),
|
|
|
|
SuperscriptSize: (_d = data.superscriptSize) !== null && _d !== void 0 ? _d : 0.583,
|
|
|
|
SuperscriptPosition: (_e = data.superscriptPosition) !== null && _e !== void 0 ? _e : 0.333,
|
|
|
|
SubscriptSize: (_f = data.subscriptSize) !== null && _f !== void 0 ? _f : 0.583,
|
|
|
|
SubscriptPosition: (_g = data.subscriptPosition) !== null && _g !== void 0 ? _g : 0.333,
|
|
|
|
SmallCapSize: (_h = data.smallCapSize) !== null && _h !== void 0 ? _h : 0.7,
|
|
|
|
};
|
|
|
|
var engineData = {
|
|
|
|
EngineDict: {
|
|
|
|
Editor: { Text: text },
|
|
|
|
ParagraphRun: {
|
|
|
|
DefaultRunData: {
|
|
|
|
ParagraphSheet: { DefaultStyleSheet: 0, Properties: {} },
|
|
|
|
Adjustments: { Axis: [1, 0, 1], XY: [0, 0] },
|
|
|
|
},
|
|
|
|
RunArray: paragraphRunArray,
|
|
|
|
RunLengthArray: paragraphRunLengthArray,
|
|
|
|
IsJoinable: 1,
|
|
|
|
},
|
|
|
|
StyleRun: {
|
|
|
|
DefaultRunData: { StyleSheet: { StyleSheetData: {} } },
|
|
|
|
RunArray: styleRunArray,
|
|
|
|
RunLengthArray: styleRunLengthArray,
|
|
|
|
IsJoinable: 2,
|
|
|
|
},
|
|
|
|
GridInfo: {
|
|
|
|
GridIsOn: !!gridInfo.isOn,
|
|
|
|
ShowGrid: !!gridInfo.show,
|
|
|
|
GridSize: (_j = gridInfo.size) !== null && _j !== void 0 ? _j : 18,
|
|
|
|
GridLeading: (_k = gridInfo.leading) !== null && _k !== void 0 ? _k : 22,
|
|
|
|
GridColor: { Type: 1, Values: encodeColor(gridInfo.color) },
|
|
|
|
GridLeadingFillColor: { Type: 1, Values: encodeColor(gridInfo.color) },
|
|
|
|
AlignLineHeightToGridFlags: !!gridInfo.alignLineHeightToGridFlags,
|
|
|
|
},
|
|
|
|
AntiAlias: antialias.indexOf((_l = data.antiAlias) !== null && _l !== void 0 ? _l : 'sharp'),
|
|
|
|
UseFractionalGlyphWidths: (_m = data.useFractionalGlyphWidths) !== null && _m !== void 0 ? _m : true,
|
|
|
|
Rendered: {
|
|
|
|
Version: 1,
|
|
|
|
Shapes: {
|
|
|
|
WritingDirection: WritingDirection,
|
|
|
|
Children: [
|
|
|
|
{
|
|
|
|
ShapeType: ShapeType,
|
|
|
|
Procession: Procession,
|
|
|
|
Lines: { WritingDirection: WritingDirection, Children: [] },
|
|
|
|
Cookie: { Photoshop: Photoshop },
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
ResourceDict: __assign({}, defaultResources),
|
|
|
|
DocumentResources: __assign({}, defaultResources),
|
|
|
|
};
|
|
|
|
// console.log('encodeEngineData', require('util').inspect(engineData, false, 99, true));
|
|
|
|
return engineData;
|
|
|
|
}
|
|
|
|
|
|
|
|
//# sourceMappingURL=data:application/json;charset=utf8;base64,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
|