Commit graph

2320 commits

Author SHA1 Message Date
Fini Jastrow
f29c62ab17 standardize-and-complete-readmes: Allow to link releases
[why]
Some fonts will not be released to the repo; but only exist patched as
release atrifacts. This needs adapted readmes.

[how]
If such a font is encountered direct links to the release archives are
put into the readme file.

Decide based on information in the font.json file.

If no info is found in the json file (i.e. all existing fonts) it
defaults to release-also-to-repo behavior.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
a2bd75865a standardize-and-complete-readmes: Simplify code
[why]
We have a lot duplicated code here.

[how]
As the to and to-dir never changes we can assign that outside all the if
cases.
We can also always just add the extra information to the (only one,
independent of number of incoming data files) output after all the ifs.

Note that this also adds the extra information if we had no readme at
all. Previous code would not add anything to that (for whatever reason).

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
ebdcc0b746 IntelOne: Correct minor settings glitches
* The programmingfonts.org link was wrong
* The description has to be in abbreviated style

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
db9a71a270 generate-font-image-previews: Update Inkscape calls
[why]
Verbs have been dropped from Inkscape with version 1.2

[how]
Use actions instead. I'm not sure how well that works with older
Inkscapes now, but ... sigh

[note]
Also add missing helper for font filenames for Intel One Mono.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
74d6475c19 IntelOne: Change naming mode
[why]
-makegroups 0 is not a valid naming mode for releases. The mode is
deprecated and will be removed. Furthermore the mode can produce broken
patched fonts.

[how]
Mode 1 and 2 are too long for some NFP in the family name, so use mode 4.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
83dd4908d4 IntelOne: Unify README
[why]
We do not (try to) copy the upstream webpage, but instead link it.

Also add version information (well, there is no difference between
1.2.0 and 1.2.1, but 1.2.1 is the latest right now).

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
d3181df01f name-parser: Add IntelOne replacement to SIL table
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
bac7332702 name-parser: Sort SIL table
No functional change

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Fini Jastrow
ee7ef924e2 IntelOne: Remove prepatched fonts
[why]
Patching process is unknown.
Patching has to be done by the CI.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-26 15:02:27 +02:00
Dennis Prazak
5d85a45a93 Add Intel One Mono 2023-07-26 15:02:27 +02:00
Finii
9eec949c02 [ci] Update FontPatcher.zip 2023-07-19 09:47:44 +00:00
Fini Jastrow
12b51f51e2 font-patcher: Allow blanks in '--name'
[why]
If a user specified a name we should probably not camel-casify it.

Fixes (idea mentioned in): #1319

Suggested-by: HUMORCE
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-19 11:41:03 +02:00
Finii
e181ef99c2 [ci] Update FontPatcher.zip 2023-07-17 10:00:52 +00:00
Fini Jastrow
64cf3e9d93 font-patcher: Add option to select postscript name as name source
[why]
In the post we used these information sources to determine the name and
weights/styles of the to-be-patched font:
* The filename
* The fullname (ID 4)
* The postscriptname (ID 6)

Usually it is best to use the Fullname of a font to determine its real
name and styles/weights:

The Postscript name has the advantage to have a hyphen between name and
styles/weight; but as it can not contain blanks the correct name can not
be determined by this. To get the styles/weights back we use a list of
all possible (?!) weights and styles and sort all the string parts.

This works reasonably well and the fullname is usually best.

Not so with Input Mono Condensed. Here are its names:
ID4: "InputMonoCondensed LightIta"
IF6: "InputMonoConsensed-LightItalic"

[how]
Add option to select between fullname and postscriptname as font naming
source.

For special purposes, also allow a custom (arbitrary) name input.
If that is given the specified name will be used to name the patched
font without adding any suffix - the user has full control on the name.

Fixes: #1314

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-17 11:58:21 +02:00
Fini Jastrow
2f5c6ab6c6 font-patcher: Correct --makegroups help
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-17 11:58:21 +02:00
Fini Jastrow
98c14701b0 font-patcher: Fix command line argument specs
[why]
A lot arguments need one user supplied value, but that is not enforced.
For example
    font-patcher src/unpatched-fonts/Agave/Agave-Regular.ttf --out

