Skip to main content

Tools for making OpenType-SVG fonts

Project description

Codecov Badge

Tools for making OpenType-SVG fonts

  • addsvg adds an SVG table to a font, using SVG files provided. The font's format can be either OpenType or TrueType.

  • dumpsvg saves the contents of a font's SVG table as individual SVG files. The font's format can be either OpenType, TrueType, WOFF, or WOFF2.

  • fonts2svg generates a set of SVG glyph files from one or more fonts and hex colors for each of them. The fonts' format can be either OpenType, TrueType, WOFF, or WOFF2.

Dependencies

  • Python 3.6 or higher

  • FontTools 3.1.0 or higher

Installation instructions

  • Make sure you have Python 3.6 (or higher) installed.

  • Clone this repository.

  • cd into the repository folder.

  • Setup a virtual environment:

      $ python3 -m venv venv
    
  • Activate the environment:

      $ source venv/bin/activate
    
  • Update pip:

      $ pip install -U pip
    
  • Install opentypesvg:

      $ pip install .
    

How to make OpenType-SVG fonts?

Step 1

Generate a set of SVG files from a series of fonts and color values.

step1

fonts2svg -c 99ccff,ff0066,cc0066 fonts/Zebrawood-Shadow.otf fonts/Zebrawood-Fill.otf fonts/Zebrawood-Dots.otf

Step 2

Add a set of SVG files to an existing OpenType (or TrueType) font.

step2

addsvg -s fonts/SVGs fonts/Zebrawood.otf

You can use Step 2 without doing Step 1, but there are a few things you need to be aware of when using the addsvg tool:

  • After the SVG files are saved with the authoring application (e.g. Adobe Illustrator, CorelDRAW!, Inkscape) they should be put thru a process that optimizes and cleans up the SVG code; this will slim down the file size while keeping the resulting artwork the same. For this step you can use one of these tools:

  • The tool requires the SVG files to be named according to the glyphs which they are meant to be associated with. For example, if the glyph in the font is named ampersand, the SVG file needs to be named ampersand.svg.

  • The tool expects the color artwork to have been designed at the same size as the glyphs in the font, usually 1000 or 2048 UPM. This means 1 point (pt) in the authoring app equals 1 unit in font coordinates.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opentypesvg-1.1.1.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

opentypesvg-1.1.1-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file opentypesvg-1.1.1.tar.gz.

File metadata

  • Download URL: opentypesvg-1.1.1.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5

File hashes

Hashes for opentypesvg-1.1.1.tar.gz
Algorithm Hash digest
SHA256 5f895997a94578910f07a4683bf9a7a4821360c0860f02e66d1c5f506c9c7990
MD5 6f72f148ffc8bdbce85f78272e65644f
BLAKE2b-256 ada42dfd9758f92b16c3a87d99bde02f5665d2ed9ff329257d2e3d25738956d7

See more details on using hashes here.

File details

Details for the file opentypesvg-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: opentypesvg-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5

File hashes

Hashes for opentypesvg-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 035f3655bc30597028a830569ccc0f0dece082d8dab8d6579385173d2a9c3120
MD5 bd445da38c45cfc0e0c3209e956699db
BLAKE2b-256 a3c4eeddb088f86fd5bd479edff5a7fe29280f281dd71a69834cd5242668797e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page