feat: #3626849 Host the fonts in the theme and expose them to UI Skins

Issue: https://www.drupal.org/project/uikit_admin/issues/3626849

Stacked on the merge request of #3626848: merge that one first.

  • Ship Atkinson Hyperlegible Next, Atkinson Hyperlegible Mono and Noto Sans Arabic as woff2 subsets under assets/fonts, with their SIL OFL 1.1 license; nothing loads from a font service.
  • Add assets/css/fonts.css with the faces, metric-tuned fallback faces and the sans and mono stacks; load it in the base library and in the editor.
  • Compile UIkit to read the text, heading and code families from tokens, and let the headings read the heading token.
  • Add the Typography variables to UI Skins: font family, heading font family, code font family and line length.
  • Stop a line of help text at 32em, about 72 characters (WCAG 1.4.8), and line up the numbers of tables and counts.
  • Add the font_family setting (atkinson or system) with its schema, a post update, and the data-uikit-admin-font attribute.
  • Preload the first font file only when the theme fonts are in use.
  • Tests: new 01-10-01-fonts.feature: families, the file from the theme, no other host, the line length, the system font and a family set in UI Skins.

AI-Generated: Yes

Merge request reports

Loading
Loading