2013-03-27 10 views
9

क्या जावास्क्रिप्ट में विशेष फ़ॉन्ट के लिए वजन की सूची प्राप्त करने का कोई तरीका है?उपलब्ध फ़ॉन्ट वजन कैसे प्राप्त करें?

मैं फ़ोटोशॉप में चयनकर्ता बनाना चाहता हूं।

enter image description here

+0

मुझे नहीं लगता कि आप उस जानकारी को उपयोगकर्ताओं के कंप्यूटर से निकाल सकते हैं। @ फ़ॉन्ट-फेस फ़ॉन्ट्स में यह जानकारी हो सकती है। किसी भी मामले में यह आपकी मदद करनी चाहिए: http://www.w3.org/TR/CSS2/fonts.html#font-boldness – elclanrs

+0

आपका मतलब है कि आप चौड़ाई चाहते हैं फ़ॉन्ट का ... ?? –

+0

मेरा मतलब है कि मुझे सामान्य रूप से उपलब्ध फ़ॉन्ट शैलियों की एक सूची प्राप्त करने की आवश्यकता है। –

उत्तर

2

मैं अपने अंतिम लक्ष्य के बारे में स्पष्ट नहीं कर रहा हूँ, फिर भी ....

आप गूगल फोंट आप पहले से ही सभी संभव वजन उपलब्ध पता होना चाहिए की तरह कुछ प्रयोग कर रहे हैं। दूसरे शब्दों में यदि आप अपना खुद का फ़ॉन्ट आपूर्ति करते हैं तो आप उपलब्ध सभी के स्वामी हैं।

0

नहीं! चाहे एक टाइपफेस वास्तव में दूसरे का फ़ॉन्ट-वेट है, गूढ़ ज्ञान है कि जावास्क्रिप्ट के पास काम करने का कोई तरीका नहीं है। आप परिभाषित कर सकते हैं कि फ़ॉन्ट-वेट्स एक फ़ॉन्ट-फ़ैमिली ने सीएसएस @font-face नियमों का उपयोग किया है, और इस तरह से आप जो पूछ रहे हैं उसे प्राप्त करने की असंभवता को दर्शाते हैं।

तुरंत नीचे, मुझे 3 वजन वाले फ़ॉन्ट के लिए एक सुंदर मानक @font-face सेटअप मिला है।

@font-face { 
    font-family: Barney; 
    src: url(barney_regular.ttf); 
    font-weight: 400; 
} 

@font-face { 
    font-family: Barney; 
    src: url(barney_light.ttf); 
    font-weight: 300; 
} 

@font-face { 
    font-family: Barney; 
    src: url(barney_bold.ttf); 
    font-weight: 500; 
} 

लेकिन जानते हुए भी कि उन .ttf फ़ाइलों में से प्रत्येक में एक ही फ़ॉन्ट परिवार का एक अलग वजन का प्रतिनिधित्व करता है मनमाना है। यहां मैंने इसे निर्दिष्ट किया है, क्योंकि मुझे इसके बारे में पता है। एक स्वचालित सेवा, जैसे फ़ॉन्ट गिलहरी, उन 3 फ़ाइलें लिया था, तो यह शायद इस के साथ बाहर आने दिया होता:

@font-face { 
    font-family: barney_regular; 
    src: url(barney_regular.ttf); 
} 

@font-face { 
    font-family: barney_light; 
    src: url(barney_light.ttf); 
} 

@font-face { 
    font-family: barney_bold; 
    src: url(barney_bold.ttf); 
} 

यहाँ, इन 3 वजन वास्तव में सभी अलग फ़ॉन्ट परिवारों के रूप में जो स्पष्ट रूप से एक है निर्दिष्ट किया गया है, गलती।

@font-face { 
    font-family: barney; 
    src: url(barney_regular.ttf); 
    font-weight: 500; 
} 

@font-face { 
    font-family: barney; 
    src: url(barney_regular.ttf); 
    font-weight: 400; 
} 

@font-face { 
    font-family: barney; 
    src: url(barney_regular.ttf); 
    font-weight: 300; 
} 

ऊपर, एक ही सटीक टाइपफेस 3 अलग वजन करने के लिए आवंटित किया जा रहा है: लेकिन सिद्धांत रूप में मैं stupider सामान कर सकता है। तो अगर जावास्क्रिप्ट @font-face घोषणाओं के भीतर संबंधों का पता लगा सकता है, जैसे कि किस वजन से संबंधित फाइल जुड़ी है, शैली & परिवार; कितने वजन निर्दिष्ट किए गए हैं ... यह अभी भी आपको नहीं बता सका कि क्या संसाधन मौजूद हैं, डाउनलोड किए गए हैं, सटीक रूप से एक ही फ़ॉन्ट की एक अलग चौड़ाई का प्रतिनिधित्व करते हैं।

वेब टाइपोग्राफी पिछले 10 वर्षों में बड़े बदलावों में आया है, लेकिन यह अभी भी (अपेक्षाकृत बोल रहा है) टाइप-सेटिंग के लिए एक बकवास माध्यम है।

+0

डाउनवॉटर: क्या आप कह रहे हैं कि मेरा जवाब सही नहीं है? दावे को वैध करने के लिए देखभाल, स्पष्टीकरण के लिए पूछें? – Barney

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