Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • Characters Characters
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 58
    • Issues 58
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 10
    • Merge requests 10
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • CharactersCharacters
  • Merge requests
  • !73

Support composite emoji

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Alice Mikhaylenko requested to merge wip/exalm/emoji into main Mar 10, 2022
  • Overview 2
  • Commits 6
  • Pipelines 5
  • Changes 10

These characters are really ligatures, and consist of multiple other characters. This means we can't pass around single gunichars anymore, and have to work with strings. Thankfully, gjs is flexible enough that it's completely transparent on JS side.

Rework emoji.h. Since we can't assume one gunichar == one emoji anymore, we have to split the sequences and indices. We also need to store emoji names and it would be nice to follow the proper emoji order as listed in emoji-test.txt as well.

Since UCD and Emoji names can apparently differ (for example, U+1F646 is "FACE WITH OK GESTURE" in UCD and "person gesturing OK" in Emoji data), we need to use Emoji names for existing emoji as well.

At this point we also need to stop handling emoji in the regular code path. For that, make a synthetic "singular" group listing all the non-composite emoji sorted by indices, so we can bsearch this group.

Special case related characters for composite emoji, just return their components in this case.

Fixes #69 (closed)

Not marking #13 as fixed as this just lists all variants as is instead of offering a dropdown or anything.

Screenshot_from_2022-03-10_22-35-14

Screenshot_from_2022-03-10_22-35-17

Screenshot_from_2022-03-10_22-35-22

Screenshot_from_2022-03-10_22-35-27

Screenshot_from_2022-03-10_22-35-33

Screenshot_from_2022-03-10_22-35-35

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: wip/exalm/emoji