फ़ायरफ़ॉक्स में मैं टीटीएफ फोंट के लाइगर्स (टीटी, टीआई, फाई, एफएफ, आदि) को कैसे ठीक कर सकता हूं?


24

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

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

जैसा कि आप देख सकते हैं, यह ऐसा लगता है कि जिस तरह से वर्णों ( tऔर f) को एक दूसरे से जोड़ा जाता है और जैसे अक्षर i

मुझे यह समस्या बहुत लंबे समय से है (कई प्रणालियों पर) और सोचता हूं कि क्या किसी ने कभी इसी तरह के मुद्दों को पॉप अप करते हुए देखा है और उन्हें ठीक करने का एक तरीका पाया है।

नोट: मुझे लगता है कि यह फ़ायरफ़ॉक्स को प्रभावित करता है। क्रोम और लिब्रे ऑफिस दोनों ठीक हैं।

जवाबों:


27

एक और समाधान जो लिबर ऑफिस सहित सभी अनुप्रयोगों के साथ काम करेगा, वह अलबेदी द्वारा दिया गया है :

फ़ाइल को संपादित करें या बनाएं ~/.fonts.confऔर इस कोड को इसमें पेस्ट करें:

<match target="font" >
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>

XML संरचना रखना सुनिश्चित करें।

लॉग आउट करें और फिर से, और कैलिब्री (और संभवतः कुछ अन्य फोंट) बहुत बेहतर दिखेंगे (वास्तव में यहां दिए गए अन्य उत्तरों की तुलना में बेहतर है, क्योंकि बदसूरत बिटमैप प्रतिस्थापन पूरी तरह से अक्षम हैं)।


3
यह पहले वाले की तुलना में बेहतर समाधान है, क्योंकि यह एक वैश्विक सुधार है, और लिगमेंट्स को खत्म करना एक चकमा है। पाठ पढ़ने के लिए अधिक आकर्षक बनाने के लिए, और कॉन्फ़िगरेशन समस्या के आसपास काम करने के लिए उन्हें बंद करना आदर्श नहीं है।
scruss

कोई भी जो थोड़ा ओसीडी या गुदा प्रतिशोधी है, इस XML फ़ाइल की सामग्री को ठीक से प्रारूपित करने के बारे में परवाह करने के लिए (निश्चित रूप से आप लिनक्स लोग ऐसी चीजों के बारे में कभी भी परवाह नहीं करेंगे ;-)):<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd"><fontconfig><match target="font"><edit name="embeddedbitmap" mode="assign"><bool>false</bool></edit></match></fontconfig>
एडम प्लोचर

एल्डेबी से लिंक अब कुछ फ़िशिंग स्कैम साइट की ओर जाता है
charsi

1
@charsi धन्यवाद, मैंने इसे वेब आर्काइव के लिंक से बदल दिया।
कैलिमो

मुझे लॉगआउट करने और फिर से लॉगिन करने की आवश्यकता नहीं थी। बस पृष्ठ (फ़ायरफ़ॉक्स में) को ताज़ा करना और एप्लिकेशन (लिबरऑफिस) को फिर से शुरू करना पर्याप्त था।
मार्क.2377

9

Ligatures अक्षम करना ( कैलिमो का fonts.confउत्तर देखें ) गलत दिशा है! हो सकता है कि यह कैलीब्री जैसे फोंट में उन अति-अलविदा "बोल्ड" लिगर्स को हटा दे, लेकिन यह टाइपोग्राफी की सुंदरता को भी हटा देता है। जब तक आप अंतर को बता नहीं सकते तब तक फ़ॉन्ट को सिकोड़ने के समान है।

मैंने अपने सिस्टम के लिए कैलिब्री फॉन्ट को हटाकर, कार्लिटो को स्थापित करते हुए इसे हल किया , जो कि " मेट्रिक- कम्पेटिबल विद कैलिब्री" है और इसे "फ़ॉन्टकॉनफिग (लोकल.कॉन्फ़) के लिए एक मैपिंग एंट्री के साथ पैक किया गया है, और मेरे फॉन्ट कैश को रीफ्रेश करता है:

