7 Aug 2007

डीटीपी व ग्राफिक्स सॉफ्टवेयरों में भारतीय युनिकोड अनुकूलता

डीटीपी व ग्राफिक्स सॉफ्टवेयरों में भारतीय युनिकोड अनुकूलता

Indic Unicode compatibility in DTP and Graphics Softwares



अन्तर्राष्ट्रीय वर्ण-कूट मानक 16-बिट युनिकोड की लोकप्रियता संसार-भर में दिन-दूनी रात-चौगनी बढ़ती जा रही है तथा इसके साथ ही हिन्दी तथा अन्य भारतीय भाषाओं में भी वेबसाइट, ब्ल़ॉग चिट्ठे, ऑन-लाइन वेब आधारित औजारों/उपकरणों/सुविधाओं का प्रयोग धड़ाधड़ बढ़ते जा रहा है, ई-मेल में सीधे सम्प्रेषण किया जा रहा है। मोबाईल फोन पर भी हिन्दी तथा भारतीय भाषाओं में संक्षिप्त सन्देशों (SMS) तथा इण्टरनेट संचार किया जाने लगा है।

किन्तु डेस्क टॉप पब्लिशिंग ( DTP), डिजाइनिंग, पृष्ठसज्जा (Page-layout) तथा ग्राफिक्स सॉफ्टवेयरों में फिलहाल सिर्फ Microsoft Publisher (XP/2003/2007) में ही भारतीय युनिकोड मानकीकृत कोड तथा ओपेन टाइप फोंट्स में काम करना सम्भव है, जो MS-Office-Premium (XP/2003/2007) समूह के सॉफ्टयेवरों के एक भाग रूप में आता है। लेकिन इस सॉफ्टवेयर में प्रकाशन उद्योग की जरूरतों की तुलना में "ऊँट के मुँह में जीरा" के बराबर ही अल्प-स्तर की विशेषताएँ (Features) उपलब्ध हैं। यह लोकप्रिय DTP & Designing softwares के समक्ष नन्हे बच्चे के बराबर है।

डेस्क टॉप पब्लिशिंग ( DTP), डिजाइनिंग, पृष्ठसज्जा (Page-layout) तथा ग्राफिक्स सॉफ्टवेयरों (यथा Adobe Pagemaker, InDesign, Illustrator, Coreldraw, Macromedia Freehand, Quark Express इत्यादि) में हिन्दी भारतीय भाषाओं में युनिकोड समर्थित ओपेन टाइप फोंट्स में कार्य कर पाना सम्भव नहीं है। ASCII के सुपरसेट पर पैबन्द की तरह चिपका कर काम चलाए गए 8-बिट ट्रू-टाइप (True Type Font, TTF) या पोस्टस्क्रिप्ट (PSF) फोंट्स में काम करना पड़ता है। जिसके कारण जिसके कारण वर्णक्रमानुसार छँटाई (Alphabecial Sorting), सूचकांकन (Indexing), स्वचालित विषय-सूची निर्माण, वर्तनी-शोधन (Spell-checking), तुरत तलाश (Searching), डैटाबेस आयात (Database Importing) आदि सुविधाओं का उपयोग नहीं किया जा सकता।

विशेषकर हिन्दी तथा भारतीय भाषाओं के समाचार-पत्रों/अखबारों/पत्र-पत्रिकाओं को बेकार में दुगुना परिश्रम करना पड़ता है:

1. कागज पर मुद्रित रूप में पत्र-पत्रिका प्रकाशित करने के लिए 8-बिट TTF में समस्त पेज-लेआऊट, ग्राफिक्स, डिजाइन, कम्पोजिंग तथ प्री-प्रेस कार्य सम्पन्न करना।

2. वेबसाइट पर उपलब्ध कराने या ई-वर्सन निकालने के लिए इसके पाठ को युनिकोड में फिर से टंकण करना।


कुछ अखबारों/पत्र-पत्रिकाओं ने अपने 8-बिट फोंट से युनिकोड में परिवर्तन करनेवाले code-converter सॉफ्टवेयरों को विकसित करवा लिया है। किन्तु शेष को युनिकोड में फिर से टंकण करना पड़ता है। कई प्रकाशनों को युनिकोड में पाठ परिवर्तित करने के बाद दुबारा प्रूफ रीडिंग व सम्पादन करना पड़ता है, क्योंकि 8-बिट फोंट से 16-बिट यूनिकोड में पाठ-परिवर्तन के दौरान कई गलतियाँ हो जाती है, हिन्दी 8-बिट फोंटों की जटिलताओं के कारण 100% सही रूप में परिवर्तन सम्भव नहीं है। इस समस्या पर अलग लेख में विस्तार से प्रकाश डाला जाएगा।


यही कारण है कि हिन्दी अखबारों के इण्टरनेट संस्करण में मुद्रित संस्करण की तुलना में काफी कम सामग्री होती है। तथा इण्टरनेट संस्करण मुद्रित संस्करण से बिल्कुल अलग डिजाइन का होता है।

उपर्युक्त सॉफ्टवेयरों के नवीनतम वर्सन में 16-बिट अर्थात् (2-बाईट) युनिकोड की कम्पाटिबिलिटी उपलब्ध कराई गई है, संसार की कई भाषाओं में हिब्रू, हांगुल, चीनी-जापानी-कोरियाई, ग्रीक आदि में युनिकोड में कार्य करना सम्भव हो गया है।

भारत में अभी भी लोग Adobe-Pagemaker 6.x या 7.x वर्सन का ही उपयोग करते देखे जाते हैं। जबकि Adobe Pagemaker-7.0 सन् 2001 में विकसित हुआ था। 2002 में इसका विकास/समर्थन बन्द हो गया।


2002 में इसका नया वर्सन Adobe InDesign 1.0 निकला,

2003 में इसका Adobe InDesign का वर्सन-2.0 विकसित हुआ और पुराने का सपोर्ट बन्द हो गया।

2004 में इसे और विकसित करके Adobe Creative Suite 1.0 में एकीकृत कर दिया गया। (CS-1 में Photoshop, Illustrator, After-effects आदि शामिल हैं) तथा इसके सभी सॉफ्टवेयरों के बीच Compatibility सुनिश्चित हुई।

2005-06 में Creative Suite-2 विकिसित तथा रिलीज हुआ। अब इसका नवीनतम वर्सन सीएस3 (Adobe Creative Suite-3) रिलीज हो चुका है। जिसमें डीटीपी, वेबसाइट डिजाइन/होस्टिंग, ग्राफिक्स-डिजाइन, ओडियो तथा वीडियो एडिटिंग के अनेक पैकेज एकीकृत किए गए हैं।

लेकिन डीटीपी व पृष्ठसज्जा के नवीनतम सॉफ्टवेयर Adobe InDesgin CS3 में युनिकोड (2-बाईटवाले कोड) का समर्थन तो मिल गया है, लेकिन हिन्दी तथा भारतीय भाषाओं के युनिकोड का समर्थन पूर्ण रूप से तथा सही रीति नहीं हो पा रहा है। विशेष प्रकार से यदि भारतीय युनि-कोड कूटों में पाठ प्रविष्टि की जाए तो वह सिर्फ मूल युनिकोड कूटों में प्रदर्शित होता है। मात्राओं, संयुक्ताक्षरों के बीच में खाली बक्से या आऊटलाइन शून्य प्रकट होंगे। यदि कम्प्यूटर स्क्रीन पर पारम्परिक रूप में प्रदर्शित हो भी जाएँ तो पोस्टस्क्रिप्ट-प्रिटर/इमेजसेटर/कलर-सेपरेटर/प्री-प्रोसेसर पर मुद्रण-करने/ट्रेसिंग/फिल्म/ट्रांसपरेन्सी बनाने तथा प्लेट बनाने पर उसमें हिन्दी तथा अन्य भारतीय भाषाओं के पाठ में मूल अक्षरों, संयुक्ताक्षरों और मात्राओं के बीच खाली बक्से या आऊटलाइन शून्य छप जाएँगे। और मुद्रण-उद्योग का हजारों रुपये का नुकसान हो जाएगा।

प्रश्न : इसका क्या कारण है?


त्तर : इसका कारण निम्नलिखित कई तकनीकी समस्याएँ हैं।

1. इण्डिक युनिकोड अपने आप में एक त्रि-आयामी समस्या है :

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

(1) पहला आयाम - IME

पाठ प्रविष्टि (Text entry) तो मूलतः अंग्रेजी के QWERTY की-बोर्ड में ही करनी पड़ती है, आपका Input Method Editor (IME) उसे युनिकोड कूटों में बदलकर भण्डारित (Save) करता है। उदाहरण के लिए Inscript Keyboard में हमें "राष्ट्रीय" शब्द टाइप करने के लिए हमें मूलतः यह अंग्रेजी के अक्षर टंकित करने पड़ते हैं--

Input Method Editor इसे मूल यूनिकोड कूटों में निम्नवत् बदलता है।


(2) दूसरा आयाम - कम्प्यूटर का आन्तरिक संसाधन


कम्प्यूटर अपने आन्तरिक संसाधन (Processing) भण्डारण (Storing, saving) के लिए सिर्फ युनिकोड के कूटांकों (code-numbers) का ही उपयोग करता है। जैसे "राष्ट्रीय" शब्द कम्प्यूटर में अन्दरूनी रूप से सिर्फ युनिकोड के HEX CODE में इस प्रकार save होता है।


(3) तीसरा आयाम - पारम्परिक रूप में प्रदर्शन तथा मुद्रण हेतु सिर्फ फोंट के वर्णखण्डों(Glyphs) का उपयोग


इन्हें पारम्परिक रूप में प्रदर्शित करने के लिए आपरेटिंग सीस्टम का REDERING ENGINE हिन्दी(देवनागरी) के उस ओपेन टाइप फोंट-विशेष (जिसे पाठ-प्रदर्शन(Display) के लिए सेलेक्ट किया है, यथा- मंगल) में डिजाइन किए गए हिन्दी वर्णों के टुकड़ों या वर्ण-समुच्चयों, (जिन्हें GLYPHS कहा जाता है), में बदलकर प्रकट करता है।

उदारहण के लिए "राष्ट्रीय" शब्द के लिए ये निम्न GLYPHS होंगे-


जबकि इसमें सिर्फ तीन अक्षर (Syllable) निम्नवत् माने जाते हैं--


Microsoft Windows 2000/XP/2003/Vista आपरेटिंग सीस्टम् के साथ अन्तःनिर्मित युनिकोड स्क्रिप्ट प्रोसेसर (Uniscribe) प्रोग्राम के अन्दर हिन्दी तथा भारतीय भाषाओं के पारम्परिक रूप में प्रदर्शन (Display/Rendering) करने के जटिल-सूत्र शामिल हैं, जिनके अभाव में भारतीय भाषाओं का पाठ सिर्फ मूल युनि-कोड में ही प्रकट हो सकता है। क्योंकि आन्तरिक संसाधन के लिए पाठ का भण्डारण(Saving), वर्णक्रमानुसार छँटाई (Alphabecial sorting), सूचकांकन (Indexing), खोज (Searching) आदि सिर्फ Code Points में ही हो सकते है, OT फोंट्स में डिजाइन किए गए वर्णखण्डों (Glyphs) के आधार पर नहीं। Rendering Engine युनिस्क्राईब मूल युनिकोड कूटों को OT font के Glyphs में तत्काल (on-the-fly) बदल कर स्क्रीन पर प्रदर्शित करता है, अर्थात् उसे उड़ते-उड़ते कलाबाजी खानी पड़ती है। (यही कार्य पुराने 8-बिट इण्डिक वर्डप्रोसेसिंग सॉफ्टवेयरों में एक TSR (Terminate and Stay Resident) प्रोग्राम यथा की-बोर्ड-ड्राईवर के द्वारा सम्पन्न होता था।) मुद्रण हेतु print कमाण्ड देने पर युनिकोड के मूल कूट प्रिटर की मेमोरी में नहीं जाते बल्कि सिर्फ OT Fonts के Glyphs ही जाते हैं। या स्क्रीन पर प्रदर्शित पाठ छवि(image) बनकर ग्राफिक्स मोड (Graphics Mode) में Vector या Raster प्रारूप में प्रिंटर पर मुद्रित होता है।

लिनक्स में पांगों (Pango) जैसे Unicode Script Processor Rendering Engine के सहारे तथा Apple Mac कम्प्यूटरों में उसके निजी विशेष प्रोग्राम के सहारे उपरोक्त प्रदर्शन (rendering) हासिल किया जाता है।

इस प्रकार देवनागरी तथा भारतीय भाषाओं का कम्प्यूटर-संसाधन उसी प्रकार जटिल/दुरूह तथा जोखिम-भरे ढंग से पूरा हो पाता है-- जैसा कि कहावत है-- हाथी के दाँत, खाने के और, दिखाने के और। उसी ढंग के हिन्दी-देवनागरी (तथा अन्य भारतीय लिपियों) के कम्प्यूटर में आन्तरिक संसाधन के लिए युनिकोड कूट (खाने के दाँत) का प्रयोग होता है जबकि पारम्परिक रूप में स्क्रीन पर प्रदर्शन और मुद्रण के लिए OT Font के glyphs (दिखाने के लिए हाथी के बड़े-बड़े सफेद दाँत या हाथी के सींग) का प्रयोग होता है।

यह बात एक और उदाहरण से समझाई जा सकती है। जिस प्रकार एक दोमुँहा साँप होता है। एक मुँह आगे की तरफ, दूसरा मुँह पूँछ की तरफ। कभी-कभी उस साँप का एक सिर उसे आगे की ओर खीँचता है और दूसरा सिर पीछे की तरफ। जिस सिर का जोर ज्यादा चलता है, साँप उसी ओर रेंगता है। कभी-कभी दोनों मुँहों के बीच विपरीत संघर्ष व खिंचाव होकर साँप का धड़ बीच में से टूट जाता है और साँप मर जाता है।

यदि तीन मुँह वाला साँप हो तो यह स्थिति कैसी तथा कितनी खतरनाक होगी, आप स्वयं अन्दाजा लगा सकते हैं।


एक और उदाहरण लें--

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


2. Adobe, Macromedia आदि द्वारा युनिस्क्राईब को नहीं अपनाया जाना

Adobe, Macromedia आदि ग्राफिक्स व डिजाइन सॉफ्टवेयर उद्योग समूह Microsoft Windows OS के साथ अन्तःनिर्मित युनिकोड स्क्रिप्ट प्रोसेसर (Uniscribe) को समर्थन नहीं करते, इसे लाँघ (Bypass) करके ही अपने सॉफटवेयरों को संचालित करते है। इसका कारण तकनीकी है। क्योंकि डीटीपी, डिजाइनिंग, ग्राफिक्स आदि सॉफ्टवेयरों का काम सिर्फ कम्प्यूटर संसाधन तक ही सीमित नहीं रहता। कम्प्यूटर में सम्पादित तथा डिजाइन किया गए पाठ तथा चित्रादि (ग्राफिक्स) की फिर से और प्रोसेसिंग करनी पड़ती है जो पोस्टस्क्रिप्ट(Postscript) प्रिंटरों, स्कानरों, रंग-विश्लेषण-पृथ्थकीकरण (Color-separation), छवि-स्थिरक (image-setter) आदि उपकरणों के द्वारा, 4 अलग रंगों (Cyan, Yellow, Magenta & Block = CYMK), की चार अलग-अलग फिल्म-ट्रेसिंग प्रिंट-आऊट निकालने, पेपर/प्लास्टिक/जिंक/पोलीमर प्लेट बनाने तक कई स्तर की होती है।

