Android中解决fi、fl字符显示时连在一起的问题

在某些手机或设置某些字体时,会出现fi、fl字符显示的时候连在一起,具体来说就是:

f和i这两个字符在一起的时候,i上方的点跟f上方的钩子末端重合了;

f和l这两个字符在一起的时候,l顶端和f的钩子末端重合了。

其实这称为:合字(或称:连字、链接字、合体字,英文:Ligature),详细解释见:https://zh.wikipedia.org/wiki/合字。

为什么要有合字?简单来说就是:为了解决印刷排版上的问题而诞生的。所以合字并不是bug,而是一种显示风格或显示方式。而要显示合字需要当前字体支持才可以。

当然如果不想用合字,可以手动关闭合字功能,方法如下:

java 复制代码
        Paint paint = view.getPaint();
        // 关闭合字功能
        paint.setFontFeatureSettings("'liga' off");

说明:

1.view可以是常见的各种UI组件,比如:TextView、Button、EditText等。

2.如果要开启合字功能,可以这样设置:paint.setFontFeatureSettings("'liga' on")。

相关推荐
智先森zhi3 分钟前
实战:将 Android 多Module应用迁移到 kmp+cmp
android·ios·kotlin
2501_937145411 小时前
IPTV电视源码系统2026优化版:技术升级,全场景流畅适配
android·电视盒子·源代码管理
Ehtan_Zheng2 小时前
让你的代码更整洁:10 个必知的 Kotlin 扩展函数
android
城东米粉儿2 小时前
Android VSync 笔记
android
城东米粉儿2 小时前
Android SurfaceFlinger 笔记
android
似霰2 小时前
Android 日志系统5——logd 写日志过程分析二
android·log
hewence13 小时前
Kotlin CoroutineContext 详解
android·开发语言·kotlin
Albert Edison3 小时前
【Python】文件
android·服务器·python
大模型玩家七七3 小时前
效果评估:如何判断一个祝福 AI 是否“走心”
android·java·开发语言·网络·人工智能·batch