Skip to content

Windows Platform Guide ​

Fontist provides comprehensive Windows platform support, allowing installation and management of fonts on Windows 7 and later.

Windows Font Management ​

Windows font management differs from Unix systems in several key ways:

DifferenceDescription
Path separatorUses backslash (\) instead of forward slash (/)
Font locationsRegistry-based and directory-based locations
File lockingStricter file locking during operations
PermissionsCase-insensitive but case-preserving filesystem

Windows Font Locations ​

Fontist supports three installation locations on Windows:

System Fonts ​

PropertyValue
LocationC:\Windows\Fonts
Requires AdminYes
Available ToAll users

User Fonts ​

PropertyValue
Location%LOCALAPPDATA%\Microsoft\Windows\Fonts
Requires AdminNo
Available ToCurrent user only
Windows VersionWindows 10+

Fontist Library ​

PropertyValue
Location%USERPROFILE%\.fontist\fonts
Requires AdminNo
Available ToCurrent user only
DefaultYes

Fontist creates a fontist subdirectory within user and system font directories to avoid cluttering the main font directory.


Installation Examples ​

Install to Fontist Library (Default) ​

powershell
# No administrator privileges required
fontist install "Roboto"

Install to User Fonts Directory ​

powershell
# No administrator privileges required (Windows 10+)
fontist install "Roboto" --location=user

Install to System Fonts Directory ​

powershell
# Run as Administrator
fontist install "Roboto" --location=system

Windows Features on Demand (FOD) Fonts ​

Windows includes supplementary fonts that aren't pre-installed but can be enabled through Features on Demand (FOD). These include fonts for Japanese, Korean, Arabic, Pan-European, and other scripts.

What Are FOD Fonts? ​

Windows FOD fonts are installed using Add-WindowsCapability, which downloads font packages from Windows Update. Fontist automates this process — when a formula specifies source: windows_fod, Fontist calls the appropriate PowerShell command to install the capability.

Installing FOD Fonts ​

powershell
# Install a specific supplemental font
fontist install "Meiryo"

# Install Pan-European supplemental fonts
fontist install "Arial Nova"

Fontist checks whether the capability is already installed. If not, it runs:

powershell
Add-WindowsCapability -Online -Name 'Language.Fonts.Jpan~~~und-JPAN~0.0.1.0'

Requirements ​

RequirementDetails
Windows versionWindows 10 or later
Internet connectionRequired (fonts download from Windows Update)
AdministratorRequired on Windows 10 for system-wide installation
WSUS/SCCMMust not block Features on Demand

Available FOD Fonts ​

Fontist includes metadata for all Windows FOD font capabilities. Some common ones:

CapabilityFonts Included
Japanese Supplemental FontsMeiryo, MS Gothic, MS Mincho
Korean Supplemental FontsBatang, Dotum, Gulim
Arabic Script Supplemental FontsSakkal Majalla, Simplified Arabic
Pan-European Supplemental FontsArial Nova, Georgia Pro, Gill Sans Nova
Traditional Chinese Supplemental FontsMingLiU, DFKai-SB

FOD Font Installation Flow ​

  1. Fontist looks up the font in the formula index
  2. Checks if the Windows FOD capability is already installed via Get-WindowsCapability
  3. If not installed, runs Add-WindowsCapability to download and install it
  4. Returns paths to the installed font files in C:\Windows\Fonts

Troubleshooting FOD Installation ​

If you see a WindowsFodInstallError:

  1. No internet connection — FOD fonts require Windows Update access
  2. Insufficient permissions — Run as Administrator on Windows 10
  3. WSUS/SCCM policy — Your organization may block FOD downloads; contact your IT administrator
  4. Capability not found — The capability name may differ on your Windows version; run Get-WindowsCapability -Online -Name 'Language.Fonts.*' to list available capabilities

Platform Restriction

Windows FOD fonts are only installable on Windows. Fontist will raise a PlatformMismatchError if you attempt to install them on macOS or Linux.


Windows-Specific Considerations ​

File Locking ​

Windows uses stricter file locking than Unix systems. Fontist handles this with automatic retry logic when encountering locked files during cleanup operations.

If you encounter file locking issues:

  1. Close applications that might be using the font
  2. Retry the operation
  3. Use Task Manager to identify processes locking the file

Path Handling ​

Fontist automatically handles Windows path separators and drive letters. Font paths are returned in Windows-native format:

C:\Users\user\.fontist\fonts\font.ttf

Registry Integration ​

While Windows historically used registry-based font registration, modern Windows (10+) supports directory-based fonts. Fontist uses directory-based installation for maximum compatibility and ease of management.

Administrator Privileges ​

OperationAdmin Required
Install to fontist locationNo
Install to user locationNo
Install to system locationYes
Uninstall from system fontsYes

Platform Compatibility ​

Windows VersionSupport StatusNotes
Windows 11✅ Fully SupportedAll features available
Windows 10✅ Fully SupportedUser font directory available
Windows 8/8.1✅ SupportedSystem and fontist locations only
Windows 7⚠️ Limited SupportSystem and fontist locations only

Windows 7 Support

Extended support for Windows 7 ended January 14, 2020. Fontist is tested on Windows 10 and later. Earlier versions may work but are not actively tested.


Ruby Installation on Windows ​

Prerequisites ​

  1. RubyInstaller with DevKit - Required for native gem extensions
  2. MSYS2 - Required for building native extensions
  3. Git for Windows - Required for fontist update and fontist repo commands

Installation Steps ​

  1. Download RubyInstaller (select "Ruby+Devkit" version)

  2. Run the installer and check "Add Ruby executables to your PATH"

  3. After installation, run MSYS2 setup:

    powershell
    ridk install

    Select option 3 (MSYS2 and MINGW development toolchain) when prompted.

  4. Install Git for Windows

  5. Install Fontist:

    powershell
    gem install fontist

Troubleshooting ​

Native Extension Errors ​

If you see errors about failed compilations:

powershell
# Ensure MSYS2 is properly installed
ridk install

# Reinstall the gem with verbose output
gem install fontist --verbose

Permission Errors ​

If you get permission errors:

powershell
# Option 1: Install to user directory
fontist install "Roboto" --location=user

# Option 2: Run as Administrator for system fonts
# Right-click PowerShell → "Run as administrator"
fontist install "Roboto" --location=system

Path Too Long Errors ​

Windows has a 260 character path limit by default. If you encounter path issues:

  1. Enable long paths in Windows (requires admin):

    powershell
    # Run as Administrator
    New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" `
      -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
  2. Or use a shorter installation path via environment variable:

    powershell
    $env:FONTIST_PATH = "C:\f"
    fontist install "Roboto"

Environment Variables ​

VariableDescriptionExample
FONTIST_PATHBase directory for Fontist dataC:\fontist
FONTIST_INSTALL_LOCATIONDefault install locationuser
FONTIST_USER_FONTS_PATHCustom user fonts pathC:\Users\me\Fonts
FONTIST_SYSTEM_FONTS_PATHCustom system fonts pathC:\Windows\Fonts

See Also ​

Fontist is riboseopen