Skip to content

An Avro-like phonetic Bangla keyboard for Linux using IBus input method.

License

Notifications You must be signed in to change notification settings

titonbarua/sphotik

Repository files navigation

স্ফটিক, লিনাক্স এ উচ্চারণমূলক(ফনেটিক) বাংলা লেখার জন্য আইবাস ইঞ্জিন [ Sphotik, an IBus engine for phonetic Bangla typing in Linux ]

স্ফটিক হল লিনাক্স-এ বাংলা লেখার জন্য 'অভ্র' এর অনুকরণে তৈরী একটি 'আইবাস ইঞ্জিন' যেটি অভ্র-র নিয়মগুলোর সাথে যথাসাধ্য সাদৃশ্য বজায় রাখার চেষ্টা করে।

বৈশিষ্ট্যসমূহঃ

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

ইন্সটলেশন এর নিয়মাবলীঃ

  • ইন্সটলেশন শুরুর আগে জেনে নিন যে আপনার সিস্টেম এ পাইথন-থ্রি ইন্সটল করা আছে কিনা। এর ভার্সন কমপক্ষে 3.4 হতে হবে। পাইথন-থ্রি এর ভার্সন চেক করার কমান্ডটি হলোঃ python3 --version

  • এই লিঙ্ক থেকে স্ফটিক এর স্ট্যাবল ভার্সন নামিয়ে নিন এবং কোন একটি জায়গায় ফাইলটি এক্সট্রাক্ট করুন। টার্মিনাল এর মাধ্যমে করতে চাইলেঃ cd $HOME && wget 'https://bitbucket.org/titonbarua/sphotik/downloads/sphotik-v2.1.1.tar.gz' -O sphotik-v2.1.1.tar.gz && tar -vxzf sphotik-v2.1.1.tar.gz

  • একটি টার্মিনাল খুলুন এবং এক্সট্রাক্ট করা ডিরেক্টরীতে ঢুকুন। cd $HOME/sphotik-v2.1.1/

  • রুট ইউজার হিসেবে ইন্সটলার স্ক্রিপ্টটি চালু করুনঃ sudo python3 ./installer.py। যদি কোন প্রয়োজনীয় লাইব্রেরী সিস্টেম এ পাওয়া না যায়, তবে স্ক্রিপ্টটি আপনাকে বলে দিবে। প্রয়োজনীয় লাইব্রেরীটি ইন্সটল করে ইন্সটলার পুনরায় চালু করুন। সবকিছু ঠিকঠাক থাকলে 'Installation successful!' লেখা দেখতে পাবেন।

  • সিস্টেম এর 'আইবাস' ডেমন রিস্টার্ট দিন। টার্মিনাল থেকে দিতে চাইলেঃ ibus restart লিখুন।

  • আইবাসের 'Preferences' এ যান। টার্মিনাল থেকে যেতে চাইলেঃ ibus-setup লিখুন। এরপর 'Input Method' ট্যাব থেকে 'Add' বাটন এ ক্লিক করুন এবং 'Bengali' ক্যাটেগরী থেকে 'Sphotik Bangla' বাছাই করুন। 'General' ট্যাব থেকে 'Next input method' নামের কীবোর্ড শর্টকাটটি দেখে নিন।

  • কোন একটি টেক্সট এডিটর চালু করুন এবং আইবাস-এর 'Next input method' শর্টকাট কী-টি (সাধারণত WinKey+Space) প্রয়োজনমত চেপে স্ফটিক চালু করুন। দেখুন যে বাংলা লিখতে পারছেন নাকি। বাংলা লেখা যদি খুব বাজে এবং ভাঙা দেখায় তবে আপনার এডিটর এর ফন্ট পরিবর্তন করে নিন। মনোস্পেস ফন্ট এর মধ্যে 'Dejavu Sans Mono' এবং 'Droid Sans Mono' ফন্ট দুটো বাংলা লেখাকে বেশ সুন্দর করে দেখাতে পারে।

বাংলা লিখবেন যেভাবেঃ

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

  • স্ফটিক এ 'র', 'রেফ' এবং 'র-ফলা' এর জন্য শুধুমাত্র 'r' ব্যবহার করলেই হবে। অভ্র এর মতো 'রেফ' লেখার জন্য 'rr' ব্যবহারের প্রয়োজন নেই। উদাহরণঃ অভ্রতে 'তর্ক' লেখার জন্য আপনাকে লিখতে হবে 'torrko', স্ফটিক এ 'torko' লিখলেই হবে।

  • 'র‍্যা' লিখতে 'raa' ব্যবহার করুন। একইভাবে সহজভাবে 'অ্যা' লিখতে চাইলে 'aa' ব্যবহার করুন। উদাহরণঃ 'raanDom' -> 'র‍্যান্ডম', 'aa^' -> 'অ্যাঁ'।

  • বাধ্যতামূলক 'য-ফলা' লেখার নিয়ম স্ফটিক এ মান্য করা হয় না। বাধ্যতামূলক 'য-ফলা' দিতে চাইলে 'হসন্ত+য'(,,z) ব্যবহার করুন।

  • বাধ্যতামূলক স্বরবর্ণের 'কার' লেখার নিয়মগুলো স্ফটিক এ মান্য করা হয় না।

  • 'য়'গঠন বিষয়ক ব্যতিক্রমী নিয়মগুলো স্ফটিক এ কাজ করে না।

টিপসঃ

  • লেখার কোথায় ভুল করলে ব্যাকস্পেস চেপে পুরোটা না মুছে 'লেফট অ্যারো কী' চাপতে থাকুন। 'প্রি-এডিট টেক্সট' এ একটি লাল/সবুজ কার্সর দেখাবে। কার্সর এর দু'পাশের অক্ষর দুটো যদি সংযুক্ত হয়, তবে কার্সরটি একটি লাল পটভূমিতে কালো ডান্ডা(|) হিসেবে দেখাবে। যদি অক্ষরদ্বয় স্বাধীন থাকে, তবে সবুজ পটভূমিতে কালো যোগচিহ্ন(+) হিসেবে দেখাবে। কার্সর জায়গামতো নিয়ে 'ব্যাকস্পেস(Backspace)', 'ডিলিট(Delete)' ইত্যাদি কী দিয়ে পুর্বের যে কোন অক্ষর মুছতে পারবেন এবং নতুন অক্ষর জুড়ে দিতে পারবেন।

  • কার্সর যেখানেই থাকুক, বর্তমান শব্দটি 'কমিট' করতে চাইলে 'ট্যাব(Tab)' কী চাপুন।

  • শব্দ লেখার মাঝখানে যদি মনে হয় শব্দটি আপনি লিখতে চান না, তবে 'স্ক্যাপ(Esc)' কী চাপুন।

  • সাজেশান টেবিলের অনেক নিচে চলে গিয়েছেন; একদম প্রথম দিকে ফিরে যেতে 'স্ক্যাপ(Esc)' কী চাপুন।

জিজ্ঞাসাঃ

  • 'অভ্র' ডেভেলপারদের সাথে স্ফটিক এর কোন সম্পর্ক আছে কি? না, নেই। স্ফটিক স্বতন্ত্র একটি সফটওয়্যার এবং অভ্র টিম কিংবা অমিক্রণল্যাব দ্বারা আদৃত নয়। স্ফটিক ভিমম্যানিয়াক প্রাইভেট লিমিটেড এর সৌজন্যে মুক্ত সফটওয়্যার হিসেবে প্রকাশিত।

  • কিছু আচরণে স্ফটিক অভ্র থেকে আলাদা কেন? এর জন্য দায়ী মূলত স্ফটিক এর গঠন। স্ফটিক রোমান হরফে লেখা বাংলাকে কয়েকটি সুনির্দিষ্ট পর্যায়ে ধাপে ধাপে ( যেমন প্রথমে ইংরেজী থেকে বাংলা অক্ষর এ পরিবর্তন, এরপর স্বরবর্ণের আকার ঠিক করা, এরপর সুবিধাজনক জায়গায় হসন্ত বসিয়ে যুক্তবর্ণ গঠন ইত্যাদি ) পরিবর্তন করে। এ ধরনের গঠনের সুবিধা হচ্ছে স্ফটিক এর নিয়মগুলো সহজে পরিবর্তন করা যায় - এক ধাপের নিয়ম অন্য ধাপে কোন রকম ঝামেলা সৃষ্টি করে না। অন্যদিকে অসুবিধা হচ্ছে, অভ্র এর সব নিয়ম এখানে প্রয়োগ করা অসম্ভব(কিংবা অত্যন্ত কষ্টসাধ্য)।

  • 'amra' লিখলে হবার কথা 'আমরা', কিন্তু হয়ে যাচ্ছে 'আম্রা'! কি ব্যাপার? 'ম+র' এর প্রয়োগ কিছু ক্ষেত্রে যুক্ত ( যেমন আম্র, তাম্র ), আবার কিছু ক্ষেত্রে মুক্ত (যেমন আমরা, তোমরা )। এক্ষেত্রে স্ফটিকের বোঝার উপায় নেই যে কোনটা কি। কিন্তু আপনি যদি কয়েকবার 'amra' লিখে সাজেশান টেবিল থেকে 'আমরা' নির্বাচন করেন, তবে স্ফটিক পরেরবার থেকে 'amra' লিখলে 'আমরা'-কেই বেছে নিবে। এটা শুধু 'ম+র' এর ক্ষেত্রে নয়, যেকোন ধরনের যুক্তবর্ণের ক্ষেত্রে প্রযোজ্য।

  • একটা বিশেষ যুক্তবর্ণ গঠন করতে পারছি না; কি করব? তাৎক্ষণিকভাবে লিখতে চাইলে হসন্ত (,,) ব্যবহার করে যুক্তবর্ণ গঠন করুন। স্ফটিকে এই যুক্তবর্ণের নিয়ম যোগ করতে চাইলে এই ফাইলটি খুলুনঃ /opt/sphotik/sphotiklib/rules/avro/conjunctions.txt। একদম নিচে গিয়ে একটি নতুন লাইনে যুক্তবর্ণটির গঠনমূলক অক্ষরগুলো পাশাপাশি লিখুন। অক্ষরের মাঝখানে কোন স্পেস কিংবা হসন্ত দেওয়া যাবে না। ফাইলটি সেভ করে আইবাস রিস্টার্ট করুন। আপনার যদি মনে হয় এই যুক্তবর্ণ স্ফটিকের মূল নিয়মের মধ্যেই থাকা উচিত, তবে প্রোজেক্ট এর ইস্যু পাতায় একটি ইস্যু তৈরী করে আপনার মতামত জানান।

  • স্ফটিক কিভাবে আমার লেখার ইতিহাস রাখে? স্ফটিক আপনার লেখা শব্দগুলোর কোনটি কয়বার ব্যবহার করা হয়েছে তার হিসেব একটি sqlite3 ডেটাবেজ ফাইলে সংরক্ষণ করে রাখে যেটা হোম ডিরেক্টরীতে .sphotik_history.sqlite নামে পাবেন। সাধারণত আপনার সিস্টেম এডমিন এবং আপনি ছাড়া আর কেউ এই ফাইলটি দেখতে পারে না। বিশেষ প্রয়োজনে আপনি এটি ডিলিট করে দিতে পারেন। কিন্তু পরেরবার স্ফটিক চালু করলে এটি আবার নতুন করে তৈরী হবে।

পরিবর্তন / পরিবর্ধন / লাইসেন্স

স্ফটিক '2-Clause BSD License' অনুসারে বিতরণ করা হচ্ছে। পরিবর্তন এবং বিতরণ সংক্রান্ত পরামর্শের জন্য 'LICENSE.txt' ফাইলটি পড়ে দেখুন। আপনি যদি এই প্রোজেক্ট এ অবদান রাখতে চান তবে প্রয়োজনীয় পরিবর্তন করে 'Pull Request' করুন। যে কোন ধরনের উপযোগী পরিবর্তন সাদরে গ্রহন করা হবে এবং আপনার নাম কন্ট্রিবিউটর লিস্ট এ যোগ করা হবে।

ত্রুটি এবং পরামর্শ

আপনি যদি সফটওয়্যারটিতে কোন প্রকার ত্রুটি পান তবে দয়া করে এই প্রোজেক্ট এর ইস্যু পেজ এ গিয়ে রিপোর্ট করুন। এছাড়াও যে কোন ধরনের পরামর্শ কিংবা সমালোচনার জন্য আপনি আমন্ত্রিত।

About

An Avro-like phonetic Bangla keyboard for Linux using IBus input method.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages