Setting to change the UI / chat font (preset families + custom font) #193

Closed
opened 2026-09-30 02:44:33 +00:00 by sky_line · 0 comments
Owner

A setting to choose the UI / chat font instead of the built-in DejaVu Sans set.

Reference

Firestorm has this (Preferences > User Interface > Font: FSFontSettingsFile, choosing between font XML sets such as DejaVu, Ubuntu, Roboto, Deja Vu Condensed...), plus separate size adjustment. Our fonts come from skins/default/xui/en/fonts.xml + newview/fonts/ (DejaVuSans family, DejaVuSansMono, TwemojiSVG for emoji), loaded by LLFontGL / LLFontRegistry.

Scope

  1. Preset font sets shipped with the viewer (a few open-licensed families: DejaVu (current), Noto Sans, Roboto / Inter, Ubuntu, a condensed option), each a fonts.xml variant mapping SansSerif / SansSerifSmall / SansSerifBold / Monospace etc.
  2. Custom font: pick a system / user .ttf/.otf for the main UI family (keep monospace + emoji fallbacks).
  3. Setting in Preferences (User Interface or Chat), live or restart-required -- LLFontRegistry reload + LLView font refresh; check what the Vulkan UI text path (LLRenderVK font seam, glyph atlas) needs on a reload.
  4. Keep existing size settings (FontScreenDPI, ChatFontSize) working; fallbacks for CJK / symbols / emoji preserved regardless of the chosen family.
  5. Licensing: only bundle fonts under OFL / Apache / Ubuntu Font Licence; note them in Help > About > Credits.
A setting to choose the UI / chat font instead of the built-in DejaVu Sans set. ### Reference Firestorm has this (Preferences > User Interface > Font: `FSFontSettingsFile`, choosing between font XML sets such as DejaVu, Ubuntu, Roboto, Deja Vu Condensed...), plus separate size adjustment. Our fonts come from `skins/default/xui/en/fonts.xml` + `newview/fonts/` (DejaVuSans family, DejaVuSansMono, TwemojiSVG for emoji), loaded by LLFontGL / LLFontRegistry. ### Scope 1. **Preset font sets** shipped with the viewer (a few open-licensed families: DejaVu (current), Noto Sans, Roboto / Inter, Ubuntu, a condensed option), each a fonts.xml variant mapping SansSerif / SansSerifSmall / SansSerifBold / Monospace etc. 2. **Custom font**: pick a system / user .ttf/.otf for the main UI family (keep monospace + emoji fallbacks). 3. Setting in Preferences (User Interface or Chat), live or restart-required -- LLFontRegistry reload + LLView font refresh; check what the Vulkan UI text path (LLRenderVK font seam, glyph atlas) needs on a reload. 4. Keep existing size settings (FontScreenDPI, ChatFontSize) working; fallbacks for CJK / symbols / emoji preserved regardless of the chosen family. 5. Licensing: only bundle fonts under OFL / Apache / Ubuntu Font Licence; note them in Help > About > Credits.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#193
No description provided.