A library that helps create pixel style fonts.
Project description
Pixel Font Builder
A library that helps create pixel style fonts.
Installation
pip install pixel-font-builder
Usage
import logging
import os
from examples import outputs_dir
from pixel_font_builder import FontBuilder, Glyph, StyleName, SerifMode, WidthMode, opentype
logging.basicConfig(level=logging.DEBUG)
def main():
builder = FontBuilder(
size=12,
ascent=10,
descent=-2,
x_height=5,
cap_height=7,
)
builder.character_mapping.update({
ord('A'): 'CAP_LETTER_A',
})
builder.add_glyph(Glyph(
name='.notdef',
advance_width=8,
offset=(0, -2),
data=[
[1, 1, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 1],
[1, 1, 1, 1, 1, 1, 1, 1],
],
))
builder.add_glyph(Glyph(
name='CAP_LETTER_A',
advance_width=8,
offset=(0, -2),
data=[
[0, 0, 0, 1, 1, 0, 0, 0],
[0, 0, 1, 0, 0, 1, 0, 0],
[0, 0, 1, 0, 0, 1, 0, 0],
[0, 1, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
],
))
builder.meta_infos.version = '1.0.0'
builder.meta_infos.family_name = 'Demo Pixel'
builder.meta_infos.style_name = StyleName.REGULAR
builder.meta_infos.serif_mode = SerifMode.SANS_SERIF
builder.meta_infos.width_mode = WidthMode.MONOSPACED
builder.meta_infos.manufacturer = 'TakWolf Studio'
builder.meta_infos.designer = 'TakWolf'
builder.meta_infos.description = 'A demo pixel font.'
builder.meta_infos.copyright_info = 'Copyright (c) TakWolf'
builder.meta_infos.license_info = 'This Font Software is licensed under the SIL Open Font License, Version 1.1.'
builder.meta_infos.vendor_url = 'https://github.com/TakWolf/pixel-font-builder'
builder.meta_infos.designer_url = 'https://takwolf.com'
builder.meta_infos.license_url = 'https://scripts.sil.org/OFL'
builder.meta_infos.sample_text = 'Hello World!'
builder.save_otf(os.path.join(outputs_dir, 'demo.otf'))
builder.save_otf(os.path.join(outputs_dir, 'demo.woff2'), flavor=opentype.Flavor.WOFF2)
builder.save_ttf(os.path.join(outputs_dir, 'demo.ttf'))
builder.save_bdf(os.path.join(outputs_dir, 'demo.bdf'))
if __name__ == '__main__':
main()
Dependencies
License
Under the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pixel-font-builder-0.0.5.tar.gz
(10.1 kB
view details)
Built Distribution
File details
Details for the file pixel-font-builder-0.0.5.tar.gz
.
File metadata
- Download URL: pixel-font-builder-0.0.5.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d71e532166e1373fac7c37232c472f94c5aeca2d2ebefb02b996d6caa8829c0 |
|
MD5 | 5c4594c0c9d7da63a50f990b05750c35 |
|
BLAKE2b-256 | 59ade703ff81cb23c08c4459af53b6742ecabb0df5c68f081f5de1545d3f90fa |
File details
Details for the file pixel_font_builder-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: pixel_font_builder-0.0.5-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5bcb05052ecb2b2f4275f92b9b8cde80b4ccc99be114fa867cf8e84297e116e |
|
MD5 | 850afe5e70486eade22d3ac4fba0e588 |
|
BLAKE2b-256 | 45269958f082e9bed738a29351919a11a6c264f789f24b47dbcf77bcd07cc4d8 |