परिचय
एम्बेडेड डिवाइस पर फ़ॉन्ट कंप्यूटर की तरह काम नहीं करते। इस गाइड में इसकी वजह और PicoPixel में फ़ॉन्ट तैयार करने का तरीका समझें। पहले से उपलब्ध फ़ॉन्ट चुनना या अपना अपलोड करना, अरबी और हिब्रू जोड़ना, चीनी, जापानी और कोरियाई फ़ॉन्ट का आकार सीमित रखना और बेकार फ़ॉन्ट हटाना — सब यहाँ बताया गया है।

फ़ॉन्ट को बदलने की ज़रूरत क्यों है?
कंप्यूटर की .ttf या .otf फ़ाइल में अक्षरों का आकार गणितीय वक्रों से बताया जाता है। कंप्यूटर के पास उन्हें किसी भी आकार में साफ़ बनाने की पर्याप्त मेमोरी और प्रोसेसिंग क्षमता होती है।
ESP32, स्मार्टवॉच या छोटे डिस्प्ले कंट्रोलर में अक्सर इतनी क्षमता नहीं होती। इसलिए LVGL हर अक्षर को पहले से बने छोटे बिटमैप के रूप में रखता है। उसका आकार तय होता है और उसे दिखाने में कम संसाधन लगते हैं।
PicoPixel मूल फ़ॉन्ट को इसी फ़ॉर्मेट में बदलता है। आप जिन अक्षरों और आकारों को चुनते हैं, केवल वही तैयार किए जाते हैं।
बिटमैप तय आकार का होता है। 16px फ़ॉन्ट को 32px तक बड़ा करने पर वह उतना साफ़ नहीं दिखेगा। दो आकार चाहिए तो दोनों में फ़ॉन्ट बनाएँ। नीचे फ़ॉन्ट बनाना देखें; कई आकार एक साथ चुन सकते हैं।
हर आकार का हर अक्षर मेमोरी लेता है। इसलिए केवल वही अक्षर और आकार शामिल करें जो UI में इस्तेमाल होंगे।
उपलब्ध फ़ॉन्ट चुनें या अपना अपलोड करें
- Bundled: पहले से उपलब्ध और परखे हुए फ़ॉन्ट, जैसे Noto Sans, Roboto, Open Sans, Montserrat, Poppins, Inter, Lato, Nunito और Source Sans 3। शुरुआत के लिए अच्छा विकल्प है।
- Upload: अपनी
.ttfया.otfफ़ाइल जोड़ें। ब्रांड का खास फ़ॉन्ट चाहिए या ऐसी भाषा चाहिए जो उपलब्ध फ़ॉन्ट में नहीं है, तो यह तरीका चुनें।
अपना फ़ॉन्ट अपलोड करते समय Roboto-VariableFont.ttf जैसी वेरिएबल फ़ाइल के बजाय Roboto-Regular.ttf जैसी स्टैटिक फ़ाइल चुनें। उसका रूपांतरण अधिक भरोसेमंद होता है। सामान्य .ttf फ़ाइलें सबसे अच्छा काम करती हैं।
दोनों विकल्पों में लाइव प्रीव्यू है। फ़ॉन्ट बनाने से पहले अपना टेक्स्ट लिखकर देख सकते हैं।
फ़ॉन्ट बनाना
Create Font पैनल खोलें। इसमें ये विकल्प हैं:

