module Opal::Glyphs

Overview

Comprehensive catalog and store of Unicode terminal characters, block shades, directional indicators, gradients, and animated spinners.

Defined in:

opal/style/glyphs.cr

Constant Summary

ArcSpin = ['◜', '◝', '◞', '◟']

4-frame smooth arc spinner

ArrowDown = '↓'
ArrowDownLeft = '↙'
ArrowDownRight = '↘'
ArrowLeft = '←'
ArrowRight = '→'
ArrowSpin = [ArrowLeft, ArrowUpLeft, ArrowUp, ArrowUpRight, ArrowRight, ArrowDownRight, ArrowDown, ArrowDownLeft]

8-frame rotating arrow compass spinner

ArrowUp = '↑'

--- Directionals: Simple Arrows ---

ArrowUpLeft = '↖'
ArrowUpRight = '↗'
AsciiRamp = [' ', '.', ':', '-', '=', '+', '*', '%', '@', '#']

10-step standard ASCII ramp

Bar1 = '▏'

--- Fractional Horizontal Blocks (1/8th increments: 0.125 to 1.0) ---

Bar2 = '▎'
Bar3 = '▍'
Bar4 = '▌'
Bar5 = '▋'
Bar6 = '▊'
Bar7 = '▉'
Bar8 = '█'
BrailleDots = ['⣀', '⣤', '⣶', '⣿']

4-step Braille dot density gradient

BrailleSpin = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏']

10-frame smooth Braille dots spinner

Bullet = '•'

--- Status, Markers & Bullets ---

Check = '✓'
ChevronDown = '﹀'
ChevronLeft = '〈'
ChevronRight = '〉'
ChevronUp = '︿'

Chevrons

CircleEmpty = '○'
CircleFull = '●'
CircleHalf = '◐'
CircleQuarter = '◔'
Circles = [CircleEmpty, CircleQuarter, CircleHalf, CircleThreeQuarter, CircleFull]

5-step radial circular fill gradient

CircleThreeQuarter = '◕'
ClockSpin = ["🕐", "🕑", "🕒", "🕓", "🕔", "🕕", "🕖", "🕗", "🕘", "🕙", "🕚", "🕛"]

12-frame clock face progression

Cross = '✗'
Dark = DarkShade
DarkShade = '▓'
DblArrowDown = '⇓'
DblArrowLeft = '⇐'
DblArrowRight = '⇒'
DblArrowUp = '⇑'

Double Arrows

Diamond = '◆'
DiamondEmpty = '◇'
Down = TriangleDown
Empty = ' '

--- Block Shading Characters ---

Full = FullBlock
FullBlock = '█'
Gear = '⚙'
HalfCircleBottom = '◒'
HalfCircleLeft = '◐'

--- Spinning & Radial Glyphs ---

HalfCircleRight = '◑'
HalfCircles = [HalfCircleLeft, HalfCircleTop, HalfCircleRight, HalfCircleBottom]

4-frame rotating half-circle spinner

HalfCircleTop = '◓'
HeavyArrowDown = '⬇'
HeavyArrowLeft = '⬅'
HeavyArrowRight = '➡'
HeavyArrowUp = '⬆'

Heavy / Bold Arrows

HorizontalBlocks = [' ', Bar1, Bar2, Bar3, Bar4, Bar5, Bar6, Bar7, Bar8]

9-step horizontal block ramp (0 to 8 eighths)

Left = TriangleLeft
LeftHalf = '▌'
Light = LightShade

Short aliases for quick typing

LightShade = '░'
LowerHalf = '▄'
Medium = MediumShade
MediumShade = '▒'
MoonSpin = ["🌑", "🌒", "🌓", "🌔", "🌕", "🌖", "🌗", "🌘"]

8-frame lunar phase progression

PipeSpin = ['|', '/', '-', '\\']

4-frame classic ASCII pipe spinner

QuadrantLL = '▖'
QuadrantLR = '▗'
QuadrantSpin = ['◴', '◷', '◶', '◵']

4-frame rotating quadrant corner spinner

QuadrantUL = '▘'

--- Quadrants ---

QuadrantUR = '▝'
Right = TriangleRight
RightHalf = '▐'
Shades = [' ', LightShade, MediumShade, DarkShade, FullBlock]

5-step Unicode shade density gradient (0.0 to 1.0)

ShadesReversed = [FullBlock, DarkShade, MediumShade, LightShade, ' ']

Inverted 5-step shade density gradient

SmallBullet = '·'
Star = '★'
StarEmpty = '☆'
TriangleDown = '▼'
TriangleDownOutline = '▽'
TriangleDownSmall = '▾'
TriangleLeft = '◀'
TriangleLeftOutline = '◁'
TriangleLeftSmall = '◂'
TriangleRight = '▶'
TriangleRightOutline = '▷'
TriangleRightSmall = '▸'
TriangleUp = '▲'

--- Directionals: Triangles / Pointers ---

TriangleUpOutline = '△'
TriangleUpSmall = '▴'
Up = TriangleUp

Short pointer aliases

UpperHalf = '▀'

--- Half Blocks ---

VBar1 = ' '

--- Fractional Vertical Blocks (1/8th increments: 0.125 to 1.0) ---

VBar2 = '▂'
VBar3 = '▃'
VBar4 = '▄'
VBar5 = '▅'
VBar6 = '▆'
VBar7 = '▇'
VBar8 = '█'
VerticalBlocks = [' ', VBar1, VBar2, VBar3, VBar4, VBar5, VBar6, VBar7, VBar8]

9-step vertical block ramp (0 to 8 eighths)

Warning = '⚠'

Class Method Summary

Class Method Detail

def self.arrow(dir : Symbol) : Char #

Returns an arrow glyph for a given directional symbol


[View source]
def self.circle(weight : Float64) : Char #

Maps a normalized weight (0.0..1.0) to a circle fill glyph


[View source]
def self.h_bar(weight : Float64) : Char #

Maps a normalized weight (0.0..1.0) to an 1/8th horizontal fractional bar


[View source]
def self.shade(weight : Float64) : Char #

Maps a normalized weight (0.0..1.0) to a shade character


[View source]
def self.spinner_frame(style : Symbol, frame : Int32) : String #

Returns the character/string for a spinner style at a given animation frame


[View source]
def self.triangle(dir : Symbol, small : Bool = false) : Char #

Returns a triangle pointer for a given directional symbol


[View source]
def self.v_bar(weight : Float64) : Char #

Maps a normalized weight (0.0..1.0) to an 1/8th vertical fractional bar


[View source]