# @cssints/fonts 中文文档

规范地址：https://npmcn.com/package/%40cssints/fonts/

版本：0\.35\.1
npm 元数据更新时间：2026-11-07T14:55:30.674Z
中文译文更新时间：2026-11-11T03:41:49.418Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40cssints/fonts
原文对照：https://npmcn.com/package/%40cssints/fonts/?lang=original
项目主页：https://cssints.dev/
源码仓库：https://github.com/alexeiaccio/css-in-ts-compiler

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

- 包体积（解压后）：20.9 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：1 个
- peer 依赖：cssints ^0\.35\.0
- 首次发布：2026-10-10T20:57:53.642Z
- 最新版本发布：2026-11-07T14:55:30.336Z
- 近 30 天下载量：7379（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：43（近 12 个月 43 个）

## 中文简介

Csints 的字体 : @ font- face rules with a imprimate- complete refack face, 并缩放相匹配的相接相接相接相接相

## 安装

```sh
npm install @cssints/fonts
```

也可以使用：`pnpm add @cssints/fonts`、`yarn add @cssints/fonts`、`bun add @cssints/fonts`

## README

# @ cssints/ fonts (韩语)

用于网页字体 [点缀](https://npmcn.com/package/README.md)数字 : `font()` 在构建时读取字体文件并给出两个成员 `cssints/plugin` `scope()`。 。 。 . `family()` 发射 `@font-face` 规则,一个倒背面,其度量与字体相匹配,以及 `font-family`。 。 。 . `trim()` 删除盖高和基线以下的空间。 衡量标准来自文件 (fontkitten) (英语). 没有脚本船.

```ts
// fonts.ts: a build-time module (it runs while the build runs, and never reaches the browser)
import { font } from "@cssints/fonts" with { type: "cssints" };

export const body = font("Atkinson Hyperlegible", { provider: "fontsource", weights: [400, 700] });
export const brand = font("Brand", {
  provider: "fs",
  files: ["src/fonts/brand.woff2"],
  fallback: "serif",
});
```

```ts
// a component imports them from there
import { cn } from "cssints" with { type: "cssints" };
import { body } from "./fonts.ts" with { type: "cssints" };

export const text = body.family();
export const heading = cn(body.family(), body.trim({ lineHeight: 1.2 }));
```

```css
@layer _.k {
  /* fontaine's formula (capsize's createFontStack): Arial scaled to the average width of the font, the vertical
     metrics of the font */
  @font-face {
    font-family: "Atkinson Hyperlegible Fallback";
    src: local("Arial"), local("Arimo"), local("Liberation Sans");
    size-adjust: 99.3717%;
    ascent-override: 95.6006%;
    descent-override: 29.1833%;
    line-gap-override: 0%;
  }
  /* one face per weight and subset of the package; Vite emits the files as assets */
  @font-face {
    font-family: "Atkinson Hyperlegible";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/…/atkinson-hyperlegible-latin-400-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, …;
  }
  /* … latin-ext 400, latin 700, latin-ext 700 */
  ._fonts-native {
    text-box: trim-both cap alphabetic;
  }
  /* only when a target lacks text-box */
  @supports not (text-box: trim-both cap alphabetic) {
    ._fonts-native::before,
    ._fonts-native::after {
      content: "";
      display: table;
    }
    ._fonts-native::before {
      margin-bottom: var(--fonts-t);
    }
    ._fonts-native::after {
      margin-top: var(--fonts-b);
    }
  }
}
@layer _.a {
  ._a {
    font-family: "Atkinson Hyperlegible", "Atkinson Hyperlegible Fallback", sans-serif;
  }
  ._b {
    line-height: 1.2;
  }
  ._c {
    --fonts-t: -0.262em;
  }
  ._d {
    --fonts-b: -0.27em;
  }
}
```

## 规则

-   **供养者.** `fontsource` 读取 `@fontsource/<family>` 软件包 `node_modules` 工作目录 (单位:千美元)`"Atkinson Hyperlegible"` 实值 `@fontsource/atkinson-hyperlegible`:其为: `.woff2` 文件,每个重量一张相,样式 和子集,每个子集的 `unicode-range`。 。 。 . `weights` 财务报告和审定财务报表 `styles` 必须是一揽子计划的一部分(400和 `normal` (默认情况下). `fs` 获取字体文件( e)`.woff2`, (中文(简体) ), `.woff`, (中文(简体) ), `.ttf`, (中文(简体) ), `.otf`,相对于工作目录), 一张相,从文件中读取重量和风格.
-   **URLs (英语).** 一张脸 `src` 是文件的绝对路径。 Vite的CSS管道 把它变成一个建筑中的资产 (单位:千美元)`/assets/…-[hash].woff2`进入 `/@fs/…` {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}在德克萨斯州.
-   **倒地相会.** `fallback` 属于普通家庭(`sans-serif`, (中文(简体) ), `serif` 或者说 `monospace`;默认情况下为 字体源软件包,否则 `sans-serif`) (中文(简体) ). 它的当地字体有:Arial、Times New Roman或Courier New等,并带有: 相容性克隆(Arimo, Tinos, Cousaine, 解放字体). 面额缩放到字体的平均值 长宽度( n)`size-adjust`)并覆盖 `ascent`, (中文(简体) ), `descent` 财务报告和审定财务报表 `line-gap` 与字体的。 这是字体的 公式键。 数字是 `@capsizecss/core` `createFontStack` (入试中. 衡量标准来自 拉丁语子集的400个正脸(也就是第一个).
-   **三进制 ().** `trim()` 套装 `line-height` (单位:千美元)`normal`,或给出的数字)和内核的类 `text-box: trim-both cap alphabetic` (Chrome 133, Safari 18.2, Firefox 154). 当目标缺乏时 `text-box`,则 工作表的倒计时 : `::before` 财务报告和审定财务报表 `::after` 负差值,单位 `em`,来自字体的参数 和行高( `@capsizecss/core` `createStyleObject`,在测试中检查。 倒计时是 平地CSS,所以每个目标都得到它(Firefox 120也得到),没有建置警告. 它就在里面 内在 `@supports not`, (中文(简体) ), 所以浏览器带有 `text-box` 不修剪两次。 当每个目标都有 `text-box`倒计时器不在工作表中.
-   **错误**,在构建时:未安装的软件包(信件名称)、重量或样式 软件包没有,无法读取的文件,字体收藏,以及 `lineHeight` 这不是数字 (亦为类型错误).
-   **缓存.** 文件在一个过程中每次修改时间都会被解析一次 .

## 限制

-   `lineHeight` 是数字(字体大小的倍数)。 长度会使修饰取决于字体大小.
-   修饰适合网页字体 。 倒倒地的相貌符合升起和下落, 但不是盖高,所以 修剪在字体装入前稍稍关闭.
-   尚未:可变字体( X)`@fontsource-variable/*`),远程提供者(unifont,Google Fonts),子集选项, 财务报告和审定财务报表 `font-display` 其他 `swap`。 。 。 .
-   在 dev 中,一个编辑后的文件 `fs` 更新使用该软件的模块的CSS(`dependsOn` 联 合 国 `cssints/plugin`) (中文(简体) ). 文件 联 合 国 `fontsource` 包含 `node_modules`维特不看.

```bash
cd packages/fonts && bun run test   # fixtures through the engine (output, errors, warnings, a build), and the type test via bun run typecheck
```

## 贷项

复制,通知如下:

-   平均宽度的字符和权重(`xWidthAvg`: 拉丁语表 [`@capsizecss/unpack`](https://github.com/seek-oss/capsize) (麻省理工学院,SEEK).
-   Arial、Times New Roman和Courier New的衡量标准 `@capsizecss/metrics` (麻省理工学院,SEEK).

遵循, 而不是复制: 倒背面和修饰公式 `@capsizecss/core` (测试检查数字) (反对)和 [字体](https://github.com/unjs/fontaine) (麻省理工,丹尼尔·罗) 为倒地相. 字体文件 改为: [字体键](https://github.com/delucis/fontkitten) (MIT),一个依赖.

麻省理工学院关于Capsize的通知,版权 (c)2021 SEEK:

> 特此免费准许任何人获得该软件的复制件和与之有关的 文档文件("软件"),在软件中处理,不受限制,包括不受限制 软件的使用、复制、修改、合并、出版、分发、分版使用权和/或销售权,以及 获得软件的人这样做,但须符合下列条件:
> 
> 上述版权通知和本许可通知应载入版权通知的所有副本或大部分 软件.
> 
> 软件是提供的"AS IS", 没有任何种类的恐惧, 释放或渗透, 包括但不限制 雇佣军的戒备,对特别目的和非目的的证明。 永远也不要 B. 任何索赔、救济或其他负债,不论在合同、合同或 产生于、出自或涉及软件或使用软件或其他交易的其他事项.

## 常见问题

### @cssints/fonts 是什么？

Csints 的字体 : @ font- face rules with a imprimate- complete refack face, 并缩放相匹配的相接相接相接相接相

### 如何安装 @cssints/fonts？

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

### @cssints/fonts 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @cssints/fonts 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @cssints/fonts 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @cssints/fonts 可以商用吗？

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

### @cssints/fonts 的下载量有多少？

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

### @cssints/fonts 还在维护吗？

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

