BDF (Distribuição do Glyph Bitmap; Wikipedia; Spec) Formato Bitmap FONT FONT LIMBERARY Library no Python. Possui classes Font , Glyph e Bitmap fornecendo mais de 30 métodos de API em cadeia para analisar fontes BDF, obtendo suas meta informações, renderizando o texto em qualquer direção de escrita, adicionando efeitos especiais e manipulando imagens de bitmap. Funciona perfeitamente com Pil / travesseiro e Numpy, e possui uma referência detalhada de documentação / tutoriais / API.
Biblioteca BDF Parser TypeScript (JavaScript) (Documentation; Github Page; NPM Page; npm i bdfparser ) é uma porta da biblioteca Python de analisador BDF (documentação; página do github; página Pypi; pip install bdfparser ). Ambos são escritos por Tom Chen e sob a licença do MIT.
A biblioteca BDF Parser Typescript (JavaScript) possui uma demonstração e editor ao vivo que você pode experimentar.
Abaixo, mostrarei alguns exemplos rápidos, mas ainda é fortemente recomendável que você vá para o site oficial da BDF Parser Python Library para ler a documentação / referência detalhada da documentação / tutoriais / API .
Instale a biblioteca Python BDFPARSER com PIP:
pip install bdfparserEntão:
from bdfparser import Font
font = Font ( 'tests/fonts/unifont-13.0.04.bdf' )
print ( f"This font's global size is "
f" { font . headers [ 'fbbx' ] } x { font . headers [ 'fbby' ] } (pixel), "
f"it contains { len ( font ) } glyphs." )
# =================================
ac = font . glyph ( "a" ). draw (). crop ( 6 , 8 , 1 , 2 ). concat (
font . glyph ( "c" ). draw (). crop ( 6 , 8 , 1 , 2 )
). shadow ()
ac_8x8 = ac * 8
from PIL import Image
im_ac = Image . frombytes ( 'RGBA' ,
( ac_8x8 . width (), ac_8x8 . height ()),
ac_8x8 . tobytes ( 'RGBA' ))
im_ac . save ( "ac.png" , "PNG" )
# =================================
hello = font . draw ( 'Hello!' , direction = 'rl' ). glow ()
print ( hello )
import numpy
import matplotlib . pyplot as plt
nparr = numpy . array ( hello . todata ( 2 ))
plt . imshow ( nparr , 'Blues' )
plt . show ()
# =================================
font_preview = font . drawall ()
im_ac = Image . frombytes ( '1' ,
( font_preview . width (), font_preview . height ()),
font_preview . tobytes ( '1' ))
im_ac . save ( "font_preview.png" , "PNG" )Você provavelmente entende o que eu fiz nesses exemplos. Se você o faz ou não, acesse o site de documentação do BDFPARSER .