[why]
On Windows an absolute path can start with the drive letter followed by
a colon. When we sanitize the pathname the colon is replaced by an
underscore.
[how]
Add special handling on Windows.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Some user reported a unicode decoding issue.
[how]
Usually it should work but when the system has some strange setting the
datafile might be interpreted as something else (not utf8).
When the file is opened as binary it should be decoded as utf*.
Possibly fixes: #1761
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Although Python can handle a mixture of Windows and Posix path
separators we should use the system one if possible.
[how]
Use os.join()
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
It can be easier to search through a alphabetically sorted list.
[how]
Sort the argument lists alphabetically within their section.
Also make the long form the main form.
The `-ext` and `-out` are still a wart as they are long forms that do
not start with a douple-dash :-/
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
I again had to look the reason for the code up, which just looks
strange. Who expects that a bool is an instance of int? I certainly not.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
EXPERIMENTAL
[why]
Sometimes users want to tweak the cell sizing or the baseline to
baseline distance, or the middle point of the cell.
[how]
Add a new option to show the 'cell' box and to override the detected
one. It is not sufficient to adjust width and height, because that can
not define shifts of the cell up/down (left/right is mostly useless and
I believe the code does not work if the xmin is not zero).
The smaller icon-height is not used here (affecting only --mono) because
that seems to compilcated right now.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
This can help if you want monospaced icons but not-force the other
glyphs to be monospaced (which we do to make the whole font
monospace-detectable which was a major issue in the beginning, esp with
Windows).
[how]
Add option --single-width-glyphs that makes the added glyphs single
width (like --mono), but leaves preexisting glyphs untouched.
Fixes: #1772
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
There are three possible options to specify the Nerd Font Mono generation:
-s
--mono
--use-single-width-glyphs
All the three are handled the same.
In order to add a new long option that also handles glyph width in a "single"
cell manner the fear is that two too similar options will confuse users.
[how]
Just hide the longest form.
Also remove from the readme files.
Need to adapt the install.sh script.
(The option still works but is not 'advertised'.)
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
This file had been used to collent and calculate the number of icons
with the last release. It can be reused for the next release to easen up
the data collection.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The version number of the deficons.ttf did not change but the glyphs got
modified.
[how]
The version number is manual anyhow, so use a `git describe --tags` like
descriptor. That can also stay for example when/after 3.4.0 is released.
[note]
Skipping zip creation because another MR will be pulled soon and we can
reduce the repo size by having fewer changed files (i.e. the zip).
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
$ 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 <ulf.fini.jastrow@desy.de>
[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 <ulf.fini.jastrow@desy.de>
[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 <ulf.fini.jastrow@desy.de>
We keep the Seti css logo, as the abstract hash tag is prone to 'misuse'
for other purposes and an update of the logo would break it. Anyhow CSS
shield is the current logo before the newly added one, and anyone who
used the Seti css logo (i.e. hash tag) would probably mean something
entirely different.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Fontforge's cvs import sometimes struggles (hard) on transforms.
[how]
Apply the transform before saving. It's not that we want to edit it
anyhow, so no reason to keep that abstraction.
Also remove some meta-information.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
Some bash scripts we have need bash version 4 or better. For example native
arrays where added with that version in 2009.
Unfortunately Apple decided to keep a very very old version of bash in
their setup which will not work.
[how]
Add information on needed bash version at least in the readme file.
We could now rewrite all scripts to work with bash 3; I tried that but that
is a tremendous amount of work and I guess the time is spent better on some
real problems; especially because only a small number of users are affected
and they could also just switch to recent bash version.
We could also add checks for the bash version to the scripts. This is not
done here.
[note]
Also remove obsolete explanatory entry; that subdir has been deleted.
Fixes: #1680
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
When the icon sets have changed (added or names changed) the i_*.sh
files are (hopefully) up to date, but the glyphnames.json file is only
updated on release.
Unfortunately the font-patcher uses the glyphnames.json to determine the
patched-in glyphs' names, but in the workflow the json file is only
updated after all fonts have been patched.
[how]
Like the version number in the font-patcher file we also create a
transient glyphnames.json in each patching job, that the font-patcher
can then utilize.
Still the in-repo glyphnames.json is only updated after successful
release. So in pinciple we call the generate-css.sh (which also
generates the glyphnames.json) once for every font in the font matrix
(just before patching) and then finally after all patching has been done
again and that is committed back to the repo.
Fixes: #1745
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The script is extremely slow.
[how]
Instead of spawning a new subshell for each glyph (to determine the
codepoint of a char), execute the printf within the current shell.
Before:
./generate-css.sh 25,06s user 33,26s system 101% cpu 57,414 total
After:
./generate-css.sh 1,89s user 0,50s system 102% cpu 2,330 total
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
No options changed, but it just looks better to have a more recent
version number in the example.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
With the latest release the numbers were just changed (in the svg) but
the flow graph stayed the same. The relative proportions can now look a
bit out of place.
[how]
Completely regenerate the graph from the Sankey generator.
Afterwards some manual adjustments to get the color and the position
right (in Inkscape).
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
[why]
The main readme is already too big anyhow.
We should extract topics into sub-pages rather than adding more.
[how]
Use the Wiki instead and link the Wiki clearly, with entries in the TOC.
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>