NKFontTool 2026.2.0-rc1
dotnet tool install --global NKFontTool --version 2026.2.0-rc1
dotnet new tool-manifest
dotnet tool install --local NKFontTool --version 2026.2.0-rc1
#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.nkgfiles for all printable ASCII characters. It also generates the completeMap.xmlmapping.
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.nkfbinary 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.nkffile 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.nkffile 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.nkffile 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
- CLI Logic entrypoint: Program.cs
- Project Configuration: NKFontTool.csproj
| Product | Versions 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. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|