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

Iosevka Customizer website feature request: Ability to generate & download the font based on the variants chosen in ZIP archive. #2204

Open
ToddIndry37 opened this issue Feb 17, 2024 · 15 comments
Labels

Comments

@ToddIndry37
Copy link

Hi! I think customizing the Iosevka with different style variants is really cool & fun, but there is missing something. Maybe you can add ability to generate the font variants that user chosen & download the customized Iosevka into ZIP archives. This request was inspired from Commit Mono's customize webpage that they could download their own customized Commit Mono without generating them manually. I mean, not all people could generate their customized Iosevka without setting up NPM & the whole stuff to get started.

screenshot-1708147098602

@be5invis
Copy link
Owner

If @lemzwerg provides a WASM version of ttfautohint then I could probably make it...
However, building Iosevka without a cache is very slow. Your browser may freeze for hours for an ab-initio build.

@lemzwerg
Copy link

Well, I won't provide a WASM version by myself but I invite interested parties to work on that...

@ToddIndry37
Copy link
Author

ToddIndry37 commented Feb 17, 2024

Oh, I see there. Maybe some folks probably could contribute their WASM version of ttfautohint to this though, hopefully.

Also, I'll keep this open until some folks might gonna contribute WASM of ttfautohint to this project.

@ToddIndry37
Copy link
Author

ToddIndry37 commented Feb 21, 2024

Hey @be5invis, I think I found a thing for probably for my suggestions. I think you're interested with FontFreeze. It's similar to the Iosevka Customizer & that Commit Mono's customize webpage, but it can generate the font without compromising user's browser cache & automatically downloads the results.

Maybe you can modify the code just for generating & download those results for your Iosevka font customization webpage.

@be5invis
Copy link
Owner

@ToddIndry37 Iosevka's variant selector system is VERY COMPLICATED and require a lot of fine programming of the GSUB (like, it will decompose all the letters with diacritics...), so conventional font "freezer" won't work.

@ToddIndry37
Copy link
Author

ToddIndry37 commented Feb 21, 2024 via email

@AndydeCleyre
Copy link

FWIW I have a git repo who's purpose is to ease having GitHub Actions build Iosevka for you, and can be used with the output of the customizer site.

@ToddIndry37
Copy link
Author

FWIW I have a git repo who's purpose is to ease having GitHub Actions build Iosevka for you, and can be used with the output of the customizer site.

@AndydeCleyre Wait, is that really possible to get the output for Iosevka Customizer generator without using ttfautohint?

@AndydeCleyre
Copy link

@AndydeCleyre Wait, is that really possible to get the output for Iosevka Customizer generator without using ttfautohint?

No, it uses ttfautohint, sorry I didn't understand you were trying to avoid it.

@ToddIndry37
Copy link
Author

@AndydeCleyre Wait, is that really possible to get the output for Iosevka Customizer generator without using ttfautohint?

No, it uses ttfautohint, sorry I didn't understand you were trying to avoid it.

Ah, I see. I mean, I don't mean to avoiding ttfautohint, I'm just curious because I have no experience exporting or generating the font ever like this.

@alexeyten
Copy link
Contributor

@ToddIndry37

is that really possible to get the output for Iosevka Customizer generator without using ttfautohint?

You could build ttf-unhinted::IosevkaCustom

Copy link

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 15 days.

@github-actions github-actions bot added the stale label Apr 24, 2024
@ToddIndry37
Copy link
Author

ToddIndry37 commented Apr 24, 2024

Are there any updates for this? Also, I have some ideas after looking back my suggestion:

  1. First of all, I think using GitHub Actions for exporting custom Iosevka font kinda neat though (thanks to @alexeyten for that idea!). Maybe I'll suggest you add some buttons on Customizer webpage to make those process happened, and then notify to the user who requested the customized Iosevka typeface after those export process completed via e-mail or GitHub notifications.
  2. Secondly, this probably little off topic to this issue, but since Iosevka typeface kinda big (nearly 10 MB of size after extracting from archive), I think you need to little decrease those font files because it kinda cost a lot of storage when installing the font. Just little complain there.
  3. Third, add more font styles! Like serif variant & probably the non-monospace version of Iosevka! It'll be awesome & add it to Iosevka Customizer (if you plan to do that).
  4. And lastly, please add the live preview of those glyphs were changed in the Customizer as Iosevka Customizer features no live example??? #2305 mentioned.

That's it for now. Let me know if there's something I missed for suggestion for this issue (or literally any Iosevka topic related).

@be5invis
Copy link
Owner

@ToddIndry37 Your goal 2 and 3 are conflicting... Iosevka is this bug because it is this complex.
For goal 4 there's already a live preview in the customizer. At the right half of the screen.
image
Not having a textarea is because, well, Harfbuzz (the thing under the hood that applies variant glyphs) dislikes appliying too many featurea at one time, so textareas will be broken...

@ToddIndry37
Copy link
Author

ToddIndry37 commented Apr 24, 2024

Ah, I see there. But I'll see if my first & second goal could achieve in the future of Iosevka Customizer thing.
I'll keep this open until the suggestion has been implemented.

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

No branches or pull requests

5 participants