From 50d32f91512e4adf92d05c91615c8dcd3c53ffed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Sch=C3=A4fer?= Date: Wed, 31 Mar 2021 17:50:09 +0200 Subject: [PATCH] Accept XEP-0457 as Active Approving body is Editor because of the track. --- xep-0457.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++++++ xep.ent | 1 + 2 files changed, 163 insertions(+) create mode 100644 xep-0457.xml diff --git a/xep-0457.xml b/xep-0457.xml new file mode 100644 index 00000000..eb47e81f --- /dev/null +++ b/xep-0457.xml @@ -0,0 +1,162 @@ + + +%ents; +]> + + +
+ Message Fancying + This specification defines a Unicode-formatted fancy text syntax for use in instant messages. + &LEGALNOTICE; + 0457 + Active + Humorous + None + Editor + + XMPP Core + XMPP IM + + + XEP-0071 + XEP-0393 + XEP-0394 + + + fancying + + Georg + Lukas + georg@op-co.de + georg@yax.im + + + 1.0.0 + 2021-04-01 + XEP Editor (jsc) + Initial published version. + + + 0.0.1 + 2021-04-01 + gl +

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.

+
+ +
    +
  • + As a user sending an instant message to a friend, I want to be able to + emphasize an important part of my message. +
  • +
  • + As a software developer, I want to be able to send code as pre-formatted, + monospace, block or inline text to another developer. +
  • +
  • + As a user of non-Latin script, I want to be surprised by inconsistent + transitions and missing range checks resulting in characters from random + Unicode planes. +
  • +
  • + As a visually impaired user, I want my screen reader to emit long + sequences of technical names of Unicode special characters to really + convey the point of the intended emphasis, character by character! +
  • +
  • + As a multi-user chat user I want to add context to my reply by quoting an + earlier message in the chat. +
  • +
+
+ + +

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.

+
Preformatted text → ð™ŋ𝚛𝚎𝚏𝚘𝚛𝚖𝚊𝚝𝚝𝚎𝚍 ðšðšŽðšĄðš
+
+ +

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.

+
Emphasis → ðļ𝑚𝑝ℎ𝑎𝑠𝑖𝑠
+
+ +

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.

+
Strong Emphasis → 𝐒𝐭ðŦðĻ𝐧𝐠 𝐄ðĶðĐðĄðšðŽðĒ𝐎
+
+ +

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.

+
Very Strong Emphasis → ð‘―ð’†ð’“ð’š 𝑚𝒕𝒓𝒐𝒏𝒈 𝑎𝒎𝒑𝒉𝒂𝒔𝒊𝒔
+
+ +

To format a string as struck through, each code-point needs to be + extended with a U-0336 COMBINING LONG STROKE OVERLAY postfix.

+
Strike through → SĖķtĖķrĖķiĖķkĖķeĖķ ĖķtĖķhĖķrĖķoĖķuĖķgĖķhĖķ
+
+
+ +

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.

+
+
diff --git a/xep.ent b/xep.ent index 042a05a0..2ebddc42 100644 --- a/xep.ent +++ b/xep.ent @@ -1621,3 +1621,4 @@ IANA Service Location Protocol, Version 2 (SLPv2) Templates OMEMO Media sharing (XEP-0454) XEP-0454: OMEMO Media sharing <https://xmpp.org/extensions/xep-0454.html>." > Service Outage Status (XEP-0455) XEP-0455: Service Outage Status <https://xmpp.org/extensions/xep-0455.html>." > Content Rating Labels (XEP-0456) XEP-0456: Content Rating Labels <https://xmpp.org/extensions/xep-0456.html>." > +Message Fancying (XEP-0457) XEP-0457: Message Fancying <https://xmpp.org/extensions/xep-0457.html>." >