On Mon, 9 Sep 2019 18:11:03 +0200, Lucien Gentis wrote: > const char * newFont="Liberation Sans:style=Bold Italic"; ... I think what you are seeing is the difference in the way Fontconfig interprets different pattern specs. Using my Python binding <https://github.com/ldo/python_fontconfig>, and recreating what you are doing: >>> f = fc.Pattern.name_parse("Liberation Sans:style=Bold Italic") >>> f.get("family", 0) ('Liberation Sans', 0) >>> f.get("style", 0) ('Bold Italic', 0) >>> f.get("weight", 0) (None, 1) >>> f.get("slant", 0) (None, 1) The second number in the result tuples is the status code; the nonzero value is FcResultNoMatch for the weight and slant. But if I write the pattern this way: >>> f = fc.Pattern.name_parse("Liberation Sans:weight=bold:slant=italic") >>> f.get("family", 0) ('Liberation Sans', 0) >>> f.get("style", 0) (None, 1) >>> f.get("weight", 0) (200.0, 0) >>> f.get("slant", 0) (100, 0) Now you see that the pattern has no style property, but it does have a weight and slant. Because that is what I specified. The first variant has a style, but no weight or slant, again because that is what I specified. Remember, this is just the search pattern. Once you use this to find an actual font, you should get a lot more info back from the matching instance pattern. _______________________________________________ Fontconfig mailing list Fontconfig@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/fontconfig