All Projects → kennethormandy → Normalize Opentype.css

kennethormandy / Normalize Opentype.css

Licence: mit
Adds OpenType features—ligatures, kerning, and more—to Normalize.css.

Projects that are alternatives of or similar to Normalize Opentype.css

Centurion
Centurion is a web-based framework for rapid prototyping and building larger web projects.
Stars: ✭ 327 (-59.07%)
Mutual labels:  typography
Prototypo
Create your own font in a few clicks
Stars: ✭ 388 (-51.44%)
Mutual labels:  typography
Circletype
A JavaScript library that lets you curve type on the web.
Stars: ✭ 536 (-32.92%)
Mutual labels:  typography
Otfcc
Optimized OpenType builder and inspector.
Stars: ✭ 348 (-56.45%)
Mutual labels:  typography
Typesettings
A Sass or Stylus toolkit that sets type in Ems based on modular scale, vertical rhythm, and responsive ratio based headlines.
Stars: ✭ 380 (-52.44%)
Mutual labels:  typography
Typograf
📖 Типографика на JavaScript
Stars: ✭ 476 (-40.43%)
Mutual labels:  typography
Osfcc
一个收集可用于中文字体排印的开源字体集合。
Stars: ✭ 314 (-60.7%)
Mutual labels:  typography
Rrpl
Describing Chinese Characters with Recursive Radical Packing Language (RRPL)
Stars: ✭ 649 (-18.77%)
Mutual labels:  typography
Gatsby Starter Prismic
A typography-heavy & light-themed Gatsby Starter which uses the Headless CMS Prismic.
Stars: ✭ 381 (-52.32%)
Mutual labels:  typography
Qiji Font
齊伋體 - typeface from Ming Dynasty woodblock printed books
Stars: ✭ 536 (-32.92%)
Mutual labels:  typography
Sync.sketchplugin
Keep your design team in sync!
Stars: ✭ 357 (-55.32%)
Mutual labels:  typography
Theme Ui
Build consistent, themeable React apps based on constraint-based design principles
Stars: ✭ 4,150 (+419.4%)
Mutual labels:  typography
Utility Opentype
Simple, CSS utility classes for advanced typographic features.
Stars: ✭ 481 (-39.8%)
Mutual labels:  typography
Entry.css
Customizable and readable less library for Chinese text. 一个可配置的、更适合阅读的中文文章样式库
Stars: ✭ 344 (-56.95%)
Mutual labels:  typography
Juliamono
repository for JuliaMono, a monospaced font with reasonable Unicode support.
Stars: ✭ 625 (-21.78%)
Mutual labels:  typography
Zilla Slab
Mozilla's Zilla Slab Type Family
Stars: ✭ 317 (-60.33%)
Mutual labels:  typography
Moving Letters
Text animated with anime.js
Stars: ✭ 408 (-48.94%)
Mutual labels:  typography
Dev Fonts
List of fonts for coding
Stars: ✭ 758 (-5.13%)
Mutual labels:  typography
React Native Style Tachyons
Better styling for React Native
Stars: ✭ 640 (-19.9%)
Mutual labels:  typography
Textblock
Continuously responsive typesetting — Demo:
Stars: ✭ 536 (-32.92%)
Mutual labels:  typography

Note You might also like my more recent take on this project, Utility OpenType: CSS utility classes for advanced typographic features.


Normalize-OpenType.css wordmark


Normalize-OpenType.css

Adds OpenType features—ligatures, kerning, and more—to Normalize.css.

Read the blog post: Introducing Normalize-OpenType.css

Get the latest version of the CSS file

Or use

npm install normalize-opentype.css

Ligatures

First, normalize basic ligatures across browsers, and then get fancier, discretionary ligatures on <h1>, <h2>, and <h3>s.

An example of basic and discretionary ligatures.

Numerals

Different situations require different numerals, depending on the context. Normalize-OpenType.css takes care of this for you, so you don’t need to know what combination of Proportional, Lining, Tabular, and Old-Style numerals you need to use.

An example of old-style, proportional numerals.

An example of tabular, lining numerals.

Small Capitals

Regular capitals draw a lot of attention in body copy. With Normalize-OpenType.css, anything wrapped in <abbr> will use small capitals instead. This works especially well with Typogr.js and equivalents.

An example of small capitals.

Kerning

Kerning is turned on by default everywhere, and carefully turned off where it isn’t appropriate. A monospaced typeface’s application is ruined when automatic kerning is turned on. This is not the case with Normalize-OpenType.css; your code blocks have been preserved.

A kerning example.

…and more

There’s more optimisations included, so you don’t have to think about them: Lining, tabular numerals in code blocks, uppercase fallbacks for small capitals, and proper subscript and superscripts.

Getting started

Normalize-OpenType.css aims to be as easy to use as its namesake, Normalize.css. If it’s not that easy, please open an issue. Get the latest version of the CSS file here:

Get the latest version of the CSS file

Alternatively, use the package manager and build tool of your choice:

With npm

npm install normalize-opentype.css

With Component

component install kennethormandy/normalize-opentype.css

With bower

bower install normalize-opentype.css

Include

Though technically Normalize-OpenType.css is not dependent on Normalize.css, the intent expectation is that the former would not be used without the latter. If you’re dropping in stylesheets:

<link src="css/normalize.css" rel="stylesheet" />
<link src="css/normalize-opentype.css" rel="stylesheet" />

If you’re using a preprocessor through something like Harp, you can import the files instead.

@import "normalize";
@import "normalize-opentype";

Caveats

This library does the best it can with what it has. In order to use any of these optimisations, they must also be available in the font you are using.

I’m working on some blog posts and documentation about this, and will be sending them out via email if you’re interested.

There’s also a bug in Open Sans on Windows 7, with IE10 and 11, that’s caused by font-feature-settings, which this stylesheet uses heavily. We’re keeping an eye on it.

Running locally

If you’d like to see the test suite, or just want to view things locally, use the following:

git clone https://github.com/kennethormandy/normalize-opentype.css
cd normalize-opentype.css
npm install

To view the tests:

npm test

To compile any changes:

npm build

Contributing

Thanks for considering contributing! There’s information about how to get started with normalize-opentype here.

If you’re new to all this GitHub, Open Source, JavaScript, Node.js, testing, wow all this stuff seems really difficult I just want to make my sites better stuff, I get it. I’m still there, too. Feel free to send me an email or open an issue here and I’ll do my best to share some resources that have helped me out.

Colophon

Normalize-OpenType.css’ wordmark, examples, and some tests set in the Klinic Slab, designed by Joe Prince. The manicules were designed by Cade Cran for Dan Gneiding’s Dude Hank Pro. Both are available through the wonderful Lost Type Co-op.

Additional tests use Fira from Mozilla, and Source Code Pro from Adobe.

License

The MIT License (MIT)

Copyright © 2014–2015 Kenneth Ormandy

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].