Bits'n'picas هي مجموعة من الأدوات لإنشاء وتحويل خطوط النقط والرموز التعبيرية.
يمكن الوصول إلى وظائف خط النقطات مع واجهة المستخدم الرسومية ومن سطر الأوامر. لا يمكن الوصول إلى وظائف خط الرموز التعبيرية إلا من سطر الأوامر.
قم بتشغيل جرة bits'n'picas دون أي وسيطات أو مع أمر edit لفتح واجهة المستخدم الرسومية لمحرر خط النقطية.
java -jar BitsNPicas.jar
java -jar BitsNPicas.jar edit
java -jar BitsNPicas.jar edit myfont.sfd
يتم تحديد تنسيق الإدخال بواسطة ملحق ملف ملف الإدخال. تشمل تنسيقات المدخلات المدعومة:
.kbitx - bits'n'picas 2.x تنسيق الحفظ الأصلي.kbits - bits'n'picas 1.x تنسيق الحفظ الأصلي.sfd - Fontforge (Bitmaps فقط ؛ الخطوط العريضة غير المدعومة).bdf - تنسيق توزيع BITMAP.psf ، .psfu ، .psf.gz ، .psfu.gz - خط شاشة الكمبيوتر الشخصي.suit - Mac OS Classic Fontcase (في شوكة الموارد).dfont - Mac OS Classic Font Cascase (في شوكة البيانات).nfnt - Mac OS Classic Font Resource (في شوكة البيانات).png - SFONT أو RFONT ، امتداد SFONT الخاص بـ KREATIVE SOFTWARE.png ، .jpg ، .jpeg ، .gif ، .bmp - إنشاء من الصورة (واجهة المستخدم الرسومية فقط).bin ، .rom - إنشاء من ملف ثنائي (واجهة المستخدم الرسومية فقط).hex - تنسيق GNU unifont hex.cvt - الخط الجغرافي في تنسيق تحويل (بما في ذلك الخطوط الضخمة).fzx - FZX بواسطة Andrew Owen (لطيور ZX).u8m - U8/M (UTF -8 لأجهزة الحواسيب الصغيرة).font - خط Amiga Bitmap (بالأبيض والأسود فقط ؛ اللون غير مدعوم).fnt - تنسيق Windows .fnt (ليس مثل .fon ؛ خطوط المتجه غير مدعومة).fnt ، .ftx - تنسيق IBM DOS/V FONTX2.fnt ، .mgf ، .mpf - mousepaint/mousgraphics font.fnt ، .rbf ، .rb11 ، .rb12 - تنسيق خط روك بوكس.fnt ، .fntz ، .fnty ، .cyf - تنسيق خط cybiko.fnt ، .png - تنسيق خط Playdate.set - مجموعة حرف Apple II HI -RES.hmzk - Mi Band 2 Font.dsf - dosstart! بقلم دانيال ل. نيس.sbf - خط Sabriel Bitmapعلى Mac OS X ، يمكنك أيضًا تشغيل أو إسقاط ملف خط على تطبيق Bits'n'picas.

يمكن لـ bits'n'picas أيضًا فتح الخطوط ، والملحقات المكتبية ، وحقائب النظام والتحرك حول الخطوط ، والملحقات المكتبية ، والبرامج النصية ، وتخطيطات لوحة المفاتيح ، والأصوات ، تمامًا مثل الباحث الذي كان قادرًا على القيام به في الأيام الخوالي من النظام 7.

واجهة مماثلة موجودة أيضا لخطوط GEOS.

