如何将非拉丁语言用于 Android 可下载字体?
How to use non-Latin languages for Android downloadable fonts?
阅读 documentation for Google Fonts API for Android 后,我成功地添加了除常规和粗体之外的不同字体粗细。但是,下载的字体不显示非拉丁字符。可以看出非拉丁字母(即西里尔字母)和正确显示的拉丁字母(如数字和标点符号)之间的区别。
我什至试过复制 API 的网络版本,像这样:
<?xml version="1.0" encoding="utf-8"?>
<font-family
xmlns:app="http://schemas.android.com/apk/res-auto"
app:fontProviderAuthority="com.google.android.gms.fonts"
app:fontProviderPackage="com.google.android.gms"
app:fontProviderQuery="name=Montserrat&subset=cyrillic"
app:fontProviderCerts="@array/com_google_android_gms_fonts_certs">
</font-family>
但什么也没发生,因为 subset
不是有效关键字。
是否有任何方法可以指定应包含哪些脚本,就像网络版本一样?
暂不支持。您必须使用支持西里尔文符号的自定义字体才能应用西里尔文。将其放入 'font' 文件夹并使用 ResourcesCompat.getFont(context, R.font.myfont)
.
现在,Google 字体 API 默认支持可下载字体的非拉丁字符。我已经在 this sample project 上使用 29.0.0
构建工具对此进行了测试。
阅读 documentation for Google Fonts API for Android 后,我成功地添加了除常规和粗体之外的不同字体粗细。但是,下载的字体不显示非拉丁字符。可以看出非拉丁字母(即西里尔字母)和正确显示的拉丁字母(如数字和标点符号)之间的区别。
我什至试过复制 API 的网络版本,像这样:
<?xml version="1.0" encoding="utf-8"?>
<font-family
xmlns:app="http://schemas.android.com/apk/res-auto"
app:fontProviderAuthority="com.google.android.gms.fonts"
app:fontProviderPackage="com.google.android.gms"
app:fontProviderQuery="name=Montserrat&subset=cyrillic"
app:fontProviderCerts="@array/com_google_android_gms_fonts_certs">
</font-family>
但什么也没发生,因为 subset
不是有效关键字。
是否有任何方法可以指定应包含哪些脚本,就像网络版本一样?
暂不支持。您必须使用支持西里尔文符号的自定义字体才能应用西里尔文。将其放入 'font' 文件夹并使用 ResourcesCompat.getFont(context, R.font.myfont)
.
现在,Google 字体 API 默认支持可下载字体的非拉丁字符。我已经在 this sample project 上使用 29.0.0
构建工具对此进行了测试。