Struct CssUnicodeRange
A range of code points from unicode-range, such as U+0000-00FF.
public readonly record struct CssUnicodeRange : IEquatable<CssUnicodeRange>
- Implements
- Inherited Members
Examples
bool isFont = CssFont.TryParse("italic bold 14px/1.4 \"Source Sans 3\", sans-serif", out CssFont? font);
CssFontWeight weight = font!.Weight; // 700
foreach (CssFontFamily family in font.Families!.Families)
{
Console.WriteLine($"{family.Name} (generic: {family.IsGeneric})");
}
bool isFamilyList = CssFontFamilyList.TryParse("Georgia, serif", out CssFontFamilyList? families);
bool isWeight = CssFontWeight.TryParse("bolder", out CssFontWeight bolder);
double resolved = bolder.Kind == CssFontWeightKind.Bolder ? bolder.Resolve(400) : bolder.Value; // 700
// @font-face descriptors.
CssStyleSheet sheet = CssStyleSheet.Parse("""
@font-face {
font-family: "Inter";
src: local("Inter"), url(inter.woff2) format("woff2") tech(variations);
font-weight: 100 900;
unicode-range: U+0000-00FF, U+20AC;
}
""");
CssFontFace face = ((CssFontFaceRule)sheet.Rules[0]).FontFace;
CssFontSource source = face.Sources[1]; // inter.woff2, format woff2, tech variations
CssRange weights = face.Weight!.Value; // 100 to 900
CssUnicodeRange latin = face.UnicodeRanges[0]; // U+0-FF
Constructors
CssUnicodeRange(int, int)
A range of code points from unicode-range, such as U+0000-00FF.
public CssUnicodeRange(int Start, int End)
Parameters
Examples
bool isFont = CssFont.TryParse("italic bold 14px/1.4 \"Source Sans 3\", sans-serif", out CssFont? font);
CssFontWeight weight = font!.Weight; // 700
foreach (CssFontFamily family in font.Families!.Families)
{
Console.WriteLine($"{family.Name} (generic: {family.IsGeneric})");
}
bool isFamilyList = CssFontFamilyList.TryParse("Georgia, serif", out CssFontFamilyList? families);
bool isWeight = CssFontWeight.TryParse("bolder", out CssFontWeight bolder);
double resolved = bolder.Kind == CssFontWeightKind.Bolder ? bolder.Resolve(400) : bolder.Value; // 700
// @font-face descriptors.
CssStyleSheet sheet = CssStyleSheet.Parse("""
@font-face {
font-family: "Inter";
src: local("Inter"), url(inter.woff2) format("woff2") tech(variations);
font-weight: 100 900;
unicode-range: U+0000-00FF, U+20AC;
}
""");
CssFontFace face = ((CssFontFaceRule)sheet.Rules[0]).FontFace;
CssFontSource source = face.Sources[1]; // inter.woff2, format woff2, tech variations
CssRange weights = face.Weight!.Value; // 100 to 900
CssUnicodeRange latin = face.UnicodeRanges[0]; // U+0-FF
Properties
End
The last code point (inclusive).
public int End { get; init; }
Property Value
Start
The first code point.
public int Start { get; init; }
Property Value
Methods
Contains(int)
Gets whether the range contains a code point.
public bool Contains(int codePoint)
Parameters
codePointintThe code point.
Returns
- bool
True when it lies in the range.
ToString()
Formats the range as CSS text, such as U+0-FF.
public override string ToString()
Returns
- string
The text.