feat(fonts): default UI font back to Josefin Sans

Reverts the Inter default introduced in 2.7.0 — Josefin Sans (Light, w300) is
the default UI face again. Inter stays bundled and selectable in Settings →
Appearance; JetBrains Mono remains the default monospace with Fira Mono
selectable. Flips clideUiFamily/default weight, the picker's default + option
order, and the licenses.yaml purpose notes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-18 09:36:30 +02:00
co-authored by Claude Opus 4.8
parent 90546cb446
commit 8130d6b43a
4 changed files with 19 additions and 14 deletions
+4
View File
@@ -20,6 +20,10 @@ heading, and (b) bumping `pubspec.yaml` `version:` in the same commit.
### Changed
- **Josefin Sans is the default UI font again.** Reverts the Inter default from
2.7.0; Inter stays bundled and selectable in Settings → Appearance. JetBrains
Mono remains the default monospace face (Fira Mono selectable). (T-460)
### Fixed
- **Markdown prose honours the UI-font setting.** Claude's conversation prose
+5 -4
View File
@@ -76,8 +76,8 @@ dependencies:
license: OFL-1.1
license_file: assets/fonts/inter/OFL.txt
purpose: >-
Default application UI face (T-460). Variable font with optical-size
and weight axes; Josefin Sans remains bundled as a selectable option.
Selectable application UI face (bundled T-460); Josefin Sans is the
default. Variable font with optical-size and weight axes.
weights_bundled: [VariableFont, Italic-VariableFont]
- name: Josefin Sans
@@ -87,8 +87,9 @@ dependencies:
license: OFL-1.1
license_file: assets/fonts/josefin_sans/OFL.txt
purpose: >-
Selectable application UI face (was the default before T-460). Default
weight Light (300); full 100-700 range via the variable-font weight axis.
Default application UI face; default weight Light (300), full 100-700
range via the variable-font weight axis. Inter is bundled as a
selectable alternative.
weights_bundled: [VariableFont, Italic-VariableFont]
- name: Phosphor Icons
+2 -2
View File
@@ -64,10 +64,10 @@ class ThemePickerExtension extends ClideExtension {
kind: SettingsFieldKind.select,
label: 'UI font',
help: 'Typeface for the app interface; applies live.',
defaultValue: 'Inter',
defaultValue: 'JosefinSans',
options: [
SettingsOption(value: 'Inter', label: 'Inter'),
SettingsOption(value: 'JosefinSans', label: 'Josefin Sans'),
SettingsOption(value: 'Inter', label: 'Inter'),
],
),
SettingsField(
+8 -8
View File
@@ -16,23 +16,23 @@ library;
import 'package:flutter/widgets.dart' show FontWeight;
// ---------------------------------------------------------------------------
// UI face — Inter
// UI face — Josefin Sans
// ---------------------------------------------------------------------------
/// The bundled application UI family, resolved first (T-460). The settings
/// override ([kUiFontSettingKey]) takes precedence at the app root when set.
const String clideUiFamily = 'Inter';
/// The bundled default application UI family, resolved first. Inter stays
/// bundled and selectable (Settings → Appearance); the settings override
/// ([kUiFontSettingKey]) takes precedence at the app root when set.
const String clideUiFamily = 'JosefinSans';
/// Default weight for UI text.
const FontWeight clideUiDefaultWeight = FontWeight.w400;
/// Default weight for UI text — Josefin Sans reads best at Light.
const FontWeight clideUiDefaultWeight = FontWeight.w300;
/// System fallback chain for the UI face — the other bundled UI option plus
/// platform humanist sans defaults.
const List<String> clideUiFamilyFallback = [
// The other bundled UI family (selectable in Appearance).
'JosefinSans',
// User system install / platform humanist sans defaults.
'Inter',
// User system install / platform humanist sans defaults.
'Helvetica Neue',
'Helvetica',
'Arial',