'ग्लिफ़' और 'वर्ण' के बीच व्यावहारिक अंतर क्या है?


26

मैंने इस सवाल को टाइपोग्राफी साइट के प्रस्ताव पर देखा और यह मुझे गलत लगा कि मुझे इसका जवाब नहीं पता था। मैं हमेशा 'ग्लिफ़' और 'चरित्र' को विनिमेय मानता हूँ।


यूनिकोड चरित्र एन्कोडिंग मॉडल पृष्ठ पर एक स्पष्टीकरण को पढ़ने के बाद , मेरी समझ लगभग यही है:

  • वर्णों को उनके स्वरूप द्वारा भाषा, ग्लिफ़ में उनके अर्थ द्वारा परिभाषित किया जाता है । तो, सौंदर्यशास्त्रीय संयोजन के लिए संयुक्ताक्षर एक ग्लिफ़ है, लेकिन दो वर्ण हैं।fi

इसलिए, मेरा विश्वास है (कृपया मुझे सही करें अगर मैं गलत हूं) कि व्यावहारिक अंतर होगा:

  • पाठ पार्सर्स जो पाठ के सौंदर्यशास्त्र में रुचि नहीं रखते हैं, वे अपने संबंधित पात्रों के रूप में ग्लिफ़ पढ़ेंगे। इसलिए:
    • यदि आप एक सादे पाठ संपादक में ग्लिफ़ युक्त टेक्स्ट को कॉपी और पेस्ट करना चाहते हैं, तो ग्लिफ़ को उनके संबंधित वर्णों में परिवर्तित किया जाएगा (एक लिगचर ग्लिफ़ बन जाएगा fऔर i)
    • टेक्स्ट पार्सिंग (जैसे सर्च इंजन क्रॉलर, स्क्रीन रीडर, स्पेल चेकर्स) पर आधारित कोई भी अच्छी तरह से स्वचालित प्रणाली, ग्लिफ़ की व्याख्या उनके संबंधित पात्रों के रूप में करेगी।
    • एक चरित्र में कई ग्लिफ़ या ग्लिफ़ सेट हो सकते हैं। मैं कहना चाहता हूं कि एक ग्लिफ़ में केवल एक ही चरित्र हो सकता है, लेकिन यह स्पष्ट रूप से सही नहीं है क्योंकि 3 ग्लिफ़ और ग्लिफ़ सेट के जुड़े लेख पर एक उदाहरण है जो प्रत्येक वर्ण और पात्रों के सेट के अनुरूप लगते हैं। मैं यह नहीं देखता कि यह कैसे काम कर सकता है: निश्चित रूप से इसका अर्थ है कि उन ग्लिफ़ की व्याख्या कैसे की जाती है, व्याख्याकार द्वारा भिन्नता में असंगति या अस्पष्टता होगी? (या यह भाषा से भिन्न होता है, या फ़ॉन्ट से?)
    • जबकि ग्लिफ़ ब्राउज़र (उदाहरण के लिए इलस्ट्रेटर में) में फॉन्ट का पूरा ग्लिफ़ सेट होता है, कैरेक्टर मैप्स (जैसे विंडोज कैरेक्टर मैप) में केवल कैरेक्टर होते हैं, ग्लिफ़ नहीं जो लिगॉरस जैसे कई कैरेक्टर होते हैं (कुछ ऐसा जो मैंने पहले नहीं देखा होगा)

मुझे लगता है कि मैं लगभग वहाँ रहा हूँ, लेकिन मैं रेखा के साथ स्पष्ट रूप से गलत समझा कहीं कुछ है: न सिर्फ "एक ग्लिफ़ कई पात्रों" बात है, लेकिन यह भी, कॉपी करने और संयुक्ताक्षर के साथ व्यवहार चिपकाने नहीं है काफी मेरी अपेक्षा:

  • इलस्ट्रेटर से संयुक्ताक्षर को इस इनपुट बॉक्स में कॉपी करें : fiउम्मीद के अनुसार (दो अक्षर) के रूप में चिपकाता है।
  • इसके लिए HTML कोड में पेस्ट करें ( fi) - एक कोड ब्लॉक में नहीं होने पर लिगचर के रूप में प्रदर्शित होता है (fi - जो इस फ़ॉन्ट में लिगचर जैसा नहीं दिखता है, लेकिन आप देखेंगे कि यदि आप सिर्फ आधे का चयन करने का प्रयास करते हैं यह), और कोड जब एक कोड ब्लॉक में ( fi), जैसा कि अपेक्षित था।
  • कॉपी किए गए नॉन-कोड-ब्लॉक लिगचर को वापस इनपुट बॉक्स में कॉपी और पेस्ट करें: लिगचर कैरेक्टर के रूप में पेस्ट करता है, और लिगचर के रूप में प्रस्तुत करता है, भले ही वह कोड ब्लॉक में हो या नहीं (fi और )। इसी तरह शब्दों से युक्त: fi t mis s ts ( fit misfits) pastes as words t mis fi ts ( fit misfits)। हो सकता है कि यह इस बात पर निर्भर करता है कि जिस स्थान पर इसे चिपकाया जा रहा है वह इस्तेमाल किए गए एन्कोडिंग को समझता है या नहीं?

मेरी समझ में यह कितना गलत है? क्या कोई मुझे सही कह सकता है: ग्लिफ़ और वर्णों के बीच के अंतर की स्पष्ट परिभाषा बताते हुए (अगर मेरा गलत है या सुधार किया जा सकता है), और अभ्यास में मेरे मतलब की तुलना में स्पष्ट / अधिक सटीक उदाहरण दें ?


2
यह अधिक जटिल हो जाता है जब आपके पास अरबी जैसी स्क्रिप्ट होती है जहां आपके पास वर्णों का संयोजन होता है।
मोनिका को बहाल करें - एम। श्रोडर

1
@ MartinSchröder +1 एक उत्कृष्ट उत्तर के शुरुआती वाक्य की तरह लगता है ... :)
user56reinstatemonica8

जवाबों:


4

ग्लिफ़ का संबंध पाठ से कैसे होता है, इस से संबंधित है कि इसकी व्याख्या कैसे की जाती है। जब आप कॉपी और पेस्ट करते हैं, तो स्रोत एप्लिकेशन आमतौर पर कई प्रारूपों का विकल्प देता है। सादा पाठ f लिगचर को f और i में विघटित करेगा, HTML प्रारूप इसे आपके द्वारा उद्धृत ईकाई इकाई में अनुवाद कर सकता है या इसे f और i में भी विघटित कर सकता है।

सामान्य तौर पर वर्ण और ग्लिफ़ के बीच संबंध n: m है। इंडिक भाषाओं में कुछ वर्ण दो ग्लिफ़ में विभाजित होते हैं जिन्हें शब्द के विभिन्न स्थानों पर रखा जाता है। लैटिन में उस स्थिति के सबसे करीब दो ग्लिफ़ (ई और closest) के रूप में प्रस्तुत किया जाएगा। अरबी में प्रत्येक वर्ण में एक शब्द के भीतर अपनी स्थिति के आधार पर अलग-अलग ग्लिफ़ होते हैं: प्रारंभिक, मध्य, अंतिम या पृथक।

वर्णों से ग्लिफ़ तक का अनुवाद प्रत्येक अनुप्रयोग के लिए विशिष्ट है और टाइपोग्राफिक सुविधाएँ जो इसका समर्थन करती हैं। लैटिन पाठ के लिए यह अनुवाद सरल हुआ करता था, लेकिन ओपन टाइप फोंट ने अतिरिक्त फीचर्स पेश किए जैसे कि लिगर्स, स्वैग, वैकल्पिक रूप, छोटे कैप आदि।

व्यावहारिक कारणों से आप केवल अपने आप को ग्लिफ़ के साथ चिंता करते हैं जब आप लागू करते हैं कि कोई एप्लिकेशन पाठ कैसे प्रस्तुत करता है, या जब आप एक फ़ॉन्ट डिज़ाइन करते हैं, या जब आप एक ओपन टाइप सुविधा लागू करना चाहते हैं जो कुछ ग्लिफ़ को दूसरों के साथ प्रतिस्थापित करता है (जैसे ligatures)। अन्यथा यूनिकोड कोड पॉइंट आपके मित्र हैं।


हाय user322483, GDSE में आपका स्वागत है और आपके उत्तर के लिए धन्यवाद। यदि आपके कोई प्रश्न हैं, तो कृपया अपनी प्रतिष्ठा के लिए पर्याप्त (20) हो जाने पर कृपया सहायता केंद्र को देखें या ग्राफिक डिज़ाइन चैट में हममें से किसी को पिंग करें । योगदान करते रहें और साइट का आनंद लें!
विंसेंट

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

14

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

संक्षेप में: चरित्र एक भाषाई इकाई को संदर्भित करता है। ग्लिफ़ उस इकाई के डिज़ाइन किए गए उदाहरण को संदर्भित करता है, चाहे वह अपरकेस, लोअरकेस, छोटी टोपी, ऐतिहासिक या शैलीगत संस्करण हो।


