# emoji-data.txt
# Date: 2017-06-19, 11:13:24 GMT
# © 2017 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Emoji Data for UTR #51
# Version: 5.0
#
# For documentation and usage, see http://www.unicode.org/reports/tr51
#
# Warning: the format has changed from Version 1.0
# Format: 
# codepoint(s) ; property(=Yes) # comments 
#
# Characters and sequences are listed in code point order. Users should be shown a more natural order.
# See the CLDR collation order for Emoji.


# ================================================

# All omitted code points have Emoji=No 
# @missing: 0000..10FFFF  ; Emoji ; No

0023          ; Emoji                #  1.1  [1] (#️)       number sign
002A          ; Emoji                #  1.1  [1] (*️)       asterisk
0030..0039    ; Emoji                #  1.1 [10] (0️..9️)    digit zero..digit nine
00A9          ; Emoji                #  1.1  [1] (©️)       copyright
00AE          ; Emoji                #  1.1  [1] (®️)       registered
203C          ; Emoji                #  1.1  [1] (‼️)       double exclamation mark
2049          ; Emoji                #  3.0  [1] (⁉️)       exclamation question mark
2122          ; Emoji                #  1.1  [1] (™️)       trade mark
2139          ; Emoji                #  3.0  [1] (ℹ️)       information
2194..2199    ; Emoji                #  1.1  [6] (↔️..↙️)    left-right arrow..down-left arrow
21A9..21AA    ; Emoji                #  1.1  [2] (↩️..↪️)    right arrow curving left..left arrow curving right
231A..231B    ; Emoji                #  1.1  [2] (⌚..⌛)    watch..hourglass done
2328          ; Emoji                #  1.1  [1] (⌨️)       keyboard
23CF          ; Emoji                #  4.0  [1] (⏏️)       eject button
23E9..23F3    ; Emoji                #  6.0 [11] (⏩..⏳)    fast-forward button..hourglass not done
23F8..23FA    ; Emoji                #  7.0  [3] (⏸️..⏺️)    pause button..record button
24C2          ; Emoji                #  1.1  [1] (Ⓜ️)       circled M
25AA..25AB    ; Emoji                #  1.1  [2] (▪️..▫️)    black small square..white small square
25B6          ; Emoji                #  1.1  [1] (▶️)       play button
25C0          ; Emoji                #  1.1  [1] (◀️)       reverse button
25FB..25FE    ; Emoji                #  3.2  [4] (◻️..◾)    white medium square..black medium-small square
2600..2604    ; Emoji                #  1.1  [5] (☀️..☄️)    sun..comet
260E          ; Emoji                #  1.1  [1] (☎️)       telephone
2611          ; Emoji                #  1.1  [1] (☑️)       ballot box with check
2614..2615    ; Emoji                #  4.0  [2] (☔..☕)    umbrella with rain drops..hot beverage
2618          ; Emoji                #  4.1  [1] (☘️)       shamrock
261D          ; Emoji                #  1.1  [1] (☝️)       index pointing up
2620          ; Emoji                #  1.1  [1] (☠️)       skull and crossbones
2622..2623    ; Emoji                #  1.1  [2] (☢️..☣️)    radioactive..biohazard
2626          ; Emoji                #  1.1  [1] (☦️)       orthodox cross
262A          ; Emoji                #  1.1  [1] (☪️)       star and crescent
262E..262F    ; Emoji                #  1.1  [2] (☮️..☯️)    peace symbol..yin yang
2638..263A    ; Emoji                #  1.1  [3] (☸️..☺️)    wheel of dharma..smiling face
2640          ; Emoji                #  1.1  [1] (♀️)       female sign
2642          ; Emoji                #  1.1  [1] (♂️)       male sign
2648..2653    ; Emoji                #  1.1 [12] (♈..♓)    Aries..Pisces
2660          ; Emoji                #  1.1  [1] (♠️)       spade suit
2663          ; Emoji                #  1.1  [1] (♣️)       club suit
2665..2666    ; Emoji                #  1.1  [2] (♥️..♦️)    heart suit..diamond suit
2668          ; Emoji                #  1.1  [1] (♨️)       hot springs
267B          ; Emoji                #  3.2  [1] (♻️)       recycling symbol
267F          ; Emoji                #  4.1  [1] (♿)       wheelchair symbol
2692..2697    ; Emoji                #  4.1  [6] (⚒️..⚗️)    hammer and pick..alembic
2699          ; Emoji                #  4.1  [1] (⚙️)       gear
269B..269C    ; Emoji                #  4.1  [2] (⚛️..⚜️)    atom symbol..fleur-de-lis
26A0..26A1    ; Emoji                #  4.0  [2] (⚠️..⚡)    warning..high voltage
26AA..26AB    ; Emoji                #  4.1  [2] (⚪..⚫)    white circle..black circle
26B0..26B1    ; Emoji                #  4.1  [2] (⚰️..⚱️)    coffin..funeral urn
26BD..26BE    ; Emoji                #  5.2  [2] (⚽..⚾)    soccer ball..baseball
26C4..26C5    ; Emoji                #  5.2  [2] (⛄..⛅)    snowman without snow..sun behind cloud
26C8          ; Emoji                #  5.2  [1] (⛈️)       cloud with lightning and rain
26CE          ; Emoji                #  6.0  [1] (⛎)       Ophiuchus
26CF          ; Emoji                #  5.2  [1] (⛏️)       pick
26D1          ; Emoji                #  5.2  [1] (⛑️)       rescue worker’s helmet
26D3..26D4    ; Emoji                #  5.2  [2] (⛓️..⛔)    chains..no entry
26E9..26EA    ; Emoji                #  5.2  [2] (⛩️..⛪)    shinto shrine..church
26F0..26F5    ; Emoji                #  5.2  [6] (⛰️..⛵)    mountain..sailboat
26F7..26FA    ; Emoji                #  5.2  [4] (⛷️..⛺)    skier..tent
26FD          ; Emoji                #  5.2  [1] (⛽)       fuel pump
2702          ; Emoji                #  1.1  [1] (✂️)       scissors
2705          ; Emoji                #  6.0  [1] (✅)       white heavy check mark
2708..2709    ; Emoji                #  1.1  [2] (✈️..✉️)    airplane..envelope
270A..270B    ; Emoji                #  6.0  [2] (✊..✋)    raised fist..raised hand
270C..270D    ; Emoji                #  1.1  [2] (✌️..✍️)    victory hand..writing hand
270F          ; Emoji                #  1.1  [1] (✏️)       pencil
2712          ; Emoji                #  1.1  [1] (✒️)       black nib
2714          ; Emoji                #  1.1  [1] (✔️)       heavy check mark
2716          ; Emoji                #  1.1  [1] (✖️)       heavy multiplication x
271D          ; Emoji                #  1.1  [1] (✝️)       latin cross
2721          ; Emoji                #  1.1  [1] (✡️)       star of David
2728          ; Emoji                #  6.0  [1] (✨)       sparkles
2733..2734    ; Emoji                #  1.1  [2] (✳️..✴️)    eight-spoked asterisk..eight-pointed star
2744          ; Emoji                #  1.1  [1] (❄️)       snowflake
2747          ; Emoji                #  1.1  [1] (❇️)       sparkle
274C          ; Emoji                #  6.0  [1] (❌)       cross mark
274E          ; Emoji                #  6.0  [1] (❎)       cross mark button
2753..2755    ; Emoji                #  6.0  [3] (❓..❕)    question mark..white exclamation mark
2757          ; Emoji                #  5.2  [1] (❗)       exclamation mark
2763..2764    ; Emoji                #  1.1  [2] (❣️..❤️)    heavy heart exclamation..red heart
2795..2797    ; Emoji                #  6.0  [3] (➕..➗)    heavy plus sign..heavy division sign
27A1          ; Emoji                #  1.1  [1] (➡️)       right arrow
27B0          ; Emoji                #  6.0  [1] (➰)       curly loop
27BF          ; Emoji                #  6.0  [1] (➿)       double curly loop
2934..2935    ; Emoji                #  3.2  [2] (⤴️..⤵️)    right arrow curving up..right arrow curving down
2B05..2B07    ; Emoji                #  4.0  [3] (⬅️..⬇️)    left arrow..down arrow
2B1B..2B1C    ; Emoji                #  5.1  [2] (⬛..⬜)    black large square..white large square
2B50          ; Emoji                #  5.1  [1] (⭐)       white medium star
2B55          ; Emoji                #  5.2  [1] (⭕)       heavy large circle
3030          ; Emoji                #  1.1  [1] (〰️)       wavy dash
303D          ; Emoji                #  3.2  [1] (〽️)       part alternation mark
3297          ; Emoji                #  1.1  [1] (㊗️)       Japanese “congratulations” button
3299          ; Emoji                #  1.1  [1] (㊙️)       Japanese “secret” button
1F004         ; Emoji                #  5.1  [1] (🀄)       mahjong red dragon
1F0CF         ; Emoji                #  6.0  [1] (🃏)       joker
1F170..1F171  ; Emoji                #  6.0  [2] (🅰️..🅱️)    A button (blood type)..B button (blood type)
1F17E         ; Emoji                #  6.0  [1] (🅾️)       O button (blood type)
1F17F         ; Emoji                #  5.2  [1] (🅿️)       P button
1F18E         ; Emoji                #  6.0  [1] (🆎)       AB button (blood type)
1F191..1F19A  ; Emoji                #  6.0 [10] (🆑..🆚)    CL button..VS button
1F1E6..1F1FF  ; Emoji                #  6.0 [26] (🇦..🇿)    regional indicator symbol letter a..regional indicator symbol letter z
1F201..1F202  ; Emoji                #  6.0  [2] (🈁..🈂️)    Japanese “here” button..Japanese “service charge” button
1F21A         ; Emoji                #  5.2  [1] (🈚)       Japanese “free of charge” button
1F22F         ; Emoji                #  5.2  [1] (🈯)       Japanese “reserved” button
1F232..1F23A  ; Emoji                #  6.0  [9] (🈲..🈺)    Japanese “prohibited” button..Japanese “open for business” button
1F250..1F251  ; Emoji                #  6.0  [2] (🉐..🉑)    Japanese “bargain” button..Japanese “acceptable” button
1F300..1F320  ; Emoji                #  6.0 [33] (🌀..🌠)    cyclone..shooting star
1F321         ; Emoji                #  7.0  [1] (🌡️)       thermometer
1F324..1F32C  ; Emoji                #  7.0  [9] (🌤️..🌬️)    sun behind small cloud..wind face
1F32D..1F32F  ; Emoji                #  8.0  [3] (🌭..🌯)    hot dog..burrito
1F330..1F335  ; Emoji                #  6.0  [6] (🌰..🌵)    chestnut..cactus
1F336         ; Emoji                #  7.0  [1] (🌶️)       hot pepper
1F337..1F37C  ; Emoji                #  6.0 [70] (🌷..🍼)    tulip..baby bottle
1F37D         ; Emoji                #  7.0  [1] (🍽️)       fork and knife with plate
1F37E..1F37F  ; Emoji                #  8.0  [2] (🍾..🍿)    bottle with popping cork..popcorn
1F380..1F393  ; Emoji                #  6.0 [20] (🎀..🎓)    ribbon..graduation cap
1F396..1F397  ; Emoji                #  7.0  [2] (🎖️..🎗️)    military medal..reminder ribbon
1F399..1F39B  ; Emoji                #  7.0  [3] (🎙️..🎛️)    studio microphone..control knobs
1F39E..1F39F  ; Emoji                #  7.0  [2] (🎞️..🎟️)    film frames..admission tickets
1F3A0..1F3C4  ; Emoji                #  6.0 [37] (🎠..🏄)    carousel horse..person surfing
1F3C5         ; Emoji                #  7.0  [1] (🏅)       sports medal
1F3C6..1F3CA  ; Emoji                #  6.0  [5] (🏆..🏊)    trophy..person swimming
1F3CB..1F3CE  ; Emoji                #  7.0  [4] (🏋️..🏎️)    person lifting weights..racing car
1F3CF..1F3D3  ; Emoji                #  8.0  [5] (🏏..🏓)    cricket game..ping pong
1F3D4..1F3DF  ; Emoji                #  7.0 [12] (🏔️..🏟️)    snow-capped mountain..stadium
1F3E0..1F3F0  ; Emoji                #  6.0 [17] (🏠..🏰)    house..castle
1F3F3..1F3F5  ; Emoji                #  7.0  [3] (🏳️..🏵️)    white flag..rosette
1F3F7         ; Emoji                #  7.0  [1] (🏷️)       label
1F3F8..1F3FF  ; Emoji                #  8.0  [8] (🏸..🏿)    badminton..dark skin tone
1F400..1F43E  ; Emoji                #  6.0 [63] (🐀..🐾)    rat..paw prints
1F43F         ; Emoji                #  7.0  [1] (🐿️)       chipmunk
1F440         ; Emoji                #  6.0  [1] (👀)       eyes
1F441         ; Emoji                #  7.0  [1] (👁️)       eye
1F442..1F4F7  ; Emoji                #  6.0[182] (👂..📷)    ear..camera
1F4F8         ; Emoji                #  7.0  [1] (📸)       camera with flash
1F4F9..1F4FC  ; Emoji                #  6.0  [4] (📹..📼)    video camera..videocassette
1F4FD         ; Emoji                #  7.0  [1] (📽️)       film projector
1F4FF         ; Emoji                #  8.0  [1] (📿)       prayer beads
1F500..1F53D  ; Emoji                #  6.0 [62] (🔀..🔽)    shuffle tracks button..down button
1F549..1F54A  ; Emoji                #  7.0  [2] (🕉️..🕊️)    om..dove
1F54B..1F54E  ; Emoji                #  8.0  [4] (🕋..🕎)    kaaba..menorah
1F550..1F567  ; Emoji                #  6.0 [24] (🕐..🕧)    one o’clock..twelve-thirty
1F56F..1F570  ; Emoji                #  7.0  [2] (🕯️..🕰️)    candle..mantelpiece clock
1F573..1F579  ; Emoji                #  7.0  [7] (🕳️..🕹️)    hole..joystick
1F57A         ; Emoji                #  9.0  [1] (🕺)       man dancing
1F587         ; Emoji                #  7.0  [1] (🖇️)       linked paperclips
1F58A..1F58D  ; Emoji                #  7.0  [4] (🖊️..🖍️)    pen..crayon
1F590         ; Emoji                #  7.0  [1] (🖐️)       hand with fingers splayed
1F595..1F596  ; Emoji                #  7.0  [2] (🖕..🖖)    middle finger..vulcan salute
1F5A4         ; Emoji                #  9.0  [1] (🖤)       black heart
1F5A5         ; Emoji                #  7.0  [1] (🖥️)       desktop computer
1F5A8         ; Emoji                #  7.0  [1] (🖨️)       printer
1F5B1..1F5B2  ; Emoji                #  7.0  [2] (🖱️..🖲️)    computer mouse..trackball
1F5BC         ; Emoji                #  7.0  [1] (🖼️)       framed picture
1F5C2..1F5C4  ; Emoji                #  7.0  [3] (🗂️..🗄️)    card index dividers..file cabinet
1F5D1..1F5D3  ; Emoji                #  7.0  [3] (🗑️..🗓️)    wastebasket..spiral calendar
1F5DC..1F5DE  ; Emoji                #  7.0  [3] (🗜️..🗞️)    clamp..rolled-up newspaper
1F5E1         ; Emoji                #  7.0  [1] (🗡️)       dagger
1F5E3         ; Emoji                #  7.0  [1] (🗣️)       speaking head
1F5E8         ; Emoji                #  7.0  [1] (🗨️)       left speech bubble
1F5EF         ; Emoji                #  7.0  [1] (🗯️)       right anger bubble
1F5F3         ; Emoji                #  7.0  [1] (🗳️)       ballot box with ballot
1F5FA         ; Emoji                #  7.0  [1] (🗺️)       world map
1F5FB..1F5FF  ; Emoji                #  6.0  [5] (🗻..🗿)    mount fuji..moai
1F600         ; Emoji                #  6.1  [1] (😀)       grinning face
1F601..1F610  ; Emoji                #  6.0 [16] (😁..😐)    beaming face with smiling eyes..neutral face
1F611         ; Emoji                #  6.1  [1] (😑)       expressionless face
1F612..1F614  ; Emoji                #  6.0  [3] (😒..😔)    unamused face..pensive face
1F615         ; Emoji                #  6.1  [1] (😕)       confused face
1F616         ; Emoji                #  6.0  [1] (😖)       confounded face
1F617         ; Emoji                #  6.1  [1] (😗)       kissing face
1F618         ; Emoji                #  6.0  [1] (😘)       face blowing a kiss
1F619         ; Emoji                #  6.1  [1] (😙)       kissing face with smiling eyes
1F61A         ; Emoji                #  6.0  [1] (😚)       kissing face with closed eyes
1F61B         ; Emoji                #  6.1  [1] (😛)       face with tongue
1F61C..1F61E  ; Emoji                #  6.0  [3] (😜..😞)    winking face with tongue..disappointed face
1F61F         ; Emoji                #  6.1  [1] (😟)       worried face
1F620..1F625  ; Emoji                #  6.0  [6] (😠..😥)    angry face..sad but relieved face
1F626..1F627  ; Emoji                #  6.1  [2] (😦..😧)    frowning face with open mouth..anguished face
1F628..1F62B  ; Emoji                #  6.0  [4] (😨..😫)    fearful face..tired face
1F62C         ; Emoji                #  6.1  [1] (😬)       grimacing face
1F62D         ; Emoji                #  6.0  [1] (😭)       loudly crying face
1F62E..1F62F  ; Emoji                #  6.1  [2] (😮..😯)    face with open mouth..hushed face
1F630..1F633  ; Emoji                #  6.0  [4] (😰..😳)    anxious face with sweat..flushed face
1F634         ; Emoji                #  6.1  [1] (😴)       sleeping face
1F635..1F640  ; Emoji                #  6.0 [12] (😵..🙀)    dizzy face..weary cat face
1F641..1F642  ; Emoji                #  7.0  [2] (🙁..🙂)    slightly frowning face..slightly smiling face
1F643..1F644  ; Emoji                #  8.0  [2] (🙃..🙄)    upside-down face..face with rolling eyes
1F645..1F64F  ; Emoji                #  6.0 [11] (🙅..🙏)    person gesturing NO..folded hands
1F680..1F6C5  ; Emoji                #  6.0 [70] (🚀..🛅)    rocket..left luggage
1F6CB..1F6CF  ; Emoji                #  7.0  [5] (🛋️..🛏️)    couch and lamp..bed
1F6D0         ; Emoji                #  8.0  [1] (🛐)       place of worship
1F6D1..1F6D2  ; Emoji                #  9.0  [2] (🛑..🛒)    stop sign..shopping cart
1F6E0..1F6E5  ; Emoji                #  7.0  [6] (🛠️..🛥️)    hammer and wrench..motor boat
1F6E9         ; Emoji                #  7.0  [1] (🛩️)       small airplane
1F6EB..1F6EC  ; Emoji                #  7.0  [2] (🛫..🛬)    airplane departure..airplane arrival
1F6F0         ; Emoji                #  7.0  [1] (🛰️)       satellite
1F6F3         ; Emoji                #  7.0  [1] (🛳️)       passenger ship
1F6F4..1F6F6  ; Emoji                #  9.0  [3] (🛴..🛶)    kick scooter..canoe
1F6F7..1F6F8  ; Emoji                # 10.0  [2] (🛷..🛸)    sled..flying saucer
1F910..1F918  ; Emoji                #  8.0  [9] (🤐..🤘)    zipper-mouth face..sign of the horns
1F919..1F91E  ; Emoji                #  9.0  [6] (🤙..🤞)    call me hand..crossed fingers
1F91F         ; Emoji                # 10.0  [1] (🤟)       love-you gesture
1F920..1F927  ; Emoji                #  9.0  [8] (🤠..🤧)    cowboy hat face..sneezing face
1F928..1F92F  ; Emoji                # 10.0  [8] (🤨..🤯)    face with raised eyebrow..exploding head
1F930         ; Emoji                #  9.0  [1] (🤰)       pregnant woman
1F931..1F932  ; Emoji                # 10.0  [2] (🤱..🤲)    breast-feeding..palms up together
1F933..1F93A  ; Emoji                #  9.0  [8] (🤳..🤺)    selfie..person fencing
1F93C..1F93E  ; Emoji                #  9.0  [3] (🤼..🤾)    people wrestling..person playing handball
1F940..1F945  ; Emoji                #  9.0  [6] (🥀..🥅)    wilted flower..goal net
1F947..1F94B  ; Emoji                #  9.0  [5] (🥇..🥋)    1st place medal..martial arts uniform
1F94C         ; Emoji                # 10.0  [1] (🥌)       curling stone
1F950..1F95E  ; Emoji                #  9.0 [15] (🥐..🥞)    croissant..pancakes
1F95F..1F96B  ; Emoji                # 10.0 [13] (🥟..🥫)    dumpling..canned food
1F980..1F984  ; Emoji                #  8.0  [5] (🦀..🦄)    crab..unicorn face
1F985..1F991  ; Emoji                #  9.0 [13] (🦅..🦑)    eagle..squid
1F992..1F997  ; Emoji                # 10.0  [6] (🦒..🦗)    giraffe..cricket
1F9C0         ; Emoji                #  8.0  [1] (🧀)       cheese wedge
1F9D0..1F9E6  ; Emoji                # 10.0 [23] (🧐..🧦)    face with monocle..socks

