फ़ॉन्ट के "स्वचालित" बोल्ड संस्करण को रोकने के लिए नियमित रूप से समान पीटी आकार वाले से व्यापक होने के लिए कैसे?


10

मेरे पास एक मोनोपोज़्ड फ़ॉन्ट ( PT Mono) है जिसे मैं प्रोग्रामिंग आईडीई में उपयोग करना पसंद करता हूं। फ़ॉन्ट में केवल Regularअन्य सभी हैं Boldऔर Italicतिरछा और "बोल्डिफिकेशन" द्वारा लिया गया है Regular। समस्या यह है कि "बोल्डिफाइड" अक्षर नियमित लोगों की तुलना में व्यापक हैं, इसलिए आईडीई विंडो में स्रोत कोड स्ट्रिंग अब गैर-मोनोपॉज़ वर्णों से बना है।

मैं फ़ॉन्ट के "बोल्डिफिकेशन" को कैसे नियंत्रित करूं ताकि यह नियमित से अधिक व्यापक न हो जाए?

समस्या नीचे स्क्रीनशॉट पर सचित्र है ( PT Mono, कोई समर्पित बोल्ड नहीं)। देखें कि कैसे "अहस्ताक्षरित चार" और "आकार" शब्द अपने उचित पदों से बाहर निकल रहे हैं।

स्वचालित बोल्डिफिकेशन से चौड़ाई बदल जाती है

यहाँ एक और उदाहरण है, Droid Sans Mono(कोई समर्पित बोल्ड नहीं)। यहाँ छवि विवरण दर्ज करें

और यहां एक उदाहरण है जब फ़ॉन्ट ने बोल्ड संस्करण समर्पित किया है ( Liberation Mono)। बोल्ड और नियमित पूरी तरह से संरेखित हैं। यहाँ छवि विवरण दर्ज करें

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

UPD: एक फाइल होती है, /etc/fonts/conf.avail/90-synthetic.confजिसे यदि /etc/fonts/conf.d/फॉन्‍ट वर्जन के बोल्‍ड वर्जन को ना करने के लिए फॉन्ट इंजन से ट्यून से संदर्भित किया जाता है, जिसमें बोल्‍ड वर्जन नहीं होता है। यदि इस फ़ाइल की प्रतीकात्मक लिंक को हटा दिया जाता है /etc/fonts/conf.d/, तो आलिंगन गायब हो जाता है। यह वह नहीं है जो वास्तव में चाहता है, लेकिन कम से कम यह मोनोस्पेस फोंट के मामले को ठीक नहीं करता है जो कि मोनोस्पेस नहीं है (नीचे देखें PT Mono)। एम्बोलिंग की बारीक ट्यूनिंग अभी भी (या तो कॉन्फ़िगरेशन फ़ाइल, या freetype2पैच द्वारा) चाहता है ।

यहाँ छवि विवरण दर्ज करें


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

यह सच नहीं है। अलग-अलग फ़ाइलों में प्रदान किए जाने वाले नियमित और बोल्ड टाइपफेस दोनों प्रकार के फोंट की नियमित और बोल्ड में समान चौड़ाई होती है। उदाहरण के लिए, लेटरगॉथिक।
6

मुझे सही साबित होना है। मैंने SciTE (और शायद आप भी सिंटिला आधारित संपादक - शायद Geany?) का उपयोग करते हुए समान देखा है, जबकि मेरा फॉन्ट Droid Sans Mono है, लेकिन मैंने इसे मान लिया था, और मुझे इस बात का अंदाजा नहीं था कि भारित फॉन्ट का अलग स्थान हो सकता है। यहां तक ​​कि मोनोस्पॉन्टेड फोंट के लिए, जबकि बोल्ड फ़ॉन्ट नियमित रूप से एक ही रिक्ति का उपयोग करता है। इससे भी अधिक यह लगता है कि आनुपातिक फोंट में भी यह "विशेषता" है जिसे आपने देखा है, आप सभी नहीं। मेरे पहले जवाब के लिए क्षमा करें, मुझे पहले देखना चाहिए था
zetah

@ ज़ेता: मैंने विभिन्न फ़ॉन्ट फ़ाइलों को देखा और ऐसा लगता है कि वास्तव में चौड़ाई का परिवर्तन केवल तब होता है जब फ़ॉन्ट का कोई समर्पित बोल्ड संस्करण नहीं होता है। मैं अधिक स्क्रीनशॉट के साथ प्रश्न को अपडेट करने जा रहा हूं।
9

1
यहाँ भी उल्लेख किया गया है: Bugs.launchpad.net/ubuntu/+source/ttf-droid/+bug/565393
zetah

जवाबों:


9

mbaitoff , मैं इसे आपके अपडेट के अतिरिक्त पोस्ट कर रहा हूं, उत्तर के रूप में नहीं

यदि उपयोगकर्ता फ़ाइल नाम बनाता है ~/.fonts.conf:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <test name="spacing" compare="eq">
            <const>mono</const>
        </test>
        <edit name="embolden" mode="assign">
            <bool>false</bool>
        </edit>
    </match>
</fontconfig>

यदि उपलब्ध हो, तो अनुप्रयोग बोल्ड मोनोपॉज़्ड फ़ॉन्ट का उपयोग कर सकते हैं और "सिंथेटिक बोल्डिफिकेशन" को निष्क्रिय कर सकते हैं यदि उपयोग किए गए फ़ॉन्ट में बोल्ड टाइपफेस न हो।

यह सिर्फ वैकल्पिक है, और अलग-अलग परिणाम के साथ थोड़ा अलग दृष्टिकोण है


यदि सिम्लिंक /etc/conf.d/50-user.confको फिर से निष्पादित करने के लिए नाम दिया गया है 90-synthetic.conf, तो आपको पूरी तरह से नहीं निकालना होगा। 99-user.confठीक काम करता है। अन्यथा, 90-synthetic.confइसे फिर से सक्षम बनाता है।
मुसिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.