Skip to content

مولّد خطوط LCD وOLED بصيغة مصفوفة C

حوّل النص الصيني أو الإنجليزي والصور إلى مصفوفات C لشاشات SSD1306 وSH1106 وST7920 ومكتبة Adafruit GFX. خطوط نقطية حادة بقياس 12×12 و16×16، وأوضاع المسح الأربعة في PCtoLCD2002، ومفكّك لمصفوفات مجهولة المصدر.

بدون تتبّع يعمل في المتصفّح مجاني
كل شيء يعمل داخل متصفحك — النصوص والصور لا تغادر هذا الجهاز أبداً.

يطابق ذاكرة الصفحات في SSD1306 / SSD1309 / SH1106 / ST7565 و framebuf.MONO_VLSB في MicroPython — اكتب البايتات مباشرة إلى الشاشة.

المعاينة

انقر بكسلاً لتبديله.
    عدد المحارف: 4 · عدد البايتات: 64
    مرجع: المحرف 中 (16 × 16) بكل اتجاهات المسح

    البكسل المضاء = 1، والمحرف من GNU Unifont. قارن هذه البايتات بمصفوفتك لتعرف الإعدادات التي صُنعت بها.

    اتجاه المسح ترتيب البتات البايتات (ست عشري)
    صفاً بصف (بايتات أفقية) MSB أولاً — البكسل الأول في البت 7 01 00 01 00 01 00 01 00 3F F8 21 08 21 08 21 08 21 08 21 08 3F F8 21 08 01 00 01 00 01 00 01 00
    صفاً بصف (بايتات أفقية) LSB أولاً — البكسل الأول في البت 0 80 00 80 00 80 00 80 00 FC 1F 84 10 84 10 84 10 84 10 84 10 FC 1F 84 10 80 00 80 00 80 00 80 00
    عموداً بعمود (بايتات عمودية) MSB أولاً — البكسل الأول في البت 7 00 00 00 00 0F F0 08 20 08 20 08 20 08 20 FF FF 08 20 08 20 08 20 08 20 0F F0 00 00 00 00 00 00
    عموداً بعمود (بايتات عمودية) LSB أولاً — البكسل الأول في البت 0 00 00 00 00 F0 0F 10 04 10 04 10 04 10 04 FF FF 10 04 10 04 10 04 10 04 F0 0F 00 00 00 00 00 00
    أعمدة ضمن صفحات (بايتات عمودية، ترتيب صفحات SSD1306) MSB أولاً — البكسل الأول في البت 7 00 00 0F 08 08 08 08 FF 08 08 08 08 0F 00 00 00 00 00 F0 20 20 20 20 FF 20 20 20 20 F0 00 00 00
    أعمدة ضمن صفحات (بايتات عمودية، ترتيب صفحات SSD1306) LSB أولاً — البكسل الأول في البت 0 00 00 F0 10 10 10 10 FF 10 10 10 10 F0 00 00 00 00 00 0F 04 04 04 04 FF 04 04 04 04 0F 00 00 00
    صفوف ضمن أشرطة (بايتات أفقية، أشرطة بعرض 8 بكسلات) MSB أولاً — البكسل الأول في البت 7 01 01 01 01 3F 21 21 21 21 21 3F 21 01 01 01 01 00 00 00 00 F8 08 08 08 08 08 F8 08 00 00 00 00
    صفوف ضمن أشرطة (بايتات أفقية، أشرطة بعرض 8 بكسلات) LSB أولاً — البكسل الأول في البت 0 80 80 80 80 FC 84 84 84 84 84 FC 84 80 80 80 80 00 00 00 00 1F 10 10 10 10 10 1F 10 00 00 00 00

    الخطوط النقطية: GNU Unifont (16 بكسلاً) وFusion Pixel Font (12 بكسلاً)، وكلاهما بموجب رخصة SIL Open Font License 1.1. نصوص الرخص

    تُفحص التوليفات الثماني كلها لاتجاه المسح وترتيب البتات بايتاً بايتاً مقابل تنفيذ مرجعي مستقل، وتُفحص الإعدادات المسبقة مقابل أوراق بيانات SSD1306 وSH1106 وST7565 والشيفرة المصدرية لمكتبات Adafruit GFX وU8g2 وLVGL وMicroPython. — فريق Go Tools · Oct 3, 2026

    بناه وتحقّق منه فريق هندسة Go Tools.

    إجابات سريعة

    ما الإعدادات التي تحتاجها شاشة SSD1306 OLED؟

    أعمدة ضمن صفحات · LSB أولاً أعمدة ضمن صفحات، LSB أولاً، البكسل المضاء = 1 — حين تكتب البايتات مباشرة في ذاكرة العرض.

    ما الإعدادات التي تحتاجها دالة drawBitmap() في Adafruit GFX؟

    صفاً بصف · MSB أولاً صفاً بصف، MSB أولاً، البكسل المضاء = 1، مع حشو كل صف إلى بايتات كاملة.

    كم بايتاً يشغل محرف بقياس 16 × 16؟

    32 بايتاً 32 بايتاً في كل اتجاهات المسح. ويشغل محرف 12 × 12 مقدار 24 بايتاً، ومحرف ASCII بقياس 8 × 16 مقدار 16 بايتاً.

    ماذا يعني 顺向 و逆向 في PCtoLCD2002؟

    逆向 = LSB أولاً 顺向 = MSB أولاً (البكسل الأول في البت 7)؛ 逆向 = LSB أولاً (البكسل الأول في البت 0).

    ما هو استخراج نقاط الخط (الصورة النقطية للمحرف)؟

    معظم متحكّمات شاشات OLED وLCD الرسومية — ومنها SSD1306 وSH1106 وST7565 — لا تحتوي على خط مدمج. فلعرض محرف ما، ينسخ البرنامج الثابت شبكة صغيرة من البكسلات المضاءة والمطفأة إلى ذاكرة العرض، بتاً واحداً لكل بكسل وثمانية بكسلات في كل بايت. ويُسمّى تحويل المحرف إلى هذه البايتات «استخراج نقاط الخط» — أو 取模 كما تسمّيه دروس الأنظمة المدمجة الصينية — وهي المهمة التي يؤديها برنامج Windows المعروف PCtoLCD2002 منذ سنوات.

    لكن البايتات وحدها لا تكفي. فالمحرف ذاته بقياس 16 × 16 يمكن رصّه بأربع طرق (صفاً بصف، وعموداً بعمود، وأعمدة ضمن صفحات، وصفوف ضمن أشرطة)، وكل طريقة قد تضع البكسل الأول في البت 7 أو في البت 0. ثماني سلاسل من البايتات تصف المحرف نفسه، ولا ترسم الشاشة بشكل صحيح إلا واحدة منها. ولهذا كثيراً ما يظهر خط منسوخ من درس تعليمي معكوساً أو مشطوراً نصفين أو مُدوَّراً.

    // 中 (16x16), pages of columns, LSB first, lit = 1 — SSD1306 page order
    const unsigned char zhong[32] = {
      0x00,0x00,0xF0,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0xF0,0x00,0x00,0x00,
      0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x0F,0x00,0x00,0x00
    };
    // First 16 bytes = page 0 (rows 0-7), one byte per column, bit 0 = top row

    ماذا يفعل هذا المولّد

    محارف صينية دقيقة على مستوى البكسل بقياس 12 × 12 و16 × 16

    خطوط المتصفح خطوط محيطية منعّمة الحواف؛ وعند تطبيق العتبة على خط Song بحجم 12 بكسلاً تختفي الخطوط الأفقية في 中 ببساطة. لذلك تأتي هذه الأداة بخطوط نقطية حقيقية: يغطي خط 16 × 16 جميع محارف GB2312 البالغة 6,763 محرفاً، بينما يفتقد خط 12 × 12 إلى 143 محرفاً نادراً تُرسم بخط النظام بدلاً منه ويُشار إليها.

    أوضاع المسح الأربعة في PCtoLCD2002 وكلا ترتيبَي البتات

    صفاً بصف، وعموداً بعمود، وأعمدة ضمن صفحات، وصفوف ضمن أشرطة، كلٌّ منها مع MSB أولاً أو LSB أولاً، والبكسل المضاء = 1 أو 0. أسماء الخيارات مأخوذة من PCtoLCD2002، ومعناها مُطابَق مع ورقة بيانات SSD1306 ومشاريع أمثلة OLED الشائعة، فتستطيع اختيار الإعدادات نفسها التي يستخدمها مشروع قائم.

    إعدادات مسبقة تخبرك بما تطابقه

    اختر SSD1306 أو Adafruit GFX أو XBM فتُضبط الخيارات تلقائياً. وإن غيّرت أي خيار يدوياً أخبرتك الأداة بالشاشات والمكتبات التي تقرأ ترتيب البايتات هذا — أو بأن لا شيء منها يقرؤه.

    فكّ مصفوفة موجودة لديك

    الصق مصفوفة خط مجهولة المصدر فتُرسم القراءات الثماني لاتجاه المسح وترتيب البتات جنباً إلى جنب. القراءة الواضحة تكشف لك الإعدادات، ونقرة واحدة تطبّقها.

    من صورة إلى صورة نقطية مع ترقيط حقيقي

    تُحجَّم الشعارات والأيقونات والصور الفوتوغرافية إلى مقاس شاشتك وتُحوَّل بعتبة أو بترقيط Floyd–Steinberg أو Atkinson. تُحتسب المناطق الشفافة خلفيةً، وتعمل العتبة في كل الأوضاع.

    مخرجات تُلصق في مشروعك مباشرة

    مصفوفات ثنائية الأبعاد بنمط C51 مع تعليقات /*"中",0*/، وArduino PROGMEM مع الإزاحات، وقواميس bytearray في MicroPython، وأسطر DB للغة A51، أو ست عشري مجرد. ويُصرَّف كود C الناتج دون أي تحذير مع -Wall -Wextra -pedantic.

    أمثلة محلولة

    المحرف 中 لشاشة SSD1306 OLED (16 × 16، أعمدة ضمن صفحات، LSB أولاً)

    中
    00 00 F0 10 10 10 10 FF 10 10 10 10 F0 00 00 00 00 00 0F 04 04 04 04 FF 04 04 04 04 0F 00 00 00

    32 بايتاً: 16 عموداً من الصفحة 0 (الصفوف 0–7)، ثم 16 عموداً من الصفحة 1 (الصفوف 8–15). في القيمة 0xFF عند العمود 7 جميع البتات مضبوطة: فالخط العمودي يمر عبر الصفوف الثمانية في كلتا الصفحتين.

    المحرف 中 نفسه لدالة drawBitmap في Adafruit GFX (صفاً بصف، MSB أولاً)

    中
    01 00 01 00 01 00 01 00 3F F8 21 08 21 08 21 08 21 08 21 08 3F F8 21 08 01 00 01 00 01 00 01 00

    بايتان لكل صف، و16 صفاً. الزوج 0x01 0x00 هو الخط الأوسط وحده: البكسل الأيسر هو البت 7 من البايت الأول، فيقع البكسل الذي في العمود 7 في البت 0. أرسل هذه البايتات في كتابة صفحات إلى SSD1306 وستحصل على خربشة — المحرف نفسه، برصٍّ مختلف.

    الحرف A بنصف العرض في خط 16 بكسلاً (8 × 16)

    A
    00 00 00 00 18 24 24 42 42 7E 42 42 42 42 00 00

    محارف ASCII بنصف العرض: 8 × 16 تعني 16 بايتاً، بايتاً واحداً لكل صف عند المسح صفاً بصف. فعّل «امنح المحارف نصف العرض عرض الخلية الكامل» إن كان برنامج التشغيل لديك يتوقع أن يكون كل محرف 16 × 16.

    لماذا يشغل 12 × 12 مقدار 24 بايتاً لا 18

    中 (12 × 12، صفاً بصف، MSB أولاً)
    00 00 04 00 04 00 FF E0 84 20 84 20 84 20 FF E0 04 00 04 00 04 00 04 00

    يحتاج كل صف من 12 بكسلاً إلى بايتين؛ والبتات الأربعة الأخيرة من البايت الثاني حشو. 12 صفاً × 2 بايت = 24. كل مكتبات العرض تعنون الصف بمقدار (العرض + 7) / 8 بايت، فرصّ البتات بإحكام أكبر سيكسرها جميعاً.

    كيف تولّد بيانات خط لشاشة LCD أو OLED

    1. 1

      أدخل نصاً أو أفلت صورة

      يُرسم النص بخط نقطي حقيقي: 12 × 12 (Fusion Pixel) أو 16 × 16 (GNU Unifont)، مع محارف ASCII بنصف العرض. وللشعارات والأيقونات انتقل إلى تبويب الصورة واضبط المقاس المطلوب، مثل 128 × 64.

    2. 2

      اختر الشاشة أو المكتبة المستهدفة

      تحتاج SSD1306 / SH1106 / ST7565 إلى بايتات عمودية بترتيب الصفحات مع البكسل العلوي في البت 0. أما Adafruit GFX وTFT_eSPI وU8g2 drawBitmap وLVGL فتحتاج إلى بايتات أفقية مع البكسل الأيسر في البت 7. وXBM / U8g2 drawXBM مثلها تماماً، لكن البكسل الأيسر فيها هو البت 0.

    3. 3

      راجع المعاينة وصحّح البكسلات عند الحاجة

      تعرض المعاينة الصورة النقطية نفسها التي تُرمَّز بالضبط. انقر أي بكسل لتبديله، أو حرّك المحرف بحقلَي الإزاحة.

    4. 4

      انسخ أو نزّل

      اختر C (بنمط C51 في PCtoLCD2002)، أو Arduino PROGMEM، أو bytearray في MicroPython، أو لغة تجميع A51، أو ست عشري مجرد. يسجّل السطر الأول من المخرجات اتجاه المسح وترتيب البتات وحجم المحرف، فتوثّق المصفوفة نفسها بنفسها.

    محارف مشوّهة: العَرَض ← الإعداد الخاطئ

    كل مجموعة من 8 بكسلات معكوسة من اليسار إلى اليمين

    بايتات أفقية بترتيب بتات خاطئ. تحتاج دالة drawBitmap() في Adafruit GFX إلى MSB أولاً، بينما تحتاج XBM ودالة drawXBM() في U8g2 إلى LSB أولاً.

    ✗ خطأ
    U8g2 drawXBM() تتلقى بايتات MSB أولاً
    ✓ صحيح
    drawXBM() ← الإعداد المسبق XBM (صفاً بصف، LSB أولاً)

    كل 8 صفوف مقلوبة رأساً على عقب

    بايتات عمودية بترتيب بتات خاطئ. متحكمات عائلة SSD1306 تضع D0 في الصف العلوي، فتحتاج إلى LSB أولاً.

    ✗ خطأ
    أعمدة ضمن صفحات، MSB أولاً ← SSD1306
    ✓ صحيح
    أعمدة ضمن صفحات، LSB أولاً ← SSD1306

    تداخل النصفين العلوي والسفلي

    خلط بين «عموداً بعمود» و«أعمدة ضمن صفحات». لا يعطيان البايتات نفسها إلا لمحارف لا يتجاوز ارتفاعها 8 بكسلات؛ أما عند 16 بكسلاً فيختلف ترتيب البايتات.

    ✗ خطأ
    عموداً بعمود ← كتابة صفحات SSD1306
    ✓ صحيح
    أعمدة ضمن صفحات ← كتابة صفحات SSD1306

    المحرف منقلب حول قطره، أو معكوس الألوان

    الانقلاب القطري يعني أن البايتات الأفقية قُرئت على أنها عمودية (أو العكس). والنص الداكن على خلفية مضاءة يعني أنك اخترت البكسل المضاء = 0 حيث تتوقع الشاشة البكسل المضاء = 1.

    ✗ خطأ
    بايتات صفاً بصف مُرسلة إلى صفحة SSD1306
    ✓ صحيح
    الصق المصفوفة في تبويب «معاينة مصفوفة موجودة» واختر المعاينة المقروءة

    متى تحتاج إلى هذه الأداة

    نص صيني على شاشة SSD1306 OLED بقياس 0.96 بوصة
    قراءة حرارة أو قائمة أو سطر حالة بالصينية على لوحة STM32 أو 51. استخدم خط 16 × 16 مع الإعداد المسبق SSD1306، والصق المصفوفة في ملف oled_font.h الموجود أصلاً في مشروع المثال لديك.
    شعار إقلاع على شاشة Arduino أو ESP32
    أفلت شعاراً بصيغة PNG، واضبط 128 × 64، واختر الإعداد المسبق Adafruit GFX، ثم استدعِ display.drawBitmap(0, 0, logo, 128, 64, WHITE).
    أيقونات ووحدات لواجهة LVGL أو U8g2
    رموز البطارية وWi-Fi و°C كصور أحادية البت. استخدم الإعداد المسبق Adafruit GFX / LVGL للبايتات الأفقية مع MSB أولاً، أو الإعداد المسبق XBM لدالة U8g2 drawXBM().
    العمل على جهاز Mac أو Linux
    برنامج PCtoLCD2002 وأدوات 字模提取 الكلاسيكية كلها برامج لنظام Windows. أما هذه الأداة فتعمل في أي متصفح حديث ولا تحتاج إلى تثبيت.
    الهندسة العكسية لمشروع موروث
    ترك المطوّر السابق مصفوفة Hzk[][32] دون أي ملاحظات. الصقها في أداة فك الترميز لتعرف كيف وُلِّدت قبل أن تضيف محارف جديدة بالتنسيق نفسه.

    كيف تعمل اتجاهات المسح الأربعة

    صفاً بصف (بايتات أفقية)
    تؤخذ الصفوف من الأعلى إلى الأسفل؛ وداخل الصف يحمل كل بايت ثمانية بكسلات متجاورة من اليسار إلى اليمين. والصف ذو 16 بكسلاً يساوي بايتين. هذا هو تخطيط drawBitmap() في Adafruit GFX، وdrawBitmap() في U8g2، وملفات XBM، وذاكرة GDRAM في ST7920، وصور LVGL أحادية البت.
    أعمدة ضمن صفحات (بايتات عمودية) — ترتيب SSD1306
    يُقطَّع المحرف إلى صفحات ارتفاع كل منها ثمانية صفوف. وفي كل صفحة تؤخذ الأعمدة من اليسار إلى اليمين، ويحمل كل بايت بكسلات ذلك العمود الثمانية. وهذا يطابق ذاكرة GDDRAM في SSD1306 وSH1106 وST7565، إذ تنص ورقة البيانات على أن بت البيانات D0 يُكتب في الصف العلوي — ولذا فترتيب البتات المطابق هو LSB أولاً.
    عموداً بعمود، وصفوف ضمن أشرطة
    طريقة «عموداً بعمود» تأخذ كل عمود من الأعلى إلى الأسفل عبر جميع الصفحات قبل الانتقال يميناً، وهي تطابق وضع العنونة العمودية في SSD1306. أما «صفوف ضمن أشرطة» فتأخذ شريطاً بعرض 8 بكسلات بكل صفوفه، ثم الشريط التالي؛ ولا تستخدمها أي مكتبة رئيسية، لكن مشاريع PCtoLCD2002 القديمة تستخدمها. ولا تبدو أيٌّ منهما مطابقة لنظيرتها إلا حين لا يتجاوز ارتفاع المحرف (أو عرضه) 8 بكسلات، ولهذا يمر الخلط بينهما دون أن يُلاحَظ في اختبارات 8 × 8.
    ترتيب البتات وقيمة البكسل المضاء
    خيار MSB أولاً يضع أول بكسل يؤخذ (الأيسر أو الأعلى) في البت 7، وخيار LSB أولاً يضعه في البت 0. يسمّي PCtoLCD2002 هذين الخيارين 顺向 (أي الترتيب المباشر، MSB أولاً) و逆向 (أي الترتيب المعكوس، LSB أولاً). البكسل المضاء = 1 (阴码) هو ما تتوقعه شاشات OLED ودالة drawBitmap() لشاشات TFT وصيغة A1 في LVGL؛ أما البكسل المضاء = 0 (阳码) فلبرامج التشغيل التي تعدّ القيمة 0 إضاءةً فقط.
    الحشو حين لا يكون المقاس من مضاعفات 8
    يُحشى كل صف (في البايتات الأفقية) أو كل صفحة (في البايتات العمودية) إلى بايتات كاملة على حدة، وبتات الحشو أصفار. ومع «أعمدة ضمن صفحات» ومحرف بارتفاع 12 بكسلاً تحمل الصفحة الثانية 4 صفوف حشو؛ وبرنامج التشغيل الذي يكتب صفحات كاملة يمسح تلك الصفوف الأربعة أسفل المحرف. وتنبّهك الأداة حين ينطبق ذلك.

    كيف تصيب من المرة الأولى

    اختر الإعداد المسبق بحسب دالة الرسم لا بحسب الشاشة
    شاشة SSD1306 التي تقودها مكتبة Adafruit_SSD1306 تمر عبر drawBitmap()، فتحتاج إلى بايتات أفقية مع MSB أولاً رغم أن ذاكرة المتحكم نفسها عمودية. اختر الإعداد المسبق المطابق للدالة التي يستدعيها كودك.
    استخدم الخطوط النقطية لحجمَي 12 و16 بكسلاً
    تفقد الخطوط المحيطية تحت نحو 20 بكسلاً بعض خطوطها عند تطبيق العتبة. أما Fusion Pixel 12 وUnifont 16 فمرسومان على شبكة البكسل، وخيارا التكبير 2× يعطيان 24 × 24 و32 × 32 نظيفين.
    أبقِ تعليق الترويسة
    يسجّل السطر الأول من المخرجات اتجاه المسح وترتيب البتات والحجم. وبعد ستة أشهر سيكون السجل الوحيد لطريقة توليد المصفوفة.
    اختبر بمحرف غير متناظر
    المحارف المتناظرة مثل 中 أو 田 أو H تُخفي أخطاء الانعكاس. جرّب F أو 7 أو 乙 أولاً: فإن ظهر صحيحاً فكل الخيارات صحيحة.
    أصلح انعكاس الشاشة كلها في برنامج التشغيل
    إن كان كل ما على الشاشة معكوساً أو مقلوباً، لا خطك وحده، فغيّر إعادة تعيين المقاطع (A0h/A1h) واتجاه مسح COM (C0h/C8h) في تسلسل التهيئة. فتغيير إعدادات الخط لن يفعل سوى كسر كود آخر.

    أسئلة شائعة

    ما الإعدادات التي أستخدمها لشاشة SSD1306 أو SH1106 OLED؟
    إن كان كودك يكتب بايتات الخط مباشرة إلى الشاشة (كما في معظم أمثلة 51 وSTM32): أعمدة ضمن صفحات، LSB أولاً، البكسل المضاء = 1 — وهو الإعداد المسبق SSD1306. وإن كان يرسم عبر Adafruit_SSD1306 أو drawBitmap() في U8g2، فاستخدم الإعداد المسبق Adafruit GFX بدلاً منه، لأن هذه الدوال تقرأ بايتات أفقية مع MSB أولاً وتحوّلها بنفسها.
    تظهر محارفي معكوسة أو مقلوبة أو مبعثرة. ما الخطأ؟
    كل عَرَض يشير إلى إعداد واحد. كل 8 بكسلات معكوسة من اليسار إلى اليمين: ترتيب بتات خاطئ مع البايتات الأفقية. كل 8 صفوف مقلوبة: ترتيب بتات خاطئ مع البايتات العمودية. النصفان العلوي والسفلي متداخلان: خلط بين «عموداً بعمود» و«أعمدة ضمن صفحات». انقلاب حول القطر: خلط بين البايتات الأفقية والعمودية. ألوان معكوسة: تبديل بين البكسل المضاء = 1 والبكسل المضاء = 0. وإن كانت الشاشة كلها معكوسة، لا نصّك وحده، فأصلح تسلسل التهيئة في برنامج التشغيل بدلاً من ذلك.
    لماذا يشغل 12 × 12 مقدار 24 بايتاً لا 18؟
    يُحشى كل صف (أو كل صفحة من 8 صفوف) إلى بايتات كاملة على حدة: 12 بكسلاً تحتاج إلى بايتين، و12 صفاً × 2 = 24. ومكتبات العرض تعنون الصف بمقدار (العرض + 7) / 8 بايت، لذا فإن محرفاً مرصوصاً بإحكام في 18 بايتاً ستقرؤه كلها خطأً.
    لماذا يمسح نصّي بارتفاع 12 بكسلاً السطر الذي تحته على شاشة OLED؟
    مع «أعمدة ضمن صفحات» يملأ المحرف ذو 12 بكسلاً صفحة كاملة ونصف الصفحة التالية؛ والبتات الأربعة الأخرى من تلك الصفحة الثانية أصفار حشو. وبرنامج التشغيل الذي يكتب صفحات كاملة يمسح هذه الصفوف الأربعة. ارسم عبر مخزن إطار (frame buffer) يضبط البكسلات منفردة، أو ضع النص ذا 12 بكسلاً بحيث تقع الصفوف الفارغة حيث لا يُرسم شيء آخر.
    هل يمكنني استخدامها بدلاً من PCtoLCD2002 على Mac؟
    نعم. تعمل في أي متصفح حديث، وتقدّم أوضاع المسح الأربعة نفسها وكلا ترتيبَي البتات والبكسل المضاء = 1 / = 0، وتتبع مخرجات C نمط C51 في PCtoLCD2002 مع تعليقات /*"字",0*/، فتُلصق في المشاريع المبنية حول مصفوفات على غرار Hzk[][32]. لكنها لا تولّد ملفات مكتبة خطوط كاملة ولا فهارس. وأشكال المحارف مأخوذة من GNU Unifont وFusion Pixel لا من خط SimSun في Windows، لذا لن تطابق البايتاتُ مصفوفةً أنشأها PCtoLCD2002 محرفاً بمحرف — أعد توليد الجدول كاملاً هنا بدلاً من الخلط بين الاثنين. هذا الموقع غير تابع لـPCtoLCD2002 ولا لمؤلفه، وليس نسخة ويب رسمية منه، ولا يوفّر البرنامج للتنزيل.
    لماذا أستخدم خطاً نقطياً بدلاً من خط النظام؟
    خطوط النظام خطوط محيطية تُرسم بتنعيم الحواف، ولا يستطيع المتصفح إيقافه. وعند 12 أو 16 بكسلاً يُضيّع تطبيقُ العتبة على تلك الحافة الرمادية الخطوطَ الرفيعة — فتختفي الخطوط الأفقية في 中 تماماً في خط Song بحجم 12 بكسلاً. أما GNU Unifont (16 بكسلاً) وFusion Pixel (12 بكسلاً) فمصمَّمان على شبكة البكسل، فلا يضيع شيء. وتبقى خطوط النظام متاحة للأحجام الأكبر: فالخط غير المذيَّل (Hei) يصمد ابتداءً من نحو 24 بكسلاً، أما خطوط Song فقد تظل تُضيّع خطوطاً رفيعة عند هذا الحجم.
    ما المحارف التي تغطيها الخطوط النقطية؟
    كامل GB2312 — أي 6,763 محرفاً صينياً مبسّطاً مع علامات الترقيم كاملة العرض — إضافة إلى محارف ASCII القابلة للطباعة، والحروف اللاتينية ذات العلامات (é وß وł وş وő)، واليونانية، والسيريلية، والكانا اليابانية، ورموز شائعة مثل ℃ والأسهم ورسوم الإطارات. ويفتقد Fusion Pixel بحجم 12 بكسلاً بعض المحارف والرموز النادرة. أما الهانغل الكوري والمحارف الصينية خارج GB2312 (الأشكال التقليدية وكثير من الكانجي الياباني) فتُرسم بخط النظام بدلاً من ذلك وتُدرج أسفل المعاينة، لترى أيّ المحارف تحتاج إلى مراجعة.
    كيف أحوّل شعاراً أو أيقونة إلى مصفوفة C؟
    افتح تبويب الصورة، وأفلت الملف، واضبط مقاس الشاشة (128 × 64 لشاشة OLED بقياس 0.96 بوصة)، وأبقِ خيار «احتواء داخل الإطار مع الحفاظ على النسب» للحفاظ على التناسب. تصبح البكسلات الداكنة بكسلات مضاءة؛ وفعّل العكس للرسوم الفاتحة على خلفية داكنة. لا تستخدم الترقيط مع الشعارات والنصوص، واستخدم Floyd–Steinberg أو Atkinson للصور الفوتوغرافية.
    كيف أعرف الطريقة التي وُلّدت بها مصفوفة خط موجودة؟
    الصقها في تبويب «معاينة مصفوفة موجودة». تُتجاهَل التعليقات، وتُقبل صيغ C وArduino وA51 وMicroPython جميعاً. يُستنتج حجم المحرف من عدد البايتات، وتُرسم التوليفات الثماني كلها لاتجاه المسح وترتيب البتات. التوليفة التي تُقرأ بشكل صحيح هي إعدادك، وزر «استخدم هذه الإعدادات» ينقلها إلى المولّد.
    هل يُرفع نصّي أو صورتي إلى أي خادم؟
    لا. تُرسم المحارف وتُرمَّز داخل متصفحك. تُنزَّل الخطوط النقطية مرة واحدة من هذا الموقع، ولا يُرسل أي شيء تكتبه أو تفلته إلى أي مكان.

    أدوات ذات صلة

    عرض جميع الأدوات →

    محوّل الأنظمة العددية — ثنائي وست عشري وعشري وثماني

    أدوات التحويل

    حوّل بين الأنظمة الثنائية والست عشرية والعشرية والثمانية وأي أساس من 2 إلى 36 فوراً — أداة مجانية أونلاين تعمل في متصفّحك. جرّبها الآن.

    حاسبة المتمم الثنائي وترميز الأعداد ذات الإشارة

    أدوات التحويل

    اكتب عدداً صحيحاً ذا إشارة لتحصل دفعة واحدة على الإشارة والمقدار والمتمم الأحادي والمتمم الثنائي والثنائي المزاح، بعرض 4 إلى 64 بت. أو الصق نمط بتات أو بايتاً ست عشرياً لترى قراءاته الخمس جنباً إلى جنب. محلي ومجاني وبلا تسجيل.

    حاسبة chmod — صلاحيات ملفات لينكس

    أدوات التحويل

    حوّل صلاحيات ملفات لينكس بين النظام الثماني (755، 644) ورموز rwx. احصل على أوامر chmod جاهزة للتشغيل، واكشف الإعدادات الخطرة مثل 777 — مجاناً وداخل متصفحك مباشرة.

    محوّل ألوان HEX/RGB/OKLCH

    أدوات التحويل

    حوّل ألوان HEX إلى RGB و HSL و OKLCH و OKLAB و CMYK داخل متصفحك — انسخ أي صيغة بنقرة واحدة. مجاني، بلا تسجيل، ألوانك لا تغادر الصفحة أبداً.

    محول الإحداثيات: الدرجات والدقائق والثواني وUTM

    أدوات التحويل

    محول الإحداثيات: حوّل خطوط العرض والطول من أي صيغة — عشرية أو درجات ودقائق وثوانٍ أو DDM — إلى UTM وWeb Mercator ونظامَي الصين GCJ-02 (AMap) وBD-09 (Baidu). يكتشف ترتيب lat,lng/lng,lat ويصدّر CSV دفعةً واحدة، داخل متصفحك.

    محوّل HEX إلى CMYK

    أدوات التحويل

    حوّل ألوان HEX إلى CMYK في المتصفح. تقريب ساذج قائم على sRGB لمعاينات الطباعة. مجاني، بلا تسجيل، ألوانك تبقى محلياً.