MLD306: Literal font is not in the profile's allowed-fonts list¶
qual reports MLD306 when a literal font= keyword on a
knowledge-resolved Text() / MarkupText() construction names a font
family outside a profile's configured allowed-fonts list.
- Default severity:
info - Minimum confidence:
high - Implementation phase:
4 - Fix: none
allowed-fonts declares the fonts assumed installed on the render
platform. A family outside the list makes Pango fall back to a different
font there, silently changing typography (metrics, line breaks, glyph
coverage) between machines. The diagnostic lists exactly the profiles
whose allowlist misses the font (applicable_profiles).
Silent by design:
- profiles with an empty
allowed-fontslist — an empty list means "no allowlist configured", never "nothing is allowed"; - comparison is case-insensitive (fontconfig matches families
tolerantly), so
font="noto sans"against["Noto Sans"]is fine; - non-literal fonts and constructions the knowledge profile cannot resolve.
Wrong (profile declares allowed-fonts = ["Noto Sans"]):
Right: