Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lots of self-intersecting paths #129

Open
Finii opened this issue Mar 18, 2024 · 8 comments
Open

Lots of self-intersecting paths #129

Finii opened this issue Mar 18, 2024 · 8 comments
Assignees
Labels

Comments

@Finii
Copy link
Collaborator

Finii commented Mar 18, 2024

Many glyphs are incorrectly formulated, will need to check:

$ fontforge bin/scripts/name_parser/check_glyphs src/glyphs/font-logos.ttf 2>/dev/null
Examining 1 font files
 F300 00000005      intersect            Alpine
 F303 00000225      intersect            Arch Linux
 F306 00000025      intersect            Debian
 F308 00000025      intersect            Docker
 F30E 00000205      intersect            Linux Mint
 F310 00000025      intersect            Mageia
 F311 00000025      intersect            Mandriva
 F313 00000005      intersect            NixOS
 F314 00000025      intersect            OpenSUSE
 F315 00000225      intersect            Raspberry pi
 F316 00000225      intersect            Red Hat
 F31A 00000025      intersect            Tux
 F31C 00000225      intersect            Ubuntu (inverse)
 F323 00000025      intersect            Ferris
 F325 00000225      intersect            GNU Guix
 F326 00000025      intersect            illumos
 F327 00000225      intersect            Kali Linux
 F328 000000A5      intersect            OpenBSD
 F32C 00000005      intersect            Snappy
 F337 00000225      intersect            Garuda Linux
 F349 00000225      intersect            Loc-OS
 F34A 00000025      intersect            XeroLinux
 F34E 00000025      intersect            OpenSCAD
 F34F 00000005      intersect            OSH
 F356 00000005      intersect            dwm
 F35D 00000025      intersect            Sway
 F360 00000025      intersect            freedesktop.org
 F368 00000025      intersect            XFCE
======== font-logos.ttf ========
Sum of problems: open 0, intersect 28, direction 0 (for a total of 119 glyphs)
| font-logos.ttf | 119 | 0 | 28 | 0 |
$

Script checks for open paths, self-intersection, and wrong direction

@Finii Finii self-assigned this Mar 18, 2024
@hasecilu hasecilu added the bug label Mar 18, 2024
@hasecilu
Copy link
Collaborator

dwm
image

@Finii
Copy link
Collaborator Author

Finii commented Mar 18, 2024

Thanks for looking 💚

image

I'm working on some related stuff in NF, this is why I found it, and this can then be automagically fixed...
Maybe ;-)

@Finii
Copy link
Collaborator Author

Finii commented Mar 18, 2024

🙄

