android fontFamily 缺少字形的回退字体

android fontFamily fallback font for missing glyphs

在 Android 上使用带有 Android 支持库的新自定义字体时,我在 Android 4.1 (API 16) 上遇到显示问题在 8.0 上正常 (API 26):

这里是activity_main.xml内容,使用自定义字体AvenirNext Medium(保存在res/font/avenirnext_medium.ttf):

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fontFamily="@font/avenirnext_medium"
            android:text="Hello world?"/> <!-- this is an unbreakable space -->
    </LinearLayout>

我的目标是 SDK 26,同时支持低至 SDK 16。

如何去除 API 16 中的替换字符 '�'?

感谢@HermantParmar 的评论,看起来像牢不可破的空格之类的特殊字符必须通过 unicode 值出现 (\u00A0)。所以我修改了 text 属性,它现在工作正常:

android:text="Hello\u00A0world?"/>