postext-pdf 1.29.2 → 1.30.1
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/__tests__/canvasShaping.test.d.ts +2 -0
- package/dist/__tests__/canvasShaping.test.d.ts.map +1 -0
- package/dist/__tests__/canvasShaping.test.js +258 -0
- package/dist/__tests__/canvasShaping.test.js.map +1 -0
- package/dist/__tests__/canvasWords.test.d.ts +2 -0
- package/dist/__tests__/canvasWords.test.d.ts.map +1 -0
- package/dist/__tests__/canvasWords.test.js +66 -0
- package/dist/__tests__/canvasWords.test.js.map +1 -0
- package/dist/__tests__/declaredFiles.test.d.ts +2 -0
- package/dist/__tests__/declaredFiles.test.d.ts.map +1 -0
- package/dist/__tests__/declaredFiles.test.js +435 -0
- package/dist/__tests__/declaredFiles.test.js.map +1 -0
- package/dist/__tests__/designTextRtl.test.js +17 -6
- package/dist/__tests__/designTextRtl.test.js.map +1 -1
- package/dist/__tests__/glyphPositions.d.ts +25 -0
- package/dist/__tests__/glyphPositions.d.ts.map +1 -0
- package/dist/__tests__/glyphPositions.js +288 -0
- package/dist/__tests__/glyphPositions.js.map +1 -0
- package/dist/__tests__/japaneseShaping.test.js +3 -3
- package/dist/__tests__/japaneseShaping.test.js.map +1 -1
- package/dist/__tests__/listMarkerShaping.test.d.ts +2 -0
- package/dist/__tests__/listMarkerShaping.test.d.ts.map +1 -0
- package/dist/__tests__/listMarkerShaping.test.js +64 -0
- package/dist/__tests__/listMarkerShaping.test.js.map +1 -0
- package/dist/__tests__/pdfWorker.test.js +27 -0
- package/dist/__tests__/pdfWorker.test.js.map +1 -1
- package/dist/__tests__/scriptContextHan.test.js +3 -3
- package/dist/__tests__/scriptContextHan.test.js.map +1 -1
- package/dist/__tests__/shapingLanguageDocument.test.js +1 -1
- package/dist/__tests__/shapingLanguageDocument.test.js.map +1 -1
- package/dist/__tests__/shapingLanguageRunsDocument.test.js +158 -8
- package/dist/__tests__/shapingLanguageRunsDocument.test.js.map +1 -1
- package/dist/__tests__/trackedLetters.test.d.ts +2 -0
- package/dist/__tests__/trackedLetters.test.d.ts.map +1 -0
- package/dist/__tests__/trackedLetters.test.js +77 -0
- package/dist/__tests__/trackedLetters.test.js.map +1 -0
- package/dist/canvasWords.d.ts +55 -0
- package/dist/canvasWords.d.ts.map +1 -0
- package/dist/canvasWords.js +160 -0
- package/dist/canvasWords.js.map +1 -0
- package/dist/faceFiles.d.ts +93 -5
- package/dist/faceFiles.d.ts.map +1 -1
- package/dist/faceFiles.js +256 -10
- package/dist/faceFiles.js.map +1 -1
- package/dist/fontCache.d.ts +92 -11
- package/dist/fontCache.d.ts.map +1 -1
- package/dist/fontCache.js +82 -17
- package/dist/fontCache.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +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 +63 -23
- package/dist/pdf-backend/blockRender.js.map +1 -1
- package/dist/pdf-backend/index.d.ts +3 -2
- package/dist/pdf-backend/index.d.ts.map +1 -1
- package/dist/pdf-backend/index.js +9 -3
- package/dist/pdf-backend/index.js.map +1 -1
- package/dist/pdf-backend/primitives.d.ts +55 -5
- package/dist/pdf-backend/primitives.d.ts.map +1 -1
- package/dist/pdf-backend/primitives.js +206 -25
- 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 +27 -7
- package/dist/pdf-backend/renderResourceBlock.js.map +1 -1
- package/dist/pdf-backend/shapedText.d.ts +4 -0
- package/dist/pdf-backend/shapedText.d.ts.map +1 -1
- package/dist/pdf-backend/shapedText.js +15 -4
- package/dist/pdf-backend/shapedText.js.map +1 -1
- package/dist/pdf-backend/svgVector.js +1 -1
- package/dist/pdf-backend/svgVector.js.map +1 -1
- package/dist/pdf-backend/verticalText.d.ts.map +1 -1
- package/dist/pdf-backend/verticalText.js +7 -4
- package/dist/pdf-backend/verticalText.js.map +1 -1
- package/dist/pdf-backend/wordPieces.d.ts +22 -41
- package/dist/pdf-backend/wordPieces.d.ts.map +1 -1
- package/dist/pdf-backend/wordPieces.js +75 -62
- package/dist/pdf-backend/wordPieces.js.map +1 -1
- package/dist/shapingLanguage.d.ts +16 -0
- package/dist/shapingLanguage.d.ts.map +1 -1
- package/dist/shapingLanguage.js +50 -20
- package/dist/shapingLanguage.js.map +1 -1
- package/dist/unicodeRange.d.ts +19 -0
- package/dist/unicodeRange.d.ts.map +1 -0
- package/dist/unicodeRange.js +68 -0
- package/dist/unicodeRange.js.map +1 -0
- package/dist/worker/client.d.ts +1 -1
- package/dist/worker/client.d.ts.map +1 -1
- package/dist/worker/client.js +5 -2
- package/dist/worker/client.js.map +1 -1
- package/dist/worker/pdf.worker.js +7 -0
- package/dist/worker/pdf.worker.js.map +1 -1
- package/dist/worker/protocol.d.ts +6 -0
- package/dist/worker/protocol.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,72 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The pieces of a word, painted as the word the layout measured (postext
|
|
3
|
+
* #764, #770).
|
|
4
|
+
*
|
|
5
|
+
* The line breaker cuts a word wherever a line may end inside it, and a
|
|
6
|
+
* line carries each piece as a segment of its own. In a paragraph with a
|
|
7
|
+
* style, a link or a note a piece is as wide as the word grew by it, so a
|
|
8
|
+
* face that draws across a cut (the dot of a Catalan `l·l` in Crimson
|
|
9
|
+
* Pro, a ligature, a kerned pair) leaves a hole or an overlap when the
|
|
10
|
+
* pieces are shaped one by one.
|
|
11
|
+
*
|
|
12
|
+
* Which pieces are set as one text is the engine's rule
|
|
13
|
+
* (`lineWordSegments` of postext, `wordPieces.ts` there): the same for
|
|
14
|
+
* the canvas, the HTML and the PDF, each asking its own text setter. It
|
|
15
|
+
* also sets apart the hyphen of a line end where the layout measured it
|
|
16
|
+
* apart, and sets the rest of a word that opens a line as one text. Here
|
|
17
|
+
* it is asked of the PDF's shaper, in a document shaped in its own
|
|
18
|
+
* language; a document that keeps the host's language is painted piece by
|
|
19
|
+
* piece, as every word was up to postext-pdf 1.29, and prints the same
|
|
20
|
+
* bytes.
|
|
21
|
+
*
|
|
22
|
+
* The rule compares widths to half a thousandth, and a browser does not
|
|
23
|
+
* set a face at the size it is asked for: Chrome cuts the size to a
|
|
24
|
+
* hundredth of a pixel ({@link browserSizePx}), so the layout it measured
|
|
25
|
+
* is narrower than the PDF's advances at the full size by up to that
|
|
26
|
+
* hundredth: 0.041 % at 20.2083 px (9.7 pt at 150 dpi), 0.072 % at
|
|
27
|
+
* 11.4583 px. At 9.7 pt the head `cor-` of a line end in STIX Two Text,
|
|
28
|
+
* measured 27.068 + 6.363 px, was 27.079 + 6.366 px to the PDF: the body
|
|
29
|
+
* 0.051 % from what the place left it, over the half thousandth, so the
|
|
30
|
+
* hyphen stayed in the head's text and its kerning against the `r`
|
|
31
|
+
* (-0.505 px) ended the line 0.24 pt short; 37 line ends of a 32-page
|
|
32
|
+
* novella went that way. Where the cut is past half a thousandth nothing
|
|
33
|
+
* is joined at all. So the rule is asked at the size the browser set the
|
|
34
|
+
* face at, and again at the size asked for when that sets nothing
|
|
35
|
+
* otherwise: a layout measured with no browser (the command line's own
|
|
36
|
+
* measure) has the advances of the full size.
|
|
37
|
+
*/
|
|
38
|
+
import { lineWordSegments } from 'postext';
|
|
1
39
|
import { shapesSegmentLanguages } from '../shapingLanguage';
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const SAME_WIDTH = 0.0005;
|
|
15
|
-
function joinable(seg) {
|
|
16
|
-
if (seg.kind !== 'text' || !WORD_TEXT_RE.test(seg.text))
|
|
17
|
-
return false;
|
|
18
|
-
for (const key in seg)
|
|
19
|
-
if (!SHARED.has(key))
|
|
20
|
-
return false;
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
function sameStyle(a, b) {
|
|
24
|
-
return JOINED.every((key) => a[key] === b[key]);
|
|
25
|
-
}
|
|
26
|
-
function sameWidth(a, b) {
|
|
27
|
-
return Math.abs(a - b) <= SAME_WIDTH * Math.max(Math.abs(a), Math.abs(b));
|
|
40
|
+
/**
|
|
41
|
+
* The size (px) Chrome sets a face at when asked for `sizePx`: cut to a
|
|
42
|
+
* hundredth of a pixel, in single precision, on the canvas as in a page.
|
|
43
|
+
* Measured in Chrome 154 (the advance of thirty letters of STIX Two Text,
|
|
44
|
+
* 13.31 em): 20.2083 px is set at 20.20, 19.5833 at 19.58, 21.6667 at
|
|
45
|
+
* 21.66, 15.4167 at 15.41, 11.4583 at 11.45; 20.3 at 20.29 and 20.22 at
|
|
46
|
+
* 20.21, whose nearest single-precision numbers lie under them, and 20.23
|
|
47
|
+
* and 15.42 at themselves.
|
|
48
|
+
*/
|
|
49
|
+
export function browserSizePx(sizePx) {
|
|
50
|
+
const cut = Math.floor(Math.fround(Math.fround(sizePx) * 100)) / 100;
|
|
51
|
+
return cut > 0 ? cut : sizePx;
|
|
28
52
|
}
|
|
29
53
|
/**
|
|
30
54
|
* The segments a line is painted from: its own, with the pieces of a
|
|
31
|
-
* word joined into one segment where the word was measured whole
|
|
32
|
-
*
|
|
33
|
-
*
|
|
55
|
+
* word joined into one segment where the word was measured whole, and
|
|
56
|
+
* the hyphen of a line end as a segment of its own where the layout
|
|
57
|
+
* measured it apart. `advanceOf` is the advance the PDF gives `text` in
|
|
58
|
+
* the style of the segment `seg` (px, with the line's character spacing),
|
|
59
|
+
* its face at the size `sizeOf` makes of its own: the one a browser set
|
|
60
|
+
* it at, then the one asked for (see the module comment).
|
|
34
61
|
*
|
|
35
|
-
* The line's own array when nothing
|
|
36
|
-
* or down a vertical page (`composed`), a line that carries directions
|
|
37
|
-
*
|
|
38
|
-
*
|
|
62
|
+
* The line's own array when nothing changes: a line of the CJK composer
|
|
63
|
+
* or down a vertical page (`composed`), a line that carries directions,
|
|
64
|
+
* a document that keeps the host's language, a line whose pieces are each
|
|
65
|
+
* as wide alone as measured.
|
|
39
66
|
*/
|
|
40
67
|
export function wordSegments(line, composed, advanceOf) {
|
|
41
|
-
|
|
42
|
-
|
|
68
|
+
if (!shapesSegmentLanguages())
|
|
69
|
+
return line.segments;
|
|
70
|
+
// Whether the browser's size is another than the one asked for, for a
|
|
71
|
+
// face the rule asked about.
|
|
72
|
+
let cut = false;
|
|
73
|
+
const browser = (sizePx) => {
|
|
74
|
+
const set = browserSizePx(sizePx);
|
|
75
|
+
if (set !== sizePx)
|
|
76
|
+
cut = true;
|
|
77
|
+
return set;
|
|
78
|
+
};
|
|
79
|
+
const segments = lineWordSegments(line, composed, (seg, text) => advanceOf(seg, text, browser));
|
|
80
|
+
if (segments !== line.segments || !cut)
|
|
43
81
|
return segments;
|
|
44
|
-
|
|
45
|
-
for (let from = 0; from < segments.length;) {
|
|
46
|
-
let to = from + 1;
|
|
47
|
-
if (joinable(segments[from]))
|
|
48
|
-
while (to < segments.length && joinable(segments[to]) && sameStyle(segments[from], segments[to]))
|
|
49
|
-
to++;
|
|
50
|
-
const pieces = segments.slice(from, to);
|
|
51
|
-
const word = pieces.length > 1 ? wholeWord(pieces, advanceOf) : undefined;
|
|
52
|
-
if (word)
|
|
53
|
-
(joined ??= segments.slice(0, from)).push(word);
|
|
54
|
-
else
|
|
55
|
-
joined?.push(...pieces);
|
|
56
|
-
from = to;
|
|
57
|
-
}
|
|
58
|
-
return joined ?? segments;
|
|
59
|
-
}
|
|
60
|
-
/** The pieces of one word as one segment, when the word was measured
|
|
61
|
-
* whole: shaped whole it is as wide as its pieces together, shaped apart
|
|
62
|
-
* they are not. Undefined otherwise. */
|
|
63
|
-
function wholeWord(pieces, advanceOf) {
|
|
64
|
-
const first = pieces[0];
|
|
65
|
-
const measured = pieces.reduce((sum, piece) => sum + piece.width, 0);
|
|
66
|
-
const apart = pieces.reduce((sum, piece) => sum + advanceOf(first, piece.text), 0);
|
|
67
|
-
if (sameWidth(apart, measured))
|
|
68
|
-
return undefined;
|
|
69
|
-
const text = pieces.map((piece) => piece.text).join('');
|
|
70
|
-
return sameWidth(advanceOf(first, text), measured) ? { ...first, text, width: measured } : undefined;
|
|
82
|
+
return lineWordSegments(line, composed, (seg, text) => advanceOf(seg, text, asAsked));
|
|
71
83
|
}
|
|
84
|
+
const asAsked = (sizePx) => sizePx;
|
|
72
85
|
//# sourceMappingURL=wordPieces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wordPieces.js","sourceRoot":"","sources":["../../src/pdf-backend/wordPieces.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wordPieces.js","sourceRoot":"","sources":["../../src/pdf-backend/wordPieces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IACrE,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;AAChC,CAAC;AAKD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAAC,IAAa,EAAE,QAAiB,EAAE,SAAyE;IACtI,IAAI,CAAC,sBAAsB,EAAE;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACpD,sEAAsE;IACtE,6BAA6B;IAC7B,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,MAAM,OAAO,GAAY,CAAC,MAAM,EAAE,EAAE;QAClC,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,GAAG,KAAK,MAAM;YAAE,GAAG,GAAG,IAAI,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAChG,IAAI,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IACxD,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,OAAO,GAAY,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC"}
|
|
@@ -61,6 +61,17 @@ export declare function withBesideLetter<T>(letter: number | undefined, fn: () =
|
|
|
61
61
|
* force (#725) and in a document that keeps the host's language.
|
|
62
62
|
*/
|
|
63
63
|
export declare function besideLetterOf(text: string, from: number, to: number): number | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* Run `fn` (the shaping of the words, the runs and the parts of a string)
|
|
66
|
+
* knowing whether the string holds a character above U+00FF (`wide`).
|
|
67
|
+
* The canvas shapes a string word by word (`canvasWords.ts`), and gives a
|
|
68
|
+
* word the script of its own letters; only a string it keeps in eight bits
|
|
69
|
+
* is Latin text all through. So a word with no letter of a wider string
|
|
70
|
+
* (the `2012` and the `·` of a running head that opens with a Han
|
|
71
|
+
* character) is shaped in no script, though the word alone has no
|
|
72
|
+
* character above U+00FF. Put back afterwards, also when `fn` throws.
|
|
73
|
+
*/
|
|
74
|
+
export declare function withinWideText<T>(wide: boolean, fn: () => T): T;
|
|
64
75
|
/**
|
|
65
76
|
* Run `fn` (the shaping of the runs and the parts of `text`, a string
|
|
66
77
|
* HarfBuzz sets) knowing whether `text` holds a right-to-left letter
|
|
@@ -72,6 +83,11 @@ export declare function besideLetterOf(text: string, from: number, to: number):
|
|
|
72
83
|
* 0.255 em as Latin text. Put back afterwards, also when `fn` throws.
|
|
73
84
|
*/
|
|
74
85
|
export declare function withinRightToLeftText<T>(rightToLeft: boolean, fn: () => T): T;
|
|
86
|
+
/** Whether the text being painted is shaped as the canvas shaped it: word
|
|
87
|
+
* by word (`canvasWords.ts`), each word in the script of its letters. So
|
|
88
|
+
* is the text of a document shaped in its own language; one that keeps
|
|
89
|
+
* the host's is shaped string by string, as up to postext-pdf 1.29. */
|
|
90
|
+
export declare function shapesAsCanvas(): boolean;
|
|
75
91
|
/**
|
|
76
92
|
* The script (ISO 15924) `text` is shaped in, undefined for the one the
|
|
77
93
|
* shaper reads from the text (the default script, for text with no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shapingLanguage.d.ts","sourceRoot":"","sources":["../src/shapingLanguage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shapingLanguage.d.ts","sourceRoot":"","sources":["../src/shapingLanguage.ts"],"names":[],"mappings":"AAkFA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAyDvC;;yBAEyB;AACzB,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpD;AAED;;;qCAGqC;AACrC,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEnF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CASjH;AAED;;;qBAGqB;AACrB,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,UAAQ,GAAG,CAAC,CAIjG;AAWD;kCACkC;AAClC,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,CAElD;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAExD;AAED;;wBAEwB;AACxB,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAU/E;AAgCD;;;uDAGuD;AACvD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAS9E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAyBzF;AAMD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAS/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAE7E;AAeD;;;wEAGwE;AACxE,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMhE;AAED;;yDAEyD;AACzD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/C;AAoID;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAyB1D"}
|
package/dist/shapingLanguage.js
CHANGED
|
@@ -22,10 +22,11 @@
|
|
|
22
22
|
* synchronously, so the language in force is the page's.
|
|
23
23
|
*
|
|
24
24
|
* A document that keeps the host's language (`bodyText.shapingLanguage:
|
|
25
|
-
* 'host'`,
|
|
26
|
-
* shaped as postext-pdf shaped up
|
|
27
|
-
* `JAN ` through fontkit for
|
|
28
|
-
* Han, and no language at all
|
|
25
|
+
* 'host'`, which a configuration stored before `configVersion` 14 reads
|
|
26
|
+
* with unless it names the document's) is shaped as postext-pdf shaped up
|
|
27
|
+
* to 1.28, so it prints the same bytes: `JAN ` through fontkit for
|
|
28
|
+
* Japanese, with punctuation alone shaped as Han, and no language at all
|
|
29
|
+
* for any other document or through HarfBuzz.
|
|
29
30
|
*
|
|
30
31
|
* The script: a browser's canvas shapes a string with no character above
|
|
31
32
|
* U+00FF as Latin text whatever it holds (Chrome keeps such a string in
|
|
@@ -36,6 +37,15 @@
|
|
|
36
37
|
* ({@link shapingScriptOf}). Any other text with no letter (`……`, `—`)
|
|
37
38
|
* was measured in the default script, by the canvas and by both shapers.
|
|
38
39
|
*
|
|
40
|
+
* The canvas shapes that string word by word (`canvasWords.ts`, #770): it
|
|
41
|
+
* cuts it at its spaces and around each CJK character, shapes each word
|
|
42
|
+
* alone, and gives it the script of its own letters. A word with no
|
|
43
|
+
* letter of a string it did not keep in eight bits has no script
|
|
44
|
+
* ({@link withinWideText}): the `"` beside a kana keeps the default form
|
|
45
|
+
* of Noto Serif JP in Japanese, and takes the Japanese one alone or in a
|
|
46
|
+
* Latin word. Text shaped in a document's language is cut the same way
|
|
47
|
+
* (`wordRuns` in `faceFiles.ts`).
|
|
48
|
+
*
|
|
39
49
|
* That rule is for the string the canvas was handed, the word the layout
|
|
40
50
|
* measured, not for what a face made of several files leaves of it.
|
|
41
51
|
* Chrome cuts a string into runs of one direction and each run into words
|
|
@@ -289,9 +299,31 @@ export function besideLetterOf(text, from, to) {
|
|
|
289
299
|
}
|
|
290
300
|
return found !== undefined && besideScriptOf(found) !== undefined ? found : undefined;
|
|
291
301
|
}
|
|
292
|
-
/** Whether the text being shaped is part of a string
|
|
293
|
-
*
|
|
294
|
-
let
|
|
302
|
+
/** Whether the text being shaped is part of a string the canvas did not
|
|
303
|
+
* keep in eight bits ({@link withinWideText}). */
|
|
304
|
+
let wideText = false;
|
|
305
|
+
/**
|
|
306
|
+
* Run `fn` (the shaping of the words, the runs and the parts of a string)
|
|
307
|
+
* knowing whether the string holds a character above U+00FF (`wide`).
|
|
308
|
+
* The canvas shapes a string word by word (`canvasWords.ts`), and gives a
|
|
309
|
+
* word the script of its own letters; only a string it keeps in eight bits
|
|
310
|
+
* is Latin text all through. So a word with no letter of a wider string
|
|
311
|
+
* (the `2012` and the `·` of a running head that opens with a Han
|
|
312
|
+
* character) is shaped in no script, though the word alone has no
|
|
313
|
+
* character above U+00FF. Put back afterwards, also when `fn` throws.
|
|
314
|
+
*/
|
|
315
|
+
export function withinWideText(wide, fn) {
|
|
316
|
+
if (wide === wideText)
|
|
317
|
+
return fn();
|
|
318
|
+
const previous = wideText;
|
|
319
|
+
wideText = wide;
|
|
320
|
+
try {
|
|
321
|
+
return fn();
|
|
322
|
+
}
|
|
323
|
+
finally {
|
|
324
|
+
wideText = previous;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
295
327
|
/**
|
|
296
328
|
* Run `fn` (the shaping of the runs and the parts of `text`, a string
|
|
297
329
|
* HarfBuzz sets) knowing whether `text` holds a right-to-left letter
|
|
@@ -303,28 +335,26 @@ let rightToLeftText = false;
|
|
|
303
335
|
* 0.255 em as Latin text. Put back afterwards, also when `fn` throws.
|
|
304
336
|
*/
|
|
305
337
|
export function withinRightToLeftText(rightToLeft, fn) {
|
|
306
|
-
|
|
307
|
-
return fn();
|
|
308
|
-
const previous = rightToLeftText;
|
|
309
|
-
rightToLeftText = rightToLeft;
|
|
310
|
-
try {
|
|
311
|
-
return fn();
|
|
312
|
-
}
|
|
313
|
-
finally {
|
|
314
|
-
rightToLeftText = previous;
|
|
315
|
-
}
|
|
338
|
+
return withinWideText(rightToLeft, fn);
|
|
316
339
|
}
|
|
317
340
|
/** Whether `text` is shaped in no script though it has no character above
|
|
318
|
-
* U+00FF: a piece with no letter of a string
|
|
319
|
-
* ({@link withinRightToLeftText}). */
|
|
341
|
+
* U+00FF: a piece with no letter of a string the canvas did not keep in
|
|
342
|
+
* eight bits ({@link withinWideText}, {@link withinRightToLeftText}). */
|
|
320
343
|
function unscripted(text) {
|
|
321
|
-
return
|
|
344
|
+
return wideText && !STRONG_SCRIPT_RE.test(text);
|
|
322
345
|
}
|
|
323
346
|
/** Whether text is shaped as the canvas shaped it (see the module
|
|
324
347
|
* comment): the text of a document shaped in its own language. */
|
|
325
348
|
function shapedAsCanvas() {
|
|
326
349
|
return current !== undefined && !current.host;
|
|
327
350
|
}
|
|
351
|
+
/** Whether the text being painted is shaped as the canvas shaped it: word
|
|
352
|
+
* by word (`canvasWords.ts`), each word in the script of its letters. So
|
|
353
|
+
* is the text of a document shaped in its own language; one that keeps
|
|
354
|
+
* the host's is shaped string by string, as up to postext-pdf 1.29. */
|
|
355
|
+
export function shapesAsCanvas() {
|
|
356
|
+
return shapedAsCanvas();
|
|
357
|
+
}
|
|
328
358
|
/**
|
|
329
359
|
* The script (ISO 15924) `text` is shaped in, undefined for the one the
|
|
330
360
|
* shaper reads from the text (the default script, for text with no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shapingLanguage.js","sourceRoot":"","sources":["../src/shapingLanguage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shapingLanguage.js","sourceRoot":"","sources":["../src/shapingLanguage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The characters a file of a face answers for: the `unicode-range` of its
|
|
3
|
+
* `@font-face` rule (CSS Fonts 4 §4.5), as a font provider hands it with
|
|
4
|
+
* the file (`PdfFontFile`, postext #770).
|
|
5
|
+
*/
|
|
6
|
+
/** The code points of a range, as intervals from low to high that neither
|
|
7
|
+
* overlap nor touch. */
|
|
8
|
+
export type CodePointRanges = ReadonlyArray<readonly [number, number]>;
|
|
9
|
+
/**
|
|
10
|
+
* A `unicode-range` value (`U+0000-00FF, U+0131, U+4E??`) as intervals.
|
|
11
|
+
* Undefined for a value a browser would not read (a part that is no
|
|
12
|
+
* range, a range that ends before it starts or leaves Unicode): the
|
|
13
|
+
* descriptor is then dropped and the rule answers for every character,
|
|
14
|
+
* as one written without it.
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseUnicodeRange(value: string): CodePointRanges | undefined;
|
|
17
|
+
/** Whether `ranges` ({@link parseUnicodeRange}) hold the code point `cp`. */
|
|
18
|
+
export declare function rangesHold(ranges: CodePointRanges, cp: number): boolean;
|
|
19
|
+
//# sourceMappingURL=unicodeRange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unicodeRange.d.ts","sourceRoot":"","sources":["../src/unicodeRange.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;yBACyB;AACzB,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAMvE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CA6B5E;AAED,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAWvE"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The characters a file of a face answers for: the `unicode-range` of its
|
|
3
|
+
* `@font-face` rule (CSS Fonts 4 §4.5), as a font provider hands it with
|
|
4
|
+
* the file (`PdfFontFile`, postext #770).
|
|
5
|
+
*/
|
|
6
|
+
const MAX_CODE_POINT = 0x10ffff;
|
|
7
|
+
const INTERVAL_RE = /^u\+([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?$/i;
|
|
8
|
+
const WILDCARD_RE = /^u\+([0-9a-f]{0,5})(\?{1,6})$/i;
|
|
9
|
+
/**
|
|
10
|
+
* A `unicode-range` value (`U+0000-00FF, U+0131, U+4E??`) as intervals.
|
|
11
|
+
* Undefined for a value a browser would not read (a part that is no
|
|
12
|
+
* range, a range that ends before it starts or leaves Unicode): the
|
|
13
|
+
* descriptor is then dropped and the rule answers for every character,
|
|
14
|
+
* as one written without it.
|
|
15
|
+
*/
|
|
16
|
+
export function parseUnicodeRange(value) {
|
|
17
|
+
const found = [];
|
|
18
|
+
for (const raw of value.split(',')) {
|
|
19
|
+
const part = raw.trim();
|
|
20
|
+
const interval = INTERVAL_RE.exec(part);
|
|
21
|
+
const wildcard = interval ? null : WILDCARD_RE.exec(part);
|
|
22
|
+
let lo;
|
|
23
|
+
let hi;
|
|
24
|
+
if (interval) {
|
|
25
|
+
lo = parseInt(interval[1], 16);
|
|
26
|
+
hi = interval[2] === undefined ? lo : parseInt(interval[2], 16);
|
|
27
|
+
}
|
|
28
|
+
else if (wildcard && wildcard[1].length + wildcard[2].length <= 6) {
|
|
29
|
+
lo = parseInt(wildcard[1] + '0'.repeat(wildcard[2].length), 16);
|
|
30
|
+
hi = parseInt(wildcard[1] + 'f'.repeat(wildcard[2].length), 16);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
if (lo > hi || hi > MAX_CODE_POINT)
|
|
36
|
+
return undefined;
|
|
37
|
+
found.push([lo, hi]);
|
|
38
|
+
}
|
|
39
|
+
if (found.length === 0)
|
|
40
|
+
return undefined;
|
|
41
|
+
found.sort((a, b) => a[0] - b[0]);
|
|
42
|
+
const merged = [];
|
|
43
|
+
for (const [lo, hi] of found) {
|
|
44
|
+
const last = merged[merged.length - 1];
|
|
45
|
+
if (last && lo <= last[1] + 1)
|
|
46
|
+
last[1] = Math.max(last[1], hi);
|
|
47
|
+
else
|
|
48
|
+
merged.push([lo, hi]);
|
|
49
|
+
}
|
|
50
|
+
return merged;
|
|
51
|
+
}
|
|
52
|
+
/** Whether `ranges` ({@link parseUnicodeRange}) hold the code point `cp`. */
|
|
53
|
+
export function rangesHold(ranges, cp) {
|
|
54
|
+
let lo = 0;
|
|
55
|
+
let hi = ranges.length - 1;
|
|
56
|
+
while (lo <= hi) {
|
|
57
|
+
const mid = (lo + hi) >> 1;
|
|
58
|
+
const range = ranges[mid];
|
|
59
|
+
if (cp < range[0])
|
|
60
|
+
hi = mid - 1;
|
|
61
|
+
else if (cp > range[1])
|
|
62
|
+
lo = mid + 1;
|
|
63
|
+
else
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=unicodeRange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unicodeRange.js","sourceRoot":"","sources":["../src/unicodeRange.ts"],"names":[],"mappings":"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"}
|
package/dist/worker/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { VDTDocument } from 'postext';
|
|
2
|
-
import type
|
|
2
|
+
import { type PdfFontProvider } from '../fontCache';
|
|
3
3
|
import type { RenderToPdfOptions } from '../pdf-backend';
|
|
4
4
|
import { type SvgRasterizer } from '../pdf-backend/renderResourceBlock';
|
|
5
5
|
export type { PdfWarning, PdfFontWarning, PdfFontFallbackWarning, PdfMissingGlyphWarning, PdfVariableFontWarning, PdfCffEmbeddedWholeWarning, RenderProgress, } from '../pdf-backend';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/worker/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/worker/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAG7F,YAAY,EACV,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,eAAe,GAAG,cAAc,CAAC;IACxG;oCACgC;IAChC,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC;sBACkB;IAClB,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,qEAAqE;IACrE,YAAY,EAAE,eAAe,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B;;;kEAG8D;IAC9D,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,EAAE,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChG,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC;sBACkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,eAAe,CAgIjF"}
|
package/dist/worker/client.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { declarationOf } from '../fontCache';
|
|
1
2
|
import { sourceBase } from '../harfbuzz';
|
|
2
3
|
import { rasterizeSvgWithDom } from '../pdf-backend/renderResourceBlock';
|
|
3
4
|
export function createPdfWorker(options) {
|
|
@@ -19,10 +20,12 @@ export function createPdfWorker(options) {
|
|
|
19
20
|
const answer = async (askId, job) => {
|
|
20
21
|
try {
|
|
21
22
|
const bytes = await job();
|
|
22
|
-
// Copies: the provider may keep the originals in a cache.
|
|
23
|
+
// Copies: the provider may keep the originals in a cache. What a
|
|
24
|
+
// font file says of itself goes beside them, since a copy drops it.
|
|
23
25
|
const copy = Array.isArray(bytes) ? bytes.map((b) => b.slice()) : bytes ? bytes.slice() : null;
|
|
24
26
|
const buffers = Array.isArray(copy) ? copy.map((b) => b.buffer) : copy ? [copy.buffer] : undefined;
|
|
25
|
-
|
|
27
|
+
const declared = (Array.isArray(bytes) ? bytes : bytes ? [bytes] : []).map((b) => declarationOf(b) ?? null);
|
|
28
|
+
send({ kind: 'answer', askId, bytes: copy, ...(declared.some((d) => d !== null) ? { declared } : {}) }, buffers);
|
|
26
29
|
}
|
|
27
30
|
catch (err) {
|
|
28
31
|
send({ kind: 'answer', askId, bytes: null, error: err instanceof Error ? err.message : String(err) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/worker/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/worker/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference lib="webworker" />
|
|
2
2
|
import { renderToPdf } from '../pdf-backend';
|
|
3
|
+
import { declaredFontFile } from '../fontCache';
|
|
3
4
|
const ctx = self;
|
|
4
5
|
function post(msg, transfer) {
|
|
5
6
|
if (transfer && transfer.length > 0)
|
|
@@ -27,6 +28,12 @@ ctx.addEventListener('message', async (event) => {
|
|
|
27
28
|
asks.delete(msg.askId);
|
|
28
29
|
if (msg.error)
|
|
29
30
|
pending.reject(new Error(msg.error));
|
|
31
|
+
else if (msg.declared) {
|
|
32
|
+
// Each file takes back what it said of itself on the host.
|
|
33
|
+
const declared = msg.declared;
|
|
34
|
+
const files = (Array.isArray(msg.bytes) ? msg.bytes : msg.bytes ? [msg.bytes] : []).map((bytes, i) => (declared[i] ? declaredFontFile(bytes, declared[i]) : bytes));
|
|
35
|
+
pending.resolve(Array.isArray(msg.bytes) ? files : files[0] ?? null);
|
|
36
|
+
}
|
|
30
37
|
else
|
|
31
38
|
pending.resolve(msg.bytes);
|
|
32
39
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.worker.js","sourceRoot":"","sources":["../../src/worker/pdf.worker.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"pdf.worker.js","sourceRoot":"","sources":["../../src/worker/pdf.worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { VDTDocument } from 'postext';
|
|
2
|
+
import type { PdfFontFileDeclaration } from '../fontCache';
|
|
2
3
|
import type { PdfWarning, RenderProgress, RenderToPdfOptions } from '../pdf-backend';
|
|
3
4
|
/** The render options that travel to the worker as data. */
|
|
4
5
|
export type PdfRenderSettings = Pick<RenderToPdfOptions, 'pageNegative' | 'outlines' | 'colorSpace' | 'accessible' | 'print' | 'outputProfile' | 'profileBaseUrl'> & {
|
|
@@ -19,6 +20,11 @@ export type PdfRequestMessage = {
|
|
|
19
20
|
kind: 'answer';
|
|
20
21
|
askId: number;
|
|
21
22
|
bytes: Uint8Array | Uint8Array[] | null;
|
|
23
|
+
/** What each file of a font says of itself (its range, its place in
|
|
24
|
+
* the declaration: `PdfFontFile`), in the order of `bytes`, null
|
|
25
|
+
* for a file that says nothing; left out when none does. The
|
|
26
|
+
* properties a file carries do not cross to the worker with it. */
|
|
27
|
+
declared?: Array<PdfFontFileDeclaration | null>;
|
|
22
28
|
error?: string;
|
|
23
29
|
} | {
|
|
24
30
|
kind: 'dispose';
|
|
@@ -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,GAAG,OAAO,GAAG,eAAe,GAAG,gBAAgB,CAAC,GAAG;IACnK;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"}
|
|
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,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC3D,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,GAAG,OAAO,GAAG,eAAe,GAAG,gBAAgB,CAAC,GAAG;IACnK;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;;;wEAGoE;IACpE,QAAQ,CAAC,EAAE,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IAChD,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"}
|