ImageSharp/SixLabors.Fonts/IMetricsHeader.cs
2026-08-03 22:31:27 +02:00

45 lines
1.5 KiB
C#

// Copyright (c) Six Labors.
// Licensed under the Six Labors Split License.
namespace SixLabors.Fonts {
/// <summary>
/// Defines the contract for the metrics header of a font face.
/// </summary>
public interface IMetricsHeader
{
/// <summary>
/// Gets the typographic ascender of the face, expressed in font units.
/// </summary>
public short Ascender { get; }
/// <summary>
/// Gets the typographic descender of the face, expressed in font units.
/// </summary>
public short Descender { get; }
/// <summary>
/// Gets the typographic line gap of the face, expressed in font units.
/// This field should be combined with the <see cref="Ascender"/> and <see cref="Descender"/>
/// values to determine default line spacing.
/// </summary>
public short LineGap { get; }
/// <summary>
/// Gets the typographic line spacing of the face, expressed in font units.
/// </summary>
public short LineHeight { get; }
/// <summary>
/// Gets the maximum advance width, in font units, for all glyphs in this face.
/// </summary>
public short AdvanceWidthMax { get; }
/// <summary>
/// Gets the maximum advance height, in font units, for all glyphs in this
/// face.This is only relevant for vertical layouts, and is set to <see cref="LineHeight"/> for
/// fonts that do not provide vertical metrics.
/// </summary>
public short AdvanceHeightMax { get; }
}
}