diff --git a/src/gui/iconfont.cpp b/src/gui/iconfont.cpp index a898bf05e3e11741796514029d6c7d4063f34fba..c76c88b3ace3ff224ec61dd6fe1d7e8919622b63 100644 --- a/src/gui/iconfont.cpp +++ b/src/gui/iconfont.cpp @@ -71,6 +71,10 @@ QString createIconFontFamily() const auto iconFontFamilies = QStringList() << QFontDatabase::applicationFontFamilies(solidIconFontId()).value(0) << QFontDatabase::applicationFontFamilies(brandsIconFontId()).value(0); + + Q_ASSERT(iconFontFamilies[0].endsWith("(CopyQ)")); + Q_ASSERT(iconFontFamilies[1].endsWith("(CopyQ)")); + const QString iconFontFamily = "CopyQ Icon Font"; QFont::insertSubstitutions(iconFontFamily, iconFontFamilies); return iconFontFamily; diff --git a/src/images/fontawesome-brands.ttf b/src/images/fontawesome-brands.ttf index ef410e59e81901ba53c50e85b6a698bc3d18d815..e6b76e014ef640f05662f4738967d881e6944b4b 100644 Binary files a/src/images/fontawesome-brands.ttf and b/src/images/fontawesome-brands.ttf differ diff --git a/src/images/fontawesome-solid.ttf b/src/images/fontawesome-solid.ttf index dd00c0caaace6431b6a67830e35d185916d00609..8d35ecd9c73696f374c33b70d9aec0fc93b6fb9b 100644 Binary files a/src/images/fontawesome-solid.ttf and b/src/images/fontawesome-solid.ttf differ diff --git a/utils/update_icon_font.py b/utils/update_icon_font.py index a33918413b2262de3d2b5b160af40f0ef8c97f91..d9d9e31027a4d73e41eab31e5c1f7f6e8b304515 100755 --- a/utils/update_icon_font.py +++ b/utils/update_icon_font.py @@ -86,18 +86,33 @@ def rename_font_family(path): """ Adds suffix to font family it doesn't conflict with font installed on system, which could be in incorrect version. + + See: https://github.com/fonttools/fonttools/blob/master/Snippets/rename-fonts.py """ + font = TTFont(path) name_table = font['name'] - name = name_table.getName(nameID=1, platformID=3, platEncID=1, langID=0x409) - assert name + FAMILY_RELATED_IDS = dict( + LEGACY_FAMILY=1, + TRUETYPE_UNIQUE_ID=3, + FULL_NAME=4, + POSTSCRIPT_NAME=6, + PREFERRED_FAMILY=16, + WWS_FAMILY=21, + ) + + for rec in name_table.names: + if rec.nameID not in FAMILY_RELATED_IDS.values(): + continue - name = name.toUnicode() - assert name.startswith('Font Awesome') + name = rec.toUnicode() + if name.startswith('Font Awesome'): + rec.string = name + ' (CopyQ)' + elif name.startswith('FontAwesome'): + rec.string = name + '(CopyQ)' - name = name + ' (CopyQ)' - name = name_table.setName(name, nameID=1, platformID=3, platEncID=1, langID=0x409) + assert rec.toUnicode().endswith('(CopyQ)') font.save(path) @@ -117,7 +132,8 @@ def main(): script = os.path.realpath(__file__) utils_dir = os.path.dirname(script) - src_dir = os.path.join(utils_dir, '..', 'src') + project_dir = os.path.dirname(utils_dir) + src_dir = os.path.join(project_dir, 'src') header_icon_list = os.path.join(src_dir, 'gui', 'icon_list.h') header_icons = os.path.join(src_dir, 'gui', 'icons.h')