Skip to content

docs(typography): recommend official font builds in the typography guide (#DS-5791) - #2252

Draft
rmnturov wants to merge 7 commits into
mainfrom
docs/DS-5791-typography-inter-source
Draft

rmnturov wants to merge 7 commits into
mainfrom
docs/DS-5791-typography-inter-source

Conversation

@rmnturov

@rmnturov rmnturov commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Статья «Типографика → Добавление шрифтов» больше не предлагает Fontsource и Google Fonts CDN как основной способ подключения. Вместо этого она показывает официальные сборки Inter и JetBrains Mono, npm-пакеты с полными файлами и предупреждает, что часть источников отдаёт урезанный шрифт: раздача по сабсетам теряет вместе с глифами OpenType-фичи, из-за чего фичи из дизайн-токенов (zero, ss01, ss04, case) и отдельные символы молча не работают.

Задача: DS-5791

List of notable changes:

  • updated typography.ru.mdx и typography.en.mdx: вместо разделов Fontsource и Google Fonts CDN — «Откуда брать шрифты» (rsms.me/inter/download, релизы JetBrains Mono, npm inter-ui / dist-font-inter и @fontsource/jetbrains-mono), «Проверьте шрифт перед подключением» и «Фичи из токенов» с font-feature-settings: var(--kbq-typography-text-normal-font-feature-settings)
  • updated apps/docs/src/app/structure.ts: бейдж «Обновлено» у пункта «Типографика» до 2026-11-10
  • added слова rsms, webfonts, сабсеты, фичи в словари cspell

What should reviewers focus on?

  • формулировка предупреждения об урезанных сборках: по задаче источников может быть несколько, поэтому это не запрет fontsource и Google Fonts, а требование проверить шрифт перед подключением. Проблема в раздаче по сабсетам (unicode-range), а не в самом файле шрифта: семейство, скачанное с fonts.google.com, полное;
  • npm-варианты: inter-ui подходит только папкой web/ (в *-latin нет ни кириллицы, ни ccmp/mkmk), dist-font-inter побайтно совпадает с официальным релизом;
  • примеры подключения: @import 'assets/fonts/inter/inter.css' из архива Inter и три @font-face для JetBrains Mono 400/600/700;
  • ссылки только на публичные источники — внутренние пакеты в статье не упоминаются;
  • оба варианта статьи обновлены одинаково.

Checks

  • npx prettier --check — ok
  • npx cspell — ok
  • npx eslint apps/docs/src/app/structure.ts — ok
  • yarn run build:docs-pages — 302 страницы собраны
  • yarn run unit:koobiq-docs — 258 тестов пройдено

@rmnturov rmnturov self-assigned this Oct 27, 2026
@rmnturov
rmnturov requested a review from lskramarov October 27, 2026 08:33
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Oct 27, 2026
@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 39e00d8):

https://koobiq-next--prs-2252-wf54gfjt.web.app

(expires Fri, 30 Oct 2026 14:02:38 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: c9e37e518febda70d0317d07e8ceb35ac43c534c

@rmnturov

Copy link
Copy Markdown
Contributor Author

Откуда берётся потеря фич

Дополнил исследование ссылкой на upstream-обсуждение: fontsource/fontsource#39, комментарий. Там описана причина: при сборке сабсетов из Google Fonts в файле остаётся только whitelist фич — ccmp, liga, locl, mark, mkmk, rlig, frac, numr, dnom, calt, clig, curs, kern, rclt (плюс pnum и tnum, которые Google включает отдельно).

Отсюда и цифры из задачи DS-5791: у полного Inter 4.1 — 43 фичи (39 GSUB + 4 GPOS), в latin-сабсете @fontsource/inter остаётся 11 (calt, ccmp, dnom, frac, locl, numr, pnum, tnum + kern, mark, mkmk), а ss01, ss02, ss04, zero, case, cv01–cv14 и dlig выпадают целиком. То есть теряется ровно то, на что рассчитывают токены Koobiq (zero, ss01, ss04, case), поэтому в статье и рекомендация брать полные сборки, а не сабсеты.

Отдельно: у @fontsource/jetbrains-mono потерь по фичам для Koobiq нет — моно-стили в токенах содержат font-feature-settings: initial, а лигатуры кода (->, =>, !=) живут в calt, который в whitelist остаётся.

@NikGurev

Copy link
Copy Markdown
Contributor

Рома, проверял ли ты пакет fontsource-variable/inter ?

Как ты и сказал, fontsource/inter , действительно хранит урезанный функционал
А fontsource-variable/inter уже имеет все фичи, но font-family подставляется под другим именем "Inter Variable", нам это не совсем подходит

@NikGurev
NikGurev force-pushed the docs/DS-5791-typography-inter-source branch from 270acf6 to 39e00d8 Compare October 27, 2026 13:57
@rmnturov

Copy link
Copy Markdown
Contributor Author

Рома, проверял ли ты пакет fontsource-variable/inter ?

Как ты и сказал, fontsource/inter , действительно хранит урезанный функционал А fontsource-variable/inter уже имеет все фичи, но font-family подставляется под другим именем "Inter Variable", нам это не совсем подходит

Вариативный пакет шрифта проверял, где-то в логах осталось, и в памяти были обрывки, что агент писал что с вариативным вроде как все норм. Переезд на вариативных шрифт можно рассмотреть. Это выходит за рамки задачи (просто поправить доки). Возможно, нужна и в Реакте доработка. Пошел копать)

@NikGurev

Copy link
Copy Markdown
Contributor

Рома, проверял ли ты пакет fontsource-variable/inter ?

Как ты и сказал, fontsource/inter , действительно хранит урезанный функционал А fontsource-variable/inter уже имеет все фичи, но font-family подставляется под другим именем "Inter Variable", нам это не совсем подходит

Вариативный пакет шрифта проверял, где-то в логах осталось, и в памяти были обрывки, что агент писал что с вариативным вроде как все норм. Переезд на вариативных шрифт можно рассмотреть. Это выходит за рамки задачи (просто поправить доки). Возможно, нужна и в Реакте доработка. Пошел копать)

Сори)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants