Skip to content

FontisanUniversal font processing library for Ruby

The most comprehensive font library — 100% Pure Ruby, no Python, no C++, no C# dependencies.

💎 100% Pure Ruby

Why Fontisan?

Fontisan is the most comprehensive font processing library in pure Ruby, combining the capabilities of:

  • fonttools (Python) — 100+ OpenType tables, variable fonts, subsetting
  • lcdf-typetools (C++) — otfinfo, cfftot1, Type 1 validation
  • Font-Validator (C#) — Comprehensive validation with coverage reports

The key differentiator: Fontisan is 100% pure Ruby. No Python, no C++, no C# dependencies. Install and run anywhere Ruby runs.

Feature Comparison

Featurefonttoolslcdf-typetoolsFont-ValidatorFontisan
Pure Ruby
Python-free
Font conversion
Validation
Bidirectional hintsPartial
Variable fonts
Type 1 supportPartial

See full comparison →

CLI Usage

bash
# Get font information
fontisan info font.ttf

# Convert fonts
fontisan convert input.ttf --to otf --output output.otf

# Validate fonts
fontisan validate font.ttf --profile google_fonts

# Work with collections
fontisan unpack fonts.ttc --output-dir ./extracted

Ruby API

ruby
require 'fontisan'

# Load any font format
font = Fontisan::FontLoader.load('font.ttf')

# Get font information
info = Fontisan::Commands::InfoCommand.new(font: font).run
puts info.family_name
puts info.style

# Convert between formats
Fontisan::FontWriter.write(font, 'output.woff2')

# Validate a font
result = Fontisan::FontValidator.validate('font.otf', profile: :google_fonts)
puts result.passed?

Migration Guides

Coming from another tool? We have migration guides:

License

Fontisan is open source and available under the MIT License.

Fontisan is a [Ribose](https://open.ribose.com/) project