Use Atkinson Hyperlegible as default font

Add a Shift desktop theme package and point the look-and-feel
defaults at Atkinson Hyperlegible Next / Mono.
This commit is contained in:
Marco Allegretti 2026-05-14 09:34:10 +02:00
parent f22514528b
commit 64e9bdf5db
8 changed files with 114 additions and 1 deletions

View file

@ -149,6 +149,8 @@ plasma_install_package(${SHIFT_SHELL_PACKAGE_DIR} org.kde.plasma.mobileshell she
add_subdirectory(bin) add_subdirectory(bin)
add_subdirectory(color-schemes) add_subdirectory(color-schemes)
add_subdirectory(desktoptheme)
add_subdirectory(fonts)
add_subdirectory(icons) add_subdirectory(icons)
add_subdirectory(wallpapers) add_subdirectory(wallpapers)
add_subdirectory(components) add_subdirectory(components)

View file

@ -0,0 +1,11 @@
# SPDX-FileCopyrightText: 2026 SHIFT Contributors
# SPDX-License-Identifier: GPL-2.0-or-later
# Install the Shift Plasma desktop theme. The package starts empty and
# inherits everything from the system "default" theme; override SVGs are
# added one at a time as identity work progresses, so each override can
# be reviewed visually in isolation.
install(
DIRECTORY org.shift.desktoptheme
DESTINATION ${KDE_INSTALL_DATADIR}/plasma/desktoptheme
)

View file

@ -0,0 +1,21 @@
<!--
SPDX-FileCopyrightText: 2026 SHIFT Contributors
SPDX-License-Identifier: GPL-2.0-or-later
-->
# Shift Plasma desktop theme
Empty package. Inherits the system "default" desktop theme. SVG overrides are
added incrementally so each visual change can be reviewed in isolation in the
preview.
The shell currently references these `KSvg` paths and they are the only ones
worth overriding here:
- `widgets/panel-background` (`solid/widgets/panel-background` variant)
- `widgets/background`
- `widgets/slider`
- `widgets/tabbar`
Anything not provided here falls back through the inheritance chain to the
system Breeze theme, so adding overrides is strictly additive.

View file

@ -0,0 +1,14 @@
{
"KPackageStructure": "Plasma/Theme",
"KPlugin": {
"Authors": [
{
"Name": "SHIFT Contributors"
}
],
"Description": "Shift Plasma theme",
"Id": "org.shift.desktoptheme",
"License": "GPL-2.0-or-later",
"Name": "Shift"
}
}

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: 2026 SHIFT Contributors
SPDX-License-Identifier: GPL-2.0-or-later

22
fonts/CMakeLists.txt Normal file
View file

@ -0,0 +1,22 @@
# SPDX-FileCopyrightText: 2026 SHIFT Contributors
# SPDX-License-Identifier: GPL-2.0-or-later
# Install bundled font files (if any are present) into the system font dir
# so the shell session can render the configured default font even on
# distributions that do not package it.
#
# Drop OFL-licensed font files into fonts/AtkinsonHyperlegibleNext/ and
# fonts/AtkinsonHyperlegibleMono/ alongside their SPDX .license sidecars.
file(GLOB SHIFT_FONT_FILES
LIST_DIRECTORIES false
"${CMAKE_CURRENT_SOURCE_DIR}/*/*.ttf"
"${CMAKE_CURRENT_SOURCE_DIR}/*/*.otf"
)
if(SHIFT_FONT_FILES)
install(
FILES ${SHIFT_FONT_FILES}
DESTINATION ${KDE_INSTALL_DATADIR}/fonts/shift
)
endif()

36
fonts/README.md Normal file
View file

@ -0,0 +1,36 @@
<!--
SPDX-FileCopyrightText: 2026 SHIFT Contributors
SPDX-License-Identifier: GPL-2.0-or-later
-->
# Shift bundled fonts
Drop the Atkinson Hyperlegible Next and Atkinson Hyperlegible Mono font files
here, organised one family per subdirectory:
```
fonts/
AtkinsonHyperlegibleNext/
AtkinsonHyperlegibleNext-*.ttf
AtkinsonHyperlegibleNext-*.ttf.license
AtkinsonHyperlegibleMono/
AtkinsonHyperlegibleMono-*.ttf
AtkinsonHyperlegibleMono-*.ttf.license
```
Sources:
- https://www.brailleinstitute.org/freefont (Atkinson Hyperlegible Next + Mono)
License: SIL Open Font License 1.1. Add a `.license` sidecar next to each
binary file with:
```
SPDX-FileCopyrightText: 2024 Braille Institute of America, Inc.
SPDX-License-Identifier: OFL-1.1
```
The build globs every `*.ttf`/`*.otf` under these subdirectories at configure
time, so adding files later does not require editing CMake. If no fonts are
present, the install step is skipped silently — `lookandfeel/contents/defaults`
still requests the family, and the system falls back to whatever fontconfig
resolves "Atkinson Hyperlegible Next" to (e.g. a distro package).

View file

@ -10,12 +10,17 @@ widgetStyle=Breeze
[kdeglobals][General] [kdeglobals][General]
ColorScheme=ShiftDark ColorScheme=ShiftDark
Name=Shift Dark Name=Shift Dark
font=Atkinson Hyperlegible Next,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
fixed=Atkinson Hyperlegible Mono,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
smallestReadableFont=Atkinson Hyperlegible Next,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
toolBarFont=Atkinson Hyperlegible Next,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
menuFont=Atkinson Hyperlegible Next,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
[kdeglobals][Icons] [kdeglobals][Icons]
Theme=breeze-dark Theme=breeze-dark
[plasmarc][Theme] [plasmarc][Theme]
name=default name=org.shift.desktoptheme
[Wallpaper] [Wallpaper]
Image=SHIFT Image=SHIFT