डिफ़ॉल्ट ग्रब फ़ॉन्ट बदलने के बाद कोई बॉक्स वर्ण नहीं


13

मैं का उपयोग करके, ग्रब के डिफ़ॉल्ट फ़ॉन्ट को बदलने में सक्षम रहा हूं

grub-mkfont -s 16 -o /boot/grub/grubfont.pf2 font.tty

और फिर निम्नलिखित लाइन को / etc / default / grub में जोड़ रहा है:

GRUB_FONT=/boot/grub/grubfont.pf2

और निश्चित रूप से

sudo update-grub

और नए फॉन्ट ने सब कुछ दिखा दिया और (एक मोनोपॉज फॉन्ट को चुनना याद रखें)। लेकिन , "बॉक्स" अक्षर (प्रविष्टियों के आसपास) कभी भी सही ढंग से प्रदर्शित नहीं होते हैं। मुझे लगता है कि ज्यादातर फोंट में बस वह कैरेक्टर सेट नहीं होता है। क्या कोई ऐसा तरीका है जिससे मैं इन पात्रों को जोड़ सकूं? हो सकता है कि उन्हें डिफ़ॉल्ट यूनिकोड। Pf2 फ़ॉन्ट से भी कॉपी करें? यदि यह वास्तव में संभव नहीं है, तो क्या आपको किसी भी फोंट के बारे में पता है जो इन पात्रों को मिला है?

अपडेट करें:

मैंने बहुत सी अलग-अलग चीजों की कोशिश की है, जैसे कि ttf से bdf में परिवर्तित करना और फिर pf2 तक, और मैंने केवल ascii वर्णों को विकल्प के साथ परिवर्तित करने की कोशिश की है --range=0x0-0x7f, लेकिन उनमें से कोई भी इसे पूरी तरह से काम नहीं कर रहा था। मुझे लग रहा है कि यह इसलिए है क्योंकि मैं डिफ़ॉल्ट से बड़ा फ़ॉन्ट पैदा कर रहा हूं, और डिफ़ॉल्ट ग्लिफ़ का उपयोग नहीं किया जा सकता है।

मैं यह देखने की कोशिश करूंगा कि क्या मैं इसे छोटे फ़ॉन्ट आकार के साथ काम करने के लिए प्राप्त कर सकता हूं, हालांकि यह उन कारणों में से एक था जिन्हें मैं फ़ॉन्ट बदलना चाहता था।


1
BURG को बहुत अच्छे से आज़माएं और इसमें कई थीम हैं
एक्सटेंडर

लेकिन OP फ़ॉन्ट बदलना चाहता है - थीम GRUB नहीं। अप्रासंगिक।
विंडोजएप्सिस्ट

जवाबों:


8

सिद्धांत रूप में grub-mkfont कई फोंट पास करने की अनुमति देता है। इस मामले में यदि आप एक ही समय में व्यापक कवरेज के साथ यूनिफोंट या किसी अन्य फ़ॉन्ट के लिए एक लिंक पारित कर सकते हैं । उत्पादित ग्रब फ़ॉन्ट दोनों इनपुट फोंट के कवरेज का एक संयोजन होगा।

नोट: ग्रब बूट-टाइम फ़ॉन्ट लोडर के लिए हाल ही में प्रदर्शन में सुधार का मतलब है कि ग्रब फ़ॉन्ट फ़ाइल में ग्लिफ़ एक विशिष्ट आरोही क्रम में होना चाहिए, लेकिन दुर्भाग्य grub-mkfontसे एक ही समय में उपयोगिता में बदलाव नहीं किया गया था ! यह अब एक बग है:

  • बग # 729470 "grub-mkfont आउटपुट फोंट जो ग्रब उपयोग नहीं कर सकता है (फ़ॉन्ट वर्ण आरोही क्रम में नहीं: 0 <= 0)"

BTW, यदि आप रुचि रखते हैं, तो इस बग को ग्रब बूट मेनू में उबंटू फ़ॉन्ट परिवार -इन-डेवलपमेंट उबंटू मोनो फ़ॉन्ट के उपयोग के प्रयोगों के साथ खोजा गया था और ठीक उसी समस्या को मार रहा है जो आपने अभी तक मारा है!


1
मैं इसे तब तक आराम करने दूंगा जब तक कि वे उबंटू मोनो फ़ॉन्ट को ग्रब में लोड नहीं कर लेते - यही मैं वैसे भी पहले स्थान पर था :) बहुत बहुत धन्यवाद।
लासेवैलेंटिनी

9

मूल रूप से आप जो करना चाहते हैं वह आपके नए ग्रब फ़ॉन्ट वाले वर्णों को सीमित करने के लिए रेंज ऑपरेटर का उपयोग करना है। यदि आप रेंज ऑपरेटर का उपयोग नहीं करते हैं तो आप अपने लक्ष्य फ़ॉन्ट से गलत या गलत बॉक्स तत्वों सहित सभी ग्लिफ़ प्राप्त करने जा रहे हैं।

उदाहरण के लिए:

grub-mkfont -s 16 --range=0x0-0x7f -o /boot/grub/grubfont.pf2 font.tty

केवल ASCII वर्णों के साथ एक फ़ॉन्ट उत्पन्न करेगा, आपका कुछ भी फ़ॉन्ट डिफ़ॉल्ट रूप से डिफ़ॉल्ट रूप से क्षय नहीं होना चाहिए ताकि बक्से और तीर डिफ़ॉल्ट रूप से आएँ। अधिक जानकारी के लिए कृपया इस वेबसाइट को देखें:

http://grub.enbug.org/gfxterm


