BDF (توزيع Glyph Bitmap ؛ Wikipedia ؛ Spec) تنسيق مكتبة FONT FONT FONT في Python. إنه يحتوي على فصول Font Glyph وقطعة Bitmap التي توفر أكثر من 30 طريقة API القابلة للسلسلة لتحليل خطوط BDF ، والحصول على معلومات التعريف الخاصة بهم ، وتقديم النص في أي اتجاه للكتابة ، وإضافة مؤثرات خاصة ومعالجة صور Bitmap. إنه يعمل بسلاسة مع PIL / Pillow و Numpy ، وله مستندات / دروس / مرجعية مفصلة / API.
مكتبة BDF Parser TypeScript (JavaScript) (الوثائق ؛ صفحة GitHub ؛ صفحة NPM ؛ npm i bdfparser ) هي منفذ من مكتبة Python Parser BDF (الوثائق ؛ Github Page ؛ Pypi Page ؛ pip install bdfparser ). كلاهما كتبه توم تشن وتحت رخصة معهد ماساتشوستس للتكنولوجيا.
تحتوي مكتبة BDF Parser TypeScript (JavaScript) على عرض تجريبي ومحرر مباشر يمكنك تجربته.
أدناه سأريكم بعض الأمثلة السريعة ، ولكن لا يزال يوصى بشدة بالذهاب إلى موقع الويب الرسمي لمكتبة BDF Parser Python لقراءة الوثائق / البرامج التعليمية / API المفصلة .
تثبيت مكتبة Bdfparser Python مع PIP:
pip install bdfparserثم:
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" )ربما تفهم ما فعلته في هذه الأمثلة. سواء كنت تفعل أم لا ، انتقل إلى موقع توثيق BDFParser .