मैं वर्तमान में एक जावास्क्रिप्ट प्रोजेक्ट पर काम कर रहा हूं जो एक प्रतिपादन लक्ष्य के रूप में HTML5 कैनवास का उपयोग करता है। मेरे कोड को (कठोर रूप से निर्दिष्ट) इंटरफेस के साथ अच्छी तरह से खेलने के लिए, मुझे एक फ़ॉन्ट लेने और उस फ़ॉन्ट की चढ़ाई और मूल ऊंचाई निकालने में सक्षम होना चाहिए। इससे ग्राहकों को पाठ को अधिक सटीक रूप से स्थानांतरित करने की अनुमति मिल जाएगी। मुझे पता है कि textBaseline
विशेषता सेट करके टेक्स्ट खींचता है, लेकिन मुझे वास्तव में इन विभिन्न ऊंचाइयों का वर्णन करने वाले संख्यात्मक मानों की आवश्यकता होती है। क्या ऐसा करने के लिए एक सरल तरीका है? यदि नहीं, तो क्या एक (उम्मीद है कि हल्का वजन) पुस्तकालय है जो इसे मेरे लिए संभाल सकता है? मैंने पाया है कि प्रस्तावित समाधानों में से अधिकांश हेवीवेट फ़ॉन्ट प्रतिपादन पुस्तकालय हैं, जो इस समस्या के लिए भारी ओवरकिल की तरह दिखते हैं।जावास्क्रिप्ट में फ़ॉन्ट मेट्रिक्स प्राप्त करना?
उत्तर
पर एचटीएमएल 5 टाइपोग्राफिक मेट्रिक्स This article समस्या और एक part solution using CSS चर्चा करता है - हालांकि offsetTop आदि के पूर्णांक राउंडिंग एक समस्या (संभावित getBoundingClientRect()
उपयोग कर सकते हैं कुछ ब्राउज़रों के लिए उचित फ्लोटिंग बिंदु मूल्यों को प्राप्त करने के लिए) है।
संक्षिप्त उत्तर यह है कि कोई भी तरीके से निर्मित नहीं है और आप स्वयं के प्रकार हैं।
इस वजह से, अधिकांश लोग बस उनका अनुमान लगाते हैं। कुछ लोग सभी मूल्यों की पूर्व गणना करते हैं, जो कि बहुत अधिक काम नहीं है बशर्ते आप केवल कुछ फोंट का उपयोग कर रहे हों।
तीसरा रास्ता स्मृति में एक कैनवास बनाने के लिए और कुछ पत्र प्रिंट (जैसे कि, एक Q
और एक O
) और प्रोग्राम के चढ़ाई और वंश प्रति पिक्सेल टक्कर का उपयोग यह निर्धारित करने का प्रयास है। यह दर्द है और फ़ॉन्ट्स की संख्या और आप कितना सटीक होना चाहते हैं, इस पर निर्भर हो सकते हैं, लेकिन यदि आप मूल्यों की पूर्व-गणना नहीं करना चाहते हैं तो यह इसके बारे में जाने का सबसे सटीक तरीका है।
यहाँ एक संदर्भ बस के रूप में:
ctx.measureText(txt).width
- 1. एसवीजी और फ़ॉन्ट मेट्रिक्स
- 2. रेल 3.1 में काम करने के लिए फ़ॉन्ट प्राप्त करना?
- 3. जावा में वैकल्पिक मेट्रिक्स एकत्र करना (वैकल्पिक रूप से .Net)
- 4. जावास्क्रिप्ट में तुल्यकालिक व्यवहार प्राप्त करना?
- 5. एप्लिकेशन क्लास में स्क्रीन डिस्प्ले मेट्रिक्स कैसे प्राप्त करें
- 6. कोड मेट्रिक्स
- 7. फ़ॉन्ट-फेस जावास्क्रिप्ट
- 8. आईओएस ऐप में उपयोगकर्ता मेट्रिक्स को ट्रैक करना?
- 9. स्टोरीबोर्ड फ़ाइल में अनुमानित मेट्रिक्स टाईब्रेकर्स के साथ विलय विवाद प्राप्त करना
- 10. जावास्क्रिप्ट अलर्ट में फ़ॉन्ट आकार कैसे बढ़ाएं()
- 11. प्रैक्टिसिंग एंड्रॉइड डिज़ाइन मेट्रिक्स?
- 12. ग्रहण मेट्रिक्स प्लगइन
- 13. कोड मेट्रिक्स का मूल्यांकन
- 14. PHP प्रदर्शन मेट्रिक्स
- 15. सॉफ्टवेयर गुणवत्ता मेट्रिक्स
- 16. प्रदर्शन मेट्रिक्स प्राप्त करने का उचित तरीका: getResources() या getWindowManager()
- 17. आर आंकड़े में फ़ॉन्ट आकार निर्दिष्ट करना
- 18. सिस्टम डिफ़ॉल्ट फ़ॉन्ट प्राप्त करें
- 19. PHP के कोड मेट्रिक्स - नोटपैड ++
- 20. जावास्क्रिप्ट: कैनवास के बिना ImageData प्राप्त करना
- 21. जावास्क्रिप्ट - एचटीएमएल फॉर्म मान प्राप्त करना
- 22. PHPExcel: फ़ॉन्ट आकार सेट करना?
- 23. आईसीपी का आश्वासन, आंतरिक मेट्रिक्स
- 24. क्या जावास्क्रिप्ट में कॉलर संदर्भ प्राप्त करना संभव है?
- 25. एक जावास्क्रिप्ट फ़ाइल में एक ईएल प्राप्त करना, @ResourceDependency
- 26. जावास्क्रिप्ट में प्लेटफ़ॉर्म विशिष्ट न्यूलाइन वर्ण प्राप्त करना?
- 27. जावास्क्रिप्ट में एक डीआईवी की जेड-इंडेक्स प्राप्त करना?
- 28. जावास्क्रिप्ट 'संतुष्ट' - कैरेट स्थिति प्राप्त करना/सेट करना
- 29. कोड मेट्रिक्स की गणना करें
- 30. एलओसी (कोड की रेखाएं) मेट्रिक्स?
Mozillas Bespin कि समस्या को हल करने और अंत में तर्क जो निष्कर्ष कैनवास के साथ समाप्त हो गया में चलाने की कोशिश की: पाठ की चौड़ाई के साथ मापा जा सकता है टेक्स्ट संपादकों के लिए कभी डिजाइन नहीं किया गया था और कभी नहीं बनाया जाएगा। तो या तो 'एम' पर समान ऊंचाई और चौड़ाई रखने पर भरोसा करें या नीचे वर्णित पस्सेल या पिक्सेल परीक्षण विधि के स्रोत का उपयोग करें या एक ही पाठ/फ़ॉन्ट या किसी अन्य अविश्वसनीय अनुमान के साथ एक ऑफ div को मापें। क्षमा करें, भ्रम भी पसंद नहीं है। लेकिन क्या आप वाकई इस मार्ग के लिए सही घोड़ा चुनते हैं? – noiv
मैं वर्तमान में जावास्क्रिप्ट में जेवीएम के कार्यान्वयन पर काम कर रहा हूं और एक प्रतिपादन लक्ष्य के रूप में कैनवास का उपयोग कर रहा हूं। मुझे जावा फ़ॉन्ट पुस्तकालयों को लागू करने की आवश्यकता है, यही कारण है कि मुझे इन सटीक मानों की आवश्यकता है। मैं सोच रहा हूं कि मैं साइमन के जवाब के साथ जा रहा हूं और परिणामों को ऑफस्क्रीन और पिक्सेल लिखकर कार्यान्वयन को नकली कर दूंगा। :-( – templatetypedef
मुझे उम्मीद है कि आपने फ़ॉन्ट चिकनाई माना है .... – noiv