Please normalize standard OpenType keyword wording
The OpenType and CSS spec are clear and consistent on the standard naming of width and weight steps:
The same steps are used internally by fontconfig.
However the exact wording of step keywords varies a little in the documents: sometimes with casing, sometimes not, sometimes with hyphens, sometimes with whitespace.
This slight spec ambiguïty results in user and font maker confusion: font makers will tend to write SemiCondensed
in their metadata, apps like inkscape may display Semi-Condensed
in font lists instead (and some use whitepace in keywords which makes keyword processing horrible software-side, as noted by Microsoft in their WPF font selection model whitepaper)
FontConfig should normalize the various ways to write those standard keywords so they are returned the same way to users and apps regardless of the option the font maker chose. The most consensual option font maker side seems to be camelcase (SemiCondensed
) but hyphen (to follow the W3C) is also possible (Semi-Condensed
)
The actual convention chosen is less important than keeping fontconfig systems consistent (especially since some font makers use different conventions on different metadata layers, so getting everyone on the same page can not come from the font maker side). Also, uniform naming paves the way to better translation of face names in free desktop GUIs.
Windows already does something like this. Therefore, normalizing would improve interoperability, even if the target convention differs a little (as long as rules are clear software can easily map from one system rules to another).