# Total elements: 1182

# ================================================

# All omitted code points have Emoji_Presentation=No 
# @missing: 0000..10FFFF  ; Emoji_Presentation ; No

231A..231B    ; Emoji_Presentation   #  1.1  [2] (⌚..⌛)    watch..hourglass done
23E9..23EC    ; Emoji_Presentation   #  6.0  [4] (⏩..⏬)    fast-forward button..fast down button
23F0          ; Emoji_Presentation   #  6.0  [1] (⏰)       alarm clock
23F3          ; Emoji_Presentation   #  6.0  [1] (⏳)       hourglass not done
25FD..25FE    ; Emoji_Presentation   #  3.2  [2] (◽..◾)    white medium-small square..black medium-small square
2614..2615    ; Emoji_Presentation   #  4.0  [2] (☔..☕)    umbrella with rain drops..hot beverage
2648..2653    ; Emoji_Presentation   #  1.1 [12] (♈..♓)    Aries..Pisces
267F          ; Emoji_Presentation   #  4.1  [1] (♿)       wheelchair symbol
2693          ; Emoji_Presentation   #  4.1  [1] (⚓)       anchor
26A1          ; Emoji_Presentation   #  4.0  [1] (⚡)       high voltage
26AA..26AB    ; Emoji_Presentation   #  4.1  [2] (⚪..⚫)    white circle..black circle
26BD..26BE    ; Emoji_Presentation   #  5.2  [2] (⚽..⚾)    soccer ball..baseball
26C4..26C5    ; Emoji_Presentation   #  5.2  [2] (⛄..⛅)    snowman without snow..sun behind cloud
26CE          ; Emoji_Presentation   #  6.0  [1] (⛎)       Ophiuchus
26D4          ; Emoji_Presentation   #  5.2  [1] (⛔)       no entry
26EA          ; Emoji_Presentation   #  5.2  [1] (⛪)       church
26F2..26F3    ; Emoji_Presentation   #  5.2  [2] (⛲..⛳)    fountain..flag in hole
26F5          ; Emoji_Presentation   #  5.2  [1] (⛵)       sailboat
26FA          ; Emoji_Presentation   #  5.2  [1] (⛺)       tent
26FD          ; Emoji_Presentation   #  5.2  [1] (⛽)       fuel pump
2705          ; Emoji_Presentation   #  6.0  [1] (✅)       white heavy check mark
270A..270B    ; Emoji_Presentation   #  6.0  [2] (✊..✋)    raised fist..raised hand
2728          ; Emoji_Presentation   #  6.0  [1] (✨)       sparkles
274C          ; Emoji_Presentation   #  6.0  [1] (❌)       cross mark
274E          ; Emoji_Presentation   #  6.0  [1] (❎)       cross mark button
2753..2755    ; Emoji_Presentation   #  6.0  [3] (❓..❕)    question mark..white exclamation mark
2757          ; Emoji_Presentation   #  5.2  [1] (❗)       exclamation mark
2795..2797    ; Emoji_Presentation   #  6.0  [3] (➕..➗)    heavy plus sign..heavy division sign
27B0          ; Emoji_Presentation   #  6.0  [1] (➰)       curly loop
27BF          ; Emoji_Presentation   #  6.0  [1] (➿)       double curly loop
2B1B..2B1C    ; Emoji_Presentation   #  5.1  [2] (⬛..⬜)    black large square..white large square
2B50          ; Emoji_Presentation   #  5.1  [1] (⭐)       white medium star
2B55          ; Emoji_Presentation   #  5.2  [1] (⭕)       heavy large circle
1F004         ; Emoji_Presentation   #  5.1  [1] (🀄)       mahjong red dragon
1F0CF         ; Emoji_Presentation   #  6.0  [1] (🃏)       joker
1F18E         ; Emoji_Presentation   #  6.0  [1] (🆎)       AB button (blood type)
1F191..1F19A  ; Emoji_Presentation   #  6.0 [10] (🆑..🆚)    CL button..VS button
1F1E6..1F1FF  ; Emoji_Presentation   #  6.0 [26] (🇦..🇿)    regional indicator symbol letter a..regional indicator symbol letter z
1F201         ; Emoji_Presentation   #  6.0  [1] (🈁)       Japanese “here” button
1F21A         ; Emoji_Presentation   #  5.2  [1] (🈚)       Japanese “free of charge” button
1F22F         ; Emoji_Presentation   #  5.2  [1] (🈯)       Japanese “reserved” button
1F232..1F236  ; Emoji_Presentation   #  6.0  [5] (🈲..🈶)    Japanese “prohibited” button..Japanese “not free of charge” button
1F238..1F23A  ; Emoji_Presentation   #  6.0  [3] (🈸..🈺)    Japanese “application” button..Japanese “open for business” button
1F250..1F251  ; Emoji_Presentation   #  6.0  [2] (🉐..🉑)    Japanese “bargain” button..Japanese “acceptable” button
1F300..1F320  ; Emoji_Presentation   #  6.0 [33] (🌀..🌠)    cyclone..shooting star
1F32D..1F32F  ; Emoji_Presentation   #  8.0  [3] (🌭..🌯)    hot dog..burrito
1F330..1F335  ; Emoji_Presentation   #  6.0  [6] (🌰..🌵)    chestnut..cactus
1F337..1F37C  ; Emoji_Presentation   #  6.0 [70] (🌷..🍼)    tulip..baby bottle
1F37E..1F37F  ; Emoji_Presentation   #  8.0  [2] (🍾..🍿)    bottle with popping cork..popcorn
1F380..1F393  ; Emoji_Presentation   #  6.0 [20] (🎀..🎓)    ribbon..graduation cap
1F3A0..1F3C4  ; Emoji_Presentation   #  6.0 [37] (🎠..🏄)    carousel horse..person surfing
1F3C5         ; Emoji_Presentation   #  7.0  [1] (🏅)       sports medal
1F3C6..1F3CA  ; Emoji_Presentation   #  6.0  [5] (🏆..🏊)    trophy..person swimming
1F3CF..1F3D3  ; Emoji_Presentation   #  8.0  [5] (🏏..🏓)    cricket game..ping pong
1F3E0..1F3F0  ; Emoji_Presentation   #  6.0 [17] (🏠..🏰)    house..castle
1F3F4         ; Emoji_Presentation   #  7.0  [1] (🏴)       black flag
1F3F8..1F3FF  ; Emoji_Presentation   #  8.0  [8] (🏸..🏿)    badminton..dark skin tone
1F400..1F43E  ; Emoji_Presentation   #  6.0 [63] (🐀..🐾)    rat..paw prints
1F440         ; Emoji_Presentation   #  6.0  [1] (👀)       eyes
1F442..1F4F7  ; Emoji_Presentation   #  6.0[182] (👂..📷)    ear..camera
1F4F8         ; Emoji_Presentation   #  7.0  [1] (📸)       camera with flash
1F4F9..1F4FC  ; Emoji_Presentation   #  6.0  [4] (📹..📼)    video camera..videocassette
1F4FF         ; Emoji_Presentation   #  8.0  [1] (📿)       prayer beads
1F500..1F53D  ; Emoji_Presentation   #  6.0 [62] (🔀..🔽)    shuffle tracks button..down button
1F54B..1F54E  ; Emoji_Presentation   #  8.0  [4] (🕋..🕎)    kaaba..menorah
1F550..1F567  ; Emoji_Presentation   #  6.0 [24] (🕐..🕧)    one o’clock..twelve-thirty
1F57A         ; Emoji_Presentation   #  9.0  [1] (🕺)       man dancing
1F595..1F596  ; Emoji_Presentation   #  7.0  [2] (🖕..🖖)    middle finger..vulcan salute
1F5A4         ; Emoji_Presentation   #  9.0  [1] (🖤)       black heart
1F5FB..1F5FF  ; Emoji_Presentation   #  6.0  [5] (🗻..🗿)    mount fuji..moai
1F600         ; Emoji_Presentation   #  6.1  [1] (😀)       grinning face
1F601..1F610  ; Emoji_Presentation   #  6.0 [16] (😁..😐)    beaming face with smiling eyes..neutral face
1F611         ; Emoji_Presentation   #  6.1  [1] (😑)       expressionless face
1F612..1F614  ; Emoji_Presentation   #  6.0  [3] (😒..😔)    unamused face..pensive face
1F615         ; Emoji_Presentation   #  6.1  [1] (😕)       confused face
1F616         ; Emoji_Presentation   #  6.0  [1] (😖)       confounded face
1F617         ; Emoji_Presentation   #  6.1  [1] (😗)       kissing face
1F618         ; Emoji_Presentation   #  6.0  [1] (😘)       face blowing a kiss
1F619         ; Emoji_Presentation   #  6.1  [1] (😙)       kissing face with smiling eyes
1F61A         ; Emoji_Presentation   #  6.0  [1] (😚)       kissing face with closed eyes
1F61B         ; Emoji_Presentation   #  6.1  [1] (😛)       face with tongue
1F61C..1F61E  ; Emoji_Presentation   #  6.0  [3] (😜..😞)    winking face with tongue..disappointed face
1F61F         ; Emoji_Presentation   #  6.1  [1] (😟)       worried face
1F620..1F625  ; Emoji_Presentation   #  6.0  [6] (😠..😥)    angry face..sad but relieved face
1F626..1F627  ; Emoji_Presentation   #  6.1  [2] (😦..😧)    frowning face with open mouth..anguished face
1F628..1F62B  ; Emoji_Presentation   #  6.0  [4] (😨..😫)    fearful face..tired face
1F62C         ; Emoji_Presentation   #  6.1  [1] (😬)       grimacing face
1F62D         ; Emoji_Presentation   #  6.0  [1] (😭)       loudly crying face
1F62E..1F62F  ; Emoji_Presentation   #  6.1  [2] (😮..😯)    face with open mouth..hushed face
1F630..1F633  ; Emoji_Presentation   #  6.0  [4] (😰..😳)    anxious face with sweat..flushed face
1F634         ; Emoji_Presentation   #  6.1  [1] (😴)       sleeping face
1F635..1F640  ; Emoji_Presentation   #  6.0 [12] (😵..🙀)    dizzy face..weary cat face
1F641..1F642  ; Emoji_Presentation   #  7.0  [2] (🙁..🙂)    slightly frowning face..slightly smiling face
1F643..1F644  ; Emoji_Presentation   #  8.0  [2] (🙃..🙄)    upside-down face..face with rolling eyes
1F645..1F64F  ; Emoji_Presentation   #  6.0 [11] (🙅..🙏)    person gesturing NO..folded hands
1F680..1F6C5  ; Emoji_Presentation   #  6.0 [70] (🚀..🛅)    rocket..left luggage
1F6CC         ; Emoji_Presentation   #  7.0  [1] (🛌)       person in bed
1F6D0         ; Emoji_Presentation   #  8.0  [1] (🛐)       place of worship
1F6D1..1F6D2  ; Emoji_Presentation   #  9.0  [2] (🛑..🛒)    stop sign..shopping cart
1F6EB..1F6EC  ; Emoji_Presentation   #  7.0  [2] (🛫..🛬)    airplane departure..airplane arrival
1F6F4..1F6F6  ; Emoji_Presentation   #  9.0  [3] (🛴..🛶)    kick scooter..canoe
1F6F7..1F6F8  ; Emoji_Presentation   # 10.0  [2] (🛷..🛸)    sled..flying saucer
1F910..1F918  ; Emoji_Presentation   #  8.0  [9] (🤐..🤘)    zipper-mouth face..sign of the horns
1F919..1F91E  ; Emoji_Presentation   #  9.0  [6] (🤙..🤞)    call me hand..crossed fingers
1F91F         ; Emoji_Presentation   # 10.0  [1] (🤟)       love-you gesture
1F920..1F927  ; Emoji_Presentation   #  9.0  [8] (🤠..🤧)    cowboy hat face..sneezing face
1F928..1F92F  ; Emoji_Presentation   # 10.0  [8] (🤨..🤯)    face with raised eyebrow..exploding head
1F930         ; Emoji_Presentation   #  9.0  [1] (🤰)       pregnant woman
1F931..1F932  ; Emoji_Presentation   # 10.0  [2] (🤱..🤲)    breast-feeding..palms up together
1F933..1F93A  ; Emoji_Presentation   #  9.0  [8] (🤳..🤺)    selfie..person fencing
1F93C..1F93E  ; Emoji_Presentation   #  9.0  [3] (🤼..🤾)    people wrestling..person playing handball
1F940..1F945  ; Emoji_Presentation   #  9.0  [6] (🥀..🥅)    wilted flower..goal net
1F947..1F94B  ; Emoji_Presentation   #  9.0  [5] (🥇..🥋)    1st place medal..martial arts uniform
1F94C         ; Emoji_Presentation   # 10.0  [1] (🥌)       curling stone
1F950..1F95E  ; Emoji_Presentation   #  9.0 [15] (🥐..🥞)    croissant..pancakes
1F95F..1F96B  ; Emoji_Presentation   # 10.0 [13] (🥟..🥫)    dumpling..canned food
1F980..1F984  ; Emoji_Presentation   #  8.0  [5] (🦀..🦄)    crab..unicorn face
1F985..1F991  ; Emoji_Presentation   #  9.0 [13] (🦅..🦑)    eagle..squid
1F992..1F997  ; Emoji_Presentation   # 10.0  [6] (🦒..🦗)    giraffe..cricket
1F9C0         ; Emoji_Presentation   #  8.0  [1] (🧀)       cheese wedge
1F9D0..1F9E6  ; Emoji_Presentation   # 10.0 [23] (🧐..🧦)    face with monocle..socks

