安卓WebView安全的字体族?

27
不,像其他人一样,我不想使用自定义字体。我正在寻找可在WebView中使用的安全字体列表,而不使用CSS3的自定义@font-face,该字体加载来自Web /本地存储的ttf / wof / eot字体。
更精细的问题是: Android操作系统包含哪些字体列表可以在WebView内部使用? 例如,Arial,Verdana,sans-serif等字体可以使用(不确定),因此要确切查找到哪里才能100%确定?
谢谢

我正在研究Android 3.0及以上版本。字体应该在任何设备OEM(三星/ LG / 宏碁 / 索尼等)上都是全球可用的。 - Hossain Khan
这个有帮助吗?(https://dev59.com/M3A75IYBdhLWcg3wm6ex#6012324) - Alex
@Alex 不完全是这样,如果不使用CSS3 @font-face,这些字体就不能在WebView内使用(除非我漏掉了什么)。因此,你不能只是说:body { font-family: "Droid Sans"; }body { font-family: "Droid Serif"; } .... 它们都不起作用。但是 body { font-family: Arial; } 可能有效,但我想知道在哪里查找可用字体列表,例如Arial。 - Hossain Khan
好的,这里有一些非常接近我所寻找的问题:https://dev59.com/qnA65IYBdhLWcg3w-z1A - 说没有办法检索捆绑在WebKit中可用字体的列表。而https://dev59.com/tWw15IYBdhLWcg3wIYO_ - 没有确切的答案,也不是我正在寻找的。 - Hossain Khan
1个回答

41

Webview:它使用WebKit渲染引擎来显示网页。

根据源代码,android.webkit.WebSettings包含以下字段:

private String          mStandardFontFamily = "sans-serif";
private String          mFixedFontFamily = "monospace";
private String          mSansSerifFontFamily = "sans-serif";
private String          mSerifFontFamily = "serif";
private String          mCursiveFontFamily = "cursive";
private String          mFantasyFontFamily = "fantasy";

以下是这些字体。

可能还有更多字体隐藏在WebKit中。但是它们似乎无法访问。


这符合Linux的默认字体:

  • 无衬线字体:Arial Black,Arial,Comic Sans MS,Trebuchet MS和Verdana
  • 衬线字体:Georgia和Times New Roman
  • 等宽字体:Andale Mono和Courier New
  • 幻想字体:Impact和Webdings

总之,在Android WebKit中没有全面的字体列表。


明白了!感谢您花时间澄清这个问题。谢谢。 - Hossain Khan
通过我的测试,似乎只有Droid系列是包含在内的。其他任何东西都应该是免费的或需要许可证,并且仍然通过CSS包含。 - Sean Aitken
1
最近的Android版本中是否添加了新字体? - Roel
你能帮我解决问题吗?这是链接 https://stackoverflow.com/questions/65108865/android-webview-custom-font-using-javascript - Karthikkumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接