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

'init' and 'fina' features #32

Open
kontur opened this issue May 7, 2018 · 2 comments
Open

'init' and 'fina' features #32

kontur opened this issue May 7, 2018 · 2 comments

Comments

@kontur
Copy link
Contributor

kontur commented May 7, 2018

I just wanted to document this issue with those positional features and how users expect them to behave.

It's my understanding those features are, per spec, applied to all characters, and as such rendered in the font tester widget when set to be applied (i.e. this is how browsers seem to handle it). However, many apps (Adobe CC, Glyphs) seem to actually do additional layout level substitutions to only apply those features at word boundaries. This creates a dissonance between what users see when activating the feature in the tester (all characters of a word are swapped) to what users might expect from other text apps).

One hack could be using the ::first-letter pseudo selector, but there does not seem to be a last letter equivalent. Other options would be nested spans that dis/en-able the feature only at word boundaries, but this seems to go to quite intricate levels and add unwieldy complexity to the font tester widget.

@graphicore
Copy link
Owner

It seems to me the browsers should be fixed if they are doing something wrong. The fact that Arabic script seems to work well though leaves me with the impression that either Adobe/Glyphs do something wrong or that we use the features the wrong way.

Also note that the features function is tied to their Unicode joining types:

This applies to characters that have one of the following Unicode Joining_Type property values:

  • Right_Joining, if the characters are from a left-to-right script.
  • Left_Joining, if the characters are from a right-to-left script.
  • Dual_Joining.

from (https://docs.microsoft.com/en-us/typography/opentype/spec/features_fj#a-nameinit-idinitatag-init)

And finally, if we hack something, we leave the impression that the fonts work this way in the browsers, which they don't. A hack like this is IMHO rather harmful because it masks how the thing really works.

@kontur
Copy link
Contributor Author

kontur commented May 7, 2018

Agree. I merely wanted to point this out since I've gotten this reported as a "bug" twice. Some font designers go about it with calt features, which imo is the more appropriate way, it's just that some users have been confused by this.

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

No branches or pull requests

2 participants