lukas-w / font-logos

An icon font providing popular linux distro's logos
https://lukas-w.github.io/font-logos
The Unlicense
434 stars 84 forks source link

Kali Linux logo is wider than it should be #137

Closed hasecilu closed 2 months ago

hasecilu commented 3 months ago

While playing with https://github.com/cowboy8625/rusty-rain/ I noticed that the Kali Linux logo is wider than it should be.

image

zen0bit commented 2 months ago

Thanks for sharing rusty-rain

Finii commented 2 months ago

I believe we had it 'one width' wide before and then it was so small one could almost not discern it. And I'm not sure there is any 'we have a square bounding box' idea here (i.e. with font logos), but I can be mistaken.

See for example here:

image Taken from some random user's comment

Finii commented 2 months ago
$ git log kali-linux.svg
commit 42440ab4626d577f7001d9ca7dc20d22ca58c23a
Author: Lukas W <lukaswhl@gmail.com>
Date:   Thu Jul 7 12:35:52 2022 +0200

    Scale Kali Linux back up

    Fixes regression from aef7b01d38929a47bb06dd27f67435d3fea78899 by
    scaling kali logo up to fit to SVG height (instead of width).
    This makes kali wider than 1em, breaking the existing .fa-fw style.
    Work around this by overwriting .fa-fw font-size for wider icons to
    scale them back down.

commit aef7b01d38929a47bb06dd27f67435d3fea78899
Author: Lukas W <lukaswhl@gmail.com>
Date:   Tue Jul 5 17:09:33 2022 +0200

    Fix kali-linux

commit e9065a979eac24e3faaa5afe0f3888d981e743fb
Author: Daniel Ruiz de Alegría <daniel@drasite.com>
Date:   Thu Dec 3 14:11:31 2020 +0100

    Add icon for Kali Linux
hasecilu commented 2 months ago

Thanks for sharing rusty-rain

You may be interested on: https://github.com/cowboy8625/ezemoji/pull/5

I believe we had it 'one width' wide before and then it was so small one could almost not discern it.

Mmm, I see, I don't remember seeing another "wider" glyph on Nerd Fonts but seems reasonable to have this exception, user just would need to use an extra space to avoid overlapping.

Finii commented 2 months ago

In font-logos each glyph has the advance width exactly as the glyph bounding box, means

image

Hmm, for example OpenCAD seems to be not maximized in height nor width :thinking:

Here an overview of all glyph sized (hori/verti):

