"i"后跟"f"的文字,无法看到"i"上的点,sans字体

Whi*_*ble 5 fonts android button textview

我有一个按钮,其中有文本"发送文件",但我看不到"i"顶部的点.我使用默认字体(据我所知,这是"sans",但如果我错了,请纠正我).

这是xml我的Button:

            <Button
                android:id="@+id/button_send_files"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_marginBottom="5dip"
                android:padding="20dip"
                android:text="Send files"
                android:textColor="@color/black"
                android:textSize="24sp"
                android:textStyle="bold" />
Run Code Online (Sandbox Code Playgroud)

如果某人有某种技巧可以在"i"上显示点,那就更好了,因为它现在很丑陋......

我正在使用Nexus 7,如果可以提供帮助的话.

在此输入图像描述

dja*_*ude 9

你看到的是'f'+'i'字符组合的连字字形.通常,独立的'f'+独立'i'的组合最终会发生冲突:'f'的悬垂部分将与'i'的点碰撞.

使用连字字形来表示字符组合允许字体设计者避免碰撞.在这种情况下,字体设计者选择省略'i'的点.在其他字体设计中,'i'的点将保留,但'f'的悬垂部分的长度将改变,以避免碰撞.如果你检查一些其他字体设计,包括'f'+'i'的结扎,你会看到这些不同的视觉处理.由于这是字体设计的决定,因此很难将其定性为"错误"; 更像是"糟糕的设计"(我同意你的看法,它看起来不太好).


Ben*_*ane 5

要禁用连字,您可以在TextView. 该属性接受 CSS 属性的有效值font-feature-settings。以下是来自 MDN 的示例列表。他们给出了禁用连字的示例。

TextView以下是您如何在(我已经验证了这有效)上使用它:

android:fontFeatureSettings="liga 0"
Run Code Online (Sandbox Code Playgroud)

您还可以在 styles.xml 中执行此操作:

<style name="your_text_style">
    <item name="android:fontFeatureSettings">liga 0</item>
</style>
Run Code Online (Sandbox Code Playgroud)