Skip to main content

Python script (and library) for exporting icons from icon fonts (e.g. Font Awesome, Octicons) as PNG images.

Project description

Build Status PyPI Version Python Versions License

Python script (and library) for easy and simple export of icons from web icon fonts (e.g. Font Awesome, Octicons) as PNG images. The best part is the provided shell script, but you can also use it’s functionality directly in your (probably awesome) Python project.

There’s also font-awesome-to-png script for backwards compatibility with the first iteration of the concept.

Installation

Make sure you have required packages for Pillow installation.

With PyPI (recommended):

$ pip install icon_font_to_png

With git clone:

$ git clone https://github.com/Pythonity/icon-font-to-png
$ pip install -r icon-font-to-png/requirements.txt
$ cd icon-font-to-png/bin

OS X

As reported here, to install it on OS X:

$ pip install icon_font_to_png --ignore-installed six

Usage

usage: icon-font-to-png [-h] [--list] [--download {font-awesome,octicons}]
                        [--ttf TTF-FILE] [--css CSS-FILE] [--size SIZE]
                        [--scale SCALE] [--color COLOR] [--filename FILENAME]
                        [--keep_prefix]
                        [icons [icons ...]]

Exports font icons as PNG images.

optional arguments:
  -h, --help            show this help message and exit
  --list                list all available icon names and exit
  --download {font-awesome,octicons}
                        download latest icon font and exit

required arguments:
  --ttf TTF-FILE        path to TTF file
  --css CSS-FILE        path to CSS file

exporting icons:
  icons                 names of the icons to export (or 'ALL' for all icons)
  --size SIZE           icon size in pixels (default: 16)
  --scale SCALE         scaling factor between 0 and 1, or 'auto' for
                        automatic scaling (default: auto); be careful, as
                        setting it may lead to icons being cropped
  --color COLOR         color name or hex value (default: black)
  --filename FILENAME   name of the output file (without '.png' extension);
                        it's used as a prefix if multiple icons are exported
  --keep_prefix         do not remove common icon prefix (i.e. 'fa-arrow-
                        right' instead of 'arrow-right')

Examples

Download latest Font Awesome:

$ icon-font-to-png --download font-awesome

List all available icons:

$ icon-font-to-png --css font-awesome.css --ttf fontawesome-webfont.ttf --list

Export ‘play’ and ‘stop’ icons, size 64x64:

$ icon-font-to-png --css font-awesome.css --ttf fontawesome-webfont.ttf --size 64 play stop

Export all icons in blue:

$ icon-font-to-png --css font-awesome.css --ttf fontawesome-webfont.ttf --color blue ALL

Export all icons in blue, but using it’s hex value:

$ icon-font-to-png --css font-awesome.css --ttf fontawesome-webfont.ttf --color blue '#0000ff' ALL

Or you can use font-awesome-to-png, without css and ttf arguments:

$ font-awesome-to-png ALL

API

You can use IconFont (and IconFontDownloader for that matter) directly inside your Python project. There’s no documentation as of now, but the code is commented and should be pretty straightforward to use.

But feel free to ask me if anything is unclear.

Tests

Package was tested with pytest and tox on Python 2.7 and 3.4 (see tox.ini).

To run tests yourself run tox inside the repository.

Contributions

Package source code is available at GitHub.

Feel free to use, ask, fork, star, report bugs, fix them, suggest enhancements and point out any mistakes.

Authors

Developed and maintained by Pythonity.

Original version by Michał Wojciechowski, refactored by Paweł Adamczak.

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

icon_font_to_png-0.3.5.tar.gz (121.2 kB view details)

Uploaded Source

Built Distribution

icon_font_to_png-0.3.5-py2.py3-none-any.whl (124.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file icon_font_to_png-0.3.5.tar.gz.

File metadata

File hashes

Hashes for icon_font_to_png-0.3.5.tar.gz
Algorithm Hash digest
SHA256 aa8ed7d538a1efc62fbc6be0f11445f82bb7716cdd5ed94c42a4a618fc957d0a
MD5 8f06487f97081a2d9ff488c54ab7c844
BLAKE2b-256 5127cd7ecd089767fa5ba27935cea2c59ed2126d67aac8d87ea33cf4cdfbf901

See more details on using hashes here.

File details

Details for the file icon_font_to_png-0.3.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for icon_font_to_png-0.3.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 14a19845d76ad202a63dc2c9f7cc5dc83cb15ffd5e0cf5f7078b4a782a45ab07
MD5 396dfdf6def9e27159bd820569632046
BLAKE2b-256 9b2059406e80562a4caec03c6a09c0e6655d47402f01db3b0a26f4551d728f06

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