कंप्यूटिंग में, ए और एक अलग अक्षर हैं। ASCII में 128 वर्ण हैं और वर्ण शब्द में A और एक अलग वर्ण शामिल हैं।
बार्लोप

अभियंता बहुत सारे शब्दों का उपयोग करते हैं जो अन्य उद्योगों में मिसाल के साथ संरेखित नहीं करते हैं। तुम्हारा एक अच्छा उदाहरण है।
प्लेनक्लोथ्स

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

1
सॉफ्टवेयर इंजीनियरिंग से बहुत पहले टाइपोग्राफी आ गई । यदि आप अनुसंधान शुरू करते हैं और उत्पत्ति पाते हैं तो कृपया यहाँ पोस्ट करें। मेरा अनुमान है कि यह 17 वीं शताब्दी में कभी होगा। संभवतः 16 वीं शताब्दी के मध्य में पहला टाइपोग्राफर था।
प्लेनक्लॉथ्स

6

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

सबसे पहले, आपकी समझ मौलिक रूप से सही है:

वर्णों को उनके स्वरूप द्वारा भाषा, ग्लिफ़ में उनके अर्थ द्वारा परिभाषित किया जाता है । तो, सौंदर्यशास्त्र के संयोजन के लिए संयुक्ताक्षर एक ग्लिफ़ है, लेकिन दो वर्ण हैं।

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

मैं इसका उल्लेख करता हूं क्योंकि आपके द्वारा ऊपर अनुभव किया गया भ्रम इस तथ्य के कारण था कि यूनीकोड ​​में कई लिगचर वर्ण ( ग्लिफ़ नहीं ) मौजूद हैं। उदाहरण के लिए,, U+FB01संयुक्ताक्षर के लिए वर्ण है: http://unicode.org/charts/PDF/UFB00.pdf

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

मौजूदा लिगचर मूल रूप से गैर-यूनिकोड वर्ण सेट के साथ संगतता और राउंड-ट्रिपिंग के लिए मौजूद हैं। उनका उपयोग हतोत्साहित किया जाता है।

इस चरित्र का अस्तित्व अंततः आपके भ्रम का स्रोत है।

सही ढंग से लागू किए गए सॉफ़्टवेयर में, पाठ की प्रतिलिपि हमेशा उन वर्णों को कॉपी करना चाहिए जो निर्दिष्ट किए गए थे, न कि ग्लिफ़ , और यही आपके तीन उदाहरणों में चल रहा है।

1) पहले उदाहरण में, आपने टाइप किया fऔर iइलस्ट्रेटर में, जिसने एक ही लिगचर ग्लिफ़ प्रदान किया । जब आप चयनित और उस गाया हुआ ग्लिफ़ की नकल करते हैं, तो इलस्ट्रेटर ने आपके क्लिपबोर्ड पर सही तरीके से f( U+0066) और i( U+0069) अक्षर कॉपी किए हैं।

2) दूसरे उदाहरण में, आपने इनपुट बॉक्स में संयुक्ताक्षर वर्ण ( &#64257) के लिए HTML कोड टाइप किया , और सही ढंग से संयुक्ताक्षर वर्ण का प्रतिनिधित्व करने वाला लिगचर ग्लिफ़ मिला (क्योंकि अंतर्निहित वर्ण वास्तव में अस्पष्ट और अपेक्षाकृत बिंदु संयुक् त वर्ण है। ऊपर, उस ग्लिफ़ का चयन करना एक एकल वर्ण की नकल करेगा ।U+FB01

3) तीसरे उदाहरण में, आप भाग 2 में प्रदान किए गए गाया संयुक्ताक्षर चरित्र की नकल कर रहे हैं U+FB01, जो हमेशा उस चरित्र के रूप में पेस्ट होगा। आपका मुख्य भ्रम HTML इकाई कोड और वर्णों के बीच अंतर के बारे में लगता है, विशेष रूप से इस संबंध में कि वे कोड ब्लॉक के अंदर और बाहर कैसे प्रस्तुत किए जाते हैं।

HTML इकाई कोड &#64257;8 अलग-अलग वर्णों का एक स्ट्रिंग है। आपके वेब ब्राउज़र का HTML रेंडरर एकल यूनिकोड वर्ण के U+0026 U+0023 U+0036 U+0032 U+0035 U+0037 U+0023साथ उन 8 वर्णों को प्रतिस्थापित करता है , जो तब यह उचित रूप से प्रस्तुत करता है। हालाँकि, HTML में टैग इस व्यवहार को निष्क्रिय कर देता है, उन 8 वर्णों को छोड़ देता है जैसे वे हैं।U+FB01<code>

