Unijoy Keyboard

The best alternative for Bijoy keyboard.
A cross platform Bijoy-like keyboard.

ইউনিজয় কী?

ইউনিজয় (ইউনিবিজয়, UniBijoy নামেও পরিচিত) হলো বাংলাদেশে বহুল ব্যবহৃত একটি ইউনিকোড-সমর্থিত মানসম্মত বাংলা কিবোর্ড লেআউট। জনপ্রিয় বিজয় লেআউট মূলত আসকি-ভিত্তিক (ASCII) বাংলা সফটওয়্যারের জন্য তৈরি হওয়ায় তা কখনোই ইউনিকোডের সাথে সামঞ্জস্যপূর্ণ ছিল না। এই সমস্যা সমাধানে ১৯৯৯ সালে একুশে প্রকল্প ইউনিজয় তৈরি করে, একটি ইউনিকোড নেটিভ লেআউট, যা বিজয়ের পরিচিত key-পজিশন অবিকল ধরে রেখেও আধুনিক অপারেটিং সিস্টেম ও অ্যাপ্লিকেশনের সাথে নিখুঁতভাবে কাজ করে।

২০০৫ সালের ৭ ডিসেম্বর এটি GNU LGPL লাইসেন্সের অধীনে m17n প্রকল্পে অন্তর্ভুক্ত হয়। বর্তমানে লিনাক্স, উইন্ডোজ ও অ্যান্ড্রয়েড সব প্ল্যাটফর্মেই ইউনিজয় দিয়ে বিজয়ের অভ্যস্ত হাতে সহজে বাংলা লেখা যায়।

ডাউনলোড

উইন্ডোজ ইন্সটলার

উইন্ডোজের জন্য ইউনিজয় কিবোর্ড তৈরি করার ক্ষেত্রে Microsoft Keyboard Layout Creator ব্যবহার করা হয়েছে।

Fileunijoy-windows-installer.zip

Download

অ্যান্ড্রয়েড কিবোর্ড

HeliBoard, FlorisBoard, FUTO Keyboard, Simple Keyboard অ্যান্ড্রয়েড অ্যাপে ইউনিজয় লেআউটের অনুরূপ মোবাইলের অপেক্ষাকৃত ছোটো স্ক্রিনের জন্য উপযোগী করা ইউনিজয় (ভার্চুয়াল) ব্যবহার করা হয়েছে।

Explore

লিনাক্স

লিনাক্স ভিত্তিক অপারেটিং সিস্টেম, যেমন: উবুন্টুতে ইউনিজয় লেআউট ব্যবহারের জন্য মূলত IBus/m17n ব্যবহৃত হয়। এজন্য প্রয়োজনীয় mim ফাইল সরবারহ করা হয়েছে। এছাড়া XKB এর মাধ্যমেও ব্যবহার করা যাবে।

See GitHub

কেন ইউনিজয়?

কম্পিউটারে ইংরেজি লিখতে কি কোনো আলাদা সফটওয়ার ব্যবহার করতে হয়? অবশ্যই না। বরং উইন্ডোজের নিজস্ব ইনপুট মেথড সিস্টেমের মাধ্যমে ইংরেজি লেখা যায়।

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

Unijoy keyboard layout

ইউনিজয় কিবোর্ডের মাধ্যমে বিজয়ের অনুরূপ একটি লেআউট ইনপুট মেথডে যুক্ত করে দিতে পারেন। ইউনিজয় কিবোর্ড মূলত স্বতন্ত্র কোনো কিবোর্ড নয়। এটি উইন্ডোজের ইনপুট মেথডে বিজয়ের অনুরূপ লেআউট যুক্ত করার একটি পদ্ধতি। উইন্ডোজে ইউনিজয় ইন্সটল করার মাধ্যমে আপনি অন্য কোনো থার্ড পার্টি সফটওয়্যারের সহায়তা ছাড়াই বিজয়ের অনুরূপ লেআউটে বাংলা লিখতে পারবেন। অ্যান্ড্রয়েড অ্যাপে ইউনিজয় লেআউট ব্যবহার করার জন্য অ্যাপ থেকে বাংলা নামের লেআউটটি সচল করে নিতে হবে, যা বিজয়ের অনুরূপ কিবোর্ডের মতো কাজ করবে।

