এই প্রশ্নের দৈর্ঘ্য ক্ষমা করুন। অন্যদের সাহায্য করার জন্য এবং স্পষ্টতা জিজ্ঞাসা না করে উত্তর দেওয়ার জন্য সহায়ক অবদানকারীদের এড়াতে আমার এগুলি সমস্ত ব্যাখ্যা করার দরকার।
আমার প্রয়োজন এক লাইনে: "একটি অ্যান্ড্রয়েড ফোন সঠিকভাবে তামিল অক্ষর প্রদর্শন করতে সক্ষম করুন" to
সম্প্রসারণ: তামিল, অন্য যে কোনও ভারতীয় ভাষার মতো জটিল চরিত্র উপস্থাপনা ব্যবস্থা রয়েছে। ইংরাজী বা অন্যান্য লাতিন ভিত্তিক স্ক্রিপ্টের থেকে ভিন্ন, এতে একাধিক চরিত্রের সমন্বয়ে গ্লাইফ (যা আপনি স্ক্রিনে দেখেন) রয়েছে। অ্যান্ড্রয়েডের এমন জটিল স্ক্রিপ্টগুলি (ব্যতিক্রম সহ) রেন্ডার করার ক্ষমতা নেই। আমার উদ্দেশ্য হ'ল আমি কীভাবে কোনও অ্যান্ড্রয়েড ফোন বা ট্যাবলেটে এমন দক্ষতা সরবরাহ করতে পারি তা জানা।
আমি এখন পর্যন্ত জড়ো হওয়া সামান্য ব্যাকগ্রাউন্ড: স্ক্রিনে একটি গ্লাইফ প্রদর্শন করতে, অ্যান্ড্রয়েডের প্রথমে একটি উপযুক্ত ফন্ট ফাইল দরকার। অ্যান্ড্রয়েড ডিভাইসে একটি ফোল্ডার / সিস্টেম / ফন্ট রয়েছে যার মধ্যে কয়েকটি রয়েছে। এই ফোল্ডারের মধ্যে সবচেয়ে আকর্ষণীয় ফাইল হ'ল DroidSansFallback.ttf। নাম অনুসারে, যখন অ্যান্ড্রয়েডের সিস্টেমটি সিস্টেম ফন্টগুলিতে কোনও অক্ষর খুঁজে পেতে ব্যর্থ হয় (এটি DroidSans.ttf বা DroidSans-Bold.ttf ইত্যাদি হতে পারে) এটি DroidSansFallback.ttf এ অনুসন্ধান করতে ফিরে আসে।
পিসি থেকে একটি উপযুক্ত ফন্ট ফাইল প্রতিস্থাপন করে (ল্যাথ.টিএফ বা লোহিত-তামিল.টিটিএফ - এগুলি তামিলের জন্য ফন্টগুলি) এবং ড্রয়েডসান্সফ্যালব্যাক.টিটিএফ ডিভাইসে তামিল অক্ষর প্রদর্শন করতে সক্ষম করবে। এটি প্রতিস্থাপন করা এত সহজ নয় এবং এটিতে ডিভাইসটি রুট করা এবং লিখনযোগ্য হিসাবে সিস্টেম মাউন্ট করা জড়িত।
এই ঝামেলা সত্ত্বেও, যদিও DroidSansFallback.ttf প্রতিস্থাপন করা হয়, প্রদর্শিত তামিল অক্ষরগুলি যথাযথভাবে রেন্ডার হয় না। তামিল অক্ষর "தி" দুটি চরিত্রের সংমিশ্রণ এবং "தி" হিসাবে প্রদর্শিত হওয়ার পরিবর্তে, এটির মধ্যে স্থান ছাড়াই "space without" হিসাবে প্রদর্শিত হবে। সংক্ষিপ্ত বার্তা পড়ার জন্য এটি যথেষ্ট হলেও এটি বই ইত্যাদি পড়তে ব্যবহার করা যায় না
ওয়ার্ডগুলিতে অ্যান্ড্রয়েড 4.0.০ থেকে, তামিল এবং অন্যান্য কয়েকটি ভাষা ব্রাউজারের মাধ্যমে সমর্থিত যেমন অ্যান্ড্রয়েড x.০ এপিআই এর ওভারভিউতে নীচে দেখানো হয়েছে।
Support for Indic fonts (Devanagari, Bengali, and Tamil, including the complex
character support needed for combining glyphs) in WebView and the built-in Browser
লক্ষ্য করার মতো শব্দগুলি হ'ল "ওয়েবভিউ এবং অন্তর্নির্মিত ব্রাউজারে", যার অর্থ তামিল অক্ষরগুলি পুরোপুরি রেন্ডার হবে যদি এটি এইচটিএমএল সামগ্রী হিসাবে রেন্ডার করা হয় এবং অন্যথায় রেন্ডার করা হয় না। অপেরা এবং অন্যান্য কয়েকটি ব্রাউজার অ্যান্ড্রয়েড 4.0.০ এর আগেও চরিত্রের পরিবর্তে চিত্র প্রতিস্থাপন করে এটি করেছিল।
আমি লক্ষ্য করেছি যে কয়েকটি ডিভাইসে যেগুলি ভারতীয় বাজারকে লক্ষ্য করে (উদাহরণস্বরূপ: এলজি অপ্টিমাস ওয়ান, স্যামসাং ফোন এবং ট্যাবলেটগুলির বেশিরভাগ) ব্রাউজারে এবং এমনকি ব্রাউজারের বাইরে যেমন পরিচিতি, পাঠ্য বার্তা, ফাইলের নাম ইত্যাদিতে তামিলকে যথাযথভাবে প্রদর্শন করতে সক্ষম হয় আমার অবাক করে দিয়ে তারা এগুলি অ্যানড্রয়েড ২.৩ এর পরেও করে। আমি আরও লক্ষ্য করেছি যে একই মডেল অ-অ্যান্ড্রয়েডের একই সংস্করণ চলমান অ-ভারতীয় দেশের লক্ষ্যবস্তু তামিল চরিত্র প্রদর্শন সমর্থন করে না।
এটি আমাকে আরও তদন্ত করতে সক্ষম করেছে এবং এই সিদ্ধান্তে পৌঁছেছে যে অ্যান্ড্রয়েড (অন্যান্য লিনাক্স ভিত্তিক ওএস হিসাবে) এই জাতীয় জটিল চরিত্রগুলি প্রদর্শন করতে একটি ফন্ট রেন্ডারিং ইঞ্জিনের উপর নির্ভর করে। যে দুটি ইঞ্জিন আমি এসেছি সেগুলি হ'ল স্কিয়া এবং হার্ফবাজ। আমি লক্ষ্য করেছি যে এলজি স্কিয়া ব্যবহার করে এবং স্যামসু এই দক্ষতা আনতে তাদের ডিভাইসে হার্ফবুজ লাইব্রেরি ব্যবহার করে।
আমি এই ওয়েবসাইটগুলি এবং ফন্টগুলি প্রতিস্থাপন করার পরামর্শ দিয়ে অনেক ওয়েবসাইট জুড়ে এসেছি। এটি কাজ করে না এবং হিমশীতল ফলাফল। ভাগ্যক্রমে আমি ক্লক ওয়ার্কমড ব্যবহার করে ব্যাক আপ করেছি এবং তাই আমি আমার ফোনটি পুনরুদ্ধার করেছি।
যদিও আমি তামিলের সাথে এটি ব্যাখ্যা করেছি, তবে এটি বেশিরভাগ ভারতীয় ভাষার ক্ষেত্রে প্রযোজ্য।
এখানে আমার প্রশ্নটি আসে (আপনি যদি এখনও পড়তে থাকেন;)) এখন, এটি অবশ্যই নিশ্চিত যে একটি টিটিএফ ফাইল অক্ষর সরবরাহ করার জন্য উপস্থিত থাকতে হবে এবং সঠিকভাবে রেন্ডার করার জন্য একটি উপযুক্ত লাইব্রেরি (libskia.so বা libharfbuzz.so) প্রয়োজন। এই নির্মাতারা কীভাবে দক্ষতা সরবরাহ করতে সক্ষম হন কেউ কি জানেন? এমনকি আমি এওএসপি (অ্যান্ড্রয়েড ওপেন সোর্স প্রকল্প) থেকে নিজস্ব রম তৈরি করতে প্রস্তুত।