AmbiguousCharWidth enum

How the terminal renders East-Asian Ambiguous-width glyphs — the box drawing, block elements, bullets, and arrows Fleury draws widgets with (─ │ █ ▁ • →, all UAX #11 "Ambiguous"). Some terminals/fonts render them one column wide, others two, and there is no universal default.

Fleury lays them out as one column. When a terminal renders them two columns wide, its cursor advances further than Fleury's model and rows desync (the "Warp garble"). wide is the safe answer when unknown: the renderer defensively pins each ambiguous cell with an absolute reposition — correct on any terminal, at a per-cell cursor-byte cost — and a confirmed narrow lets it emit compact contiguous runs instead.

This enum is the REPORTED form of that answer (fleury diagnose, the capability snapshot). Nothing in the render path reads it: the pin gate and layout both key off the resolved width policy (ResolvedTextPresentationPolicy.pinsAmbiguousWidth), and this value is read back out of that same policy by evidencedAmbiguousCharWidth, so the report can never contradict what was drawn.

Inheritance
Available extensions

Values

narrow → const AmbiguousCharWidth
wide → const AmbiguousCharWidth

Properties

hashCode → int
The hash code for this object.
no setterinherited
index → int
A numeric identifier for the enumerated value.
no setterinherited
name → String

Available on Enum, provided by the EnumName extension

The name of the enum value.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Constants

values → const List<AmbiguousCharWidth>
A constant List of the values in this enum, in order of their declaration.