# Total elements: 966

# ================================================

# All omitted code points have Emoji_Modifier=No 
# @missing: 0000..10FFFF  ; Emoji_Modifier ; No

1F3FB..1F3FF  ; Emoji_Modifier       #  8.0  [5] (🏻..🏿)    light skin tone..dark skin tone

# Total elements: 5

# ================================================

# All omitted code points have Emoji_Modifier_Base=No 
# @missing: 0000..10FFFF  ; Emoji_Modifier_Base ; No

261D          ; Emoji_Modifier_Base  #  1.1  [1] (☝️)       index pointing up
26F9          ; Emoji_Modifier_Base  #  5.2  [1] (⛹️)       person bouncing ball
270A..270B    ; Emoji_Modifier_Base  #  6.0  [2] (✊..✋)    raised fist..raised hand
270C..270D    ; Emoji_Modifier_Base  #  1.1  [2] (✌️..✍️)    victory hand..writing hand
1F385         ; Emoji_Modifier_Base  #  6.0  [1] (🎅)       Santa Claus
1F3C2..1F3C4  ; Emoji_Modifier_Base  #  6.0  [3] (🏂..🏄)    snowboarder..person surfing
1F3C7         ; Emoji_Modifier_Base  #  6.0  [1] (🏇)       horse racing
1F3CA         ; Emoji_Modifier_Base  #  6.0  [1] (🏊)       person swimming
1F3CB..1F3CC  ; Emoji_Modifier_Base  #  7.0  [2] (🏋️..🏌️)    person lifting weights..person golfing
1F442..1F443  ; Emoji_Modifier_Base  #  6.0  [2] (👂..👃)    ear..nose
1F446..1F450  ; Emoji_Modifier_Base  #  6.0 [11] (👆..👐)    backhand index pointing up..open hands
1F466..1F469  ; Emoji_Modifier_Base  #  6.0  [4] (👦..👩)    boy..woman
1F46E         ; Emoji_Modifier_Base  #  6.0  [1] (👮)       police officer
1F470..1F478  ; Emoji_Modifier_Base  #  6.0  [9] (👰..👸)    bride with veil..princess
1F47C         ; Emoji_Modifier_Base  #  6.0  [1] (👼)       baby angel
1F481..1F483  ; Emoji_Modifier_Base  #  6.0  [3] (💁..💃)    person tipping hand..woman dancing
1F485..1F487  ; Emoji_Modifier_Base  #  6.0  [3] (💅..💇)    nail polish..person getting haircut
1F4AA         ; Emoji_Modifier_Base  #  6.0  [1] (💪)       flexed biceps
1F574..1F575  ; Emoji_Modifier_Base  #  7.0  [2] (🕴️..🕵️)    man in suit levitating..detective
1F57A         ; Emoji_Modifier_Base  #  9.0  [1] (🕺)       man dancing
1F590         ; Emoji_Modifier_Base  #  7.0  [1] (🖐️)       hand with fingers splayed
1F595..1F596  ; Emoji_Modifier_Base  #  7.0  [2] (🖕..🖖)    middle finger..vulcan salute
1F645..1F647  ; Emoji_Modifier_Base  #  6.0  [3] (🙅..🙇)    person gesturing NO..person bowing
1F64B..1F64F  ; Emoji_Modifier_Base  #  6.0  [5] (🙋..🙏)    person raising hand..folded hands
1F6A3         ; Emoji_Modifier_Base  #  6.0  [1] (🚣)       person rowing boat
1F6B4..1F6B6  ; Emoji_Modifier_Base  #  6.0  [3] (🚴..🚶)    person biking..person walking
1F6C0         ; Emoji_Modifier_Base  #  6.0  [1] (🛀)       person taking bath
1F6CC         ; Emoji_Modifier_Base  #  7.0  [1] (🛌)       person in bed
1F918         ; Emoji_Modifier_Base  #  8.0  [1] (🤘)       sign of the horns
1F919..1F91C  ; Emoji_Modifier_Base  #  9.0  [4] (🤙..🤜)    call me hand..right-facing fist
1F91E         ; Emoji_Modifier_Base  #  9.0  [1] (🤞)       crossed fingers
1F91F         ; Emoji_Modifier_Base  # 10.0  [1] (🤟)       love-you gesture
1F926         ; Emoji_Modifier_Base  #  9.0  [1] (🤦)       person facepalming
1F930         ; Emoji_Modifier_Base  #  9.0  [1] (🤰)       pregnant woman
1F931..1F932  ; Emoji_Modifier_Base  # 10.0  [2] (🤱..🤲)    breast-feeding..palms up together
1F933..1F939  ; Emoji_Modifier_Base  #  9.0  [7] (🤳..🤹)    selfie..person juggling
1F93D..1F93E  ; Emoji_Modifier_Base  #  9.0  [2] (🤽..🤾)    person playing water polo..person playing handball
1F9D1..1F9DD  ; Emoji_Modifier_Base  # 10.0 [13] (🧑..🧝)    adult..elf

# Total elements: 102

# ================================================

# All omitted code points have Emoji_Component=No 
# @missing: 0000..10FFFF  ; Emoji_Component ; No

0023          ; Emoji_Component      #  1.1  [1] (#️)       number sign
002A          ; Emoji_Component      #  1.1  [1] (*️)       asterisk
0030..0039    ; Emoji_Component      #  1.1 [10] (0️..9️)    digit zero..digit nine
1F1E6..1F1FF  ; Emoji_Component      #  6.0 [26] (🇦..🇿)    regional indicator symbol letter a..regional indicator symbol letter z
1F3FB..1F3FF  ; Emoji_Component      #  8.0  [5] (🏻..🏿)    light skin tone..dark skin tone

# Total elements: 43

#EOF
