NKFontTool 2026.2.0-rc1

This is a prerelease version of NKFontTool.
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet tool install --global NKFontTool --version 2026.2.0-rc1
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local NKFontTool --version 2026.2.0-rc1
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=NKFontTool&version=2026.2.0-rc1&prerelease
                    
nuke :add-package NKFontTool --version 2026.2.0-rc1
                    

NKFontTool (nkfont)

NKFontTool is a command-line interface (CLI) tool designed to manage, compile, display, inspect, and create custom TUI fonts for the NeoKolors framework.

The tool parses font source definitions (XML configurations and raw .nkg text files) and converts them into optimized, pre-validated binary .nkf assets.


Installation & Running

1. Development Mode

To run the tool directly from source during development:

dotnet run --project Tools/NKFontTool/NKFontTool.csproj -- [arguments]

2. Install as a .NET Global Tool

The project is configured to pack as a .NET Tool under the command name nkfont. To pack and install it locally:

# Package the tool
dotnet pack Tools/NKFontTool/NKFontTool.csproj -c Release

# Install globally from the build directory
dotnet tool install --global --add-source Tools/NKFontTool/bin/Release NKFontTool

Once installed, you can execute it from anywhere using the command:

nkfont [arguments]

Commands and Usage

create (alias new)

Creates a new blank XML font definition folder structure.

nkfont create <output-dir> [font-name] [options]
  • Arguments:
    • output-dir (Required): The output directory where the configuration files and glyph subfolders are initialized.
    • font-name (Optional): The internal name of the font. Defaults to the folder name if omitted.
  • Options:
    • -a | --all-ascii: Automatically creates directories (lowercase, uppercase, digits, special) and populates them with template .nkg files for all printable ASCII characters. It also generates the complete Map.xml mapping.

Example:

nkfont create ./MyNewFont CoolFont -a

compile

Compiles an XML font definition directory or zip file into a highly-compressed binary .nkf font.

nkfont compile <xml-path> [output-nkf]
  • Arguments:
    • xml-path (Required): The directory path or path to a zip file containing the XML font definitions.
    • output-nkf (Optional): The output path for the compiled .nkf binary file. If omitted, saves using the font's internal name in the current directory.

Example:

nkfont compile ./MyNewFont ./MyNewFont.nkf

display (aliases show, render)

Renders a text string using the specified font directly inside the terminal. This is useful for visual validation during font design.

nkfont display <font> <text...>
  • Arguments:
    • font (Required): A built-in font name (Bytesized, Future, Dummy), a compiled .nkf file path, or a path to a raw XML font folder/zip.
    • text (Required): The text to display. Supports ANSI coloring codes for styled output.

Example:

# Render using built-in font
nkfont display Future "Hello World"

# Render using custom binary font
nkfont display ./MyNewFont.nkf "Custom Typography"

list

Lists all available built-in fonts pre-registered in the active session.

nkfont list

font (alias inspect-font)

Lists all characters, symbols, and ligatures mapped inside a specified font.

nkfont font <font>
  • Arguments:
    • font (Required): A built-in font name, compiled .nkf file path, or XML font folder/zip.

Example:

nkfont font Bytesized

glyph (alias inspect-glyph)

Inspects a single glyph inside a font. It details its width, height, alignment points, and prints a visual preview highlighting the glyph's structure and anchor bounds.

nkfont glyph <font> <character-or-ligature>
  • Arguments:
    • font (Required): A built-in font name, compiled .nkf file path, or XML font folder/zip.
    • character-or-ligature (Required): The character symbol (e.g. a) or ligature string (e.g. fi) to inspect.

Example:

nkfont glyph Future a

Code Reference

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated