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

feat(font): add Departure Mono #1709

Merged
merged 4 commits into from
Nov 17, 2024
Merged

feat(font): add Departure Mono #1709

merged 4 commits into from
Nov 17, 2024

Conversation

rektdeckard
Copy link
Contributor

Description

This patch adds the Departure Mono monospaced pixel font.

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: SIL OFL 1.1

What does this Pull Request (PR) do?

Adds the Departure Mono font and documentation.

How should this be manually tested?

Using the patcher scripts to test locally.

Any background context you can provide?

My partner Helena Zhang is the creator of the font, and supports this use!

What are the relevant tickets (if any)?

N/A

Screenshots (if appropriate or helpful)

Screenshot 2024-09-01 at 12 40 37 AM

@rektdeckard
Copy link
Contributor Author

Hi @Finii, hadn't discussed this with you yet, but hoping you are open to adding Departure Mono! It's a new font, but given the rate of adoption we have seen since launch, I believe it is merited. I am already using a self-patched version in my terminal and editor, as are many others.

Let me know if there's anything else I can do to get this PR merged!

@m-ahdal
Copy link

m-ahdal commented Sep 25, 2024

This would be a wonderful addition. I personally know many programmers also manually patching the font (myself included)

@tmahmood
Copy link

tmahmood commented Oct 7, 2024

Yes! Waiting for it to get merged.

@Finii Finii added this to the v3.3.0 milestone Oct 8, 2024
@Finii
Copy link
Collaborator

Finii commented Oct 10, 2024

Thank you 💚

Need to get the release out, started to work through the still open Issues and got sidetracked 😬

rektdeckard and others added 2 commits October 22, 2024 00:46
Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
@Finii
Copy link
Collaborator

Finii commented Nov 17, 2024

Painless patching:

$ fontforge font-patcher src/unpatched-fonts/DepartureMono/DepartureMono-Regular.otf --debug 2 --complete 2>/dev/null
Nerd Fonts Patcher v3.2.1-75 (4.14.4) (ff 20230101)
DEBUG: Naming mode 1
DEBUG: Monospace check: Panose says "monospaced"; glyph-width-mono True
DEBUG: Final font cell dimensions 350 w x 700 h
DEBUG: 28/160 box drawing glyphs will be replaced
Adding 188 Glyphs from Seti-UI + Custom Set
╢████████████████████████████████████████╟ 100%
Adding 6 Glyphs from Heavy Angle Brackets Set
╢████████████████████████████████████████╟ 100%
Adding 160 Glyphs from Box Drawing Set
╢████████████████████████████████████████╟ 100%
Adding 198 Glyphs from Devicons Set
╢████████████████████████████████████████╟ 100%
Adding 3 Glyphs from Powerline Symbols Set
╢████████████████████████████████████████╟ 100%
Adding 4 Glyphs from Powerline Symbols Set
╢████████████████████████████████████████╟ 100%
Adding 1 Glyphs from Powerline Extra Symbols Set
╢████████████████████████████████████████╟ 100%
Adding 21 Glyphs from Powerline Extra Symbols Set
╢████████████████████████████████████████╟ 100%
Adding 1 Glyphs from Powerline Extra Symbols Set
╢████████████████████████████████████████╟ 100%
Adding 10 Glyphs from Powerline Extra Symbols Set
╢████████████████████████████████████████╟ 100%
Adding 1 Glyphs from Powerline Extra Symbols Set
╢████████████████████████████████████████╟ 100%
Adding 11 Glyphs from Pomicons Set
╢████████████████████████████████████████╟ 100%
Adding 1475 Glyphs from Font Awesome Set
╢████████████████████████████████████████╟ 100%
Adding 170 Glyphs from Font Awesome Extension Set
╢████████████████████████████████████████╟ 100%
Adding 4 Glyphs from Power Symbols Set
╢████████████████████████████████████████╟ 100%
Adding 1 Glyphs from Power Symbols Set
╢████████████████████████████████████████╟ 100%
Adding 6896 Glyphs from Material Set
╢████████████████████████████████████████╟ 100%
Adding 228 Glyphs from Weather Icons Set
╢████████████████████████████████████████╟ 100%
Adding 118 Glyphs from Font Logos Set
╢████████████████████████████████████████╟ 100%
Adding 169 Glyphs from Octicons Set
╢████████████████████████████████████████╟ 100%
Adding 1 Glyphs from Octicons Set
╢████████████████████████████████████████╟ 100%
Adding 1 Glyphs from Octicons Set
╢████████████████████████████████████████╟ 100%
Adding 139 Glyphs from Octicons Set
╢████████████████████████████████████████╟ 100%
Adding 439 Glyphs from Codicons Set
╢████████████████████████████████████████╟ 100%
Done with Patch Sets, generating font...
DEBUG: Weight approximations: OS2/PS/Name: 400/400/400 (from 400/'Regular'/'Regular')
DEBUG: =====> Family (ID 1)      ok       (23 <=31): DepartureMono Nerd Font
DEBUG: =====> SubFamily (ID 2)   ok       ( 7 <=31): Regular
DEBUG: =====> Fullname (ID 4)    ok       (23 <=63): DepartureMono Nerd Font
DEBUG: =====> PSN (ID 6)         ok       (23 <=63): DepartureMonoNF-Regular
DEBUG: Tweaking 1/1
DEBUG: Changing flags from 0xB to 0x3
DEBUG: Changing lowestRecPPEM from 8 to 7
   DepartureMono Nerd Font
   \===> 'DepartureMonoNerdFont-Regular.otf'
$ fontforge font-patcher src/unpatched-fonts/DepartureMono/DepartureMono-Regular.otf --debug 2 --dry --vari 2>/dev/null
Nerd Fonts Patcher v3.2.1-75 (4.14.4) (ff 20230101)
DEBUG: Naming mode 1
DEBUG: Final font cell dimensions 350 w x 700 h
DEBUG: 28/160 box drawing glyphs will be replaced
Done with Patch Sets, generating font...
DEBUG: Weight approximations: OS2/PS/Name: 400/400/400 (from 400/'Regular'/'Regular')
DEBUG: =====> Family (ID 1)      ok       (29 <=31): DepartureMono Nerd Font Propo
DEBUG: =====> SubFamily (ID 2)   ok       ( 7 <=31): Regular
DEBUG: =====> Fullname (ID 4)    ok       (29 <=63): DepartureMono Nerd Font Propo
DEBUG: =====> PSN (ID 6)         ok       (24 <=63): DepartureMonoNFP-Regular
DEBUG: =====> Filename 'DepartureMonoNerdFontPropo-Regular.otf'

Hope they will not add 'special' weights, as ID1 is already on the length limit. Maybe switch already now to another naming mode 🤔 But then I see no Issue upstream no nothing, probably ok and the name is nicer how it is now.

@Finii
Copy link
Collaborator

Finii commented Nov 17, 2024

Spot checked the GSUBs, seem all to be unproblematic

image

Preexisting boxdrawing glyphs will be replaced by full set from NF:

image

@Finii Finii merged commit 5671ad0 into ryanoasis:master Nov 17, 2024
@rektdeckard
Copy link
Contributor Author

Thanks for merging! Excited to use it officially :)

I do wish there was a way to keep our block elements and shading characters intact, as they're pretty unique to our font...but I understand that NF makes some promises there WRT consistent graphical characters.

@Finii
Copy link
Collaborator

Finii commented Nov 18, 2024

Yes.

But the cell size might change on patching, so that the shading elements are not big enough anymore, or too big. I did not check.
The block drawing glyphs, well, they must fit in height/position and thickness to all the other ones that are missing, which seems to be ... unrealistic.

image

The patcher script checks if the complete set is existing, and if so the original glyphs are kept (and just rescaled to the new cell size, if the cell size changed). If one is missing all are replaced.

@Finii
Copy link
Collaborator

Finii commented Nov 18, 2024

On the other hand, it is really easy for Helena to just add the missing glyphs. A partial set is not very useful anyhow.

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.

4 participants