Skip to content

Web Font Specimen v2.0 - Comprehensive font testing and showcase system by Tim Brown from Nice Web Type. Enhanced with modern documentation and usage examples.

License

Notifications You must be signed in to change notification settings

MarkOpalski/font-specimen

Repository files navigation

Enhanced Web Font Specimen
Version 2.1 - Google Fonts Integration & Modern CSS Grid
Originally created 2010-04-06 by Tim Brown
Enhanced 2025-11-04 by Mark Opalski

🌐 LIVE DEMO: https://markopalski.github.io/font-specimen/

============================================================================

ATTRIBUTION & ACKNOWLEDGMENTS

This repository preserves, enhances, and modernizes the original Web Font 
Specimen v2.0 created by Tim Brown. Tim Brown is Head of Typography at Adobe 
and a leading advocate for web typography who has contributed immensely to 
the craft through tools, education, and community building.

ORIGINAL CREATOR
β€’ Tim Brown - Original Web Font Specimen v2.0 (2010)
  Current: Head of Typography at Adobe
  Website: https://tbrown.org
  Mastodon: @timbrown@mastodon.social
  LinkedIn: https://www.linkedin.com/in/tbrowntype/
  
ORIGINAL RESOURCES (Historical)
β€’ Original Web Font Specimen: http://webfontspecimen.com
β€’ Nice Web Type Blog: http://nicewebtype.com (historical)

2025 ENHANCEMENTS BY
β€’ Mark Opalski - A Font Specimen as the UI, Google Fonts integration, WCAG compliance
  GitHub: https://github.com/MarkOpalski/font-specimen

COMMUNITY CONTRIBUTIONS (Historical)
β€’ Eric Meyer - Compass/Sass port (mirisuzanne/webfontspecimen, 2009)
β€’ Robert Whitney - Sinatra app port (robertjwhitney/web-font-specimen, 2010)
β€’ Various developers who created adaptations keeping this tool accessible

============================================================================

OVERVIEW

Enhanced Web Font Specimen is a systematic font evaluation tool designed for 
typographic testing, not a web application. This comprehensive typography testing 
system evaluates web fonts through methodical specimen display across multiple 
contexts - sizes, character sets, contrast scenarios, and real-world text samples.

Built for systematic font evaluation, this tool provides designers with Tim Brown's 
proven methodology for thorough typeface analysis. The enhanced version adds modern 
font loading capabilities and accessibility compliance tools while preserving 
the elegant, systematic approach to font evaluation that made the original invaluable 
for professional typography work.

ORIGINAL FEATURES (Tim Brown's Web Font Specimen v2.0)

β€’ Text samples at various sizes (9px to 96px) with proper line-height (1.4em)
β€’ Character set display showing uppercase, lowercase, numbers, and symbols
β€’ Body size comparisons against standard web fonts (Arial, Times, Georgia)
β€’ Grayscale testing with different color values (#000 to #FFF) on light and dark backgrounds
β€’ Size specimens with pangram text for comprehensive character testing
β€’ Responsive grid layout using 960.gs framework
β€’ Clean, professional presentation suitable for client presentations

NEW FEATURES (2025 Enhancements)

β€’ πŸ” Dynamic Google Fonts Search - Real-time search with autocomplete suggestions
β€’ ⚑ One-Click Font Loading - Quick access buttons for popular fonts
β€’ 🎨 Seamless Design Integration - Maintains original specimen aesthetics
β€’ β™Ώ WCAG AA Compliance Indicators - Visual contrast ratio compliance checking
β€’ πŸ“± Enhanced Mobile Support - Improved responsive design
β€’ πŸƒ Instant Font Switching - No page reload required for font changes
β€’ 🎯 Simplified UX - Font name input instead of complex URL management

TECHNICAL STRUCTURE

CORE FILES (Original by Tim Brown)
β€’ index.html - Main specimen display with integrated Google Fonts loader
β€’ css/reset.css - Eric Meyer's CSS reset for consistent cross-browser rendering
β€’ css/wfs.css - Original font specimen layout and typography styling
β€’ css/type/ - Folder for local font files (still supported)
β€’ css/images/ - Background images and grid overlays for visual alignment

MODERNIZED FILES (2025 Updates)
β€’ css/modern-grid.css - Modern CSS Grid system (replaces 960.gs legacy grid)
β€’ css/960.css - Legacy 960.gs grid (preserved but not linked)

NEW FILES (2025 Enhancements)
β€’ js/google-fonts-loader.js - Complete Google Fonts integration system
β€’ css/google-fonts-loader.css - Styling for search interface (matches specimen design)
β€’ demo.html - Usage examples and documentation
β€’ test.html - Server testing utility

DEPENDENCIES & CREDITS
β€’ Eric Meyer's CSS Reset: http://meyerweb.com/eric/tools/css/reset/
β€’ Modern CSS Grid: Replaces legacy 960.gs with native browser grid system
β€’ Google Fonts API: https://fonts.google.com/
β€’ Vite Build Tool: Modern development environment and build system
β€’ Nathan Smith's 960.gs Grid (legacy): http://960.gs/ - preserved for reference

LICENSING
Original files (wfs.css, markup) by Tim Brown are licensed under Creative Commons 
Attribution 3.0: http://creativecommons.org/licenses/by/3.0/us/

2025 enhancements maintain the same Creative Commons Attribution 3.0 license to 
honor Tim Brown's open approach and ensure continued accessibility.

============================================================================

HOW TO USE:

QUICK START GUIDE (New Enhanced Method)

1) Start a local server (required for Google Fonts integration due to CORS policies)

   OPTION A - Python Server (Simple):
   python3 -m http.server 8000
   # OR
   npm run serve
   
   OPTION B - Vite Development Server (Modern):
   npm install
   npm run dev        # Development server with hot reload
   npm run build      # Production build
   npm run preview    # Preview production build
   
   Then open the provided localhost URL in your browser.


2) Use the Google Fonts loader interface

   β€’ Type font names in the search box (e.g., "Inter", "Roboto", "monospace")
   β€’ Select from real-time suggestions dropdown
   β€’ Click quick-access buttons for popular fonts
   β€’ Font loads instantly without page refresh


