abstract-document 18.2.1 → 18.2.2
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/lib/abstract-document-exporters/pdf/font.d.ts +1 -0
- package/lib/abstract-document-exporters/pdf/font.d.ts.map +1 -1
- package/lib/abstract-document-exporters/pdf/font.js +18 -2
- package/lib/abstract-document-exporters/pdf/font.js.map +1 -1
- package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.d.ts.map +1 -1
- package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.js +9 -3
- package/lib/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.js.map +1 -1
- package/package.json +2 -2
- package/src/abstract-document-exporters/pdf/font.ts +20 -2
- package/src/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.ts +13 -4
|
@@ -2,6 +2,7 @@ import * as AD from "../../abstract-document/index.js";
|
|
|
2
2
|
import { TextFontWeight } from "../../abstract-document/styles/text-style.js";
|
|
3
3
|
export declare function registerFonts(registerFont: (fontName: string, fontSource: AD.Font.FontSource) => void, document: AD.AbstractDoc.AbstractDoc): void;
|
|
4
4
|
export declare function getFontNameStyle(textStyle: AD.TextStyle.TextStyle): string;
|
|
5
|
+
export declare function getFontStyleName(attributes: Record<string, string>): string;
|
|
5
6
|
export declare function getFontName(fontFamily: string | undefined, fontWeight: TextFontWeight, italic: boolean | undefined): string;
|
|
6
7
|
export declare function isFontAvailable(fontName: string, resources: AD.Resources.Resources): boolean;
|
|
7
8
|
//# sourceMappingURL=font.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/font.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAG9E,wBAAgB,aAAa,CAC3B,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,EACxE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,GACnC,IAAI,CAqBN;
|
|
1
|
+
{"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/font.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAG9E,wBAAgB,aAAa,CAC3B,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,EACxE,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,GACnC,IAAI,CAqBN;AAuBD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,GAAG,MAAM,CAG1E;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAO3E;AAED,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,OAAO,GAAG,SAAS,GAC1B,MAAM,CAuBR;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,GAAG,OAAO,CAqC5F"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as AD from "../../abstract-document/index.js";
|
|
1
2
|
import { getResources } from "../shared/get_resources.js";
|
|
2
3
|
export function registerFonts(registerFont, document) {
|
|
3
4
|
const resources = getResources(document);
|
|
@@ -21,8 +22,8 @@ export function registerFonts(registerFont, document) {
|
|
|
21
22
|
registerFont(fontName + "-ExtraBoldOblique", font.extraBoldItalic || font.boldItalic);
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
function getFontWeightFromStyle(textStyle) {
|
|
26
|
+
return textStyle.fontWeight
|
|
26
27
|
? textStyle.fontWeight
|
|
27
28
|
: textStyle.light
|
|
28
29
|
? "light"
|
|
@@ -35,8 +36,23 @@ export function getFontNameStyle(textStyle) {
|
|
|
35
36
|
: textStyle.extraBold
|
|
36
37
|
? "extraBold"
|
|
37
38
|
: "normal";
|
|
39
|
+
}
|
|
40
|
+
function getFontWeightFromAttributes(attribs) {
|
|
41
|
+
const style = AD.TextStyle.create(attribs);
|
|
42
|
+
return getFontWeightFromStyle(style);
|
|
43
|
+
}
|
|
44
|
+
export function getFontNameStyle(textStyle) {
|
|
45
|
+
const fontWeight = getFontWeightFromStyle(textStyle);
|
|
38
46
|
return getFontName(textStyle.fontFamily, fontWeight, textStyle.italic);
|
|
39
47
|
}
|
|
48
|
+
export function getFontStyleName(attributes) {
|
|
49
|
+
const fontWeight = getFontWeightFromAttributes(attributes);
|
|
50
|
+
const italic = attributes.italic === "true";
|
|
51
|
+
if (fontWeight === "normal") {
|
|
52
|
+
return italic ? "italic" : fontWeight;
|
|
53
|
+
}
|
|
54
|
+
return `${fontWeight}${italic ? "Italic" : ""}`;
|
|
55
|
+
}
|
|
40
56
|
export function getFontName(fontFamily, fontWeight, italic) {
|
|
41
57
|
const name = fontFamily || "Helvetica";
|
|
42
58
|
if (fontWeight === "light" && italic) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/font.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"font.js","sourceRoot":"","sources":["../../../src/abstract-document-exporters/pdf/font.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,MAAM,UAAU,aAAa,CAC3B,YAAwE,EACxE,QAAoC;IAEpC,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;QACrE,WAAW;QACX,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,YAAY,CAAC,QAAQ,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,YAAY,CAAC,QAAQ,GAAG,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,YAAY,CAAC,QAAQ,GAAG,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,YAAY,CAAC,QAAQ,GAAG,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,YAAY,CAAC,QAAQ,GAAG,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxD,WAAW;QACX,YAAY,CAAC,QAAQ,GAAG,QAAQ,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,YAAY,CAAC,QAAQ,GAAG,SAAS,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,YAAY,CAAC,QAAQ,GAAG,YAAY,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,YAAY,CAAC,QAAQ,GAAG,eAAe,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1E,YAAY,CAAC,QAAQ,GAAG,cAAc,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QACzE,YAAY,CAAC,QAAQ,GAAG,gBAAgB,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5E,YAAY,CAAC,QAAQ,GAAG,eAAe,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,YAAY,CAAC,QAAQ,GAAG,kBAAkB,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QACrF,YAAY,CAAC,QAAQ,GAAG,mBAAmB,EAAE,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiC;IAC/D,OAAO,SAAS,CAAC,UAAU;QACzB,CAAC,CAAC,SAAS,CAAC,UAAU;QACtB,CAAC,CAAC,SAAS,CAAC,KAAK;YACjB,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,SAAS,CAAC,MAAM;gBAClB,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,SAAS,CAAC,IAAI;oBAChB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,SAAS,CAAC,UAAU;wBACtB,CAAC,CAAC,YAAY;wBACd,CAAC,CAAC,SAAS,CAAC,SAAS;4BACrB,CAAC,CAAC,WAAW;4BACb,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED,SAAS,2BAA2B,CAAC,OAA+B;IAClE,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAiC;IAChE,MAAM,UAAU,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACrD,OAAO,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAkC;IACjE,MAAM,UAAU,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC;IAC5C,IAAG,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA,CAAC,CAAC,EAAE,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,UAA8B,EAC9B,UAA0B,EAC1B,MAA2B;IAE3B,MAAM,IAAI,GAAG,UAAU,IAAI,WAAW,CAAC;IACvC,IAAI,UAAU,KAAK,OAAO,IAAI,MAAM,EAAE,CAAC;QACrC,OAAO,IAAI,GAAG,eAAe,CAAC;IAChC,CAAC;SAAM,IAAI,UAAU,KAAK,MAAM,IAAI,MAAM,EAAE,CAAC;QAC3C,OAAO,IAAI,GAAG,cAAc,CAAC;IAC/B,CAAC;SAAM,IAAI,UAAU,KAAK,YAAY,IAAI,MAAM,EAAE,CAAC;QACjD,OAAO,IAAI,GAAG,gBAAgB,CAAC;IACjC,CAAC;SAAM,IAAI,UAAU,KAAK,WAAW,IAAI,MAAM,EAAE,CAAC;QAChD,OAAO,IAAI,GAAG,mBAAmB,CAAC;IACpC,CAAC;SAAM,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,GAAG,QAAQ,CAAC;IACzB,CAAC;SAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO,IAAI,GAAG,OAAO,CAAC;IACxB,CAAC;SAAM,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QACvC,OAAO,IAAI,GAAG,SAAS,CAAC;IAC1B,CAAC;SAAM,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QACtC,OAAO,IAAI,GAAG,YAAY,CAAC;IAC7B,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,OAAO,IAAI,GAAG,UAAU,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,SAAiC;IACjF,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;gBACjD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC7C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,IAAI,QAAQ,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;gBACvD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,eAAe,IAAI,QAAQ,KAAK,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC;gBACpG,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,UAAU,IAAI,QAAQ,KAAK,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC;gBACrF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,cAAc,IAAI,QAAQ,KAAK,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC;gBACjG,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,gBAAgB,IAAI,QAAQ,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC;gBACvG,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,KAAK,GAAG,IAAI,mBAAmB,IAAI,QAAQ,KAAK,GAAG,IAAI,kBAAkB,CAAC,EAAE,CAAC;gBAChH,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-doc-of-xml.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"abstract-doc-of-xml.d.ts","sourceRoot":"","sources":["../../../src/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAKjE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEpC,wBAAsB,eAAe,CACnC,cAAc,EAAE,aAAa,CAAC,aAAa,CAAC,EAC5C,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,OAAO,CAAC,SAAS,CAAC,GACxG,OAAO,CAAC,qBAAqB,CAAC,CAiBhC;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,GAAE,UAAU,GAAG,YAA2B,GACjD,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAMzG"}
|
|
@@ -2,6 +2,7 @@ import { addResources, merge } from "../../abstract-document/abstract-doc.js";
|
|
|
2
2
|
import * as StyleKey from "../../abstract-document/styles/style-key.js";
|
|
3
3
|
import { creators, propsCreators } from "./creator.js";
|
|
4
4
|
import { parseHandlebarsXml, parseMustacheXml } from "handlebars-xml";
|
|
5
|
+
import { getFontStyleName } from "../../abstract-document-exporters/pdf/font.js";
|
|
5
6
|
export async function abstractDocsXml(templateInputs, getResources) {
|
|
6
7
|
try {
|
|
7
8
|
const abstractDocs = Array();
|
|
@@ -141,13 +142,18 @@ function getSuffixedAttributeBaseName(attributeName) {
|
|
|
141
142
|
};
|
|
142
143
|
return actualLookup[suffixRemoved ?? ""];
|
|
143
144
|
}
|
|
144
|
-
function extractImageFontsStyleNames(xmlElement, styleNames = {}, images = {}, fonts = {}) {
|
|
145
|
+
function extractImageFontsStyleNames(xmlElement, styleNames = {}, images = {}, fonts = {}, fontStyles = {}) {
|
|
145
146
|
xmlElement.forEach((item) => {
|
|
146
147
|
if (item.tagName.startsWith("Image") && item.attributes?.src) {
|
|
147
148
|
images[item.attributes.src] = true;
|
|
148
149
|
}
|
|
149
150
|
else if (item.attributes?.fontFamily) {
|
|
150
151
|
fonts[item.attributes.fontFamily] = true;
|
|
152
|
+
const styleName = getFontStyleName(item.attributes);
|
|
153
|
+
const currentStyleNames = fontStyles[item.attributes.fontFamily] ?? [];
|
|
154
|
+
if (currentStyleNames.findIndex((v) => v === styleName) === -1) {
|
|
155
|
+
fontStyles[item.attributes.fontFamily] = [...currentStyleNames, styleName];
|
|
156
|
+
}
|
|
151
157
|
if (item.tagName === "StyleName" && item.attributes.name && item.attributes.type) {
|
|
152
158
|
styleNames[item.attributes.name] = item.attributes.type;
|
|
153
159
|
}
|
|
@@ -156,9 +162,9 @@ function extractImageFontsStyleNames(xmlElement, styleNames = {}, images = {}, f
|
|
|
156
162
|
styleNames[item.attributes.name] = item.attributes.type;
|
|
157
163
|
}
|
|
158
164
|
else {
|
|
159
|
-
extractImageFontsStyleNames(item.children, styleNames, images, fonts);
|
|
165
|
+
extractImageFontsStyleNames(item.children, styleNames, images, fonts, fontStyles);
|
|
160
166
|
}
|
|
161
167
|
});
|
|
162
|
-
return [images, fonts, styleNames];
|
|
168
|
+
return [images, fonts, styleNames, fontStyles];
|
|
163
169
|
}
|
|
164
170
|
//# sourceMappingURL=abstract-doc-of-xml.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-doc-of-xml.js","sourceRoot":"","sources":["../../../src/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AAE9E,OAAO,KAAK,QAAQ,MAAM,6CAA6C,CAAC;AAExE,OAAO,EAAe,QAAQ,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"abstract-doc-of-xml.js","sourceRoot":"","sources":["../../../src/abstract-document-xml/abstract-doc-of-xml/abstract-doc-of-xml.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "abstract-document",
|
|
3
|
-
"version": "18.2.
|
|
3
|
+
"version": "18.2.2",
|
|
4
4
|
"description": "Dynamically create documents using code or JSX and render to any format",
|
|
5
5
|
"repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-document",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"vite": "^6.0.1",
|
|
51
51
|
"vitest": "^2.1.6"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "8bb3de5dd93b35be8b5ac7234ee21527b4dbadc5"
|
|
54
54
|
}
|
|
@@ -28,8 +28,8 @@ export function registerFonts(
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
function getFontWeightFromStyle(textStyle: AD.TextStyle.TextStyle): TextFontWeight {
|
|
32
|
+
return textStyle.fontWeight
|
|
33
33
|
? textStyle.fontWeight
|
|
34
34
|
: textStyle.light
|
|
35
35
|
? "light"
|
|
@@ -42,9 +42,27 @@ export function getFontNameStyle(textStyle: AD.TextStyle.TextStyle): string {
|
|
|
42
42
|
: textStyle.extraBold
|
|
43
43
|
? "extraBold"
|
|
44
44
|
: "normal";
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function getFontWeightFromAttributes(attribs: Record<string, string>): TextFontWeight {
|
|
48
|
+
const style = AD.TextStyle.create(attribs);
|
|
49
|
+
return getFontWeightFromStyle(style);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function getFontNameStyle(textStyle: AD.TextStyle.TextStyle): string {
|
|
53
|
+
const fontWeight = getFontWeightFromStyle(textStyle);
|
|
45
54
|
return getFontName(textStyle.fontFamily, fontWeight, textStyle.italic);
|
|
46
55
|
}
|
|
47
56
|
|
|
57
|
+
export function getFontStyleName(attributes: Record<string, string>): string {
|
|
58
|
+
const fontWeight = getFontWeightFromAttributes(attributes);
|
|
59
|
+
const italic = attributes.italic === "true";
|
|
60
|
+
if(fontWeight === "normal") {
|
|
61
|
+
return italic ? "italic" : fontWeight;
|
|
62
|
+
}
|
|
63
|
+
return `${fontWeight}${italic ? "Italic": ""}`;
|
|
64
|
+
}
|
|
65
|
+
|
|
48
66
|
export function getFontName(
|
|
49
67
|
fontFamily: string | undefined,
|
|
50
68
|
fontWeight: TextFontWeight,
|
|
@@ -4,6 +4,7 @@ import * as StyleKey from "../../abstract-document/styles/style-key.js";
|
|
|
4
4
|
import { Resources } from "../../abstract-document/resources.js";
|
|
5
5
|
import { ADCreatorFn, creators, propsCreators } from "./creator.js";
|
|
6
6
|
import { parseHandlebarsXml, parseMustacheXml, type XmlElement } from "handlebars-xml";
|
|
7
|
+
import { getFontStyleName } from "../../abstract-document-exporters/pdf/font.js";
|
|
7
8
|
|
|
8
9
|
export type TemplateInput = {
|
|
9
10
|
readonly template: string;
|
|
@@ -176,21 +177,29 @@ function extractImageFontsStyleNames(
|
|
|
176
177
|
xmlElement: ReadonlyArray<XmlElement>,
|
|
177
178
|
styleNames: Record<string, string> = {},
|
|
178
179
|
images: Record<string, true> = {},
|
|
179
|
-
fonts: Record<string, true> = {}
|
|
180
|
-
|
|
180
|
+
fonts: Record<string, true> = {},
|
|
181
|
+
fontStyles: Record<string, ReadonlyArray<string>> = {},
|
|
182
|
+
): readonly [imageUrls: Record<string, true>, fontFamilies: Record<string, true>, styleNames: Record<string, string>, fontStyles: Record<string, ReadonlyArray<string>>] {
|
|
181
183
|
xmlElement.forEach((item) => {
|
|
182
184
|
if (item.tagName.startsWith("Image") && item.attributes?.src) {
|
|
183
185
|
images[item.attributes.src as string] = true;
|
|
184
186
|
} else if (item.attributes?.fontFamily) {
|
|
185
187
|
fonts[item.attributes.fontFamily as string] = true;
|
|
188
|
+
|
|
189
|
+
const styleName = getFontStyleName(item.attributes);
|
|
190
|
+
const currentStyleNames = fontStyles[item.attributes.fontFamily as string] ?? [];
|
|
191
|
+
if(currentStyleNames.findIndex((v) => v === styleName) === -1) {
|
|
192
|
+
fontStyles[item.attributes.fontFamily as string] = [...currentStyleNames, styleName];
|
|
193
|
+
}
|
|
194
|
+
|
|
186
195
|
if (item.tagName === "StyleName" && item.attributes.name && item.attributes.type) {
|
|
187
196
|
styleNames[item.attributes.name as string] = item.attributes.type;
|
|
188
197
|
}
|
|
189
198
|
} else if (item.tagName === "StyleName" && item.attributes.name && item.attributes.type) {
|
|
190
199
|
styleNames[item.attributes.name as string] = item.attributes.type;
|
|
191
200
|
} else {
|
|
192
|
-
extractImageFontsStyleNames(item.children, styleNames, images, fonts);
|
|
201
|
+
extractImageFontsStyleNames(item.children, styleNames, images, fonts, fontStyles);
|
|
193
202
|
}
|
|
194
203
|
});
|
|
195
|
-
return [images, fonts, styleNames];
|
|
204
|
+
return [images, fonts, styleNames, fontStyles];
|
|
196
205
|
}
|