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

Add font Monaspace #1403

Closed
Finii opened this issue Nov 9, 2023 · 40 comments · Fixed by #1405
Closed

Add font Monaspace #1403

Finii opened this issue Nov 9, 2023 · 40 comments · Fixed by #1405

Comments

@Finii
Copy link
Collaborator

Finii commented Nov 9, 2023

https://github.com/githubnext/monaspace

Version 1.0.0 just released.

It has an interesting idea to change the cell size visibly to make more room (if possible) for wide letters like m if they are next to small letters like i while keeping the cell grit intact.

image

@julien-blanchon
Copy link
Contributor

Is someone doing this issue ? Is it hard to do ?

@kraklin
Copy link

kraklin commented Nov 10, 2023

@julien-blanchon
Copy link
Contributor

@kraklin I made a PR

@redactedscribe
Copy link

redactedscribe commented Nov 10, 2023

PR: #1405

@Finii
Copy link
Collaborator Author

Finii commented Nov 10, 2023

Monaspace is a RFN.

The PR is filled in with false. Which is easy to correct, but

-=> We need a substitute name

As Monaspace is already a funny version of Monospace this is not so easy maybe.
Any ideas anyone?

@cyklee
Copy link

cyklee commented Nov 10, 2023

Any ideas anyone?

Nonaspace, Nanospace, Momaspace, Moonspace, Monaspice, Polyspace...

@kraklin
Copy link

kraklin commented Nov 10, 2023

Moonspace, LisaSpace, ManoSpace...

@julien-blanchon
Copy link
Contributor

I like MoonSpace

@loraderon
Copy link

loraderon commented Nov 10, 2023

Monabase or Monasbase

@redactedscribe
Copy link

redactedscribe commented Nov 10, 2023

  • Monaspaced
  • Leospace
  • Nardospace
  • Microspace
  • Monamono

@pradyunsg
Copy link

Given how "Mononoki" (another RFN font with a similar license) is handled, can we not do the same here and use "Monaspace Nerd Font"?

@Finii
Copy link
Collaborator Author

Finii commented Nov 10, 2023

Given how "Mononoki" (another RFN font with a similar license) is handled, can we not do the same here and use "Monaspace Nerd Font"?

Well, Nerd Fonts got an exemption from Mononoki's RFN license clause [1].
To keep the name we would need that also from Githubnext.
I know the pain but license conditions are license conditions unfortunately.

[1] #575 (comment)

@pradyunsg
Copy link

pradyunsg commented Nov 10, 2023

Oh, 100% -- I don't know enough to know what the right thing to do is. :)

In that case, should we @-mention one of the people on Githubnext's end to see if this is something that they'd grant an exception for?

@Finii
Copy link
Collaborator Author

Finii commented Nov 10, 2023

Dear @idan!

There is a overwhelming demand for your great new font Monaspace.
We here at Nerd Fonts take terminal fonts and add some useful-for-developer glyphs (icons) to it for a better developer experience. Command line tools like exa show on directory listings the icon for the file type for example.

We do not touch the existing glyphs (except is some rare cases we drop one-cell-wide fi ligatures etc), but only add glyphs in the PUA codepoint blocks.

Because Monaspace has the RFN in place we will of course rename the fonts after extending, for example Monaspace Xenon might become MonispaceXe Nerd Font. Of course it would be nicer if we would get the permission to republish the changed font with a changed name but with the RFN'ed parts still intact, like MonaspaceXenon Nerd Font or in places where that is too long MonaspaceXenon NF. Never will a modified font be published under the original name, we always append Nerd Font or NF (and remove the blank).

Maybe you and your team can consider this RFN exception with the additional condition that we will always add our name to the font names to make the distinction clear for users.

Any answer (negative or positive) is appreciated.

Thank you!

Fini

This is how the naming would come out, also note some warnings.

Nerd Fonts Patcher v3.0.2-115 (4.6.1) (ff 20230101)
DEBUG: Monospace check: Panose is invalid ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); glyph-width-mono True
INFO: Setting Panose 'Family Kind' to 'Latin Text and Display' (was 'Any')
INFO: Setting Panose 'Proportion' to 'Monospaced' (was 'Any')
INFO: Redistributing line gap of 400 (200 top and 200 bottom)
DEBUG: Final font cell dimensions 1240 w x 2400 h
DEBUG: =====> Family (ID 1)      ok       (25 <=31): MonaspaceXenon NFM Medium
DEBUG: =====> SubFamily (ID 2)   ok       ( 6 <=31): Italic
DEBUG: =====> Fullname (ID 4)    ok       (32 <=63): MonaspaceXenon NFM Medium Italic
DEBUG: =====> PSN (ID 6)         ok       (30 <=63): MonaspaceXenonNFM-MediumItalic
DEBUG: =====> PrefFamily (ID 16) ok       (29 <=31): MonaspaceXenon Nerd Font Mono
DEBUG: =====> PrefStyles (ID 17) ok       (13 <=31): Medium Italic
DEBUG: Changing flags from 0xB to 0x3
DEBUG: Changing lowestRecPPEM from 8 to 7

After merging

The ID16 changed to MonaspaceXenon NFM.

Edit: Add information on ID16 change

@idan
Copy link

idan commented Nov 10, 2023

I am super hyped for this and of course everyone immediately wanted nerdfont and powerline.

Recovering today from the launch, I will be back to figure this out next week!

@idan
Copy link

idan commented Nov 11, 2023

See also: githubnext/monaspace#24

@Finii
Copy link
Collaborator Author

Finii commented Nov 16, 2023

Maybe some of you want to try the patched font out, and report bugs. So we can fix the issues before release?

MonispaceNeonNerdFont.tar.xz.gz

Thank you!

P.S.: The archive is tar.xz for good compression and gz because Github does not support xz, sorry for the incenvenience

@sijad

This comment was marked as resolved.

@Finii
Copy link
Collaborator Author

Finii commented Nov 16, 2023

is Krypton version included?

No, as the name states that is Neon only. I thought one variant would be enough for tests? Is Krypton better?

@sijad
Copy link

sijad commented Nov 16, 2023

it looks great on Alacritty macOS

but fonts name appear like this on Font book app, I'm not sure if this is an issue:
image

@Finii
Copy link
Collaborator Author

Finii commented Nov 16, 2023

You mean Monispace instead of Monaspace, or Ne instead of Neon?
That is required until (if ever) we got the license issue (RFN) addressed.

Or NF instead of Nerd Font?

@sijad
Copy link

sijad commented Nov 16, 2023

Or NF instead of Nerd Font?

this

@Finii
Copy link
Collaborator Author

Finii commented Nov 16, 2023

Quite a lot of the fonts have NF (and NFM / NFP) in their name instead of the full length Nerd Font Propo etc.
The reason is that these fonts already have longish names and/or styles, and there is a (ridiculously short) length limit on font names. Although most software can work with longer names there is software out there that would not work with fonts with 'too long names'.

I guess that is not an for Neon, but Krypton will have small issues:

ERROR: ====-< Family (ID 1)      too long (33 > 31): MonaspaceKrypton Nerd Font Medium
DEBUG: =====> SubFamily (ID 2)   ok       ( 6 <=31): Italic
DEBUG: =====> Fullname (ID 4)    ok       (40 <=63): MonaspaceKrypton Nerd Font Medium Italic
DEBUG: =====> PSN (ID 6)         ok       (31 <=63): MonaspaceKryptonNF-MediumItalic
DEBUG: =====> PrefFamily (ID 16) ok       (26 <=31): MonaspaceKrypton Nerd Font
DEBUG: =====> PrefStyles (ID 17) ok       (13 <=31): Medium Italic

Fonts with some abbreviation mode active, Nerd Font becomes NF when the value is >= 4:

