ducpdf 3.3.0 → 3.4.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.
@@ -0,0 +1,10 @@
1
+ import type { ExportedDataState } from 'ducjs';
2
+ /**
3
+ * Fetch font data for all detected families in a DUC file.
4
+ * Returns fontMap and a list of warning messages for fonts that couldn't be fetched.
5
+ */
6
+ export declare function fetchFontsForDuc(parsed: ExportedDataState): Promise<{
7
+ fontMap: Map<string, Uint8Array>;
8
+ warnings: string[];
9
+ }>;
10
+ //# sourceMappingURL=fonts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../../src/duc2pdf/fonts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AA2H/C;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA2CnE"}
@@ -0,0 +1,150 @@
1
+ // Font families that are bundled in the WASM binary (no need to fetch)
2
+ const BUNDLED_FONTS = new Set(['Roboto Mono']);
3
+ // Metadata JSON URL (small file, cacheable via CDN)
4
+ const GOOGLE_FONTS_METADATA_URL = 'https://cdn.jsdelivr.net/npm/google-font-metadata@6/data/google-fonts-v1.json';
5
+ const TRUSTED_FONT_DOMAINS = new Set([
6
+ 'fonts.gstatic.com',
7
+ 'fonts.googleapis.com',
8
+ 'cdn.jsdelivr.net',
9
+ ]);
10
+ function isTrustedFontUrl(urlStr) {
11
+ try {
12
+ const url = new URL(urlStr);
13
+ return url.protocol === 'https:' && TRUSTED_FONT_DOMAINS.has(url.hostname);
14
+ }
15
+ catch {
16
+ return false;
17
+ }
18
+ }
19
+ // In-memory cache for the metadata JSON (fetched once per session)
20
+ let metadataCache = null;
21
+ let metadataFetchPromise = null;
22
+ /**
23
+ * Fetch and cache the google-font-metadata v1 JSON.
24
+ */
25
+ async function getGoogleFontMetadata() {
26
+ if (metadataCache)
27
+ return metadataCache;
28
+ if (metadataFetchPromise)
29
+ return metadataFetchPromise;
30
+ metadataFetchPromise = (async () => {
31
+ try {
32
+ const res = await fetch(GOOGLE_FONTS_METADATA_URL);
33
+ if (!res.ok)
34
+ return null;
35
+ metadataCache = await res.json();
36
+ return metadataCache;
37
+ }
38
+ catch {
39
+ return null;
40
+ }
41
+ finally {
42
+ metadataFetchPromise = null;
43
+ }
44
+ })();
45
+ return metadataFetchPromise;
46
+ }
47
+ /**
48
+ * Convert a display font family name (e.g. "Roboto Mono") to the metadata key ("roboto-mono").
49
+ */
50
+ const fontFamilyToId = (family) => family.toLowerCase().replace(/\s+/g, '-');
51
+ /**
52
+ * Look up the TTF (truetype) URL for a font from cached metadata.
53
+ */
54
+ function getTrueTypeUrl(metadata, family, weight = 400, style = 'normal') {
55
+ const id = fontFamilyToId(family);
56
+ const font = metadata[id];
57
+ if (!font)
58
+ return undefined;
59
+ const weightVariants = font.variants[String(weight)];
60
+ if (!weightVariants) {
61
+ const firstWeight = Object.keys(font.variants)[0];
62
+ if (!firstWeight)
63
+ return undefined;
64
+ const fallback = font.variants[firstWeight];
65
+ const styleVar = fallback?.[style] ?? Object.values(fallback ?? {})[0];
66
+ const subset = styleVar?.[font.defSubset] ?? Object.values(styleVar ?? {})[0];
67
+ return subset?.url?.truetype;
68
+ }
69
+ const styleVariants = weightVariants[style] ?? Object.values(weightVariants)[0];
70
+ if (!styleVariants)
71
+ return undefined;
72
+ const subset = styleVariants[font.defSubset] ?? Object.values(styleVariants)[0];
73
+ return subset?.url?.truetype;
74
+ }
75
+ /**
76
+ * Validate that a fontFamily string is a real font name (not a numeric ID or empty).
77
+ */
78
+ const isValidFontFamily = (ff) => typeof ff === 'string' && ff.length > 0 && !/^\d+$/.test(ff);
79
+ /**
80
+ * Extract unique font family names from parsed DUC elements.
81
+ */
82
+ function collectFontFamilies(parsed) {
83
+ const families = new Set();
84
+ for (const el of (parsed.elements ?? [])) {
85
+ if (el && typeof el === 'object' && 'fontFamily' in el) {
86
+ const ff = el.fontFamily;
87
+ if (isValidFontFamily(ff))
88
+ families.add(ff);
89
+ }
90
+ if (el && el.type === 'table' && Array.isArray(el.cells)) {
91
+ for (const cell of el.cells) {
92
+ const ff = cell?.fontFamily ?? cell?.style?.fontFamily;
93
+ if (isValidFontFamily(ff))
94
+ families.add(ff);
95
+ }
96
+ }
97
+ }
98
+ const defaultFF = parsed?.localState?.currentItemFontFamily;
99
+ if (isValidFontFamily(defaultFF))
100
+ families.add(defaultFF);
101
+ return families;
102
+ }
103
+ /**
104
+ * Fetch font data for all detected families in a DUC file.
105
+ * Returns fontMap and a list of warning messages for fonts that couldn't be fetched.
106
+ */
107
+ export async function fetchFontsForDuc(parsed) {
108
+ const fontMap = new Map();
109
+ const warnings = [];
110
+ const families = collectFontFamilies(parsed);
111
+ const toFetch = [...families].filter(f => !BUNDLED_FONTS.has(f));
112
+ if (toFetch.length === 0)
113
+ return { fontMap, warnings };
114
+ const metadata = await getGoogleFontMetadata();
115
+ if (!metadata) {
116
+ warnings.push('Could not load Google Fonts metadata. Text will use the default font.');
117
+ return { fontMap, warnings };
118
+ }
119
+ const results = await Promise.allSettled(toFetch.map(async (family) => {
120
+ const ttfUrl = getTrueTypeUrl(metadata, family);
121
+ if (!ttfUrl || !isTrustedFontUrl(ttfUrl))
122
+ return { family, bytes: null };
123
+ try {
124
+ const res = await fetch(ttfUrl);
125
+ if (!res.ok)
126
+ return { family, bytes: null };
127
+ const buf = await res.arrayBuffer();
128
+ return { family, bytes: buf.byteLength > 1024 ? new Uint8Array(buf) : null };
129
+ }
130
+ catch {
131
+ return { family, bytes: null };
132
+ }
133
+ }));
134
+ for (const result of results) {
135
+ if (result.status === 'fulfilled') {
136
+ const { family, bytes } = result.value;
137
+ if (bytes) {
138
+ fontMap.set(family, bytes);
139
+ }
140
+ else {
141
+ warnings.push(`Font "${family}" could not be fetched and will use the default font.`);
142
+ }
143
+ }
144
+ else {
145
+ warnings.push('A font fetch failed unexpectedly.');
146
+ }
147
+ }
148
+ return { fontMap, warnings };
149
+ }
150
+ //# sourceMappingURL=fonts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../../src/duc2pdf/fonts.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
+ export interface PdfConversionResult {
2
+ data: Uint8Array;
3
+ warnings: string[];
4
+ }
1
5
  export interface ConversionOptions {
2
6
  offsetX?: number;
3
7
  offsetY?: number;
@@ -12,8 +16,8 @@ export interface ConversionOptions {
12
16
  subject?: string;
13
17
  };
14
18
  }
