cl-emoji provides the Unicode emoji characters.
Common Lisp
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
data
src
t
.gitignore
LICENSE
README.markdown
cl-emoji-test.asd
cl-emoji.asd

README.markdown

πŸ˜„ Cl-Emoji Quicklisp

cl-emoji provides the Unicode emoji characters

πŸ˜„ 😍 😱 πŸ‘½ πŸ”₯ πŸ’€ βœ‹

cl-emoji is able to treat Emoji 5.0 defined in Unicode 10.0! (ex. UFO; https://emojipedia.org/flying-saucer/)

πŸ’₯ Usage

(ql:quickload :cl-emoji)
(emoji:codepoint '("U+1F600"))
=> "πŸ˜€"
(emoji:name "grinning face")
=> "πŸ˜€"
(emoji:annotation "face")
=> (("πŸ˜€" "U+1F600" "grinning face" ("face" "grin" "person")) ...)

;; We can also get emoji with slack-like string
(emoji:alpha-code ":grin:")
=> "😁"
(format t "Hello~a!~%" (emoji:name "grinning face"))
=> HelloπŸ˜€!

According to PR #3, we can use following APIs.

If you tell emoji version to cl-emoji API, do like this (and I checked if path generated at API calling):

CL-USRE> (trace format)
CL-USER> (cl-emoji:annotation "grin")
  0: (FORMAT NIL "file ~A"
             "/home/foo/cl-emoji/data/emoji_4.0_release-30.lisp")
  0: FORMAT returned
       "file /home/foo/cl-emoji/data/emoji_4.0_release-30.lisp"
(("πŸ˜€" ("U+1F600") "grinning face" ("face" "grin") "Smileys & People"
  "face-positive")
 ...)
CL-USER> (let ((cl-emoji:*current-version* (second cl-emoji:+versions+)))
           (cl-emoji:annotation "grin"))
  0: (FORMAT NIL "file ~A"
             "/home/foo/cl-emoji/data/emoji_5.0_release-31.lisp")
  0: FORMAT returned
       "file /home/foo/cl-emoji/data/emoji_5.0_release-31.lisp"
(("πŸ˜€" ("U+1F600") "grinning face" ("face" "grin") "Smileys & People"
  "face-positive")
 ...)

πŸ˜„ Groups and Subgroups

Those are appears in Full Emoji Data, for instance Smileys & People is a group and face-positive is a subgroup.

You can get emoji by group name and subgroup name with API cl-emoji:group and cl-emoji:subgroup. see also Full Emoji Data

πŸ˜„ Search

If you want to search available annotations/groups/subgroups, then.

CL-USER> (emoji:group-apropos "foo")

CL-USER> (emoji:subgroup-apropos "bar")

CL-USER> (emoji:annotation-apropos "bazz")

πŸ˜† Author

πŸ‘Œ Copyright

Copyright (c) 2015 asciian (asciian@outlook.jp)

  • src/cl-emoji.lisp is licensed under the MIT License
  • data/emoji-list.lisp is licensed under the Unicoded License