A Node.js library providing Unicode symbols with automatic fallbacks for terminals with limited character support.
Figures is a Node.js library that provides a collection of Unicode symbols for terminal applications with automatic fallback characters for terminals that lack full Unicode support. It solves the problem of inconsistent symbol rendering across different terminal environments, particularly on Windows Console Host and CMD which have limited character sets.
Node.js developers building command-line interfaces (CLIs), terminal applications, or logging utilities that require consistent visual symbols across different platforms.
Developers choose Figures because it handles terminal compatibility automatically, offers a comprehensive symbol library, and eliminates the need to manually implement fallback logic for Unicode symbols in cross-platform applications.
Unicode symbols with fallbacks for older terminals
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically detects Unicode support and selects appropriate symbols, as shown by the default export that chooses between main and fallback symbols based on terminal capabilities.
Includes over 200 symbols like checkmarks, arrows, and mathematical operators, providing a wide variety for terminal UI elements without needing external references.
Offers separate exports for mainSymbols and fallbackSymbols, allowing developers to explicitly use Unicode or fallback characters when needed, as demonstrated in the usage examples.
Provides the replaceSymbols function to conditionally replace Unicode symbols in strings based on terminal support, simplifying dynamic text rendering with optional fallback enforcement.
Officially unsupported terminals like xterm and cmder may not display all symbols correctly, requiring additional handling for edge cases, as admitted in the README.
Focuses solely on symbols without built-in color or style options, necessitating integration with libraries like log-symbols for enhanced visual effects, which adds complexity.
Symbols are predefined and static, limiting customization or addition of new symbols without modifying the library, as there's no API for dynamic symbol registration.