First draft.
+ XMPP-based Instant Messages has suffered from a lack of proper message + styling mechanisms. After abandoning &xep0071; for its horrible security + track record, &xep0393; and &xep0394; were proposed as replacements, but + neither was able to gain sufficient traction to become the default styling + mechanism. +
++ This specification fills the gap by formally specifying the Unicode-based + formatting that is currently fancied on Social Media and micro-blogging as + an XMPP standard for Instant Messaging. As XMPP is based on UTF-8, messages + formatted with this mechanism are immediately visible on all receiving + clients. Simple third-party tools can be used for writing messages until + this specification is integrated into the IM message input boxes. +
+This specification relies on Unicode features introduced in the 3.1 + specification. As XMPP implementations are required to support Unicode 3.2 + for StringPrep during SASL authentication, no new requirements arise.
+To format a string as Preformatted Text, the individual code-points need + to be converted to their integer representation, then increased by + 0x1D62F (capital letters) or 0x1D629 (lowercase letters) + and then converted back to characters.
+To format a string with Emphasis, the individual code-points need + to be converted to their integer representation, then increased by + 0x1D3F3 (capital letters) or 0x1D3ED (lowercase letters) + and then converted back to characters.
+To format a string with Strong Emphasis, the individual code-points need + to be converted to their integer representation, then increased by + 0x1D3BF (capital letters) or 0x1D3B9 (lowercase letters) + and then converted back to characters.
+To format a string with Very Very Strong Emphasis, the individual code-points need + to be converted to their integer representation, then increased by + 0x1D427 (capital letters) or 0x1D421 (lowercase letters) + and then converted back to characters.
+To format a string as struck through, each code-point needs to be + extended with a U-0336 COMBINING LONG STROKE OVERLAY postfix.
+Some clients will use a serif-less font instead of a serif font to display + instant messages, or even allow the user to choose an arbitrary font. The + formatting defined in this document assumes the use of serif fonts, however. + If a formatted text is to be displayed in a context that is not supposed to + render serifs, the displaying implementation MUST add 0x1D4 to the + respective integer representations of the fancy code-points. +
+On the wire, the serif representation always MUST be used.
+Determining whether a given display font is serif or sans-serif is out of + scope of this specification.
+ððļð°ðŪ
+ðģðīðģðŠ
+The rendering of fonts is a complex task performed in the most inner guts + of the operating system. Over the last decades, various exploits have been + discovered in all major operating systems. Unfortunately, fixing those + issues is far beyond the abilities of a simple XMPP client.
++ This document requires no interaction with &IANA;. +
+None.
+