Fighting Game · Guides & deep dives

V2 Font Accessibility Options

The font accessibility options live in V2UI:

5sections1 minread

On this page

This runbook covers TODOS.phase-72.72.13.1.14: readable font selection with a dyslexia-friendly option and adjustable letter spacing.

Runtime Surface#

The font accessibility options live in V2UI:

  • C++ header: V2/ue/Source/V2UI/Public/V2FontAccessibilityOptions.h
  • C++ source: V2/ue/Source/V2UI/Private/V2FontAccessibilityOptions.cpp
  • automation spec: V2/ue/Source/V2Tests/Private/UI/FontAccessibilityOptions.spec.cpp
  • contract: V2/ue/Content/V2/UI/Accessibility/FontAccessibilityOptions_V2_Contract.json
  • focused checker: V2/ue/Tools/check-v2-font-accessibility-options.py

FV2FontAccessibilityOptions::BuildDefaultProfile returns Accessibility.FontAccessibilityOptions.V2 for Settings.Accessibility.FontOptions. The profile exposes Settings.Accessibility.ReadableFont with Default, Atkinson Hyperlegible, and OpenDyslexic choices, plus Settings.Accessibility.LetterSpacing from 0 to 50 percent in 5 percent steps.

Required Surfaces#

The profile must resolve readable font and letter-spacing styles for:

  • UI.Text.HUD
  • UI.Text.Menus
  • UI.Text.Dialogue
  • UI.Text.Subtitles
  • UI.Text.QuestTracker
  • UI.Text.Notifications
  • UI.Text.Buttons

Each resolved style preserves localization fallback chains, requires layout reflow, preserves button hit targets, and prevents text overlap.

Release Policy#

Font accessibility options are valid only when they:

  • include Default, Atkinson Hyperlegible, and OpenDyslexic font modes;
  • mark OpenDyslexic as the dyslexia-friendly font option;
  • preserve script-aware localization fallback behavior for every font choice;
  • expose letter spacing from 0 to 50 percent in 5 percent steps;
  • map maximum spacing to 0.12em;
  • apply to HUD, menus, dialogue, subtitles, quest text, notifications, and buttons;
  • remain saved per player profile and frame-data inert.

Verification#

Run these checks after changing font accessibility options:

bash
python3 V2/ue/Tools/check-v2-font-accessibility-options.py
python3 V2/ue/Tools/check-v2-settings-ui.py
python3 V2/ue/Tools/check-v2-accessibility-feature-set.py
python3 V2/ue/Tools/check-v2-ui-module.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 V2/tools/validate-v2-docs.py
python3 -m py_compile V2/ue/Tools/check-v2-font-accessibility-options.py V2/ue/Tools/check-v2-settings-ui.py V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/UI/Accessibility/FontAccessibilityOptions_V2_Contract.json
python3 -m json.tool V2/ue/Content/V2/UI/Settings/SettingsScreen_V2_Contract.json

Automation test name: V2.UI.Accessibility.FontAccessibilityOptions.AssetContract.

Horde Gates#

  • font-accessibility-options-source
  • font-accessibility-options-readable-fonts
  • font-accessibility-options-dyslexia-font
  • font-accessibility-options-letter-spacing
  • font-accessibility-options-settings-row
  • font-accessibility-options-automation
  • font-accessibility-options-ci-wired