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

Overriding the East Asian Auto Spacing behavior #869

Open
kojiishi opened this issue Jun 30, 2024 · 2 comments
Open

Overriding the East Asian Auto Spacing behavior #869

kojiishi opened this issue Jun 30, 2024 · 2 comments

Comments

@kojiishi
Copy link

This is a new topic split from @macnmm's comment on May 7 to #766.

Generally my stance is that if you wish to override the layout engine's behavior, that doing so at the plain text layer is a bit strange -- the layout engine should provide overrides for any controversial behaviors, should they be implementing those behaviors properly.

@kojiishi
Copy link
Author

/cc @asmusf

@kojiishi
Copy link
Author

kojiishi commented Jun 30, 2024

The 3.3.2 Space Characters of the current proposal states that:

It also allows authors to override the algorithm when high-level protocols or applications don’t provide a way for authors to express their intent to override this algorithm, such as plain text files.

so if I understand correctly, we're in consensus that "the layout engine should provide overrides", and your feedback is about whether to provide a way to override for when a mechanism to override doesn't exist. Is this correct?

I agree this is a valid discussion point, thank you for raising this. I'm fine to remove it if doing so is benefitial, but since you wrote "at the plain text layer is a bit strage", we're not finding any real harms in this point, and there are precedences, I prefer keeping it.

Precedences to control some line layout behaviors in plain text files:

  • CR/LF to force a line break.
  • PS to force a paragraph break.
  • ZWNJ to prohibit joining/ligatures/kerning.

The proposal defines that the auto spacing is similar to kerning, so characters in the Zs generaly category affecting the behavior is following these precedences.

Also, having overrides in plain text files helps document interchange across different high-level protocols or applications. The "interchange" is one of the most important goals of this proposal, to make content interchangeable across high-level protocols, applications, and platforms. I think it's also what @asmusf was talking about, to provide a way for authors to express their intent across applications.

After reading these facts, if you still feel a bit strange and want to be strong about it, please let me know.

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

No branches or pull requests

1 participant