All Projects β†’ onmyway133 β†’ Smile

onmyway133 / Smile

Licence: other
πŸ˜„ Emoji in Swift

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Smile

Twitter Text
Twitter Text Libraries. This code is used at Twitter to tokenize and parse text to meet the expectations for what can be used on the platform.
Stars: ✭ 2,627 (+631.75%)
Mutual labels:  unicode, emoji
unicode-emoji-json
Emoji data from unicode.org as easily consumable JSON files.
Stars: ✭ 149 (-58.5%)
Mutual labels:  emoji, unicode
V Emoji Picker
🌟 A Lightweight and customizable package of Emoji Picker in Vue using emojis natives (unicode).
Stars: ✭ 231 (-35.65%)
Mutual labels:  unicode, emoji
Awesome Emoji Picker
Add-on/WebExtension that provides a modern emoji picker that you can use to find and copy/insert emoji into the active web page.
Stars: ✭ 54 (-84.96%)
Mutual labels:  unicode, emoji
rm-emoji-picker
A modern, ES2015 emoji picker and editor.
Stars: ✭ 76 (-78.83%)
Mutual labels:  emoji, unicode
Emoji Regex
A regular expression to match all Emoji-only symbols as per the Unicode Standard.
Stars: ✭ 1,134 (+215.88%)
Mutual labels:  unicode, emoji
unicodemoticon
Trayicon with Unicode Emoticons using Python3 Qt5
Stars: ✭ 21 (-94.15%)
Mutual labels:  emoji, unicode
Ecoji
Encodes (and decodes) data as emojis
Stars: ✭ 671 (+86.91%)
Mutual labels:  unicode, emoji
Rofimoji
An emoji and character picker for rofi 😁
Stars: ✭ 319 (-11.14%)
Mutual labels:  unicode, emoji
contour
Modern C++ Terminal Emulator
Stars: ✭ 761 (+111.98%)
Mutual labels:  emoji, unicode
Weird Json
A collection of strange encoded JSONs. For connoisseurs.
Stars: ✭ 53 (-85.24%)
Mutual labels:  unicode, emoji
ngx-emoj
A simple, theme-able emoji mart/picker for angular 4+
Stars: ✭ 18 (-94.99%)
Mutual labels:  emoji, unicode
Unicode Tr51
Emoji data extracted from Unicode Technical Report #51.
Stars: ✭ 38 (-89.42%)
Mutual labels:  unicode, emoji
Box Cli Maker
Make Highly Customized Boxes for your CLI
Stars: ✭ 115 (-67.97%)
Mutual labels:  unicode, emoji
Awesome Typography
✏︎ Curated list about digital typography πŸ”₯
Stars: ✭ 947 (+163.79%)
Mutual labels:  unicode, emoji
emoji-db
A database of Apple-supported emojis in JSON format. Used by my Alfred emoji workflow.
Stars: ✭ 32 (-91.09%)
Mutual labels:  emoji, unicode
Gemoji
Emoji images and names.
Stars: ✭ 3,890 (+983.57%)
Mutual labels:  unicode, emoji
Uni
Query the Unicode database from the commandline, with good support for emojis
Stars: ✭ 633 (+76.32%)
Mutual labels:  unicode, emoji
Wordle2Townscaper
Wordle2Townscaper is meant to convert Wordle tweets into Townscaper houses using yellow and green building blocks.
Stars: ✭ 64 (-82.17%)
Mutual labels:  emoji, unicode
umoji
πŸ˜„ A lib convert emoji unicode to Surrogate pairs
Stars: ✭ 68 (-81.06%)
Mutual labels:  emoji, unicode

Smile

❀️ Support my apps ❀️

β€οΈβ€οΈπŸ˜‡πŸ˜πŸ€˜β€οΈβ€οΈ

Emoji in Swift. For reference, go to https://github.com/onmyway133/emoji

CI Status Version Carthage Compatible License Platform Swift

Features

  • [x] Support emoji sequences
  • [x] Handle skin tones, marks, genders, variation selectors
  • [x] Support new iOS emojis

List

List all emojis

Smile.list()
emojiList
emojiCategories

Emoji

Check if a character is emoji

Smile.isEmoji(character: "πŸŽ‰") // true

Check if a string contains any emoji

Smile.containsEmoji(string: "🎈 and 🎁") // true

Count number of emoji characters in a string

Smile.countEmoji("🎈 and 🎁") // 2

Count number of non-emoji characters in a string

Smile.countNonEmoji("🎈 and 🎁") // 5

Check if a string contains only a single emoji

Smile.isSingleEmoji("🎈 and 🎁") // false
Smile.isSingleEmoji("πŸ‘¨β€") // true
Smile.isSingleEmoji("πŸ‘©πŸ½β€πŸ§‘β€") // false
Smile.isSingleEmoji("just plain text") // false

Check if a string contains only emojis

Smile.isEmojiOnly("🎈 and 🎁") // false
Smile.isEmojiOnly("πŸ‘¨β€") // true
Smile.isEmojiOnly("πŸ‘©πŸ½β€πŸ§‘β€") // true
Smile.isEmojiOnly("just plain text") // false

Get emoji from unicode values

XCTAssertEqual(Smile.emoji(unicodeValues: [0x1F47B]), "πŸ‘»")
XCTAssertEqual(Smile.emoji(unicodeValues: [0x0001F468, 0x200D, 0x2708]), "πŸ‘¨β€βœˆ")

Unmodify an emoji

Smile.unmodify(emoji: "πŸ‘¨πŸΏ") // πŸ‘¨

Name

Show standard name of an emoji

Smile.name(emoji: "πŸ‡³πŸ‡΄") // ["REGIONAL INDICATOR SYMBOL LETTER N", "REGIONAL INDICATOR SYMBOL LETTER O"])

Search emoji by keywords

Smile.emojis(keywords: ["GRINNING"]) // 😁, 😸

Flag

Search emoji flag by country code

Smile.emoji(countryCode: "no") // πŸ‡³πŸ‡΄

Alias

Search emoji by alias

Emoji data is from https://github.com/github/gemoji/blob/master/db/emoji.json

Smile.emoji(alias: "japanese_castle") // 🏯

Find alias by emoji

Smile.alias(emoji: "🏯") // japanese_castle

Replace alias within a string

Smile.replaceAlias(string: "πŸŽ… is coming to 🏰") // πŸŽ… is coming to 🏰

Category

Find category of emoji

Emoji data is from https://github.com/github/gemoji/blob/master/db/Category-Emoji.json

Smile.category(emoji: "😁") // people

Manipulation

Extract all emojis within a string

Smile.extractEmojis(string: "Find πŸ”‘andπŸ”Ž") // πŸ”‘πŸ”Ž

Remove all emojis within a string

Smile.removeEmojis(string: "Find πŸ”‘andπŸ”Ž") // Find and

Assemble

Smile.assemble(emojis: ["πŸ‘¨", "🏫") // πŸ‘¨β€πŸ«
Smile.assemble(emojis: ["πŸ‘¨", "πŸ‘©", "πŸ‘§", "πŸ‘¦"] // πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦

Disassemble

Smile.disassemble(emoji: "πŸ‘¨β€πŸ«") // [πŸ‘¨, 🏫]

Script

Update emoji list by running

node parser.js

Installation

Smile is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'Smile'

Smile is also available through Carthage. To install just write into your Cartfile:

github "onmyway133/Smile"

Author

Khoa Pham, [email protected]

Contributing

We would love you to contribute to Smile, check the CONTRIBUTING file for more info.

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].