superdoc 2.7.1-next.4 → 2.7.1-next.6

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.
@@ -19,7 +19,7 @@ var COLLABORATION_UPGRADE_ENGINE_MINIMUM_NODE_MAJOR = 20;
19
19
  var PRIVATE_ENGINE_INFO = (0, _superdoc_docx_engine_collaboration_upgrade_engine.getCollaborationUpgradeEngineInfo)();
20
20
  var ENGINE_INFO = Object.freeze({
21
21
  ...PRIVATE_ENGINE_INFO,
22
- superdocVersion: "2.7.1-next.4",
22
+ superdocVersion: "2.7.1-next.6",
23
23
  roomSchemaVersion: Object.freeze({ ...PRIVATE_ENGINE_INFO.roomSchemaVersion }),
24
24
  supportedBundleVersions: SUPPORTED_COLLABORATION_UPGRADE_BUNDLE_VERSIONS,
25
25
  supportedV1ReaderContractVersions: SUPPORTED_V1_READER_CONTRACT_VERSIONS
@@ -18,7 +18,7 @@ var COLLABORATION_UPGRADE_ENGINE_MINIMUM_NODE_MAJOR = 20;
18
18
  var PRIVATE_ENGINE_INFO = getCollaborationUpgradeEngineInfo$1();
19
19
  var ENGINE_INFO = Object.freeze({
20
20
  ...PRIVATE_ENGINE_INFO,
21
- superdocVersion: "2.7.1-next.4",
21
+ superdocVersion: "2.7.1-next.6",
22
22
  roomSchemaVersion: Object.freeze({ ...PRIVATE_ENGINE_INFO.roomSchemaVersion }),
23
23
  supportedBundleVersions: SUPPORTED_COLLABORATION_UPGRADE_BUNDLE_VERSIONS,
24
24
  supportedV1ReaderContractVersions: SUPPORTED_V1_READER_CONTRACT_VERSIONS
@@ -0,0 +1,2 @@
1
+ /** Generated by scripts/generate-bundled-unicode-ranges.py. */
2
+ export declare const BUNDLED_FACE_UNICODE_RANGES: Readonly<Record<string, string>>;
@@ -0,0 +1,8 @@
1
+ import type { FontRegistry } from './registry.js';
2
+ import type { UnicodeCoverage } from './unicode-coverage.js';
3
+ export declare const CORE_SYMBOL_FALLBACK_FAMILY = "__superdoc_core_symbols__";
4
+ export declare const CORE_SYMBOL_FALLBACK_COVERAGE: UnicodeCoverage;
5
+ /** Register the core provider; the load gate activates it only for text in its exact coverage. */
6
+ export declare function installCoreSymbolFallback(registry: FontRegistry): void;
7
+ /** Return the unique characters in `text` that the core provider can render. */
8
+ export declare function textForCoreSymbolFallback(text: string): string;
@@ -16,7 +16,7 @@
16
16
  export type { FontLoadStatus, FontFaceSource, FontFaceDescriptor, RegisteredFace, RegisterFaceResult, FontLoadResult, FontLoadSummary, FontFaceRequest, FontFaceLoadResult, FontAssetUrlContext, FontAssetUrlResolver, RequiredFace, } from './types.js';
17
17
  export { SETTLED_STATUSES, isSettled } from './types.js';
18
18
  export type { FontResolution, FontResolutionReason, FaceKey, HasFace, FontMeasureContext, ResolvePhysicalFamily, } from './resolver.js';
19
- export { FontResolver, createFontResolver } from './resolver.js';
19
+ export { FontResolver, createFontResolver, insertFontFamilyBeforeGeneric } from './resolver.js';
20
20
  export { resolveFontFamily, resolvePhysicalFamily, resolvePrimaryPhysicalFamily, resolvePhysicalFamilies, resolveFace, DEFAULT_FONT_MEASURE_CONTEXT, } from './resolver.js';
21
21
  export { getFontConfigVersion, bumpFontConfigVersion, __resetFontConfigVersion } from './epoch.js';
22
22
  export type { BundledFontSelection, BundledActivation, BundledActivationInput, FontAssetConfigLike, } from './activation.js';
@@ -26,6 +26,9 @@ export type { FontResolutionRecord, ResolvedFontEvidence, UsedFace } from './rep
26
26
  export { buildFontReport, buildFaceReport } from './report.js';
27
27
  export type { EmbeddingPolicy } from './os2.js';
28
28
  export { parseEmbeddingPolicy } from './os2.js';
29
+ export type { UnicodeCoverage, UnicodeRange } from './unicode-coverage.js';
30
+ export { parseUnicodeCoverage, textForUnicodeCoverage, unicodeCoverageIncludes } from './unicode-coverage.js';
31
+ export { CORE_SYMBOL_FALLBACK_COVERAGE, CORE_SYMBOL_FALLBACK_FAMILY, installCoreSymbolFallback, textForCoreSymbolFallback, } from './core-symbol-fallback.js';
29
32
  export type { FontSetLike, FontFaceLike, FontFaceCtor, FontRegistryOptions, OwnedFaceDescriptor } from './registry.js';
30
33
  export { FontRegistry, getFontRegistryFor, getDefaultFontRegistry, DEFAULT_FONT_LOAD_TIMEOUT_MS, __resetDefaultFontRegistry, } from './registry.js';
31
34
  export type { FontOffering, OfferingClass, FontGeneric } from './font-offerings.js';
@@ -36,6 +36,8 @@ export interface OwnedFaceDescriptor {
36
36
  source: ArrayBuffer | ArrayBufferView;
37
37
  weight: '400' | '700';
38
38
  style: 'normal' | 'italic';
39
+ /** Exact glyph coverage of the embedded font, expressed as a CSS `unicode-range`. */
40
+ unicodeRange?: string;
39
41
  }
40
42
  export interface FontRegistryOptions {
41
43
  /** The font set to drive. Defaults to the ambient `document.fonts`. */
@@ -74,6 +74,8 @@ export interface FaceKey {
74
74
  * passes its own document's registry lookup.
75
75
  */
76
76
  export type HasFace = (physicalFamily: string, weight: '400' | '700', style: 'normal' | 'italic') => boolean;
77
+ /** Insert a physical fallback before CSS generic families without changing the primary family. */
78
+ export declare function insertFontFamilyBeforeGeneric(cssFontFamily: string, fallbackFamily: string): string;
77
79
  /**
78
80
  * Per-document logical -> physical font resolver. Seeded with bundled DocFonts fallbacks;
79
81
  * also holds per-instance runtime overrides (a customer `fonts.map`). Because each
@@ -81,6 +81,8 @@ export interface FontFaceRequest {
81
81
  family: string;
82
82
  weight: '400' | '700';
83
83
  style: 'normal' | 'italic';
84
+ /** Optional text probe used to select a face whose `unicode-range` covers the required glyphs. */
85
+ text?: string;
84
86
  }
85
87
  /** Result of awaiting one required face. */
86
88
  export interface FontFaceLoadResult {
@@ -0,0 +1,11 @@
1
+ export interface UnicodeRange {
2
+ start: number;
3
+ end: number;
4
+ }
5
+ export interface UnicodeCoverage {
6
+ ranges: readonly UnicodeRange[];
7
+ cssUnicodeRange: string;
8
+ }
9
+ export declare function parseUnicodeCoverage(bytes: ArrayBuffer | ArrayBufferView): UnicodeCoverage | null;
10
+ export declare function unicodeCoverageIncludes(coverage: UnicodeCoverage | null | undefined, codePoint: number): boolean;
11
+ export declare function textForUnicodeCoverage(text: string, coverage: UnicodeCoverage): string;
package/dist/superdoc.cjs CHANGED
@@ -43526,7 +43526,7 @@ var SuperDoc = class extends require_eventemitter3.import_eventemitter3.default
43526
43526
  this.config.colors = shuffleArray(this.config.colors);
43527
43527
  this.userColorMap = /* @__PURE__ */ new Map();
43528
43528
  this.colorIndex = 0;
43529
- this.version = "2.7.1-next.4";
43529
+ this.version = "2.7.1-next.6";
43530
43530
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
43531
43531
  this.superdocId = config.superdocId || require_uuid.v4();
43532
43532
  this.colors = this.config.colors ?? [];
@@ -43459,7 +43459,7 @@ var SuperDoc = class extends import_eventemitter3.default {
43459
43459
  this.config.colors = shuffleArray(this.config.colors);
43460
43460
  this.userColorMap = /* @__PURE__ */ new Map();
43461
43461
  this.colorIndex = 0;
43462
- this.version = "2.7.1-next.4";
43462
+ this.version = "2.7.1-next.6";
43463
43463
  this.#log("🦋 [superdoc] Using SuperDoc version:", this.version);
43464
43464
  this.superdocId = config.superdocId || v4();
43465
43465
  this.colors = this.config.colors ?? [];