You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中如何使用fontWeight或fontVariant访问单TTF字体的不同变体

React Native 单文件可变字体调用解决方案
  • 首先确认运行环境版本要求:React Native 0.68+、Expo SDK 45+ 才原生支持可变字体(Variable Fonts),你当前使用的Expo SDK 42版本过低,是触发fontWeight修改后字体回退问题的核心原因,优先升级SDK到符合要求的版本。
  • 不要使用fontVariant属性配置字重:该属性仅用于控制小型大写、旧样式数字等字体特性,不支持可变字重轴配置,传自定义字重字符串会触发类型和运行时报错。
  • 正确配置样式属性:
    可变字体的字重直接通过fontWeight属性传入对应数值即可,Ruda可变字体的字重取值范围为400(常规)~900(超粗),半粗对应数值为600,粗体对应700,示例样式如下:
    import { StyleSheet } from 'react-native';
    
    const styles = StyleSheet.create({
      // 常规字重
      regular: {
        fontFamily: 'Ruda',
        fontWeight: 400,
        fontSize: 16
      },
      // 半粗
      semiBold: {
        fontFamily: 'Ruda',
        fontWeight: 600,
        fontSize: 16
      },
      // 粗体
      bold: {
        fontFamily: 'Ruda',
        fontWeight: 700,
        fontSize: 16
      }
    });
    
  • 低版本环境兼容方案:如果无法升级SDK,放弃使用单文件可变字体包,下载Ruda各个字重对应的独立ttf文件,分别注册字体,比如将Ruda-Regular.ttf注册为Ruda-Regular,Ruda-SemiBold.ttf注册为Ruda-SemiBold,使用时直接指定对应fontFamily即可,无需配置fontWeight,兼容性最优。

内容的提问来源于stack exchange,提问作者abg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 08:12:05