postext 1.52.0 → 1.54.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__/breakOpportunities.test.js +12 -7
- package/dist/__tests__/breakOpportunities.test.js.map +1 -1
- package/dist/__tests__/bundle/balloonPlacementPin.test.js +12 -9
- package/dist/__tests__/bundle/balloonPlacementPin.test.js.map +1 -1
- package/dist/__tests__/bundle/cjkRulesPin.test.js +12 -12
- package/dist/__tests__/bundle/cjkRulesPin.test.js.map +1 -1
- package/dist/__tests__/bundle/designOverflowPin.test.js +3 -3
- package/dist/__tests__/bundle/designOverflowPin.test.js.map +1 -1
- package/dist/__tests__/bundle/flowColumnsPin.test.js +4 -4
- package/dist/__tests__/bundle/flowColumnsPin.test.js.map +1 -1
- package/dist/__tests__/bundle/gridBalancingPin.test.js +12 -9
- package/dist/__tests__/bundle/gridBalancingPin.test.js.map +1 -1
- package/dist/__tests__/bundle/gridBreakRulesPin.test.js +27 -24
- package/dist/__tests__/bundle/gridBreakRulesPin.test.js.map +1 -1
- package/dist/__tests__/bundle/indexGroupSplitPin.test.js +4 -4
- package/dist/__tests__/bundle/indexGroupSplitPin.test.js.map +1 -1
- package/dist/__tests__/bundle/looseOrderPin.test.js +12 -9
- package/dist/__tests__/bundle/looseOrderPin.test.js.map +1 -1
- package/dist/__tests__/bundle/markRadiusPin.test.js +3 -3
- package/dist/__tests__/bundle/markRadiusPin.test.js.map +1 -1
- package/dist/__tests__/bundle/refLabelBreaksPin.test.js +12 -9
- package/dist/__tests__/bundle/refLabelBreaksPin.test.js.map +1 -1
- package/dist/__tests__/bundle/scriptContextPin.test.js +13 -10
- package/dist/__tests__/bundle/scriptContextPin.test.js.map +1 -1
- package/dist/__tests__/bundle/shapingLanguagePin.test.js +20 -18
- 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 -4
- package/dist/__tests__/bundle/trailingStepPin.test.js.map +1 -1
- package/dist/__tests__/bundle/wideFloatStretchPin.test.js +4 -4
- package/dist/__tests__/bundle/wideFloatStretchPin.test.js.map +1 -1
- package/dist/__tests__/bundle.test.js +5 -5
- package/dist/__tests__/bundle.test.js.map +1 -1
- package/dist/__tests__/codeBlocks.test.js +1 -1
- package/dist/__tests__/composed/folioMissing.test.d.ts +2 -0
- package/dist/__tests__/composed/folioMissing.test.d.ts.map +1 -0
- package/dist/__tests__/composed/folioMissing.test.js +90 -0
- package/dist/__tests__/composed/folioMissing.test.js.map +1 -0
- package/dist/__tests__/composedTemplates.test.js +8 -6
- package/dist/__tests__/composedTemplates.test.js.map +1 -1
- package/dist/__tests__/exports.test.js +17 -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__/mathSizeMigration.test.js +4 -4
- package/dist/__tests__/mathSizeMigration.test.js.map +1 -1
- package/dist/__tests__/musicEngine.test.d.ts +2 -0
- package/dist/__tests__/musicEngine.test.d.ts.map +1 -0
- package/dist/__tests__/musicEngine.test.js +102 -0
- package/dist/__tests__/musicEngine.test.js.map +1 -0
- package/dist/__tests__/musicLayout.test.d.ts +2 -0
- package/dist/__tests__/musicLayout.test.d.ts.map +1 -0
- package/dist/__tests__/musicLayout.test.js +146 -0
- package/dist/__tests__/musicLayout.test.js.map +1 -0
- package/dist/__tests__/pipeline/boxParagraphStyles.test.js +2 -2
- package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +1 -1
- package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +3 -3
- package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js.map +1 -1
- package/dist/__tests__/pipeline/colonListRoom.test.js +3 -3
- package/dist/__tests__/pipeline/colonListRoom.test.js.map +1 -1
- package/dist/__tests__/pipeline/compoundBreaks.test.js +6 -6
- package/dist/__tests__/pipeline/compoundBreaks.test.js.map +1 -1
- package/dist/__tests__/pipeline/dashBreaks.test.js +5 -5
- package/dist/__tests__/pipeline/dashBreaks.test.js.map +1 -1
- package/dist/__tests__/pipeline/headingSplitOrphans.test.js +3 -3
- package/dist/__tests__/pipeline/headingSplitOrphans.test.js.map +1 -1
- package/dist/__tests__/pipeline/inlineFigureSpace.test.js +5 -5
- package/dist/__tests__/pipeline/inlineFigureSpace.test.js.map +1 -1
- package/dist/__tests__/pipeline/openerChips.test.d.ts +2 -0
- package/dist/__tests__/pipeline/openerChips.test.d.ts.map +1 -0
- package/dist/__tests__/pipeline/openerChips.test.js +181 -0
- package/dist/__tests__/pipeline/openerChips.test.js.map +1 -0
- package/dist/__tests__/pipeline/paragraphContainerTail.test.js +7 -7
- package/dist/__tests__/pipeline/paragraphContainerTail.test.js.map +1 -1
- package/dist/__tests__/pipeline/raggedOptimal.test.js +7 -7
- package/dist/__tests__/pipeline/raggedOptimal.test.js.map +1 -1
- package/dist/__tests__/scriptContext.test.js +10 -1
- package/dist/__tests__/scriptContext.test.js.map +1 -1
- package/dist/__tests__/slashBreaks.test.d.ts +2 -0
- package/dist/__tests__/slashBreaks.test.d.ts.map +1 -0
- package/dist/__tests__/slashBreaks.test.js +160 -0
- package/dist/__tests__/slashBreaks.test.js.map +1 -0
- package/dist/__tests__/verseLines.test.js +7 -7
- package/dist/__tests__/verseLines.test.js.map +1 -1
- package/dist/bundle/codec.d.ts.map +1 -1
- package/dist/bundle/codec.js +10 -0
- package/dist/bundle/codec.js.map +1 -1
- package/dist/bundle/configVersion.d.ts +37 -6
- package/dist/bundle/configVersion.d.ts.map +1 -1
- package/dist/bundle/configVersion.js +69 -6
- package/dist/bundle/configVersion.js.map +1 -1
- package/dist/bundle/index.d.ts +1 -1
- package/dist/bundle/index.d.ts.map +1 -1
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/index.js.map +1 -1
- package/dist/bundle/manifest.d.ts.map +1 -1
- package/dist/bundle/manifest.js +9 -2
- package/dist/bundle/manifest.js.map +1 -1
- package/dist/bundle/types.d.ts +6 -1
- package/dist/bundle/types.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.js +17 -2
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/headerFooter.d.ts.map +1 -1
- package/dist/canvas-backend/headerFooter.js +10 -0
- package/dist/canvas-backend/headerFooter.js.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.d.ts.map +1 -1
- package/dist/canvas-backend/renderResourceBlock.js +7 -0
- package/dist/canvas-backend/renderResourceBlock.js.map +1 -1
- package/dist/canvas-backend/scoreRender.d.ts +10 -0
- package/dist/canvas-backend/scoreRender.d.ts.map +1 -0
- package/dist/canvas-backend/scoreRender.js +74 -0
- package/dist/canvas-backend/scoreRender.js.map +1 -0
- package/dist/composed/furniture.d.ts +41 -0
- package/dist/composed/furniture.d.ts.map +1 -0
- package/dist/composed/furniture.js +108 -0
- package/dist/composed/furniture.js.map +1 -0
- package/dist/composed/sourceMap.js +1 -1
- package/dist/composed/sourceMap.js.map +1 -1
- package/dist/defaults/bodyText.d.ts.map +1 -1
- package/dist/defaults/bodyText.js +7 -0
- package/dist/defaults/bodyText.js.map +1 -1
- package/dist/defaults/index.d.ts +2 -1
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +17 -1
- package/dist/defaults/index.js.map +1 -1
- package/dist/defaults/resourceTypes.d.ts +5 -0
- package/dist/defaults/resourceTypes.d.ts.map +1 -1
- package/dist/defaults/resourceTypes.js +34 -4
- package/dist/defaults/resourceTypes.js.map +1 -1
- package/dist/defaults/scoreStyle.d.ts +15 -0
- package/dist/defaults/scoreStyle.d.ts.map +1 -0
- package/dist/defaults/scoreStyle.js +91 -0
- package/dist/defaults/scoreStyle.js.map +1 -0
- package/dist/design/bidiText.d.ts +2 -0
- package/dist/design/bidiText.d.ts.map +1 -1
- package/dist/design/bidiText.js +1 -1
- package/dist/design/bidiText.js.map +1 -1
- package/dist/design/cjkText.d.ts.map +1 -1
- package/dist/design/cjkText.js +6 -1
- package/dist/design/cjkText.js.map +1 -1
- package/dist/design/elementKeys.d.ts +2 -0
- package/dist/design/elementKeys.d.ts.map +1 -1
- package/dist/design/elementKeys.js +1 -1
- package/dist/design/elementKeys.js.map +1 -1
- package/dist/design/layout.d.ts +7 -1
- package/dist/design/layout.d.ts.map +1 -1
- package/dist/design/layout.js +49 -15
- package/dist/design/layout.js.map +1 -1
- package/dist/design/placeholders.d.ts +6 -1
- package/dist/design/placeholders.d.ts.map +1 -1
- package/dist/design/placeholders.js.map +1 -1
- package/dist/design/richText.d.ts +28 -4
- package/dist/design/richText.d.ts.map +1 -1
- package/dist/design/richText.js +105 -6
- package/dist/design/richText.js.map +1 -1
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +75 -5
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/measure/breakRules.d.ts +33 -0
- package/dist/measure/breakRules.d.ts.map +1 -1
- package/dist/measure/breakRules.js +82 -0
- package/dist/measure/breakRules.js.map +1 -1
- package/dist/measure/cache.d.ts.map +1 -1
- package/dist/measure/cache.js +4 -2
- package/dist/measure/cache.js.map +1 -1
- package/dist/measure/rich.d.ts +6 -2
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +69 -6
- package/dist/measure/rich.js.map +1 -1
- package/dist/music/engine.d.ts +21 -0
- package/dist/music/engine.d.ts.map +1 -0
- package/dist/music/engine.js +309 -0
- package/dist/music/engine.js.map +1 -0
- package/dist/music/flatten.d.ts +21 -0
- package/dist/music/flatten.d.ts.map +1 -0
- package/dist/music/flatten.js +302 -0
- package/dist/music/flatten.js.map +1 -0
- package/dist/music/index.d.ts +4 -0
- package/dist/music/index.d.ts.map +1 -0
- package/dist/music/index.js +3 -0
- package/dist/music/index.js.map +1 -0
- package/dist/music/types.d.ts +88 -0
- package/dist/music/types.d.ts.map +1 -0
- package/dist/music/types.js +35 -0
- package/dist/music/types.js.map +1 -0
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +21 -1
- package/dist/parse/blockParser.js.map +1 -1
- package/dist/parse/types.d.ts +30 -1
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +56 -14
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
- package/dist/pipeline/buildBlockKind.js +9 -0
- package/dist/pipeline/buildBlockKind.js.map +1 -1
- package/dist/pipeline/buildMeasurement.d.ts.map +1 -1
- package/dist/pipeline/buildMeasurement.js +22 -0
- package/dist/pipeline/buildMeasurement.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts.map +1 -1
- package/dist/pipeline/calloutLayout.js +14 -3
- package/dist/pipeline/calloutLayout.js.map +1 -1
- package/dist/pipeline/codeBlocks.d.ts.map +1 -1
- package/dist/pipeline/codeBlocks.js +4 -2
- package/dist/pipeline/codeBlocks.js.map +1 -1
- package/dist/pipeline/columnBalancing.d.ts.map +1 -1
- package/dist/pipeline/columnBalancing.js +7 -1
- package/dist/pipeline/columnBalancing.js.map +1 -1
- package/dist/pipeline/config.d.ts.map +1 -1
- package/dist/pipeline/config.js +3 -1
- package/dist/pipeline/config.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +3 -0
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/frameLayout.js +1 -1
- package/dist/pipeline/frameLayout.js.map +1 -1
- package/dist/pipeline/headerFooter.d.ts +17 -3
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +199 -45
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/lineNumbers.js +1 -1
- package/dist/pipeline/lineNumbers.js.map +1 -1
- package/dist/pipeline/resourceLayout.d.ts.map +1 -1
- package/dist/pipeline/resourceLayout.js +9 -0
- package/dist/pipeline/resourceLayout.js.map +1 -1
- package/dist/pipeline/scoreBlocks.d.ts +44 -0
- package/dist/pipeline/scoreBlocks.d.ts.map +1 -0
- package/dist/pipeline/scoreBlocks.js +172 -0
- package/dist/pipeline/scoreBlocks.js.map +1 -0
- package/dist/pipeline/tashkil.js +1 -1
- package/dist/pipeline/tashkil.js.map +1 -1
- package/dist/react/createLayout.d.ts.map +1 -1
- package/dist/react/createLayout.js +4 -0
- package/dist/react/createLayout.js.map +1 -1
- package/dist/types.d.ts +93 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +69 -4
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js.map +1 -1
- package/dist/worker/layout.worker.js +10 -0
- package/dist/worker/layout.worker.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich.d.ts","sourceRoot":"","sources":["../../src/measure/rich.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,kBAAkB,EAAe,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAc,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAI5H,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,mBAAmB,CAAC;AAQ/D,OAAO,EAAmF,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAkB3J,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQ7C,OAAO,EAAsN,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAErQ,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB;oEACgE;IAChE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;+DAE2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB
|
|
1
|
+
{"version":3,"file":"rich.d.ts","sourceRoot":"","sources":["../../src/measure/rich.ts"],"names":[],"mappings":"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"}
|
package/dist/measure/rich.js
CHANGED
|
@@ -25,7 +25,7 @@ import { fontEm, getMeasureRegion, getMeasureUprightDigits, getMeasureWritingMod
|
|
|
25
25
|
import { latinReader, uprightDigitCandidates } from '../writingMode.js';
|
|
26
26
|
import { sliceSpan } from '../parse/links.js';
|
|
27
27
|
import { NO_BREAK_SPACES, WORDS_AND_SPACES_RE, isBlankText, isBreakingSpace, isBreakingSpaceRun, refLabelPieces } from './spaces.js';
|
|
28
|
-
import { breaksAfterDash, breaksAfterHardHyphen, hasCompound, isDash, raggedStretchPx } from './breakRules.js';
|
|
28
|
+
import { ZERO_WIDTH_SPACE, breaksAfterDash, breaksAfterHardHyphen, getSlashBreaks, hasCompound, isDash, raggedStretchPx, slashBreakIndices, withoutZeroWidthSpaces } from './breakRules.js';
|
|
29
29
|
import { GEMINATE_DOT, endsInsideGeminate, withLineEndHyphen } from './geminate.js';
|
|
30
30
|
import { insideJoiningWord, joiningScriptIn, wordLetterSpacing } from './joining.js';
|
|
31
31
|
import { applyLineDirections, applySegmentLanguages, getMeasureArabicNumbers, getMeasureDirection, spanLanguages } from './bidiLines.js';
|
|
@@ -642,6 +642,26 @@ function syllabify(word, hyphenate, byDictionary = false) {
|
|
|
642
642
|
}
|
|
643
643
|
return { clean, soft };
|
|
644
644
|
}
|
|
645
|
+
/** {@link withoutZeroWidthSpaces} of a syllabified word: its soft breaks
|
|
646
|
+
* moved to the text left. */
|
|
647
|
+
function dropZeroWidthSpaces(clean, soft) {
|
|
648
|
+
const dropped = withoutZeroWidthSpaces(clean);
|
|
649
|
+
if (dropped.text === clean)
|
|
650
|
+
return { clean, soft, zeroWidth: [] };
|
|
651
|
+
// How many zero-width spaces stand before each offset of `clean`.
|
|
652
|
+
const before = [];
|
|
653
|
+
let n = 0;
|
|
654
|
+
for (let i = 0; i <= clean.length; i++) {
|
|
655
|
+
before.push(n);
|
|
656
|
+
if (clean[i] === ZERO_WIDTH_SPACE)
|
|
657
|
+
n++;
|
|
658
|
+
}
|
|
659
|
+
return {
|
|
660
|
+
clean: dropped.text,
|
|
661
|
+
soft: soft.map((s) => ({ ...s, index: s.index - before[s.index] })),
|
|
662
|
+
zeroWidth: dropped.breaks,
|
|
663
|
+
};
|
|
664
|
+
}
|
|
645
665
|
/** Break opportunities inside a word (`clean`, the text as laid out):
|
|
646
666
|
* - after each soft hyphen, the dictionary's or the author's (`soft`); a
|
|
647
667
|
* hyphen is added when the line ends there;
|
|
@@ -656,7 +676,12 @@ function syllabify(word, hyphenate, byDictionary = false) {
|
|
|
656
676
|
* plain paragraph there;
|
|
657
677
|
* - next to CJK characters, under the line-break rules of the document's
|
|
658
678
|
* `cjk.lineBreak` (`cjk`: the word's units, measured once each, whose
|
|
659
|
-
* running sums give the widths before its breaks)
|
|
679
|
+
* running sums give the widths before its breaks);
|
|
680
|
+
* - in a word with no CJK character, after a slash between two words
|
|
681
|
+
* ("and/or", "ACC/AHA", see `slashBreakIndices`) and where the author
|
|
682
|
+
* typed a zero-width space (`zeroWidthBreaks`, offsets into `clean`,
|
|
683
|
+
* which no longer holds the character), #1164: the line ends as it is
|
|
684
|
+
* and nothing is added. */
|
|
660
685
|
function wordBreakPoints(clean, soft, font, letterSpacingPx, smallCaps, dashBreaks = false, touching, cjk,
|
|
661
686
|
/** How the word's pieces are measured when not as any text: in the
|
|
662
687
|
* script of a word with no letter (#725). */
|
|
@@ -667,7 +692,7 @@ measure,
|
|
|
667
692
|
* draws the two together: Lora ligates `l·`, and left `col-` 1.32 px
|
|
668
693
|
* narrower than painted at 20 px (36.14 px for 37.46); Fira Sans,
|
|
669
694
|
* 0.2 px. */
|
|
670
|
-
ownHeads = false) {
|
|
695
|
+
ownHeads = false, zeroWidthBreaks = []) {
|
|
671
696
|
const widthBefore = cjk
|
|
672
697
|
? cjk.widthBefore
|
|
673
698
|
: (idx) => (measure ? measure(clean.slice(0, idx)) : textWidth(clean.slice(0, idx), font, smallCaps)) + (letterSpacingPx === 0 ? 0 : letterSpacingPx * graphemeCount(clean.slice(0, idx)));
|
|
@@ -705,6 +730,12 @@ ownHeads = false) {
|
|
|
705
730
|
if (cjk)
|
|
706
731
|
for (const idx of cjk.breaks)
|
|
707
732
|
add({ charIndex: idx, free: true, cjk: true });
|
|
733
|
+
else {
|
|
734
|
+
for (const idx of slashBreakIndices(clean))
|
|
735
|
+
add({ charIndex: idx, free: true });
|
|
736
|
+
for (const idx of zeroWidthBreaks)
|
|
737
|
+
add({ charIndex: idx, free: true });
|
|
738
|
+
}
|
|
708
739
|
return [...byIndex.values()].sort((a, b) => a.charIndex - b.charIndex);
|
|
709
740
|
}
|
|
710
741
|
/**
|
|
@@ -723,9 +754,12 @@ ownHeads = false) {
|
|
|
723
754
|
* when no such place fits: the word then runs past the measure, and the
|
|
724
755
|
* line says so (`VDTLine.wordOverflow`).
|
|
725
756
|
*
|
|
757
|
+
* Before a syllable, it is divided after a slash or at a zero-width space
|
|
758
|
+
* the author typed, nothing added (#1164).
|
|
759
|
+
*
|
|
726
760
|
* `divided` says how a word was cut (#1150): at a syllable (`'syllable'`)
|
|
727
761
|
* or between two characters (`'character'`); absent for a cut at a
|
|
728
|
-
* no-break space, at the edge of a run of another script, or next to an
|
|
762
|
+
* no-break space, after a slash, at a zero-width space, at the edge of a run of another script, or next to an
|
|
729
763
|
* ideograph, which divide no word.
|
|
730
764
|
*/
|
|
731
765
|
export function emergencySplit(token, font, letterSpacingPx, lineMaxWidth, syllablesOnly = false) {
|
|
@@ -762,6 +796,33 @@ export function emergencySplit(token, font, letterSpacingPx, lineMaxWidth, sylla
|
|
|
762
796
|
tail: { ...restFrom(idx + 1), ...flags, ...pieceScriptFields(token, idx + 1, text.length) },
|
|
763
797
|
};
|
|
764
798
|
}
|
|
799
|
+
// After a slash ("ACC/" | "AHA/AAPA"), any slash but the `//` of an
|
|
800
|
+
// address (with `bodyText.breakAfterSlashes`), or at a free break of the
|
|
801
|
+
// token's (a zero-width space the author typed, a dash): no word is
|
|
802
|
+
// divided and nothing is added (#1164). The
|
|
803
|
+
// last one that leaves a head that fits wins over a syllable and over a
|
|
804
|
+
// cut between letters.
|
|
805
|
+
const joints = new Set();
|
|
806
|
+
if (getSlashBreaks())
|
|
807
|
+
for (let idx = 2; idx < text.length; idx++) {
|
|
808
|
+
if (text[idx - 1] === '/' && text[idx] !== '/' && text[idx - 2] !== '/')
|
|
809
|
+
joints.add(idx);
|
|
810
|
+
}
|
|
811
|
+
for (const bp of token.breakPoints ?? [])
|
|
812
|
+
if (bp.free && !bp.cjk && !token.bareBreaks)
|
|
813
|
+
joints.add(bp.charIndex);
|
|
814
|
+
if (joints.size > 0 && !hasCJK(text)) {
|
|
815
|
+
const sorted = [...joints].filter((idx) => idx > 0 && idx < text.length).sort((a, b) => b - a);
|
|
816
|
+
for (const idx of sorted) {
|
|
817
|
+
const headWidth = widthBefore(idx);
|
|
818
|
+
if (headWidth > lineMaxWidth)
|
|
819
|
+
continue;
|
|
820
|
+
return {
|
|
821
|
+
head: { ...flags, ...pieceScriptFields(token, 0, idx), text: text.slice(0, idx), kind: 'text', width: headWidth },
|
|
822
|
+
tail: { ...restFrom(idx), ...flags, ...pieceScriptFields(token, idx, text.length) },
|
|
823
|
+
};
|
|
824
|
+
}
|
|
825
|
+
}
|
|
765
826
|
// No hyphen where the cut falls next to an ideograph, or right after a
|
|
766
827
|
// hyphen of the text.
|
|
767
828
|
const afterHyphen = (idx) => text[idx - 1] === '-';
|
|
@@ -1430,7 +1491,9 @@ keepAll = false) {
|
|
|
1430
1491
|
});
|
|
1431
1492
|
continue;
|
|
1432
1493
|
}
|
|
1433
|
-
const
|
|
1494
|
+
const syllabified = isSpace ? { clean: part, soft: [] } : syllabify(part, shouldHyphenate && inCompound?.[partAt] !== true);
|
|
1495
|
+
// The author's zero-width spaces: breaks, out of the text (#1164).
|
|
1496
|
+
const { clean, soft, zeroWidth } = isSpace || !syllabified.clean.includes(ZERO_WIDTH_SPACE) || hasCJK(syllabified.clean) ? { ...syllabified, zeroWidth: [] } : dropZeroWidthSpaces(syllabified.clean, syllabified.soft);
|
|
1434
1497
|
// The characters this word touches, for a dash that opens it
|
|
1435
1498
|
// ("**riddles.**—I", "*\"no\"*—and"): the end of a word run just
|
|
1436
1499
|
// before, no space in between.
|
|
@@ -1452,7 +1515,7 @@ keepAll = false) {
|
|
|
1452
1515
|
const wordSpacing = isSpace ? letterSpacingPx : untracked ? 0 : wordLetterSpacing(clean, letterSpacingPx);
|
|
1453
1516
|
const inScript = measured.whole;
|
|
1454
1517
|
const contextFields = measured.fields;
|
|
1455
|
-
const breakPoints = isSpace ? [] : wordBreakPoints(clean, soft, font, wordSpacing, sc, dashBreaks, touching, cjk, measured.upTo, ownPieces && !cjk);
|
|
1518
|
+
const breakPoints = isSpace ? [] : wordBreakPoints(clean, soft, font, wordSpacing, sc, dashBreaks, touching, cjk, measured.upTo, ownPieces && !cjk, zeroWidth);
|
|
1456
1519
|
if (breakPoints.length > 0) {
|
|
1457
1520
|
tokens.push({
|
|
1458
1521
|
text: clean,
|