सामान्य रूप से एक सरल उदाहरण लें- कम्प्यूटर से जब पीसील प्रिंटर (PCL laser printer पर) कोई पृष्ठ प्रिण्ट करने का आदेश (Print command) दिया जाता है तो हिन्दी तथा भारतीय भाषाओं का पाठ पहले पूर्णतः ग्राफिक्स या छवि (image) में बदलकर प्रिंटर के resolution (लगभग 300 DPI=dots per inch /या 600 DPI ) के हिसाब से कागज पर मुद्रित होता है। जिससे हरेक पेज को प्रिंट करने में काफी ज्यादा समय लग जाता है।

किन्तु मुद्रण उद्योग में कई अतिरिक्त सुविधाओं तथा उच्च गुणवत्ता के लिए पोस्टस्क्रिप्ट(Postscript) लेजर प्रिंटरों का ही उपयोग किया जाता है। पोस्टस्क्रिप्ट प्रिंटर की अचल-मेमोरी(ROM, Read only memory) में कई फोंट पूर्वनिर्मित (inbuit) रूप से भण्डारित होते हैं। पाठ (text file) ही सीधे प्रिंटर को प्रेषित होती है। जिससे मुद्रण में समय कम लगता है। एक मिनट में 12 से 50 पृष्ठ तक (क्षमतानुसार) धड़ाघड़ छप जाते हैं। चूँकि भारतीय भाषाओं के फोंट्स प्रिंटर के ROM में inbuilt नहीं होते हैं, अतः इण्डिक पाठ को पोस्टस्क्रिप्ट प्रिंटर में प्रिंट करते वक्त वे-वे विशेष फोंट (जिनमें पाठ को कम्पोज किया गया है), की फाइलें पहले स्वतः डाउनलोड होकर प्रिंटर की Additional RAM में जमा होती है। फिर प्रिंटर द्वारा अनेक पृष्ठों को एक-एक कर उन फोंट में मुद्रित किया जाता है।

कुछ पोस्टस्क्रिप्ट लेजर प्रिंटरों में उनके EPPROM में कुछ (लगभग 128 तक) फोंट्स पहले डाउनलोड (pre-download) करने की भी सुविधा होती है। जिससे पहले सिर्फ एकबार फोंट डाउनलोड करना पड़ता है। हरेक प्रिंट जॉब के साथ फोंट बारम्बार भेजने की जरूरत नहीं पड़ती। केवल (text तथा ग्राफिक्स) प्रिंटर को सम्प्रेषित होते हैं और अत्यन्त शीघ्र गति से छपाई हो पाती है।

चूँकि भारतीय भाषाओं में केवल OT Font से पाठ का सुधार-सम्पादन (Processing/Editing) आदि नहीं किया जा सकता। संसाधन, सार्टिंग, सर्चिंग, एडिटिंग आदि केवल युनिकोड के मूल कूटों में ही सम्भव है। वर्णखण्डों(Glyphs) के सहारे तो वर्णक्रमानुसार छँटाई भी कर पाना असम्भव है। OT फोंट्स द्वारा केवल पारम्परिक रूप में स्क्रीन पर प्रदर्शन तथा मुद्रण ही किया जा सकता है। इन दोनों के बीच आपरेटिंग सीस्टम् के Rendering Engine को on-the-fly twist करते हुए अनवरत कार्य करना पड़ता है।

जबकि Laser Printer, Color Separator, Image-setter, Film/Transparency/Tracing-printer, plate-maker आदि उपकरणों में केवल फोंट डाउनलोड किए जा सकते हैं, क्योंकि ये कम्प्यूटर नहीं हैं, जो इनमें आपरेटिंग सीस्टम का rendering engine भी डाउनलोड किया जा सके। अतः जब इनमें हिन्दी तथा भारतीय भाषाओं का युनिकोडित पाठ (Text) पहुँचता है तो वह या तो OT फोंट में निहित सिर्फ encoded characters में बदल कर रह जाता है, या फिर केवल un-encoded glyphs में बदल जाता है। या तो हर मात्रा के पूर्व बाद खाली बक्से (Blank Boxes) या शून्याकार (outline circle) प्रकट होंगे या शब्दों का क्रम बदल जाएगा (जैसे "किस्त" के स्थान पर "कस्ति" छपेगा। इस प्रकार गलतियाँ होने से प्रकाशक/मुद्रक को हजारों रुपये का नुकसान हो जाएगा। उदाहरण के लिए फॉयरफॉक्स (Firefox 2.0.0.6) ब्राउजर से द्वारा खोला गया वर्डप्रेस का एक ब्लॉग का स्क्रीनशॉट निम्नवत् है--



प्रश्न : Adobe के Dreamweaver जैसे सॉफ्टवेयरों में युनिकोड में हिन्दी तथा भारतीय भाषाओं में भली भाँति वेबपृष्ठ डिजाइनिंग एवं होस्टिंग की जा रही है, फिर InDesign और फोटोशॉप में क्यों नहीं?

उत्तर : Dreamweaver, IE, Firefox, Netscape, MS-Frontpage आदि सभी इण्टरनेट ब्राउजर/वेब-डिजाइनर/डेवलपर सॉफ्टवेयर प्रोग्राम युनिकोड के 8-बिट रूपान्तर UTF-8 में ही सारी प्रोसेसिंग करते हैं। जो 16-बिट युनकोड का 8-बिट फॉर्मेट है। इसमें युनिकोड के 2-बाइट वाले कूट (अंग्रेजी के मूल अक्षरों के बाद शेष सभी कूट) 3 या 4 बाईट्स में बदलकर प्रकट होते हैं। 8-बिट के साथ तालमेल के लिए हर वर्ण/अक्षर के साथ एक या दो अतिरिक्त बाईट जुड़ जाती है। कोई भी ब्राऊजर सीधे 16 बिट या 2 बाईट युनिकोड का उपयोग नहीं करता। UTF-8 को दूसरे शब्दों में कहें तो यह 8-बिट ASCII का ही एक विशेष रूप है। जो 16-बिट कूट को कई टुकड़ों में बाँट कर संसाधित करता है।

जबकि MS word इत्यादि वर्ड प्रोसेसिंग सॉफ्टवेयर तथा InDesign, Scribus, Photoshop इत्यादि पैकेज का संचालन यदि UTF8 कूटों (3 या 4 बाईट वाले अक्षरों) में चलाया तो इनके संचालन पर और भी ज्यादा-भार पडे़गा और समग्र कार्य अत्यन्त जटिल तथा जोखिमपूर्ण हो जाएँगे। अतः युनिकोड का निम्नतम रूप 2-बाईट में ही प्रोसेसिंग अपेक्षित रूप से सुविधाजनक है।

UTF7, UTF8, UTF16, UTF32 आदि पर अलग लेख में विस्तार से प्रकाश डाला जाएगा।


प्रश्न : इस समस्या का समाधान क्या होगा?

उत्तर : यह ज्वलन्त समस्या सन् 2000 से चली आ रही है। इसके समाधान हेतु विश्वस्तर पर अनेक संस्थान अलग-अलग ढंग से सोच रहे हैं तथा दिनों दिन शोध जारी है। इनके समाधान के लिए मेरे सुझाव निम्नवत् हैं--


(1) Rendering Engine का समर्थन

Adobe, Macromedia, Quark आदि कम्पनियों द्वारा आपरेटिंग सीस्टम के Rendering Engine (यथा माईक्रोसॉफ्ट के Uniscribe, USP, लिनक्स के Pango इत्यादि) का समर्थन/सहयोग लेकर युनिकोड कूटों में पाठ संसाधन (Text processing) की जाए, (भले ही इसके लिए उन्हें अतिरिक्त रॉयल्टी आदि का भुगतान करना पड़े) किन्तु प्रिंट कमाँड या छपाई-पूर्व (pre-press) कार्यों के लिए डिजाइनकृत-पृष्ठ को भेजने के पूर्व सारा पाठ OT Fonts के Glyphs में यथा-आवश्यक क्रम में परिवर्तित कर दिया जाए। हिन्दी तथा भारतीय भाषाओं में इस कार्य के लिए विशेष ध्यान देते हुए एक विशेष प्रोग्राम का विकास किया जाए, जो OT Fonts में वर्णखण्ड-स्थानान्तरण (Glyphs-substitution) तथा वर्णखण्ड-क्रम-संस्थापन (Glyph positioning), Pre-base, Post-base आदि का सहारा लेते हुए युनिकोड वर्णक्रम वाले पाठ को Glyphs के क्रम में बदल कर प्रिंटर में प्रेषित करे।

उदारहण के लिए - युनिकोड कूटों का क्रम तथा पारम्पिरक रूप में देवनागरी पाठ का प्रदर्शन करने के लिए OT Font में Glyphs क्रम में अन्तर जानने के लिए 2 शब्द लें "स्थिर कार्यों"

इनका युनिकोड क्रम निम्नवत् है।



किन्तु इसका OT Font में Glyph क्रम निम्नवत् होगा-


उपर्युक्त दो शब्दों में आप स्पष्ट देख सकते हैं कि कूट-क्रम (Code-sequence) और वर्णखण्ड-क्रम (Glyph sequence) में कितना अन्तर है। कूटांक(Unicode Codes) का चौथा वर्ण (छोटी इ की मात्रा) वर्णखण्ड में पहले स्थान पर स्थानान्तिरित करना पड़ता है। कूटांक का 9वाँ+10वाँ+13वाँ वर्ण (आधा-र या मूल 'र्' व्यञ्जन) जो 'य' के पहले है, वह एकाकार होकर 'रेफ+अनुस्वार' के रूप में प्रकट होता है और उसे वर्णखण्ड में 10वे स्थान पर 'यो' के बाद स्थानान्तरित (Shift) करना पड़ता है। इसी जटिल तकनीक को ही Glyph substitution तथा Glyph positioning के नाम की कमाँड-शृंखला में ओपेन टाइप फोंट के निर्माण में प्रयोग करना पड़ता है।

लेकिन इस अति जटिल प्रक्रिया में कई प्रकार की त्रुटियों की सम्भावना तथा मुद्रित पाठ के बिगड़ने की आशंका काफी ज्यादा होती है।


(2) युनिकोड में सभी अक्षरों के कूट-निर्धारित किए जाएँ

युनिकोड-वर्सन-5.0 में हिन्दी(देवनागरी) के कुछ वर्णों, मात्राओं, अक्षरों, चिह्नों आदि को मिलाकर सिर्फ कुल 109 कूट-निर्धारित तथा मानकीकृत किए गए हैं। जबकि युनिकोड चीनी-जापानी-कोरियाई (CJK) भाषा में 29,245 मूल अक्षरों है तथा बाद में CJK 2-अतिरिक्त ब्लॉक में 71,578 युनिफाइड आईडियोग्राफ्स का कूट-निर्धारण किए जा चुके हैं। अतः इसी प्रकार युनिकोड इण्डिक के सभी पूर्ण अक्षरों (syllables) के भी कूट-निर्धारण एवं मानकीकरण करने की मांग कई मंचों से कई वर्षों से उठाई जाती रही है।

हाल ही में विश्व हिन्दी सम्मेलन में भी यह मुद्दा उठाया गया था। कई वर्षों से यह मुद्दा युनिकोड की अनेक अन्तर्राष्ट्रीय बैठकों में उठाया जाता रहा है। युनिकोड के एक प्रतिनिधि इस पर राजी भी हुए थे और उन्होंने कहा था कि यदि वर्तमान 16-बिट युनिकोड में यदि इसके लिए "कूट-स्थान" (65536 code-space) कम होते है तो वे 32-बिट युनिकोड का भी निर्धारण कर सकते हैं, जिसमें कुल स्थान 4294967296 तक उपलब्ध हो सकेंगे।

किन्तु यह कार्य इतना सरल नहीं है, लगभग असम्भव ही कहिए।


(3) ओपेन टाइप फोंट में सभी पूर्ण अक्षर बनाकर रखे जाएँ

वर्तमान इण्डिक युनिकोड में जितने वर्णादि मानकीकृत हुए है, सिर्फ उन्हीं में सीमित रहते हुए भी ओपेन टाइप फोंट स्तर पर ही इसका समाधान किया जा सकता है। पुराने 8बिट TTF फोंट्स में अधिकतम 256-32 = 224 फोंट्स ही शामिल किए जाने की सीमा थी। किन्तु ओपेन टाइप फोंट में ऐसी कोई सीमा निर्धारित नहीं है। 16-बिट होने के कारण एक ही फोंट में अधिकतम 65536 युनिकोडित कूटों के वर्णों को तथा निजी-क्षेत्र (Private Area) में इसके दुगुने अकूटित (non-encoded) वर्णखण्डों या संयुक्ताक्षरों को भी बनाकर शामिल किया जा सकता है। यदि हिन्दी(देवनागरी) के सभी पूर्णाक्षरों (syllables) को बनाकर ओपेन टाइप फोंट में शामिल कर लिया जाए तो कम्प्यूटर की आन्तरिक प्रोसेसिंग के लिए किसी Rendering Engine पर निर्भर नहीं होना पड़ेगा या उसके समर्थन के बिना भी सिर्फ फोंट स्तर पर ही हिन्दी से पाठ को पारम्पिरक रूप में प्रदर्शन व मुद्रण भली भाँति किया जा सकता है।

वर्तमान एक आम हिन्दी ओपेन टाइप फोंट (उदाहण के लिए Raghindi.ttf) में 109 युनिकोडित कूटों के वर्णों, मात्राओं, चिह्नों के अलावा अकूटित वर्णखण्डों (non-encoded glyphs), संयुक्ताक्षरों (conjucts), वर्णों के वैकल्पिक प्रारूपों(alternative forms) को मिलाकर लगभग 740 Glyphs को शामिल किया गया है। कुछ संस्कृत के विशिष्ट देवनागरी ओपेन टाइप फोंट्स में लगभग 1100 Glyphs की डिजाइन करके उपलब्ध कराया गया है।

किन्तु अभी तक देवनागरी तथा किसी भी अन्य भारतीय लिपियों के ओपेन टाइप फोंट में लिपि में प्रयुक्त होनेवाले अधिकांशतः प्रयोग में आनेवाले अक्षरों (syllables) को भी बनाकर भी शामिल नहीं किया गया है, लिपि के समस्त अक्षरों को शामिल करना तो दूर की बात है।

Adobe के द्वारा भी भारतीय भाषाओं के लिए ऐसे ही कुछ विशेष-फोंट बनाने की योजना पर भी विचार चल रहा था।

माईक्रोसॉफ्ट के लिए Arial Unicode MS.TTF फोंट के निर्माता एवरटाइप के एक प्रतिनिधि ने एक परिचर्चा में भारतीय भाषाविदों से कहा था वे हिन्दी (देवनागरी) के सभी अक्षरों वाले फोंट को बनाकर आपूर्ति करने का जिम्मा लेने के लिए तैयार हैं। उन्होंने इसके लिए हिन्दी(देवनागरी) के सभी अक्षरों(syllables) की सूची बनाकर यथाशीघ्र देने को कहा था। लेकिन दुःख की बात है कि इतने वर्ष बीत जाने के बाद आजतक भी हिन्दी(देवनागरी) के विद्वान उन्हें सारे अक्षरों (syllable) की सूची भेजना तो दूर की बात, अक्षरों(syllables) की कुल संख्या तक नहीं बता पाए हैं।

इसी सम्बन्ध में मैंने एक ज्वलन्त मुद्दा उठाया था- नारद अक्षरग्राम परिचर्चा फोरम में हिन्दी(देवनागरी) में कुल कितने अक्षर हैं? लेकिन दुःख की बात है लगभग 800 हिन्दी के ब्लॉग-लेखक तथा विद्वान होने के बावजूद अभी तक इस मंच पर सिर्फ 4 उत्तर मिले, और एक भी सन्तोषजनक नहीं, कुछ व्यावहारिक शोध व कार्य होना तो दूर की बात है। यह सभी हिन्दी विद्वानों तथा हिन्दी प्रेमियों के लिए एक चुनौती है। आह्वान है हिन्दी के माई का लालों का, जो यह सूची पूरी करने में सहयोग दें!


(4) रेण्डरिंग इंजन को मुक्तस्रोत करके जारी किया जाए

यदि उपर्युक्त दोनों उपाय या दोनों कार्य कठिन हैं तो एक और उपाय का सुझाव निम्नवत् है--

Uniscribe आदि सभी मालिकाना (propritory) unicode rendering engine को भी Pango की तरह मुक्त स्रोत बनाया जाए तथा मानकीकृत करके Unicode CLDR (Common Local Data Repository) के साथ निःशुल्क रूप से सभी IT-developers को उपलब्ध कराया जाए। जिससे सभी प्लेटफॉर्म तथा सॉफ्टवेयरों में युनिकोडित भारतीय पाठ का प्रदर्शन व मुद्रण एकरूपी हो सके।

(5) हिन्दी(देवनागरी) को सरल, सपाट और एकमुखी बनाया जाए

यदि उपर्युक्त सभी सुझावों का अनुपालन सम्भव नहीं हो, तो अन्तिम उपाय है कि हिन्दी-देवनागरी (तथा अन्य भारतीय लिपियों) के क्रम-विकास के मूल में जाकर शोध किया जाए तथा कम्प्यूटर तथा तकनीकी कार्यों के अनुकूल एक-आयामी सीधी, सरल सपाट लिपि का पुनरुद्धार, विकास तथा प्रचलन किया जाए।

जैसे अंग्रेजी में मुद्रण/प्रकाशन के लिए अलग अक्षर होते हैं,

मोनोस्पेस्ड (Capital and Small plain alphabets for Printing)

तथा

हस्तलिपि के लिए अलग अक्षर होते हैं,

(Cursive Script alphabets)

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

परम्परागत रूप से हाथ से लिखे जानेवाले लिपि-स्वरूप में ही मैनुअल-टाइपराइटरिंग/कम्प्यूटर/मुद्रण आदि करने के लिए बेतुका दबाब न डाला जाए।

कई वर्षों से इस दिशा में काफी प्रयास किए जा रहे हैं। वैदिक संस्कृत (Vedic Sanskrit) के लिए युनिकोड मानकों के मसौदे 2002 में जारी किए गए थे, जिनके चार्ट-1 में हिन्दी(देवनागरी) के मूल व्यंजन-वर्णों के कूट-निर्धारण(encoding) हेतु भी प्रस्ताव था। किन्तु हिन्दुस्तान का दुर्भाग्य है कि कुछ तथाकथित भारतीय विद्वानों के द्वारा आधारहीन तर्क तथा आपत्ति के कारण यह कार्य फिलहाल अवरुद्ध है।

जबकि मूलतः हिन्दी(देवनागरी लिपि) तकनीकी दृष्टि से भी अंग्रेजी से भी ज्यादा सरल, सपाट, एकमुखी और पूर्णतः ध्वनिवैज्ञानिक थी, जो कालक्रम में गलत प्रयोगों के कारण आज जटिल से जटलितम बन गई है। क्योंकि भाषा तथा लिपि में आए किसी विकार को भी विकास ही माना जाता है। इस बारे में एक अलग लेख में विस्तार से प्रकाश डाला जाएगा।


(6) जटिल से और जटिलतम अलगोरिदम बनाए जाएँ

अन्तिम उपाय के रूप में विभिन्न सूक्ष्म कम्प्यूटर प्रोग्रामों, जटिल से जटिलतम अलगोरिद्‍म्स के माध्यम से तकनीकी स्तर ही कोई मध्यवर्ती "येन-केन-प्रकारेण"(Any how) उपाय विकसित किया जाए। जैसा कि फायरफॉक्स 3.0 में, Padma Addon में, Font-code-converters आदि में प्रयोग किया जा रहा है। ये परिवर्तक इतने जटिल क्यों होते हैं और इनके द्वारा 100% सही परिणाम की आशा करना क्यों कठिन है, इस बारे में विस्तार से अलग लेख में प्रकाश डाला जाएगा।

7. Adobe InDesign के लिए plug-in

हर्ष की बात है कि हाल ही में श्री पीयूष तूलि peeyush@metadesignsolutions.com ने एक प्लग-इन का विकास किया है, जो एडोबे इनडिजाइन में हिन्दी को पारम्परिक रूप में प्रकट करने तथा मुद्रित करने की सुविधा प्रदान करता है। इसका डिमो उन्होंने इस यूट्यूब पते पर रखा है, जिसे देख सकते हैं:

<http://in.youtube.com/watch?v=EVxD4ZsqwV8>

इस सम्बन्ध में पूर्व-सन्दर्भ हेतु निम्नलिखित कड़ियों के आलेख देख सकते हैं-

विण्डोज-98 में युनिकोड सक्षमता लाना

इण्टरनेट में हिन्दी : समस्याएँ एवं सम्भावनाएँ

इनस्क्रिप्ट की-बोर्ड ले-आऊट की समस्याएँ

9 comments:

Sanjay Tiwari said...

तो क्या यह विस्तार से नहीं था?
इस तात्विक विवेचन में एक बात समझ में आ गयी कि समस्या जटिल है, हम कुछ नहीं समझ सकते.

हिंदी ब्लॉगर/Hindi Blogger said...

इस विषय पर इतनी विस्तृत जानकारी, हिंदी में, पहली बार पढ़ने को मिली. धन्यवाद!

Sanjeet Tripathi said...

गज़ब!! सच में हिन्दी मे ऐसी जानकारी पहली बार मिली!!
खुद के तकनीकी ना होने के कारण उपर से निकल गया फ़िर भी धन्यवाद!!

Anonymous said...

उपयोगी लेख. हिन्दी में लिखने के लिए साधूवाद.

रवि रतलामी said...

हिन्दी भाषा कम्प्यूटिंग की गंभीर तकनीकी समस्याओं को आपने बहुत ही विस्तार से और सरलता से समझाने का प्रयत्न किया है.

वैसे, अब धीरे धीरे अनुप्रयोगों में यूनिकोड समर्थन आने लगा है, और उम्मीद करें कि दो-तीन वर्षों में एडोब या क्वार्क में हिन्दी का समर्थन आ जाए. डीटीपी में हिन्दी यूनिकोड जब तक नहीं आता, यूनिकोड हिन्दी जन सामान्य के कम्प्यूटर पर तो नहीं पहुँचेगा - ये बात तो खैर, तय है.

अनुनाद सिंह said...

डेस्क टाप पब्लिशिंग से अपना दूर का ही रिस्ता है इसलिये इस पर ज्यादा नहीं कह सकता। किन्तु मेरा अपना सोचना यह है कि यह समस्या उचित साफ़्टवेयर के अभाव की है। मैं यहाँ भी यही कहना चाहूँगा कि हमको अपनी समस्या का भान ही नहीं है; हम दूसरों की बड़ी-बड़ी समस्यायों के लिये बड़े-बड़े और उन्नत साफ़्टवेयर की रचना कर सकते हैं किन्तु अपने लिये छोटे-छोटे साफ़्टवेयर भी नहीं बना सकते।

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

सचिन श्रीवास्तव said...

विभिन्न लिंकों पर भटकते, डाउन सर्वर पर अटकते और इधर उधर की सामग्री से सटकते आप तक पहुंचा. बहुत बहुत धन्यवाद अच्छी जानकारी परोसी है.

Peeyush@Flex said...

Please have a look at this video.
http://in.youtube.com/watch?v=EVxD4ZsqwV8

The featured plugin for Adobe Indesign, makes it possible to type, spell check and print in
Indian scripts and unicode fonts with ease.

Thanks,
Peeyush

Suresh Kumar Shukla said...

हरिरामजी,

आपकी चिन्ता जायज है। लेकिन मैं हैरान हूँ कि आप मामले की जड़ तक नहीं पहुँच पा रहे हैं।

DTP साफ्टवेयर के कितने लाइसेंस बिकते है? DTP की कितनी दुकानों में लाइसेंस खरीद कर काम हो रहा है?

समस्या की जड़ यही है।

क्या आपको Adobe ने कहा कि समस्या तकनीकी है? या आपने खुद ही मान लिया?

हमारे यहाँ समस्या है कि लोग दुकान चलाते हैं, धन कमाते हैं लेकिन इन दुकानों के मालिक इस्तेमाल किए औजारों का मूल्य नहीं चुकाना चाहते।

[जब मैं अपने घर के लिए विंडोज XP का लाइसेंस खरीद रहा था तो दुकानवाला मुझपर हंस रहा था और शायद पागल समझ रहा था]

"जहाँ सुमति तहाँ सम्पति नाना,
जहाँ कुमति तहाँ विपति निधाना"

आप तकनीकी मिजाज के लगते हैं, इसलिए तकनीकी कारण ढूँढ कर उसका समाधान करना चाहते हैं। तो चलिए तकनीकी कारणों पर ध्यान दिया जाये।

आम आदमी के लिए -
हिन्दी कुंजीपटल,
IME (विंडोज,लिनक्स),
यूनिकोड फान्ट,
XP Hindi language pack/लिनक्स हिन्दी सपोर्ट,
ओपन आफिस उपलब्ध है।

आपके लेख में नई जानकारी मिली - "युनिकोड में सभी अक्षरों के कूट-निर्धारित किए जाएँ"। यह अच्छी प्रयोगात्मक दिशा है।

अच्छा हो कि आप भविष्य में DTP के मुक्तस्रोत समाधानों पर लेख लिखें।