• Stars
    star
    129
  • Rank 270,760 (Top 6 %)
  • Language
  • Created over 10 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fonts for Professional Typography

TypoPRO

TypoPRO

http://typopro.org/

Fonts for Professional Typography — The Non-Cloud Way!

TypoPRO is a carefully hand-selected collection of freely usable professional fonts for use in Desktop Publishing (DTP), on Websites and especially inside Web-based Desktop or Mobile Applications. Currently, TypoPRO consists of 1933 individual fonts of 200 font families. The fonts in total span a very wide range of font types, font styles, font weights and font variants. This way, TypoPRO provides a magnitude of typographic possibilities with just a minimum number of font families.

Features

  • Preselection & Assembling: The fonts were carefully hand-selected, manually downloaded and consistently assembled into the TypoPRO collection. For many fonts the real upstream vendor origin of their latest versions had to be determined first, too.

  • Glyph Design: All fonts are professionally crafted and have their glyphs (individual characters) beautifully designed and this way provide a really wonderful optical appearance. Most of the fonts are actually from professional font foundries.

  • Font Families: Most of the fonts are based on reasonably large font families of individual fonts. This is important, because for professional typography results you usually always need multiple weights of at least the headline and text fonts.

  • Kerning: Most of the fonts carry reasonable kerning information, provided by the font foundry: instructions for spacing adjustments between particular pairs of glyphs. This is important, because for professional typography, kerning is essential.

  • Hinting: All fonts carry reasonable hinting information, provided by the conversion process (and its ttfautohint utility) of TypoPRO: display instructions for rasterization adjustments at various rendering sizes. This is important, because for rendering fonts on the Web at very small sizes, hinting is essential.

  • Liberal Licensing: All fonts are under very liberal Open Source licenses and can be freely and unrestrictively used even in Closed Source and Commercial contexts.

  • Web Conversion: All fonts are consistently converted from their original TTF/OTF format into various font formats for use on the Web: Embedded OpenType (EOT), Web Open Font Format (WOFF) and TrueType Font (TTF). These different formats for each font are required for maximum portability across browsers and operating systems. Suitable corresponding CSS @font-face declaration files were generated, too.

  • Unicode Character Reduction Some fonts contain a really large number of glyphs, covering a wide range of the Unicode character set. This is great in general, but dramatically increases the font size, which is a major drawback on the web. For this reason, although it reduces the fonts to be used for the main Latin based languages (English, German, etc), we reduce the fonts in web formats to the smaller Unicode range 0000-00FF (Basic Latin, Latin-1 Supplement). For the DTP formats of all fonts we reduce to the larger (but still reduced for some very large fonts) Unicode range set 0000-036F,1DC0-1EFF,2000-20FF,2150-218F,2C60-2C7F,A720-A7FF (Basic Latin, Latin-1 Supplement, Latin Extended-A, Latin Extended-B, IPA Extensions, Spacing Modifier Letters, Combining Diacriticals Marks, Combining Diacritical Marks Supplement, Latin Extended Additional, General Punctuation. Superscripts and Subscripts, Currency Symbols, Combining Diacritical Marks for Symbols, Number Forms, Latin Extended-C, Latin Extended-D)

  • Font Renaming: To circumvent license restrictions related to font format conversions and to avoid confusion with the original font formats, all Web and DTP font format variants were renamed to consistently carry the TypoPRO prefix.

  • Font Parameters: In the Web font format variants, all font families consistently use a common font family name (CSS font-family attribute) and all fonts within the same font family are consistently distinguished via CSS parameters font-weight, font-style, font-stretch and font-variant.

  • Specimen: For the Web font variants, a specimen in HTML format was generated to conveniently preview the font. See http://typopro.org/specimen/ for the current overview of all specimens in TypoPRO.

Font Overview

A Specimen in HTML format allows you to conveniently preview all the TypoPRO font in detail. This Specimen is grouped into General Purpose and Special Purpose fonts.

General Purpose Fonts

The fonts in the General Purpose group are for general uses, i.e., they can be used equally well for headlines, body text, footnotes, etc. They especially are part of whole font families and cover a wide range of Unicode characters.

Special Purpose Fonts

The fonts in the Special Purpose group are for special uses, i.e., they are usually used only for particular headlines, subtitles, tags, etc. They are usually just stand-alone fonts and cover just a very limited range of Unicode characters.

Browser Support

All major browsers are fully supported by TypoPRO due to the fact that each font is provided in multiple Web formats. The actual minimum browser version which supports a particular format follows (for latest information see 1 2 3):

Browser EOT TTF WOFF
Internet Explorer (Desktop) 6.0 9.0 9.0
Internet Explorer (Mobile) -- -- 10.0
Mozilla Firefox (Desktop) -- 3.5 3.6
Mozilla Firefox (Mobile) -- 26.0 26.0
Google Chrome (Desktop) -- 4.0 5.0
Google Chrome (Mobile 2) -- 33.0 33.0
Google Chrome (Mobile 1) -- 2.2 4.4
Apple Safari (Desktop) -- 3.1 5.1
Apple Safari (Mobile) -- 4.2 5.0
Opera (Desktop) -- 10.0 11.1
Opera (Mobile) -- 10.0 11.0

This means that for the latest versions of all major browsers the optimized WOFF format would be both sufficient and preferred. But for backward compatibility to older browser versions, the EOT and TTF formats are still provided, too.

Notice: The fonts are intentionally not provided in the additional browser-supported SVG font format. The reason simply is that since a longer time this gives not really any additional effective cross-browser compatibility and just unnecessarily increases the (already rather large) TypoPRO distribution size.

Notice: The fonts are intentionally still not provided in the newer WOFF2 format as support for this format is still limited and although WOFF2 fonts are better compressed, this is no great advantage as long as we still have to ship WOFF format, too.

Alternatives

Nowadays, most of the fonts can also be individually downloaded for free from online font libraries like Font Squirrel, DaFont, Fonts2U or fontsc or even on-the-fly used from font Cloud services like Google Fonts, Open Font Library, Adobe Edge Web Fonts, Adobe Typekit, FontDeck or Brick. But the purpose of TypoPRO is just different: it provides an offline solution and it intentionally is a very opinionated pre-selection of reasonable (meaning high-quality) fonts.

Download

You can conveniently download latest snapshot or particular versions of TypoPRO with the Node Package Manager (NPM):

$ npm install typopro             # latest     version
$ npm install [email protected]       # particular version

This automatically installs the peer packages typopro-web and typopro-dtp, too. As you usually need only the Web formats, you can install just this NPM package:

$ npm install typopro-web         # latest     version
$ npm install [email protected]   # particular version

Alternatively, install just the DTP formats:

$ npm install typopro-dtp         # latest     version
$ npm install [email protected]   # particular version

Finally, you can also download both Web and DTP formats manually, with e.g. cURL:

# download Web formats in latest or particular version
$ curl -O https://github.com/rse/typopro-web/archive/master.zip
$ curl -O https://github.com/rse/typopro-web/archive/4.2.6.zip

# download DTP formats in latest or particular version
$ curl -O https://github.com/rse/typopro-dtp/archive/master.zip
$ curl -O https://github.com/rse/typopro-dtp/archive/4.2.6.zip

Additionally, you can also use Grunt and my companion Grunt-TypoPRO task for conveniently installing TypoPRO font families.

Desktop Usage

The DTP variants of all fonts you can find under dtp/ in the typopro-dtp package. Just install those files into your system:

  • For Windows: For single and bulk installs, right-click one or more *.ttf files and choose "Install" from the context menu.

  • For Mac OS X: For single installs, open the *.ttf file with the Font Book app and choose "Install Font". For bulk installs drag & drop the fonts into the Fonts folder of the Library folder in the Finder app.

  • For GNU/Linux: For single installs, open the *.ttf file with the Font Viewer app and choose "Install". For bulk installs copy the *.ttf files into /usr/local/share/fonts/truetype folder of your system and run sudo fc-cache.

Web Usage

The Web variants of all fonts you can find under web/ in the typopro-web package.

It is important that the font files are delivered to the browser with the correct MIME content-types. You can use the following Apache .htaccess configuration snippet to achieve this:

#   provide reasonable MIME content-types
<IfModule mime_module>
    AddType application/vnd.ms-fontobject eot
    AddType application/font-woff         woff
    AddType application/x-font-ttf        ttf
</IfModule>

#   compress all fonts (except already compressed WOFF)
<IfModule deflate_module>
    AddOutputFilter DEFLATE eot ttf
</IfModule>

In order to use an individual font you have to use two steps:

  1. Include the @font-face based CSS font declaration:

    <html>
        <head>
            [...]
            <link href="web/TypoPRO-Lora/TypoPRO-Lora-Regular.css" rel="stylesheet" type="text/css"/>
            [...]
        </head>
        [...]
    </html>
  2. Use CSS to apply it to some of your HTML elements:

    <html>
        <head>
            [...]
            <style type="text/css">
                .sample {
                    font-family: "TypoPRO Lora";
                    font-weight: bold;
                    font-size: 14pt;
                }
            </style>
            [...]
        </head>
        <body>
        [...]
            <div class="sample">The Quick Brown Fox Jumps Over The Lazy Dog</div>
        [...]
        </body>
    </html>

Recommendation

For general purpose typography, I can recommend you all of the General Purpose fonts of TypoPRO, of course. But my personal preference most of the times is towards the fonts in the following table. There are many reasons for this, but mainly all those fonts, each in their class, in my humble opinion, provide the best balance of legibility (because of very distinct glyph outlines), beauty (because of very harmonic glyph curves) and versatility (because of their different available stroke widths and optional italic variants).

Sans Serif: Slab Serif: Serif: Monospaced: Script: Display:
Fira Sans Roboto Slab Merriweather DejaVu Sans Mono Handlee Bebas Neue
Roboto Aleo Droid Serif Source Code Pro Journal Overlock
Source Sans Pro Bitter Lora Anonymous Pro Delius Yanone Kaffesatz
Open Sans Andada Source Serif Pro Latin Modern Mono Kalam Poetsen
Lato Crete Round Libre Baskerville Fira Mono Nautilus Pompilius Quando
    Petrona Inconsolata Arima Madurei Sansita
    Gelasio JetBrains Mono    

Manifest

The TypoPRO distribution consists primarily of three content areas:

  • package typopro: the meta information
  • package typopro-web, folder web/: all font target files for Web (World Wide Web) usage (formats: TTF, EOT, WOFF)
  • package typopro-dtp, folder dtp/: all font target files for DTP (Desktop Publishing) usage (formats: TTF)
  • package typopro-src, folder src/: all font source files (formats: TTF, OTF)

All source files are as provided by the upstream font vendor, just with filenames aligned to the usual TypoPRO conventions. For the DTP and Web targets, the fonts are subsetted (see "Unicode Character Reduction" above), renamed and format converted.

Rebuilding

Rebuilding the Web and DTP format files is not easy, because in order to rebuild the web/ and dtp/ files from the src/ files, you have to use the etc/convert.sh script, which needs Ralf S. Engelschall's fontface utility, as provided by the OpenPKG package fontface, and a magnitude of backend programs for font conversion: FontForge, font-optimizer and ttf2eot. On installing the OpenPKG fontface package, the dependencies are installed automatically. If you want to rebuild without using OpenPKG, you have to fiddle around with all dependencies yourself, of course.

Licensing

Copyright © 2013-2021 Dr. Ralf S. Engelschall <[email protected]>

All included font families are distributed under very liberal Open Source licenses, either MIT License, Apache License, Open Font License or Public Domain. For particular license details on each individual font family, please see the files src/*/license.txt and the meta information in the files src/*/blurb.txt in the typopro-src package.

Author

Dr. Ralf S. Engelschall
http://engelschall.com
[email protected]

More Repositories

1

es6-features

ECMAScript 6: Feature Overview & Comparison
HTML
6,228
star
2

stmux

Simple Terminal Multiplexer for Node.js Environments
JavaScript
499
star
3

astq

Abstract Syntax Tree (AST) Query Engine
JavaScript
192
star
4

vingester

Ingest Web Contents as Video Streams
JavaScript
178
star
5

tokenizr

String Tokenization Library for JavaScript
JavaScript
93
star
6

graphql-tools-sequelize

Integration of GraphQL-Tools and Sequelize ORM
JavaScript
90
star
7

componentjs

ComponentJS -- Powerful run-time Component System for structuring HTML5-based Rich Clients
JavaScript
85
star
8

slideshow

Slideshow -- Observe and Control Slideshow Applications
AppleScript
82
star
9

ducky

Duck-Typed Value Handling for JavaScript
JavaScript
72
star
10

extraction

Tree Extraction for JavaScript Object Graphs
JavaScript
71
star
11

es6-support

ECMAScript 6: Support Hints & Examples
JavaScript
71
star
12

thenable

Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
JavaScript
66
star
13

pure-uuid

Pure JavaScript Based Universally Unique Identifiers (UUID)
JavaScript
64
star
14

aggregation

Aggregation of Base Class and Mixin Classes
JavaScript
59
star
15

jquery-markup

jQuery Template Based Markup Generation
JavaScript
55
star
16

hapi-plugin-websocket

HAPI plugin for seamless WebSocket integration
JavaScript
53
star
17

graphql-tools-types

Custom Scalar Types for GraphQL-Tools
JavaScript
47
star
18

vue-i18next

Vue plugin for integrating I18Next
JavaScript
46
star
19

node-prince

Node API for executing PrinceXML via prince(1) CLI
Shell
46
star
20

blessed-xterm

XTerm Widget for Blessed Curses Environment
JavaScript
46
star
21

graphql-io

GraphQL Network Communication Framework
JavaScript
41
star
22

graphql-query-compress

Compress GraphQL Query String
JavaScript
38
star
23

vmix-scripts

vMix Scripts Collection
Visual Basic .NET
38
star
24

asty

Abstract Syntax Tree (AST) Data Structure
JavaScript
34
star
25

mqtt-json-rpc

JSON-RPC protocol over MQTT communication
JavaScript
33
star
26

json-asty

Lossless JSON-to-AST Parser and AST-to-JSON Generator
JavaScript
31
star
27

pegjs-util

Utility Class for PEG.js
JavaScript
31
star
28

node-enigmavirtualbox

Node API for executing Enigma Virtual Box
JavaScript
30
star
29

unix-under-windows

Unix Environment under Windows
29
star
30

vdon-call

Remote Caller Ingest for Live Video Productions with VDO.Ninja & OBS Studio
HTML
29
star
31

microkernel

Microkernel for Server Applications
JavaScript
28
star
32

graphql-tutorial

Tutorial for GraphQL
JavaScript
27
star
33

glyphs2font

SVG Glyph Icons to Web Font Generation
JavaScript
27
star
34

grunt-bower-install-simple

Grunt Task for Installing Bower Dependencies
JavaScript
26
star
35

vdo-ninja-trampoline

VDO.Ninja Trampoline
HTML
25
star
36

obs-setup

OBS Studio Setup Information
25
star
37

hapi-plugin-graphiql

HAPI plugin for GraphiQL integration
CSS
22
star
38

typopro-web

TypoPRO (Web Font Formats)
CSS
19
star
39

node-inline-assets

Node API, CLI and Grunt Task for inlining external assets of HTML/CSS files
JavaScript
18
star
40

grunt-merge-json

Grunt Task for Merging Multiple JSON Files
JavaScript
18
star
41

huds

Head-Up-Display Server (HUDS)
JavaScript
17
star
42

node-http-proxy-simple

Simple HTTP proxy extension module for Node.js, allowing protocol and payload interception
JavaScript
17
star
43

jquery-stage

jQuery Stage Information
JavaScript
15
star
44

obs-scripts

OBS Studio Lua Scripts
Lua
15
star
45

html5-spa-essentials

Essential Functionalities for HTML5 Single-Page-Apps (SPA)
JavaScript
15
star
46

tika-server

Apache Tika Server as a Background Service in Node.js
JavaScript
14
star
47

audio-node-suite

Web Audio API AudioNode Suite
TypeScript
13
star
48

apollo-client-ws

GraphQL WebSocket Network Interface for Apollo Client
JavaScript
13
star
49

pdfbox-simple

Simple PDFBox Wrapper
JavaScript
11
star
50

jquery-page

jQuery Page Transitions
JavaScript
11
star
51

huds-hud-training

Training HUD for HUDS
Vue
11
star
52

cache-lru

In-Memory Cache with O(1) Operations and LRU Purging Strategy
JavaScript
10
star
53

fasttext-lid

Language Identification with Facebook FastText for Node.js
JavaScript
10
star
54

browserify-derequire

Browserify Plugin for Renaming require() Calls
JavaScript
10
star
55

encodr

Encoding/Decoding to/from CBOR/MsgPack/JSON for Node.js and Browser
JavaScript
9
star
56

graphql-io-server

GraphQL Network Communication Framework (Server)
JavaScript
8
star
57

stanford-postagger

Stanford Log-linear Part-Of-Speech (PoS) Tagger for Node.js
JavaScript
8
star
58

oset

Ordered Set Data Structure for JavaScript
JavaScript
8
star
59

dotfiles

Small Opinionated Collection of Unix Configuration Files for User Shell Environment
Shell
8
star
60

wordnet-lmf

WordNet Lexical Markup Framework (LMF)
JavaScript
7
star
61

lowerthird

Lower Thirds for OBS Studio
JavaScript
7
star
62

upd

Upgrade Package Dependencies (UPD)
JavaScript
7
star
63

hapi-plugin-traffic

HAPI plugin for network traffic accounting
JavaScript
7
star
64

hapi-plugin-co

HAPI plugin for Co-Routine handlers
JavaScript
7
star
65

sublime-scheme-rse

Sublime Text Color Scheme RSE
7
star
66

soundfx

Sound Effect Collection
JavaScript
7
star
67

syntax

Unobtrusive Syntax Highlighting
JavaScript
7
star
68

bash-fzf

Enhance GNU Bash with FZF Matching
Makefile
7
star
69

psd2pptx

Convert Photoshop (PSD) layers to PowerPoint (PPTX) slides
JavaScript
7
star
70

asty-astq

Abstract Syntax Tree With Integrated Query Engine
JavaScript
6
star
71

grunt-newer-explicit

Grunt Task for running tasks if source files are newer only.
JavaScript
6
star
72

node-unix

Unix operating system integration for Node.js-based services
JavaScript
6
star
73

live-receiver

Live Video Experience (LiVE) Receiver
Vue
6
star
74

jquery-schedule

jQuery plugin for performing scheduled/deferred actions on DOM elements.
JavaScript
6
star
75

node-xmlhttprequest-cookie

Cookie-aware XMLHttpRequest Wrapper
JavaScript
6
star
76

websocket-framed

Framed WebSocket Communication
JavaScript
6
star
77

ffmpeg

FFmpeg distribution for NPM
JavaScript
5
star
78

ipc-pubsub

Inter-Process-Communication (IPC) Publish-Subscribe (PubSub) Abstraction Layer
JavaScript
5
star
79

style-scope

PostCSS and PostHTML plugins for locally scoping styles
JavaScript
5
star
80

sysload

System Load Determination
JavaScript
5
star
81

audio-setup

Windows Audio Setup
5
star
82

sprintfjs

POSIX sprintf(3)-style Formatting for JavaScript
JavaScript
5
star
83

browserify-replace

Browserify Transform For Replacing Strings
JavaScript
5
star
84

gridless

Grid System for LESS CSS
CSS
4
star
85

mostlikely

Most-Likely Classification Through Bloom-Filtering
JavaScript
4
star
86

obs-crop-control

Remote Crop-Filter Control for OBS Studio
JavaScript
4
star
87

k8s-sample

Kubernetes (K8S) Sample Application
JavaScript
4
star
88

studio-canvas

Real-Time Virtual Studio Canvas Rendering
TypeScript
4
star
89

obs-banner

Simple Banner for OBS Studio
JavaScript
3
star
90

obs-cam-control

Camera Control for OBS Studio
JavaScript
3
star
91

vue-params

Vue plugin for global parameters triggering data-binding updates
JavaScript
3
star
92

pdf-scrape

PDF Text Scraping
JavaScript
3
star
93

hapi-plugin-header

HAPI plugin to always send a Server identification header
JavaScript
3
star
94

grunt-extend-config

Grunt Plugin for Extending Grunt Configuration
JavaScript
3
star
95

graphql-io-client

GraphQL Network Communication Framework (Client)
JavaScript
3
star
96

huds-hud-hello

Hello World HUD for HUDS
HTML
3
star
97

ael

Advanced Expression Language
JavaScript
3
star
98

gdo

Group- and Dependency-based Ordering
JavaScript
3
star
99

grunt-i18next-yaml

Assemble language-separated i18next JSON output files from language-merged YAML input files
JavaScript
3
star
100

componentjs-tracing

ComponentJS Tracing
JavaScript
2
star