results in a crash, because the needed output directory has not been
passed, but the default is also not used.

The problem is that the option is defined to take any amount of values,
includeing zero values (and more than one value).
That all does not make sense. The switch does need exactly one value.

[how]
Remove the wrong nargs specification. Instead use the default, which is
'expect one value' for the default action 'store'.

Instead of a crash the user is now presented with this output:
    font-patcher: error: argument -out/--outputdir: expected one argument

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-17 11:58:21 +02:00
Fini Jastrow
ad8ee0ce2c Add Envy Code R patched
We still have no solution for releasing not in-repo.
"One last time"...

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-15 19:33:55 +02:00
Fini Jastrow
0eef3a89f9 complete-readmes: Do not detect blanks as "name change"
[why]
When we rename "Envy Code R" to "EnvyCodeR" this is detected as RFN
relevant name change, which it is not.

[how]
Compare the blank removed lower cased names.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-15 19:33:55 +02:00
Fini Jastrow
57f17e23bc Add font: Envy Code R (fix)
[why]
Forgotten change

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-15 19:33:55 +02:00
Fini Jastrow
9512cddd4f Add font: Envy Code R
The font has RFN, but we are allowed to use the patched name
"Envy Code R Nerd Font", see PR #1318.

Thanks go to Damien Guard!

Fixes: #1205

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-15 15:17:39 +02:00
Samuel Born
817f4d6214 Add "curl latest release" to download options 2023-07-15 12:03:38 +02:00
Finii
5ae07aba04 [ci] Rebuild original-source font 2023-07-15 12:02:37 +02:00
Fini Jastrow
17e6b6bc21 Custom: Update Windows logo to 11
[why]
The new logo is in effect for some time now.

Fixes: #1266

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-15 12:02:37 +02:00
Fini Jastrow
28f5657782 archive-fonts: Unify README handling
[why]
The readmes in the zip and tar.xz archives differ. The zips have only a
very small and generic `readme.md`. The tar.xz have that readme as well as
the `README.md` from the patched-fonts/ directory. This should be the same
for both.

To have two files with names that just differ in case (`readme.md` and
`README.md`) can be problematic on some platforms.

[how]
Combine both readmes into one file - put the generic info in the top of
the readme.

Also include the RELEASE_VERSION if known into the readme. That makes it
more easy to identify which Nerd Font release that archive came from.

RELEASE_VERSION is set in the release workflow.

Fixes: #1284

Reported-by: Jan Klass <kissaki@posteo.de>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-15 12:00:52 +02:00
Fini Jastrow
c173f661a0 docker: Transport return code to outside
Fixes: #1316

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-11 22:34:10 +02:00
Fini Jastrow
c0d9a22d5f Add InconsolataGo programmingfonts link
Fixes: #1313

Reported-by: Koen Lageveen <braver>
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-06 10:53:16 +02:00
Fini Jastrow
be013e5987 Add GohuFont programmingfonts link
Thanks to Koen Lageveen <braver>

Fixes: #1312

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-07-05 12:14:25 +02:00
Ryan L McIntyre
ef2ff04a3e
Update backers.md [skip ci] 2023-06-22 08:47:17 -07:00
Fini Jastrow
12bf79d5fe font-patcher: Fix unify logging calls [skip ci]
[why]
The debug messages appear two times.

[how]
Do not use the root logger as we can not get rid of it afterwards.
Instead set up a normal logger just for the startup and forget it after
we have a proper logger.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-14 08:39:14 +02:00
allcontributors[bot]
7039b474ca docs: update CONTRIBUTORS.md 2023-06-08 15:24:39 +02:00
allcontributors[bot]
25eb3a672b docs: update .all-contributorsrc 2023-06-08 15:24:39 +02:00
senketsu03
bd900fc380 Update readme_ru.md 2023-06-08 15:17:40 +02:00
Fini Jastrow
df626d3440 font-patcher: Unify logging calls [skip ci]
[why]
Usually the variable `logger` holds the logger object and all logging
calls got through that.

