postext 1.29.1 → 1.30.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__/arabicLocale.test.js +5 -5
- package/dist/__tests__/arabicLocale.test.js.map +1 -1
- package/dist/__tests__/bundle/balloonPlacementPin.test.js +5 -4
- package/dist/__tests__/bundle/balloonPlacementPin.test.js.map +1 -1
- package/dist/__tests__/bundle/cjkRulesPin.test.js +8 -6
- package/dist/__tests__/bundle/cjkRulesPin.test.js.map +1 -1
- package/dist/__tests__/bundle/designOverflowPin.test.js +1 -1
- package/dist/__tests__/bundle/flowColumnsPin.test.js +4 -3
- package/dist/__tests__/bundle/flowColumnsPin.test.js.map +1 -1
- package/dist/__tests__/bundle/gridBalancingPin.test.js +5 -4
- package/dist/__tests__/bundle/gridBalancingPin.test.js.map +1 -1
- package/dist/__tests__/bundle/gridBreakRulesPin.test.js +14 -10
- package/dist/__tests__/bundle/gridBreakRulesPin.test.js.map +1 -1
- package/dist/__tests__/bundle/indexGroupSplitPin.test.js +4 -3
- package/dist/__tests__/bundle/indexGroupSplitPin.test.js.map +1 -1
- package/dist/__tests__/bundle/looseOrderPin.test.js +5 -4
- package/dist/__tests__/bundle/looseOrderPin.test.js.map +1 -1
- package/dist/__tests__/bundle/refLabelBreaksPin.test.js +5 -4
- package/dist/__tests__/bundle/refLabelBreaksPin.test.js.map +1 -1
- package/dist/__tests__/bundle/scriptContextPin.test.js +6 -5
- package/dist/__tests__/bundle/scriptContextPin.test.js.map +1 -1
- package/dist/__tests__/bundle/shapingLanguagePin.test.js +142 -46
- package/dist/__tests__/bundle/shapingLanguagePin.test.js.map +1 -1
- package/dist/__tests__/bundle/taskBoxPin.test.js +1 -1
- package/dist/__tests__/bundle/trailingStepPin.test.js +4 -3
- package/dist/__tests__/bundle/trailingStepPin.test.js.map +1 -1
- package/dist/__tests__/bundle/wideFloatStretchPin.test.js +4 -3
- package/dist/__tests__/bundle/wideFloatStretchPin.test.js.map +1 -1
- package/dist/__tests__/bundle.test.js +1 -1
- package/dist/__tests__/cellText.test.d.ts +2 -0
- package/dist/__tests__/cellText.test.d.ts.map +1 -0
- package/dist/__tests__/cellText.test.js +281 -0
- package/dist/__tests__/cellText.test.js.map +1 -0
- package/dist/__tests__/chineseLocale.test.js +24 -7
- package/dist/__tests__/chineseLocale.test.js.map +1 -1
- package/dist/__tests__/cjk/japaneseHtml.test.js +3 -3
- package/dist/__tests__/cjk/japaneseHtml.test.js.map +1 -1
- package/dist/__tests__/cjk/japaneseRuby.test.js +1 -1
- package/dist/__tests__/cjk/japaneseRuby.test.js.map +1 -1
- package/dist/__tests__/cjk/japaneseSegmentLanguage.test.js +3 -3
- package/dist/__tests__/cjk/japaneseSegmentLanguage.test.js.map +1 -1
- package/dist/__tests__/codeBlocks.test.js +1 -1
- package/dist/__tests__/contextState.test.d.ts +2 -0
- package/dist/__tests__/contextState.test.d.ts.map +1 -0
- package/dist/__tests__/contextState.test.js +478 -0
- package/dist/__tests__/contextState.test.js.map +1 -0
- package/dist/__tests__/contextText.test.d.ts +2 -0
- package/dist/__tests__/contextText.test.d.ts.map +1 -0
- package/dist/__tests__/contextText.test.js +371 -0
- package/dist/__tests__/contextText.test.js.map +1 -0
- package/dist/__tests__/design/designTextRender.test.js +8 -1
- package/dist/__tests__/design/designTextRender.test.js.map +1 -1
- package/dist/__tests__/exports.test.js +6 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/fontUsage.test.js +40 -0
- package/dist/__tests__/fontUsage.test.js.map +1 -1
- package/dist/__tests__/hardBreaks.test.js +1 -1
- package/dist/__tests__/headingInlineMarks.test.js +1 -1
- package/dist/__tests__/html-backend.test.js +6 -2
- package/dist/__tests__/html-backend.test.js.map +1 -1
- package/dist/__tests__/japaneseNotes.test.js +4 -2
- package/dist/__tests__/japaneseNotes.test.js.map +1 -1
- package/dist/__tests__/lineEndPieces.test.d.ts +2 -0
- package/dist/__tests__/lineEndPieces.test.d.ts.map +1 -0
- package/dist/__tests__/lineEndPieces.test.js +374 -0
- package/dist/__tests__/lineEndPieces.test.js.map +1 -0
- package/dist/__tests__/mathSizeMigration.test.js +2 -2
- package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +1 -1
- package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +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/headingSplitOrphans.test.js +1 -1
- package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
- package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
- package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
- package/dist/__tests__/plainGeminateHead.test.d.ts +2 -0
- package/dist/__tests__/plainGeminateHead.test.d.ts.map +1 -0
- package/dist/__tests__/plainGeminateHead.test.js +92 -0
- package/dist/__tests__/plainGeminateHead.test.js.map +1 -0
- package/dist/__tests__/presets/showcaseShapingLanguage.test.d.ts +2 -0
- package/dist/__tests__/presets/showcaseShapingLanguage.test.d.ts.map +1 -0
- package/dist/__tests__/presets/showcaseShapingLanguage.test.js +52 -0
- package/dist/__tests__/presets/showcaseShapingLanguage.test.js.map +1 -0
- package/dist/__tests__/reshapedTracking.test.d.ts +2 -0
- package/dist/__tests__/reshapedTracking.test.d.ts.map +1 -0
- package/dist/__tests__/reshapedTracking.test.js +358 -0
- package/dist/__tests__/reshapedTracking.test.js.map +1 -0
- package/dist/__tests__/rtl/designRunsPainted.test.d.ts +2 -0
- package/dist/__tests__/rtl/designRunsPainted.test.d.ts.map +1 -0
- package/dist/__tests__/rtl/designRunsPainted.test.js +184 -0
- package/dist/__tests__/rtl/designRunsPainted.test.js.map +1 -0
- package/dist/__tests__/rtl/designTextPaint.test.js +5 -1
- package/dist/__tests__/rtl/designTextPaint.test.js.map +1 -1
- package/dist/__tests__/rtl/htmlRtl.test.js +3 -3
- package/dist/__tests__/rtl/htmlRtl.test.js.map +1 -1
- package/dist/__tests__/rtl/listMarkerDirection.test.js +28 -28
- package/dist/__tests__/rtl/listMarkerDirection.test.js.map +1 -1
- package/dist/__tests__/rtl/tocNumberPainted.test.d.ts +2 -0
- package/dist/__tests__/rtl/tocNumberPainted.test.d.ts.map +1 -0
- package/dist/__tests__/rtl/tocNumberPainted.test.js +113 -0
- package/dist/__tests__/rtl/tocNumberPainted.test.js.map +1 -0
- package/dist/__tests__/scriptContext.test.js +141 -1
- package/dist/__tests__/scriptContext.test.js.map +1 -1
- package/dist/__tests__/shapingLanguage.test.js +60 -43
- package/dist/__tests__/shapingLanguage.test.js.map +1 -1
- package/dist/__tests__/trackedLetters.test.d.ts +2 -0
- package/dist/__tests__/trackedLetters.test.d.ts.map +1 -0
- package/dist/__tests__/trackedLetters.test.js +380 -0
- package/dist/__tests__/trackedLetters.test.js.map +1 -0
- package/dist/__tests__/trackedLigatures.test.js +23 -10
- package/dist/__tests__/trackedLigatures.test.js.map +1 -1
- package/dist/__tests__/verseLines.test.js +1 -1
- package/dist/__tests__/wordCacheOrder.test.d.ts +2 -0
- package/dist/__tests__/wordCacheOrder.test.d.ts.map +1 -0
- package/dist/__tests__/wordCacheOrder.test.js +352 -0
- package/dist/__tests__/wordCacheOrder.test.js.map +1 -0
- package/dist/__tests__/wordPieces.test.d.ts +2 -0
- package/dist/__tests__/wordPieces.test.d.ts.map +1 -0
- package/dist/__tests__/wordPieces.test.js +762 -0
- package/dist/__tests__/wordPieces.test.js.map +1 -0
- package/dist/bidi.d.ts +12 -0
- package/dist/bidi.d.ts.map +1 -1
- package/dist/bidi.js +23 -0
- package/dist/bidi.js.map +1 -1
- package/dist/bundle/configVersion.d.ts +49 -23
- package/dist/bundle/configVersion.d.ts.map +1 -1
- package/dist/bundle/configVersion.js +54 -25
- package/dist/bundle/configVersion.js.map +1 -1
- package/dist/canvas-backend/annotations.d.ts.map +1 -1
- package/dist/canvas-backend/annotations.js +8 -7
- package/dist/canvas-backend/annotations.js.map +1 -1
- package/dist/canvas-backend/blockRender.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.js +81 -47
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/cellText.d.ts +12 -0
- package/dist/canvas-backend/cellText.d.ts.map +1 -0
- package/dist/canvas-backend/cellText.js +114 -0
- package/dist/canvas-backend/cellText.js.map +1 -0
- package/dist/canvas-backend/chip.d.ts.map +1 -1
- package/dist/canvas-backend/chip.js +12 -9
- package/dist/canvas-backend/chip.js.map +1 -1
- package/dist/canvas-backend/comic.d.ts.map +1 -1
- package/dist/canvas-backend/comic.js +9 -8
- package/dist/canvas-backend/comic.js.map +1 -1
- package/dist/canvas-backend/contextState.d.ts +69 -0
- package/dist/canvas-backend/contextState.d.ts.map +1 -0
- package/dist/canvas-backend/contextState.js +96 -0
- package/dist/canvas-backend/contextState.js.map +1 -0
- package/dist/canvas-backend/contextText.d.ts +76 -0
- package/dist/canvas-backend/contextText.d.ts.map +1 -0
- package/dist/canvas-backend/contextText.js +102 -0
- package/dist/canvas-backend/contextText.js.map +1 -0
- package/dist/canvas-backend/decorations.d.ts.map +1 -1
- package/dist/canvas-backend/decorations.js +11 -10
- package/dist/canvas-backend/decorations.js.map +1 -1
- package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
- package/dist/canvas-backend/headerFooter.js +23 -15
- package/dist/canvas-backend/headerFooter.js.map +1 -1
- package/dist/canvas-backend/index.d.ts.map +1 -1
- package/dist/canvas-backend/index.js +41 -17
- package/dist/canvas-backend/index.js.map +1 -1
- package/dist/canvas-backend/mirrorFrame.d.ts.map +1 -1
- package/dist/canvas-backend/mirrorFrame.js +5 -4
- package/dist/canvas-backend/mirrorFrame.js.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.js +36 -29
- package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
- package/dist/canvas-backend/runDirection.d.ts.map +1 -1
- package/dist/canvas-backend/runDirection.js +9 -5
- package/dist/canvas-backend/runDirection.js.map +1 -1
- package/dist/canvas-backend/scriptText.d.ts.map +1 -1
- package/dist/canvas-backend/scriptText.js +11 -9
- package/dist/canvas-backend/scriptText.js.map +1 -1
- package/dist/canvas-backend/segmentText.d.ts.map +1 -1
- package/dist/canvas-backend/segmentText.js +18 -5
- package/dist/canvas-backend/segmentText.js.map +1 -1
- package/dist/canvas-backend/swatch.d.ts.map +1 -1
- package/dist/canvas-backend/swatch.js +3 -2
- package/dist/canvas-backend/swatch.js.map +1 -1
- package/dist/canvas-backend/trackedText.d.ts +75 -1
- package/dist/canvas-backend/trackedText.d.ts.map +1 -1
- package/dist/canvas-backend/trackedText.js +192 -28
- package/dist/canvas-backend/trackedText.js.map +1 -1
- package/dist/canvas-backend/verticalText.d.ts +12 -2
- package/dist/canvas-backend/verticalText.d.ts.map +1 -1
- package/dist/canvas-backend/verticalText.js +64 -38
- package/dist/canvas-backend/verticalText.js.map +1 -1
- package/dist/canvas-backend/wordPieces.d.ts +31 -0
- package/dist/canvas-backend/wordPieces.d.ts.map +1 -0
- package/dist/canvas-backend/wordPieces.js +132 -0
- package/dist/canvas-backend/wordPieces.js.map +1 -0
- package/dist/canvas-backend/wordRuns.d.ts +13 -1
- package/dist/canvas-backend/wordRuns.d.ts.map +1 -1
- package/dist/canvas-backend/wordRuns.js +38 -23
- package/dist/canvas-backend/wordRuns.js.map +1 -1
- package/dist/comics/lettering/__tests__/fitAsPainted.test.d.ts +2 -0
- package/dist/comics/lettering/__tests__/fitAsPainted.test.d.ts.map +1 -0
- package/dist/comics/lettering/__tests__/fitAsPainted.test.js +97 -0
- package/dist/comics/lettering/__tests__/fitAsPainted.test.js.map +1 -0
- package/dist/comics/lettering/shape-text.d.ts.map +1 -1
- package/dist/comics/lettering/shape-text.js +39 -11
- package/dist/comics/lettering/shape-text.js.map +1 -1
- package/dist/defaults/bodyText.d.ts.map +1 -1
- package/dist/defaults/bodyText.js +6 -5
- package/dist/defaults/bodyText.js.map +1 -1
- package/dist/design/bidiText.d.ts +45 -6
- package/dist/design/bidiText.d.ts.map +1 -1
- package/dist/design/bidiText.js +78 -10
- package/dist/design/bidiText.js.map +1 -1
- package/dist/design/cjkText.d.ts +3 -0
- package/dist/design/cjkText.d.ts.map +1 -1
- package/dist/design/cjkText.js +1 -1
- package/dist/design/cjkText.js.map +1 -1
- package/dist/design/layout.d.ts.map +1 -1
- package/dist/design/layout.js +36 -5
- package/dist/design/layout.js.map +1 -1
- package/dist/design/richText.d.ts +9 -1
- package/dist/design/richText.d.ts.map +1 -1
- package/dist/design/richText.js +8 -2
- package/dist/design/richText.js.map +1 -1
- package/dist/fonts/usage.d.ts +2 -0
- package/dist/fonts/usage.d.ts.map +1 -1
- package/dist/fonts/usage.js +18 -0
- package/dist/fonts/usage.js.map +1 -1
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +664 -84
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/knuthPlass/breakpoints.d.ts.map +1 -1
- package/dist/knuthPlass/breakpoints.js +4 -2
- package/dist/knuthPlass/breakpoints.js.map +1 -1
- package/dist/knuthPlass/pretextAdapter.d.ts +6 -3
- package/dist/knuthPlass/pretextAdapter.d.ts.map +1 -1
- package/dist/knuthPlass/pretextAdapter.js +11 -3
- package/dist/knuthPlass/pretextAdapter.js.map +1 -1
- package/dist/knuthPlass/richAdapter.d.ts +13 -1
- package/dist/knuthPlass/richAdapter.d.ts.map +1 -1
- package/dist/knuthPlass/richAdapter.js +53 -5
- package/dist/knuthPlass/richAdapter.js.map +1 -1
- package/dist/knuthPlass/tracking.d.ts.map +1 -1
- package/dist/knuthPlass/tracking.js +3 -2
- package/dist/knuthPlass/tracking.js.map +1 -1
- package/dist/knuthPlass/types.d.ts +6 -0
- package/dist/knuthPlass/types.d.ts.map +1 -1
- package/dist/locale.d.ts +25 -18
- package/dist/locale.d.ts.map +1 -1
- package/dist/locale.js +27 -20
- package/dist/locale.js.map +1 -1
- package/dist/looseLines.d.ts.map +1 -1
- package/dist/looseLines.js +3 -2
- package/dist/looseLines.js.map +1 -1
- package/dist/measure/canvas.d.ts +21 -0
- package/dist/measure/canvas.d.ts.map +1 -1
- package/dist/measure/canvas.js +165 -85
- package/dist/measure/canvas.js.map +1 -1
- package/dist/measure/cjkCompose.d.ts.map +1 -1
- package/dist/measure/cjkCompose.js +31 -5
- package/dist/measure/cjkCompose.js.map +1 -1
- package/dist/measure/plain.d.ts.map +1 -1
- package/dist/measure/plain.js +31 -6
- package/dist/measure/plain.js.map +1 -1
- package/dist/measure/pretextLanguage.d.ts.map +1 -1
- package/dist/measure/pretextLanguage.js +49 -7
- package/dist/measure/pretextLanguage.js.map +1 -1
- package/dist/measure/rich.d.ts +18 -1
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +200 -29
- package/dist/measure/rich.js.map +1 -1
- package/dist/measure/script.d.ts +17 -1
- package/dist/measure/script.d.ts.map +1 -1
- package/dist/measure/script.js +17 -1
- package/dist/measure/script.js.map +1 -1
- package/dist/measure/trackedLigatures.d.ts +59 -0
- package/dist/measure/trackedLigatures.d.ts.map +1 -0
- package/dist/measure/trackedLigatures.js +144 -0
- package/dist/measure/trackedLigatures.js.map +1 -0
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +4 -3
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts.map +1 -1
- package/dist/pipeline/calloutLayout.js +26 -7
- package/dist/pipeline/calloutLayout.js.map +1 -1
- package/dist/pipeline/lists.d.ts +13 -4
- package/dist/pipeline/lists.d.ts.map +1 -1
- package/dist/pipeline/lists.js +49 -12
- package/dist/pipeline/lists.js.map +1 -1
- package/dist/pipeline/toc.d.ts.map +1 -1
- package/dist/pipeline/toc.js +33 -9
- package/dist/pipeline/toc.js.map +1 -1
- package/dist/types.d.ts +35 -22
- package/dist/types.d.ts.map +1 -1
- package/dist/wordPieces.d.ts +120 -0
- package/dist/wordPieces.d.ts.map +1 -0
- package/dist/wordPieces.js +319 -0
- package/dist/wordPieces.js.map +1 -0
- package/package.json +1 -1
|
@@ -143,8 +143,8 @@ describe('maths in configurations written before postext 1.5 (EF-75)', () => {
|
|
|
143
143
|
});
|
|
144
144
|
it('writes bundles for today\'s rules, which read back unpinned', async () => {
|
|
145
145
|
const { manifest, bytes } = await createBundle({ name: 'Now', chapters: [{ markdown: CHAPTER }], config: BODY });
|
|
146
|
-
expect(CONFIG_VERSION).toBe(
|
|
147
|
-
expect(manifest.configVersion).toBe(
|
|
146
|
+
expect(CONFIG_VERSION).toBe(14);
|
|
147
|
+
expect(manifest.configVersion).toBe(14);
|
|
148
148
|
const again = await openBundle(bytes);
|
|
149
149
|
expect(again.config.math).toBeUndefined();
|
|
150
150
|
// …and a 1.4 bundle, opened and written again, is read back as it was
|
|
@@ -101,7 +101,7 @@ describe('configurations stored before rules 6 keep the 1.4 box spacing', () =>
|
|
|
101
101
|
// It names the box cut (EF-115), so the box gap is the pin that shows.
|
|
102
102
|
const config = { layout: { layoutType: 'single', boxChildSplitMinLines: 2 } };
|
|
103
103
|
it('pins a configuration whose book embeds a resource in a box, once', () => {
|
|
104
|
-
expect(CONFIG_VERSION).toBe(
|
|
104
|
+
expect(CONFIG_VERSION).toBe(14);
|
|
105
105
|
// Stamped 5 (a 1.5 prerelease): the box gap is the only pin it gets.
|
|
106
106
|
expect(migrateConfig(config, 5, { content: MD }).layout).toEqual({ layoutType: 'single', boxChildSplitMinLines: 2, inlineResourceGapInBoxes: false });
|
|
107
107
|
// Unversioned (1.4): both gap pins.
|
|
@@ -155,7 +155,7 @@ describe('layout.boxChildSplitMinLines', () => {
|
|
|
155
155
|
it('is pinned to 1 for configurations stored before rules 6 whose book holds a box', () => {
|
|
156
156
|
const cfg = { layout: { layoutType: 'single', inlineResourceGap: 'around', inlineResourceGapInBoxes: true } };
|
|
157
157
|
const box = twoLineItems(3);
|
|
158
|
-
expect(CONFIG_VERSION).toBe(
|
|
158
|
+
expect(CONFIG_VERSION).toBe(14);
|
|
159
159
|
// Unversioned (1.4) and stamped 5 (a 1.5 prerelease): pinned.
|
|
160
160
|
expect(migrateConfig(cfg, undefined, { content: box }).layout?.boxChildSplitMinLines).toBe(1);
|
|
161
161
|
expect(migrateConfig(cfg, 5, { content: ['No box here.', box] }).layout?.boxChildSplitMinLines).toBe(1);
|
|
@@ -110,7 +110,7 @@ describe('colonListRoom: \'line\' keeps the postext 1.4 room check (EF-110)', ()
|
|
|
110
110
|
describe('configurations stored before rules 6 keep the 1.4 colon-list room', () => {
|
|
111
111
|
const LIST = 'Look for these signs:\n\n- one\n- two';
|
|
112
112
|
it('pins a configuration older than 6 whose book introduces a list with a colon, once', () => {
|
|
113
|
-
expect(CONFIG_VERSION).toBe(
|
|
113
|
+
expect(CONFIG_VERSION).toBe(14);
|
|
114
114
|
const stored = { bodyText: { fontFamily: 'Georgia' } };
|
|
115
115
|
for (const version of [undefined, 3, 4, 5]) {
|
|
116
116
|
expect(migrateConfig(stored, version, { content: LIST }).bodyText, `${version}`)
|
|
@@ -121,7 +121,7 @@ describe('a break after a compound’s hyphen on both paths (EF-186)', () => {
|
|
|
121
121
|
expect(other).toBeGreaterThan(0);
|
|
122
122
|
});
|
|
123
123
|
it('is pinned off for configurations stored before rules 8 whose text sets a compound', () => {
|
|
124
|
-
expect(CONFIG_VERSION).toBe(
|
|
124
|
+
expect(CONFIG_VERSION).toBe(14);
|
|
125
125
|
const stored = { bodyText: { fontFamily: 'Georgia' } };
|
|
126
126
|
for (const version of [undefined, 3, 6, 7]) {
|
|
127
127
|
expect(migrateConfig(stored, version, { content: EN }).bodyText?.breakAfterHyphens, `${version}`).toBe(false);
|
|
@@ -303,7 +303,7 @@ describe('breakAfterDashes in the configuration', () => {
|
|
|
303
303
|
expect(stripBodyTextDefaults({ breakAfterDashes: false })).toEqual({ breakAfterDashes: false });
|
|
304
304
|
});
|
|
305
305
|
it('is pinned off for configurations stored before rules 7 whose text sets a closed dash', () => {
|
|
306
|
-
expect(CONFIG_VERSION).toBe(
|
|
306
|
+
expect(CONFIG_VERSION).toBe(14);
|
|
307
307
|
const stored = { bodyText: { fontFamily: 'Georgia' } };
|
|
308
308
|
for (const version of [undefined, 3, 5, 6]) {
|
|
309
309
|
expect(migrateConfig(stored, version, { content: ALICE }).bodyText?.breakAfterDashes, `${version}`).toBe(false);
|
|
@@ -103,7 +103,7 @@ describe('a paragraph kept with the heading above it splits by the orphan rule t
|
|
|
103
103
|
}
|
|
104
104
|
// Stored under today's rules, it is read as it is.
|
|
105
105
|
expect(migrateConfig(stored, CONFIG_VERSION, { content: markdown })).toBe(stored);
|
|
106
|
-
expect(CONFIG_VERSION).toBe(
|
|
106
|
+
expect(CONFIG_VERSION).toBe(14);
|
|
107
107
|
});
|
|
108
108
|
it('pins only what the setting changes', () => {
|
|
109
109
|
const plain = { bodyText: { fontFamily: 'Georgia' } };
|
|
@@ -126,7 +126,7 @@ describe('layout.inlineResourceGap and configurations stored before postext 1.5
|
|
|
126
126
|
});
|
|
127
127
|
it('pins a stored configuration whose book embeds a resource, once', () => {
|
|
128
128
|
const config = { layout: { layoutType: 'single' } };
|
|
129
|
-
expect(CONFIG_VERSION).toBe(
|
|
129
|
+
expect(CONFIG_VERSION).toBe(14);
|
|
130
130
|
const pinned = migrateConfig(config, undefined, { content: MD });
|
|
131
131
|
expect(pinned.layout).toEqual({ layoutType: 'single', inlineResourceGap: 'above' });
|
|
132
132
|
// Stamped 4 (a 1.5 prerelease): the gap is the only pin it gets.
|
|
@@ -240,7 +240,7 @@ describe('paragraphStyles[].snapToGrid (EF-184)', () => {
|
|
|
240
240
|
describe('configurations stored before rules 8 keep the 1.4 space under containers', () => {
|
|
241
241
|
const stored = { bodyText: { fontFamily: 'Georgia' }, paragraphStyles: [{ id: 's' }] };
|
|
242
242
|
it('pins \'add\' when the book holds a :::paragraphs container', () => {
|
|
243
|
-
expect(CONFIG_VERSION).toBe(
|
|
243
|
+
expect(CONFIG_VERSION).toBe(14);
|
|
244
244
|
for (const version of [undefined, 3, 5, 6, 7]) {
|
|
245
245
|
expect(migrateConfig(stored, version, { content: GROUP_THEN_HEADING }).bodyText?.paragraphContainerSpacing, `${version}`).toBe('add');
|
|
246
246
|
}
|
|
@@ -168,7 +168,7 @@ describe('optimalRagged in the configuration', () => {
|
|
|
168
168
|
expect(stripBodyTextDefaults({ optimalRagged: false })).toEqual({ optimalRagged: false });
|
|
169
169
|
});
|
|
170
170
|
it('is pinned off for configurations stored before rules 7 that set running text ragged', () => {
|
|
171
|
-
expect(CONFIG_VERSION).toBe(
|
|
171
|
+
expect(CONFIG_VERSION).toBe(14);
|
|
172
172
|
const ragged = { bodyText: { textAlign: 'left' } };
|
|
173
173
|
for (const version of [undefined, 3, 5, 6]) {
|
|
174
174
|
expect(migrateConfig(ragged, version, { content: 'Text.' }).bodyText, `${version}`).toEqual({ textAlign: 'left', optimalRagged: false, scriptContext: false, shapingLanguage: 'host' });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plainGeminateHead.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/plainGeminateHead.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
2
|
+
import { clearMeasurementCache, measureBlock } from '../measure';
|
|
3
|
+
import { setMeasureLanguage } from '../measure/canvas';
|
|
4
|
+
import { setHyphenationLocale } from '../hyphenate';
|
|
5
|
+
// #770: the head of a break inside a Catalan `l·l`, in a plain paragraph.
|
|
6
|
+
// The line ends on the piece `col·` and prints a hyphen in the dot's
|
|
7
|
+
// place, so the dot's width is given back. The dot set alone was taken
|
|
8
|
+
// for it; a face that sets the dot after an `l` otherwise than alone
|
|
9
|
+
// (Castoro's Catalan form, 0.129 em there and 0.297 em alone; Lora's
|
|
10
|
+
// `l·` ligature) left the head off the text painted: `til-` 22.02 px for
|
|
11
|
+
// 25.28 at 19.4 px in Castoro.
|
|
12
|
+
const DOT = '·';
|
|
13
|
+
/** px at 10 px: every letter 5, a space 2.5, a hyphen 3, the dot 2.5; the
|
|
14
|
+
* face ligates `l·`, 1.3 narrower (as Lora). */
|
|
15
|
+
function faceWidth(text) {
|
|
16
|
+
const chars = Array.from(text);
|
|
17
|
+
let px = 0;
|
|
18
|
+
chars.forEach((ch, i) => {
|
|
19
|
+
if (ch === ' ')
|
|
20
|
+
px += 2.5;
|
|
21
|
+
else if (ch === '-')
|
|
22
|
+
px += 3;
|
|
23
|
+
else if (ch === DOT)
|
|
24
|
+
px += 2.5;
|
|
25
|
+
else
|
|
26
|
+
px += 5;
|
|
27
|
+
if (`${chars[i - 1] ?? ''}${ch}` === `l${DOT}`)
|
|
28
|
+
px -= 1.3;
|
|
29
|
+
});
|
|
30
|
+
return px;
|
|
31
|
+
}
|
|
32
|
+
class MeasureContext {
|
|
33
|
+
font = '10px Lliga';
|
|
34
|
+
lang = 'inherit';
|
|
35
|
+
direction = 'ltr';
|
|
36
|
+
measureText(s) {
|
|
37
|
+
return { width: faceWidth(s) };
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const globals = globalThis;
|
|
41
|
+
const saved = { canvas: globals.OffscreenCanvas, context: globals.OffscreenCanvasRenderingContext2D };
|
|
42
|
+
const FONT = '10px Lliga';
|
|
43
|
+
const TEXT = `aa col${DOT}lecció bb`;
|
|
44
|
+
const GREEDY = { textAlign: 'left', hyphenate: true };
|
|
45
|
+
const OPTIMAL = { textAlign: 'justify', hyphenate: true, optimal: true };
|
|
46
|
+
function lay(language, options) {
|
|
47
|
+
setHyphenationLocale('ca');
|
|
48
|
+
setMeasureLanguage(language);
|
|
49
|
+
return measureBlock(TEXT, FONT, 32, 14, options).lines;
|
|
50
|
+
}
|
|
51
|
+
/** The width of the pieces a line ends on, back to its last space. */
|
|
52
|
+
function closing(line) {
|
|
53
|
+
let width = 0;
|
|
54
|
+
for (const s of [...(line.segments ?? [])].reverse()) {
|
|
55
|
+
if (s.kind === 'space')
|
|
56
|
+
break;
|
|
57
|
+
width += s.width;
|
|
58
|
+
}
|
|
59
|
+
return Math.round(width * 1000) / 1000;
|
|
60
|
+
}
|
|
61
|
+
describe('the head of a break inside an l·l in a plain paragraph (#770)', () => {
|
|
62
|
+
beforeEach(() => {
|
|
63
|
+
globals.OffscreenCanvasRenderingContext2D = MeasureContext;
|
|
64
|
+
globals.OffscreenCanvas = class {
|
|
65
|
+
getContext() {
|
|
66
|
+
return new MeasureContext();
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
clearMeasurementCache();
|
|
70
|
+
});
|
|
71
|
+
afterEach(() => {
|
|
72
|
+
setMeasureLanguage(undefined);
|
|
73
|
+
clearMeasurementCache();
|
|
74
|
+
globals.OffscreenCanvas = saved.canvas;
|
|
75
|
+
globals.OffscreenCanvasRenderingContext2D = saved.context;
|
|
76
|
+
});
|
|
77
|
+
for (const [name, options] of [['line by line', GREEDY], ['Knuth–Plass', OPTIMAL]]) {
|
|
78
|
+
it(`${name}: a document shaped in its own language measures the letters before the dot and the hyphen`, () => {
|
|
79
|
+
const lines = lay('ca', options);
|
|
80
|
+
expect(lines[0].text).toBe('aa col-');
|
|
81
|
+
// `col` 15 px and the hyphen 3: the text painted.
|
|
82
|
+
expect(closing(lines[0])).toBe(18);
|
|
83
|
+
});
|
|
84
|
+
it(`${name}: one shaped in the host's language keeps the width it had`, () => {
|
|
85
|
+
const lines = lay(undefined, options);
|
|
86
|
+
expect(lines[0].text).toBe('aa col-');
|
|
87
|
+
// `col·` 16.2 px, less the dot alone, 2.5, and the hyphen.
|
|
88
|
+
expect(closing(lines[0])).toBe(16.7);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=plainGeminateHead.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plainGeminateHead.test.js","sourceRoot":"","sources":["../../src/__tests__/plainGeminateHead.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"showcaseShapingLanguage.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/presets/showcaseShapingLanguage.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/ban-ts-comment -- node built-ins in a test */
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
/* #770: the showcase bundles (apps/web/public/presets) keep their lines
|
|
4
|
+
now that a document is shaped in its own language by default. Each was
|
|
5
|
+
laid out in the language of the page that hosted it and is stamped
|
|
6
|
+
below `configVersion` 14 (8, or nothing at all), so the engine's own
|
|
7
|
+
migration writes `bodyText.shapingLanguage: 'host'` on the body text
|
|
8
|
+
every one of its editions is laid out with. None is to be stamped again
|
|
9
|
+
without being laid out again: the stamp is what keeps it. */
|
|
10
|
+
import { describe, it, expect } from 'vitest';
|
|
11
|
+
import { readdirSync, readFileSync, existsSync } from 'node:fs';
|
|
12
|
+
import { join } from 'node:path';
|
|
13
|
+
import { CONFIG_VERSION, migrateBundleConfig } from '../../bundle/configVersion';
|
|
14
|
+
import { pickLocaleOverrides } from '../../bundle/manifest';
|
|
15
|
+
import { shapingLanguageOf } from '../../locale';
|
|
16
|
+
import { resolveAllConfig } from '../../pipeline/config';
|
|
17
|
+
const PRESETS = join(__dirname, '../../../../../apps/web/public/presets');
|
|
18
|
+
/** The editions a bundle serves: its own language, the ones it lists and
|
|
19
|
+
* the ones it rewords. */
|
|
20
|
+
function editionsOf(manifest) {
|
|
21
|
+
const listed = manifest.locales ?? [];
|
|
22
|
+
return [...new Set([...(manifest.locale ? [manifest.locale] : []), ...listed, ...Object.keys(manifest.localized ?? {})])];
|
|
23
|
+
}
|
|
24
|
+
describe('#770: the showcase bundles are shaped in the language of the host, as they were laid out', () => {
|
|
25
|
+
const ids = existsSync(PRESETS) ? readdirSync(PRESETS).filter((d) => existsSync(join(PRESETS, d, 'preset.json'))) : [];
|
|
26
|
+
const manifestOf = (id) => JSON.parse(readFileSync(join(PRESETS, id, 'preset.json'), 'utf8'));
|
|
27
|
+
it('finds the showcase bundles and their editions', () => {
|
|
28
|
+
expect(ids.length).toBeGreaterThan(5);
|
|
29
|
+
expect(ids.flatMap((id) => editionsOf(manifestOf(id))).length).toBeGreaterThanOrEqual(ids.length);
|
|
30
|
+
});
|
|
31
|
+
it.each(ids)('%s: stamped before 14, and every edition reads with the host\'s language', (id) => {
|
|
32
|
+
const manifest = manifestOf(id);
|
|
33
|
+
const stamp = manifest.configVersion;
|
|
34
|
+
expect(stamp === undefined || (typeof stamp === 'number' && stamp < 14), `${id} is stamped ${String(stamp)}`).toBe(true);
|
|
35
|
+
expect(CONFIG_VERSION).toBeGreaterThanOrEqual(14);
|
|
36
|
+
const editions = editionsOf(manifest);
|
|
37
|
+
expect(editions.length).toBeGreaterThan(0);
|
|
38
|
+
for (const locale of editions) {
|
|
39
|
+
const overrides = pickLocaleOverrides(manifest, locale);
|
|
40
|
+
const config = migrateBundleConfig({}, [manifest.config ?? {}, overrides?.config ?? {}], stamp);
|
|
41
|
+
expect(config.bodyText?.shapingLanguage, `${id} ${locale}`).toBe('host');
|
|
42
|
+
const resolved = resolveAllConfig({ ...config, locale: config.locale ?? locale });
|
|
43
|
+
expect(resolved.bodyText.shapingLanguage, `${id} ${locale}`).toBe('host');
|
|
44
|
+
expect(shapingLanguageOf(resolved), `${id} ${locale}`).toBeUndefined();
|
|
45
|
+
// The same manifest under today's stamp would be shaped in its own
|
|
46
|
+
// language: the stamp is what keeps it.
|
|
47
|
+
const restamped = migrateBundleConfig({}, [manifest.config ?? {}, overrides?.config ?? {}], CONFIG_VERSION);
|
|
48
|
+
expect(shapingLanguageOf(resolveAllConfig({ ...restamped, locale: restamped.locale ?? locale })), `${id} ${locale}`).not.toBeUndefined();
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=showcaseShapingLanguage.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"showcaseShapingLanguage.test.js","sourceRoot":"","sources":["../../../src/__tests__/presets/showcaseShapingLanguage.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reshapedTracking.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/reshapedTracking.test.ts"],"names":[],"mappings":""}
|