2017-07-17 14:25 GMT+02:00 Christoph Päper via Unicode <unicode@unicode.org> :
> > Finally, should smart fonts make U+0020 exactly as wide as an em when > between two emojis? > Really I don't think so, Emojis are not specific to East-Asian use even if a significant part of them come from there. These bsaic spaces are separate clusters separating separate emoji sequences, they are not part themselves of the sequences: why would it be specific to spaces and why wouldn't you apply this logic to all other Basic latin characters to render their full width version between emojis, if even before and after them ? It would simply break things everywhere. In reality, the emojis are always composed separately, they are isolated symbols in a stream of normal text in any script (with weak direction coming from their context of occurence, but not mirrorable in BiDi contexts). Then people will want to separate them by spaces... or not if used in South-East Asian scripts, or will surround them with standard punctuation, or will join them with prefixes/suffixes from words such as "I ❤ed it !". If one wants specific metrics for spaces around emojis to separate them, Unicode already has plenty of them usable from normal scripts, U+0020 is not the only choice but it should still use standard font metrics in the scripts the font was designed for. Usually emojis fonts are very specific (to support colors) except in symbol scripts. Remember also that many emojis often have two standardized presentations: one for use as normal symbols with simple monochromatic glyphs (where colors may be replaced by patterns similated by strokes, and slight modification of the internal metrics to make them still recognizable), another which is more colorful and elaborated and that could be more compact. Emojis also don't necessarily have to be drawn in an em-square, they are variable-width like in normal scripts. The monospaced rendering is just a font design style: if you have such font (e.g. for rendering on a text console), your basic spaces and other basic Latin will use half-em width everywhere, or fullwidth everywhere: you don't need any "smart font" feature using contextual rendering rules, and in fact these rules will be undesirable in most cases of use of monospaced fonts.