-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Merriweather Sans: inconsistent OS/2 achVendID between upright and italic variable fonts #10362
Copy link
Copy link
Open
Description
Summary
The upright and italic variable font files for Merriweather Sans have inconsistent OS/2.achVendID values, causing Qt/KDE to split the family into two separate entries.
Details
- Upright (
MerriweatherSans-VariableFont_wght.ttf):achVendID = "STC\x00"(null-padded) - Italic (
MerriweatherSans-Italic-VariableFont_wght.ttf):achVendID = "STC "(space-padded)
Qt uses the vendor ID to disambiguate font families. Because the padding differs, Qt treats them as two separate families:
Merriweather Sans [STC]— only upright styles (Regular, Bold, Light, ExtraBold)Merriweather Sans [STC ]— only italic styles (Italic, Bold Italic, Light Italic, ExtraBold Italic)
This means in KDE System Settings (and any Qt-based font picker), users cannot select both upright and italic variants of Merriweather Sans as a single family.
fontconfig handles this fine — the issue is specifically in how Qt's QFontDatabase interprets the vendor ID.
Fix
Set achVendID to the same value in both files. Null-padding ("STC\x00") is the conventional approach per the OpenType spec.
Reproduction
from fontTools.ttLib import TTFont
upright = TTFont("MerriweatherSans-VariableFont_wght.ttf")
italic = TTFont("MerriweatherSans-Italic-VariableFont_wght.ttf")
print(repr(upright["OS/2"].achVendID)) # 'STC\x00'
print(repr(italic["OS/2"].achVendID)) # 'STC 'Environment
- Font source: https://github.com/SorkinType/Merriweather-Sans (issues disabled there)
- Qt 6.10.2, KDE Plasma on Linux
- Fonts downloaded from Google Fonts
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels