Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/teamapps-org/teamapps-emoji-icons
Use Emojis in your TeamApps Application UI
https://github.com/teamapps-org/teamapps-emoji-icons
Last synced: 9 days ago
JSON representation
Use Emojis in your TeamApps Application UI
- Host: GitHub
- URL: https://github.com/teamapps-org/teamapps-emoji-icons
- Owner: teamapps-org
- License: apache-2.0
- Created: 2021-12-01T17:44:21.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-03-11T11:47:45.000Z (over 2 years ago)
- Last Synced: 2024-04-17T06:14:43.918Z (7 months ago)
- Language: Java
- Size: 30.4 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# TeamApps Emoji Icon Library
Use Emojis in your TeamApps Application UI
This library provides 1816 icons (3521 incl. skin tone variants) in 5 different styles.
This is the full set of the [Unicode Emoji List Version 13.1](https://www.unicode.org/emoji/charts-13.1/emoji-list.html)
* Noto from Google
* Noto Black
* Twemoji From Twitter
* OpenMoji
* OpenMoji Black
* OpenMoji Mod (OpenMoji without padding and changed color)## Usage
Add dependency to your TeamApps Maven Project:
~~~xml
org.teamapps
teamapps-emoji-icons
1.0
~~~Usage:
~~~java
import org.teamapps.icon.emoji.EmojiIcon;
import org.teamapps.icon.emoji.EmojiIconStyle;
import org.teamapps.icons.Icon;public class IconExample {
public static Void someMethod() {
Icon smile = EmojiIcon.GRINNING_FACE;
Icon icon_with_skintone = EmojiIcon.RAISED_HAND__LIGHT_SKIN_TONE.withStyle(EmojiIconStyle.OPENMOJI_COLOR);
Icon flag = EmojiIcon.FLAG_GERMANY.withStyle(EmojiIconStyle.TWEMOJI);
// Get Icon by Emoji as unicode String
Icon wavingHand = EmojiIcon.forUnicode("👋");
}
}
~~~## Emoji Icon Browser
This Project includes a visual Icon Browser.
![EmojiIconBrowser](./project-resources/EmojiIconBrowser.png)
Launch it quickly from your Teamapps project.
`Component emojiIconBrowser = new EmojiIconBrowser(sessionContext).getUI();`
You can copy the following complete IconBrowser class. Run it and point your browser to
~~~java
import org.teamapps.icon.emoji.EmojiIconBrowser;
import org.teamapps.server.jetty.embedded.TeamAppsJettyEmbeddedServer;
import org.teamapps.ux.component.Component;
import org.teamapps.ux.component.rootpanel.RootPanel;
import org.teamapps.webcontroller.WebController;public class IconBrowser {
public static void main(String[] args) throws Exception {
WebController controller = sessionContext -> {
RootPanel rootPanel = new RootPanel();
sessionContext.addRootPanel(null, rootPanel);
Component emojiIconBrowser = new EmojiIconBrowser(sessionContext).getUI();
rootPanel.setContent(emojiIconBrowser);
};
new TeamAppsJettyEmbeddedServer(controller, 8082).start();
}
}
~~~## SVG Sources
This Icon Library contains SVG Icons of following Open Source Emoji Icon sets:
### Noto
Google Font https://github.com/googlefonts/noto-emoji
Tools and most image resources are under the [Apache license, version 2.0](https://github.com/googlefonts/noto-emoji/blob/main/LICENSE). Flag images under third_party/region-flags are in the public domain or otherwise exempt from copyright (more info).
### Noto Black
Adobe SVG Font Project https://github.com/adobe-fonts/noto-emoji-svg based on
Google Font https://github.com/googlefonts/noto-emojiTools and most image resources are under the [Apache license, version 2.0](https://github.com/googlefonts/noto-emoji/blob/main/LICENSE). Flag images under third_party/region-flags are in the public domain or otherwise exempt from copyright (more info).
### OpenMoji
* https://openmoji.org/
* https://emojis.wiki/openmoji/OpenMoji graphics are licensed under the Creative Commons Share Alike License 4.0 [(CC BY-SA 4.0)](https://creativecommons.org/licenses/by-sa/4.0/)
### Twemoji from Twitter
* https://twemoji.twitter.com/
Graphics licensed under [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)
#### Requirements (from Twemoji)
##### Attribution
As an open source project, attribution is critical from a legal, practical and motivational perspective in our opinion. The graphics are licensed under the CC-BY 4.0 which has a pretty good guide on best practices for attribution.
However, we consider the guide a bit onerous and as a project, will accept a mention in a project README or an 'About' section or footer on a website. In mobile applications, a common place would be in the Settings/About section (for example, see the mobile Twitter application Settings->About->Legal section). We would consider a mention in the HTML/JS source sufficient also.
##### Licensing
Copyright 2020 Twitter, Inc and other contributors
Code licensed under the MIT License: http://opensource.org/licenses/MIT
Graphics licensed under CC-BY 4.0: https://creativecommons.org/licenses/by/4.0/## General Information about Emoji
### Emoji Lists & Metadata
* emoji-test.txt http://unicode.org/Public/emoji/
* Complete Lists and Metadata https://github.com/Mange/emoji-data/
* Java Library for Handling emoji in Text https://github.com/vdurmont/emoji-java/## Dev Notes
### Get icon files
The svg file assets are stored in [src/main/resources/org/teamapps/icon/emoji/](./src/main/resources/org/teamapps/icon/emoji/)
* NOTO:
* Download noto-emoji (currently branch svg_flags2) https://github.com/googlefonts/noto-emoji/tree/svg_flags2
* Run script in `project-resources/import-noto.sh`
* NOTO_BLACK:
* Download Release Asset (Source code) from https://github.com/adobe-fonts/noto-emoji-svg
* extract `svg_bw` and `flag_bw`
* TWEMOJI
* Download Release Asset (Source code) from https://github.com/twitter/twemoji/releases
* extract assets/svg
* OPENMOJI
* Download and extract sets from: https://github.com/hfg-gmuend/openmoji/releases
* OPENMOJI_MOD_*
* generated from openmoji sources with script based on https://github.com/vavrecan/openmoji-mod
* forked mod with docker-composed based conversion: https://github.com/pgassmann/openmoji-mod
* run svg_cleaner: `python3 project-resources/svg_cleaner.py src/main/resources/org/teamapps/icon/emoji/openmoji-mod/yellow/`
### generate EmojiIcon EntriesThe EmojiIcon entries are generated based on [emoji-test.txt](project-resources/emoji-test-13.1.txt) using a python script
The [emoji-test.txt](project-resources/emoji-test-13.1.txt) file was obtained from http://unicode.org/Public/emoji/
~~~bash
cd project-resources
python3 generate_java_entries.py -J
~~~Then copy the entries from [emoji.java](project-resources/emoji.java) to [EmojiIcon.java](src/main/java/org/teamapps/icon/emoji/EmojiIcon.java)
## TEAMAPPS SOFTWARE LICENSE
Apache 2.0
## ICONS LICENSE
The graphics are licenced under a free license, but some require attribution.
### Emoji Licensing
* https://emojipedia.org/licensing/
* http://unicode.org/emoji/images.html
* https://blog.emojipedia.org/who-owns-emoji/