Table of Contents

Class ColorGlyph

Namespace
Egami.Fonts
Assembly
Egami.Fonts.dll

A glyph's color description from TryGetColorGlyph(ushort, FontPalette?, out ColorGlyph?, float): a PaintColorGlyph (COLR) or a BitmapColorGlyph (sbix, CBDT).

public abstract record ColorGlyph : IEquatable<ColorGlyph>
Inheritance
ColorGlyph
Implements
Derived
Inherited Members

Examples

// Color glyphs draw in color by themselves: COLR (layers and gradients), sbix and CBDT (images), per glyph.
using (RasterCanvas<Rgba8> canvas = image.CreateCanvas())
{
    canvas.DrawText("Ship it", new Vector2(8, 40), new Font(text, 24), Rgba8.Black);
    canvas.DrawText("\U0001F680\U0001F389", new Vector2(100, 42), new Font(emoji, 32), Rgba8.Black);
}

// The palette is a font setting; the paint's color fills a glyph's foreground parts and its alpha the whole glyph.
var darkMode = new Font(emoji, 32) { Palette = FontPalette.Dark };
ColorGlyphFormats formats = emoji.ColorFormats;

// The paint graph is there to walk, for writers that draw color glyphs their own way.
emoji.TryGetColorGlyph(emoji.GetGlyph(0x1F680), darkMode.Palette, out ColorGlyph? rocket);

Constructors

ColorGlyph(ushort, ColorGlyphFormats)

A glyph's color description from TryGetColorGlyph(ushort, FontPalette?, out ColorGlyph?, float): a PaintColorGlyph (COLR) or a BitmapColorGlyph (sbix, CBDT).

protected ColorGlyph(ushort Glyph, ColorGlyphFormats Format)

Parameters

Glyph ushort

The glyph.

Format ColorGlyphFormats

The table it came from.

Examples

// Color glyphs draw in color by themselves: COLR (layers and gradients), sbix and CBDT (images), per glyph.
using (RasterCanvas<Rgba8> canvas = image.CreateCanvas())
{
    canvas.DrawText("Ship it", new Vector2(8, 40), new Font(text, 24), Rgba8.Black);
    canvas.DrawText("\U0001F680\U0001F389", new Vector2(100, 42), new Font(emoji, 32), Rgba8.Black);
}

// The palette is a font setting; the paint's color fills a glyph's foreground parts and its alpha the whole glyph.
var darkMode = new Font(emoji, 32) { Palette = FontPalette.Dark };
ColorGlyphFormats formats = emoji.ColorFormats;

// The paint graph is there to walk, for writers that draw color glyphs their own way.
emoji.TryGetColorGlyph(emoji.GetGlyph(0x1F680), darkMode.Palette, out ColorGlyph? rocket);

Properties

Format

The table it came from.

public ColorGlyphFormats Format { get; init; }

Property Value

ColorGlyphFormats

Glyph

The glyph.

public ushort Glyph { get; init; }

Property Value

ushort