postext-pdf 1.14.0 → 1.15.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/README.md +13 -1
- package/dist/__bench__/arabicShaping.bench.test.d.ts +2 -0
- package/dist/__bench__/arabicShaping.bench.test.d.ts.map +1 -0
- package/dist/__bench__/arabicShaping.bench.test.js +53 -0
- package/dist/__bench__/arabicShaping.bench.test.js.map +1 -0
- package/dist/__tests__/arabicShaping.test.d.ts +2 -0
- package/dist/__tests__/arabicShaping.test.d.ts.map +1 -0
- package/dist/__tests__/arabicShaping.test.js +261 -0
- package/dist/__tests__/arabicShaping.test.js.map +1 -0
- package/dist/__tests__/complexShaping.test.d.ts +2 -0
- package/dist/__tests__/complexShaping.test.d.ts.map +1 -0
- package/dist/__tests__/complexShaping.test.js +145 -0
- package/dist/__tests__/complexShaping.test.js.map +1 -0
- package/dist/__tests__/designTextRtl.test.d.ts +2 -0
- package/dist/__tests__/designTextRtl.test.d.ts.map +1 -0
- package/dist/__tests__/designTextRtl.test.js +136 -0
- package/dist/__tests__/designTextRtl.test.js.map +1 -0
- package/dist/__tests__/harfbuzz.test.d.ts +2 -0
- package/dist/__tests__/harfbuzz.test.d.ts.map +1 -0
- package/dist/__tests__/harfbuzz.test.js +103 -0
- package/dist/__tests__/harfbuzz.test.js.map +1 -0
- package/dist/__tests__/measuredLines.test.js +13 -5
- package/dist/__tests__/measuredLines.test.js.map +1 -1
- package/dist/__tests__/mirroredPdf.test.d.ts +2 -0
- package/dist/__tests__/mirroredPdf.test.d.ts.map +1 -0
- package/dist/__tests__/mirroredPdf.test.js +104 -0
- package/dist/__tests__/mirroredPdf.test.js.map +1 -0
- package/dist/__tests__/rtlPdf.test.d.ts +2 -0
- package/dist/__tests__/rtlPdf.test.d.ts.map +1 -0
- package/dist/__tests__/rtlPdf.test.js +312 -0
- package/dist/__tests__/rtlPdf.test.js.map +1 -0
- package/dist/__tests__/verticalText.test.js +4 -4
- package/dist/__tests__/verticalText.test.js.map +1 -1
- package/dist/complexShaping.d.ts +113 -0
- package/dist/complexShaping.d.ts.map +1 -0
- package/dist/complexShaping.js +188 -0
- package/dist/complexShaping.js.map +1 -0
- package/dist/faceFiles.d.ts +9 -1
- package/dist/faceFiles.d.ts.map +1 -1
- package/dist/faceFiles.js +47 -5
- package/dist/faceFiles.js.map +1 -1
- package/dist/harfbuzz.d.ts +119 -0
- package/dist/harfbuzz.d.ts.map +1 -0
- package/dist/harfbuzz.js +280 -0
- package/dist/harfbuzz.js.map +1 -0
- package/dist/harfbuzz.wasm +0 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/pdf-backend/blockRender.d.ts.map +1 -1
- package/dist/pdf-backend/blockRender.js +113 -40
- package/dist/pdf-backend/blockRender.js.map +1 -1
- package/dist/pdf-backend/chip.d.ts.map +1 -1
- package/dist/pdf-backend/chip.js +11 -2
- package/dist/pdf-backend/chip.js.map +1 -1
- package/dist/pdf-backend/directedLine.d.ts +38 -0
- package/dist/pdf-backend/directedLine.d.ts.map +1 -0
- package/dist/pdf-backend/directedLine.js +103 -0
- package/dist/pdf-backend/directedLine.js.map +1 -0
- package/dist/pdf-backend/fontHelpers.d.ts.map +1 -1
- package/dist/pdf-backend/fontHelpers.js +6 -0
- package/dist/pdf-backend/fontHelpers.js.map +1 -1
- package/dist/pdf-backend/headerFooter.d.ts.map +1 -1
- package/dist/pdf-backend/headerFooter.js +11 -3
- package/dist/pdf-backend/headerFooter.js.map +1 -1
- package/dist/pdf-backend/index.d.ts +32 -3
- package/dist/pdf-backend/index.d.ts.map +1 -1
- package/dist/pdf-backend/index.js +40 -6
- package/dist/pdf-backend/index.js.map +1 -1
- package/dist/pdf-backend/links.d.ts +7 -2
- package/dist/pdf-backend/links.d.ts.map +1 -1
- package/dist/pdf-backend/links.js +9 -3
- package/dist/pdf-backend/links.js.map +1 -1
- package/dist/pdf-backend/outlines.js +2 -2
- package/dist/pdf-backend/outlines.js.map +1 -1
- package/dist/pdf-backend/primitives.d.ts +46 -2
- package/dist/pdf-backend/primitives.d.ts.map +1 -1
- package/dist/pdf-backend/primitives.js +67 -5
- package/dist/pdf-backend/primitives.js.map +1 -1
- package/dist/pdf-backend/renderResourceBlock.d.ts.map +1 -1
- package/dist/pdf-backend/renderResourceBlock.js +48 -14
- package/dist/pdf-backend/renderResourceBlock.js.map +1 -1
- package/dist/pdf-backend/rtlRun.d.ts +12 -0
- package/dist/pdf-backend/rtlRun.d.ts.map +1 -0
- package/dist/pdf-backend/rtlRun.js +31 -0
- package/dist/pdf-backend/rtlRun.js.map +1 -0
- package/dist/pdf-backend/shapedText.d.ts +122 -0
- package/dist/pdf-backend/shapedText.d.ts.map +1 -0
- package/dist/pdf-backend/shapedText.js +635 -0
- package/dist/pdf-backend/shapedText.js.map +1 -0
- package/dist/pdf-backend/svgVector.d.ts +9 -2
- package/dist/pdf-backend/svgVector.d.ts.map +1 -1
- package/dist/pdf-backend/svgVector.js +42 -18
- package/dist/pdf-backend/svgVector.js.map +1 -1
- package/dist/worker/client.d.ts.map +1 -1
- package/dist/worker/client.js +10 -1
- package/dist/worker/client.js.map +1 -1
- package/dist/worker/protocol.d.ts +5 -1
- package/dist/worker/protocol.d.ts.map +1 -1
- package/package.json +6 -5
package/dist/worker/client.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { sourceBase } from '../harfbuzz';
|
|
1
2
|
import { rasterizeSvgWithDom } from '../pdf-backend/renderResourceBlock';
|
|
2
3
|
export function createPdfWorker(options) {
|
|
3
4
|
const worker = options?.worker
|
|
@@ -93,8 +94,16 @@ export function createPdfWorker(options) {
|
|
|
93
94
|
buffers.add(bytes.buffer);
|
|
94
95
|
}
|
|
95
96
|
const { pageNegative, outlines, colorSpace, accessible } = renderOptions;
|
|
97
|
+
// A URL goes as its string, resolved against this page (the worker's
|
|
98
|
+
// own location is its script); bytes are copied, so the
|
|
99
|
+
// caller's buffer stays usable for the next render.
|
|
100
|
+
const wasm = renderOptions.harfbuzzWasm;
|
|
101
|
+
const harfbuzzWasm = wasm === undefined ? undefined
|
|
102
|
+
: typeof wasm === 'string' || wasm instanceof URL ? new URL(wasm, sourceBase()).href
|
|
103
|
+
: ArrayBuffer.isView(wasm) ? new Uint8Array(wasm.buffer, wasm.byteOffset, wasm.byteLength).slice()
|
|
104
|
+
: wasm.slice(0);
|
|
96
105
|
try {
|
|
97
|
-
send({ kind: 'render', id, docs, settings: { pageNegative, outlines, colorSpace, accessible }, resourceBytes }, [...buffers]);
|
|
106
|
+
send({ kind: 'render', id, docs, settings: { pageNegative, outlines, colorSpace, accessible, ...(harfbuzzWasm ? { harfbuzzWasm } : {}) }, resourceBytes }, [...buffers]);
|
|
98
107
|
}
|
|
99
108
|
catch (err) {
|
|
100
109
|
pending.delete(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/worker/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/worker/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { VDTDocument } from 'postext';
|
|
2
2
|
import type { PdfWarning, RenderProgress, RenderToPdfOptions } from '../pdf-backend';
|
|
3
3
|
/** The render options that travel to the worker as data. */
|
|
4
|
-
export type PdfRenderSettings = Pick<RenderToPdfOptions, 'pageNegative' | 'outlines' | 'colorSpace' | 'accessible'
|
|
4
|
+
export type PdfRenderSettings = Pick<RenderToPdfOptions, 'pageNegative' | 'outlines' | 'colorSpace' | 'accessible'> & {
|
|
5
|
+
/** `RenderToPdfOptions.harfbuzzWasm`, as data: a URL string (a `URL`
|
|
6
|
+
* does not survive `postMessage`) or the bytes. */
|
|
7
|
+
harfbuzzWasm?: string | ArrayBuffer | Uint8Array;
|
|
8
|
+
};
|
|
5
9
|
export type PdfRequestMessage = {
|
|
6
10
|
kind: 'render';
|
|
7
11
|
id: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/worker/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAErF,4DAA4D;AAC5D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,EAAE,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/worker/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAErF,4DAA4D;AAC5D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,EAAE,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC,GAAG;IACpH;wDACoD;IACpD,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,+CAA+C;IAC/C,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;CACvC,GACD;IACE;uEACmE;IACnE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE;AAC5D;;+BAE+B;GAC7B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AAChE;;0BAE0B;GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAClH;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "postext-pdf",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"description": "Browser-native PDF renderer for Postext documents. Consumes the same VDT as the canvas/HTML backends and produces a physical PDF with faithful glyph positioning, justification, crop marks, and baseline grid.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"./package.json": "./package.json"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
|
-
"postext": "^1.
|
|
43
|
+
"postext": "^1.15.0"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@pdf-lib/fontkit": "^1.1.1",
|
|
@@ -51,14 +51,15 @@
|
|
|
51
51
|
"@postext/typescript-config": "0.0.0",
|
|
52
52
|
"@types/node": "^26.5.0",
|
|
53
53
|
"eslint": "^9.39.4",
|
|
54
|
-
"
|
|
54
|
+
"harfbuzzjs": "1.6.2",
|
|
55
|
+
"postext": "1.15.0",
|
|
55
56
|
"typescript": "^6.0.3",
|
|
56
57
|
"typescript-eslint": "^8.70.0",
|
|
57
58
|
"vitest": "^5.0.0"
|
|
58
59
|
},
|
|
59
60
|
"scripts": {
|
|
60
|
-
"build": "rm -rf dist && tsc",
|
|
61
|
-
"dev": "tsc --watch",
|
|
61
|
+
"build": "rm -rf dist && tsc && node scripts/copy-harfbuzz.mjs",
|
|
62
|
+
"dev": "node scripts/copy-harfbuzz.mjs && tsc --watch",
|
|
62
63
|
"check-types": "tsc --noEmit",
|
|
63
64
|
"lint": "eslint .",
|
|
64
65
|
"test": "vitest run",
|