62

ここで、いくつかの Unicode 文字を表示したいので、 tag: を使用し<font face=" Arial">something here</font>ました。でも、WebViewUFOの文字しか見えないので、Arialフォントが見つからないようです。arial.ttf をどこかにコピーする必要がありますか、またはこの TrueType フォントを で使用するにはどうすればよいWebViewですか? ありがとう。

4

10 に答える 10

82

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);
于 2011-09-19T16:03:45.983 に答える
34

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 ファイルでこのフォント スタイルを参照できるようになりました。

于 2011-01-29T11:08:27.647 に答える
3

ペルシャ語フォントで 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);
于 2016-10-08T20:08:11.490 に答える
3

アプリの最初の起動時にフォント ファイルをアセットからファイル フォルダーにコピーし、次のように参照することで、すべてのバージョンで動作するようにすることができます。

"@font-face {
 font-family: cool_font;
 src: url('file://"+ getFilesDir().getAbsolutePath() 
  + "/cool_font.ttf');
}"
于 2011-02-11T08:56:13.357 に答える
3
@font-face {
 font-family: 'MyCustomFont';
 src: url('/assets/fonts/MaycustomFont.ttf') 
}

わたしにはできる。

->src
->assets
   ->fonts
      ->MaycustomFont.ttf
->..
->res
于 2013-08-14T07:56:32.500 に答える
2

ローカル ファイルへの参照を使用する代わりに、Web サーバー上のフォントをリンクする必要がありました。

   @font-face {
   font-family: 'feast';
   src: url('http://yoursite.com/tutorial/css/feasfbrg.ttf');
}

body {font-family: 'feast';}
于 2011-08-31T09:52:55.990 に答える
1

Felipe Martinez Carreño が言ったように、アセットからコピーすることができ、それは機能します。

詳細については、これを参照できます

于 2011-03-24T10:37:52.827 に答える
1

基本的な考え方は、Web ページがフォント ファイルにアクセスできる必要があるということです。これが、HTML ファイルとフォント ファイルの両方が assets フォルダーにあり、HTML ファイルがそこから読み込まれる場合に、提案された元のソリューションが機能する理由です。

これは Android の機能ではなく CSS であるため、どの Android SDK でも動作するはずです。

フォント ファイルが実際にそこにあり、それへの正しいパスがスタイルで指定されている場合は、files フォルダーからのフォントの読み込みも同様に機能するはずです。しかし、アプローチは面倒です。ファイルをコピーするコードを記述してから、ファイルの場所を特定するコードを記述する必要があります。

HTML コンテンツとフォント ファイルをアセットに格納し、そこからロードするだけで十分です。

webView.loadUrl("file:///android_asset/content.html");
于 2011-09-13T13:38:15.873 に答える
0

cssを使用する

    @ font-face {
     フォントファミリー:cool_font;
     src:url('cool_font.ttf');
    }
于 2010-05-01T17:30:23.363 に答える