এটি অ্যান্ড্রয়েডে করা যেতে পারে। এই সমস্যাটি সমাধান করতে আমি তিন দিন সময় নিয়েছি। তবে এখন এটি খুব সহজ বলে মনে হচ্ছে। ওয়েবভিউয়ের জন্য কাস্টম ফন্ট সেট করতে এই পদক্ষেপগুলি অনুসরণ করুন
1. আপনার ফন্টটি সম্পদ ফোল্ডারে যুক্ত করুন 2.
অ্যাপ্লিকেশনটির ফাইল ডিরেক্টরিতে ফন্টটি অনুলিপি করুন
private boolean copyFile(Context context,String fileName) {
boolean status = false;
try {
FileOutputStream out = context.openFileOutput(fileName, Context.MODE_PRIVATE);
InputStream in = context.getAssets().open(fileName);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.close();
in.close();
status = true;
} catch (Exception e) {
System.out.println("Exception in copyFile:: "+e.getMessage());
status = false;
}
System.out.println("copyFile Status:: "+status);
return status;
}
৩. আপনাকে কেবল একবার উপরের ফাংশনটি কল করতে হবে (এর জন্য আপনাকে কিছু যুক্তি খুঁজে পেতে হবে)।
copyFile(getContext(), "myfont.ttf")
আপনার ওয়েবভিউয়ের জন্য মান সেট করতে নীচের কোডটি ব্যবহার করুন। এখানে আমি ফন্ট সেট করতে সিএসএস ব্যবহার করছি।
private String getHtmlData(Context context, String data){
String head = "<head><style>@font-face {font-family: 'verdana';src: url('file://"+ context.getFilesDir().getAbsolutePath()+ "/verdana.ttf');}body {font-family: 'verdana';}</style></head>";
String htmlData= "<html>"+head+"<body>"+data+"</body></html>" ;
return htmlData;
}
5. আপনি নীচের মত উপরের ফাংশন কল করতে পারেন
webview.loadDataWithBaseURL(null, getHtmlData(activity,htmlData) , "text/html", "utf-8", "about:blank");