ইউনিকোড

ইউনিকোড (যা আনুষ্ঠানিকভাবে ইউনিকোড মান নামে পরিচিত) তথ্য প্রযুক্তিতে ব্যবহৃত একটি মান বা আদর্শ যার উদ্দেশ্যে বিশ্বের সিংহভাগ লিখন পদ্ধতি দ্বারা সৃষ্ট পাঠ্যবস্তুকে দ্বি-আংকিক পরিগণক যন্ত্র (ডিজিটাল কম্পিউটার) ও টেলিযোগাযোগ ব্যবস্থায় সঙ্গতিপূর্ণভাবে সংকেতায়ন, উপস্থাপন ও অন্যান্য কাজে ব্যবহার করা। ইউনিকোড কনসোর্টিয়াম নামক একটি অলাভজনক সংস্থা এই মানটির রক্ষণাবেক্ষণে নিয়োজিত আছে। এটিতে ১৫৯টি আধুনিক ও ঐতিহাসিক লিপির লিখনপ্রতীকগুলি ছাড়াও অন্যান্য অনেক প্রতীক, ইমোজি (আবেগ-অনুভূতিজ্ঞাপক চিত্রপ্রতীক) এবং অদৃশ্য নিয়ন্ত্রণ ও বিন্যাস সংকেতের জন্য ১ লক্ষ ৪৪ হাজার ৭৬২টি পরিগণনীয় প্রতীক সংজ্ঞায়িত করা হয়েছে।
ইউনিকোড মানে ব্যবহৃত প্রতীক সম্ভারটি সর্বদা আইএসও/আইইসি ১০৬৪৬ নামক আন্তর্জাতিক মানটিতে সংজ্ঞায়িত সর্বজনীন সংকেতায়িত প্রতীক সেটটি ব্যবহার করে; এই দুইটিতে সংজ্ঞায়িত সংকেতগুলি সম্পূর্ণ অভিন্ন। তবে ইউনিকোড কনসোর্টিয়ামের দাপ্তরিক প্রকাশনাটিতে শুধু ঐ প্রতীকগুলির সংকেতায়ন-ই সংজ্ঞায়িত করা হয়নি, বরং এর পাশাপাশি লিপিগুলি সম্পর্কে ও এগুলিকে কীভাবে প্রদর্শন করতে হবে সেসব বিষয়ে বিস্তারিত বিবরণ প্রদান করা হয়েছে, যার মধ্যে আদর্শীকরণ নিয়মাবলি, বিশ্লিষ্টকরণ, আদর্শ ক্রমবিন্যস্তকরণ, চিত্রায়ন, বহুভাষিক পাঠ্যবস্তুর জন্য দ্বিমুখী পাঠ্যবস্তু প্রদর্শন ক্রম, ইত্যাদি উল্লেখ্য। অধিকিন্তু ইউনিকোড মানে সফটওয়্যার নির্মাতা ও নকশাবিদদের প্রতীকসম্ভারটিকে সঠিকভাবে বাস্তবায়নে সহায়তা করার জন্য উপাত্ত নথি ও দৃশ্যমান রেখাচিত্রের প্রতি নির্দেশনা দেওয়া হয়েছে।
প্রতীকের সেটগুলিকে ঐক্যবদ্ধকরণে ইউনিকোডের সাফল্যের কারণে পরিগণক নির্দেশনাসামগ্রী বা কম্পিউটার সফটওয়্যারের আন্তর্জাতিকীকরণ ও স্থানীয়করণে এটির ব্যাপক ও আধিপত্য বিস্তারকারী প্রয়োগ ঘটেছে। বহুসংখ্যক সাম্প্রতিক তথ্য প্রযুক্তিতে এটি বাস্তবায়ন করা হয়েছে, যাদের মধ্যে আধুনিক পরিগণক পরিচালক ব্যবস্থা (অপারেটিং সিস্টেম), এক্সএমএল, জাভা প্রোগ্রামিং ভাষা (ও অন্যান্য প্রোগ্রামিং ভাষা) এবং ডট নেট পরিকাঠামোর নাম উল্লেখ্য।
ইউনিকোড মানটিকে কেবল একটি নয়, বরং একাধিক প্রতীক সংকেতায়ন পদ্ধতি ব্যবহার করে বাস্তবায়ন করা যেতে পারে। ইউনিকোড মানে যে প্রতীক সংকেতায়ন পদ্ধতিগুলি সংজ্ঞায়িত করা হয়েছে, তাদের মধ্যে বেশ কিছু ইউনিকোড রূপান্তর বিন্যাস (ইউটিএফ) যেমন ইউটিএফ-৮, ইউটিএফ-১৬, ইউটিএফ-৩২ ছাড়াও আরও বেশ কিছু প্রতীক সংকেতায়ন পদ্ধতি আছে। ইউনিকোডের সবচেয়ে বেশি সংখ্যায় বাস্তবায়িত সংকেতায়ন পদ্ধতিগুলি হল ইউটিএফ-৮, ইউটিএফ-১৬ এবং অধুনা বিলুপ্ত ইউসিএস-২। জিবি ১৮০৩০ নামের একটি অনানুষ্ঠানিক আদর্শ আছে, যেটি ইউনিকোডকে সম্পূর্ণ বাস্তবায়ন করেছে এবং যেটি চীনে মান হিসেবে ব্যবহৃত হয়।
১৯৮৭ সালে জিরক্স (Xerox) কোম্পানির জো বেকার (Joe Becker) এবং অ্যাপল (Apple) কোম্পানির লি কলিন্স (Lee Collins) ও মার্ক ডেভিস (Mark Davis) একত্রে মিলে ইউনিকোডের কাজ শুরু করেছিলেন। তাদের মূল লক্ষ্য ছিল সকল ভাষাকে একটি সর্বজনীন সংকেতায়নের মানদণ্ডে নিয়ে আসা। ফলশ্রুতিতে পরবর্তী বছরের (১৯৮৮) আগস্ট মাসে জো বেকার "International/multilingual text character encoding system, tentatively called Unicode." (বাংলা অনুবাদ: "আন্তর্জাতিক/বহুভাষিক পাঠ্যপ্রতীক সংকেতায়ন পদ্ধতি, যাকে আপাতত 'ইউনিকোড' নামে ডাকা হচ্ছে") নামে একটি খসড়া প্রস্তবনা তৈরি করেন। এই প্রস্তাবনাটি ছিল একটি ১৬ বিটের প্রতীক সংকেতায়ন পদ্ধতি।
Unicode is intended to address the need for a workable, reliable world text encoding. Unicode could be roughly described as "wide-body ASCII" that has been stretched to 16 bits to encompass the characters of all the world's living languages. In a properly engineered design, 16 bits per character are more than sufficient for this purpose.
১৬ বিটের প্রতীক সংকেতায়ন পদ্ধতি পছন্দ করার কারণ ছিল এই যে তাঁরা মনে করেছিলেন যে শুধু আধুনিক ভাষার বর্ণগুলি ব্যবহৃত হবে।
Unicode gives higher priority to ensuring utility for the future than to preserving past antiquities. Unicode aims in the first instance at the characters published in modern text (e.g. in the union of all newspapers and magazines printed in the world in 1988), whose number is undoubtedly far below 214 = 16,384. Beyond those modern-use characters, all others may be defined to be obsolete or rare; these are better candidates for private-use registration than for congesting the public list of generally-useful Unicodes.
পরবর্তীতে অনেক পুরাতন ভাষার জন্যও অন্যান্য বহু প্রতীক তালিকাভুক্ত করার প্রয়োজন পড়ে। এদের মাঝে এমন ভাষাও রয়েছে যেগুলি বর্তমানে আর ব্যবহৃত হয় না। (যেমন: মিশরীয় চিত্রলিপি, লিনিয়ার-এ, লিনিয়ার-বি ইত্যাদি)
১৯৮৯ সালে মেটাফোর (Metaphor) কোম্পানির কেন হুইসলার (Ken Whistler) এবং মাইক কার্নাগান (Mike Kernaghan), আর.এল.জি (RLG) কোম্পানির ক্যারেন স্মিথ-ইয়োশিমুরা (Karen Smith-Yoshimura) ও জোন আলিপ্র্যান্ড (Joan Aliprand) এবং সান মাইক্রোসিস্টেমস (Sun Microsystems) কোম্পানির গ্লেন রাইট (Glenn Wright) ইউনিকোড উন্নয়ন দলে যোগদান করেন। পরবর্তীতে ১৯৯০ সালে মাইক্রোসফট (Microsoft) কোম্পানির মিশেল সুইগনার্ড (Michel Suignard) ও অ্যাস্মাস ফ্রাইট্যাগ (Asmus Freytag) এবং নেক্সট (NeXT) কোম্পানির রিক ম্যাকগোয়ান (Rick McGowan) যোগদান করেন। ১৯৯০ সালের শেষের দিকে ইউনিকোডের খসড়া প্রস্তাবনা সম্পন্ন হয়। ১৯৯১ খ্রিস্টাব্দের অক্টোবর মাসে ইউনিকোড মানের প্রথম খণ্ডটি এবং ১৯৯২ সালের জুন মাসে এর দ্বিতীয় খণ্ডটি প্রকাশিত হয়।
বুলীয় বীজগণিতের নিয়মে গণনা করায় কম্পিউটার কেবলমাত্র শূন্য বা ০ বা অফ এবং এক বা ১ বা অন এই দুটি অবস্থা বোঝে। এক-একটি সংখ্যাকে বোঝানোর জন্য কম্পিউটারে ০ এবং ১ এর বিভিন্ন ক্রম ব্যবহার করা হয়। কম্পিউটারে লিপি বা অন্যান্য অক্ষর সংরক্ষিত হয় সেই অক্ষরগুলির প্রতিটির জন্য ০ ও ১-এর অদ্বিতীয় একটি ক্রম দিয়ে। একটি প্রতীক সংকেতায়ন পদ্ধতি এরূপ একটি অদ্বিতীয় ক্রমের সঙ্গে একটি অক্ষরকে সংযুক্ত করে। এই সমস্ত ক্রমগুলিকে একত্রে বলা হয় "কোডস্পেস্" এবং কোডস্পেসের অন্তর্ভুক্ত প্রত্যেকটি ক্রমকে "ক‌োড পয়েন্ট" বলা হয়। কম্পিউটারে ব্যবহারের জন্য একাধিক বর্ণসংকেতায়ন ব্যবস্থা রয়েছে। প্রত্যেকটি অক্ষরের জন্য বিভিন্ন বর্ণসংকেতায়ন ব্যবস্থায় ওই অদ্বিতীয় সংখ্যার মান ভিন্ন হওয়ায় তথ্য আদানপ্রদানে অসুবিধা দেখা দেয়। ইউনিকোডে প্রত্যেকটি পরিচিত অক্ষরের জন্য একটি করে কোডপয়েন্ট বরাদ্দ করা হয় এবং প্রত্যেকটি কোডপয়েন্টকে একটি অদ্বিতীয় ষষ্ঠদশনিধান বিশিষ্ট পূর্ণসংখ্য দ্বারা চিহ্নিত করা হয়। "U+" এর পর কোডপয়েন্টটির ষষ্ঠদশনিধান বিশিষ্ট সংখ্যাটিকে লিখে কোডপয়েন্টটিকে চিহ্নিত করা হয়। ইউনিকোডে বর্তমানে ১১,১৪,১১২ সংখ্যক ক‌োডপয়েন্ট রয়েছে, যেগুলিকে 0 থেকে 10FFFF পর্যন্ত সংখ্যগুলি দ্বারা চিহ্নিত করা হয়। যদিও প্রত্যেকটি কোডপয়েন্ট লিখনযোগ্য অক্ষরকে নির্দেশ করে না। উদাহরণস্বরূপ, U+200F কোডপয়েন্টটি Zero Width Non-Joiner অক্ষরটিকে চিহ্নিত করে, যেটিকে মুদ্রিত করা বা কম্পিউটারের মনিটরে দেখানো সম্ভব নয়।