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