API Reference
OfficeFontFaceCollection
Scoped caller-supplied font faces used by drawing measurement, rasterization, and SVG export. Direct TrueType/OpenType, WOFF 1, WOFF 2, CFF/CFF2, and variable-font containers are handled by the first-party engine. An optional provider can override program loading for specialized engines.
Inheritance
- Object
- OfficeFontFaceCollection
Usage
This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.
Returned or exposed by
- Property OfficeDrawing.Fonts
- Method OfficeFontFaceCollection.Add
- Method OfficeFontFaceCollection.Add
- Method OfficeFontFaceCollection.Add
- Method OfficeFontFaceCollection.Add
- Method OfficeFontFaceCollection.AddAlias
- Method OfficeFontFaceCollection.AddFallbackFamily
- Method OfficeFontFaceCollection.AddRange
- Method OfficeFontFaceCollection.AddRangePreservingExisting
- Method OfficeFontFaceCollection.Clone
- Property OfficeFontFallbackPack.Fonts
- Property OfficeImageExportOptions.Fonts
- Property OfficeRenderingProfile.Fonts
- Property OfficeSvgDrawingReaderOptions.Fonts
Accepted by parameters
- Extension method OfficeFontFaceCollection.CreateSubstitutionDiagnostic
- Method OfficeFontFaceCollection.AddRange
- Method OfficeFontFaceCollection.AddRangePreservingExisting
- Constructor OfficeFontFallbackPack.OfficeFontFallbackPack
- Method OfficeImageComposer.ComposeRaster
- Method OfficeImageComposer.ComposeRaster
- Method OfficeImageExportBatchBuilder.WithFonts
- Method OfficeImageExportBuilder.WithFonts
- Method OfficeImageExportFontDiagnostics.CreateSubstitutionDiagnostic
- Constructor OfficeRasterCanvas.OfficeRasterCanvas
- Constructor OfficeRasterCanvas.OfficeRasterCanvas
- Constructor OfficeRasterCanvas.OfficeRasterCanvas
- Constructor OfficeRasterCanvas.OfficeRasterCanvas
- Constructor OfficeRenderingProfile.OfficeRenderingProfile
Constructors
public OfficeFontFaceCollection() #Creates an empty scoped font collection.
Methods
public OfficeFontFaceCollection Add(String familyName, Byte[] data, OfficeFontStyle style = Regular) #OfficeFontFaceCollectionAdds or replaces one family/style face. Invalid or unsupported font bytes throw.
Parameters
- familyName System.String
- data System.Byte[]
- style OfficeIMO.Drawing.OfficeFontStyle = Regular
public OfficeFontFaceCollection Add(String familyName, Byte[] data, OfficeFontFaceDescriptor descriptor) #OfficeFontFaceCollectionAdds or replaces one numerically described family face. Invalid or unsupported font bytes throw.
Parameters
- familyName System.String
- data System.Byte[]
- descriptor OfficeIMO.Drawing.OfficeFontFaceDescriptor
public OfficeFontFaceCollection Add(String familyName, Byte[] data, OfficeFontStyle style, OfficeFontUnicodeRangeSet unicodeRanges) #OfficeFontFaceCollectionAdds or replaces one unicode-range-constrained family/style face. A deterministic internal resource family is assigned when the range does not cover all Unicode scalars.
Parameters
- familyName System.String
- data System.Byte[]
- style OfficeIMO.Drawing.OfficeFontStyle
- unicodeRanges OfficeIMO.Drawing.OfficeFontUnicodeRangeSet
public OfficeFontFaceCollection Add(String familyName, Byte[] data, OfficeFontFaceDescriptor descriptor, OfficeFontUnicodeRangeSet unicodeRanges) #OfficeFontFaceCollectionAdds or replaces one unicode-range-constrained, numerically described family face.
Parameters
- familyName System.String
- data System.Byte[]
- descriptor OfficeIMO.Drawing.OfficeFontFaceDescriptor
- unicodeRanges OfficeIMO.Drawing.OfficeFontUnicodeRangeSet
public OfficeFontFaceCollection AddAlias(String aliasFamilyName, String sourceFamilyName) #OfficeFontFaceCollectionAdds another family name for all faces already registered under an existing family. The alias reuses the immutable decoded font programs without decoding or copying them again.
Parameters
- aliasFamilyName System.String
- Additional family name accepted by measurement and export.
- sourceFamilyName System.String
- Existing family whose faces and unicode ranges are reused.
Returns
This collection for fluent configuration.
public OfficeFontFaceCollection AddFallbackFamily(String familyName) #OfficeFontFaceCollectionAppends one registered family to the fallback chain used when requested faces do not cover a text element.
Parameters
- familyName System.String
- Registered family or resource family name to append.
Returns
This collection for fluent configuration.
public OfficeFontFaceCollection AddRange(OfficeFontFaceCollection fonts) #OfficeFontFaceCollectionAdds independent copies of all faces from another collection.
Parameters
- fonts OfficeIMO.Drawing.OfficeFontFaceCollection
public OfficeFontFaceCollection AddRangePreservingExisting(OfficeFontFaceCollection fonts) #OfficeFontFaceCollectionAdds independent copies of faces from another collection without replacing faces already registered under the same family, resource family, and style. Added faces are considered before existing fallback families, while existing document-scoped faces retain precedence.
Parameters
- fonts OfficeIMO.Drawing.OfficeFontFaceCollection
public OfficeFontFaceCollection Clone() #OfficeFontFaceCollectionCreates an independent collection snapshot.
public IReadOnlyList<OfficeFontFallbackRun> PlanFallbackRuns(String text, String familyNames, OfficeFontStyle style = Regular) #IReadOnlyList<OfficeFontFallbackRun>Splits text into grapheme-safe runs using the first scoped family whose selected face covers each text element. Unresolved elements retain the original family list for platform or adapter fallback.
Parameters
- text System.String
- familyNames System.String
- style OfficeIMO.Drawing.OfficeFontStyle = Regular
public IReadOnlyList<OfficeFontFallbackRun> PlanFallbackRuns(String text, String familyNames, OfficeFontFaceDescriptor descriptor) #IReadOnlyList<OfficeFontFallbackRun>Splits text into grapheme-safe runs after matching numeric weight, stretch, and slant for each family.
Parameters
- text System.String
- familyNames System.String
- descriptor OfficeIMO.Drawing.OfficeFontFaceDescriptor
public Boolean TryAdd(String familyName, Byte[] data, OfficeFontStyle style = Regular) #BooleanAttempts to add or replace one family/style face without throwing for unsupported font data.
Parameters
- familyName System.String
- data System.Byte[]
- style OfficeIMO.Drawing.OfficeFontStyle = Regular
public Boolean TryAdd(String familyName, Byte[] data, OfficeFontFaceDescriptor descriptor) #BooleanAttempts to add or replace one numerically described family face.
Parameters
- familyName System.String
- data System.Byte[]
- descriptor OfficeIMO.Drawing.OfficeFontFaceDescriptor
public Boolean TryAdd(String familyName, Byte[] data, OfficeFontStyle style, OfficeFontUnicodeRangeSet unicodeRanges) #BooleanAttempts to add or replace one unicode-range-constrained family/style face. A deterministic internal resource family is assigned when the range does not cover all Unicode scalars.
Parameters
- familyName System.String
- data System.Byte[]
- style OfficeIMO.Drawing.OfficeFontStyle
- unicodeRanges OfficeIMO.Drawing.OfficeFontUnicodeRangeSet
public Boolean TryAdd(String familyName, Byte[] data, OfficeFontFaceDescriptor descriptor, OfficeFontUnicodeRangeSet unicodeRanges) #BooleanAttempts to add or replace one unicode-range-constrained, numerically described family face.
Parameters
- familyName System.String
- data System.Byte[]
- descriptor OfficeIMO.Drawing.OfficeFontFaceDescriptor
- unicodeRanges OfficeIMO.Drawing.OfficeFontUnicodeRangeSet
public Boolean TryMeasureText(String text, Double fontSize, String familyNames, OfficeFontStyle style, out Double width) #BooleanAttempts to measure text with a matching scoped face.
Parameters
- text System.String
- fontSize System.Double
- familyNames System.String
- style OfficeIMO.Drawing.OfficeFontStyle
- width System.Double@
public Boolean TryResolveFaceForText(String text, String familyNames, OfficeFontStyle style, out OfficeFontFace face) #BooleanResolves the scoped face that covers the supplied text for the requested CSS/Office family list and style. This uses the same unicode-range and fallback rules as measurement and rendering.
Parameters
- text System.String
- familyNames System.String
- style OfficeIMO.Drawing.OfficeFontStyle
- face OfficeIMO.Drawing.OfficeFontFace@
public Boolean TryResolveFaceForText(String text, String familyNames, OfficeFontFaceDescriptor descriptor, out OfficeFontFace face) #BooleanResolves a scoped face using numeric weight, stretch, and slant matching.
Parameters
- text System.String
- familyNames System.String
- descriptor OfficeIMO.Drawing.OfficeFontFaceDescriptor
- face OfficeIMO.Drawing.OfficeFontFace@
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
Properties
public IOfficeFontProgramProvider FontProgramProvider { get; set; } #Optional decoder and outline engine for formats outside the dependency-free core. The provider reference is retained by collection clones; decoded face programs are immutable.
public Func<OfficeFontProgramLoadRequest, IReadOnlyDictionary<String, Single>> FontVariationResolver { get; set; } #Optional variable-font axis resolver invoked for each accepted face. Values are clamped to the font-defined axis range; unknown axes and non-finite values fail closed.
public IReadOnlyList<OfficeFontFace> Faces { get; } #Registered faces in registration order.
public IReadOnlyList<String> FallbackFamilies { get; } #Registered fallback families considered after the families requested by a text run.
Extension Methods
public static OfficeImageExportDiagnostic CreateSubstitutionDiagnostic(OfficeFontFaceCollection fonts, String text, String familyNames, OfficeFontStyle style = Regular, String source = null) #OfficeImageExportDiagnosticReports when the renderer cannot use the first requested font family/style and must select a later family or the managed stroke fallback.
Parameters
- fonts OfficeIMO.Drawing.OfficeFontFaceCollection
- text System.String
- familyNames System.String
- style OfficeIMO.Drawing.OfficeFontStyle = Regular
- source System.String = null