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 build_dir
from pixel_font_builder import FontBuilder, Glyph, StyleName, SerifMode, WidthMode, opentype
logging.basicConfig(level=logging.DEBUG)
def main():
builder = FontBuilder()
builder.metrics.size = 12
builder.metrics.ascent = 10
builder.metrics.descent = -2
builder.metrics.x_height = 5
builder.metrics.cap_height = 7
builder.meta_infos.version = '1.0.0'
builder.meta_infos.family_name = 'My 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 = 'Pixel Font 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.character_mapping.update({
ord('A'): 'CAP_LETTER_A',
})
builder.glyphs.append(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.glyphs.append(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.save_otf(os.path.join(build_dir, 'my-pixel.otf'))
builder.save_otf(os.path.join(build_dir, 'my-pixel.woff2'), flavor=opentype.Flavor.WOFF2)
builder.save_ttf(os.path.join(build_dir, 'my-font.ttf'))
builder.save_bdf(os.path.join(build_dir, 'my-font.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.10.tar.gz
(18.7 kB
view hashes)
Built Distribution
Close
Hashes for pixel_font_builder-0.0.10.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7af2ec351482f6c3d97e135cf2d61b67f6c8ac1c526cbba21910f795dec991ba |
|
MD5 | 1ce33a28000e441c8bacf49d58f2ae52 |
|
BLAKE2b-256 | 1de004abaa7c32c9e8e8362ea3b5d627e7324d86396e4e84e754bf67ec5cb33c |
Close
Hashes for pixel_font_builder-0.0.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67ec25fa3939411cfa317d564a4bdb77981c2344ed57e94277357eea07e0a873 |
|
MD5 | 7adcd2a1b0768f598bb2df87c67cb4c5 |
|
BLAKE2b-256 | 712e7c2bea5ed2563c87cf04f9ff8657b0443d1fa36179dd7e6cb72d86a11e50 |