@superdoc-dev/mcp 0.12.0-next.1 → 0.12.0-next.10
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/index.js +1474 -289
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -52172,7 +52172,7 @@ var init_remark_gfm_BhnWr3yf_es = __esm(() => {
|
|
|
52172
52172
|
emptyOptions2 = {};
|
|
52173
52173
|
});
|
|
52174
52174
|
|
|
52175
|
-
// ../../packages/superdoc/dist/chunks/SuperConverter-
|
|
52175
|
+
// ../../packages/superdoc/dist/chunks/SuperConverter-BSDZ3hYr.es.js
|
|
52176
52176
|
function getExtensionConfigField(extension$1, field, context = { name: "" }) {
|
|
52177
52177
|
const fieldValue = extension$1.config[field];
|
|
52178
52178
|
if (typeof fieldValue === "function")
|
|
@@ -86315,42 +86315,80 @@ function isSettled(status) {
|
|
|
86315
86315
|
function normalizeFamilyName(name) {
|
|
86316
86316
|
return name.trim().replace(/^['"]+|['"]+$/g, "").trim().toLowerCase();
|
|
86317
86317
|
}
|
|
86318
|
-
function buildFallback(row, physicalFamily) {
|
|
86318
|
+
function buildFallback(row, physicalFamily, verdict, faceSlot, faceSource) {
|
|
86319
|
+
const glyphExceptions = faceSlot ? row.glyphExceptions?.filter((g) => g.slot === faceSlot) : row.glyphExceptions ? [...row.glyphExceptions] : undefined;
|
|
86319
86320
|
return {
|
|
86320
86321
|
substituteFamily: physicalFamily,
|
|
86321
86322
|
policyAction: row.policyAction,
|
|
86322
|
-
verdict
|
|
86323
|
-
lineBreakSafe: LINE_BREAK_SAFE_VERDICTS.has(
|
|
86324
|
-
|
|
86323
|
+
verdict,
|
|
86324
|
+
lineBreakSafe: LINE_BREAK_SAFE_VERDICTS.has(verdict),
|
|
86325
|
+
faces: row.faces,
|
|
86326
|
+
evidenceId: row.evidenceId,
|
|
86327
|
+
generic: row.generic,
|
|
86328
|
+
...faceSource ? { faceSource: { ...faceSource } } : {},
|
|
86329
|
+
...glyphExceptions && glyphExceptions.length > 0 ? { glyphExceptions } : {}
|
|
86325
86330
|
};
|
|
86326
86331
|
}
|
|
86327
86332
|
function decideRow(row, canRenderFamily$1) {
|
|
86328
|
-
const { policyAction, physicalFamily, verdict, evidenceId } = row;
|
|
86333
|
+
const { policyAction, physicalFamily, verdict, evidenceId, generic } = row;
|
|
86329
86334
|
if (policyAction === "preserve_only")
|
|
86330
86335
|
return {
|
|
86331
86336
|
kind: "preserve_only",
|
|
86332
|
-
evidenceId
|
|
86337
|
+
evidenceId,
|
|
86338
|
+
generic
|
|
86333
86339
|
};
|
|
86334
86340
|
if (policyAction === "customer_supplied")
|
|
86335
86341
|
return {
|
|
86336
86342
|
kind: "customer_supplied",
|
|
86337
|
-
evidenceId
|
|
86343
|
+
evidenceId,
|
|
86344
|
+
generic
|
|
86338
86345
|
};
|
|
86339
86346
|
if (physicalFamily === null)
|
|
86340
86347
|
return {
|
|
86341
86348
|
kind: "no_recommended_fallback",
|
|
86342
|
-
evidenceId
|
|
86349
|
+
evidenceId,
|
|
86350
|
+
generic
|
|
86343
86351
|
};
|
|
86344
86352
|
if (canRenderFamily$1 && !canRenderFamily$1(physicalFamily))
|
|
86345
86353
|
return {
|
|
86346
86354
|
kind: "asset_missing",
|
|
86347
86355
|
substituteFamily: physicalFamily,
|
|
86348
86356
|
verdict,
|
|
86349
|
-
evidenceId
|
|
86357
|
+
evidenceId,
|
|
86358
|
+
generic
|
|
86350
86359
|
};
|
|
86351
86360
|
return {
|
|
86352
86361
|
kind: "fallback",
|
|
86353
|
-
fallback: buildFallback(row, physicalFamily)
|
|
86362
|
+
fallback: buildFallback(row, physicalFamily, verdict)
|
|
86363
|
+
};
|
|
86364
|
+
}
|
|
86365
|
+
function isFaceScoped(row) {
|
|
86366
|
+
const f2 = row.faces;
|
|
86367
|
+
return f2.regular || f2.bold || f2.italic || f2.boldItalic;
|
|
86368
|
+
}
|
|
86369
|
+
function faceSourceFor(row, face) {
|
|
86370
|
+
const explicit = row.faceSources?.[face];
|
|
86371
|
+
if (explicit)
|
|
86372
|
+
return explicit;
|
|
86373
|
+
return isFaceScoped(row) && row.faces[face] ? { kind: "real" } : undefined;
|
|
86374
|
+
}
|
|
86375
|
+
function decideRowForFace(row, face, canRenderFamily$1) {
|
|
86376
|
+
const base$1 = decideRow(row, canRenderFamily$1);
|
|
86377
|
+
if (base$1.kind !== "fallback")
|
|
86378
|
+
return base$1;
|
|
86379
|
+
const faceSource = faceSourceFor(row, face);
|
|
86380
|
+
if (isFaceScoped(row) && !faceSource)
|
|
86381
|
+
return {
|
|
86382
|
+
kind: "face_missing",
|
|
86383
|
+
substituteFamily: base$1.fallback.substituteFamily,
|
|
86384
|
+
evidenceId: row.evidenceId,
|
|
86385
|
+
generic: row.generic
|
|
86386
|
+
};
|
|
86387
|
+
const faceVerdict = row.faceVerdicts?.[face] ?? row.verdict;
|
|
86388
|
+
const projectedFaceSource = faceSource?.kind === "synthetic" ? faceSource : undefined;
|
|
86389
|
+
return {
|
|
86390
|
+
kind: "fallback",
|
|
86391
|
+
fallback: buildFallback(row, base$1.fallback.substituteFamily, faceVerdict, face, projectedFaceSource)
|
|
86354
86392
|
};
|
|
86355
86393
|
}
|
|
86356
86394
|
function getFallbackDecision(family$1, options = {}) {
|
|
@@ -86361,6 +86399,14 @@ function getRenderableFallback(family$1, options) {
|
|
|
86361
86399
|
const decision = getFallbackDecision(family$1, options);
|
|
86362
86400
|
return decision.kind === "fallback" ? decision.fallback : null;
|
|
86363
86401
|
}
|
|
86402
|
+
function getFallbackDecisionForFace(family$1, face, options = {}) {
|
|
86403
|
+
const row = BY_LOGICAL.get(normalizeFamilyName(family$1));
|
|
86404
|
+
return row ? decideRowForFace(row, face, options.canRenderFamily) : { kind: "unknown" };
|
|
86405
|
+
}
|
|
86406
|
+
function getRenderableFallbackForFace(family$1, face, options) {
|
|
86407
|
+
const decision = getFallbackDecisionForFace(family$1, face, options);
|
|
86408
|
+
return decision.kind === "fallback" ? decision.fallback : null;
|
|
86409
|
+
}
|
|
86364
86410
|
function fourFaces(filePrefix) {
|
|
86365
86411
|
return [
|
|
86366
86412
|
{
|
|
@@ -86392,12 +86438,87 @@ function family(name, filePrefix, license) {
|
|
|
86392
86438
|
faces: fourFaces(filePrefix)
|
|
86393
86439
|
};
|
|
86394
86440
|
}
|
|
86441
|
+
function familyWithFaces(name, license, faces) {
|
|
86442
|
+
return {
|
|
86443
|
+
family: name,
|
|
86444
|
+
license,
|
|
86445
|
+
faces
|
|
86446
|
+
};
|
|
86447
|
+
}
|
|
86395
86448
|
function normalizeFamilyKey$1(family$1) {
|
|
86396
86449
|
return family$1.trim().replace(/^["']|["']$/g, "").toLowerCase();
|
|
86397
86450
|
}
|
|
86398
86451
|
function sortPairs(pairs) {
|
|
86399
86452
|
return pairs.sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
|
|
86400
86453
|
}
|
|
86454
|
+
function faceSlotFor$1({ weight, style }) {
|
|
86455
|
+
const bold = weight === "700";
|
|
86456
|
+
const italic = style === "italic";
|
|
86457
|
+
if (bold && italic)
|
|
86458
|
+
return "boldItalic";
|
|
86459
|
+
if (bold)
|
|
86460
|
+
return "bold";
|
|
86461
|
+
if (italic)
|
|
86462
|
+
return "italic";
|
|
86463
|
+
return "regular";
|
|
86464
|
+
}
|
|
86465
|
+
function faceKeyForSlot(slot) {
|
|
86466
|
+
switch (slot) {
|
|
86467
|
+
case "bold":
|
|
86468
|
+
return {
|
|
86469
|
+
weight: "700",
|
|
86470
|
+
style: "normal"
|
|
86471
|
+
};
|
|
86472
|
+
case "italic":
|
|
86473
|
+
return {
|
|
86474
|
+
weight: "400",
|
|
86475
|
+
style: "italic"
|
|
86476
|
+
};
|
|
86477
|
+
case "boldItalic":
|
|
86478
|
+
return {
|
|
86479
|
+
weight: "700",
|
|
86480
|
+
style: "italic"
|
|
86481
|
+
};
|
|
86482
|
+
case "regular":
|
|
86483
|
+
return {
|
|
86484
|
+
weight: "400",
|
|
86485
|
+
style: "normal"
|
|
86486
|
+
};
|
|
86487
|
+
}
|
|
86488
|
+
}
|
|
86489
|
+
function reasonForFallback(policyAction) {
|
|
86490
|
+
return policyAction === "category_fallback" ? "category_fallback" : "bundled_substitute";
|
|
86491
|
+
}
|
|
86492
|
+
function resolveDocfontsFace(primary, face, hasFace) {
|
|
86493
|
+
const decision = getFallbackDecisionForFace(primary, faceSlotFor$1(face), { canRenderFamily });
|
|
86494
|
+
if (decision.kind === "face_missing")
|
|
86495
|
+
return {
|
|
86496
|
+
physical: primary,
|
|
86497
|
+
reason: "fallback_face_absent"
|
|
86498
|
+
};
|
|
86499
|
+
if (decision.kind !== "fallback")
|
|
86500
|
+
return null;
|
|
86501
|
+
const fallback = decision.fallback;
|
|
86502
|
+
if (fallback.policyAction !== "substitute" && fallback.policyAction !== "category_fallback")
|
|
86503
|
+
return null;
|
|
86504
|
+
if (hasFace(fallback.substituteFamily, face.weight, face.style))
|
|
86505
|
+
return {
|
|
86506
|
+
physical: fallback.substituteFamily,
|
|
86507
|
+
reason: reasonForFallback(fallback.policyAction)
|
|
86508
|
+
};
|
|
86509
|
+
const sourceFace = fallback.faceSource?.kind === "synthetic" ? faceKeyForSlot(fallback.faceSource.from) : face;
|
|
86510
|
+
if (!hasFace(fallback.substituteFamily, sourceFace.weight, sourceFace.style))
|
|
86511
|
+
return fallback.policyAction === "substitute" ? {
|
|
86512
|
+
physical: primary,
|
|
86513
|
+
reason: "fallback_face_absent"
|
|
86514
|
+
} : null;
|
|
86515
|
+
const sourceDiffers = sourceFace.weight !== face.weight || sourceFace.style !== face.style;
|
|
86516
|
+
return {
|
|
86517
|
+
physical: fallback.substituteFamily,
|
|
86518
|
+
reason: reasonForFallback(fallback.policyAction),
|
|
86519
|
+
...sourceDiffers ? { sourceFace } : {}
|
|
86520
|
+
};
|
|
86521
|
+
}
|
|
86401
86522
|
function deriveBundledSubstitutes() {
|
|
86402
86523
|
const substitutes = {};
|
|
86403
86524
|
for (const row of SUBSTITUTION_EVIDENCE) {
|
|
@@ -86491,6 +86612,17 @@ function installBundledSubstitutes(registry2, options = {}) {
|
|
|
86491
86612
|
});
|
|
86492
86613
|
}
|
|
86493
86614
|
}
|
|
86615
|
+
function toEvidence(fallback) {
|
|
86616
|
+
if (!fallback)
|
|
86617
|
+
return;
|
|
86618
|
+
return {
|
|
86619
|
+
evidenceId: fallback.evidenceId,
|
|
86620
|
+
policyAction: fallback.policyAction,
|
|
86621
|
+
verdict: fallback.verdict,
|
|
86622
|
+
lineBreakSafe: fallback.lineBreakSafe,
|
|
86623
|
+
...fallback.glyphExceptions ? { glyphExceptions: fallback.glyphExceptions } : {}
|
|
86624
|
+
};
|
|
86625
|
+
}
|
|
86494
86626
|
function buildFontReport(logicalFamilies, registry2, resolver$1) {
|
|
86495
86627
|
const seen = /* @__PURE__ */ new Set;
|
|
86496
86628
|
const report = [];
|
|
@@ -86500,13 +86632,15 @@ function buildFontReport(logicalFamilies, registry2, resolver$1) {
|
|
|
86500
86632
|
seen.add(logical);
|
|
86501
86633
|
const { physicalFamily, reason } = resolver$1 ? resolver$1.resolveFontFamily(logical) : resolveFontFamily(logical);
|
|
86502
86634
|
const loadStatus = registry2.getStatus(physicalFamily);
|
|
86635
|
+
const evidence = isRenderedSubstitute(reason) ? toEvidence(getRenderableFallback(logical, RENDER_ALL)) : undefined;
|
|
86503
86636
|
report.push({
|
|
86504
86637
|
logicalFamily: logical,
|
|
86505
86638
|
physicalFamily,
|
|
86506
86639
|
reason,
|
|
86507
86640
|
loadStatus,
|
|
86508
86641
|
exportFamily: logical,
|
|
86509
|
-
missing: reason === "category_fallback" || isSettled(loadStatus) && loadStatus !== "loaded"
|
|
86642
|
+
missing: reason === "category_fallback" || isSettled(loadStatus) && loadStatus !== "loaded",
|
|
86643
|
+
...evidence ? { evidence } : {}
|
|
86510
86644
|
});
|
|
86511
86645
|
}
|
|
86512
86646
|
return report;
|
|
@@ -86526,13 +86660,16 @@ function buildFaceReport(usedFaces, registry2, resolver$1) {
|
|
|
86526
86660
|
weight,
|
|
86527
86661
|
style
|
|
86528
86662
|
};
|
|
86529
|
-
const
|
|
86663
|
+
const resolution = resolver$1 ? resolver$1.resolveFace(logicalFamily, face, hasFace) : resolveFace(logicalFamily, face, hasFace);
|
|
86664
|
+
const { physicalFamily, reason } = resolution;
|
|
86665
|
+
const statusFace = resolution.sourceFace ?? face;
|
|
86530
86666
|
const loadStatus = registry2.getFaceStatus({
|
|
86531
86667
|
family: physicalFamily,
|
|
86532
|
-
weight,
|
|
86533
|
-
style
|
|
86668
|
+
weight: statusFace.weight,
|
|
86669
|
+
style: statusFace.style
|
|
86534
86670
|
});
|
|
86535
86671
|
const missing = reason === "fallback_face_absent" || reason === "category_fallback" || isSettled(loadStatus) && loadStatus !== "loaded";
|
|
86672
|
+
const evidence = isRenderedSubstitute(reason) ? toEvidence(getRenderableFallbackForFace(logicalFamily, faceSlotFor(face), RENDER_ALL)) : undefined;
|
|
86536
86673
|
report.push({
|
|
86537
86674
|
logicalFamily,
|
|
86538
86675
|
physicalFamily: reason === "registered_face" ? logicalFamily : physicalFamily,
|
|
@@ -86540,7 +86677,8 @@ function buildFaceReport(usedFaces, registry2, resolver$1) {
|
|
|
86540
86677
|
loadStatus,
|
|
86541
86678
|
exportFamily: logicalFamily,
|
|
86542
86679
|
missing,
|
|
86543
|
-
face
|
|
86680
|
+
face,
|
|
86681
|
+
...evidence ? { evidence } : {}
|
|
86544
86682
|
});
|
|
86545
86683
|
}
|
|
86546
86684
|
return report;
|
|
@@ -86643,7 +86781,7 @@ function deriveOfferings() {
|
|
|
86643
86781
|
return {
|
|
86644
86782
|
logicalFamily: row.logicalFamily,
|
|
86645
86783
|
physicalFamily: row.physicalFamily,
|
|
86646
|
-
generic: row.
|
|
86784
|
+
generic: row.generic,
|
|
86647
86785
|
offering: classifyOffering(row.policyAction, row.verdict, row.physicalFamily, bundled),
|
|
86648
86786
|
bundled,
|
|
86649
86787
|
verdict: row.verdict,
|
|
@@ -86652,12 +86790,11 @@ function deriveOfferings() {
|
|
|
86652
86790
|
});
|
|
86653
86791
|
return Object.freeze(offerings);
|
|
86654
86792
|
}
|
|
86655
|
-
function
|
|
86656
|
-
|
|
86657
|
-
|
|
86658
|
-
|
|
86659
|
-
|
|
86660
|
-
return FONT_OFFERINGS.filter((o) => o.offering === "default").sort((a, b) => rank$1(a.logicalFamily) - rank$1(b.logicalFamily));
|
|
86793
|
+
function compareLogicalFamily(a, b) {
|
|
86794
|
+
return a.logicalFamily.localeCompare(b.logicalFamily, "en", { sensitivity: "base" });
|
|
86795
|
+
}
|
|
86796
|
+
function getBuiltInToolbarFontOfferings() {
|
|
86797
|
+
return FONT_OFFERINGS.filter((o) => o.offering === "default" || o.bundled && ADVERTISED_BUILT_IN_TOOLBAR_FAMILIES.has(o.logicalFamily) && (o.offering === "qualified" || o.offering === "category_fallback")).sort(compareLogicalFamily);
|
|
86661
86798
|
}
|
|
86662
86799
|
function fontOfferingStack(offering) {
|
|
86663
86800
|
return `${offering.logicalFamily}, ${offering.generic}`;
|
|
@@ -86666,11 +86803,38 @@ function fontOfferingRenderStack(offering) {
|
|
|
86666
86803
|
return offering.physicalFamily ? `${offering.physicalFamily}, ${offering.generic}` : fontOfferingStack(offering);
|
|
86667
86804
|
}
|
|
86668
86805
|
function getDefaultFontFamilyOptions() {
|
|
86669
|
-
return
|
|
86806
|
+
return getBuiltInToolbarFontOfferings().map((offering) => ({
|
|
86670
86807
|
label: offering.logicalFamily,
|
|
86671
86808
|
value: fontOfferingStack(offering)
|
|
86672
86809
|
}));
|
|
86673
86810
|
}
|
|
86811
|
+
function normalizeKey(family$1) {
|
|
86812
|
+
return family$1.trim().replace(/^["']|["']$/g, "").toLowerCase();
|
|
86813
|
+
}
|
|
86814
|
+
function isRegularFace(rec) {
|
|
86815
|
+
return rec.face?.weight === "400" && rec.face?.style === "normal";
|
|
86816
|
+
}
|
|
86817
|
+
function buildDocumentFontOptions(usedFaces, registry2, resolver$1) {
|
|
86818
|
+
const faceRecords = buildFaceReport(usedFaces, registry2, resolver$1);
|
|
86819
|
+
const agg = /* @__PURE__ */ new Map;
|
|
86820
|
+
for (const rec of faceRecords) {
|
|
86821
|
+
const key = normalizeKey(rec.logicalFamily);
|
|
86822
|
+
const existing = agg.get(key);
|
|
86823
|
+
if (!existing) {
|
|
86824
|
+
agg.set(key, rec);
|
|
86825
|
+
continue;
|
|
86826
|
+
}
|
|
86827
|
+
if (isRegularFace(rec) && !isRegularFace(existing))
|
|
86828
|
+
agg.set(key, rec);
|
|
86829
|
+
}
|
|
86830
|
+
const options = [];
|
|
86831
|
+
for (const rep of agg.values())
|
|
86832
|
+
options.push({
|
|
86833
|
+
logicalFamily: rep.logicalFamily,
|
|
86834
|
+
previewFamily: rep.physicalFamily
|
|
86835
|
+
});
|
|
86836
|
+
return options;
|
|
86837
|
+
}
|
|
86674
86838
|
function writeAppStatistics(convertedXml, stats) {
|
|
86675
86839
|
const elements = ensureElements$1(ensureAppPropertiesRoot(convertedXml));
|
|
86676
86840
|
upsertSimpleElement(elements, "Words", String(stats.words));
|
|
@@ -88660,12 +88824,14 @@ function applyTocMetadata(blocks, metadata) {
|
|
|
88660
88824
|
};
|
|
88661
88825
|
if (metadata.instruction)
|
|
88662
88826
|
block.attrs.tocInstruction = metadata.instruction;
|
|
88827
|
+
if (metadata.tocId)
|
|
88828
|
+
block.attrs.tocId = metadata.tocId;
|
|
88663
88829
|
}
|
|
88664
88830
|
});
|
|
88665
88831
|
}
|
|
88666
88832
|
function processTocChildren(children, metadata, context, outputArrays) {
|
|
88667
88833
|
const paragraphConverter = context.converters.paragraphToFlowBlocks;
|
|
88668
|
-
const { docPartGallery, docPartObjectId, tocInstruction } = metadata;
|
|
88834
|
+
const { docPartGallery, docPartObjectId, tocInstruction, tocId } = metadata;
|
|
88669
88835
|
const { blocks, recordBlockKind } = outputArrays;
|
|
88670
88836
|
children.forEach((child) => {
|
|
88671
88837
|
if (child.type === "paragraph") {
|
|
@@ -88690,7 +88856,8 @@ function processTocChildren(children, metadata, context, outputArrays) {
|
|
|
88690
88856
|
applyTocMetadata(paragraphBlocks, {
|
|
88691
88857
|
gallery: docPartGallery,
|
|
88692
88858
|
uniqueId: docPartObjectId,
|
|
88693
|
-
instruction: tocInstruction
|
|
88859
|
+
instruction: tocInstruction,
|
|
88860
|
+
tocId
|
|
88694
88861
|
});
|
|
88695
88862
|
applySdtMetadataToParagraphBlocks(paragraphBlocks.filter((b) => b.kind === "paragraph"), metadata.sdtMetadata);
|
|
88696
88863
|
paragraphBlocks.forEach((block) => {
|
|
@@ -88705,7 +88872,8 @@ function processTocChildren(children, metadata, context, outputArrays) {
|
|
|
88705
88872
|
docPartGallery,
|
|
88706
88873
|
docPartObjectId,
|
|
88707
88874
|
tocInstruction: finalInstruction,
|
|
88708
|
-
sdtMetadata: metadata.sdtMetadata
|
|
88875
|
+
sdtMetadata: metadata.sdtMetadata,
|
|
88876
|
+
tocId
|
|
88709
88877
|
}, context, outputArrays);
|
|
88710
88878
|
}
|
|
88711
88879
|
});
|
|
@@ -88713,7 +88881,11 @@ function processTocChildren(children, metadata, context, outputArrays) {
|
|
|
88713
88881
|
function handleTableOfContentsNode(node2, context) {
|
|
88714
88882
|
if (!Array.isArray(node2.content))
|
|
88715
88883
|
return;
|
|
88716
|
-
|
|
88884
|
+
const sdBlockId = node2.attrs?.sdBlockId;
|
|
88885
|
+
processTocChildren(node2.content, {
|
|
88886
|
+
tocInstruction: getNodeInstruction(node2),
|
|
88887
|
+
tocId: typeof sdBlockId === "string" ? sdBlockId : undefined
|
|
88888
|
+
}, {
|
|
88717
88889
|
nextBlockId: context.nextBlockId,
|
|
88718
88890
|
positions: context.positions,
|
|
88719
88891
|
bookmarks: context.bookmarks,
|
|
@@ -89042,7 +89214,8 @@ function processDocumentPartObject(child, sectionMetadata, context, output, conv
|
|
|
89042
89214
|
docPartGallery,
|
|
89043
89215
|
docPartObjectId,
|
|
89044
89216
|
tocInstruction,
|
|
89045
|
-
sdtMetadata: docPartSdtMetadata
|
|
89217
|
+
sdtMetadata: docPartSdtMetadata,
|
|
89218
|
+
tocId: docPartObjectId ?? undefined
|
|
89046
89219
|
}, {
|
|
89047
89220
|
nextBlockId: context.nextBlockId,
|
|
89048
89221
|
positions: context.positions,
|
|
@@ -89113,12 +89286,15 @@ function handleDocumentPartObjectNode(node2, context) {
|
|
|
89113
89286
|
const tocInstruction = getNodeInstruction(node2);
|
|
89114
89287
|
const docPartSdtMetadata = resolveNodeSdtMetadata(node2, "docPartObject");
|
|
89115
89288
|
const paragraphToFlowBlocks$1 = converters$1.paragraphToFlowBlocks;
|
|
89289
|
+
const sdBlockId = node2.attrs?.sdBlockId;
|
|
89290
|
+
const tocId = docPartObjectId && docPartObjectId.length > 0 ? docPartObjectId : typeof sdBlockId === "string" && sdBlockId.length > 0 ? sdBlockId : undefined;
|
|
89116
89291
|
if (docPartGallery === "Table of Contents")
|
|
89117
89292
|
processTocChildren(Array.from(node2.content), {
|
|
89118
89293
|
docPartGallery,
|
|
89119
89294
|
docPartObjectId,
|
|
89120
89295
|
tocInstruction,
|
|
89121
|
-
sdtMetadata: docPartSdtMetadata
|
|
89296
|
+
sdtMetadata: docPartSdtMetadata,
|
|
89297
|
+
tocId
|
|
89122
89298
|
}, {
|
|
89123
89299
|
nextBlockId,
|
|
89124
89300
|
positions,
|
|
@@ -89166,7 +89342,8 @@ function handleDocumentPartObjectNode(node2, context) {
|
|
|
89166
89342
|
docPartGallery: docPartGallery ?? "",
|
|
89167
89343
|
docPartObjectId,
|
|
89168
89344
|
tocInstruction: getNodeInstruction(child) ?? tocInstruction,
|
|
89169
|
-
sdtMetadata: docPartSdtMetadata
|
|
89345
|
+
sdtMetadata: docPartSdtMetadata,
|
|
89346
|
+
tocId
|
|
89170
89347
|
};
|
|
89171
89348
|
const tocContext = {
|
|
89172
89349
|
nextBlockId,
|
|
@@ -113559,18 +113736,10 @@ var isRegExp = (value) => {
|
|
|
113559
113736
|
physical: primary,
|
|
113560
113737
|
reason: "registered_face"
|
|
113561
113738
|
};
|
|
113739
|
+
const docfonts = resolveDocfontsFace(primary, face, hasFace);
|
|
113740
|
+
if (docfonts)
|
|
113741
|
+
return docfonts;
|
|
113562
113742
|
const bundled = BUNDLED_SUBSTITUTES[key];
|
|
113563
|
-
if (bundled && hasFace(bundled, face.weight, face.style))
|
|
113564
|
-
return {
|
|
113565
|
-
physical: bundled,
|
|
113566
|
-
reason: "bundled_substitute"
|
|
113567
|
-
};
|
|
113568
|
-
const category = CATEGORY_FALLBACKS[key];
|
|
113569
|
-
if (category && hasFace(category, face.weight, face.style))
|
|
113570
|
-
return {
|
|
113571
|
-
physical: category,
|
|
113572
|
-
reason: "category_fallback"
|
|
113573
|
-
};
|
|
113574
113743
|
if (override || bundled)
|
|
113575
113744
|
return {
|
|
113576
113745
|
physical: primary,
|
|
@@ -113603,11 +113772,12 @@ var isRegExp = (value) => {
|
|
|
113603
113772
|
}
|
|
113604
113773
|
resolveFace(logicalFamily, face, hasFace) {
|
|
113605
113774
|
const primary = splitStack(logicalFamily)[0] ?? logicalFamily;
|
|
113606
|
-
const { physical, reason } = this.#resolveFaceLadder(primary, face, hasFace);
|
|
113775
|
+
const { physical, reason, sourceFace } = this.#resolveFaceLadder(primary, face, hasFace);
|
|
113607
113776
|
return {
|
|
113608
113777
|
logicalFamily,
|
|
113609
113778
|
physicalFamily: stripFamilyQuotes(physical),
|
|
113610
|
-
reason
|
|
113779
|
+
reason,
|
|
113780
|
+
...sourceFace ? { sourceFace } : {}
|
|
113611
113781
|
};
|
|
113612
113782
|
}
|
|
113613
113783
|
resolvePhysicalFamilyForFace(cssFontFamily, face, hasFace) {
|
|
@@ -113632,7 +113802,17 @@ var isRegExp = (value) => {
|
|
|
113632
113802
|
out.add(this.resolvePrimaryPhysicalFamily(family$1));
|
|
113633
113803
|
return [...out];
|
|
113634
113804
|
}
|
|
113635
|
-
}, defaultResolver, DEFAULT_FONT_MEASURE_CONTEXT, fontConfigVersion = 0, defaultAssetBase = "/fonts/", installedRegistries,
|
|
113805
|
+
}, defaultResolver, DEFAULT_FONT_MEASURE_CONTEXT, fontConfigVersion = 0, defaultAssetBase = "/fonts/", installedRegistries, faceSlotFor = ({ weight, style }) => {
|
|
113806
|
+
const bold = weight === "700";
|
|
113807
|
+
const italic = style === "italic";
|
|
113808
|
+
if (bold && italic)
|
|
113809
|
+
return "boldItalic";
|
|
113810
|
+
if (bold)
|
|
113811
|
+
return "bold";
|
|
113812
|
+
if (italic)
|
|
113813
|
+
return "italic";
|
|
113814
|
+
return "regular";
|
|
113815
|
+
}, isRenderedSubstitute = (reason) => reason === "bundled_substitute" || reason === "category_fallback", RENDER_ALL, FS_TYPE_RESTRICTED = 2, FS_SELECTION_ITALIC = 1, BOLD_WEIGHT_THRESHOLD = 600, SFNT_TABLE_DIR_OFFSET = 12, SFNT_TABLE_RECORD_SIZE = 16, OS2_USWEIGHTCLASS = 4, OS2_FSTYPE = 8, OS2_FSSELECTION = 62, OS2_MIN_LENGTH, DEFAULT_FONT_LOAD_TIMEOUT_MS = 3000, DEFAULT_PROBE_SIZE = "16px", FontRegistry = class {
|
|
113636
113816
|
#fontSet;
|
|
113637
113817
|
#FontFaceCtor;
|
|
113638
113818
|
#probeSize;
|
|
@@ -113973,7 +114153,7 @@ var isRegExp = (value) => {
|
|
|
113973
114153
|
const detail = sources && sources.length ? ` from ${sources.join(", ")}` : "";
|
|
113974
114154
|
console.warn(`[superdoc] font asset failed to load for "${family$1}"${detail}. Check fonts.assetBaseUrl / fonts.resolveAssetUrl so the bundled .woff2 are served.`);
|
|
113975
114155
|
}
|
|
113976
|
-
}, registriesByFontSet, domlessRegistry = null,
|
|
114156
|
+
}, registriesByFontSet, domlessRegistry = null, BUNDLED_FAMILIES, ADVERTISED_BUILT_IN_TOOLBAR_FAMILIES, FONT_OFFERINGS, prepareCommentParaIds = (comment) => {
|
|
113977
114157
|
return {
|
|
113978
114158
|
...comment,
|
|
113979
114159
|
commentParaId: generateDocxRandomId()
|
|
@@ -117949,7 +118129,7 @@ var isRegExp = (value) => {
|
|
|
117949
118129
|
state.kern = kernNode.attributes["w:val"];
|
|
117950
118130
|
}
|
|
117951
118131
|
}, SuperConverter;
|
|
117952
|
-
var
|
|
118132
|
+
var init_SuperConverter_BSDZ3hYr_es = __esm(() => {
|
|
117953
118133
|
init_rolldown_runtime_Bg48TavK_es();
|
|
117954
118134
|
init_jszip_C49i9kUs_es();
|
|
117955
118135
|
init_xml_js_CqGKpaft_es();
|
|
@@ -155269,6 +155449,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155269
155449
|
SUBSTITUTION_EVIDENCE$1 = [
|
|
155270
155450
|
{
|
|
155271
155451
|
evidenceId: "calibri",
|
|
155452
|
+
generic: "sans-serif",
|
|
155272
155453
|
logicalFamily: "Calibri",
|
|
155273
155454
|
physicalFamily: "Carlito",
|
|
155274
155455
|
verdict: "metric_safe",
|
|
@@ -155288,6 +155469,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155288
155469
|
measurementRefs: ["calibri__carlito#analytic_advance#2026-06-03", "calibri__carlito#face_aggregate#2026-06-03"],
|
|
155289
155470
|
exportRule: "preserve_original_name",
|
|
155290
155471
|
advance: {
|
|
155472
|
+
basis: "latin_full",
|
|
155291
155473
|
meanDelta: 0,
|
|
155292
155474
|
maxDelta: 0
|
|
155293
155475
|
},
|
|
@@ -155295,6 +155477,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155295
155477
|
},
|
|
155296
155478
|
{
|
|
155297
155479
|
evidenceId: "cambria",
|
|
155480
|
+
generic: "serif",
|
|
155298
155481
|
logicalFamily: "Cambria",
|
|
155299
155482
|
physicalFamily: "Caladea",
|
|
155300
155483
|
verdict: "visual_only",
|
|
@@ -155319,6 +155502,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155319
155502
|
],
|
|
155320
155503
|
exportRule: "preserve_original_name",
|
|
155321
155504
|
advance: {
|
|
155505
|
+
basis: "latin_full",
|
|
155322
155506
|
meanDelta: 0.0002378,
|
|
155323
155507
|
maxDelta: 0.2310758
|
|
155324
155508
|
},
|
|
@@ -155338,6 +155522,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155338
155522
|
},
|
|
155339
155523
|
{
|
|
155340
155524
|
evidenceId: "arial",
|
|
155525
|
+
generic: "sans-serif",
|
|
155341
155526
|
logicalFamily: "Arial",
|
|
155342
155527
|
physicalFamily: "Liberation Sans",
|
|
155343
155528
|
verdict: "metric_safe",
|
|
@@ -155357,6 +155542,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155357
155542
|
measurementRefs: ["arial__liberation-sans#analytic_advance#2026-06-03"],
|
|
155358
155543
|
exportRule: "preserve_original_name",
|
|
155359
155544
|
advance: {
|
|
155545
|
+
basis: "latin_full",
|
|
155360
155546
|
meanDelta: 0,
|
|
155361
155547
|
maxDelta: 0
|
|
155362
155548
|
},
|
|
@@ -155364,6 +155550,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155364
155550
|
},
|
|
155365
155551
|
{
|
|
155366
155552
|
evidenceId: "times-new-roman",
|
|
155553
|
+
generic: "serif",
|
|
155367
155554
|
logicalFamily: "Times New Roman",
|
|
155368
155555
|
physicalFamily: "Liberation Serif",
|
|
155369
155556
|
verdict: "metric_safe",
|
|
@@ -155383,6 +155570,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155383
155570
|
measurementRefs: ["times-new-roman__liberation-serif#analytic_advance#2026-06-03"],
|
|
155384
155571
|
exportRule: "preserve_original_name",
|
|
155385
155572
|
advance: {
|
|
155573
|
+
basis: "latin_full",
|
|
155386
155574
|
meanDelta: 0,
|
|
155387
155575
|
maxDelta: 0
|
|
155388
155576
|
},
|
|
@@ -155390,6 +155578,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155390
155578
|
},
|
|
155391
155579
|
{
|
|
155392
155580
|
evidenceId: "courier-new",
|
|
155581
|
+
generic: "monospace",
|
|
155393
155582
|
logicalFamily: "Courier New",
|
|
155394
155583
|
physicalFamily: "Liberation Mono",
|
|
155395
155584
|
verdict: "metric_safe",
|
|
@@ -155409,6 +155598,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155409
155598
|
measurementRefs: ["courier-new__liberation-mono#analytic_advance#2026-06-03"],
|
|
155410
155599
|
exportRule: "preserve_original_name",
|
|
155411
155600
|
advance: {
|
|
155601
|
+
basis: "latin_full",
|
|
155412
155602
|
meanDelta: 0,
|
|
155413
155603
|
maxDelta: 0
|
|
155414
155604
|
},
|
|
@@ -155416,6 +155606,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155416
155606
|
},
|
|
155417
155607
|
{
|
|
155418
155608
|
evidenceId: "georgia",
|
|
155609
|
+
generic: "serif",
|
|
155419
155610
|
logicalFamily: "Georgia",
|
|
155420
155611
|
physicalFamily: "Gelasio",
|
|
155421
155612
|
verdict: "near_metric",
|
|
@@ -155444,6 +155635,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155444
155635
|
],
|
|
155445
155636
|
exportRule: "preserve_original_name",
|
|
155446
155637
|
advance: {
|
|
155638
|
+
basis: "latin_full",
|
|
155447
155639
|
meanDelta: 0.0000197,
|
|
155448
155640
|
maxDelta: 0.0183727
|
|
155449
155641
|
},
|
|
@@ -155468,6 +155660,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155468
155660
|
},
|
|
155469
155661
|
{
|
|
155470
155662
|
evidenceId: "arial-narrow",
|
|
155663
|
+
generic: "sans-serif",
|
|
155471
155664
|
logicalFamily: "Arial Narrow",
|
|
155472
155665
|
physicalFamily: "Liberation Sans Narrow",
|
|
155473
155666
|
verdict: "visual_only",
|
|
@@ -155492,6 +155685,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155492
155685
|
],
|
|
155493
155686
|
exportRule: "preserve_original_name",
|
|
155494
155687
|
advance: {
|
|
155688
|
+
basis: "latin_full",
|
|
155495
155689
|
meanDelta: 0,
|
|
155496
155690
|
maxDelta: 0.5
|
|
155497
155691
|
},
|
|
@@ -155511,6 +155705,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155511
155705
|
},
|
|
155512
155706
|
{
|
|
155513
155707
|
evidenceId: "aptos",
|
|
155708
|
+
generic: "sans-serif",
|
|
155514
155709
|
logicalFamily: "Aptos",
|
|
155515
155710
|
physicalFamily: null,
|
|
155516
155711
|
verdict: "no_substitute",
|
|
@@ -155531,8 +155726,134 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155531
155726
|
exportRule: "preserve_original_name",
|
|
155532
155727
|
candidateLicense: null
|
|
155533
155728
|
},
|
|
155729
|
+
{
|
|
155730
|
+
evidenceId: "arial-black",
|
|
155731
|
+
generic: "sans-serif",
|
|
155732
|
+
logicalFamily: "Arial Black",
|
|
155733
|
+
physicalFamily: "Archivo Black",
|
|
155734
|
+
verdict: "visual_only",
|
|
155735
|
+
faces: {
|
|
155736
|
+
regular: true,
|
|
155737
|
+
bold: false,
|
|
155738
|
+
italic: false,
|
|
155739
|
+
boldItalic: false
|
|
155740
|
+
},
|
|
155741
|
+
faceSources: { italic: {
|
|
155742
|
+
kind: "synthetic",
|
|
155743
|
+
from: "regular"
|
|
155744
|
+
} },
|
|
155745
|
+
gates: {
|
|
155746
|
+
static: "pass",
|
|
155747
|
+
metric: "fail",
|
|
155748
|
+
layout: "not_run",
|
|
155749
|
+
ship: "fail"
|
|
155750
|
+
},
|
|
155751
|
+
policyAction: "substitute",
|
|
155752
|
+
measurementRefs: ["arial-black__archivo-black#visual_review#2026-06-09"],
|
|
155753
|
+
exportRule: "preserve_original_name",
|
|
155754
|
+
candidateLicense: "OFL-1.1",
|
|
155755
|
+
faceVerdicts: { italic: "visual_only" }
|
|
155756
|
+
},
|
|
155757
|
+
{
|
|
155758
|
+
evidenceId: "arial-rounded-mt-bold",
|
|
155759
|
+
generic: "sans-serif",
|
|
155760
|
+
logicalFamily: "Arial Rounded MT Bold",
|
|
155761
|
+
physicalFamily: "Ubuntu",
|
|
155762
|
+
verdict: "visual_only",
|
|
155763
|
+
faces: {
|
|
155764
|
+
regular: true,
|
|
155765
|
+
bold: true,
|
|
155766
|
+
italic: true,
|
|
155767
|
+
boldItalic: true
|
|
155768
|
+
},
|
|
155769
|
+
gates: {
|
|
155770
|
+
static: "pass",
|
|
155771
|
+
metric: "fail",
|
|
155772
|
+
layout: "not_run",
|
|
155773
|
+
ship: "fail"
|
|
155774
|
+
},
|
|
155775
|
+
policyAction: "category_fallback",
|
|
155776
|
+
measurementRefs: ["arial-rounded-mt-bold__ubuntu#visual_review#2026-06-09"],
|
|
155777
|
+
exportRule: "preserve_original_name",
|
|
155778
|
+
candidateLicense: "Ubuntu-font-1.0"
|
|
155779
|
+
},
|
|
155780
|
+
{
|
|
155781
|
+
evidenceId: "bookman-old-style",
|
|
155782
|
+
generic: "serif",
|
|
155783
|
+
logicalFamily: "Bookman Old Style",
|
|
155784
|
+
physicalFamily: "TeX Gyre Bonum",
|
|
155785
|
+
verdict: "visual_only",
|
|
155786
|
+
faces: {
|
|
155787
|
+
regular: true,
|
|
155788
|
+
bold: true,
|
|
155789
|
+
italic: true,
|
|
155790
|
+
boldItalic: true
|
|
155791
|
+
},
|
|
155792
|
+
gates: {
|
|
155793
|
+
static: "pass",
|
|
155794
|
+
metric: "fail",
|
|
155795
|
+
layout: "not_run",
|
|
155796
|
+
ship: "fail"
|
|
155797
|
+
},
|
|
155798
|
+
policyAction: "substitute",
|
|
155799
|
+
measurementRefs: ["bookman-old-style__tex-gyre-bonum#visual_review#2026-06-09"],
|
|
155800
|
+
exportRule: "preserve_original_name",
|
|
155801
|
+
candidateLicense: "GUST-Font-License-1.0"
|
|
155802
|
+
},
|
|
155803
|
+
{
|
|
155804
|
+
evidenceId: "century",
|
|
155805
|
+
generic: "serif",
|
|
155806
|
+
logicalFamily: "Century",
|
|
155807
|
+
physicalFamily: "C059",
|
|
155808
|
+
verdict: "visual_only",
|
|
155809
|
+
faces: {
|
|
155810
|
+
regular: true,
|
|
155811
|
+
bold: true,
|
|
155812
|
+
italic: true,
|
|
155813
|
+
boldItalic: true
|
|
155814
|
+
},
|
|
155815
|
+
gates: {
|
|
155816
|
+
static: "pass",
|
|
155817
|
+
metric: "fail",
|
|
155818
|
+
layout: "not_run",
|
|
155819
|
+
ship: "fail"
|
|
155820
|
+
},
|
|
155821
|
+
policyAction: "substitute",
|
|
155822
|
+
measurementRefs: ["century__c059#visual_review#2026-06-09"],
|
|
155823
|
+
exportRule: "preserve_original_name",
|
|
155824
|
+
candidateLicense: "AGPL-3.0-only WITH PS-or-PDF-font-exception-20170817"
|
|
155825
|
+
},
|
|
155826
|
+
{
|
|
155827
|
+
evidenceId: "garamond",
|
|
155828
|
+
generic: "serif",
|
|
155829
|
+
logicalFamily: "Garamond",
|
|
155830
|
+
physicalFamily: "Cardo",
|
|
155831
|
+
verdict: "visual_only",
|
|
155832
|
+
faces: {
|
|
155833
|
+
regular: true,
|
|
155834
|
+
bold: true,
|
|
155835
|
+
italic: true,
|
|
155836
|
+
boldItalic: false
|
|
155837
|
+
},
|
|
155838
|
+
faceSources: { boldItalic: {
|
|
155839
|
+
kind: "synthetic",
|
|
155840
|
+
from: "bold"
|
|
155841
|
+
} },
|
|
155842
|
+
gates: {
|
|
155843
|
+
static: "pass",
|
|
155844
|
+
metric: "fail",
|
|
155845
|
+
layout: "not_run",
|
|
155846
|
+
ship: "fail"
|
|
155847
|
+
},
|
|
155848
|
+
policyAction: "category_fallback",
|
|
155849
|
+
measurementRefs: ["garamond__cardo#visual_review#2026-06-09"],
|
|
155850
|
+
exportRule: "preserve_original_name",
|
|
155851
|
+
candidateLicense: "OFL-1.1",
|
|
155852
|
+
faceVerdicts: { boldItalic: "visual_only" }
|
|
155853
|
+
},
|
|
155534
155854
|
{
|
|
155535
155855
|
evidenceId: "consolas",
|
|
155856
|
+
generic: "monospace",
|
|
155536
155857
|
logicalFamily: "Consolas",
|
|
155537
155858
|
physicalFamily: "Inconsolata SemiExpanded",
|
|
155538
155859
|
verdict: "cell_width_only",
|
|
@@ -155552,6 +155873,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155552
155873
|
measurementRefs: ["consolas__inconsolata-semiexpanded#analytic_advance#2026-06-03"],
|
|
155553
155874
|
exportRule: "preserve_original_name",
|
|
155554
155875
|
advance: {
|
|
155876
|
+
basis: "monospace_cell",
|
|
155555
155877
|
meanDelta: 0.00035999999999999997,
|
|
155556
155878
|
maxDelta: 0.00035999999999999997
|
|
155557
155879
|
},
|
|
@@ -155559,6 +155881,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155559
155881
|
},
|
|
155560
155882
|
{
|
|
155561
155883
|
evidenceId: "verdana",
|
|
155884
|
+
generic: "sans-serif",
|
|
155562
155885
|
logicalFamily: "Verdana",
|
|
155563
155886
|
physicalFamily: null,
|
|
155564
155887
|
verdict: "visual_only",
|
|
@@ -155581,76 +155904,90 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155581
155904
|
},
|
|
155582
155905
|
{
|
|
155583
155906
|
evidenceId: "tahoma",
|
|
155907
|
+
generic: "sans-serif",
|
|
155584
155908
|
logicalFamily: "Tahoma",
|
|
155585
|
-
physicalFamily:
|
|
155909
|
+
physicalFamily: "Noto Sans",
|
|
155586
155910
|
verdict: "visual_only",
|
|
155587
155911
|
faces: {
|
|
155588
|
-
regular:
|
|
155589
|
-
bold:
|
|
155590
|
-
italic:
|
|
155591
|
-
boldItalic:
|
|
155912
|
+
regular: true,
|
|
155913
|
+
bold: true,
|
|
155914
|
+
italic: true,
|
|
155915
|
+
boldItalic: true
|
|
155592
155916
|
},
|
|
155593
155917
|
gates: {
|
|
155594
|
-
static: "
|
|
155918
|
+
static: "pass",
|
|
155595
155919
|
metric: "fail",
|
|
155596
155920
|
layout: "not_run",
|
|
155597
|
-
ship: "
|
|
155921
|
+
ship: "fail"
|
|
155598
155922
|
},
|
|
155599
155923
|
policyAction: "category_fallback",
|
|
155600
|
-
measurementRefs: ["
|
|
155924
|
+
measurementRefs: ["tahoma__noto-sans#visual_review#2026-06-09"],
|
|
155601
155925
|
exportRule: "preserve_original_name",
|
|
155602
|
-
candidateLicense:
|
|
155926
|
+
candidateLicense: "OFL-1.1"
|
|
155603
155927
|
},
|
|
155604
155928
|
{
|
|
155605
155929
|
evidenceId: "trebuchet-ms",
|
|
155930
|
+
generic: "sans-serif",
|
|
155606
155931
|
logicalFamily: "Trebuchet MS",
|
|
155607
|
-
physicalFamily:
|
|
155932
|
+
physicalFamily: "PT Sans",
|
|
155608
155933
|
verdict: "visual_only",
|
|
155609
155934
|
faces: {
|
|
155610
|
-
regular:
|
|
155611
|
-
bold:
|
|
155612
|
-
italic:
|
|
155613
|
-
boldItalic:
|
|
155935
|
+
regular: true,
|
|
155936
|
+
bold: true,
|
|
155937
|
+
italic: true,
|
|
155938
|
+
boldItalic: true
|
|
155614
155939
|
},
|
|
155615
155940
|
gates: {
|
|
155616
|
-
static: "
|
|
155941
|
+
static: "pass",
|
|
155617
155942
|
metric: "fail",
|
|
155618
155943
|
layout: "not_run",
|
|
155619
|
-
ship: "
|
|
155944
|
+
ship: "fail"
|
|
155620
155945
|
},
|
|
155621
155946
|
policyAction: "category_fallback",
|
|
155622
|
-
measurementRefs: ["trebuchet-
|
|
155947
|
+
measurementRefs: ["trebuchet-ms__pt-sans#visual_review#2026-06-09"],
|
|
155623
155948
|
exportRule: "preserve_original_name",
|
|
155624
|
-
candidateLicense:
|
|
155949
|
+
candidateLicense: "OFL-1.1"
|
|
155625
155950
|
},
|
|
155626
155951
|
{
|
|
155627
155952
|
evidenceId: "comic-sans-ms",
|
|
155953
|
+
generic: "sans-serif",
|
|
155628
155954
|
logicalFamily: "Comic Sans MS",
|
|
155629
|
-
physicalFamily: "Comic
|
|
155955
|
+
physicalFamily: "Comic Relief",
|
|
155630
155956
|
verdict: "visual_only",
|
|
155631
155957
|
faces: {
|
|
155632
|
-
regular:
|
|
155633
|
-
bold:
|
|
155958
|
+
regular: true,
|
|
155959
|
+
bold: true,
|
|
155634
155960
|
italic: false,
|
|
155635
155961
|
boldItalic: false
|
|
155636
155962
|
},
|
|
155963
|
+
faceSources: {
|
|
155964
|
+
italic: {
|
|
155965
|
+
kind: "synthetic",
|
|
155966
|
+
from: "regular"
|
|
155967
|
+
},
|
|
155968
|
+
boldItalic: {
|
|
155969
|
+
kind: "synthetic",
|
|
155970
|
+
from: "bold"
|
|
155971
|
+
}
|
|
155972
|
+
},
|
|
155637
155973
|
gates: {
|
|
155638
|
-
static: "
|
|
155974
|
+
static: "pass",
|
|
155639
155975
|
metric: "fail",
|
|
155640
155976
|
layout: "not_run",
|
|
155641
|
-
ship: "
|
|
155977
|
+
ship: "fail"
|
|
155642
155978
|
},
|
|
155643
155979
|
policyAction: "category_fallback",
|
|
155644
|
-
measurementRefs: ["comic-sans-ms__comic-
|
|
155980
|
+
measurementRefs: ["comic-sans-ms__comic-relief#visual_review#2026-06-09"],
|
|
155645
155981
|
exportRule: "preserve_original_name",
|
|
155646
|
-
|
|
155647
|
-
|
|
155648
|
-
|
|
155649
|
-
|
|
155650
|
-
|
|
155982
|
+
candidateLicense: "OFL-1.1",
|
|
155983
|
+
faceVerdicts: {
|
|
155984
|
+
italic: "visual_only",
|
|
155985
|
+
boldItalic: "visual_only"
|
|
155986
|
+
}
|
|
155651
155987
|
},
|
|
155652
155988
|
{
|
|
155653
155989
|
evidenceId: "candara",
|
|
155990
|
+
generic: "sans-serif",
|
|
155654
155991
|
logicalFamily: "Candara",
|
|
155655
155992
|
physicalFamily: null,
|
|
155656
155993
|
verdict: "visual_only",
|
|
@@ -155673,6 +156010,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155673
156010
|
},
|
|
155674
156011
|
{
|
|
155675
156012
|
evidenceId: "constantia",
|
|
156013
|
+
generic: "serif",
|
|
155676
156014
|
logicalFamily: "Constantia",
|
|
155677
156015
|
physicalFamily: null,
|
|
155678
156016
|
verdict: "visual_only",
|
|
@@ -155695,6 +156033,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155695
156033
|
},
|
|
155696
156034
|
{
|
|
155697
156035
|
evidenceId: "corbel",
|
|
156036
|
+
generic: "sans-serif",
|
|
155698
156037
|
logicalFamily: "Corbel",
|
|
155699
156038
|
physicalFamily: null,
|
|
155700
156039
|
verdict: "visual_only",
|
|
@@ -155717,6 +156056,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155717
156056
|
},
|
|
155718
156057
|
{
|
|
155719
156058
|
evidenceId: "lucida-console",
|
|
156059
|
+
generic: "monospace",
|
|
155720
156060
|
logicalFamily: "Lucida Console",
|
|
155721
156061
|
physicalFamily: "Cousine",
|
|
155722
156062
|
verdict: "cell_width_only",
|
|
@@ -155736,13 +156076,54 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155736
156076
|
measurementRefs: ["lucida-console__cousine#analytic_advance#2026-06-03"],
|
|
155737
156077
|
exportRule: "preserve_original_name",
|
|
155738
156078
|
advance: {
|
|
156079
|
+
basis: "monospace_cell",
|
|
155739
156080
|
meanDelta: 0.004050000000000001,
|
|
155740
156081
|
maxDelta: 0.004050000000000001
|
|
155741
156082
|
},
|
|
155742
156083
|
candidateLicense: "OFL-1.1"
|
|
155743
156084
|
},
|
|
156085
|
+
{
|
|
156086
|
+
evidenceId: "gill-sans-mt-condensed",
|
|
156087
|
+
generic: "sans-serif",
|
|
156088
|
+
logicalFamily: "Gill Sans MT Condensed",
|
|
156089
|
+
physicalFamily: "PT Sans Narrow",
|
|
156090
|
+
verdict: "visual_only",
|
|
156091
|
+
faces: {
|
|
156092
|
+
regular: true,
|
|
156093
|
+
bold: true,
|
|
156094
|
+
italic: false,
|
|
156095
|
+
boldItalic: false
|
|
156096
|
+
},
|
|
156097
|
+
faceSources: {
|
|
156098
|
+
italic: {
|
|
156099
|
+
kind: "synthetic",
|
|
156100
|
+
from: "regular"
|
|
156101
|
+
},
|
|
156102
|
+
boldItalic: {
|
|
156103
|
+
kind: "synthetic",
|
|
156104
|
+
from: "bold"
|
|
156105
|
+
}
|
|
156106
|
+
},
|
|
156107
|
+
gates: {
|
|
156108
|
+
static: "pass",
|
|
156109
|
+
metric: "fail",
|
|
156110
|
+
layout: "not_run",
|
|
156111
|
+
ship: "fail"
|
|
156112
|
+
},
|
|
156113
|
+
policyAction: "category_fallback",
|
|
156114
|
+
measurementRefs: ["gill-sans-mt-condensed__pt-sans-narrow#visual_review#2026-06-09"],
|
|
156115
|
+
exportRule: "preserve_original_name",
|
|
156116
|
+
candidateLicense: "OFL-1.1",
|
|
156117
|
+
faceVerdicts: {
|
|
156118
|
+
regular: "visual_only",
|
|
156119
|
+
bold: "visual_only",
|
|
156120
|
+
italic: "visual_only",
|
|
156121
|
+
boldItalic: "visual_only"
|
|
156122
|
+
}
|
|
156123
|
+
},
|
|
155744
156124
|
{
|
|
155745
156125
|
evidenceId: "aptos-display",
|
|
156126
|
+
generic: "sans-serif",
|
|
155746
156127
|
logicalFamily: "Aptos Display",
|
|
155747
156128
|
physicalFamily: null,
|
|
155748
156129
|
verdict: "customer_supplied",
|
|
@@ -155764,6 +156145,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155764
156145
|
},
|
|
155765
156146
|
{
|
|
155766
156147
|
evidenceId: "cambria-math",
|
|
156148
|
+
generic: "serif",
|
|
155767
156149
|
logicalFamily: "Cambria Math",
|
|
155768
156150
|
physicalFamily: null,
|
|
155769
156151
|
verdict: "preserve_only",
|
|
@@ -155785,6 +156167,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155785
156167
|
},
|
|
155786
156168
|
{
|
|
155787
156169
|
evidenceId: "helvetica",
|
|
156170
|
+
generic: "sans-serif",
|
|
155788
156171
|
logicalFamily: "Helvetica",
|
|
155789
156172
|
physicalFamily: "Liberation Sans",
|
|
155790
156173
|
verdict: "metric_safe",
|
|
@@ -155804,6 +156187,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155804
156187
|
measurementRefs: ["helvetica__liberation-sans#analytic_advance#2026-06-03"],
|
|
155805
156188
|
exportRule: "preserve_original_name",
|
|
155806
156189
|
advance: {
|
|
156190
|
+
basis: "latin_full",
|
|
155807
156191
|
meanDelta: 0,
|
|
155808
156192
|
maxDelta: 0
|
|
155809
156193
|
},
|
|
@@ -155811,6 +156195,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155811
156195
|
},
|
|
155812
156196
|
{
|
|
155813
156197
|
evidenceId: "calibri-light",
|
|
156198
|
+
generic: "sans-serif",
|
|
155814
156199
|
logicalFamily: "Calibri Light",
|
|
155815
156200
|
physicalFamily: "Carlito",
|
|
155816
156201
|
verdict: "visual_only",
|
|
@@ -155830,6 +156215,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155830
156215
|
measurementRefs: ["calibri-light__carlito#analytic_advance#2026-06-05"],
|
|
155831
156216
|
exportRule: "preserve_original_name",
|
|
155832
156217
|
advance: {
|
|
156218
|
+
basis: "latin_full",
|
|
155833
156219
|
meanDelta: 0.0148,
|
|
155834
156220
|
maxDelta: 0.066
|
|
155835
156221
|
},
|
|
@@ -155837,6 +156223,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155837
156223
|
},
|
|
155838
156224
|
{
|
|
155839
156225
|
evidenceId: "baskerville-old-face",
|
|
156226
|
+
generic: "serif",
|
|
155840
156227
|
logicalFamily: "Baskerville Old Face",
|
|
155841
156228
|
physicalFamily: "Bacasime Antique",
|
|
155842
156229
|
verdict: "visual_only",
|
|
@@ -155856,6 +156243,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155856
156243
|
measurementRefs: ["baskerville-old-face_regular__bacasime-antique#regular#w400#7dac1e5f#analytic_advance#2026-06-05"],
|
|
155857
156244
|
exportRule: "preserve_original_name",
|
|
155858
156245
|
advance: {
|
|
156246
|
+
basis: "latin_full",
|
|
155859
156247
|
meanDelta: 0,
|
|
155860
156248
|
maxDelta: 0.4915590863952334
|
|
155861
156249
|
},
|
|
@@ -155867,6 +156255,54 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155867
156255
|
advanceDelta: 0.4916,
|
|
155868
156256
|
note: "Bacasime Antique Regular's no-break space (U+00A0) advance diverges ~49% from Baskerville Old Face; lines containing NBSP reflow. Every other Latin-core glyph is advance-identical, which is why this is visual_only with a single named exception, not near_metric."
|
|
155869
156257
|
}]
|
|
156258
|
+
},
|
|
156259
|
+
{
|
|
156260
|
+
evidenceId: "cooper-black",
|
|
156261
|
+
generic: "serif",
|
|
156262
|
+
logicalFamily: "Cooper Black",
|
|
156263
|
+
physicalFamily: "Caprasimo",
|
|
156264
|
+
verdict: "visual_only",
|
|
156265
|
+
faces: {
|
|
156266
|
+
regular: true,
|
|
156267
|
+
bold: false,
|
|
156268
|
+
italic: false,
|
|
156269
|
+
boldItalic: false
|
|
156270
|
+
},
|
|
156271
|
+
faceSources: {
|
|
156272
|
+
bold: {
|
|
156273
|
+
kind: "synthetic",
|
|
156274
|
+
from: "regular"
|
|
156275
|
+
},
|
|
156276
|
+
italic: {
|
|
156277
|
+
kind: "synthetic",
|
|
156278
|
+
from: "regular"
|
|
156279
|
+
},
|
|
156280
|
+
boldItalic: {
|
|
156281
|
+
kind: "synthetic",
|
|
156282
|
+
from: "regular"
|
|
156283
|
+
}
|
|
156284
|
+
},
|
|
156285
|
+
gates: {
|
|
156286
|
+
static: "pass",
|
|
156287
|
+
metric: "pass",
|
|
156288
|
+
layout: "not_run",
|
|
156289
|
+
ship: "not_run"
|
|
156290
|
+
},
|
|
156291
|
+
policyAction: "substitute",
|
|
156292
|
+
measurementRefs: ["cooper-black_regular__caprasimo#regular#w400#786ab84e#analytic_advance#2026-06-05", "cooper-black__caprasimo#synthetic_faces#visual_review#2026-06-09"],
|
|
156293
|
+
exportRule: "preserve_original_name",
|
|
156294
|
+
advance: {
|
|
156295
|
+
basis: "latin_full",
|
|
156296
|
+
meanDelta: 0,
|
|
156297
|
+
maxDelta: 0
|
|
156298
|
+
},
|
|
156299
|
+
candidateLicense: "OFL-1.1",
|
|
156300
|
+
faceVerdicts: {
|
|
156301
|
+
regular: "metric_safe",
|
|
156302
|
+
bold: "visual_only",
|
|
156303
|
+
italic: "visual_only",
|
|
156304
|
+
boldItalic: "visual_only"
|
|
156305
|
+
}
|
|
155870
156306
|
}
|
|
155871
156307
|
];
|
|
155872
156308
|
LINE_BREAK_SAFE_VERDICTS = new Set([
|
|
@@ -155880,7 +156316,41 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155880
156316
|
family("Caladea", "Caladea", "Apache-2.0"),
|
|
155881
156317
|
family("Liberation Sans", "LiberationSans", "OFL-1.1"),
|
|
155882
156318
|
family("Liberation Serif", "LiberationSerif", "OFL-1.1"),
|
|
155883
|
-
family("Liberation Mono", "LiberationMono", "OFL-1.1")
|
|
156319
|
+
family("Liberation Mono", "LiberationMono", "OFL-1.1"),
|
|
156320
|
+
familyWithFaces("Caprasimo", "OFL-1.1", [{
|
|
156321
|
+
weight: "normal",
|
|
156322
|
+
style: "normal",
|
|
156323
|
+
file: "Caprasimo-Regular.woff2"
|
|
156324
|
+
}]),
|
|
156325
|
+
family("Gelasio", "Gelasio", "OFL-1.1"),
|
|
156326
|
+
familyWithFaces("Cardo", "OFL-1.1", [
|
|
156327
|
+
{
|
|
156328
|
+
weight: "normal",
|
|
156329
|
+
style: "normal",
|
|
156330
|
+
file: "Cardo-Regular.woff2"
|
|
156331
|
+
},
|
|
156332
|
+
{
|
|
156333
|
+
weight: "bold",
|
|
156334
|
+
style: "normal",
|
|
156335
|
+
file: "Cardo-Bold.woff2"
|
|
156336
|
+
},
|
|
156337
|
+
{
|
|
156338
|
+
weight: "normal",
|
|
156339
|
+
style: "italic",
|
|
156340
|
+
file: "Cardo-Italic.woff2"
|
|
156341
|
+
}
|
|
156342
|
+
]),
|
|
156343
|
+
familyWithFaces("Comic Relief", "OFL-1.1", [{
|
|
156344
|
+
weight: "normal",
|
|
156345
|
+
style: "normal",
|
|
156346
|
+
file: "ComicRelief-Regular.woff2"
|
|
156347
|
+
}, {
|
|
156348
|
+
weight: "bold",
|
|
156349
|
+
style: "normal",
|
|
156350
|
+
file: "ComicRelief-Bold.woff2"
|
|
156351
|
+
}]),
|
|
156352
|
+
family("Noto Sans", "NotoSans", "OFL-1.1"),
|
|
156353
|
+
family("PT Sans", "PTSans", "OFL-1.1")
|
|
155884
156354
|
]);
|
|
155885
156355
|
SUBSTITUTION_EVIDENCE = SUBSTITUTION_EVIDENCE$1;
|
|
155886
156356
|
bundledFamilies = new Set(BUNDLED_MANIFEST.map((f2) => f2.family));
|
|
@@ -155892,24 +156362,19 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
155892
156362
|
fontSignature: ""
|
|
155893
156363
|
});
|
|
155894
156364
|
installedRegistries = /* @__PURE__ */ new WeakMap;
|
|
156365
|
+
RENDER_ALL = { canRenderFamily: () => true };
|
|
155895
156366
|
OS2_MIN_LENGTH = OS2_FSSELECTION + 2;
|
|
155896
156367
|
registriesByFontSet = /* @__PURE__ */ new WeakMap;
|
|
155897
|
-
PHYSICAL_GENERIC = Object.freeze({
|
|
155898
|
-
Carlito: "sans-serif",
|
|
155899
|
-
Caladea: "serif",
|
|
155900
|
-
"Liberation Sans": "sans-serif",
|
|
155901
|
-
"Liberation Serif": "serif",
|
|
155902
|
-
"Liberation Mono": "monospace"
|
|
155903
|
-
});
|
|
155904
156368
|
BUNDLED_FAMILIES = new Set(BUNDLED_MANIFEST.map((f2) => f2.family));
|
|
156369
|
+
ADVERTISED_BUILT_IN_TOOLBAR_FAMILIES = new Set([
|
|
156370
|
+
"Cooper Black",
|
|
156371
|
+
"Comic Sans MS",
|
|
156372
|
+
"Garamond",
|
|
156373
|
+
"Georgia",
|
|
156374
|
+
"Tahoma",
|
|
156375
|
+
"Trebuchet MS"
|
|
156376
|
+
]);
|
|
155905
156377
|
FONT_OFFERINGS = deriveOfferings();
|
|
155906
|
-
DEFAULT_FONT_ORDER = [
|
|
155907
|
-
"Calibri",
|
|
155908
|
-
"Arial",
|
|
155909
|
-
"Courier New",
|
|
155910
|
-
"Times New Roman",
|
|
155911
|
-
"Helvetica"
|
|
155912
|
-
];
|
|
155913
156378
|
ALL_COMMENT_TARGETS = COMMENT_FILE_BASENAMES;
|
|
155914
156379
|
REL_ID_NUMERIC_PATTERN = /rId|mi/g;
|
|
155915
156380
|
FOOTNOTES_CONFIG$1 = {
|
|
@@ -157696,7 +158161,7 @@ var init_SuperConverter_C6RGktKO_es = __esm(() => {
|
|
|
157696
158161
|
};
|
|
157697
158162
|
});
|
|
157698
158163
|
|
|
157699
|
-
// ../../packages/superdoc/dist/chunks/create-headless-toolbar-
|
|
158164
|
+
// ../../packages/superdoc/dist/chunks/create-headless-toolbar-CKZ579SH.es.js
|
|
157700
158165
|
function parseSizeUnit(val = "0") {
|
|
157701
158166
|
const length = val.toString() || "0";
|
|
157702
158167
|
const value = Number.parseFloat(length);
|
|
@@ -168054,8 +168519,8 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, normalizeActorId = (value) => {
|
|
|
168054
168519
|
}
|
|
168055
168520
|
};
|
|
168056
168521
|
};
|
|
168057
|
-
var
|
|
168058
|
-
|
|
168522
|
+
var init_create_headless_toolbar_CKZ579SH_es = __esm(() => {
|
|
168523
|
+
init_SuperConverter_BSDZ3hYr_es();
|
|
168059
168524
|
init_uuid_B2wVPhPi_es();
|
|
168060
168525
|
init_constants_D9qj59G2_es();
|
|
168061
168526
|
init_dist_B8HfvhaK_es();
|
|
@@ -209096,7 +209561,7 @@ If you want to remount the same app, move your app creation logic into a factory
|
|
|
209096
209561
|
var createVNodeWithArgsTransform = (...args2) => {
|
|
209097
209562
|
return _createVNode(...vnodeArgsTransformer ? vnodeArgsTransformer(args2, currentRenderingInstance) : args2);
|
|
209098
209563
|
};
|
|
209099
|
-
var
|
|
209564
|
+
var normalizeKey2 = ({ key: key2 }) => key2 != null ? key2 : null;
|
|
209100
209565
|
var normalizeRef = ({
|
|
209101
209566
|
ref: ref2,
|
|
209102
209567
|
ref_key,
|
|
@@ -209113,7 +209578,7 @@ If you want to remount the same app, move your app creation logic into a factory
|
|
|
209113
209578
|
__v_skip: true,
|
|
209114
209579
|
type,
|
|
209115
209580
|
props,
|
|
209116
|
-
key: props &&
|
|
209581
|
+
key: props && normalizeKey2(props),
|
|
209117
209582
|
ref: props && normalizeRef(props),
|
|
209118
209583
|
scopeId: currentScopeId,
|
|
209119
209584
|
slotScopeIds: null,
|
|
@@ -209213,7 +209678,7 @@ Component that was made reactive: `, type);
|
|
|
209213
209678
|
__v_skip: true,
|
|
209214
209679
|
type: vnode.type,
|
|
209215
209680
|
props: mergedProps,
|
|
209216
|
-
key: mergedProps &&
|
|
209681
|
+
key: mergedProps && normalizeKey2(mergedProps),
|
|
209217
209682
|
ref: extraProps && extraProps.ref ? mergeRef && ref2 ? shared.isArray(ref2) ? ref2.concat(normalizeRef(extraProps)) : [ref2, normalizeRef(extraProps)] : normalizeRef(extraProps) : ref2,
|
|
209218
209683
|
scopeId: vnode.scopeId,
|
|
209219
209684
|
slotScopeIds: vnode.slotScopeIds,
|
|
@@ -222739,7 +223204,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
|
|
|
222739
223204
|
init_remark_gfm_BhnWr3yf_es();
|
|
222740
223205
|
});
|
|
222741
223206
|
|
|
222742
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
223207
|
+
// ../../packages/superdoc/dist/chunks/src-BXck1nRd.es.js
|
|
222743
223208
|
function deleteProps(obj, propOrProps) {
|
|
222744
223209
|
const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
|
|
222745
223210
|
const removeNested = (target, pathParts, index2 = 0) => {
|
|
@@ -231833,9 +232298,6 @@ function replaceCommand(wrap4, moveForward) {
|
|
|
231833
232298
|
return true;
|
|
231834
232299
|
};
|
|
231835
232300
|
}
|
|
231836
|
-
function buildSdtBlockSelector(escapedSdtId) {
|
|
231837
|
-
return `.${DOM_CLASS_NAMES.BLOCK_SDT}[${DATA_ATTRS.SDT_ID}="${escapedSdtId}"]`;
|
|
231838
|
-
}
|
|
231839
232301
|
function buildAnnotationSelector() {
|
|
231840
232302
|
return `.${DOM_CLASS_NAMES.ANNOTATION}[${DATA_ATTRS.PM_START}]`;
|
|
231841
232303
|
}
|
|
@@ -235097,6 +235559,36 @@ function scrollToElement(targetElement, options = {
|
|
|
235097
235559
|
behavior: options.behavior
|
|
235098
235560
|
});
|
|
235099
235561
|
}
|
|
235562
|
+
function normalizeToolbarFamily(value) {
|
|
235563
|
+
return String(value ?? "").trim().toLowerCase();
|
|
235564
|
+
}
|
|
235565
|
+
function compareToolbarFontOptions(a2, b$1) {
|
|
235566
|
+
return String(a2.label ?? "").trim().localeCompare(String(b$1.label ?? "").trim(), "en", { sensitivity: "base" });
|
|
235567
|
+
}
|
|
235568
|
+
function composeToolbarFontOptions(documentOptions, configFonts) {
|
|
235569
|
+
if (configFonts)
|
|
235570
|
+
return configFonts;
|
|
235571
|
+
if (!documentOptions?.length)
|
|
235572
|
+
return;
|
|
235573
|
+
const seen = new Set(TOOLBAR_FONTS.map((option) => normalizeToolbarFamily(option.label)));
|
|
235574
|
+
const merged = [...TOOLBAR_FONTS];
|
|
235575
|
+
for (const option of documentOptions) {
|
|
235576
|
+
const dedupeKey = normalizeToolbarFamily(option.logicalFamily);
|
|
235577
|
+
if (seen.has(dedupeKey))
|
|
235578
|
+
continue;
|
|
235579
|
+
seen.add(dedupeKey);
|
|
235580
|
+
merged.push({
|
|
235581
|
+
label: option.logicalFamily,
|
|
235582
|
+
key: option.logicalFamily,
|
|
235583
|
+
fontWeight: 400,
|
|
235584
|
+
props: {
|
|
235585
|
+
style: { fontFamily: option.previewFamily || option.logicalFamily },
|
|
235586
|
+
"data-item": "btn-fontFamily-option"
|
|
235587
|
+
}
|
|
235588
|
+
});
|
|
235589
|
+
}
|
|
235590
|
+
return merged.length > TOOLBAR_FONTS.length ? merged.sort(compareToolbarFontOptions) : undefined;
|
|
235591
|
+
}
|
|
235100
235592
|
function isExtensionRulesEnabled(extension2, enabled) {
|
|
235101
235593
|
if (Array.isArray(enabled))
|
|
235102
235594
|
return enabled.some((enabledExtension) => {
|
|
@@ -263179,6 +263671,9 @@ function applySourceAnchorDataset(element3, sourceAnchor) {
|
|
|
263179
263671
|
else
|
|
263180
263672
|
delete element3.dataset.sourceOccurrenceId;
|
|
263181
263673
|
}
|
|
263674
|
+
function allowFontSynthesis(element3) {
|
|
263675
|
+
element3.style.setProperty("font-synthesis", "weight style");
|
|
263676
|
+
}
|
|
263182
263677
|
function getCellSegmentCount(cell2) {
|
|
263183
263678
|
if (cell2.blocks && cell2.blocks.length > 0) {
|
|
263184
263679
|
let total = 0;
|
|
@@ -267723,7 +268218,10 @@ function calculateBalancedColumnHeight(ctx$1, config3 = DEFAULT_BALANCING_CONFIG
|
|
|
267723
268218
|
iterations: 0
|
|
267724
268219
|
};
|
|
267725
268220
|
const totalHeight = ctx$1.contentBlocks.reduce((sum, b$1) => sum + b$1.measuredHeight, 0);
|
|
267726
|
-
const maxBlockHeight = ctx$1.contentBlocks.reduce((m$1, b$1) =>
|
|
268221
|
+
const maxBlockHeight = ctx$1.contentBlocks.reduce((m$1, b$1) => {
|
|
268222
|
+
const indivisible = b$1.canBreak && b$1.lineHeights && b$1.lineHeights.length > 1 ? Math.max(...b$1.lineHeights) : b$1.measuredHeight;
|
|
268223
|
+
return Math.max(m$1, indivisible);
|
|
268224
|
+
}, 0);
|
|
267727
268225
|
if (totalHeight < config3.minColumnHeight * ctx$1.columnCount)
|
|
267728
268226
|
return createSingleColumnResult(ctx$1);
|
|
267729
268227
|
let lo = Math.max(maxBlockHeight, config3.minColumnHeight);
|
|
@@ -267893,6 +268391,8 @@ function shouldSkipBalancing(ctx$1, config3 = DEFAULT_BALANCING_CONFIG) {
|
|
|
267893
268391
|
}
|
|
267894
268392
|
function getFragmentHeight(fragment, measureMap) {
|
|
267895
268393
|
if (fragment.kind === "para") {
|
|
268394
|
+
if (fragment.lines && fragment.lines.length > 0)
|
|
268395
|
+
return fragment.lines.reduce((sum$1, l) => sum$1 + (l.lineHeight ?? 0), 0);
|
|
267896
268396
|
const measure = measureMap.get(fragment.blockId);
|
|
267897
268397
|
if (!measure || measure.kind !== "paragraph" || !measure.lines)
|
|
267898
268398
|
return 0;
|
|
@@ -267973,13 +268473,38 @@ function balanceSectionOnPage(args$1) {
|
|
|
267973
268473
|
return a2.x - b$1.x;
|
|
267974
268474
|
return a2.y - b$1.y;
|
|
267975
268475
|
});
|
|
267976
|
-
const
|
|
267977
|
-
|
|
267978
|
-
|
|
267979
|
-
|
|
267980
|
-
|
|
267981
|
-
|
|
267982
|
-
|
|
268476
|
+
const lineHeightsFor = (f2) => {
|
|
268477
|
+
if (f2.kind !== "para")
|
|
268478
|
+
return;
|
|
268479
|
+
if (args$1.sectPrMarkerBlockIds?.has(f2.blockId))
|
|
268480
|
+
return;
|
|
268481
|
+
if (args$1.keepLinesBlockIds?.has(f2.blockId))
|
|
268482
|
+
return;
|
|
268483
|
+
if (f2.lines && f2.lines.length > 0) {
|
|
268484
|
+
if (f2.lines.length <= 1)
|
|
268485
|
+
return;
|
|
268486
|
+
return f2.lines.map((l) => l.lineHeight);
|
|
268487
|
+
}
|
|
268488
|
+
const measure = args$1.measureMap.get(f2.blockId);
|
|
268489
|
+
if (!measure || measure.kind !== "paragraph" || !Array.isArray(measure.lines))
|
|
268490
|
+
return;
|
|
268491
|
+
const fromLine = f2.fromLine ?? 0;
|
|
268492
|
+
const toLine = f2.toLine ?? measure.lines.length;
|
|
268493
|
+
if (toLine - fromLine <= 1)
|
|
268494
|
+
return;
|
|
268495
|
+
return measure.lines.slice(fromLine, toLine).map((l) => l.lineHeight);
|
|
268496
|
+
};
|
|
268497
|
+
const contentBlocks = ordered.map((f2, i4) => {
|
|
268498
|
+
const lineHeights = lineHeightsFor(f2);
|
|
268499
|
+
return {
|
|
268500
|
+
blockId: `${f2.blockId}#${i4}`,
|
|
268501
|
+
measuredHeight: getBalancingHeight(f2, args$1.measureMap, args$1.sectPrMarkerBlockIds),
|
|
268502
|
+
canBreak: lineHeights !== undefined,
|
|
268503
|
+
keepWithNext: false,
|
|
268504
|
+
keepTogether: lineHeights === undefined,
|
|
268505
|
+
lineHeights
|
|
268506
|
+
};
|
|
268507
|
+
});
|
|
267983
268508
|
if (shouldSkipBalancing({
|
|
267984
268509
|
columnCount,
|
|
267985
268510
|
columnWidth,
|
|
@@ -268014,6 +268539,39 @@ function balanceSectionOnPage(args$1) {
|
|
|
268014
268539
|
f2.x = columnX(col);
|
|
268015
268540
|
f2.y = colCursors[col];
|
|
268016
268541
|
f2.width = columnWidth;
|
|
268542
|
+
const bp = result.blockBreakPoints?.get(block.blockId);
|
|
268543
|
+
if (bp && bp.heightAfterBreak > 0 && col < columnCount - 1) {
|
|
268544
|
+
const splitLine = (f2.fromLine ?? 0) + bp.breakAfterLine + 1;
|
|
268545
|
+
const measureLineCount = args$1.measureMap.get(f2.blockId)?.lines?.length ?? splitLine;
|
|
268546
|
+
const originalToLine = f2.toLine ?? measureLineCount;
|
|
268547
|
+
const originalContinuesOnNext = f2.continuesOnNext ?? false;
|
|
268548
|
+
const secondHalf = {
|
|
268549
|
+
...f2,
|
|
268550
|
+
fromLine: splitLine,
|
|
268551
|
+
toLine: originalToLine,
|
|
268552
|
+
x: columnX(col + 1),
|
|
268553
|
+
y: colCursors[col + 1],
|
|
268554
|
+
width: columnWidth,
|
|
268555
|
+
continuesFromPrev: true,
|
|
268556
|
+
continuesOnNext: originalContinuesOnNext
|
|
268557
|
+
};
|
|
268558
|
+
if (f2.lines && f2.lines.length > 0) {
|
|
268559
|
+
secondHalf.lines = f2.lines.slice(bp.breakAfterLine + 1);
|
|
268560
|
+
f2.lines = f2.lines.slice(0, bp.breakAfterLine + 1);
|
|
268561
|
+
}
|
|
268562
|
+
f2.toLine = splitLine;
|
|
268563
|
+
f2.continuesOnNext = true;
|
|
268564
|
+
colCursors[col] += bp.heightBeforeBreak;
|
|
268565
|
+
colCursors[col + 1] += bp.heightAfterBreak;
|
|
268566
|
+
const fragIdx = fragments.indexOf(f2);
|
|
268567
|
+
if (fragIdx >= 0)
|
|
268568
|
+
fragments.splice(fragIdx + 1, 0, secondHalf);
|
|
268569
|
+
if (colCursors[col] > maxY)
|
|
268570
|
+
maxY = colCursors[col];
|
|
268571
|
+
if (colCursors[col + 1] > maxY)
|
|
268572
|
+
maxY = colCursors[col + 1];
|
|
268573
|
+
continue;
|
|
268574
|
+
}
|
|
268017
268575
|
colCursors[col] += block.measuredHeight;
|
|
268018
268576
|
if (colCursors[col] > maxY)
|
|
268019
268577
|
maxY = colCursors[col];
|
|
@@ -269165,6 +269723,7 @@ function layoutDocument(blocks2, measures, options = {}) {
|
|
|
269165
269723
|
const sectionTypeIsExplicit = /* @__PURE__ */ new Map;
|
|
269166
269724
|
let lastSectionIdx = null;
|
|
269167
269725
|
const sectPrMarkerBlockIds = /* @__PURE__ */ new Set;
|
|
269726
|
+
const keepLinesBlockIds = /* @__PURE__ */ new Set;
|
|
269168
269727
|
let documentHasExplicitColumnBreak = false;
|
|
269169
269728
|
let documentHasAnySectionBreak = false;
|
|
269170
269729
|
const alreadyBalancedSections = /* @__PURE__ */ new Set;
|
|
@@ -269198,6 +269757,8 @@ function layoutDocument(blocks2, measures, options = {}) {
|
|
|
269198
269757
|
documentHasExplicitColumnBreak = true;
|
|
269199
269758
|
if (block.kind === "paragraph" && blockWithAttrs.attrs?.sectPrMarker === true)
|
|
269200
269759
|
sectPrMarkerBlockIds.add(block.id);
|
|
269760
|
+
if (block.kind === "paragraph" && blockWithAttrs.attrs?.keepLines === true)
|
|
269761
|
+
keepLinesBlockIds.add(block.id);
|
|
269201
269762
|
});
|
|
269202
269763
|
const anchoredByParagraph = collectAnchoredDrawings(blocks2, measures);
|
|
269203
269764
|
const anchoredTables = collectAnchoredTables(blocks2, measures);
|
|
@@ -269416,7 +269977,8 @@ function layoutDocument(blocks2, measures, options = {}) {
|
|
|
269416
269977
|
columnWidth: normalized.width,
|
|
269417
269978
|
availableHeight,
|
|
269418
269979
|
measureMap: balancingMeasureMap,
|
|
269419
|
-
sectPrMarkerBlockIds
|
|
269980
|
+
sectPrMarkerBlockIds,
|
|
269981
|
+
keepLinesBlockIds
|
|
269420
269982
|
});
|
|
269421
269983
|
if (balanceResult) {
|
|
269422
269984
|
state.cursorY = balanceResult.maxY;
|
|
@@ -269815,7 +270377,9 @@ function layoutDocument(blocks2, measures, options = {}) {
|
|
|
269815
270377
|
const isMultiPage = sectionPagesCount > 1;
|
|
269816
270378
|
if (isMultiPage && !isLast)
|
|
269817
270379
|
continue;
|
|
269818
|
-
const
|
|
270380
|
+
const nextSectionBeginType = sectionEndBreakType.get(sectionIdx + 1);
|
|
270381
|
+
const nextIsBody = lastSectionIdx !== null && sectionIdx + 1 === lastSectionIdx;
|
|
270382
|
+
const allowedByMidDocContinuous = !isLast && !nextIsBody && nextSectionBeginType === "continuous";
|
|
269819
270383
|
const allowedByBodyExplicitContinuous = bodyExplicitContinuousIdx !== null && sectionIdx === bodyExplicitContinuousIdx - 1 && !isExplicitNonContinuous;
|
|
269820
270384
|
if (!allowedByMidDocContinuous && !allowedByBodyExplicitContinuous && !isMultiPage)
|
|
269821
270385
|
continue;
|
|
@@ -269846,7 +270410,8 @@ function layoutDocument(blocks2, measures, options = {}) {
|
|
|
269846
270410
|
columnWidth: normalized.width,
|
|
269847
270411
|
availableHeight: sectionAvailableHeight,
|
|
269848
270412
|
measureMap: balancingMeasureMap,
|
|
269849
|
-
sectPrMarkerBlockIds
|
|
270413
|
+
sectPrMarkerBlockIds,
|
|
270414
|
+
keepLinesBlockIds
|
|
269850
270415
|
});
|
|
269851
270416
|
}
|
|
269852
270417
|
for (const state of states) {
|
|
@@ -274683,9 +275248,28 @@ function computeDomCaretPageLocal(options, pos) {
|
|
|
274683
275248
|
const boundary = resolveTextBoundaryInElement(targetEl, pos, entry.pmStart, entry.pmEnd, "forward");
|
|
274684
275249
|
if (!boundary) {
|
|
274685
275250
|
const elRect = targetEl.getBoundingClientRect();
|
|
275251
|
+
if (targetEl.classList.contains("superdoc-line")) {
|
|
275252
|
+
const paddingLeft = parseFloat(targetEl.style.paddingLeft) || 0;
|
|
275253
|
+
const paddingRight = parseFloat(targetEl.style.paddingRight) || 0;
|
|
275254
|
+
const lineLeft = (elRect.left - pageRect.left) / zoom + paddingLeft;
|
|
275255
|
+
const lineRight = (elRect.right - pageRect.left) / zoom - paddingRight;
|
|
275256
|
+
const textAlign = targetEl.style.textAlign;
|
|
275257
|
+
let x;
|
|
275258
|
+
if (textAlign === "center")
|
|
275259
|
+
x = (lineLeft + lineRight) / 2;
|
|
275260
|
+
else if (textAlign === "right")
|
|
275261
|
+
x = lineRight;
|
|
275262
|
+
else
|
|
275263
|
+
x = lineLeft;
|
|
275264
|
+
return {
|
|
275265
|
+
pageIndex: Number(page.dataset.pageIndex ?? "0"),
|
|
275266
|
+
x,
|
|
275267
|
+
y: (elRect.top - pageRect.top) / zoom
|
|
275268
|
+
};
|
|
275269
|
+
}
|
|
274686
275270
|
const isEmptySdtPlaceholder = targetEl.classList.contains("superdoc-empty-sdt-placeholder") || targetEl.classList.contains("superdoc-empty-inline-sdt-placeholder") || targetEl.classList.contains("superdoc-empty-block-sdt-placeholder");
|
|
274687
275271
|
const atEnd = isEmptySdtPlaceholder ? pos > entry.pmEnd : pos >= entry.pmEnd;
|
|
274688
|
-
const yRect = (isEmptySdtPlaceholder ? targetEl.closest(".superdoc-line") : null)?.getBoundingClientRect() ?? elRect;
|
|
275272
|
+
const yRect = (isEmptySdtPlaceholder || targetEl.classList.contains("superdoc-tab") ? targetEl.closest(".superdoc-line") : null)?.getBoundingClientRect() ?? elRect;
|
|
274689
275273
|
return {
|
|
274690
275274
|
pageIndex: Number(page.dataset.pageIndex ?? "0"),
|
|
274691
275275
|
x: ((atEnd ? elRect.right : elRect.left) - pageRect.left) / zoom,
|
|
@@ -282108,7 +282692,8 @@ function makeResolveFace(resolver2, hasFace) {
|
|
|
282108
282692
|
const r$1 = resolver2.resolveFace(logical, face, hasFace);
|
|
282109
282693
|
return {
|
|
282110
282694
|
physicalFamily: r$1.physicalFamily,
|
|
282111
|
-
reason: r$1.reason
|
|
282695
|
+
reason: r$1.reason,
|
|
282696
|
+
sourceFace: r$1.sourceFace
|
|
282112
282697
|
};
|
|
282113
282698
|
};
|
|
282114
282699
|
if (resolver2)
|
|
@@ -282138,10 +282723,14 @@ function collect(acc, node2, resolveFace2) {
|
|
|
282138
282723
|
const usedKey = `${logicalPrimary.toLowerCase()}|${weight}|${style2}`;
|
|
282139
282724
|
if (acc.usedFaces.has(usedKey))
|
|
282140
282725
|
return;
|
|
282141
|
-
const { physicalFamily, reason } = resolveFace2(node2.fontFamily, {
|
|
282726
|
+
const { physicalFamily, reason, sourceFace } = resolveFace2(node2.fontFamily, {
|
|
282142
282727
|
weight,
|
|
282143
282728
|
style: style2
|
|
282144
282729
|
});
|
|
282730
|
+
const requiredFace = sourceFace ?? {
|
|
282731
|
+
weight,
|
|
282732
|
+
style: style2
|
|
282733
|
+
};
|
|
282145
282734
|
acc.usedFaces.set(usedKey, {
|
|
282146
282735
|
logicalFamily: logicalPrimary,
|
|
282147
282736
|
weight,
|
|
@@ -282152,15 +282741,17 @@ function collect(acc, node2, resolveFace2) {
|
|
|
282152
282741
|
weight,
|
|
282153
282742
|
style2,
|
|
282154
282743
|
(physicalFamily || "").toLowerCase(),
|
|
282744
|
+
requiredFace.weight,
|
|
282745
|
+
requiredFace.style,
|
|
282155
282746
|
reason
|
|
282156
282747
|
]);
|
|
282157
282748
|
if (physicalFamily) {
|
|
282158
|
-
const reqKey = `${physicalFamily.toLowerCase()}|${weight}|${
|
|
282749
|
+
const reqKey = `${physicalFamily.toLowerCase()}|${requiredFace.weight}|${requiredFace.style}`;
|
|
282159
282750
|
if (!acc.requiredFaces.has(reqKey))
|
|
282160
282751
|
acc.requiredFaces.set(reqKey, {
|
|
282161
282752
|
family: physicalFamily,
|
|
282162
|
-
weight,
|
|
282163
|
-
style:
|
|
282753
|
+
weight: requiredFace.weight,
|
|
282754
|
+
style: requiredFace.style
|
|
282164
282755
|
});
|
|
282165
282756
|
}
|
|
282166
282757
|
}
|
|
@@ -301788,6 +302379,7 @@ var Node$13 = class Node$14 {
|
|
|
301788
302379
|
this.syncInlineStyleLayers(options.editorState, options.domPositionIndex);
|
|
301789
302380
|
this.applyProofingAnnotations(options.proofingAnnotations, options.rebuildDomPositionIndex);
|
|
301790
302381
|
options.reapplyStructuredContentHover?.();
|
|
302382
|
+
options.reapplyTocGroupHover?.();
|
|
301791
302383
|
}
|
|
301792
302384
|
destroy() {
|
|
301793
302385
|
this.#proofingDecorator.clear();
|
|
@@ -301797,6 +302389,83 @@ var Node$13 = class Node$14 {
|
|
|
301797
302389
|
this.#commentHighlightDecorator.destroy();
|
|
301798
302390
|
this.#decorationBridge.destroy();
|
|
301799
302391
|
}
|
|
302392
|
+
}, HoverGroupCoordinator = class {
|
|
302393
|
+
#spec;
|
|
302394
|
+
#current = null;
|
|
302395
|
+
constructor(spec) {
|
|
302396
|
+
this.handleMouseEnter = (event) => {
|
|
302397
|
+
const entry = event.target?.closest?.(this.#spec.entrySelector);
|
|
302398
|
+
if (!entry)
|
|
302399
|
+
return;
|
|
302400
|
+
const id2 = this.#spec.getId(entry);
|
|
302401
|
+
if (!id2)
|
|
302402
|
+
return;
|
|
302403
|
+
this.#set(id2);
|
|
302404
|
+
};
|
|
302405
|
+
this.handleMouseLeave = (event) => {
|
|
302406
|
+
const entry = event.target?.closest?.(this.#spec.entrySelector);
|
|
302407
|
+
if (!entry)
|
|
302408
|
+
return;
|
|
302409
|
+
const id2 = this.#spec.getId(entry);
|
|
302410
|
+
if (!id2)
|
|
302411
|
+
return;
|
|
302412
|
+
const relatedTarget = event.relatedTarget;
|
|
302413
|
+
if (relatedTarget) {
|
|
302414
|
+
const nextEntry = relatedTarget.closest?.(this.#spec.entrySelector);
|
|
302415
|
+
if (nextEntry && this.#spec.getId(nextEntry) === id2)
|
|
302416
|
+
return;
|
|
302417
|
+
}
|
|
302418
|
+
this.clear();
|
|
302419
|
+
};
|
|
302420
|
+
this.#spec = spec;
|
|
302421
|
+
}
|
|
302422
|
+
reapply() {
|
|
302423
|
+
if (!this.#current)
|
|
302424
|
+
return;
|
|
302425
|
+
const { id: id2 } = this.#current;
|
|
302426
|
+
const elements = this.#spec.queryGroup(id2);
|
|
302427
|
+
if (elements.length === 0) {
|
|
302428
|
+
this.#current = null;
|
|
302429
|
+
return;
|
|
302430
|
+
}
|
|
302431
|
+
this.#applyClass(elements);
|
|
302432
|
+
this.#spec.onApply?.(elements);
|
|
302433
|
+
this.#current = {
|
|
302434
|
+
id: id2,
|
|
302435
|
+
elements
|
|
302436
|
+
};
|
|
302437
|
+
}
|
|
302438
|
+
clear() {
|
|
302439
|
+
if (!this.#current)
|
|
302440
|
+
return;
|
|
302441
|
+
for (const element3 of this.#current.elements) {
|
|
302442
|
+
element3.classList.remove(this.#spec.hoverClass);
|
|
302443
|
+
this.#spec.onClear?.(element3);
|
|
302444
|
+
}
|
|
302445
|
+
this.#current = null;
|
|
302446
|
+
}
|
|
302447
|
+
#set(id2) {
|
|
302448
|
+
if (this.#current?.id === id2)
|
|
302449
|
+
return;
|
|
302450
|
+
this.clear();
|
|
302451
|
+
const elements = this.#spec.queryGroup(id2);
|
|
302452
|
+
if (elements.length === 0)
|
|
302453
|
+
return;
|
|
302454
|
+
this.#applyClass(elements);
|
|
302455
|
+
this.#spec.onApply?.(elements);
|
|
302456
|
+
this.#current = {
|
|
302457
|
+
id: id2,
|
|
302458
|
+
elements
|
|
302459
|
+
};
|
|
302460
|
+
}
|
|
302461
|
+
#applyClass(elements) {
|
|
302462
|
+
const filter = this.#spec.shouldApplyTo;
|
|
302463
|
+
for (const element3 of elements) {
|
|
302464
|
+
if (filter && !filter(element3))
|
|
302465
|
+
continue;
|
|
302466
|
+
element3.classList.add(this.#spec.hoverClass);
|
|
302467
|
+
}
|
|
302468
|
+
}
|
|
301800
302469
|
}, ProofingStore = class {
|
|
301801
302470
|
#issuesBySegment = /* @__PURE__ */ new Map;
|
|
301802
302471
|
addIssue(issue2) {
|
|
@@ -302407,6 +303076,9 @@ var Node$13 = class Node$14 {
|
|
|
302407
303076
|
color: inherit !important;
|
|
302408
303077
|
text-decoration: none !important;
|
|
302409
303078
|
cursor: default;
|
|
303079
|
+
/* Disable native link drag so our pointer loop can run text-selection. */
|
|
303080
|
+
-webkit-user-drag: none;
|
|
303081
|
+
user-drag: none;
|
|
302410
303082
|
}
|
|
302411
303083
|
|
|
302412
303084
|
.superdoc-toc-entry .superdoc-link:hover {
|
|
@@ -302418,6 +303090,31 @@ var Node$13 = class Node$14 {
|
|
|
302418
303090
|
outline: none;
|
|
302419
303091
|
}
|
|
302420
303092
|
|
|
303093
|
+
/* TOC hover. .toc-group-hover is set by PresentationEditor on every entry
|
|
303094
|
+
sharing a data-toc-id so the whole TOC greys out together. The ::after
|
|
303095
|
+
stripe (height set via --toc-gap-below) fills the paragraph-spacing gap
|
|
303096
|
+
between adjacent entries so the hover reads as one continuous block. */
|
|
303097
|
+
.superdoc-toc-entry:hover,
|
|
303098
|
+
.superdoc-toc-entry.toc-group-hover {
|
|
303099
|
+
background-color: var(--sd-content-controls-block-hover-bg, #f2f2f2);
|
|
303100
|
+
}
|
|
303101
|
+
|
|
303102
|
+
/* Pointer-events stay on (default) so the stripe extends the parent entry's
|
|
303103
|
+
hit-test area through the paragraph-spacing gap. Without this, moving the
|
|
303104
|
+
cursor between two adjacent entries fires mouseout on the upper entry with
|
|
303105
|
+
relatedTarget = the page (not a TOC entry), the coordinator drops the
|
|
303106
|
+
group-hover class, and the grey disappears for a frame before the next
|
|
303107
|
+
entry's mouseover restores it — visible as a flicker. */
|
|
303108
|
+
.superdoc-toc-entry.toc-group-hover::after {
|
|
303109
|
+
content: '';
|
|
303110
|
+
position: absolute;
|
|
303111
|
+
left: 0;
|
|
303112
|
+
right: 0;
|
|
303113
|
+
top: 100%;
|
|
303114
|
+
height: var(--toc-gap-below, 0px);
|
|
303115
|
+
background-color: var(--sd-content-controls-block-hover-bg, #f2f2f2);
|
|
303116
|
+
}
|
|
303117
|
+
|
|
302421
303118
|
/* Remove focus outlines from layout engine elements */
|
|
302422
303119
|
.superdoc-layout,
|
|
302423
303120
|
.superdoc-page,
|
|
@@ -304472,6 +305169,7 @@ menclose::after {
|
|
|
304472
305169
|
});
|
|
304473
305170
|
if (run2.fontSize != null)
|
|
304474
305171
|
markerEl.style.fontSize = `${run2.fontSize}px`;
|
|
305172
|
+
allowFontSynthesis(markerEl);
|
|
304475
305173
|
markerEl.style.fontWeight = run2.bold ? "bold" : "";
|
|
304476
305174
|
markerEl.style.fontStyle = run2.italic ? "italic" : "";
|
|
304477
305175
|
if (run2.color)
|
|
@@ -306395,8 +307093,12 @@ menclose::after {
|
|
|
306395
307093
|
applyResolvedFragmentFrame(fragmentEl, resolvedItem, fragment);
|
|
306396
307094
|
else
|
|
306397
307095
|
applyFragmentFrame(fragmentEl, fragment);
|
|
306398
|
-
if (isTocEntry)
|
|
306399
|
-
fragmentEl.classList.add(
|
|
307096
|
+
if (isTocEntry) {
|
|
307097
|
+
fragmentEl.classList.add(DOM_CLASS_NAMES.TOC_ENTRY);
|
|
307098
|
+
const tocId = block.attrs?.tocId;
|
|
307099
|
+
if (typeof tocId === "string" && tocId.length > 0)
|
|
307100
|
+
fragmentEl.dataset.tocId = tocId;
|
|
307101
|
+
}
|
|
306400
307102
|
if (paraContinuesFromPrev)
|
|
306401
307103
|
fragmentEl.dataset.continuesFromPrev = "true";
|
|
306402
307104
|
if (paraContinuesOnNext)
|
|
@@ -306453,6 +307155,7 @@ menclose::after {
|
|
|
306453
307155
|
style: run2.italic ? "italic" : "normal"
|
|
306454
307156
|
});
|
|
306455
307157
|
dropCapEl.style.fontSize = `${run2.fontSize}px`;
|
|
307158
|
+
allowFontSynthesis(dropCapEl);
|
|
306456
307159
|
if (run2.bold)
|
|
306457
307160
|
dropCapEl.style.fontWeight = "bold";
|
|
306458
307161
|
if (run2.italic)
|
|
@@ -306572,6 +307275,7 @@ menclose::after {
|
|
|
306572
307275
|
style: run2.italic ? "italic" : "normal"
|
|
306573
307276
|
});
|
|
306574
307277
|
element3.style.fontSize = `${run2.fontSize}px`;
|
|
307278
|
+
allowFontSynthesis(element3);
|
|
306575
307279
|
if (run2.bold)
|
|
306576
307280
|
element3.style.fontWeight = "bold";
|
|
306577
307281
|
if (run2.italic)
|
|
@@ -306764,6 +307468,7 @@ menclose::after {
|
|
|
306764
307468
|
}
|
|
306765
307469
|
if (run2.textColor)
|
|
306766
307470
|
annotation.style.color = run2.textColor;
|
|
307471
|
+
allowFontSynthesis(annotation);
|
|
306767
307472
|
if (run2.bold)
|
|
306768
307473
|
annotation.style.fontWeight = "bold";
|
|
306769
307474
|
if (run2.italic)
|
|
@@ -314591,6 +315296,7 @@ menclose::after {
|
|
|
314591
315296
|
#cellAnchor = null;
|
|
314592
315297
|
#cellDragMode = "none";
|
|
314593
315298
|
#pendingMarginClick = null;
|
|
315299
|
+
#pendingTocLinkNav = null;
|
|
314594
315300
|
#lastSelectedImageBlockId = null;
|
|
314595
315301
|
#suppressFocusInFromDraggable = false;
|
|
314596
315302
|
#pendingStructuredContentLabelGesture = null;
|
|
@@ -315132,10 +315838,14 @@ menclose::after {
|
|
|
315132
315838
|
return;
|
|
315133
315839
|
}
|
|
315134
315840
|
const linkEl = target?.closest?.("a.superdoc-link");
|
|
315135
|
-
|
|
315136
|
-
|
|
315137
|
-
|
|
315138
|
-
|
|
315841
|
+
this.#pendingTocLinkNav = null;
|
|
315842
|
+
if (linkEl)
|
|
315843
|
+
if (linkEl.closest(`.${DOM_CLASS_NAMES.TOC_ENTRY}`))
|
|
315844
|
+
this.#pendingTocLinkNav = linkEl;
|
|
315845
|
+
else {
|
|
315846
|
+
this.#handleLinkClick(event, linkEl);
|
|
315847
|
+
return;
|
|
315848
|
+
}
|
|
315139
315849
|
const annotationEl = target?.closest?.(buildAnnotationSelector());
|
|
315140
315850
|
const isDraggableAnnotation = target?.closest?.(DRAGGABLE_SELECTOR) != null;
|
|
315141
315851
|
const isNativeDragSource = target?.closest?.(DRAG_SOURCE_SELECTOR) != null;
|
|
@@ -315474,6 +316184,10 @@ menclose::after {
|
|
|
315474
316184
|
event
|
|
315475
316185
|
});
|
|
315476
316186
|
this.#suppressFocusInFromDraggable = false;
|
|
316187
|
+
const pendingTocLink = this.#pendingTocLinkNav;
|
|
316188
|
+
this.#pendingTocLinkNav = null;
|
|
316189
|
+
if (pendingTocLink && !this.#dragThresholdExceeded)
|
|
316190
|
+
this.#handleLinkClick(event, pendingTocLink);
|
|
315477
316191
|
if (!this.#isDragging) {
|
|
315478
316192
|
this.#stopAutoScroll();
|
|
315479
316193
|
return;
|
|
@@ -319498,6 +320212,17 @@ menclose::after {
|
|
|
319498
320212
|
const declaredRows = buildFontReport(declared.filter((family2) => family2 && !usedFamilies.has(family2.toLowerCase())), registry3, resolver2);
|
|
319499
320213
|
return [...faceRows, ...declaredRows];
|
|
319500
320214
|
}
|
|
320215
|
+
getDocumentFontOptions() {
|
|
320216
|
+
try {
|
|
320217
|
+
const usedFaces = this.#getUsedFaces?.() ?? [];
|
|
320218
|
+
if (!usedFaces.length)
|
|
320219
|
+
return [];
|
|
320220
|
+
const { registry: registry3 } = this.#resolveContext();
|
|
320221
|
+
return buildDocumentFontOptions(usedFaces, registry3, this.#fontResolver ?? undefined);
|
|
320222
|
+
} catch {
|
|
320223
|
+
return [];
|
|
320224
|
+
}
|
|
320225
|
+
}
|
|
319501
320226
|
async ensureReadyForMeasure() {
|
|
319502
320227
|
if (this.#getRequiredFaces)
|
|
319503
320228
|
return this.#ensureFacesReady(this.#getRequiredFaces);
|
|
@@ -319937,13 +320662,13 @@ menclose::after {
|
|
|
319937
320662
|
return;
|
|
319938
320663
|
console.log(...args$1);
|
|
319939
320664
|
}, HEADER_FOOTER_INIT_BUDGET_MS = 200, MAX_ZOOM_WARNING_THRESHOLD = 10, MAX_SELECTION_RECTS_PER_USER = 100, SEMANTIC_RESIZE_DEBOUNCE_MS = 120, MIN_SEMANTIC_CONTENT_WIDTH_PX = 1, GLOBAL_PERFORMANCE, PresentationEditor, ICONS, TEXTS, tableActionsOptions, TRACKED_MARK_NAMES;
|
|
319940
|
-
var
|
|
320665
|
+
var init_src_BXck1nRd_es = __esm(() => {
|
|
319941
320666
|
init_rolldown_runtime_Bg48TavK_es();
|
|
319942
|
-
|
|
320667
|
+
init_SuperConverter_BSDZ3hYr_es();
|
|
319943
320668
|
init_jszip_C49i9kUs_es();
|
|
319944
320669
|
init_xml_js_CqGKpaft_es();
|
|
319945
320670
|
init_uuid_B2wVPhPi_es();
|
|
319946
|
-
|
|
320671
|
+
init_create_headless_toolbar_CKZ579SH_es();
|
|
319947
320672
|
init_constants_D9qj59G2_es();
|
|
319948
320673
|
init_dist_B8HfvhaK_es();
|
|
319949
320674
|
init_unified_Dsuw2be5_es();
|
|
@@ -338873,6 +339598,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
338873
339598
|
TABLE_FRAGMENT: "superdoc-table-fragment",
|
|
338874
339599
|
DOCUMENT_SECTION: "superdoc-document-section",
|
|
338875
339600
|
SDT_GROUP_HOVER: "sdt-group-hover",
|
|
339601
|
+
TOC_ENTRY: "superdoc-toc-entry",
|
|
339602
|
+
TOC_GROUP_HOVER: "toc-group-hover",
|
|
338876
339603
|
IMAGE_FRAGMENT: "superdoc-image-fragment",
|
|
338877
339604
|
INLINE_IMAGE: "superdoc-inline-image",
|
|
338878
339605
|
LIST_MARKER: "superdoc-list-marker",
|
|
@@ -340653,7 +341380,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
340653
341380
|
};
|
|
340654
341381
|
}
|
|
340655
341382
|
}, [["__scopeId", "data-v-d25821a5"]]);
|
|
340656
|
-
TOOLBAR_FONTS =
|
|
341383
|
+
TOOLBAR_FONTS = getBuiltInToolbarFontOfferings().map((offering) => ({
|
|
340657
341384
|
label: offering.logicalFamily,
|
|
340658
341385
|
key: fontOfferingStack(offering),
|
|
340659
341386
|
fontWeight: 400,
|
|
@@ -341186,7 +341913,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
341186
341913
|
const menuRef = exports_vue.ref(null);
|
|
341187
341914
|
const menuPosition = exports_vue.ref({
|
|
341188
341915
|
top: "0px",
|
|
341189
|
-
left: "0px"
|
|
341916
|
+
left: "0px",
|
|
341917
|
+
maxHeight: "none"
|
|
341190
341918
|
});
|
|
341191
341919
|
const optionRefs = exports_vue.ref([]);
|
|
341192
341920
|
const keyboardIndex = exports_vue.ref(-1);
|
|
@@ -341223,6 +341951,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
341223
341951
|
position: "fixed",
|
|
341224
341952
|
top: menuPosition.value.top,
|
|
341225
341953
|
left: menuPosition.value.left,
|
|
341954
|
+
maxHeight: menuPosition.value.maxHeight,
|
|
341226
341955
|
zIndex: 2000
|
|
341227
341956
|
};
|
|
341228
341957
|
});
|
|
@@ -341238,17 +341967,30 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
341238
341967
|
if (!triggerRef.value)
|
|
341239
341968
|
return;
|
|
341240
341969
|
const rect = triggerRef.value.getBoundingClientRect();
|
|
341241
|
-
const
|
|
341970
|
+
const menuEl = menuRef.value;
|
|
341971
|
+
const menuWidth = menuEl?.offsetWidth ?? 0;
|
|
341972
|
+
const menuHeight = menuEl?.scrollHeight ?? menuEl?.offsetHeight ?? 0;
|
|
341242
341973
|
const viewportWidth = window.innerWidth || document.documentElement.clientWidth || 0;
|
|
341974
|
+
const viewportHeight = window.innerHeight || document.documentElement.clientHeight || 0;
|
|
341243
341975
|
const gutter = 8;
|
|
341976
|
+
const gap = 4;
|
|
341977
|
+
const belowTop = rect.bottom + gap;
|
|
341978
|
+
const aboveBottom = rect.top - gap;
|
|
341979
|
+
const availableBelow = Math.max(0, viewportHeight - belowTop - gutter);
|
|
341980
|
+
const availableAbove = Math.max(0, aboveBottom - gutter);
|
|
341981
|
+
const openAbove = availableBelow < menuHeight && availableAbove > availableBelow;
|
|
341982
|
+
const maxHeight = openAbove ? availableAbove : availableBelow;
|
|
341983
|
+
const menuRenderHeight = menuHeight ? Math.min(menuHeight, maxHeight) : maxHeight;
|
|
341984
|
+
const top$1 = openAbove ? Math.max(gutter, aboveBottom - menuRenderHeight) : belowTop;
|
|
341244
341985
|
let left$1 = rect.left;
|
|
341245
341986
|
if (props.placement === "bottom-end")
|
|
341246
341987
|
left$1 = rect.right - menuWidth;
|
|
341247
341988
|
const maxLeft = Math.max(gutter, viewportWidth - menuWidth - gutter);
|
|
341248
341989
|
left$1 = Math.min(Math.max(gutter, left$1), maxLeft);
|
|
341249
341990
|
menuPosition.value = {
|
|
341250
|
-
top: `${
|
|
341251
|
-
left: `${left$1}px
|
|
341991
|
+
top: `${top$1}px`,
|
|
341992
|
+
left: `${left$1}px`,
|
|
341993
|
+
maxHeight: `${maxHeight}px`
|
|
341252
341994
|
};
|
|
341253
341995
|
};
|
|
341254
341996
|
const onTriggerClick = () => {
|
|
@@ -341314,8 +342056,13 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
341314
342056
|
el.setAttribute("tabindex", index2 === keyboardIndex.value ? "0" : "-1");
|
|
341315
342057
|
});
|
|
341316
342058
|
const target = optionRefs.value[keyboardIndex.value];
|
|
341317
|
-
if (target && typeof target.focus === "function")
|
|
342059
|
+
if (target && typeof target.focus === "function") {
|
|
341318
342060
|
target.focus();
|
|
342061
|
+
target.scrollIntoView?.({
|
|
342062
|
+
block: "nearest",
|
|
342063
|
+
inline: "nearest"
|
|
342064
|
+
});
|
|
342065
|
+
}
|
|
341319
342066
|
};
|
|
341320
342067
|
const moveKeyboardIndex = (direction) => {
|
|
341321
342068
|
const navigableIndexes = getNavigableIndexes();
|
|
@@ -341450,6 +342197,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
341450
342197
|
if (hasRenderOptions.value)
|
|
341451
342198
|
return;
|
|
341452
342199
|
keyboardIndex.value = getInitialKeyboardIndex();
|
|
342200
|
+
await exports_vue.nextTick();
|
|
341453
342201
|
focusKeyboardIndex();
|
|
341454
342202
|
}, { immediate: true });
|
|
341455
342203
|
exports_vue.watch(isOpen, (open) => {
|
|
@@ -341513,7 +342261,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
341513
342261
|
})]))]);
|
|
341514
342262
|
};
|
|
341515
342263
|
}
|
|
341516
|
-
}, [["__scopeId", "data-v-
|
|
342264
|
+
}, [["__scopeId", "data-v-69732782"]]);
|
|
341517
342265
|
SdTooltip_default = /* @__PURE__ */ __plugin_vue_export_helper_default(/* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
|
|
341518
342266
|
__name: "SdTooltip",
|
|
341519
342267
|
props: {
|
|
@@ -342163,16 +342911,21 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342163
342911
|
toolbarKey.value += 1;
|
|
342164
342912
|
};
|
|
342165
342913
|
const onResizeThrottled = throttle(onWindowResized, 300);
|
|
342166
|
-
|
|
342914
|
+
const onToolbarItemsChanged = () => {
|
|
342915
|
+
toolbarKey.value += 1;
|
|
342916
|
+
};
|
|
342917
|
+
function teardownListeners() {
|
|
342167
342918
|
window.removeEventListener("resize", onResizeThrottled);
|
|
342168
342919
|
window.removeEventListener("keydown", onKeyDown);
|
|
342920
|
+
proxy.$toolbar.off?.("toolbar-items-changed", onToolbarItemsChanged);
|
|
342169
342921
|
containerResizeObserver?.disconnect();
|
|
342170
342922
|
containerResizeObserver = null;
|
|
342171
342923
|
}
|
|
342172
|
-
function
|
|
342173
|
-
|
|
342924
|
+
function setupListeners() {
|
|
342925
|
+
teardownListeners();
|
|
342174
342926
|
window.addEventListener("resize", onResizeThrottled);
|
|
342175
342927
|
window.addEventListener("keydown", onKeyDown);
|
|
342928
|
+
proxy.$toolbar.on?.("toolbar-items-changed", onToolbarItemsChanged);
|
|
342176
342929
|
if (typeof ResizeObserver !== "undefined" && proxy.$toolbar.config?.responsiveToContainer && proxy.$toolbar.toolbarContainer) {
|
|
342177
342930
|
containerResizeObserver = new ResizeObserver(() => {
|
|
342178
342931
|
onResizeThrottled();
|
|
@@ -342181,10 +342934,10 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342181
342934
|
}
|
|
342182
342935
|
updateCompactSideGroups();
|
|
342183
342936
|
}
|
|
342184
|
-
exports_vue.onMounted(
|
|
342185
|
-
exports_vue.onActivated(
|
|
342186
|
-
exports_vue.onDeactivated(
|
|
342187
|
-
exports_vue.onBeforeUnmount(
|
|
342937
|
+
exports_vue.onMounted(setupListeners);
|
|
342938
|
+
exports_vue.onActivated(setupListeners);
|
|
342939
|
+
exports_vue.onDeactivated(teardownListeners);
|
|
342940
|
+
exports_vue.onBeforeUnmount(teardownListeners);
|
|
342188
342941
|
const handleCommand = ({ item, argument, option }) => {
|
|
342189
342942
|
proxy.$toolbar.emitCommand({
|
|
342190
342943
|
item,
|
|
@@ -342263,7 +343016,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342263
343016
|
], 32);
|
|
342264
343017
|
};
|
|
342265
343018
|
}
|
|
342266
|
-
}, [["__scopeId", "data-v-
|
|
343019
|
+
}, [["__scopeId", "data-v-938eaa1b"]]);
|
|
342267
343020
|
toolbarTexts = {
|
|
342268
343021
|
bold: "Bold",
|
|
342269
343022
|
fontFamily: "Font",
|
|
@@ -342394,8 +343147,10 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342394
343147
|
this._boundEditorHandlers = {
|
|
342395
343148
|
transaction: null,
|
|
342396
343149
|
selectionUpdate: null,
|
|
342397
|
-
focus: null
|
|
343150
|
+
focus: null,
|
|
343151
|
+
fontsChanged: null
|
|
342398
343152
|
};
|
|
343153
|
+
this._lastFontOptionsSignature = "";
|
|
342399
343154
|
this._restoreFocusTimeoutId = null;
|
|
342400
343155
|
if (!this.config.selector && this.config.element)
|
|
342401
343156
|
this.config.selector = this.config.element;
|
|
@@ -342454,24 +343209,40 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342454
343209
|
if (this.config.groups && !Array.isArray(this.config.groups) && Object.keys(this.config.groups).length)
|
|
342455
343210
|
this.config.toolbarGroups = Object.keys(this.config.groups);
|
|
342456
343211
|
}
|
|
343212
|
+
#detachActiveEditorListeners() {
|
|
343213
|
+
if (!this.activeEditor || !this._boundEditorHandlers.transaction)
|
|
343214
|
+
return;
|
|
343215
|
+
this.activeEditor.off("transaction", this._boundEditorHandlers.transaction);
|
|
343216
|
+
this.activeEditor.off("selectionUpdate", this._boundEditorHandlers.selectionUpdate);
|
|
343217
|
+
this.activeEditor.off("focus", this._boundEditorHandlers.focus);
|
|
343218
|
+
this.activeEditor.off("fonts-changed", this._boundEditorHandlers.fontsChanged);
|
|
343219
|
+
this._boundEditorHandlers.transaction = null;
|
|
343220
|
+
this._boundEditorHandlers.selectionUpdate = null;
|
|
343221
|
+
this._boundEditorHandlers.focus = null;
|
|
343222
|
+
this._boundEditorHandlers.fontsChanged = null;
|
|
343223
|
+
}
|
|
342457
343224
|
setActiveEditor(editor) {
|
|
342458
|
-
|
|
342459
|
-
|
|
342460
|
-
|
|
342461
|
-
this.
|
|
342462
|
-
|
|
342463
|
-
this._boundEditorHandlers.selectionUpdate = null;
|
|
342464
|
-
this._boundEditorHandlers.focus = null;
|
|
343225
|
+
const sameEditor = editor === this.activeEditor;
|
|
343226
|
+
const alreadyListening = Boolean(this._boundEditorHandlers.transaction);
|
|
343227
|
+
if (sameEditor && (!editor || alreadyListening)) {
|
|
343228
|
+
this.updateToolbarState();
|
|
343229
|
+
return;
|
|
342465
343230
|
}
|
|
343231
|
+
this.#detachActiveEditorListeners();
|
|
342466
343232
|
this.activeEditor = editor;
|
|
342467
343233
|
if (editor) {
|
|
342468
343234
|
this._boundEditorHandlers.transaction = this.onEditorTransaction.bind(this);
|
|
342469
343235
|
this._boundEditorHandlers.selectionUpdate = this.onEditorSelectionUpdate.bind(this);
|
|
342470
343236
|
this._boundEditorHandlers.focus = this.onEditorFocus.bind(this);
|
|
343237
|
+
this._boundEditorHandlers.fontsChanged = this.onEditorFontsChanged.bind(this);
|
|
342471
343238
|
this.activeEditor.on("transaction", this._boundEditorHandlers.transaction);
|
|
342472
343239
|
this.activeEditor.on("selectionUpdate", this._boundEditorHandlers.selectionUpdate);
|
|
342473
343240
|
this.activeEditor.on("focus", this._boundEditorHandlers.focus);
|
|
343241
|
+
this.activeEditor.on("fonts-changed", this._boundEditorHandlers.fontsChanged);
|
|
342474
343242
|
}
|
|
343243
|
+
this.#rebuildToolbarItems();
|
|
343244
|
+
this._lastFontOptionsSignature = this.#fontOptionsSignature();
|
|
343245
|
+
this.updateToolbarState();
|
|
342475
343246
|
}
|
|
342476
343247
|
getToolbarItemByGroup(groupName) {
|
|
342477
343248
|
return this.toolbarItems.filter((item) => (item.group?.value || "center") === groupName);
|
|
@@ -342488,13 +343259,14 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342488
343259
|
return this.config.responsiveToContainer ? containerWidth : documentWidth;
|
|
342489
343260
|
}
|
|
342490
343261
|
#makeToolbarItems({ superToolbar, icons: icons$1, texts, fonts, hideButtons, isDev = false } = {}) {
|
|
343262
|
+
const availableWidth = this.getAvailableWidth();
|
|
342491
343263
|
const { defaultItems, overflowItems } = makeDefaultItems({
|
|
342492
343264
|
superToolbar,
|
|
342493
343265
|
toolbarIcons: icons$1,
|
|
342494
343266
|
toolbarTexts: texts,
|
|
342495
|
-
toolbarFonts: fonts,
|
|
343267
|
+
toolbarFonts: this.#resolveToolbarFonts(fonts),
|
|
342496
343268
|
hideButtons,
|
|
342497
|
-
availableWidth
|
|
343269
|
+
availableWidth,
|
|
342498
343270
|
role: this.role,
|
|
342499
343271
|
isDev
|
|
342500
343272
|
});
|
|
@@ -342507,6 +343279,26 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342507
343279
|
this.toolbarItems = defaultItems.filter((item) => allConfigItems.includes(item.name.value)).filter((item) => !this.config.excludeItems.includes(item.name.value));
|
|
342508
343280
|
this.overflowItems = overflowItems.filter((item) => allConfigItems.includes(item.name.value));
|
|
342509
343281
|
}
|
|
343282
|
+
#resolveToolbarFonts(configFonts) {
|
|
343283
|
+
return composeToolbarFontOptions(this.superdoc?.fonts?.getDocumentFontOptions?.() ?? [], configFonts);
|
|
343284
|
+
}
|
|
343285
|
+
#rebuildToolbarItems() {
|
|
343286
|
+
this.#makeToolbarItems({
|
|
343287
|
+
superToolbar: this,
|
|
343288
|
+
icons: this.config.icons,
|
|
343289
|
+
texts: this.config.texts,
|
|
343290
|
+
fonts: this.config.fonts,
|
|
343291
|
+
hideButtons: this.config.hideButtons,
|
|
343292
|
+
isDev: this.isDev
|
|
343293
|
+
});
|
|
343294
|
+
this.emit("toolbar-items-changed");
|
|
343295
|
+
}
|
|
343296
|
+
#fontOptionsSignature() {
|
|
343297
|
+
if (this.config.fonts)
|
|
343298
|
+
return "custom-fonts";
|
|
343299
|
+
const options = this.superdoc?.fonts?.getDocumentFontOptions?.() ?? [];
|
|
343300
|
+
return JSON.stringify(options.map((option) => [option.logicalFamily, option.previewFamily]));
|
|
343301
|
+
}
|
|
342510
343302
|
#initDefaultFonts() {
|
|
342511
343303
|
if (!this.activeEditor || !this.activeEditor.converter)
|
|
342512
343304
|
return;
|
|
@@ -342878,6 +343670,14 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342878
343670
|
if (this.#restoreStickyMarksIfNeeded())
|
|
342879
343671
|
this.updateToolbarState();
|
|
342880
343672
|
}
|
|
343673
|
+
onEditorFontsChanged() {
|
|
343674
|
+
const signature = this.#fontOptionsSignature();
|
|
343675
|
+
if (signature !== this._lastFontOptionsSignature) {
|
|
343676
|
+
this._lastFontOptionsSignature = signature;
|
|
343677
|
+
this.#rebuildToolbarItems();
|
|
343678
|
+
}
|
|
343679
|
+
this.updateToolbarState();
|
|
343680
|
+
}
|
|
342881
343681
|
onEditorFocus() {
|
|
342882
343682
|
if (this.pendingMarkCommands.length) {
|
|
342883
343683
|
this.onEditorSelectionUpdate();
|
|
@@ -342944,6 +343744,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
342944
343744
|
clearTimeout(this._restoreFocusTimeoutId);
|
|
342945
343745
|
this._restoreFocusTimeoutId = null;
|
|
342946
343746
|
}
|
|
343747
|
+
this.#detachActiveEditorListeners();
|
|
342947
343748
|
this.destroyHeadlessToolbar();
|
|
342948
343749
|
this.app?.unmount();
|
|
342949
343750
|
}
|
|
@@ -346320,6 +347121,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
346320
347121
|
editor: this
|
|
346321
347122
|
});
|
|
346322
347123
|
console.error(err);
|
|
347124
|
+
throw err;
|
|
346323
347125
|
}
|
|
346324
347126
|
}
|
|
346325
347127
|
#endCollaboration() {
|
|
@@ -348323,7 +349125,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
348323
349125
|
#lastSelectedFieldAnnotation = null;
|
|
348324
349126
|
#lastSelectedStructuredContentBlock = null;
|
|
348325
349127
|
#lastSelectedStructuredContentInline = null;
|
|
348326
|
-
#
|
|
349128
|
+
#sdtHoverCoordinator = null;
|
|
349129
|
+
#tocHoverCoordinator = null;
|
|
348327
349130
|
#remoteCursorManager = null;
|
|
348328
349131
|
#cursorUpdateTimer = null;
|
|
348329
349132
|
#remoteCursorOverlay = null;
|
|
@@ -348394,8 +349197,11 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
348394
349197
|
ensureEditorNativeSelectionStyles(doc$12);
|
|
348395
349198
|
ensureEditorFieldAnnotationInteractionStyles(doc$12);
|
|
348396
349199
|
ensureEditorMovableObjectInteractionStyles(doc$12);
|
|
348397
|
-
this.#
|
|
348398
|
-
this.#painterHost.addEventListener("
|
|
349200
|
+
this.#initializeHoverCoordinators();
|
|
349201
|
+
this.#painterHost.addEventListener("mouseover", this.#sdtHoverCoordinator.handleMouseEnter);
|
|
349202
|
+
this.#painterHost.addEventListener("mouseout", this.#sdtHoverCoordinator.handleMouseLeave);
|
|
349203
|
+
this.#painterHost.addEventListener("mouseover", this.#tocHoverCoordinator.handleMouseEnter);
|
|
349204
|
+
this.#painterHost.addEventListener("mouseout", this.#tocHoverCoordinator.handleMouseLeave);
|
|
348399
349205
|
this.#domIndexObserverManager = new DomPositionIndexObserverManager({
|
|
348400
349206
|
windowRoot: this.#visibleHost?.ownerDocument?.defaultView ?? window,
|
|
348401
349207
|
getPainterHost: () => this.#painterHost,
|
|
@@ -349563,6 +350369,9 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
349563
350369
|
getFontReport() {
|
|
349564
350370
|
return this.#fontGate?.getReport() ?? [];
|
|
349565
350371
|
}
|
|
350372
|
+
getDocumentFontOptions() {
|
|
350373
|
+
return this.#fontGate?.getDocumentFontOptions() ?? [];
|
|
350374
|
+
}
|
|
349566
350375
|
getMissingFonts() {
|
|
349567
350376
|
return [...new Set(this.getFontReport().filter((record3) => record3.missing).map((record3) => record3.logicalFamily))];
|
|
349568
350377
|
}
|
|
@@ -352383,74 +353192,50 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
352383
353192
|
}
|
|
352384
353193
|
this.#setSelectedStructuredContentBlockClass(elements, id2);
|
|
352385
353194
|
}
|
|
352386
|
-
#
|
|
352387
|
-
|
|
352388
|
-
if (!block || !(block instanceof HTMLElement))
|
|
353195
|
+
#initializeHoverCoordinators() {
|
|
353196
|
+
if (this.#sdtHoverCoordinator || this.#tocHoverCoordinator)
|
|
352389
353197
|
return;
|
|
352390
|
-
|
|
352391
|
-
|
|
352392
|
-
|
|
352393
|
-
|
|
352394
|
-
|
|
352395
|
-
|
|
352396
|
-
|
|
352397
|
-
|
|
352398
|
-
|
|
352399
|
-
|
|
353198
|
+
this.#sdtHoverCoordinator = new HoverGroupCoordinator({
|
|
353199
|
+
entrySelector: `.${DOM_CLASS_NAMES.BLOCK_SDT}`,
|
|
353200
|
+
getId: (entry) => entry.dataset.sdtId,
|
|
353201
|
+
queryGroup: (id2) => this.#painterAdapter.getStructuredContentBlockElementsById(id2),
|
|
353202
|
+
hoverClass: DOM_CLASS_NAMES.SDT_GROUP_HOVER,
|
|
353203
|
+
shouldApplyTo: (element3) => !element3.classList.contains("ProseMirror-selectednode")
|
|
353204
|
+
});
|
|
353205
|
+
this.#tocHoverCoordinator = new HoverGroupCoordinator({
|
|
353206
|
+
entrySelector: `.${DOM_CLASS_NAMES.TOC_ENTRY}`,
|
|
353207
|
+
getId: (entry) => entry.dataset.tocId,
|
|
353208
|
+
queryGroup: (id2) => this.#queryTocEntryElementsById(id2),
|
|
353209
|
+
hoverClass: DOM_CLASS_NAMES.TOC_GROUP_HOVER,
|
|
353210
|
+
onApply: (elements) => this.#applyTocGapFill(elements),
|
|
353211
|
+
onClear: (element3) => element3.style.removeProperty("--toc-gap-below")
|
|
353212
|
+
});
|
|
353213
|
+
}
|
|
353214
|
+
#applyTocGapFill(elements) {
|
|
353215
|
+
if (elements.length < 2)
|
|
352400
353216
|
return;
|
|
352401
|
-
const
|
|
352402
|
-
|
|
352403
|
-
|
|
352404
|
-
|
|
352405
|
-
|
|
353217
|
+
const measured = elements.map((element3) => ({
|
|
353218
|
+
element: element3,
|
|
353219
|
+
rect: element3.getBoundingClientRect()
|
|
353220
|
+
})).sort((a2, b$1) => a2.rect.top - b$1.rect.top);
|
|
353221
|
+
for (let i4 = 0;i4 < measured.length - 1; i4++) {
|
|
353222
|
+
const current = measured[i4];
|
|
353223
|
+
const next2 = measured[i4 + 1];
|
|
353224
|
+
const currentPage = current.element.closest("[data-page-index]");
|
|
353225
|
+
if (!currentPage || currentPage !== next2.element.closest("[data-page-index]"))
|
|
353226
|
+
continue;
|
|
353227
|
+
const rawGap = next2.rect.top - current.rect.bottom;
|
|
353228
|
+
const scaleY = current.rect.height && current.element.offsetHeight ? current.rect.height / current.element.offsetHeight : 1;
|
|
353229
|
+
const gap = scaleY > 0 ? rawGap / scaleY : rawGap;
|
|
353230
|
+
if (gap > 0)
|
|
353231
|
+
current.element.style.setProperty("--toc-gap-below", `${gap + 1}px`);
|
|
352406
353232
|
}
|
|
352407
|
-
this.#clearHoveredStructuredContentBlockClass();
|
|
352408
|
-
};
|
|
352409
|
-
#clearHoveredStructuredContentBlockClass() {
|
|
352410
|
-
if (!this.#lastHoveredStructuredContentBlock)
|
|
352411
|
-
return;
|
|
352412
|
-
this.#lastHoveredStructuredContentBlock.elements.forEach((element3) => {
|
|
352413
|
-
element3.classList.remove(DOM_CLASS_NAMES.SDT_GROUP_HOVER);
|
|
352414
|
-
});
|
|
352415
|
-
this.#lastHoveredStructuredContentBlock = null;
|
|
352416
353233
|
}
|
|
352417
|
-
#
|
|
352418
|
-
if (this.#lastHoveredStructuredContentBlock?.id === id2)
|
|
352419
|
-
return;
|
|
352420
|
-
this.#clearHoveredStructuredContentBlockClass();
|
|
353234
|
+
#queryTocEntryElementsById(id2) {
|
|
352421
353235
|
if (!this.#painterHost)
|
|
352422
|
-
return;
|
|
352423
|
-
const
|
|
352424
|
-
|
|
352425
|
-
return;
|
|
352426
|
-
elements.forEach((element3) => {
|
|
352427
|
-
if (!element3.classList.contains("ProseMirror-selectednode"))
|
|
352428
|
-
element3.classList.add(DOM_CLASS_NAMES.SDT_GROUP_HOVER);
|
|
352429
|
-
});
|
|
352430
|
-
this.#lastHoveredStructuredContentBlock = {
|
|
352431
|
-
id: id2,
|
|
352432
|
-
elements
|
|
352433
|
-
};
|
|
352434
|
-
}
|
|
352435
|
-
#reapplySdtGroupHover() {
|
|
352436
|
-
if (!this.#lastHoveredStructuredContentBlock || !this.#painterHost)
|
|
352437
|
-
return;
|
|
352438
|
-
const { id: id2 } = this.#lastHoveredStructuredContentBlock;
|
|
352439
|
-
if (!id2)
|
|
352440
|
-
return;
|
|
352441
|
-
const elements = this.#painterAdapter.getStructuredContentBlockElementsById(id2);
|
|
352442
|
-
if (elements.length === 0) {
|
|
352443
|
-
this.#lastHoveredStructuredContentBlock = null;
|
|
352444
|
-
return;
|
|
352445
|
-
}
|
|
352446
|
-
elements.forEach((element3) => {
|
|
352447
|
-
if (!element3.classList.contains("ProseMirror-selectednode"))
|
|
352448
|
-
element3.classList.add(DOM_CLASS_NAMES.SDT_GROUP_HOVER);
|
|
352449
|
-
});
|
|
352450
|
-
this.#lastHoveredStructuredContentBlock = {
|
|
352451
|
-
id: id2,
|
|
352452
|
-
elements
|
|
352453
|
-
};
|
|
353236
|
+
return [];
|
|
353237
|
+
const escapedId = escapeAttrValue(id2);
|
|
353238
|
+
return Array.from(this.#painterHost.querySelectorAll(`.${DOM_CLASS_NAMES.TOC_ENTRY}[data-toc-id="${escapedId}"]`));
|
|
352454
353239
|
}
|
|
352455
353240
|
#refreshEditorDomAugmentations() {
|
|
352456
353241
|
this.#postPaintPipeline.refreshAfterPaint({
|
|
@@ -352459,7 +353244,8 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
352459
353244
|
domPositionIndex: this.#domPositionIndex,
|
|
352460
353245
|
proofingAnnotations: this.#buildProofingAnnotations(),
|
|
352461
353246
|
rebuildDomPositionIndex: () => this.#rebuildDomPositionIndex(),
|
|
352462
|
-
reapplyStructuredContentHover: () => this.#
|
|
353247
|
+
reapplyStructuredContentHover: () => this.#sdtHoverCoordinator?.reapply(),
|
|
353248
|
+
reapplyTocGroupHover: () => this.#tocHoverCoordinator?.reapply()
|
|
352463
353249
|
});
|
|
352464
353250
|
}
|
|
352465
353251
|
#clearSelectedStructuredContentInlineClass() {
|
|
@@ -354847,11 +355633,11 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
354847
355633
|
]);
|
|
354848
355634
|
});
|
|
354849
355635
|
|
|
354850
|
-
// ../../packages/superdoc/dist/chunks/create-super-doc-ui-
|
|
355636
|
+
// ../../packages/superdoc/dist/chunks/create-super-doc-ui---bNCP-9.es.js
|
|
354851
355637
|
var headlessToolbarConstants, MOD_ALIASES, ALT_ALIASES, CTRL_ALIASES, SHIFT_ALIASES, BUILTIN_CONTEXT_MENU_GROUPS, BUILTIN_GROUP_ORDER, RESERVED_PROXY_PROPERTY_NAMES, ALL_TOOLBAR_COMMAND_IDS, EMPTY_ACTIVE_IDS;
|
|
354852
|
-
var
|
|
354853
|
-
|
|
354854
|
-
|
|
355638
|
+
var init_create_super_doc_ui_bNCP_9_es = __esm(() => {
|
|
355639
|
+
init_SuperConverter_BSDZ3hYr_es();
|
|
355640
|
+
init_create_headless_toolbar_CKZ579SH_es();
|
|
354855
355641
|
headlessToolbarConstants = {
|
|
354856
355642
|
DEFAULT_TEXT_ALIGN_OPTIONS: [
|
|
354857
355643
|
{
|
|
@@ -355133,16 +355919,16 @@ var init_zipper_yaJVJ4z9_es = __esm(() => {
|
|
|
355133
355919
|
|
|
355134
355920
|
// ../../packages/superdoc/dist/super-editor.es.js
|
|
355135
355921
|
var init_super_editor_es = __esm(() => {
|
|
355136
|
-
|
|
355137
|
-
|
|
355922
|
+
init_src_BXck1nRd_es();
|
|
355923
|
+
init_SuperConverter_BSDZ3hYr_es();
|
|
355138
355924
|
init_jszip_C49i9kUs_es();
|
|
355139
355925
|
init_xml_js_CqGKpaft_es();
|
|
355140
|
-
|
|
355926
|
+
init_create_headless_toolbar_CKZ579SH_es();
|
|
355141
355927
|
init_constants_D9qj59G2_es();
|
|
355142
355928
|
init_dist_B8HfvhaK_es();
|
|
355143
355929
|
init_unified_Dsuw2be5_es();
|
|
355144
355930
|
init_DocxZipper_FUsfThjV_es();
|
|
355145
|
-
|
|
355931
|
+
init_create_super_doc_ui_bNCP_9_es();
|
|
355146
355932
|
init_ui_C5PAS9hY_es();
|
|
355147
355933
|
init_eventemitter3_BnGqBE_Q_es();
|
|
355148
355934
|
init_errors_CNaD6vcg_es();
|
|
@@ -456352,12 +457138,13 @@ var init_exporter = __esm(() => {
|
|
|
456352
457138
|
// ../../shared/font-system/src/types.ts
|
|
456353
457139
|
var init_types8 = () => {};
|
|
456354
457140
|
|
|
456355
|
-
// ../../node_modules/.pnpm/@docfonts+fallbacks@0.
|
|
457141
|
+
// ../../node_modules/.pnpm/@docfonts+fallbacks@0.12.0/node_modules/@docfonts/fallbacks/dist/data.js
|
|
456356
457142
|
var SUBSTITUTION_EVIDENCE2;
|
|
456357
457143
|
var init_data = __esm(() => {
|
|
456358
457144
|
SUBSTITUTION_EVIDENCE2 = [
|
|
456359
457145
|
{
|
|
456360
457146
|
evidenceId: "calibri",
|
|
457147
|
+
generic: "sans-serif",
|
|
456361
457148
|
logicalFamily: "Calibri",
|
|
456362
457149
|
physicalFamily: "Carlito",
|
|
456363
457150
|
verdict: "metric_safe",
|
|
@@ -456380,6 +457167,7 @@ var init_data = __esm(() => {
|
|
|
456380
457167
|
],
|
|
456381
457168
|
exportRule: "preserve_original_name",
|
|
456382
457169
|
advance: {
|
|
457170
|
+
basis: "latin_full",
|
|
456383
457171
|
meanDelta: 0,
|
|
456384
457172
|
maxDelta: 0
|
|
456385
457173
|
},
|
|
@@ -456387,6 +457175,7 @@ var init_data = __esm(() => {
|
|
|
456387
457175
|
},
|
|
456388
457176
|
{
|
|
456389
457177
|
evidenceId: "cambria",
|
|
457178
|
+
generic: "serif",
|
|
456390
457179
|
logicalFamily: "Cambria",
|
|
456391
457180
|
physicalFamily: "Caladea",
|
|
456392
457181
|
verdict: "visual_only",
|
|
@@ -456411,6 +457200,7 @@ var init_data = __esm(() => {
|
|
|
456411
457200
|
],
|
|
456412
457201
|
exportRule: "preserve_original_name",
|
|
456413
457202
|
advance: {
|
|
457203
|
+
basis: "latin_full",
|
|
456414
457204
|
meanDelta: 0.0002378,
|
|
456415
457205
|
maxDelta: 0.2310758
|
|
456416
457206
|
},
|
|
@@ -456432,6 +457222,7 @@ var init_data = __esm(() => {
|
|
|
456432
457222
|
},
|
|
456433
457223
|
{
|
|
456434
457224
|
evidenceId: "arial",
|
|
457225
|
+
generic: "sans-serif",
|
|
456435
457226
|
logicalFamily: "Arial",
|
|
456436
457227
|
physicalFamily: "Liberation Sans",
|
|
456437
457228
|
verdict: "metric_safe",
|
|
@@ -456453,6 +457244,7 @@ var init_data = __esm(() => {
|
|
|
456453
457244
|
],
|
|
456454
457245
|
exportRule: "preserve_original_name",
|
|
456455
457246
|
advance: {
|
|
457247
|
+
basis: "latin_full",
|
|
456456
457248
|
meanDelta: 0,
|
|
456457
457249
|
maxDelta: 0
|
|
456458
457250
|
},
|
|
@@ -456460,6 +457252,7 @@ var init_data = __esm(() => {
|
|
|
456460
457252
|
},
|
|
456461
457253
|
{
|
|
456462
457254
|
evidenceId: "times-new-roman",
|
|
457255
|
+
generic: "serif",
|
|
456463
457256
|
logicalFamily: "Times New Roman",
|
|
456464
457257
|
physicalFamily: "Liberation Serif",
|
|
456465
457258
|
verdict: "metric_safe",
|
|
@@ -456481,6 +457274,7 @@ var init_data = __esm(() => {
|
|
|
456481
457274
|
],
|
|
456482
457275
|
exportRule: "preserve_original_name",
|
|
456483
457276
|
advance: {
|
|
457277
|
+
basis: "latin_full",
|
|
456484
457278
|
meanDelta: 0,
|
|
456485
457279
|
maxDelta: 0
|
|
456486
457280
|
},
|
|
@@ -456488,6 +457282,7 @@ var init_data = __esm(() => {
|
|
|
456488
457282
|
},
|
|
456489
457283
|
{
|
|
456490
457284
|
evidenceId: "courier-new",
|
|
457285
|
+
generic: "monospace",
|
|
456491
457286
|
logicalFamily: "Courier New",
|
|
456492
457287
|
physicalFamily: "Liberation Mono",
|
|
456493
457288
|
verdict: "metric_safe",
|
|
@@ -456509,6 +457304,7 @@ var init_data = __esm(() => {
|
|
|
456509
457304
|
],
|
|
456510
457305
|
exportRule: "preserve_original_name",
|
|
456511
457306
|
advance: {
|
|
457307
|
+
basis: "latin_full",
|
|
456512
457308
|
meanDelta: 0,
|
|
456513
457309
|
maxDelta: 0
|
|
456514
457310
|
},
|
|
@@ -456516,6 +457312,7 @@ var init_data = __esm(() => {
|
|
|
456516
457312
|
},
|
|
456517
457313
|
{
|
|
456518
457314
|
evidenceId: "georgia",
|
|
457315
|
+
generic: "serif",
|
|
456519
457316
|
logicalFamily: "Georgia",
|
|
456520
457317
|
physicalFamily: "Gelasio",
|
|
456521
457318
|
verdict: "near_metric",
|
|
@@ -456544,6 +457341,7 @@ var init_data = __esm(() => {
|
|
|
456544
457341
|
],
|
|
456545
457342
|
exportRule: "preserve_original_name",
|
|
456546
457343
|
advance: {
|
|
457344
|
+
basis: "latin_full",
|
|
456547
457345
|
meanDelta: 0.0000197,
|
|
456548
457346
|
maxDelta: 0.0183727
|
|
456549
457347
|
},
|
|
@@ -456571,6 +457369,7 @@ var init_data = __esm(() => {
|
|
|
456571
457369
|
},
|
|
456572
457370
|
{
|
|
456573
457371
|
evidenceId: "arial-narrow",
|
|
457372
|
+
generic: "sans-serif",
|
|
456574
457373
|
logicalFamily: "Arial Narrow",
|
|
456575
457374
|
physicalFamily: "Liberation Sans Narrow",
|
|
456576
457375
|
verdict: "visual_only",
|
|
@@ -456595,6 +457394,7 @@ var init_data = __esm(() => {
|
|
|
456595
457394
|
],
|
|
456596
457395
|
exportRule: "preserve_original_name",
|
|
456597
457396
|
advance: {
|
|
457397
|
+
basis: "latin_full",
|
|
456598
457398
|
meanDelta: 0,
|
|
456599
457399
|
maxDelta: 0.5
|
|
456600
457400
|
},
|
|
@@ -456616,6 +457416,7 @@ var init_data = __esm(() => {
|
|
|
456616
457416
|
},
|
|
456617
457417
|
{
|
|
456618
457418
|
evidenceId: "aptos",
|
|
457419
|
+
generic: "sans-serif",
|
|
456619
457420
|
logicalFamily: "Aptos",
|
|
456620
457421
|
physicalFamily: null,
|
|
456621
457422
|
verdict: "no_substitute",
|
|
@@ -456638,8 +457439,152 @@ var init_data = __esm(() => {
|
|
|
456638
457439
|
exportRule: "preserve_original_name",
|
|
456639
457440
|
candidateLicense: null
|
|
456640
457441
|
},
|
|
457442
|
+
{
|
|
457443
|
+
evidenceId: "arial-black",
|
|
457444
|
+
generic: "sans-serif",
|
|
457445
|
+
logicalFamily: "Arial Black",
|
|
457446
|
+
physicalFamily: "Archivo Black",
|
|
457447
|
+
verdict: "visual_only",
|
|
457448
|
+
faces: {
|
|
457449
|
+
regular: true,
|
|
457450
|
+
bold: false,
|
|
457451
|
+
italic: false,
|
|
457452
|
+
boldItalic: false
|
|
457453
|
+
},
|
|
457454
|
+
faceSources: {
|
|
457455
|
+
italic: {
|
|
457456
|
+
kind: "synthetic",
|
|
457457
|
+
from: "regular"
|
|
457458
|
+
}
|
|
457459
|
+
},
|
|
457460
|
+
gates: {
|
|
457461
|
+
static: "pass",
|
|
457462
|
+
metric: "fail",
|
|
457463
|
+
layout: "not_run",
|
|
457464
|
+
ship: "fail"
|
|
457465
|
+
},
|
|
457466
|
+
policyAction: "substitute",
|
|
457467
|
+
measurementRefs: [
|
|
457468
|
+
"arial-black__archivo-black#visual_review#2026-06-09"
|
|
457469
|
+
],
|
|
457470
|
+
exportRule: "preserve_original_name",
|
|
457471
|
+
candidateLicense: "OFL-1.1",
|
|
457472
|
+
faceVerdicts: {
|
|
457473
|
+
italic: "visual_only"
|
|
457474
|
+
}
|
|
457475
|
+
},
|
|
457476
|
+
{
|
|
457477
|
+
evidenceId: "arial-rounded-mt-bold",
|
|
457478
|
+
generic: "sans-serif",
|
|
457479
|
+
logicalFamily: "Arial Rounded MT Bold",
|
|
457480
|
+
physicalFamily: "Ubuntu",
|
|
457481
|
+
verdict: "visual_only",
|
|
457482
|
+
faces: {
|
|
457483
|
+
regular: true,
|
|
457484
|
+
bold: true,
|
|
457485
|
+
italic: true,
|
|
457486
|
+
boldItalic: true
|
|
457487
|
+
},
|
|
457488
|
+
gates: {
|
|
457489
|
+
static: "pass",
|
|
457490
|
+
metric: "fail",
|
|
457491
|
+
layout: "not_run",
|
|
457492
|
+
ship: "fail"
|
|
457493
|
+
},
|
|
457494
|
+
policyAction: "category_fallback",
|
|
457495
|
+
measurementRefs: [
|
|
457496
|
+
"arial-rounded-mt-bold__ubuntu#visual_review#2026-06-09"
|
|
457497
|
+
],
|
|
457498
|
+
exportRule: "preserve_original_name",
|
|
457499
|
+
candidateLicense: "Ubuntu-font-1.0"
|
|
457500
|
+
},
|
|
457501
|
+
{
|
|
457502
|
+
evidenceId: "bookman-old-style",
|
|
457503
|
+
generic: "serif",
|
|
457504
|
+
logicalFamily: "Bookman Old Style",
|
|
457505
|
+
physicalFamily: "TeX Gyre Bonum",
|
|
457506
|
+
verdict: "visual_only",
|
|
457507
|
+
faces: {
|
|
457508
|
+
regular: true,
|
|
457509
|
+
bold: true,
|
|
457510
|
+
italic: true,
|
|
457511
|
+
boldItalic: true
|
|
457512
|
+
},
|
|
457513
|
+
gates: {
|
|
457514
|
+
static: "pass",
|
|
457515
|
+
metric: "fail",
|
|
457516
|
+
layout: "not_run",
|
|
457517
|
+
ship: "fail"
|
|
457518
|
+
},
|
|
457519
|
+
policyAction: "substitute",
|
|
457520
|
+
measurementRefs: [
|
|
457521
|
+
"bookman-old-style__tex-gyre-bonum#visual_review#2026-06-09"
|
|
457522
|
+
],
|
|
457523
|
+
exportRule: "preserve_original_name",
|
|
457524
|
+
candidateLicense: "GUST-Font-License-1.0"
|
|
457525
|
+
},
|
|
457526
|
+
{
|
|
457527
|
+
evidenceId: "century",
|
|
457528
|
+
generic: "serif",
|
|
457529
|
+
logicalFamily: "Century",
|
|
457530
|
+
physicalFamily: "C059",
|
|
457531
|
+
verdict: "visual_only",
|
|
457532
|
+
faces: {
|
|
457533
|
+
regular: true,
|
|
457534
|
+
bold: true,
|
|
457535
|
+
italic: true,
|
|
457536
|
+
boldItalic: true
|
|
457537
|
+
},
|
|
457538
|
+
gates: {
|
|
457539
|
+
static: "pass",
|
|
457540
|
+
metric: "fail",
|
|
457541
|
+
layout: "not_run",
|
|
457542
|
+
ship: "fail"
|
|
457543
|
+
},
|
|
457544
|
+
policyAction: "substitute",
|
|
457545
|
+
measurementRefs: [
|
|
457546
|
+
"century__c059#visual_review#2026-06-09"
|
|
457547
|
+
],
|
|
457548
|
+
exportRule: "preserve_original_name",
|
|
457549
|
+
candidateLicense: "AGPL-3.0-only WITH PS-or-PDF-font-exception-20170817"
|
|
457550
|
+
},
|
|
457551
|
+
{
|
|
457552
|
+
evidenceId: "garamond",
|
|
457553
|
+
generic: "serif",
|
|
457554
|
+
logicalFamily: "Garamond",
|
|
457555
|
+
physicalFamily: "Cardo",
|
|
457556
|
+
verdict: "visual_only",
|
|
457557
|
+
faces: {
|
|
457558
|
+
regular: true,
|
|
457559
|
+
bold: true,
|
|
457560
|
+
italic: true,
|
|
457561
|
+
boldItalic: false
|
|
457562
|
+
},
|
|
457563
|
+
faceSources: {
|
|
457564
|
+
boldItalic: {
|
|
457565
|
+
kind: "synthetic",
|
|
457566
|
+
from: "bold"
|
|
457567
|
+
}
|
|
457568
|
+
},
|
|
457569
|
+
gates: {
|
|
457570
|
+
static: "pass",
|
|
457571
|
+
metric: "fail",
|
|
457572
|
+
layout: "not_run",
|
|
457573
|
+
ship: "fail"
|
|
457574
|
+
},
|
|
457575
|
+
policyAction: "category_fallback",
|
|
457576
|
+
measurementRefs: [
|
|
457577
|
+
"garamond__cardo#visual_review#2026-06-09"
|
|
457578
|
+
],
|
|
457579
|
+
exportRule: "preserve_original_name",
|
|
457580
|
+
candidateLicense: "OFL-1.1",
|
|
457581
|
+
faceVerdicts: {
|
|
457582
|
+
boldItalic: "visual_only"
|
|
457583
|
+
}
|
|
457584
|
+
},
|
|
456641
457585
|
{
|
|
456642
457586
|
evidenceId: "consolas",
|
|
457587
|
+
generic: "monospace",
|
|
456643
457588
|
logicalFamily: "Consolas",
|
|
456644
457589
|
physicalFamily: "Inconsolata SemiExpanded",
|
|
456645
457590
|
verdict: "cell_width_only",
|
|
@@ -456661,6 +457606,7 @@ var init_data = __esm(() => {
|
|
|
456661
457606
|
],
|
|
456662
457607
|
exportRule: "preserve_original_name",
|
|
456663
457608
|
advance: {
|
|
457609
|
+
basis: "monospace_cell",
|
|
456664
457610
|
meanDelta: 0.00035999999999999997,
|
|
456665
457611
|
maxDelta: 0.00035999999999999997
|
|
456666
457612
|
},
|
|
@@ -456668,6 +457614,7 @@ var init_data = __esm(() => {
|
|
|
456668
457614
|
},
|
|
456669
457615
|
{
|
|
456670
457616
|
evidenceId: "verdana",
|
|
457617
|
+
generic: "sans-serif",
|
|
456671
457618
|
logicalFamily: "Verdana",
|
|
456672
457619
|
physicalFamily: null,
|
|
456673
457620
|
verdict: "visual_only",
|
|
@@ -456692,82 +457639,96 @@ var init_data = __esm(() => {
|
|
|
456692
457639
|
},
|
|
456693
457640
|
{
|
|
456694
457641
|
evidenceId: "tahoma",
|
|
457642
|
+
generic: "sans-serif",
|
|
456695
457643
|
logicalFamily: "Tahoma",
|
|
456696
|
-
physicalFamily:
|
|
457644
|
+
physicalFamily: "Noto Sans",
|
|
456697
457645
|
verdict: "visual_only",
|
|
456698
457646
|
faces: {
|
|
456699
|
-
regular:
|
|
456700
|
-
bold:
|
|
456701
|
-
italic:
|
|
456702
|
-
boldItalic:
|
|
457647
|
+
regular: true,
|
|
457648
|
+
bold: true,
|
|
457649
|
+
italic: true,
|
|
457650
|
+
boldItalic: true
|
|
456703
457651
|
},
|
|
456704
457652
|
gates: {
|
|
456705
|
-
static: "
|
|
457653
|
+
static: "pass",
|
|
456706
457654
|
metric: "fail",
|
|
456707
457655
|
layout: "not_run",
|
|
456708
|
-
ship: "
|
|
457656
|
+
ship: "fail"
|
|
456709
457657
|
},
|
|
456710
457658
|
policyAction: "category_fallback",
|
|
456711
457659
|
measurementRefs: [
|
|
456712
|
-
"
|
|
457660
|
+
"tahoma__noto-sans#visual_review#2026-06-09"
|
|
456713
457661
|
],
|
|
456714
457662
|
exportRule: "preserve_original_name",
|
|
456715
|
-
candidateLicense:
|
|
457663
|
+
candidateLicense: "OFL-1.1"
|
|
456716
457664
|
},
|
|
456717
457665
|
{
|
|
456718
457666
|
evidenceId: "trebuchet-ms",
|
|
457667
|
+
generic: "sans-serif",
|
|
456719
457668
|
logicalFamily: "Trebuchet MS",
|
|
456720
|
-
physicalFamily:
|
|
457669
|
+
physicalFamily: "PT Sans",
|
|
456721
457670
|
verdict: "visual_only",
|
|
456722
457671
|
faces: {
|
|
456723
|
-
regular:
|
|
456724
|
-
bold:
|
|
456725
|
-
italic:
|
|
456726
|
-
boldItalic:
|
|
457672
|
+
regular: true,
|
|
457673
|
+
bold: true,
|
|
457674
|
+
italic: true,
|
|
457675
|
+
boldItalic: true
|
|
456727
457676
|
},
|
|
456728
457677
|
gates: {
|
|
456729
|
-
static: "
|
|
457678
|
+
static: "pass",
|
|
456730
457679
|
metric: "fail",
|
|
456731
457680
|
layout: "not_run",
|
|
456732
|
-
ship: "
|
|
457681
|
+
ship: "fail"
|
|
456733
457682
|
},
|
|
456734
457683
|
policyAction: "category_fallback",
|
|
456735
457684
|
measurementRefs: [
|
|
456736
|
-
"trebuchet-
|
|
457685
|
+
"trebuchet-ms__pt-sans#visual_review#2026-06-09"
|
|
456737
457686
|
],
|
|
456738
457687
|
exportRule: "preserve_original_name",
|
|
456739
|
-
candidateLicense:
|
|
457688
|
+
candidateLicense: "OFL-1.1"
|
|
456740
457689
|
},
|
|
456741
457690
|
{
|
|
456742
457691
|
evidenceId: "comic-sans-ms",
|
|
457692
|
+
generic: "sans-serif",
|
|
456743
457693
|
logicalFamily: "Comic Sans MS",
|
|
456744
|
-
physicalFamily: "Comic
|
|
457694
|
+
physicalFamily: "Comic Relief",
|
|
456745
457695
|
verdict: "visual_only",
|
|
456746
457696
|
faces: {
|
|
456747
|
-
regular:
|
|
456748
|
-
bold:
|
|
457697
|
+
regular: true,
|
|
457698
|
+
bold: true,
|
|
456749
457699
|
italic: false,
|
|
456750
457700
|
boldItalic: false
|
|
456751
457701
|
},
|
|
457702
|
+
faceSources: {
|
|
457703
|
+
italic: {
|
|
457704
|
+
kind: "synthetic",
|
|
457705
|
+
from: "regular"
|
|
457706
|
+
},
|
|
457707
|
+
boldItalic: {
|
|
457708
|
+
kind: "synthetic",
|
|
457709
|
+
from: "bold"
|
|
457710
|
+
}
|
|
457711
|
+
},
|
|
456752
457712
|
gates: {
|
|
456753
|
-
static: "
|
|
457713
|
+
static: "pass",
|
|
456754
457714
|
metric: "fail",
|
|
456755
457715
|
layout: "not_run",
|
|
456756
|
-
ship: "
|
|
457716
|
+
ship: "fail"
|
|
456757
457717
|
},
|
|
456758
457718
|
policyAction: "category_fallback",
|
|
456759
457719
|
measurementRefs: [
|
|
456760
|
-
"comic-sans-ms__comic-
|
|
457720
|
+
"comic-sans-ms__comic-relief#visual_review#2026-06-09"
|
|
456761
457721
|
],
|
|
456762
457722
|
exportRule: "preserve_original_name",
|
|
456763
|
-
|
|
456764
|
-
|
|
456765
|
-
|
|
456766
|
-
|
|
456767
|
-
|
|
457723
|
+
candidateLicense: "OFL-1.1",
|
|
457724
|
+
faceVerdicts: {
|
|
457725
|
+
italic: "visual_only",
|
|
457726
|
+
boldItalic: "visual_only"
|
|
457727
|
+
}
|
|
456768
457728
|
},
|
|
456769
457729
|
{
|
|
456770
457730
|
evidenceId: "candara",
|
|
457731
|
+
generic: "sans-serif",
|
|
456771
457732
|
logicalFamily: "Candara",
|
|
456772
457733
|
physicalFamily: null,
|
|
456773
457734
|
verdict: "visual_only",
|
|
@@ -456792,6 +457753,7 @@ var init_data = __esm(() => {
|
|
|
456792
457753
|
},
|
|
456793
457754
|
{
|
|
456794
457755
|
evidenceId: "constantia",
|
|
457756
|
+
generic: "serif",
|
|
456795
457757
|
logicalFamily: "Constantia",
|
|
456796
457758
|
physicalFamily: null,
|
|
456797
457759
|
verdict: "visual_only",
|
|
@@ -456816,6 +457778,7 @@ var init_data = __esm(() => {
|
|
|
456816
457778
|
},
|
|
456817
457779
|
{
|
|
456818
457780
|
evidenceId: "corbel",
|
|
457781
|
+
generic: "sans-serif",
|
|
456819
457782
|
logicalFamily: "Corbel",
|
|
456820
457783
|
physicalFamily: null,
|
|
456821
457784
|
verdict: "visual_only",
|
|
@@ -456840,6 +457803,7 @@ var init_data = __esm(() => {
|
|
|
456840
457803
|
},
|
|
456841
457804
|
{
|
|
456842
457805
|
evidenceId: "lucida-console",
|
|
457806
|
+
generic: "monospace",
|
|
456843
457807
|
logicalFamily: "Lucida Console",
|
|
456844
457808
|
physicalFamily: "Cousine",
|
|
456845
457809
|
verdict: "cell_width_only",
|
|
@@ -456861,13 +457825,56 @@ var init_data = __esm(() => {
|
|
|
456861
457825
|
],
|
|
456862
457826
|
exportRule: "preserve_original_name",
|
|
456863
457827
|
advance: {
|
|
457828
|
+
basis: "monospace_cell",
|
|
456864
457829
|
meanDelta: 0.004050000000000001,
|
|
456865
457830
|
maxDelta: 0.004050000000000001
|
|
456866
457831
|
},
|
|
456867
457832
|
candidateLicense: "OFL-1.1"
|
|
456868
457833
|
},
|
|
457834
|
+
{
|
|
457835
|
+
evidenceId: "gill-sans-mt-condensed",
|
|
457836
|
+
generic: "sans-serif",
|
|
457837
|
+
logicalFamily: "Gill Sans MT Condensed",
|
|
457838
|
+
physicalFamily: "PT Sans Narrow",
|
|
457839
|
+
verdict: "visual_only",
|
|
457840
|
+
faces: {
|
|
457841
|
+
regular: true,
|
|
457842
|
+
bold: true,
|
|
457843
|
+
italic: false,
|
|
457844
|
+
boldItalic: false
|
|
457845
|
+
},
|
|
457846
|
+
faceSources: {
|
|
457847
|
+
italic: {
|
|
457848
|
+
kind: "synthetic",
|
|
457849
|
+
from: "regular"
|
|
457850
|
+
},
|
|
457851
|
+
boldItalic: {
|
|
457852
|
+
kind: "synthetic",
|
|
457853
|
+
from: "bold"
|
|
457854
|
+
}
|
|
457855
|
+
},
|
|
457856
|
+
gates: {
|
|
457857
|
+
static: "pass",
|
|
457858
|
+
metric: "fail",
|
|
457859
|
+
layout: "not_run",
|
|
457860
|
+
ship: "fail"
|
|
457861
|
+
},
|
|
457862
|
+
policyAction: "category_fallback",
|
|
457863
|
+
measurementRefs: [
|
|
457864
|
+
"gill-sans-mt-condensed__pt-sans-narrow#visual_review#2026-06-09"
|
|
457865
|
+
],
|
|
457866
|
+
exportRule: "preserve_original_name",
|
|
457867
|
+
candidateLicense: "OFL-1.1",
|
|
457868
|
+
faceVerdicts: {
|
|
457869
|
+
regular: "visual_only",
|
|
457870
|
+
bold: "visual_only",
|
|
457871
|
+
italic: "visual_only",
|
|
457872
|
+
boldItalic: "visual_only"
|
|
457873
|
+
}
|
|
457874
|
+
},
|
|
456869
457875
|
{
|
|
456870
457876
|
evidenceId: "aptos-display",
|
|
457877
|
+
generic: "sans-serif",
|
|
456871
457878
|
logicalFamily: "Aptos Display",
|
|
456872
457879
|
physicalFamily: null,
|
|
456873
457880
|
verdict: "customer_supplied",
|
|
@@ -456889,6 +457896,7 @@ var init_data = __esm(() => {
|
|
|
456889
457896
|
},
|
|
456890
457897
|
{
|
|
456891
457898
|
evidenceId: "cambria-math",
|
|
457899
|
+
generic: "serif",
|
|
456892
457900
|
logicalFamily: "Cambria Math",
|
|
456893
457901
|
physicalFamily: null,
|
|
456894
457902
|
verdict: "preserve_only",
|
|
@@ -456910,6 +457918,7 @@ var init_data = __esm(() => {
|
|
|
456910
457918
|
},
|
|
456911
457919
|
{
|
|
456912
457920
|
evidenceId: "helvetica",
|
|
457921
|
+
generic: "sans-serif",
|
|
456913
457922
|
logicalFamily: "Helvetica",
|
|
456914
457923
|
physicalFamily: "Liberation Sans",
|
|
456915
457924
|
verdict: "metric_safe",
|
|
@@ -456931,6 +457940,7 @@ var init_data = __esm(() => {
|
|
|
456931
457940
|
],
|
|
456932
457941
|
exportRule: "preserve_original_name",
|
|
456933
457942
|
advance: {
|
|
457943
|
+
basis: "latin_full",
|
|
456934
457944
|
meanDelta: 0,
|
|
456935
457945
|
maxDelta: 0
|
|
456936
457946
|
},
|
|
@@ -456938,6 +457948,7 @@ var init_data = __esm(() => {
|
|
|
456938
457948
|
},
|
|
456939
457949
|
{
|
|
456940
457950
|
evidenceId: "calibri-light",
|
|
457951
|
+
generic: "sans-serif",
|
|
456941
457952
|
logicalFamily: "Calibri Light",
|
|
456942
457953
|
physicalFamily: "Carlito",
|
|
456943
457954
|
verdict: "visual_only",
|
|
@@ -456959,6 +457970,7 @@ var init_data = __esm(() => {
|
|
|
456959
457970
|
],
|
|
456960
457971
|
exportRule: "preserve_original_name",
|
|
456961
457972
|
advance: {
|
|
457973
|
+
basis: "latin_full",
|
|
456962
457974
|
meanDelta: 0.0148,
|
|
456963
457975
|
maxDelta: 0.066
|
|
456964
457976
|
},
|
|
@@ -456966,6 +457978,7 @@ var init_data = __esm(() => {
|
|
|
456966
457978
|
},
|
|
456967
457979
|
{
|
|
456968
457980
|
evidenceId: "baskerville-old-face",
|
|
457981
|
+
generic: "serif",
|
|
456969
457982
|
logicalFamily: "Baskerville Old Face",
|
|
456970
457983
|
physicalFamily: "Bacasime Antique",
|
|
456971
457984
|
verdict: "visual_only",
|
|
@@ -456987,6 +458000,7 @@ var init_data = __esm(() => {
|
|
|
456987
458000
|
],
|
|
456988
458001
|
exportRule: "preserve_original_name",
|
|
456989
458002
|
advance: {
|
|
458003
|
+
basis: "latin_full",
|
|
456990
458004
|
meanDelta: 0,
|
|
456991
458005
|
maxDelta: 0.4915590863952334
|
|
456992
458006
|
},
|
|
@@ -457002,39 +458016,128 @@ var init_data = __esm(() => {
|
|
|
457002
458016
|
note: "Bacasime Antique Regular's no-break space (U+00A0) advance diverges ~49% from Baskerville Old Face; lines containing NBSP reflow. Every other Latin-core glyph is advance-identical, which is why this is visual_only with a single named exception, not near_metric."
|
|
457003
458017
|
}
|
|
457004
458018
|
]
|
|
458019
|
+
},
|
|
458020
|
+
{
|
|
458021
|
+
evidenceId: "cooper-black",
|
|
458022
|
+
generic: "serif",
|
|
458023
|
+
logicalFamily: "Cooper Black",
|
|
458024
|
+
physicalFamily: "Caprasimo",
|
|
458025
|
+
verdict: "visual_only",
|
|
458026
|
+
faces: {
|
|
458027
|
+
regular: true,
|
|
458028
|
+
bold: false,
|
|
458029
|
+
italic: false,
|
|
458030
|
+
boldItalic: false
|
|
458031
|
+
},
|
|
458032
|
+
faceSources: {
|
|
458033
|
+
bold: {
|
|
458034
|
+
kind: "synthetic",
|
|
458035
|
+
from: "regular"
|
|
458036
|
+
},
|
|
458037
|
+
italic: {
|
|
458038
|
+
kind: "synthetic",
|
|
458039
|
+
from: "regular"
|
|
458040
|
+
},
|
|
458041
|
+
boldItalic: {
|
|
458042
|
+
kind: "synthetic",
|
|
458043
|
+
from: "regular"
|
|
458044
|
+
}
|
|
458045
|
+
},
|
|
458046
|
+
gates: {
|
|
458047
|
+
static: "pass",
|
|
458048
|
+
metric: "pass",
|
|
458049
|
+
layout: "not_run",
|
|
458050
|
+
ship: "not_run"
|
|
458051
|
+
},
|
|
458052
|
+
policyAction: "substitute",
|
|
458053
|
+
measurementRefs: [
|
|
458054
|
+
"cooper-black_regular__caprasimo#regular#w400#786ab84e#analytic_advance#2026-06-05",
|
|
458055
|
+
"cooper-black__caprasimo#synthetic_faces#visual_review#2026-06-09"
|
|
458056
|
+
],
|
|
458057
|
+
exportRule: "preserve_original_name",
|
|
458058
|
+
advance: {
|
|
458059
|
+
basis: "latin_full",
|
|
458060
|
+
meanDelta: 0,
|
|
458061
|
+
maxDelta: 0
|
|
458062
|
+
},
|
|
458063
|
+
candidateLicense: "OFL-1.1",
|
|
458064
|
+
faceVerdicts: {
|
|
458065
|
+
regular: "metric_safe",
|
|
458066
|
+
bold: "visual_only",
|
|
458067
|
+
italic: "visual_only",
|
|
458068
|
+
boldItalic: "visual_only"
|
|
458069
|
+
}
|
|
457005
458070
|
}
|
|
457006
458071
|
];
|
|
457007
458072
|
});
|
|
457008
458073
|
|
|
457009
|
-
// ../../node_modules/.pnpm/@docfonts+fallbacks@0.
|
|
458074
|
+
// ../../node_modules/.pnpm/@docfonts+fallbacks@0.12.0/node_modules/@docfonts/fallbacks/dist/fallbacks.js
|
|
457010
458075
|
function normalizeFamilyName2(name) {
|
|
457011
458076
|
return name.trim().replace(/^['"]+|['"]+$/g, "").trim().toLowerCase();
|
|
457012
458077
|
}
|
|
457013
|
-
function buildFallback2(row2, physicalFamily) {
|
|
458078
|
+
function buildFallback2(row2, physicalFamily, verdict, faceSlot, faceSource) {
|
|
458079
|
+
const glyphExceptions = faceSlot ? row2.glyphExceptions?.filter((g2) => g2.slot === faceSlot) : row2.glyphExceptions ? [...row2.glyphExceptions] : undefined;
|
|
457014
458080
|
return {
|
|
457015
458081
|
substituteFamily: physicalFamily,
|
|
457016
458082
|
policyAction: row2.policyAction,
|
|
457017
|
-
verdict
|
|
457018
|
-
lineBreakSafe: LINE_BREAK_SAFE_VERDICTS2.has(
|
|
457019
|
-
|
|
458083
|
+
verdict,
|
|
458084
|
+
lineBreakSafe: LINE_BREAK_SAFE_VERDICTS2.has(verdict),
|
|
458085
|
+
faces: row2.faces,
|
|
458086
|
+
evidenceId: row2.evidenceId,
|
|
458087
|
+
generic: row2.generic,
|
|
458088
|
+
...faceSource ? { faceSource: { ...faceSource } } : {},
|
|
458089
|
+
...glyphExceptions && glyphExceptions.length > 0 ? { glyphExceptions } : {}
|
|
457020
458090
|
};
|
|
457021
458091
|
}
|
|
457022
458092
|
function decideRow2(row2, canRenderFamily2) {
|
|
457023
|
-
const { policyAction, physicalFamily, verdict, evidenceId } = row2;
|
|
458093
|
+
const { policyAction, physicalFamily, verdict, evidenceId, generic } = row2;
|
|
457024
458094
|
if (policyAction === "preserve_only")
|
|
457025
|
-
return { kind: "preserve_only", evidenceId };
|
|
458095
|
+
return { kind: "preserve_only", evidenceId, generic };
|
|
457026
458096
|
if (policyAction === "customer_supplied")
|
|
457027
|
-
return { kind: "customer_supplied", evidenceId };
|
|
458097
|
+
return { kind: "customer_supplied", evidenceId, generic };
|
|
457028
458098
|
if (physicalFamily === null)
|
|
457029
|
-
return { kind: "no_recommended_fallback", evidenceId };
|
|
458099
|
+
return { kind: "no_recommended_fallback", evidenceId, generic };
|
|
457030
458100
|
if (canRenderFamily2 && !canRenderFamily2(physicalFamily))
|
|
457031
458101
|
return {
|
|
457032
458102
|
kind: "asset_missing",
|
|
457033
458103
|
substituteFamily: physicalFamily,
|
|
457034
458104
|
verdict,
|
|
457035
|
-
evidenceId
|
|
458105
|
+
evidenceId,
|
|
458106
|
+
generic
|
|
458107
|
+
};
|
|
458108
|
+
return {
|
|
458109
|
+
kind: "fallback",
|
|
458110
|
+
fallback: buildFallback2(row2, physicalFamily, verdict)
|
|
458111
|
+
};
|
|
458112
|
+
}
|
|
458113
|
+
function isFaceScoped2(row2) {
|
|
458114
|
+
const f2 = row2.faces;
|
|
458115
|
+
return f2.regular || f2.bold || f2.italic || f2.boldItalic;
|
|
458116
|
+
}
|
|
458117
|
+
function faceSourceFor2(row2, face) {
|
|
458118
|
+
const explicit = row2.faceSources?.[face];
|
|
458119
|
+
if (explicit)
|
|
458120
|
+
return explicit;
|
|
458121
|
+
return isFaceScoped2(row2) && row2.faces[face] ? { kind: "real" } : undefined;
|
|
458122
|
+
}
|
|
458123
|
+
function decideRowForFace2(row2, face, canRenderFamily2) {
|
|
458124
|
+
const base6 = decideRow2(row2, canRenderFamily2);
|
|
458125
|
+
if (base6.kind !== "fallback")
|
|
458126
|
+
return base6;
|
|
458127
|
+
const faceSource = faceSourceFor2(row2, face);
|
|
458128
|
+
if (isFaceScoped2(row2) && !faceSource)
|
|
458129
|
+
return {
|
|
458130
|
+
kind: "face_missing",
|
|
458131
|
+
substituteFamily: base6.fallback.substituteFamily,
|
|
458132
|
+
evidenceId: row2.evidenceId,
|
|
458133
|
+
generic: row2.generic
|
|
457036
458134
|
};
|
|
457037
|
-
|
|
458135
|
+
const faceVerdict = row2.faceVerdicts?.[face] ?? row2.verdict;
|
|
458136
|
+
const projectedFaceSource = faceSource?.kind === "synthetic" ? faceSource : undefined;
|
|
458137
|
+
return {
|
|
458138
|
+
kind: "fallback",
|
|
458139
|
+
fallback: buildFallback2(row2, base6.fallback.substituteFamily, faceVerdict, face, projectedFaceSource)
|
|
458140
|
+
};
|
|
457038
458141
|
}
|
|
457039
458142
|
function getFallbackDecision2(family2, options = {}) {
|
|
457040
458143
|
const row2 = BY_LOGICAL2.get(normalizeFamilyName2(family2));
|
|
@@ -457044,6 +458147,10 @@ function getRenderableFallback2(family2, options) {
|
|
|
457044
458147
|
const decision = getFallbackDecision2(family2, options);
|
|
457045
458148
|
return decision.kind === "fallback" ? decision.fallback : null;
|
|
457046
458149
|
}
|
|
458150
|
+
function getFallbackDecisionForFace2(family2, face, options = {}) {
|
|
458151
|
+
const row2 = BY_LOGICAL2.get(normalizeFamilyName2(family2));
|
|
458152
|
+
return row2 ? decideRowForFace2(row2, face, options.canRenderFamily) : { kind: "unknown" };
|
|
458153
|
+
}
|
|
457047
458154
|
var LINE_BREAK_SAFE_VERDICTS2, BY_LOGICAL2;
|
|
457048
458155
|
var init_fallbacks = __esm(() => {
|
|
457049
458156
|
init_data();
|
|
@@ -457058,7 +458165,7 @@ var init_fallbacks = __esm(() => {
|
|
|
457058
458165
|
]));
|
|
457059
458166
|
});
|
|
457060
458167
|
|
|
457061
|
-
// ../../node_modules/.pnpm/@docfonts+fallbacks@0.
|
|
458168
|
+
// ../../node_modules/.pnpm/@docfonts+fallbacks@0.12.0/node_modules/@docfonts/fallbacks/dist/index.js
|
|
457062
458169
|
var init_dist11 = __esm(() => {
|
|
457063
458170
|
init_data();
|
|
457064
458171
|
init_fallbacks();
|
|
@@ -457076,6 +458183,9 @@ function fourFaces2(filePrefix) {
|
|
|
457076
458183
|
function family2(name, filePrefix, license) {
|
|
457077
458184
|
return { family: name, license, faces: fourFaces2(filePrefix) };
|
|
457078
458185
|
}
|
|
458186
|
+
function familyWithFaces2(name, license, faces) {
|
|
458187
|
+
return { family: name, license, faces };
|
|
458188
|
+
}
|
|
457079
458189
|
var BUNDLED_MANIFEST2;
|
|
457080
458190
|
var init_bundled_manifest = __esm(() => {
|
|
457081
458191
|
BUNDLED_MANIFEST2 = Object.freeze([
|
|
@@ -457083,7 +458193,20 @@ var init_bundled_manifest = __esm(() => {
|
|
|
457083
458193
|
family2("Caladea", "Caladea", "Apache-2.0"),
|
|
457084
458194
|
family2("Liberation Sans", "LiberationSans", "OFL-1.1"),
|
|
457085
458195
|
family2("Liberation Serif", "LiberationSerif", "OFL-1.1"),
|
|
457086
|
-
family2("Liberation Mono", "LiberationMono", "OFL-1.1")
|
|
458196
|
+
family2("Liberation Mono", "LiberationMono", "OFL-1.1"),
|
|
458197
|
+
familyWithFaces2("Caprasimo", "OFL-1.1", [{ weight: "normal", style: "normal", file: "Caprasimo-Regular.woff2" }]),
|
|
458198
|
+
family2("Gelasio", "Gelasio", "OFL-1.1"),
|
|
458199
|
+
familyWithFaces2("Cardo", "OFL-1.1", [
|
|
458200
|
+
{ weight: "normal", style: "normal", file: "Cardo-Regular.woff2" },
|
|
458201
|
+
{ weight: "bold", style: "normal", file: "Cardo-Bold.woff2" },
|
|
458202
|
+
{ weight: "normal", style: "italic", file: "Cardo-Italic.woff2" }
|
|
458203
|
+
]),
|
|
458204
|
+
familyWithFaces2("Comic Relief", "OFL-1.1", [
|
|
458205
|
+
{ weight: "normal", style: "normal", file: "ComicRelief-Regular.woff2" },
|
|
458206
|
+
{ weight: "bold", style: "normal", file: "ComicRelief-Bold.woff2" }
|
|
458207
|
+
]),
|
|
458208
|
+
family2("Noto Sans", "NotoSans", "OFL-1.1"),
|
|
458209
|
+
family2("PT Sans", "PTSans", "OFL-1.1")
|
|
457087
458210
|
]);
|
|
457088
458211
|
});
|
|
457089
458212
|
|
|
@@ -457101,6 +458224,59 @@ function normalizeFamilyKey3(family3) {
|
|
|
457101
458224
|
function sortPairs2(pairs) {
|
|
457102
458225
|
return pairs.sort(([a2], [b2]) => a2 < b2 ? -1 : a2 > b2 ? 1 : 0);
|
|
457103
458226
|
}
|
|
458227
|
+
function faceSlotFor2({ weight, style: style2 }) {
|
|
458228
|
+
const bold = weight === "700";
|
|
458229
|
+
const italic = style2 === "italic";
|
|
458230
|
+
if (bold && italic)
|
|
458231
|
+
return "boldItalic";
|
|
458232
|
+
if (bold)
|
|
458233
|
+
return "bold";
|
|
458234
|
+
if (italic)
|
|
458235
|
+
return "italic";
|
|
458236
|
+
return "regular";
|
|
458237
|
+
}
|
|
458238
|
+
function faceKeyForSlot2(slot) {
|
|
458239
|
+
switch (slot) {
|
|
458240
|
+
case "bold":
|
|
458241
|
+
return { weight: "700", style: "normal" };
|
|
458242
|
+
case "italic":
|
|
458243
|
+
return { weight: "400", style: "italic" };
|
|
458244
|
+
case "boldItalic":
|
|
458245
|
+
return { weight: "700", style: "italic" };
|
|
458246
|
+
case "regular":
|
|
458247
|
+
return { weight: "400", style: "normal" };
|
|
458248
|
+
}
|
|
458249
|
+
}
|
|
458250
|
+
function reasonForFallback2(policyAction) {
|
|
458251
|
+
return policyAction === "category_fallback" ? "category_fallback" : "bundled_substitute";
|
|
458252
|
+
}
|
|
458253
|
+
function resolveDocfontsFace2(primary, face, hasFace) {
|
|
458254
|
+
const decision = getFallbackDecisionForFace2(primary, faceSlotFor2(face), { canRenderFamily: canRenderFamily2 });
|
|
458255
|
+
if (decision.kind === "face_missing") {
|
|
458256
|
+
return { physical: primary, reason: "fallback_face_absent" };
|
|
458257
|
+
}
|
|
458258
|
+
if (decision.kind !== "fallback")
|
|
458259
|
+
return null;
|
|
458260
|
+
const fallback = decision.fallback;
|
|
458261
|
+
if (fallback.policyAction !== "substitute" && fallback.policyAction !== "category_fallback")
|
|
458262
|
+
return null;
|
|
458263
|
+
if (hasFace(fallback.substituteFamily, face.weight, face.style)) {
|
|
458264
|
+
return {
|
|
458265
|
+
physical: fallback.substituteFamily,
|
|
458266
|
+
reason: reasonForFallback2(fallback.policyAction)
|
|
458267
|
+
};
|
|
458268
|
+
}
|
|
458269
|
+
const sourceFace = fallback.faceSource?.kind === "synthetic" ? faceKeyForSlot2(fallback.faceSource.from) : face;
|
|
458270
|
+
if (!hasFace(fallback.substituteFamily, sourceFace.weight, sourceFace.style)) {
|
|
458271
|
+
return fallback.policyAction === "substitute" ? { physical: primary, reason: "fallback_face_absent" } : null;
|
|
458272
|
+
}
|
|
458273
|
+
const sourceDiffers = sourceFace.weight !== face.weight || sourceFace.style !== face.style;
|
|
458274
|
+
return {
|
|
458275
|
+
physical: fallback.substituteFamily,
|
|
458276
|
+
reason: reasonForFallback2(fallback.policyAction),
|
|
458277
|
+
...sourceDiffers ? { sourceFace } : {}
|
|
458278
|
+
};
|
|
458279
|
+
}
|
|
457104
458280
|
function deriveBundledSubstitutes2() {
|
|
457105
458281
|
const substitutes = {};
|
|
457106
458282
|
for (const row2 of SUBSTITUTION_EVIDENCE3) {
|
|
@@ -457223,14 +458399,10 @@ class FontResolver2 {
|
|
|
457223
458399
|
if (hasFace(primary, face.weight, face.style)) {
|
|
457224
458400
|
return { physical: primary, reason: "registered_face" };
|
|
457225
458401
|
}
|
|
458402
|
+
const docfonts = resolveDocfontsFace2(primary, face, hasFace);
|
|
458403
|
+
if (docfonts)
|
|
458404
|
+
return docfonts;
|
|
457226
458405
|
const bundled = BUNDLED_SUBSTITUTES2[key2];
|
|
457227
|
-
if (bundled && hasFace(bundled, face.weight, face.style)) {
|
|
457228
|
-
return { physical: bundled, reason: "bundled_substitute" };
|
|
457229
|
-
}
|
|
457230
|
-
const category = CATEGORY_FALLBACKS2[key2];
|
|
457231
|
-
if (category && hasFace(category, face.weight, face.style)) {
|
|
457232
|
-
return { physical: category, reason: "category_fallback" };
|
|
457233
|
-
}
|
|
457234
458406
|
if (override || bundled) {
|
|
457235
458407
|
return { physical: primary, reason: "fallback_face_absent" };
|
|
457236
458408
|
}
|
|
@@ -457256,8 +458428,13 @@ class FontResolver2 {
|
|
|
457256
458428
|
resolveFace(logicalFamily, face, hasFace) {
|
|
457257
458429
|
const parts = splitStack2(logicalFamily);
|
|
457258
458430
|
const primary = parts[0] ?? logicalFamily;
|
|
457259
|
-
const { physical, reason } = this.#resolveFaceLadder(primary, face, hasFace);
|
|
457260
|
-
return {
|
|
458431
|
+
const { physical, reason, sourceFace } = this.#resolveFaceLadder(primary, face, hasFace);
|
|
458432
|
+
return {
|
|
458433
|
+
logicalFamily,
|
|
458434
|
+
physicalFamily: stripFamilyQuotes2(physical),
|
|
458435
|
+
reason,
|
|
458436
|
+
...sourceFace ? { sourceFace } : {}
|
|
458437
|
+
};
|
|
457261
458438
|
}
|
|
457262
458439
|
resolvePhysicalFamilyForFace(cssFontFamily, face, hasFace) {
|
|
457263
458440
|
if (!cssFontFamily)
|
|
@@ -457707,7 +458884,7 @@ function deriveOfferings2() {
|
|
|
457707
458884
|
return {
|
|
457708
458885
|
logicalFamily: row2.logicalFamily,
|
|
457709
458886
|
physicalFamily: row2.physicalFamily,
|
|
457710
|
-
generic: row2.
|
|
458887
|
+
generic: row2.generic,
|
|
457711
458888
|
offering: classifyOffering2(row2.policyAction, row2.verdict, row2.physicalFamily, bundled),
|
|
457712
458889
|
bundled,
|
|
457713
458890
|
verdict: row2.verdict,
|
|
@@ -457716,21 +458893,28 @@ function deriveOfferings2() {
|
|
|
457716
458893
|
});
|
|
457717
458894
|
return Object.freeze(offerings);
|
|
457718
458895
|
}
|
|
457719
|
-
var
|
|
458896
|
+
var BUNDLED_FAMILIES2, ADVERTISED_BUILT_IN_TOOLBAR_FAMILIES2, FONT_OFFERINGS2;
|
|
457720
458897
|
var init_font_offerings = __esm(() => {
|
|
457721
|
-
init_substitution_evidence();
|
|
457722
458898
|
init_bundled_manifest();
|
|
457723
|
-
|
|
457724
|
-
Carlito: "sans-serif",
|
|
457725
|
-
Caladea: "serif",
|
|
457726
|
-
"Liberation Sans": "sans-serif",
|
|
457727
|
-
"Liberation Serif": "serif",
|
|
457728
|
-
"Liberation Mono": "monospace"
|
|
457729
|
-
});
|
|
458899
|
+
init_substitution_evidence();
|
|
457730
458900
|
BUNDLED_FAMILIES2 = new Set(BUNDLED_MANIFEST2.map((f2) => f2.family));
|
|
458901
|
+
ADVERTISED_BUILT_IN_TOOLBAR_FAMILIES2 = new Set([
|
|
458902
|
+
"Cooper Black",
|
|
458903
|
+
"Comic Sans MS",
|
|
458904
|
+
"Garamond",
|
|
458905
|
+
"Georgia",
|
|
458906
|
+
"Tahoma",
|
|
458907
|
+
"Trebuchet MS"
|
|
458908
|
+
]);
|
|
457731
458909
|
FONT_OFFERINGS2 = deriveOfferings2();
|
|
457732
458910
|
});
|
|
457733
458911
|
|
|
458912
|
+
// ../../shared/font-system/src/document-font-options.ts
|
|
458913
|
+
var init_document_font_options = __esm(() => {
|
|
458914
|
+
init_report();
|
|
458915
|
+
init_font_offerings();
|
|
458916
|
+
});
|
|
458917
|
+
|
|
457734
458918
|
// ../../shared/font-system/src/index.ts
|
|
457735
458919
|
var init_src5 = __esm(() => {
|
|
457736
458920
|
init_types8();
|
|
@@ -457741,6 +458925,7 @@ var init_src5 = __esm(() => {
|
|
|
457741
458925
|
init_os2();
|
|
457742
458926
|
init_registry2();
|
|
457743
458927
|
init_font_offerings();
|
|
458928
|
+
init_document_font_options();
|
|
457744
458929
|
});
|
|
457745
458930
|
|
|
457746
458931
|
// ../../packages/super-editor/src/editors/v1/core/super-converter/v2/exporter/commentsExporter.js
|