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-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