Android'de yapılabilir. Bu sorunu çözmem üç gün sürdü. Ama şimdi çok kolay görünüyor. Web görünümü için özel yazı tipi ayarlamak için şu adımları izleyin
1. Yazı tipinizi varlıklar klasörüne
ekleyin 2. Yazı tipini uygulamanın dosyalar dizinine kopyalayın
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;
}
3. Yukarıdaki işlevi yalnızca bir kez çağırmanız gerekir (bunun için biraz mantık bulmanız gerekir).
copyFile(getContext(), "myfont.ttf")
4. Web görünümünüzün değerini ayarlamak için aşağıdaki kodu kullanın. Burada yazı tipini ayarlamak için CSS kullanıyorum.
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. Yukarıdaki işlevi aşağıdaki gibi çağırabilirsiniz
webview.loadDataWithBaseURL(null, getHtmlData(activity,htmlData) , "text/html", "utf-8", "about:blank");