GithubHelp home page GithubHelp logo

Comments (4)

arrowtype avatar arrowtype commented on May 31, 2024

Finnish has words like ulkonäöltään and Estoniantöötajaskonnas that use double diacritics:

https://www.setuptype.com/x/cod/languages/fi

And I’ll test how much data it adds to include the most-common diacritics.

ÉéÓóÍíÁáÜüÇçÃãÖöÄäÑñ

from shantell-sans.

arrowtype avatar arrowtype commented on May 31, 2024

Okay, so with 4 alts, plus those few most-common diacritics, the size only increases by a little. Below, core skips the diacritics for 451kb total, while select_alpha adds them for 464kb total:

image

To me, that says that it’s worth including alts for these selected diacritics. People can always slice the axes & subset the character set to reduce size, anyway.

from shantell-sans.

arrowtype avatar arrowtype commented on May 31, 2024

Something nice: it’s really simple to remove all the .alt glyphs with pyftsubset, by removing the calt feature and keeping all unicodes.

pyftsubset fonts/shantell-sans-v13/shantell-wght_BNCE_IRGL--reverse_bounce-select_alpha-VF.ttf --layout-features-="calt" --unicodes="*"

Because the font still has positions randomized in the core glyphs, it still looks pretty decent. It’s not as good, so this isn’t the main version for releases, but it may be worth shipping as an alternative option for the web.

Top: no calt / no alts. 212kb TTF / 85kb WOFF2.
Middle: calt with 3 alts. Decent, but fails in a word like "experience" where letters repeat every 3 positions. 393kb TTF / 136kb WOFF2.
Bottom: calt with 4 alts & improved randomization. 464kb TTF / 143kb WOFF2. Not actually that bad. Components are helping a lot, I think.

image

from shantell-sans.

arrowtype avatar arrowtype commented on May 31, 2024

For now, I’ll conclude on making alts for the following characters:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

ÉéÓóÍíÁáÈèÜüÇçÃãÖöÄäÑñ # notably, excludes À, which could mess up line heights on macOS

0123456789!"#$%&'()*+,-./\:;<=>?@[]^_`{|}~“”‘’

This feels like a good trade-off between including a lot, but not everything. If we need to in the future (or if someone wants their own, custom version), this can be adjusted at scripts--build/prep-build.py.

from shantell-sans.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.