×

মুক্তচিন্তা

জটিলতা ও অবজ্ঞায় ভরা বাংলা বর্ণমালার এনকোডিং

Icon

কাগজ প্রতিবেদক

প্রকাশ: ০১ ডিসেম্বর ২০১৯, ১১:৩০ এএম

আমাদের বাংলা বর্ণের এনকোডিং প্রমিতকরণ ও তার চ্যালেঞ্জের সঙ্গে ইউনিকোড এবং তার সঙ্গে প্রাসঙ্গিক বিষয়াদি নিয়ে কথা বলতে চাই। বাংলা বর্ণমালার বিশ্বজনীন ব্যবহারের ক্ষেত্রে এটি খুবই গুরুত্বপূর্ণ একটি বিষয়। ডিজিটাল যুগে বাংলা বর্ণমালা নিয়ে বিদ্যমান জটিলতা নিরসন না করতে পারলে আমরাই তার জন্য দায়ী থাকব। ধীরে ধীরে বাংলার অন্যান্য প্রমিতকরণ প্রসঙ্গটিও আলোচিত হতে পারে।

শুরুতেই ডিজিটাল যন্ত্রে বর্ণের প্রমিতকরণ নিয়ে কথা বলা যায়। প্রথমত সাধারণ মানুষের বোঝার জন্য এটি বলা দরকার যে, কম্পিউটার বস্তুত কোনো ভাষা বোঝে না। এটি যুগ্ম সংখ্যায় কাজ করে এবং এর ভাষা কেবল ০ ও ১। দুনিয়ার সব ভাষাই সংকেত আকারে ০ ও ১ হিসেবেই কম্পিউটারে প্রক্রিয়াকরণ হয়। আমরা কম্পিউটারের পর্দায় যা দেখি সেটি কেবলমাত্র আমাদের দৃশ্যমানতা। যুগ্ম সংখ্যাকে কম্পিউটারের প্রোগ্রামের সহায়তায় আমাদের ভাষায় রূপান্তর করে দেখানো হয়।

ভাষার জন্য কম্পিউটারের প্রয়োজনে প্রথমে রোমান হরফকে ১২৮টি (০ থেকে ১২৭) কোডের মাঝে চিহ্নিত করা হয়। একে (লোয়ার) আসকি কোড বলা হতো। ১৯৬০ সালের অক্টোবরে টেলিগ্রাফিক কোডের ওপর ভিত্তি করে এটি নিয়ে কাজ শুরু হলেও এর প্রথম সংস্করণ প্রকাশিত হয় ১৯৬৩ সালে। এক সময়ে সেটাকে ২৫৬টি কোডে পরিণত করা হয়। ১২৮-এর ওপরের কোডগুলোকে উচ্চতর আসকি (১২৮ থেকে ২৫৫) বলা হতো। আমেরিকানদের তৈরি করা সেই কোডই কম্পিউটারে রোমান হরফের মান হিসেবে প্রচলিত ছিল। আসকি কোডে দুনিয়ার আর কোনো বর্ণমালার কোনো কোড ছিল না। কালক্রমে আসকিকে আরো সম্প্রসারিত করে এক্সটেন্ডেড আসকি কোড হিসেবে চিহ্নিত করা হয়। যার ফলে লাতিন সব ভাষার সব বর্ণকে তার মাঝে অন্তর্ভুক্ত করা হয়। দুনিয়ার আর কোনো ভাষার কোনো বর্ণকে এই এক্সটেন্ডেড কোডেও যুক্ত করা হয়নি।

আমরা ১৯৮৭ সালে প্রথম যখন কম্পিউটারে বাংলা চালু করি তখন রোমান হরফের সেই কোডেই (২৫৬টি) বাংলা হরফের চেহারা বা ফন্ট বানিয়ে তাকে ব্যবহার করতাম। এখনো আমাদের মুদ্রণ ও প্রকাশনার ক্ষেত্রে সেই আসকি কোডই ব্যবহার করতে হয়। এর প্রধানত কারণ হচ্ছে প্রকাশনার খুবই জনপ্রিয় অ্যাপ্লিকেশন প্রোগ্রামগুলো বাংলায় ইউনিকোডকে সমর্থন করে না। ডিজিটাল যন্ত্রে বাংলার ব্যবহারের ক্ষেত্রে এটাও একটি বড় সংকট। আমাদের তৈরি করা বাংলা ভাষার সেই কোড এখন বিডিএস ১৯৩৫:২০১৮ এবং ইঝঈওও নামে প্রমিত করা হয়েছে। এই এনকোডিংয়ের জন্যও ২০১৮ সাল পর্যন্ত বাংলাভাষীদের অপেক্ষা করতে হয়েছে।

