> The fix works for the given example. However, here's another one that ideally should be one composed glyph
> (validated by moving the cursor over the glyph) but counts as 2 in string-width.
>
> (setq ra (string 2352 2366))
>
> (string-width ra) ; 2

OK, I improved this case now on master, please take a look.

Wonderful!! It works. Thanks.
Do you think (current-column) should also return a value conforming to the display logic? e.g. if 'ra' above is the first character in the line and point next to it, should it report 1 or 2?