ここで、いくつかの Unicode 文字を表示したいので、 tag: を使用し<font face="
Arial">something here</font>
ました。でも、WebView
UFOの文字しか見えないので、Arialフォントが見つからないようです。arial.ttf をどこかにコピーする必要がありますか、またはこの TrueType フォントを で使用するにはどうすればよいWebView
ですか? ありがとう。
10 に答える
loadData
私にとってもうまくいかなかったのでfile:///android_asset
、srcパスで使用しました。
で動作しましたloadDataWithBaseURL
!
この例では、CSS を次のように変更しました。
@font-face {
font-family: 'feast';
src: url('fonts/feasfbrg.ttf');
}
body {font-family: 'feast';}
次に、アセット パスをベース URL として使用します。
loadDataWithBaseURL("file:///android_asset/",myhtml,"text/html","utf-8",null);
WebView
上記の@raychungが提案したように、カスタムフォントを使用できるようです。しかし、これは 2.1 では機能しません (バグはここで報告されています)。これは、1.5、1.6、および 2.2 で機能するはずです。
カスタム フォント TTF ファイルを/assets
フォルダーに配置してから、CSS ファイルに以下を配置できます。
@font-face {
font-family: "myIPA";
src: url('IPA.TTF');
}
.phon, .unicode
{
display: inline;
font-family: 'myIPA', Verdana, sans-serif;
font-size: 14pt;
font-weight: 500;
font-style:normal;
color: black;
}
HTML ファイルでこのフォント スタイルを参照できるようになりました。
ペルシャ語フォントで rtl 方向に以下のコードを使用しました。誰かがこのコードを使用するか、誰かが私に最善の方法を提案してくれることを願っています。ありがとう
String myCustomStyleString="<style type=\"text/css\">@font-face {font-family: MyFont;src: url(\"file:///android_asset/fonts/BYEKAN.ttf\")}body,* {font-family: MyFont; font-size: medium;text-align: justify;}</style>";
webView.loadDataWithBaseURL("", myCustomStyleString+"<div style=\"direction:rtl\">"+myHtm+"</div>", "text/html", "utf-8", null);
アプリの最初の起動時にフォント ファイルをアセットからファイル フォルダーにコピーし、次のように参照することで、すべてのバージョンで動作するようにすることができます。
"@font-face {
font-family: cool_font;
src: url('file://"+ getFilesDir().getAbsolutePath()
+ "/cool_font.ttf');
}"
@font-face {
font-family: 'MyCustomFont';
src: url('/assets/fonts/MaycustomFont.ttf')
}
わたしにはできる。
->src
->assets
->fonts
->MaycustomFont.ttf
->..
->res
ローカル ファイルへの参照を使用する代わりに、Web サーバー上のフォントをリンクする必要がありました。
@font-face {
font-family: 'feast';
src: url('http://yoursite.com/tutorial/css/feasfbrg.ttf');
}
body {font-family: 'feast';}
Felipe Martinez Carreño が言ったように、アセットからコピーすることができ、それは機能します。
詳細については、これを参照できます
基本的な考え方は、Web ページがフォント ファイルにアクセスできる必要があるということです。これが、HTML ファイルとフォント ファイルの両方が assets フォルダーにあり、HTML ファイルがそこから読み込まれる場合に、提案された元のソリューションが機能する理由です。
これは Android の機能ではなく CSS であるため、どの Android SDK でも動作するはずです。
フォント ファイルが実際にそこにあり、それへの正しいパスがスタイルで指定されている場合は、files フォルダーからのフォントの読み込みも同様に機能するはずです。しかし、アプローチは面倒です。ファイルをコピーするコードを記述してから、ファイルの場所を特定するコードを記述する必要があります。
HTML コンテンツとフォント ファイルをアセットに格納し、そこからロードするだけで十分です。
webView.loadUrl("file:///android_asset/content.html");
cssを使用する
@ font-face { フォントファミリー:cool_font; src:url('cool_font.ttf'); }