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.
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.