3) Observe WCAG compliance indicators

   In the grayscale section, look for visual indicators:
   β€’ βœ… Green checkmarks = WCAG AA compliant (good contrast)
   β€’ ❌ Red X marks = Non-compliant (poor contrast)
   β€’ Hover for exact contrast ratios


ORIGINAL METHOD (Still Supported - Local Fonts)

1) Add a typeface to the css/type/ folder
   Supported formats: .otf, .ttf, .woff, .woff2, .eot

2) Edit the embedded CSS in index.html
   Update @font-face declaration and font-family in body selector

3) Update the labels throughout the HTML
   Replace "Font name" with your typeface name

4) Preview in browser
   The specimen displays your font across all test scenarios

PROFESSIONAL USE CASES

β€’ Client presentations with instant font switching
β€’ Design team font evaluation sessions  
β€’ Typography accessibility compliance checking
β€’ Comparative font analysis and documentation
β€’ Style guide development and font selection


============================================================================

BROWSER COMPATIBILITY & MODERN FEATURES:

BROWSER SUPPORT

Enhanced Web Font Specimen works with modern browsers:
β€’ Chrome, Firefox, Safari, Edge (full support including Google Fonts API)
β€’ Modern mobile browsers (iOS Safari, Chrome Mobile)
β€’ Requires JavaScript enabled for Google Fonts integration
β€’ Local font method works in all browsers supporting CSS @font-face

ACCESSIBILITY FEATURES

WCAG AA compliance checking includes:
β€’ Automated contrast ratio calculations
β€’ Visual indicators for text readability
β€’ Support for users evaluating accessible font choices
β€’ Clear pass/fail indicators based on 4.5:1 contrast requirements

WHAT GETS TESTED (Enhanced)

The specimen evaluates fonts across comprehensive scenarios:
β€’ Readability at small sizes (9-13px) for body text
β€’ Display impact at large sizes (24-96px) for headlines  
β€’ Character completeness and spacing
β€’ Contrast performance with WCAG compliance indicators
β€’ Comparison against web-safe system fonts (Arial, Times, Georgia)
β€’ Real-world text samples and pangram testing
β€’ Cross-platform font rendering evaluation

PERFORMANCE

β€’ Google Fonts load dynamically without page refresh
β€’ Fonts are cached by browser after first load
β€’ Search interface provides instant results
β€’ Minimal JavaScript footprint preserves original simplicity

============================================================================

ENHANCED FONT SERVICE INTEGRATION:

GOOGLE FONTS (Now Built-In!)

Google Fonts integration is now seamless with the enhanced interface:
β€’ No manual CSS editing required
β€’ Real-time search of Google Fonts database
β€’ One-click font loading and testing
β€’ Automatic URL generation and font application
β€’ Instant switching between different fonts

ADVANCED: OTHER FONT SERVICES

For services like Adobe Fonts, Typekit, or other providers:
1. Use the "Advanced" section in the Google Fonts loader
2. Paste the service's CSS URL directly
3. Or edit index.html to remove embedded CSS (lines vary by version)
4. Add the service's required code to the HTML <head>
5. Ensure fonts apply to the "body" element selector

CUSTOM FONTS & LOCAL FILES

The original local font method remains fully supported:
β€’ Add font files to css/type/ directory
β€’ Update embedded CSS @font-face declarations
β€’ Perfect for proprietary or licensed fonts
β€’ No internet connection required


============================================================================

CUSTOMIZATION & ADVANCED USAGE:

CUSTOMIZING THE SPECIMEN

You can modify files to customize appearance and functionality:
β€’ wfs.css - Original specimen styling and layout
β€’ google-fonts-loader.css - Search interface styling (matches specimen design)
β€’ google-fonts-loader.js - Search behavior and font database
β€’ index.html - Sample text and specimen sections