$ git grep makegroups
3270/config.cfg:config_patch_flags="--makegroups 2"
CascadiaCode/config.cfg:config_patch_flags="--makegroups 4"
FiraCode/config.cfg:config_patch_flags="--makegroups 2"
Hasklig/config.cfg:config_patch_flags="--makegroups 2"
IntelOneMono/config.cfg:config_patch_flags="--makegroups 4"
Iosevka/config.cfg:config_patch_flags="--makegroups 4"
IosevkaTerm/config.cfg:config_patch_flags="--makegroups 4"
IosevkaTermSlab/config.cfg:config_patch_flags="--makegroups 4"
JetBrainsMono/config.cfg:config_patch_flags="--makegroups 4"
MPlus/config.cfg:config_patch_flags="--makegroups 2"
MartianMono/config.cfg:config_patch_flags="--name filename --makegroups 5"
Monaspace/config.cfg:config_patch_flags="--makegroups 4"
Noto/config.cfg:config_patch_flags="--makegroups 5"
Overpass/config.cfg:config_patch_flags="--makegroups 2"
RobotoMono/config.cfg:config_patch_flags="--makegroups 3"
SourceCodePro/config.cfg:config_patch_flags="--makegroups 4"
Ubuntu/config.cfg:config_patch_flags="--makegroups 2"
UbuntuMono/config.cfg:config_patch_flags="--makegroups 2"
VictorMono/config.cfg:config_patch_flags="--makegroups 4"

@Finii
Copy link
Collaborator Author

Finii commented Nov 16, 2023

But you are right, maybe better just use mode 2 that shortens the styles moderately, as that seems enough:

DEBUG: =====> Family (ID 1)      ok       (30 <=31): MonaspaceKrypton Nerd Font Med
DEBUG: =====> SubFamily (ID 2)   ok       ( 6 <=31): Italic
DEBUG: =====> Fullname (ID 4)    ok       (37 <=63): MonaspaceKrypton Nerd Font Med Italic
DEBUG: =====> PSN (ID 6)         ok       (28 <=63): MonaspaceKryptonNF-MedItalic
DEBUG: =====> PrefFamily (ID 16) ok       (26 <=31): MonaspaceKrypton Nerd Font
DEBUG: =====> PrefStyles (ID 17) ok       (13 <=31): Medium Italic

I will check that out, thanks for bringing it up! :-)

Edit:

Ah no, ... you see... looks bad.
And I believe it does not make sense to change NF <-> Nerd Font only for some Nerd Font variants, so one needs to look on Nerd Font Propo always, which is quite a mouthful.

ERROR: ====-< Family (ID 1)      too long (36 > 31): MonaspaceKrypton Nerd Font Propo Med
DEBUG: =====> SubFamily (ID 2)   ok       ( 6 <=31): Italic
DEBUG: =====> Fullname (ID 4)    ok       (43 <=63): MonaspaceKrypton Nerd Font Propo Med Italic
DEBUG: =====> PSN (ID 6)         ok       (29 <=63): MonaspaceKryptonNFP-MedItalic
ERROR: ====-< PrefFamily (ID 16) too long (32 > 31): MonaspaceKrypton Nerd Font Propo
DEBUG: =====> PrefStyles (ID 17) ok       (13 <=31): Medium Italic

@jla2000
Copy link

jla2000 commented Nov 16, 2023

@Finii Are the variable fonts also supported? Or only the static ones?

@Finii
Copy link
Collaborator Author

Finii commented Nov 16, 2023

@jla2000 Nerd Font uses Fontforge which can not (really) work with variable fonts (VF). There is a loose plan to allow VF in the future but for this Fontforge needs to be exchanged to fonttools, and that is kind of a rewrite at least in some parts (i.e. will not come soon, unfortunately). (Can not find the relevant thread at the moment.)

Edit:

I believe it came up with Cascadia Code which is manually hinted in the VF. The static versions were once but are no more manually hinted and the ttfautohint results differ considerably from the manual hints. So people complain that the static Nerd Fonts version looks different to the default installed VF version 😬

@jla2000
Copy link

jla2000 commented Nov 17, 2023

Font looks nice btw in Windows Terminal 💯

@ntcong
Copy link

ntcong commented Nov 17, 2023

@Finii the font does not support full Vietnamese character set like the original font
image

@Finii
Copy link
Collaborator Author

Finii commented Nov 17, 2023

@ntcong Ugg!?!! I will check, thanks for reporting. Can you give me some copy and paste text that should work?

@ntcong
Copy link

ntcong commented Nov 17, 2023

Here a few word and a (should be) complete set of character

Nguyễn Việt Nam
Hà Nội
aAàÀảẢãÃáÁạẠăĂằẰẳẲẵẴắẮặẶâÂầẦẩẨẫẪấẤậẬbBcCdDđĐeEèÈẻẺẽẼéÉẹẸêÊềỀểỂễỄếẾệỆ
fFgGhHiIìÌỉỈĩĨíÍịỊjJkKlLmMnNoOòÒỏỎõÕóÓọỌôÔồỒổỔỗỖốỐộỘơƠờỜởỞỡỠớỚợỢpPqQrRsStTu
UùÙủỦũŨúÚụỤưƯừỪửỬữỮứỨựỰvVwWxXyYỳỲỷỶỹỸýÝỵỴzZ

@idan
Copy link

idan commented Nov 17, 2023

Update from our end: alas, like other commercial fonts, we have to get Legal involved because Nerdfont has lots of logos of businesses. I have a hard time forecasting how long this is going to take.

But the good news is that there might be some work already happening for Cascadia Code (also MSFT) which we might be able to follow in the footsteps of. Stay tuned, just wanted to let you know that we're trying to figure this out!

In the meanwhile, I understand that folks are going to produce patched versions. I hope one day to make the patched versions obsolete! Stay tuned.

@Finii
Copy link
Collaborator Author

Finii commented Nov 17, 2023

@idan Thanks for the feedback! Yes I also had discussions about this with Aaron already ;-)

I think for the time being we need to do a rename. Do you have any preference as name?
You find some suggestions above. I choose Monispace for the working drafts as that changes just one character and sounds similarish.
The noble gasses are substituted by their usual abbreviations, I guess that is the best solution.

@Finii
Copy link
Collaborator Author

Finii commented Nov 19, 2023

Monaspace

  1. Nonaspace
  2. Nanospace
  3. Momaspace
  4. Moonspace
  5. Monaspice
  6. Polyspace
  7. LisaSpace
  8. ManoSpace
  9. Monabase
  10. Monasbase
  11. Monaspaced
  12. Leospace
  13. Microspace
  14. Monamono
  15. Monispace

Other renames we do

RFN renamed
AnkaCoder AnaConder
Anonymous Anonymice
Bitstream Vera Bitstrom Wera
Cascadia Caskaydia
Hermit Hurmit
Hasklig Hasklug
Plex Blex
IntelOne Intone
Share Shure
Liberation Literation
Source Sauce
Terminus Terminess

I asked around and most people found Monaspice the nicest and best pun.
Adapting the PR.

@Finii
Copy link
Collaborator Author

Finii commented Nov 19, 2023

Big thanks to all who suggested names: @cyklee @kraklin @loraderon @redactedscribe

💚

@firasrb
Copy link

firasrb commented Nov 21, 2023

@Finii Sorry, I know that this is closed, but just a heads up: The link to Monaspice from the main page is broken. It directs to the following url, which gives a 404.: https://github.com/ryanoasis/nerd-fonts/blob/master/patched-font/Monaspace

@thewinger
Copy link

@firasrb I think it will be in next release (3.1.0)

@Finii
Copy link
Collaborator Author

Finii commented Nov 21, 2023 via email

@Logerfo
Copy link

Logerfo commented Nov 21, 2023

Am I doing something wrong? Here's my terminal.integrated.fontFamily (vscode) and the results:

FiraCode NFM Retina

image

MonaspiceNe NFM

image

@redactedscribe
Copy link

redactedscribe commented Nov 21, 2023

Is it just me or does Monaspice look like it's always emboldened?

(Monaspice on the left with FiraCode for comparison):

VSCodium_2023-11-21_21-35-04 VSCodium_2023-11-21_21-35-49

I downloaded Monaspice via the scoop-nerd-fonts Scoop bucket. Haven't used the official non-patched Monaspace so I can't say if this is expected.

The Monaspice font used is MonaspiceNe NFM.

@Finii
Copy link
Collaborator Author

Finii commented Nov 21, 2023

Please, create a regular issue if you have an issue.
Transferred the two above to separate issues.
Locking this thread, sorry.

Repository owner locked as off-topic and limited conversation to collaborators Nov 21, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.