From d386c2fb8fe310f10226b0262c86a7aea850dd00 Mon Sep 17 00:00:00 2001 From: Lukas Holecek <hluk@email.cz> Date: Sat, 2 May 2020 14:51:16 +0200 Subject: [PATCH] Fix setting icon font name Fixes: #1369 Signed-off-by: Lukas Holecek <hluk@email.cz> --- src/gui/iconfont.cpp | 4 ++++ src/images/fontawesome-brands.ttf | Bin 132480 -> 132584 bytes src/images/fontawesome-solid.ttf | Bin 202404 -> 202504 bytes utils/update_icon_font.py | 30 +++++++++++++++++++++++------- 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/gui/iconfont.cpp b/src/gui/iconfont.cpp index a898bf05e..c76c88b3a 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 GIT binary patch delta 589 zcmZXNPbh<N7{|ZQ`|h3Dus?0aSdF4>G$~Oc%b4=7cCs7FpM`9(%MO}3qS)zm;pDJ` zixMd(E=sw`fgGu6z1uG2pm;Yw?Umo<_j$hGPtUWyrAcpTcCE%E0QExygMPT_3Y>7A zbhg<K<xn%f6q{R|xbXreGw9(dG&?<0Gxq+PjE;JR<VZUxlLu5Ek??A?V!v(~lurZZ z3lKmfT!j#R-k#L=yg|pw>ww3DO=t1Hb2o0#DUmJ{Z-T9$%a21D`WW+Qg`cqsB}YIr zR#>h^1NIneW&fP94pzJ{Ho%Tg#zw_{6YNx5$m8;1i$ba{N<2taE;k+2i615m(*k1- zRdm9bN02TVs}zoaQO?G4HTt<Z###iq6k{Dcd@tBwKsWDUY*ZXD$$5z77KKw?a74dE zT^fhe7mmaNE^$qwmeQ1x$XoVXr6mfMsws)=qBl$TdIy~FA&dxO2*4$d=O|J6H@eNy U@jq`WM|I*(mK<k^JbjtJ0reSX8vp<R delta 515 zcmYk#JxGE<90u^`e}1N7Dt=M9MTnFo8G=|im_@l1L2hYe21!L37z9c~NJ8ZFP6f5J z)=~{^je%1QMMFy@$g4uMwA8Cz^xks6``>fVRZH4JNqgilM*#FpM8>1=&>fg6QFafy zLefy1&g?9&&fkXtixu?rvXV+JIeib#ayAx@yWdYiwI-lE+*ser8jicyK+OVRy#)a@ z%?yd$M|`0(^a(wa>VW5y19yAB*39hD6_LJ{ccH5lmllHt0d56)F~+ULe@2BqEb_Tp zdRgSwp&w`5dN@$wHo=BBZnLc4^4FP{KDNn1_I5}CQg%o;ethBAgemfJGZ-nyt-vJh zb1M;~3bzU|rsY<{&*r#wh_fQM9$q&3$`2-Z6h>~d>;sFe)F#W=TNxoLQb04CN^fV9 tn?gb)mu6tZ>l^kC2{$5zg>RAK!fu@&h08hxg=B*YLZd+!g!5{XY(Es9Q(*uA diff --git a/src/images/fontawesome-solid.ttf b/src/images/fontawesome-solid.ttf index dd00c0caaace6431b6a67830e35d185916d00609..8d35ecd9c73696f374c33b70d9aec0fc93b6fb9b 100644 GIT binary patch delta 615 zcmZXRODKd<6vzMfd^3ZY(aeZpJPJiajA1;=D|s$Rq$WkAJWI`lg;|LrNh0dAkRsWL zjbdXXvXF(6hz&E8g)9_He8a&fcXNODe}4Czx_52UIJsq<jkcTsh_9)vsz$o>2+8^| zXU|GFRKn1neqVRWLF*Kdc?jBW?(OR6jA?m2pBt(xTX(jVfNtXf&7RjYI5fGkxCFYt z1e}i$fT$(o_{){C-BkPn11ar*tK}*C=YE!+JSHZD*b!84Gm?bZ;0<LFv?yYhU`H9V z2EUFLsp#cghXl+p>yd#CW&@&e!E8nxo|rAF{t>W=uwXu-431Js)=x=-(1a<KT#<|~ z7AO~PW`bTUGD~O>tIQgeqeY!~=3IwDDrMHAnTDASa8Su9AI!+7H)e}!Km>B6T+X9Z zjy34W1AcOaC)z7KUSDHclc&G0Q=ayd&6Jtv$aXoL-xc}TPsJgu$+`f!Lw`y^Uv3T1 vz9~_8^a^<3g%6ELlk4xu7ydUox}(j1-fVze{K<H~hHZY-7P-4{Pv-0o8)Izr delta 508 zcmYk#J4ixN90u_3{O{H3Dx`*5q0ypTqK9cvgHc3}A(tS;A;_SIM9@p3mV}6irUc<M zL=ZGZwFJ2qwFeaxQdB;ca&4}wo#>wB{LcS;=R4bH=A%>duG1O=;2P>57(|m)gyh&v zs%`G5HmsbPTbuS=kL>_0H=y%KY-(b%w&y`k#zVdLFW)PmcNZXs7v`7a+lPDmph6t* z6~O>DOy;J$SO0i*@Czo=>VV9_j#}Q+6(bvLi?Itvoo|Uc)R$gpi(o)NSVAMZgk}6^ z4Dcc%=0-TMF07y#DPa?wxD>Xa29Ls4UBB(GGogKK*M%JAkOU@IX*V7Cz^@tlSc5P@ zVNqcTy=+!khMye^8xUg8!bUWcDy$$vqrxV%Qum2CSm33MuvPbgO;>8yWgMjpU&>N| ppJvI!Gg%69caFk5m7^=ZSRj?(7D(Y!d0OS4c{*W8KNZN={sT9wQ~dw{ diff --git a/utils/update_icon_font.py b/utils/update_icon_font.py index a33918413..d9d9e3102 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') -- GitLab