Skip to main content

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

Project description

Version Downloads License Build

Python library made for easy and simple export of icons from web icon fonts (e.g. Font Awesome, Octicons) as PNG images. It comes with a shell script wrapping its functionality, which is it’s main focus, but can also be imported and used directly in your Python project.

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

Package is considered to be in beta status and no backwards compatibility (if you use it inside your project) between (minor) versions is provided.

Packages required for running and testing are listed in requirements directory.

Installation

Make sure you have required packages for Pillow installation.

With pip (recommended):

$ pip install icon_font_to_png

Without pip:

$ 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

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         HTML color code or name (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
Or you can use font-awesome-to-png, which works analogously:
$ font-awesome-to-png ALL

API

You can use IconFont (and FontAwesomeDownloader/OcticonsDownloader 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 tox on Python 2.7 and Python 3.4 (see tox.ini).

To run tests yourself, just run tox inside 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.2.0.tar.gz (120.8 kB view details)

Uploaded Source

Built Distribution

icon_font_to_png-0.2.0-py2.py3-none-any.whl (12.6 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

File hashes

Hashes for icon_font_to_png-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7d4ace6d14cf33198902a563b7b64187003c714e6985f7911939e38ac72bc54d
MD5 f243abf807fbadf58b8e241295f5f83f
BLAKE2b-256 46e5d751c3274da9c196900c4cbc88912cb18826c6301849dd048029be7e9984

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for icon_font_to_png-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1b41344b99ae2e670bcd8483856a654a044ed3a10d8896793a49c9ffc49d4fe2
MD5 033db9ae47961777d66647b87ceee9bf
BLAKE2b-256 e1707e9b85a14127b922d8ac09036bb69e5005ba38ff7e6ba5515fb585123c82

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