$ cat fontnames | xargs fontforge bin/scripts/name_parser/check_glyphs 2>/dev/null
Examining 63 font files
Batch mode enabled
| file                                     | #glyp | open | self | dir  |
| 0xProto-Regular.ttf                      |   845 |    0 |    0 |    0 |
| 3270-Regular.ttf                         |  2226 |    0 |    0 |    0 |
| Agave-Regular.ttf                        |  2487 |    0 |   22 |   19 |
| Anonymous Pro.ttf                        |   623 |    0 |    0 |    0 |
| Arimo-Regular.ttf                        |  3306 |    0 |    3 |    0 |
| AurulentSansMono-Regular.otf             |   267 |    0 |    0 |    0 |
| BigBlue_TerminalPlus.ttf                 |   781 |    0 |  146 |    0 |
| VeraMono.ttf                             |   269 |    0 |    0 |    0 |
| CascadiaCode-Regular-vtt.ttf             |  3199 |    0 |    2 |    0 |
| CascadiaMono-Regular-vtt.ttf             |  3199 |    0 |    2 |    0 |
| Code New Roman-Regular.otf               |  2738 |    0 |    0 |    0 |
| ComicShannsMono-Regular.otf              |   619 |    0 |   14 |    0 |
| CommitMono-400-Regular.otf               |  1924 |    0 |    3 |    0 |
| Cousine-Regular.ttf                      |  2391 |    0 |    0 |    0 |
| D2Coding-Ver1.3.2-20180524-ligature.ttf  | 26559 |    0 |   82 |    8 |
| DaddyTimeMono.otf                        |   918 |    0 |    0 |    0 |
| DejaVuSansMono.ttf                       |  3392 |    0 |    9 |    0 |
| Droid Sans Mono for Powerline.otf        |   907 |    0 |    1 |    0 |
| Envy Code R.ttf                          |   648 |    0 |   13 |   16 |
| FantasqueSansMono-Regular.ttf            |  1046 |    0 |    0 |    0 |
| FiraCode-Regular.ttf                     |  2030 |    0 |    1 |   79 |
| FiraMono-Regular.otf                     |  1485 |    0 |    0 |    0 |
| GeistMono-Regular.otf                    |   694 |    0 |    0 |   15 |
| gohufont-uni-14.ttf                      |   841 |    0 |  582 |    0 |
| Go-Mono.ttf                              |   711 |    0 |    1 |    1 |
| Hack-Regular.ttf                         |  1572 |    0 |    3 |    0 |
| Hasklig-Regular.otf                      |  1611 |    0 |    2 |    0 |
| heavy_data.ttf                           |   252 |    0 |    0 |    0 |
| Hermit-Regular.otf                       |   393 |    0 |    0 |    0 |
| iAWriterMonoS-Regular.ttf                |   850 |    0 |    1 |    0 |
| IBMPlexMono-Regular.ttf                  |  1032 |    0 |    2 |    0 |
| Inconsolata-Regular.ttf                  |   963 |    0 |    2 |   18 |
| InconsolataGo-Regular.ttf                |   306 |    0 |    0 |    0 |
| Inconsolata-LGC.ttf                      |   885 |    0 |    3 |    0 |
| iosevka-regular.ttf                      | 30414 |    0 |   59 |    0 |
| iosevka-term-regular.ttf                 | 30414 |    0 |   59 |    0 |
| iosevka-term-slab-regular.ttf            | 29667 |    0 |   71 |    0 |
| JetBrainsMono-Regular.ttf                |  1743 |    0 |    3 |    0 |
| Lekton-Regular.ttf                       |   953 |    0 |    4 |    0 |
| LiberationMono-Regular.ttf               |  2423 |    0 |    0 |    2 |
| Lilex-Regular.ttf                        |  1230 |    0 |    2 |    0 |
| MartianMono-Regular.ttf                  |   557 |    0 |    0 |    1 |
| Meslo LG M Regular for Powerline.ttf     |  2714 |    0 |    7 |    2 |
| MonaspaceNeon-Regular.otf                |   782 |    0 |    0 |   95 |
| Monofur for Powerline.ttf                |   690 |    0 |   11 |    0 |
| Monoid-Regular.ttf                       |   785 |    0 |    0 |    0 |
| mononoki-Regular.ttf                     |   932 |    0 |    2 |    2 |
| Mplus1Code-Regular.ttf                   |  6582 |    0 |  206 |   65 |
| NotoMono-Regular.ttf                     |   896 |    0 |    0 |    0 |
| NotoSansMono-Regular.ttf                 |  3919 |    0 |    3 |    0 |
| OpenDyslexic-Regular.otf                 |   748 |    0 |    1 |  541 |
| overpass-mono-regular.otf                |   987 |    0 |    0 |    1 |
| ProFontIIx.ttf                           |   270 |    0 |    2 |    0 |
| ProggyClean.ttf                          |   256 |    0 |  173 |    0 |
| RobotoMono-Regular.ttf                   |  1003 |    0 |   29 |  601 |
| ShareTechMono-Regular.ttf                |   267 |    0 |    0 |    0 |
| SourceCodePro-Regular.ttf                |  1568 |    0 |    2 |    0 |
| SpaceMono-Regular.ttf                    |   732 |    0 |    0 |   10 |
| TerminusTTF-4.49.2.ttf                   |  1358 |    0 |    2 |    0 |
| Tinos-Regular.ttf                        |  2583 |    0 |    0 |    0 |
| Ubuntu-R.ttf                             |  1266 |    0 |    0 |    0 |
| UbuntuMono-R.ttf                         |  1298 |    0 |    0 |    0 |
| VictorMono-Regular.ttf                   |  1331 |    0 |   12 |    0 |

Edit: Correct numbers down in most places (forgot to unref Refs)

@hasecilu
Copy link
Collaborator

Hope the magic works there! In theory that could cause rendering problems but if there are no people complaining we can expect there aren't that many problems in the wild, or not?

@Finii
Copy link
Collaborator Author

Finii commented Mar 18, 2024

Some bugs in glyphs are never noticed or only after a long time. I remember one, was that GO, that had all the paths in the same direction thus the icon was all black just showing the outline. Correcting the directions 'opened' to icon up.

And some other glyph, I believe this Rust mascot, showed differently depending on font renderer with white or black 'face'.

@Finii
Copy link
Collaborator Author

Finii commented Mar 18, 2024

Here is this mascot issue:

and this is another overview ;-D

image

@hasecilu
Copy link
Collaborator

The fixes are addressed in the fonts right? So would still be needed to address them on the svgs?

@Finii
Copy link
Collaborator Author

Finii commented Mar 18, 2024

$ fontforge bin/scripts/name_parser/check_glyphs patched-fonts/NerdFontsSymbolsOnly/SymbolsNerdFont-Regular.ttf 2>/dev/null | grep open
...
 E7B6 0008008B open           direction  uniE6B6

😬 Looks innocent

image

Ah...
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants