Skip to content

[web] Support switching the UI font family #1797

Description

@TaoXieSZ

Problem

The Kimi Web settings dialog exposes color scheme, accent, and font size preferences, but there is no way to change the font family. The UI and reading text are pinned to the Inter-first stack (--font-ui), so users who prefer the native platform font or a serif face for long reading sessions have no recourse. (There was a code-font switcher in early iterations that was removed during the dark-mode refactor in June; nothing covers the UI/reading font today.)

Proposal

Add a Font preference to Appearance settings (desktop SettingsDialog + mobile MobileSettingsSheet) with a small curated set:

  • Default — the current Inter-first stack (unchanged)
  • System — the platform's native UI stack (SF Pro / Segoe / Roboto + CJK fallbacks), no webfont download
  • Serif — a reading-oriented serif stack (Charter/Georgia + Songti/Noto Serif CJK fallbacks), also local-only

Implementation follows the existing appearance-preference pattern: persist the choice in localStorage, mirror it onto <html data-ui-font-family>, and remap the --font-ui token in CSS. Since --font-display and --sans reference var(--font-ui), every component picks the new face up with zero component-level changes; --font-mono (code) is unaffected.

Happy to send a PR for this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions