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


129

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

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

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

  • स्क्रिप्ट:

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

  • Blackletter:

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

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


224
मैं इसे अपने फोन से पढ़ रहा हूं और मैं अंतिम दो फैंसी ग्रंथ नहीं देख सकता।
13

22
क्योंकि यह कुछ उपकरणों पर अपठनीय है: i.stack.imgur.com/kM73J.png
क्रिस केंट

15
क्योंकि हम में से कुछ लोग वेब पेजों को देखना चाहते हैं, जिन्हें हम पठनीय फोंट (और आकार, रंग, और सी) मानते हैं, इसलिए हम लेखक शैलियों को ओवरराइड करने के लिए उदाहरण के लिए उपयोगकर्ता सीएसएस स्टाइलशीट का उपयोग करते हैं। आप यह देख सकते हैं कि भले ही आपके डिवाइस पर आपके तीन उदाहरण प्रदर्शित हों, लेकिन जैसा कि आप उन्हें प्रकट करने का इरादा रखते हैं, मेरे लिए वे केवल सीमावर्ती हैं। आप अपने पाठकों के पढ़ने की सहजता के ऊपर अपनी कलात्मक कलाकृतियों को क्यों रखेंगे?
jamesqf

38
यहां एक दिलचस्प अवलोकन है: एज बाद के दो नमूनों में पाठ नहीं ढूंढ सकता है, और क्रोम पहले एक में पाठ नहीं ढूंढ सकता है। (दोनों ब्राउज़रों में BEHOLD के लिए Ctrl + F'ing आज़माएं।) फ़ायरफ़ॉक्स की जाँच नहीं की गई है।
Schism

22
@ स्किस्म फ़ायरफ़ॉक्स उनमें से कोई भी नहीं पाता है। लगता है कि क्रोम शायद खोज से पहले NFKC / NFKD सामान्यीकरण का उपयोग करता है, जो स्क्रिप्ट और ब्लैक लिटर पाठ को मूल लैटिन में विघटित करता है। फ़ायरफ़ॉक्स ऐसा करने के लिए प्रतीत नहीं होता है। एज ... कुछ अजीब कर रहा है।
बॉब

जवाबों:


224

सामान्य

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

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

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

सरल उपयोग

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

𝓽𝓱𝓮

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

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

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

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

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

लेकिन भले ही पाठक की मशीन केवल एक अलग फ़ॉन्ट का उपयोग करती है, इससे पाठ काफी कम पढ़ा जा सकता है। एक के लिए पहला उदाहरण है, इस 𝓉𝒽ℯ दो अलग अलग फोंट के साथ प्रदान की गई है:

with FreeSerif और STIX के साथ प्रदान किया गया

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

एक दूसरे उदाहरण में , मान लीजिए कि आपने या पाठक ने किसी कारणवश “कुछ भी हो” कहा है। एक अच्छे फ़ॉन्ट के साथ, आपको 4 मिलेंगे :

यह सही और इटैलिक में प्रस्तुत किया गया है।  इटैलिक "सह मेरी बार" के रूप में पढ़ता है

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

खोज योग्यता

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

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

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

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

हालाँकि यदि आप नियमित पाठ का अनुकरण करने के लिए इस वर्ण का उपयोग करते हैं, तो इसे W या use के लिए सटीक मोड में खोजते हुए पाया जाना चाहिए , जो ऊपर दिए गए विवादों में है।

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

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

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


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


टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
जर्नीमैन गीक

1
तीसरे उदाहरण के बारे में क्या? यूनिकोड बनाम केवल कुछ फ़ॉन्ट में ब्लैक लिटर पाठ क्यों मौजूद है?
पॉज़फ़ान

2
@ posfan12: यह एक अलग गणितीय वर्णमाला के रूप में उपयोग किया जाता है - स्क्रिप्ट पात्रों की तरह। (ध्यान दें कि यहां दिए गए उदाहरण की संख्या का प्रश्न में बुलेट पॉइंट से कोई लेना-देना नहीं है।)
Wrzlprmft

3
आपका छोटा-सीपीएस उदाहरण एक पहेली / प्रतिस्पर्धा का सुझाव देता है: एक वैध वाक्य खोजें जो एक अलग वाक्य बन जाता है जब इटैलिकाइज़ किया जाता है ... (मानव लैटिन-आधारित पाठकों द्वारा व्याख्या की गई, दोनों कहते हैं)
हेगन वॉन एटिजन

67

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

यहाँ छवि विवरण दर्ज करें

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

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

यहाँ छवि विवरण दर्ज करें

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

यहाँ छवि विवरण दर्ज करें



7
@ लिलियन्थल मैं कितने वर्षों से प्रभावित हूं कि आप अपडेट की जाँच या स्थापना के बिना चले गए होंगे। मेरा मतलब है, मैं अभी भी कुछ उपकरणों पर फ़ायरफ़ॉक्स 3.5 के आधार पर कुछ का उपयोग कर रहा हूं, लेकिन मेरे पास इस मामले में कोई विकल्प नहीं है (डिवाइस बहुत अच्छा है, लेकिन कोई नया प्रयोग करने योग्य ब्राउज़र उपलब्ध नहीं है)
mtraceur

16
@ लिलिंथल 2020 में कुछ समय, फ़ायरफ़ॉक्स प्रमुख संस्करण संख्याओं में 64-बिट संख्याओं की आवश्यकता हो सकती है। उसके तुरंत बाद, संस्करण संख्या वास्तविक कार्यक्रम की तुलना में अधिक स्थान ले लेगी। बाजार में हिस्सेदारी हासिल करने के प्रयास में, क्रोम संस्करण संख्याओं को संग्रहीत करने के लिए पूरे ग्रहों की आवश्यकता होगी।
एंड्रयू मॉर्टन

2
आप लोगों को इस तरह के प्राचीन ब्राउज़रों का उपयोग करके अपने आप को कितने ज्ञात और सक्रिय सुरक्षा कमजोरियों का पता है?
ज़ैक लिपटन

3
@Zach Lipton: क्या आपको एहसास है कि मेरी प्राथमिकताओं की सूची में नीचे की ओर है? # 1 के पास कुछ है जो मैं वास्तव में उपयोग कर सकता हूं। यद्यपि हो सकता है कि फ़ायरफ़ॉक्स लोगों (और कई अन्य) ने एक नया प्रतिमान ग्रहण किया हो: अनुपयोगिता के माध्यम से सुरक्षा।
jamesqf

29

मैं इस के साथ एक xy समस्या आ रही है।

Y और X बाकी टेक्स्ट की तुलना में छोटे दिखाई देते हैं

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


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

12
@Wrzlprmft: परिभाषा के अनुसार वे यूनिकोड दुरुपयोग हैं क्योंकि यूनिकोड में छोटे कैप नहीं हैं। यूनिकोड में जो अक्षर होते हैं, वे ध्वन्यात्मक वर्णमाला ब्लॉक और लैटिन एक्सटेंडेड-डी ब्लॉक में छोटे कैप जैसे दिखते हैं। विशेष रूप से, न तो दो फ़ोनेटिक ब्लॉक और न ही लैटिन एक्सटेंडेड-डी ब्लॉक में वह अक्षर होता है जो छोटे कैप्स एक्स जैसा दिखता है , इसलिए मेरा अनुमान है कि एक्स कहीं और से आता है, शायद सिरिलिक ब्लॉक। अंतर न तो 1, 2 या 3 के कारण होता है। यह किसी अन्य वर्णमाला से संबंधित पत्र के कारण होता है।
स्लीपबेटमैन

@ स्लेबेटमैन: स्माल-कैप एक्स केवल एक नियमित लोअरकेस एक्स है (आप केवल प्रश्न से चरित्र को कॉपी कर सकते हैं और इसका निरीक्षण स्वयं कर सकते हैं)। और एक लोअरकेस x को ध्वन्यात्मक वर्णों के साथ सामंजस्य करना पड़ता है, क्योंकि इसका उपयोग ध्वन्यात्मक वर्ण के रूप में भी किया जाता है। इसमें सिरिलिक लोअरकेस वर्णों की भी उतनी ही ऊँचाई होनी चाहिए, क्योंकि आप नहीं चाहते हैं कि एक भी सिरिलिक शब्द लैटिन पाठ (और इसके विपरीत) से बाहर खड़ा हो।
Wrzlprmft

19
"XY प्रॉब्लम" में लोल के लिए अपवित्र :) :)
एंड्रयू मॉर्टन

13

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.