postext 1.33.2 → 1.33.3
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__/linearScans.test.d.ts +2 -0
- package/dist/__tests__/linearScans.test.d.ts.map +1 -0
- package/dist/__tests__/linearScans.test.js +112 -0
- package/dist/__tests__/linearScans.test.js.map +1 -0
- package/dist/__tests__/pipeline/refLabelBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/refLabelBreaks.test.js.map +1 -1
- package/dist/__tests__/svgFonts.test.js +1 -1
- package/dist/__tests__/svgFonts.test.js.map +1 -1
- package/dist/bundle/api.d.ts.map +1 -1
- package/dist/bundle/api.js +51 -5
- package/dist/bundle/api.js.map +1 -1
- package/dist/bundle/configVersion.d.ts.map +1 -1
- package/dist/bundle/configVersion.js +12 -4
- package/dist/bundle/configVersion.js.map +1 -1
- package/dist/bundle/manifest.d.ts.map +1 -1
- package/dist/bundle/manifest.js +15 -1
- package/dist/bundle/manifest.js.map +1 -1
- package/dist/canvas-backend/blockRender.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.js +2 -1
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/verticalText.d.ts.map +1 -1
- package/dist/canvas-backend/verticalText.js +8 -3
- package/dist/canvas-backend/verticalText.js.map +1 -1
- package/dist/citations/bibtex.d.ts.map +1 -1
- package/dist/citations/bibtex.js +31 -10
- package/dist/citations/bibtex.js.map +1 -1
- package/dist/code/highlight.js +62 -12
- package/dist/code/highlight.js.map +1 -1
- package/dist/comics/layoutPage.d.ts.map +1 -1
- package/dist/comics/layoutPage.js +2 -1
- package/dist/comics/layoutPage.js.map +1 -1
- package/dist/comics/page.js +1 -1
- package/dist/comics/paint.d.ts.map +1 -1
- package/dist/comics/paint.js +3 -1
- package/dist/comics/paint.js.map +1 -1
- package/dist/comics/script.d.ts.map +1 -1
- package/dist/comics/script.js +5 -2
- package/dist/comics/script.js.map +1 -1
- package/dist/comics/split.d.ts.map +1 -1
- package/dist/comics/split.js +3 -1
- package/dist/comics/split.js.map +1 -1
- package/dist/comics/strip.d.ts.map +1 -1
- package/dist/comics/strip.js +3 -2
- package/dist/comics/strip.js.map +1 -1
- package/dist/contrast.js +3 -3
- package/dist/contrast.js.map +1 -1
- package/dist/design/layout.js +2 -2
- package/dist/design/layout.js.map +1 -1
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +9 -9
- package/dist/frontmatter.js.map +1 -1
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +55 -4
- package/dist/html-backend.js.map +1 -1
- package/dist/looseLines.d.ts.map +1 -1
- package/dist/looseLines.js +2 -2
- package/dist/looseLines.js.map +1 -1
- package/dist/measure/breakRules.d.ts.map +1 -1
- package/dist/measure/breakRules.js +3 -2
- package/dist/measure/breakRules.js.map +1 -1
- package/dist/measure/cjkAnnotate.d.ts.map +1 -1
- package/dist/measure/cjkAnnotate.js +3 -2
- package/dist/measure/cjkAnnotate.js.map +1 -1
- package/dist/measure/cjkCompose.d.ts.map +1 -1
- package/dist/measure/cjkCompose.js +5 -5
- package/dist/measure/cjkCompose.js.map +1 -1
- package/dist/measure/font.d.ts.map +1 -1
- package/dist/measure/font.js +2 -1
- package/dist/measure/font.js.map +1 -1
- package/dist/measure/fontString.d.ts +29 -0
- package/dist/measure/fontString.d.ts.map +1 -1
- package/dist/measure/fontString.js +156 -7
- package/dist/measure/fontString.js.map +1 -1
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +12 -14
- package/dist/measure/rich.js.map +1 -1
- package/dist/measure/vertical.d.ts.map +1 -1
- package/dist/measure/vertical.js +5 -5
- package/dist/measure/vertical.js.map +1 -1
- package/dist/parse/citations.d.ts.map +1 -1
- package/dist/parse/citations.js +5 -1
- package/dist/parse/citations.js.map +1 -1
- package/dist/parse/equationLabels.d.ts +11 -3
- package/dist/parse/equationLabels.d.ts.map +1 -1
- package/dist/parse/equationLabels.js +26 -17
- package/dist/parse/equationLabels.js.map +1 -1
- package/dist/parse/inlineFormatting.d.ts +26 -0
- package/dist/parse/inlineFormatting.d.ts.map +1 -1
- package/dist/parse/inlineFormatting.js +216 -49
- package/dist/parse/inlineFormatting.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +4 -5
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/crossRefs.d.ts.map +1 -1
- package/dist/pipeline/crossRefs.js +9 -1
- package/dist/pipeline/crossRefs.js.map +1 -1
- package/dist/pipeline/headerFooter.js +3 -3
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/parts.d.ts.map +1 -1
- package/dist/pipeline/parts.js +13 -1
- package/dist/pipeline/parts.js.map +1 -1
- package/dist/pipeline/placeholders.js +4 -4
- package/dist/pipeline/placeholders.js.map +1 -1
- package/dist/pipeline/statementNumbering.d.ts.map +1 -1
- package/dist/pipeline/statementNumbering.js +6 -13
- package/dist/pipeline/statementNumbering.js.map +1 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +3 -2
- package/dist/preflight.js.map +1 -1
- package/dist/table/model.d.ts.map +1 -1
- package/dist/table/model.js +13 -3
- package/dist/table/model.js.map +1 -1
- package/dist/word/inline.d.ts.map +1 -1
- package/dist/word/inline.js +26 -4
- package/dist/word/inline.js.map +1 -1
- package/dist/word/template.d.ts.map +1 -1
- package/dist/word/template.js +61 -4
- package/dist/word/template.js.map +1 -1
- package/dist/word/toDocx.d.ts.map +1 -1
- package/dist/word/toDocx.js +54 -1
- package/dist/word/toDocx.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-backend.d.ts","sourceRoot":"","sources":["../src/html-backend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EAqBX,aAAa,EACd,MAAM,OAAO,CAAC;AAIf,OAAO,EAA8B,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AA2InF,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;kDAI8C;IAC9C,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,GAAG;QAC5D;;;0BAGkB;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF;;;;;;;;;;;;iEAY6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;4DAGwD;IACxD,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC1D;;;;;;;2DAOuD;IACvD,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;KAAE,CAAC;IACnG;;;wDAGoD;IACpD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C;;;;;;;uEAOmE;IACnE,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B;;;;;;;;;;uBAUmB;IACnB,cAAc,CAAC,EAAE,OAAO,GAAG;QACzB,KAAK,CAAC,EAAE,mBAAmB,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;KACxC,CAAC;CACH;AA4VD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAajE;
|
|
1
|
+
{"version":3,"file":"html-backend.d.ts","sourceRoot":"","sources":["../src/html-backend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EAqBX,aAAa,EACd,MAAM,OAAO,CAAC;AAIf,OAAO,EAA8B,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AA2InF,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;kDAI8C;IAC9C,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC,GAAG;QAC5D;;;0BAGkB;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF;;;;;;;;;;;;iEAY6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;4DAGwD;IACxD,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC1D;;;;;;;2DAOuD;IACvD,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;KAAE,CAAC;IACnG;;;wDAGoD;IACpD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C;;;;;;;uEAOmE;IACnE,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B;;;;;;;;;;uBAUmB;IACnB,cAAc,CAAC,EAAE,OAAO,GAAG;QACzB,KAAK,CAAC,EAAE,mBAAmB,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;KACxC,CAAC;CACH;AA4VD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAajE;AAssFD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;IACvB;4EACwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,QAS4B,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,WAAW,EAChB,OAAO,GAAE,iBAAsB,GAC9B,eAAe,CAuGjB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAEtF"}
|
package/dist/html-backend.js
CHANGED
|
@@ -788,15 +788,63 @@ function refAnchorHref(key) {
|
|
|
788
788
|
return `#${encodeURIComponent(anchorElementId(key.slice(ANCHOR_KEY.length)))}`;
|
|
789
789
|
return `#${encodeURIComponent(resourceAnchorId(key))}`;
|
|
790
790
|
}
|
|
791
|
+
const isDigit = (c) => c !== undefined && c >= '0' && c <= '9';
|
|
792
|
+
const isLineTerminator = (c) => c === '\n' || c === '\r' || c === '\u2028' || c === '\u2029';
|
|
793
|
+
/**
|
|
794
|
+
* A font shorthand split at its first size followed by white space and a
|
|
795
|
+
* family: what comes before the size, the size (`16px`, `12.5px`) and the
|
|
796
|
+
* family. The same as `/^(.*?)(\d+(?:\.\d+)?px)\s+(.+)$/` (`.` stops at a
|
|
797
|
+
* line terminator), read in one pass so that long runs of digits or
|
|
798
|
+
* spaces stay linear; null when there is none.
|
|
799
|
+
*/
|
|
800
|
+
function splitFontSize(font) {
|
|
801
|
+
const n = font.length;
|
|
802
|
+
let lastBreak = -1;
|
|
803
|
+
for (let i = n - 1; i >= 0 && lastBreak < 0; i--)
|
|
804
|
+
if (isLineTerminator(font[i]))
|
|
805
|
+
lastBreak = i;
|
|
806
|
+
for (let i = 0; i < n; i++) {
|
|
807
|
+
const c = font[i];
|
|
808
|
+
// The prefix holds no line terminator.
|
|
809
|
+
if (isLineTerminator(c))
|
|
810
|
+
return null;
|
|
811
|
+
// A size starts at a run's first digit: one inside the run would end
|
|
812
|
+
// where the run's does.
|
|
813
|
+
if (!isDigit(c) || isDigit(font[i - 1]))
|
|
814
|
+
continue;
|
|
815
|
+
let j = i;
|
|
816
|
+
while (isDigit(font[j]))
|
|
817
|
+
j++;
|
|
818
|
+
if (font[j] === '.' && isDigit(font[j + 1])) {
|
|
819
|
+
j++;
|
|
820
|
+
while (isDigit(font[j]))
|
|
821
|
+
j++;
|
|
822
|
+
}
|
|
823
|
+
if (!font.startsWith('px', j))
|
|
824
|
+
continue;
|
|
825
|
+
const sizeEnd = j + 2;
|
|
826
|
+
let spaces = sizeEnd;
|
|
827
|
+
while (spaces < n && /\s/.test(font[spaces]))
|
|
828
|
+
spaces++;
|
|
829
|
+
// The spaces take all they can and leave the family one character
|
|
830
|
+
// (the last space when nothing else follows); the family holds no
|
|
831
|
+
// line terminator.
|
|
832
|
+
const familyStart = spaces < n ? spaces : n - 1;
|
|
833
|
+
if (familyStart <= sizeEnd || lastBreak >= familyStart)
|
|
834
|
+
continue;
|
|
835
|
+
return [font.slice(0, i), font.slice(i, sizeEnd), font.slice(familyStart)];
|
|
836
|
+
}
|
|
837
|
+
return null;
|
|
838
|
+
}
|
|
791
839
|
function quoteFontString(fontString) {
|
|
792
840
|
// Canvas accepts unquoted multi-word families; CSS is stricter. Wrap family in
|
|
793
841
|
// single quotes (double quotes would collide with the outer HTML attribute
|
|
794
842
|
// delimiter) if it contains a space and isn't already quoted. If the family
|
|
795
843
|
// arrives already wrapped in double quotes, rewrite them to single quotes.
|
|
796
|
-
const match = fontString
|
|
844
|
+
const match = splitFontSize(fontString);
|
|
797
845
|
if (!match)
|
|
798
846
|
return fontString;
|
|
799
|
-
const [
|
|
847
|
+
const [prefix, size, family] = match;
|
|
800
848
|
const trimmed = (family ?? '').trim();
|
|
801
849
|
let quoted;
|
|
802
850
|
if (trimmed.startsWith("'")) {
|
|
@@ -2480,7 +2528,8 @@ function renderResourceBlockHtml(block, paint) {
|
|
|
2480
2528
|
'</div>');
|
|
2481
2529
|
}
|
|
2482
2530
|
function extractFontSizePx(fontString) {
|
|
2483
|
-
|
|
2531
|
+
// From a number's first digit only (`\D` before it): linear on long digit runs.
|
|
2532
|
+
const m = fontString.match(/(?:^|\D)(\d+(?:\.\d+)?)px/);
|
|
2484
2533
|
return m ? parseFloat(m[1]) : 16;
|
|
2485
2534
|
}
|
|
2486
2535
|
function boxStyleDecls(style) {
|
|
@@ -3080,7 +3129,9 @@ export function renderToHtmlIndexed(doc, options = {}) {
|
|
|
3080
3129
|
// browser picks the region's glyph forms, and so does a right-to-left one,
|
|
3081
3130
|
// with its direction (see `renderLangOf`).
|
|
3082
3131
|
const reset = rtl ? HTML_TEXT_RESET.replace('direction:ltr;', 'direction:rtl;') : HTML_TEXT_RESET;
|
|
3083
|
-
|
|
3132
|
+
// The mode, gap and padding come from the caller, typed but not checked:
|
|
3133
|
+
// escaped, they cannot leave their attributes.
|
|
3134
|
+
const html = `<div class="pt-doc"${docLang !== undefined ? ` lang="${docLang}"` : ''}${rtl ? ' dir="rtl"' : ''} data-mode="${esc(mode)}" style="${esc(reset + docStyle)}">` +
|
|
3084
3135
|
pageHtmlParts.join('') +
|
|
3085
3136
|
`</div>`;
|
|
3086
3137
|
return { html, mode, pages: indexedPages };
|