@pdfme/common 1.2.5 → 2.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/dist/cjs/__tests__/font.test.js +254 -0
- package/dist/cjs/__tests__/font.test.js.map +1 -0
- package/dist/cjs/__tests__/helper.test.js +0 -189
- package/dist/cjs/__tests__/helper.test.js.map +1 -1
- package/dist/cjs/src/constants.js +2 -1
- package/dist/cjs/src/constants.js.map +1 -1
- package/dist/cjs/src/{calculateDynamicFontSize.js → font.js} +76 -7
- package/dist/cjs/src/font.js.map +1 -0
- package/dist/cjs/src/helper.js +11 -52
- package/dist/cjs/src/helper.js.map +1 -1
- package/dist/cjs/src/index.js +10 -6
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/esm/__tests__/font.test.js +229 -0
- package/dist/esm/__tests__/font.test.js.map +1 -0
- package/dist/esm/__tests__/helper.test.js +1 -167
- package/dist/esm/__tests__/helper.test.js.map +1 -1
- package/dist/esm/src/constants.js +1 -0
- package/dist/esm/src/constants.js.map +1 -1
- package/dist/esm/src/{calculateDynamicFontSize.js → font.js} +70 -7
- package/dist/esm/src/font.js.map +1 -0
- package/dist/esm/src/helper.js +2 -40
- package/dist/esm/src/helper.js.map +1 -1
- package/dist/esm/src/index.js +4 -4
- package/dist/esm/src/index.js.map +1 -1
- package/dist/types/src/constants.d.ts +1 -0
- package/dist/types/src/font.d.ts +17 -0
- package/dist/types/src/helper.d.ts +1 -7
- package/dist/types/src/index.d.ts +4 -4
- package/package.json +2 -2
- package/src/constants.ts +1 -0
- package/src/font.ts +194 -0
- package/src/helper.ts +3 -58
- package/src/index.ts +13 -4
- package/dist/cjs/__tests__/calculateDynamicFontSize.test.js +0 -97
- package/dist/cjs/__tests__/calculateDynamicFontSize.test.js.map +0 -1
- package/dist/cjs/src/calculateDynamicFontSize.js.map +0 -1
- package/dist/esm/__tests__/calculateDynamicFontSize.test.js +0 -72
- package/dist/esm/__tests__/calculateDynamicFontSize.test.js.map +0 -1
- package/dist/esm/src/calculateDynamicFontSize.js.map +0 -1
- package/dist/types/src/calculateDynamicFontSize.d.ts +0 -6
- package/src/calculateDynamicFontSize.ts +0 -101
- /package/dist/types/__tests__/{calculateDynamicFontSize.test.d.ts → font.test.d.ts} +0 -0
@@ -32,11 +32,78 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
32
32
|
});
|
33
33
|
};
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
35
|
-
exports.calculateDynamicFontSize = void 0;
|
35
|
+
exports.calculateDynamicFontSize = exports.getFontKitFont = exports.heightOfFontAtSize = exports.getFontAlignmentValue = exports.checkFont = exports.getDefaultFont = exports.getFallbackFontName = void 0;
|
36
36
|
const fontkit = __importStar(require("fontkit"));
|
37
|
+
const type_1 = require("./type");
|
37
38
|
const buffer_1 = require("buffer");
|
38
39
|
const constants_1 = require("./constants");
|
39
40
|
const _1 = require(".");
|
41
|
+
const getFallbackFontName = (font) => {
|
42
|
+
const initial = '';
|
43
|
+
const fallbackFontName = Object.entries(font).reduce((acc, cur) => {
|
44
|
+
const [fontName, fontValue] = cur;
|
45
|
+
return !acc && fontValue.fallback ? fontName : acc;
|
46
|
+
}, initial);
|
47
|
+
if (fallbackFontName === initial) {
|
48
|
+
throw Error(`fallback flag is not found in font. true fallback flag must be only one.`);
|
49
|
+
}
|
50
|
+
return fallbackFontName;
|
51
|
+
};
|
52
|
+
exports.getFallbackFontName = getFallbackFontName;
|
53
|
+
const getFallbackFont = (font) => {
|
54
|
+
const fallbackFontName = (0, exports.getFallbackFontName)(font);
|
55
|
+
return font[fallbackFontName];
|
56
|
+
};
|
57
|
+
const getDefaultFont = () => ({
|
58
|
+
[constants_1.DEFAULT_FONT_NAME]: { data: (0, _1.b64toUint8Array)(constants_1.DEFAULT_FONT_VALUE), fallback: true },
|
59
|
+
});
|
60
|
+
exports.getDefaultFont = getDefaultFont;
|
61
|
+
const uniq = (array) => Array.from(new Set(array));
|
62
|
+
const getFontNamesInSchemas = (schemas) => uniq(schemas
|
63
|
+
.map((s) => Object.values(s).map((v) => ((0, type_1.isTextSchema)(v) ? v.fontName : '')))
|
64
|
+
.reduce((acc, cur) => acc.concat(cur), [])
|
65
|
+
.filter(Boolean));
|
66
|
+
const checkFont = (arg) => {
|
67
|
+
const { font, template: { schemas }, } = arg;
|
68
|
+
const fontValues = Object.values(font);
|
69
|
+
const fallbackFontNum = fontValues.reduce((acc, cur) => (cur.fallback ? acc + 1 : acc), 0);
|
70
|
+
if (fallbackFontNum === 0) {
|
71
|
+
throw Error(`fallback flag is not found in font. true fallback flag must be only one.`);
|
72
|
+
}
|
73
|
+
if (fallbackFontNum > 1) {
|
74
|
+
throw Error(`${fallbackFontNum} fallback flags found in font. true fallback flag must be only one.`);
|
75
|
+
}
|
76
|
+
const fontNamesInSchemas = getFontNamesInSchemas(schemas);
|
77
|
+
const fontNames = Object.keys(font);
|
78
|
+
if (fontNamesInSchemas.some((f) => !fontNames.includes(f))) {
|
79
|
+
throw Error(`${fontNamesInSchemas
|
80
|
+
.filter((f) => !fontNames.includes(f))
|
81
|
+
.join()} of template.schemas is not found in font.`);
|
82
|
+
}
|
83
|
+
};
|
84
|
+
exports.checkFont = checkFont;
|
85
|
+
const getFontAlignmentValue = (fontKitFont, fontSize) => {
|
86
|
+
const { ascent, descent, unitsPerEm } = fontKitFont;
|
87
|
+
const fontSizeInPx = fontSize * constants_1.DEFAULT_PT_TO_PX_RATIO;
|
88
|
+
// Convert ascent and descent to px values
|
89
|
+
const ascentInPixels = (ascent / unitsPerEm) * fontSizeInPx;
|
90
|
+
const descentInPixels = (descent / unitsPerEm) * fontSizeInPx;
|
91
|
+
// Calculate the single line height in px
|
92
|
+
const singleLineHeight = ((ascentInPixels + Math.abs(descentInPixels)) / fontSizeInPx);
|
93
|
+
// Calculate the top margin/padding in px
|
94
|
+
return ((singleLineHeight * fontSizeInPx) - fontSizeInPx) / 2;
|
95
|
+
};
|
96
|
+
exports.getFontAlignmentValue = getFontAlignmentValue;
|
97
|
+
const heightOfFontAtSize = (fontKitFont, fontSize) => {
|
98
|
+
const { ascent, descent, bbox, unitsPerEm } = fontKitFont;
|
99
|
+
const scale = 1000 / unitsPerEm;
|
100
|
+
const yTop = (ascent || bbox.maxY) * scale;
|
101
|
+
const yBottom = (descent || bbox.minY) * scale;
|
102
|
+
let height = yTop - yBottom;
|
103
|
+
height -= Math.abs(descent * scale) || 0;
|
104
|
+
return (height / 1000) * fontSize;
|
105
|
+
};
|
106
|
+
exports.heightOfFontAtSize = heightOfFontAtSize;
|
40
107
|
const widthOfTextAtSize = (input, fontKitFont, fontSize) => {
|
41
108
|
const { glyphs } = fontKitFont.layout(input);
|
42
109
|
const scale = 1000 / fontKitFont.unitsPerEm;
|
@@ -61,12 +128,13 @@ const getLongestLine = (textContentRows, fontKitFont, fontSize, characterSpacing
|
|
61
128
|
return longestLine;
|
62
129
|
};
|
63
130
|
const fontKitFontCache = {};
|
64
|
-
const
|
65
|
-
|
131
|
+
const getFontKitFont = (textSchema, font) => __awaiter(void 0, void 0, void 0, function* () {
|
132
|
+
const fontName = textSchema.fontName || (0, exports.getFallbackFontName)(font);
|
66
133
|
if (fontKitFontCache[fontName]) {
|
67
134
|
return fontKitFontCache[fontName];
|
68
135
|
}
|
69
|
-
|
136
|
+
const currentFont = font[fontName] || getFallbackFont(font) || (0, exports.getDefaultFont)()[constants_1.DEFAULT_FONT_NAME];
|
137
|
+
let fontData = currentFont.data;
|
70
138
|
if (typeof fontData === 'string') {
|
71
139
|
fontData = fontData.startsWith('http') ? yield fetch(fontData).then((res) => res.arrayBuffer()) : (0, _1.b64toUint8Array)(fontData);
|
72
140
|
}
|
@@ -74,17 +142,18 @@ const createFontKitFont = (font, fontName = constants_1.DEFAULT_FONT_NAME) => __
|
|
74
142
|
fontKitFontCache[fontName] = fontKitFont;
|
75
143
|
return fontKitFont;
|
76
144
|
});
|
145
|
+
exports.getFontKitFont = getFontKitFont;
|
77
146
|
const getTextContent = (input, fontKitFont, fontSize, characterSpacingCount) => {
|
78
147
|
const textContentRows = input.split('\n');
|
79
148
|
return textContentRows.length > 1 ? getLongestLine(textContentRows, fontKitFont, fontSize, characterSpacingCount) : input;
|
80
149
|
};
|
81
150
|
const calculateDynamicFontSize = ({ textSchema, font, input }) => __awaiter(void 0, void 0, void 0, function* () {
|
82
|
-
const {
|
151
|
+
const { fontSize: _fontSize, dynamicFontSize: dynamicFontSizeSetting, characterSpacing, width } = textSchema;
|
83
152
|
const fontSize = _fontSize || constants_1.DEFAULT_FONT_SIZE;
|
84
153
|
if (!dynamicFontSizeSetting)
|
85
154
|
return fontSize;
|
86
155
|
const characterSpacingCount = characterSpacing !== null && characterSpacing !== void 0 ? characterSpacing : constants_1.DEFAULT_CHARACTER_SPACING;
|
87
|
-
const fontKitFont = yield
|
156
|
+
const fontKitFont = yield (0, exports.getFontKitFont)(textSchema, font);
|
88
157
|
const textContent = getTextContent(input, fontKitFont, fontSize, characterSpacingCount);
|
89
158
|
const textWidth = widthOfTextAtSize(textContent, fontKitFont, fontSize);
|
90
159
|
let dynamicFontSize = fontSize;
|
@@ -100,4 +169,4 @@ const calculateDynamicFontSize = ({ textSchema, font, input }) => __awaiter(void
|
|
100
169
|
return dynamicFontSize;
|
101
170
|
});
|
102
171
|
exports.calculateDynamicFontSize = calculateDynamicFontSize;
|
103
|
-
//# sourceMappingURL=
|
172
|
+
//# sourceMappingURL=font.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"font.js","sourceRoot":"","sources":["../../../src/font.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/src/helper.js
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.validateBarcodeInput = exports.checkGenerateProps = exports.checkDesignerProps = exports.checkPreviewProps = exports.checkUIProps = exports.checkTemplate = exports.checkUIOptions = exports.checkInputs = exports.
|
3
|
+
exports.validateBarcodeInput = exports.checkGenerateProps = exports.checkDesignerProps = exports.checkPreviewProps = exports.checkUIProps = exports.checkTemplate = exports.checkUIOptions = exports.checkInputs = exports.b64toUint8Array = exports.getB64BasePdf = void 0;
|
4
4
|
const zod_1 = require("zod");
|
5
5
|
const buffer_1 = require("buffer");
|
6
|
-
const
|
7
|
-
const
|
8
|
-
const schema_js_1 = require("./schema.js");
|
6
|
+
const schema_1 = require("./schema");
|
7
|
+
const font_1 = require("./font");
|
9
8
|
const blob2Base64Pdf = (blob) => {
|
10
9
|
return new Promise((resolve, reject) => {
|
11
10
|
const reader = new FileReader();
|
@@ -44,46 +43,6 @@ const b64toUint8Array = (base64) => {
|
|
44
43
|
return unit8arr;
|
45
44
|
};
|
46
45
|
exports.b64toUint8Array = b64toUint8Array;
|
47
|
-
const getFallbackFontName = (font) => {
|
48
|
-
const initial = '';
|
49
|
-
const fallbackFontName = Object.entries(font).reduce((acc, cur) => {
|
50
|
-
const [fontName, fontValue] = cur;
|
51
|
-
return !acc && fontValue.fallback ? fontName : acc;
|
52
|
-
}, initial);
|
53
|
-
if (fallbackFontName === initial) {
|
54
|
-
throw Error(`fallback flag is not found in font. true fallback flag must be only one.`);
|
55
|
-
}
|
56
|
-
return fallbackFontName;
|
57
|
-
};
|
58
|
-
exports.getFallbackFontName = getFallbackFontName;
|
59
|
-
const getDefaultFont = () => ({
|
60
|
-
[constants_js_1.DEFAULT_FONT_NAME]: { data: (0, exports.b64toUint8Array)(constants_js_1.DEFAULT_FONT_VALUE), fallback: true },
|
61
|
-
});
|
62
|
-
exports.getDefaultFont = getDefaultFont;
|
63
|
-
const uniq = (array) => Array.from(new Set(array));
|
64
|
-
const getFontNamesInSchemas = (schemas) => uniq(schemas
|
65
|
-
.map((s) => Object.values(s).map((v) => ((0, type_js_1.isTextSchema)(v) ? v.fontName : '')))
|
66
|
-
.reduce((acc, cur) => acc.concat(cur), [])
|
67
|
-
.filter(Boolean));
|
68
|
-
const checkFont = (arg) => {
|
69
|
-
const { font, template: { schemas }, } = arg;
|
70
|
-
const fontValues = Object.values(font);
|
71
|
-
const fallbackFontNum = fontValues.reduce((acc, cur) => (cur.fallback ? acc + 1 : acc), 0);
|
72
|
-
if (fallbackFontNum === 0) {
|
73
|
-
throw Error(`fallback flag is not found in font. true fallback flag must be only one.`);
|
74
|
-
}
|
75
|
-
if (fallbackFontNum > 1) {
|
76
|
-
throw Error(`${fallbackFontNum} fallback flags found in font. true fallback flag must be only one.`);
|
77
|
-
}
|
78
|
-
const fontNamesInSchemas = getFontNamesInSchemas(schemas);
|
79
|
-
const fontNames = Object.keys(font);
|
80
|
-
if (fontNamesInSchemas.some((f) => !fontNames.includes(f))) {
|
81
|
-
throw Error(`${fontNamesInSchemas
|
82
|
-
.filter((f) => !fontNames.includes(f))
|
83
|
-
.join()} of template.schemas is not found in font.`);
|
84
|
-
}
|
85
|
-
};
|
86
|
-
exports.checkFont = checkFont;
|
87
46
|
const checkProps = (data, zodSchema) => {
|
88
47
|
try {
|
89
48
|
zodSchema.parse(data);
|
@@ -103,22 +62,22 @@ ${message}`);
|
|
103
62
|
const { template, options } = commonProps;
|
104
63
|
const font = options === null || options === void 0 ? void 0 : options.font;
|
105
64
|
if (font) {
|
106
|
-
(0,
|
65
|
+
(0, font_1.checkFont)({ font, template });
|
107
66
|
}
|
108
67
|
};
|
109
|
-
const checkInputs = (data) => checkProps(data,
|
68
|
+
const checkInputs = (data) => checkProps(data, schema_1.Inputs);
|
110
69
|
exports.checkInputs = checkInputs;
|
111
|
-
const checkUIOptions = (data) => checkProps(data,
|
70
|
+
const checkUIOptions = (data) => checkProps(data, schema_1.UIOptions);
|
112
71
|
exports.checkUIOptions = checkUIOptions;
|
113
|
-
const checkTemplate = (data) => checkProps(data,
|
72
|
+
const checkTemplate = (data) => checkProps(data, schema_1.Template);
|
114
73
|
exports.checkTemplate = checkTemplate;
|
115
|
-
const checkUIProps = (data) => checkProps(data,
|
74
|
+
const checkUIProps = (data) => checkProps(data, schema_1.UIProps);
|
116
75
|
exports.checkUIProps = checkUIProps;
|
117
|
-
const checkPreviewProps = (data) => checkProps(data,
|
76
|
+
const checkPreviewProps = (data) => checkProps(data, schema_1.PreviewProps);
|
118
77
|
exports.checkPreviewProps = checkPreviewProps;
|
119
|
-
const checkDesignerProps = (data) => checkProps(data,
|
78
|
+
const checkDesignerProps = (data) => checkProps(data, schema_1.DesignerProps);
|
120
79
|
exports.checkDesignerProps = checkDesignerProps;
|
121
|
-
const checkGenerateProps = (data) => checkProps(data,
|
80
|
+
const checkGenerateProps = (data) => checkProps(data, schema_1.GenerateProps);
|
122
81
|
exports.checkGenerateProps = checkGenerateProps;
|
123
82
|
// GTIN-13, GTIN-8, GTIN-12, GTIN-14
|
124
83
|
const validateCheckDigit = (input, checkDigitPos) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,mCAAgC;
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,mCAAgC;AAEhC,qCAQkB;AAClB,iCAAkC;AAElC,MAAM,cAAc,GAAG,CAAC,IAAU,EAAE,EAAE;IACpC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;YACtB,IAAK,MAAM,CAAC,MAAiB,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE;gBACjE,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;aAClC;iBAAM;gBACL,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;aACrD;QACH,CAAC,CAAC;QACF,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAC,OAAgB,EAAE,EAAE;IAChD,MAAM,oBAAoB,GACxB,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC9E,IAAI,oBAAoB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACzD,OAAO,KAAK,CAAC,OAAO,CAAC;aAClB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;aACzB,IAAI,CAAC,cAAc,CAAC;aACpB,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAClB,MAAM,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;KACN;IAED,OAAO,OAAiB,CAAC;AAC3B,CAAC,CAAC;AAbW,QAAA,aAAa,iBAaxB;AAEF,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,eAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAEpF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,EAAE;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEhF,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QAC7C,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KACxC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B;AAEF,MAAM,UAAU,GAAG,CAAI,IAAa,EAAE,SAAuB,EAAE,EAAE;IAC/D,IAAI;QACF,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACvB;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,YAAY,OAAC,CAAC,QAAQ,EAAE;YAC3B,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAC3B,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;iBACzC,KAAK,CAAC,OAAO;2BACH,CACpB,CAAC;YAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,KAAK,CAAC;;EAEhB,OAAO,EAAE,CAAC,CAAC;SACR;KACF;IACD,MAAM,WAAW,GAAG,IAAmB,CAAC;IACxC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;IAC1C,MAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;IAC3B,IAAI,IAAI,EAAE;QACR,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;KAC/B;AACH,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,eAAY,CAAC,CAAC;AAAhE,QAAA,WAAW,eAAqD;AACtE,MAAM,cAAc,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAe,CAAC,CAAC;AAAtE,QAAA,cAAc,kBAAwD;AAC5E,MAAM,aAAa,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,iBAAc,CAAC,CAAC;AAApE,QAAA,aAAa,iBAAuD;AAC1E,MAAM,YAAY,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAa,CAAC,CAAC;AAAlE,QAAA,YAAY,gBAAsD;AACxE,MAAM,iBAAiB,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,qBAAkB,CAAC,CAAC;AAA5E,QAAA,iBAAiB,qBAA2D;AAClF,MAAM,kBAAkB,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,sBAAmB,CAAC,CAAC;AAA9E,QAAA,kBAAkB,sBAA4D;AACpF,MAAM,kBAAkB,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,sBAAmB,CAAC,CAAC;AAA9E,QAAA,kBAAkB,sBAA4D;AAE3F,oCAAoC;AACpC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,aAAqB,EAAE,EAAE;IAClE,IAAI,cAAc,GAAG,IAAI,CAAC;IAE1B,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE;QAClC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;YAC1C,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,GAAG,IAAI,CAAC,CAAC;YACT,IAAI,GAAG,GAAG,cAAc,EAAE;gBACxB,eAAe;gBACf,GAAG,IAAI,EAAE,CAAC;aACX;SACF;QACD,cAAc,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACxE;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEK,MAAM,oBAAoB,GAAG,CAAC,IAAiB,EAAE,KAAa,EAAE,EAAE;IACvE,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,IAAI,KAAK,QAAQ,EAAE;QACrB,UAAU;QACV,OAAO,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;KAC3B;IACD,IAAI,IAAI,KAAK,WAAW,EAAE;QACxB,qDAAqD;QACrD,MAAM,MAAM,GAAG,wBAAwB,CAAC;QAExC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;IACD,IAAI,IAAI,KAAK,OAAO,EAAE;QACpB,mDAAmD;QACnD,MAAM,MAAM,GAAG,mBAAmB,CAAC;QAEnC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KAC5D;IACD,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,iDAAiD;QACjD,MAAM,MAAM,GAAG,iBAAiB,CAAC;QAEjC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KAC3D;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE;QACrB,kDAAkD;QAClD,MAAM,MAAM,GAAG,oCAAoC,CAAC;QAEpD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;IACD,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,uBAAuB;QACvB,yDAAyD;QACzD,OAAO,CAAC,KAAK,CAAC,KAAK,CACjB,wGAAwG,CACzG,CAAC;KACH;IACD,IAAI,IAAI,KAAK,KAAK,EAAE;QAClB,gCAAgC;QAChC,6DAA6D;QAC7D,MAAM,MAAM,GAAG,wCAAwC,CAAC;QAExD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;IACD,IAAI,IAAI,KAAK,OAAO,EAAE;QACpB,oDAAoD;QACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC;QAEnC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KAC5D;IACD,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,oDAAoD;QACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC;QAEnC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KAC5D;IACD,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,kDAAkD;QAClD,kCAAkC;QAClC,MAAM,MAAM,GAAG,mBAAmB,CAAC;QAEnC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KAC3D;IACD,IAAI,IAAI,KAAK,eAAe,EAAE;QAC5B,IAAI,GAAG,GAAG,KAAK,CAAC;QAChB,mGAAmG;QACnG,MAAM,MAAM,GAAG,qBAAqB,CAAC;QACrC,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,IACE,GAAG,IAAI,IAAI;YACX,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;YACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,EAC7F;YACA,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,GAAG,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SAC7C;QAED,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAjFW,QAAA,oBAAoB,wBAiF/B"}
|
package/dist/cjs/src/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.calculateDynamicFontSize = exports.validateBarcodeInput = exports.checkGenerateProps = exports.checkDesignerProps = exports.checkPreviewProps = exports.checkUIProps = exports.checkTemplate = exports.checkUIOptions = exports.checkInputs = exports.checkFont = exports.getDefaultFont = exports.getFallbackFontName = exports.b64toUint8Array = exports.getB64BasePdf = exports.isBarcodeSchema = exports.isImageSchema = exports.isTextSchema = exports.schemaTypes = exports.DEFAULT_FONT_VALUE = exports.BLANK_PDF = exports.DEFAULT_PT_TO_MM_RATIO = exports.DEFAULT_FONT_SIZE_ADJUSTMENT = exports.DEFAULT_TOLERANCE = exports.DEFAULT_FONT_COLOR = exports.DEFAULT_CHARACTER_SPACING = exports.DEFAULT_LINE_HEIGHT = exports.DEFAULT_ALIGNMENT = exports.DEFAULT_FONT_SIZE = exports.DEFAULT_FONT_NAME = void 0;
|
3
|
+
exports.calculateDynamicFontSize = exports.validateBarcodeInput = exports.checkGenerateProps = exports.checkDesignerProps = exports.checkPreviewProps = exports.checkUIProps = exports.checkTemplate = exports.checkUIOptions = exports.checkInputs = exports.getFontAlignmentValue = exports.getFontKitFont = exports.checkFont = exports.heightOfFontAtSize = exports.getDefaultFont = exports.getFallbackFontName = exports.b64toUint8Array = exports.getB64BasePdf = exports.isBarcodeSchema = exports.isImageSchema = exports.isTextSchema = exports.schemaTypes = exports.DEFAULT_FONT_VALUE = exports.BLANK_PDF = exports.DEFAULT_PT_TO_PX_RATIO = exports.DEFAULT_PT_TO_MM_RATIO = exports.DEFAULT_FONT_SIZE_ADJUSTMENT = exports.DEFAULT_TOLERANCE = exports.DEFAULT_FONT_COLOR = exports.DEFAULT_CHARACTER_SPACING = exports.DEFAULT_LINE_HEIGHT = exports.DEFAULT_ALIGNMENT = exports.DEFAULT_FONT_SIZE = exports.DEFAULT_FONT_NAME = void 0;
|
4
4
|
const constants_js_1 = require("./constants.js");
|
5
5
|
Object.defineProperty(exports, "DEFAULT_FONT_NAME", { enumerable: true, get: function () { return constants_js_1.DEFAULT_FONT_NAME; } });
|
6
6
|
Object.defineProperty(exports, "DEFAULT_FONT_SIZE", { enumerable: true, get: function () { return constants_js_1.DEFAULT_FONT_SIZE; } });
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "DEFAULT_FONT_COLOR", { enumerable: true, get: fu
|
|
11
11
|
Object.defineProperty(exports, "DEFAULT_TOLERANCE", { enumerable: true, get: function () { return constants_js_1.DEFAULT_TOLERANCE; } });
|
12
12
|
Object.defineProperty(exports, "DEFAULT_FONT_SIZE_ADJUSTMENT", { enumerable: true, get: function () { return constants_js_1.DEFAULT_FONT_SIZE_ADJUSTMENT; } });
|
13
13
|
Object.defineProperty(exports, "DEFAULT_PT_TO_MM_RATIO", { enumerable: true, get: function () { return constants_js_1.DEFAULT_PT_TO_MM_RATIO; } });
|
14
|
+
Object.defineProperty(exports, "DEFAULT_PT_TO_PX_RATIO", { enumerable: true, get: function () { return constants_js_1.DEFAULT_PT_TO_PX_RATIO; } });
|
14
15
|
Object.defineProperty(exports, "BLANK_PDF", { enumerable: true, get: function () { return constants_js_1.BLANK_PDF; } });
|
15
16
|
Object.defineProperty(exports, "DEFAULT_FONT_VALUE", { enumerable: true, get: function () { return constants_js_1.DEFAULT_FONT_VALUE; } });
|
16
17
|
const type_js_1 = require("./type.js");
|
@@ -21,9 +22,6 @@ Object.defineProperty(exports, "isTextSchema", { enumerable: true, get: function
|
|
21
22
|
const helper_js_1 = require("./helper.js");
|
22
23
|
Object.defineProperty(exports, "getB64BasePdf", { enumerable: true, get: function () { return helper_js_1.getB64BasePdf; } });
|
23
24
|
Object.defineProperty(exports, "b64toUint8Array", { enumerable: true, get: function () { return helper_js_1.b64toUint8Array; } });
|
24
|
-
Object.defineProperty(exports, "getFallbackFontName", { enumerable: true, get: function () { return helper_js_1.getFallbackFontName; } });
|
25
|
-
Object.defineProperty(exports, "getDefaultFont", { enumerable: true, get: function () { return helper_js_1.getDefaultFont; } });
|
26
|
-
Object.defineProperty(exports, "checkFont", { enumerable: true, get: function () { return helper_js_1.checkFont; } });
|
27
25
|
Object.defineProperty(exports, "checkInputs", { enumerable: true, get: function () { return helper_js_1.checkInputs; } });
|
28
26
|
Object.defineProperty(exports, "checkUIOptions", { enumerable: true, get: function () { return helper_js_1.checkUIOptions; } });
|
29
27
|
Object.defineProperty(exports, "checkTemplate", { enumerable: true, get: function () { return helper_js_1.checkTemplate; } });
|
@@ -32,6 +30,12 @@ Object.defineProperty(exports, "checkPreviewProps", { enumerable: true, get: fun
|
|
32
30
|
Object.defineProperty(exports, "checkDesignerProps", { enumerable: true, get: function () { return helper_js_1.checkDesignerProps; } });
|
33
31
|
Object.defineProperty(exports, "checkGenerateProps", { enumerable: true, get: function () { return helper_js_1.checkGenerateProps; } });
|
34
32
|
Object.defineProperty(exports, "validateBarcodeInput", { enumerable: true, get: function () { return helper_js_1.validateBarcodeInput; } });
|
35
|
-
const
|
36
|
-
Object.defineProperty(exports, "calculateDynamicFontSize", { enumerable: true, get: function () { return
|
33
|
+
const font_js_1 = require("./font.js");
|
34
|
+
Object.defineProperty(exports, "calculateDynamicFontSize", { enumerable: true, get: function () { return font_js_1.calculateDynamicFontSize; } });
|
35
|
+
Object.defineProperty(exports, "getFallbackFontName", { enumerable: true, get: function () { return font_js_1.getFallbackFontName; } });
|
36
|
+
Object.defineProperty(exports, "getDefaultFont", { enumerable: true, get: function () { return font_js_1.getDefaultFont; } });
|
37
|
+
Object.defineProperty(exports, "heightOfFontAtSize", { enumerable: true, get: function () { return font_js_1.heightOfFontAtSize; } });
|
38
|
+
Object.defineProperty(exports, "checkFont", { enumerable: true, get: function () { return font_js_1.checkFont; } });
|
39
|
+
Object.defineProperty(exports, "getFontKitFont", { enumerable: true, get: function () { return font_js_1.getFontKitFont; } });
|
40
|
+
Object.defineProperty(exports, "getFontAlignmentValue", { enumerable: true, get: function () { return font_js_1.getFontAlignmentValue; } });
|
37
41
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAawB;AAiDtB,kGA7DA,gCAAiB,OA6DA;AACjB,kGA7DA,gCAAiB,OA6DA;AACjB,kGA7DA,gCAAiB,OA6DA;AACjB,oGA7DA,kCAAmB,OA6DA;AACnB,0GA7DA,wCAAyB,OA6DA;AACzB,mGA7DA,iCAAkB,OA6DA;AAClB,kGA7DA,gCAAiB,OA6DA;AACjB,6GA7DA,2CAA4B,OA6DA;AAC5B,uGA7DA,qCAAsB,OA6DA;AACtB,uGA7DA,qCAAsB,OA6DA;AACtB,0FA7DA,wBAAS,OA6DA;AACT,mGA7DA,iCAAkB,OA6DA;AA3DpB,uCAAsF;AA4DpF,4FA5DO,qBAAW,OA4DP;AAEX,8FA9DoB,uBAAa,OA8DpB;AACb,gGA/DmC,yBAAe,OA+DnC;AAFf,6FA7DoD,sBAAY,OA6DpD;AAnCd,2CAWqB;AA2BnB,8FArCA,yBAAa,OAqCA;AACb,gGArCA,2BAAe,OAqCA;AAOf,4FA3CA,uBAAW,OA2CA;AACX,+FA3CA,0BAAc,OA2CA;AACd,8FA3CA,yBAAa,OA2CA;AACb,6FA3CA,wBAAY,OA2CA;AACZ,kGA3CA,6BAAiB,OA2CA;AACjB,mGA3CA,8BAAkB,OA2CA;AAClB,mGA3CA,8BAAkB,OA2CA;AAClB,qGA3CA,gCAAoB,OA2CA;AAzCtB,uCAOmB;AAmCjB,yGAzCA,kCAAwB,OAyCA;AAdxB,oGA3B0B,6BAAmB,OA2B1B;AACnB,+FA3BA,wBAAc,OA2BA;AACd,mGA3BA,4BAAkB,OA2BA;AAClB,0FA3BA,mBAAS,OA2BA;AACT,+FA3BA,wBAAc,OA2BA;AACd,sGA3BA,+BAAqB,OA2BA"}
|
@@ -0,0 +1,229 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import { readFileSync } from 'fs';
|
11
|
+
import * as path from 'path';
|
12
|
+
import { calculateDynamicFontSize, checkFont, getDefaultFont } from "../src/font";
|
13
|
+
import { BLANK_PDF } from '../src';
|
14
|
+
const sansData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSansJP.ttf`));
|
15
|
+
const serifData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSerifJP.ttf`));
|
16
|
+
const getSampleFont = () => ({
|
17
|
+
SauceHanSansJP: { fallback: true, data: sansData },
|
18
|
+
SauceHanSerifJP: { data: serifData },
|
19
|
+
});
|
20
|
+
const getTemplate = () => ({
|
21
|
+
basePdf: BLANK_PDF,
|
22
|
+
schemas: [
|
23
|
+
{
|
24
|
+
a: {
|
25
|
+
type: 'text',
|
26
|
+
fontName: 'SauceHanSansJP',
|
27
|
+
position: { x: 0, y: 0 },
|
28
|
+
width: 100,
|
29
|
+
height: 100,
|
30
|
+
},
|
31
|
+
b: {
|
32
|
+
type: 'text',
|
33
|
+
position: { x: 0, y: 0 },
|
34
|
+
width: 100,
|
35
|
+
height: 100,
|
36
|
+
},
|
37
|
+
},
|
38
|
+
],
|
39
|
+
});
|
40
|
+
const getTextSchema = () => {
|
41
|
+
const textSchema = {
|
42
|
+
position: { x: 0, y: 0 }, type: 'text', fontSize: 14, characterSpacing: 1, width: 50, height: 50
|
43
|
+
};
|
44
|
+
return textSchema;
|
45
|
+
};
|
46
|
+
describe('checkFont test', () => {
|
47
|
+
test('success test: no fontName in Schemas', () => {
|
48
|
+
const _getTemplate = () => ({
|
49
|
+
basePdf: BLANK_PDF,
|
50
|
+
schemas: [
|
51
|
+
{
|
52
|
+
a: {
|
53
|
+
type: 'text',
|
54
|
+
position: { x: 0, y: 0 },
|
55
|
+
width: 100,
|
56
|
+
height: 100,
|
57
|
+
},
|
58
|
+
b: {
|
59
|
+
type: 'text',
|
60
|
+
position: { x: 0, y: 0 },
|
61
|
+
width: 100,
|
62
|
+
height: 100,
|
63
|
+
},
|
64
|
+
},
|
65
|
+
],
|
66
|
+
});
|
67
|
+
try {
|
68
|
+
checkFont({ template: _getTemplate(), font: getSampleFont() });
|
69
|
+
expect.anything();
|
70
|
+
}
|
71
|
+
catch (e) {
|
72
|
+
fail();
|
73
|
+
}
|
74
|
+
});
|
75
|
+
test('success test: fontName in Schemas(fallback font)', () => {
|
76
|
+
try {
|
77
|
+
checkFont({ template: getTemplate(), font: getSampleFont() });
|
78
|
+
expect.anything();
|
79
|
+
}
|
80
|
+
catch (e) {
|
81
|
+
fail();
|
82
|
+
}
|
83
|
+
});
|
84
|
+
test('success test: fontName in Schemas(not fallback font)', () => {
|
85
|
+
const getFont = () => ({
|
86
|
+
SauceHanSansJP: { data: sansData },
|
87
|
+
SauceHanSerifJP: { fallback: true, data: serifData },
|
88
|
+
});
|
89
|
+
try {
|
90
|
+
checkFont({ template: getTemplate(), font: getFont() });
|
91
|
+
expect.anything();
|
92
|
+
}
|
93
|
+
catch (e) {
|
94
|
+
fail();
|
95
|
+
}
|
96
|
+
});
|
97
|
+
test('fail test: no fallback font', () => {
|
98
|
+
const getFont = () => ({
|
99
|
+
SauceHanSansJP: { data: sansData },
|
100
|
+
SauceHanSerifJP: { data: serifData },
|
101
|
+
});
|
102
|
+
try {
|
103
|
+
checkFont({ template: getTemplate(), font: getFont() });
|
104
|
+
fail();
|
105
|
+
}
|
106
|
+
catch (e) {
|
107
|
+
expect(e.message).toEqual('fallback flag is not found in font. true fallback flag must be only one.');
|
108
|
+
}
|
109
|
+
});
|
110
|
+
test('fail test: too many fallback font', () => {
|
111
|
+
const getFont = () => ({
|
112
|
+
SauceHanSansJP: { data: sansData, fallback: true },
|
113
|
+
SauceHanSerifJP: { data: serifData, fallback: true },
|
114
|
+
});
|
115
|
+
try {
|
116
|
+
checkFont({ template: getTemplate(), font: getFont() });
|
117
|
+
fail();
|
118
|
+
}
|
119
|
+
catch (e) {
|
120
|
+
expect(e.message).toEqual('2 fallback flags found in font. true fallback flag must be only one.');
|
121
|
+
}
|
122
|
+
});
|
123
|
+
test('fail test: fontName in Schemas not found in font(single)', () => {
|
124
|
+
const _getTemplate = () => ({
|
125
|
+
basePdf: BLANK_PDF,
|
126
|
+
schemas: [
|
127
|
+
{
|
128
|
+
a: {
|
129
|
+
type: 'text',
|
130
|
+
fontName: 'SauceHanSansJP2',
|
131
|
+
position: { x: 0, y: 0 },
|
132
|
+
width: 100,
|
133
|
+
height: 100,
|
134
|
+
},
|
135
|
+
b: {
|
136
|
+
type: 'text',
|
137
|
+
position: { x: 0, y: 0 },
|
138
|
+
width: 100,
|
139
|
+
height: 100,
|
140
|
+
},
|
141
|
+
},
|
142
|
+
],
|
143
|
+
});
|
144
|
+
try {
|
145
|
+
checkFont({ template: _getTemplate(), font: getSampleFont() });
|
146
|
+
fail();
|
147
|
+
}
|
148
|
+
catch (e) {
|
149
|
+
expect(e.message).toEqual('SauceHanSansJP2 of template.schemas is not found in font.');
|
150
|
+
}
|
151
|
+
});
|
152
|
+
test('fail test: fontName in Schemas not found in font(single)', () => {
|
153
|
+
const _getTemplate = () => ({
|
154
|
+
basePdf: BLANK_PDF,
|
155
|
+
schemas: [
|
156
|
+
{
|
157
|
+
a: {
|
158
|
+
type: 'text',
|
159
|
+
fontName: 'SauceHanSansJP2',
|
160
|
+
position: { x: 0, y: 0 },
|
161
|
+
width: 100,
|
162
|
+
height: 100,
|
163
|
+
},
|
164
|
+
b: {
|
165
|
+
type: 'text',
|
166
|
+
fontName: 'SauceHanSerifJP2',
|
167
|
+
position: { x: 0, y: 0 },
|
168
|
+
width: 100,
|
169
|
+
height: 100,
|
170
|
+
},
|
171
|
+
},
|
172
|
+
],
|
173
|
+
});
|
174
|
+
try {
|
175
|
+
checkFont({ template: _getTemplate(), font: getSampleFont() });
|
176
|
+
fail();
|
177
|
+
}
|
178
|
+
catch (e) {
|
179
|
+
expect(e.message).toEqual('SauceHanSansJP2,SauceHanSerifJP2 of template.schemas is not found in font.');
|
180
|
+
}
|
181
|
+
});
|
182
|
+
});
|
183
|
+
describe('calculateDynamicFontSize with Default font', () => {
|
184
|
+
const font = getDefaultFont();
|
185
|
+
it('should return default font size when dynamicFontSizeSetting is not provided', () => __awaiter(void 0, void 0, void 0, function* () {
|
186
|
+
const textSchema = getTextSchema();
|
187
|
+
const result = yield calculateDynamicFontSize({ textSchema, font, input: 'test' });
|
188
|
+
expect(result).toBe(14);
|
189
|
+
}));
|
190
|
+
it('should return smaller font size when dynamicFontSizeSetting is provided', () => __awaiter(void 0, void 0, void 0, function* () {
|
191
|
+
const textSchema = Object.assign(getTextSchema(), { dynamicFontSize: { max: 20, min: 10 } });
|
192
|
+
const result = yield calculateDynamicFontSize({ textSchema, font, input: 'testtesttesttesttest' });
|
193
|
+
expect(result).toBe(14.25);
|
194
|
+
}));
|
195
|
+
it('should return min font size when dynamicFontSizeSetting and long text are provided', () => __awaiter(void 0, void 0, void 0, function* () {
|
196
|
+
const textSchema = Object.assign(getTextSchema(), { dynamicFontSize: { max: 20, min: 10 } });
|
197
|
+
const result = yield calculateDynamicFontSize({ textSchema, font, input: 'testtesttesttesttesttesttesttesttesttesttest' });
|
198
|
+
expect(result).toBe(10);
|
199
|
+
}));
|
200
|
+
it('should return max font size when dynamicFontSizeSetting and short text are provided', () => __awaiter(void 0, void 0, void 0, function* () {
|
201
|
+
const textSchema = Object.assign(getTextSchema(), { dynamicFontSize: { max: 20, min: 10 } });
|
202
|
+
const result = yield calculateDynamicFontSize({ textSchema, font, input: 'a' });
|
203
|
+
expect(result).toBe(20);
|
204
|
+
}));
|
205
|
+
});
|
206
|
+
describe('calculateDynamicFontSize with Custom font', () => {
|
207
|
+
const font = getSampleFont();
|
208
|
+
it('should return default font size when dynamicFontSizeSetting is not provided', () => __awaiter(void 0, void 0, void 0, function* () {
|
209
|
+
const textSchema = getTextSchema();
|
210
|
+
const result = yield calculateDynamicFontSize({ textSchema, font, input: 'あいう' });
|
211
|
+
expect(result).toBe(14);
|
212
|
+
}));
|
213
|
+
it('should return smaller font size when dynamicFontSizeSetting is provided', () => __awaiter(void 0, void 0, void 0, function* () {
|
214
|
+
const textSchema = Object.assign(getTextSchema(), { dynamicFontSize: { max: 20, min: 10 } });
|
215
|
+
const result = yield calculateDynamicFontSize({ textSchema, font, input: 'あいうあいうあい' });
|
216
|
+
expect(result).toBe(16.5);
|
217
|
+
}));
|
218
|
+
it('should return min font size when dynamicFontSizeSetting and long text are provided', () => __awaiter(void 0, void 0, void 0, function* () {
|
219
|
+
const textSchema = Object.assign(getTextSchema(), { dynamicFontSize: { max: 20, min: 10 } });
|
220
|
+
const result = yield calculateDynamicFontSize({ textSchema, font, input: 'あいうあいうあいうあいうあいうあいうあいうあいうあいう' });
|
221
|
+
expect(result).toBe(10);
|
222
|
+
}));
|
223
|
+
it('should return max font size when dynamicFontSizeSetting and short text are provided', () => __awaiter(void 0, void 0, void 0, function* () {
|
224
|
+
const textSchema = Object.assign(getTextSchema(), { dynamicFontSize: { max: 20, min: 10 } });
|
225
|
+
const result = yield calculateDynamicFontSize({ textSchema, font, input: 'あ' });
|
226
|
+
expect(result).toBe(20);
|
227
|
+
}));
|
228
|
+
});
|
229
|
+
//# sourceMappingURL=font.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"font.test.js","sourceRoot":"","sources":["../../../__tests__/font.test.ts"],"names":[],"mappings":"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"}
|