Skip to content / মূল অংশে যান
•2026-09-20•৬ মিনিট পড়ার সময়

বাংলা টাইপিং-এর grapheme ও ইউনিকোড চ্যালেঞ্জ

বাংলা বর্ণমালা ইংরেজি অক্ষরের মতো একক ক্যারেক্টার নয়। যুক্তবর্ণ, হসন্ত ও কারচিহ্ন স্ট্রিং ইনডেক্সিং এবং টাইপিং ভ্যালিডেশনে বিশেষ চ্যালেঞ্জ তৈরি করে।

বাংলা টাইপিং প্ল্যাটফর্ম তৈরি করতে গিয়ে যে বিষয়টি সবচেয়ে বেশি ভাবিয়েছে তা হলো—বাংলা ভাষায় "একটি বর্ণ" মানে কম্পিউটারের জন্য একাধিক ইউনিকোড কোডপয়েন্ট হতে পারে।

যেমন "ক্ষ" তৈরি হয় ক + ্ + ষ দিয়ে। ব্যবহারকারী যখন একটি কি প্রেস করেন, তখন তিনি একটি গ্রাফিম ক্লাস্টার (grapheme cluster) আশা করেন, কিন্তু সাধারণ JavaScript `string.length` বা ক্যারেক্টার ইনডেক্স এটি সরাসরি বুঝতে পারে না।

যদি ইনডেক্সিং ভুল হয়, টাইপিং টেস্টের ব্যাকস্পেস, ভুল নির্ণয় ও স্পিড ক্যালকুলেশন এলোমেলো হয়ে যায়।

এ জন্য আমরা `Intl.Segmenter` এবং কাস্টম ইউনিকোড নরমালাইজেশন (NFC/NFD) ব্যবহার করে প্রতিটি অক্ষরের সঠিক সীমানা নির্ধারণ করেছি। ফলে ৬১টি পাঠ ও ১৩টি স্তরে নির্ভুল রিয়েল-টাইম টাইপিং অভিজ্ঞতা দেওয়া সম্ভব হয়েছে।

    বাংলা টাইপিং-এর grapheme ও ইউনিকোড চ্যালেঞ্জ | Joysriram Sarkar