Files
amethyst/tools/emoji-data/README.md
Claude 8158adf1ea feat: shared Unicode emoji picker for composers and reaction choices
Desktop has no system emoji keyboard, so there was no way to type an emoji
there. The composer's emoji button now opens a picker with the Unicode palette
(categories, name search, skin tones) next to the existing NIP-30 custom emoji
tab, in the note, comment, DM, public chat, Concord and Nest composers.

- commons/unicodeEmoji: UnicodeEmojiCatalog parses the palette and searches it.
- commonsUI: the palette file (Unicode emoji-test.txt up to Emoji 15.0, built by
  tools/emoji-data/generate.py) and the picker. Cells draw in the system's color
  emoji font on desktop, since Skia's fallback picks monochrome DejaVu Sans on Linux.
- The reaction choices screen gets the picker in its field and is now registered
  in the shared nav host, so desktop can open it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QEZ92TehbWvUhrJfrX2kie
2026-10-15 15:36:00 +00:00

23 lines
971 B
Markdown

# Unicode emoji palette
`generate.py` builds
`commonsUI/src/commonMain/composeResources/files/emoji/emoji.tsv`, the palette the
shared emoji picker (`commonsUI/.../commons/unicodeEmoji/ui/EmojiPicker.kt`) shows.
Desktop has no system emoji keyboard, so this picker is the only way to type an
emoji there.
The source is Unicode's `emoji-test.txt` (UTS #51), distributed under the
permissive [Unicode License v3](https://www.unicode.org/license.txt); the
generated file keeps its copyright notice in its header.
```bash
curl -sSO https://unicode.org/Public/emoji/latest/emoji-test.txt
python3 tools/emoji-data/generate.py emoji-test.txt \
commonsUI/src/commonMain/composeResources/files/emoji/emoji.tsv
```
`--max-version` (default `15.0`) caps the Emoji version offered: newer glyphs
render as tofu on desktops whose system emoji font has not caught up yet. Raise
it once the fonts shipped by Windows, macOS and the common Linux distributions
cover the newer set.