> Do not break within emoji modifier sequences or emoji zwj sequences.
That said, making grapheme clusters width units may add significant complexity to the implementation with minor benefits, so I'm fine going with code points especially since there is an established example of doing this (Python) and it's already an improvement over stdio & iostreams.
2. Interpretation of fill.
It seems there was a general agreement that fill should be a code point but please let me know if you have other ideas.
3. There was a question about signed and unsigned char. I checked and there is no special handling for these types which means that they are treated as integral types, only char and wchar_t are treated specially as character types (and later charN_t will be added).
4. Interpretation of n in format_to_n.
There was no agreement whether n should be specified in code units or code points. An argument in favor of code units is that n often gives the output buffer size. On the other hand, using code points would be more consistent with width.
I plan to add support for specifying width and fill as code points in fmt (Zach gave some useful pointers on how to do that, thanks!) and will report back with any user feedback.