ব্যবহারবিধি

আপনার প্ল্যাটফর্ম অনুযায়ী ধাপ অনুসরণ করুন। ইন্সটল হয়ে গেলে সিস্টেমের ভাষা/ইনপুট শর্টকাট (উইন্ডোজে + Space, লিনাক্সে Super + Space) দিয়ে ইউনিজয় নির্বাচন করে বাংলা লিখুন।

উইন্ডোজের ইন্সটলারটি MSKLC দিয়ে তৈরি, তাই তৃতীয় কোনো সফটওয়্যার ছাড়াই সরাসরি উইন্ডোজের ইনপুট মেথডে ইউনিজয় যুক্ত হয়।

  1. ডাউনলোড: সর্বশেষ রিলিজ থেকে unijoy-windows-installer.zip ডাউনলোড করুন।
  2. ইন্সটল: জিপ এক্সট্র্যাক্ট করে setup.exe রান করুন। SmartScreen সতর্কবার্তা দেখালে More info → Run anyway চাপুন। ইন্সটলেশনের সময় UAC (User Account Control) স্ক্রিন থেকে অনুমতি চাইলে Yes চাপুন।
    ইন্সটল সম্পন্ন হলে ইনপুট মেথডে Bangla (Unijoy) স্বয়ংক্রিয়ভাবে যুক্ত হয়ে যাবে।
  3. নির্বাচন: ইন্সটল শেষ হলে টাস্কবার থেকে অথবা + Space চেপে Bangla (Unijoy) নির্বাচন করুন।

গিটহাবে বিস্তারিত নির্দেশনা দেখুন।

ইউনিজয় ইতিমধ্যেই m17n-db প্যাকেজে অন্তর্ভুক্ত, তাই আলাদা কিছু কপি বা কনফিগার করার দরকার নেই, শুধু প্যাকেজ ইন্সটল করে লেআউটটি সচল করুন।

  • প্যাকেজ ইন্সটল করুন:
    Ubuntu / Debian
    sudo apt update && sudo apt install ibus ibus-m17n m17n-db
    Fedora
    sudo dnf install ibus ibus-m17n m17n-db
    Arch Linux
    sudo pacman -S ibus ibus-m17n m17n-db
  • IBus চালু করুন (প্রয়োজনে):
    ibus-daemon -drx
  • ইনপুট সোর্স যোগ: Settings → Keyboard → Add Input Sources এর মাধ্যমে Bangla (Bangladesh) / Bangla (India) থেকে Bangla (bn-unijoy (m17n)) নির্বাচন করুন।
  • নির্বাচন: Super + Space দিয়ে ইউনিজয়ে পরিবর্তন করুন।
  • বিকল্প হিসেবে XKB পদ্ধতিও আছে: রিপোজিটরি ক্লোন করে ./install.sh চালান। তবে XKB কিছু যুক্তাক্ষর (য-ফলা, র-ফলা, রেফ) তৈরি করতে পারে না; পূর্ণ সমর্থনের জন্য IBus/m17n ব্যবহার করুন। গিটহাবে বিস্তারিত নির্দেশনা দেখুন।

    1. একটি সমর্থিত কিবোর্ড অ্যাপ ইন্সটল করুন: HeliBoard, FlorisBoard, FUTO Keyboard অথবা Simple Keyboard
    2. ইউনিজয় লেআউট সচল করুন: অ্যাপের সেটিংস থেকে বাংলা (ইউনিজয়) নির্বাচন করুন। এটি বিজয়ের অনুরূপ, তবে ছোটো স্ক্রিনের জন্য উপযোগী করা।
    3. বিস্তারিত নির্দেশনা: প্রজেক্ট ওয়েবসাইট দেখুন।

    সমস্যা সমাধান

    এটি সাধারণত লেআউটের সমস্যা নয়, বরং ফন্ট বা ইউনিকোড সমর্থনের সমস্যা।

    উইন্ডোজ
    • Noto Sans Bengali, Nirmala UI, Vrinda এর মতো বাংলা ইউনিকোড ফন্ট ইনস্টল করুন।
    • যদি কোনো নির্দিষ্ট সফটওয়্যারে সমস্যা হয়, সেটি বন্ধ করে আবার চালু করুন।
    • পুরোনো সফটওয়্যারের ক্ষেত্রে Unicode (UTF-8) সমর্থিত সংস্করণ ব্যবহার করুন।
    লিনাক্স
    Ubuntu / Debian
    sudo apt install fonts-noto-core
    Fedora
    sudo dnf install google-noto-sans-bengali-fonts
    Arch Linux
    sudo pacman -S noto-fonts

    ইনস্টলের পর fc-cache -fv চালিয়ে ফন্ট ক্যাশ রিফ্রেশ করুন, প্রয়োজনে অ্যাপ্লিকেশন পুনরায় চালু করুন।

    উইন্ডোজ

    ইন্সটলের পরে ইউনিজয় ইনপুট মেথডের তালিকার স্বয়ংক্রিয়ভাবে যুক্ত না হলে Settings → Time & Language → Language & Region → Add a language থেকে Bangla (Unijoy) যোগ করুন।

    লিনাক্স

    একবার লগ আউট করে আবার লগ ইন করুন। কিছু ডেস্কটপ প্রতি সেশনে কিবোর্ড রেজিস্ট্রি ক্যাশ করে রাখে। ibus restart চালানো যেতে পারে।

    নিশ্চিত করুন IBus চলছে। pgrep ibus-daemon চালান; না চললে ibus-daemon -drx দিয়ে চালু করুন। সিস্টেম ট্রেতে সক্রিয় ইনপুট সোর্স হিসেবে ইউনিজয় (m17n) নির্বাচিত আছে কিনা দেখুন।

    XKB লেআউট যুক্তাক্ষর তৈরি করতে পারে না। এটি একটি পরিচিত সীমাবদ্ধতা। IBus/m17n পদ্ধতিতে পরিবর্তন করুন, যা সব যুক্তাক্ষর সমর্থন করে।

    বিজয় এবং ইউনিজয় লেআউটের পার্থক্য

    বিজয় লেআউট মূলত আসকি ভিত্তিক বিজয় সফটওয়ারের সাথে কম্পাটিবল করার জন্য তৈরি করা হয়েছিল। এজন্য মূল বিজয় লেআউটে ‘ও’ এর জন্য আলাদা একটি key রাখা হয়েছে, যেখানে ইউনিজয় লেআউটে আছে ‘ো’ (ও-কার)।

    বিজয় কিবোর্ডে এ-কার, ঐ-কার ব্যবহারের জন্য তা ব্যঞ্জনবর্ণের প্রথমে লিখতে হয়, যা পুরাতন পদ্ধতি। ইউনিজয় যেহেতু সিস্টেমের ইউনিকোড ভিত্তিক ইনপুট মেথড ব্যবহার করে, সেজন্য এতে স্বরবর্ণের কার সবসময় ব্যঞ্জনের পরে যুক্ত করতে হয়।

    বিজয় লেআউটে ‘ো’, ‘ৌ’ চিহ্নগুলো নেই, কারণ এগুলো বিজয় কিবোর্ডে ভেঙে লিখতে হয়। ইউনিজয় কিবোর্ডে ইউনিকোডের সাথে সামঞ্জস্য রাখার জন্য এই চিহ্নগুলো রাখা হয়েছে।

    এছাড়া zero-width joiner (ZWJ), zero-width non-joiner (ZWNJ) এর মতো কিছু বিশেষ ইউনিকোড ক্যারেক্টার ইউনিজয় কিবোর্ডে আছে, যা বাংলা টাইপিংয়ের জন্য মাঝেমাঝে প্রয়োজন পড়ে। অ্যান্ড্রয়েডের লেআউটে দাঁড়ি, খণ্ড ৎ, বিসর্গ, চন্দ্রবিন্দুর পজিশন মূল বিজয় কিবোর্ডের থেকে আলাদা।