15
- export declare function convertDucToPdf(ducData: Uint8Array, options?: ConversionOptions, debugMode?: boolean): Promise<Uint8Array>;
16
- export declare function convertDucToPdfCrop(ducData: Uint8Array, offsetX: number, offsetY: number, width?: number, height?: number): Promise<Uint8Array>;
19
+ export declare function convertDucToPdf(ducData: Uint8Array, options?: ConversionOptions, debugMode?: boolean): Promise<PdfConversionResult>;
20
+ export declare function convertDucToPdfCrop(ducData: Uint8Array, offsetX: number, offsetY: number, width?: number, height?: number): Promise<PdfConversionResult>;
17
21
  export declare function isWasmInitialized(): boolean;
18
22
  export declare function getWasmStatus(): Promise<{
19
23
  initialized: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/duc2pdf/index.ts"],"names":[],"mappings":"AAwDA,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAgDD,wBAAsB,eAAe,CACnC,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,UAAU,CAAC,CAsLrB;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC,CAErB;AAGD,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAC7C,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC,CAeD;AAGD,wBAAgB,eAAe,IAAI,IAAI,CAGtC;AAGD,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CA2DA;AAGD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,IAAI,CA0BN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/duc2pdf/index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA0DD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAgDD,wBAAsB,eAAe,CACnC,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAsN9B;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAGD,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC;IAC7C,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC,CAeD;AAGD,wBAAgB,eAAe,IAAI,IAAI,CAGtC;AAGD,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CA2DA;AAGD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,IAAI,CA0BN"}
@@ -1,4 +1,5 @@
1
1
  import { getFreeDrawSvgPath, getNormalizedZoom, isFreeDrawElement, parseDuc, serializeDuc, traverseAndUpdatePrecisionValues } from 'ducjs';
2
+ import { fetchFontsForDuc } from './fonts';
2
3
  let wasmModule = null;
3
4
  let wasmInitPromise = null;
4
5
  async function initWasm() {
@@ -13,7 +14,7 @@ async function initWasm() {
13
14
  const wasmBindings = await import('../wasm');
14
15
  // The wasm-pack generated module exports a default init function
15
16
  // that handles loading the WASM file using import.meta.url
16
- // This is the same pattern used by duc_renderer_bin
17
+ // Standard wasm-pack init pattern
17
18
  if (typeof wasmBindings.default === 'function') {
18
19
  // Call the init function - it will automatically fetch the WASM file
19
20
  // using import.meta.url to resolve the path correctly
@@ -25,7 +26,9 @@ async function initWasm() {
25
26
  // Validate that required functions exist on the imported module
26
27
  const requiredFunctions = [
27
28
  'convert_duc_to_pdf_rs',
28
- 'convert_duc_to_pdf_crop_wasm'
29
+ 'convert_duc_to_pdf_crop_wasm',
30
+ 'convert_duc_to_pdf_with_fonts_rs',
31
+ 'convert_duc_to_pdf_crop_with_fonts_wasm'
29
32
  ];
30
33
  for (const fnName of requiredFunctions) {
31
34
  if (typeof wasmBindings[fnName] !== 'function') {
@@ -91,6 +94,7 @@ function validateInput(ducData, options) {
91
94
  }
92
95
  }
93
96
  export async function convertDucToPdf(ducData, options, debugMode = false) {
97
+ const fontWarnings = [];
94
98
  try {
95
99
  // Validate inputs
96
100
  validateInput(ducData, options);
@@ -102,6 +106,7 @@ export async function convertDucToPdf(ducData, options, debugMode = false) {
102
106
  const wasm = await initWasm();
103
107
  let ducBytes = new Uint8Array(ducData);
104
108
  let viewBackgroundColor;
109
+ let normalizedData = null;
105
110
  try {
106
111
  const latestBlob = new Blob([ducBytes]);
107
112
  const parsed = await parseDuc(latestBlob);
@@ -145,6 +150,7 @@ export async function convertDucToPdf(ducData, options, debugMode = false) {
145
150
  });
146
151
  normalized.elements = normalizedElements;
147
152
  viewBackgroundColor = normalized.globalState.viewBackgroundColor;
153
+ normalizedData = normalized;
148
154
  // Re-serialize the DUC with normalized values and scope set to 'mm'
149
155
  const serialized = await serializeDuc(normalized, true, // use scoped values
150
156
  undefined, {
@@ -164,8 +170,21 @@ export async function convertDucToPdf(ducData, options, debugMode = false) {
164
170
  catch (e) {
165
171
  console.warn('DUC parse/serialize normalization failed; using original bytes. Reason:', e);
166
172
  }
173
+ // Fetch font data for all detected families (falls back gracefully if offline)
174
+ let fontMap = new Map();
175
+ if (normalizedData) {
176
+ try {
177
+ const result = await fetchFontsForDuc(normalizedData);
178
+ fontMap = result.fontMap;
179
+ fontWarnings.push(...result.warnings);
180
+ }
181
+ catch (e) {
182
+ fontWarnings.push('Font fetching failed. Text will use the default font.');
183
+ }
184
+ }
167
185
  // Call the appropriate WASM function based on options
168
186
  let result;
187
+ const hasFonts = fontMap.size > 0;
169
188
  if (options && (options.offsetX !== undefined || options.offsetY !== undefined)) {
170
189
  // Use crop mode with offset
171
190
  const offsetX = options.offsetX || 0;
@@ -174,11 +193,21 @@ export async function convertDucToPdf(ducData, options, debugMode = false) {
174
193
  const widthOption = typeof options.width === 'number' ? options.width : undefined;
175
194
  const heightOption = typeof options.height === 'number' ? options.height : undefined;
176
195
  const backgroundOption = backgroundColor === undefined ? undefined : backgroundColor;
177
- result = wasm.convert_duc_to_pdf_crop_wasm(ducBytes, offsetX, offsetY, widthOption, heightOption, backgroundOption);
196
+ if (hasFonts) {
197
+ result = wasm.convert_duc_to_pdf_crop_with_fonts_wasm(ducBytes, offsetX, offsetY, widthOption, heightOption, backgroundOption, fontMap);
198
+ }
199
+ else {
200
+ result = wasm.convert_duc_to_pdf_crop_wasm(ducBytes, offsetX, offsetY, widthOption, heightOption, backgroundOption);
201
+ }
178
202
  }
179
203
  else {
180
204
  // Standard conversion
181
- result = wasm.convert_duc_to_pdf_rs(ducBytes);
205
+ if (hasFonts) {
206
+ result = wasm.convert_duc_to_pdf_with_fonts_rs(ducBytes, fontMap);
207
+ }
208
+ else {
209
+ result = wasm.convert_duc_to_pdf_rs(ducBytes);
210
+ }
182
211
  }
183
212
  // Check if conversion was successful
184
213
  if (!result || result.length === 0) {
@@ -231,7 +260,7 @@ export async function convertDucToPdf(ducData, options, debugMode = false) {
231
260
  throw new Error(detailedError);
232
261
  }
233
262
  }
234
- return result;
263
+ return { data: result, warnings: fontWarnings };
235
264
  }
236
265
  catch (error) {
237
266
  console.error('DUC to PDF conversion error:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/duc2pdf/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/duc2pdf/index.ts"],"names":[],"mappings":"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"}
package/dist/duc2pdf.d.ts CHANGED
@@ -1,21 +1,32 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  /**
4
- * WASM binding for crop conversion
4
+ * WASM binding for the main conversion function
5
5
  */
6
- export function convert_duc_to_pdf_crop_wasm(duc_data: Uint8Array, offset_x: number, offset_y: number, width?: number | null, height?: number | null, background_color?: string | null): Uint8Array;
6
+ export function convert_duc_to_pdf_rs(duc_data: Uint8Array): Uint8Array;
7
+ /**
8
+ * WASM binding for conversion with custom font data
9
+ * font_map_js: a JS Map<string, Uint8Array> mapping font family names to TTF/OTF bytes
10
+ */
11
+ export function convert_duc_to_pdf_with_fonts_rs(duc_data: Uint8Array, font_map_js: any): Uint8Array;
7
12
  export function init_logger(): void;
8
13
  /**
9
- * WASM binding for the main conversion function
14
+ * WASM binding for crop conversion with custom font data
10
15
  */
11
- export function convert_duc_to_pdf_rs(duc_data: Uint8Array): Uint8Array;
16
+ export function convert_duc_to_pdf_crop_with_fonts_wasm(duc_data: Uint8Array, offset_x: number, offset_y: number, width: number | null | undefined, height: number | null | undefined, background_color: string | null | undefined, font_map_js: any): Uint8Array;
17
+ /**
18
+ * WASM binding for crop conversion
19
+ */
20
+ export function convert_duc_to_pdf_crop_wasm(duc_data: Uint8Array, offset_x: number, offset_y: number, width?: number | null, height?: number | null, background_color?: string | null): Uint8Array;
12
21
 
13
22
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
14
23
 
15
24
  export interface InitOutput {
16
25
  readonly memory: WebAssembly.Memory;
17
26
  readonly convert_duc_to_pdf_crop_wasm: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
27
+ readonly convert_duc_to_pdf_crop_with_fonts_wasm: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: any) => [number, number];
18
28
  readonly convert_duc_to_pdf_rs: (a: number, b: number) => [number, number];
29
+ readonly convert_duc_to_pdf_with_fonts_rs: (a: number, b: number, c: any) => [number, number];
19
30
  readonly init_logger: () => void;
20
31
  readonly __wbindgen_exn_store: (a: number) => void;
21
32
  readonly __externref_table_alloc: () => number;
package/dist/duc2pdf.js CHANGED
@@ -1,19 +1,5 @@
1
1
  let wasm;
2
2
 
3
- let cachedUint8ArrayMemory0 = null;
4
-
5
- function getUint8ArrayMemory0() {
6
- if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
7
- cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
8
- }
9
- return cachedUint8ArrayMemory0;
10
- }
11
-
12
- function getArrayU8FromWasm0(ptr, len) {
13
- ptr = ptr >>> 0;
14
- return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
15
- }
16
-
17
3
  function addToExternrefTable0(obj) {
18
4
  const idx = wasm.__externref_table_alloc();
19
5
  wasm.__wbindgen_export_2.set(idx, obj);
@@ -29,40 +15,22 @@ function handleError(f, args) {
29
15
  }
30
16
  }
31
17
 
32
- let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
33
-
34
- cachedTextDecoder.decode();
18
+ let cachedUint8ArrayMemory0 = null;
35
19
 
36
- const MAX_SAFARI_DECODE_BYTES = 2146435072;
37
- let numBytesDecoded = 0;
38
- function decodeText(ptr, len) {
39
- numBytesDecoded += len;
40
- if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {
41
- cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
42
- cachedTextDecoder.decode();
43
- numBytesDecoded = len;
20
+ function getUint8ArrayMemory0() {
21
+ if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
22
+ cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
44
23
  }
45
- return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
24
+ return cachedUint8ArrayMemory0;
46
25
  }
47
26
 
48
- function getStringFromWasm0(ptr, len) {
27
+ function getArrayU8FromWasm0(ptr, len) {
49
28
  ptr = ptr >>> 0;
50
- return decodeText(ptr, len);
29
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
51
30
  }
52
31
 
53
32
  let WASM_VECTOR_LEN = 0;
54
33
 
55
- function passArray8ToWasm0(arg, malloc) {
56
- const ptr = malloc(arg.length * 1, 1) >>> 0;
57
- getUint8ArrayMemory0().set(arg, ptr / 1);
58
- WASM_VECTOR_LEN = arg.length;
59
- return ptr;
60
- }
61
-
62
- function isLikeNone(x) {
63
- return x === undefined || x === null;
64
- }
65
-
66
34
  const cachedTextEncoder = new TextEncoder();
67
35
 
68
36
  if (!('encodeInto' in cachedTextEncoder)) {
@@ -114,43 +82,122 @@ function passStringToWasm0(arg, malloc, realloc) {
114
82
  WASM_VECTOR_LEN = offset;
115
83
  return ptr;
116
84
  }
85
+
86
+ function isLikeNone(x) {
87
+ return x === undefined || x === null;
88
+ }
89
+
90
+ let cachedDataViewMemory0 = null;
91
+
92
+ function getDataViewMemory0() {
93
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
94
+ cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
95
+ }
96
+ return cachedDataViewMemory0;
97
+ }
98
+
99
+ let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
100
+
101
+ cachedTextDecoder.decode();
102
+
103
+ const MAX_SAFARI_DECODE_BYTES = 2146435072;
104
+ let numBytesDecoded = 0;
105
+ function decodeText(ptr, len) {
106
+ numBytesDecoded += len;
107
+ if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {
108
+ cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
109
+ cachedTextDecoder.decode();
110
+ numBytesDecoded = len;
111
+ }
112
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
113
+ }
114
+
115
+ function getStringFromWasm0(ptr, len) {
116
+ ptr = ptr >>> 0;
117
+ return decodeText(ptr, len);
118
+ }
119
+
120
+ function passArray8ToWasm0(arg, malloc) {
121
+ const ptr = malloc(arg.length * 1, 1) >>> 0;
122
+ getUint8ArrayMemory0().set(arg, ptr / 1);
123
+ WASM_VECTOR_LEN = arg.length;
124
+ return ptr;
125
+ }
117
126
  /**
118
- * WASM binding for crop conversion
127
+ * WASM binding for the main conversion function
128
+ * @param {Uint8Array} duc_data
129
+ * @returns {Uint8Array}
130
+ */
131
+ export function convert_duc_to_pdf_rs(duc_data) {
132
+ const ptr0 = passArray8ToWasm0(duc_data, wasm.__wbindgen_malloc);
133
+ const len0 = WASM_VECTOR_LEN;
134
+ const ret = wasm.convert_duc_to_pdf_rs(ptr0, len0);
135
+ var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
136
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
137
+ return v2;
138
+ }
139
+
140
+ /**
141
+ * WASM binding for conversion with custom font data
142
+ * font_map_js: a JS Map<string, Uint8Array> mapping font family names to TTF/OTF bytes
143
+ * @param {Uint8Array} duc_data
144
+ * @param {any} font_map_js
145
+ * @returns {Uint8Array}
146
+ */
147
+ export function convert_duc_to_pdf_with_fonts_rs(duc_data, font_map_js) {
148
+ const ptr0 = passArray8ToWasm0(duc_data, wasm.__wbindgen_malloc);
149
+ const len0 = WASM_VECTOR_LEN;
150
+ const ret = wasm.convert_duc_to_pdf_with_fonts_rs(ptr0, len0, font_map_js);
151
+ var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
152
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
153
+ return v2;
154
+ }
155
+
156
+ export function init_logger() {
157
+ wasm.init_logger();
158
+ }
159
+
160
+ /**
161
+ * WASM binding for crop conversion with custom font data
119
162
  * @param {Uint8Array} duc_data
120
163
  * @param {number} offset_x
121
164
  * @param {number} offset_y
122
- * @param {number | null} [width]
123
- * @param {number | null} [height]
124
- * @param {string | null} [background_color]
165
+ * @param {number | null | undefined} width
166
+ * @param {number | null | undefined} height
167
+ * @param {string | null | undefined} background_color
168
+ * @param {any} font_map_js
125
169
  * @returns {Uint8Array}
126
170
  */
127
- export function convert_duc_to_pdf_crop_wasm(duc_data, offset_x, offset_y, width, height, background_color) {
171
+ export function convert_duc_to_pdf_crop_with_fonts_wasm(duc_data, offset_x, offset_y, width, height, background_color, font_map_js) {
128
172
  const ptr0 = passArray8ToWasm0(duc_data, wasm.__wbindgen_malloc);
129
173
  const len0 = WASM_VECTOR_LEN;
130
174
  var ptr1 = isLikeNone(background_color) ? 0 : passStringToWasm0(background_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
131
175
  var len1 = WASM_VECTOR_LEN;
132
- const ret = wasm.convert_duc_to_pdf_crop_wasm(ptr0, len0, offset_x, offset_y, !isLikeNone(width), isLikeNone(width) ? 0 : width, !isLikeNone(height), isLikeNone(height) ? 0 : height, ptr1, len1);
176
+ const ret = wasm.convert_duc_to_pdf_crop_with_fonts_wasm(ptr0, len0, offset_x, offset_y, !isLikeNone(width), isLikeNone(width) ? 0 : width, !isLikeNone(height), isLikeNone(height) ? 0 : height, ptr1, len1, font_map_js);
133
177
  var v3 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
134
178
  wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
135
179
  return v3;
136
180
  }
137
181
 
138
- export function init_logger() {
139
- wasm.init_logger();
140
- }
141
-
142
182
  /**
143
- * WASM binding for the main conversion function
183
+ * WASM binding for crop conversion
144
184
  * @param {Uint8Array} duc_data
185
+ * @param {number} offset_x
186
+ * @param {number} offset_y
187
+ * @param {number | null} [width]
188
+ * @param {number | null} [height]
189
+ * @param {string | null} [background_color]
145
190
  * @returns {Uint8Array}
146
191
  */
147
- export function convert_duc_to_pdf_rs(duc_data) {
192
+ export function convert_duc_to_pdf_crop_wasm(duc_data, offset_x, offset_y, width, height, background_color) {
148
193
  const ptr0 = passArray8ToWasm0(duc_data, wasm.__wbindgen_malloc);
149
194
  const len0 = WASM_VECTOR_LEN;
150
- const ret = wasm.convert_duc_to_pdf_rs(ptr0, len0);
151
- var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
195
+ var ptr1 = isLikeNone(background_color) ? 0 : passStringToWasm0(background_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
196
+ var len1 = WASM_VECTOR_LEN;
197
+ const ret = wasm.convert_duc_to_pdf_crop_wasm(ptr0, len0, offset_x, offset_y, !isLikeNone(width), isLikeNone(width) ? 0 : width, !isLikeNone(height), isLikeNone(height) ? 0 : height, ptr1, len1);
198
+ var v3 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
152
199
  wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
153
- return v2;
200
+ return v3;
154
201
  }
155
202
 
156
203
  const EXPECTED_RESPONSE_TYPES = new Set(['basic', 'cors', 'default']);
@@ -191,24 +238,100 @@ async function __wbg_load(module, imports) {
191
238
  function __wbg_get_imports() {
192
239
  const imports = {};
193
240
  imports.wbg = {};
241
+ imports.wbg.__wbg_call_13410aac570ffff7 = function() { return handleError(function (arg0, arg1) {
242
+ const ret = arg0.call(arg1);
243
+ return ret;
244
+ }, arguments) };
194
245
  imports.wbg.__wbg_debug_c906769d2f88c17b = function(arg0) {
195
246
  console.debug(arg0);
196
247
  };
248
+ imports.wbg.__wbg_done_75ed0ee6dd243d9d = function(arg0) {
249
+ const ret = arg0.done;
250
+ return ret;
251
+ };
197
252
  imports.wbg.__wbg_error_99981e16d476aa5c = function(arg0) {
198
253
  console.error(arg0);
199
254
  };
255
+ imports.wbg.__wbg_from_88bc52ce20ba6318 = function(arg0) {
256
+ const ret = Array.from(arg0);
257
+ return ret;
258
+ };
200
259
  imports.wbg.__wbg_getRandomValues_1c61fac11405ffdc = function() { return handleError(function (arg0, arg1) {
201
260
  globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
202
261
  }, arguments) };
262
+ imports.wbg.__wbg_get_0da715ceaecea5c8 = function(arg0, arg1) {
263
+ const ret = arg0[arg1 >>> 0];
264
+ return ret;
265
+ };
266
+ imports.wbg.__wbg_get_458e874b43b18b25 = function() { return handleError(function (arg0, arg1) {
267
+ const ret = Reflect.get(arg0, arg1);
268
+ return ret;
269
+ }, arguments) };
203
270
  imports.wbg.__wbg_info_6cf68c1a86a92f6a = function(arg0) {
204
271
  console.info(arg0);
205
272
  };
273
+ imports.wbg.__wbg_iterator_f370b34483c71a1c = function() {
274
+ const ret = Symbol.iterator;
275
+ return ret;
276
+ };
277
+ imports.wbg.__wbg_length_186546c51cd61acd = function(arg0) {
278
+ const ret = arg0.length;
279
+ return ret;
280
+ };
281
+ imports.wbg.__wbg_length_6bb7e81f9d7713e4 = function(arg0) {
282
+ const ret = arg0.length;
283
+ return ret;
284
+ };
206
285
  imports.wbg.__wbg_log_6c7b5f4f00b8ce3f = function(arg0) {
207
286
  console.log(arg0);
208
287
  };
288
+ imports.wbg.__wbg_new_638ebfaedbf32a5e = function(arg0) {
289
+ const ret = new Uint8Array(arg0);
290
+ return ret;
291
+ };
292
+ imports.wbg.__wbg_next_5b3530e612fde77d = function(arg0) {
293
+ const ret = arg0.next;
294
+ return ret;
295
+ };
296
+ imports.wbg.__wbg_next_692e82279131b03c = function() { return handleError(function (arg0) {
297
+ const ret = arg0.next();
298
+ return ret;
299
+ }, arguments) };
300
+ imports.wbg.__wbg_prototypesetcall_3d4a26c1ed734349 = function(arg0, arg1, arg2) {
301
+ Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);
302
+ };
303
+ imports.wbg.__wbg_value_dd9372230531eade = function(arg0) {
304
+ const ret = arg0.value;
305
+ return ret;
306
+ };
209
307
  imports.wbg.__wbg_warn_e2ada06313f92f09 = function(arg0) {
210
308
  console.warn(arg0);
211
309
  };
310
+ imports.wbg.__wbg_wbindgenisfunction_8cee7dce3725ae74 = function(arg0) {
311
+ const ret = typeof(arg0) === 'function';
312
+ return ret;
313
+ };
314
+ imports.wbg.__wbg_wbindgenisnull_f3037694abe4d97a = function(arg0) {
315
+ const ret = arg0 === null;
316
+ return ret;
317
+ };
318
+ imports.wbg.__wbg_wbindgenisobject_307a53c6bd97fbf8 = function(arg0) {
319
+ const val = arg0;
320
+ const ret = typeof(val) === 'object' && val !== null;
321
+ return ret;
322
+ };
323
+ imports.wbg.__wbg_wbindgenisundefined_c4b71d073b92f3c5 = function(arg0) {
324
+ const ret = arg0 === undefined;
325
+ return ret;
326
+ };
327
+ imports.wbg.__wbg_wbindgenstringget_0f16a6ddddef376f = function(arg0, arg1) {
328
+ const obj = arg1;
329
+ const ret = typeof(obj) === 'string' ? obj : undefined;
330
+ var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
331
+ var len1 = WASM_VECTOR_LEN;
332
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
333
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
334
+ };
212
335
  imports.wbg.__wbg_wbindgenthrow_451ec1a8469d7eb6 = function(arg0, arg1) {
213
336
  throw new Error(getStringFromWasm0(arg0, arg1));
214
337
  };
@@ -238,6 +361,7 @@ function __wbg_init_memory(imports, memory) {
238
361
  function __wbg_finalize_init(instance, module) {
239
362
  wasm = instance.exports;
240
363
  __wbg_init.__wbindgen_wasm_module = module;
364
+ cachedDataViewMemory0 = null;
241
365
  cachedUint8ArrayMemory0 = null;
242
366
 
243
367
 
Binary file
@@ -2,7 +2,9 @@
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
4
  export const convert_duc_to_pdf_crop_wasm: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => [number, number];
5
+ export const convert_duc_to_pdf_crop_with_fonts_wasm: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: any) => [number, number];
5
6
  export const convert_duc_to_pdf_rs: (a: number, b: number) => [number, number];
7
+ export const convert_duc_to_pdf_with_fonts_rs: (a: number, b: number, c: any) => [number, number];
6
8
  export const init_logger: () => void;
7
9
  export const __wbindgen_exn_store: (a: number) => void;
8
10
  export const __externref_table_alloc: () => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ducpdf",
3
- "version": "3.3.0",
3
+ "version": "3.4.0",
4
4
  "description": "Library for converting between PDF and DUC formats.",
5
5
  "private": false,
6
6
  "type": "module",
@@ -48,7 +48,7 @@
48
48
  "test:duc2pdf": "cd src/duc2pdf && cargo test"
49
49
  },
50
50
  "dependencies": {
51
- "ducjs": "^2.3.0"
51
+ "ducjs": "^2.4.0"
52
52
  },
53
53
  "devDependencies": {
54
54
  "typescript": "^5.4.5",