I'm not sure what the exact state of emoji support in Cwtch is (fwiw clicking the emoji button on the relatively-recent version running on my Linux desktop, I get the message that “emoji is not yet supported, sorry”), but earlier today I stumbled on a project that I thought might align with some of the goals of Cwtch and Open Privacy in general.
Mutant Standard is “a new kind of emoji set - more flexible, inclusive and fun.” The project's principles revolve around decentralization and generally stand opposed to Unicode's control over this new form of expression.
I am no expert on inclusivity, but I'll note that they feature gender-neutral emoji and tons of customizable skin tones, which I think jives with Open Privacy's general stance.
Lastly, it's licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License, which seems good!
I'm not sure how cross-platform emoji support works, or whether shipping a custom emoji set will be a hassle or possible a security risk, but if Cwtch is in need of an emoji set that reflects its core values, Mutant Standard might be a good place to start.
We actually already have cross-platform emoji support via Twemoji (and a bit of Qt code that was very tedious to write, to enable copy/paste with other proper Unicode implementations). The not-yet-implemented message only applies to the emoji picker; you should be able to copy/paste emoji to and from cwtch already. We don't have shortcode support yet, but I plan to add it on a rainy day.
That said, I absolutely love Mutant Standard!!! Unfortunately, their deliberate deviation from Unicode in some places makes it tricky. Their replacements for most standard emoji seem to work fine (I have this working in development and it looks fantastic btw) but they do some odd things like using FE0F as a non-terminating codepoint, which doesn't play well with our parser. They also have morphology and extra skintone modifiers that will require extra support be added to our parser. The website also mentions that some of the emoji haven't been assigned codepoints yet, which makes them incompatible with our protocol. There may also be other incompatibilities that I haven't spotted yet, and checking compatibility for every single emoji is going to be a very tedious process. The set is also incomplete.
I really really want to switch to Mutant Standard, though, so you will probably see a variant of it supported in cwtch very soon. :) We'll probably start with Twemoji as a base, overwrite it with Mutant Standard, and permit some emoji to be inaccessible at first. This deals with the incompleteness problem (although it has the unfortunate side effect of restoring the deliberately exclusions in MS, like the cop). When I'm comfortable putting an updated parser into production, we'll add support for the paw/claw variations and the new colours.
(If anyone reading this happens to have an MS-compatible version of Twemoji's parse function, I'd love a link! I have their regex generator working to include Pride100 and the rainbow pawprint, but adding 1016XX as skintone modifiers doesn't cut it due to the FE0F issue.)
Cool! Glad it's on the radar.
Feel free to close this issue till it's within reach, or keep it open if others want to take up the tasks you outline.
No due date set.
This issue currently doesn't have any dependencies.
Deleting a branch is permanent. It CANNOT be undone. Continue?