2015-11-10 7 views
5

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

आप इस वेबसाइट पर परीक्षण के साथ एक फ़ॉन्ट के ऊर्ध्वाधर मैट्रिक्स की जाँच कर सकते हैं: http://levien.com/webfonts/vmtx/ (बस एक परीक्षण डाउनलोड करने और फॉन्ट की जगह।)

यह परिणाम मैं हो रही है। ऊपरी एक गरीब मैट्रिक्स एक नीचे है उन्हें अधिकार है: (दोनों एक निश्चित line-height है)

font with poor vertical metrics

Fontsquirrel विशेषज्ञ मोड में अपने जनरेटर में गरीब खड़ी मैट्रिक्स के लिए एक ठीक प्रदान करता है। दुर्भाग्यवश मुझे जिस फ़ॉन्ट का उपयोग करना है वह माइक्रोसॉफ्ट (सेगोप्रिंट) से संबंधित है और जेनरेटर के लिए फ़ॉन्ट्सक्वायरल पर ब्लैकलिस्ट किया गया है।

अद्यतन:

बनाने के समस्या स्पष्ट .. इस स्थिति का सामना करना पड़ रहा हूँ मैं अभी है:

मैं खड़ी करने के लिए कोशिश कर रहा हूँ (मध्य करने के लिए बटन का पाठ संरेखित नीचे छवि देखें)। बाईं तरफ आप देखते हैं कि यह एंड्रॉइड पर क्रोम में कैसे प्रदान किया जाता है, दाईं ओर आप देखते हैं कि यह विंडोज़ पर क्रोम में कैसे प्रदान किया जाता है। एरियल और सबसे आम फोंट अच्छी तरह से केंद्रित कर रहे हैं, Segoe प्रिंट नहीं है ..

line-height badly rendered

मैं संरेखण के लिए सीएसएस में अलग-अलग दृष्टिकोण की कोशिश की और कोई भी लगातार काम किया है .. मैं भी यह एक बेला के अंदर करने की कोशिश की एक ही परिणाम के साथ , जो मैं नहीं दिखा सकता क्योंकि फ़ॉन्ट गैर-मुक्त है। यह एक फ़ॉन्ट विशिष्ट समस्या है और एकमात्र समाधान फ़ॉन्ट को ठीक करने लगता है।

यह बटन के लिए सीएसएस है (मान काल्पनिक हैं):

div.parent { 
    height:40px 
} 
h3 { 
    line-height: 40px; 
    font-size: 14px 
} 
+0

आप का उपयोग शब्द "लंबवत मीट्रिक", लेकिन क्या आप समझ सकते हैं कि आपका क्या मतलब है (क्योंकि vmtx का उपयोग उन फ़ॉन्ट्स को छोड़कर नहीं किया जाता है जो 'vert' या' vrt2' सुविधाओं का समर्थन करते हैं, जो आपका टेक्स्ट स्पष्ट रूप से उपयोग नहीं कर रहा है)? ऐसा लगता है कि आप बेसलाइन-टू-बेसलाइन दूरी के बारे में बात कर रहे हैं, जिसे सीएसएस में 'लाइन-ऊंचाई' कहा जाता है, और आप जो भी फ़ॉन्ट कर रहे हैं उसे ओवरराइड करने के लिए आप अपना खुद का मान निर्दिष्ट कर सकते हैं। ऐसा लगता है कि आप टेक्स्ट-चयन हाइलाइट्स को अच्छी तरह से लाइन करने की कोशिश कर रहे हैं, जो आम तौर पर सही करने की कोशिश करने योग्य नहीं है। सही दिखने के लिए पाठ प्राप्त करना, इसके बजाय, कहीं अधिक महत्वपूर्ण है। –

+0

यह स्पष्ट करने के बाद कि फ़ॉन्ट स्वयं समस्या का कारण बनता है और वेब ब्राउज़ करने के बाद मैं निष्कर्ष पर आया कि फ़ॉन्ट में लंबवत लंबवत मीट्रिक हैं। लेकिन चूंकि मैं कोई फ़ॉन्ट विशेषज्ञ नहीं हूं, इसलिए यह कुछ और फ़ॉन्ट संबंधित हो सकता है। मुझे यकीन नहीं है। मैंने प्रश्न अपडेट किया है, हो सकता है कि कारण की पहचान करने में मदद मिलती है। – Rotareti

+0

एंड्रॉइड का कौन सा संस्करण आप लक्षित कर रहे हैं? चूंकि यह एक क्लासिक [XY समस्या] है (http://meta.stackexchange.com/a/66378) जहां आप वास्तव में यह जानना चाहते हैं कि HTML कंटेनर में पाठ को लंबवत रूप से कैसे संरेखित करना है (जिसके लिए वास्तव में स्टैक ओवरव्लो पर कई उत्तर हैं , लेकिन यह बात यह है कि यदि आप एंड्रॉइड 4.2 या ऊपर लक्षित करते हैं, तो जवाब ["फ्लेक्सबॉक्स का उपयोग करें"] (https://css-tricks.com/snippets/css/a-guide-to-flexbox/)) –

उत्तर

3

यह मुझे कुछ समय लिया, लेकिन मैं सिर्फ पता चला कि मेरे फ़ॉन्ट वितरक मुझे डाउनलोड करने से पहले फोंट कॉन्फ़िगर करने देता है। मैं फ़ॉन्ट पर "लाइन ऊंचाई समायोजन" जोड़ने में सक्षम था। ये उपलब्ध विकल्प थे:

पंक्ति की ऊंचाई समायोजन

  • बेस्ट
  • 120% (इस फ़ॉन्ट के लिए लाइन ऊंचाई को सामान्य बनाने में सबसे अच्छा विधि का उपयोग करें) (पुन: निर्धारित के रूप में रेखा ऊंचाई बिंदु आकार का 120%)
  • स्वचालित (ओएस/2 वितरित करता है।आरोही, अवरोधक और रेखा अंतराल में टाइपो मूल्य)
  • बाउंडिंग बॉक्स (ग्लिफ के बाउंडिंग बॉक्स से मिलान करें, लाइन अंतर हमेशा 0 होगा 0)
  • मूल (फ़ॉन्ट में परिभाषित लाइन ऊंचाई का उपयोग करें, परिणाम बीच भिन्न हो सकते हैं ब्राउज़र्स)

"बाउंडिंग बॉक्स" विकल्प ने चाल की। अब "सेगो प्रिंट" अच्छी तरह से समायोजित है।

जब भी मैं इस समस्या को फिर से सामना करना पड़ता है मैं या तो मुफ्त फोंट के लिए fontsquirrel जनरेटर का उपयोग करें या एक वितरक है कि सही बॉक्स से बाहर लाइन ऊंचाइयों को समायोजित करने के लिए एक विकल्प प्रदान करता है से एक फ़ॉन्ट खरीद होगा ...

संबंधित मुद्दे