ইউনিকোড এবং ইউনিকোড কনসোর্টিয়াম কী : ইউনিকোড হলো সারা দুনিয়ার ভাষাগুলোর জন্য ডিজিটাল যন্ত্রের এক ও অভিন্ন এনকোডিং ব্যবস্থা। অন্যদিকে ইউনিকোড কনসোর্টিয়াম হলো এই কোড প্রমিত করার জন্য মার্কিন যুক্তরাষ্ট্রে অবস্থিত একটি অলাভজনক সংস্থা। এর সূচনা ১৯৮৬ সালে হলেও এর জন্ম ১৯৮৭ সালে। ১৯৮৮ সালে এটি মোটামুটি একটি রূপ পরিগ্রহ করে। ১৯৯১ সালের জানুয়ারিতে ইউনিকোড ইনকরপোরেটেড হয়। র‌্যাঙ্ক জেরক্সের জো বেকার এবং অ্যাপল কম্পিউটারের লি কলিন্স ও মার্ক ডেভিস প্রাথমিক আলোচনার মধ্য দিয়ে ইউনিকোড কনসোর্টিয়ামের যাত্রা শুরু করেন। মূলত র‌্যাঙ্ক জেরক্স ও অ্যাপল কম্পিউটারের উদ্যোগ হলেও এটি এখন সারা দুনিয়ার ভাষাগুলোর ডিজিটাল যন্ত্রের মান নির্ণয় করে থাকে। যদিও আইএসও (ইন্টারন্যাশনাল স্ট্যান্ডার্ড অরগানাইজেশন) হলো বিশ্বের মান নির্ধারণ বা প্রমিতকরণ সংস্থা, তথাপি ইউনিকোড কনসোর্টিয়ামই কার্যত কম্পিউটারে বিশ্বের ভাষাগুলো ব্যবহার করার একমাত্র মান প্রস্তুতকারী সংস্থা। এখনকার প্রেক্ষিতে এই দুটি সংস্থাকে আলাদা করে ভাবার কোনো অবকাশ নেই।

ইতিহাসের পাতায় চোখ রাখলে জানা যাবে যে, ইউনিকোড শব্দটির উৎপত্তি জো বেকারের হাতে। তিনি From unique, universal, and uniform character encoding এর বিবেচনায় এই নামটি রাখেন। বস্তুত এর প্রথম মানটি তৈরি করার কাজ শুরু হয় ১৯৮৬ সালে। কিন্তু সেই সংস্করণটি প্রস্তুত করতে সময় লাগে ৬ বছর। তাই ১৯৯২ সালের জুন মাসে প্রথম সংস্করণটি প্রকাশিত হয়। এর মাঝে ইউনিকোডের ১২টি সংস্করণ প্রকাশিত হয়েছে। ২০১৯ সালের মে মাসে প্রকাশিত হয় এর ১২.১ সংস্করণ।

ইউনিকোড ওয়েবসাইট থেকে প্রাপ্ত তথ্য অনুসারে এ ইউনিকোড ১২.১ সংস্করণের বিবরণ এ রকম; মোট ১ লাখ ৩৭ হাজার ৯২৯টি বর্ণ রয়েছে। কম্পিউটারের যারা আদি ব্যবহারকারী তারা জানেন যে, এই ডিজিটাল যন্ত্রটি একেবারে শুরুতে রোমান হরফ ছাড়া আর কোনো হরফ বুঝত না। শুরুতে আমরা এসব প্রসঙ্গ এবং আসকি এনকোডিং নিয়ে কথা বলেছি। র‌্যাঙ্ক জেরক্স কোম্পানি আসকির কোডসীমা অতিক্রম করার চেষ্টা করলেও একই সমান কোড বহাল রেখে রোমান ভাষার পাশাপাশি অন্য ভাষা ব্যবহারের সহজ সুযোগ আসে ১৯৮৪ সালে জন্ম নেয়া মেকিন্টোস কম্পিউটারে। ১৯৮১ সালে জন্ম নেয়া আইবিএম পিসির জন্য প্রণীত ডস অপারেটিং সিস্টেমেও রোমান হরফের কোড সীমানায় অন্য ফন্ট এবং সেই সুবাদে অন্য ভাষা ব্যবহার করা যেত। কিন্তু প্রক্রিয়াটি জটিল ছিল বলে অ্যাপল কম্পিউটার কোম্পানির মেকিন্টোস কম্পিউটার ডেস্কটপ বিপ্লবে অগ্রনায়কের ভ‚মিকা পালন করে। অ্যাপলের গ্রাফিক্যাল ইউজার ইন্টারফেস এবং কুইক ড্র অ্যাপ্লিকেশনগুলো খুব সহজে গ্রাফিক পদ্ধতিতে রোমান ছাড়া অন্য ভাষার বর্ণমালা উৎপন্ন করতে শুরু করে। মাল্টিপল ফন্ট ব্যবহারের প্রযুক্তিও এ জন্য সহায়তা করেছে। ফলে ডস অপারেটিং সিস্টেমে বাংলা প্রয়োগ করার চেষ্টা আশির দশকের শুরুতে করা হলেও বস্তুত অ্যাপল মেকিন্টোস কম্পিউটারেই প্রথম বাংলা ভাষা সঠিক ও সুন্দরভাবে লেখা হয়। ১৯৮৭ সালের ১৬ মে প্রকাশিত হয় কম্পিউটারে কম্পোজ করা প্রথম বাংলা পত্রিকা- আনন্দপত্র। পরবর্তী সময় ১৯৯৩ সালে উইন্ডোজের হাত ধরে মেকিন্টোসের সেই প্রযুক্তি পিসিতে আসে। কেবল ইন্টারনেট ছাড়া অন্য সব কাজেই আমরা এখনো সেই প্রযুক্তিই ব্যবহার করছি।

