Wednesday, February 6, 2008

ইউনিকোড পাঠ ০৫

এই লেখা লিখেছেন খ্যাতিমান খ্যাত। পঞ্চম কিস্তি লিখে বলে ধ্যাত। পাঠকরা হাই তোলে, তিনি তোলে বেত। তার আগে পড়া যাক গিমিছড়া 'ক্যাত' :

ঘরে নাই বাতি, তবু আঁকি হাতি।
নৌকা ডুবলে করি মাতামাতি।
তুমি বানভাসি, তাই দেখে হাসি।
রিলিফের মাল বড় ভালোবাসি।

এবার মূল লেখা।
(পাঠক টানা কী কষ্ট রে বাপ!)
__________________________________
পাঁচ.
স্ক্রিনে কোন বর্ণ কেমন দেখাবে, তা নিয়ে মাথা ঘামায় না ইউনিকোড। শুধু বর্ণগুলো কীভাবে অনূদিত হবে, তার নির্দেশনা থাকে। মানে, টেক্সট এনকোডিং ও ডিকোডিং ঠিকমতো হচ্ছে কিনা, সেটা দেখে ইউনিকোড। আর বর্ণের ভিজ্যুয়াল রেপ্রিজেন্টেশন (গ্লিফ) কেমন হবে, তার তদারকি করে সফটওয়্যার বা হার্ডওয়্যারের রেন্ডারিং ইঞ্জিন।

ইউনিকোডের আরেকটি গুরুত্বপূর্ণ বিষয় কম্বাইনিং ক্যারেক্টার সিকোয়েন্স। এতে কাঙ্ক্ষিত যুক্ত বর্ণ তৈরি করতে কোন বর্ণের পর কোন বর্ণ দিতে হবে, তার নির্দেশনা থাকে। সাধারণত একটি মূল বর্ণের পরে এক বা একাধিক কম্বাইংনিং চিহ্ন দিলে রেন্ডারিংয়ের সময় তা মূল বর্ণের উপরে, নিচে বা পাশে সঠিকভাবে বসে। বাংলায় যেমন ম + ্ + প টাইপ করলে তৈরি হয় ’ম্প’। এ ধরনের ক্যারেক্টার সিকোয়েন্স একেক ভাষায় একেক রকম থাকে।

বর্ণের ধারাবাহিকতার বেলায় স্ক্রিনে কোন বর্ণগুলো দেখা যাবে তা মুখ্য নয়, বরং কোন বর্ণের পর কোন বর্ণ ইনপুট দিতে হবে সেটাই গুরুত্বপূর্ণ। যেমন, 'ম্প' তৈরিতে হসন্ত চিহ্নটি স্ক্রিনে নাও দেখা যেতে পারে। সঠিক ধারাবাহিকতায় ইনপুট দিলে ইউনিকোড বলে দেবে মূল বর্ণের কোন পরিবর্ধিত রূপ হবে।

বাম থেকে ডানে (যেমন বাংলা লিপি) কিংবা ডান থেকে বায়ে (যেমন আরবি লিপি) কিবোর্ডে যেভাবেই টাইপ করা হোক না কেন, লিপিগুলো যেন মেমোরিতে যৌক্তিকভাবে সংরক্ষিত থাকে, তার জন্য ইউনিকোডের নিজস্ব অ্যালগরিদম রয়েছে।

ইউনিকোডে প্রতিটি কোড পয়েন্ট সংরক্ষণ করা হয় ৮, ১৬ বা ৩২ বিটে। তবে এ তিন এনকোডিংয়ে একই বর্ণভান্ডার ব্যবহার করায় এক এনকোডিং থেকে অন্য এনকোডিংয়ে রূপান্তরের সময় কোনো তথ্য বিকৃত হয় না। এই ফরম্যাটকে বলা হয় ইউনিকোড ট্রান্সফরমেশন ফরম্যাট (UTF)। এইচটিএমএল এবং এ ধরনের প্রটোকলে ব্যবহার হয় UTF-8। এই ফরম্যাটের একটি বড় সুবিধা, অ্যাসকি এবং ইউনিকোডে প্রতিটি বর্ণের কোড পয়েন্ট এক। ফলে ইউনিকোড ক্যারেক্টার UTF-8 এ রূপান্তর করলে অ্যাসকির জন্য তৈরি সফটওয়্যার কোনো ধরনের ঝামেলা ছাড়াই সাপোর্ট করে। UTF-16 কম মেমরি স্পেসের জন্য আরেকটি কম্প্যাক্ট ফরম্যাট। মেমরি স্পেস যেখানে কোন সমস্যা নয় সেখানে UTF-32 ফরম্যাট ব্যবহার করা হয়।
__________________________________

তারপর না এইসব ছাইপাশ পড়ে হাতিশালের ঘোড়াটা পটাপট একশ' টা ডিম পেড়ে দিলো। ইস, আর তারপর বলে কী জানেন, তোমার কিস্তি ছয় কই? তাড়াতাড়ি দাও গো, আমার না খুব ইউনিকোড চেপেছে। হিহিহি।

আমি তো খুশিতে তিন লাফ দিই।
অমনি সে রেগে যায়, গজরাতে গজরাতে বলে, ভুউউউয়ায়ায়া।

No comments:

Post a Comment