postext 0.1.10 → 0.1.12
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__/exports.test.js +5 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/canvas-backend.d.ts.map +1 -1
- package/dist/canvas-backend.js +30 -2
- package/dist/canvas-backend.js.map +1 -1
- package/dist/defaults/bodyText.d.ts +7 -0
- package/dist/defaults/bodyText.d.ts.map +1 -0
- package/dist/defaults/bodyText.js +120 -0
- package/dist/defaults/bodyText.js.map +1 -0
- package/dist/defaults/debug.d.ts +5 -0
- package/dist/defaults/debug.d.ts.map +1 -0
- package/dist/defaults/debug.js +78 -0
- package/dist/defaults/debug.js.map +1 -0
- package/dist/defaults/headings.d.ts +5 -0
- package/dist/defaults/headings.d.ts.map +1 -0
- package/dist/defaults/headings.js +142 -0
- package/dist/defaults/headings.js.map +1 -0
- package/dist/defaults/index.d.ts +11 -0
- package/dist/defaults/index.d.ts.map +1 -0
- package/dist/defaults/index.js +69 -0
- package/dist/defaults/index.js.map +1 -0
- package/dist/defaults/layout.d.ts +16 -0
- package/dist/defaults/layout.d.ts.map +1 -0
- package/dist/defaults/layout.js +68 -0
- package/dist/defaults/layout.js.map +1 -0
- package/dist/defaults/lists-shared.d.ts +15 -0
- package/dist/defaults/lists-shared.d.ts.map +1 -0
- package/dist/defaults/lists-shared.js +14 -0
- package/dist/defaults/lists-shared.js.map +1 -0
- package/dist/defaults/orderedLists.d.ts +18 -0
- package/dist/defaults/orderedLists.d.ts.map +1 -0
- package/dist/defaults/orderedLists.js +174 -0
- package/dist/defaults/orderedLists.js.map +1 -0
- package/dist/defaults/page.d.ts +32 -0
- package/dist/defaults/page.d.ts.map +1 -0
- package/dist/defaults/page.js +147 -0
- package/dist/defaults/page.js.map +1 -0
- package/dist/defaults/shared.d.ts +7 -0
- package/dist/defaults/shared.d.ts.map +1 -0
- package/dist/defaults/shared.js +97 -0
- package/dist/defaults/shared.js.map +1 -0
- package/dist/defaults/unorderedLists.d.ts +21 -0
- package/dist/defaults/unorderedLists.d.ts.map +1 -0
- package/dist/defaults/unorderedLists.js +188 -0
- package/dist/defaults/unorderedLists.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/measure.d.ts.map +1 -1
- package/dist/measure.js +112 -12
- package/dist/measure.js.map +1 -1
- package/dist/parse.d.ts +7 -0
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +53 -17
- package/dist/parse.js.map +1 -1
- package/dist/pipeline/build.d.ts +4 -0
- package/dist/pipeline/build.d.ts.map +1 -0
- package/dist/{pipeline.js → pipeline/build.js} +52 -246
- package/dist/pipeline/build.js.map +1 -0
- package/dist/pipeline/config.d.ts +6 -0
- package/dist/pipeline/config.d.ts.map +1 -0
- package/dist/pipeline/config.js +48 -0
- package/dist/pipeline/config.js.map +1 -0
- package/dist/pipeline/index.d.ts +2 -0
- package/dist/pipeline/index.d.ts.map +1 -0
- package/dist/pipeline/index.js +2 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/lists.d.ts +54 -0
- package/dist/pipeline/lists.d.ts.map +1 -0
- package/dist/pipeline/lists.js +298 -0
- package/dist/pipeline/lists.js.map +1 -0
- package/dist/pipeline/placement.d.ts +11 -0
- package/dist/pipeline/placement.d.ts.map +1 -0
- package/dist/pipeline/placement.js +48 -0
- package/dist/pipeline/placement.js.map +1 -0
- package/dist/pipeline/styles.d.ts +23 -0
- package/dist/pipeline/styles.d.ts.map +1 -0
- package/dist/pipeline/styles.js +62 -0
- package/dist/pipeline/styles.js.map +1 -0
- package/dist/types.d.ts +103 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +11 -1
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js.map +1 -1
- package/package.json +2 -2
- package/dist/defaults.d.ts +0 -76
- package/dist/defaults.d.ts.map +0 -1
- package/dist/defaults.js +0 -719
- package/dist/defaults.js.map +0 -1
- package/dist/pipeline.d.ts +0 -4
- package/dist/pipeline.d.ts.map +0 -1
- package/dist/pipeline.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/pipeline/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PostextConfig } from '../types';
|
|
2
|
+
import { type BoundingBox, type ResolvedConfig } from '../vdt';
|
|
3
|
+
export declare function resolveAllConfig(rawConfig?: PostextConfig): ResolvedConfig;
|
|
4
|
+
export declare function computeBaselineGrid(resolved: ResolvedConfig): number;
|
|
5
|
+
export declare function computeColumnBboxes(contentArea: BoundingBox, resolved: ResolvedConfig): BoundingBox[];
|
|
6
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAW9C,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAElF,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,cAAc,CAW1E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAUpE;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,cAAc,GACvB,WAAW,EAAE,CAyBf"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { resolvePageConfig, resolveLayoutConfig, resolveBodyTextConfig, resolveHeadingsConfig, resolveUnorderedListsConfig, resolveOrderedListsConfig, applyPaletteToConfig, } from '../defaults';
|
|
2
|
+
import { dimensionToPx } from '../units';
|
|
3
|
+
import { createBoundingBox } from '../vdt';
|
|
4
|
+
export function resolveAllConfig(rawConfig) {
|
|
5
|
+
const config = applyPaletteToConfig(rawConfig);
|
|
6
|
+
const bodyText = resolveBodyTextConfig(config?.bodyText);
|
|
7
|
+
return {
|
|
8
|
+
page: resolvePageConfig(config?.page),
|
|
9
|
+
layout: resolveLayoutConfig(config?.layout),
|
|
10
|
+
bodyText,
|
|
11
|
+
headings: resolveHeadingsConfig(config?.headings),
|
|
12
|
+
unorderedLists: resolveUnorderedListsConfig(config?.unorderedLists, bodyText),
|
|
13
|
+
orderedLists: resolveOrderedListsConfig(config?.orderedLists, bodyText),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export function computeBaselineGrid(resolved) {
|
|
17
|
+
const dpi = resolved.page.dpi;
|
|
18
|
+
const bodyFontSizePx = dimensionToPx(resolved.bodyText.fontSize, dpi);
|
|
19
|
+
const lineHeightDim = resolved.bodyText.lineHeight;
|
|
20
|
+
// em/rem: multiplier of font size; pt/px/cm/etc: absolute
|
|
21
|
+
if (lineHeightDim.unit === 'em' || lineHeightDim.unit === 'rem') {
|
|
22
|
+
return bodyFontSizePx * lineHeightDim.value;
|
|
23
|
+
}
|
|
24
|
+
return dimensionToPx(lineHeightDim, dpi, bodyFontSizePx);
|
|
25
|
+
}
|
|
26
|
+
export function computeColumnBboxes(contentArea, resolved) {
|
|
27
|
+
const { layoutType, gutterWidth, sideColumnPercent } = resolved.layout;
|
|
28
|
+
const dpi = resolved.page.dpi;
|
|
29
|
+
if (layoutType === 'single') {
|
|
30
|
+
return [createBoundingBox(contentArea.x, contentArea.y, contentArea.width, contentArea.height)];
|
|
31
|
+
}
|
|
32
|
+
const gutterPx = dimensionToPx(gutterWidth, dpi);
|
|
33
|
+
if (layoutType === 'double') {
|
|
34
|
+
const colWidth = (contentArea.width - gutterPx) / 2;
|
|
35
|
+
return [
|
|
36
|
+
createBoundingBox(contentArea.x, contentArea.y, colWidth, contentArea.height),
|
|
37
|
+
createBoundingBox(contentArea.x + colWidth + gutterPx, contentArea.y, colWidth, contentArea.height),
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
// oneAndHalf
|
|
41
|
+
const sideWidth = contentArea.width * (sideColumnPercent / 100);
|
|
42
|
+
const mainWidth = contentArea.width - sideWidth - gutterPx;
|
|
43
|
+
return [
|
|
44
|
+
createBoundingBox(contentArea.x, contentArea.y, mainWidth, contentArea.height),
|
|
45
|
+
createBoundingBox(contentArea.x + mainWidth + gutterPx, contentArea.y, sideWidth, contentArea.height),
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/pipeline/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/pipeline/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { ContentBlock } from '../parse';
|
|
2
|
+
import type { ResolvedConfig } from '../vdt';
|
|
3
|
+
import type { BlockStyle } from './styles';
|
|
4
|
+
export interface ListBulletStyle {
|
|
5
|
+
indentPx: number;
|
|
6
|
+
bulletText: string;
|
|
7
|
+
bulletFontString: string;
|
|
8
|
+
bulletColor: string;
|
|
9
|
+
bulletWidthPx: number;
|
|
10
|
+
gapPx: number;
|
|
11
|
+
hangingIndent: boolean;
|
|
12
|
+
itemSpacingPx: number;
|
|
13
|
+
textFontSizePx: number;
|
|
14
|
+
verticalOffsetPx: number;
|
|
15
|
+
}
|
|
16
|
+
export interface ListItemResolved {
|
|
17
|
+
text: BlockStyle;
|
|
18
|
+
bullet: ListBulletStyle;
|
|
19
|
+
/** The bullet's left-edge X offset WITHIN the column (for right-aligned ordered numbers). Added to block.bbox.x at finalize time. */
|
|
20
|
+
bulletXOffsetInColumn: number;
|
|
21
|
+
strikethroughText: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface OrderedRunMetric {
|
|
24
|
+
numberText: string;
|
|
25
|
+
numberWidthPx: number;
|
|
26
|
+
maxNumberWidthPx: number;
|
|
27
|
+
}
|
|
28
|
+
export interface OrderedListMetrics {
|
|
29
|
+
perBlock: Map<number, OrderedRunMetric>;
|
|
30
|
+
maxWidthByDepth: Map<number, number>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Compute the effective indent in px for each unordered list level.
|
|
34
|
+
* User-overridden `indent` is honored directly. Otherwise level 1 falls back to
|
|
35
|
+
* the general indent, and deeper levels cascade from the previous level's
|
|
36
|
+
* text-start position (prev indent + prev bullet width + gap).
|
|
37
|
+
*/
|
|
38
|
+
export declare function computeLevelIndentsPx(resolved: ResolvedConfig, bodyFontSizePx: number): number[];
|
|
39
|
+
/**
|
|
40
|
+
* Same as computeLevelIndentsPx but for ordered lists. The cascade uses the
|
|
41
|
+
* per-depth max number width observed in the document (falling back to a
|
|
42
|
+
* width approximation based on "99." when no runs exist at that depth).
|
|
43
|
+
*/
|
|
44
|
+
export declare function computeOrderedLevelIndentsPx(resolved: ResolvedConfig, bodyFontSizePx: number, maxNumberWidthByDepth: Map<number, number>): number[];
|
|
45
|
+
/**
|
|
46
|
+
* Walks content blocks identifying contiguous ordered-list runs per depth,
|
|
47
|
+
* computes each item's formatted number + width, and the max width per run
|
|
48
|
+
* (for right-align). Also tracks the global max per depth (for level-indent
|
|
49
|
+
* cascade in ordered lists).
|
|
50
|
+
*/
|
|
51
|
+
export declare function computeOrderedListRunMetrics(contentBlocks: ContentBlock[], resolved: ResolvedConfig, bodyFontSizePx: number): OrderedListMetrics;
|
|
52
|
+
export declare function resolveUnorderedListItemStyle(depth: number, resolved: ResolvedConfig, levelIndentsPx: number[], checked: boolean, isTask: boolean): ListItemResolved;
|
|
53
|
+
export declare function resolveOrderedListItemStyle(depth: number, resolved: ResolvedConfig, levelIndentsPx: number[], metric: OrderedRunMetric): ListItemResolved;
|
|
54
|
+
//# sourceMappingURL=lists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../src/pipeline/lists.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,UAAU,CAAC;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB,qIAAqI;IACrI,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAQD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CA4BhG;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EACtB,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACzC,MAAM,EAAE,CA+BV;AAyCD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,YAAY,EAAE,EAC7B,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,GACrB,kBAAkB,CAwFpB;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,GACd,gBAAgB,CA4DlB;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,MAAM,EAAE,EACxB,MAAM,EAAE,gBAAgB,GACvB,gBAAgB,CAoDlB"}
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import { dimensionToPx } from '../units';
|
|
2
|
+
import { buildFontString, measureGlyphWidth } from '../measure';
|
|
3
|
+
import { resolveBodyStyle } from './styles';
|
|
4
|
+
/**
|
|
5
|
+
* Compute the effective indent in px for each unordered list level.
|
|
6
|
+
* User-overridden `indent` is honored directly. Otherwise level 1 falls back to
|
|
7
|
+
* the general indent, and deeper levels cascade from the previous level's
|
|
8
|
+
* text-start position (prev indent + prev bullet width + gap).
|
|
9
|
+
*/
|
|
10
|
+
export function computeLevelIndentsPx(resolved, bodyFontSizePx) {
|
|
11
|
+
const dpi = resolved.page.dpi;
|
|
12
|
+
const lists = resolved.unorderedLists;
|
|
13
|
+
const gapPx = dimensionToPx(lists.gap, dpi, bodyFontSizePx);
|
|
14
|
+
const generalIndentPx = dimensionToPx(lists.indent, dpi, bodyFontSizePx);
|
|
15
|
+
const result = [];
|
|
16
|
+
for (let i = 0; i < lists.levels.length; i++) {
|
|
17
|
+
const level = lists.levels[i];
|
|
18
|
+
let indentPx;
|
|
19
|
+
if (level.indent !== undefined) {
|
|
20
|
+
indentPx = dimensionToPx(level.indent, dpi, bodyFontSizePx);
|
|
21
|
+
}
|
|
22
|
+
else if (i === 0) {
|
|
23
|
+
indentPx = generalIndentPx;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
const prev = lists.levels[i - 1];
|
|
27
|
+
const prevFontSizePx = dimensionToPx(prev.fontSize, dpi, bodyFontSizePx);
|
|
28
|
+
const prevFontString = buildFontString(prev.fontFamily, prevFontSizePx, prev.fontWeight.toString(), prev.italic ? 'italic' : 'normal');
|
|
29
|
+
const prevBulletWidthPx = measureGlyphWidth(prev.bulletChar, prevFontString);
|
|
30
|
+
indentPx = result[i - 1] + prevBulletWidthPx + gapPx;
|
|
31
|
+
}
|
|
32
|
+
result.push(indentPx);
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Same as computeLevelIndentsPx but for ordered lists. The cascade uses the
|
|
38
|
+
* per-depth max number width observed in the document (falling back to a
|
|
39
|
+
* width approximation based on "99." when no runs exist at that depth).
|
|
40
|
+
*/
|
|
41
|
+
export function computeOrderedLevelIndentsPx(resolved, bodyFontSizePx, maxNumberWidthByDepth) {
|
|
42
|
+
const dpi = resolved.page.dpi;
|
|
43
|
+
const lists = resolved.orderedLists;
|
|
44
|
+
const gapPx = dimensionToPx(lists.gap, dpi, bodyFontSizePx);
|
|
45
|
+
const generalIndentPx = dimensionToPx(lists.indent, dpi, bodyFontSizePx);
|
|
46
|
+
const result = [];
|
|
47
|
+
for (let i = 0; i < lists.levels.length; i++) {
|
|
48
|
+
const level = lists.levels[i];
|
|
49
|
+
let indentPx;
|
|
50
|
+
if (level.indent !== undefined) {
|
|
51
|
+
indentPx = dimensionToPx(level.indent, dpi, bodyFontSizePx);
|
|
52
|
+
}
|
|
53
|
+
else if (i === 0) {
|
|
54
|
+
indentPx = generalIndentPx;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
const prevLevel = i; // 1-based depth of previous = i
|
|
58
|
+
const prev = lists.levels[i - 1];
|
|
59
|
+
const prevFontSizePx = dimensionToPx(prev.fontSize, dpi, bodyFontSizePx);
|
|
60
|
+
const prevFontString = buildFontString(prev.fontFamily, prevFontSizePx, prev.fontWeight.toString(), prev.italic ? 'italic' : 'normal');
|
|
61
|
+
const fallbackWidthPx = measureGlyphWidth('99' + prev.separator, prevFontString);
|
|
62
|
+
const observedMax = maxNumberWidthByDepth.get(prevLevel);
|
|
63
|
+
const prevNumberWidthPx = observedMax ?? fallbackWidthPx;
|
|
64
|
+
indentPx = result[i - 1] + prevNumberWidthPx + gapPx;
|
|
65
|
+
}
|
|
66
|
+
result.push(indentPx);
|
|
67
|
+
}
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
function toRoman(n) {
|
|
71
|
+
if (n <= 0 || n >= 4000)
|
|
72
|
+
return n.toString();
|
|
73
|
+
const pairs = [
|
|
74
|
+
[1000, 'M'], [900, 'CM'], [500, 'D'], [400, 'CD'],
|
|
75
|
+
[100, 'C'], [90, 'XC'], [50, 'L'], [40, 'XL'],
|
|
76
|
+
[10, 'X'], [9, 'IX'], [5, 'V'], [4, 'IV'], [1, 'I'],
|
|
77
|
+
];
|
|
78
|
+
let out = '';
|
|
79
|
+
for (const [v, s] of pairs) {
|
|
80
|
+
while (n >= v) {
|
|
81
|
+
out += s;
|
|
82
|
+
n -= v;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return out;
|
|
86
|
+
}
|
|
87
|
+
function toAlpha(n, upper) {
|
|
88
|
+
if (n <= 0)
|
|
89
|
+
return n.toString();
|
|
90
|
+
const base = upper ? 65 : 97;
|
|
91
|
+
let s = '';
|
|
92
|
+
while (n > 0) {
|
|
93
|
+
n -= 1;
|
|
94
|
+
s = String.fromCharCode(base + (n % 26)) + s;
|
|
95
|
+
n = Math.floor(n / 26);
|
|
96
|
+
}
|
|
97
|
+
return s;
|
|
98
|
+
}
|
|
99
|
+
function formatListNumber(n, format) {
|
|
100
|
+
switch (format) {
|
|
101
|
+
case 'arabic': return n.toString();
|
|
102
|
+
case 'lower-alpha': return toAlpha(n, false);
|
|
103
|
+
case 'upper-alpha': return toAlpha(n, true);
|
|
104
|
+
case 'lower-roman': return toRoman(n).toLowerCase();
|
|
105
|
+
case 'upper-roman': return toRoman(n);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Walks content blocks identifying contiguous ordered-list runs per depth,
|
|
110
|
+
* computes each item's formatted number + width, and the max width per run
|
|
111
|
+
* (for right-align). Also tracks the global max per depth (for level-indent
|
|
112
|
+
* cascade in ordered lists).
|
|
113
|
+
*/
|
|
114
|
+
export function computeOrderedListRunMetrics(contentBlocks, resolved, bodyFontSizePx) {
|
|
115
|
+
const dpi = resolved.page.dpi;
|
|
116
|
+
const lists = resolved.orderedLists;
|
|
117
|
+
const perBlock = new Map();
|
|
118
|
+
const maxWidthByDepth = new Map();
|
|
119
|
+
const runsByDepth = new Map();
|
|
120
|
+
// Pre-compute per-level font strings (used to measure number widths).
|
|
121
|
+
const levelFontStrings = lists.levels.map((lvl) => {
|
|
122
|
+
const fontSizePx = dimensionToPx(lvl.fontSize, dpi, bodyFontSizePx);
|
|
123
|
+
return buildFontString(lvl.fontFamily, fontSizePx, lvl.fontWeight.toString(), lvl.italic ? 'italic' : 'normal');
|
|
124
|
+
});
|
|
125
|
+
const closeRun = (depth) => {
|
|
126
|
+
const run = runsByDepth.get(depth);
|
|
127
|
+
if (!run || run.kind !== 'ordered' || run.itemIdxs.length === 0) {
|
|
128
|
+
runsByDepth.delete(depth);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const levelIdx = Math.max(0, Math.min(levelFontStrings.length - 1, depth - 1));
|
|
132
|
+
const fontString = levelFontStrings[levelIdx];
|
|
133
|
+
let maxWidth = 0;
|
|
134
|
+
const widths = new Map();
|
|
135
|
+
for (const idx of run.itemIdxs) {
|
|
136
|
+
const entry = perBlock.get(idx);
|
|
137
|
+
if (!entry)
|
|
138
|
+
continue;
|
|
139
|
+
const w = measureGlyphWidth(entry.numberText, fontString);
|
|
140
|
+
widths.set(idx, w);
|
|
141
|
+
if (w > maxWidth)
|
|
142
|
+
maxWidth = w;
|
|
143
|
+
}
|
|
144
|
+
for (const idx of run.itemIdxs) {
|
|
145
|
+
const entry = perBlock.get(idx);
|
|
146
|
+
if (!entry)
|
|
147
|
+
continue;
|
|
148
|
+
entry.numberWidthPx = widths.get(idx) ?? 0;
|
|
149
|
+
entry.maxNumberWidthPx = maxWidth;
|
|
150
|
+
}
|
|
151
|
+
const prevDepthMax = maxWidthByDepth.get(depth) ?? 0;
|
|
152
|
+
if (maxWidth > prevDepthMax)
|
|
153
|
+
maxWidthByDepth.set(depth, maxWidth);
|
|
154
|
+
runsByDepth.delete(depth);
|
|
155
|
+
};
|
|
156
|
+
const closeAllRuns = () => {
|
|
157
|
+
for (const depth of Array.from(runsByDepth.keys()))
|
|
158
|
+
closeRun(depth);
|
|
159
|
+
};
|
|
160
|
+
const closeDeeperRuns = (depth) => {
|
|
161
|
+
for (const d of Array.from(runsByDepth.keys())) {
|
|
162
|
+
if (d > depth)
|
|
163
|
+
closeRun(d);
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
for (let i = 0; i < contentBlocks.length; i++) {
|
|
167
|
+
const block = contentBlocks[i];
|
|
168
|
+
if (block.type !== 'listItem') {
|
|
169
|
+
closeAllRuns();
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
const depth = block.depth ?? 1;
|
|
173
|
+
const kind = block.listKind ?? 'unordered';
|
|
174
|
+
closeDeeperRuns(depth);
|
|
175
|
+
const existing = runsByDepth.get(depth);
|
|
176
|
+
if (!existing || existing.kind !== kind) {
|
|
177
|
+
if (existing)
|
|
178
|
+
closeRun(depth);
|
|
179
|
+
runsByDepth.set(depth, { kind, counter: 0, itemIdxs: [] });
|
|
180
|
+
}
|
|
181
|
+
const run = runsByDepth.get(depth);
|
|
182
|
+
if (kind === 'ordered') {
|
|
183
|
+
// Honor the literal MD number for every item — authors can type `1. 2. 10.`
|
|
184
|
+
// to get `1. 2. 10.` in the render. Falls back to an auto-increment when
|
|
185
|
+
// the parser didn't attach a number (defensive; always set in practice).
|
|
186
|
+
const counter = block.startNumber ?? run.counter + 1;
|
|
187
|
+
run.counter = counter;
|
|
188
|
+
run.itemIdxs.push(i);
|
|
189
|
+
const levelIdx = Math.max(0, Math.min(lists.levels.length - 1, depth - 1));
|
|
190
|
+
const levelCfg = lists.levels[levelIdx];
|
|
191
|
+
const numberText = formatListNumber(counter, levelCfg.numberFormat) + levelCfg.separator;
|
|
192
|
+
perBlock.set(i, { numberText, numberWidthPx: 0, maxNumberWidthPx: 0 });
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
closeAllRuns();
|
|
196
|
+
return { perBlock, maxWidthByDepth };
|
|
197
|
+
}
|
|
198
|
+
export function resolveUnorderedListItemStyle(depth, resolved, levelIndentsPx, checked, isTask) {
|
|
199
|
+
const dpi = resolved.page.dpi;
|
|
200
|
+
const bodyStyle = resolveBodyStyle(resolved);
|
|
201
|
+
const lists = resolved.unorderedLists;
|
|
202
|
+
const levelIdx = Math.max(0, Math.min(lists.levels.length - 1, depth - 1));
|
|
203
|
+
const levelConfig = lists.levels[levelIdx];
|
|
204
|
+
const bulletFontSizePx = dimensionToPx(levelConfig.fontSize, dpi, bodyStyle.fontSizePx);
|
|
205
|
+
const bulletWeight = levelConfig.fontWeight.toString();
|
|
206
|
+
const bulletStyle = levelConfig.italic ? 'italic' : 'normal';
|
|
207
|
+
const bulletFontString = buildFontString(levelConfig.fontFamily, bulletFontSizePx, bulletWeight, bulletStyle);
|
|
208
|
+
const bulletChar = isTask
|
|
209
|
+
? checked
|
|
210
|
+
? lists.taskCheckedChar
|
|
211
|
+
: lists.taskCheckboxChar
|
|
212
|
+
: levelConfig.bulletChar;
|
|
213
|
+
const indentPx = levelIndentsPx[levelIdx] ?? 0;
|
|
214
|
+
const gapPx = dimensionToPx(lists.gap, dpi, bodyStyle.fontSizePx);
|
|
215
|
+
const bulletWidthPx = measureGlyphWidth(bulletChar, bulletFontString);
|
|
216
|
+
const itemSpacingPx = dimensionToPx(lists.itemSpacing, dpi, bodyStyle.fontSizePx);
|
|
217
|
+
const verticalOffsetPx = dimensionToPx(levelConfig.verticalOffset, dpi, bodyStyle.fontSizePx);
|
|
218
|
+
const marginTopPx = dimensionToPx(lists.marginTop, dpi, bodyStyle.fontSizePx);
|
|
219
|
+
const marginBottomPx = dimensionToPx(lists.marginBottom, dpi, bodyStyle.fontSizePx);
|
|
220
|
+
const completedMutedColor = isTask && checked && lists.taskCompletedColor ? lists.taskCompletedColor.hex : undefined;
|
|
221
|
+
const textColor = completedMutedColor ?? bodyStyle.color;
|
|
222
|
+
const text = {
|
|
223
|
+
...bodyStyle,
|
|
224
|
+
color: textColor,
|
|
225
|
+
boldColor: completedMutedColor ? undefined : bodyStyle.boldColor,
|
|
226
|
+
italicColor: completedMutedColor ? undefined : bodyStyle.italicColor,
|
|
227
|
+
marginTopPx,
|
|
228
|
+
marginBottomPx,
|
|
229
|
+
firstLineIndentPx: 0,
|
|
230
|
+
hangingIndent: false,
|
|
231
|
+
};
|
|
232
|
+
const bullet = {
|
|
233
|
+
indentPx,
|
|
234
|
+
bulletText: bulletChar,
|
|
235
|
+
bulletFontString,
|
|
236
|
+
bulletColor: levelConfig.color.hex,
|
|
237
|
+
bulletWidthPx,
|
|
238
|
+
gapPx,
|
|
239
|
+
hangingIndent: lists.hangingIndent,
|
|
240
|
+
itemSpacingPx,
|
|
241
|
+
textFontSizePx: bodyStyle.fontSizePx,
|
|
242
|
+
verticalOffsetPx,
|
|
243
|
+
};
|
|
244
|
+
return {
|
|
245
|
+
text,
|
|
246
|
+
bullet,
|
|
247
|
+
bulletXOffsetInColumn: indentPx,
|
|
248
|
+
strikethroughText: isTask && checked && lists.taskCompletedStrikethrough,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
export function resolveOrderedListItemStyle(depth, resolved, levelIndentsPx, metric) {
|
|
252
|
+
const dpi = resolved.page.dpi;
|
|
253
|
+
const bodyStyle = resolveBodyStyle(resolved);
|
|
254
|
+
const lists = resolved.orderedLists;
|
|
255
|
+
const levelIdx = Math.max(0, Math.min(lists.levels.length - 1, depth - 1));
|
|
256
|
+
const levelConfig = lists.levels[levelIdx];
|
|
257
|
+
const numberFontSizePx = dimensionToPx(levelConfig.fontSize, dpi, bodyStyle.fontSizePx);
|
|
258
|
+
const numberWeight = levelConfig.fontWeight.toString();
|
|
259
|
+
const numberStyle = levelConfig.italic ? 'italic' : 'normal';
|
|
260
|
+
const numberFontString = buildFontString(levelConfig.fontFamily, numberFontSizePx, numberWeight, numberStyle);
|
|
261
|
+
const indentPx = levelIndentsPx[levelIdx] ?? 0;
|
|
262
|
+
const gapPx = dimensionToPx(lists.gap, dpi, bodyStyle.fontSizePx);
|
|
263
|
+
const itemSpacingPx = dimensionToPx(lists.itemSpacing, dpi, bodyStyle.fontSizePx);
|
|
264
|
+
const verticalOffsetPx = dimensionToPx(levelConfig.verticalOffset, dpi, bodyStyle.fontSizePx);
|
|
265
|
+
const marginTopPx = dimensionToPx(lists.marginTop, dpi, bodyStyle.fontSizePx);
|
|
266
|
+
const marginBottomPx = dimensionToPx(lists.marginBottom, dpi, bodyStyle.fontSizePx);
|
|
267
|
+
// Right-align: reserve max width so text starts after `indent + maxWidth + gap`.
|
|
268
|
+
// The individual number is drawn at `indent + (maxWidth - thisWidth)`.
|
|
269
|
+
const rightAlignOffsetPx = Math.max(0, metric.maxNumberWidthPx - metric.numberWidthPx);
|
|
270
|
+
const text = {
|
|
271
|
+
...bodyStyle,
|
|
272
|
+
marginTopPx,
|
|
273
|
+
marginBottomPx,
|
|
274
|
+
firstLineIndentPx: 0,
|
|
275
|
+
hangingIndent: false,
|
|
276
|
+
};
|
|
277
|
+
const bullet = {
|
|
278
|
+
indentPx,
|
|
279
|
+
bulletText: metric.numberText,
|
|
280
|
+
bulletFontString: numberFontString,
|
|
281
|
+
bulletColor: levelConfig.color.hex,
|
|
282
|
+
// Report the MAX width so the common text-shift math (`indent + bulletWidth + gap`)
|
|
283
|
+
// still carves out the full numbered column for every item in the run.
|
|
284
|
+
bulletWidthPx: metric.maxNumberWidthPx,
|
|
285
|
+
gapPx,
|
|
286
|
+
hangingIndent: lists.hangingIndent,
|
|
287
|
+
itemSpacingPx,
|
|
288
|
+
textFontSizePx: bodyStyle.fontSizePx,
|
|
289
|
+
verticalOffsetPx,
|
|
290
|
+
};
|
|
291
|
+
return {
|
|
292
|
+
text,
|
|
293
|
+
bullet,
|
|
294
|
+
bulletXOffsetInColumn: indentPx + rightAlignOffsetPx,
|
|
295
|
+
strikethroughText: false,
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=lists.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lists.js","sourceRoot":"","sources":["../../src/pipeline/lists.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type BoundingBox, type ResolvedConfig, type VDTDocument, type VDTBlock, type VDTLine, type VDTPage, type VDTColumn } from '../vdt';
|
|
2
|
+
export interface PlacementCursor {
|
|
3
|
+
pageIndex: number;
|
|
4
|
+
columnIndex: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function resetLinePositions(lines: VDTLine[], lineHeightPx: number): VDTLine[];
|
|
7
|
+
export declare function createPageWithColumns(pageIndex: number, resolved: ResolvedConfig, contentArea: BoundingBox, pageWidthPx: number, pageHeightPx: number): VDTPage;
|
|
8
|
+
export declare function currentColumn(doc: VDTDocument, cursor: PlacementCursor): VDTColumn;
|
|
9
|
+
export declare function advanceToNextColumn(doc: VDTDocument, cursor: PlacementCursor, resolved: ResolvedConfig, contentArea: BoundingBox, pageWidthPx: number, pageHeightPx: number): void;
|
|
10
|
+
export declare function placeBlockInColumn(block: VDTBlock, blockHeight: number, col: VDTColumn, cursor: PlacementCursor): void;
|
|
11
|
+
//# sourceMappingURL=placement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placement.d.ts","sourceRoot":"","sources":["../../src/pipeline/placement.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,SAAS,EACf,MAAM,QAAQ,CAAC;AAGhB,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EAAE,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,EAAE,CAMX;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAOT;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,GAAG,SAAS,CAElF;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,IAAI,CAiBN;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,eAAe,GACtB,IAAI,CAeN"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { createBoundingBox, createVDTPage, createVDTColumn, } from '../vdt';
|
|
2
|
+
import { computeColumnBboxes } from './config';
|
|
3
|
+
export function resetLinePositions(lines, lineHeightPx) {
|
|
4
|
+
return lines.map((line, i) => ({
|
|
5
|
+
...line,
|
|
6
|
+
bbox: createBoundingBox(line.bbox.x, i * lineHeightPx, line.bbox.width, lineHeightPx),
|
|
7
|
+
baseline: i * lineHeightPx + lineHeightPx * 0.8,
|
|
8
|
+
}));
|
|
9
|
+
}
|
|
10
|
+
export function createPageWithColumns(pageIndex, resolved, contentArea, pageWidthPx, pageHeightPx) {
|
|
11
|
+
const page = createVDTPage(pageIndex, pageWidthPx, pageHeightPx);
|
|
12
|
+
const colBboxes = computeColumnBboxes(contentArea, resolved);
|
|
13
|
+
for (let i = 0; i < colBboxes.length; i++) {
|
|
14
|
+
page.columns.push(createVDTColumn(i, colBboxes[i]));
|
|
15
|
+
}
|
|
16
|
+
return page;
|
|
17
|
+
}
|
|
18
|
+
export function currentColumn(doc, cursor) {
|
|
19
|
+
return doc.pages[cursor.pageIndex].columns[cursor.columnIndex];
|
|
20
|
+
}
|
|
21
|
+
export function advanceToNextColumn(doc, cursor, resolved, contentArea, pageWidthPx, pageHeightPx) {
|
|
22
|
+
const page = doc.pages[cursor.pageIndex];
|
|
23
|
+
if (cursor.columnIndex < page.columns.length - 1) {
|
|
24
|
+
cursor.columnIndex++;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
// New page
|
|
28
|
+
const newPage = createPageWithColumns(doc.pages.length, resolved, contentArea, pageWidthPx, pageHeightPx);
|
|
29
|
+
doc.pages.push(newPage);
|
|
30
|
+
cursor.pageIndex = newPage.index;
|
|
31
|
+
cursor.columnIndex = 0;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export function placeBlockInColumn(block, blockHeight, col, cursor) {
|
|
35
|
+
const y = col.bbox.y + (col.bbox.height - col.availableHeight);
|
|
36
|
+
block.bbox = createBoundingBox(col.bbox.x, y, col.bbox.width, blockHeight);
|
|
37
|
+
block.pageIndex = cursor.pageIndex;
|
|
38
|
+
block.columnIndex = cursor.columnIndex;
|
|
39
|
+
// Offset all line bboxes to absolute page coordinates
|
|
40
|
+
for (const line of block.lines) {
|
|
41
|
+
line.bbox.x += col.bbox.x;
|
|
42
|
+
line.bbox.y += y;
|
|
43
|
+
line.baseline += y;
|
|
44
|
+
}
|
|
45
|
+
col.blocks.push(block);
|
|
46
|
+
col.availableHeight -= blockHeight;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=placement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placement.js","sourceRoot":"","sources":["../../src/pipeline/placement.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { TextAlign } from '../types';
|
|
2
|
+
import type { ResolvedConfig } from '../vdt';
|
|
3
|
+
export interface BlockStyle {
|
|
4
|
+
fontString: string;
|
|
5
|
+
boldFontString?: string;
|
|
6
|
+
italicFontString?: string;
|
|
7
|
+
boldItalicFontString?: string;
|
|
8
|
+
fontSizePx: number;
|
|
9
|
+
lineHeightPx: number;
|
|
10
|
+
color: string;
|
|
11
|
+
boldColor?: string;
|
|
12
|
+
italicColor?: string;
|
|
13
|
+
textAlign: TextAlign;
|
|
14
|
+
hyphenate: boolean;
|
|
15
|
+
marginTopPx: number;
|
|
16
|
+
marginBottomPx: number;
|
|
17
|
+
firstLineIndentPx: number;
|
|
18
|
+
hangingIndent: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare function resolveBodyStyle(resolved: ResolvedConfig): BlockStyle;
|
|
21
|
+
export declare function resolveHeadingStyle(level: number, resolved: ResolvedConfig): BlockStyle;
|
|
22
|
+
export declare function resolveBlockquoteStyle(resolved: ResolvedConfig): BlockStyle;
|
|
23
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/pipeline/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,SAAS,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAI7C,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,UAAU,CAgBrE;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAc,GACvB,UAAU,CAyBZ;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,UAAU,CAgB3E"}
|