diff -r 0ddefd20ca2b -r 938b55abe946 svghmi/fonts.py --- a/svghmi/fonts.py Tue Mar 30 10:05:55 2021 +0200 +++ b/svghmi/fonts.py Tue Mar 30 14:54:43 2021 +0200 @@ -17,14 +17,17 @@ """ familyname = None + uniquename = None formatname = None mimetype = None font = ttLib.TTFont(filename) # https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6name.html for name in font["name"].names: - if name.nameID==1 and name.platformID in [0,3]: + if name.nameID in [1,16] and name.platformID==3 and name.langID==1033: familyname = name.toUnicode() + if name.nameID==4 and name.platformID==3 and name.langID==1033: + uniquename = name.toUnicode() if font.flavor : # woff and woff2 @@ -32,13 +35,13 @@ mimetype = "font/" + formatname # conditions on sfntVersion was deduced from fontTools.ttLib.sfnt elif font.sfntVersion in ("\x00\x01\x00\x00", "true"): - formatname = "truetype" + formatname = "truetype" mimetype = "font/ttf" elif font.sfntVersion == "OTTO": formatname = "opentype" mimetype = "font/otf" - return familyname,formatname,mimetype + return familyname,uniquename,formatname,mimetype def DataURIFromFile(filename, mimetype): with open(filename, "rb") as fp: @@ -50,7 +53,7 @@ b64encode(data).strip()]) def GetCSSFontFaceFromFontFile(filename): - familyname, formatname, mimetype = GetFontTypeAndFamilyName(filename) + familyname, uniquename, formatname, mimetype = GetFontTypeAndFamilyName(filename) data_uri = DataURIFromFile(filename, mimetype) css_font_face = \ """