सवाल टाइपोग्राफिक शैलियों (जैसे छोटे कैप्स या स्क्रिप्ट) को अनुकरण करने के लिए मैं यूनिकोड वर्णों का उपयोग क्यों नहीं करना चाहिए?


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

  • छोटी टोपियाँ:

    ʙᴇʜᴏʟᴅ ᴛʜɪꜱ ꜰᴀɴᴄɪʟy ᴇɴᴄᴏᴅᴇᴅ ᴛᴇxᴛ।

  • स्क्रिप्ट:

    𝓑𝓮𝓱𝓸𝓵𝓭 𝓽𝓱𝓲𝓼 𝓯𝓪𝓷𝓬𝓲𝓵𝔂 𝓮𝓷𝓬𝓸𝓭𝓮𝓭 𝓽𝓮𝔁𝓽।

  • Blackletter:

    𝕭𝖊𝖍𝖔𝖑𝖉 𝖙𝖍𝖎𝖘 𝖋𝖆𝖓𝖈𝖎𝖑𝖞 𝖊𝖓𝖈𝖔𝖉𝖊𝖉 𝖙𝖊𝖝𝖙।

यह स्टैक एक्सचेंज पर ब्याज से मिले (उदा। यहाँ, यहाँ, तथा यहाँ) और ऐसी तकनीकों की आलोचना की गई थी। लेकिन जब मैं उनका उपयोग करता हूं तो क्या गलत हो सकता है?


123
2017-12-26 11:00


मूल


