Fontager
May 26, 2026 Β· View on GitHub
Fontager
A modern, powerful font manager and viewer application for Windows, built with WinUI 3. Official Website: ysfemrealbyrk.github.io/Fontager
Fontager replaces the outdated Windows fontview.exe with a fast, beautiful font previewer and aims to provide a full-featured font management suite for designers and developers.
π Website β’ π Download β’ π Features β’ πΊοΈ Roadmap β’ π οΈ Tech Stack β’ π€ Contributing
π Features
Fontager Viewer
A lightweight font previewer that can be set as the default handler for font files.
Core Features:
- π Instant preview of
.ttf,.otf,.ttc, and.woff2files - βοΈ Editable preview text with adjustable font size
- π Quick View β character set overview at a glance
- π Waterfall view β preview at multiple sizes simultaneously
- π Glyph grid β browse every character with Unicode code points
- βΉοΈ Font metadata β family, designer, license, version, and more
- π Multi-font support β navigate fonts within TrueType Collections (
.ttc) - π― Drag & drop β open fonts by dropping them onto the window
- πΎ Font installation β install for current user or all users
- π¨ Modern UI β Mica/Acrylic backdrop, Fluent Design, custom title bar
- βοΈ Configurable β theme, backdrop, preview defaults, and display options
| Welcome Screen and Recent Files | Font Viewer Screen, Mica & Acrylic |
|
|
|
| Glyph Screen | Small Window State |
|
|
|
Fontager Manager (planned)
A professional-grade font management suite with library organization, temporary activation, collections, and Google Fonts integration.
Fontager.Core
Shared library containing models, services, and helpers used by both applications:
- π¬ FontParser β binary parser for TTF/OTF/TTC metadata (name, OS/2, head, maxp, fvar tables)
- π¦ FontService β font loading, discovery, and format detection
- ποΈ Models β
FontModel,FontMetadata,FontFormat,FontClassification
π» Requirements
- πͺ Windows 10 (19041+) or Windows 11
- π£ .NET 8
- π± Windows App SDK 1.8+
π Building
π Prerequisites
- Visual Studio 2022 (17.8+) with Windows App SDK workload installed
- .NET 8 SDK installed
π οΈ Build Steps
- Open
Fontager.slnin Visual Studio 2022 - Ensure the Windows App SDK workload is installed
- Set
Fontager.Vieweras the startup project - Build and run (F5)
π» Command Line Build (Not Recommended for Development)
If you prefer not to use Visual Studio, you can build the project using the dotnet CLI.
While you can build the project using the **dotnet CLI**, **Visual Studio 2022 is the recommended way** for development due to its seamless integration with WinUI 3 and Windows App SDK.Steps
- Navigate to the project directory:
cd Fontager
- Restore dependencies:
dotnet restore
- Build the project:
dotnet build Fontager.Viewer -c Debug -f net8.0-windows10.0.19041.0 -r win-x64
-c Debug: Uses the Release configuration. (Debug,Release)-f net8.0-windows10.0.19041.0: Specifies the target framework-r win-x64: RuntimeIdentifier (RID), target platform (win-x64,win-x86,win-arm64)
- Output files will be in:
Fontager.Viewer\bin\Release\net8.0-windows10.0.19041.0\
π¦ Installation
Fontager ships as an unpackaged WinUI 3 app: the runtime payload is a folder containing
Fontager Viewer.exe and the self-contained Windows App SDK / .NET runtime β typically delivered inside an installer (shortcuts + uninstall) rather than as a loose zip.
No MSIX/Store identity on that path, so no separate runtime install on the target machine.
The rationale (and the path to switch back to MSIX/Store later) is documented
in docs/research/packaging-decision.md.
Visual Studio:
- Set configuration to Release and platform to x64
- Right-click
Fontager.Viewerβ Publish β Folder - Accept self-contained + win-x64 (see
Properties/PublishProfiles/FolderProfile.pubxml). - Ship the folder
bin\x64\Release\net8.0-windows10.0.19041.0\win-x64\publish\β same output asdotnet publish.
Do not rely on bin\Release\Publish. That was an old default PublishDir outside the normal SDK folder layout; publishes there often missed native / WinAppSDK files while bin\x64\Release\net8.0-windows10.0.19041.0\ looked fine after a normal Build because MSBuild copies the full dependency set during compile.
Command line:
dotnet publish Fontager.Viewer -c Release -r win-x64 --self-contained
Output lands in Fontager.Viewer\bin\x64\Release\net8.0-windows10.0.19041.0\win-x64\publish\ when publishing with platform x64.
Run Fontager Viewer.exe from there directly, or copy the folder anywhere.
Note: Always ship the entire publish folder β not only the .exe. Also unzip fully before running (running from inside the zip often fails).
Download from GitHub Releases:
- Go to the latest release page and download.
- Extract the zip and run
Fontager Viewer.exe.
Microsoft Store / MSIX: not pursued at this stage.
π οΈ Tech Stack
| Component | Technology | Description |
|---|---|---|
| π¨ UI Framework | WinUI 3 (Windows App SDK) | Modern Windows UI framework |
| π» Language | C# / .NET 8 | Modern .NET platform |
| ποΈ Architecture | MVVM with CommunityToolkit.Mvvm | Model-View-ViewModel pattern |
| π DI | Microsoft.Extensions.DependencyInjection | Dependency injection |
| π Font Parsing | Custom binary parser (name, OS/2, head, maxp, fvar, cmap) | No external dependencies |
| π¦ Font Loading | Win32 GDI (AddFontResourceEx) + XAML ms-appdata URI caching | Native font handling |
| π Packaging | Unpackaged WinUI 3, self-contained WinAppSDK | See packaging-decision |
πΊοΈ Roadmap
Completed and planned work (Core, Viewer, Manager) is tracked in roadmap.md β separate from release history in CHANGELOG.md.
π License
This project is free and open-source software (FOSS). See LICENSE for details.
π€ Contributing
Contributions are welcome! Please open an issue to discuss proposed changes before submitting a pull request.
β Star this repository if it helped you!
Made with β€οΈ by Yusuf Emre Albayrak β’ Official Website