On 7/3/18 9:32 AM, aliak wrote:
Hi, trying to figure out how to loop through a string of characters and then spit them back out.Eg: foreach (c; "👩👩👦👦🏳️🌈") { writeln(c); } So basically the above just doesn't work. Prints gibberish.So I figured, std.uni.byGrapheme would help, since that's what they are, but I can't get it to print them back out? Is there a way?foreach (c; "👩👩👦👦🏳️🌈".byGrapheme) { writeln(c.<????>); }And then if I type the loop variable as dchar, then it seems that the family empji is printed out as 4 faces - so the code points I guess - and the rainbow flag is other stuff (also its code points I assume)
Yeah, it appears that you can't actually print a grapheme. I would have assumed writeln(c) works. It does work, it just prints the struct data instead of converting back to utf.
Is there a type that I can use to store graphemes and then output them as a grapheme as well? Or do I have to use like lib ICU maybe or something similar?
I honestly can't figure it out. I think directly writing graphemes as viewable UTF was not something that was considered.
Definitely needs a bugzilla issue. -Steve
