Skip to content

danielsaidi/EmojiKit

Repository files navigation

Project Icon

Version Swift 6.1 Swift UI Documentation MIT License Sponsor my work

EmojiKit

EmojiKit lets you use emoji-based features on all major Apple platforms (iOS, macOS, tvOS, watchOS & visionOS).

EmojiKit supports emojis, categories, unicode versions, localization, skin tones, etc. and has convenient SwiftUI components like EmojiGrid and EmojiScrollGrid.

Installation

EmojiKit can be installed with the Swift Package Manager:

https://github.com/danielsaidi/EmojiKit.git

Support My Work

You can become a sponsor to help me dedicate more time on my various open-source tools. Every contribution, no matter the size, makes a real difference in keeping these tools free and actively developed.

Features

EmojiKit provides a bunch of emoji-specific features:

  • ๐Ÿ˜€ Emojis - An emoji model with many features.
  • ๐Ÿป Emoji Categories - Standard and custom emoji categories.
  • ๐Ÿ“ฆ Emoji Versions - All available emoji versions and their emojis.
  • ๐Ÿงฉ Extensions - Emoji-related native type extensions.
  • ๐Ÿ‘๐Ÿพ Skin Tones - Skin tone information for supported emojis.
  • ๐Ÿ–ผ๏ธ Views - Emoji-specific views, like grids and pickers.

See the online documentation for more information.

Localization

EmojiKit is localized in the following languages:

  • ๐Ÿ‡จ๐Ÿ‡ณ Chinese (Simplified)
  • ๐Ÿ‡ฌ๐Ÿ‡ง English
  • ๐Ÿ‡ณ๐Ÿ‡ฑ Dutch
  • ๐Ÿ‡ซ๐Ÿ‡ท French
  • ๐Ÿ‡ฉ๐Ÿ‡ช German
  • ๐Ÿ‡ฎ๐Ÿ‡น Italian
  • ๐Ÿ‡ฏ๐Ÿ‡ต Japanese
  • ๐Ÿ‡ฐ๐Ÿ‡ท Korean
  • ๐Ÿ‡ง๐Ÿ‡ท Portuguese (Brazil)
  • ๐Ÿ‡ท๐Ÿ‡บ Russian
  • ๐Ÿ‡ช๐Ÿ‡ธ Spanish
  • ๐Ÿ‡ธ๐Ÿ‡ช Swedish

You can contribute by copying Sources/Resources/en.lproj and localizing it in another language.

Getting started

The Emoji model can be used to parse a bunch of emoji-specific information, for instance:

Emoji("๐Ÿ‘").unicodeIdentifier       // \\N{THUMBS UP SIGN}
Emoji("๐Ÿš€").unicodeIdentifier       // \\N{ROCKET}
Emoji("๐Ÿ‘").unicodeName             // Thumbs Up Sign
Emoji("๐Ÿ‘๐Ÿฟ").unicodeName             // Thumbs Up Sign
Emoji("๐Ÿš€").unicodeName             // Rocket
Emoji("๐Ÿ˜€").localizedName           // Grinning Face
Emoji("๐Ÿ˜€").localizedName(in: .swedish)  // Leende Ansikte
Emoji("๐Ÿ‘").hasSkinToneVariants     // true
Emoji("๐Ÿš€").hasSkinToneVariants     // false
Emoji("๐Ÿ‘๐Ÿฟ").neutralSkinToneVariant  // ๐Ÿ‘
Emoji("๐Ÿ‘").skinToneVariants        // ๐Ÿ‘๐Ÿ‘๐Ÿป๐Ÿ‘๐Ÿผ๐Ÿ‘๐Ÿฝ๐Ÿ‘๐Ÿพ๐Ÿ‘๐Ÿฟ

The EmojiCategory enum defines standard and custom categories and their emojis, for instance:

EmojiCategory.smileysAndPeopleChars.emojis // ๐Ÿ˜€๐Ÿ˜ƒ๐Ÿ˜„...
EmojiCategory.animalsAndNatureChars.emojis // ๐Ÿถ๐Ÿฑ๐Ÿญ...
EmojiCategory.foodAndDrinkChars.emojis     // ๐Ÿ๐ŸŽ๐Ÿ...

The EmojiVersion enum defines Emoji versions and the emojis they introduced, for instance:

EmojiVersion.v15_1.emojis // ๐Ÿ™‚โ€โ†•๏ธ๐Ÿ™‚โ€โ†”๏ธ๐Ÿ‘ฉโ€๐Ÿฆฝโ€โžก๏ธ...
EmojiVersion.v15.emojis   // ๐Ÿซจ๐Ÿซธ๐Ÿซท
EmojiVersion.v14.emojis   // ๐Ÿซ ๐Ÿซข๐Ÿซฃ

See the online documentation for more information.

Documentation

The online documentation has more information, articles, code examples, etc.

Demo Application

The Demo folder has a demo app that lets you explore the library and its components.

Contact

Feel free to reach out if you have questions or want to contribute in any way:

License

EmojiKit is available under the MIT license. See the LICENSE file for more info.

About

Create emoji-based features on all major Apple platforms, using Swift & SwiftUI.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 5