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 more Emoji characters in fonts distributed with the app #439

Closed
eshapard opened this issue Jan 20, 2022 · 9 comments
Closed

Add more Emoji characters in fonts distributed with the app #439

eshapard opened this issue Jan 20, 2022 · 9 comments
Labels
enhancement New feature or request

Comments

@eshapard
Copy link

eshapard commented Jan 20, 2022

Hey there, Just downloaded v1.10.1 and one of my icons that displayed in previous versions (1.4.1 seems to be displaying it just fine) does not display.

🦜 It's this nice little parrot here.

In v1.10.1, I tried downloading the fonts that previously came bundled with lagrange, and setting them as the body font one-by-one, but strangely that didn't fix it.

Using 'Nunito' as the body font on v1.4 displays the 🦜, but 'Nunito' on v1.10 doesn't.

Any ideas?

@skyjake skyjake added the enhancement New feature or request label Jan 21, 2022
@skyjake skyjake changed the title Parrot glyph not rendering Add more Emoji characters in fonts distributed with the app Jan 21, 2022
@skyjake
Copy link
Owner

skyjake commented Jan 21, 2022

Many of the Emoji characters came from the Symbola font but in Lagrange v1.5 it was removed due to the font's restrictive license (personal use only).

One solution to missing characters is to use system fonts (#195), but I've yet to start work on that. Another solution is to use different fonts, but unfortunately there doesn't seem to be a black & white Emoji vector font available anywhere. I've been slowly working on my own: Smol Emoji.

Newer versions of Symbola are available, but in OpenType format only. If one were to download it for their own personal use, one will still have to convert it to TrueType before it can be installed for use in Lagrange.

@eshapard
Copy link
Author

Thanks skyjake! I just noticed the release notes for 1.5 mention the font issue. I'll look into symbola for personal use. :-)

@skyjake
Copy link
Owner

skyjake commented Jan 21, 2022

I wrote a little shell/Python script to help with this: https://git.skyjake.fi/gemini/font-library/src/branch/main/build/get_symbola.sh

@eshapard
Copy link
Author

You're awesome, dude!

@skyjake
Copy link
Owner

skyjake commented Jan 24, 2022

v1.10.2 has a few more emoji, including this little guy:
Screen Shot 2022-01-24 at 14 28 24

@eshapard
Copy link
Author

Sweet! I'm a big fan of Lagrange! Thanks!

By the way, is there a technical reason why Lagrange is limited to black and white emojis, or was that just a style preference?

@skyjake
Copy link
Owner

skyjake commented Jan 26, 2022

It's a bit of both, although mostly technical. I'm using stb_truetype to rasterize glyphs. It's a pretty amazing single-header library with no additional dependencies, which makes it perfect for Lagrange, but the downside is that it doesn't support color/bitmap glyphs or more advanced OpenType fonts. Personally I like monochrome vector fonts as they can be colored according to the overall page/UI theme and rendered in any resolution.

@skyjake
Copy link
Owner

skyjake commented Apr 6, 2022

Closing as this is more of a long-term project. Workarounds include installing the GNU Unifont (includes Unicode 14) from the Lagrange font library, and future system font rendering.

@skyjake skyjake closed this as completed Apr 6, 2022
@skyjake
Copy link
Owner

skyjake commented May 1, 2022

There's a new Noto Emoji OFL font that's looking quite nice / mostly OK: 🎉 https://fonts.google.com/noto/specimen/Noto+Emoji/about

I'll bundle the new one to cover all Emoji up to Unicode 14, keeping the old fonts plus Smol Emoji as those glyphs have a nicer/familiar appearance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants