migueldeicaza / XtermSharp

XTerm emulator as a .NET library
MIT License
161 stars 34 forks source link

CharData should probably contain strings representing graphemes. #3

Open migueldeicaza opened 5 years ago

migueldeicaza commented 5 years ago

Currently this holds Runes, which is limiting, needs to hold graphemes.

migueldeicaza commented 5 years ago

CharData currently stores a rune, which will not work for grapheme clusters, which are represented as strings in .NET. I do not want to keep a discriminated union there, because it will be costly, so what I think i want to do is to abuse the high-bits of the rune to make those an index into a grapheme cluster table.

This should give me some 2048 values that could be used to encode the grapheme cluster.