مثال:
java -jar BitsNPicas.jar convertbitmap -f ttf -o myfont.ttf myfont.sfd
سيؤدي ذلك إلى تحويل ضربات BITMAP في ملف fontforge myfont.sfd إلى الخطوط العريضة في ملف خط truetype جديد myfont.ttf . على سبيل المثال ، إذا كانت الضربات النقطية تبلغ 16 بكسل في الارتفاع ، فإن الخطوط العريضة التي تم إنشاؤها ستتطابق تمامًا مع شبكة البيكسل بحجم خط من 16 نقطة.
يتم تحديد تنسيق الإدخال بواسطة ملحق ملف ملف الإدخال. تشمل تنسيقات المدخلات المدعومة:
.kbitx - bits'n'picas 2.x تنسيق الحفظ الأصلي.kbits - bits'n'picas 1.x تنسيق الحفظ الأصلي.sfd - Fontforge (Bitmaps فقط ؛ الخطوط العريضة غير المدعومة).bdf - تنسيق توزيع BITMAP.psf ، .psfu ، .psf.gz ، .psfu.gz - خط شاشة الكمبيوتر الشخصي.suit - Mac OS Classic Fontcase (في شوكة الموارد).dfont - Mac OS Classic Font Cascase (في شوكة البيانات).nfnt - Mac OS Classic Font Resource (في شوكة البيانات).png - SFONT أو RFONT ، امتداد SFONT الخاص بـ KREATIVE SOFTWARE.hex - تنسيق GNU unifont hex.cvt - الخط الجغرافي في تنسيق تحويل (بما في ذلك الخطوط الضخمة).fzx - FZX بواسطة Andrew Owen (لطيور ZX).u8m - U8/M (UTF -8 لأجهزة الحواسيب الصغيرة).font - خط Amiga Bitmap (بالأبيض والأسود فقط ؛ اللون غير مدعوم).fnt - تنسيق Windows .fnt (ليس مثل .fon ؛ خطوط المتجه غير مدعومة).fnt ، .ftx - تنسيق IBM DOS/V FONTX2.fnt ، .mgf ، .mpf - mousepaint/mousgraphics font.fnt ، .rbf ، .rb11 ، .rb12 - تنسيق خط روك بوكس.fnt ، .fntz ، .fnty ، .cyf - تنسيق خط cybiko.fnt ، .png - تنسيق خط Playdate.set - مجموعة حرف Apple II HI -RES.hmzk - Mi Band 2 Font.dsf - dosstart! بقلم دانيال ل. نيس.sbf - خط Sabriel Bitmap يتم تحديد تنسيق الإخراج بواسطة خيار -f . تشمل تنسيقات الإخراج المدعومة:
kbitx أو kbnp2 - bits'n'picas 2.x تنسيق حفظ الأصليkbits أو kbnp1 - Bits'n'picas 1.x Native Save Formatttf أو truetype - truetypeotb - Opentype Bitmapbdf - X11psf ، psf2 ، psf1 ، psfgz ، psf2gz ، psf1gz - خط شاشة الكمبيوتر الشخصيsuit - Mac OS Classic Fontcase (في شوكة الموارد)dfont - MAC OS Classic Fontcase (في شوكة البيانات)nfnt - Mac OS Classic Font Resource (في شوكة البيانات)png أو sfont - SDL SFONTrfont - RFONT ، امتداد برنامج KREATIVE لـ SFONThex - Gnu Unifont Hex Formatcvt أو geos - GEOS FONT في تنسيق تحويل (مع خيار MEGA)fzx - FZX بواسطة Andrew Owen (من أجل طيف ZX)u8m - U8/M (UTF -8 لأجهزة الحواسيب الصغيرة)font أو amiga - Amiga Bitmap Font (بالأبيض والأسود فقط ؛ اللون غير مدعوم)fnt أو fnt3 - Windows 3.x .fnt format (وليس نفس .fon )fnt2 - Windows 2.x .fnt format (أيضًا ليس مثل .fon )fontx2 أو fontx أو dosv - تنسيق IBM DOS/V FONTX2mgtk ، mgf ، mpf ، أو mousepaint - Mousepaint/MousGraphics Toolkit Fontrb12 - تنسيق خط Rockbox لـ Rockbox 2.3 أو أعلىrb11 - تنسيق خط Rockbox لـ Rockbox 2.2 أو أدناه و iPodlinuxcybiko - تنسيق خط السيبيكوplaydate ، playdate-allinone ، playdate-fnt -Playdate Font Font ، All-In-One (ملف .fnt واحد)playdate-separate ، playdate-fnt+png تنسيق خط Playdate ، ملفات .fnt و .pnghrcg أو set - مجموعة حرف Apple II HI -REShmzk - Mi Band 2 Font Formatsbf - Sabriel Bitmap Fontتشمل الخيارات الإضافية:
-s regex -r استبدال -قم بإجراء عملية البحث والاستبدال على اسم الخط.-b -تطبيق تأثير مزهر.-w -h -حدد عرض وارتفاع وحدات البكسل في وحدات EM (لتنسيق ttf ).-i fontid -z size -حدد معرف الخط وحجم الخط (لتنسيق nfnt أو geos ). يمكنك رؤية قائمة بجميع الخيارات باستخدام خيار --help .
sbix من Apple java -jar BitsNPicas.jar extractsbix AppleColorEmoji.ttf
سيؤدي ذلك إلى استخراج الصور من AppleColorEmoji.ttf إلى الدليل AppleColorEmoji.ttf.sbix.d كملفات PNG. سيكون هناك العديد من الدلائل الفرعية المرقمة داخل هذا الدليل ؛ يتوافق الرقم مع وحدات البكسل لكل Em من الصور داخل. (هذا ليس بالضرورة نفس الشيء مثل ارتفاع الصورة!) سيبدو هيكل الدليل الناتج:
AppleColorEmoji.ttf
AppleColorEmoji.ttf.sbix.d
20
glyph_43.png
glyph_44.png
...
32
glyph_43.png
glyph_44.png
...
...
java -jar BitsNPicas.jar extractsvg EmojiOne.otf
سيؤدي ذلك إلى استخراج صور SVG من EmojiOne.otf إلى الدليل EmojiOne.otf.svg.d كملفات SVG غير مضغوطة. (إذا تم ضغط بيانات SVG داخل الخط ، فسيتم إلغاء ضغطها.) سيبدو بنية الدليل الناتجة:
EmojiOne.otf
EmojiOne.otf.svg.d
glyph_2.svg
glyph_3.svg
...
CBDT / CBLC من Google java -jar BitsNPicas.jar extractcbdt NotoColorEmoji.ttf
سيؤدي ذلك إلى استخراج صور PNG من NotoColorEmoji.ttf إلى الدليل NotoColorEmoji.ttf.cbdt.d . سيكون هناك دليل فرعي واحد أو أكثر في هذا الدليل ؛ الرقم هو ببساطة فهرس سجل البيع المعتاد وليس له أهمية أخرى. سيبدو هيكل الدليل الناتج:
NotoColorEmoji.ttf
NotoColorEmoji.ttf.cbdt.d
0000
glyph_4.png
glyph_5.png
....
metadata.txt
....
fontinfo.txt
يسرد ملف metadata.txt داخل كل دليل فرعي جميع القيم من هياكل البيانات المختلفة داخل جداول CBLC و CBDT . يسرد ملف fontinfo.txt فقط بعض القيم الأخرى من الجداول الأخرى غير ذات الصلة بالراحة (نظرًا لأن العديد من محرري الخطوط لا يمكنهم فتح الخطوط باستخدام جداول CBDT / CBLC لكي تجد هذه القيم بسبب عدم وجود جداول glyf / loca ).
COLR / CPAL تنسيق COLR / CPAL من Microsoft غير مدعوم حاليًا.
لإنشاء خط الرموز التعبيرية/اللون ، ستحتاج إلى شيئين:
sbix من Apple java -jar BitsNPicas.jar injectsbix MyEmoji.ttf
سيأخذ هذا ملف font truetype MyEmoji.ttf والصور الموجودة في الدليل MyEmoji.ttf.sbix.d وإنشاء ملف font truetype جديد MyEmoji.ttf.sbix.ttf مع الصور المدمجة في جدول sbix . يمكنك بعد ذلك إعادة تسمية هذا الملف إذا أردت. يجب أن يكون اسم كل دليل فرعي داخل دليل الصورة هو وحدات البكسل لكل EM من الصور التي تحتوي عليها. (هذا ليس بالضرورة نفس الشيء مثل ارتفاع الصورة!) يجب أن يكون اسم ملف كل صورة داخل كل دليل فرعي من النموذج glyph_123.png (مع فهرس Glyph في العشرية) أو char_ABCD.png (مع نقطة رمز Unicode في السداسية). سيتم تحديد الموضع الأيسر السفلي لكل صورة من خلال الإحداثيات الدنيا X و Y للأناقة المقابلة في ملف خط TrueType. (بالنسبة إلى Apple Color Emoji ، يحدث هذا فقط على 0،0.)
java -jar BitsNPicas.jar injectsvg MyEmoji.otf
سيأخذ هذا ملف font opentype MyEmoji.otf وصور SVG في الدليل MyEmoji.otf.svg.d وإنشاء ملف Opentype جديد MyEmoji.otf.svg.otf مع الصور المضمنة في جدول SVG . يمكنك بعد ذلك إعادة تسمية هذا الملف إذا أردت. يجب أن يكون اسم ملف كل صورة داخل دليل الصورة من النموذج glyph_123_456.svg (بالنسبة لمدى من الحروف الرسومية ، مع مؤشرات الحروف الرسومية في العشرية) ، أو glyph_123.svg (للحصول على رمز واحد ، مع char_ABCD.svg واحد.
لكل فهرس Glyph تم تعيينه إلى مستند SVG ، يجب أن يكون هناك عنصر في هذا المستند مع معرف يتوافق مع فهرس Glyph (على سبيل المثال id="glyph123" لمؤشر Glyph 123). نظرًا لأنك قد لا تعرف فهرس Glyph عند تحديد نقطة رمز في اسم ملف الصورة ، يمكنك استخدام id="glyph{{{0}}}" وسيتم استبداله بفهرس Glyph المناسب أثناء عملية الحقن.
إذا قمت بتحديد خيار -z قبل اسم ملف الخط ، فسيتم ضغط بيانات SVG باستخدام GZIP. تدعي Microsoft أن تنسيق SVG-in-Opentype يدعم هذا ، ويبدو أن توفر إصدار من Emojione مع GZIP SVG Glyphs يدعم ذلك. ومع ذلك ، لم أتمكن من الحصول على خطوط مع SVG SVG مضغوطة GZIP للعمل حتى في أحدث إصدار من Firefox حتى كتابة هذه السطور ، لذلك لا أوصي بذلك.
إذا كان لديك مجموعة من الصور غير SVG التي ترغب في حقنها باستخدام هذا التنسيق ، فيمكنك بسهولة إنشاء SVGs مع صور مضمنة باستخدام أمر مثل ما يلي:
java -jar BitsNPicas.jar imagetosvg -x 0 -y -700 -w 800 -h 800 myimages/*.png
سيؤدي ذلك إلى إنشاء ملف SVG المقابل لكل ملف صورة غير SVG محدد. تحدد خيارات -x ، -y ، -w ، -h موضع وحجم الصورة في وحدات EM. لاحظ أن المحور SVG y يتم عكسه من المحور truetype y ، لذلك فإن y-coordinates السلبية أعلى من خط الأساس ، والأحرف المحددات الإيجابية أقل من خط الأساس.
CBDT / CBLC من Google java -jar BitsNPicas.jar injectcbdt MyEmoji.ttf
سيأخذ هذا ملف font truetype MyEmoji.ttf وصور PNG في الدليل MyEmoji.ttf.cbdt.d وإنشاء ملف truetype جديد MyEmoji.ttf.cbdt.ttf مع صور مضمنة في جدول CBDT . يمكنك بعد ذلك إعادة تسمية هذا الملف إذا أردت. يجب أن يكون هناك دليل فرعي لكل حجم صورة نقطية ؛ أسماء الدلائل الفرعية لا تهم. يجب أن يكون اسم ملف كل صورة داخل كل دليل فرعي من النموذج glyph_123.png (مع فهرس Glyph في عشري) أو char_ABCD.png (مع نقطة رمز Unicode في Quodecimal).
يوصى به لكل دليل فرعي يحتوي أيضًا CBLC ملف بيانات بيانات metadata.txt CBDT يوصى بما يلي على الأقل:
horiAscender: *ascent in pixels (normally positive)*
horiDescender: *descent in pixels (normally negative)*
horiWidthMax: *max character width in pixels*
vertAscender: *ascent in pixels (normally positive)*
vertDescender: *descent in pixels (normally negative)*
vertWidthMax: *max character width in pixels*
ppemX: *pixels per em*
ppemY: *pixels per em*
glyph: *glyph index*
height: *image height in pixels*
width: *image width in pixels*
bearingX: *x offset in pixels*
bearingY: *y offset in pixels (positive is above the baseline)*
advance: *character width in pixels*
endGlyph
بالنسبة إلى فهرس Glyph ، يمكنك أيضًا استخدام char_ABCD (مع نقطة رمز Unicode في السداسيس) أو * لتغطية جميع الحروف الرسومية غير المحددة بطريقة أخرى. لا تحتاج إلى تحديد الحقول المرتبطة ببنية البيانات نفسها (لا تحتاج إلى تحديد إزاحة مختلفة ، ونطاقات مؤشر Glyph ، وكذلك أي شيء مرتبط بأنواع مختلفة من الأشياء الفرعية الفهرس) ، وسيتم حسابها تلقائيًا. (سيتم استخدام تنسيق بيانات الفهرس 1 فقط وتنسيقات بيانات الصورة النقطية 17 و 18 و 19 ، بغض النظر عن البيانات الوصفية المحددة.)
بشكل افتراضي ، ستقوم injectcbdt أيضًا بإزالة أي جداول glyf أو loca أو CFF أو CFF2 من الخط. للحفاظ على هذه الجداول ، حدد خيار -g قبل اسم ملف الخط.
COLR / CPAL تنسيق COLR / CPAL من Microsoft غير مدعوم حاليًا.