Class SingleFontSpec
Represents a user's choice of a single font.
Assembly: Dalamud.dll
public record SingleFontSpec : IFontSpec, IEquatable<SingleFontSpec>
Implements:
Dalamud.Interface.FontIdentifier.IFontSpec, System.IEquatable<Dalamud.Interface.FontIdentifier.SingleFontSpec>
Properties
EqualityContract
protected virtual Type EqualityContract { get; }
FontId
Gets the font id.
[JsonProperty]
public required IFontId FontId { get; init; }
SizePx
Gets the font size in pixels.
[JsonProperty]
public float SizePx { get; init; }
SizePt
Gets the font size in points.
[JsonIgnore]
public float SizePt { get; init; }
LineHeightPx
Gets the line height in pixels.
[JsonIgnore]
public float LineHeightPx { get; }
LineHeight
Gets the line height ratio to the font size.
[JsonProperty]
public float LineHeight { get; init; }
GlyphOffset
Gets the glyph offset in pixels.
[JsonProperty]
public Vector2 GlyphOffset { get; init; }
LetterSpacing
Gets the letter spacing in pixels.
[JsonProperty]
public float LetterSpacing { get; init; }
GlyphRanges
Gets the glyph ranges.
[JsonProperty]
public ushort[]? GlyphRanges { get; init; }
FontNo
Gets the font face index within a TrueType Collection (TTC) file.
[JsonProperty]
public int FontNo { get; init; }
Remarks
This property only applies to Dalamud.DalamudAsset.NotoSansCjkRegular and Dalamud.DalamudAsset.NotoSansCjkMedium, which are TTC fonts bundling multiple language-specific CJK glyph sets (Japanese, Traditional Chinese, Simplified Chinese, Korean) into a single file.
The index corresponds to the font face order in the TTC:
<ul><li>0 = Japanese</li><li>1 = Traditional Chinese</li><li>2 = Simplified Chinese</li><li>3 = Korean</li></ul>
This value is ignored for all other Dalamud.DalamudAsset entries. Only one glyph set can be active at a time. In most cases, you can omit this— Dalamud automatically selects the appropriate face based on the UI language.
Methods
ToLocalizedString(string)
Represents this font specification, preferrably in the requested locale.
public string ToLocalizedString(string localeCode)
Returns
System.String: The value.
Parameters
| Type | Name | Description |
|---|---|---|
System.String | localeCode | The locale code. Must be in lowercase(invariant). |
ToString()
public override string ToString()
Returns
System.String
CreateFontHandle(IFontAtlas, FontAtlasBuildStepDelegate?)
Creates a font handle corresponding to this font specification.
public IFontHandle CreateFontHandle(IFontAtlas atlas, FontAtlasBuildStepDelegate? callback = null)
Returns
Dalamud.Interface.ManagedFontAtlas.IFontHandle: The new font handle.
Parameters
| Type | Name | Description |
|---|---|---|
| Dalamud.Interface.ManagedFontAtlas.IFontAtlas | atlas | The atlas to bind this font handle to. |
| Dalamud.Interface.ManagedFontAtlas.FontAtlasBuildStepDelegate | callback | Optional callback to be called after creating the font handle. |
Remarks
Dalamud.Interface.ManagedFontAtlas.IFontAtlasBuildToolkit.Font will be set when <code class="paramref">callback</code> is invoked.
AddToBuildToolkit(IFontAtlasBuildToolkitPreBuild, ImFontPtr)
Adds this font to the given font build toolkit.
public ImFontPtr AddToBuildToolkit(IFontAtlasBuildToolkitPreBuild tk, ImFontPtr mergeFont = default)
Returns
Dalamud.Bindings.ImGui.ImFontPtr: The added font.
Parameters
| Type | Name | Description |
|---|---|---|
| Dalamud.Interface.ManagedFontAtlas.IFontAtlasBuildToolkitPreBuild | tk | The font build toolkit. |
Dalamud.Bindings.ImGui.ImFontPtr | mergeFont | The font to merge to. |
PrintMembers(StringBuilder)
protected virtual bool PrintMembers(StringBuilder builder)
Returns
System.Boolean
Parameters
| Type | Name |
|---|---|
System.Text.StringBuilder | builder |
GetHashCode()
public override int GetHashCode()
Returns
System.Int32
Equals(object?)
public override bool Equals(object? obj)
Returns
System.Boolean
Parameters
| Type | Name |
|---|---|
System.Object | obj |
Equals(SingleFontSpec?)
public virtual bool Equals(SingleFontSpec? other)
Returns
System.Boolean
Parameters
| Type | Name |
|---|---|
| Dalamud.Interface.FontIdentifier.SingleFontSpec | other |
Implements
- Dalamud.Interface.FontIdentifier.IFontSpec
System.IEquatable<Dalamud.Interface.FontIdentifier.SingleFontSpec>