postext 1.24.0 → 1.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/bundle/cjkRulesPin.test.d.ts +2 -0
- package/dist/__tests__/bundle/cjkRulesPin.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/cjkRulesPin.test.js +78 -0
- package/dist/__tests__/bundle/cjkRulesPin.test.js.map +1 -0
- package/dist/__tests__/bundle/designOverflowPin.test.js +4 -2
- package/dist/__tests__/bundle/designOverflowPin.test.js.map +1 -1
- package/dist/__tests__/bundle/flowColumnsPin.test.d.ts +2 -0
- package/dist/__tests__/bundle/flowColumnsPin.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/flowColumnsPin.test.js +40 -0
- package/dist/__tests__/bundle/flowColumnsPin.test.js.map +1 -0
- package/dist/__tests__/bundle/gridBalancingPin.test.d.ts +2 -0
- package/dist/__tests__/bundle/gridBalancingPin.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/gridBalancingPin.test.js +53 -0
- package/dist/__tests__/bundle/gridBalancingPin.test.js.map +1 -0
- package/dist/__tests__/bundle/inlineTableSplitPin.test.d.ts +2 -0
- package/dist/__tests__/bundle/inlineTableSplitPin.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/inlineTableSplitPin.test.js +43 -0
- package/dist/__tests__/bundle/inlineTableSplitPin.test.js.map +1 -0
- package/dist/__tests__/bundle/openerHeadFloatsPin.test.d.ts +2 -0
- package/dist/__tests__/bundle/openerHeadFloatsPin.test.d.ts.map +1 -0
- package/dist/__tests__/bundle/openerHeadFloatsPin.test.js +50 -0
- package/dist/__tests__/bundle/openerHeadFloatsPin.test.js.map +1 -0
- package/dist/__tests__/bundle.test.js +11 -1
- package/dist/__tests__/bundle.test.js.map +1 -1
- package/dist/__tests__/cjk/annotationsRender.test.js +5 -2
- package/dist/__tests__/cjk/annotationsRender.test.js.map +1 -1
- package/dist/__tests__/cjk/circledNumbers.test.d.ts +2 -0
- package/dist/__tests__/cjk/circledNumbers.test.d.ts.map +1 -0
- package/dist/__tests__/cjk/circledNumbers.test.js +83 -0
- package/dist/__tests__/cjk/circledNumbers.test.js.map +1 -0
- package/dist/__tests__/cjk/gridBalancing.test.d.ts +2 -0
- package/dist/__tests__/cjk/gridBalancing.test.d.ts.map +1 -0
- package/dist/__tests__/cjk/gridBalancing.test.js +227 -0
- package/dist/__tests__/cjk/gridBalancing.test.js.map +1 -0
- package/dist/__tests__/cjk/justifyRender.test.js +2 -1
- package/dist/__tests__/cjk/justifyRender.test.js.map +1 -1
- package/dist/__tests__/cjk/titleBreaks.test.d.ts +2 -0
- package/dist/__tests__/cjk/titleBreaks.test.d.ts.map +1 -0
- package/dist/__tests__/cjk/titleBreaks.test.js +76 -0
- package/dist/__tests__/cjk/titleBreaks.test.js.map +1 -0
- package/dist/__tests__/cjk/wordJoiner.test.js +13 -4
- package/dist/__tests__/cjk/wordJoiner.test.js.map +1 -1
- package/dist/__tests__/codeBlocks.test.js +1 -1
- package/dist/__tests__/design/cjkDesignText.test.d.ts +2 -0
- package/dist/__tests__/design/cjkDesignText.test.d.ts.map +1 -0
- package/dist/__tests__/design/cjkDesignText.test.js +130 -0
- package/dist/__tests__/design/cjkDesignText.test.js.map +1 -0
- package/dist/__tests__/design/cjkDesignTextRender.test.d.ts +2 -0
- package/dist/__tests__/design/cjkDesignTextRender.test.d.ts.map +1 -0
- package/dist/__tests__/design/cjkDesignTextRender.test.js +100 -0
- package/dist/__tests__/design/cjkDesignTextRender.test.js.map +1 -0
- package/dist/__tests__/exports.test.js +49 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/hardBreaks.test.js +1 -1
- package/dist/__tests__/headingInlineMarks.test.js +1 -1
- package/dist/__tests__/headingNumberSpans.test.d.ts +2 -0
- package/dist/__tests__/headingNumberSpans.test.d.ts.map +1 -0
- package/dist/__tests__/headingNumberSpans.test.js +96 -0
- package/dist/__tests__/headingNumberSpans.test.js.map +1 -0
- package/dist/__tests__/mathSizeMigration.test.js +2 -2
- package/dist/__tests__/multipleColumns.test.js +207 -0
- package/dist/__tests__/multipleColumns.test.js.map +1 -1
- package/dist/__tests__/parse/citations.test.js +29 -0
- package/dist/__tests__/parse/citations.test.js.map +1 -1
- package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +10 -6
- package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js.map +1 -1
- package/dist/__tests__/pipeline/calloutOverflow.test.js +4 -2
- package/dist/__tests__/pipeline/calloutOverflow.test.js.map +1 -1
- package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
- package/dist/__tests__/pipeline/calloutTallKeepTogether.test.js +6 -5
- package/dist/__tests__/pipeline/calloutTallKeepTogether.test.js.map +1 -1
- package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
- package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/floatCitingPage.test.d.ts +2 -0
- package/dist/__tests__/pipeline/floatCitingPage.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/floatCitingPage.test.js +241 -0
- package/dist/__tests__/pipeline/floatCitingPage.test.js.map +1 -0
- package/dist/__tests__/pipeline/floatOverInlineResource.test.js +18 -6
- package/dist/__tests__/pipeline/floatOverInlineResource.test.js.map +1 -1
- package/dist/__tests__/pipeline/floatPlacement.test.js +3 -3
- package/dist/__tests__/pipeline/floatPlacement.test.js.map +1 -1
- package/dist/__tests__/pipeline/flowColumns.test.d.ts +2 -0
- package/dist/__tests__/pipeline/flowColumns.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/flowColumns.test.js +261 -0
- package/dist/__tests__/pipeline/flowColumns.test.js.map +1 -0
- package/dist/__tests__/pipeline/headingKeepFitEps.test.d.ts +2 -0
- package/dist/__tests__/pipeline/headingKeepFitEps.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/headingKeepFitEps.test.js +83 -0
- package/dist/__tests__/pipeline/headingKeepFitEps.test.js.map +1 -0
- package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
- package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
- package/dist/__tests__/pipeline/inlineTableSplit.test.d.ts +2 -0
- package/dist/__tests__/pipeline/inlineTableSplit.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/inlineTableSplit.test.js +238 -0
- package/dist/__tests__/pipeline/inlineTableSplit.test.js.map +1 -0
- package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
- package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
- package/dist/__tests__/pipeline/resolvedPaletteCopy.test.js +3 -2
- package/dist/__tests__/pipeline/resolvedPaletteCopy.test.js.map +1 -1
- package/dist/__tests__/pipeline/sideBoxAfterText.test.d.ts +2 -0
- package/dist/__tests__/pipeline/sideBoxAfterText.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/sideBoxAfterText.test.js +163 -0
- package/dist/__tests__/pipeline/sideBoxAfterText.test.js.map +1 -0
- package/dist/__tests__/prepareFonts.test.d.ts +2 -0
- package/dist/__tests__/prepareFonts.test.d.ts.map +1 -0
- package/dist/__tests__/prepareFonts.test.js +358 -0
- package/dist/__tests__/prepareFonts.test.js.map +1 -0
- package/dist/__tests__/svgFonts.test.d.ts +2 -0
- package/dist/__tests__/svgFonts.test.d.ts.map +1 -0
- package/dist/__tests__/svgFonts.test.js +286 -0
- package/dist/__tests__/svgFonts.test.js.map +1 -0
- package/dist/__tests__/verseLines.test.js +1 -1
- package/dist/__tests__/vertical/measurePaint.test.js +16 -0
- package/dist/__tests__/vertical/measurePaint.test.js.map +1 -1
- package/dist/bundle/adapters.d.ts +31 -7
- package/dist/bundle/adapters.d.ts.map +1 -1
- package/dist/bundle/adapters.js +113 -34
- package/dist/bundle/adapters.js.map +1 -1
- package/dist/bundle/codec.d.ts.map +1 -1
- package/dist/bundle/codec.js +1 -0
- package/dist/bundle/codec.js.map +1 -1
- package/dist/bundle/configVersion.d.ts +127 -10
- package/dist/bundle/configVersion.d.ts.map +1 -1
- package/dist/bundle/configVersion.js +260 -9
- package/dist/bundle/configVersion.js.map +1 -1
- package/dist/bundle/index.d.ts +3 -3
- package/dist/bundle/index.d.ts.map +1 -1
- package/dist/bundle/index.js +2 -2
- package/dist/bundle/index.js.map +1 -1
- package/dist/bundle/manifest.d.ts.map +1 -1
- package/dist/bundle/manifest.js +3 -2
- package/dist/bundle/manifest.js.map +1 -1
- package/dist/bundle/types.d.ts +4 -0
- package/dist/bundle/types.d.ts.map +1 -1
- package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
- package/dist/canvas-backend/headerFooter.js +3 -1
- package/dist/canvas-backend/headerFooter.js.map +1 -1
- package/dist/columnRule.d.ts.map +1 -1
- package/dist/columnRule.js +5 -2
- package/dist/columnRule.js.map +1 -1
- package/dist/configWarnings.js +1 -1
- package/dist/configWarnings.js.map +1 -1
- package/dist/defaults/cjk.d.ts +2 -1
- package/dist/defaults/cjk.d.ts.map +1 -1
- package/dist/defaults/cjk.js +17 -1
- package/dist/defaults/cjk.js.map +1 -1
- package/dist/defaults/diagramStyle.d.ts.map +1 -1
- package/dist/defaults/diagramStyle.js +6 -0
- package/dist/defaults/diagramStyle.js.map +1 -1
- package/dist/defaults/headings.d.ts.map +1 -1
- package/dist/defaults/headings.js +3 -0
- package/dist/defaults/headings.js.map +1 -1
- package/dist/defaults/index.d.ts +1 -1
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +1 -1
- package/dist/defaults/index.js.map +1 -1
- package/dist/defaults/layout.d.ts +5 -0
- package/dist/defaults/layout.d.ts.map +1 -1
- package/dist/defaults/layout.js +32 -0
- package/dist/defaults/layout.js.map +1 -1
- package/dist/defaults/tableStyle.d.ts.map +1 -1
- package/dist/defaults/tableStyle.js +6 -0
- package/dist/defaults/tableStyle.js.map +1 -1
- package/dist/design/cjkText.d.ts +34 -0
- package/dist/design/cjkText.d.ts.map +1 -0
- package/dist/design/cjkText.js +82 -0
- package/dist/design/cjkText.js.map +1 -0
- package/dist/design/layout.d.ts.map +1 -1
- package/dist/design/layout.js +103 -5
- package/dist/design/layout.js.map +1 -1
- package/dist/design/richText.d.ts +24 -0
- package/dist/design/richText.d.ts.map +1 -1
- package/dist/design/richText.js +37 -1
- package/dist/design/richText.js.map +1 -1
- package/dist/fonts/buildWithFonts.d.ts +19 -0
- package/dist/fonts/buildWithFonts.d.ts.map +1 -0
- package/dist/fonts/buildWithFonts.js +16 -0
- package/dist/fonts/buildWithFonts.js.map +1 -0
- package/dist/fonts/faces.d.ts +88 -0
- package/dist/fonts/faces.d.ts.map +1 -0
- package/dist/fonts/faces.js +264 -0
- package/dist/fonts/faces.js.map +1 -0
- package/dist/fonts/fontSet.d.ts +34 -0
- package/dist/fonts/fontSet.d.ts.map +1 -0
- package/dist/fonts/fontSet.js +173 -0
- package/dist/fonts/fontSet.js.map +1 -0
- package/dist/fonts/prepare.d.ts +120 -0
- package/dist/fonts/prepare.d.ts.map +1 -0
- package/dist/fonts/prepare.js +375 -0
- package/dist/fonts/prepare.js.map +1 -0
- package/dist/html-backend.d.ts +17 -0
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +87 -3
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +25 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -2
- package/dist/index.js.map +1 -1
- package/dist/measure/cache.d.ts.map +1 -1
- package/dist/measure/cache.js +32 -2
- package/dist/measure/cache.js.map +1 -1
- package/dist/measure/canvas.d.ts +15 -0
- package/dist/measure/canvas.d.ts.map +1 -1
- package/dist/measure/canvas.js +68 -4
- package/dist/measure/canvas.js.map +1 -1
- package/dist/measure/cjk.d.ts.map +1 -1
- package/dist/measure/cjk.js +4 -1
- package/dist/measure/cjk.js.map +1 -1
- package/dist/measure/cjkClasses.d.ts +17 -0
- package/dist/measure/cjkClasses.d.ts.map +1 -1
- package/dist/measure/cjkClasses.js +41 -1
- package/dist/measure/cjkClasses.js.map +1 -1
- package/dist/measure/cjkCompose.d.ts.map +1 -1
- package/dist/measure/cjkCompose.js +119 -7
- package/dist/measure/cjkCompose.js.map +1 -1
- package/dist/measure/cjkPunctuation.d.ts +18 -1
- package/dist/measure/cjkPunctuation.d.ts.map +1 -1
- package/dist/measure/cjkPunctuation.js +13 -1
- package/dist/measure/cjkPunctuation.js.map +1 -1
- package/dist/measure/font.d.ts +8 -0
- package/dist/measure/font.d.ts.map +1 -1
- package/dist/measure/font.js +13 -2
- package/dist/measure/font.js.map +1 -1
- package/dist/measure/fontString.d.ts +14 -0
- package/dist/measure/fontString.d.ts.map +1 -0
- package/dist/measure/fontString.js +55 -0
- package/dist/measure/fontString.js.map +1 -0
- package/dist/measure/index.d.ts +4 -1
- package/dist/measure/index.d.ts.map +1 -1
- package/dist/measure/index.js +3 -1
- package/dist/measure/index.js.map +1 -1
- package/dist/measure/types.d.ts +4 -0
- package/dist/measure/types.d.ts.map +1 -1
- package/dist/measure/types.js.map +1 -1
- package/dist/parse/citations.d.ts.map +1 -1
- package/dist/parse/citations.js +7 -3
- package/dist/parse/citations.js.map +1 -1
- package/dist/pipeline/build.d.ts +36 -0
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +1065 -193
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
- package/dist/pipeline/buildBlockKind.js +20 -6
- package/dist/pipeline/buildBlockKind.js.map +1 -1
- package/dist/pipeline/buildMeasurement.d.ts +6 -0
- package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
- package/dist/pipeline/buildMeasurement.js +3 -2
- package/dist/pipeline/buildMeasurement.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts +59 -0
- package/dist/pipeline/calloutLayout.d.ts.map +1 -1
- package/dist/pipeline/calloutLayout.js +287 -65
- package/dist/pipeline/calloutLayout.js.map +1 -1
- package/dist/pipeline/columnBalancing.d.ts +20 -0
- package/dist/pipeline/columnBalancing.d.ts.map +1 -1
- package/dist/pipeline/columnBalancing.js +22 -4
- package/dist/pipeline/columnBalancing.js.map +1 -1
- package/dist/pipeline/columnsGroup.d.ts +61 -0
- package/dist/pipeline/columnsGroup.d.ts.map +1 -0
- package/dist/pipeline/columnsGroup.js +88 -0
- package/dist/pipeline/columnsGroup.js.map +1 -0
- package/dist/pipeline/config.d.ts +28 -0
- package/dist/pipeline/config.d.ts.map +1 -1
- package/dist/pipeline/config.js +67 -8
- package/dist/pipeline/config.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +28 -0
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/floatPlacement.d.ts +16 -2
- package/dist/pipeline/floatPlacement.d.ts.map +1 -1
- package/dist/pipeline/floatPlacement.js +12 -4
- package/dist/pipeline/floatPlacement.js.map +1 -1
- package/dist/pipeline/floatSlots.d.ts +9 -3
- package/dist/pipeline/floatSlots.d.ts.map +1 -1
- package/dist/pipeline/floatSlots.js +15 -6
- package/dist/pipeline/floatSlots.js.map +1 -1
- package/dist/pipeline/flowColumns.d.ts +41 -0
- package/dist/pipeline/flowColumns.d.ts.map +1 -0
- package/dist/pipeline/flowColumns.js +116 -0
- package/dist/pipeline/flowColumns.js.map +1 -0
- package/dist/pipeline/measureContentBlock.d.ts +13 -1
- package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
- package/dist/pipeline/measureContentBlock.js +20 -5
- package/dist/pipeline/measureContentBlock.js.map +1 -1
- package/dist/pipeline/partPalette.d.ts +3 -0
- package/dist/pipeline/partPalette.d.ts.map +1 -1
- package/dist/pipeline/partPalette.js +5 -0
- package/dist/pipeline/partPalette.js.map +1 -1
- package/dist/pipeline/placement.d.ts +19 -0
- package/dist/pipeline/placement.d.ts.map +1 -1
- package/dist/pipeline/placement.js +5 -2
- package/dist/pipeline/placement.js.map +1 -1
- package/dist/pipeline/resourceLayout.d.ts +26 -0
- package/dist/pipeline/resourceLayout.d.ts.map +1 -1
- package/dist/pipeline/resourceLayout.js +53 -3
- package/dist/pipeline/resourceLayout.js.map +1 -1
- package/dist/pipeline/toc.d.ts.map +1 -1
- package/dist/pipeline/toc.js +6 -1
- package/dist/pipeline/toc.js.map +1 -1
- package/dist/svg/fontRegistry.d.ts +66 -0
- package/dist/svg/fontRegistry.d.ts.map +1 -0
- package/dist/svg/fontRegistry.js +294 -0
- package/dist/svg/fontRegistry.js.map +1 -0
- package/dist/svg/fonts.d.ts +140 -0
- package/dist/svg/fonts.d.ts.map +1 -0
- package/dist/svg/fonts.js +642 -0
- package/dist/svg/fonts.js.map +1 -0
- package/dist/svg/image.d.ts +44 -0
- package/dist/svg/image.d.ts.map +1 -0
- package/dist/svg/image.js +67 -0
- package/dist/svg/image.js.map +1 -0
- package/dist/types.d.ts +138 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/util/stableHash.d.ts +20 -0
- package/dist/util/stableHash.d.ts.map +1 -0
- package/dist/util/stableHash.js +59 -0
- package/dist/util/stableHash.js.map +1 -0
- package/dist/vdt.d.ts +118 -3
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js.map +1 -1
- package/dist/worker/client.d.ts +8 -0
- package/dist/worker/client.d.ts.map +1 -1
- package/dist/worker/client.js +22 -0
- package/dist/worker/client.js.map +1 -1
- package/dist/worker/fonts.d.ts +1 -13
- package/dist/worker/fonts.d.ts.map +1 -1
- package/dist/worker/fonts.js +3 -61
- package/dist/worker/fonts.js.map +1 -1
- package/dist/worker/layout.worker.js +23 -16
- package/dist/worker/layout.worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fonts.js","sourceRoot":"","sources":["../../src/svg/fonts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { SvgPictureFontWarning } from '../vdt';
|
|
2
|
+
import { type InlineSvgFontsOptions, type SvgFontInlining, type SvgFontProvider, type SvgFontWarning } from './fonts';
|
|
3
|
+
export interface PrepareSvgOptions extends Omit<InlineSvgFontsOptions, 'onWarning'> {
|
|
4
|
+
/** Where the faces come from. Default {@link registeredFontProvider}
|
|
5
|
+
* (what `loadBundleFonts` and `registerFontBytes` registered, then the
|
|
6
|
+
* page's `@font-face` rules). */
|
|
7
|
+
fonts?: SvgFontProvider;
|
|
8
|
+
/** Embed the faces at all. Default true; false leaves the markup as it
|
|
9
|
+
* is (`resources[].svg.inlineFonts: false`,
|
|
10
|
+
* `diagramStyle.inlineFonts: false`). */
|
|
11
|
+
inlineFonts?: boolean;
|
|
12
|
+
/** Recolour to this ink first (`diagramStyle.singleInk`), with
|
|
13
|
+
* `applySingleInkToSvg`. */
|
|
14
|
+
inkHex?: string | null;
|
|
15
|
+
/** The picture's ids, carried by the warnings. */
|
|
16
|
+
fileId?: string;
|
|
17
|
+
resourceId?: string;
|
|
18
|
+
/** Told of a family with no face and of the size cap. */
|
|
19
|
+
onWarning?: (warning: SvgPictureFontWarning) => void;
|
|
20
|
+
}
|
|
21
|
+
/** Turn an inliner warning into the one a host reports. */
|
|
22
|
+
export declare function svgPictureFontWarning(w: SvgFontWarning, fileId: string, resourceId?: string): SvgPictureFontWarning;
|
|
23
|
+
/** SVG markup as an image should get it: recoloured to `inkHex` when
|
|
24
|
+
* given, then with the faces its text names inlined (unless
|
|
25
|
+
* `inlineFonts` is false). Never store the result: it carries font
|
|
26
|
+
* files. */
|
|
27
|
+
export declare function prepareSvgMarkup(svgText: string, options?: PrepareSvgOptions): Promise<SvgFontInlining>;
|
|
28
|
+
/** Decode SVG markup into an `<img>`. Browser only. */
|
|
29
|
+
export declare function decodeSvgImage(svgText: string): Promise<HTMLImageElement>;
|
|
30
|
+
export type RegisterSvgImageOptions = Omit<PrepareSvgOptions, 'fileId'>;
|
|
31
|
+
/**
|
|
32
|
+
* Prepare SVG markup ({@link prepareSvgMarkup}: single ink, then the
|
|
33
|
+
* document's fonts inlined), decode it and register it with the canvas
|
|
34
|
+
* backend as a vector source. A picture recoloured here is registered
|
|
35
|
+
* with `singleInk: false`, so the canvas never tints it again. Resolves
|
|
36
|
+
* to what became of each face. Browser only.
|
|
37
|
+
*
|
|
38
|
+
* ```ts
|
|
39
|
+
* await loadBundleFonts(bundle); // or registerFontBytes(…)
|
|
40
|
+
* await registerSvgImage('chart.svg', svgText);
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function registerSvgImage(fileId: string, svgText: string, options?: RegisterSvgImageOptions): Promise<SvgFontInlining>;
|
|
44
|
+
//# sourceMappingURL=image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/svg/image.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAEpD,OAAO,EAA0B,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9I,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC;IACjF;;sCAEkC;IAClC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;8CAE0C;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;iCAC6B;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACtD;AAED,2DAA2D;AAC3D,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAKnH;AAED;;;aAGa;AACb,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,CAS7G;AAED,uDAAuD;AACvD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAe/E;AAED,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAExE;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CAKnI"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// SVG pictures ready for an image: recoloured for single ink, then their
|
|
2
|
+
// fonts inlined (#630), then decoded and registered for the canvas.
|
|
3
|
+
import { registerResourceImage } from '../canvas-backend/renderResourceBlock';
|
|
4
|
+
import { applySingleInkToSvg } from './singleInk';
|
|
5
|
+
import { inlineSvgFontsDetailed } from './fonts';
|
|
6
|
+
import { registeredFontProvider } from './fontRegistry';
|
|
7
|
+
/** Turn an inliner warning into the one a host reports. */
|
|
8
|
+
export function svgPictureFontWarning(w, fileId, resourceId) {
|
|
9
|
+
const ids = { fileId, ...(resourceId !== undefined ? { resourceId } : {}) };
|
|
10
|
+
return w.kind === 'svgFontUnavailable'
|
|
11
|
+
? { kind: 'svgFontUnavailable', ...ids, family: w.family, weight: w.weight, style: w.style }
|
|
12
|
+
: { kind: 'svgFontsTooLarge', ...ids, bytes: w.bytes, maxBytes: w.maxBytes };
|
|
13
|
+
}
|
|
14
|
+
/** SVG markup as an image should get it: recoloured to `inkHex` when
|
|
15
|
+
* given, then with the faces its text names inlined (unless
|
|
16
|
+
* `inlineFonts` is false). Never store the result: it carries font
|
|
17
|
+
* files. */
|
|
18
|
+
export async function prepareSvgMarkup(svgText, options) {
|
|
19
|
+
let svg = svgText;
|
|
20
|
+
if (options?.inkHex)
|
|
21
|
+
svg = applySingleInkToSvg(svg, options.inkHex);
|
|
22
|
+
if (options?.inlineFonts === false)
|
|
23
|
+
return { svg, faces: [], bytes: 0 };
|
|
24
|
+
const fileId = options?.fileId ?? '';
|
|
25
|
+
return inlineSvgFontsDetailed(svg, options?.fonts ?? registeredFontProvider(), {
|
|
26
|
+
...options,
|
|
27
|
+
onWarning: options?.onWarning ? (w) => options.onWarning(svgPictureFontWarning(w, fileId, options.resourceId)) : undefined,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/** Decode SVG markup into an `<img>`. Browser only. */
|
|
31
|
+
export async function decodeSvgImage(svgText) {
|
|
32
|
+
const img = new Image();
|
|
33
|
+
const objectUrl = typeof URL !== 'undefined' && typeof URL.createObjectURL === 'function'
|
|
34
|
+
? URL.createObjectURL(new Blob([svgText], { type: 'image/svg+xml' }))
|
|
35
|
+
: null;
|
|
36
|
+
try {
|
|
37
|
+
await new Promise((resolve, reject) => {
|
|
38
|
+
img.onload = () => resolve();
|
|
39
|
+
img.onerror = () => reject(new Error('SVG decode failed'));
|
|
40
|
+
img.src = objectUrl ?? `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svgText)}`;
|
|
41
|
+
});
|
|
42
|
+
return img;
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
if (objectUrl)
|
|
46
|
+
URL.revokeObjectURL(objectUrl);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Prepare SVG markup ({@link prepareSvgMarkup}: single ink, then the
|
|
51
|
+
* document's fonts inlined), decode it and register it with the canvas
|
|
52
|
+
* backend as a vector source. A picture recoloured here is registered
|
|
53
|
+
* with `singleInk: false`, so the canvas never tints it again. Resolves
|
|
54
|
+
* to what became of each face. Browser only.
|
|
55
|
+
*
|
|
56
|
+
* ```ts
|
|
57
|
+
* await loadBundleFonts(bundle); // or registerFontBytes(…)
|
|
58
|
+
* await registerSvgImage('chart.svg', svgText);
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export async function registerSvgImage(fileId, svgText, options) {
|
|
62
|
+
const prepared = await prepareSvgMarkup(svgText, { ...options, fileId });
|
|
63
|
+
const img = await decodeSvgImage(prepared.svg);
|
|
64
|
+
registerResourceImage(fileId, img, { vector: true, ...(options?.inkHex ? { singleInk: false } : {}) });
|
|
65
|
+
return prepared;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/svg/image.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -137,6 +137,23 @@ export interface ResourcePlacement {
|
|
|
137
137
|
* again (rounded up to whole grid lines). Default `layout.wrap.gap`,
|
|
138
138
|
* else one body line, the float gap. */
|
|
139
139
|
wrapGap?: Dimension;
|
|
140
|
+
/** Let a `'top'` or `'auto'` float head the page (a page-span float) or
|
|
141
|
+
* the column (a column float, across {@link columns} too) where the line
|
|
142
|
+
* that first cites it lands, as LaTeX's `t` placement does, instead of
|
|
143
|
+
* the first free slot after that line (#633). The text above the
|
|
144
|
+
* reference moves down under it. It takes that head only when it fits
|
|
145
|
+
* there within `layout.maxTopFraction` of the column, when the earlier
|
|
146
|
+
* floats of its numbering sequence are already set, when the page is
|
|
147
|
+
* not the first of a chapter or the page after a forced break (an
|
|
148
|
+
* opener, a part, a `:::pagebreak`), and when nothing spanning the page
|
|
149
|
+
* (a heading, a box) stands above the citing line; and only when, so
|
|
150
|
+
* set, the citing line still lands on that page (that column). The
|
|
151
|
+
* engine settles this over a few extra placement passes; a float that
|
|
152
|
+
* does not qualify takes its usual slot. Rotated floats, side-column
|
|
153
|
+
* floats and the rest of a table split across pages never do. Default:
|
|
154
|
+
* the type's `defaultPlacement`, then `layout.floatsAtCitingPage`, then
|
|
155
|
+
* `false`. */
|
|
156
|
+
citingPage?: boolean;
|
|
140
157
|
}
|
|
141
158
|
/** The side of its column a resource or a box sits on with text running
|
|
142
159
|
* beside it (see `ResourcePlacement.wrap`, #627). */
|
|
@@ -456,6 +473,12 @@ export interface Resource {
|
|
|
456
473
|
* `diagramStyle.singleInk` is on, since the recolouring pass only
|
|
457
474
|
* operates on SVG markup. */
|
|
458
475
|
pdfFileId?: string;
|
|
476
|
+
/** `false` keeps the markup byte-identical when the picture is shown as
|
|
477
|
+
* an image: no `@font-face` is added for the families its text names
|
|
478
|
+
* (`diagramStyle.inlineFonts`), for an SVG that carries its faces
|
|
479
|
+
* already or must stay as it is. Default: the document's
|
|
480
|
+
* `diagramStyle.inlineFonts` (on). */
|
|
481
|
+
inlineFonts?: boolean;
|
|
459
482
|
};
|
|
460
483
|
/** Present when `kind === 'table'`. */
|
|
461
484
|
table?: {
|
|
@@ -965,6 +988,18 @@ export interface LayoutConfig {
|
|
|
965
988
|
* default width (see {@link TextWrapConfig}). A resource opts in with
|
|
966
989
|
* `placement.wrap`, a box with its `wrap` attribute. */
|
|
967
990
|
wrap?: TextWrapConfig;
|
|
991
|
+
/** The document default of `placement.citingPage` (#633): a `'top'` or
|
|
992
|
+
* `'auto'` float may head the page or column where its citing line
|
|
993
|
+
* lands, the text above the reference moving down under it. A
|
|
994
|
+
* resource's placement, then its type's `defaultPlacement`, override
|
|
995
|
+
* it. Default `false`: a float takes the first free slot after the line
|
|
996
|
+
* that cites it. */
|
|
997
|
+
floatsAtCitingPage?: boolean;
|
|
998
|
+
/** The largest share of a column's height, 0 to 1, a float set at the
|
|
999
|
+
* head of the page or column that cites it (`placement.citingPage`) may
|
|
1000
|
+
* take with the floats already standing there, so the page keeps some
|
|
1001
|
+
* room for its text (LaTeX's `\topfraction`). Default 0.7. */
|
|
1002
|
+
maxTopFraction?: number;
|
|
968
1003
|
/** On the closing page of a chapter (and of the document), move the
|
|
969
1004
|
* page-wide figures and tables set below the last band of text up to sit
|
|
970
1005
|
* one float gap under it, stacked in their order, instead of at the page
|
|
@@ -973,6 +1008,19 @@ export interface LayoutConfig {
|
|
|
973
1008
|
* the page foot on the closing page as on every other page. Pages with a
|
|
974
1009
|
* side column never move them. */
|
|
975
1010
|
hugClosingFloats?: boolean;
|
|
1011
|
+
/** Under a page-span opener (a heading level or style with
|
|
1012
|
+
* `span: 'page'`) set over two or more text columns, the head of the
|
|
1013
|
+
* opener's own column, right under its band, is a slot for a `'top'` or
|
|
1014
|
+
* `'auto'` float, of one column or of several from it, level with the
|
|
1015
|
+
* heads of the other columns of the band (#639): a floated box fenced
|
|
1016
|
+
* right after the opener, or a resource embedded there, sits under the
|
|
1017
|
+
* opener in the first column and the column's text starts under it.
|
|
1018
|
+
* Default `true`. `false` keeps the rule of postext 1.24 and earlier:
|
|
1019
|
+
* the opener's column offers no head slot, so such a float lands from
|
|
1020
|
+
* the second column on. A configuration stored by an earlier version is
|
|
1021
|
+
* read with `false` when it sets a page-span heading (see
|
|
1022
|
+
* `migrateConfig` in `postext/bundle`). */
|
|
1023
|
+
floatsUnderOpener?: boolean;
|
|
976
1024
|
/** Where an inline resource (`placement.position: 'here'`, embedded with
|
|
977
1025
|
* `::resource`) keeps the float gap, a line: `'around'` keeps it above
|
|
978
1026
|
* and below the resource, and the text after it goes back onto the
|
|
@@ -994,6 +1042,16 @@ export interface LayoutConfig {
|
|
|
994
1042
|
* version is read with `false` when its chapters embed a resource (see
|
|
995
1043
|
* `migrateConfig` in `postext/bundle`). */
|
|
996
1044
|
inlineResourceGapInBoxes?: boolean;
|
|
1045
|
+
/** `:::columns` groups in the running text and groups that split (#634):
|
|
1046
|
+
* a `:::columns` fence outside a box sets its blocks in sub-columns of
|
|
1047
|
+
* the text column (or, with `span="page"`, across the page), and a
|
|
1048
|
+
* group, in a box or in the text, is cut between its sub-columns when
|
|
1049
|
+
* the box goes on in the next column or page. Default `true`. `false`
|
|
1050
|
+
* keeps the rules of postext 1.24 and earlier: a fence outside a box is
|
|
1051
|
+
* ignored and a box never cuts inside a group. A configuration stored
|
|
1052
|
+
* by an earlier version is read with `false` when its chapters hold a
|
|
1053
|
+
* `:::columns` fence (see `migrateConfig` in `postext/bundle`). */
|
|
1054
|
+
flowColumns?: boolean;
|
|
997
1055
|
/** Fewest lines of a paragraph or list item that a cut inside it leaves
|
|
998
1056
|
* on each side when a box splits (see `CalloutStyleConfig.splitMinLines`,
|
|
999
1057
|
* which still counts every line on each side of the cut). A whole number,
|
|
@@ -1057,9 +1115,13 @@ export interface ResolvedLayoutConfig {
|
|
|
1057
1115
|
minScale: number;
|
|
1058
1116
|
};
|
|
1059
1117
|
wrap: ResolvedTextWrapConfig;
|
|
1118
|
+
floatsAtCitingPage: boolean;
|
|
1119
|
+
maxTopFraction: number;
|
|
1060
1120
|
hugClosingFloats: boolean;
|
|
1121
|
+
floatsUnderOpener: boolean;
|
|
1061
1122
|
inlineResourceGap: InlineResourceGap;
|
|
1062
1123
|
inlineResourceGapInBoxes: boolean;
|
|
1124
|
+
flowColumns: boolean;
|
|
1063
1125
|
boxChildSplitMinLines: number;
|
|
1064
1126
|
writingMode: WritingMode;
|
|
1065
1127
|
}
|
|
@@ -2061,6 +2123,14 @@ export interface TableStyleConfig {
|
|
|
2061
2123
|
* it on the following pages (`'split'`, the default), keep only the rows
|
|
2062
2124
|
* that fit (`'clip'`), or leave it out (`'hide'`). See {@link TableOverflow}. */
|
|
2063
2125
|
overflow?: TableOverflow;
|
|
2126
|
+
/** Apply {@link overflow} to tables placed `here` too (#634): an inline
|
|
2127
|
+
* table that does not fit the room left in its column is cut between
|
|
2128
|
+
* rows and goes on at the head of the next column, before the text
|
|
2129
|
+
* after it (`'split'`); one taller than a column keeps its leading
|
|
2130
|
+
* rows (`'clip'`) or is left out (`'hide'`). `false` keeps the rule of
|
|
2131
|
+
* postext 1.24 and earlier: an inline table moves whole to the next
|
|
2132
|
+
* column. Default `true`. */
|
|
2133
|
+
splitInline?: boolean;
|
|
2064
2134
|
/** Suffix appended to the caption of every continuation slice of a split
|
|
2065
2135
|
* table (e.g. "Table 6-4. Title *(cont.)*"). Defaults to `"(cont.)"`. */
|
|
2066
2136
|
continuedSuffix?: string;
|
|
@@ -2135,6 +2205,7 @@ export interface ResolvedTableStyleConfig {
|
|
|
2135
2205
|
groupRules: boolean;
|
|
2136
2206
|
continuedFootRule: TableContinuedFootRule;
|
|
2137
2207
|
overflow: TableOverflow;
|
|
2208
|
+
splitInline: boolean;
|
|
2138
2209
|
continuedSuffix: string;
|
|
2139
2210
|
continuesMarkerEnabled: boolean;
|
|
2140
2211
|
continuesMarker: string;
|
|
@@ -2236,10 +2307,18 @@ export interface DiagramStyleConfig {
|
|
|
2236
2307
|
singleInk?: boolean;
|
|
2237
2308
|
/** The ink. Defaults to the document's main palette colour. */
|
|
2238
2309
|
inkColor?: ColorValue;
|
|
2310
|
+
/** Embed the faces an SVG's text names (`font-family`) in the picture as
|
|
2311
|
+
* `@font-face` data URIs before it is shown as an image (canvas, HTML,
|
|
2312
|
+
* EPUB, the PDF's raster fallback), so its labels are set in the
|
|
2313
|
+
* document's fonts: an image cannot see the page's web fonts. Never
|
|
2314
|
+
* written into the stored file. A resource opts out with
|
|
2315
|
+
* `svg.inlineFonts: false`. Default `true`. */
|
|
2316
|
+
inlineFonts?: boolean;
|
|
2239
2317
|
}
|
|
2240
2318
|
export interface ResolvedDiagramStyleConfig {
|
|
2241
2319
|
singleInk: boolean;
|
|
2242
2320
|
inkColor: ColorValue;
|
|
2321
|
+
inlineFonts: boolean;
|
|
2243
2322
|
}
|
|
2244
2323
|
/** Where an overlay sits on a video's poster: the centre, a corner or the
|
|
2245
2324
|
* middle of a side. The positions are physical: `top-right` is the top
|
|
@@ -3584,6 +3663,10 @@ export interface HeadingsConfig {
|
|
|
3584
3663
|
levels?: HeadingLevelConfig[];
|
|
3585
3664
|
}
|
|
3586
3665
|
export interface ColumnBalancingConfig {
|
|
3666
|
+
/** Default `true`, except in vertical text (`layout.writingMode:
|
|
3667
|
+
* 'vertical-rl'`) and on a character grid (`cjk.grid.enabled`, #632),
|
|
3668
|
+
* where columns are filled line by line and a column that ends short is
|
|
3669
|
+
* left short unless the configuration sets `true` itself. */
|
|
3587
3670
|
enabled?: boolean;
|
|
3588
3671
|
/** Maximum extra grid lines that may be added above a single heading. */
|
|
3589
3672
|
maxLinesPerHeading?: number;
|
|
@@ -3658,10 +3741,22 @@ export interface ColumnBalancingConfig {
|
|
|
3658
3741
|
* the last line of the column beside it; `'off'` leaves it where it is
|
|
3659
3742
|
* there too. Any other value reads as `'first'`. */
|
|
3660
3743
|
closingBox?: ClosingBoxLever;
|
|
3744
|
+
/** On a character grid (`cjk.grid.enabled`, #632): whether the levers
|
|
3745
|
+
* that add whole grid lines — above a heading, where a list ends, under
|
|
3746
|
+
* a display or a box, under a float band — may run. They keep every
|
|
3747
|
+
* character in its cell (the baseline grid is the grid's line pitch),
|
|
3748
|
+
* but a standard that counts the lines of a page (GB/T 9704: 22 lines
|
|
3749
|
+
* of 28 characters) has no empty rows to give: `'off'` keeps them out
|
|
3750
|
+
* and leaves the other levers. Off the grid it has no effect. Default
|
|
3751
|
+
* `'allow'`; any other value reads as `'allow'`. */
|
|
3752
|
+
gridLines?: GridLinesLever;
|
|
3661
3753
|
}
|
|
3662
3754
|
/** Where the column-balancing lever of a box closing a column runs
|
|
3663
3755
|
* (`ColumnBalancingConfig.closingBox`). */
|
|
3664
3756
|
export type ClosingBoxLever = 'first' | 'last' | 'off';
|
|
3757
|
+
/** Whether the whole-line balancing levers run on a character grid
|
|
3758
|
+
* (`ColumnBalancingConfig.gridLines`). */
|
|
3759
|
+
export type GridLinesLever = 'allow' | 'off';
|
|
3665
3760
|
/** How a paragraph kept with the heading above it splits at a column's foot
|
|
3666
3761
|
* (`HeadingsConfig.keepWithNextSplit`). */
|
|
3667
3762
|
export type KeepWithNextSplit = 'rules' | 'fill';
|
|
@@ -3693,6 +3788,9 @@ export interface ResolvedHeadingsConfig {
|
|
|
3693
3788
|
trailing: boolean;
|
|
3694
3789
|
beforeSpan: boolean;
|
|
3695
3790
|
closingBox: ClosingBoxLever;
|
|
3791
|
+
/** Present only when `'off'` (#632): every other configuration
|
|
3792
|
+
* resolves as before. */
|
|
3793
|
+
gridLines?: 'off';
|
|
3696
3794
|
};
|
|
3697
3795
|
levels: ResolvedHeadingLevelConfig[];
|
|
3698
3796
|
}
|
|
@@ -4618,6 +4716,35 @@ export interface CjkConfig {
|
|
|
4618
4716
|
* picture books) and Korean. Default `'normal'`. A paragraph style may
|
|
4619
4717
|
* set its own (`ParagraphStyleConfig.wordBreak`). */
|
|
4620
4718
|
wordBreak?: CjkWordBreak;
|
|
4719
|
+
/** Book titles kept from one-character breaks (#637): a line breaks
|
|
4720
|
+
* inside a `《…》` or `〈…〉` title (and inside a `:book[…]` title) only
|
|
4721
|
+
* where at least this many of its characters stand on either side of
|
|
4722
|
+
* the break, so a title of up to twice this less one never breaks.
|
|
4723
|
+
* When no other break fits the line, the line breaks inside the title
|
|
4724
|
+
* anyway, as the level allows, rather than run past the measure.
|
|
4725
|
+
* Default `2`; `1` lets a line break anywhere the level allows (as up
|
|
4726
|
+
* to postext 1.24). */
|
|
4727
|
+
titleMinChars?: number;
|
|
4728
|
+
/** How the circled, parenthesized and full-stop numbers and letters are
|
|
4729
|
+
* set in a CJK paragraph (①–⑳, ⑴–⒇, ⒈–⒛, ⓐ–ⓩ, ❶–❿, ➀–➓; #637).
|
|
4730
|
+
* `'cjk'` (the default): as Chinese characters, one cell with no
|
|
4731
|
+
* Han–Latin space around them, and a line never ends on one (it labels
|
|
4732
|
+
* the text after it) at the levels that keep a currency sign off a
|
|
4733
|
+
* line end: every one but `none` and `ja-loose`.
|
|
4734
|
+
* `'western'`: as Western letters, as up to postext 1.24: the Han–Latin
|
|
4735
|
+
* space on both sides and a line may end on one. Vertical text sets
|
|
4736
|
+
* them upright either way. */
|
|
4737
|
+
circledNumbers?: 'cjk' | 'western';
|
|
4738
|
+
/** Whether a design text in Chinese or Japanese (a heading design or an
|
|
4739
|
+
* opener, a running head, a page design, a part page) is set with the
|
|
4740
|
+
* CJK rules of the body (#637): the line-start and line-end rules of
|
|
4741
|
+
* `lineBreak`, the mark widths of `punctuationWidth` and
|
|
4742
|
+
* `compressAdjacent`, `latinSpacing`, `hangingPunctuation` and the title
|
|
4743
|
+
* rule. Default `true`; `false` wraps it at spaces and sets every mark
|
|
4744
|
+
* at the font's own advance, as up to postext 1.24. A text that holds
|
|
4745
|
+
* no CJK, or more word spaces than CJK letters, is wrapped as Latin
|
|
4746
|
+
* text either way. */
|
|
4747
|
+
composeDesignText?: boolean;
|
|
4621
4748
|
/** The space set between a Han character (or kana) and a Latin letter or
|
|
4622
4749
|
* a European digit next to it (`用 iPhone 拍照`), in em of the CJK
|
|
4623
4750
|
* text's size or any length. Default `{ value: 0.25, unit: 'em' }`; `0`
|
|
@@ -4931,6 +5058,14 @@ export interface ResolvedCjkConfig {
|
|
|
4931
5058
|
/** Set only when `'keep-all'`: absent, lines break between any two
|
|
4932
5059
|
* characters (`normal`). */
|
|
4933
5060
|
wordBreak?: 'keep-all';
|
|
5061
|
+
/** Characters of a book title kept on either side of a break (1 or
|
|
5062
|
+
* more). */
|
|
5063
|
+
titleMinChars: number;
|
|
5064
|
+
/** Set only when `'western'`: absent, circled numbers are set as Chinese
|
|
5065
|
+
* characters. */
|
|
5066
|
+
circledNumbers?: 'western';
|
|
5067
|
+
/** Set (false) only when off: absent, CJK design text is composed. */
|
|
5068
|
+
composeDesignText?: false;
|
|
4934
5069
|
latinSpacing: Dimension;
|
|
4935
5070
|
uprightDigits: 0 | 2 | 3 | 4;
|
|
4936
5071
|
grid: ResolvedCjkGridConfig;
|
|
@@ -5626,8 +5761,9 @@ export interface HeadingStyleConfig extends Omit<HeadingLevelConfig, 'level' | '
|
|
|
5626
5761
|
* Only its page geometry is read from it (`layoutType`, `gutterWidth`,
|
|
5627
5762
|
* the side column, `columnRule`), plus its `fitFiguresToPage` when a
|
|
5628
5763
|
* figure could move from an empty column cut short to a whole one;
|
|
5629
|
-
* `inlineResourceGap`, `inlineResourceGapInBoxes`,
|
|
5630
|
-
* `boxChildSplitMinLines` and `
|
|
5764
|
+
* `inlineResourceGap`, `inlineResourceGapInBoxes`, `flowColumns`,
|
|
5765
|
+
* `boxChildSplitMinLines`, `hugClosingFloats` and `floatsUnderOpener`
|
|
5766
|
+
* stay the document's,
|
|
5631
5767
|
* and so does the `fitFiguresToPage` that shrinks figures.
|
|
5632
5768
|
* Unset, the section uses the document's `layout`. */
|
|
5633
5769
|
layout?: LayoutConfig;
|