Table of Contents

Enum LineBreakClass

Namespace
Egami.Fonts.Unicode
Assembly
Egami.Fonts.dll

A code point's Line_Break class (UAX #14), which line breaking starts from.

public enum LineBreakClass

Fields

Aksara = 2

Line_Break AK (Aksara).

AksaraPrebase = 4

Line_Break AP (Aksara_Prebase).

AksaraStart = 5

Line_Break AS (Aksara_Start).

Alphabetic = 3

Line_Break AL (Alphabetic).

Ambiguous = 1

Line_Break AI (Ambiguous).

BreakAfter = 7

Line_Break BA (Break_After).

BreakBefore = 8

Line_Break BB (Break_Before).

BreakBoth = 6

Line_Break B2 (Break_Both).

BreakSymbols = 43

Line_Break SY (Break_Symbols).

CarriageReturn = 15

Line_Break CR (Carriage_Return).

CloseParenthesis = 14

Line_Break CP (Close_Parenthesis).

ClosePunctuation = 12

Line_Break CL (Close_Punctuation).

CombiningMark = 13

Line_Break CM (Combining_Mark).

ComplexContext = 40

Line_Break SA (Complex_Context).

ConditionalJapaneseStarter = 11

Line_Break CJ (Conditional_Japanese_Starter).

ContingentBreak = 10

Line_Break CB (Contingent_Break).

EBase = 16

Line_Break EB (E_Base).

EModifier = 17

Line_Break EM (E_Modifier).

Exclamation = 18

Line_Break EX (Exclamation).

Glue = 19

Line_Break GL (Glue).

H2 = 20

Line_Break H2 (H2).

H3 = 21

Line_Break H3 (H3).

HebrewLetter = 23

Line_Break HL (Hebrew_Letter).

Hyphen = 24

Line_Break HY (Hyphen).

Ideographic = 25

Line_Break ID (Ideographic).

InfixNumeric = 27

Line_Break IS (Infix_Numeric).

Inseparable = 26

Line_Break IN (Inseparable).

JL = 28

Line_Break JL (JL).

JT = 29

Line_Break JT (JT).

JV = 30

Line_Break JV (JV).

LineFeed = 31

Line_Break LF (Line_Feed).

MandatoryBreak = 9

Line_Break BK (Mandatory_Break).

NextLine = 32

Line_Break NL (Next_Line).

Nonstarter = 33

Line_Break NS (Nonstarter).

Numeric = 34

Line_Break NU (Numeric).

OpenPunctuation = 35

Line_Break OP (Open_Punctuation).

PostfixNumeric = 36

Line_Break PO (Postfix_Numeric).

PrefixNumeric = 37

Line_Break PR (Prefix_Numeric).

Quotation = 38

Line_Break QU (Quotation).

RegionalIndicator = 39

Line_Break RI (Regional_Indicator).

Space = 42

Line_Break SP (Space).

Surrogate = 41

Line_Break SG (Surrogate).

UnambiguousHyphen = 22

Line_Break HH (Unambiguous_Hyphen).

Unknown = 0

Line_Break XX (Unknown).

Virama = 45

Line_Break VI (Virama).

ViramaFinal = 44

Line_Break VF (Virama_Final).

WordJoiner = 46

Line_Break WJ (Word_Joiner).

ZWJ = 48

Line_Break ZWJ (ZWJ).

ZWSpace = 47

Line_Break ZW (ZWSpace).

Examples

// Egami's own Unicode 17.0 tables: the same answer on every runtime and machine.
Script script = UnicodeData.GetScript('\u0915');                          // Devanagari
ReadOnlySpan<FontTag> tags = script.OpenTypeTags;                         // dev2, then deva
BidiClass bidi = UnicodeData.GetBidiClass('\u0627');                      // ArabicLetter
JoiningType joining = UnicodeData.GetJoiningType('\u0628');               // DualJoining
JoiningGroup group = UnicodeData.GetJoiningGroup('\u0628');               // Beh
VerticalOrientation upright = UnicodeData.GetVerticalOrientation('\u6F22');   // Upright
EastAsianWidth width = UnicodeData.GetEastAsianWidth('\u6F22');               // Wide
bool emoji = UnicodeData.IsEmojiPresentation(0x1F600);                    // true
UnicodeData.TryGetBidiMirroringGlyph('(', out int mirror);                // ')'
BidiPairedBracketType bracket = UnicodeData.GetBidiPairedBracketType('['); // Open