→ Consult typography reference for OpenType features, web font loading, and the deeper material on scales.
Choose fonts that are beautiful, unique, and interesting. Pair a distinctive display font with a refined body font.
<typography_principles>
Always apply these — do not consult a reference, just do them:
- Use a modular type scale with fluid sizing (clamp) for headings on marketing/content pages. Use fixed scales for app UIs and dashboards (no major design system uses fluid type in product UI).
- Use fewer sizes with more contrast. A 5-step scale with at least a 1.25 ratio between steps creates clearer hierarchy than 8 sizes that are 1.1× apart.
- Line-height scales inversely with line length. Narrow columns want tighter leading, wide columns want more. For light text on dark backgrounds, ADD 0.05-0.1 to your normal line-height — light type reads as lighter weight and needs more breathing room.
- Cap line length at ~65-75ch. Body text wider than that is fatiguing.
</typography_principles>
<font_selection_procedure>
DO THIS BEFORE TYPING ANY FONT NAME.
The model's natural failure mode is "I was told not to use Inter, so I will pick my next favorite font, which becomes the new monoculture." Avoid this by performing the following procedure on every project, in order:
Step 1. Read the brief once. Write down 3 concrete words for the brand voice (e.g., "warm and mechanical and opinionated", "calm and clinical and careful", "fast and dense and unimpressed", "handmade and a little weird"). NOT "modern" or "elegant" — those are dead categories.
Step 2. List the 3 fonts you would normally reach for given those words. Write them down. They are most likely from this list:
<reflex_fonts_to_reject>
Fraunces
Newsreader
Lora
Crimson
Crimson Pro
Crimson Text
Playfair Display
Cormorant
Cormorant Garamond
Syne
IBM Plex Mono
IBM Plex Sans
IBM Plex Serif
Space Mono
Space Grotesk
Inter
DM Sans
DM Serif Display
DM Serif Text
Outfit
Plus Jakarta Sans
Instrument Sans
Instrument Serif
</reflex_fonts_to_reject>
Reject every font that appears in the reflex_fonts_to_reject list. They are your training-data defaults and they create monoculture across projects. Syne in particular is the most overused "distinctive" display font and is an instant AI design tell. Never use it.
Step 3. Browse a font catalog with the 3 brand words in mind. Sources: Google Fonts, Pangram Pangram, Future Fonts, Adobe Fonts, ABC Dinamo, Klim Type Foundry, Velvetyne. Look for something that fits the brand as a physical object — a museum exhibit caption, a hand-painted shop sign, a 1970s mainframe terminal manual, a fabric label on the inside of a coat, a children's book printed on cheap newsprint. Reject the first thing that "looks designy" — that's the trained reflex too. Keep looking.
Step 4. Cross-check the result. The right font for an "elegant" brief is NOT necessarily a serif. The right font for a "technical" brief is NOT necessarily a sans-serif. The right font for a "warm" brief is NOT Fraunces. If your final pick lines up with your reflex pattern, go back to Step 3.
</font_selection_procedure>
<typography_rules>
DO use a modular type scale with fluid sizing (clamp) on headings.
DO vary font weights and sizes to create clear visual hierarchy.
DO vary your font choices across projects. If you used a serif display font on the last project, look for a sans, monospace, or display face on this one.
DO NOT use overused fonts like Inter, Roboto, Arial, Open Sans, or system defaults — but also do not simply switch to your second-favorite. Every font in the reflex_fonts_to_reject list above is banned. Look further.
DO NOT use Syne. Ever. It is an instant AI design tell.
DO NOT use monospace typography as lazy shorthand for "technical/developer" vibes.
DO NOT put large icons with rounded corners above every heading. They rarely add value and make sites look templated.
DO NOT use only one font family for the entire page. Pair a distinctive display font with a refined body font.
DO NOT use a flat type hierarchy where sizes are too close together. Aim for at least a 1.25 ratio between steps.
DO NOT set long body passages in uppercase. Reserve all-caps for short labels and headings.
</typography_rules>
→ 请查阅排版参考了解OpenType特性、Web字体加载以及字体缩放的深度内容。
选择美观、独特、有辨识度的字体,将有特色的展示字体与精致的正文字体搭配使用。
<typography_principles>
请始终遵循以下原则,无需查阅参考,直接执行:
- 营销/内容页面的标题使用带流体缩放(clamp)的模块化字体比例。应用UI和仪表盘使用固定比例(没有主流设计系统会在产品UI中使用流体字体)。
- 使用更少的字号,拉大对比度。层级差至少1.25倍的5级字体比例,比字号差仅1.1倍的8级比例能构建更清晰的层级。
- 行高与行宽成反比:窄列需要更紧凑的行高,宽列需要更大的行高。深色背景上的浅色文字,需要在常规行高基础上加0.05-0.1——浅色文字视觉上更轻,需要更多呼吸空间。
- 行宽上限控制在~65-75ch,超出这个宽度的正文会增加阅读疲劳。
</typography_principles>
<font_selection_procedure>
在输入任何字体名称前,请先执行以下步骤:
模型的天然缺陷是“既然不让我用Inter,那我就选下一个最喜欢的字体,最后又变成新的千篇一律选择”。为避免这种情况,每个项目都请按顺序执行以下流程:
步骤1:通读需求文档,写下3个描述品牌调性的具体词汇(例如“温暖、机械、有主见”、“冷静、客观、严谨”、“高效、密集、冷淡”、“手工感、带点奇怪”),不要写“现代”或“优雅”——这些都是空洞的分类。
步骤2:列出看到这些词汇后你第一反应会使用的3款字体,写下来。它们大概率来自以下列表:
<reflex_fonts_to_reject>
Fraunces
Newsreader
Lora
Crimson
Crimson Pro
Crimson Text
Playfair Display
Cormorant
Cormorant Garamond
Syne
IBM Plex Mono
IBM Plex Sans
IBM Plex Serif
Space Mono
Space Grotesk
Inter
DM Sans
DM Serif Display
DM Serif Text
Outfit
Plus Jakarta Sans
Instrument Sans
Instrument Serif
</reflex_fonts_to_reject>
拒绝所有出现在
列表中的字体,它们是你的训练数据默认选项,会导致所有项目风格千篇一律。
尤其是Syne,它是目前被过度使用的“特色”展示字体,是AI设计的标志性特征,绝对不要使用。
步骤3:结合你写下的3个品牌词汇浏览字体目录。可选来源:Google Fonts、Pangram Pangram、Future Fonts、Adobe Fonts、ABC Dinamo、Klim Type Foundry、Velvetyne。寻找能匹配品牌“实体感”的字体——比如博物馆展览说明、手绘店铺招牌、1970年代大型机终端手册、大衣内侧的布料标签、印在廉价新闻纸上的儿童读物。拒绝第一个“看起来很有设计感”的选项——这也是训练出来的条件反射,继续多看一些。
步骤4:交叉验证结果。“优雅”需求的适配字体不一定是衬线字体,“技术”需求的适配字体不一定是无衬线字体,“温暖”需求的适配字体一定不是Fraunces。如果你最终的选择符合你的惯性选择模式,回到步骤3重新选择。
</font_selection_procedure>
<typography_rules>
✅ 标题使用带流体缩放(clamp)的模块化字体比例。
✅ 调整字体字重和字号,构建清晰的视觉层级。
✅ 不同项目使用不同的字体选择,如果上一个项目你用了衬线展示字体,这个项目可以尝试无衬线、等宽或者其他展示字体。
❌ 不要使用过度流行的字体比如Inter、Roboto、Arial、Open Sans或者系统默认字体,也不要直接切换到你的次选字体,所有出现在上文
列表的字体都禁止使用,多找一些其他选项。
❌ 永远不要使用Syne,它是AI设计的标志性特征。
❌ 不要用等宽字体作为“技术/开发者”风格的偷懒捷径。
❌ 不要在每个标题上方都加大圆角图标,它们几乎没有价值,还会让网站看起来像模板生成的。
❌ 不要整页只使用一个字体系列,将有特色的展示字体与精致的正文字体搭配使用。
❌ 不要使用层级差太小的扁平字体结构,层级之间的比例至少要达到1.25倍。
❌ 不要大段正文使用全大写,全大写仅适用于短标签和标题。
</typography_rules>