यह एंड्रॉइड में किया जा सकता है। मुझे इस मुद्दे को हल करने में तीन दिन लगे। लेकिन अब यह बहुत आसान लगता है। वेबव्यू के लिए कस्टम फ़ॉन्ट सेट करने के लिए इन चरणों का पालन करें
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);
// Transfer bytes from the input file to the output file
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
// Close the streams
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;
}
3. आपको केवल एक बार फ़ंक्शन के ऊपर कॉल करना होगा (आपको इसके लिए कुछ तर्क ढूंढना होगा)।
copyFile(getContext(), "myfont.ttf");
4. अपने वेबव्यू के लिए मूल्य निर्धारित करने के लिए नीचे दिए गए कोड का उपयोग करें। यहाँ मैं फ़ॉन्ट सेट करने के लिए CSS का उपयोग कर रहा हूँ।
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");