Esta é uma biblioteca que permite criar imagens de visualização de uma ou mais fontes selecionadas.
Docs completo está aqui: ReadThEdocs
Se você deseja testar o pacote antes de instalar, use o teste:
$ git clone https://github.com/MatteoGuadrini/fontpreview.git
$ cd fontpreview
$ python -m unittest test_fp.py Use Pypi:
$ pip install --user fontpreviewNota : Se você deseja usar a ferramenta de linha de comando, precisará instalar a biblioteca em
pip install fontpreview
Exemplo de visualização:
from fontpreview import FontPreview
fp = FontPreview ( '/tmp/noto.ttf' )
fp . save ( '/tmp/fp.png' )Exemplo de banner:
from fontpreview import FontBanner
fb = FontBanner ( '/tmp/noto.ttf' , 'landscape' , bg_color = ( 153 , 153 , 255 ), mode = 'fontname' )
fb . save ( '/tmp/fb.png' )Exemplo de logotipo:
from fontpreview import FontLogo
fl = FontLogo ( '/tmp/noto.ttf' , 'Fp' )
fl . save ( '/tmp/fl.png' )Exemplo de parede da fonte:
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' )Exemplo de página da fonte:
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 fonte com exemplo de modelo:
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' )Exemplo de livreleto de fonte:
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 Abaixo está um exemplo de várias visualizações da fonte "Código FIRA regular" . Isso lembra alguma coisa? 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' ) Juntamente com o pacote, uma ferramenta de linha de comando com base neste pacote Python está instalada. A classe usada para visualizações de linha de comando é FontPreview. Para todas as opções desta ferramenta, consulte os documentos, caso contrário, execute fp -h .
$ fp /tmp/noto.ttfEste comando salve um fontpreview.png em um diretório atual.
FontPreview é um projeto de código aberto. Qualquer contribuir, é bem -vindo.
Um ótimo obrigado .
Para doações, pressione isto
Para mim
Para teleton
A Fundação Telethon é uma organização sem fins lucrativos reconhecida pelo Ministério da Universidade e pela pesquisa científica e tecnológica. Eles nasceram em 1990 para responder ao apelo de pacientes que sofrem de doenças raras. Venha hoje, estamos organizados para ousar ouvi -los e respostas, todos os dias do ano.
Adote o futuro
Agradecemos a Mark Lutz por escrever os livros de aprendizado de Python e programação do Python que compõem minha fundação Python.
Agradecemos a Kenneth Reitz e Tanya Schlusser por escrever o Guia do Malfiário para os livros de Python .
Agradecemos a Dane Hillard por escrever as práticas dos livros do Python Pro .
Agradecimentos especiais a minha esposa, que entendeu as horas de ausência por esse desenvolvimento. Graças aos meus filhos, pela inspiração diária que eles me dão e para me fazer perceber, essa vida deve ser simples.
Obrigado Python!