~ / .Fonts.conf के साथ फ़ॉन्ट प्रतिस्थापन


18

मैं ~ / .fonts.conf का उपयोग करके Droid Sans के साथ Helvetica को बदलने की कोशिश कर रहा हूँ, यहाँ फ़ाइल की सामग्री है:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test qual="any" name="family"><string>Helvetica</string></test>
    <edit name="family" mode="assign"><string>Droid Sans</string></edit>
  </match>
</fontconfig>

लेकिन कोई बात नहीं, कुछ भी नहीं हो रहा है। मैंने fc-cache चलाने की कोशिश की, मैंने जांच की है /etc/fonts/conf.dऔर मैंने पाया है 50-user.confकि उपयोगकर्ता विशिष्ट कॉन्फ़िगरेशन को स्पष्ट रूप से कॉल करता है।

मुझे किसकी याद आ रही है?

धन्यवाद

संपादित करें: जांच के बाद मुझे पता चला कि /etc/fonts/conf.dउपयोगकर्ता कॉन्फ़िगरेशन को अधिलेखित करने में अन्य नियम , इसलिए मदद user.confकरने के लिए लिंक करना 00-user.conf। अभी भी यह सिर्फ एक आंशिक सफलता है, क्योंकि मैं निर्दिष्ट कर सकता हूं कि कौन से फोंट को प्रतिस्थापित किया जाना चाहिए, लेकिन मेरी पसंद के विकल्प को नजरअंदाज कर दिया गया है: दूसरे शब्दों में, मैं Helveticaअमान्य बना सकता हूं और सिस्टम अगले फॉन्ट पर वापस आ जाता है (यानी ब्राउज़र में, यह स्टाइल शीट में निर्दिष्ट अगला फ़ॉन्ट लेता है, यदि कोई मौजूद नहीं है तो यह मानक सैंस-सेरिफ़ प्रदर्शित करता है)।


मैं यहाँ आया था क्योंकि मैं कुछ इसी तरह पूरा करने वाला था। उम्मीद है कि किसी के पास एक जवाब है ...
लुडविग वेन्ज़िएरल

अभी भी उत्तर की तलाश में है।
कैपि इथरियल

जवाबों:


16

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

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test qual="any" name="family"><string>Helvetica</string></test>
    <edit name="family" mode="assign" binding="same"><string>Droid Sans</string></edit>
  </match>
</fontconfig>

1
मेरे लिए काम किया। bindingविशेषता जोड़ने की तरह लगता है फर्क कर दिया। मैं Fontconfig-2.8.0 का उपयोग कर रहा हूं।
माओयूपी

इसने मेरे लिए काम किया
दूधोझिक

3

मुझे लगता है कि उपनाम तंत्र इसके लिए काम करेगा:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>Helvetica</family>
    <prefer>Droid Sans</prefer>
  </alias>
</fontconfig>

1
क्या केवल स्थापित फोंट को प्रतिस्थापित करने के लिए <alias> नहीं है?
MaoPU

@MaoPU: मैंने एक ही बात सोची, लेकिन दस्तावेज़ीकरण पढ़ने के बाद, यह मुझे विश्वास दिलाता है कि उस व्यवहार को कॉन्फ़िगर किया गया है। <accept>फ़ॉन्ट स्थापित नहीं होने <prefer>पर पूर्वता लेता है, भले ही फ़ॉन्ट स्थापित हो, पूर्वता लेता है।
जेएम बेकर

/ \ No, यह वास्तव में नहीं है, जब तक कि .confइस नियम वाली फ़ाइल को पहले नहीं पढ़ा जाता है।
Marc.2377

हम्म - यह कहा, यह काम करता है अगर तत्व binding="strong"के साथ प्रयोग किया जाता <alias>है!
मार्क.2377

0

क्या "fc-list" वास्तव में "Helvetica" दिखाता है? एफसी-मैच क्या कहता है? मेरे बॉक्स (F-12) पर मुझे:

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

हो सकता है कि आपको अपने प्रतिस्थापन के रूप में भी उपनामित फ़ॉन्ट जोड़ना होगा।


0

मैं एक ऐसी ही समस्या में भाग गया था जब उर्फ ​​हेल्वेटिका को सैंस-सेरिफ़ परिवार के रूप में देखने की कोशिश कर रहा था। किसी भी मुद्दे को मारने के लिए सिस्टम कॉन्फ़िगरेशन को देखें /etc/fonts/conf.d/जिसमें फ़ाइलों से लिंक होंगे /etc/fonts/conf.avail। मुझे नियतात्मक व्यवहार प्राप्त करने के लिए उन बहुत सारे उपनामों को हटाना पड़ा।

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