Skip to content
This repository has been archived by the owner on Jul 23, 2019. It is now read-only.

Bi-directional text #17

Closed
lee-dohm opened this issue Mar 6, 2018 · 2 comments
Closed

Bi-directional text #17

lee-dohm opened this issue Mar 6, 2018 · 2 comments

Comments

@lee-dohm
Copy link

lee-dohm commented Mar 6, 2018

I noticed in this week's update, this note on not supporting bi-directional text in the short term:

No support for bi-directional text. This isn't a deal-breaker in the short term, since all of the dominant programming languages are based on latin scripts.

While it is true that all of the dominant programming languages are based on latin glyphs for their keywords, more and more languages are supporting Unicode identifiers (including Haskell, Elixir, and JavaScript) and most languages support full Unicode string literals these days.

I don't think that bi-directional text needs to be addressed in this experiment. However, I do feel that supporting the features that programming languages themselves support is important enough to be given high priority if this technology progresses past "experimental".

@nathansobo
Copy link

There's actually a couple of issues you're mentioning here. One is bi-directional text. I've opened a help-wanted issue outlining the situation in #20.

The other is other kinds of Unicode string literals. We shouldn't have a problem rendering any specific Unicode code point, so long as it doesn't require text shaping to select a contextual alternate or ligature in order to be legible. To my knowledge, this is only the case in Arabic and Indic scripts. #20 has a plan for Arabic. To support Indic, I think we'll need to fall back to rendering more than a single character in the canvas and eat some performance cost in that case.

I'm going to close this out in favor of #20 for now.

@lee-dohm
Copy link
Author

lee-dohm commented Mar 6, 2018

Thanks @nathansobo 🙇

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

No branches or pull requests

2 participants