如何在Jetpack Compose中禁用字体连字?未找到官方相关文档
在Jetpack Compose中禁用字体连字的方法
当然可以禁用字体连字,以下是两种直接可行的实现方式:
方法1:通过Font配置指定字体特性
在创建FontFamily时,为目标字体添加fontFeatureSettings参数,设置为"liga=0"即可关闭标准连字:
val customFontFamily = FontFamily( Font( resId = R.font.your_target_font, fontFeatureSettings = "liga=0" ) ) // 应用该字体 Text( text = "Text without ligatures", fontFamily = customFontFamily )
方法2:通过TextStyle全局/局部设置
如果需要给特定文本或全局文本样式禁用连字,可直接在TextStyle中配置fontFeatureSettings:
// 局部文本样式 val noLigatureTextStyle = TextStyle( fontFeatureSettings = "liga=0" ) Text( text = "No ligatures applied here", style = noLigatureTextStyle ) // 全局主题中设置(应用内文本默认禁用连字) MaterialTheme( typography = Typography( bodyLarge = TextStyle( fontFeatureSettings = "liga=0" ), titleLarge = TextStyle( fontFeatureSettings = "liga=0" ) ) ) { // 应用内文本默认使用无连字样式 }
补充说明:liga是标准连字的字体特性标签,liga=0表示关闭该特性;如果需要禁用上下文连字等其他连字类型,可追加配置,比如"liga=0,clig=0"。
内容的提问来源于stack exchange,提问作者Outofdate
相关产品推荐
相关产品推荐