जब आप प्रदान किए गए HTML से कॉपी करते हैं, तो आप प्रदान किए गए वर्णों की प्रतिलिपि बनाते हैं (जो प्रदान किए गए ग्लिफ़ से अलग होते हैं )। इस प्रकार, जब आप अपनी प्रदान की गई HTML इकाई की प्रतिलिपि बनाते हैं, तो एकल U+FB01वर्ण आपके क्लिपबोर्ड पर कॉपी किया जाता है।

जब आप U+FB01चरित्र को वापस HTML में पेस्ट करते हैं , तो किसी भी प्रतिस्थापन की आवश्यकता नहीं होती है, जिसका अर्थ है कि चरित्र को एक <code>खंड के रूप में प्रस्तुत किया गया है, भले ही यह ब्लॉक के भीतर हो या न हो ।


1

वर्ण वे हैं जो पाठ फ़ाइलों में संग्रहीत होते हैं, जो अनुप्रयोगों द्वारा संसाधित होते हैं, और चारों ओर चले जाते हैं, जबकि ग्लिफ़ उनका दृश्य प्रतिनिधित्व है।

एक स्पष्ट चित्र रखने के लिए, यह देखने देता है कि क्या होता है जब कोई एप्लिकेशन स्क्रीन पर स्ट्रिंग के पाठ को प्रस्तुत करने की कोशिश करता है (थोड़े सरल तरीके से):

  • एप्लिकेशन ने पहले पाठ स्ट्रिंग पढ़ा, कि यह डिस्क पर या स्मृति में संग्रहीत पात्रों की स्ट्रिंग है।
  • इसके बाद इसे कुछ अन्य गुणों जैसे वांछित फ़ॉन्ट, पाठ भाषा और कुछ के बीच एक टेक्स्ट लेआउट इंजन में भेज देंगे:
    • पाठ लेआउट इंजन मूल रूप से फ़ॉन्ट फ़ाइल को खोलता है, ग्लिफ़ (रों) हर किरदार के लिए इसी के लिए यह पूछता है और (के लिए ग्लिफ़ की जगह की तरह कुछ ग्लिफ़ प्रतिस्थापन करना fऔर iके संयुक्ताक्षर ग्लिफ़ के साथ fiऔर (कर्निंग) की तरह रखना)।
    • अंत में लेआउट इंजन में ग्लिफ़ का एक क्रम होता है, उनकी स्थिति एक दूसरे के सापेक्ष होती है, और इनपुट वर्णों और आउटपुट ग्लिफ़ के बीच एक मानचित्रण होता है। ग्लिफ़ मैपिंग का वर्ण इतना है कि यह जानता है कि शब्द के पहले दो अक्षर fileदो पहले ग्लिफ़ ( fiसंयुक्ताक्षर), 2 वर्ण ग्लिफ़ के 4 वें वर्ण और 4 वें वर्ण तीसरे ग्लिफ़ के अनुरूप हैं ।
  • एक ग्राफिक्स रेंडरिंग लाइब्रेरी का उपयोग तब स्क्रीन पर उन ग्लिफ़ को "फॉन्ट" करने के लिए किया जाता है, जो फॉन्ट से आकृतियों का उपयोग करते हैं।
  • जब उपयोगकर्ता स्क्रीन पर "ग्लिफ़" का चयन करता है, तो एप्लिकेशन तब लेआउट इंजन द्वारा प्रदान की गई टेक्स्ट मैपिंग के लिए ग्लिफ़ से परामर्श करेगा कि इनपुट टेक्स्ट का कौन सा भाग उपयोगकर्ता के चयन से मेल खाता है और क्लिपबोर्ड में उस पाठ को भेजने के लिए क्या है। उपयोगकर्ता इसे कॉपी करता है।
  • ऐसा ही तब होता है जब उपयोगकर्ता कर्सर को टेक्स्ट के बीच में डाल देता है और टाइप करना शुरू कर देता है, मैपिंग यह निर्धारित करती है कि नए वर्णों को सम्मिलित करने के लिए इनपुट टेक्स्ट में कहां अपडेट किया गया है, और अपडेट करने वाले टेक्स्ट को लेआउट इंजन को प्रोसेस और रिडर्न करने के लिए भेजा जाता है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.