An open API service indexing awesome lists of open source software.

https://github.com/ysfemreAlbyrk/Fontager

A modern, powerful font manager and font viewer application for Windows, built with WinUI 3
https://github.com/ysfemreAlbyrk/Fontager

fluent-design font fontviewer utilities windows windows-11 winui winui3 xaml

Last synced: 4 months ago
JSON representation

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

Awesome Lists containing this project

README

          




# Fontager

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![.NET](https://img.shields.io/badge/.NET-8-purple.svg)](https://dotnet.microsoft.com/download/dotnet/8.0)
[![Platform](https://img.shields.io/badge/Platform-Windows-blue.svg)](https://www.microsoft.com/windows)
[![WinUI](https://img.shields.io/badge/UI-WinUI%203-0078D4.svg)](https://learn.microsoft.com/en-us/windows/apps/winui/)

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

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.
img-1

[🚀 Download](#building) â€ĸ [📖 Features](#features) â€ĸ [đŸ› ī¸ Tech Stack](#tech-stack) â€ĸ [🤝 Contributing](#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 `.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

img-2
img-3

### 🚧 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)

### đŸ“Ļ Installation

**Visual Studio (MSIX):**
1. Set configuration to **Release** and platform to **x64**
2. Right-click `Fontager.Viewer` → **Package and Publish** → **Create App Packages**
3. Select **Sideloading** → **Next**
4. Create or select a certificate → **Create**

📁 **Output:** `Fontager.Viewer\AppPackages\Fontager.Viewer_X.X.X.X_x64.msix`
Double-click the `.msix` file to install, or distribute it to other users.

**Download From GitHub Release:**
1. Go to [latest release page](https://github.com/ysfemreAlbyrk/Fontager/releases/latest) and download.
2. Run the bat file.

## đŸ› ī¸ 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 | No external dependencies |
| đŸ“Ļ **Font Loading** | Win32 GDI (`AddFontResourceEx`) + XAML `ms-appdata` URI caching | Native font handling |

## 🔗 File Association

Fontager.Viewer registers for `.otf`, `.ttc`, and `.woff2` files. After installation, double-click a font file or set Fontager as default in **Settings → Apps → Default apps → Choose default apps by file type**. For `.ttf` files (reserved by Windows), you can manually select Fontager from the "Open with" menu.

## 📄 License

This project is free and open-source software (FOSS). See [LICENSE](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](https://github.com/ysfemreAlbyrk)