But because we use the font filename as loggername that logger object
can only be set up after the arguments have been parsed. If some
messages are to be logged before the call needs to go to the root logger
called as `logging` class.

This means one needs to take `logger` or `logging` based on the time
when someting is to be logged. That can be confusing and is easily
wrong, especially if code is shifted.

[how]
Always use the `logger` variable and just let that point to the root
logger until we set up a concrete logger.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-06 08:31:57 +02:00
lolicon0930
d3856031c8 Fix typo in font-patcher. 2023-06-06 08:31:57 +02:00
Fini Jastrow
0726e5e229 doc: Fix changelog missing item
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-05 12:47:55 +02:00
Fini Jastrow
f64ff337ac CI: Fix casks workflow
[why]
The dowload turns up empty. This is because we specify a glob while we
need to specify a regex.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-05 12:30:06 +02:00
allcontributors[bot]
8b30338b7b docs: update .all-contributorsrc 2023-06-05 12:17:46 +02:00
allcontributors[bot]
e1f2386016 docs: update CONTRIBUTORS.md 2023-06-05 12:17:46 +02:00
Fini Jastrow
d9fcdd350a Fix .all-contributorsrc [skip ci]
[why]
I broke it by manually editing with this commit:
  86b35c9d5  Add N-R-K as contributor manually

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-05 12:16:53 +02:00
Fini Jastrow
89375a650e CI: Prepare for update casks workflow run [skip ci]
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-05 12:09:20 +02:00
Fini Jastrow
d4cbb31397 Update changelog to v3.0.2 (and readme)
Drop the detailed translations because I can not keep this up to date
anyhow. Having the current options in the readme is more important I
guess. This whole translation business is a problem on its own and not
solved.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-05 12:02:16 +02:00
Finii
e19f06ddc8 [ci] Regenerate CSS files 2023-06-04 20:45:34 +00:00
Finii
9be4cddc86 [ci] Rebuild patched fonts 2023-06-04 20:36:21 +00:00
Finii
ef6fe05754 [ci] Bump release version 2023-06-04 20:32:30 +00:00
Fini Jastrow
53506dc7b5 Trigger Release 3.0.2
This is again a workflow release, after v3.0.0 and v3.0.1 which were
fully manual. Hopefully the workflow still works.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-04 18:24:10 +02:00
Finii
4151c12de9 [ci] Update FontPatcher.zip 2023-06-04 11:27:29 +00:00
Fini Jastrow
8fc3a7c15a font-patcher: Add option to suppress renaming
[why]
Sometimes a user might want to keep the original name.

This is escpecially true as Visual Studio seems to look at the font
names directly and enables special handling for 'Cascadia Code'.
Users might want to self-patch without renaming.

[how]
Add additional value to makegroups option.

That option should probably be renamed into 'naming scheme' or
something, as it is not really a fitting description of what it does.

Fixes: #1242 (some aspect of it)

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-04 13:24:52 +02:00
Fini Jastrow
decb6d0e3d font-patcher: Fix crash when no xavgwidth data available
[why]
When we did not collect xavgwidth data for some font and want to tweak
it the font-patcher crashes.

[how]
Check if we have a number before accessing it in the array.

[note]
This happens when font_patcher.patch() has not been called.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-04 13:24:52 +02:00
Fini Jastrow
7a31c67670 font-patcher: Fix wrong data source
[why]
For tweaking we use the self.sourceFont, but in the loop the real
correct value is the local sourceFont. Usually it's the same, but from a
logical standpoint this is wrong.

The name is a bit unfortunate and C++ would have generated a warning.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-04 13:24:52 +02:00
Fini Jastrow
3ecf7f1ef8 font-patcher: Fix incomplete separation of naming and patching
[why]
The font_patcher object should be self contained, and code outside of it
should not depend on stuff done within it that does not have to do
anything with patching.
In fact the code should run even if font_patcher.patch() has not been
called.

[how]
Pull name backup out of the patching process.

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
2023-06-04 13:24:52 +02:00