ছবি সংগৃহীত

[অ্যাডভান্স ইউজারদের জন্য] রুট করা যেকোনো অ্যানড্রয়েড ডিভাইসে যেভাবে একটি কাস্টম ফন্ট ইন্সটল করবেন (কোনো প্রকার বন্দী সফটওয়্যার ব্যবহার না করে)

শফিকুল আমিন
লেখক
প্রকাশিত: ০৭ অক্টোবর ২০১৫, ১৬:০১
আপডেট: ০৭ অক্টোবর ২০১৫, ১৬:০১

ছবির কৃতিত্ব: Android Puzzle by Tsahi Levent-Levi - CC-BY-2.0

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

মূলনীতি:

/system/fonts ডিরেক্টরিতে একটা ফন্ট আছে যার নাম "DroidSansFallback.ttf" অন্য কোনো TrueType Font(*.ttf)-কে ঐ ফন্টের সাথে প্রতিস্থাপন করে দিলে নতুন ফন্টটি দেখাবে। এছাড়াও অন্যান্য ফন্টগুলোর সাথেও নতুন ফন্ট প্রতিস্থাপন করে দেওয়া যায়। তবে প্রতিস্থাপনের আগে সিস্টেম ফন্টের ব্যাকআপ নিয়ে রাখা বুদ্ধিমানের কাজ।

প্রয়োজনীয় উপাদান:

১। একটি রুট করা অ্যান্ড্রয়েড ডিভাইস, ২। Terminal Emulator, (যদি না থাকে তাহলে "https://f-droid.org/FDroid.apk" ফাইলটি ডাউনলোড করে ইন্সটল করতে হবে। এরপর F-Droid অ্যাপ দিয়ে "Terminal Emulator" আ্যাপটি ইন্সটল করে নিতে হবে।) ৩। ইন্টারনেট কানেকশন এবং ৪। একটি কাস্টম ফন্ট। (আমি যেহেতু বাংলা ফন্ট ইন্সটল করব, সেহেতু আমি "SolaimanLipi_22-02-2012.ttf" ফন্টটি ব্যবহার করব।)

কার্যপদ্ধতি:

(আপনি কি করছেন বা কি হচ্ছে এ সম্পর্কে যদি আপনি না জানেন, তাহলে সামনে এগিয়ে যাওয়া ঠিক হবে না।)

১। কাস্টম ফন্ট ডাউনলোড করে তা /mnt/sdcard/ ডিরেক্টরিতে রাখা: নিয়ম:
$ wget [HTTP/FTP URL] -P [DIR]
টার্মিনালে লিখুন: $ wget http://files.ekushey.org/Ekushey_OpenType_Bangla_Fonts/SolaimanLipi_22-02-2012.ttf -P /mnt/sdcard/ downloading_font_using_wget_CC-BY-NC-ND-3.0 Download Font using wget - CC-BY-NC-ND-3.0 ২। ফন্টটির নাম পরির্তন করা: নিয়ম:
$ mv old_name new_name
টার্মিনালে লিখুন:
$ cd /mnt/sdcard/
$ mv SolaimanLipi_22-02-2012.ttf DroidSansFallback.ttf
Renaming_Font_CC-BY-NC-ND-3.0 Renaming Font - CC-BY-NC-ND-3.0 ৩। /system এর ডিভাইস ফাইল খুজে বের করা এবং এর ফাইল সিস্টেম টাইপ জানা:
$ su
# mount
তাহলে নিচের মত কিছু জিনিস দেখাবে: Mount_Information-CC-BY-NC-ND-3.0 Mount Information - CC-BY-NC-ND-3.0
rootfs on / type rootfs (ro,relatime)
tmpfs on /dev type tmpfs (rw,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /acct type cgroup (rw,relatime,cpuacct)
tmpfs on /mnt/asec type tmpfs (rw,relatime,mode=755,gid=1000)
tmpfs on /mnt/obb type tmpfs (rw,relatime,mode=755,gid=1000)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
/dev/block/mmcblk0p25 on /system type ext4 (ro,relatime,barrier=1,data=ordered)
/dev/block/mmcblk0p26 on /data type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc)
/dev/block/mmcblk0p27 on /cache type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered)
/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,relatime)
/dev/block/vold/179:65 on /mnt/sdcard type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/block/vold/179:65 on /mnt/secure/asec type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
tmpfs on /mnt/sdcard/.android_secure type tmpfs (ro,relatime,size=0k,mode=000)
১১ নম্বর লাইন খেয়াল করুন। এখানে আমার ডিভাইস ফাইল "/dev/block/mmcblk0p25" এবং ফাইল সিস্টেম টাইপ "ext4" - এগুলো আপনার ক্ষেত্রে ভিন্ন হতে পারে। ৪। /system কে রিড-রাইড মুডে মাউন্ট করা: নিয়ম:
# mount -w -t [FSTYPE] -o remount [DEVICE FILE] /system
টার্মিনালে লিখুন:
# mount -w -t ext4 -o remount /dev/block/mmcblk0p25 /system
Mounting_/system in_Read-Write _mode-CC-BY-NC-ND-3.0 Mounting /system in Read-Write mode - CC-BY-NC-ND-3.0 ৫। /system/fonts-এর অ্যাকসেস নাম্বার বের করা:
# stat /system/fonts
/system/fonts_Access_Number-CC-BY-NC-ND-3.0 /system/fonts Access Number - CC-BY-NC-ND-3.0 দেখা যাচ্ছে আমার ক্ষেত্রে, /system/fonts-এর অ্যাকসেস নাম্বার 0755 ৬। /system/fonts এর পার্মিশন পরিবর্তন করা:
# chmod 777 /system/fonts
৭। DroidSansFallback.ttf-এর ব্যাকআপ নেওয়া:
# cd /system/fonts
# mv DroidSansFallback.ttf DroidSansFallback.ttf.bak
Backup_System_Font-CC-BY-NC-ND-3.0 Backup System Font - CC-BY-NC-ND-3.0 ৮। কাস্টম ফন্টটি /system/fonts-এ নিয়ে আসা:
# mv /mnt/sdcard/DroidSansFallback.ttf /system/fonts/
Installing_Custom_Font-CC-BY-NC-ND-3.0 Installing Custom Font - CC-BY-NC-ND-3.0 ৯। /system/fonts-এর পার্মিশন আগের মত করে দেওয়া:
# chmod 0755 /system/fonts
Restoring/system/fontsPermission-CC-BY-NC-ND-3.0 Restoring /system/fonts permission - CC-BY-NC-ND-3.0 ১০। Terminal Emulator থেকে বের হয়ে আসা:
# exit
$ exit
TerminatingTerminalSession-CC-BY-NC-ND-3.0 Terminating Terminal Session - CC-BY-NC-ND-3.0 ১১। ডিভাইসটি রি-বুট করা। আগে যেমন দেখাত: BeforeInstallingFont-CC-BY-NC-ND-3.0 Before Installing Font - CC-BY-NC-ND-3.0 এখন যেমন দেখায়: (ভাই, লেখাগুলো তো অন্তত পড়তে পারি। আমার ডিভাইসে এমন দেখাচ্ছে কারণ আমার ডিভাইসে UTF-8 সাপোর্ট নেই্ আপনার ডিভাইসে এমন দেখানোর কথা না। :D ) AfterInstallingFont-CC-BY-NC-ND-3.0 After Installing Font - CC-BY-NC-ND-3.0 হ্যাপি হ্যাকিং :D -- ভাল লাগলে বা, সমস্যা হলে কিংবা মতামত দিতে নিচে মন্তব্য করুন: