Skip to content

ysfemreAlbyrk/Fontager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

85 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

banner

Fontager

License: MIT .NET Platform WinUI

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

img-1

πŸ“– 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 .woff2 files
  • ✏️ 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
img_1 img_2 (1)
Glyph Screen Small Window State
img_4 img_5

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

  1. Visual Studio 2022 (17.8+) with Windows App SDK workload installed
  2. .NET 8 SDK installed

πŸ› οΈ Build Steps

  1. Open Fontager.sln in Visual Studio 2022
  2. Ensure the Windows App SDK workload is installed
  3. Set Fontager.Viewer as the startup project
  4. 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

  1. Navigate to the project directory:
  cd Fontager
  1. Restore dependencies:
  dotnet restore
  1. 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)
  1. 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:

  1. Set configuration to Release and platform to x64
  2. Right-click Fontager.Viewer β†’ Publish β†’ Folder
  3. Accept self-contained + win-x64 (see Properties/PublishProfiles/FolderProfile.pubxml).
  4. Ship the folder bin\x64\Release\net8.0-windows10.0.19041.0\win-x64\publish\ β€” same output as dotnet 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:

  1. Go to the latest release page and download.
  2. 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

About

A modern, powerful font manager and font viewer application for Windows, built with WinUI 3

Topics

Resources

License

Contributing

Stars

43 stars

Watchers

0 watching

Forks

Contributors