1
यह समझ में आता है, लेकिन मुझे अभी भी अजीब ग्लिफ़्स हो रहे हैं, हो सकता है क्योंकि यूनिकोड फ़ॉन्ट बिल्कुल लोड नहीं है? मैं डिफ़ॉल्ट फ़ॉन्ट को वापस सेट करने की कोशिश करूंगा, और इसे फिर से कोशिश करूंगा।
लासविलेन्टिनी

1
शायद आपको पहले एक कंसोल फ़ॉन्ट लोड करना चाहिए और फिर अपना ttf ascii केवल फ़ॉन्ट लोड करना चाहिए।
मार्टिन ओवेन्स -डोक्टोर्मो- 21

1
क्या आपने कई फोंट लोड करने की कोशिश की है? यूनिकोड फ़ॉन्ट /usr/share/grub/unicode.pf2 में वह बॉक्स और तीर वर्ण होना चाहिए, जिनकी आपको आवश्यकता है। जब तक आप वांछित प्रभाव प्राप्त नहीं कर लेते, तब तक लोडफोंट का उपयोग करके फोंट को लोड करने में सक्षम होना चाहिए।
मार्टिन ओवेन्स -doctormo-

5

IIRC मैं उस समय भाग गया जब आप सभी ग्लिफ़ का उपयोग करते हुए वर्णन करते हैं:


(स्रोत: xrmb2.net )

शायद यह एक समस्या है grub-mkfont, शायद इसे फ़ॉन्ट के साथ करना है, मुझे नहीं पता। :(

मेरे लिए क्या काम किया:

  1. gbdfedकंसोल फॉन्ट (उदाहरण के लिए 'bdf' फाइल जेनरेट करने के लिए प्रयोग करना ।
  2. केवल ASCII वर्णों के साथ रूपांतरण grub-mkfont:

    grub-mkfont --output=out.pf2 --range=0x0-0x7f out.bdf

1
ऐसा लगता है कि मेरी मुख्य समस्या यह है कि मैं एक ओपन टाइप फ़ॉन्ट (टीटीएफ) का उपयोग करना चाहता हूं, न कि कंसोल के लिए डिज़ाइन किया गया फ़ॉन्ट। मैं एक ttf फ़ाइल के साथ ऊपर की कोशिश की है, लेकिन यह इस विशेष समस्या पर मदद नहीं की। एक समान समस्या के समाधान के लिए बहुत बहुत धन्यवाद यद्यपि :)।
लासवेलेन्टिनी

3

यदि आप -v फ्लैग के साथ ग्रब-एमकेफोंट चलाते हैं, तो यह आपको दिखाएगा कि आपको कितने ग्लिफ़ मिलते हैं। यदि आप एक हजार से अधिक प्राप्त करते हैं, तो सीमा का चरित्र वहां होना चाहिए। सीमा को सीमित करने से ही चीजें खराब होंगी। DejaVuSansMono फ़ॉन्ट सभी वर्णों को सही ढंग से प्रदर्शित करता है और इसमें .pf2 में 3000 से अधिक ग्लिफ़ हैं। कई अन्य फोंट को तीर मिलता है लेकिन सीमा नहीं।


2

एक यूनिकोड फ़ॉन्ट का उपयोग करें .. जो लगभग ठीक काम करता है (जैसे कि एरियलुनी.टीटीएफ, सभी वर्णों को आवश्यक रूप से दिखाता है) .. मेरी समस्या थोड़ी बड़ी चरित्र रिक्ति के साथ है ... और यह मेरे द्वारा परीक्षण किए गए प्रत्येक फ़ॉन्ट के साथ होता है।


1

आप इस सही ढंग से लोड करके प्रदर्शित करने के लिए प्राप्त कर सकते हैं दोनों डिफ़ॉल्ट फ़ॉन्ट और वांछित फ़ॉन्ट।

फिर, फ़ॉन्ट को वांछित फ़ॉन्ट पर सेट करें।

जब बॉक्स के लिए वर्ण नहीं मिलते हैं, तो नियमित फ़ॉन्ट जो भी लोड किया जाता है वह एक डिफ़ॉल्ट के रूप में कार्य करेगा और आवश्यक पात्रों की आपूर्ति की जाएगी।


0

मुझे पता है कि यह धागा प्राचीन है, लेकिन मैं इसे आज पढ़ रहा था और एक और उत्तर के साथ आया था जो अभी तक उपलब्ध नहीं कराया गया है ... इसलिए यहां यह है:

यदि आप फ़ॉन्ट बदलने के बाद GRUB में विषम वर्ण प्राप्त कर रहे हैं, तो यह इसलिए है क्योंकि उन वर्णों में .ttf फ़ाइल मौजूद नहीं है जो आप .pf2 फ़ाइल बनाने के लिए उपयोग करते हैं।

सीमा बनाने के लिए उपयोग किए जाने वाले वर्ण हैं:

  • U + 2501
  • U + 2503
  • U + 250F
  • U + 2513
  • U + 2517
  • U + 251B

एक .ttf फ़ाइल से अन्य सामान्य रूप से गायब होने वाले अक्षर हैं:

  • U + 2191
  • U + 2193

आप उन .ttf से उन वर्णों को कॉपी और पेस्ट करने के लिए FontForge (ओपन सोर्स सॉफ्टवेयर) का उपयोग कर सकते हैं जिनमें आपके द्वारा उपयोग किए जाने वाले .ttf में शामिल वर्ण हैं, जो उपयोग नहीं करना चाहते हैं। FontForge के साथ एक नया .ttf जनरेट करने के बाद आप अपने .pf2 फ़ाइल को बनाने के लिए grub-mkfont का उपयोग कर सकते हैं जिसमें सभी उपयुक्त अक्षर हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.