-@@------------------------------------------@@------@@--------------@@-
-@@------------------------------------------@@------@@--@@----------@@-
-@@------------------------------------------@@----------@@----------@@-
-@@------@@@@@@@@@----@@@@---@@@@@----@@@@---@@@@@---@@-@@@@---------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@----------@@-
-@@------@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@--@@------@@-
-@@------@@--@@--@@---@@@@---@@--@@---@@@@---@@@@@---@@---@@-@@------@@-
-@@------------------------------------------------------------------@@-
-@@------------------------------------------------------------------@@-
-@@------------------------------------------------------------------@@-
تتيح لك أدوات monobit تعديل خطوط Bitmap والتحويل بين عدة تنسيقات.
التنسيق الأصلي لـ monobit هو yaff ، وهو تنسيق بصري صديق للإنسان ، يشبه تلك التي تستخدمها hexdraw 's Roman Czyborra ، Simon Tatham's mkwinfont و John Elliott's psftools . وترد التفاصيل في مواصفات تنسيق ملف yaff Font.
Monobit يتطلب Python 3.9 أو أعلى. تثبيت من خلال pip install monobit . تتطلب بعض التنسيقات أو الميزات حزمًا إضافية ؛ انظر التبعيات أدناه للحصول على قائمة. سيتم تثبيت هذه تلقائيًا إذا كنت تستخدم pip .
يمكن استخدام monobit كحزمة Python أو كأداة سطر الأوامر.
فيما يلي بعض الأمثلة على كيفية استخدام أداة التحويل.
monobit-convert --help
عرض ملخص الاستخدام وخيارات سطر الأوامر
monobit-convert --help load --format=raw
عرض ملخص استخدام وخيارات سطر الأوامر الإضافية المحددة للتحويل من RAW Binary.
monobit-convert fixedsys.fon
تعرف على تنسيق الملف المصدر من "Magic Bytes" أو لاحقة (هنا ، خط Windows) واكتب الخطوط إلى الإخراج القياسي بتنسيق yaff .
monobit-convert roman.bdf to --format=unifont
اقرأ الخط من ملف BDF واكتب إلى الإخراج القياسي مثل unifont hex.
monobit-convert fixed.psf to fixed.png
اقرأ الخط بتنسيق PSF واكتب إلى القرص كصورة بتنسيق PNG.
monobit-convert --format=c to --format=bdf
اقرأ الخط من الإدخال القياسي كـ C-Source Binary Binary واكتب إلى الإخراج القياسي كـ BDF.
يقرأ المحول بشفافية وتكتب ملفات الخطوط gz أو bz2 أو xz -Compressed ويمكنه قراءة وكتابة أرشيفات zip و tar . تحتوي بعض تنسيقات الخطوط على خطوط متعددة بينما يمكن أن تحتوي البعض الآخر على واحدة فقط ؛ سيقوم المحول بكتابة ملفات متعددة إلى دليل أو أرشيف إذا لزم الأمر.
من الممكن أيضًا تطبيق التحولات المختلفة على الخط قبل حفظه. تحقق من monobit-convert --help للاستخدام.
تقوم أداة Banner Utility بإعداد نص إلى الإخراج القياسي في خط معين. هذا مشابه لأوامر banner القديمة المدرجة في Unixes System-V و BSD.
على سبيل المثال ، تم صنع اللافتة الموجودة في الجزء العلوي من هذه README
me@bandit:~$ monobit-banner '| monobit. |' --font=VGASYS.FON
لدى monobit-banner عددًا من خيارات التقديم - يمكنك اختيار الخطوط وتغيير أحرف "الحبر" و "الورق" ، وتعيين الهامش ، ونص النطاق ، والتدوير على بعد الربع. تحقق من monobit-banner --help للاستخدام.
| شكل | اسم قصير | امتداد نموذجي | يقرأ | يكتب | يكتب | سمات |
|---|---|---|---|---|---|---|
| Xerox Alto تحويل | alto | .al | ✓ | ثنائي | - | |
| محتويات Amiga Font | amiga-fc | .font | ✓ | ✓ | ثنائي | م ؛ انظر amiga |
| Amiga Font | amiga | ✓ | ✓ | ثنائي | OCG | |
| X11/Adobe BDF | bdf | .bdf | ✓ | ✓ | مشفرة | U SB MB VOG |
| BEOS BITMAP الخط | beos | ✓ | ✓ | ثنائي | uog | |
| Xerox alto bitblt | bitblt | .strike .ks | ✓ | ثنائي | س | |
| AngelCode Bmfont [P] | bmfont | .fnt .xml .json + صور | ✓ | ✓ | صورة | MU SB MB OKGC |
| Fontrix (PC) ، PCpaint ، string ، chiwriter | chiwriter | .set .[specx]ft | ✓ | ثنائي | - | |
| وحدة التحكم / vfontas | consoleet | .txt | ✓ | ✓ | مرئي | - |
| Daisy-Dot | daisy | .nlq .nl2 .nl3 .nl4 | ✓ | ثنائي | - | |
| دوسستارت! | dosstart | .dsf | ✓ | ✓ | مشفرة | - |
| إدوين بيت إماب الخط | edwin | .fnt | ✓ | ✓ | مشفرة | - |
| FIGELT FONT | figlet | .flf | ✓ | ✓ | مرئي | (3) |
| FZX الخط | fzx | .fzx | ✓ | ✓ | ثنائي | س |
| OS/2 GPI Resource | gpi | .fnt | ✓ | ثنائي | SB O (MB K) | |
| Atari GDOS / GEM | gdos | .fnt .gft .vga | ✓ | ✓ | ثنائي | س |
| ملف الخط الجغرافي (CVT) | geos | .cvt | ✓ | ✓ | ثنائي | م ؛ انظر vlir |
| Adafruit GFX Font | gfxfont | .h | ✓ | ✓ | مشفرة | س |
| hexdraw | hexdraw | .draw | ✓ | ✓ | مرئي | ش |
| HP PCL Soft Font | hppcl | .sft .sfp .sfl | ✓ | ✓ | خروج | SB MB O. |
| خط Apple IIGS | iigs | .fon | ✓ | ✓ | ثنائي | انظر nfnt |
| صورة نقطية [P] | image | .png .gif .bmp | ✓ | ✓ | صورة | - |
| مجموعة من صور صورة نقطية [P] | imageset | .png .gif .bmp | ✓ | ✓ | صورة | - |
| مكتبة ليزا فونت | lisa | .bin | ✓ | ثنائي | م ؛ انظر nfnt | |
| خط ماكوس | mac | .dfont .suit | ✓ | ✓ | ثنائي | MK ؛ انظر nfnt |
| مجموعة أدوات MouseGraphics | mgtk | ✓ | ثنائي | - | ||
| تنسيق نص mkwinfont | mkwinfont | .fd | ✓ | ✓ | مرئي | SB |
| Windows أو OS/2 الخط | mzfon | .fon .exe .dll | ✓ | (1) | ثنائي | م ؛ انظر win ، gpi |
| مورد NFNT العاري | nfnt | .f | ✓ | ✓ | ثنائي | SB OG (ج) |
| Palm OS Font (V1/NFNT) | palm | .pdb | ✓ | ثنائي | م ؛ انظر nfnt | |
| Palm OS PRC (V1/NFNT) | palm-prc | .prc | ✓ | ثنائي | م ؛ انظر nfnt | |
| X11 التنسيق المترجمة المحمول | pcf | .pcf | ✓ | ✓ | ثنائي | U SB MB O |
| PC/GEOS V2.0+ | pcgeos | .fnt | ✓ | ✓ | ثنائي | س (ميغابايت ك) |
| بيفونت [ع] | pilfont | .pil + .pbm | ✓ | ✓ | صورة | س |
| Tex Pkfont | pkfont | .pk | ✓ | ثنائي | س | |
| تنسيق Adobe prebuilt | prebuilt | .bepf .lepf | ✓ | ثنائي | ز (الخامس) | |
| Xerox Alto Prepress | prepress | .ac | ✓ | ثنائي | س | |
| متجر الطباعة | printshop | .pnf | ✓ | ثنائي | - | |
| Riscos X90Y45 تنسيق | riscos-xy | ✓ | ثنائي | og | ||
| تنسيق جديد | riscos | ✓ | ثنائي | og | ||
| سمة! 2 | signum | .e24 .p9 .p24 .l30 | ✓ | ثنائي | - | |
| Sfont | sfont | ✓ | ✓ | صورة | GC | |
| SFNT مضمّنة نقطية | sfnt | .otb .ttf .otf [f] [**] | ✓ | (2) | ثنائي | M US SB MB OKVG (C) |
| مجموعة SFNT | ttcf | .otc .ttc [f] [**] | ✓ | (2) | ثنائي | M US SB MB OKVG (C) |
| vfont | vfont | ✓ | ✓ | ثنائي | س | |
| سجل الخط الجغرافي العاري | vlir | ✓ | ✓ | ثنائي | س | |
| Windows FNT Resource | win | .fnt | ✓ | ✓ | ثنائي | SB |
| أحادي ياف | yaff | .yaff | ✓ | ✓ | مرئي | M US SB MB OKVGC |
[P] يتطلب pil
[F] يتطلب fonttools
(1) حاوية Windows NE 16 بت مع مورد FNT فقط
(2) صورة نقطية فقط (OTB)
(3) وظائف القراءة المحدودة: لا يوجد دعم لـ ASCII-Art ، وهي ميزة أساسية لل Figlet
ح حاوية متعددة
U Unicode
Unicode ، تسلسلات متعددة النقاط
مجموعات أحرف SB أحادية البايت
مجموعات أحرف MB متعددة البايت
o متداخلة الحروف الرسومية k kerning
v المقاييس الرأسية
G Greyscale Fonts
C خطوط الألوان (غير مدعومة من قبل monobit )
إذا تم اختصار القوس ، فإن التنسيق يدعم هذا ولكن لم يتم تنفيذه.
| شكل | اسم قصير | امتداد نموذجي | يقرأ | يكتب | يكتب | خلية | سمات |
|---|---|---|---|---|---|---|---|
| 64C | 64c | .64c | ✓ | ✓ | ثنائي | 8x8 | - |
| +3dos | plus3dos | ✓ | ✓ | ثنائي | 8x8 | - | |
| بي بي سي لينة الخط | bbc | ✓ | ✓ | خروج | 8x8 | - | |
| معلومات codepage | cpi | .cpi | ✓ | ✓ | ثنائي | 8xn | م SB |
| داشن | dashen | .pft | ✓ | ثنائي | أي | - | |
| DEC DRCS خط ناعم | dec | ✓ | ✓ | خروج | > 4xn | - | |
| الدكتور هالو / دكتور عبقري | drhalo | .fon | ✓ | ثنائي | أي | - | |
| FONTX2 | fontx | .fnt | ✓ | ✓ | ثنائي | أي | ميغابايت |
| fontedit | fontedit | .com | ✓ | ثنائي | 8xn | - | |
| fontraption | frapt | .com | ✓ | ثنائي | 8xn | - | |
| fontraption tsr | frapt-tsr | .com | ✓ | ثنائي | 8xn | - | |
| Pcpaint ، فهم التنسيق القديم | grasp | .set .fnt | ✓ | ✓ | ثنائي | أي | - |
| Hanzi bitmap الخط | hbf | .hbf + الخام الثنائي | ✓ | ✓ | ثنائي | أي | SB MB |
| Gnu UniFont | unifont | .hex | ✓ | ✓ | مشفرة | 8x16 (صارم) 8xn <= 32 (تحويلة) | MC U (صارمة) MC US (تحويلة) |
| codepage العارية | kbd | .cp | ✓ | ✓ | ثنائي | 8xn | SB |
| Letafont Loader | letafont | .com | ✓ | ثنائي | 8x8 | - | |
| Rexxcom الخط هوس | mania | .com | ✓ | ثنائي | 8xn | - | |
| Netbsd Wsfont C Header | netbsd | .h | ✓ | ✓ | مشفرة | أي | م SB |
| Optiks PCR الخط | pcr | .pcr | ✓ | ✓ | ثنائي | 8xn | - |
| خط شاشة الكمبيوتر | psf | .psf .psfu | ✓ | ✓ | ثنائي | أي (v2) 8xn (v1) | نحن |
| PSF2AMS PSFCOM | psfcom | .com | ✓ | ثنائي | 8x8 ، 8x16 | - | |
| PSF2TXT | psf2txt | .txt | ✓ | ✓ | مرئي | أي | نحن |
| الخام الثنائي | raw | .fnt .rom [*] | ✓ | ✓ | ثنائي | - | - |
| udg loader | udg | .com | ✓ | ثنائي | 8x8 | - | |
| FreeBSD Console الخط | vtfont | .fnt | ✓ | ✓ | ثنائي | أي | MC u |
| هرقل يكتب على! | writeon | .wof | ✓ | ✓ | ثنائي | 8x14 مضاعفات | - |
| Netbsd wsfont ثنائي | wsfont | .wsf | ✓ | ✓ | ثنائي | أي | SB |
| WYSE-60 خط ناعم | wyse | ✓ | ✓ | خروج | 8x16 | - | |
| قسم الخط xbin | xbin | .xb | ✓ | ✓ | ثنائي | 8x <= 32 | - |
| Zapfont (التنسيق القديم) | zapfont | ,1bd | ✓ | ✓ | ثنائي | أي | - |
| Zapredraw UCS | zapredraw | ,1bd | ✓ | ✓ | ثنائي | أي | ش |
MC Multi-Cell Glyphs
هذه التنسيقات إخراج جدول من الحروف الرسومية. PDF ، الرسوم البيانية النصية والكتلة هي الكتابة فقط ، يمكن قراءة مخططات الصور من خلال قارئ image .
| شكل | اسم قصير | يقرأ | يكتب |
|---|---|---|---|
| نص | chart | ✓ | |
| حظر العناصر | blocks | ✓ | |
| ألوان ANSI | shades | ✓ | |
| الصورة [P] | image | ✓ | ✓ |
| PDF [R] | pdf | ✓ |
[P] يتطلب pil
[ص] يتطلب تقرير
Greyscale ودعم الألوان هو تجريبي. يسمح امتداد تنسيق YAFF بتخزين الرسوم الحرارية مع ما يصل إلى 8 بت لكل بكسل (256 لونًا أو مستويات رمادية).
دعم خط السكتة الدماغية هو تجريبي. خطوط السكتة الدماغية هي خطوط قابلة للتطوير محددة على أنها شرائح خط. إنها مختلفة اختلافًا جذريًا عن الخطوط الحديثة من حيث أنها تحدد السكتات الدماغية الفردية بينما تحدد الخطوط الحديثة الخطوط العريضة التي تملأ بالحبر. بالإضافة إلى ذلك ، تتكون الخطوط المدعومة حاليًا من شرائح خط مستقيم فقط.
| شكل | اسم قصير | امتداد نموذجي | يقرأ | يكتب |
|---|---|---|---|---|
| أحادي ياف | yaff | .yaff | ✓ | ✓ |
| خطوط SVG | svg | .svg | ✓ | ✓ |
| مورد Windows | win | .fnt | ✓ | ✓ |
| خط Windows | fon | .fon | ✓ | ✓ (NE) |
| واجهة الرسومات بورلاند | borland | .chr | ✓ | ✓ |
| خطوط هيرشي (جيم هيرت) | hurt | .jhf | ✓ | |
| dosstart | dosstart | .dsf | ✓ | |
| gimms | gimms | .bin | ✓ |
سيتكرر monobit من ملفات الخطوط من عدد من تنسيقات الحاويات الشائعة والأرشيف والضغط والترميز:
| شكل | اسم | امتداد نموذجي | يقرأ | يكتب |
|---|---|---|---|---|
| PKZIP/WINZIP | zip | .zip | ✓ | ✓ |
| قطران GNU | tar | .tar .tgz | ✓ | ✓ |
| RAR [أ] | rar | .rar | ✓ | |
| 7-zip [أ] | 7zip | .7z | ✓ | ✓ |
| MS Cabinet [A] | cabinet | .cab | ✓ | |
| LHARC/LHA/LZH [A] | lharc | .lha .lzh | ✓ | |
| ACE [C] | ace | .ace | ✓ | |
| ISO 9660 [أ] | iso9660 | .iso | ✓ | ✓ |
| WARC [أ] | warc | .warc | ✓ | ✓ |
| cpio [أ] | cpio | .cpio | ✓ | ✓ |
| باكس [أ] | pax | .pax | ✓ | ✓ |
| XAR [أ] | xar | .xar | ✓ | ✓ |
| AR [أ] | ar | .ar | ✓ | ✓ |
| Gzip | gzip | .gz | ✓ | ✓ |
| BZIP2 | bzip2 | .bz2 | ✓ | ✓ |
| XZ/LZMA | lzma | .xz .lzma | ✓ | ✓ |
| ضغط [Z] | compress | .Z | ✓ | ✓ |
| التفاح | apple1 | .as | ✓ | |
| appledouble | apple2 | .adf .rsrc | ✓ | |
| macbinary | macbin | .bin | ✓ | |
| Binhex 4.0 | binhex | .hqx | ✓ | |
| Binscii | binscii | .bsc .bsq | ✓ | |
| Intel Hex | intel | .ihex .ihx | ✓ | ✓ |
| BASE64 | base64 | ✓ | ✓ | |
| مقتبسة-طباعة | quopri | ✓ | ✓ | |
| uuencode | uuencode | ✓ | ✓ | |
| yencode [y] | yenc | ✓ | ✓ | |
| البريد الإلكتروني MIME Multipart | email | .eml .msg | ✓ | ✓ |
| C أو C ++ مشفرة ثنائية | c | .c .cpp .cc .h | ✓ | ✓ |
| JSON مشفرة ثنائي | json | .json | ✓ | ✓ |
| بيثون مشفرة ثنائي | python | .py | ✓ | ✓ |
| باسكال مشفرة ثنائي | pascal | .pas | ✓ | ✓ |
| BASIC PROCNAD BININAL | basic | .bas | ✓ | ✓ |
[أ] يتطلب libarchive
[C] يتطلب Acefile
[y] يتطلب python3-yenc
[Z] يتطلب ncompress
لاحظ أن العديد من هذه الأشياء تتطلب حاليًا قراءة الأرشيف الكامل في الذاكرة ، والتي قد لا تكون عملية مع ملفات EG ISO9660 أو WARC التي يمكنها عقد أنظمة ملفات كاملة.
هذا هو التنسيق الأكثر شيوعًا المستخدم على المنصات القديمة ، غالبًا مع اللاحقة غير المفيدة .fnt . نظرًا لعدم وجود بيانات تعريف ، فإن الأمر متروك لك لتحديد حجم خلية الأحرف. الحجم الأكثر شيوعًا ، والافتراضي ، هو 8x8 (CGA والعديد من المنصات 8 بت) ، تليها 8x16 (VGA) و 8x14 (EGA).
.f08 و .ch8 و .88 و .chr و .udg وغيرها الكثير..f14 أو .814 ..f16 ، WARP .fnt أو DEGAS ELITE .fnt.car هي ملفات RAW 16x16..fnt هي ثنائيات خام مع ضربة نقطية البالغة 4096x8 بكسل تستضيف 512 8x8 Glyphs جنبًا إلى جنب. استخراج مع -strike-width=512 .من المفيد أيضًا التحقق من حجم الملف. عادةً ما تعقد الملفات الخام 96 (ASCII باستثناء عناصر التحكم) أو 128 (ASCII) أو 256 أو مضاعفاتها. وبالتالي فإن أحجام الملفات الشائعة هي:
| 8x8 | 8x14 | 8x16 | |
|---|---|---|---|
| 96 | 768 | 1344 | 1536 |
| 128 | 1024 | 1792 | 2048 |
| 256 | 2048 | 3584 | 4096 |
| 512 | 4096 | 7168 | 8192 |
إذا كان ملف الخط غير المحدد الخاص بك يحتوي على أحد هذه الأحجام ، فمن المحتمل أن يكون ملفًا ثنائيًا خامًا.
يمكن monobit استخراج خلفات الصورة النقطية المضمنة في ملفات الخطوط الترفيهية و Opentype. يجب أن تضع في اعتبارك أن هذه المقصود في المقام الأول تنسيقات قابلة للتطوير ، وتضمين نقطات فقط بشكل استثنائي لتحسين العرض على شاشات العرض منخفضة الدقة.
الغالبية العظمى من .ttf ، .otf ، .dfont إلخ. لا تحتوي ملفات نقطات على الإطلاق . هذا صحيح حتى بالنسبة للخطوط مع مظهر بكسل. لتحويلها ، تحتاج أولاً إلى نقلها ، وهو ما لا يفعله monobit . تحتوي بعض أدوات الخط الأخرى المرتبطة أدناه على ميزات نقطية.
يمكن monobit إخراج ملفات Opentype BITMAP ( .otb ) تجريبياً ، وهو تنسيق ملف نقطات فقط مدعوم من Linux Desktops.
بعض التنسيقات تتطلب
Pillow )يعتبر العارض بالإضافة إلى ذلك
يمكن تثبيت جميعها تقريبًا من خلال PIP:
pip install Pillow reportlab fonttools uniseg python-bidi arabic-reshaper libarchive-c ncompress acefile
تتوفر الحزمة python3-yenc على https://github.com/oe-mirrors/python3-yenc ومن خلال بعض توزيعات Linux. بدون هذه الحزم ، قد لا تكون بعض الوظائف متاحة.
مواصفات monobit و yaff هي حقوق الطبع والنشر 2019--2024 Rob Hagemans وتم إصدارها بموجب ترخيص MIT.
يحتوي monobit على رمز من:
mkwinfont حقوق الطبع والنشر 2001 سيمون تاثام. جميع الحقوق محفوظة.dewinfont Copyright 2001،2017 Simon Tatham. جميع الحقوق محفوظة. يرجى الرجوع إلى الإشعارات في الحالات الفرعية windows و os2 ووحدة mac/fond.py للتراخيص ومزيد من المعلومات.
تخضع ملفات الخط في tests/fonts لتراخيصها الخاصة ، بعضها أكثر تقييدًا. هذه هي الملفات المستخدمة للاختبار والتطوير ولا يتم تضمينها في التوزيع المعبأ. راجع tests/fonts/README.md والإشعارات المدرجة في الملفات الفردية.
لن يكون هناك monobit بدون أولئك الذين يوثقون ، والهندسة العكسية ، وتنفيذ تنسيقات وملفات الخطوط والحفاظ عليها:
تتضمن أدوات خط النقطة الأخرى التي يمكنك استخدامها بالاقتران مع (أو بدلاً من) monobit :
gbdfed