SAMPLE TEXT & CONTENT

The specimen includes carefully chosen content:
β€’ Philosophical passages for readability testing at various sizes
β€’ "Pack my box with five dozen liquor jugs" pangram for character coverage
β€’ Complete character set display (A-Z, a-z, 0-9, symbols)
β€’ Real-world text scenarios for practical evaluation

Customize sample text by editing index.html to match your project needs.

WCAG COMPLIANCE CUSTOMIZATION

The WCAG indicators can be customized in google-fonts-loader.js:
β€’ Modify contrast ratio thresholds (currently 4.5:1 for AA)
β€’ Add support for AAA compliance (7:1 ratio)
β€’ Customize visual indicators and tooltips
β€’ Extend to additional color combinations

PROFESSIONAL APPLICATIONS

Enhanced capabilities make this ideal for:
β€’ Client presentations with live font demonstrations
β€’ Accessibility-focused design reviews
β€’ Typography documentation and style guides
β€’ Design system font selection and validation
β€’ Educational workshops on web typography and accessibility
β€’ Comparative analysis of font performance across contexts

============================================================================

RELATED PROJECTS & COMMUNITY ECOSYSTEM:

Tim Brown's Web Font Specimen has inspired numerous adaptations over the years. 
This enhanced version aims to modernize the original while preserving its 
elegant approach to systematic font evaluation.

HISTORICAL ADAPTATIONS (Community Contributions)
β€’ mirisuzanne/webfontspecimen - Compass/Sass port by Eric Meyer (2009)
  https://github.com/mirisuzanne/webfontspecimen
β€’ robertjwhitney/web-font-specimen - Sinatra app port (2010)  
  https://github.com/robertjwhitney/web-font-specimen
β€’ pixelninja/font_trial - Enhanced version with font uploading (2012)
  https://github.com/pixelninja/font_trial

MODERN FONT EVALUATION TOOLS
β€’ mohamdio/Flont - JavaScript font specimen library (2021)
  https://github.com/mohamdio/Flont
β€’ source-foundry/pre-post - Flask + Jinja2 specimen sheets (2018)
  https://github.com/source-foundry/pre-post

WHY THIS ENHANCED VERSION?

While modern font platforms exist, they often prioritize marketing over 
systematic evaluation. This enhanced Web Font Specimen maintains Tim Brown's 
original vision of comprehensive, methodical font testing while adding:
β€’ Real-world workflow integration (Google Fonts)
β€’ Accessibility compliance checking (WCAG)  
β€’ Preserved elegant, professional presentation
β€’ Educational value for typography principles

============================================================================

COMMUNITY & RESOURCES:

CONNECT WITH THE TYPOGRAPHY COMMUNITY

Original Creator - Tim Brown:
β€’ Website: https://tbrown.org  
β€’ Mastodon: @timbrown@mastodon.social
β€’ LinkedIn: https://www.linkedin.com/in/tbrowntype/
β€’ Current Role: Head of Typography at Adobe
β€’ Typography Advisor GPT: https://chatgpt.com/g/g-6747971a14cc819180d3c13f107c317b-typography-advisor

Enhanced Version - Mark Opalski:
β€’ Repository: https://github.com/MarkOpalski/font-specimen
β€’ Issues/Suggestions: https://github.com/MarkOpalski/font-specimen/issues

TYPOGRAPHY RESOURCES & LEARNING

β€’ Tim Brown's Typography Advisor (Custom ChatGPT): Expert typography guidance
β€’ Flexible Typesetting (Tim Brown): https://flexibletypesetting.com/
β€’ Practicing Typography Basics (Video Series): Educational content for all levels
β€’ Adobe Typography Team: Latest developments in digital typography

LICENSING & ATTRIBUTION

This enhanced version maintains Tim Brown's original Creative Commons 
Attribution 3.0 License, ensuring the tool remains open and accessible:
http://creativecommons.org/licenses/by/3.0/us/

When using or adapting this tool, please maintain attribution to:
1. Tim Brown - Original Web Font Specimen creator (2010)  
2. Mark Opalski - Google Fonts integration enhancements (2025)

PRESERVING TYPOGRAPHIC CRAFT

This project exemplifies how foundational design tools can be enhanced while 
preserving their original elegance and educational value. Tim Brown's systematic 
approach to font evaluation remains as relevant today as when he created it, 
and these enhancements aim to make that systematic approach accessible to 
modern workflows.

Thanks for using Enhanced Web Font Specimen. We hope it serves your 
typographic practice well!

---
Original Web Font Specimen v2.0 by Tim Brown, 2010
Enhanced with Google Fonts integration by Mark Opalski, 2025
GitHub Repository: https://github.com/MarkOpalski/font-specimen

About

Web Font Specimen v2.0 - Comprehensive font testing and showcase system by Tim Brown from Nice Web Type. Enhanced with modern documentation and usage examples.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors