Giter Site home page Giter Site logo

ttf2web's Introduction

ttf2web

A tool to split/segment a TTF file into multiple WOFF2 files based on Unicode character ranges, and generate a CSS file that describes that font face as an aggregate of those WOFF2 files.

Installation

pip install ttf2web

Usage

ttf2web /path/to/font-file.ttf

This will split font-file.ttf based on a set of pre-defined Unicode ranges, and create (in the working directory) font-file.css and a directory named assets containing the WOFF2 files.

Here's a demo of a more complete example:

$ ls
Raleway-Regular.ttf  unicode-ranges

$ cat unicode-ranges
greek         U+0370-03FF
greek-ext     U+1F00-1FFF
latin         U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC
latin-ext     U+0100-024F,U+0259,U+1E00-1EFF,U+20A0-20CF,U+2C60-2C7F,U+A720-A7FF

$ ttf2web -v --unicode-ranges unicode-ranges Raleway-Regular.ttf
Processing greek
  Generated assets/Raleway-Regular.greek.woff2
  Found 1 glyphs for 1 out of 144 unicodes
Processing greek-ext
  Found no glyphs for any of 256 unicodes
Processing latin
  Generated assets/Raleway-Regular.latin.woff2
  Found 202 glyphs for 197 out of 264 unicodes
Processing latin-ext
  Generated assets/Raleway-Regular.latin-ext.woff2
  Found 157 glyphs for 157 out of 897 unicodes
Generated Raleway-Regular.css

$ ls
assets  Raleway-Regular.css  Raleway-Regular.ttf  unicode-ranges

$ head -n 12 Raleway-Regular.css
@font-face {
        font-family: "Raleway";
        font-style: normal;
        font-weight: 400;
        src: local("Raleway"), url(assets/Raleway-Regular.greek.woff2) format("woff2");
        unicode-range: U+0370-03FF;
}
@font-face {
        font-family: "Raleway";
        font-style: normal;
        font-weight: 400;
        src: local("Raleway"), url(assets/Raleway-Regular.latin.woff2) format("woff2");

LICENSE

MIT

ttf2web's People

Contributors

johncf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.