FigletText Widget

Create large ASCII art text banners using FIGlet fonts

The FigletText widget renders text as large ASCII art using FIGlet fonts, creating eye-catching banners and headers.

Screenshot

When to Use

Use FigletText when you need to make text stand out dramatically in console applications. Common scenarios:

  • Application branding: Display app names and logos at startup
  • Section headers: Create visual separation between major sections
  • Status announcements: Highlight important events like "SUCCESS" or "ERROR"

For simple horizontal dividers, use Rule instead. For regular styled text, use Text.

Basic Usage

Create figlet text by passing a string to the constructor. The default font renders clear, readable ASCII art.

public static void BasicFigletTextExample()
{
    var figlet = new FigletText("Hello, World!");
  
    AnsiConsole.Write(figlet);
}

Styling

Colors

Use the Color() method to match your application's theme or emphasize the message.

public static void FigletTextColorExample()
{
    var figlet = new FigletText("Spectre")
        .Color(Color.Blue);
  
    AnsiConsole.Write(figlet);
}

Alignment

Centered Text

Use Justification to center figlet text, creating balanced banners and headers.

public static void FigletTextCenterAlignmentExample()
{
    var figlet = new FigletText("CENTERED")
    {
        Justification = Justify.Center
    };
  
    AnsiConsole.Write(figlet);
}

All Alignment Options

Control horizontal positioning with left, center, or right alignment.

public static void FigletTextAlignmentExample()
{
    AnsiConsole.MarkupLine("[yellow]Left alignment (default):[/]");
    var leftAligned = new FigletText("LEFT")
    {
        Justification = Justify.Left
    };
    AnsiConsole.Write(leftAligned);
  
    AnsiConsole.WriteLine();
    AnsiConsole.MarkupLine("[yellow]Center alignment:[/]");
    var centerAligned = new FigletText("CENTER")
    {
        Justification = Justify.Center
    };
    AnsiConsole.Write(centerAligned);
  
    AnsiConsole.WriteLine();
    AnsiConsole.MarkupLine("[yellow]Right alignment:[/]");
    var rightAligned = new FigletText("RIGHT")
    {
        Justification = Justify.Right
    };
    AnsiConsole.Write(rightAligned);
}

Custom Fonts

Load custom FIGlet fonts from .flf files to change the appearance. The default font works well for most cases, but custom fonts enable unique branding.

public static void FigletTextCustomFontExample()
{
    var font = FigletFont.Load("path/to/custom.flf");
    var figlet = new FigletText(font, "Custom Font");
  
    AnsiConsole.Write(figlet);
}

Advanced Usage

Creating Banners

Combine figlet text with rules to create bordered announcements.

public static void FigletTextBannerExample()
{
    var banner = new FigletText("RELEASE v2.0")
    {
        Color = Color.Green,
        Justification = Justify.Center
    };
  
    AnsiConsole.Write(new Rule().RuleStyle(Style.Parse("green dim")));
    AnsiConsole.Write(banner);
    AnsiConsole.Write(new Rule().RuleStyle(Style.Parse("green dim")));
}

Embedding in Panels

Use panels to add borders and padding around figlet text, perfect for important notifications.

public static void FigletTextInPanelExample()
{
    var figlet = new FigletText("SUCCESS")
    {
        Color = Color.Green,
        Justification = Justify.Center
    };
  
    var panel = new Panel(figlet)
    {
        Border = BoxBorder.Double,
        BorderStyle = new Style(Color.Green),
        Padding = new Padding(1, 1, 1, 1)
    };
  
    AnsiConsole.Write(panel);
}

Welcome Screens

Build multi-line welcome messages by combining figlet text with regular text widgets.

public static void FigletTextWelcomeExample()
{
    var appName = new FigletText("MyApp")
    {
        Color = Color.Blue,
        Justification = Justify.Center
    };
  
    var version = new Text("Version 1.0.0", new Style(Color.Grey))
    {
        Justification = Justify.Center
    };
  
    AnsiConsole.Write(appName);
    AnsiConsole.Write(version);
    AnsiConsole.WriteLine();
}

API Reference

Represents text rendered with a FIGlet font.

Constructors

FigletText(string text)

Initializes a new instance of the class.

Parameters:

text (string)
The text.
FigletText(FigletFont font, string text)

Initializes a new instance of the class.

Parameters:

font (FigletFont)
The FIGlet font to use.
text (string)
The text.

Properties

Color : Nullable<Color>

Gets or sets the color of the text.

Justification : Nullable<Justify>
Pad : bool

Gets or sets a value indicating whether or not the right side should be padded.

Extension Methods

FigletText Color(Nullable<Color> color)

Sets the color of the FIGlet text.

Parameters:

color (Nullable<Color>)
The color.

Returns:

The same instance so that multiple calls can be chained.

IEnumerable<Segment> GetSegments(IAnsiConsole console)

Gets the segments for a renderable using the specified console.

Parameters:

console (IAnsiConsole)
The console.

Returns:

An enumerable containing segments representing the specified .