{"id":18523501,"url":"https://github.com/gluonhq/emoji","last_synced_at":"2025-04-09T11:31:43.907Z","repository":{"id":176814660,"uuid":"657275179","full_name":"gluonhq/emoji","owner":"gluonhq","description":"Emoji support","archived":false,"fork":false,"pushed_at":"2024-09-22T08:37:57.000Z","size":33040,"stargazers_count":14,"open_issues_count":2,"forks_count":6,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-24T05:13:35.327Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gluonhq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-22T17:44:37.000Z","updated_at":"2024-11-21T23:53:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"a3925bfe-7e8b-4294-ae61-b0043a2166f6","html_url":"https://github.com/gluonhq/emoji","commit_stats":null,"previous_names":["gluonhq/emoji"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gluonhq%2Femoji","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gluonhq%2Femoji/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gluonhq%2Femoji/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gluonhq%2Femoji/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gluonhq","download_url":"https://codeload.github.com/gluonhq/emoji/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248031507,"owners_count":21036417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T17:35:48.321Z","updated_at":"2025-04-09T11:31:38.896Z","avatar_url":"https://github.com/gluonhq.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":"[![Gluon](.github/assets/gluon_logo.svg)](https://gluonhq.com)\n\n[![Build](https://github.com/gluonhq/emoji/actions/workflows/build.yml/badge.svg)](https://github.com/gluonhq/emoji/actions/workflows/build.yml)\n[![Maven Central](https://img.shields.io/maven-central/v/com.gluonhq/emoji)](https://search.maven.org/#search|ga|1|com.gluonhq.emoji)\n[![License](https://img.shields.io/github/license/gluonhq/emoji)](https://opensource.org/licenses/GPL-3.0)\n[![javadoc](https://javadoc.io/badge2/com.gluonhq/emoji/javadoc.svg?color=blue)](https://javadoc.io/doc/com.gluonhq/emoji)\n\nEmoji library is a Java implementation of the [emoji-data](https://github.com/iamcal/emoji-data) project adding emoji support for JavaFX applications.\n\n## What is an Emoji?\n\nFrom [Wikipedia](https://en.wikipedia.org/wiki/Emoji):\n\n\u003e An emoji is a pictogram, logogram, ideogram or smiley embedded in text and used in electronic messages and web pages.\n\u003e The primary function of emoji is to fill in emotional cues otherwise missing from typed conversation.\n\n## Emoji support in JavaFX\n\nJavaFX can be used to create client applications that target desktop, embedded, mobiles and even web.\nGiven the wide variety of applications, it becomes very important to have emoji support in the platform.\nThis project aims to bridge this gap and add emoji support to JavaFX.\n\n## Usage\n\nAs stated earlier, emojis can be represented in form of text or a picture.\nThis library can be used to represent an Emoji as one of the following and seamlessly interchange between these types:\n\n* String, e.g. `wave`\n* Unicode, e.g. `\\uD83D\\uDC4B`\n* Hex code string, e.g. `1F44B-1F3FC`\n* Image, e.g. `👋`\n\n[Emoji](https://github.com/gluonhq/emoji/blob/main/emoji/src/main/java/com/gluonhq/emoji/Emoji.java) data class is used to represent each emoji.\nFor better understanding of the Emoji class, we suggest you to go through [Using the data](https://github.com/iamcal/emoji-data#using-the-data) in emoji-data or the Emoji [javadoc](https://javadoc.io/doc/com.gluonhq/emoji).\n\n### API overview\n\n`EmojiData` contains the public API which can be used to create `Emoji` objects from String and Unicode, and vice-versa.\n\nFetch `👋` emoji from text:\n\n```\nOptional\u003cEmoji\u003e emoji = EmojiData.emojiFromShortName(\"wave\");\n```\n\nIn case the exact text for emoji is not known, `search` API can be used to get a list of emojis which matches the text:\n\n```\nList\u003cEmoji\u003e emojis = EmojiData.search(\"wav\");\n```\n\nFetch `👋` emoji from unicode:\n\n```\nOptional\u003cEmoji\u003e emoji = EmojiData.emojiFromUnicodeString(\"\\uD83D\\uDC4B\");\n```\n\nFetch `👋` emoji from hex-code point string:\n\n```\nOptional\u003cEmoji\u003e emoji = EmojiData.emojiFromCodepoints(\"1F44B-1F3FC\");\n```\n\nFetch `👋` emoji's unicode from text:\n\n```\nOptional\u003cString\u003e unicode = EmojiData.emojiForText(\"wave\");\n```\n\nUTF-8 encoded text can be parsed into a list of emojis and regular text using `TextUtil`:\n\n```\nList\u003cObject\u003e nodes = TextUtil.convertToStringAndEmojiObjects(\"this is an emoji: \\uD83D\\uDC4B\");\n```\n\n## Projects\n\nThe GitHub repository contains 3 projects: emoji, samples, emoji-updater. \n\n### emoji\nRaw emoji support with `Emoji` and `EmojiData` classes.\nThis module is to be used  as a dependency in your JavaFX application.\n\nUse the emoji dependency in a Maven project:\n\n```\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.gluonhq.emoji\u003c/groupId\u003e\n    \u003cartifactId\u003eemoji\u003c/artifactId\u003e\n    \u003cversion\u003e${version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nManually build the emoji artifact:\n\n```\nmvn clean install -f emoji\n```\n\n### Offline\nEmojis are extracted from sprites which are downloaded and stored in local file system to reduce the size of the application.\nIn cases where downloading of these sprites is not possible, the offline module can be added as a dependency.\n\n```\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.gluonhq.emoji\u003c/groupId\u003e\n    \u003cartifactId\u003eoffline\u003c/artifactId\u003e\n    \u003cversion\u003e${version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nManually build the offline artifact:\n\n```\nmvn clean install -f offline\n```\n\n### Samples\n\n#### Nodes App\nSimple JavaFX application that displays all emojis.\nThis application can be considered as a playground to test emoji and its APIs.\n\n![emoji-sample.png](.github/assets/emoji-sample.png)\n\nEach emoji is an ImageView and shows the description of the emoji on hover:\n\n![emoji-sample-hover.png](.github/assets/emoji-sample-hover.png)\n\nRun the sample nodes application:\n\n```\nmvn javafx:run -f samples/nodes\n```\n\nRun the sample introduction application:\n\n```\nmvn javafx:run -f samples/introduction\n```\n\n### Updater\nUtility to manually update Emoji to the latest emoji data, whenever a new version is released.\nNormally, this will be used by the library developers, but in case we are falling behind, you can use it too ;)\n\nTo update the emoji list, set the [commit number](https://github.com/gluonhq/emoji/blob/main/emoji-updater/src/main/java/com/gluonhq/emoji/tools/Main.java#L39)\nfrom [emoji-data](https://github.com/iamcal/emoji-data) and run:\n\n```\nmvn javafx:run -f updater\n```\n\n## Contribution\n\nAll contributions are welcome!\n\nThere are two common ways to contribute:\n\n- Submit [issues](https://github.com/gluonhq/emoji/issues) for bug reports, questions, or requests for enhancements.\n- Contributions can be submitted via [pull request](https://github.com/gluonhq/emoji/pulls), provided you have signed the [Gluon Individual Contributor License Agreement (CLA)](https://cla.gluonhq.com).\n\nFollow [contributing rules](https://github.com/gluonhq/emoji/blob/main/CONTRIBUTING.md) for this repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgluonhq%2Femoji","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgluonhq%2Femoji","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgluonhq%2Femoji/lists"}