जब आप कंप्यूटर या मोबाइल पर अंग्रेजी में "CAT" लिखते हैं, तो स्क्रीन पर बहुत सरलता से पहले C, फिर A और फिर T छप जाता है। लेकिन हिंदी (देवनागरी) में ऐसा नहीं होता। जब आप लिखते हैं "सृष्टि" या "प्रोग्राम", तो कंप्यूटर के लिए यह एक बहुत ही जटिल गणितीय पहेली होती है।
देवनागरी लिपि में संयुक्त अक्षर (जैसे 'क्ष', 'त्र', 'ज्ञ'), आधे अक्षर और मात्राएँ (विशेषकर छोटी 'ि' की मात्रा जो अक्षर के बाद टाइप होती है लेकिन दिखाई पहले देती है) आती हैं। कंप्यूटर का ऑपरेटिंग सिस्टम इन अक्षरों को कैसे समझता है और स्क्रीन पर कैसे ठीक से दिखाता है, इसे तकनीकी भाषा में Complex Text Layout (CTL) या Text Shaping कहते हैं।
1. प्रमुख ऑपरेटिंग सिस्टम्स के "Text इंजन" (Text Shaping Engines)
दुनिया का हर प्रमुख ऑपरेटिंग सिस्टम देवनागरी जैसी जटिल लिपियों को रेंडर करने के लिए एक विशेष आंतरिक प्रोग्राम चलाता है जिसे Shaping Engine कहा जाता है:
- एंड्रॉयड व लिनक्स (Android & Linux) — HarfBuzz: गूगल एंड्रॉयड और लिनक्स दुनिया के सबसे लोकप्रिय ओपन-सोर्स इंजन HarfBuzz का इस्तेमाल करते हैं। आपका क्रोम (Chrome) और फ़ायरफ़ॉक्स (Firefox) ब्राउज़र भी इसी इंजन की मदद से हिंदी दिखाता है।
- विंडोज़ (Microsoft Windows) — DirectWrite: माइक्रोसॉफ़्ट विंडोज़ 10 और विंडोज़ 11 में DirectWrite (पुराना नाम: Uniscribe) इंजन काम करता है। यह एमएस वर्ड, एक्सेल और विंडोज़ ऐप्स में देवनागरी के नियमों को प्रोसेस करता है।
- मैक व आईफ़ोन (macOS & iOS) — CoreText: एप्पल के सभी डिवाइस (MacBook, iPhone, iPad) CoreText नामक इंजन का उपयोग करते हैं, जो एप्पल के एडवांस्ड टाइपोग्राफी नियमों के अनुसार हिंदी अक्षरों को सटीक बैठाता है।
2. स्क्रीन पर अक्षर दिखने की 4-चरणीय प्रक्रिया (Step-by-Step Pipeline)
जब आप कीबोर्ड से "क्ष" टाइप करते हैं, तो वास्तव में आप तीन अलग-अलग कोड भेजते हैं: क (U+0915) + ् (हलंत, U+094D) + ष (U+0937)। ऑपरेटिंग सिस्टम इसे स्क्रीन पर कैसे बदलता है?
- अक्षरों की पहचान (Itemization): इंजन पहले यह देखता है कि कौन से अक्षर मिलकर एक समूह (Syllable Cluster) बना रहे हैं।
- अक्षर प्रतिस्थापन (GSUB - Glyph Substitution): फ़ॉन्ट की आंतरिक तालिका (OpenType GSUB) देखकर इंजन समझ जाता है कि 'क + हलंत + ष' को हटाकर उसकी जगह एक अखंड संयुक्त अक्षर "क्ष" लगाना है।
- मात्राओं का पुनर्क्रम (Glyph Reordering): छोटी 'ि' की मात्रा (Chhoti I Matra) मेमोरी में अक्षर के बाद आती है (जैसे क + ि = कि), लेकिन हमारी आँखों को यह 'क' से पहले दिखनी चाहिए। इंजन स्वचालित रूप से इस मात्रा को उठाकर अक्षर के बाईं ओर ले आता है।
- सटीक स्थान निर्धारण (GPOS - Glyph Positioning): अंत में अनुस्वार (ं), नुक्ता (़) या नीचे की मात्राओं (ु, ू, ृ) को अक्षर की चौड़ाई और ऊँचाई के अनुसार सही स्थान पर चिपकाया जाता है।
3. हिंदी अक्षर कभी-कभी क्यों बिखर जाते हैं?
अक्सर आपने देखा होगा कि किसी पुराने सॉफ़्टवेयर में "शक्ति" की जगह "श क ् त ि" अलग-अलग बिखर जाता है। ऐसा तीन कारणों से होता है:
- इंजन का बाईपास होना: जब कोई पुराना सॉफ़्टवेयर ऑपरेटिंग सिस्टम के शेपिंग इंजन (DirectWrite/HarfBuzz) का इस्तेमाल न करके सीधे कच्चे कोड को स्क्रीन पर फेंक देता है।
- पुराने लीगेसी फ़ॉन्ट (Non-Unicode Fonts): पुराने कृतिदेव या चाणक्य फ़ॉन्ट में ये आधुनिक ओपन-टाइप नियम होते ही नहीं हैं। इसलिए हमेशा आधुनिक यूनिकोड हिंदी फ़ॉन्ट्स का ही प्रयोग करना चाहिए।
- वर्ल्ड-रेडी कंपोज़र न चुनना: फ़ोटोशॉप या इनडिजाइन जैसे एडोब सॉफ़्टवेयर में जब तक आप World-Ready Paragraph Composer चालू नहीं करते, वे अंग्रेजी नियमों से चलते हैं और हिंदी को तोड़ देते हैं।