postext 0.3.16 → 0.3.18
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__/columnBalancing.test.d.ts +2 -0
- package/dist/__tests__/columnBalancing.test.d.ts.map +1 -0
- package/dist/__tests__/columnBalancing.test.js +194 -0
- package/dist/__tests__/columnBalancing.test.js.map +1 -0
- package/dist/__tests__/createLayout.test.js +12 -13
- package/dist/__tests__/createLayout.test.js.map +1 -1
- package/dist/__tests__/defaults/resourceTypes.test.d.ts +2 -0
- package/dist/__tests__/defaults/resourceTypes.test.d.ts.map +1 -0
- package/dist/__tests__/defaults/resourceTypes.test.js +69 -0
- package/dist/__tests__/defaults/resourceTypes.test.js.map +1 -0
- package/dist/__tests__/exports.test.js +60 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/parse/inlineRef.test.d.ts +2 -0
- package/dist/__tests__/parse/inlineRef.test.d.ts.map +1 -0
- package/dist/__tests__/parse/inlineRef.test.js +83 -0
- package/dist/__tests__/parse/inlineRef.test.js.map +1 -0
- package/dist/__tests__/parse/resourceDirective.test.d.ts +2 -0
- package/dist/__tests__/parse/resourceDirective.test.d.ts.map +1 -0
- package/dist/__tests__/parse/resourceDirective.test.js +55 -0
- package/dist/__tests__/parse/resourceDirective.test.js.map +1 -0
- package/dist/__tests__/pipeline/floatPlacement.test.d.ts +2 -0
- package/dist/__tests__/pipeline/floatPlacement.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/floatPlacement.test.js +262 -0
- package/dist/__tests__/pipeline/floatPlacement.test.js.map +1 -0
- package/dist/__tests__/pipeline/inlineRefRender.test.d.ts +2 -0
- package/dist/__tests__/pipeline/inlineRefRender.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/inlineRefRender.test.js +107 -0
- package/dist/__tests__/pipeline/inlineRefRender.test.js.map +1 -0
- package/dist/__tests__/pipeline/resourceNumbering.test.d.ts +2 -0
- package/dist/__tests__/pipeline/resourceNumbering.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/resourceNumbering.test.js +186 -0
- package/dist/__tests__/pipeline/resourceNumbering.test.js.map +1 -0
- package/dist/__tests__/singleInk.test.d.ts +2 -0
- package/dist/__tests__/singleInk.test.d.ts.map +1 -0
- package/dist/__tests__/singleInk.test.js +42 -0
- package/dist/__tests__/singleInk.test.js.map +1 -0
- package/dist/__tests__/table/model.test.d.ts +2 -0
- package/dist/__tests__/table/model.test.d.ts.map +1 -0
- package/dist/__tests__/table/model.test.js +187 -0
- package/dist/__tests__/table/model.test.js.map +1 -0
- package/dist/canvas-backend/blockRender.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.js +103 -66
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/decorations.d.ts +4 -1
- package/dist/canvas-backend/decorations.d.ts.map +1 -1
- package/dist/canvas-backend/decorations.js +14 -6
- package/dist/canvas-backend/decorations.js.map +1 -1
- package/dist/canvas-backend/headerFooter.d.ts +2 -2
- package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
- package/dist/canvas-backend/headerFooter.js +62 -2
- package/dist/canvas-backend/headerFooter.js.map +1 -1
- package/dist/canvas-backend/index.d.ts +2 -0
- package/dist/canvas-backend/index.d.ts.map +1 -1
- package/dist/canvas-backend/index.js +20 -10
- package/dist/canvas-backend/index.js.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.d.ts +28 -0
- package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -0
- package/dist/canvas-backend/renderResourceBlock.js +146 -0
- package/dist/canvas-backend/renderResourceBlock.js.map +1 -0
- package/dist/defaults/bodyText.d.ts.map +1 -1
- package/dist/defaults/bodyText.js +30 -0
- package/dist/defaults/bodyText.js.map +1 -1
- package/dist/defaults/captionStyle.d.ts +9 -0
- package/dist/defaults/captionStyle.d.ts.map +1 -0
- package/dist/defaults/captionStyle.js +74 -0
- package/dist/defaults/captionStyle.js.map +1 -0
- package/dist/defaults/debug.d.ts.map +1 -1
- package/dist/defaults/debug.js +6 -0
- package/dist/defaults/debug.js.map +1 -1
- package/dist/defaults/diagramStyle.d.ts +5 -0
- package/dist/defaults/diagramStyle.d.ts.map +1 -0
- package/dist/defaults/diagramStyle.js +29 -0
- package/dist/defaults/diagramStyle.js.map +1 -0
- package/dist/defaults/headerFooter.d.ts +20 -18
- package/dist/defaults/headerFooter.d.ts.map +1 -1
- package/dist/defaults/headerFooter.js +269 -165
- package/dist/defaults/headerFooter.js.map +1 -1
- package/dist/defaults/headings.d.ts +4 -0
- package/dist/defaults/headings.d.ts.map +1 -1
- package/dist/defaults/headings.js +65 -9
- package/dist/defaults/headings.js.map +1 -1
- package/dist/defaults/index.d.ts +5 -1
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +29 -1
- package/dist/defaults/index.js.map +1 -1
- package/dist/defaults/resourceTypes.d.ts +8 -0
- package/dist/defaults/resourceTypes.d.ts.map +1 -0
- package/dist/defaults/resourceTypes.js +43 -0
- package/dist/defaults/resourceTypes.js.map +1 -0
- package/dist/defaults/shared.d.ts.map +1 -1
- package/dist/defaults/shared.js +40 -0
- package/dist/defaults/shared.js.map +1 -1
- package/dist/defaults/tableStyle.d.ts +11 -0
- package/dist/defaults/tableStyle.d.ts.map +1 -0
- package/dist/defaults/tableStyle.js +114 -0
- package/dist/defaults/tableStyle.js.map +1 -0
- package/dist/design/layout.d.ts +94 -0
- package/dist/design/layout.d.ts.map +1 -0
- package/dist/design/layout.js +642 -0
- package/dist/design/layout.js.map +1 -0
- package/dist/design/placeholders.d.ts +29 -0
- package/dist/design/placeholders.d.ts.map +1 -0
- package/dist/design/placeholders.js +126 -0
- package/dist/design/placeholders.js.map +1 -0
- package/dist/html-backend.d.ts +6 -0
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +274 -10
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +14 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/knuthPlass/breakpoints.d.ts.map +1 -1
- package/dist/knuthPlass/breakpoints.js +41 -98
- package/dist/knuthPlass/breakpoints.js.map +1 -1
- package/dist/knuthPlass/richAdapter.d.ts +1 -0
- package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
- package/dist/knuthPlass/richAdapter.js +2 -1
- package/dist/knuthPlass/richAdapter.js.map +1 -1
- package/dist/measure/cache.js +1 -1
- package/dist/measure/cache.js.map +1 -1
- package/dist/measure/canvas.d.ts +3 -0
- package/dist/measure/canvas.d.ts.map +1 -1
- package/dist/measure/canvas.js +40 -2
- package/dist/measure/canvas.js.map +1 -1
- package/dist/measure/font.d.ts +3 -2
- package/dist/measure/font.d.ts.map +1 -1
- package/dist/measure/font.js +5 -2
- package/dist/measure/font.js.map +1 -1
- package/dist/measure/plain.d.ts.map +1 -1
- package/dist/measure/plain.js +14 -7
- package/dist/measure/plain.js.map +1 -1
- package/dist/measure/rich.d.ts +7 -0
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +34 -7
- package/dist/measure/rich.js.map +1 -1
- package/dist/numbering.d.ts +16 -0
- package/dist/numbering.d.ts.map +1 -1
- package/dist/numbering.js +28 -18
- package/dist/numbering.js.map +1 -1
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +37 -9
- package/dist/parse/blockParser.js.map +1 -1
- package/dist/parse/injectSpans.d.ts +9 -0
- package/dist/parse/injectSpans.d.ts.map +1 -0
- package/dist/parse/injectSpans.js +35 -0
- package/dist/parse/injectSpans.js.map +1 -0
- package/dist/parse/inlineFormatting.d.ts +38 -0
- package/dist/parse/inlineFormatting.d.ts.map +1 -1
- package/dist/parse/inlineFormatting.js +58 -0
- package/dist/parse/inlineFormatting.js.map +1 -1
- package/dist/parse/inlineMath.d.ts.map +1 -1
- package/dist/parse/inlineMath.js +26 -43
- package/dist/parse/inlineMath.js.map +1 -1
- package/dist/parse/sourceMapping.d.ts.map +1 -1
- package/dist/parse/sourceMapping.js +34 -7
- package/dist/parse/sourceMapping.js.map +1 -1
- package/dist/parse/types.d.ts +20 -1
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +521 -28
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildBlockKind.d.ts +14 -0
- package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
- package/dist/pipeline/buildBlockKind.js +16 -1
- package/dist/pipeline/buildBlockKind.js.map +1 -1
- package/dist/pipeline/buildHelpers.d.ts.map +1 -1
- package/dist/pipeline/buildHelpers.js +7 -1
- package/dist/pipeline/buildHelpers.js.map +1 -1
- package/dist/pipeline/buildMeasurement.d.ts +17 -1
- package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
- package/dist/pipeline/buildMeasurement.js +32 -0
- package/dist/pipeline/buildMeasurement.js.map +1 -1
- package/dist/pipeline/columnBalancing.d.ts +75 -0
- package/dist/pipeline/columnBalancing.d.ts.map +1 -0
- package/dist/pipeline/columnBalancing.js +125 -0
- package/dist/pipeline/columnBalancing.js.map +1 -0
- package/dist/pipeline/config.d.ts +4 -1
- package/dist/pipeline/config.d.ts.map +1 -1
- package/dist/pipeline/config.js +12 -1
- package/dist/pipeline/config.js.map +1 -1
- package/dist/pipeline/floatPlacement.d.ts +45 -0
- package/dist/pipeline/floatPlacement.d.ts.map +1 -0
- package/dist/pipeline/floatPlacement.js +68 -0
- package/dist/pipeline/floatPlacement.js.map +1 -0
- package/dist/pipeline/headerFooter.d.ts +23 -7
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +260 -100
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/lists.d.ts +4 -9
- package/dist/pipeline/lists.d.ts.map +1 -1
- package/dist/pipeline/lists.js +24 -42
- package/dist/pipeline/lists.js.map +1 -1
- package/dist/pipeline/placeholders.d.ts +6 -0
- package/dist/pipeline/placeholders.d.ts.map +1 -1
- package/dist/pipeline/placeholders.js +18 -5
- package/dist/pipeline/placeholders.js.map +1 -1
- package/dist/pipeline/placement.d.ts +15 -2
- package/dist/pipeline/placement.d.ts.map +1 -1
- package/dist/pipeline/placement.js +38 -3
- package/dist/pipeline/placement.js.map +1 -1
- package/dist/pipeline/resourceLayout.d.ts +58 -0
- package/dist/pipeline/resourceLayout.d.ts.map +1 -0
- package/dist/pipeline/resourceLayout.js +338 -0
- package/dist/pipeline/resourceLayout.js.map +1 -0
- package/dist/pipeline/resourceNumbering.d.ts +54 -0
- package/dist/pipeline/resourceNumbering.d.ts.map +1 -0
- package/dist/pipeline/resourceNumbering.js +218 -0
- package/dist/pipeline/resourceNumbering.js.map +1 -0
- package/dist/pipeline/styles.d.ts +6 -0
- package/dist/pipeline/styles.d.ts.map +1 -1
- package/dist/pipeline/styles.js +1 -1
- package/dist/pipeline/styles.js.map +1 -1
- package/dist/svg/singleInk.d.ts +10 -0
- package/dist/svg/singleInk.d.ts.map +1 -0
- package/dist/svg/singleInk.js +86 -0
- package/dist/svg/singleInk.js.map +1 -0
- package/dist/table/model.d.ts +53 -0
- package/dist/table/model.d.ts.map +1 -0
- package/dist/table/model.js +253 -0
- package/dist/table/model.js.map +1 -0
- package/dist/types.d.ts +429 -41
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +181 -18
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js +34 -0
- package/dist/vdt.js.map +1 -1
- package/package.json +6 -6
package/dist/measure/canvas.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
let _measureCtx = null;
|
|
2
|
+
/** Font string currently set on the measure context, to skip redundant
|
|
3
|
+
* `ctx.font` assignments (each assignment re-parses the shorthand). */
|
|
4
|
+
let _currentFont = '';
|
|
2
5
|
function getMeasureCtx() {
|
|
3
6
|
if (!_measureCtx) {
|
|
4
7
|
if (typeof OffscreenCanvas !== 'undefined') {
|
|
@@ -7,13 +10,48 @@ function getMeasureCtx() {
|
|
|
7
10
|
else {
|
|
8
11
|
_measureCtx = document.createElement('canvas').getContext('2d');
|
|
9
12
|
}
|
|
13
|
+
_currentFont = '';
|
|
10
14
|
}
|
|
11
15
|
return _measureCtx;
|
|
12
16
|
}
|
|
17
|
+
// Word-level width cache. Text measurement is the engine's hottest call:
|
|
18
|
+
// tokenizers measure every word (plus hyphenation prefixes), and natural
|
|
19
|
+
// language repeats words constantly. Keyed font → text → width so the key
|
|
20
|
+
// needs no string concatenation. Cleared wholesale when it grows past the
|
|
21
|
+
// cap (rare) or when fonts change (see clearTextWidthCache).
|
|
22
|
+
const MAX_WIDTH_CACHE_ENTRIES = 100_000;
|
|
23
|
+
let _widthCaches = new Map();
|
|
24
|
+
let _widthCacheEntries = 0;
|
|
13
25
|
export function measureTextWidth(text, font) {
|
|
26
|
+
let byText = _widthCaches.get(font);
|
|
27
|
+
if (byText === undefined) {
|
|
28
|
+
byText = new Map();
|
|
29
|
+
_widthCaches.set(font, byText);
|
|
30
|
+
}
|
|
31
|
+
const cached = byText.get(text);
|
|
32
|
+
if (cached !== undefined)
|
|
33
|
+
return cached;
|
|
14
34
|
const ctx = getMeasureCtx();
|
|
15
|
-
|
|
16
|
-
|
|
35
|
+
if (font !== _currentFont) {
|
|
36
|
+
ctx.font = font;
|
|
37
|
+
_currentFont = font;
|
|
38
|
+
}
|
|
39
|
+
const width = ctx.measureText(text).width;
|
|
40
|
+
if (_widthCacheEntries >= MAX_WIDTH_CACHE_ENTRIES) {
|
|
41
|
+
_widthCaches = new Map();
|
|
42
|
+
_widthCacheEntries = 0;
|
|
43
|
+
byText = new Map();
|
|
44
|
+
_widthCaches.set(font, byText);
|
|
45
|
+
}
|
|
46
|
+
byText.set(text, width);
|
|
47
|
+
_widthCacheEntries++;
|
|
48
|
+
return width;
|
|
49
|
+
}
|
|
50
|
+
/** Drop all cached text widths. Must be called whenever font faces are
|
|
51
|
+
* (un)registered: widths measured against fallback glyphs are stale. */
|
|
52
|
+
export function clearTextWidthCache() {
|
|
53
|
+
_widthCaches = new Map();
|
|
54
|
+
_widthCacheEntries = 0;
|
|
17
55
|
}
|
|
18
56
|
/** Measure a short glyph (e.g. a list bullet) in the given font. */
|
|
19
57
|
export function measureGlyphWidth(text, font) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/measure/canvas.ts"],"names":[],"mappings":"AAAA,IAAI,WAAW,GAAwE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/measure/canvas.ts"],"names":[],"mappings":"AAAA,IAAI,WAAW,GAAwE,IAAI,CAAC;AAC5F;wEACwE;AACxE,IAAI,YAAY,GAAG,EAAE,CAAC;AAEtB,SAAS,aAAa;IACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,OAAO,eAAe,KAAK,WAAW,EAAE,CAAC;YAC3C,WAAW,GAAG,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;QACnE,CAAC;QACD,YAAY,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,yEAAyE;AACzE,yEAAyE;AACzE,0EAA0E;AAC1E,0EAA0E;AAC1E,6DAA6D;AAC7D,MAAM,uBAAuB,GAAG,OAAO,CAAC;AACxC,IAAI,YAAY,GAAG,IAAI,GAAG,EAA+B,CAAC;AAC1D,IAAI,kBAAkB,GAAG,CAAC,CAAC;AAE3B,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAAY;IACzD,IAAI,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACnB,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAExC,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAChB,YAAY,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAE1C,IAAI,kBAAkB,IAAI,uBAAuB,EAAE,CAAC;QAClD,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,kBAAkB,GAAG,CAAC,CAAC;QACvB,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACnB,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxB,kBAAkB,EAAE,CAAC;IACrB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;yEACyE;AACzE,MAAM,UAAU,mBAAmB;IACjC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,kBAAkB,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,IAAY;IAC1D,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;oDACoD;AACpD,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC"}
|
package/dist/measure/font.d.ts
CHANGED
|
@@ -11,8 +11,9 @@ export declare function buildFontString(fontFamily: string, fontSizePx: number,
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function initHyphenator(locale: HyphenationLocale): void;
|
|
13
13
|
/**
|
|
14
|
-
* Clear pretext's internal measurement caches
|
|
15
|
-
* Call this after fonts finish loading
|
|
14
|
+
* Clear pretext's internal measurement caches and the engine's own
|
|
15
|
+
* text-width cache. Call this after fonts finish loading (or are removed)
|
|
16
|
+
* to ensure accurate measurements.
|
|
16
17
|
*/
|
|
17
18
|
export declare function clearMeasurementCache(): void;
|
|
18
19
|
export declare function createMeasurementCache(): MeasurementCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../../src/measure/font.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"font.d.ts","sourceRoot":"","sources":["../../src/measure/font.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAiB,EACzB,KAAK,GAAE,MAAiB,GACvB,MAAM,CAOR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED,wBAAgB,sBAAsB,IAAI,gBAAgB,CAEzD"}
|
package/dist/measure/font.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { clearCache } from '@chenglou/pretext';
|
|
2
2
|
import { setHyphenationLocale } from '../hyphenate';
|
|
3
|
+
import { clearTextWidthCache } from './canvas';
|
|
3
4
|
/**
|
|
4
5
|
* Build a CSS font shorthand string for canvas / pretext.
|
|
5
6
|
* Example: "75px EB Garamond"
|
|
@@ -22,11 +23,13 @@ export function initHyphenator(locale) {
|
|
|
22
23
|
setHyphenationLocale(locale);
|
|
23
24
|
}
|
|
24
25
|
/**
|
|
25
|
-
* Clear pretext's internal measurement caches
|
|
26
|
-
* Call this after fonts finish loading
|
|
26
|
+
* Clear pretext's internal measurement caches and the engine's own
|
|
27
|
+
* text-width cache. Call this after fonts finish loading (or are removed)
|
|
28
|
+
* to ensure accurate measurements.
|
|
27
29
|
*/
|
|
28
30
|
export function clearMeasurementCache() {
|
|
29
31
|
clearCache();
|
|
32
|
+
clearTextWidthCache();
|
|
30
33
|
}
|
|
31
34
|
export function createMeasurementCache() {
|
|
32
35
|
return { _blocks: new Map() };
|
package/dist/measure/font.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font.js","sourceRoot":"","sources":["../../src/measure/font.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"font.js","sourceRoot":"","sources":["../../src/measure/font.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,UAAkB,EAClB,SAAiB,QAAQ,EACzB,QAAgB,QAAQ;IAExB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,MAAM,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAyB;IACtD,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,UAAU,EAAE,CAAC;IACb,mBAAmB,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain.d.ts","sourceRoot":"","sources":["../../src/measure/plain.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAQ1C,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AA2DlE,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,EAAE,EAC1B,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,OAAO,GAClB,MAAM,GAAG,SAAS,CAWpB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,aAAa,
|
|
1
|
+
{"version":3,"file":"plain.d.ts","sourceRoot":"","sources":["../../src/measure/plain.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAQ1C,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AA2DlE,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,EAAE,EAC1B,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,OAAO,GAClB,MAAM,GAAG,SAAS,CAWpB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,aAAa,CAuHf"}
|
package/dist/measure/plain.js
CHANGED
|
@@ -3,7 +3,7 @@ import { createBoundingBox } from '../vdt';
|
|
|
3
3
|
import { hyphenateText } from '../hyphenate';
|
|
4
4
|
import { pretextSegmentsToItems, computeBreakpoints, reconstructPretextLines, } from '../knuthPlass';
|
|
5
5
|
import { SOFT_HYPHEN } from './types';
|
|
6
|
-
import { cleanSoftHyphens, normalSpaceWidthFor } from './canvas';
|
|
6
|
+
import { cleanSoftHyphens, measureTextWidth, normalSpaceWidthFor } from './canvas';
|
|
7
7
|
function extractSegments(prepared, start, end) {
|
|
8
8
|
const result = [];
|
|
9
9
|
let hyphenated = false;
|
|
@@ -42,13 +42,13 @@ function findLastTextSegmentIndex(segments) {
|
|
|
42
42
|
}
|
|
43
43
|
return -1;
|
|
44
44
|
}
|
|
45
|
-
function getHyphenWidth(prepared) {
|
|
45
|
+
function getHyphenWidth(prepared, font) {
|
|
46
46
|
// Use discretionaryHyphenWidth from pretext internals
|
|
47
47
|
const core = prepared;
|
|
48
48
|
if (core.discretionaryHyphenWidth && core.discretionaryHyphenWidth > 0) {
|
|
49
49
|
return core.discretionaryHyphenWidth;
|
|
50
50
|
}
|
|
51
|
-
return
|
|
51
|
+
return measureTextWidth('-', font);
|
|
52
52
|
}
|
|
53
53
|
export function computeJustifiedSpaceRatio(segments, lineMaxWidth, normalSpaceWidth, textAlign, isLastLine) {
|
|
54
54
|
if (textAlign !== 'justify' || isLastLine || normalSpaceWidth <= 0)
|
|
@@ -135,7 +135,6 @@ export function measureBlock(text, font, maxWidthPx, lineHeightPx, options) {
|
|
|
135
135
|
if (line === null)
|
|
136
136
|
break;
|
|
137
137
|
const nextCursor = line.end;
|
|
138
|
-
const isLastLine = layoutNextLine(prepared, nextCursor, lineMaxWidth) === null;
|
|
139
138
|
const { segments, hyphenated } = extractSegments(prepared, cursor, nextCursor);
|
|
140
139
|
if (hyphenated) {
|
|
141
140
|
const lastTextIdx = findLastTextSegmentIndex(segments);
|
|
@@ -144,24 +143,32 @@ export function measureBlock(text, font, maxWidthPx, lineHeightPx, options) {
|
|
|
144
143
|
segments[lastTextIdx] = {
|
|
145
144
|
kind: 'text',
|
|
146
145
|
text: lastSeg.text + '-',
|
|
147
|
-
width: lastSeg.width + getHyphenWidth(prepared),
|
|
146
|
+
width: lastSeg.width + getHyphenWidth(prepared, font),
|
|
148
147
|
};
|
|
149
148
|
}
|
|
150
149
|
}
|
|
151
|
-
|
|
150
|
+
// Whether this turns out to be the last line is only known once the
|
|
151
|
+
// loop ends; the ratio is computed as if it weren't and corrected below.
|
|
152
|
+
// This avoids a second layoutNextLine call per line just to peek ahead.
|
|
153
|
+
const justifiedSpaceRatio = computeJustifiedSpaceRatio(segments, lineMaxWidth, normalSpaceWidth, textAlign, false);
|
|
152
154
|
lines.push({
|
|
153
155
|
text: hyphenated ? cleanSoftHyphens(line.text) + '-' : cleanSoftHyphens(line.text),
|
|
154
156
|
bbox: createBoundingBox(lineIndent, y, line.width, lineHeightPx),
|
|
155
157
|
baseline: y + lineHeightPx * 0.8,
|
|
156
158
|
hyphenated,
|
|
157
159
|
segments,
|
|
158
|
-
isLastLine,
|
|
160
|
+
isLastLine: false,
|
|
159
161
|
...(justifiedSpaceRatio !== undefined ? { justifiedSpaceRatio } : {}),
|
|
160
162
|
});
|
|
161
163
|
cursor = nextCursor;
|
|
162
164
|
y += lineHeightPx;
|
|
163
165
|
lineIndex++;
|
|
164
166
|
}
|
|
167
|
+
const lastLine = lines[lines.length - 1];
|
|
168
|
+
if (lastLine) {
|
|
169
|
+
lastLine.isLastLine = true;
|
|
170
|
+
delete lastLine.justifiedSpaceRatio;
|
|
171
|
+
}
|
|
165
172
|
return { lines, totalHeight: y };
|
|
166
173
|
}
|
|
167
174
|
//# sourceMappingURL=plain.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plain.js","sourceRoot":"","sources":["../../src/measure/plain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,cAAc,GAGf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"plain.js","sourceRoot":"","sources":["../../src/measure/plain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,cAAc,GAGf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEnF,SAAS,eAAe,CACtB,QAAkC,EAClC,KAAmB,EACnB,GAAiB;IAEjB,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;QAClC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;QAE9B,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,mEAAmE;YACnE,IAAI,CAAC,KAAK,GAAG,CAAC,YAAY,GAAG,CAAC;gBAAE,UAAU,GAAG,IAAI,CAAC;YAClD,SAAS;QACX,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC/D,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,WAAW,EAAE,CAAC;YACxD,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxE,MAAM,CAAC,GAAG,EAAE,CAAC;IACf,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,wBAAwB,CAAC,QAA0B;IAC1D,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,cAAc,CAAC,QAAkC,EAAE,IAAY;IACtE,sDAAsD;IACtD,MAAM,IAAI,GAAG,QAA4D,CAAC;IAC1E,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,wBAAwB,GAAG,CAAC,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IACD,OAAO,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAA0B,EAC1B,YAAoB,EACpB,gBAAwB,EACxB,SAAoB,EACpB,UAAmB;IAEnB,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,IAAI,gBAAgB,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACrF,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,UAAU,EAAE,CAAC;;YAChC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,mBAAmB,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,UAAU,CAAC;IACpE,OAAO,mBAAmB,GAAG,gBAAgB,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,IAAY,EACZ,UAAkB,EAClB,YAAoB,EACpB,OAA6B;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;IACpD,MAAM,QAAQ,GAAG,OAAO,EAAE,iBAAiB,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,EAAE,aAAa,IAAI,KAAK,CAAC;IAChD,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC;IAC/C,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjF,yCAAyC;IACzC,IAAI,OAAO,EAAE,OAAO,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,GAAG,CAAC;QACvD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC;QACrD,MAAM,KAAK,GAAG,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAClG,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,EAAE;YACjC,MAAM,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC;gBACzB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC,CAAC,CAAC,CAAC;YACN,OAAO,UAAU,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,OAAO,QAAQ,GAAG,CAAC;gBACjB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC,CAAC,CAAC,CAAC;QACR,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,WAAW,GAAG,CAAC;YAClC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,gBAAgB;YACrD,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE;YACvC,SAAS,EAAE,WAAW;YACtB,gBAAgB;YAChB,eAAe;YACf,cAAc;YACd,WAAW;YACX,YAAY;SACb,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,uBAAuB,CACrC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EACrC,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,CACvD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;QACxE,CAAC;QACD,+CAA+C;IACjD,CAAC;IAED,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,IAAI,MAAM,GAAiB,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IACjE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,OAAO,IAAI,EAAE,CAAC;QACZ,oFAAoF;QACpF,MAAM,WAAW,GAAG,SAAS,KAAK,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC;YAC7B,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;QAE7C,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC5D,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM;QAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;QAE5B,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAE/E,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAE,CAAC;gBACvC,QAAQ,CAAC,WAAW,CAAC,GAAG;oBACtB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,GAAG;oBACxB,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC;iBACtD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,mBAAmB,GAAG,0BAA0B,CACpD,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,KAAK,CACN,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClF,IAAI,EAAE,iBAAiB,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC;YAChE,QAAQ,EAAE,CAAC,GAAG,YAAY,GAAG,GAAG;YAChC,UAAU;YACV,QAAQ;YACR,UAAU,EAAE,KAAK;YACjB,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;QAEH,MAAM,GAAG,UAAU,CAAC;QACpB,CAAC,IAAI,YAAY,CAAC;QAClB,SAAS,EAAE,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;QAC3B,OAAO,QAAQ,CAAC,mBAAmB,CAAC;IACtC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;AACnC,CAAC"}
|
package/dist/measure/rich.d.ts
CHANGED
|
@@ -16,6 +16,13 @@ export interface RichToken {
|
|
|
16
16
|
/** When present, this token is an atomic math formula. `text` is a single
|
|
17
17
|
* `\uFFFC` placeholder and `width` is the math render's widthPx. */
|
|
18
18
|
mathRender?: MathRender;
|
|
19
|
+
/** When present, this token is an inline `:ref{\u2026}` to a resource. `text`
|
|
20
|
+
* already carries the resolved label; the token is atomic (never wraps
|
|
21
|
+
* apart) and the id flows onto the segment so renderers can colour/link it. */
|
|
22
|
+
refResourceId?: string;
|
|
23
|
+
/** True when this token belongs to a caption's numbered label. Flows to the
|
|
24
|
+
* segment so renderers can apply the label colour. */
|
|
25
|
+
captionLabel?: boolean;
|
|
19
26
|
}
|
|
20
27
|
/**
|
|
21
28
|
* Measure a rich text block with mixed font weights.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich.d.ts","sourceRoot":"","sources":["../../src/measure/rich.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQ3C,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAIlE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;yEACqE;IACrE,UAAU,CAAC,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"rich.d.ts","sourceRoot":"","sources":["../../src/measure/rich.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQ3C,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAIlE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;yEACqE;IACrE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;oFAEgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;2DACuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAgHD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,UAAU,EAAE,EACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,aAAa,CAiMf"}
|
package/dist/measure/rich.js
CHANGED
|
@@ -4,12 +4,38 @@ import { richTokensToItems, computeBreakpoints, reconstructRichLines, } from '..
|
|
|
4
4
|
import { SOFT_HYPHEN } from './types';
|
|
5
5
|
import { cleanSoftHyphens, measureTextWidth, normalSpaceWidthFor } from './canvas';
|
|
6
6
|
import { computeJustifiedSpaceRatio } from './plain';
|
|
7
|
+
function pickSpanFont(bold, italic, normalFont, boldFont, italicFont, boldItalicFont) {
|
|
8
|
+
if (bold && italic)
|
|
9
|
+
return boldItalicFont;
|
|
10
|
+
if (bold)
|
|
11
|
+
return boldFont;
|
|
12
|
+
if (italic)
|
|
13
|
+
return italicFont;
|
|
14
|
+
return normalFont;
|
|
15
|
+
}
|
|
7
16
|
/**
|
|
8
17
|
* Tokenize inline spans into word/space tokens with bold/italic flags and measured widths.
|
|
9
18
|
*/
|
|
10
19
|
function tokenizeSpans(spans, normalFont, boldFont, italicFont, boldItalicFont, shouldHyphenate) {
|
|
11
20
|
const tokens = [];
|
|
12
21
|
for (const span of spans) {
|
|
22
|
+
// Inline `:ref` spans are atomic: the resolved label (already in `text`)
|
|
23
|
+
// is one non-breaking box so it never wraps apart. Kind 'text' keeps the
|
|
24
|
+
// generic layout/renderers treating it like a word; `refResourceId` flows
|
|
25
|
+
// onto the segment for link colouring / PDF link annotations.
|
|
26
|
+
if (span.ref) {
|
|
27
|
+
const refFont = pickSpanFont(span.bold, span.italic, normalFont, boldFont, italicFont, boldItalicFont);
|
|
28
|
+
tokens.push({
|
|
29
|
+
text: span.text,
|
|
30
|
+
bold: span.bold,
|
|
31
|
+
italic: span.italic,
|
|
32
|
+
captionLabel: span.captionLabel,
|
|
33
|
+
kind: 'text',
|
|
34
|
+
width: measureTextWidth(span.text, refFont),
|
|
35
|
+
refResourceId: span.ref.resourceId,
|
|
36
|
+
});
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
13
39
|
// Math spans are atomic: a single non-breaking box with the render's
|
|
14
40
|
// widthPx. Kind 'text' is correct (not 'space') so trimming trailing
|
|
15
41
|
// spaces from a line doesn't drop the formula.
|
|
@@ -18,6 +44,7 @@ function tokenizeSpans(spans, normalFont, boldFont, italicFont, boldItalicFont,
|
|
|
18
44
|
text: span.text,
|
|
19
45
|
bold: span.bold,
|
|
20
46
|
italic: span.italic,
|
|
47
|
+
captionLabel: span.captionLabel,
|
|
21
48
|
kind: 'text',
|
|
22
49
|
width: span.mathRender.widthPx,
|
|
23
50
|
mathRender: span.mathRender,
|
|
@@ -25,13 +52,7 @@ function tokenizeSpans(spans, normalFont, boldFont, italicFont, boldItalicFont,
|
|
|
25
52
|
continue;
|
|
26
53
|
}
|
|
27
54
|
const text = shouldHyphenate ? hyphenateText(span.text) : span.text;
|
|
28
|
-
const font = span.bold
|
|
29
|
-
? boldItalicFont
|
|
30
|
-
: span.bold
|
|
31
|
-
? boldFont
|
|
32
|
-
: span.italic
|
|
33
|
-
? italicFont
|
|
34
|
-
: normalFont;
|
|
55
|
+
const font = pickSpanFont(span.bold, span.italic, normalFont, boldFont, italicFont, boldItalicFont);
|
|
35
56
|
// Split on word boundaries while preserving spaces
|
|
36
57
|
const parts = text.match(/\S+|\s+/g);
|
|
37
58
|
if (!parts)
|
|
@@ -57,6 +78,7 @@ function tokenizeSpans(spans, normalFont, boldFont, italicFont, boldItalicFont,
|
|
|
57
78
|
text: clean,
|
|
58
79
|
bold: span.bold,
|
|
59
80
|
italic: span.italic,
|
|
81
|
+
captionLabel: span.captionLabel,
|
|
60
82
|
kind: 'text',
|
|
61
83
|
width: cleanWidth,
|
|
62
84
|
breakPoints,
|
|
@@ -68,6 +90,7 @@ function tokenizeSpans(spans, normalFont, boldFont, italicFont, boldItalicFont,
|
|
|
68
90
|
text: part,
|
|
69
91
|
bold: span.bold,
|
|
70
92
|
italic: span.italic,
|
|
93
|
+
captionLabel: span.captionLabel,
|
|
71
94
|
kind: isSpace ? 'space' : 'text',
|
|
72
95
|
width: measureTextWidth(part, font),
|
|
73
96
|
});
|
|
@@ -172,6 +195,7 @@ export function measureRichBlock(spans, normalFont, boldFont, italicFont, boldIt
|
|
|
172
195
|
text: token.text.slice(0, chosen.charIndex) + '-',
|
|
173
196
|
bold: token.bold,
|
|
174
197
|
italic: token.italic,
|
|
198
|
+
captionLabel: token.captionLabel,
|
|
175
199
|
kind: 'text',
|
|
176
200
|
width: chosen.widthBefore + hyphenW,
|
|
177
201
|
});
|
|
@@ -186,6 +210,7 @@ export function measureRichBlock(spans, normalFont, boldFont, italicFont, boldIt
|
|
|
186
210
|
text: token.text.slice(chosenIdx),
|
|
187
211
|
bold: token.bold,
|
|
188
212
|
italic: token.italic,
|
|
213
|
+
captionLabel: token.captionLabel,
|
|
189
214
|
kind: 'text',
|
|
190
215
|
width: token.width - chosenWidth,
|
|
191
216
|
...(residualBreakPoints.length > 0
|
|
@@ -225,6 +250,8 @@ export function measureRichBlock(spans, normalFont, boldFont, italicFont, boldIt
|
|
|
225
250
|
bold: t.bold || undefined,
|
|
226
251
|
italic: t.italic || undefined,
|
|
227
252
|
...(t.mathRender ? { mathRender: t.mathRender } : {}),
|
|
253
|
+
...(t.refResourceId !== undefined ? { refResourceId: t.refResourceId } : {}),
|
|
254
|
+
...(t.captionLabel ? { captionLabel: true } : {}),
|
|
228
255
|
}));
|
|
229
256
|
const lineText = lineTokens.map((t) => cleanSoftHyphens(t.text)).join('');
|
|
230
257
|
const contentWidth = lineTokens.reduce((sum, t) => sum + t.width, 0);
|
package/dist/measure/rich.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich.js","sourceRoot":"","sources":["../../src/measure/rich.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAoBrD;;GAEG;AACH,SAAS,aAAa,CACpB,KAAmB,EACnB,UAAkB,EAClB,QAAgB,EAChB,UAAkB,EAClB,cAAsB,EACtB,eAAwB;IAExB,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,qEAAqE;QACrE,qEAAqE;QACrE,+CAA+C;QAC/C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;gBAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM;YACnC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,IAAI,CAAC,IAAI;gBACT,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,IAAI,CAAC,MAAM;oBACX,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,UAAU,CAAC;QAEnB,mDAAmD;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC1C,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACjD,MAAM,WAAW,GAAqB,EAAE,CAAC;gBACzC,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;wBAC5B,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,CAAC;wBAC/B,WAAW,CAAC,IAAI,CAAC;4BACf,SAAS,EAAE,QAAQ;4BACnB,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC;yBAC9D,CAAC,CAAC;wBACH,SAAS,EAAE,CAAC;oBACd,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,UAAU;oBACjB,WAAW;oBACX,WAAW,EAAE,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC;iBACzC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBAChC,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAmB,EACnB,UAAkB,EAClB,QAAgB,EAChB,UAAkB,EAClB,cAAsB,EACtB,UAAkB,EAClB,YAAoB,EACpB,OAA6B;IAE7B,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;IACpD,MAAM,QAAQ,GAAG,OAAO,EAAE,iBAAiB,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,EAAE,aAAa,IAAI,KAAK,CAAC;IAChD,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;IACvG,MAAM,gBAAgB,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,yCAAyC;IACzC,IAAI,OAAO,EAAE,OAAO,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,GAAG,CAAC;QACvD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC;QACrD,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,EAAE;YACjC,MAAM,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC;gBACzB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC,CAAC,CAAC,CAAC;YACN,OAAO,UAAU,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;YACzB,OAAO,QAAQ,GAAG,CAAC;gBACjB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC,CAAC,CAAC,CAAC;QACR,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,WAAW,GAAG,CAAC;YAClC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,gBAAgB;YACrD,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE;YACvC,SAAS,EAAE,WAAW;YACtB,gBAAgB;YAChB,eAAe;YACf,cAAc;YACd,WAAW;YACX,YAAY;SACb,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,oBAAoB,CAClC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EACnC,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,CACvD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;QACxE,CAAC;QACD,+CAA+C;IACjD,CAAC;IAED,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,OAAO,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,SAAS,KAAK,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC;YAC7B,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;QAE7C,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,mDAAmD;QACnD,OAAO,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACtE,QAAQ,EAAE,CAAC;QACb,CAAC;QAED,uCAAuC;QACvC,OAAO,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAE,CAAC;YAEhC,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,YAAY,EAAE,CAAC;gBAC5C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC;gBACzB,QAAQ,EAAE,CAAC;gBACX,SAAS;YACX,CAAC;YAED,8CAA8C;YAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/E,MAAM,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;gBAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;gBACvC,IAAI,MAAM,GAA0B,IAAI,CAAC;gBACzC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;oBACnC,IAAI,EAAE,CAAC,WAAW,GAAG,OAAO,IAAI,SAAS;wBAAE,MAAM,GAAG,EAAE,CAAC;;wBAClD,MAAM;gBACb,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC;oBACX,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG;wBACjD,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,MAAM,CAAC,WAAW,GAAG,OAAO;qBACpC,CAAC,CAAC;oBACH,SAAS,IAAI,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC;oBAC1C,cAAc,GAAG,IAAI,CAAC;oBAEtB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;oBACnC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;oBACvC,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW;yBAC1C,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC;yBACxC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;oBACrG,MAAM,CAAC,QAAQ,CAAC,GAAG;wBACjB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;wBACjC,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,WAAW;wBAChC,GAAG,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;4BAChC,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;4BACtE,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC;oBACF,MAAM;gBACR,CAAC;YACH,CAAC;YAED,oFAAoF;YACpF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC;gBACzB,QAAQ,EAAE,CAAC;YACb,CAAC;YACD,MAAM;QACR,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM;QAEnC,wCAAwC;QACxC,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACpF,SAAS,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,KAAK,CAAC;YACtD,UAAU,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,iCAAiC;QACjC,iEAAiE;QACjE,IAAI,OAAO,GAAG,QAAQ,CAAC;QACvB,OAAO,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACpE,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC;QAE5C,yCAAyC;QACzC,MAAM,QAAQ,GAAqB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,MAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAC/C,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9B,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;YACzB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS;YAC7B,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC,CAAC,CAAC;QAEJ,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAErE,MAAM,mBAAmB,GAAG,0BAA0B,CACpD,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,UAAU,CACX,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,iBAAiB,CAAC,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC;YAClE,QAAQ,EAAE,CAAC,GAAG,YAAY,GAAG,GAAG;YAChC,UAAU,EAAE,cAAc;YAC1B,QAAQ;YACR,UAAU;YACV,GAAG,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;QAEH,CAAC,IAAI,YAAY,CAAC;QAClB,SAAS,EAAE,CAAC;IACd,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;AACnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"rich.js","sourceRoot":"","sources":["../../src/measure/rich.ts"],"names":[],"mappings":"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"}
|
package/dist/numbering.d.ts
CHANGED
|
@@ -10,6 +10,22 @@ type Token = {
|
|
|
10
10
|
};
|
|
11
11
|
export declare function parseTemplate(tpl: string): Token[];
|
|
12
12
|
export declare function formatNumeral(n: number, style: NumeralStyle): string;
|
|
13
|
+
/** A pre-resolved template piece fed to {@link renderCounterTemplate}. A
|
|
14
|
+
* `counter` piece whose `text` is empty is treated as a "missing" counter and
|
|
15
|
+
* triggers separator collapsing — its adjacent literal separator is dropped so
|
|
16
|
+
* the rendered string never carries dangling punctuation. */
|
|
17
|
+
export type RenderPiece = {
|
|
18
|
+
kind: 'literal';
|
|
19
|
+
text: string;
|
|
20
|
+
} | {
|
|
21
|
+
kind: 'counter';
|
|
22
|
+
text: string;
|
|
23
|
+
};
|
|
24
|
+
/** Shared template renderer used by both heading and resource numbering. Joins
|
|
25
|
+
* the pieces in order, dropping a literal separator that sits next to an empty
|
|
26
|
+
* counter so a missing leading/trailing counter doesn't leave orphan
|
|
27
|
+
* punctuation (e.g. `{h1}.{n}` with no h1 renders as `1`, not `.1`). */
|
|
28
|
+
export declare function renderCounterTemplate(pieces: RenderPiece[]): string;
|
|
13
29
|
export type HeadingTemplates = Partial<Record<1 | 2 | 3 | 4 | 5 | 6, string>>;
|
|
14
30
|
/** A switch in the page-numbering sequence. At `startPageIndex`, the
|
|
15
31
|
* (optional) `format` and/or (optional) `startAt` take effect.
|
package/dist/numbering.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numbering.d.ts","sourceRoot":"","sources":["../src/numbering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,YAAY,GACZ,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,CAAC;AAElB,KAAK,KAAK,GACN;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC;AAiB5D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CAgDlD;AAgCD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAgBpE;
|
|
1
|
+
{"version":3,"file":"numbering.d.ts","sourceRoot":"","sources":["../src/numbering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,YAAY,GACZ,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,CAAC;AAElB,KAAK,KAAK,GACN;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC;AAiB5D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CAgDlD;AAgCD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAgBpE;AAED;;;8DAG8D;AAC9D,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC;;;yEAGyE;AACzE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAsBnE;AAqBD,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAM9E;;;;;uCAKuC;AACvC,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;;;;oBAKoB;AACpB,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,aAAa,EAAE,CAoCjB;AAED;;;;6DAI6D;AAC7D,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,EAAE,CAuB5E;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EAAE,EACtB,SAAS,EAAE,gBAAgB,GAC1B,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAoB3B"}
|
package/dist/numbering.js
CHANGED
|
@@ -109,30 +109,25 @@ export function formatNumeral(n, style) {
|
|
|
109
109
|
return toRoman(n).toLowerCase();
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
continue;
|
|
121
|
-
const value = counters[t.level] ?? 0;
|
|
122
|
-
const rendered = value > 0 ? formatNumeral(value, t.style) : '';
|
|
123
|
-
pieces.push({ kind: 'counter', text: rendered });
|
|
124
|
-
}
|
|
112
|
+
/** Shared template renderer used by both heading and resource numbering. Joins
|
|
113
|
+
* the pieces in order, dropping a literal separator that sits next to an empty
|
|
114
|
+
* counter so a missing leading/trailing counter doesn't leave orphan
|
|
115
|
+
* punctuation (e.g. `{h1}.{n}` with no h1 renders as `1`, not `.1`). */
|
|
116
|
+
export function renderCounterTemplate(pieces) {
|
|
117
|
+
// Work on a shallow copy so the collapsing logic can blank neighbouring
|
|
118
|
+
// literals without mutating the caller's array.
|
|
119
|
+
const work = pieces.map((p) => ({ ...p }));
|
|
125
120
|
let out = '';
|
|
126
|
-
for (let i = 0; i <
|
|
127
|
-
const p =
|
|
121
|
+
for (let i = 0; i < work.length; i++) {
|
|
122
|
+
const p = work[i];
|
|
128
123
|
if (p.kind === 'counter' && p.text === '') {
|
|
129
124
|
const prev = out;
|
|
130
|
-
const next =
|
|
125
|
+
const next = work[i + 1];
|
|
131
126
|
if (next && next.kind === 'literal') {
|
|
132
|
-
|
|
127
|
+
work[i + 1] = { kind: 'literal', text: '' };
|
|
133
128
|
continue;
|
|
134
129
|
}
|
|
135
|
-
if (prev.length > 0 &&
|
|
130
|
+
if (prev.length > 0 && work[i - 1]?.kind === 'literal') {
|
|
136
131
|
out = out.replace(/[^A-Za-z0-9]+$/, '');
|
|
137
132
|
}
|
|
138
133
|
continue;
|
|
@@ -141,6 +136,21 @@ function renderTemplate(tokens, counters, currentLevel) {
|
|
|
141
136
|
}
|
|
142
137
|
return out;
|
|
143
138
|
}
|
|
139
|
+
function renderTemplate(tokens, counters, currentLevel) {
|
|
140
|
+
const pieces = [];
|
|
141
|
+
for (const t of tokens) {
|
|
142
|
+
if (t.kind === 'literal') {
|
|
143
|
+
pieces.push({ kind: 'literal', text: t.text });
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
if (t.level > currentLevel)
|
|
147
|
+
continue;
|
|
148
|
+
const value = counters[t.level] ?? 0;
|
|
149
|
+
const rendered = value > 0 ? formatNumeral(value, t.style) : '';
|
|
150
|
+
pieces.push({ kind: 'counter', text: rendered });
|
|
151
|
+
}
|
|
152
|
+
return renderCounterTemplate(pieces);
|
|
153
|
+
}
|
|
144
154
|
/** Assign (format, numeric value, rendered label) to every page.
|
|
145
155
|
*
|
|
146
156
|
* Segments must be sorted by `startPageIndex`. The first segment is
|
package/dist/numbering.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numbering.js","sourceRoot":"","sources":["../src/numbering.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"numbering.js","sourceRoot":"","sources":["../src/numbering.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockParser.d.ts","sourceRoot":"","sources":["../../src/parse/blockParser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAA2B,UAAU,EAAE,MAAM,SAAS,CAAC;AAYjG;2EAC2E;AAC3E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAW/D;
|
|
1
|
+
{"version":3,"file":"blockParser.d.ts","sourceRoot":"","sources":["../../src/parse/blockParser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAA2B,UAAU,EAAE,MAAM,SAAS,CAAC;AAYjG;2EAC2E;AAC3E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAW/D;AAmBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAQlE;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,CAQ9G;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAE9D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,CAyU1G"}
|