$ rm ~/.fonts/microsoft/CALIBRI*
$ sudo apt install fonts-crosextra-carlito
$ fc-cache

फिर आप यह सत्यापित कर सकते हैं कि कैलिब्री के लिए कार्लिटो खड़ा है:

$ fc-match Calibri
Carlito-Regular.ttf: "Carlito" "Regular"

(यदि यह काम नहीं करता है, तो आपको कुछ की आवश्यकता हो सकती है, sudo rm /usr/share/fonts/truetype/msttcorefonts/calibri*हालांकि मामला और सटीक स्थान भिन्न हो सकते हैं।)

Microsoft के Calibri को हटाने से पहले, मैंने LibreOffice में एक परीक्षण दस्तावेज़ सहेजा जिसमें Calibri का उपयोग किया गया और एक स्क्रीन शॉट लिया। ऐसा करने के बाद, मैंने लिब्रे ऑफिस छोड़ दिया, इसे फिर से खोला, और फिर अपना परीक्षण दस्तावेज लोड किया। "कैलीबरी" फ़ॉन्ट नाम को यह इंगित करने के लिए इटैलिक किया गया था कि इसे प्रतिस्थापित किया गया था। मैंने इस प्रतिस्थापित संस्करण का स्क्रीन शॉट लिया और इसे मूल से नीचे चिपकाया:

कैलीबरी परीक्षण

उपरोक्त पाठ 13pt Calibri के स्क्रीन शॉट्स की एक जोड़ी है, जिसमें फाल्कोनसिग द्वारा मिलान के रूप में Microsoft के Calibri को कार्लिटो से ऊपर रखा गया है। लिबरेऑफिस 5.0.5.1 द्वारा प्रस्तुत के रूप में कोई बोल्ड, कोई स्वरूपण, "जोड़ी कर्लिंग" सक्षम नहीं है।

कार्लिटो कैलिब्री के काफी करीब है, लिगुरेट्स ठीक से प्रस्तुत करते हैं, और यह समग्र रूप से बहुत सुंदर है।

आप कैम्बैडिया के साथ कैम्ब्रिया के साथ भी ऐसा ही fonts-crosextra-caladeaकर सकते हैं और आप एरियल , टाइम्स न्यू रोमन और कोरियर न्यू के लिए Google के क्रॉस्कोर फोंट Arimo, Tinos और Cousine का उपयोग कर सकते हैं । डेबियन की सबस्टिट्यूटिंग कैलीबरी और कंब्रिया फ़ॉन्ट्स विकी पर अधिक जानें ।fonts-croscore

लेकिन हेल्वेटिका के बारे में क्या?

यह सवाल हेल्वेटिका फ़ॉन्ट के बारे में पूछता है , जो कि Apple का पसंदीदा सेन्स-सेरिफ़ फ़ॉन्ट है। कैलिब्री में बदलने से पहले Microsoft ने एरियल को प्राथमिकता दी । डिफॉल्ट लिनक्स मैपिंग वितरण से भिन्न होता है, लेकिन यह आमतौर पर निम्बस संस एल या फिर लिबरेशन सैंस , उदाहरण के लिए होता है

$ fc-match Helvetica
n019003l.pfb: "Nimbus Sans L" "Regular"

यदि आप इसे चलाते हैं और एरियल प्राप्त करते हैं, तो ऊपर वर्णित वर्णित लिगचर समस्या होने का यह एक बहुत अच्छा कारण है - एरियल एक महान फ़ॉन्ट नहीं है।

