2010-08-27 7 views
31

मुझे आश्चर्य है कि यूनिकोड में प्रत्येक चार्ट में कोड बिंदु है; एक फ़ॉन्ट में एक चरित्र के लिए समान शब्द क्या है?एक यूनिकोड चरित्र को फ़ॉन्ट में ग्लिफ में कैसे मैप किया जाता है?

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

उदाहरण के लिए, जब एक टेक्स्ट एडिटर ने अपने चरित्र एन्कोडिंग से फ़ाइल को डीकोड किया है, और मान लीजिए कि ग्रीक अल्फा α (यू + 03 बी 1) है। एक फ़ॉन्ट में एक विशेष ग्लिफ चुनने की सटीक प्रक्रिया क्या है? अधिकांश ऐप में एक पसंदीदा फ़ॉन्ट होता है। मान लें कि यह कूरियर है। (और एक दुर्लभ यूनिकोड char likhehe दिल ♥ (यू +2665) के मामले में क्या होता है, जो डिफ़ॉल्ट फ़ॉन्ट में नहीं है? ऐप को पता है कि फ़ॉन्ट में उस char को शामिल नहीं किया गया है?)

कोई फ़ॉन्ट करता है इसमें मेटा जानकारी क्या है इसके बारे में क्या प्रतीक है?

यदि 2 फोंट दोनों का प्रतीक अल्फा है, तो क्या वे जरूरी "कोड पॉइंट" साझा करते हैं? या यह टाइप 1, टाइप 3, ट्रू टाइप, ओपनटाइप जैसे फ़ॉन्ट के प्रकार पर निर्भर है? ...

किसी भी संकेतक या संदर्भ के लिए धन्यवाद।

उत्तर

28

ट्रू टाइप फ़ॉन्ट्स में कई अनुभाग शामिल हैं, सबसे महत्वपूर्ण बात यह है कि इस सवाल के लिए "ग्लिफ" और एक टेबल ("cmap") की एक तालिका उन ग्लिफ के लिए मैपिंग वर्णों के लिए है।

लंबी कहानी छोटी, ऑपरेटिंग सिस्टम पात्रों को ग्लिफ इंडेक्स में परिवर्तित करने के लिए "cmap" तालिका का उपयोग करता है, जो कि किसी भी मेलिंग एंट्री के लिए डिफ़ॉल्ट ग्लिफ़ को प्रतिस्थापित करता है। दुर्भाग्यवश फ़ॉन्ट फ़ाइल विनिर्देश के कई संस्करण हैं (विभिन्न प्रकार के फोंट का उल्लेख नहीं करते हैं) और उन तालिकाओं में एक ही मैपिंग के विभिन्न वर्ण एन्कोडिंग, इसलिए मैपिंग करने की वास्तविक प्रक्रिया, और इसे कुशलता से करना ताकि पाठ चित्र तेजी से हो , बहुत जटिल होने के समाप्त होता है।

ए "कोड प्वाइंट" पात्रों, एन्कोडिंग और फोंट से पूरी तरह से स्वतंत्र है। एक विशेष कोड बिंदु सार्वभौमिक है, लेकिन इसके लिए कई एन्कोडिंग हैं (यूटीएफ -8, यूटीएफ -16, आदि) और यह विभिन्न फ़ॉन्ट्स में विभिन्न ग्लिफ इंडेक्स को मैप करेगा।

http://developer.apple.com/fonts/ttrefman/

विशेष रूप से::

ग्लिफ़ तालिका: https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6glyf.html

चरित्र नक्शा: https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6cmap.html

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

+0

धन्यवाद। अच्छा उत्तर! – SeniorLee

+0

दिए गए भाषाओं में वर्णों के लिए मानकीकृत कोड बिंदु हैं? देश एक्स में कुछ दिन कुछ समिति की बैठक की तरह निर्णय लेते हैं और निर्णय लेते हैं, चलो कोड प्वाइंट ए, बी, सी, डी ... हमारे पात्रों के सामान सामान के लिए ... का उपयोग करते हैं ...? और फिर इसे कुछ आईएसओ में जमा किया गया? –

+0

@ v.oddou हाँ, बिल्कुल, http://unicode.org समिति है, और आप विभिन्न भाषाओं के लिए विभिन्न चरित्र सेटों को यहां देख सकते हैं: https://en.wikipedia.org/wiki/ Plane_% 28 यूनिकोड% 2 9 और आईएसओ रिश्ते यहां: https://en.wikipedia.org/wiki/Universal_Coded_Character_Set –

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