Esta es una biblioteca que le permite crear imágenes de vista previa a partir de una o más fuentes seleccionadas.
Los documentos completos están aquí: Readthedocs
Si desea probar el paquete antes de instalar, use la prueba:
$ git clone https://github.com/MatteoGuadrini/fontpreview.git
$ cd fontpreview
$ python -m unittest test_fp.py Use Pypi:
$ pip install --user fontpreviewNota : Si desea usar la herramienta de línea de comandos, debe instalar la biblioteca de todo el sistema:
pip install fontpreview
Ejemplo de vista previa:
from fontpreview import FontPreview
fp = FontPreview ( '/tmp/noto.ttf' )
fp . save ( '/tmp/fp.png' )Ejemplo de banner:
from fontpreview import FontBanner
fb = FontBanner ( '/tmp/noto.ttf' , 'landscape' , bg_color = ( 153 , 153 , 255 ), mode = 'fontname' )
fb . save ( '/tmp/fb.png' )Ejemplo de logotipo:
from fontpreview import FontLogo
fl = FontLogo ( '/tmp/noto.ttf' , 'Fp' )
fl . save ( '/tmp/fl.png' )Ejemplo de muro de fuente:
from fontpreview import FontBanner , FontWall
# Define the various parts of wall
fb = FontBanner ( '/tmp/noto.ttf' , 'landscape' , mode = 'fontname' )
fb2 = FontBanner ( '/tmp/noto.ttf' , 'landscape' , mode = 'alpha' )
fb3 = FontBanner ( '/tmp/noto.ttf' , 'landscape' , mode = 'letter' )
fb4 = FontBanner ( '/tmp/noto.ttf' , 'landscape' , mode = 'paragraph' )
fw = FontWall ([ fb , fb2 , fb3 , fb4 ])
fw . save ( '/tmp/fw.png' )Ejemplo de página de fuentes:
from fontpreview import FontPage , FontBanner
# Define the various parts of page
header = FontBanner ( '/tmp/noto.ttf' , 'landscape' , mode = 'fontname' )
body = FontBanner ( '/tmp/noto.ttf' , 'landscape' , mode = 'paragraph' )
footer = FontBanner ( '/tmp/noto.ttf' , 'landscape' , mode = 'letter' )
# Create FontPage object
fpage = FontPage ()
fpage . set_header ( header )
fpage . set_body ( body )
fpage . set_footer ( footer )
# Design all parts
fpage . draw ()
fpage . save ( '/tmp/fpage.png' )Página de fuentes con ejemplo de plantilla:
from fontpreview import FontPage , FontPageTemplate , FontBanner
# Define the various parts of page
header = FontBanner ( '/tmp/noto.ttf' , 'landscape' , mode = 'fontname' )
body = FontBanner ( '/tmp/noto.ttf' , 'landscape' , mode = 'paragraph' )
footer = FontBanner ( '/tmp/noto.ttf' , 'landscape' , mode = 'letter' )
# Create font page template
template = FontPageTemplate ( 3508 )
template . set_body ( 170 , 1 , 'lcenter' )
template . set_footer ( 100 , 4 , 'lcenter' )
# Create FontPage object
fpage = FontPage ( template = template )
fpage . set_header ( header )
fpage . set_body ( body )
fpage . set_footer ( footer )
# Design all parts
fpage . draw ()
fpage . save ( '/tmp/fpage_template.png' )Ejemplo de folleto de fuentes:
from fontpreview import FontPage , FontBanner , FontBooklet
# Define the various parts of page
header = FontBanner ( '/tmp/noto.ttf' , 'landscape' , mode = 'fontname' )
body = FontBanner ( '/tmp/noto.ttf' , 'landscape' , mode = 'paragraph' )
footer = FontBanner ( '/tmp/noto.ttf' , 'landscape' , mode = 'letter' )
# Create FontPage object
fpage1 = FontPage ( header = header , body = body , footer = footer )
fpage2 = FontPage ( header = header , body = body , footer = footer )
# Design all parts
fpage1 . draw ()
fpage2 . draw ()
# Create book
book = FontBooklet ( fpage1 , fpage2 )
book . save ( '/tmp/noto_book/' ) # save page1.png, page2.png in /tmp/noto_book/ folder A continuación se muestra un ejemplo de varias vistas previas de la fuente "Código Regular de FIRA" . ¿Te recuerda algo? Código FIRA original
# FIRA CODE WALL
from fontpreview import FontBanner , FontWall
fira_code = '/tmp/firacode.ttf'
# RGB group = ('background', 'FIRA COD color', 'Ligature color', 'E color background')
colors_group = [
( 'black' , ( 0 , 143 , 0 ), ( 0 , 236 , 236 ), ( 255 , 0 , 255 )),
( 'black' , ( 166 , 47 , 123 ), ( 81 , 208 , 93 ), ( 11 , 179 , 248 )),
(( 13 , 21 , 43 ), ( 112 , 204 , 84 ), ( 226 , 110 , 34 ), ( 223 , 245 , 90 )),
(( 43 , 6 , 42 ), ( 136 , 126 , 135 ), ( 4 , 150 , 153 ), ( 147 , 103 , 145 )),
(( 39 , 57 , 85 ), ( 255 , 241 , 208 ), ( 208 , 84 , 0 ), ( 209 , 215 , 227 )),
(( 31 , 63 , 89 ), ( 248 , 248 , 242 ), ( 230 , 219 , 117 ), ( 166 , 226 , 51 )),
(( 1 , 47 , 80 ), ( 224 , 202 , 52 ), ( 73 , 217 , 38 ), ( 255 , 125 , 158 )),
(( 0 , 0 , 170 ), ( 75 , 224 , 245 ), ( 255 , 255 , 85 ), ( 0 , 170 , 170 )),
( 'white' , 'black' , 'black' , 'black' ),
(( 247 , 247 , 247 ), ( 167 , 29 , 93 ), ( 121 , 93 , 163 ), ( 0 , 134 , 179 )),
(( 239 , 240 , 243 ), ( 15 , 131 , 207 ), ( 208 , 84 , 0 ), ( 105 , 40 , 122 )),
(( 239 , 231 , 212 ), ( 218 , 116 , 53 ), ( 0 , 142 , 212 ), ( 186 , 136 , 0 )),
(( 39 , 40 , 34 ), ( 132 , 214 , 45 ), ( 249 , 39 , 114 ), ( 174 , 129 , 255 )),
(( 43 , 48 , 59 ), ( 180 , 142 , 173 ), ( 143 , 161 , 179 ), ( 152 , 190 , 140 )),
(( 32 , 32 , 32 ), ( 171 , 130 , 84 ), ( 160 , 171 , 127 ), ( 216 , 127 , 98 )),
(( 0 , 43 , 54 ), ( 0 , 160 , 153 ), ( 126 , 143 , 3 ), ( 218 , 66 , 130 ))
]
banners = []
# Create banners
for colors in colors_group :
# Create a FontBanner objects
fb = FontBanner ( fira_code , ( 413 , 240 ))
liga = FontBanner ( fira_code , ( 413 , 240 ))
E = FontBanner ( fira_code , ( 40 , 70 ))
# Set background colors
fb . bg_color = liga . bg_color = colors [ 0 ]
E . bg_color = colors [ 3 ]
# Set foreground colors
fb . fg_color = colors [ 1 ]
liga . fg_color = colors [ 2 ]
E . fg_color = colors [ 0 ]
# Set text
fb . font_text = 'FIRA COD'
liga . font_text = "!=->>++:="
E . font_text = 'E'
# Set text position
E . set_text_position ( 'ltop' )
fb . set_text_position (( 25 , 60 ))
liga . set_text_position ( 'top' )
# Adding image on fb
fb . add_image ( liga , ( 0 , 122 ))
fb . add_image ( E , ( 339 , 60 ))
# Add to list of banners
banners . append ( fb )
# Create a wall
fw = FontWall ( banners , max_tile = 4 )
fw . save ( '/tmp/fira_code.png' ) Junto con el paquete, se instala una herramienta de línea de comandos basada en este paquete Python. La clase utilizada para las vistas previas de la línea de comandos es FontPreview. Para todas las opciones de esta herramienta, consulte los documentos, de lo contrario, ejecute fp -h .
$ fp /tmp/noto.ttfEste comando guarda un fontpreview.png en un directorio actual.
FontPreview es un proyecto de código abierto. Cualquier contribución, es bienvenido.
Un gran agradecimiento .
Para donaciones, presione esto
Para mí
Para teletón
La Fundación Telethon es una organización sin fines de lucro reconocida por el Ministerio de Investigación Universitaria y Científica y Tecnológica. Nacieron en 1990 para responder a la apelación de pacientes que padecen enfermedades raras. Venga hoy, estamos organizados para atrevernos a escucharlos y respuestas todos los días del año.
Adoptar el futuro
Gracias a Mark Lutz por escribir el aprendizaje de los libros de Python y Programming Python que conforman mi Fundación Python.
Gracias a Kenneth Reitz y Tanya Schlusser por escribir The Hitchhiker's Guide to Python Books.
Gracias a Dane Hillard por escribir las prácticas de Python Pro Books.
Un agradecimiento especial a mi esposa, quien entendió las horas de ausencia para este desarrollo. Gracias a mis hijos, por la inspiración diaria que me dan y para hacerme darme cuenta, que la vida debe ser simple.
¡Gracias Python!