Iosevka icon indicating copy to clipboard operation
Iosevka copied to clipboard

Devanagari Support

Open khpatel4991 opened this issue 1 year ago • 5 comments

  • The requested character is...
    • [ ] Latin
    • [ ] Cyrillic
    • [ ] Greek
    • [ ] Punctuation
    • [ ] Symbol
  • [ ] Some other monospace/programming fonts supported this character. Provide images below.
  • [x] None of the above.

#320 mentioned Arabic, Hebrew and Devanagari. It was closed saying Arabic script won't be supported. #690 for Hebrew has been roadmapped.

Devanagari was forgotten. It is a different LTR script used for Sanskrit, Hindi, Marathi and more Bharatiya languages.

All the conjoined character glyphs in devanagari are definitely far future, but can we consider adding basic unicode range U+0900..U+097F (128 codepoints glyphs)?

I'm willing to pair for a first couple of glyphs as I've never actually worked with fonts, after that I can make one per day or at a regular cadence to get all basic 128 codepoints in the font.

khpatel4991 avatar Apr 08 '23 05:04 khpatel4991

Not the owner, but pretty sure any scripts outside Latin Greek and Cyrillic are out of scope, or at least far future for now.

You can definitely try to fork and draft out those glyphs though

Logo121 avatar Apr 08 '23 06:04 Logo121

I didn't close #320. Put as far future

be5invis avatar Apr 08 '23 19:04 be5invis

I'm familiar with Devanagari also, and I've made a font that supports it (though it's pretty hideous), so I have some concept of what's involved. I'm not 100% sure what a Devanagari monospaced font should really look like. No consonant clusters, okay, just visible virama, fine. But what about spacing vs the non-spacing vowel-marks (ā i ī o au versus u ū ṛ ṝ e ai)? Do the spacing ones take up a character cell? Or do they form ligatures that squeeze into the same cell? And of course the confusing reordering of the "i" vowel-mark (which precedes the consonant the vowel follows)?

I guess the most consistent thing is to have the spacing vowel-marks squeeze into the same cell as the consonant, so a "character cell" always contains a consonant (or full vowel-letter) and optionally a vowel-mark (or virama).

But how horrible would such a thing look? My experience is with Sanskrit, so consonant clusters are crucial, and representing them all as consonants with visible virama would probably be nasty to look at. (I'm familiar with Devanagari, but NOT a native user, and gladly defer to the opinions of those with greater experience.)

clsn avatar Nov 02 '23 23:11 clsn

well, the only attempt for a monospaced devanagari font i can find is this: image

the other thing i can think of is this unicode initiative that tries to come up with a way of handling complex scripts in terminals. To my understanding, they prefer just using a non-monospace font (if a monospace font is not available) and then measure the "expected" width of each component/cluster.

although arabic and devanagari are usually grouped together when talking about complex scripts, in reality the latter is much harder and less studied for the reasons you've mentioned. They aren't even the same kind of writing system to begin with (abjad vs abugida).

Logo121 avatar Nov 03 '23 14:11 Logo121

I'm actually involved in that Unicode initiative, and its chair is stepping down, and I just today at a Unicode meeting said I wasn't volunteering to chair it because I thought they might prefer it if they succeeded in accomplishing something. It looks like the terminal emulator they used in your example has SOME support, not just of non-spacing characters and not just consonant clusters, but it also manages to reorder the "i" vowel-mark correctly, which is usually a major sticking point. It looks kinda stretched-out, but readable (to me). Then again, was that really a terminal emulator or a cooked demo with a word-processor?

clsn avatar Nov 03 '23 19:11 clsn