- फ़ॉन्ट चुनें: Bundled में फ़ॉन्ट और उसका वज़न, जैसे Regular या Bold, चुनें। या Upload में अपनी फ़ाइल दें।
- Font Name: प्रोजेक्ट की सूची में दिखने वाला नाम रखें। कई फ़ॉन्ट हों तो साफ़ नाम पहचानने में मदद करता है।
- Size (px): पिक्सेल में आकार चुनें। 16, 22 और 32 जैसे तैयार विकल्प हैं और कई आकार एक साथ चुन सकते हैं। हर आकार अलग बनता है, इसलिए केवल ज़रूरी आकार रखें।
- Letters: शामिल होने वाले अक्षर चुनें — Standard में मूल अंग्रेज़ी अक्षर, या Latin, Greek, Cyrillic, Hebrew, Arabic, Thai और अन्य विकल्प।
- Asian: चीनी, जापानी और कोरियाई के लिए अलग विकल्प। नीचे इन भाषाओं वाला भाग देखें।
Advanced में Bits per Pixel तय करता है कि हर अक्षर को दिखाने के लिए धूसर रंग के कितने स्तर इस्तेमाल होंगे। अधिक स्तर से किनारे साफ़ दिखते हैं, लेकिन जगह बढ़ती है; 4 अच्छा शुरुआती मान है। यहीं अक्षरों की निश्चित रेंज या अलग प्रतीक भी दे सकते हैं। आम तौर पर इन सेटिंग को बदलने की ज़रूरत नहीं पड़ती।
हर फ़ॉन्ट में हर लिपि नहीं होती। प्रीव्यू में अक्षर की जगह खाली डिब्बे दिखें तो उस लिपि वाला दूसरा फ़ॉन्ट चुनें या अपलोड करें। सभी फ़ॉन्ट में उपलब्ध न होने वाली लिपि चुनने पर PicoPixel चेतावनी भी देता है।
दाएँ से बाएँ लिखी जाने वाली भाषाएँ: अरबी और हिब्रू
इन भाषाओं के अक्षरों और लिखने की दिशा के लिए विशेष व्यवस्था चाहिए। इसे Create Font पैनल से तय कर सकते हैं:
- Letters में Arabic या Hebrew चुनें। इससे सही अक्षर शामिल होते हैं। मूल अंग्रेज़ी अक्षर और संख्याएँ भी साथ रहती हैं।
- PicoPixel उस लिपि का फ़ॉन्ट सुझाएगा, जैसे Noto Sans Arabic। वही या उस लिपि को संभालने वाला दूसरा फ़ॉन्ट चुनें। सामान्य लैटिन फ़ॉन्ट में ये अक्षर नहीं होंगे।
- लाइव प्रीव्यू जाँचें। अक्षर सही हैं तो तैयार हैं; खाली डिब्बे दिखें तो दूसरा फ़ॉन्ट चुनें।
अरबी अक्षरों का रूप शब्द में उनकी जगह के अनुसार बदलता है और पंक्ति दाएँ से बाएँ चलती है। एक्सपोर्ट करते समय PicoPixel अरबी, फ़ारसी या हिब्रू टेक्स्ट पहचानकर अक्षरों के जुड़े रूपों के लिए संबंधित LVGL सेटिंग चालू करता है। आपको कॉन्फ़िगरेशन फ़ाइलें खुद नहीं खोजनी पड़तीं।
फ़ॉन्ट बनाते समय ही Letters में सही लिपि चुनें। पहले सामान्य फ़ॉन्ट बनाकर बाद में अरबी या हिब्रू टेक्स्ट जोड़ेंगे तो ज़रूरी अक्षर फ़ॉन्ट में नहीं होंगे।
चीनी, जापानी और कोरियाई

इन तीन भाषाओं को संक्षेप में CJK कहा जाता है। इनमें बहुत अधिक अक्षर हैं: कोरियाई में करीब 11,000 और चीनी में 20,000 से ज़्यादा। हर अक्षर का बिटमैप डिवाइस पर रखा जाता है, इसलिए पूरे फ़ॉन्ट से कई मेगाबाइट जुड़ सकते हैं। छोटे एम्बेडेड डिवाइस पर इतनी जगह आम तौर पर नहीं होती।
केवल UI में आने वाले अक्षर शामिल करें। किसी सामान्य इंटरफ़ेस में शायद करीब सौ अलग अक्षर ही हों।
- Asian में Korean, Chinese या Japanese चुनें।
- Advanced के Symbols फ़ील्ड में UI का पूरा टेक्स्ट पेस्ट करें — हर लेबल, बटन और संदेश। केवल वहीं मिले अक्षर फ़ॉन्ट में शामिल होंगे। शुरुआत में PicoPixel चुनी हुई भाषा के कुछ सामान्य शब्द भरता है, जैसे Settings, Confirm और Cancel के अनुवाद। उनमें अपना टेक्स्ट जोड़ें।
इस तरह कई मेगाबाइट का फ़ॉन्ट कुछ सौ किलोबाइट में आ सकता है।
Symbols में छूटा हुआ अक्षर बाद में स्क्रीन पर खाली डिब्बे की तरह दिखेगा। UI का टेक्स्ट बदले तो यह फ़ील्ड अपडेट करके फ़ॉन्ट फिर बनाएँ।
CJK के लिए अपना पसंदीदा फ़ॉन्ट अपलोड करने से अधिक नियंत्रण मिलता है। UI का पूरा, अंतिम टेक्स्ट पेस्ट करें ताकि कोई अक्षर न छूटे।

बेकार फ़ॉन्ट हटाएँ
प्रयोग करते समय कई आकार बन जाते हैं, जैसे 16px और 22px। एक चुन लेने पर दूसरा केवल जगह लेता है।
Assets के Fonts हिस्से में Delete Unused Fonts दबाएँ। PicoPixel सभी विजेट जाँचकर ऐसे फ़ॉन्ट हटा देता है जिन्हें कोई विजेट इस्तेमाल नहीं कर रहा।
पहले कुछ आकार बनाएँ और डिज़ाइन में आज़माएँ। सही आकार चुनने के बाद बाकी हटाने के लिए Delete Unused Fonts दबाएँ। फ़ॉन्ट की सूची में आकार और गुणवत्ता की सेटिंग भी दिखती है।
यह बटन केवल ऐसे फ़ॉन्ट हटाता है जिन्हें कोई विजेट इस्तेमाल नहीं करता, इसलिए डिज़ाइन नहीं बदलता। एक फ़ॉन्ट हटाना हो तो सूची में उस पर राइट-क्लिक करें। गलती से हटा दिया हो तो Undo से वापस ला सकते हैं।