২৫৬ কোডের আসকি কোডসেট নিয়ে বাংলা লেখার প্রধান অসুবিধা তিনটি। প্রথমত বাংলা বর্ণের সংখ্যা অনেক বেশি। ২৫৬ কোডের মাঝে সর্বোচ্চ ২২০টি কোড ব্যবহার করে বাংলা সব যুক্তাক্ষর অবিকৃতভাবে লেখা অসম্ভব। এতে বর্ণগুলোর সৌন্দর্য রক্ষা করা কঠিন হয়ে পড়ে। অধিকাংশ বর্ণকে সঠিকভাবে উৎপন্ন করা গেলেও অনেক বর্ণ তার প্রকৃতরূপে দেখা যায় না। বিশেষ করে যুক্তাক্ষরের ক্ষেত্রে সমস্যাটি গভীর। ফলে যখনই আমরা বাংলা হরফের বিষয়টি পর্যালোচনা করি তখনই দেখি যে, যুক্তাক্ষরগুলো তাদের আদি রূপ হারিয়ে ফেলছে বা নানা ধরনের অক্ষরাংশ দিয়ে তৈরি হচ্ছে বলে যথাযথভাবে সেটি উৎপন্ন হচ্ছে না। বাংলা হরফে যেহেতু কেবল বর্ণ নয় ফলা এবং চিহ্নও আছে সেহেতু সেগুলো সঠিকভাবে বর্ণগুলোর সঙ্গে যুক্ত হচ্ছে কিনা সেটিও দেখার বিষয়। বাস্তবতা হলো, ২৫৬টি কোডে বাংলা সঠিকভাবে লেখা সম্ভব নয়। আমরা যারা বাংলা হরফ তৈরি করি তারা কার্যত আপস করি। একে মন্দের ভালো বলা যায়।

আসকি কোডের দ্বিতীয় অসুবিধা ছিল যে বাংলা ভাষার জন্য কোনো আসকি মান ছিল না। বাংলাদেশের বিএসটিআই এক সময়ে বাংলার জন্য একটি মান তৈরির চেষ্টা করে ব্যর্থ হয়। যদিও ২০০০ সালে একটি মান তৈরি হয় (বিডিএস ১৫২০:২০০০) কিন্তু সেটি আইএসও গ্রহণ করেনি। অন্যদিকে বেসরকারি সফটওয়্যার নির্মাতারা নিজেরা একেকটি মান তৈরি করে বলে একাধিক মানের জন্ম হয়েছে। এজন্য বাংলাদেশের একাধিক মান, পশ্চিমবঙ্গের একাধিক মান এবং আসাম-ত্রিপুরার মানগুলো নিয়ে আমরা ব্যাপকভাবে সংকটে পড়েছি। এতদিনে ২০১৮ সালে বাংলাদেশ আসকির জন্যও মান নির্ণয় করেছে। সুতন্বিএমজে ফন্টের কোড এখন বিডিএস ১৯৩৫:২০১৮ মানে প্রমিত হয়েছে।

খুব বেশি গুরুত্বপূর্ণ না হলেও তৃতীয় আরেকটি সমস্যা হলো; আসকির একই কোড ইংরেজি ও বাংলা ব্যবহার করে বলে ফন্ট পরিবর্তনের সঙ্গে সঙ্গে ভাষাও বদলে যেতে পারে। বাংলা ও ইংরেজি মিশ্রিত দলিলে এটি বেশ বড় ধরনের সমস্যা তৈরি করে। ফন্ট বদলাতে গেলে বা কনভার্ট করতে গেলে সেগুলো ভীষণ সমস্যা তৈরি করে। আগামীতে এ বিষয়ে আরো আলোচনা করব।

রোমান হরফে লেখা হয় এমন ভাষা ছাড়া দুনিয়ার সব ভাষাই আসকি কোড নিয়ে যন্ত্রণায় ভুগেছে। ভারতীয় ভাষাগুলো ছাড়াও জাপানি, কোরীয় বা চীনা ভাষার যন্ত্রণা আরো অনেক বেশি ছিল। তবে সবার মতো ইউনিকোড মান আমাদের আসকি এনকোডিং সমস্যার সমাধান দিয়েছে। যদিও ইউনিকোড মানে কেবল মূল বর্ণগুলোর মান রয়েছে এবং আমাদের যুক্তবর্ণকে কোনো মান দেয়া হয়নি, তথাপি ওপেনটাইপ নামক একটি প্রযুক্তি দিয়ে আমরা অক্ষরের সংখ্যা যে কোনো পর্যায়ে নিয়ে যেতে পারি। ফলে অক্ষরের আকার-আকৃতি নিয়ে যে সমস্যা আসকিতে রয়েছে সেটি আর থাকে না। ইউনিকোড যেহেতু সবার কাছে গ্রহণযোগ্য সেহেতু এর মান নিয়ে কোনো প্রশ্নও উঠছে না। বাংলাদেশে ইউনিকোড মান সরকারি স্বীকৃতি পেয়েছে। এমনকি পশ্চিমবঙ্গেও এটি স্বীকৃতি পেয়েছে। পশ্চিমবঙ্গের যে সংস্থাটি ইউনিকোডের সদস্য তাদের মন্তব্য হলো, Data Representation and Encoding Standard: Society for Natural Language Technology Research has decided to accept UNICODE 5.0 and upwards as the standard for data representation and encoding for Bangla.

এর মানে হচ্ছে, ইউনিকোড মান ব্যবহার করলে বাংলাদেশের একটি টেক্সট ভারতের পশ্চিমবঙ্গেও একইভাবে কোনো পরিবর্তন ছাড়া ব্যবহার করা যাবে। অন্যদিকে ইউনিকোডের মানে যেহেতু ভাষাগুলোর কোডিং আলাদা সেহেতু কোনো টেক্সটের ফন্ট বদলালে সেটির ভাষাও বদলে যায় না। তবে অত্যন্ত বিনয়ের সঙ্গে আমি এ কথা বলব যে, আমাদের ইউনিকোডের সদস্যপদ অনেক আগেই গ্রহণ করা জরুরি ছিল। এর প্রথম কারণ হচ্ছে বাংলা আমাদের রাষ্ট্রভাষা। ফলে এই ভাষার মান নির্ণয়ের ক্ষেত্রে আমরা নীরব থাকতে পারি না। আমি স্মরণ করতে পারি যে, শুরু থেকেই ইউনিকোড মান যখন নির্ধারিত হতে থাকে তখন বাংলাদেশের প্রতিনিধিত্ব ছিল না বলে তাতে আমরা যেভাবে বাংলা লিখি এবং আমাদের যেসব হরফের খুবই প্রয়োজন সেগুলো ইউনিকোড অন্তর্ভুক্ত করেনি। প্রধানত হিন্দির অনুকরণে বাংলার প্রমিতকরণ করা হয়। ফলে প্রথম দিকের সংস্করণগুলোতে আমাদের ড়, ঢ়, য় ও ৎ ছিল না। ইউনিকোডে এসব অক্ষর প্রবেশ করতে অনেক সময় লেগেছে। আমি স্মরণ করতে পারি, থাইল্যান্ডে যখন আমি ইউনিকোডের প্রথম সংস্করণের নমুনা দেখি তখন স্পষ্টতই বাংলাকে হিন্দির অনুগত মনে হয়। সেখানে প্রতিবাদ করার ফলে প্রথম সংস্করণ চ‚ড়ান্ত করার আগেই অনেক অগ্রগতি হয়।

মোস্তাফা জব্বার : তথ্যপ্রযুক্তিবিদ ও কলাম লেখক।

সাবস্ক্রাইব ও অনুসরণ করুন

সম্পাদক : শ্যামল দত্ত

প্রকাশক : সাবের হোসেন চৌধুরী

অনুসরণ করুন

BK Family App