```console $ fontforge --script check.py | sort -t : -k 1.37 F310 Mageia 326.0 x 512.0 F348 Crystal Linux 327.0 x 512.0 F335 Forgejo 328.0 x 512.0 F329 Parrot OS 353.0 x 507.0 F332 KDE Plasma 372.0 x 372.0 F357 Enlightenment 379.0 x 513.0 F351 Prusa Slicer 383.0 x 512.0 F359 Hyprland 386.0 x 512.0 F326 illumos 394.3 x 512.0 F343 Tails 398.0 x 509.2 F315 Raspberry pi 400.4 x 512.0 F306 Debian 409.0 x 508.0 F361 GNOME 410.5 x 504.0 F36F Neovim 421.0 x 512.0 F350 OSHWA 424.0 x 512.0 F352 RepRap 425.0 x 513.0 F302 Apple 431.0 x 512.0 F31A Tux 438.0 x 512.1 F34E OpenSCAD 449.0 x 354.0 F342 QubesOS 451.3 x 508.5 F30C FreeBSD 452.1 x 446.0 F362 GTK 474.0 x 512.0 F31B Ubuntu 479.2 x 460.0 F34C KiCad 482.0 x 512.0 F373 KDE 484.0 x 512.0 F307 Devuan 488.0 x 472.0 F300 Alpine 489.0 x 424.0 F30D Gentoo 489.2 x 512.6 F368 XFCE 491.0 x 255.1 F30E Linux Mint 491.0 x 440.0 F305 CoreOS 496.0 x 496.0 F32D Solus 497.0 x 497.0 F301 AOSC OS 497.0 x 498.0 F337 Garuda Linux 499.0 x 380.0 F32E Void 499.0 x 498.0 F31F Artix Linux 499.0 x 512.0 F325 GNU Guix 500.0 x 302.5 F32F Zorin OS 500.0 x 442.0 F32C Snappy 500.0 x 500.0 F33A Hyperbola GNU/Linux-libre 502.0 x 416.0 F347 BigLinux 502.2 x 340.0 F36D Wikimedia 504.0 x 512.0 F341 Puppy Linux 504.6 x 505.6 F34A XeroLinux 505.0 x 512.0 F308 Docker 506.8 x 328.0 F365 MATE 507.0 x 497.0 F33F MX Linux 508.0 x 408.7 F322 Endeavour OS 508.5 x 422.8 F33E LXLE Linux 509.0 x 511.0 F36B FOSDEM 509.0 x 512.0 F35C Qtile 509.5 x 508.1 F34D Octoprint 509.7 x 463.6 F346 ArcoLinux 509.7 x 490.0 F333 Kubuntu 510.0 x 512.0 F338 GIMP 510.3 x 371.3 F339 Gitea 510.8 x 316.0 F372 VS Codium 511.0 x 498.5 F353 RISC-V 511.0 x 510.0 F364 LXQt 511.1 x 484.0 F321 Deepin 511.2 x 511.6 F349 Loc-OS 511.4 x 505.0 F311 Mandriva 511.8 x 362.4 F33B Inkscape 511.9 x 505.7 F356 dwm 512.0 x 214.0 F34B Arduino 512.0 x 245.0 F35B JWM 512.0 x 268.0 F375 Qt 512.0 x 366.0 F33C Kdenlive 512.0 x 384.0 F324 Flathub 512.0 x 402.0 F369 Xorg 512.0 x 431.0 F313 NixOS 512.0 x 444.0 F374 PostmarketOS 512.0 x 444.0 F316 Red Hat 512.0 x 451.1 F30F Linux Mint (inverse) 512.0 x 460.0 F34F OSH 512.0 x 461.0 F366 Vanilla OS 512.0 x 476.0 F35D Sway 512.0 x 478.1 F330 Codeberg 512.0 x 480.0 F303 Arch Linux 512.0 x 486.0 F370 Thunderbird 512.0 x 490.0 F36C OSI 512.0 x 493.0 F363 LXDE 512.0 x 498.1 F36A F-droid 512.0 x 506.0 F35E Xmonad 512.0 x 508.0 F304 CentOS 512.0 x 512.0 F309 elementary OS 512.0 x 512.0 F30A Fedora 512.0 x 512.0 F30B Fedora (inverse) 512.0 x 512.0 F312 Manjaro 512.0 x 512.0 F318 Slackware 512.0 x 512.0 F319 Slackware (inverse) 512.0 x 512.0 F320 Budgie 512.0 x 512.0 F32A Pop!_OS 512.0 x 512.0 F32B Rocky Linux 512.0 x 512.0 F331 KDE Neon 512.0 x 512.0 F334 Kubuntu (inverse) 512.0 x 512.0 F336 FreeCAD 512.0 x 512.0 F345 Archcraft 512.0 x 512.0 F354 Awesome WM 512.0 x 512.0 F355 bspwm 512.0 x 512.0 F35F Cinnamon 512.0 x 512.0 F36E mpv 512.0 x 512.0 F371 Tor Browser 512.0 x 512.0 F31C Ubuntu (inverse) 512.0 x 513.0 F31E ArchLabs 512.0 x 513.0 F367 Wayland 512.0 x 513.4 F317 Sabayon 512.1 x 512.1 F340 Parabola GNU/Linux-libre 512.2 x 432.0 F31D Alma Linux 512.2 x 501.3 F35A i3 512.2 x 512.2 F314 OpenSUSE 512.6 x 259.1 F344 Trisquel GNU/Linux 512.7 x 507.7 F358 Fluxbox 513.0 x 324.0 F323 Ferris 513.0 x 338.1 F33D Krita 513.2 x 480.1 F328 OpenBSD 513.3 x 442.7 F360 freedesktop.org 514.7 x 431.4 F327 Kali Linux 683.0 x 512.1 ```

which has been quickly generated by this script

```python import fontforge font = fontforge.open('assets/font-logos.ttf') font.encoding = 'UnicodeFull' for c in range(0xF300, 0xF400): if c not in font: continue glyph = font[c] x1, y1, x2, y2 = glyph.boundingBox() print('{:X} {:30} {:3.1f} x {:3.1f}'.format(c, glyph.glyphname, x2-x1, y2-y1)) ```

The usecase rusty rain expects (kind of) a monospaced font. Also 'broken' there are small glyphs, which are not centered but also left aligned within the 'strand' ('cell'):

image

It (Kali) would not overlap so badly if they centered the glyphs on the strand-centerline instead. That would also improve the looks for the small icons and even if people use the classic [a-zA-Z0-9] but with a proportional font. What I mean: rusty rain does not behave nicely with non-monospaced fonts, but they could change that. Font-Logos is non-monospaced.