स्टाइल किया हुआ टेक्स्ट खाली चौकोर (टोफू) के रूप में क्यों दिखता है?

वही संदेश, भेजा और प्राप्त

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

एक्सेंट वाले वर्णों से भरा एक स्टाइल किया ईमेल, iPhone 14 पर सही ढंग से दिखता हुआ।
iPhone 14 से भेजा गया। ETeext से स्टाइल किया गया एक संदेश, एक्सेंट वाले वर्णों से भरा, ईमेल में बिल्कुल सही दिखता है।
वही ईमेल एक Redmi Note पर प्राप्त, जहाँ एक्सेंट वाले वर्ण खाली चौकोर के रूप में दिखते हैं।
Redmi Note (Android) पर प्राप्त। बिल्कुल वही ईमेल — लेकिन एक्सेंट वाले वर्ण खाली चौकोर बन गए हैं: टोफू। पाने वाला डिवाइस बस यह नहीं जानता कि उन्हें कैसे बनाया जाए।

कुछ वर्ण चौकोर डिब्बों के रूप में क्यों दिखते हैं?

कुछ डिवाइसों पर, स्टाइल किए गए वर्ण छोटे खाली चौकोर डिब्बों के रूप में दिख सकते हैं (या क्रॉस वाले डिब्बे, या प्रश्नचिह्न के साथ)। इस परिघटना का एक नाम है: इसे “टोफू” (tofu) कहा जाता है।

यह शब्द इन छोटे आयतों की एक टोफू के टुकड़े से समानता के कारण आया है। यह ETeext की कोई गड़बड़ी नहीं है और न ही आपके टेक्स्ट की कोई त्रुटि: इसका सीधा अर्थ यह है कि जो डिवाइस या ऐप «प्राप्ति की ओर» टेक्स्ट दिखा रहा है, उसके फ़ॉन्ट में माँगे गए वर्ण का चित्र मौजूद नहीं है। क्या बनाना है यह न जानने पर, वह एक प्रतिस्थापन आयत दिखा देता है।

यह स्थिति कुछ डिवाइसों पर अधिक बार होती है (कभी-कभी «चीनी» डिवाइस, या व्यापक रूप से वे डिवाइस जिनके सिस्टम फ़ॉन्ट अन्य वर्णमालाओं के लिए अनुकूलित हैं)। उनके फ़ॉन्ट उनकी अपनी लिपियों को पूरी तरह कवर करते हैं, पर लैटिन वर्णमाला के हर विदेशी (exotic) स्टाइल वाले वर्ण को शायद शामिल न करें — इसलिए कुछ प्रभावों की जगह tofu दिखता है।

दूसरे शब्दों में: आपका टेक्स्ट सही है, पर दूसरी ओर का डिवाइस उसे पूरी तरह नहीं दिखा पाता।

तकनीकी अनुभाग: tofu क्यों दिखता है (और मोड इसे कैसे टालता है)

जिज्ञासुओं के लिए, यहाँ बताया गया है कि «परदे के पीछे» क्या होता है।

ETeext के स्टाइल प्रदर्शन फ़ॉन्ट नहीं बदलते (वह CSS का मामला होता): वे वर्णों को ही बदलते हैं। उदाहरण के लिए, स्टाइल किया हुआ बोल्ड «a» कोई फ़ॉर्मैटिंग में लिपटा «a» नहीं है — यह एक अलग यूनिकोड वर्ण है, जो एक विशेष ब्लॉक (गणितीय अल्फ़ान्यूमेरिक प्रतीक, mathematical alphanumeric symbols) से लिया गया है। यही चीज़ इन स्टाइल को उन प्लैटफ़ॉर्म पर भी ले जाने देती है जो फ़ॉन्ट बदलने की अनुमति नहीं देते।

इसका दूसरा पहलू यह है कि इन वर्णों को दिखाने के लिए, प्राप्तकर्ता डिवाइस के फ़ॉन्ट में उनका चित्र (ग्लिफ़, glyph) मौजूद होना चाहिए। अगर ग्लिफ़ अनुपस्थित हो, तो डिवाइस प्रतिस्थापन वर्ण दिखाता है — वही कुख्यात tofu। कोई वर्ण जितना अधिक «विदेशी» (कम सामान्य) हो, उतना ही अधिक जोखिम कि कोई फ़ॉन्ट उसे कवर न करे — और कुछ डिवाइस-समूह, जो अन्य लिपियों के लिए अनुकूलित हैं, इनमें से कम कवर करते हैं।

कुछ प्रभाव इसके अलावा संयोजक चिह्न (combining marks) भी जोड़ते हैं: उच्चारण-चिह्न या निशान जो किसी अक्षर के ऊपर अध्यारोपित होते हैं। यहाँ भी उनका प्रतिपादन डिवाइस की उन्हें सही ढंग से रखने की क्षमता पर निर्भर करता है; कम सुसज्जित परिवेशों में परिणाम अपूर्ण हो सकता है।

समाधान: सुरक्षित मोड

ETeext में एक सुरक्षित मोड है। स्टाइल करने से पहले इसे चालू करें: जोखिम भरे वर्ण बनाने के बजाय, ETeext मानक अक्षरों पर लौट आता है — जो हर फ़ॉन्ट में मौजूद होते हैं। आपका टेक्स्ट पाने वाले के यहाँ पठनीय रहता है, बस दृश्य प्रभाव की कीमत पर।

यह एक साधारण स्विच है, जिसे आप संदर्भ के अनुसार कभी भी चालू या बंद कर सकते हैं।

← सहायता केंद्र