# @carimus/react-native-fonts 中文文档

规范地址：https://npmcn.com/package/%40carimus/react-native-fonts/

版本：1\.0\.0
npm 元数据更新时间：2025-05-28T17:44:21.144Z
中文译文更新时间：2026-11-09T19:27:12.582Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40carimus/react-native-fonts
原文对照：https://npmcn.com/package/%40carimus/react-native-fonts/?lang=original
项目主页：https://github.com/Carimus/react-native-fonts#readme
源码仓库：https://github.com/Carimus/react-native-fonts

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：468 kB，15 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：0 个
- peer 依赖：react ^16\.3\.0
- 首次发布：2019-09-27T02:02:23.369Z
- 最新版本发布：2019-09-27T02:02:23.570Z
- 近 30 天下载量：1793（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

用于本地反应的公用设备, 以方便使用自定义字体 .

## 安装

```sh
npm install @carimus/react-native-fonts
```

也可以使用：`pnpm add @carimus/react-native-fonts`、`yarn add @carimus/react-native-fonts`、`bun add @carimus/react-native-fonts`

## README

# `@carimus/react-native-fonts`

反应原生软件包,为自定义字体的工作提供一些基本的公用事业和工具.

## 动机

React Introduct在如何处理自定义字体方面有缺陷. 有很多工作,但是如果你使用自定义字体 在应用的很多地方, 他们可以变得繁琐.

该寄存器旨在提供方便生成特定平台的帮助 [`Text Style Props`](https://facebook.github.io/react-native/docs/text-style-props) 用于自定义字体, esp 使用不同的字体文件来表达所有重心和样式.

## 示例

首先,确保字体文件存储在您通过设置的项目资产目录中 `react-native.config.js` 而且你已经跑 `react-native link` 为了将字体文件链接到您的本地iOS和Android代码.

那你需要创建一个 `FontRegistry` 通过提供 `createFontRegistry` 函数 a `Map` 字体姓氏 以到其文件的数组。 文件以下列形式定义: `FontFileDefinition` 描述何时的对象 字体应当取出,并如何在RN样式(该样式依赖平台)内引用.

一旦有了字体注册,您就可以使用它 `createFontStyles` 生成平台特定字体样式的方法 您已注册的字体家族, 以及任何重量和样式的变异( 在您的文件中找到最接近的匹配) name 定义).

```javascript
import { View, Text } from 'react-native';
import { createFontRegistry } from '@carimus/react-native-fonts';

const fonts = new Map([
    [
        'Montserrat',
        [
            { name: 'Montserrat-Regular', weight: 400, style: 'normal' },
            { name: 'Montserrat-Italic', weight: 400, style: 'italic' },
            { name: 'Montserrat-Bold', weight: 700, style: 'normal' },
            { name: 'Montserrat-BoldItalic', weight: 700, style: 'italic' },
            { name: 'Montserrat-ExtraBold', weight: 800, style: 'normal' },
            {
                name: 'Montserrat-ExtraBoldItalic',
                weight: 800,
                style: 'italic',
            },
            { name: 'Montserrat-Light', weight: 300, style: 'normal' },
            { name: 'Montserrat-LightItalic', weight: 300, style: 'italic' },
            { name: 'Montserrat-Thin', weight: 250, style: 'normal' },
            { name: 'Montserrat-ThinItalic', weight: 250, style: 'italic' },
        ],
    ],
]);

const { createFontStyles } = createFontRegistry(fonts);

function MyComponent() {
    return (
        <View>
            <Text style={createFontStyles('Montserrat')}>Some normal text</Text>
            <Text style={createFontStyles('Montserrat', { weight: 700 })}>
                Some bold text
            </Text>
            <Text
                style={{
                    ...createFontStyles('Montserrat', {
                        weight: 700,
                        style: 'italic',
                    }),
                    color: '#FF0000',
                }}
            >
                Some bold, italic, red text.
            </Text>
        </View>
    );
}
```

### 重要说明

-   你用得着 [丰特德罗普!](https://fontdrop.info/) 以快速获得像重量一样的信息(`usWeightClass`),样式 (单位:千美元)`fontSubfamily` 有点,你必须推断出:"重力斜体"或者任何含有"意大利"这个词的东西 翻译为 `'italic'`;其他所有如"正则","重","黑色"等都译为: `'normal'`),以及 `postScriptName`。 。 。 .
-   iOS要求您使用 `postScriptName` 当你提到一个 `fontFamily` 在RN文本样式道具,但在Android, 您必须在没有扩展名的情况下使用字体的文件名。 因此,一般来说,你应该命名您的字体文件这样 文件名 w/o 扩展名与 `postScriptName` 字体。 如果你这样做,你可以使用 `name` 属性在字体文件定义对象中,如上面“Montserrat”的例子所示。 如果文件名不同 无论来自什么原因 `postScriptName`,必须明确指定 `postScriptName` 财务报告和审定财务报表 `fileName` 换句话说.
-   这个 `weight` 必须在 `100` 财务报告和审定财务报表 `900` 递增数 `50`。 。 。 .
-   这个 `style` 肯定就是那个 `'normal'` 或者说 `italic`。 。 。 .

## 开始

-   [ ] 更详细的文件,而不只是一个例子.

## 常见问题

### @carimus/react-native-fonts 是什么？

用于本地反应的公用设备, 以方便使用自定义字体 \.

### 如何安装 @carimus/react-native-fonts？

在项目目录运行 npm install @carimus/react-native-fonts，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（^16\.3\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @carimus/react-native-fonts 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/carimus\_\_react-native-fonts 是否存在。

### @carimus/react-native-fonts 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @carimus/react-native-fonts 可以商用吗？

@carimus/react-native-fonts 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @carimus/react-native-fonts 的下载量有多少？

根据 npm 官方下载统计，@carimus/react-native-fonts 在 2026/10/09 – 2026/11/07 这 30 天内被下载 1,793 次，日均约 60 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @carimus/react-native-fonts 还在维护吗？

最新版本 1\.0\.0 发布于 2019/09/27（7 年前）；至今共发布 1 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/09/27。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

