From eb6bfcdb884ac889d8be9540ca8dc2c83f30744c Mon Sep 17 00:00:00 2001 From: AnturK Date: Fri, 9 Dec 2022 11:03:34 +0100 Subject: [PATCH] Fixes tg-font issues with inconsistent glyph sizes (#71808) So yeah one icon having 20 viewbox with another having 1000 without normalization caused some weird effects in the resulting font. This enables normalization while fixing some out of bound svgs. We really could use single template for these but i'm not sure what's best way to provide one. --- tgui/packages/tgfont/config.cjs | 4 ++ tgui/packages/tgfont/icons/bad-touch.svg | 61 ++++++++++++------ tgui/packages/tgfont/icons/non-binary.svg | 53 +++++++++++---- .../packages/tgfont/icons/prosthetic-full.svg | 48 +++++--------- tgui/packages/tgfont/icons/prosthetic-leg.svg | 53 +++++++++------ tgui/packages/tgfont/icons/syndicate-logo.svg | 16 ++++- tgui/packages/tgfont/static/tgfont.css | 4 +- tgui/packages/tgfont/static/tgfont.eot | Bin 4220 -> 4292 bytes tgui/packages/tgfont/static/tgfont.woff2 | Bin 1924 -> 1952 bytes 9 files changed, 149 insertions(+), 90 deletions(-) diff --git a/tgui/packages/tgfont/config.cjs b/tgui/packages/tgfont/config.cjs index 4f6b58f1061..73d96ac6ce9 100644 --- a/tgui/packages/tgfont/config.cjs +++ b/tgui/packages/tgfont/config.cjs @@ -7,8 +7,12 @@ module.exports = { name: 'tgfont', inputDir: './icons', + normalize: true, outputDir: './dist', fontTypes: ['woff2', 'eot'], assetTypes: ['css'], prefix: 'tg', + formatOptions: { + preserveAspectRatio: true, + }, }; diff --git a/tgui/packages/tgfont/icons/bad-touch.svg b/tgui/packages/tgfont/icons/bad-touch.svg index 6dc3c9a718a..795f4c2d840 100644 --- a/tgui/packages/tgfont/icons/bad-touch.svg +++ b/tgui/packages/tgfont/icons/bad-touch.svg @@ -1,23 +1,46 @@ - - - - - - - + +image/svg+xml + + + + - - - + + + diff --git a/tgui/packages/tgfont/icons/non-binary.svg b/tgui/packages/tgfont/icons/non-binary.svg index 9aaec674bbb..c708c26d985 100644 --- a/tgui/packages/tgfont/icons/non-binary.svg +++ b/tgui/packages/tgfont/icons/non-binary.svg @@ -1,17 +1,44 @@ - - - - + +image/svg+xml + - - - - - - + + + + + + diff --git a/tgui/packages/tgfont/icons/prosthetic-full.svg b/tgui/packages/tgfont/icons/prosthetic-full.svg index 21915870fe3..7d221244edc 100644 --- a/tgui/packages/tgfont/icons/prosthetic-full.svg +++ b/tgui/packages/tgfont/icons/prosthetic-full.svg @@ -1,45 +1,27 @@ - - + width="1077.457" + height="1380.7793">image/svg+xml + d="M 250,-574.71289 A 222.22223,222.22223 0 0 0 27.777344,-352.49023 222.22223,222.22223 0 0 0 250,-130.26758 222.22223,222.22223 0 0 0 472.22266,-352.49023 222.22223,222.22223 0 0 0 250,-574.71289 Z m -469.49805,528.736328 c -24.50365,0 -44.23047,19.726819 -44.23047,44.2304682 V 78.375 c 0,24.50365 19.72682,44.23047 44.23047,44.23047 H -1.5039062 v 421.625 3.0332 164.57227 c 0,24.50365 19.7268202,44.23047 44.2304682,44.23047 H 161.16211 c 24.50365,0 44.23047,-19.72682 44.23047,-44.23047 v -120.3418 h 87.71094 v 120.3418 c 0,24.50365 19.72682,44.23047 44.23046,44.23047 H 455.76953 C 480.27318,756.06641 500,736.33959 500,711.83594 v -164.57227 -3.0332 -421.625 h 219.49805 c 24.50365,0 44.23047,-19.72682 44.23047,-44.23047 V -1.7460938 c 0,-24.5036492 -19.72682,-44.2304682 -44.23047,-44.2304682 z" /> diff --git a/tgui/packages/tgfont/icons/prosthetic-leg.svg b/tgui/packages/tgfont/icons/prosthetic-leg.svg index c1f6ceee3fc..f4e16dccfb6 100644 --- a/tgui/packages/tgfont/icons/prosthetic-leg.svg +++ b/tgui/packages/tgfont/icons/prosthetic-leg.svg @@ -1,22 +1,35 @@ - - - - - - - + +image/svg+xml + + + + diff --git a/tgui/packages/tgfont/icons/syndicate-logo.svg b/tgui/packages/tgfont/icons/syndicate-logo.svg index eda92f9b308..423dd7c6275 100644 --- a/tgui/packages/tgfont/icons/syndicate-logo.svg +++ b/tgui/packages/tgfont/icons/syndicate-logo.svg @@ -1,3 +1,13 @@ - - - + + + + + + image/svg+xml + + + + + + + diff --git a/tgui/packages/tgfont/static/tgfont.css b/tgui/packages/tgfont/static/tgfont.css index 992f088913c..cf9427fc0df 100644 --- a/tgui/packages/tgfont/static/tgfont.css +++ b/tgui/packages/tgfont/static/tgfont.css @@ -1,7 +1,7 @@ @font-face { font-family: "tgfont"; - src: url("./tgfont.woff2?b809fa4bdd4aff7084540f130e4e524b") format("woff2"), -url("./tgfont.eot?b809fa4bdd4aff7084540f130e4e524b#iefix") format("embedded-opentype"); + src: url("./tgfont.woff2?ac4105718bed41e8015b97ba87c9ec71") format("woff2"), +url("./tgfont.eot?ac4105718bed41e8015b97ba87c9ec71#iefix") format("embedded-opentype"); } i[class^="tg-"]:before, i[class*=" tg-"]:before { diff --git a/tgui/packages/tgfont/static/tgfont.eot b/tgui/packages/tgfont/static/tgfont.eot index e879c327d3f1b6fa8c7922ea7d5b6ae3329a1b12..9b08d348391680c701c025db4d1e35df1b4acf74 100644 GIT binary patch delta 2370 zcmb7FU2I&%6`nJ5=I8$G{qgSJySv_9+iQETW9&8d{*gHLMp2;91V}218r5pBl0vG+ zAr(dqNX@#fgrG{LqKy!01yrKqr96Nl@zOq2YFa@bDz$lOtD;t@KT<2Typ$q@yqs&N zG0+#-d(YgNIcLs%bLKl|-ygp=p{@mtO$AS@4!*HJzxni`t^UeCkNuo6xXc*4|MbTC zh41|OojJyMfy933++z=(IQ7fN8N)-2S?<{{ub(;j_aAGjM#{u-^HqH%d+{o(}}V~>%Z{Il`%>l=d}nB*8uY+rcz zkT5j9 z7w%_2f;o5+-s5-j%lud3jCfYOg-h^K`_|yV6?dYLn6Tv7h+X06zBVN{gCfI~QR)t`Zp&WJo?P}a#VPmV4-P!< z7ALD#c2uB^%V?Y#Qz@dar3cC}_%=9ik~zUpAH||}!F(Lbr-1P(ATXr(G599km0?x3 zkA0D`>1e6bs@GI5?o$8~-HdlWNsl7Z9it{y<`;8h7T1${XBkraTcD{=}7pSAP(ql*Cz$%M^NiN zu4|WP?M0=zEpO8{NC95VrDOAwz+xtum0JBrXR@A`-7JLTxtY6r;nLJY;ic+g;V!&& z^xIAlIBpQ!!71v>R+hf~fC1alV1unkIaGVfMk#N%%+kI2aP92kScO)6u#eYGCUOt;Mu?@hD0>fXAivs4_dL@l4DWk5|&> zCB#rjDMG{^9wqa#C661m{dT(KXI7XVKm2Yb=De`Nc}zI=z)Z3^w#q)k?jvy11IwKn zjGEy80Zm8@P)?+<_PU=8TrGuGBXmN3sQXEP_6ey-i9|U)$HpjTZ9+LoED3W_N{asyRA!SqnSp^S>K=l;>=c}j`9!GUfsPj@P{2ZzcvHgw|=%~|(@L%fL z`m~TRCvp34=}GrJ`y54|>I?P1{{l{+<7mXMU%v6B3dR`0+oFPV*jiq@R0boJ?b^~B z*H$eGg6Oat7-d;%#Ib|O_oKD1NhPlvwc@-IL`S2s(7jigczTirg@h}+)83j+KvE&yOyv=UA*!u(s#Hqbt(}R~ zt)P-QWPgNta()kcklgP&ucLx2Quw;l2oJBWNiWJ9z^jXd1)@D9;WiuJiV_jVJ!TKz}8Md85F`Y?!6^$ zD-=eHDz|mfm)eul96d)#X^e2Zuv!+DmZ+>!UxvzXm>0GzkA=P?Z4^>lBf04s-JkK( zJ@Tjaqi>OKF1(;vFHv2DBT9qt%?W8Nk@ZEKiMSN5t++rB&~XJ;6e#VesubKq!O^n0 z;4&a!hU0X@j)s+iBw#Wo<>Kbfa{U*&XWx^H?~ z-A*+nOtW22hz4;pM+71|B*YF{(CM~Uq1|jZVDKk5>MNbZ4XWBoe`$0!3MZB;nXyW~ z6v|>VDa=%YTy4CR8KHuzav|3;uPwBFr2FLDLJ6Ec)Cg|H)vh4D)22HuagbTd!corg zl$DM-!q~`I?3eQKNY0N7b}no?W~6*~QjT2Pa+FiDG!I-Wq)>2?9Z^b1i~NJoNR7g_ f5@B6fVO#T1YMH(vYNa%K0j6V0{i`o#e$PJuTo66U delta 2285 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 delta 1915 zcmV->2ZZ>b4}=dGcTYw#00961000Ms01E&B000l%000Lxkr*I?R(<`tWW zATtrz9RBynMBITGC%O8GXMpaNB;wUTzX_t;c!-f6Q7XGV0d*eHlhK(3kU!nrBEKUYW2EKg!ODU zus5Q>f(8=6Xis`}>(UPTy92CGDuLdjW9+Apf4~9w3+Dl3C_nxW!cY&O;26+zHSAoi zBlf-{?}iiu5KY`@oSp&TR?Glk*RcTUelt3P(V&>3^DKjZMV>#h==N@cLA*l}ODmu$ z1p^k`_g`KJ^e}*jfKY(wK=n{enrm^sLqI4bK!6kokO2X5AV2{GD1iVK5TFJEw1EH} zAV34TWZ}lHQ2;UlMh9nQ(1fZmLZItio$KY!6bvXR^rzaeP(oOF1%o7HnhX|$F-dF` zrPo_R%p7Nb>RBh!VoI`9*0c2L@#$9Culj5rXNE@$DBe_6lKhhF71Nb~=Bus9Bu&+9 zg0{q*R=3S%4T~Q8_Nrg@y3&eel+1`BE@wuSxJVE$oGiJV+qc}m6vVqMu)?)DM^!aJ zI3Jhi{j$~RtSZZjVymHPwrHOs7I#{<(QF<~Digndt(u}~swYS>;8h|lLx@jxgC|0u z2*Fu?l@JebmQg71-kOUiHcb)53R*xEJv_svxdaYY7S^3^~I zU)8!b7Dc!enWs%8;vsG|>wK9#NcvDyKsRHTZilAtIyuN=`X z2}9IJG~(tI;b%(`>%><>7ZtbHYW*ucy4>w7vfSkAl2fJnv??{L6 z<3Y`Dbp~H(`FG=Lx!pTEFTQ`&-e`_;7!l@(GM8<*evFBRGxfM3{1C2>{<=-7&sUz( zaCouB4ZrtWZmZ9f0*R_A);YLIjH#brYs;N|wBlgC3(hplp$=-G2{eaX$3Pt(2Tf0> zOu}pPYNiTPtOA?G{Lf~x-ASXaE><^x*~oj&lvl^62*s9!R+Qm6jkLuY<<9zu^9kq86pHXEJX?)XE+j6LXo0MdQFLf}{nqn_4 zDAwFI?H7LVR2*ETFm^)nfySkOQpLoJjStqT+X$rp`i>DOv7m8TR0-^`H&{#wW;y$g z%yC=~Zd{w}+@`29Pz%i!dKjn~OPYmSbg|JTw$u%RO5q`9?o>LJH%4p=!=dgWT+PL) z6LMI+W(eu;=Jet3L-qS7)HF6*Y*VTkvKMj|QD-qbs69tyXd-K;CQ9so3_*8nZE08W zpb-`^#8Mi`4$_Yh)+ouYq)^j^-n1_$(C#a!pC40j(%?g^z{kHbxEddD2lodz;wmW) z1g^qA$g7A}hpW{PRpQ6LZHkorq!*4!^%$AF)_d9|*e|%66en%~deBoY0m9gD*C(W( zdZ1FM$ygdm$T>UM4;O)dnn}UnT_>zW=6