मैं इसे अपने फोन से पढ़ रहा हूं और मैं पिछले दो फैंसी ग्रंथों को नहीं देख सकता हूं। - Scimonster
क्योंकि यह कुछ उपकरणों पर अपठनीय है: i.stack.imgur.com/kM73J.png - Chris Kent
क्योंकि हम में से कुछ वेब पृष्ठों को देखना चाहते हैं जो हम पठनीय फोंट (और आकार, रंग, और सी) मानते हैं, इसलिए हम उदाहरण का उपयोग करते हैं। लेखक शैलियों को ओवरराइड करने के लिए उपयोगकर्ता सीएसएस स्टाइलशीट। आप ध्यान दें कि भले ही आपके तीन उदाहरण मेरे डिवाइस पर प्रदर्शित हों, जाहिर है जैसे आप उन्हें प्रकट करना चाहते हैं, मेरे लिए वे केवल सीमा रेखा पठनीय हैं। आप अपने पाठकों की पढ़ने के आसानी से अपनी कलात्मक लालसा क्यों लगाएंगे? - jamesqf
यहां एक दिलचस्प अवलोकन है: एज को बाद के दो नमूने में टेक्स्ट नहीं मिल रहा है, और क्रोम को पहले में टेक्स्ट नहीं मिल रहा है। (दोनों ब्राउज़रों में BEHOLD के लिए Ctrl + F'ing आज़माएं।) फ़ायरफ़ॉक्स की जांच नहीं की है। - Schism
@ स्कीम फ़ायरफ़ॉक्स उनमें से कोई भी नहीं पाता है। ऐसा लगता है कि क्रोम शायद खोज से पहले एनएफकेसी / एनएफकेडी सामान्यीकरण का उपयोग करता है, जो स्क्रिप्ट और ब्लैकलेटर पाठ को मूल लैटिन में विघटित करता है। फ़ायरफ़ॉक्स ऐसा नहीं लगता है। एज ... कुछ अजीब कर रहा है। - Bob


जवाब:


सामान्य

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

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

विशिष्ट उदाहरण

सरल उपयोग

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

𝓽𝓱𝓮

निश्चित लेख या गणितीय उत्पाद होने के लिए है2 चर के 𝓽, 𝓱, और 𝓮 - जो कि वे वर्ण हैं। इसलिए सबसे अच्छा व्यवहार यह होगा कि यह इन पात्रों को बताता है, उदा। सचमुच निम्नलिखित कह रहा है:

बोल्ड स्क्रिप्ट छोटे टी, बोल्ड स्क्रिप्ट छोटे एच, बोल्ड स्क्रिप्ट छोटे ई

इसे केवल "द" नहीं कहना चाहिए क्योंकि तब यह गणितीय ग्रंथों को सही ढंग से नहीं पढ़ेगा जिनके प्रतीक एक सर्वनाम शब्द बनने के लिए होते हैं।3

पोर्टेबिलिटी

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

लेकिन यहां तक ​​कि अगर पाठक की मशीन केवल एक अलग फ़ॉन्ट का उपयोग करती है, तो यह पाठ को काफी कम पठनीय बना सकता है। के लिए पहला उदाहरण, यह different दो अलग-अलग फ़ॉन्ट्स के साथ प्रस्तुत किया गया है:

𝓉𝒽ℯ rendered with FreeSerif and STIX

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

में दूसरा उदाहरण, मान लीजिए कि आप या पाठक इटालिसिस "сᴜт мy вᴀʀ" किसी कारण से। एक अच्छे फ़ॉन्ट के साथ, आप पाएंगे4:

сᴜт мy вᴀʀ rendered in upright and italics. italics reads as "cum my bar"

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

खोज योग्यता

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

  • खोजते समय मिला w या डब्ल्यू डिफ़ॉल्ट मोड में - उन लोगों के लिए जो खोज क्षेत्र में विशेष चरित्र को दर्ज करने या कॉपी करने के लिए परेशान नहीं करना चाहते हैं;

  • सटीक मोड में 𝒲 खोजते समय पाया - उन लोगों के लिए जो खोजना चाहते हैं कि गणितीय दस्तावेज़ में संबंधित चर का उल्लेख किया गया है;

  • 𝓌 के लिए खोज करते समय नहीं मिला, w या डब्ल्यू उपरोक्त की तरह एक खोज तोड़ने के कारण सटीक मोड में।

हालांकि यदि आप नियमित पाठ को अनुकरण करने के लिए इस चरित्र का उपयोग करते हैं, तो यह खोजते समय पाया जाना चाहिए डब्ल्यू या 𝒲 सटीक मोड में, जो उपरोक्त के साथ संघर्ष में है।

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

एक सटीक खोज विकल्प इस समस्या को हल नहीं कर सकता है, क्योंकि यह उन अक्षरों में अन्य उद्देश्यों के लिए आरक्षित है।

सामान्य रूप में, एक खोज बनाना असंभव है (विकल्पों की पागल राशि के बिना) जो स्टाइल किए गए लैटिन पाठ को अनुकरण करने के लिए विशेष वर्णों का उपयोग करके टूटा नहीं जाता है।


1तुम्हे पता हैं मानकों को एकीकृत करने की अपरिहार्य विफलता के बारे में एक्सकेसीडी? खैर, यूनिकोड सफल हुआ।
2या जो भी खाली ऑपरेटर प्रासंगिक सम्मेलन में है
3मुझे पता है कि आजकल बहुत कम गणितीय ग्रंथ इस एन्कोडिंग या इसके अनुकूल कुछ समर्थन करते हैं लेकिन मुद्दा यह है कि कुछ दिन वे उम्मीद करते हैं। आपका यूनिकोड-दुरुपयोग पाठ अभी भी आसपास हो सकता है और फिर पढ़ सकता है।
4जब तक आप मैसेडोनियन या सर्बियाई के लिए स्थानीयकरण नहीं कर रहे हैं, जिसमें आप अलग-अलग लेकिन अभी भी अवांछनीय परिणाम प्राप्त करेंगे।


220
2017-12-26 11:00



टिप्पणियां विस्तारित चर्चा के लिए नहीं हैं; यह बातचीत हुई है चैट करने के लिए चले गए। - Journeyman Geek♦
तीसरे उदाहरण के बारे में क्या? यूनिकोड बनाम ब्लैकलेटर टेक्स्ट भी कुछ फ़ॉन्ट क्यों बना रहा है? - posfan12
@ posfan12: यह एक विशिष्ट गणितीय वर्णमाला के रूप में प्रयोग किया जाता है - स्क्रिप्ट वर्णों की तरह। (ध्यान दें कि यहां उदाहरण संख्या में प्रश्न में बुलेट बिंदुओं से कोई लेना देना नहीं है।) - Wrzlprmft
आपका छोटा-सीपीए उदाहरण एक पहेली / प्रतिस्पर्धात्मक सुझाव देता है: एक मान्य वाक्य खोजें जो इटालिसिक होने पर एक अलग वाक्य बन जाए ... (दोनों मानव लैटिन-आधारित पाठकों द्वारा व्याख्या की गई) कहें) - Hagen von Eitzen


क्या गलत हो सकता हैं? खैर, मैं यह देखता हूं:

enter image description here

विंडोज 7 पर फ़ायरफ़ॉक्स 50.1.0 में।

की परेशानी गायब ग्लिफ, इस मामले में एक मोबाइल डिवाइस पर, उपयोगकर्ता द्वारा दी गई छवि में आगे दिखाया गया है क्रिस केंट में एक टिप्पणी, जो मैंने फसल और आकार बदल दिया है असली:

enter image description here

और उपयोगकर्ता oals की कृपा करे योगदान एक और उदाहरण:

enter image description here


66
2017-12-26 11:31



मेरे? i.stack.imgur.com/lWRAa.png - oals
@Lilienthal मैं प्रभावित हूं कि अद्यतनों की जांच किए बिना आपको कितने सालों तक जाना होगा। मेरा मतलब है, मैं अभी भी कुछ उपकरणों पर फ़ायरफ़ॉक्स 3.5 के आधार पर कुछ उपयोग कर रहा हूं, लेकिन मेरे पास इस मामले में बिल्कुल कोई विकल्प नहीं है (डिवाइस बहुत अच्छा है, लेकिन कोई नया उपयोग करने योग्य ब्राउज़र उपलब्ध नहीं है) - mtraceur
@Lilienthal 2020 में कुछ समय, फ़ायरफ़ॉक्स के प्रमुख संस्करण संख्याओं को 64-बिट संख्याओं की आवश्यकता हो सकती है। इसके तुरंत बाद, संस्करण संख्या वास्तविक कार्यक्रम की तुलना में अधिक जगह लेगी। बाजार हिस्सेदारी हासिल करने के प्रयास में, क्रोम संस्करण संख्याओं को उन्हें स्टोर करने के लिए पूरे ग्रहों की आवश्यकता होगी। - Andrew Morton
आप लोगों को कोई विचार है कि इस तरह के प्राचीन ब्राउज़रों का उपयोग करके आप कितनी ज्ञात और सक्रिय सुरक्षा भेद्यताएं स्वयं को उजागर कर रहे हैं? - Zach Lipton
@ ज़च लिपटन: क्या आपको एहसास है कि मेरी प्राथमिकताओं की सूची में रास्ता नीचे है? # 1 में कुछ ऐसा है जो मैं वास्तव में उपयोग कर सकता हूं। यद्यपि फ़ायरफ़ॉक्स लोगों (और कई अन्य) ने एक नया प्रतिमान गले लगा लिया है: अनुपयोगीता के माध्यम से सुरक्षा। - jamesqf


मुझे इसके साथ एक एक्सवाई समस्या है।

Y and X appear smaller than the rest of the text

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


28
2017-12-26 19:46



मैं जो देख रहा हूं उसके लिए मैं तीन संभावित स्पष्टीकरण प्रदान कर सकता हूं: 1) खराब इशारा। 2) सब कुछ के लिए एक फॉलबैक फ़ॉन्ट का उपयोग किया जाता है एक्स तथा y। 3) खराब फ़ॉन्ट डिज़ाइन: छोटे कैप्स को लोअरकेस अक्षरों से थोड़ा बड़ा होने के लिए डिज़ाइन किया गया था (जो एक वैध विकल्प है) और फिर फोनेटिक और सिरिलिक यूनिकोड वर्णों के लिए उपयोग किया जाता है - जो कि एक अच्छा विकल्प नहीं है, उदाहरण के लिए, फोनेटिक उपयोग में, ये वर्ण मूल लैटिन पात्रों के साथ सामंजस्य बनाना है। - किसी भी तरह से: अंक 1) और 3) यूनिकोड दुरुपयोग के कारण नहीं हैं। प्वाइंट 2) पहले से ही अन्य उत्तरों में संबोधित किया गया है। - Wrzlprmft
@Wrzlprmft: परिभाषा के अनुसार वे यूनिकोड दुरुपयोग हैं क्योंकि यूनिकोड में छोटी कैप्स नहीं होती है। क्या यूनिकोड में ऐसे अक्षर होते हैं जो फोनेटिक अल्फाबेट ब्लॉक और लैटिन विस्तारित-डी ब्लॉक में छोटी कैप्स की तरह दिखते हैं। विशेष रूप से, न तो दो फोनेटिक ब्लॉक और न ही लैटिन विस्तारित-डी ब्लॉक में वह पत्र होता है जो छोटे कैप्स की तरह दिखता है एक्स, इसलिए मेरा अनुमान है कि एक्स कहीं और, सिरीलिक ब्लॉक से आता है। अंतर न तो 1, 2 और न ही 3 के कारण होता है। यह किसी अन्य वर्णमाला से संबंधित पत्र के कारण होता है। - slebetman
@ स्लेबेटमैन: छोटे-कैप्स एक्स सिर्फ एक नियमित लोअरकेस है एक्स (आप सिर्फ चरित्र से चरित्र की प्रतिलिपि बना सकते हैं और इसे स्वयं निरीक्षण कर सकते हैं)। और एक लोअरकेस एक्स ध्वन्यात्मक पात्रों के साथ सामंजस्य बनाना है, क्योंकि इसे ध्वन्यात्मक चरित्र के रूप में भी प्रयोग किया जाता है। यह भी सिरीलिक लोअरकेस पात्रों के समान ऊंचाई होनी चाहिए, क्योंकि आप नहीं चाहते हैं कि सिंगल सिरिलिक शब्द लैटिन टेक्स्ट (और इसके विपरीत) से बाहर खड़े हों। - Wrzlprmft
"एक्सवाई समस्या" पर लॉल के लिए ऊपर उठाया :) - Andrew Morton


लैटिन वाले लोगों की तरह दिखने वाले गैर-लैटिन वर्णों का उपयोग करके आपको स्पैमर, पोर्नमॉन्गर्स, और कौन-से-वे-वे-वे-अप-अप-अप करने वाले लोगों को शामिल करते हैं जो उनके टेक्स्ट को अचूक, अवांछित और प्रतिकूल मानते हैं। ("मैंने कभी नहीं कहा था कि यह सुरक्षित था !! मैंने कहा कि यह सिग्मा-अल्फा-अभिन्न-साइन-एपिस्लोन था !!! मुझे मुकदमा नहीं कर सकता !!!")

यदि आप उस क्लब में आरामदेह हैं, तो इसके लिए जाएं।


13
2017-12-28 20:04