हेलवेटिका के आसपास काफी संस्कृति है और मुझे ऐसा फॉन्ट नहीं मिल रहा है जो हेल्वेटिका के साथ पूरी तरह से मेट्रिक-संगत हो। एरियल (फोंट, मेट्रिक रूप से एरियल के साथ संगत करते हैं, जिसमें लिबरेशन सेन्स और इसके कांटे, अरिमो शामिल हैं , में समान चरित्र चौड़ाई है (जिसका अर्थ है कि वे "ज्यादातर" मीट्रिक संगत हैं; पाठ उसी तरह से लपेटेगा) जैसे हेल्वेटिका के साथ। लिबरेशन संस और निम्बस संस लगते हैं सबसे समान सौंदर्यशास्त्र है।

आईबीएम प्लेक्स भी है , जिसके पीछे एक बड़ा फॉन्ट है [ 1 ] [ 2 ] । Plex को IBM की सभी सामग्रियों में Helvetica (यह गाढ़े सेन्स के साथ-साथ Serif और Monospace फोंट भी है) को बदलने के लिए डिज़ाइन किया गया है, हालाँकि यह Helvetica या अन्य फोंट के लिए सभी मेट्रिक-संगत नहीं है। फ़ॉन्ट गिलहरी में Plex फोंट के नमूनों का एक अच्छा दृश्य है ।

Fontconfig उपनाम

किसी अन्य फ़ॉन्ट के लिए मैन्युअल रूप से उर्फ ​​हेल्वेटिका (और इसलिए कैलिब्री और / या एरियल को हटाने की आवश्यकता नहीं है, हालांकि उस स्थिति में आपको मैन्युअल रूप से उर्फ ​​भी होना चाहिए), अपनी ~/.config/fontconfig/fonts.confफ़ाइल को संपादित करें (पुराने सिस्टम के लिए, वह ~/.fonts.conf। भ्रम से बचने के लिए, मैं बाद में सहानुभूति रखता हूं। पूर्व के अनुसार) इस उत्तर में उल्लेख किया गया है , <alias>हेलवेटिका के लिए एक नया खंड जोड़ना (यह एक Arimo का उपयोग करता है। सुनिश्चित करें कि आपने इसे स्थापित किया है:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>

  <alias>
    <family>Helvetica</family>
    <prefer><family>Arimo</family></prefer>
  </alias>

</fontconfig>

1
यह स्वीकार किए जाते हैं की तुलना में एक बेहतर जवाब है। मैं इंगित करना चाहता हूं कि आर्च विकी पर एक सुविधाजनक गोपनीय
Xananax

पहली पंक्ति अब sudo rm -R / usr / share / फ़ॉन्ट्स / truetype / calibri
dez93_2000

यदि किसी के fc-मैच Helvetica के परिणाम linux पर हैं, तो क्या आप जानते हैं कि लिबरेशन संस को कैसे मजबूर किया जाए? बस एरियल को हटा दें? धन्यवाद
dez93_2000

@ dez93_2000 - शायद यही है /usr/share/fonts/truetype/msttcorefonts/callibri*। मैं फ़ॉन्ट जवाब के लिए अपना जवाब अपडेट करूंगा क्योंकि यह एक टिप्पणी में फिट नहीं होगा।
एडम काट्ज

मैंने ध्यान से स्वीकार किए गए उत्तर (फॉन्ट कैलीबरी का उपयोग करके) के प्रदान किए गए परिणामों का निरीक्षण किया, और ज्ञात ज्ञात रेंडर की तुलना में बिल्कुल भी कोई अंतर नहीं पाया। वहाँ बिल्कुल भी सौंदर्य नहीं था।
मार्क.2377

6

lgarzo का जवाब केवल उन वेबसाइटों पर काम करेगा जिनके पास पाठ पर "नोलिग्स" वर्ग है (अधिकांश वेबसाइटें नहीं हैं)।

सभी वेबसाइटों पर वैश्विक रूप से अक्षम लेन-देन करने के लिए, निम्न पंक्ति को अपनी में जोड़ें userChrome.css:

* { -moz-font-feature-settings: "liga" 0; }

ऐसा करने का सबसे आसान तरीका स्टाइलिश विस्तार के साथ एक नई शैली बनाना है ।


स्टाइलिश सुझाव के लिए +1। AFAIR मैंने मोजिला डॉक्यूमेंटेशन उद्धृत किया है (क्योंकि मैंने उम्मीद की थी कि ओपी उस रूपांतरित करने में सक्षम होगा, जैसा कि वह चाहता था :)) मेरा इरादा पेज के सीएसएस में नियम को शामिल करना था। (हालांकि, स्रोत की जांच नहीं कर सकता। यह एटीएम के नीचे लगता है।)
लार्जो

1
यह सिंटैक्स केवल फ़ायरफ़ॉक्स 14 तक ही मान्य था, stackoverflow.com/a/15161336/4464570 के अनुसार , और अब ब्राउज़र द्वारा मान्यता प्राप्त नहीं है। मैंने आपकी पोस्ट को वर्तमान सिंटैक्स के साथ अपडेट करने के लिए संपादित किया है।
बाइट कमांडर

4

छवि को देखते हुए मेरे मन में कुछ टिप्पणी आई:

  • लिगमेंट्स अलियास विरोधी लगते हैं , जबकि बाकी टेक्स्ट नहीं है। इसलिए यह सामान्य पाठ की तुलना में मोटा दिखता है (हालाँकि मैं इससे इनकार नहीं कर सकता कि यह बोल्ड भी लगता है)।
  • AFAIK Helvetica फ़ॉन्ट एक गैर-मानक फ़ॉन्ट है , अर्थात डिफ़ॉल्ट विंडोज इंस्टॉलेशन के साथ नहीं आता है। क्या आपने इसे स्थापित किया है, या यह एक अलग फ़ॉन्ट है?

मुझे लगता है कि समस्या फिगर्स पर आधारित है, लिगुरेट्स / कर्निंग का सही ढंग से समर्थन नहीं कर रही है।

आप नीचे दिए गए CSS नियम से FF में ligatures को अक्षम कर सकते हैं:

/* disable common ligatures, usually on by default */
.noligs { -moz-font-feature-settings: "liga" 0; }

स्रोत: CSS संदर्भ: मोज़िला एक्सटेंशन


यह सिंटैक्स केवल फ़ायरफ़ॉक्स 14 तक ही मान्य था, stackoverflow.com/a/15161336/4464570 के अनुसार , और अब ब्राउज़र द्वारा मान्यता प्राप्त नहीं है। मैंने आपकी पोस्ट को वर्तमान सिंटैक्स के साथ अपडेट करने के लिए संपादित किया है।
बाइट कमांडर

1

कैलिमो के उत्तर के अलावा, आर्कलिनक्स उपयोगकर्ता https://wiki.archlinux.org/index.php/font_configuration - बिटमैप फ़ॉन्ट अक्षम करने में मदद कर सकते हैं

इसने एक स्थानीय विन्यास फाइल बनाने का सुझाव दिया ~ ~ .config / fontconfig / conf.d / 20-no-embed.conf, लेकिन मैं एक सिस्टम वाइड विकल्प के लिए गया था

sudo touch /etc/fonts/conf.d/20-no-embedded.conf
sudo chmod 777 /etc/fonts/conf.d/20-no-embedded.conf
nano 777 /etc/fonts/conf.d/20-no-embedded.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="embeddedbitmap" mode="assign">
      <bool>false</bool>
    </edit>
  </match>
</fontconfig>

तो बस एप्लिकेशन को पुनरारंभ करें (मेरे मामले में गड़गड़ाहट)


यदि आप "<मैच लक्ष्य =" फ़ॉन्ट ">" पंक्ति में नीचे जोड़ते हैं: <परीक्षण का नाम = "परिवार"> <string> Calibri </ string> </ test> या जो भी फ़ॉन्ट का नाम है (Helvetica), आप जोड़ देंगे केवल उस विशिष्ट फ़ॉन्ट के लिए फ़ॉन्ट सेटिंग्स संपादित करें।
ज़ीहियो

अनुमति ६४४ होनी चाहिए,, ,44 नहीं, क्योंकि आप एक फाइल (सिम्क्लिन नहीं) वहां डाल रहे हैं।
मार्क.2377
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.