هذا محرر ومكتبة منصة لخطوط VGA ROM. يحتوي هذا على رمز لتقديم النص باستخدام خط محمّل. يتم كتابة الرمز المصدر في QB64-PE ويعمل أصليًا دون استخدام أي مكتبات طرف ثالث.




git submodule update --init --recursive الجليد والخروج من الجهاز الفرعي GITF5 لتجميع وتشغيل ' For rendering
FUNCTION PSF1_LoadFontFromMemory% % (buffer AS STRING , psf AS PSF1Type)
FUNCTION PSF1_LoadFontFromFile% % (fileName AS STRING , psf AS PSF1Type)
SUB PSF1_SetCurrentFont (psf AS PSF1Type)
FUNCTION PSF1_GetFontWidth ~%%
FUNCTION PSF1_GetFontHeight ~%%
FUNCTION PSF1_GetDrawStringWidth& (text AS STRING )
SUB PSF1_DrawCharacter (cp AS _UNSIGNED _BYTE, x AS LONG , y AS LONG )
SUB PSF1_DrawString (text AS STRING , x AS LONG , y AS LONG )
' Used by the editor
SUB PSF1_SetFontHeight (h AS _UNSIGNED _BYTE)
FUNCTION PSF1_GetFont$
FUNCTION PSF1_SetFont% % (buffer AS STRING )
FUNCTION PSF1_GetGlyphBitmap$ (cp AS _UNSIGNED _BYTE)
SUB PSF1_SetGlyphBitmap (cp AS _UNSIGNED _BYTE, bmp AS STRING )
FUNCTION PSF1_GetGlyphPixel% % (cp AS _UNSIGNED _BYTE, x AS LONG , y AS LONG )
SUB PSF1_SetGlyphPixel (cp AS _UNSIGNED _BYTE, x AS LONG , y AS LONG , b AS _BYTE)
SUB PSF1_SetGlyphDefaultBitmap (cp AS _UNSIGNED _BYTE)
FUNCTION PSF1_SaveFont% % (fileName AS STRING ) ماذا يمكنني أن أفعل مع هذا؟
fonts . أنا بصراحة لا أعرف souces orginal من هذه وأوصيك بشدة بإنشاء خطوطك الخاصة باستخدام هذه الأداة لمشاريعك.ما هو خط VGA ROM؟
كيف يتم تخزين الشخصية في الذاكرة؟
إنها بسيطة للغاية ، وترميز 0 خلفية ، و 1 يشفر اللون الأمامي. تعد خطوط VGA دائمًا 8 بتات بحيث تحتوي كل بايت على صف واحد تمامًا. للحرف "أ" في خط 8x16 النموذجي سيكون (في الثنائي):
00000000b byte 0
00000000b byte 1
00000000b byte 2
00010000b byte 3
00111000b byte 4
01101100b byte 5
11000110b byte 6
11000110b byte 7
11111110b byte 8
11000110b byte 9
11000110b byte 10
11000110b byte 11
11000110b byte 12
00000000b byte 13
00000000b byte 14
00000000b byte 15
تحتوي الصورة النقطية الكاملة على خلايا نقطية لكل حرف ، وبالتالي فهي 256*16 بايت ، 4096 بايت طولها (لخطوط 8x16). إذا كنت ترغب في الحصول على صورة نقطية لحرف معين ، فيجب عليك مضاعفة رمز ASCII بمقدار 16 (عدد الصفوف في حرف لخطوط 8x16).
ما هي ملفات PSF هذه؟
تم إنشاء هذه PSFS (خط شاشة PC) باستخدام أداة تحويل Bin2PSF من مقالب خط FGA ROM RAW من مصادر مختلفة. هذه الملفات صغيرة تمامًا ومناسبة للمشاريع المدمجة أو الذاكرة المحدودة أو الرجعية. الملفات هي تقريبا تفريغ خام لخط VGA ROM مع بضع بايت فقط للرأس.
+--------------------------------------------+
| PSF1_MAGIC0 0x36 (1 byte) |
+--------------------------------------------+
| PSF1_MAGIC1 0x04 (1 byte) |
+--------------------------------------------+
| MODE (1 byte; set to 0) |
+--------------------------------------------+
| FONT HEIGHT (1 byte) |
+--------------------------------------------+
| CHAR 1 SCAN LINE 1 (1 byte) |
| CHAR 1 SCAN LINE 2 (1 byte) |
| CHAR 1 SCAN LINE 3 (1 byte) |
| CHAR 1 SCAN LINE 4 (1 byte) |
| CHAR 1 SCAN LINE 5 (1 byte) |
| .. |
| .. |
| .. |
| CHAR 1 SCAN LINE <FONT HEIGHT> (1 byte) |
+--------------------------------------------+
| CHAR 2 SCAN LINE 1 (1 byte) |
| CHAR 2 SCAN LINE 2 (1 byte) |
| CHAR 2 SCAN LINE 3 (1 byte) |
| CHAR 2 SCAN LINE 4 (1 byte) |
| CHAR 2 SCAN LINE 5 (1 byte) |
| .. |
| .. |
| .. |
| CHAR 2 SCAN LINE <FONT HEIGHT> (1 byte) |
+--------------------------------------------+
| .. |
| .. |
| .. |
+--------------------------------------------+
| .. |
| .. |
| .. |
+--------------------------------------------+
| .. |
| .. |
| .. |
+--------------------------------------------+
| CHAR 256 SCAN LINE 1 (1 byte) |
| CHAR 256 SCAN LINE 2 (1 byte) |
| CHAR 256 SCAN LINE 3 (1 byte) |
| CHAR 256 SCAN LINE 4 (1 byte) |
| CHAR 256 SCAN LINE 5 (1 byte) |
| .. |
| .. |
| .. |
| CHAR 256 SCAN LINE <FONT HEIGHT> (1 byte) |
+--------------------------------------------+
git submodule update --init --recursive الجلب والخروج من أجهزة GIT الفرعية GIT