2019-06-02 11:56:57 +02:00
import argparse
2019-06-15 17:21:02 +02:00
from argparse import RawTextHelpFormatter
2019-06-02 11:56:57 +02:00
import os
import sys
2019-06-15 17:21:02 +02:00
parser = argparse . ArgumentParser ( description = """ Create fonts for LittelvGL including the built-in symbols. lv_font_conv needs to be installed. See https://github.com/littlevgl/lv_font_conv
Example : python built_in_font_gen . py - - size 16 - o lv_font_roboto_16 . c - - bpp 4 - r 0x20 - 0x7F """ , formatter_class=RawTextHelpFormatter)
2019-06-02 11:56:57 +02:00
parser . add_argument ( ' -s ' , ' --size ' ,
type = int ,
metavar = ' px ' ,
nargs = ' ? ' ,
help = ' Size of the font in px ' )
2019-06-02 23:27:27 +02:00
parser . add_argument ( ' --bpp ' ,
2019-06-02 11:56:57 +02:00
type = int ,
metavar = ' 1,2,4 ' ,
nargs = ' ? ' ,
help = ' Bit per pixel ' )
parser . add_argument ( ' -r ' , ' --range ' ,
nargs = ' + ' ,
metavar = ' start-end ' ,
2019-06-02 23:27:27 +02:00
default = ' 0x20-0x7F ' ,
help = ' Ranges and/or characters to include. Default is 0x20-7F (ASCII). E.g. -r 0x20-0x7F, 0x200, 324 ' )
parser . add_argument ( ' --font ' ,
metavar = ' file ' ,
nargs = ' ? ' ,
default = ' Roboto-Regular.woff ' ,
help = ' A TTF or WOFF file ' )
2019-06-02 11:56:57 +02:00
parser . add_argument ( ' -o ' , ' --output ' ,
nargs = ' ? ' ,
metavar = ' file ' ,
help = ' Output file name. E.g. my_font_20.c ' )
parser . add_argument ( ' --compressed ' , action = ' store_true ' ,
help = ' Compress the bitmaps ' )
args = parser . parse_args ( )
if args . compressed == False :
compr = " --no-compress --no-prefilter "
else :
compr = " "
#Built in symbols
2019-06-02 23:27:27 +02:00
syms = " 61441,61448,61451,61452,61453,61457,61459,61460,61461,61465,61468,61473,61478,61479,61480,61502,61504,61512,61515,61516,61517,61521,61522,61523,61524,61543,61544,61553,61556,61559,61560,61561,61563,61587,61589,61636,61637,61639,61671,61683,61724,61732,61787,61931,62016,62017,62018,62019,62020,62099 "
2019-06-02 11:56:57 +02:00
#Run the command
2019-06-15 17:21:02 +02:00
cmd = " lv_font_conv {} --bpp {} --size {} --font ./Roboto-Regular.woff -r {} --font FontAwesome.ttf -r {} --format lvgl -o {} --force-fast-kern-format " . format ( compr , args . bpp , args . size , args . range [ 0 ] , syms , args . output )
2019-06-02 11:56:57 +02:00
os . system ( cmd )