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

Bugfix some devicons icons #1779

Merged
merged 4 commits into from
Jan 8, 2025
Merged

Bugfix some devicons icons #1779

merged 4 commits into from
Jan 8, 2025

Conversation

Finii
Copy link
Collaborator

@Finii Finii commented Jan 6, 2025

Description

Some icons have problems, fix this manually in Inkscape.

Not all icons checked, just the ones that catched my eye on visual inspection.

Requirements / Checklist

  • Read the Contributing Guidelines
  • I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan.
    Issue number where discussion took place: #xxx
  • If this contains a font/glyph add its origin as background info below (e.g. URL)
  • Verified the license of any newly added font, glyph, or glyph set. License is: xxx

What does this Pull Request (PR) do?

How should this be manually tested?

Any background context you can provide?

What are the relevant tickets (if any)?

Screenshots (if appropriate or helpful)

@Finii
Copy link
Collaborator Author

Finii commented Jan 7, 2025

These are the fixed icons, apart from rust. Notice the green lines which are paths that have been removed because they are inside existing path. While fonts can work with this, and it is used with variable fonts always, in static fonts these can lead to rendering errors, especially on older renderers. And of course they are unneeded and/or crate selfintersecting paths, which are forbidden (but mostly tolerated by renderers).

The reason for these strange edges are a 'careless' conversion to monochrome (a.k.a. plain) upstream.
Automated tools are not always able to correctly remove these; but this feels here with these few icons it was not even attempted.

Also affected is upstream's ttf font, see image below.
The stylized letter B has this extra opening (?) with width almost? zero.

I feel I need to check all other icons systematically, these where just the visually conspicuous ones I found just by looking when fixing the PyTorch logo (see #1771). Some might follow later.

Ping to @Snailedlt from Devicons; I know you are no designer but maybe this is somehow interesting upstream.

image
Fixes (dropped path parts) shown green

image
Bug? in upstream's font file

@Finii
Copy link
Collaborator Author

Finii commented Jan 7, 2025

New list of icons to check manually:

nodejs - done
antdesign - done
cairo - ok
firebase -done
clojurescript - done
cosmosdb - done
mongodb - done
intellij - done
materializecss - done
datagrip - done
electron - done
figma - done
flask - done
goland - done
grpc - ok
hardhat - done
hibernate alignment - done
homebrew - done
jetbrains - done
karma - done
latex - done
matplotlib - done
maven - done
maya - done
nuxtjs - done
okta unreadable - done
portainer - done
postcss - done
puppeteer - done
putty? - ok
quarkus - done
qwik - done
scikitlearn - done
sdl - done
threejs - done
tomcat STILL? - done

@Finii
Copy link
Collaborator Author

Finii commented Jan 8, 2025

image
Examples of more fixes, green = removed

Finii added 3 commits January 8, 2025 01:52
[why]
A lot icons have visually obvious issues, small but visible.
Often the source is a color svg and someone just made them monochrome
for the plain version. But it is still different paths and not joined.
That can lead to small glitches with the fontforge svg import.

[how]
Manually inspect some icons and recreate a new plain icon wich consists
of one flat path.

For Plotly we also update to the current logo with circles as ...
circles and not some squiggly lines.

Tomcat and Zig also get plain variants which they lack upstream.

Fixes: #1771

Signed-off-by: Fini Jastrow <[email protected]>
[why]
Some part of the path is not interpreted as hole.

[how]
Recreate full path parts by first breaking apart and then recombining
the paths (manually in Inkscape).

Fixes: #1760

Signed-off-by: Fini Jastrow <[email protected]>
Mostly double-points or gaps or overlaps.
Manually fixed in Inkscape, mostly
* join-points
* path union
* path break-apart && path exclusion

Signed-off-by: Fini Jastrow <[email protected]>
$ fontforge generate 2>/dev/null

Reading mapping file
Found 496 entries

Unpacking Devicons archive

Mixing Vorillaz Devicons and possible fixes in
Found 1743 svgs
Using fixed svg for bitbucket-original.svg
Using fixed svg for akka-plain.svg
Using fixed svg for nodejs-plain.svg
Using fixed svg for angularjs-plain.svg
Using fixed svg for antdesign-plain.svg
Using fixed svg for awk-plain.svg
Using fixed svg for opera-plain.svg
Using fixed svg for bash-plain.svg
Using fixed svg for beats-plain.svg
Using fixed svg for nginx-plain.svg
Using fixed svg for yii-plain.svg
Using fixed svg for firebase-plain.svg
Using fixed svg for clojurescript-plain.svg
Using fixed svg for cosmosdb-plain.svg
Using fixed svg for mongodb-plain.svg
Using fixed svg for rust-original.svg
Using fixed svg for intellij-plain.svg
Using fixed svg for materializecss-plain.svg
Using fixed svg for datagrip-plain.svg
Using fixed svg for electron-plain.svg
Using fixed svg for figma-plain.svg
Using fixed svg for goland-plain.svg
Using fixed svg for googlecloud-plain.svg
Using fixed svg for graphql-plain.svg
Using fixed svg for hardhat-plain.svg
Using fixed svg for hibernate-plain.svg
Using fixed svg for homebrew-plain.svg
Using fixed svg for jetbrains-plain.svg
Using fixed svg for karma-plain.svg
Using fixed svg for kibana-plain.svg
Using fixed svg for latex-original.svg
Using fixed svg for livewire-plain.svg
Using fixed svg for llvm-plain.svg
Using fixed svg for materialui-plain.svg
Using fixed svg for matplotlib-plain.svg
Using fixed svg for maven-plain.svg
Using fixed svg for maya-plain.svg
Using fixed svg for nimble-plain.svg
Using fixed svg for norg-plain.svg
Using fixed svg for nuxtjs-plain.svg
Using fixed svg for okta-plain.svg
Using fixed svg for playwright-plain.svg
Using fixed svg for plotly-plain.svg
Using fixed svg for portainer-original.svg
Using fixed svg for postcss-original.svg
Using fixed svg for puppeteer-plain.svg
Using fixed svg for pytorch-original.svg
Using fixed svg for quarkus-plain.svg
Using fixed svg for qwik-plain.svg
Using fixed svg for sdl-plain.svg
Using fixed svg for sequelize-plain.svg
Using fixed svg for sqldeveloper-plain.svg
Using fixed svg for streamlit-plain.svg
Using fixed svg for threejs-original.svg
Using fixed svg for tomcat-plain.svg
Using fixed svg for vagrant-plain.svg
Using fixed svg for vuestorefront-plain.svg
Using fixed svg for woocommerce-plain.svg
Using fixed svg for zig-plain.svg
Generating devicons.ttf with 496 glyphs
Generating GlyphInfo i_dev.sh
Finished

Signed-off-by: Fini Jastrow <[email protected]>
@Finii Finii merged commit 64a59f1 into master Jan 8, 2025
4 checks passed
@Finii Finii deleted the bugfix/devicons branch January 8, 2025 01:11
@Finii Finii added this to the v3.4.0 milestone Jan 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant