diff --git a/.idea/dictionaries/tateisu.xml b/.idea/dictionaries/tateisu.xml index 321afc8f..f8d6a385 100644 --- a/.idea/dictionaries/tateisu.xml +++ b/.idea/dictionaries/tateisu.xml @@ -1,13 +1,18 @@ + dont + emojione favourited + noto nsfw reblog reblogged reblogs subwaytooter timelines + unfavourite + unreblog \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 46268037..92660f52 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -30,8 +30,10 @@ dependencies { compile 'com.android.support.constraint:constraint-layout:1.0.2' testCompile 'junit:junit:4.12' - compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.android.volley:volley:1.0.0' compile 'com.android.support:customtabs:24.2.0' + compile 'com.squareup.okhttp3:okhttp:3.7.0' + compile 'commons-io:commons-io:2.4' + compile 'uk.co.chrisjenx:calligraphy:2.2.0' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8d083c63..c3285c3d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -18,20 +18,43 @@ android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar" android:launchMode="singleTask" - android:windowSoftInputMode="adjustResize" + android:windowSoftInputMode="adjustPan" > + - + /> + + + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/NotoSansCJKjp-Regular.otf b/app/src/main/assets/NotoSansCJKjp-Regular.otf new file mode 100644 index 00000000..296fbebd Binary files /dev/null and b/app/src/main/assets/NotoSansCJKjp-Regular.otf differ diff --git a/app/src/main/assets/emojione_android.ttf b/app/src/main/assets/emojione_android.ttf new file mode 100644 index 00000000..4cd640d0 Binary files /dev/null and b/app/src/main/assets/emojione_android.ttf differ diff --git a/app/src/main/java/com/emojione/Emojione.java b/app/src/main/java/com/emojione/Emojione.java deleted file mode 100644 index 4e6bbfc1..00000000 --- a/app/src/main/java/com/emojione/Emojione.java +++ /dev/null @@ -1,2499 +0,0 @@ -package com.emojione; - -import android.os.Build; - -import java.util.HashMap; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public abstract class Emojione -{ - private static final HashMap _shortNameToUnicode = new HashMap(); - private static final Pattern SHORTNAME_PATTERN = Pattern.compile(":([-+\\w]+):"); - - /** - * Replace shortnames to unicode characters. - */ - public static String shortnameToUnicode(String input, boolean removeIfUnsupported) - { - Matcher matcher = SHORTNAME_PATTERN.matcher(input); - boolean supported = Build.VERSION.SDK_INT >= 16; - - while (matcher.find()) { - String unicode = _shortNameToUnicode.get(matcher.group(1)); - if (unicode == null) { - continue; - } - - if (supported) { - input = input.replace(":" + matcher.group(1) + ":", unicode); - } else if (!supported && removeIfUnsupported) { - input = input.replace(":" + matcher.group(1) + ":", ""); - } - } - - return input; - } - - private static void init1(){ - _shortNameToUnicode.put("interrobang", new String(new int[] {0x2049}, 0, 1)); - _shortNameToUnicode.put("tm", new String(new int[] {0x2122}, 0, 1)); - _shortNameToUnicode.put("information_source", new String(new int[] {0x2139}, 0, 1)); - _shortNameToUnicode.put("left_right_arrow", new String(new int[] {0x2194}, 0, 1)); - _shortNameToUnicode.put("arrow_up_down", new String(new int[] {0x2195}, 0, 1)); - _shortNameToUnicode.put("arrow_upper_left", new String(new int[] {0x2196}, 0, 1)); - _shortNameToUnicode.put("arrow_upper_right", new String(new int[] {0x2197}, 0, 1)); - _shortNameToUnicode.put("arrow_lower_right", new String(new int[] {0x2198}, 0, 1)); - _shortNameToUnicode.put("arrow_lower_left", new String(new int[] {0x2199}, 0, 1)); - _shortNameToUnicode.put("keyboard", new String(new int[] {0x2328}, 0, 1)); - _shortNameToUnicode.put("sunny", new String(new int[] {0x2600}, 0, 1)); - _shortNameToUnicode.put("cloud", new String(new int[] {0x2601}, 0, 1)); - _shortNameToUnicode.put("umbrella2", new String(new int[] {0x2602}, 0, 1)); - _shortNameToUnicode.put("snowman2", new String(new int[] {0x2603}, 0, 1)); - _shortNameToUnicode.put("comet", new String(new int[] {0x2604}, 0, 1)); - _shortNameToUnicode.put("ballot_box_with_check", new String(new int[] {0x2611}, 0, 1)); - _shortNameToUnicode.put("umbrella", new String(new int[] {0x2614}, 0, 1)); - _shortNameToUnicode.put("coffee", new String(new int[] {0x2615}, 0, 1)); - _shortNameToUnicode.put("shamrock", new String(new int[] {0x2618}, 0, 1)); - _shortNameToUnicode.put("skull_crossbones", new String(new int[] {0x2620}, 0, 1)); - _shortNameToUnicode.put("radioactive", new String(new int[] {0x2622}, 0, 1)); - _shortNameToUnicode.put("biohazard", new String(new int[] {0x2623}, 0, 1)); - _shortNameToUnicode.put("orthodox_cross", new String(new int[] {0x2626}, 0, 1)); - _shortNameToUnicode.put("wheel_of_dharma", new String(new int[] {0x2638}, 0, 1)); - _shortNameToUnicode.put("frowning2", new String(new int[] {0x2639}, 0, 1)); - _shortNameToUnicode.put("female_sign", new String(new int[] {0x2640}, 0, 1)); - _shortNameToUnicode.put("male_sign", new String(new int[] {0x2642}, 0, 1)); - _shortNameToUnicode.put("aries", new String(new int[] {0x2648}, 0, 1)); - _shortNameToUnicode.put("taurus", new String(new int[] {0x2649}, 0, 1)); - _shortNameToUnicode.put("sagittarius", new String(new int[] {0x2650}, 0, 1)); - _shortNameToUnicode.put("capricorn", new String(new int[] {0x2651}, 0, 1)); - _shortNameToUnicode.put("aquarius", new String(new int[] {0x2652}, 0, 1)); - _shortNameToUnicode.put("pisces", new String(new int[] {0x2653}, 0, 1)); - _shortNameToUnicode.put("spades", new String(new int[] {0x2660}, 0, 1)); - _shortNameToUnicode.put("clubs", new String(new int[] {0x2663}, 0, 1)); - _shortNameToUnicode.put("hearts", new String(new int[] {0x2665}, 0, 1)); - _shortNameToUnicode.put("diamonds", new String(new int[] {0x2666}, 0, 1)); - _shortNameToUnicode.put("hotsprings", new String(new int[] {0x2668}, 0, 1)); - _shortNameToUnicode.put("hammer_pick", new String(new int[] {0x2692}, 0, 1)); - _shortNameToUnicode.put("anchor", new String(new int[] {0x2693}, 0, 1)); - _shortNameToUnicode.put("crossed_swords", new String(new int[] {0x2694}, 0, 1)); - _shortNameToUnicode.put("medical_symbol", new String(new int[] {0x2695}, 0, 1)); - _shortNameToUnicode.put("scales", new String(new int[] {0x2696}, 0, 1)); - _shortNameToUnicode.put("alembic", new String(new int[] {0x2697}, 0, 1)); - _shortNameToUnicode.put("gear", new String(new int[] {0x2699}, 0, 1)); - _shortNameToUnicode.put("scissors", new String(new int[] {0x2702}, 0, 1)); - _shortNameToUnicode.put("white_check_mark", new String(new int[] {0x2705}, 0, 1)); - _shortNameToUnicode.put("airplane", new String(new int[] {0x2708}, 0, 1)); - _shortNameToUnicode.put("envelope", new String(new int[] {0x2709}, 0, 1)); - _shortNameToUnicode.put("black_nib", new String(new int[] {0x2712}, 0, 1)); - _shortNameToUnicode.put("heavy_check_mark", new String(new int[] {0x2714}, 0, 1)); - _shortNameToUnicode.put("heavy_multiplication_x", new String(new int[] {0x2716}, 0, 1)); - _shortNameToUnicode.put("star_of_david", new String(new int[] {0x2721}, 0, 1)); - _shortNameToUnicode.put("sparkles", new String(new int[] {0x2728}, 0, 1)); - _shortNameToUnicode.put("eight_spoked_asterisk", new String(new int[] {0x2733}, 0, 1)); - _shortNameToUnicode.put("eight_pointed_black_star", new String(new int[] {0x2734}, 0, 1)); - _shortNameToUnicode.put("snowflake", new String(new int[] {0x2744}, 0, 1)); - _shortNameToUnicode.put("sparkle", new String(new int[] {0x2747}, 0, 1)); - _shortNameToUnicode.put("question", new String(new int[] {0x2753}, 0, 1)); - _shortNameToUnicode.put("grey_question", new String(new int[] {0x2754}, 0, 1)); - _shortNameToUnicode.put("grey_exclamation", new String(new int[] {0x2755}, 0, 1)); - _shortNameToUnicode.put("exclamation", new String(new int[] {0x2757}, 0, 1)); - _shortNameToUnicode.put("heart_exclamation", new String(new int[] {0x2763}, 0, 1)); - _shortNameToUnicode.put("heart", new String(new int[] {0x2764}, 0, 1)); - _shortNameToUnicode.put("heavy_plus_sign", new String(new int[] {0x2795}, 0, 1)); - _shortNameToUnicode.put("heavy_minus_sign", new String(new int[] {0x2796}, 0, 1)); - _shortNameToUnicode.put("heavy_division_sign", new String(new int[] {0x2797}, 0, 1)); - _shortNameToUnicode.put("arrow_heading_up", new String(new int[] {0x2934}, 0, 1)); - _shortNameToUnicode.put("arrow_heading_down", new String(new int[] {0x2935}, 0, 1)); - _shortNameToUnicode.put("wavy_dash", new String(new int[] {0x3030}, 0, 1)); - _shortNameToUnicode.put("congratulations", new String(new int[] {0x3297}, 0, 1)); - _shortNameToUnicode.put("secret", new String(new int[] {0x3299}, 0, 1)); - _shortNameToUnicode.put("grinning", new String(new int[] {0x1f600}, 0, 1)); - _shortNameToUnicode.put("smiley", new String(new int[] {0x1f603}, 0, 1)); - _shortNameToUnicode.put("smile", new String(new int[] {0x1f604}, 0, 1)); - _shortNameToUnicode.put("grin", new String(new int[] {0x1f601}, 0, 1)); - _shortNameToUnicode.put("laughing", new String(new int[] {0x1f606}, 0, 1)); - _shortNameToUnicode.put("sweat_smile", new String(new int[] {0x1f605}, 0, 1)); - _shortNameToUnicode.put("joy", new String(new int[] {0x1f602}, 0, 1)); - _shortNameToUnicode.put("rofl", new String(new int[] {0x1f923}, 0, 1)); - _shortNameToUnicode.put("relaxed", new String(new int[] {0x263a}, 0, 1)); - _shortNameToUnicode.put("blush", new String(new int[] {0x1f60a}, 0, 1)); - _shortNameToUnicode.put("innocent", new String(new int[] {0x1f607}, 0, 1)); - _shortNameToUnicode.put("slight_smile", new String(new int[] {0x1f642}, 0, 1)); - _shortNameToUnicode.put("upside_down", new String(new int[] {0x1f643}, 0, 1)); - _shortNameToUnicode.put("wink", new String(new int[] {0x1f609}, 0, 1)); - _shortNameToUnicode.put("relieved", new String(new int[] {0x1f60c}, 0, 1)); - _shortNameToUnicode.put("heart_eyes", new String(new int[] {0x1f60d}, 0, 1)); - _shortNameToUnicode.put("kissing_heart", new String(new int[] {0x1f618}, 0, 1)); - _shortNameToUnicode.put("kissing", new String(new int[] {0x1f617}, 0, 1)); - _shortNameToUnicode.put("kissing_smiling_eyes", new String(new int[] {0x1f619}, 0, 1)); - _shortNameToUnicode.put("kissing_closed_eyes", new String(new int[] {0x1f61a}, 0, 1)); - _shortNameToUnicode.put("yum", new String(new int[] {0x1f60b}, 0, 1)); - _shortNameToUnicode.put("stuck_out_tongue_winking_eye", new String(new int[] {0x1f61c}, 0, 1)); - _shortNameToUnicode.put("stuck_out_tongue_closed_eyes", new String(new int[] {0x1f61d}, 0, 1)); - _shortNameToUnicode.put("stuck_out_tongue", new String(new int[] {0x1f61b}, 0, 1)); - _shortNameToUnicode.put("money_mouth", new String(new int[] {0x1f911}, 0, 1)); - _shortNameToUnicode.put("hugging", new String(new int[] {0x1f917}, 0, 1)); - _shortNameToUnicode.put("nerd", new String(new int[] {0x1f913}, 0, 1)); - _shortNameToUnicode.put("sunglasses", new String(new int[] {0x1f60e}, 0, 1)); - _shortNameToUnicode.put("clown", new String(new int[] {0x1f921}, 0, 1)); - _shortNameToUnicode.put("cowboy", new String(new int[] {0x1f920}, 0, 1)); - _shortNameToUnicode.put("smirk", new String(new int[] {0x1f60f}, 0, 1)); - _shortNameToUnicode.put("unamused", new String(new int[] {0x1f612}, 0, 1)); - _shortNameToUnicode.put("disappointed", new String(new int[] {0x1f61e}, 0, 1)); - _shortNameToUnicode.put("pensive", new String(new int[] {0x1f614}, 0, 1)); - _shortNameToUnicode.put("worried", new String(new int[] {0x1f61f}, 0, 1)); - _shortNameToUnicode.put("confused", new String(new int[] {0x1f615}, 0, 1)); - _shortNameToUnicode.put("slight_frown", new String(new int[] {0x1f641}, 0, 1)); - _shortNameToUnicode.put("persevere", new String(new int[] {0x1f623}, 0, 1)); - _shortNameToUnicode.put("confounded", new String(new int[] {0x1f616}, 0, 1)); - _shortNameToUnicode.put("tired_face", new String(new int[] {0x1f62b}, 0, 1)); - _shortNameToUnicode.put("weary", new String(new int[] {0x1f629}, 0, 1)); - _shortNameToUnicode.put("triumph", new String(new int[] {0x1f624}, 0, 1)); - _shortNameToUnicode.put("angry", new String(new int[] {0x1f620}, 0, 1)); - _shortNameToUnicode.put("rage", new String(new int[] {0x1f621}, 0, 1)); - _shortNameToUnicode.put("no_mouth", new String(new int[] {0x1f636}, 0, 1)); - _shortNameToUnicode.put("neutral_face", new String(new int[] {0x1f610}, 0, 1)); - _shortNameToUnicode.put("expressionless", new String(new int[] {0x1f611}, 0, 1)); - _shortNameToUnicode.put("hushed", new String(new int[] {0x1f62f}, 0, 1)); - _shortNameToUnicode.put("frowning", new String(new int[] {0x1f626}, 0, 1)); - _shortNameToUnicode.put("anguished", new String(new int[] {0x1f627}, 0, 1)); - _shortNameToUnicode.put("open_mouth", new String(new int[] {0x1f62e}, 0, 1)); - _shortNameToUnicode.put("astonished", new String(new int[] {0x1f632}, 0, 1)); - _shortNameToUnicode.put("dizzy_face", new String(new int[] {0x1f635}, 0, 1)); - _shortNameToUnicode.put("flushed", new String(new int[] {0x1f633}, 0, 1)); - _shortNameToUnicode.put("scream", new String(new int[] {0x1f631}, 0, 1)); - _shortNameToUnicode.put("fearful", new String(new int[] {0x1f628}, 0, 1)); - _shortNameToUnicode.put("cold_sweat", new String(new int[] {0x1f630}, 0, 1)); - _shortNameToUnicode.put("cry", new String(new int[] {0x1f622}, 0, 1)); - _shortNameToUnicode.put("disappointed_relieved", new String(new int[] {0x1f625}, 0, 1)); - _shortNameToUnicode.put("drooling_face", new String(new int[] {0x1f924}, 0, 1)); - _shortNameToUnicode.put("sob", new String(new int[] {0x1f62d}, 0, 1)); - _shortNameToUnicode.put("sweat", new String(new int[] {0x1f613}, 0, 1)); - _shortNameToUnicode.put("sleepy", new String(new int[] {0x1f62a}, 0, 1)); - _shortNameToUnicode.put("sleeping", new String(new int[] {0x1f634}, 0, 1)); - _shortNameToUnicode.put("rolling_eyes", new String(new int[] {0x1f644}, 0, 1)); - _shortNameToUnicode.put("thinking", new String(new int[] {0x1f914}, 0, 1)); - _shortNameToUnicode.put("lying_face", new String(new int[] {0x1f925}, 0, 1)); - _shortNameToUnicode.put("grimacing", new String(new int[] {0x1f62c}, 0, 1)); - _shortNameToUnicode.put("zipper_mouth", new String(new int[] {0x1f910}, 0, 1)); - _shortNameToUnicode.put("nauseated_face", new String(new int[] {0x1f922}, 0, 1)); - _shortNameToUnicode.put("sneezing_face", new String(new int[] {0x1f927}, 0, 1)); - _shortNameToUnicode.put("mask", new String(new int[] {0x1f637}, 0, 1)); - _shortNameToUnicode.put("thermometer_face", new String(new int[] {0x1f912}, 0, 1)); - _shortNameToUnicode.put("head_bandage", new String(new int[] {0x1f915}, 0, 1)); - _shortNameToUnicode.put("smiling_imp", new String(new int[] {0x1f608}, 0, 1)); - _shortNameToUnicode.put("imp", new String(new int[] {0x1f47f}, 0, 1)); - _shortNameToUnicode.put("japanese_ogre", new String(new int[] {0x1f479}, 0, 1)); - _shortNameToUnicode.put("japanese_goblin", new String(new int[] {0x1f47a}, 0, 1)); - _shortNameToUnicode.put("poop", new String(new int[] {0x1f4a9}, 0, 1)); - _shortNameToUnicode.put("ghost", new String(new int[] {0x1f47b}, 0, 1)); - } - private static void init2(){ - _shortNameToUnicode.put("skull", new String(new int[] {0x1f480}, 0, 1)); - _shortNameToUnicode.put("alien", new String(new int[] {0x1f47d}, 0, 1)); - _shortNameToUnicode.put("space_invader", new String(new int[] {0x1f47e}, 0, 1)); - _shortNameToUnicode.put("robot", new String(new int[] {0x1f916}, 0, 1)); - _shortNameToUnicode.put("jack_o_lantern", new String(new int[] {0x1f383}, 0, 1)); - _shortNameToUnicode.put("smiley_cat", new String(new int[] {0x1f63a}, 0, 1)); - _shortNameToUnicode.put("smile_cat", new String(new int[] {0x1f638}, 0, 1)); - _shortNameToUnicode.put("joy_cat", new String(new int[] {0x1f639}, 0, 1)); - _shortNameToUnicode.put("heart_eyes_cat", new String(new int[] {0x1f63b}, 0, 1)); - _shortNameToUnicode.put("smirk_cat", new String(new int[] {0x1f63c}, 0, 1)); - _shortNameToUnicode.put("kissing_cat", new String(new int[] {0x1f63d}, 0, 1)); - _shortNameToUnicode.put("scream_cat", new String(new int[] {0x1f640}, 0, 1)); - _shortNameToUnicode.put("crying_cat_face", new String(new int[] {0x1f63f}, 0, 1)); - _shortNameToUnicode.put("pouting_cat", new String(new int[] {0x1f63e}, 0, 1)); - _shortNameToUnicode.put("open_hands", new String(new int[] {0x1f450}, 0, 1)); - _shortNameToUnicode.put("open_hands_tone1", new String(new int[] {0x1f450,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("open_hands_tone2", new String(new int[] {0x1f450,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("open_hands_tone3", new String(new int[] {0x1f450,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("open_hands_tone4", new String(new int[] {0x1f450,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("open_hands_tone5", new String(new int[] {0x1f450,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("raised_hands", new String(new int[] {0x1f64c}, 0, 1)); - _shortNameToUnicode.put("raised_hands_tone1", new String(new int[] {0x1f64c,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("raised_hands_tone2", new String(new int[] {0x1f64c,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("raised_hands_tone3", new String(new int[] {0x1f64c,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("raised_hands_tone4", new String(new int[] {0x1f64c,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("raised_hands_tone5", new String(new int[] {0x1f64c,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("clap", new String(new int[] {0x1f44f}, 0, 1)); - _shortNameToUnicode.put("clap_tone1", new String(new int[] {0x1f44f,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("clap_tone2", new String(new int[] {0x1f44f,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("clap_tone3", new String(new int[] {0x1f44f,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("clap_tone4", new String(new int[] {0x1f44f,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("clap_tone5", new String(new int[] {0x1f44f,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("pray", new String(new int[] {0x1f64f}, 0, 1)); - _shortNameToUnicode.put("pray_tone1", new String(new int[] {0x1f64f,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("pray_tone2", new String(new int[] {0x1f64f,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("pray_tone3", new String(new int[] {0x1f64f,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("pray_tone4", new String(new int[] {0x1f64f,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("pray_tone5", new String(new int[] {0x1f64f,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("handshake", new String(new int[] {0x1f91d}, 0, 1)); - _shortNameToUnicode.put("thumbsup", new String(new int[] {0x1f44d}, 0, 1)); - _shortNameToUnicode.put("thumbsup_tone1", new String(new int[] {0x1f44d,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("thumbsup_tone2", new String(new int[] {0x1f44d,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("thumbsup_tone3", new String(new int[] {0x1f44d,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("thumbsup_tone4", new String(new int[] {0x1f44d,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("thumbsup_tone5", new String(new int[] {0x1f44d,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("thumbsdown", new String(new int[] {0x1f44e}, 0, 1)); - _shortNameToUnicode.put("thumbsdown_tone1", new String(new int[] {0x1f44e,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("thumbsdown_tone2", new String(new int[] {0x1f44e,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("thumbsdown_tone3", new String(new int[] {0x1f44e,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("thumbsdown_tone4", new String(new int[] {0x1f44e,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("thumbsdown_tone5", new String(new int[] {0x1f44e,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("punch", new String(new int[] {0x1f44a}, 0, 1)); - _shortNameToUnicode.put("punch_tone1", new String(new int[] {0x1f44a,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("punch_tone2", new String(new int[] {0x1f44a,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("punch_tone3", new String(new int[] {0x1f44a,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("punch_tone4", new String(new int[] {0x1f44a,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("punch_tone5", new String(new int[] {0x1f44a,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("fist", new String(new int[] {0x270a}, 0, 1)); - _shortNameToUnicode.put("fist_tone1", new String(new int[] {0x270a,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("fist_tone2", new String(new int[] {0x270a,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("fist_tone3", new String(new int[] {0x270a,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("fist_tone4", new String(new int[] {0x270a,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("fist_tone5", new String(new int[] {0x270a,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("left_facing_fist", new String(new int[] {0x1f91b}, 0, 1)); - _shortNameToUnicode.put("left_facing_fist_tone1", new String(new int[] {0x1f91b,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("left_facing_fist_tone2", new String(new int[] {0x1f91b,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("left_facing_fist_tone3", new String(new int[] {0x1f91b,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("left_facing_fist_tone4", new String(new int[] {0x1f91b,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("left_facing_fist_tone5", new String(new int[] {0x1f91b,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("right_facing_fist", new String(new int[] {0x1f91c}, 0, 1)); - _shortNameToUnicode.put("right_facing_fist_tone1", new String(new int[] {0x1f91c,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("right_facing_fist_tone2", new String(new int[] {0x1f91c,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("right_facing_fist_tone3", new String(new int[] {0x1f91c,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("right_facing_fist_tone4", new String(new int[] {0x1f91c,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("right_facing_fist_tone5", new String(new int[] {0x1f91c,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("fingers_crossed", new String(new int[] {0x1f91e}, 0, 1)); - _shortNameToUnicode.put("fingers_crossed_tone1", new String(new int[] {0x1f91e,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("fingers_crossed_tone2", new String(new int[] {0x1f91e,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("fingers_crossed_tone3", new String(new int[] {0x1f91e,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("fingers_crossed_tone4", new String(new int[] {0x1f91e,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("fingers_crossed_tone5", new String(new int[] {0x1f91e,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("v", new String(new int[] {0x270c}, 0, 1)); - _shortNameToUnicode.put("v_tone1", new String(new int[] {0x270c,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("v_tone2", new String(new int[] {0x270c,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("v_tone3", new String(new int[] {0x270c,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("v_tone4", new String(new int[] {0x270c,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("v_tone5", new String(new int[] {0x270c,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("metal", new String(new int[] {0x1f918}, 0, 1)); - _shortNameToUnicode.put("metal_tone1", new String(new int[] {0x1f918,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("metal_tone2", new String(new int[] {0x1f918,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("metal_tone3", new String(new int[] {0x1f918,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("metal_tone4", new String(new int[] {0x1f918,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("metal_tone5", new String(new int[] {0x1f918,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("ok_hand", new String(new int[] {0x1f44c}, 0, 1)); - _shortNameToUnicode.put("ok_hand_tone1", new String(new int[] {0x1f44c,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("ok_hand_tone2", new String(new int[] {0x1f44c,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("ok_hand_tone3", new String(new int[] {0x1f44c,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("ok_hand_tone4", new String(new int[] {0x1f44c,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("ok_hand_tone5", new String(new int[] {0x1f44c,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("point_left", new String(new int[] {0x1f448}, 0, 1)); - _shortNameToUnicode.put("point_left_tone1", new String(new int[] {0x1f448,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("point_left_tone2", new String(new int[] {0x1f448,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("point_left_tone3", new String(new int[] {0x1f448,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("point_left_tone4", new String(new int[] {0x1f448,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("point_left_tone5", new String(new int[] {0x1f448,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("point_right", new String(new int[] {0x1f449}, 0, 1)); - _shortNameToUnicode.put("point_right_tone1", new String(new int[] {0x1f449,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("point_right_tone2", new String(new int[] {0x1f449,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("point_right_tone3", new String(new int[] {0x1f449,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("point_right_tone4", new String(new int[] {0x1f449,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("point_right_tone5", new String(new int[] {0x1f449,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("point_up_2", new String(new int[] {0x1f446}, 0, 1)); - _shortNameToUnicode.put("point_up_2_tone1", new String(new int[] {0x1f446,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("point_up_2_tone2", new String(new int[] {0x1f446,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("point_up_2_tone3", new String(new int[] {0x1f446,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("point_up_2_tone4", new String(new int[] {0x1f446,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("point_up_2_tone5", new String(new int[] {0x1f446,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("point_down", new String(new int[] {0x1f447}, 0, 1)); - _shortNameToUnicode.put("point_down_tone1", new String(new int[] {0x1f447,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("point_down_tone2", new String(new int[] {0x1f447,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("point_down_tone3", new String(new int[] {0x1f447,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("point_down_tone4", new String(new int[] {0x1f447,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("point_down_tone5", new String(new int[] {0x1f447,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("point_up", new String(new int[] {0x261d}, 0, 1)); - _shortNameToUnicode.put("point_up_tone1", new String(new int[] {0x261d,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("point_up_tone2", new String(new int[] {0x261d,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("point_up_tone3", new String(new int[] {0x261d,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("point_up_tone4", new String(new int[] {0x261d,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("point_up_tone5", new String(new int[] {0x261d,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("raised_hand", new String(new int[] {0x270b}, 0, 1)); - _shortNameToUnicode.put("raised_hand_tone1", new String(new int[] {0x270b,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("raised_hand_tone2", new String(new int[] {0x270b,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("raised_hand_tone3", new String(new int[] {0x270b,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("raised_hand_tone4", new String(new int[] {0x270b,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("raised_hand_tone5", new String(new int[] {0x270b,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("raised_back_of_hand", new String(new int[] {0x1f91a}, 0, 1)); - _shortNameToUnicode.put("raised_back_of_hand_tone1", new String(new int[] {0x1f91a,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("raised_back_of_hand_tone2", new String(new int[] {0x1f91a,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("raised_back_of_hand_tone3", new String(new int[] {0x1f91a,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("raised_back_of_hand_tone4", new String(new int[] {0x1f91a,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("raised_back_of_hand_tone5", new String(new int[] {0x1f91a,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("hand_splayed", new String(new int[] {0x1f590}, 0, 1)); - _shortNameToUnicode.put("hand_splayed_tone1", new String(new int[] {0x1f590,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("hand_splayed_tone2", new String(new int[] {0x1f590,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("hand_splayed_tone3", new String(new int[] {0x1f590,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("hand_splayed_tone4", new String(new int[] {0x1f590,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("hand_splayed_tone5", new String(new int[] {0x1f590,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("vulcan", new String(new int[] {0x1f596}, 0, 1)); - _shortNameToUnicode.put("vulcan_tone1", new String(new int[] {0x1f596,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("vulcan_tone2", new String(new int[] {0x1f596,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("vulcan_tone3", new String(new int[] {0x1f596,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("vulcan_tone4", new String(new int[] {0x1f596,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("vulcan_tone5", new String(new int[] {0x1f596,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("wave", new String(new int[] {0x1f44b}, 0, 1)); - _shortNameToUnicode.put("wave_tone1", new String(new int[] {0x1f44b,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("wave_tone2", new String(new int[] {0x1f44b,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("wave_tone3", new String(new int[] {0x1f44b,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("wave_tone4", new String(new int[] {0x1f44b,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("wave_tone5", new String(new int[] {0x1f44b,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("call_me", new String(new int[] {0x1f919}, 0, 1)); - _shortNameToUnicode.put("call_me_tone1", new String(new int[] {0x1f919,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("call_me_tone2", new String(new int[] {0x1f919,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("call_me_tone3", new String(new int[] {0x1f919,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("call_me_tone4", new String(new int[] {0x1f919,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("call_me_tone5", new String(new int[] {0x1f919,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("muscle", new String(new int[] {0x1f4aa}, 0, 1)); - _shortNameToUnicode.put("muscle_tone1", new String(new int[] {0x1f4aa,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("muscle_tone2", new String(new int[] {0x1f4aa,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("muscle_tone3", new String(new int[] {0x1f4aa,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("muscle_tone4", new String(new int[] {0x1f4aa,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("muscle_tone5", new String(new int[] {0x1f4aa,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("middle_finger", new String(new int[] {0x1f595}, 0, 1)); - _shortNameToUnicode.put("middle_finger_tone1", new String(new int[] {0x1f595,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("middle_finger_tone2", new String(new int[] {0x1f595,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("middle_finger_tone3", new String(new int[] {0x1f595,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("middle_finger_tone4", new String(new int[] {0x1f595,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("middle_finger_tone5", new String(new int[] {0x1f595,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("writing_hand", new String(new int[] {0x270d}, 0, 1)); - } - private static void init3(){ - _shortNameToUnicode.put("writing_hand_tone1", new String(new int[] {0x270d,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("writing_hand_tone2", new String(new int[] {0x270d,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("writing_hand_tone3", new String(new int[] {0x270d,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("writing_hand_tone4", new String(new int[] {0x270d,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("writing_hand_tone5", new String(new int[] {0x270d,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("selfie", new String(new int[] {0x1f933}, 0, 1)); - _shortNameToUnicode.put("selfie_tone1", new String(new int[] {0x1f933,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("selfie_tone2", new String(new int[] {0x1f933,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("selfie_tone3", new String(new int[] {0x1f933,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("selfie_tone4", new String(new int[] {0x1f933,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("selfie_tone5", new String(new int[] {0x1f933,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("nail_care", new String(new int[] {0x1f485}, 0, 1)); - _shortNameToUnicode.put("nail_care_tone1", new String(new int[] {0x1f485,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("nail_care_tone2", new String(new int[] {0x1f485,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("nail_care_tone3", new String(new int[] {0x1f485,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("nail_care_tone4", new String(new int[] {0x1f485,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("nail_care_tone5", new String(new int[] {0x1f485,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("ring", new String(new int[] {0x1f48d}, 0, 1)); - _shortNameToUnicode.put("lipstick", new String(new int[] {0x1f484}, 0, 1)); - _shortNameToUnicode.put("kiss", new String(new int[] {0x1f48b}, 0, 1)); - _shortNameToUnicode.put("lips", new String(new int[] {0x1f444}, 0, 1)); - _shortNameToUnicode.put("tongue", new String(new int[] {0x1f445}, 0, 1)); - _shortNameToUnicode.put("ear", new String(new int[] {0x1f442}, 0, 1)); - _shortNameToUnicode.put("ear_tone1", new String(new int[] {0x1f442,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("ear_tone2", new String(new int[] {0x1f442,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("ear_tone3", new String(new int[] {0x1f442,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("ear_tone4", new String(new int[] {0x1f442,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("ear_tone5", new String(new int[] {0x1f442,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("nose", new String(new int[] {0x1f443}, 0, 1)); - _shortNameToUnicode.put("nose_tone1", new String(new int[] {0x1f443,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("nose_tone2", new String(new int[] {0x1f443,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("nose_tone3", new String(new int[] {0x1f443,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("nose_tone4", new String(new int[] {0x1f443,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("nose_tone5", new String(new int[] {0x1f443,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("footprints", new String(new int[] {0x1f463}, 0, 1)); - _shortNameToUnicode.put("eye", new String(new int[] {0x1f441}, 0, 1)); - _shortNameToUnicode.put("eyes", new String(new int[] {0x1f440}, 0, 1)); - _shortNameToUnicode.put("speaking_head", new String(new int[] {0x1f5e3}, 0, 1)); - _shortNameToUnicode.put("bust_in_silhouette", new String(new int[] {0x1f464}, 0, 1)); - _shortNameToUnicode.put("busts_in_silhouette", new String(new int[] {0x1f465}, 0, 1)); - _shortNameToUnicode.put("baby", new String(new int[] {0x1f476}, 0, 1)); - _shortNameToUnicode.put("baby_tone1", new String(new int[] {0x1f476,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("baby_tone2", new String(new int[] {0x1f476,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("baby_tone3", new String(new int[] {0x1f476,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("baby_tone4", new String(new int[] {0x1f476,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("baby_tone5", new String(new int[] {0x1f476,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("boy", new String(new int[] {0x1f466}, 0, 1)); - _shortNameToUnicode.put("boy_tone1", new String(new int[] {0x1f466,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("boy_tone2", new String(new int[] {0x1f466,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("boy_tone3", new String(new int[] {0x1f466,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("boy_tone4", new String(new int[] {0x1f466,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("boy_tone5", new String(new int[] {0x1f466,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("girl", new String(new int[] {0x1f467}, 0, 1)); - _shortNameToUnicode.put("girl_tone1", new String(new int[] {0x1f467,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("girl_tone2", new String(new int[] {0x1f467,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("girl_tone3", new String(new int[] {0x1f467,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("girl_tone4", new String(new int[] {0x1f467,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("girl_tone5", new String(new int[] {0x1f467,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man", new String(new int[] {0x1f468}, 0, 1)); - _shortNameToUnicode.put("man_tone1", new String(new int[] {0x1f468,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("man_tone2", new String(new int[] {0x1f468,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("man_tone3", new String(new int[] {0x1f468,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("man_tone4", new String(new int[] {0x1f468,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("man_tone5", new String(new int[] {0x1f468,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("woman", new String(new int[] {0x1f469}, 0, 1)); - _shortNameToUnicode.put("woman_tone1", new String(new int[] {0x1f469,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("woman_tone2", new String(new int[] {0x1f469,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("woman_tone3", new String(new int[] {0x1f469,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("woman_tone4", new String(new int[] {0x1f469,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("woman_tone5", new String(new int[] {0x1f469,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("blond-haired_woman", new String(new int[] {0x1f471,0x2640}, 0, 2)); - _shortNameToUnicode.put("blond-haired_woman_tone1", new String(new int[] {0x1f471,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("blond-haired_woman_tone2", new String(new int[] {0x1f471,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("blond-haired_woman_tone3", new String(new int[] {0x1f471,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("blond-haired_woman_tone4", new String(new int[] {0x1f471,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("blond-haired_woman_tone5", new String(new int[] {0x1f471,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("blond_haired_person", new String(new int[] {0x1f471}, 0, 1)); - _shortNameToUnicode.put("blond_haired_person_tone1", new String(new int[] {0x1f471,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("blond_haired_person_tone2", new String(new int[] {0x1f471,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("blond_haired_person_tone3", new String(new int[] {0x1f471,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("blond_haired_person_tone4", new String(new int[] {0x1f471,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("blond_haired_person_tone5", new String(new int[] {0x1f471,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("blond-haired_man", new String(new int[] {0x1f471,0x2642}, 0, 2)); - _shortNameToUnicode.put("blond-haired_man_tone5", new String(new int[] {0x1f471,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("blond-haired_man_tone4", new String(new int[] {0x1f471,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("blond-haired_man_tone3", new String(new int[] {0x1f471,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("blond-haired_man_tone2", new String(new int[] {0x1f471,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("blond-haired_man_tone1", new String(new int[] {0x1f471,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("older_man", new String(new int[] {0x1f474}, 0, 1)); - _shortNameToUnicode.put("older_man_tone1", new String(new int[] {0x1f474,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("older_man_tone2", new String(new int[] {0x1f474,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("older_man_tone3", new String(new int[] {0x1f474,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("older_man_tone4", new String(new int[] {0x1f474,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("older_man_tone5", new String(new int[] {0x1f474,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("older_woman", new String(new int[] {0x1f475}, 0, 1)); - _shortNameToUnicode.put("older_woman_tone1", new String(new int[] {0x1f475,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("older_woman_tone2", new String(new int[] {0x1f475,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("older_woman_tone3", new String(new int[] {0x1f475,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("older_woman_tone4", new String(new int[] {0x1f475,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("older_woman_tone5", new String(new int[] {0x1f475,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_with_chinese_cap", new String(new int[] {0x1f472}, 0, 1)); - _shortNameToUnicode.put("man_with_chinese_cap_tone1", new String(new int[] {0x1f472,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("man_with_chinese_cap_tone2", new String(new int[] {0x1f472,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("man_with_chinese_cap_tone3", new String(new int[] {0x1f472,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("man_with_chinese_cap_tone4", new String(new int[] {0x1f472,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("man_with_chinese_cap_tone5", new String(new int[] {0x1f472,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("woman_wearing_turban", new String(new int[] {0x1f473,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_wearing_turban_tone1", new String(new int[] {0x1f473,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_wearing_turban_tone2", new String(new int[] {0x1f473,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_wearing_turban_tone3", new String(new int[] {0x1f473,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_wearing_turban_tone4", new String(new int[] {0x1f473,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_wearing_turban_tone5", new String(new int[] {0x1f473,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_wearing_turban", new String(new int[] {0x1f473}, 0, 1)); - _shortNameToUnicode.put("person_wearing_turban_tone1", new String(new int[] {0x1f473,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_wearing_turban_tone2", new String(new int[] {0x1f473,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_wearing_turban_tone3", new String(new int[] {0x1f473,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_wearing_turban_tone4", new String(new int[] {0x1f473,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_wearing_turban_tone5", new String(new int[] {0x1f473,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_wearing_turban", new String(new int[] {0x1f473,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_wearing_turban_tone5", new String(new int[] {0x1f473,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_wearing_turban_tone4", new String(new int[] {0x1f473,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_wearing_turban_tone3", new String(new int[] {0x1f473,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_wearing_turban_tone2", new String(new int[] {0x1f473,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_wearing_turban_tone1", new String(new int[] {0x1f473,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_police_officer", new String(new int[] {0x1f46e,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_police_officer_tone1", new String(new int[] {0x1f46e,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_police_officer_tone2", new String(new int[] {0x1f46e,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_police_officer_tone3", new String(new int[] {0x1f46e,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_police_officer_tone4", new String(new int[] {0x1f46e,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_police_officer_tone5", new String(new int[] {0x1f46e,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("police_officer", new String(new int[] {0x1f46e}, 0, 1)); - _shortNameToUnicode.put("police_officer_tone1", new String(new int[] {0x1f46e,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("police_officer_tone2", new String(new int[] {0x1f46e,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("police_officer_tone3", new String(new int[] {0x1f46e,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("police_officer_tone4", new String(new int[] {0x1f46e,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("police_officer_tone5", new String(new int[] {0x1f46e,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_police_officer", new String(new int[] {0x1f46e,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_police_officer_tone5", new String(new int[] {0x1f46e,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_police_officer_tone4", new String(new int[] {0x1f46e,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_police_officer_tone3", new String(new int[] {0x1f46e,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_police_officer_tone2", new String(new int[] {0x1f46e,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_police_officer_tone1", new String(new int[] {0x1f46e,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_construction_worker", new String(new int[] {0x1f477,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_construction_worker_tone1", new String(new int[] {0x1f477,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_construction_worker_tone2", new String(new int[] {0x1f477,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_construction_worker_tone3", new String(new int[] {0x1f477,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_construction_worker_tone4", new String(new int[] {0x1f477,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_construction_worker_tone5", new String(new int[] {0x1f477,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("construction_worker", new String(new int[] {0x1f477}, 0, 1)); - _shortNameToUnicode.put("construction_worker_tone1", new String(new int[] {0x1f477,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("construction_worker_tone2", new String(new int[] {0x1f477,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("construction_worker_tone3", new String(new int[] {0x1f477,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("construction_worker_tone4", new String(new int[] {0x1f477,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("construction_worker_tone5", new String(new int[] {0x1f477,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_construction_worker", new String(new int[] {0x1f477,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_construction_worker_tone5", new String(new int[] {0x1f477,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_construction_worker_tone4", new String(new int[] {0x1f477,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_construction_worker_tone3", new String(new int[] {0x1f477,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_construction_worker_tone2", new String(new int[] {0x1f477,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_construction_worker_tone1", new String(new int[] {0x1f477,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_guard", new String(new int[] {0x1f482,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_guard_tone1", new String(new int[] {0x1f482,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_guard_tone2", new String(new int[] {0x1f482,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_guard_tone3", new String(new int[] {0x1f482,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_guard_tone4", new String(new int[] {0x1f482,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_guard_tone5", new String(new int[] {0x1f482,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("guard", new String(new int[] {0x1f482}, 0, 1)); - _shortNameToUnicode.put("guard_tone1", new String(new int[] {0x1f482,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("guard_tone2", new String(new int[] {0x1f482,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("guard_tone3", new String(new int[] {0x1f482,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("guard_tone4", new String(new int[] {0x1f482,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("guard_tone5", new String(new int[] {0x1f482,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_guard", new String(new int[] {0x1f482,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_guard_tone5", new String(new int[] {0x1f482,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_guard_tone4", new String(new int[] {0x1f482,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_guard_tone3", new String(new int[] {0x1f482,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_guard_tone2", new String(new int[] {0x1f482,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_guard_tone1", new String(new int[] {0x1f482,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_detective", new String(new int[] {0x1f575,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_detective_tone1", new String(new int[] {0x1f575,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_detective_tone2", new String(new int[] {0x1f575,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_detective_tone3", new String(new int[] {0x1f575,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_detective_tone4", new String(new int[] {0x1f575,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_detective_tone5", new String(new int[] {0x1f575,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("detective", new String(new int[] {0x1f575}, 0, 1)); - _shortNameToUnicode.put("detective_tone1", new String(new int[] {0x1f575,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("detective_tone2", new String(new int[] {0x1f575,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("detective_tone3", new String(new int[] {0x1f575,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("detective_tone4", new String(new int[] {0x1f575,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("detective_tone5", new String(new int[] {0x1f575,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_detective", new String(new int[] {0x1f575,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_detective_tone5", new String(new int[] {0x1f575,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_detective_tone4", new String(new int[] {0x1f575,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_detective_tone3", new String(new int[] {0x1f575,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_detective_tone2", new String(new int[] {0x1f575,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_detective_tone1", new String(new int[] {0x1f575,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_health_worker", new String(new int[] {0x1f469,0x2695}, 0, 2)); - _shortNameToUnicode.put("woman_health_worker_tone1", new String(new int[] {0x1f469,0x1f3fb,0x2695}, 0, 3)); - _shortNameToUnicode.put("woman_health_worker_tone2", new String(new int[] {0x1f469,0x1f3fc,0x2695}, 0, 3)); - _shortNameToUnicode.put("woman_health_worker_tone3", new String(new int[] {0x1f469,0x1f3fd,0x2695}, 0, 3)); - _shortNameToUnicode.put("woman_health_worker_tone4", new String(new int[] {0x1f469,0x1f3fe,0x2695}, 0, 3)); - _shortNameToUnicode.put("woman_health_worker_tone5", new String(new int[] {0x1f469,0x1f3ff,0x2695}, 0, 3)); - _shortNameToUnicode.put("man_health_worker", new String(new int[] {0x1f468,0x2695}, 0, 2)); - _shortNameToUnicode.put("man_health_worker_tone1", new String(new int[] {0x1f468,0x1f3fb,0x2695}, 0, 3)); - _shortNameToUnicode.put("man_health_worker_tone2", new String(new int[] {0x1f468,0x1f3fc,0x2695}, 0, 3)); - _shortNameToUnicode.put("man_health_worker_tone3", new String(new int[] {0x1f468,0x1f3fd,0x2695}, 0, 3)); - _shortNameToUnicode.put("man_health_worker_tone4", new String(new int[] {0x1f468,0x1f3fe,0x2695}, 0, 3)); - _shortNameToUnicode.put("man_health_worker_tone5", new String(new int[] {0x1f468,0x1f3ff,0x2695}, 0, 3)); - _shortNameToUnicode.put("woman_farmer", new String(new int[] {0x1f469,0x1f33e}, 0, 2)); - _shortNameToUnicode.put("woman_farmer_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f33e}, 0, 3)); - _shortNameToUnicode.put("woman_farmer_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f33e}, 0, 3)); - _shortNameToUnicode.put("woman_farmer_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f33e}, 0, 3)); - _shortNameToUnicode.put("woman_farmer_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f33e}, 0, 3)); - _shortNameToUnicode.put("woman_farmer_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f33e}, 0, 3)); - _shortNameToUnicode.put("man_farmer", new String(new int[] {0x1f468,0x1f33e}, 0, 2)); - _shortNameToUnicode.put("man_farmer_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f33e}, 0, 3)); - _shortNameToUnicode.put("man_farmer_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f33e}, 0, 3)); - _shortNameToUnicode.put("man_farmer_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f33e}, 0, 3)); - _shortNameToUnicode.put("man_farmer_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f33e}, 0, 3)); - _shortNameToUnicode.put("man_farmer_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f33e}, 0, 3)); - _shortNameToUnicode.put("woman_cook", new String(new int[] {0x1f469,0x1f373}, 0, 2)); - _shortNameToUnicode.put("woman_cook_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f373}, 0, 3)); - _shortNameToUnicode.put("woman_cook_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f373}, 0, 3)); - _shortNameToUnicode.put("woman_cook_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f373}, 0, 3)); - _shortNameToUnicode.put("woman_cook_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f373}, 0, 3)); - _shortNameToUnicode.put("woman_cook_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f373}, 0, 3)); - _shortNameToUnicode.put("man_cook", new String(new int[] {0x1f468,0x1f373}, 0, 2)); - _shortNameToUnicode.put("man_cook_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f373}, 0, 3)); - _shortNameToUnicode.put("man_cook_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f373}, 0, 3)); - _shortNameToUnicode.put("man_cook_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f373}, 0, 3)); - _shortNameToUnicode.put("man_cook_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f373}, 0, 3)); - _shortNameToUnicode.put("man_cook_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f373}, 0, 3)); - _shortNameToUnicode.put("woman_student", new String(new int[] {0x1f469,0x1f393}, 0, 2)); - _shortNameToUnicode.put("woman_student_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f393}, 0, 3)); - _shortNameToUnicode.put("woman_student_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f393}, 0, 3)); - _shortNameToUnicode.put("woman_student_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f393}, 0, 3)); - _shortNameToUnicode.put("woman_student_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f393}, 0, 3)); - _shortNameToUnicode.put("woman_student_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f393}, 0, 3)); - _shortNameToUnicode.put("man_student", new String(new int[] {0x1f468,0x1f393}, 0, 2)); - _shortNameToUnicode.put("man_student_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f393}, 0, 3)); - _shortNameToUnicode.put("man_student_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f393}, 0, 3)); - _shortNameToUnicode.put("man_student_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f393}, 0, 3)); - _shortNameToUnicode.put("man_student_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f393}, 0, 3)); - _shortNameToUnicode.put("man_student_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f393}, 0, 3)); - _shortNameToUnicode.put("woman_singer", new String(new int[] {0x1f469,0x1f3a4}, 0, 2)); - _shortNameToUnicode.put("woman_singer_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f3a4}, 0, 3)); - _shortNameToUnicode.put("woman_singer_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f3a4}, 0, 3)); - _shortNameToUnicode.put("woman_singer_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f3a4}, 0, 3)); - _shortNameToUnicode.put("woman_singer_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f3a4}, 0, 3)); - _shortNameToUnicode.put("woman_singer_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f3a4}, 0, 3)); - _shortNameToUnicode.put("man_singer", new String(new int[] {0x1f468,0x1f3a4}, 0, 2)); - _shortNameToUnicode.put("man_singer_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f3a4}, 0, 3)); - _shortNameToUnicode.put("man_singer_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f3a4}, 0, 3)); - _shortNameToUnicode.put("man_singer_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f3a4}, 0, 3)); - _shortNameToUnicode.put("man_singer_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f3a4}, 0, 3)); - _shortNameToUnicode.put("man_singer_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f3a4}, 0, 3)); - _shortNameToUnicode.put("woman_teacher", new String(new int[] {0x1f469,0x1f3eb}, 0, 2)); - _shortNameToUnicode.put("woman_teacher_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f3eb}, 0, 3)); - _shortNameToUnicode.put("woman_teacher_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f3eb}, 0, 3)); - _shortNameToUnicode.put("woman_teacher_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f3eb}, 0, 3)); - _shortNameToUnicode.put("woman_teacher_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f3eb}, 0, 3)); - _shortNameToUnicode.put("woman_teacher_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f3eb}, 0, 3)); - _shortNameToUnicode.put("man_teacher", new String(new int[] {0x1f468,0x1f3eb}, 0, 2)); - _shortNameToUnicode.put("man_teacher_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f3eb}, 0, 3)); - _shortNameToUnicode.put("man_teacher_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f3eb}, 0, 3)); - _shortNameToUnicode.put("man_teacher_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f3eb}, 0, 3)); - _shortNameToUnicode.put("man_teacher_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f3eb}, 0, 3)); - _shortNameToUnicode.put("man_teacher_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f3eb}, 0, 3)); - _shortNameToUnicode.put("woman_factory_worker", new String(new int[] {0x1f469,0x1f3ed}, 0, 2)); - _shortNameToUnicode.put("woman_factory_worker_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f3ed}, 0, 3)); - _shortNameToUnicode.put("woman_factory_worker_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f3ed}, 0, 3)); - _shortNameToUnicode.put("woman_factory_worker_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f3ed}, 0, 3)); - _shortNameToUnicode.put("woman_factory_worker_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f3ed}, 0, 3)); - _shortNameToUnicode.put("woman_factory_worker_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f3ed}, 0, 3)); - _shortNameToUnicode.put("man_factory_worker", new String(new int[] {0x1f468,0x1f3ed}, 0, 2)); - _shortNameToUnicode.put("man_factory_worker_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f3ed}, 0, 3)); - _shortNameToUnicode.put("man_factory_worker_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f3ed}, 0, 3)); - _shortNameToUnicode.put("man_factory_worker_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f3ed}, 0, 3)); - _shortNameToUnicode.put("man_factory_worker_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f3ed}, 0, 3)); - _shortNameToUnicode.put("man_factory_worker_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f3ed}, 0, 3)); - _shortNameToUnicode.put("woman_technologist", new String(new int[] {0x1f469,0x1f4bb}, 0, 2)); - _shortNameToUnicode.put("woman_technologist_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f4bb}, 0, 3)); - _shortNameToUnicode.put("woman_technologist_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f4bb}, 0, 3)); - _shortNameToUnicode.put("woman_technologist_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f4bb}, 0, 3)); - _shortNameToUnicode.put("woman_technologist_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f4bb}, 0, 3)); - _shortNameToUnicode.put("woman_technologist_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f4bb}, 0, 3)); - _shortNameToUnicode.put("man_technologist", new String(new int[] {0x1f468,0x1f4bb}, 0, 2)); - _shortNameToUnicode.put("man_technologist_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f4bb}, 0, 3)); - _shortNameToUnicode.put("man_technologist_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f4bb}, 0, 3)); - _shortNameToUnicode.put("man_technologist_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f4bb}, 0, 3)); - _shortNameToUnicode.put("man_technologist_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f4bb}, 0, 3)); - _shortNameToUnicode.put("man_technologist_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f4bb}, 0, 3)); - _shortNameToUnicode.put("woman_office_worker", new String(new int[] {0x1f469,0x1f4bc}, 0, 2)); - _shortNameToUnicode.put("woman_office_worker_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f4bc}, 0, 3)); - _shortNameToUnicode.put("woman_office_worker_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f4bc}, 0, 3)); - _shortNameToUnicode.put("woman_office_worker_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f4bc}, 0, 3)); - _shortNameToUnicode.put("woman_office_worker_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f4bc}, 0, 3)); - _shortNameToUnicode.put("woman_office_worker_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f4bc}, 0, 3)); - _shortNameToUnicode.put("man_office_worker", new String(new int[] {0x1f468,0x1f4bc}, 0, 2)); - _shortNameToUnicode.put("man_office_worker_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f4bc}, 0, 3)); - _shortNameToUnicode.put("man_office_worker_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f4bc}, 0, 3)); - _shortNameToUnicode.put("man_office_worker_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f4bc}, 0, 3)); - _shortNameToUnicode.put("man_office_worker_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f4bc}, 0, 3)); - _shortNameToUnicode.put("man_office_worker_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f4bc}, 0, 3)); - _shortNameToUnicode.put("woman_mechanic", new String(new int[] {0x1f469,0x1f527}, 0, 2)); - _shortNameToUnicode.put("woman_mechanic_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f527}, 0, 3)); - _shortNameToUnicode.put("woman_mechanic_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f527}, 0, 3)); - _shortNameToUnicode.put("woman_mechanic_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f527}, 0, 3)); - _shortNameToUnicode.put("woman_mechanic_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f527}, 0, 3)); - _shortNameToUnicode.put("woman_mechanic_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f527}, 0, 3)); - _shortNameToUnicode.put("man_mechanic", new String(new int[] {0x1f468,0x1f527}, 0, 2)); - _shortNameToUnicode.put("man_mechanic_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f527}, 0, 3)); - _shortNameToUnicode.put("man_mechanic_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f527}, 0, 3)); - _shortNameToUnicode.put("man_mechanic_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f527}, 0, 3)); - _shortNameToUnicode.put("man_mechanic_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f527}, 0, 3)); - _shortNameToUnicode.put("man_mechanic_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f527}, 0, 3)); - _shortNameToUnicode.put("woman_scientist", new String(new int[] {0x1f469,0x1f52c}, 0, 2)); - _shortNameToUnicode.put("woman_scientist_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f52c}, 0, 3)); - _shortNameToUnicode.put("woman_scientist_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f52c}, 0, 3)); - _shortNameToUnicode.put("woman_scientist_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f52c}, 0, 3)); - _shortNameToUnicode.put("woman_scientist_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f52c}, 0, 3)); - _shortNameToUnicode.put("woman_scientist_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f52c}, 0, 3)); - _shortNameToUnicode.put("man_scientist", new String(new int[] {0x1f468,0x1f52c}, 0, 2)); - _shortNameToUnicode.put("man_scientist_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f52c}, 0, 3)); - _shortNameToUnicode.put("man_scientist_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f52c}, 0, 3)); - _shortNameToUnicode.put("man_scientist_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f52c}, 0, 3)); - _shortNameToUnicode.put("man_scientist_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f52c}, 0, 3)); - _shortNameToUnicode.put("man_scientist_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f52c}, 0, 3)); - _shortNameToUnicode.put("woman_artist", new String(new int[] {0x1f469,0x1f3a8}, 0, 2)); - _shortNameToUnicode.put("woman_artist_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f3a8}, 0, 3)); - _shortNameToUnicode.put("woman_artist_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f3a8}, 0, 3)); - _shortNameToUnicode.put("woman_artist_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f3a8}, 0, 3)); - _shortNameToUnicode.put("woman_artist_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f3a8}, 0, 3)); - _shortNameToUnicode.put("woman_artist_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f3a8}, 0, 3)); - _shortNameToUnicode.put("man_artist", new String(new int[] {0x1f468,0x1f3a8}, 0, 2)); - _shortNameToUnicode.put("man_artist_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f3a8}, 0, 3)); - _shortNameToUnicode.put("man_artist_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f3a8}, 0, 3)); - _shortNameToUnicode.put("man_artist_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f3a8}, 0, 3)); - _shortNameToUnicode.put("man_artist_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f3a8}, 0, 3)); - _shortNameToUnicode.put("man_artist_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f3a8}, 0, 3)); - _shortNameToUnicode.put("woman_firefighter", new String(new int[] {0x1f469,0x1f692}, 0, 2)); - } - private static void init4(){ - _shortNameToUnicode.put("woman_firefighter_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f692}, 0, 3)); - _shortNameToUnicode.put("woman_firefighter_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f692}, 0, 3)); - _shortNameToUnicode.put("woman_firefighter_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f692}, 0, 3)); - _shortNameToUnicode.put("woman_firefighter_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f692}, 0, 3)); - _shortNameToUnicode.put("woman_firefighter_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f692}, 0, 3)); - _shortNameToUnicode.put("man_firefighter", new String(new int[] {0x1f468,0x1f692}, 0, 2)); - _shortNameToUnicode.put("man_firefighter_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f692}, 0, 3)); - _shortNameToUnicode.put("man_firefighter_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f692}, 0, 3)); - _shortNameToUnicode.put("man_firefighter_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f692}, 0, 3)); - _shortNameToUnicode.put("man_firefighter_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f692}, 0, 3)); - _shortNameToUnicode.put("man_firefighter_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f692}, 0, 3)); - _shortNameToUnicode.put("woman_pilot", new String(new int[] {0x1f469,0x2708}, 0, 2)); - _shortNameToUnicode.put("woman_pilot_tone1", new String(new int[] {0x1f469,0x1f3fb,0x2708}, 0, 3)); - _shortNameToUnicode.put("woman_pilot_tone2", new String(new int[] {0x1f469,0x1f3fc,0x2708}, 0, 3)); - _shortNameToUnicode.put("woman_pilot_tone3", new String(new int[] {0x1f469,0x1f3fd,0x2708}, 0, 3)); - _shortNameToUnicode.put("woman_pilot_tone4", new String(new int[] {0x1f469,0x1f3fe,0x2708}, 0, 3)); - _shortNameToUnicode.put("woman_pilot_tone5", new String(new int[] {0x1f469,0x1f3ff,0x2708}, 0, 3)); - _shortNameToUnicode.put("man_pilot", new String(new int[] {0x1f468,0x2708}, 0, 2)); - _shortNameToUnicode.put("man_pilot_tone1", new String(new int[] {0x1f468,0x1f3fb,0x2708}, 0, 3)); - _shortNameToUnicode.put("man_pilot_tone2", new String(new int[] {0x1f468,0x1f3fc,0x2708}, 0, 3)); - _shortNameToUnicode.put("man_pilot_tone3", new String(new int[] {0x1f468,0x1f3fd,0x2708}, 0, 3)); - _shortNameToUnicode.put("man_pilot_tone4", new String(new int[] {0x1f468,0x1f3fe,0x2708}, 0, 3)); - _shortNameToUnicode.put("man_pilot_tone5", new String(new int[] {0x1f468,0x1f3ff,0x2708}, 0, 3)); - _shortNameToUnicode.put("woman_astronaut", new String(new int[] {0x1f469,0x1f680}, 0, 2)); - _shortNameToUnicode.put("woman_astronaut_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f680}, 0, 3)); - _shortNameToUnicode.put("woman_astronaut_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f680}, 0, 3)); - _shortNameToUnicode.put("woman_astronaut_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f680}, 0, 3)); - _shortNameToUnicode.put("woman_astronaut_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f680}, 0, 3)); - _shortNameToUnicode.put("woman_astronaut_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f680}, 0, 3)); - _shortNameToUnicode.put("man_astronaut", new String(new int[] {0x1f468,0x1f680}, 0, 2)); - _shortNameToUnicode.put("man_astronaut_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f680}, 0, 3)); - _shortNameToUnicode.put("man_astronaut_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f680}, 0, 3)); - _shortNameToUnicode.put("man_astronaut_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f680}, 0, 3)); - _shortNameToUnicode.put("man_astronaut_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f680}, 0, 3)); - _shortNameToUnicode.put("man_astronaut_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f680}, 0, 3)); - _shortNameToUnicode.put("woman_judge", new String(new int[] {0x1f469,0x2696}, 0, 2)); - _shortNameToUnicode.put("woman_judge_tone1", new String(new int[] {0x1f469,0x1f3fb,0x2696}, 0, 3)); - _shortNameToUnicode.put("woman_judge_tone2", new String(new int[] {0x1f469,0x1f3fc,0x2696}, 0, 3)); - _shortNameToUnicode.put("woman_judge_tone3", new String(new int[] {0x1f469,0x1f3fd,0x2696}, 0, 3)); - _shortNameToUnicode.put("woman_judge_tone4", new String(new int[] {0x1f469,0x1f3fe,0x2696}, 0, 3)); - _shortNameToUnicode.put("woman_judge_tone5", new String(new int[] {0x1f469,0x1f3ff,0x2696}, 0, 3)); - _shortNameToUnicode.put("man_judge", new String(new int[] {0x1f468,0x2696}, 0, 2)); - _shortNameToUnicode.put("man_judge_tone1", new String(new int[] {0x1f468,0x1f3fb,0x2696}, 0, 3)); - _shortNameToUnicode.put("man_judge_tone2", new String(new int[] {0x1f468,0x1f3fc,0x2696}, 0, 3)); - _shortNameToUnicode.put("man_judge_tone3", new String(new int[] {0x1f468,0x1f3fd,0x2696}, 0, 3)); - _shortNameToUnicode.put("man_judge_tone4", new String(new int[] {0x1f468,0x1f3fe,0x2696}, 0, 3)); - _shortNameToUnicode.put("man_judge_tone5", new String(new int[] {0x1f468,0x1f3ff,0x2696}, 0, 3)); - _shortNameToUnicode.put("mrs_claus", new String(new int[] {0x1f936}, 0, 1)); - _shortNameToUnicode.put("mrs_claus_tone1", new String(new int[] {0x1f936,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("mrs_claus_tone2", new String(new int[] {0x1f936,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("mrs_claus_tone3", new String(new int[] {0x1f936,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("mrs_claus_tone4", new String(new int[] {0x1f936,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("mrs_claus_tone5", new String(new int[] {0x1f936,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("santa", new String(new int[] {0x1f385}, 0, 1)); - _shortNameToUnicode.put("santa_tone1", new String(new int[] {0x1f385,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("santa_tone2", new String(new int[] {0x1f385,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("santa_tone3", new String(new int[] {0x1f385,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("santa_tone4", new String(new int[] {0x1f385,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("santa_tone5", new String(new int[] {0x1f385,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("princess", new String(new int[] {0x1f478}, 0, 1)); - _shortNameToUnicode.put("princess_tone1", new String(new int[] {0x1f478,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("princess_tone2", new String(new int[] {0x1f478,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("princess_tone3", new String(new int[] {0x1f478,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("princess_tone4", new String(new int[] {0x1f478,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("princess_tone5", new String(new int[] {0x1f478,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("prince", new String(new int[] {0x1f934}, 0, 1)); - _shortNameToUnicode.put("prince_tone1", new String(new int[] {0x1f934,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("prince_tone2", new String(new int[] {0x1f934,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("prince_tone3", new String(new int[] {0x1f934,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("prince_tone4", new String(new int[] {0x1f934,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("prince_tone5", new String(new int[] {0x1f934,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("bride_with_veil", new String(new int[] {0x1f470}, 0, 1)); - _shortNameToUnicode.put("bride_with_veil_tone1", new String(new int[] {0x1f470,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("bride_with_veil_tone2", new String(new int[] {0x1f470,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("bride_with_veil_tone3", new String(new int[] {0x1f470,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("bride_with_veil_tone4", new String(new int[] {0x1f470,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("bride_with_veil_tone5", new String(new int[] {0x1f470,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_in_tuxedo", new String(new int[] {0x1f935}, 0, 1)); - _shortNameToUnicode.put("man_in_tuxedo_tone1", new String(new int[] {0x1f935,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("man_in_tuxedo_tone2", new String(new int[] {0x1f935,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("man_in_tuxedo_tone3", new String(new int[] {0x1f935,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("man_in_tuxedo_tone4", new String(new int[] {0x1f935,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("man_in_tuxedo_tone5", new String(new int[] {0x1f935,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("angel", new String(new int[] {0x1f47c}, 0, 1)); - _shortNameToUnicode.put("angel_tone1", new String(new int[] {0x1f47c,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("angel_tone2", new String(new int[] {0x1f47c,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("angel_tone3", new String(new int[] {0x1f47c,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("angel_tone4", new String(new int[] {0x1f47c,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("angel_tone5", new String(new int[] {0x1f47c,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("pregnant_woman", new String(new int[] {0x1f930}, 0, 1)); - _shortNameToUnicode.put("pregnant_woman_tone1", new String(new int[] {0x1f930,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("pregnant_woman_tone2", new String(new int[] {0x1f930,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("pregnant_woman_tone3", new String(new int[] {0x1f930,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("pregnant_woman_tone4", new String(new int[] {0x1f930,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("pregnant_woman_tone5", new String(new int[] {0x1f930,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("woman_bowing", new String(new int[] {0x1f647,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_bowing_tone1", new String(new int[] {0x1f647,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_bowing_tone2", new String(new int[] {0x1f647,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_bowing_tone3", new String(new int[] {0x1f647,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_bowing_tone4", new String(new int[] {0x1f647,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_bowing_tone5", new String(new int[] {0x1f647,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_bowing", new String(new int[] {0x1f647}, 0, 1)); - _shortNameToUnicode.put("person_bowing_tone1", new String(new int[] {0x1f647,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_bowing_tone2", new String(new int[] {0x1f647,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_bowing_tone3", new String(new int[] {0x1f647,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_bowing_tone4", new String(new int[] {0x1f647,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_bowing_tone5", new String(new int[] {0x1f647,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_bowing", new String(new int[] {0x1f647,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_bowing_tone5", new String(new int[] {0x1f647,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_bowing_tone4", new String(new int[] {0x1f647,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_bowing_tone3", new String(new int[] {0x1f647,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_bowing_tone2", new String(new int[] {0x1f647,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_bowing_tone1", new String(new int[] {0x1f647,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("person_tipping_hand", new String(new int[] {0x1f481}, 0, 1)); - _shortNameToUnicode.put("person_tipping_hand_tone1", new String(new int[] {0x1f481,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_tipping_hand_tone2", new String(new int[] {0x1f481,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_tipping_hand_tone3", new String(new int[] {0x1f481,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_tipping_hand_tone4", new String(new int[] {0x1f481,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_tipping_hand_tone5", new String(new int[] {0x1f481,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_tipping_hand", new String(new int[] {0x1f481,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_tipping_hand_tone1", new String(new int[] {0x1f481,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_tipping_hand_tone2", new String(new int[] {0x1f481,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_tipping_hand_tone3", new String(new int[] {0x1f481,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_tipping_hand_tone4", new String(new int[] {0x1f481,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_tipping_hand_tone5", new String(new int[] {0x1f481,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_tipping_hand", new String(new int[] {0x1f481,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_tipping_hand_tone5", new String(new int[] {0x1f481,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_tipping_hand_tone4", new String(new int[] {0x1f481,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_tipping_hand_tone3", new String(new int[] {0x1f481,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_tipping_hand_tone2", new String(new int[] {0x1f481,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_tipping_hand_tone1", new String(new int[] {0x1f481,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_gesturing_no", new String(new int[] {0x1f645}, 0, 1)); - _shortNameToUnicode.put("person_gesturing_no_tone1", new String(new int[] {0x1f645,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_gesturing_no_tone2", new String(new int[] {0x1f645,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_gesturing_no_tone3", new String(new int[] {0x1f645,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_gesturing_no_tone4", new String(new int[] {0x1f645,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_gesturing_no_tone5", new String(new int[] {0x1f645,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_gesturing_no", new String(new int[] {0x1f645,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_gesturing_no_tone1", new String(new int[] {0x1f645,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_gesturing_no_tone2", new String(new int[] {0x1f645,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_gesturing_no_tone3", new String(new int[] {0x1f645,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_gesturing_no_tone4", new String(new int[] {0x1f645,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_gesturing_no_tone5", new String(new int[] {0x1f645,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_gesturing_no", new String(new int[] {0x1f645,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_gesturing_no_tone5", new String(new int[] {0x1f645,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_gesturing_no_tone4", new String(new int[] {0x1f645,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_gesturing_no_tone3", new String(new int[] {0x1f645,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_gesturing_no_tone2", new String(new int[] {0x1f645,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_gesturing_no_tone1", new String(new int[] {0x1f645,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_gesturing_ok", new String(new int[] {0x1f646}, 0, 1)); - _shortNameToUnicode.put("person_gesturing_ok_tone1", new String(new int[] {0x1f646,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_gesturing_ok_tone2", new String(new int[] {0x1f646,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_gesturing_ok_tone3", new String(new int[] {0x1f646,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_gesturing_ok_tone4", new String(new int[] {0x1f646,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_gesturing_ok_tone5", new String(new int[] {0x1f646,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_gesturing_ok", new String(new int[] {0x1f646,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_gesturing_ok_tone1", new String(new int[] {0x1f646,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_gesturing_ok_tone2", new String(new int[] {0x1f646,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_gesturing_ok_tone3", new String(new int[] {0x1f646,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_gesturing_ok_tone4", new String(new int[] {0x1f646,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_gesturing_ok_tone5", new String(new int[] {0x1f646,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_gesturing_ok", new String(new int[] {0x1f646,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_gesturing_ok_tone5", new String(new int[] {0x1f646,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_gesturing_ok_tone4", new String(new int[] {0x1f646,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_gesturing_ok_tone3", new String(new int[] {0x1f646,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_gesturing_ok_tone2", new String(new int[] {0x1f646,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_gesturing_ok_tone1", new String(new int[] {0x1f646,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_raising_hand", new String(new int[] {0x1f64b}, 0, 1)); - _shortNameToUnicode.put("person_raising_hand_tone1", new String(new int[] {0x1f64b,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_raising_hand_tone2", new String(new int[] {0x1f64b,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_raising_hand_tone3", new String(new int[] {0x1f64b,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_raising_hand_tone4", new String(new int[] {0x1f64b,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_raising_hand_tone5", new String(new int[] {0x1f64b,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_raising_hand", new String(new int[] {0x1f64b,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_raising_hand_tone1", new String(new int[] {0x1f64b,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_raising_hand_tone2", new String(new int[] {0x1f64b,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_raising_hand_tone3", new String(new int[] {0x1f64b,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_raising_hand_tone4", new String(new int[] {0x1f64b,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_raising_hand_tone5", new String(new int[] {0x1f64b,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_raising_hand", new String(new int[] {0x1f64b,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_raising_hand_tone5", new String(new int[] {0x1f64b,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_raising_hand_tone4", new String(new int[] {0x1f64b,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_raising_hand_tone3", new String(new int[] {0x1f64b,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_raising_hand_tone2", new String(new int[] {0x1f64b,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_raising_hand_tone1", new String(new int[] {0x1f64b,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_facepalming", new String(new int[] {0x1f926,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_facepalming_tone1", new String(new int[] {0x1f926,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_facepalming_tone2", new String(new int[] {0x1f926,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_facepalming_tone3", new String(new int[] {0x1f926,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_facepalming_tone4", new String(new int[] {0x1f926,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_facepalming_tone5", new String(new int[] {0x1f926,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("man_facepalming", new String(new int[] {0x1f926,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_facepalming_tone1", new String(new int[] {0x1f926,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_facepalming_tone2", new String(new int[] {0x1f926,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_facepalming_tone3", new String(new int[] {0x1f926,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_facepalming_tone4", new String(new int[] {0x1f926,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_facepalming_tone5", new String(new int[] {0x1f926,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("person_facepalming", new String(new int[] {0x1f926}, 0, 1)); - _shortNameToUnicode.put("person_facepalming_tone1", new String(new int[] {0x1f926,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_facepalming_tone2", new String(new int[] {0x1f926,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_facepalming_tone3", new String(new int[] {0x1f926,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_facepalming_tone4", new String(new int[] {0x1f926,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_facepalming_tone5", new String(new int[] {0x1f926,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("woman_shrugging", new String(new int[] {0x1f937,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_shrugging_tone1", new String(new int[] {0x1f937,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_shrugging_tone2", new String(new int[] {0x1f937,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_shrugging_tone3", new String(new int[] {0x1f937,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_shrugging_tone4", new String(new int[] {0x1f937,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_shrugging_tone5", new String(new int[] {0x1f937,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("man_shrugging", new String(new int[] {0x1f937,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_shrugging_tone1", new String(new int[] {0x1f937,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_shrugging_tone2", new String(new int[] {0x1f937,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_shrugging_tone3", new String(new int[] {0x1f937,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_shrugging_tone4", new String(new int[] {0x1f937,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_shrugging_tone5", new String(new int[] {0x1f937,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("person_shrugging", new String(new int[] {0x1f937}, 0, 1)); - _shortNameToUnicode.put("person_shrugging_tone1", new String(new int[] {0x1f937,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_shrugging_tone2", new String(new int[] {0x1f937,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_shrugging_tone3", new String(new int[] {0x1f937,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_shrugging_tone4", new String(new int[] {0x1f937,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_shrugging_tone5", new String(new int[] {0x1f937,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("person_pouting", new String(new int[] {0x1f64e}, 0, 1)); - _shortNameToUnicode.put("person_pouting_tone1", new String(new int[] {0x1f64e,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_pouting_tone2", new String(new int[] {0x1f64e,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_pouting_tone3", new String(new int[] {0x1f64e,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_pouting_tone4", new String(new int[] {0x1f64e,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_pouting_tone5", new String(new int[] {0x1f64e,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_pouting", new String(new int[] {0x1f64e,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_pouting_tone1", new String(new int[] {0x1f64e,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_pouting_tone2", new String(new int[] {0x1f64e,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_pouting_tone3", new String(new int[] {0x1f64e,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_pouting_tone4", new String(new int[] {0x1f64e,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_pouting_tone5", new String(new int[] {0x1f64e,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_pouting", new String(new int[] {0x1f64e,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_pouting_tone5", new String(new int[] {0x1f64e,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_pouting_tone4", new String(new int[] {0x1f64e,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_pouting_tone3", new String(new int[] {0x1f64e,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_pouting_tone2", new String(new int[] {0x1f64e,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_pouting_tone1", new String(new int[] {0x1f64e,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_frowning", new String(new int[] {0x1f64d}, 0, 1)); - _shortNameToUnicode.put("person_frowning_tone1", new String(new int[] {0x1f64d,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_frowning_tone2", new String(new int[] {0x1f64d,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_frowning_tone3", new String(new int[] {0x1f64d,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_frowning_tone4", new String(new int[] {0x1f64d,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_frowning_tone5", new String(new int[] {0x1f64d,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_frowning", new String(new int[] {0x1f64d,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_frowning_tone1", new String(new int[] {0x1f64d,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_frowning_tone2", new String(new int[] {0x1f64d,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_frowning_tone3", new String(new int[] {0x1f64d,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_frowning_tone4", new String(new int[] {0x1f64d,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_frowning_tone5", new String(new int[] {0x1f64d,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_frowning", new String(new int[] {0x1f64d,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_frowning_tone5", new String(new int[] {0x1f64d,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_frowning_tone4", new String(new int[] {0x1f64d,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_frowning_tone3", new String(new int[] {0x1f64d,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_frowning_tone2", new String(new int[] {0x1f64d,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_frowning_tone1", new String(new int[] {0x1f64d,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_getting_haircut", new String(new int[] {0x1f487}, 0, 1)); - _shortNameToUnicode.put("person_getting_haircut_tone1", new String(new int[] {0x1f487,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_getting_haircut_tone2", new String(new int[] {0x1f487,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_getting_haircut_tone3", new String(new int[] {0x1f487,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_getting_haircut_tone4", new String(new int[] {0x1f487,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_getting_haircut_tone5", new String(new int[] {0x1f487,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_getting_haircut", new String(new int[] {0x1f487,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_getting_haircut_tone1", new String(new int[] {0x1f487,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_getting_haircut_tone2", new String(new int[] {0x1f487,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_getting_haircut_tone3", new String(new int[] {0x1f487,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_getting_haircut_tone4", new String(new int[] {0x1f487,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_getting_haircut_tone5", new String(new int[] {0x1f487,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_getting_haircut", new String(new int[] {0x1f487,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_getting_haircut_tone5", new String(new int[] {0x1f487,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_getting_haircut_tone4", new String(new int[] {0x1f487,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_getting_haircut_tone3", new String(new int[] {0x1f487,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_getting_haircut_tone2", new String(new int[] {0x1f487,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_getting_haircut_tone1", new String(new int[] {0x1f487,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_getting_massage", new String(new int[] {0x1f486}, 0, 1)); - _shortNameToUnicode.put("person_getting_massage_tone1", new String(new int[] {0x1f486,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_getting_massage_tone2", new String(new int[] {0x1f486,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_getting_massage_tone3", new String(new int[] {0x1f486,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_getting_massage_tone4", new String(new int[] {0x1f486,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_getting_massage_tone5", new String(new int[] {0x1f486,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_getting_face_massage", new String(new int[] {0x1f486,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_getting_face_massage_tone1", new String(new int[] {0x1f486,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_getting_face_massage_tone2", new String(new int[] {0x1f486,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_getting_face_massage_tone3", new String(new int[] {0x1f486,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_getting_face_massage_tone4", new String(new int[] {0x1f486,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_getting_face_massage_tone5", new String(new int[] {0x1f486,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_getting_face_massage", new String(new int[] {0x1f486,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_getting_face_massage_tone5", new String(new int[] {0x1f486,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_getting_face_massage_tone4", new String(new int[] {0x1f486,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_getting_face_massage_tone3", new String(new int[] {0x1f486,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_getting_face_massage_tone2", new String(new int[] {0x1f486,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_getting_face_massage_tone1", new String(new int[] {0x1f486,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("levitate", new String(new int[] {0x1f574}, 0, 1)); - _shortNameToUnicode.put("man_in_business_suit_levitating_tone1", new String(new int[] {0x1f574,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("man_in_business_suit_levitating_tone2", new String(new int[] {0x1f574,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("man_in_business_suit_levitating_tone3", new String(new int[] {0x1f574,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("man_in_business_suit_levitating_tone4", new String(new int[] {0x1f574,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("man_in_business_suit_levitating_tone5", new String(new int[] {0x1f574,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("dancer", new String(new int[] {0x1f483}, 0, 1)); - _shortNameToUnicode.put("dancer_tone1", new String(new int[] {0x1f483,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("dancer_tone2", new String(new int[] {0x1f483,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("dancer_tone3", new String(new int[] {0x1f483,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("dancer_tone4", new String(new int[] {0x1f483,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("dancer_tone5", new String(new int[] {0x1f483,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_dancing", new String(new int[] {0x1f57a}, 0, 1)); - _shortNameToUnicode.put("man_dancing_tone1", new String(new int[] {0x1f57a,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("man_dancing_tone2", new String(new int[] {0x1f57a,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("man_dancing_tone3", new String(new int[] {0x1f57a,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("man_dancing_tone4", new String(new int[] {0x1f57a,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("man_dancing_tone5", new String(new int[] {0x1f57a,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("people_with_bunny_ears_partying", new String(new int[] {0x1f46f}, 0, 1)); - _shortNameToUnicode.put("men_with_bunny_ears_partying", new String(new int[] {0x1f46f,0x2642}, 0, 2)); - _shortNameToUnicode.put("women_with_bunny_ears_partying", new String(new int[] {0x1f46f,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_walking", new String(new int[] {0x1f6b6,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_walking_tone1", new String(new int[] {0x1f6b6,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_walking_tone2", new String(new int[] {0x1f6b6,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_walking_tone3", new String(new int[] {0x1f6b6,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_walking_tone4", new String(new int[] {0x1f6b6,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_walking_tone5", new String(new int[] {0x1f6b6,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_walking", new String(new int[] {0x1f6b6}, 0, 1)); - _shortNameToUnicode.put("person_walking_tone1", new String(new int[] {0x1f6b6,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_walking_tone2", new String(new int[] {0x1f6b6,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_walking_tone3", new String(new int[] {0x1f6b6,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_walking_tone4", new String(new int[] {0x1f6b6,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_walking_tone5", new String(new int[] {0x1f6b6,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_walking", new String(new int[] {0x1f6b6,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_walking_tone5", new String(new int[] {0x1f6b6,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_walking_tone4", new String(new int[] {0x1f6b6,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_walking_tone3", new String(new int[] {0x1f6b6,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_walking_tone2", new String(new int[] {0x1f6b6,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_walking_tone1", new String(new int[] {0x1f6b6,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_running", new String(new int[] {0x1f3c3,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_running_tone1", new String(new int[] {0x1f3c3,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_running_tone2", new String(new int[] {0x1f3c3,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_running_tone3", new String(new int[] {0x1f3c3,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_running_tone4", new String(new int[] {0x1f3c3,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_running_tone5", new String(new int[] {0x1f3c3,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_running", new String(new int[] {0x1f3c3}, 0, 1)); - _shortNameToUnicode.put("person_running_tone1", new String(new int[] {0x1f3c3,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_running_tone2", new String(new int[] {0x1f3c3,0x1f3fc}, 0, 2)); - } - private static void init5(){ - _shortNameToUnicode.put("person_running_tone3", new String(new int[] {0x1f3c3,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_running_tone4", new String(new int[] {0x1f3c3,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_running_tone5", new String(new int[] {0x1f3c3,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_running", new String(new int[] {0x1f3c3,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_running_tone5", new String(new int[] {0x1f3c3,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_running_tone4", new String(new int[] {0x1f3c3,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_running_tone3", new String(new int[] {0x1f3c3,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_running_tone2", new String(new int[] {0x1f3c3,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_running_tone1", new String(new int[] {0x1f3c3,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("couple", new String(new int[] {0x1f46b}, 0, 1)); - _shortNameToUnicode.put("two_women_holding_hands", new String(new int[] {0x1f46d}, 0, 1)); - _shortNameToUnicode.put("two_men_holding_hands", new String(new int[] {0x1f46c}, 0, 1)); - _shortNameToUnicode.put("couple_with_heart", new String(new int[] {0x1f491}, 0, 1)); - _shortNameToUnicode.put("couple_ww", new String(new int[] {0x1f469,0x2764,0x1f469}, 0, 3)); - _shortNameToUnicode.put("couple_mm", new String(new int[] {0x1f468,0x2764,0x1f468}, 0, 3)); - _shortNameToUnicode.put("couplekiss", new String(new int[] {0x1f48f}, 0, 1)); - _shortNameToUnicode.put("kiss_ww", new String(new int[] {0x1f469,0x2764,0x1f48b,0x1f469}, 0, 4)); - _shortNameToUnicode.put("kiss_mm", new String(new int[] {0x1f468,0x2764,0x1f48b,0x1f468}, 0, 4)); - _shortNameToUnicode.put("family", new String(new int[] {0x1f46a}, 0, 1)); - _shortNameToUnicode.put("family_mwg", new String(new int[] {0x1f468,0x1f469,0x1f467}, 0, 3)); - _shortNameToUnicode.put("family_mwgb", new String(new int[] {0x1f468,0x1f469,0x1f467,0x1f466}, 0, 4)); - _shortNameToUnicode.put("family_mwbb", new String(new int[] {0x1f468,0x1f469,0x1f466,0x1f466}, 0, 4)); - _shortNameToUnicode.put("family_mwgg", new String(new int[] {0x1f468,0x1f469,0x1f467,0x1f467}, 0, 4)); - _shortNameToUnicode.put("family_wwb", new String(new int[] {0x1f469,0x1f469,0x1f466}, 0, 3)); - _shortNameToUnicode.put("family_wwg", new String(new int[] {0x1f469,0x1f469,0x1f467}, 0, 3)); - _shortNameToUnicode.put("family_wwgb", new String(new int[] {0x1f469,0x1f469,0x1f467,0x1f466}, 0, 4)); - _shortNameToUnicode.put("family_wwbb", new String(new int[] {0x1f469,0x1f469,0x1f466,0x1f466}, 0, 4)); - _shortNameToUnicode.put("family_wwgg", new String(new int[] {0x1f469,0x1f469,0x1f467,0x1f467}, 0, 4)); - _shortNameToUnicode.put("family_mmb", new String(new int[] {0x1f468,0x1f468,0x1f466}, 0, 3)); - _shortNameToUnicode.put("family_mmg", new String(new int[] {0x1f468,0x1f468,0x1f467}, 0, 3)); - _shortNameToUnicode.put("family_mmgb", new String(new int[] {0x1f468,0x1f468,0x1f467,0x1f466}, 0, 4)); - _shortNameToUnicode.put("family_mmbb", new String(new int[] {0x1f468,0x1f468,0x1f466,0x1f466}, 0, 4)); - _shortNameToUnicode.put("family_mmgg", new String(new int[] {0x1f468,0x1f468,0x1f467,0x1f467}, 0, 4)); - _shortNameToUnicode.put("family_woman_boy", new String(new int[] {0x1f469,0x1f466}, 0, 2)); - _shortNameToUnicode.put("family_woman_girl", new String(new int[] {0x1f469,0x1f467}, 0, 2)); - _shortNameToUnicode.put("family_woman_girl_boy", new String(new int[] {0x1f469,0x1f467,0x1f466}, 0, 3)); - _shortNameToUnicode.put("family_woman_boy_boy", new String(new int[] {0x1f469,0x1f466,0x1f466}, 0, 3)); - _shortNameToUnicode.put("family_woman_girl_girl", new String(new int[] {0x1f469,0x1f467,0x1f467}, 0, 3)); - _shortNameToUnicode.put("family_man_boy", new String(new int[] {0x1f468,0x1f466}, 0, 2)); - _shortNameToUnicode.put("family_man_girl", new String(new int[] {0x1f468,0x1f467}, 0, 2)); - _shortNameToUnicode.put("family_man_girl_boy", new String(new int[] {0x1f468,0x1f467,0x1f466}, 0, 3)); - _shortNameToUnicode.put("family_man_boy_boy", new String(new int[] {0x1f468,0x1f466,0x1f466}, 0, 3)); - _shortNameToUnicode.put("family_man_girl_girl", new String(new int[] {0x1f468,0x1f467,0x1f467}, 0, 3)); - _shortNameToUnicode.put("womans_clothes", new String(new int[] {0x1f45a}, 0, 1)); - _shortNameToUnicode.put("shirt", new String(new int[] {0x1f455}, 0, 1)); - _shortNameToUnicode.put("jeans", new String(new int[] {0x1f456}, 0, 1)); - _shortNameToUnicode.put("necktie", new String(new int[] {0x1f454}, 0, 1)); - _shortNameToUnicode.put("dress", new String(new int[] {0x1f457}, 0, 1)); - _shortNameToUnicode.put("bikini", new String(new int[] {0x1f459}, 0, 1)); - _shortNameToUnicode.put("kimono", new String(new int[] {0x1f458}, 0, 1)); - _shortNameToUnicode.put("high_heel", new String(new int[] {0x1f460}, 0, 1)); - _shortNameToUnicode.put("sandal", new String(new int[] {0x1f461}, 0, 1)); - _shortNameToUnicode.put("boot", new String(new int[] {0x1f462}, 0, 1)); - _shortNameToUnicode.put("mans_shoe", new String(new int[] {0x1f45e}, 0, 1)); - _shortNameToUnicode.put("athletic_shoe", new String(new int[] {0x1f45f}, 0, 1)); - _shortNameToUnicode.put("womans_hat", new String(new int[] {0x1f452}, 0, 1)); - _shortNameToUnicode.put("tophat", new String(new int[] {0x1f3a9}, 0, 1)); - _shortNameToUnicode.put("mortar_board", new String(new int[] {0x1f393}, 0, 1)); - _shortNameToUnicode.put("crown", new String(new int[] {0x1f451}, 0, 1)); - _shortNameToUnicode.put("helmet_with_cross", new String(new int[] {0x26d1}, 0, 1)); - _shortNameToUnicode.put("school_satchel", new String(new int[] {0x1f392}, 0, 1)); - _shortNameToUnicode.put("pouch", new String(new int[] {0x1f45d}, 0, 1)); - _shortNameToUnicode.put("purse", new String(new int[] {0x1f45b}, 0, 1)); - _shortNameToUnicode.put("handbag", new String(new int[] {0x1f45c}, 0, 1)); - _shortNameToUnicode.put("briefcase", new String(new int[] {0x1f4bc}, 0, 1)); - _shortNameToUnicode.put("eyeglasses", new String(new int[] {0x1f453}, 0, 1)); - _shortNameToUnicode.put("dark_sunglasses", new String(new int[] {0x1f576}, 0, 1)); - _shortNameToUnicode.put("closed_umbrella", new String(new int[] {0x1f302}, 0, 1)); - _shortNameToUnicode.put("dog", new String(new int[] {0x1f436}, 0, 1)); - _shortNameToUnicode.put("cat", new String(new int[] {0x1f431}, 0, 1)); - _shortNameToUnicode.put("mouse", new String(new int[] {0x1f42d}, 0, 1)); - _shortNameToUnicode.put("hamster", new String(new int[] {0x1f439}, 0, 1)); - _shortNameToUnicode.put("rabbit", new String(new int[] {0x1f430}, 0, 1)); - _shortNameToUnicode.put("fox", new String(new int[] {0x1f98a}, 0, 1)); - _shortNameToUnicode.put("bear", new String(new int[] {0x1f43b}, 0, 1)); - _shortNameToUnicode.put("panda_face", new String(new int[] {0x1f43c}, 0, 1)); - _shortNameToUnicode.put("koala", new String(new int[] {0x1f428}, 0, 1)); - _shortNameToUnicode.put("tiger", new String(new int[] {0x1f42f}, 0, 1)); - _shortNameToUnicode.put("lion_face", new String(new int[] {0x1f981}, 0, 1)); - _shortNameToUnicode.put("cow", new String(new int[] {0x1f42e}, 0, 1)); - _shortNameToUnicode.put("pig", new String(new int[] {0x1f437}, 0, 1)); - _shortNameToUnicode.put("pig_nose", new String(new int[] {0x1f43d}, 0, 1)); - _shortNameToUnicode.put("frog", new String(new int[] {0x1f438}, 0, 1)); - _shortNameToUnicode.put("monkey_face", new String(new int[] {0x1f435}, 0, 1)); - _shortNameToUnicode.put("see_no_evil", new String(new int[] {0x1f648}, 0, 1)); - _shortNameToUnicode.put("hear_no_evil", new String(new int[] {0x1f649}, 0, 1)); - _shortNameToUnicode.put("speak_no_evil", new String(new int[] {0x1f64a}, 0, 1)); - _shortNameToUnicode.put("monkey", new String(new int[] {0x1f412}, 0, 1)); - _shortNameToUnicode.put("chicken", new String(new int[] {0x1f414}, 0, 1)); - _shortNameToUnicode.put("penguin", new String(new int[] {0x1f427}, 0, 1)); - _shortNameToUnicode.put("bird", new String(new int[] {0x1f426}, 0, 1)); - _shortNameToUnicode.put("baby_chick", new String(new int[] {0x1f424}, 0, 1)); - _shortNameToUnicode.put("hatching_chick", new String(new int[] {0x1f423}, 0, 1)); - _shortNameToUnicode.put("hatched_chick", new String(new int[] {0x1f425}, 0, 1)); - _shortNameToUnicode.put("duck", new String(new int[] {0x1f986}, 0, 1)); - _shortNameToUnicode.put("eagle", new String(new int[] {0x1f985}, 0, 1)); - _shortNameToUnicode.put("owl", new String(new int[] {0x1f989}, 0, 1)); - _shortNameToUnicode.put("bat", new String(new int[] {0x1f987}, 0, 1)); - _shortNameToUnicode.put("wolf", new String(new int[] {0x1f43a}, 0, 1)); - _shortNameToUnicode.put("boar", new String(new int[] {0x1f417}, 0, 1)); - _shortNameToUnicode.put("horse", new String(new int[] {0x1f434}, 0, 1)); - _shortNameToUnicode.put("unicorn", new String(new int[] {0x1f984}, 0, 1)); - _shortNameToUnicode.put("bee", new String(new int[] {0x1f41d}, 0, 1)); - _shortNameToUnicode.put("bug", new String(new int[] {0x1f41b}, 0, 1)); - _shortNameToUnicode.put("butterfly", new String(new int[] {0x1f98b}, 0, 1)); - _shortNameToUnicode.put("snail", new String(new int[] {0x1f40c}, 0, 1)); - _shortNameToUnicode.put("shell", new String(new int[] {0x1f41a}, 0, 1)); - _shortNameToUnicode.put("beetle", new String(new int[] {0x1f41e}, 0, 1)); - _shortNameToUnicode.put("ant", new String(new int[] {0x1f41c}, 0, 1)); - _shortNameToUnicode.put("spider", new String(new int[] {0x1f577}, 0, 1)); - _shortNameToUnicode.put("spider_web", new String(new int[] {0x1f578}, 0, 1)); - _shortNameToUnicode.put("turtle", new String(new int[] {0x1f422}, 0, 1)); - _shortNameToUnicode.put("snake", new String(new int[] {0x1f40d}, 0, 1)); - _shortNameToUnicode.put("lizard", new String(new int[] {0x1f98e}, 0, 1)); - _shortNameToUnicode.put("scorpion", new String(new int[] {0x1f982}, 0, 1)); - _shortNameToUnicode.put("crab", new String(new int[] {0x1f980}, 0, 1)); - _shortNameToUnicode.put("squid", new String(new int[] {0x1f991}, 0, 1)); - _shortNameToUnicode.put("octopus", new String(new int[] {0x1f419}, 0, 1)); - _shortNameToUnicode.put("shrimp", new String(new int[] {0x1f990}, 0, 1)); - _shortNameToUnicode.put("tropical_fish", new String(new int[] {0x1f420}, 0, 1)); - _shortNameToUnicode.put("fish", new String(new int[] {0x1f41f}, 0, 1)); - _shortNameToUnicode.put("blowfish", new String(new int[] {0x1f421}, 0, 1)); - _shortNameToUnicode.put("dolphin", new String(new int[] {0x1f42c}, 0, 1)); - _shortNameToUnicode.put("shark", new String(new int[] {0x1f988}, 0, 1)); - _shortNameToUnicode.put("whale", new String(new int[] {0x1f433}, 0, 1)); - _shortNameToUnicode.put("whale2", new String(new int[] {0x1f40b}, 0, 1)); - _shortNameToUnicode.put("crocodile", new String(new int[] {0x1f40a}, 0, 1)); - _shortNameToUnicode.put("leopard", new String(new int[] {0x1f406}, 0, 1)); - _shortNameToUnicode.put("tiger2", new String(new int[] {0x1f405}, 0, 1)); - _shortNameToUnicode.put("water_buffalo", new String(new int[] {0x1f403}, 0, 1)); - _shortNameToUnicode.put("ox", new String(new int[] {0x1f402}, 0, 1)); - _shortNameToUnicode.put("cow2", new String(new int[] {0x1f404}, 0, 1)); - _shortNameToUnicode.put("deer", new String(new int[] {0x1f98c}, 0, 1)); - _shortNameToUnicode.put("dromedary_camel", new String(new int[] {0x1f42a}, 0, 1)); - _shortNameToUnicode.put("camel", new String(new int[] {0x1f42b}, 0, 1)); - _shortNameToUnicode.put("elephant", new String(new int[] {0x1f418}, 0, 1)); - _shortNameToUnicode.put("rhino", new String(new int[] {0x1f98f}, 0, 1)); - _shortNameToUnicode.put("gorilla", new String(new int[] {0x1f98d}, 0, 1)); - _shortNameToUnicode.put("racehorse", new String(new int[] {0x1f40e}, 0, 1)); - _shortNameToUnicode.put("pig2", new String(new int[] {0x1f416}, 0, 1)); - _shortNameToUnicode.put("goat", new String(new int[] {0x1f410}, 0, 1)); - _shortNameToUnicode.put("ram", new String(new int[] {0x1f40f}, 0, 1)); - _shortNameToUnicode.put("sheep", new String(new int[] {0x1f411}, 0, 1)); - _shortNameToUnicode.put("dog2", new String(new int[] {0x1f415}, 0, 1)); - _shortNameToUnicode.put("poodle", new String(new int[] {0x1f429}, 0, 1)); - _shortNameToUnicode.put("cat2", new String(new int[] {0x1f408}, 0, 1)); - _shortNameToUnicode.put("rooster", new String(new int[] {0x1f413}, 0, 1)); - _shortNameToUnicode.put("turkey", new String(new int[] {0x1f983}, 0, 1)); - _shortNameToUnicode.put("dove", new String(new int[] {0x1f54a}, 0, 1)); - _shortNameToUnicode.put("rabbit2", new String(new int[] {0x1f407}, 0, 1)); - _shortNameToUnicode.put("mouse2", new String(new int[] {0x1f401}, 0, 1)); - _shortNameToUnicode.put("rat", new String(new int[] {0x1f400}, 0, 1)); - _shortNameToUnicode.put("chipmunk", new String(new int[] {0x1f43f}, 0, 1)); - _shortNameToUnicode.put("feet", new String(new int[] {0x1f43e}, 0, 1)); - _shortNameToUnicode.put("dragon", new String(new int[] {0x1f409}, 0, 1)); - _shortNameToUnicode.put("dragon_face", new String(new int[] {0x1f432}, 0, 1)); - _shortNameToUnicode.put("cactus", new String(new int[] {0x1f335}, 0, 1)); - _shortNameToUnicode.put("christmas_tree", new String(new int[] {0x1f384}, 0, 1)); - _shortNameToUnicode.put("evergreen_tree", new String(new int[] {0x1f332}, 0, 1)); - _shortNameToUnicode.put("deciduous_tree", new String(new int[] {0x1f333}, 0, 1)); - _shortNameToUnicode.put("palm_tree", new String(new int[] {0x1f334}, 0, 1)); - _shortNameToUnicode.put("seedling", new String(new int[] {0x1f331}, 0, 1)); - _shortNameToUnicode.put("herb", new String(new int[] {0x1f33f}, 0, 1)); - _shortNameToUnicode.put("four_leaf_clover", new String(new int[] {0x1f340}, 0, 1)); - _shortNameToUnicode.put("bamboo", new String(new int[] {0x1f38d}, 0, 1)); - _shortNameToUnicode.put("tanabata_tree", new String(new int[] {0x1f38b}, 0, 1)); - _shortNameToUnicode.put("leaves", new String(new int[] {0x1f343}, 0, 1)); - _shortNameToUnicode.put("fallen_leaf", new String(new int[] {0x1f342}, 0, 1)); - _shortNameToUnicode.put("maple_leaf", new String(new int[] {0x1f341}, 0, 1)); - _shortNameToUnicode.put("mushroom", new String(new int[] {0x1f344}, 0, 1)); - _shortNameToUnicode.put("ear_of_rice", new String(new int[] {0x1f33e}, 0, 1)); - _shortNameToUnicode.put("bouquet", new String(new int[] {0x1f490}, 0, 1)); - _shortNameToUnicode.put("tulip", new String(new int[] {0x1f337}, 0, 1)); - _shortNameToUnicode.put("rose", new String(new int[] {0x1f339}, 0, 1)); - _shortNameToUnicode.put("wilted_rose", new String(new int[] {0x1f940}, 0, 1)); - _shortNameToUnicode.put("sunflower", new String(new int[] {0x1f33b}, 0, 1)); - _shortNameToUnicode.put("blossom", new String(new int[] {0x1f33c}, 0, 1)); - _shortNameToUnicode.put("cherry_blossom", new String(new int[] {0x1f338}, 0, 1)); - _shortNameToUnicode.put("hibiscus", new String(new int[] {0x1f33a}, 0, 1)); - _shortNameToUnicode.put("earth_americas", new String(new int[] {0x1f30e}, 0, 1)); - _shortNameToUnicode.put("earth_africa", new String(new int[] {0x1f30d}, 0, 1)); - _shortNameToUnicode.put("earth_asia", new String(new int[] {0x1f30f}, 0, 1)); - _shortNameToUnicode.put("full_moon", new String(new int[] {0x1f315}, 0, 1)); - _shortNameToUnicode.put("waning_gibbous_moon", new String(new int[] {0x1f316}, 0, 1)); - _shortNameToUnicode.put("last_quarter_moon", new String(new int[] {0x1f317}, 0, 1)); - _shortNameToUnicode.put("waning_crescent_moon", new String(new int[] {0x1f318}, 0, 1)); - _shortNameToUnicode.put("new_moon", new String(new int[] {0x1f311}, 0, 1)); - _shortNameToUnicode.put("waxing_crescent_moon", new String(new int[] {0x1f312}, 0, 1)); - _shortNameToUnicode.put("first_quarter_moon", new String(new int[] {0x1f313}, 0, 1)); - _shortNameToUnicode.put("waxing_gibbous_moon", new String(new int[] {0x1f314}, 0, 1)); - _shortNameToUnicode.put("new_moon_with_face", new String(new int[] {0x1f31a}, 0, 1)); - _shortNameToUnicode.put("full_moon_with_face", new String(new int[] {0x1f31d}, 0, 1)); - _shortNameToUnicode.put("sun_with_face", new String(new int[] {0x1f31e}, 0, 1)); - _shortNameToUnicode.put("first_quarter_moon_with_face", new String(new int[] {0x1f31b}, 0, 1)); - _shortNameToUnicode.put("last_quarter_moon_with_face", new String(new int[] {0x1f31c}, 0, 1)); - _shortNameToUnicode.put("crescent_moon", new String(new int[] {0x1f319}, 0, 1)); - _shortNameToUnicode.put("dizzy", new String(new int[] {0x1f4ab}, 0, 1)); - _shortNameToUnicode.put("star", new String(new int[] {0x2b50}, 0, 1)); - _shortNameToUnicode.put("star2", new String(new int[] {0x1f31f}, 0, 1)); - _shortNameToUnicode.put("zap", new String(new int[] {0x26a1}, 0, 1)); - _shortNameToUnicode.put("fire", new String(new int[] {0x1f525}, 0, 1)); - _shortNameToUnicode.put("boom", new String(new int[] {0x1f4a5}, 0, 1)); - _shortNameToUnicode.put("white_sun_small_cloud", new String(new int[] {0x1f324}, 0, 1)); - _shortNameToUnicode.put("partly_sunny", new String(new int[] {0x26c5}, 0, 1)); - _shortNameToUnicode.put("white_sun_cloud", new String(new int[] {0x1f325}, 0, 1)); - _shortNameToUnicode.put("white_sun_rain_cloud", new String(new int[] {0x1f326}, 0, 1)); - _shortNameToUnicode.put("rainbow", new String(new int[] {0x1f308}, 0, 1)); - _shortNameToUnicode.put("cloud_rain", new String(new int[] {0x1f327}, 0, 1)); - _shortNameToUnicode.put("thunder_cloud_rain", new String(new int[] {0x26c8}, 0, 1)); - _shortNameToUnicode.put("cloud_lightning", new String(new int[] {0x1f329}, 0, 1)); - _shortNameToUnicode.put("cloud_snow", new String(new int[] {0x1f328}, 0, 1)); - _shortNameToUnicode.put("snowman", new String(new int[] {0x26c4}, 0, 1)); - _shortNameToUnicode.put("wind_blowing_face", new String(new int[] {0x1f32c}, 0, 1)); - _shortNameToUnicode.put("dash", new String(new int[] {0x1f4a8}, 0, 1)); - _shortNameToUnicode.put("cloud_tornado", new String(new int[] {0x1f32a}, 0, 1)); - _shortNameToUnicode.put("fog", new String(new int[] {0x1f32b}, 0, 1)); - _shortNameToUnicode.put("ocean", new String(new int[] {0x1f30a}, 0, 1)); - _shortNameToUnicode.put("droplet", new String(new int[] {0x1f4a7}, 0, 1)); - _shortNameToUnicode.put("sweat_drops", new String(new int[] {0x1f4a6}, 0, 1)); - _shortNameToUnicode.put("green_apple", new String(new int[] {0x1f34f}, 0, 1)); - _shortNameToUnicode.put("apple", new String(new int[] {0x1f34e}, 0, 1)); - _shortNameToUnicode.put("pear", new String(new int[] {0x1f350}, 0, 1)); - _shortNameToUnicode.put("tangerine", new String(new int[] {0x1f34a}, 0, 1)); - _shortNameToUnicode.put("lemon", new String(new int[] {0x1f34b}, 0, 1)); - _shortNameToUnicode.put("banana", new String(new int[] {0x1f34c}, 0, 1)); - _shortNameToUnicode.put("watermelon", new String(new int[] {0x1f349}, 0, 1)); - _shortNameToUnicode.put("grapes", new String(new int[] {0x1f347}, 0, 1)); - _shortNameToUnicode.put("strawberry", new String(new int[] {0x1f353}, 0, 1)); - _shortNameToUnicode.put("melon", new String(new int[] {0x1f348}, 0, 1)); - _shortNameToUnicode.put("cherries", new String(new int[] {0x1f352}, 0, 1)); - _shortNameToUnicode.put("peach", new String(new int[] {0x1f351}, 0, 1)); - _shortNameToUnicode.put("pineapple", new String(new int[] {0x1f34d}, 0, 1)); - _shortNameToUnicode.put("kiwi", new String(new int[] {0x1f95d}, 0, 1)); - _shortNameToUnicode.put("avocado", new String(new int[] {0x1f951}, 0, 1)); - _shortNameToUnicode.put("tomato", new String(new int[] {0x1f345}, 0, 1)); - _shortNameToUnicode.put("eggplant", new String(new int[] {0x1f346}, 0, 1)); - _shortNameToUnicode.put("cucumber", new String(new int[] {0x1f952}, 0, 1)); - _shortNameToUnicode.put("carrot", new String(new int[] {0x1f955}, 0, 1)); - _shortNameToUnicode.put("corn", new String(new int[] {0x1f33d}, 0, 1)); - _shortNameToUnicode.put("hot_pepper", new String(new int[] {0x1f336}, 0, 1)); - _shortNameToUnicode.put("potato", new String(new int[] {0x1f954}, 0, 1)); - _shortNameToUnicode.put("sweet_potato", new String(new int[] {0x1f360}, 0, 1)); - _shortNameToUnicode.put("chestnut", new String(new int[] {0x1f330}, 0, 1)); - _shortNameToUnicode.put("peanuts", new String(new int[] {0x1f95c}, 0, 1)); - _shortNameToUnicode.put("honey_pot", new String(new int[] {0x1f36f}, 0, 1)); - _shortNameToUnicode.put("croissant", new String(new int[] {0x1f950}, 0, 1)); - _shortNameToUnicode.put("bread", new String(new int[] {0x1f35e}, 0, 1)); - _shortNameToUnicode.put("french_bread", new String(new int[] {0x1f956}, 0, 1)); - _shortNameToUnicode.put("cheese", new String(new int[] {0x1f9c0}, 0, 1)); - _shortNameToUnicode.put("egg", new String(new int[] {0x1f95a}, 0, 1)); - _shortNameToUnicode.put("cooking", new String(new int[] {0x1f373}, 0, 1)); - _shortNameToUnicode.put("bacon", new String(new int[] {0x1f953}, 0, 1)); - _shortNameToUnicode.put("pancakes", new String(new int[] {0x1f95e}, 0, 1)); - _shortNameToUnicode.put("fried_shrimp", new String(new int[] {0x1f364}, 0, 1)); - _shortNameToUnicode.put("poultry_leg", new String(new int[] {0x1f357}, 0, 1)); - _shortNameToUnicode.put("meat_on_bone", new String(new int[] {0x1f356}, 0, 1)); - _shortNameToUnicode.put("pizza", new String(new int[] {0x1f355}, 0, 1)); - _shortNameToUnicode.put("hotdog", new String(new int[] {0x1f32d}, 0, 1)); - _shortNameToUnicode.put("hamburger", new String(new int[] {0x1f354}, 0, 1)); - _shortNameToUnicode.put("fries", new String(new int[] {0x1f35f}, 0, 1)); - _shortNameToUnicode.put("stuffed_flatbread", new String(new int[] {0x1f959}, 0, 1)); - _shortNameToUnicode.put("taco", new String(new int[] {0x1f32e}, 0, 1)); - _shortNameToUnicode.put("burrito", new String(new int[] {0x1f32f}, 0, 1)); - _shortNameToUnicode.put("salad", new String(new int[] {0x1f957}, 0, 1)); - _shortNameToUnicode.put("shallow_pan_of_food", new String(new int[] {0x1f958}, 0, 1)); - _shortNameToUnicode.put("spaghetti", new String(new int[] {0x1f35d}, 0, 1)); - _shortNameToUnicode.put("ramen", new String(new int[] {0x1f35c}, 0, 1)); - _shortNameToUnicode.put("stew", new String(new int[] {0x1f372}, 0, 1)); - _shortNameToUnicode.put("fish_cake", new String(new int[] {0x1f365}, 0, 1)); - _shortNameToUnicode.put("sushi", new String(new int[] {0x1f363}, 0, 1)); - _shortNameToUnicode.put("bento", new String(new int[] {0x1f371}, 0, 1)); - _shortNameToUnicode.put("curry", new String(new int[] {0x1f35b}, 0, 1)); - _shortNameToUnicode.put("rice_ball", new String(new int[] {0x1f359}, 0, 1)); - _shortNameToUnicode.put("rice", new String(new int[] {0x1f35a}, 0, 1)); - _shortNameToUnicode.put("rice_cracker", new String(new int[] {0x1f358}, 0, 1)); - _shortNameToUnicode.put("oden", new String(new int[] {0x1f362}, 0, 1)); - _shortNameToUnicode.put("dango", new String(new int[] {0x1f361}, 0, 1)); - _shortNameToUnicode.put("shaved_ice", new String(new int[] {0x1f367}, 0, 1)); - _shortNameToUnicode.put("ice_cream", new String(new int[] {0x1f368}, 0, 1)); - _shortNameToUnicode.put("icecream", new String(new int[] {0x1f366}, 0, 1)); - _shortNameToUnicode.put("cake", new String(new int[] {0x1f370}, 0, 1)); - _shortNameToUnicode.put("birthday", new String(new int[] {0x1f382}, 0, 1)); - _shortNameToUnicode.put("custard", new String(new int[] {0x1f36e}, 0, 1)); - _shortNameToUnicode.put("lollipop", new String(new int[] {0x1f36d}, 0, 1)); - _shortNameToUnicode.put("candy", new String(new int[] {0x1f36c}, 0, 1)); - _shortNameToUnicode.put("chocolate_bar", new String(new int[] {0x1f36b}, 0, 1)); - _shortNameToUnicode.put("popcorn", new String(new int[] {0x1f37f}, 0, 1)); - _shortNameToUnicode.put("doughnut", new String(new int[] {0x1f369}, 0, 1)); - _shortNameToUnicode.put("cookie", new String(new int[] {0x1f36a}, 0, 1)); - _shortNameToUnicode.put("milk", new String(new int[] {0x1f95b}, 0, 1)); - _shortNameToUnicode.put("baby_bottle", new String(new int[] {0x1f37c}, 0, 1)); - _shortNameToUnicode.put("tea", new String(new int[] {0x1f375}, 0, 1)); - _shortNameToUnicode.put("sake", new String(new int[] {0x1f376}, 0, 1)); - _shortNameToUnicode.put("beer", new String(new int[] {0x1f37a}, 0, 1)); - _shortNameToUnicode.put("beers", new String(new int[] {0x1f37b}, 0, 1)); - _shortNameToUnicode.put("champagne_glass", new String(new int[] {0x1f942}, 0, 1)); - _shortNameToUnicode.put("wine_glass", new String(new int[] {0x1f377}, 0, 1)); - _shortNameToUnicode.put("tumbler_glass", new String(new int[] {0x1f943}, 0, 1)); - _shortNameToUnicode.put("cocktail", new String(new int[] {0x1f378}, 0, 1)); - _shortNameToUnicode.put("tropical_drink", new String(new int[] {0x1f379}, 0, 1)); - _shortNameToUnicode.put("champagne", new String(new int[] {0x1f37e}, 0, 1)); - _shortNameToUnicode.put("spoon", new String(new int[] {0x1f944}, 0, 1)); - _shortNameToUnicode.put("fork_and_knife", new String(new int[] {0x1f374}, 0, 1)); - _shortNameToUnicode.put("fork_knife_plate", new String(new int[] {0x1f37d}, 0, 1)); - _shortNameToUnicode.put("soccer", new String(new int[] {0x26bd}, 0, 1)); - _shortNameToUnicode.put("basketball", new String(new int[] {0x1f3c0}, 0, 1)); - _shortNameToUnicode.put("football", new String(new int[] {0x1f3c8}, 0, 1)); - _shortNameToUnicode.put("baseball", new String(new int[] {0x26be}, 0, 1)); - _shortNameToUnicode.put("tennis", new String(new int[] {0x1f3be}, 0, 1)); - _shortNameToUnicode.put("volleyball", new String(new int[] {0x1f3d0}, 0, 1)); - _shortNameToUnicode.put("rugby_football", new String(new int[] {0x1f3c9}, 0, 1)); - _shortNameToUnicode.put("8ball", new String(new int[] {0x1f3b1}, 0, 1)); - _shortNameToUnicode.put("ping_pong", new String(new int[] {0x1f3d3}, 0, 1)); - _shortNameToUnicode.put("badminton", new String(new int[] {0x1f3f8}, 0, 1)); - _shortNameToUnicode.put("goal", new String(new int[] {0x1f945}, 0, 1)); - _shortNameToUnicode.put("hockey", new String(new int[] {0x1f3d2}, 0, 1)); - _shortNameToUnicode.put("field_hockey", new String(new int[] {0x1f3d1}, 0, 1)); - _shortNameToUnicode.put("cricket", new String(new int[] {0x1f3cf}, 0, 1)); - _shortNameToUnicode.put("golf", new String(new int[] {0x26f3}, 0, 1)); - _shortNameToUnicode.put("bow_and_arrow", new String(new int[] {0x1f3f9}, 0, 1)); - _shortNameToUnicode.put("fishing_pole_and_fish", new String(new int[] {0x1f3a3}, 0, 1)); - _shortNameToUnicode.put("boxing_glove", new String(new int[] {0x1f94a}, 0, 1)); - _shortNameToUnicode.put("martial_arts_uniform", new String(new int[] {0x1f94b}, 0, 1)); - _shortNameToUnicode.put("ice_skate", new String(new int[] {0x26f8}, 0, 1)); - _shortNameToUnicode.put("ski", new String(new int[] {0x1f3bf}, 0, 1)); - _shortNameToUnicode.put("skier", new String(new int[] {0x26f7}, 0, 1)); - _shortNameToUnicode.put("snowboarder", new String(new int[] {0x1f3c2}, 0, 1)); - _shortNameToUnicode.put("snowboarder_tone1", new String(new int[] {0x1f3c2,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("snowboarder_tone2", new String(new int[] {0x1f3c2,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("snowboarder_tone3", new String(new int[] {0x1f3c2,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("snowboarder_tone4", new String(new int[] {0x1f3c2,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("snowboarder_tone5", new String(new int[] {0x1f3c2,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("woman_lifting_weights", new String(new int[] {0x1f3cb,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_lifting_weights_tone1", new String(new int[] {0x1f3cb,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_lifting_weights_tone2", new String(new int[] {0x1f3cb,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_lifting_weights_tone3", new String(new int[] {0x1f3cb,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_lifting_weights_tone4", new String(new int[] {0x1f3cb,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_lifting_weights_tone5", new String(new int[] {0x1f3cb,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_lifting_weights", new String(new int[] {0x1f3cb}, 0, 1)); - _shortNameToUnicode.put("person_lifting_weights_tone1", new String(new int[] {0x1f3cb,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_lifting_weights_tone2", new String(new int[] {0x1f3cb,0x1f3fc}, 0, 2)); - } - private static void init6(){ - _shortNameToUnicode.put("person_lifting_weights_tone3", new String(new int[] {0x1f3cb,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_lifting_weights_tone4", new String(new int[] {0x1f3cb,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_lifting_weights_tone5", new String(new int[] {0x1f3cb,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_lifting_weights", new String(new int[] {0x1f3cb,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_lifting_weights_tone5", new String(new int[] {0x1f3cb,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_lifting_weights_tone4", new String(new int[] {0x1f3cb,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_lifting_weights_tone3", new String(new int[] {0x1f3cb,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_lifting_weights_tone2", new String(new int[] {0x1f3cb,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_lifting_weights_tone1", new String(new int[] {0x1f3cb,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("person_fencing", new String(new int[] {0x1f93a}, 0, 1)); - _shortNameToUnicode.put("women_wrestling", new String(new int[] {0x1f93c,0x2640}, 0, 2)); - _shortNameToUnicode.put("men_wrestling", new String(new int[] {0x1f93c,0x2642}, 0, 2)); - _shortNameToUnicode.put("people_wrestling", new String(new int[] {0x1f93c}, 0, 1)); - _shortNameToUnicode.put("woman_cartwheeling", new String(new int[] {0x1f938,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_cartwheeling_tone1", new String(new int[] {0x1f938,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_cartwheeling_tone2", new String(new int[] {0x1f938,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_cartwheeling_tone3", new String(new int[] {0x1f938,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_cartwheeling_tone4", new String(new int[] {0x1f938,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_cartwheeling_tone5", new String(new int[] {0x1f938,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("man_cartwheeling", new String(new int[] {0x1f938,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_cartwheeling_tone1", new String(new int[] {0x1f938,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_cartwheeling_tone2", new String(new int[] {0x1f938,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_cartwheeling_tone3", new String(new int[] {0x1f938,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_cartwheeling_tone4", new String(new int[] {0x1f938,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_cartwheeling_tone5", new String(new int[] {0x1f938,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("person_doing_cartwheel", new String(new int[] {0x1f938}, 0, 1)); - _shortNameToUnicode.put("person_doing_cartwheel_tone1", new String(new int[] {0x1f938,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_doing_cartwheel_tone2", new String(new int[] {0x1f938,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_doing_cartwheel_tone3", new String(new int[] {0x1f938,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_doing_cartwheel_tone4", new String(new int[] {0x1f938,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_doing_cartwheel_tone5", new String(new int[] {0x1f938,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("woman_bouncing_ball", new String(new int[] {0x26f9,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_bouncing_ball_tone1", new String(new int[] {0x26f9,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_bouncing_ball_tone2", new String(new int[] {0x26f9,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_bouncing_ball_tone3", new String(new int[] {0x26f9,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_bouncing_ball_tone4", new String(new int[] {0x26f9,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_bouncing_ball_tone5", new String(new int[] {0x26f9,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_bouncing_ball", new String(new int[] {0x26f9}, 0, 1)); - _shortNameToUnicode.put("person_bouncing_ball_tone1", new String(new int[] {0x26f9,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_bouncing_ball_tone2", new String(new int[] {0x26f9,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_bouncing_ball_tone3", new String(new int[] {0x26f9,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_bouncing_ball_tone4", new String(new int[] {0x26f9,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_bouncing_ball_tone5", new String(new int[] {0x26f9,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_bouncing_ball", new String(new int[] {0x26f9,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_bouncing_ball_tone5", new String(new int[] {0x26f9,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_bouncing_ball_tone4", new String(new int[] {0x26f9,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_bouncing_ball_tone3", new String(new int[] {0x26f9,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_bouncing_ball_tone2", new String(new int[] {0x26f9,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_bouncing_ball_tone1", new String(new int[] {0x26f9,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_playing_handball", new String(new int[] {0x1f93e,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_playing_handball_tone1", new String(new int[] {0x1f93e,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_playing_handball_tone2", new String(new int[] {0x1f93e,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_playing_handball_tone3", new String(new int[] {0x1f93e,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_playing_handball_tone4", new String(new int[] {0x1f93e,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_playing_handball_tone5", new String(new int[] {0x1f93e,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("man_playing_handball", new String(new int[] {0x1f93e,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_playing_handball_tone1", new String(new int[] {0x1f93e,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_playing_handball_tone2", new String(new int[] {0x1f93e,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_playing_handball_tone3", new String(new int[] {0x1f93e,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_playing_handball_tone4", new String(new int[] {0x1f93e,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_playing_handball_tone5", new String(new int[] {0x1f93e,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("person_playing_handball", new String(new int[] {0x1f93e}, 0, 1)); - _shortNameToUnicode.put("person_playing_handball_tone1", new String(new int[] {0x1f93e,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_playing_handball_tone2", new String(new int[] {0x1f93e,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_playing_handball_tone3", new String(new int[] {0x1f93e,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_playing_handball_tone4", new String(new int[] {0x1f93e,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_playing_handball_tone5", new String(new int[] {0x1f93e,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("woman_golfing", new String(new int[] {0x1f3cc,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_golfing_tone1", new String(new int[] {0x1f3cc,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_golfing_tone2", new String(new int[] {0x1f3cc,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_golfing_tone3", new String(new int[] {0x1f3cc,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_golfing_tone4", new String(new int[] {0x1f3cc,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_golfing_tone5", new String(new int[] {0x1f3cc,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_golfing", new String(new int[] {0x1f3cc}, 0, 1)); - _shortNameToUnicode.put("person_golfing_tone1", new String(new int[] {0x1f3cc,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_golfing_tone2", new String(new int[] {0x1f3cc,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_golfing_tone3", new String(new int[] {0x1f3cc,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_golfing_tone4", new String(new int[] {0x1f3cc,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_golfing_tone5", new String(new int[] {0x1f3cc,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_golfing", new String(new int[] {0x1f3cc,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_golfing_tone1", new String(new int[] {0x1f3cc,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_golfing_tone2", new String(new int[] {0x1f3cc,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_golfing_tone3", new String(new int[] {0x1f3cc,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_golfing_tone4", new String(new int[] {0x1f3cc,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_golfing_tone5", new String(new int[] {0x1f3cc,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_surfing", new String(new int[] {0x1f3c4,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_surfing_tone1", new String(new int[] {0x1f3c4,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_surfing_tone2", new String(new int[] {0x1f3c4,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_surfing_tone3", new String(new int[] {0x1f3c4,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_surfing_tone4", new String(new int[] {0x1f3c4,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_surfing_tone5", new String(new int[] {0x1f3c4,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_surfing", new String(new int[] {0x1f3c4}, 0, 1)); - _shortNameToUnicode.put("person_surfing_tone1", new String(new int[] {0x1f3c4,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_surfing_tone2", new String(new int[] {0x1f3c4,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_surfing_tone3", new String(new int[] {0x1f3c4,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_surfing_tone4", new String(new int[] {0x1f3c4,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_surfing_tone5", new String(new int[] {0x1f3c4,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_surfing", new String(new int[] {0x1f3c4,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_surfing_tone5", new String(new int[] {0x1f3c4,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_surfing_tone4", new String(new int[] {0x1f3c4,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_surfing_tone3", new String(new int[] {0x1f3c4,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_surfing_tone2", new String(new int[] {0x1f3c4,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_surfing_tone1", new String(new int[] {0x1f3c4,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_swimming", new String(new int[] {0x1f3ca,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_swimming_tone1", new String(new int[] {0x1f3ca,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_swimming_tone2", new String(new int[] {0x1f3ca,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_swimming_tone3", new String(new int[] {0x1f3ca,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_swimming_tone4", new String(new int[] {0x1f3ca,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_swimming_tone5", new String(new int[] {0x1f3ca,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_swimming", new String(new int[] {0x1f3ca}, 0, 1)); - _shortNameToUnicode.put("person_swimming_tone1", new String(new int[] {0x1f3ca,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_swimming_tone2", new String(new int[] {0x1f3ca,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_swimming_tone3", new String(new int[] {0x1f3ca,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_swimming_tone4", new String(new int[] {0x1f3ca,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_swimming_tone5", new String(new int[] {0x1f3ca,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_swimming", new String(new int[] {0x1f3ca,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_swimming_tone5", new String(new int[] {0x1f3ca,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_swimming_tone4", new String(new int[] {0x1f3ca,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_swimming_tone3", new String(new int[] {0x1f3ca,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_swimming_tone2", new String(new int[] {0x1f3ca,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_swimming_tone1", new String(new int[] {0x1f3ca,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_playing_water_polo", new String(new int[] {0x1f93d,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_playing_water_polo_tone1", new String(new int[] {0x1f93d,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_playing_water_polo_tone2", new String(new int[] {0x1f93d,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_playing_water_polo_tone3", new String(new int[] {0x1f93d,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_playing_water_polo_tone4", new String(new int[] {0x1f93d,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_playing_water_polo_tone5", new String(new int[] {0x1f93d,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("man_playing_water_polo", new String(new int[] {0x1f93d,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_playing_water_polo_tone1", new String(new int[] {0x1f93d,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_playing_water_polo_tone2", new String(new int[] {0x1f93d,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_playing_water_polo_tone3", new String(new int[] {0x1f93d,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_playing_water_polo_tone4", new String(new int[] {0x1f93d,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_playing_water_polo_tone5", new String(new int[] {0x1f93d,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("person_playing_water_polo", new String(new int[] {0x1f93d}, 0, 1)); - _shortNameToUnicode.put("person_playing_water_polo_tone1", new String(new int[] {0x1f93d,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_playing_water_polo_tone2", new String(new int[] {0x1f93d,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_playing_water_polo_tone3", new String(new int[] {0x1f93d,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_playing_water_polo_tone4", new String(new int[] {0x1f93d,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_playing_water_polo_tone5", new String(new int[] {0x1f93d,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("woman_rowing_boat", new String(new int[] {0x1f6a3,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_rowing_boat_tone1", new String(new int[] {0x1f6a3,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_rowing_boat_tone2", new String(new int[] {0x1f6a3,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_rowing_boat_tone3", new String(new int[] {0x1f6a3,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_rowing_boat_tone4", new String(new int[] {0x1f6a3,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_rowing_boat_tone5", new String(new int[] {0x1f6a3,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_rowing_boat", new String(new int[] {0x1f6a3}, 0, 1)); - _shortNameToUnicode.put("person_rowing_boat_tone1", new String(new int[] {0x1f6a3,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_rowing_boat_tone2", new String(new int[] {0x1f6a3,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_rowing_boat_tone3", new String(new int[] {0x1f6a3,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_rowing_boat_tone4", new String(new int[] {0x1f6a3,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_rowing_boat_tone5", new String(new int[] {0x1f6a3,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_rowing_boat", new String(new int[] {0x1f6a3,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_rowing_boat_tone5", new String(new int[] {0x1f6a3,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_rowing_boat_tone4", new String(new int[] {0x1f6a3,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_rowing_boat_tone3", new String(new int[] {0x1f6a3,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_rowing_boat_tone2", new String(new int[] {0x1f6a3,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_rowing_boat_tone1", new String(new int[] {0x1f6a3,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("horse_racing", new String(new int[] {0x1f3c7}, 0, 1)); - _shortNameToUnicode.put("horse_racing_tone1", new String(new int[] {0x1f3c7,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("horse_racing_tone2", new String(new int[] {0x1f3c7,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("horse_racing_tone3", new String(new int[] {0x1f3c7,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("horse_racing_tone4", new String(new int[] {0x1f3c7,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("horse_racing_tone5", new String(new int[] {0x1f3c7,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("woman_biking", new String(new int[] {0x1f6b4,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_biking_tone1", new String(new int[] {0x1f6b4,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_biking_tone2", new String(new int[] {0x1f6b4,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_biking_tone3", new String(new int[] {0x1f6b4,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_biking_tone4", new String(new int[] {0x1f6b4,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_biking_tone5", new String(new int[] {0x1f6b4,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_biking", new String(new int[] {0x1f6b4}, 0, 1)); - _shortNameToUnicode.put("person_biking_tone1", new String(new int[] {0x1f6b4,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_biking_tone2", new String(new int[] {0x1f6b4,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_biking_tone3", new String(new int[] {0x1f6b4,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_biking_tone4", new String(new int[] {0x1f6b4,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_biking_tone5", new String(new int[] {0x1f6b4,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_biking", new String(new int[] {0x1f6b4,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_biking_tone5", new String(new int[] {0x1f6b4,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_biking_tone4", new String(new int[] {0x1f6b4,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_biking_tone3", new String(new int[] {0x1f6b4,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_biking_tone2", new String(new int[] {0x1f6b4,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_biking_tone1", new String(new int[] {0x1f6b4,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("woman_mountain_biking", new String(new int[] {0x1f6b5,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_mountain_biking_tone1", new String(new int[] {0x1f6b5,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_mountain_biking_tone2", new String(new int[] {0x1f6b5,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_mountain_biking_tone3", new String(new int[] {0x1f6b5,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_mountain_biking_tone4", new String(new int[] {0x1f6b5,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_mountain_biking_tone5", new String(new int[] {0x1f6b5,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("person_mountain_biking", new String(new int[] {0x1f6b5}, 0, 1)); - _shortNameToUnicode.put("person_mountain_biking_tone1", new String(new int[] {0x1f6b5,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_mountain_biking_tone2", new String(new int[] {0x1f6b5,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_mountain_biking_tone3", new String(new int[] {0x1f6b5,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_mountain_biking_tone4", new String(new int[] {0x1f6b5,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_mountain_biking_tone5", new String(new int[] {0x1f6b5,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("man_mountain_biking", new String(new int[] {0x1f6b5,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_mountain_biking_tone5", new String(new int[] {0x1f6b5,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_mountain_biking_tone4", new String(new int[] {0x1f6b5,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_mountain_biking_tone3", new String(new int[] {0x1f6b5,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_mountain_biking_tone2", new String(new int[] {0x1f6b5,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_mountain_biking_tone1", new String(new int[] {0x1f6b5,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("running_shirt_with_sash", new String(new int[] {0x1f3bd}, 0, 1)); - _shortNameToUnicode.put("medal", new String(new int[] {0x1f3c5}, 0, 1)); - _shortNameToUnicode.put("military_medal", new String(new int[] {0x1f396}, 0, 1)); - _shortNameToUnicode.put("first_place", new String(new int[] {0x1f947}, 0, 1)); - _shortNameToUnicode.put("second_place", new String(new int[] {0x1f948}, 0, 1)); - _shortNameToUnicode.put("third_place", new String(new int[] {0x1f949}, 0, 1)); - _shortNameToUnicode.put("trophy", new String(new int[] {0x1f3c6}, 0, 1)); - _shortNameToUnicode.put("rosette", new String(new int[] {0x1f3f5}, 0, 1)); - _shortNameToUnicode.put("reminder_ribbon", new String(new int[] {0x1f397}, 0, 1)); - _shortNameToUnicode.put("ticket", new String(new int[] {0x1f3ab}, 0, 1)); - _shortNameToUnicode.put("tickets", new String(new int[] {0x1f39f}, 0, 1)); - _shortNameToUnicode.put("circus_tent", new String(new int[] {0x1f3aa}, 0, 1)); - _shortNameToUnicode.put("woman_juggling", new String(new int[] {0x1f939,0x2640}, 0, 2)); - _shortNameToUnicode.put("woman_juggling_tone1", new String(new int[] {0x1f939,0x1f3fb,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_juggling_tone2", new String(new int[] {0x1f939,0x1f3fc,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_juggling_tone3", new String(new int[] {0x1f939,0x1f3fd,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_juggling_tone4", new String(new int[] {0x1f939,0x1f3fe,0x2640}, 0, 3)); - _shortNameToUnicode.put("woman_juggling_tone5", new String(new int[] {0x1f939,0x1f3ff,0x2640}, 0, 3)); - _shortNameToUnicode.put("man_juggling", new String(new int[] {0x1f939,0x2642}, 0, 2)); - _shortNameToUnicode.put("man_juggling_tone1", new String(new int[] {0x1f939,0x1f3fb,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_juggling_tone2", new String(new int[] {0x1f939,0x1f3fc,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_juggling_tone3", new String(new int[] {0x1f939,0x1f3fd,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_juggling_tone4", new String(new int[] {0x1f939,0x1f3fe,0x2642}, 0, 3)); - _shortNameToUnicode.put("man_juggling_tone5", new String(new int[] {0x1f939,0x1f3ff,0x2642}, 0, 3)); - _shortNameToUnicode.put("person_juggling", new String(new int[] {0x1f939}, 0, 1)); - _shortNameToUnicode.put("person_juggling_tone1", new String(new int[] {0x1f939,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_juggling_tone2", new String(new int[] {0x1f939,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_juggling_tone3", new String(new int[] {0x1f939,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_juggling_tone4", new String(new int[] {0x1f939,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_juggling_tone5", new String(new int[] {0x1f939,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("performing_arts", new String(new int[] {0x1f3ad}, 0, 1)); - _shortNameToUnicode.put("art", new String(new int[] {0x1f3a8}, 0, 1)); - _shortNameToUnicode.put("clapper", new String(new int[] {0x1f3ac}, 0, 1)); - _shortNameToUnicode.put("microphone", new String(new int[] {0x1f3a4}, 0, 1)); - _shortNameToUnicode.put("headphones", new String(new int[] {0x1f3a7}, 0, 1)); - _shortNameToUnicode.put("musical_score", new String(new int[] {0x1f3bc}, 0, 1)); - _shortNameToUnicode.put("musical_keyboard", new String(new int[] {0x1f3b9}, 0, 1)); - _shortNameToUnicode.put("drum", new String(new int[] {0x1f941}, 0, 1)); - _shortNameToUnicode.put("saxophone", new String(new int[] {0x1f3b7}, 0, 1)); - _shortNameToUnicode.put("trumpet", new String(new int[] {0x1f3ba}, 0, 1)); - _shortNameToUnicode.put("guitar", new String(new int[] {0x1f3b8}, 0, 1)); - _shortNameToUnicode.put("violin", new String(new int[] {0x1f3bb}, 0, 1)); - _shortNameToUnicode.put("game_die", new String(new int[] {0x1f3b2}, 0, 1)); - _shortNameToUnicode.put("dart", new String(new int[] {0x1f3af}, 0, 1)); - _shortNameToUnicode.put("bowling", new String(new int[] {0x1f3b3}, 0, 1)); - _shortNameToUnicode.put("video_game", new String(new int[] {0x1f3ae}, 0, 1)); - _shortNameToUnicode.put("slot_machine", new String(new int[] {0x1f3b0}, 0, 1)); - _shortNameToUnicode.put("red_car", new String(new int[] {0x1f697}, 0, 1)); - _shortNameToUnicode.put("taxi", new String(new int[] {0x1f695}, 0, 1)); - _shortNameToUnicode.put("blue_car", new String(new int[] {0x1f699}, 0, 1)); - _shortNameToUnicode.put("bus", new String(new int[] {0x1f68c}, 0, 1)); - _shortNameToUnicode.put("trolleybus", new String(new int[] {0x1f68e}, 0, 1)); - _shortNameToUnicode.put("race_car", new String(new int[] {0x1f3ce}, 0, 1)); - _shortNameToUnicode.put("police_car", new String(new int[] {0x1f693}, 0, 1)); - _shortNameToUnicode.put("ambulance", new String(new int[] {0x1f691}, 0, 1)); - _shortNameToUnicode.put("fire_engine", new String(new int[] {0x1f692}, 0, 1)); - _shortNameToUnicode.put("minibus", new String(new int[] {0x1f690}, 0, 1)); - _shortNameToUnicode.put("truck", new String(new int[] {0x1f69a}, 0, 1)); - _shortNameToUnicode.put("articulated_lorry", new String(new int[] {0x1f69b}, 0, 1)); - _shortNameToUnicode.put("tractor", new String(new int[] {0x1f69c}, 0, 1)); - _shortNameToUnicode.put("scooter", new String(new int[] {0x1f6f4}, 0, 1)); - _shortNameToUnicode.put("bike", new String(new int[] {0x1f6b2}, 0, 1)); - _shortNameToUnicode.put("motor_scooter", new String(new int[] {0x1f6f5}, 0, 1)); - _shortNameToUnicode.put("motorcycle", new String(new int[] {0x1f3cd}, 0, 1)); - _shortNameToUnicode.put("rotating_light", new String(new int[] {0x1f6a8}, 0, 1)); - _shortNameToUnicode.put("oncoming_police_car", new String(new int[] {0x1f694}, 0, 1)); - _shortNameToUnicode.put("oncoming_bus", new String(new int[] {0x1f68d}, 0, 1)); - _shortNameToUnicode.put("oncoming_automobile", new String(new int[] {0x1f698}, 0, 1)); - _shortNameToUnicode.put("oncoming_taxi", new String(new int[] {0x1f696}, 0, 1)); - _shortNameToUnicode.put("aerial_tramway", new String(new int[] {0x1f6a1}, 0, 1)); - _shortNameToUnicode.put("mountain_cableway", new String(new int[] {0x1f6a0}, 0, 1)); - _shortNameToUnicode.put("suspension_railway", new String(new int[] {0x1f69f}, 0, 1)); - _shortNameToUnicode.put("railway_car", new String(new int[] {0x1f683}, 0, 1)); - _shortNameToUnicode.put("train", new String(new int[] {0x1f68b}, 0, 1)); - } - private static void init7(){ - _shortNameToUnicode.put("mountain_railway", new String(new int[] {0x1f69e}, 0, 1)); - _shortNameToUnicode.put("monorail", new String(new int[] {0x1f69d}, 0, 1)); - _shortNameToUnicode.put("bullettrain_side", new String(new int[] {0x1f684}, 0, 1)); - _shortNameToUnicode.put("bullettrain_front", new String(new int[] {0x1f685}, 0, 1)); - _shortNameToUnicode.put("light_rail", new String(new int[] {0x1f688}, 0, 1)); - _shortNameToUnicode.put("steam_locomotive", new String(new int[] {0x1f682}, 0, 1)); - _shortNameToUnicode.put("train2", new String(new int[] {0x1f686}, 0, 1)); - _shortNameToUnicode.put("metro", new String(new int[] {0x1f687}, 0, 1)); - _shortNameToUnicode.put("tram", new String(new int[] {0x1f68a}, 0, 1)); - _shortNameToUnicode.put("station", new String(new int[] {0x1f689}, 0, 1)); - _shortNameToUnicode.put("helicopter", new String(new int[] {0x1f681}, 0, 1)); - _shortNameToUnicode.put("airplane_small", new String(new int[] {0x1f6e9}, 0, 1)); - _shortNameToUnicode.put("airplane_departure", new String(new int[] {0x1f6eb}, 0, 1)); - _shortNameToUnicode.put("airplane_arriving", new String(new int[] {0x1f6ec}, 0, 1)); - _shortNameToUnicode.put("rocket", new String(new int[] {0x1f680}, 0, 1)); - _shortNameToUnicode.put("satellite_orbital", new String(new int[] {0x1f6f0}, 0, 1)); - _shortNameToUnicode.put("seat", new String(new int[] {0x1f4ba}, 0, 1)); - _shortNameToUnicode.put("canoe", new String(new int[] {0x1f6f6}, 0, 1)); - _shortNameToUnicode.put("sailboat", new String(new int[] {0x26f5}, 0, 1)); - _shortNameToUnicode.put("motorboat", new String(new int[] {0x1f6e5}, 0, 1)); - _shortNameToUnicode.put("speedboat", new String(new int[] {0x1f6a4}, 0, 1)); - _shortNameToUnicode.put("cruise_ship", new String(new int[] {0x1f6f3}, 0, 1)); - _shortNameToUnicode.put("ferry", new String(new int[] {0x26f4}, 0, 1)); - _shortNameToUnicode.put("ship", new String(new int[] {0x1f6a2}, 0, 1)); - _shortNameToUnicode.put("construction", new String(new int[] {0x1f6a7}, 0, 1)); - _shortNameToUnicode.put("fuelpump", new String(new int[] {0x26fd}, 0, 1)); - _shortNameToUnicode.put("busstop", new String(new int[] {0x1f68f}, 0, 1)); - _shortNameToUnicode.put("vertical_traffic_light", new String(new int[] {0x1f6a6}, 0, 1)); - _shortNameToUnicode.put("traffic_light", new String(new int[] {0x1f6a5}, 0, 1)); - _shortNameToUnicode.put("map", new String(new int[] {0x1f5fa}, 0, 1)); - _shortNameToUnicode.put("moyai", new String(new int[] {0x1f5ff}, 0, 1)); - _shortNameToUnicode.put("statue_of_liberty", new String(new int[] {0x1f5fd}, 0, 1)); - _shortNameToUnicode.put("fountain", new String(new int[] {0x26f2}, 0, 1)); - _shortNameToUnicode.put("tokyo_tower", new String(new int[] {0x1f5fc}, 0, 1)); - _shortNameToUnicode.put("european_castle", new String(new int[] {0x1f3f0}, 0, 1)); - _shortNameToUnicode.put("japanese_castle", new String(new int[] {0x1f3ef}, 0, 1)); - _shortNameToUnicode.put("stadium", new String(new int[] {0x1f3df}, 0, 1)); - _shortNameToUnicode.put("ferris_wheel", new String(new int[] {0x1f3a1}, 0, 1)); - _shortNameToUnicode.put("roller_coaster", new String(new int[] {0x1f3a2}, 0, 1)); - _shortNameToUnicode.put("carousel_horse", new String(new int[] {0x1f3a0}, 0, 1)); - _shortNameToUnicode.put("beach_umbrella", new String(new int[] {0x26f1}, 0, 1)); - _shortNameToUnicode.put("beach", new String(new int[] {0x1f3d6}, 0, 1)); - _shortNameToUnicode.put("island", new String(new int[] {0x1f3dd}, 0, 1)); - _shortNameToUnicode.put("mountain", new String(new int[] {0x26f0}, 0, 1)); - _shortNameToUnicode.put("mountain_snow", new String(new int[] {0x1f3d4}, 0, 1)); - _shortNameToUnicode.put("mount_fuji", new String(new int[] {0x1f5fb}, 0, 1)); - _shortNameToUnicode.put("volcano", new String(new int[] {0x1f30b}, 0, 1)); - _shortNameToUnicode.put("desert", new String(new int[] {0x1f3dc}, 0, 1)); - _shortNameToUnicode.put("camping", new String(new int[] {0x1f3d5}, 0, 1)); - _shortNameToUnicode.put("tent", new String(new int[] {0x26fa}, 0, 1)); - _shortNameToUnicode.put("railway_track", new String(new int[] {0x1f6e4}, 0, 1)); - _shortNameToUnicode.put("motorway", new String(new int[] {0x1f6e3}, 0, 1)); - _shortNameToUnicode.put("construction_site", new String(new int[] {0x1f3d7}, 0, 1)); - _shortNameToUnicode.put("factory", new String(new int[] {0x1f3ed}, 0, 1)); - _shortNameToUnicode.put("house", new String(new int[] {0x1f3e0}, 0, 1)); - _shortNameToUnicode.put("house_with_garden", new String(new int[] {0x1f3e1}, 0, 1)); - _shortNameToUnicode.put("homes", new String(new int[] {0x1f3d8}, 0, 1)); - _shortNameToUnicode.put("house_abandoned", new String(new int[] {0x1f3da}, 0, 1)); - _shortNameToUnicode.put("office", new String(new int[] {0x1f3e2}, 0, 1)); - _shortNameToUnicode.put("department_store", new String(new int[] {0x1f3ec}, 0, 1)); - _shortNameToUnicode.put("post_office", new String(new int[] {0x1f3e3}, 0, 1)); - _shortNameToUnicode.put("european_post_office", new String(new int[] {0x1f3e4}, 0, 1)); - _shortNameToUnicode.put("hospital", new String(new int[] {0x1f3e5}, 0, 1)); - _shortNameToUnicode.put("bank", new String(new int[] {0x1f3e6}, 0, 1)); - _shortNameToUnicode.put("hotel", new String(new int[] {0x1f3e8}, 0, 1)); - _shortNameToUnicode.put("convenience_store", new String(new int[] {0x1f3ea}, 0, 1)); - _shortNameToUnicode.put("school", new String(new int[] {0x1f3eb}, 0, 1)); - _shortNameToUnicode.put("love_hotel", new String(new int[] {0x1f3e9}, 0, 1)); - _shortNameToUnicode.put("wedding", new String(new int[] {0x1f492}, 0, 1)); - _shortNameToUnicode.put("classical_building", new String(new int[] {0x1f3db}, 0, 1)); - _shortNameToUnicode.put("church", new String(new int[] {0x26ea}, 0, 1)); - _shortNameToUnicode.put("mosque", new String(new int[] {0x1f54c}, 0, 1)); - _shortNameToUnicode.put("synagogue", new String(new int[] {0x1f54d}, 0, 1)); - _shortNameToUnicode.put("kaaba", new String(new int[] {0x1f54b}, 0, 1)); - _shortNameToUnicode.put("shinto_shrine", new String(new int[] {0x26e9}, 0, 1)); - _shortNameToUnicode.put("japan", new String(new int[] {0x1f5fe}, 0, 1)); - _shortNameToUnicode.put("rice_scene", new String(new int[] {0x1f391}, 0, 1)); - _shortNameToUnicode.put("park", new String(new int[] {0x1f3de}, 0, 1)); - _shortNameToUnicode.put("sunrise", new String(new int[] {0x1f305}, 0, 1)); - _shortNameToUnicode.put("sunrise_over_mountains", new String(new int[] {0x1f304}, 0, 1)); - _shortNameToUnicode.put("stars", new String(new int[] {0x1f320}, 0, 1)); - _shortNameToUnicode.put("sparkler", new String(new int[] {0x1f387}, 0, 1)); - _shortNameToUnicode.put("fireworks", new String(new int[] {0x1f386}, 0, 1)); - _shortNameToUnicode.put("city_sunset", new String(new int[] {0x1f307}, 0, 1)); - _shortNameToUnicode.put("city_dusk", new String(new int[] {0x1f306}, 0, 1)); - _shortNameToUnicode.put("cityscape", new String(new int[] {0x1f3d9}, 0, 1)); - _shortNameToUnicode.put("night_with_stars", new String(new int[] {0x1f303}, 0, 1)); - _shortNameToUnicode.put("milky_way", new String(new int[] {0x1f30c}, 0, 1)); - _shortNameToUnicode.put("bridge_at_night", new String(new int[] {0x1f309}, 0, 1)); - _shortNameToUnicode.put("foggy", new String(new int[] {0x1f301}, 0, 1)); - _shortNameToUnicode.put("watch", new String(new int[] {0x231a}, 0, 1)); - _shortNameToUnicode.put("iphone", new String(new int[] {0x1f4f1}, 0, 1)); - _shortNameToUnicode.put("calling", new String(new int[] {0x1f4f2}, 0, 1)); - _shortNameToUnicode.put("computer", new String(new int[] {0x1f4bb}, 0, 1)); - _shortNameToUnicode.put("desktop", new String(new int[] {0x1f5a5}, 0, 1)); - _shortNameToUnicode.put("printer", new String(new int[] {0x1f5a8}, 0, 1)); - _shortNameToUnicode.put("mouse_three_button", new String(new int[] {0x1f5b1}, 0, 1)); - _shortNameToUnicode.put("trackball", new String(new int[] {0x1f5b2}, 0, 1)); - _shortNameToUnicode.put("joystick", new String(new int[] {0x1f579}, 0, 1)); - _shortNameToUnicode.put("compression", new String(new int[] {0x1f5dc}, 0, 1)); - _shortNameToUnicode.put("minidisc", new String(new int[] {0x1f4bd}, 0, 1)); - _shortNameToUnicode.put("floppy_disk", new String(new int[] {0x1f4be}, 0, 1)); - _shortNameToUnicode.put("cd", new String(new int[] {0x1f4bf}, 0, 1)); - _shortNameToUnicode.put("dvd", new String(new int[] {0x1f4c0}, 0, 1)); - _shortNameToUnicode.put("vhs", new String(new int[] {0x1f4fc}, 0, 1)); - _shortNameToUnicode.put("camera", new String(new int[] {0x1f4f7}, 0, 1)); - _shortNameToUnicode.put("camera_with_flash", new String(new int[] {0x1f4f8}, 0, 1)); - _shortNameToUnicode.put("video_camera", new String(new int[] {0x1f4f9}, 0, 1)); - _shortNameToUnicode.put("movie_camera", new String(new int[] {0x1f3a5}, 0, 1)); - _shortNameToUnicode.put("projector", new String(new int[] {0x1f4fd}, 0, 1)); - _shortNameToUnicode.put("film_frames", new String(new int[] {0x1f39e}, 0, 1)); - _shortNameToUnicode.put("telephone_receiver", new String(new int[] {0x1f4de}, 0, 1)); - _shortNameToUnicode.put("telephone", new String(new int[] {0x260e}, 0, 1)); - _shortNameToUnicode.put("pager", new String(new int[] {0x1f4df}, 0, 1)); - _shortNameToUnicode.put("fax", new String(new int[] {0x1f4e0}, 0, 1)); - _shortNameToUnicode.put("tv", new String(new int[] {0x1f4fa}, 0, 1)); - _shortNameToUnicode.put("radio", new String(new int[] {0x1f4fb}, 0, 1)); - _shortNameToUnicode.put("microphone2", new String(new int[] {0x1f399}, 0, 1)); - _shortNameToUnicode.put("level_slider", new String(new int[] {0x1f39a}, 0, 1)); - _shortNameToUnicode.put("control_knobs", new String(new int[] {0x1f39b}, 0, 1)); - _shortNameToUnicode.put("stopwatch", new String(new int[] {0x23f1}, 0, 1)); - _shortNameToUnicode.put("timer", new String(new int[] {0x23f2}, 0, 1)); - _shortNameToUnicode.put("alarm_clock", new String(new int[] {0x23f0}, 0, 1)); - _shortNameToUnicode.put("clock", new String(new int[] {0x1f570}, 0, 1)); - _shortNameToUnicode.put("hourglass", new String(new int[] {0x231b}, 0, 1)); - _shortNameToUnicode.put("hourglass_flowing_sand", new String(new int[] {0x23f3}, 0, 1)); - _shortNameToUnicode.put("satellite", new String(new int[] {0x1f4e1}, 0, 1)); - _shortNameToUnicode.put("battery", new String(new int[] {0x1f50b}, 0, 1)); - _shortNameToUnicode.put("electric_plug", new String(new int[] {0x1f50c}, 0, 1)); - _shortNameToUnicode.put("bulb", new String(new int[] {0x1f4a1}, 0, 1)); - _shortNameToUnicode.put("flashlight", new String(new int[] {0x1f526}, 0, 1)); - _shortNameToUnicode.put("candle", new String(new int[] {0x1f56f}, 0, 1)); - _shortNameToUnicode.put("wastebasket", new String(new int[] {0x1f5d1}, 0, 1)); - _shortNameToUnicode.put("oil", new String(new int[] {0x1f6e2}, 0, 1)); - _shortNameToUnicode.put("money_with_wings", new String(new int[] {0x1f4b8}, 0, 1)); - _shortNameToUnicode.put("dollar", new String(new int[] {0x1f4b5}, 0, 1)); - _shortNameToUnicode.put("yen", new String(new int[] {0x1f4b4}, 0, 1)); - _shortNameToUnicode.put("euro", new String(new int[] {0x1f4b6}, 0, 1)); - _shortNameToUnicode.put("pound", new String(new int[] {0x1f4b7}, 0, 1)); - _shortNameToUnicode.put("moneybag", new String(new int[] {0x1f4b0}, 0, 1)); - _shortNameToUnicode.put("credit_card", new String(new int[] {0x1f4b3}, 0, 1)); - _shortNameToUnicode.put("gem", new String(new int[] {0x1f48e}, 0, 1)); - _shortNameToUnicode.put("wrench", new String(new int[] {0x1f527}, 0, 1)); - _shortNameToUnicode.put("hammer", new String(new int[] {0x1f528}, 0, 1)); - _shortNameToUnicode.put("tools", new String(new int[] {0x1f6e0}, 0, 1)); - _shortNameToUnicode.put("pick", new String(new int[] {0x26cf}, 0, 1)); - _shortNameToUnicode.put("nut_and_bolt", new String(new int[] {0x1f529}, 0, 1)); - _shortNameToUnicode.put("chains", new String(new int[] {0x26d3}, 0, 1)); - _shortNameToUnicode.put("gun", new String(new int[] {0x1f52b}, 0, 1)); - _shortNameToUnicode.put("bomb", new String(new int[] {0x1f4a3}, 0, 1)); - _shortNameToUnicode.put("knife", new String(new int[] {0x1f52a}, 0, 1)); - _shortNameToUnicode.put("dagger", new String(new int[] {0x1f5e1}, 0, 1)); - _shortNameToUnicode.put("shield", new String(new int[] {0x1f6e1}, 0, 1)); - _shortNameToUnicode.put("smoking", new String(new int[] {0x1f6ac}, 0, 1)); - _shortNameToUnicode.put("coffin", new String(new int[] {0x26b0}, 0, 1)); - _shortNameToUnicode.put("urn", new String(new int[] {0x26b1}, 0, 1)); - _shortNameToUnicode.put("amphora", new String(new int[] {0x1f3fa}, 0, 1)); - _shortNameToUnicode.put("crystal_ball", new String(new int[] {0x1f52e}, 0, 1)); - _shortNameToUnicode.put("prayer_beads", new String(new int[] {0x1f4ff}, 0, 1)); - _shortNameToUnicode.put("barber", new String(new int[] {0x1f488}, 0, 1)); - _shortNameToUnicode.put("telescope", new String(new int[] {0x1f52d}, 0, 1)); - _shortNameToUnicode.put("microscope", new String(new int[] {0x1f52c}, 0, 1)); - _shortNameToUnicode.put("hole", new String(new int[] {0x1f573}, 0, 1)); - _shortNameToUnicode.put("pill", new String(new int[] {0x1f48a}, 0, 1)); - _shortNameToUnicode.put("syringe", new String(new int[] {0x1f489}, 0, 1)); - _shortNameToUnicode.put("thermometer", new String(new int[] {0x1f321}, 0, 1)); - _shortNameToUnicode.put("toilet", new String(new int[] {0x1f6bd}, 0, 1)); - _shortNameToUnicode.put("potable_water", new String(new int[] {0x1f6b0}, 0, 1)); - _shortNameToUnicode.put("shower", new String(new int[] {0x1f6bf}, 0, 1)); - _shortNameToUnicode.put("bathtub", new String(new int[] {0x1f6c1}, 0, 1)); - _shortNameToUnicode.put("bath", new String(new int[] {0x1f6c0}, 0, 1)); - _shortNameToUnicode.put("bath_tone1", new String(new int[] {0x1f6c0,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("bath_tone2", new String(new int[] {0x1f6c0,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("bath_tone3", new String(new int[] {0x1f6c0,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("bath_tone4", new String(new int[] {0x1f6c0,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("bath_tone5", new String(new int[] {0x1f6c0,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("bellhop", new String(new int[] {0x1f6ce}, 0, 1)); - _shortNameToUnicode.put("key", new String(new int[] {0x1f511}, 0, 1)); - _shortNameToUnicode.put("key2", new String(new int[] {0x1f5dd}, 0, 1)); - _shortNameToUnicode.put("door", new String(new int[] {0x1f6aa}, 0, 1)); - _shortNameToUnicode.put("couch", new String(new int[] {0x1f6cb}, 0, 1)); - _shortNameToUnicode.put("bed", new String(new int[] {0x1f6cf}, 0, 1)); - _shortNameToUnicode.put("sleeping_accommodation", new String(new int[] {0x1f6cc}, 0, 1)); - _shortNameToUnicode.put("person_in_bed_tone1", new String(new int[] {0x1f6cc,0x1f3fb}, 0, 2)); - _shortNameToUnicode.put("person_in_bed_tone2", new String(new int[] {0x1f6cc,0x1f3fc}, 0, 2)); - _shortNameToUnicode.put("person_in_bed_tone3", new String(new int[] {0x1f6cc,0x1f3fd}, 0, 2)); - _shortNameToUnicode.put("person_in_bed_tone4", new String(new int[] {0x1f6cc,0x1f3fe}, 0, 2)); - _shortNameToUnicode.put("person_in_bed_tone5", new String(new int[] {0x1f6cc,0x1f3ff}, 0, 2)); - _shortNameToUnicode.put("frame_photo", new String(new int[] {0x1f5bc}, 0, 1)); - _shortNameToUnicode.put("shopping_bags", new String(new int[] {0x1f6cd}, 0, 1)); - _shortNameToUnicode.put("shopping_cart", new String(new int[] {0x1f6d2}, 0, 1)); - _shortNameToUnicode.put("gift", new String(new int[] {0x1f381}, 0, 1)); - _shortNameToUnicode.put("balloon", new String(new int[] {0x1f388}, 0, 1)); - _shortNameToUnicode.put("flags", new String(new int[] {0x1f38f}, 0, 1)); - _shortNameToUnicode.put("ribbon", new String(new int[] {0x1f380}, 0, 1)); - _shortNameToUnicode.put("confetti_ball", new String(new int[] {0x1f38a}, 0, 1)); - _shortNameToUnicode.put("tada", new String(new int[] {0x1f389}, 0, 1)); - _shortNameToUnicode.put("dolls", new String(new int[] {0x1f38e}, 0, 1)); - _shortNameToUnicode.put("izakaya_lantern", new String(new int[] {0x1f3ee}, 0, 1)); - _shortNameToUnicode.put("wind_chime", new String(new int[] {0x1f390}, 0, 1)); - _shortNameToUnicode.put("envelope_with_arrow", new String(new int[] {0x1f4e9}, 0, 1)); - _shortNameToUnicode.put("incoming_envelope", new String(new int[] {0x1f4e8}, 0, 1)); - _shortNameToUnicode.put("e-mail", new String(new int[] {0x1f4e7}, 0, 1)); - _shortNameToUnicode.put("love_letter", new String(new int[] {0x1f48c}, 0, 1)); - _shortNameToUnicode.put("inbox_tray", new String(new int[] {0x1f4e5}, 0, 1)); - _shortNameToUnicode.put("outbox_tray", new String(new int[] {0x1f4e4}, 0, 1)); - _shortNameToUnicode.put("package", new String(new int[] {0x1f4e6}, 0, 1)); - _shortNameToUnicode.put("label", new String(new int[] {0x1f3f7}, 0, 1)); - _shortNameToUnicode.put("mailbox_closed", new String(new int[] {0x1f4ea}, 0, 1)); - _shortNameToUnicode.put("mailbox", new String(new int[] {0x1f4eb}, 0, 1)); - _shortNameToUnicode.put("mailbox_with_mail", new String(new int[] {0x1f4ec}, 0, 1)); - _shortNameToUnicode.put("mailbox_with_no_mail", new String(new int[] {0x1f4ed}, 0, 1)); - _shortNameToUnicode.put("postbox", new String(new int[] {0x1f4ee}, 0, 1)); - _shortNameToUnicode.put("postal_horn", new String(new int[] {0x1f4ef}, 0, 1)); - _shortNameToUnicode.put("scroll", new String(new int[] {0x1f4dc}, 0, 1)); - _shortNameToUnicode.put("page_with_curl", new String(new int[] {0x1f4c3}, 0, 1)); - _shortNameToUnicode.put("page_facing_up", new String(new int[] {0x1f4c4}, 0, 1)); - _shortNameToUnicode.put("bookmark_tabs", new String(new int[] {0x1f4d1}, 0, 1)); - _shortNameToUnicode.put("bar_chart", new String(new int[] {0x1f4ca}, 0, 1)); - _shortNameToUnicode.put("chart_with_upwards_trend", new String(new int[] {0x1f4c8}, 0, 1)); - _shortNameToUnicode.put("chart_with_downwards_trend", new String(new int[] {0x1f4c9}, 0, 1)); - _shortNameToUnicode.put("notepad_spiral", new String(new int[] {0x1f5d2}, 0, 1)); - _shortNameToUnicode.put("calendar_spiral", new String(new int[] {0x1f5d3}, 0, 1)); - _shortNameToUnicode.put("calendar", new String(new int[] {0x1f4c6}, 0, 1)); - _shortNameToUnicode.put("date", new String(new int[] {0x1f4c5}, 0, 1)); - _shortNameToUnicode.put("card_index", new String(new int[] {0x1f4c7}, 0, 1)); - _shortNameToUnicode.put("card_box", new String(new int[] {0x1f5c3}, 0, 1)); - _shortNameToUnicode.put("ballot_box", new String(new int[] {0x1f5f3}, 0, 1)); - _shortNameToUnicode.put("file_cabinet", new String(new int[] {0x1f5c4}, 0, 1)); - _shortNameToUnicode.put("clipboard", new String(new int[] {0x1f4cb}, 0, 1)); - _shortNameToUnicode.put("file_folder", new String(new int[] {0x1f4c1}, 0, 1)); - _shortNameToUnicode.put("open_file_folder", new String(new int[] {0x1f4c2}, 0, 1)); - _shortNameToUnicode.put("dividers", new String(new int[] {0x1f5c2}, 0, 1)); - _shortNameToUnicode.put("newspaper2", new String(new int[] {0x1f5de}, 0, 1)); - _shortNameToUnicode.put("newspaper", new String(new int[] {0x1f4f0}, 0, 1)); - _shortNameToUnicode.put("notebook", new String(new int[] {0x1f4d3}, 0, 1)); - _shortNameToUnicode.put("notebook_with_decorative_cover", new String(new int[] {0x1f4d4}, 0, 1)); - _shortNameToUnicode.put("ledger", new String(new int[] {0x1f4d2}, 0, 1)); - _shortNameToUnicode.put("closed_book", new String(new int[] {0x1f4d5}, 0, 1)); - } - private static void init8(){ - _shortNameToUnicode.put("green_book", new String(new int[] {0x1f4d7}, 0, 1)); - _shortNameToUnicode.put("blue_book", new String(new int[] {0x1f4d8}, 0, 1)); - _shortNameToUnicode.put("orange_book", new String(new int[] {0x1f4d9}, 0, 1)); - _shortNameToUnicode.put("books", new String(new int[] {0x1f4da}, 0, 1)); - _shortNameToUnicode.put("book", new String(new int[] {0x1f4d6}, 0, 1)); - _shortNameToUnicode.put("bookmark", new String(new int[] {0x1f516}, 0, 1)); - _shortNameToUnicode.put("link", new String(new int[] {0x1f517}, 0, 1)); - _shortNameToUnicode.put("paperclip", new String(new int[] {0x1f4ce}, 0, 1)); - _shortNameToUnicode.put("paperclips", new String(new int[] {0x1f587}, 0, 1)); - _shortNameToUnicode.put("triangular_ruler", new String(new int[] {0x1f4d0}, 0, 1)); - _shortNameToUnicode.put("straight_ruler", new String(new int[] {0x1f4cf}, 0, 1)); - _shortNameToUnicode.put("pushpin", new String(new int[] {0x1f4cc}, 0, 1)); - _shortNameToUnicode.put("round_pushpin", new String(new int[] {0x1f4cd}, 0, 1)); - _shortNameToUnicode.put("pen_ballpoint", new String(new int[] {0x1f58a}, 0, 1)); - _shortNameToUnicode.put("pen_fountain", new String(new int[] {0x1f58b}, 0, 1)); - _shortNameToUnicode.put("paintbrush", new String(new int[] {0x1f58c}, 0, 1)); - _shortNameToUnicode.put("crayon", new String(new int[] {0x1f58d}, 0, 1)); - _shortNameToUnicode.put("pencil", new String(new int[] {0x1f4dd}, 0, 1)); - _shortNameToUnicode.put("pencil2", new String(new int[] {0x270f}, 0, 1)); - _shortNameToUnicode.put("mag", new String(new int[] {0x1f50d}, 0, 1)); - _shortNameToUnicode.put("mag_right", new String(new int[] {0x1f50e}, 0, 1)); - _shortNameToUnicode.put("lock_with_ink_pen", new String(new int[] {0x1f50f}, 0, 1)); - _shortNameToUnicode.put("closed_lock_with_key", new String(new int[] {0x1f510}, 0, 1)); - _shortNameToUnicode.put("lock", new String(new int[] {0x1f512}, 0, 1)); - _shortNameToUnicode.put("unlock", new String(new int[] {0x1f513}, 0, 1)); - _shortNameToUnicode.put("yellow_heart", new String(new int[] {0x1f49b}, 0, 1)); - _shortNameToUnicode.put("green_heart", new String(new int[] {0x1f49a}, 0, 1)); - _shortNameToUnicode.put("blue_heart", new String(new int[] {0x1f499}, 0, 1)); - _shortNameToUnicode.put("purple_heart", new String(new int[] {0x1f49c}, 0, 1)); - _shortNameToUnicode.put("black_heart", new String(new int[] {0x1f5a4}, 0, 1)); - _shortNameToUnicode.put("broken_heart", new String(new int[] {0x1f494}, 0, 1)); - _shortNameToUnicode.put("two_hearts", new String(new int[] {0x1f495}, 0, 1)); - _shortNameToUnicode.put("revolving_hearts", new String(new int[] {0x1f49e}, 0, 1)); - _shortNameToUnicode.put("heartbeat", new String(new int[] {0x1f493}, 0, 1)); - _shortNameToUnicode.put("heartpulse", new String(new int[] {0x1f497}, 0, 1)); - _shortNameToUnicode.put("sparkling_heart", new String(new int[] {0x1f496}, 0, 1)); - _shortNameToUnicode.put("cupid", new String(new int[] {0x1f498}, 0, 1)); - _shortNameToUnicode.put("gift_heart", new String(new int[] {0x1f49d}, 0, 1)); - _shortNameToUnicode.put("heart_decoration", new String(new int[] {0x1f49f}, 0, 1)); - _shortNameToUnicode.put("peace", new String(new int[] {0x262e}, 0, 1)); - _shortNameToUnicode.put("cross", new String(new int[] {0x271d}, 0, 1)); - _shortNameToUnicode.put("star_and_crescent", new String(new int[] {0x262a}, 0, 1)); - _shortNameToUnicode.put("om_symbol", new String(new int[] {0x1f549}, 0, 1)); - _shortNameToUnicode.put("six_pointed_star", new String(new int[] {0x1f52f}, 0, 1)); - _shortNameToUnicode.put("menorah", new String(new int[] {0x1f54e}, 0, 1)); - _shortNameToUnicode.put("yin_yang", new String(new int[] {0x262f}, 0, 1)); - _shortNameToUnicode.put("place_of_worship", new String(new int[] {0x1f6d0}, 0, 1)); - _shortNameToUnicode.put("ophiuchus", new String(new int[] {0x26ce}, 0, 1)); - _shortNameToUnicode.put("gemini", new String(new int[] {0x264a}, 0, 1)); - _shortNameToUnicode.put("cancer", new String(new int[] {0x264b}, 0, 1)); - _shortNameToUnicode.put("leo", new String(new int[] {0x264c}, 0, 1)); - _shortNameToUnicode.put("virgo", new String(new int[] {0x264d}, 0, 1)); - _shortNameToUnicode.put("libra", new String(new int[] {0x264e}, 0, 1)); - _shortNameToUnicode.put("scorpius", new String(new int[] {0x264f}, 0, 1)); - _shortNameToUnicode.put("id", new String(new int[] {0x1f194}, 0, 1)); - _shortNameToUnicode.put("atom", new String(new int[] {0x269b}, 0, 1)); - _shortNameToUnicode.put("accept", new String(new int[] {0x1f251}, 0, 1)); - _shortNameToUnicode.put("mobile_phone_off", new String(new int[] {0x1f4f4}, 0, 1)); - _shortNameToUnicode.put("vibration_mode", new String(new int[] {0x1f4f3}, 0, 1)); - _shortNameToUnicode.put("u6709", new String(new int[] {0x1f236}, 0, 1)); - _shortNameToUnicode.put("u7121", new String(new int[] {0x1f21a}, 0, 1)); - _shortNameToUnicode.put("u7533", new String(new int[] {0x1f238}, 0, 1)); - _shortNameToUnicode.put("u55b6", new String(new int[] {0x1f23a}, 0, 1)); - _shortNameToUnicode.put("u6708", new String(new int[] {0x1f237}, 0, 1)); - _shortNameToUnicode.put("vs", new String(new int[] {0x1f19a}, 0, 1)); - _shortNameToUnicode.put("white_flower", new String(new int[] {0x1f4ae}, 0, 1)); - _shortNameToUnicode.put("ideograph_advantage", new String(new int[] {0x1f250}, 0, 1)); - _shortNameToUnicode.put("u5408", new String(new int[] {0x1f234}, 0, 1)); - _shortNameToUnicode.put("u6e80", new String(new int[] {0x1f235}, 0, 1)); - _shortNameToUnicode.put("u5272", new String(new int[] {0x1f239}, 0, 1)); - _shortNameToUnicode.put("u7981", new String(new int[] {0x1f232}, 0, 1)); - _shortNameToUnicode.put("a", new String(new int[] {0x1f170}, 0, 1)); - _shortNameToUnicode.put("b", new String(new int[] {0x1f171}, 0, 1)); - _shortNameToUnicode.put("ab", new String(new int[] {0x1f18e}, 0, 1)); - _shortNameToUnicode.put("cl", new String(new int[] {0x1f191}, 0, 1)); - _shortNameToUnicode.put("o2", new String(new int[] {0x1f17e}, 0, 1)); - _shortNameToUnicode.put("sos", new String(new int[] {0x1f198}, 0, 1)); - _shortNameToUnicode.put("x", new String(new int[] {0x274c}, 0, 1)); - _shortNameToUnicode.put("o", new String(new int[] {0x2b55}, 0, 1)); - _shortNameToUnicode.put("octagonal_sign", new String(new int[] {0x1f6d1}, 0, 1)); - _shortNameToUnicode.put("no_entry", new String(new int[] {0x26d4}, 0, 1)); - _shortNameToUnicode.put("name_badge", new String(new int[] {0x1f4db}, 0, 1)); - _shortNameToUnicode.put("no_entry_sign", new String(new int[] {0x1f6ab}, 0, 1)); - _shortNameToUnicode.put("100", new String(new int[] {0x1f4af}, 0, 1)); - _shortNameToUnicode.put("anger", new String(new int[] {0x1f4a2}, 0, 1)); - _shortNameToUnicode.put("no_pedestrians", new String(new int[] {0x1f6b7}, 0, 1)); - _shortNameToUnicode.put("do_not_litter", new String(new int[] {0x1f6af}, 0, 1)); - _shortNameToUnicode.put("no_bicycles", new String(new int[] {0x1f6b3}, 0, 1)); - _shortNameToUnicode.put("non-potable_water", new String(new int[] {0x1f6b1}, 0, 1)); - _shortNameToUnicode.put("underage", new String(new int[] {0x1f51e}, 0, 1)); - _shortNameToUnicode.put("no_mobile_phones", new String(new int[] {0x1f4f5}, 0, 1)); - _shortNameToUnicode.put("no_smoking", new String(new int[] {0x1f6ad}, 0, 1)); - _shortNameToUnicode.put("bangbang", new String(new int[] {0x203c}, 0, 1)); - _shortNameToUnicode.put("low_brightness", new String(new int[] {0x1f505}, 0, 1)); - _shortNameToUnicode.put("high_brightness", new String(new int[] {0x1f506}, 0, 1)); - _shortNameToUnicode.put("part_alternation_mark", new String(new int[] {0x303d}, 0, 1)); - _shortNameToUnicode.put("warning", new String(new int[] {0x26a0}, 0, 1)); - _shortNameToUnicode.put("children_crossing", new String(new int[] {0x1f6b8}, 0, 1)); - _shortNameToUnicode.put("trident", new String(new int[] {0x1f531}, 0, 1)); - _shortNameToUnicode.put("fleur-de-lis", new String(new int[] {0x269c}, 0, 1)); - _shortNameToUnicode.put("beginner", new String(new int[] {0x1f530}, 0, 1)); - _shortNameToUnicode.put("recycle", new String(new int[] {0x267b}, 0, 1)); - _shortNameToUnicode.put("u6307", new String(new int[] {0x1f22f}, 0, 1)); - _shortNameToUnicode.put("chart", new String(new int[] {0x1f4b9}, 0, 1)); - _shortNameToUnicode.put("negative_squared_cross_mark", new String(new int[] {0x274e}, 0, 1)); - _shortNameToUnicode.put("globe_with_meridians", new String(new int[] {0x1f310}, 0, 1)); - _shortNameToUnicode.put("diamond_shape_with_a_dot_inside", new String(new int[] {0x1f4a0}, 0, 1)); - _shortNameToUnicode.put("m", new String(new int[] {0x24c2}, 0, 1)); - _shortNameToUnicode.put("cyclone", new String(new int[] {0x1f300}, 0, 1)); - _shortNameToUnicode.put("zzz", new String(new int[] {0x1f4a4}, 0, 1)); - _shortNameToUnicode.put("atm", new String(new int[] {0x1f3e7}, 0, 1)); - _shortNameToUnicode.put("wc", new String(new int[] {0x1f6be}, 0, 1)); - _shortNameToUnicode.put("wheelchair", new String(new int[] {0x267f}, 0, 1)); - _shortNameToUnicode.put("parking", new String(new int[] {0x1f17f}, 0, 1)); - _shortNameToUnicode.put("u7a7a", new String(new int[] {0x1f233}, 0, 1)); - _shortNameToUnicode.put("sa", new String(new int[] {0x1f202}, 0, 1)); - _shortNameToUnicode.put("passport_control", new String(new int[] {0x1f6c2}, 0, 1)); - _shortNameToUnicode.put("customs", new String(new int[] {0x1f6c3}, 0, 1)); - _shortNameToUnicode.put("baggage_claim", new String(new int[] {0x1f6c4}, 0, 1)); - _shortNameToUnicode.put("left_luggage", new String(new int[] {0x1f6c5}, 0, 1)); - _shortNameToUnicode.put("mens", new String(new int[] {0x1f6b9}, 0, 1)); - _shortNameToUnicode.put("womens", new String(new int[] {0x1f6ba}, 0, 1)); - _shortNameToUnicode.put("baby_symbol", new String(new int[] {0x1f6bc}, 0, 1)); - _shortNameToUnicode.put("restroom", new String(new int[] {0x1f6bb}, 0, 1)); - _shortNameToUnicode.put("put_litter_in_its_place", new String(new int[] {0x1f6ae}, 0, 1)); - _shortNameToUnicode.put("cinema", new String(new int[] {0x1f3a6}, 0, 1)); - _shortNameToUnicode.put("signal_strength", new String(new int[] {0x1f4f6}, 0, 1)); - _shortNameToUnicode.put("koko", new String(new int[] {0x1f201}, 0, 1)); - _shortNameToUnicode.put("symbols", new String(new int[] {0x1f523}, 0, 1)); - _shortNameToUnicode.put("abc", new String(new int[] {0x1f524}, 0, 1)); - _shortNameToUnicode.put("abcd", new String(new int[] {0x1f521}, 0, 1)); - _shortNameToUnicode.put("capital_abcd", new String(new int[] {0x1f520}, 0, 1)); - _shortNameToUnicode.put("ng", new String(new int[] {0x1f196}, 0, 1)); - _shortNameToUnicode.put("ok", new String(new int[] {0x1f197}, 0, 1)); - _shortNameToUnicode.put("up", new String(new int[] {0x1f199}, 0, 1)); - _shortNameToUnicode.put("cool", new String(new int[] {0x1f192}, 0, 1)); - _shortNameToUnicode.put("new", new String(new int[] {0x1f195}, 0, 1)); - _shortNameToUnicode.put("free", new String(new int[] {0x1f193}, 0, 1)); - _shortNameToUnicode.put("zero", new String(new int[] {0x0030,0x20e3}, 0, 2)); - _shortNameToUnicode.put("one", new String(new int[] {0x0031,0x20e3}, 0, 2)); - _shortNameToUnicode.put("two", new String(new int[] {0x0032,0x20e3}, 0, 2)); - _shortNameToUnicode.put("three", new String(new int[] {0x0033,0x20e3}, 0, 2)); - _shortNameToUnicode.put("four", new String(new int[] {0x0034,0x20e3}, 0, 2)); - _shortNameToUnicode.put("five", new String(new int[] {0x0035,0x20e3}, 0, 2)); - _shortNameToUnicode.put("six", new String(new int[] {0x0036,0x20e3}, 0, 2)); - _shortNameToUnicode.put("seven", new String(new int[] {0x0037,0x20e3}, 0, 2)); - _shortNameToUnicode.put("eight", new String(new int[] {0x0038,0x20e3}, 0, 2)); - _shortNameToUnicode.put("nine", new String(new int[] {0x0039,0x20e3}, 0, 2)); - _shortNameToUnicode.put("keycap_ten", new String(new int[] {0x1f51f}, 0, 1)); - _shortNameToUnicode.put("1234", new String(new int[] {0x1f522}, 0, 1)); - _shortNameToUnicode.put("hash", new String(new int[] {0x0023,0x20e3}, 0, 2)); - _shortNameToUnicode.put("asterisk", new String(new int[] {0x002a,0x20e3}, 0, 2)); - _shortNameToUnicode.put("arrow_forward", new String(new int[] {0x25b6}, 0, 1)); - _shortNameToUnicode.put("pause_button", new String(new int[] {0x23f8}, 0, 1)); - _shortNameToUnicode.put("play_pause", new String(new int[] {0x23ef}, 0, 1)); - _shortNameToUnicode.put("stop_button", new String(new int[] {0x23f9}, 0, 1)); - _shortNameToUnicode.put("record_button", new String(new int[] {0x23fa}, 0, 1)); - _shortNameToUnicode.put("eject", new String(new int[] {0x23cf}, 0, 1)); - _shortNameToUnicode.put("track_next", new String(new int[] {0x23ed}, 0, 1)); - _shortNameToUnicode.put("track_previous", new String(new int[] {0x23ee}, 0, 1)); - _shortNameToUnicode.put("fast_forward", new String(new int[] {0x23e9}, 0, 1)); - _shortNameToUnicode.put("rewind", new String(new int[] {0x23ea}, 0, 1)); - _shortNameToUnicode.put("arrow_double_up", new String(new int[] {0x23eb}, 0, 1)); - _shortNameToUnicode.put("arrow_double_down", new String(new int[] {0x23ec}, 0, 1)); - _shortNameToUnicode.put("arrow_backward", new String(new int[] {0x25c0}, 0, 1)); - _shortNameToUnicode.put("arrow_up_small", new String(new int[] {0x1f53c}, 0, 1)); - _shortNameToUnicode.put("arrow_down_small", new String(new int[] {0x1f53d}, 0, 1)); - _shortNameToUnicode.put("arrow_right", new String(new int[] {0x27a1}, 0, 1)); - _shortNameToUnicode.put("arrow_left", new String(new int[] {0x2b05}, 0, 1)); - _shortNameToUnicode.put("arrow_up", new String(new int[] {0x2b06}, 0, 1)); - _shortNameToUnicode.put("arrow_down", new String(new int[] {0x2b07}, 0, 1)); - _shortNameToUnicode.put("arrow_right_hook", new String(new int[] {0x21aa}, 0, 1)); - _shortNameToUnicode.put("leftwards_arrow_with_hook", new String(new int[] {0x21a9}, 0, 1)); - _shortNameToUnicode.put("twisted_rightwards_arrows", new String(new int[] {0x1f500}, 0, 1)); - _shortNameToUnicode.put("repeat", new String(new int[] {0x1f501}, 0, 1)); - _shortNameToUnicode.put("repeat_one", new String(new int[] {0x1f502}, 0, 1)); - _shortNameToUnicode.put("arrows_counterclockwise", new String(new int[] {0x1f504}, 0, 1)); - _shortNameToUnicode.put("arrows_clockwise", new String(new int[] {0x1f503}, 0, 1)); - _shortNameToUnicode.put("musical_note", new String(new int[] {0x1f3b5}, 0, 1)); - _shortNameToUnicode.put("notes", new String(new int[] {0x1f3b6}, 0, 1)); - _shortNameToUnicode.put("heavy_dollar_sign", new String(new int[] {0x1f4b2}, 0, 1)); - _shortNameToUnicode.put("currency_exchange", new String(new int[] {0x1f4b1}, 0, 1)); - _shortNameToUnicode.put("copyright", new String(new int[] {0x00a9}, 0, 1)); - _shortNameToUnicode.put("registered", new String(new int[] {0x00ae}, 0, 1)); - _shortNameToUnicode.put("curly_loop", new String(new int[] {0x27b0}, 0, 1)); - _shortNameToUnicode.put("loop", new String(new int[] {0x27bf}, 0, 1)); - _shortNameToUnicode.put("end", new String(new int[] {0x1f51a}, 0, 1)); - _shortNameToUnicode.put("back", new String(new int[] {0x1f519}, 0, 1)); - _shortNameToUnicode.put("on", new String(new int[] {0x1f51b}, 0, 1)); - _shortNameToUnicode.put("top", new String(new int[] {0x1f51d}, 0, 1)); - _shortNameToUnicode.put("soon", new String(new int[] {0x1f51c}, 0, 1)); - _shortNameToUnicode.put("radio_button", new String(new int[] {0x1f518}, 0, 1)); - _shortNameToUnicode.put("white_circle", new String(new int[] {0x26aa}, 0, 1)); - _shortNameToUnicode.put("black_circle", new String(new int[] {0x26ab}, 0, 1)); - _shortNameToUnicode.put("red_circle", new String(new int[] {0x1f534}, 0, 1)); - _shortNameToUnicode.put("blue_circle", new String(new int[] {0x1f535}, 0, 1)); - _shortNameToUnicode.put("small_red_triangle", new String(new int[] {0x1f53a}, 0, 1)); - _shortNameToUnicode.put("small_red_triangle_down", new String(new int[] {0x1f53b}, 0, 1)); - _shortNameToUnicode.put("small_orange_diamond", new String(new int[] {0x1f538}, 0, 1)); - _shortNameToUnicode.put("small_blue_diamond", new String(new int[] {0x1f539}, 0, 1)); - _shortNameToUnicode.put("large_orange_diamond", new String(new int[] {0x1f536}, 0, 1)); - _shortNameToUnicode.put("large_blue_diamond", new String(new int[] {0x1f537}, 0, 1)); - _shortNameToUnicode.put("white_square_button", new String(new int[] {0x1f533}, 0, 1)); - _shortNameToUnicode.put("black_square_button", new String(new int[] {0x1f532}, 0, 1)); - _shortNameToUnicode.put("black_small_square", new String(new int[] {0x25aa}, 0, 1)); - _shortNameToUnicode.put("white_small_square", new String(new int[] {0x25ab}, 0, 1)); - _shortNameToUnicode.put("black_medium_small_square", new String(new int[] {0x25fe}, 0, 1)); - _shortNameToUnicode.put("white_medium_small_square", new String(new int[] {0x25fd}, 0, 1)); - _shortNameToUnicode.put("black_medium_square", new String(new int[] {0x25fc}, 0, 1)); - _shortNameToUnicode.put("white_medium_square", new String(new int[] {0x25fb}, 0, 1)); - _shortNameToUnicode.put("black_large_square", new String(new int[] {0x2b1b}, 0, 1)); - _shortNameToUnicode.put("white_large_square", new String(new int[] {0x2b1c}, 0, 1)); - _shortNameToUnicode.put("speaker", new String(new int[] {0x1f508}, 0, 1)); - _shortNameToUnicode.put("mute", new String(new int[] {0x1f507}, 0, 1)); - _shortNameToUnicode.put("sound", new String(new int[] {0x1f509}, 0, 1)); - _shortNameToUnicode.put("loud_sound", new String(new int[] {0x1f50a}, 0, 1)); - _shortNameToUnicode.put("bell", new String(new int[] {0x1f514}, 0, 1)); - _shortNameToUnicode.put("no_bell", new String(new int[] {0x1f515}, 0, 1)); - _shortNameToUnicode.put("mega", new String(new int[] {0x1f4e3}, 0, 1)); - _shortNameToUnicode.put("loudspeaker", new String(new int[] {0x1f4e2}, 0, 1)); - _shortNameToUnicode.put("speech_left", new String(new int[] {0x1f5e8}, 0, 1)); - _shortNameToUnicode.put("eye_in_speech_bubble", new String(new int[] {0x1f441,0x1f5e8}, 0, 2)); - _shortNameToUnicode.put("speech_balloon", new String(new int[] {0x1f4ac}, 0, 1)); - _shortNameToUnicode.put("thought_balloon", new String(new int[] {0x1f4ad}, 0, 1)); - _shortNameToUnicode.put("anger_right", new String(new int[] {0x1f5ef}, 0, 1)); - _shortNameToUnicode.put("black_joker", new String(new int[] {0x1f0cf}, 0, 1)); - _shortNameToUnicode.put("flower_playing_cards", new String(new int[] {0x1f3b4}, 0, 1)); - _shortNameToUnicode.put("mahjong", new String(new int[] {0x1f004}, 0, 1)); - _shortNameToUnicode.put("clock1", new String(new int[] {0x1f550}, 0, 1)); - _shortNameToUnicode.put("clock2", new String(new int[] {0x1f551}, 0, 1)); - _shortNameToUnicode.put("clock3", new String(new int[] {0x1f552}, 0, 1)); - _shortNameToUnicode.put("clock4", new String(new int[] {0x1f553}, 0, 1)); - _shortNameToUnicode.put("clock5", new String(new int[] {0x1f554}, 0, 1)); - _shortNameToUnicode.put("clock6", new String(new int[] {0x1f555}, 0, 1)); - _shortNameToUnicode.put("clock7", new String(new int[] {0x1f556}, 0, 1)); - _shortNameToUnicode.put("clock8", new String(new int[] {0x1f557}, 0, 1)); - _shortNameToUnicode.put("clock9", new String(new int[] {0x1f558}, 0, 1)); - _shortNameToUnicode.put("clock10", new String(new int[] {0x1f559}, 0, 1)); - _shortNameToUnicode.put("clock11", new String(new int[] {0x1f55a}, 0, 1)); - _shortNameToUnicode.put("clock12", new String(new int[] {0x1f55b}, 0, 1)); - _shortNameToUnicode.put("clock130", new String(new int[] {0x1f55c}, 0, 1)); - _shortNameToUnicode.put("clock230", new String(new int[] {0x1f55d}, 0, 1)); - _shortNameToUnicode.put("clock330", new String(new int[] {0x1f55e}, 0, 1)); - _shortNameToUnicode.put("clock430", new String(new int[] {0x1f55f}, 0, 1)); - _shortNameToUnicode.put("clock530", new String(new int[] {0x1f560}, 0, 1)); - _shortNameToUnicode.put("clock630", new String(new int[] {0x1f561}, 0, 1)); - _shortNameToUnicode.put("clock730", new String(new int[] {0x1f562}, 0, 1)); - _shortNameToUnicode.put("clock830", new String(new int[] {0x1f563}, 0, 1)); - _shortNameToUnicode.put("clock930", new String(new int[] {0x1f564}, 0, 1)); - _shortNameToUnicode.put("clock1030", new String(new int[] {0x1f565}, 0, 1)); - _shortNameToUnicode.put("clock1130", new String(new int[] {0x1f566}, 0, 1)); - _shortNameToUnicode.put("clock1230", new String(new int[] {0x1f567}, 0, 1)); - _shortNameToUnicode.put("flag_white", new String(new int[] {0x1f3f3}, 0, 1)); - _shortNameToUnicode.put("flag_black", new String(new int[] {0x1f3f4}, 0, 1)); - _shortNameToUnicode.put("checkered_flag", new String(new int[] {0x1f3c1}, 0, 1)); - _shortNameToUnicode.put("triangular_flag_on_post", new String(new int[] {0x1f6a9}, 0, 1)); - _shortNameToUnicode.put("rainbow_flag", new String(new int[] {0x1f3f3,0x1f308}, 0, 2)); - _shortNameToUnicode.put("flag_af", new String(new int[] {0x1f1e6,0x1f1eb}, 0, 2)); - _shortNameToUnicode.put("flag_ax", new String(new int[] {0x1f1e6,0x1f1fd}, 0, 2)); - _shortNameToUnicode.put("flag_al", new String(new int[] {0x1f1e6,0x1f1f1}, 0, 2)); - _shortNameToUnicode.put("flag_dz", new String(new int[] {0x1f1e9,0x1f1ff}, 0, 2)); - _shortNameToUnicode.put("flag_as", new String(new int[] {0x1f1e6,0x1f1f8}, 0, 2)); - _shortNameToUnicode.put("flag_ad", new String(new int[] {0x1f1e6,0x1f1e9}, 0, 2)); - _shortNameToUnicode.put("flag_ao", new String(new int[] {0x1f1e6,0x1f1f4}, 0, 2)); - _shortNameToUnicode.put("flag_ai", new String(new int[] {0x1f1e6,0x1f1ee}, 0, 2)); - _shortNameToUnicode.put("flag_aq", new String(new int[] {0x1f1e6,0x1f1f6}, 0, 2)); - _shortNameToUnicode.put("flag_ag", new String(new int[] {0x1f1e6,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_ar", new String(new int[] {0x1f1e6,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_am", new String(new int[] {0x1f1e6,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_aw", new String(new int[] {0x1f1e6,0x1f1fc}, 0, 2)); - _shortNameToUnicode.put("flag_au", new String(new int[] {0x1f1e6,0x1f1fa}, 0, 2)); - _shortNameToUnicode.put("flag_at", new String(new int[] {0x1f1e6,0x1f1f9}, 0, 2)); - _shortNameToUnicode.put("flag_az", new String(new int[] {0x1f1e6,0x1f1ff}, 0, 2)); - } - private static void init9(){ - _shortNameToUnicode.put("flag_bs", new String(new int[] {0x1f1e7,0x1f1f8}, 0, 2)); - _shortNameToUnicode.put("flag_bh", new String(new int[] {0x1f1e7,0x1f1ed}, 0, 2)); - _shortNameToUnicode.put("flag_bd", new String(new int[] {0x1f1e7,0x1f1e9}, 0, 2)); - _shortNameToUnicode.put("flag_bb", new String(new int[] {0x1f1e7,0x1f1e7}, 0, 2)); - _shortNameToUnicode.put("flag_by", new String(new int[] {0x1f1e7,0x1f1fe}, 0, 2)); - _shortNameToUnicode.put("flag_be", new String(new int[] {0x1f1e7,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_bz", new String(new int[] {0x1f1e7,0x1f1ff}, 0, 2)); - _shortNameToUnicode.put("flag_bj", new String(new int[] {0x1f1e7,0x1f1ef}, 0, 2)); - _shortNameToUnicode.put("flag_bm", new String(new int[] {0x1f1e7,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_bt", new String(new int[] {0x1f1e7,0x1f1f9}, 0, 2)); - _shortNameToUnicode.put("flag_bo", new String(new int[] {0x1f1e7,0x1f1f4}, 0, 2)); - _shortNameToUnicode.put("flag_ba", new String(new int[] {0x1f1e7,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_bw", new String(new int[] {0x1f1e7,0x1f1fc}, 0, 2)); - _shortNameToUnicode.put("flag_br", new String(new int[] {0x1f1e7,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_io", new String(new int[] {0x1f1ee,0x1f1f4}, 0, 2)); - _shortNameToUnicode.put("flag_vg", new String(new int[] {0x1f1fb,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_bn", new String(new int[] {0x1f1e7,0x1f1f3}, 0, 2)); - _shortNameToUnicode.put("flag_bg", new String(new int[] {0x1f1e7,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_bf", new String(new int[] {0x1f1e7,0x1f1eb}, 0, 2)); - _shortNameToUnicode.put("flag_bi", new String(new int[] {0x1f1e7,0x1f1ee}, 0, 2)); - _shortNameToUnicode.put("flag_kh", new String(new int[] {0x1f1f0,0x1f1ed}, 0, 2)); - _shortNameToUnicode.put("flag_cm", new String(new int[] {0x1f1e8,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_ca", new String(new int[] {0x1f1e8,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_ic", new String(new int[] {0x1f1ee,0x1f1e8}, 0, 2)); - _shortNameToUnicode.put("flag_cv", new String(new int[] {0x1f1e8,0x1f1fb}, 0, 2)); - _shortNameToUnicode.put("flag_bq", new String(new int[] {0x1f1e7,0x1f1f6}, 0, 2)); - _shortNameToUnicode.put("flag_ky", new String(new int[] {0x1f1f0,0x1f1fe}, 0, 2)); - _shortNameToUnicode.put("flag_cf", new String(new int[] {0x1f1e8,0x1f1eb}, 0, 2)); - _shortNameToUnicode.put("flag_td", new String(new int[] {0x1f1f9,0x1f1e9}, 0, 2)); - _shortNameToUnicode.put("flag_cl", new String(new int[] {0x1f1e8,0x1f1f1}, 0, 2)); - _shortNameToUnicode.put("flag_cn", new String(new int[] {0x1f1e8,0x1f1f3}, 0, 2)); - _shortNameToUnicode.put("flag_cx", new String(new int[] {0x1f1e8,0x1f1fd}, 0, 2)); - _shortNameToUnicode.put("flag_cc", new String(new int[] {0x1f1e8,0x1f1e8}, 0, 2)); - _shortNameToUnicode.put("flag_co", new String(new int[] {0x1f1e8,0x1f1f4}, 0, 2)); - _shortNameToUnicode.put("flag_km", new String(new int[] {0x1f1f0,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_cg", new String(new int[] {0x1f1e8,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_cd", new String(new int[] {0x1f1e8,0x1f1e9}, 0, 2)); - _shortNameToUnicode.put("flag_ck", new String(new int[] {0x1f1e8,0x1f1f0}, 0, 2)); - _shortNameToUnicode.put("flag_cr", new String(new int[] {0x1f1e8,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_ci", new String(new int[] {0x1f1e8,0x1f1ee}, 0, 2)); - _shortNameToUnicode.put("flag_hr", new String(new int[] {0x1f1ed,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_cu", new String(new int[] {0x1f1e8,0x1f1fa}, 0, 2)); - _shortNameToUnicode.put("flag_cw", new String(new int[] {0x1f1e8,0x1f1fc}, 0, 2)); - _shortNameToUnicode.put("flag_cy", new String(new int[] {0x1f1e8,0x1f1fe}, 0, 2)); - _shortNameToUnicode.put("flag_cz", new String(new int[] {0x1f1e8,0x1f1ff}, 0, 2)); - _shortNameToUnicode.put("flag_dk", new String(new int[] {0x1f1e9,0x1f1f0}, 0, 2)); - _shortNameToUnicode.put("flag_dj", new String(new int[] {0x1f1e9,0x1f1ef}, 0, 2)); - _shortNameToUnicode.put("flag_dm", new String(new int[] {0x1f1e9,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_do", new String(new int[] {0x1f1e9,0x1f1f4}, 0, 2)); - _shortNameToUnicode.put("flag_ec", new String(new int[] {0x1f1ea,0x1f1e8}, 0, 2)); - _shortNameToUnicode.put("flag_eg", new String(new int[] {0x1f1ea,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_sv", new String(new int[] {0x1f1f8,0x1f1fb}, 0, 2)); - _shortNameToUnicode.put("flag_gq", new String(new int[] {0x1f1ec,0x1f1f6}, 0, 2)); - _shortNameToUnicode.put("flag_er", new String(new int[] {0x1f1ea,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_ee", new String(new int[] {0x1f1ea,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_et", new String(new int[] {0x1f1ea,0x1f1f9}, 0, 2)); - _shortNameToUnicode.put("flag_eu", new String(new int[] {0x1f1ea,0x1f1fa}, 0, 2)); - _shortNameToUnicode.put("flag_fk", new String(new int[] {0x1f1eb,0x1f1f0}, 0, 2)); - _shortNameToUnicode.put("flag_fo", new String(new int[] {0x1f1eb,0x1f1f4}, 0, 2)); - _shortNameToUnicode.put("flag_fj", new String(new int[] {0x1f1eb,0x1f1ef}, 0, 2)); - _shortNameToUnicode.put("flag_fi", new String(new int[] {0x1f1eb,0x1f1ee}, 0, 2)); - _shortNameToUnicode.put("flag_fr", new String(new int[] {0x1f1eb,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_gf", new String(new int[] {0x1f1ec,0x1f1eb}, 0, 2)); - _shortNameToUnicode.put("flag_pf", new String(new int[] {0x1f1f5,0x1f1eb}, 0, 2)); - _shortNameToUnicode.put("flag_tf", new String(new int[] {0x1f1f9,0x1f1eb}, 0, 2)); - _shortNameToUnicode.put("flag_ga", new String(new int[] {0x1f1ec,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_gm", new String(new int[] {0x1f1ec,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_ge", new String(new int[] {0x1f1ec,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_de", new String(new int[] {0x1f1e9,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_gh", new String(new int[] {0x1f1ec,0x1f1ed}, 0, 2)); - _shortNameToUnicode.put("flag_gi", new String(new int[] {0x1f1ec,0x1f1ee}, 0, 2)); - _shortNameToUnicode.put("flag_gr", new String(new int[] {0x1f1ec,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_gl", new String(new int[] {0x1f1ec,0x1f1f1}, 0, 2)); - _shortNameToUnicode.put("flag_gd", new String(new int[] {0x1f1ec,0x1f1e9}, 0, 2)); - _shortNameToUnicode.put("flag_gp", new String(new int[] {0x1f1ec,0x1f1f5}, 0, 2)); - _shortNameToUnicode.put("flag_gu", new String(new int[] {0x1f1ec,0x1f1fa}, 0, 2)); - _shortNameToUnicode.put("flag_gt", new String(new int[] {0x1f1ec,0x1f1f9}, 0, 2)); - _shortNameToUnicode.put("flag_gg", new String(new int[] {0x1f1ec,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_gn", new String(new int[] {0x1f1ec,0x1f1f3}, 0, 2)); - _shortNameToUnicode.put("flag_gw", new String(new int[] {0x1f1ec,0x1f1fc}, 0, 2)); - _shortNameToUnicode.put("flag_gy", new String(new int[] {0x1f1ec,0x1f1fe}, 0, 2)); - _shortNameToUnicode.put("flag_ht", new String(new int[] {0x1f1ed,0x1f1f9}, 0, 2)); - _shortNameToUnicode.put("flag_hn", new String(new int[] {0x1f1ed,0x1f1f3}, 0, 2)); - _shortNameToUnicode.put("flag_hk", new String(new int[] {0x1f1ed,0x1f1f0}, 0, 2)); - _shortNameToUnicode.put("flag_hu", new String(new int[] {0x1f1ed,0x1f1fa}, 0, 2)); - _shortNameToUnicode.put("flag_is", new String(new int[] {0x1f1ee,0x1f1f8}, 0, 2)); - _shortNameToUnicode.put("flag_in", new String(new int[] {0x1f1ee,0x1f1f3}, 0, 2)); - _shortNameToUnicode.put("flag_id", new String(new int[] {0x1f1ee,0x1f1e9}, 0, 2)); - _shortNameToUnicode.put("flag_ir", new String(new int[] {0x1f1ee,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_iq", new String(new int[] {0x1f1ee,0x1f1f6}, 0, 2)); - _shortNameToUnicode.put("flag_ie", new String(new int[] {0x1f1ee,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_im", new String(new int[] {0x1f1ee,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_il", new String(new int[] {0x1f1ee,0x1f1f1}, 0, 2)); - _shortNameToUnicode.put("flag_it", new String(new int[] {0x1f1ee,0x1f1f9}, 0, 2)); - _shortNameToUnicode.put("flag_jm", new String(new int[] {0x1f1ef,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_jp", new String(new int[] {0x1f1ef,0x1f1f5}, 0, 2)); - _shortNameToUnicode.put("crossed_flags", new String(new int[] {0x1f38c}, 0, 1)); - _shortNameToUnicode.put("flag_je", new String(new int[] {0x1f1ef,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_jo", new String(new int[] {0x1f1ef,0x1f1f4}, 0, 2)); - _shortNameToUnicode.put("flag_kz", new String(new int[] {0x1f1f0,0x1f1ff}, 0, 2)); - _shortNameToUnicode.put("flag_ke", new String(new int[] {0x1f1f0,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_ki", new String(new int[] {0x1f1f0,0x1f1ee}, 0, 2)); - _shortNameToUnicode.put("flag_xk", new String(new int[] {0x1f1fd,0x1f1f0}, 0, 2)); - _shortNameToUnicode.put("flag_kw", new String(new int[] {0x1f1f0,0x1f1fc}, 0, 2)); - _shortNameToUnicode.put("flag_kg", new String(new int[] {0x1f1f0,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_la", new String(new int[] {0x1f1f1,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_lv", new String(new int[] {0x1f1f1,0x1f1fb}, 0, 2)); - _shortNameToUnicode.put("flag_lb", new String(new int[] {0x1f1f1,0x1f1e7}, 0, 2)); - _shortNameToUnicode.put("flag_ls", new String(new int[] {0x1f1f1,0x1f1f8}, 0, 2)); - _shortNameToUnicode.put("flag_lr", new String(new int[] {0x1f1f1,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_ly", new String(new int[] {0x1f1f1,0x1f1fe}, 0, 2)); - _shortNameToUnicode.put("flag_li", new String(new int[] {0x1f1f1,0x1f1ee}, 0, 2)); - _shortNameToUnicode.put("flag_lt", new String(new int[] {0x1f1f1,0x1f1f9}, 0, 2)); - _shortNameToUnicode.put("flag_lu", new String(new int[] {0x1f1f1,0x1f1fa}, 0, 2)); - _shortNameToUnicode.put("flag_mo", new String(new int[] {0x1f1f2,0x1f1f4}, 0, 2)); - _shortNameToUnicode.put("flag_mk", new String(new int[] {0x1f1f2,0x1f1f0}, 0, 2)); - _shortNameToUnicode.put("flag_mg", new String(new int[] {0x1f1f2,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_mw", new String(new int[] {0x1f1f2,0x1f1fc}, 0, 2)); - _shortNameToUnicode.put("flag_my", new String(new int[] {0x1f1f2,0x1f1fe}, 0, 2)); - _shortNameToUnicode.put("flag_mv", new String(new int[] {0x1f1f2,0x1f1fb}, 0, 2)); - _shortNameToUnicode.put("flag_ml", new String(new int[] {0x1f1f2,0x1f1f1}, 0, 2)); - _shortNameToUnicode.put("flag_mt", new String(new int[] {0x1f1f2,0x1f1f9}, 0, 2)); - _shortNameToUnicode.put("flag_mh", new String(new int[] {0x1f1f2,0x1f1ed}, 0, 2)); - _shortNameToUnicode.put("flag_mq", new String(new int[] {0x1f1f2,0x1f1f6}, 0, 2)); - _shortNameToUnicode.put("flag_mr", new String(new int[] {0x1f1f2,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_mu", new String(new int[] {0x1f1f2,0x1f1fa}, 0, 2)); - _shortNameToUnicode.put("flag_yt", new String(new int[] {0x1f1fe,0x1f1f9}, 0, 2)); - _shortNameToUnicode.put("flag_mx", new String(new int[] {0x1f1f2,0x1f1fd}, 0, 2)); - _shortNameToUnicode.put("flag_fm", new String(new int[] {0x1f1eb,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_md", new String(new int[] {0x1f1f2,0x1f1e9}, 0, 2)); - _shortNameToUnicode.put("flag_mc", new String(new int[] {0x1f1f2,0x1f1e8}, 0, 2)); - _shortNameToUnicode.put("flag_mn", new String(new int[] {0x1f1f2,0x1f1f3}, 0, 2)); - _shortNameToUnicode.put("flag_me", new String(new int[] {0x1f1f2,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_ms", new String(new int[] {0x1f1f2,0x1f1f8}, 0, 2)); - _shortNameToUnicode.put("flag_ma", new String(new int[] {0x1f1f2,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_mz", new String(new int[] {0x1f1f2,0x1f1ff}, 0, 2)); - _shortNameToUnicode.put("flag_mm", new String(new int[] {0x1f1f2,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_na", new String(new int[] {0x1f1f3,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_nr", new String(new int[] {0x1f1f3,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_np", new String(new int[] {0x1f1f3,0x1f1f5}, 0, 2)); - _shortNameToUnicode.put("flag_nl", new String(new int[] {0x1f1f3,0x1f1f1}, 0, 2)); - _shortNameToUnicode.put("flag_nc", new String(new int[] {0x1f1f3,0x1f1e8}, 0, 2)); - _shortNameToUnicode.put("flag_nz", new String(new int[] {0x1f1f3,0x1f1ff}, 0, 2)); - _shortNameToUnicode.put("flag_ni", new String(new int[] {0x1f1f3,0x1f1ee}, 0, 2)); - _shortNameToUnicode.put("flag_ne", new String(new int[] {0x1f1f3,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_ng", new String(new int[] {0x1f1f3,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_nu", new String(new int[] {0x1f1f3,0x1f1fa}, 0, 2)); - _shortNameToUnicode.put("flag_nf", new String(new int[] {0x1f1f3,0x1f1eb}, 0, 2)); - _shortNameToUnicode.put("flag_kp", new String(new int[] {0x1f1f0,0x1f1f5}, 0, 2)); - _shortNameToUnicode.put("flag_mp", new String(new int[] {0x1f1f2,0x1f1f5}, 0, 2)); - _shortNameToUnicode.put("flag_no", new String(new int[] {0x1f1f3,0x1f1f4}, 0, 2)); - _shortNameToUnicode.put("flag_om", new String(new int[] {0x1f1f4,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_pk", new String(new int[] {0x1f1f5,0x1f1f0}, 0, 2)); - _shortNameToUnicode.put("flag_pw", new String(new int[] {0x1f1f5,0x1f1fc}, 0, 2)); - _shortNameToUnicode.put("flag_ps", new String(new int[] {0x1f1f5,0x1f1f8}, 0, 2)); - _shortNameToUnicode.put("flag_pa", new String(new int[] {0x1f1f5,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_pg", new String(new int[] {0x1f1f5,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_py", new String(new int[] {0x1f1f5,0x1f1fe}, 0, 2)); - _shortNameToUnicode.put("flag_pe", new String(new int[] {0x1f1f5,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_ph", new String(new int[] {0x1f1f5,0x1f1ed}, 0, 2)); - _shortNameToUnicode.put("flag_pn", new String(new int[] {0x1f1f5,0x1f1f3}, 0, 2)); - _shortNameToUnicode.put("flag_pl", new String(new int[] {0x1f1f5,0x1f1f1}, 0, 2)); - _shortNameToUnicode.put("flag_pt", new String(new int[] {0x1f1f5,0x1f1f9}, 0, 2)); - _shortNameToUnicode.put("flag_pr", new String(new int[] {0x1f1f5,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_qa", new String(new int[] {0x1f1f6,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_re", new String(new int[] {0x1f1f7,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_ro", new String(new int[] {0x1f1f7,0x1f1f4}, 0, 2)); - _shortNameToUnicode.put("flag_ru", new String(new int[] {0x1f1f7,0x1f1fa}, 0, 2)); - _shortNameToUnicode.put("flag_rw", new String(new int[] {0x1f1f7,0x1f1fc}, 0, 2)); - _shortNameToUnicode.put("flag_ws", new String(new int[] {0x1f1fc,0x1f1f8}, 0, 2)); - _shortNameToUnicode.put("flag_sm", new String(new int[] {0x1f1f8,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_st", new String(new int[] {0x1f1f8,0x1f1f9}, 0, 2)); - _shortNameToUnicode.put("flag_sa", new String(new int[] {0x1f1f8,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_sn", new String(new int[] {0x1f1f8,0x1f1f3}, 0, 2)); - _shortNameToUnicode.put("flag_rs", new String(new int[] {0x1f1f7,0x1f1f8}, 0, 2)); - _shortNameToUnicode.put("flag_sc", new String(new int[] {0x1f1f8,0x1f1e8}, 0, 2)); - _shortNameToUnicode.put("flag_sl", new String(new int[] {0x1f1f8,0x1f1f1}, 0, 2)); - _shortNameToUnicode.put("flag_sg", new String(new int[] {0x1f1f8,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_sx", new String(new int[] {0x1f1f8,0x1f1fd}, 0, 2)); - _shortNameToUnicode.put("flag_sk", new String(new int[] {0x1f1f8,0x1f1f0}, 0, 2)); - _shortNameToUnicode.put("flag_si", new String(new int[] {0x1f1f8,0x1f1ee}, 0, 2)); - _shortNameToUnicode.put("flag_gs", new String(new int[] {0x1f1ec,0x1f1f8}, 0, 2)); - _shortNameToUnicode.put("flag_sb", new String(new int[] {0x1f1f8,0x1f1e7}, 0, 2)); - _shortNameToUnicode.put("flag_so", new String(new int[] {0x1f1f8,0x1f1f4}, 0, 2)); - _shortNameToUnicode.put("flag_za", new String(new int[] {0x1f1ff,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_kr", new String(new int[] {0x1f1f0,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_ss", new String(new int[] {0x1f1f8,0x1f1f8}, 0, 2)); - _shortNameToUnicode.put("flag_es", new String(new int[] {0x1f1ea,0x1f1f8}, 0, 2)); - _shortNameToUnicode.put("flag_lk", new String(new int[] {0x1f1f1,0x1f1f0}, 0, 2)); - _shortNameToUnicode.put("flag_bl", new String(new int[] {0x1f1e7,0x1f1f1}, 0, 2)); - _shortNameToUnicode.put("flag_sh", new String(new int[] {0x1f1f8,0x1f1ed}, 0, 2)); - _shortNameToUnicode.put("flag_kn", new String(new int[] {0x1f1f0,0x1f1f3}, 0, 2)); - _shortNameToUnicode.put("flag_lc", new String(new int[] {0x1f1f1,0x1f1e8}, 0, 2)); - _shortNameToUnicode.put("flag_pm", new String(new int[] {0x1f1f5,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_vc", new String(new int[] {0x1f1fb,0x1f1e8}, 0, 2)); - _shortNameToUnicode.put("flag_sd", new String(new int[] {0x1f1f8,0x1f1e9}, 0, 2)); - _shortNameToUnicode.put("flag_sr", new String(new int[] {0x1f1f8,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_sz", new String(new int[] {0x1f1f8,0x1f1ff}, 0, 2)); - _shortNameToUnicode.put("flag_se", new String(new int[] {0x1f1f8,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_ch", new String(new int[] {0x1f1e8,0x1f1ed}, 0, 2)); - _shortNameToUnicode.put("flag_sy", new String(new int[] {0x1f1f8,0x1f1fe}, 0, 2)); - _shortNameToUnicode.put("flag_tw", new String(new int[] {0x1f1f9,0x1f1fc}, 0, 2)); - _shortNameToUnicode.put("flag_tj", new String(new int[] {0x1f1f9,0x1f1ef}, 0, 2)); - _shortNameToUnicode.put("flag_tz", new String(new int[] {0x1f1f9,0x1f1ff}, 0, 2)); - _shortNameToUnicode.put("flag_th", new String(new int[] {0x1f1f9,0x1f1ed}, 0, 2)); - _shortNameToUnicode.put("flag_tl", new String(new int[] {0x1f1f9,0x1f1f1}, 0, 2)); - _shortNameToUnicode.put("flag_tg", new String(new int[] {0x1f1f9,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_tk", new String(new int[] {0x1f1f9,0x1f1f0}, 0, 2)); - _shortNameToUnicode.put("flag_to", new String(new int[] {0x1f1f9,0x1f1f4}, 0, 2)); - _shortNameToUnicode.put("flag_tt", new String(new int[] {0x1f1f9,0x1f1f9}, 0, 2)); - _shortNameToUnicode.put("flag_tn", new String(new int[] {0x1f1f9,0x1f1f3}, 0, 2)); - _shortNameToUnicode.put("flag_tr", new String(new int[] {0x1f1f9,0x1f1f7}, 0, 2)); - _shortNameToUnicode.put("flag_tm", new String(new int[] {0x1f1f9,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_tc", new String(new int[] {0x1f1f9,0x1f1e8}, 0, 2)); - _shortNameToUnicode.put("flag_tv", new String(new int[] {0x1f1f9,0x1f1fb}, 0, 2)); - _shortNameToUnicode.put("flag_vi", new String(new int[] {0x1f1fb,0x1f1ee}, 0, 2)); - _shortNameToUnicode.put("flag_ug", new String(new int[] {0x1f1fa,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_ua", new String(new int[] {0x1f1fa,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_ae", new String(new int[] {0x1f1e6,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_gb", new String(new int[] {0x1f1ec,0x1f1e7}, 0, 2)); - _shortNameToUnicode.put("flag_us", new String(new int[] {0x1f1fa,0x1f1f8}, 0, 2)); - _shortNameToUnicode.put("flag_uy", new String(new int[] {0x1f1fa,0x1f1fe}, 0, 2)); - _shortNameToUnicode.put("flag_uz", new String(new int[] {0x1f1fa,0x1f1ff}, 0, 2)); - _shortNameToUnicode.put("flag_vu", new String(new int[] {0x1f1fb,0x1f1fa}, 0, 2)); - _shortNameToUnicode.put("flag_va", new String(new int[] {0x1f1fb,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_ve", new String(new int[] {0x1f1fb,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_vn", new String(new int[] {0x1f1fb,0x1f1f3}, 0, 2)); - _shortNameToUnicode.put("flag_wf", new String(new int[] {0x1f1fc,0x1f1eb}, 0, 2)); - _shortNameToUnicode.put("flag_eh", new String(new int[] {0x1f1ea,0x1f1ed}, 0, 2)); - _shortNameToUnicode.put("flag_ye", new String(new int[] {0x1f1fe,0x1f1ea}, 0, 2)); - _shortNameToUnicode.put("flag_zm", new String(new int[] {0x1f1ff,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_zw", new String(new int[] {0x1f1ff,0x1f1fc}, 0, 2)); - _shortNameToUnicode.put("flag_ac", new String(new int[] {0x1f1e6,0x1f1e8}, 0, 2)); - _shortNameToUnicode.put("flag_ta", new String(new int[] {0x1f1f9,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_bv", new String(new int[] {0x1f1e7,0x1f1fb}, 0, 2)); - _shortNameToUnicode.put("flag_hm", new String(new int[] {0x1f1ed,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_sj", new String(new int[] {0x1f1f8,0x1f1ef}, 0, 2)); - _shortNameToUnicode.put("flag_um", new String(new int[] {0x1f1fa,0x1f1f2}, 0, 2)); - _shortNameToUnicode.put("flag_ea", new String(new int[] {0x1f1ea,0x1f1e6}, 0, 2)); - _shortNameToUnicode.put("flag_cp", new String(new int[] {0x1f1e8,0x1f1f5}, 0, 2)); - _shortNameToUnicode.put("flag_dg", new String(new int[] {0x1f1e9,0x1f1ec}, 0, 2)); - _shortNameToUnicode.put("flag_mf", new String(new int[] {0x1f1f2,0x1f1eb}, 0, 2)); - _shortNameToUnicode.put("united_nations", new String(new int[] {0x1f1fa,0x1f1f3}, 0, 2)); - _shortNameToUnicode.put("asterisk_symbol", new String(new int[] {0x002a}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_z", new String(new int[] {0x1f1ff}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_y", new String(new int[] {0x1f1fe}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_x", new String(new int[] {0x1f1fd}, 0, 1)); - _shortNameToUnicode.put("pound_symbol", new String(new int[] {0x0023}, 0, 1)); - _shortNameToUnicode.put("tone1", new String(new int[] {0x1f3fb}, 0, 1)); - _shortNameToUnicode.put("tone2", new String(new int[] {0x1f3fc}, 0, 1)); - _shortNameToUnicode.put("tone3", new String(new int[] {0x1f3fd}, 0, 1)); - _shortNameToUnicode.put("tone4", new String(new int[] {0x1f3fe}, 0, 1)); - _shortNameToUnicode.put("tone5", new String(new int[] {0x1f3ff}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_w", new String(new int[] {0x1f1fc}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_v", new String(new int[] {0x1f1fb}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_u", new String(new int[] {0x1f1fa}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_t", new String(new int[] {0x1f1f9}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_s", new String(new int[] {0x1f1f8}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_r", new String(new int[] {0x1f1f7}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_q", new String(new int[] {0x1f1f6}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_p", new String(new int[] {0x1f1f5}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_o", new String(new int[] {0x1f1f4}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_n", new String(new int[] {0x1f1f3}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_m", new String(new int[] {0x1f1f2}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_l", new String(new int[] {0x1f1f1}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_k", new String(new int[] {0x1f1f0}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_j", new String(new int[] {0x1f1ef}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_i", new String(new int[] {0x1f1ee}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_h", new String(new int[] {0x1f1ed}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_g", new String(new int[] {0x1f1ec}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_f", new String(new int[] {0x1f1eb}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_e", new String(new int[] {0x1f1ea}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_d", new String(new int[] {0x1f1e9}, 0, 1)); - } - private static void init10(){ - _shortNameToUnicode.put("regional_indicator_c", new String(new int[] {0x1f1e8}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_b", new String(new int[] {0x1f1e7}, 0, 1)); - _shortNameToUnicode.put("regional_indicator_a", new String(new int[] {0x1f1e6}, 0, 1)); - _shortNameToUnicode.put("digit_nine", new String(new int[] {0x0039}, 0, 1)); - _shortNameToUnicode.put("digit_eight", new String(new int[] {0x0038}, 0, 1)); - _shortNameToUnicode.put("digit_seven", new String(new int[] {0x0037}, 0, 1)); - _shortNameToUnicode.put("digit_six", new String(new int[] {0x0036}, 0, 1)); - _shortNameToUnicode.put("digit_five", new String(new int[] {0x0035}, 0, 1)); - _shortNameToUnicode.put("digit_four", new String(new int[] {0x0034}, 0, 1)); - _shortNameToUnicode.put("digit_three", new String(new int[] {0x0033}, 0, 1)); - _shortNameToUnicode.put("digit_two", new String(new int[] {0x0032}, 0, 1)); - _shortNameToUnicode.put("digit_one", new String(new int[] {0x0031}, 0, 1)); - _shortNameToUnicode.put("digit_zero", new String(new int[] {0x0030}, 0, 1)); - _shortNameToUnicode.put("family_man_woman_boy", new String(new int[] {0x1f468,0x1f469,0x1f466}, 0, 3)); - _shortNameToUnicode.put("couple_with_heart_woman_man", new String(new int[] {0x1f469,0x2764,0x1f468}, 0, 3)); - _shortNameToUnicode.put("kiss_woman_man", new String(new int[] {0x1f469,0x2764,0x1f48b,0x1f468}, 0, 4)); - } - - static { - init1(); - init2(); - init3(); - init4(); - init5(); - init6(); - init7(); - init8(); - init9(); - init10(); - } - -} diff --git a/app/src/main/java/jp/juggler/subwaytooter/ActAccountSetting.java b/app/src/main/java/jp/juggler/subwaytooter/ActAccountSetting.java new file mode 100644 index 00000000..d6227360 --- /dev/null +++ b/app/src/main/java/jp/juggler/subwaytooter/ActAccountSetting.java @@ -0,0 +1,184 @@ +package jp.juggler.subwaytooter; + +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v7.app.AlertDialog; +import android.support.v7.app.AppCompatActivity; +import android.view.View; +import android.widget.Button; +import android.widget.CompoundButton; +import android.widget.Switch; +import android.widget.TextView; + +import jp.juggler.subwaytooter.api.entity.TootStatus; +import jp.juggler.subwaytooter.table.SavedAccount; +import jp.juggler.subwaytooter.util.LogCategory; + +public class ActAccountSetting extends AppCompatActivity implements View.OnClickListener, CompoundButton.OnCheckedChangeListener { + static final LogCategory log = new LogCategory( "ActAccountSetting" ); + + static final String KEY_ACCOUNT_DB_ID = "account_db_id"; + + public static void open( Context context, SavedAccount ai ){ + Intent intent = new Intent( context, ActAccountSetting.class ); + intent.putExtra( KEY_ACCOUNT_DB_ID, ai.db_id ); + context.startActivity( intent ); + } + + SavedAccount account; + + @Override + protected void onCreate( @Nullable Bundle savedInstanceState ){ + super.onCreate( savedInstanceState ); + initUI(); + account = SavedAccount.loadAccount( log, getIntent().getLongExtra( KEY_ACCOUNT_DB_ID, - 1L ) ); + if( account == null ) finish(); + loadUIFromData( account ); + + } + + TextView tvInstance; + TextView tvUser; + View btnAccessToken; + View btnAccountRemove; + Button btnVisibility; + Switch swConfirmBeforeBoost; + Switch swNSFWOpen; + + private void initUI(){ + setContentView( R.layout.act_account_setting ); + tvInstance = (TextView) findViewById( R.id.tvInstance ); + tvUser = (TextView) findViewById( R.id.tvUser ); + btnAccessToken = findViewById( R.id.btnAccessToken ); + btnAccountRemove = findViewById( R.id.btnAccountRemove ); + btnVisibility = (Button) findViewById( R.id.btnVisibility ); + swConfirmBeforeBoost = (Switch) findViewById( R.id.swConfirmBeforeBoost ); + swNSFWOpen = (Switch) findViewById( R.id.swNSFWOpen ); + + btnAccessToken.setOnClickListener( this ); + btnAccountRemove.setOnClickListener( this ); + btnVisibility.setOnClickListener( this ); + + swNSFWOpen.setOnCheckedChangeListener( this ); + swConfirmBeforeBoost.setOnCheckedChangeListener( this ); + } + + private void loadUIFromData( SavedAccount a ){ + tvInstance.setText( a.host ); + tvUser.setText( a.user ); + + String sv = a.visibility; + if( sv != null ){ + visibility = sv; + } + swConfirmBeforeBoost.setChecked( a.confirm_boost ); + swNSFWOpen.setChecked( a.dont_hide_nsfw ); + + + updateVisibility(); + } + + private void saveUIToData(){ + account.visibility = visibility; + account.confirm_boost = swConfirmBeforeBoost.isChecked(); + account.dont_hide_nsfw = swNSFWOpen.isChecked(); + account.saveSetting(); + } + + @Override + public void onCheckedChanged( CompoundButton buttonView, boolean isChecked ){ + saveUIToData(); + } + + @Override + public void onClick( View v ){ + switch( v.getId() ){ + case R.id.btnAccessToken: + performAccessToken(); + break; + case R.id.btnAccountRemove: + performAccountRemove(); + break; + case R.id.btnVisibility: + performVisibility(); + break; + } + } + + /////////////////////////////////////////////////// + + String visibility = TootStatus.VISIBILITY_PUBLIC; + + private void updateVisibility(){ + btnVisibility.setText( Styler.getVisibilityString( this, visibility ) ); + } + + private void performVisibility(){ + final String[] caption_list = new String[]{ + getString( R.string.visibility_public ), + getString( R.string.visibility_unlisted ), + getString( R.string.visibility_private ), + getString( R.string.visibility_direct ), + }; + +// public static final String VISIBILITY_PUBLIC ="public"; +// public static final String VISIBILITY_UNLISTED ="unlisted"; +// public static final String VISIBILITY_PRIVATE ="private"; +// public static final String VISIBILITY_DIRECT ="direct"; + + new AlertDialog.Builder( this ) + .setTitle( R.string.choose_visibility ) + .setItems( caption_list, new DialogInterface.OnClickListener() { + @Override + public void onClick( DialogInterface dialog, int which ){ + switch( which ){ + case 0: + visibility = TootStatus.VISIBILITY_PUBLIC; + break; + case 1: + visibility = TootStatus.VISIBILITY_UNLISTED; + break; + case 2: + visibility = TootStatus.VISIBILITY_PRIVATE; + break; + case 3: + visibility = TootStatus.VISIBILITY_DIRECT; + break; + } + updateVisibility(); + saveUIToData(); + } + } ) + .setNegativeButton( R.string.cancel, null ) + .show(); + + } + + /////////////////////////////////////////////////// + private void performAccountRemove(){ + new AlertDialog.Builder( this ) + .setTitle( R.string.confirm ) + .setMessage( R.string.confirm_account_remove ) + .setNegativeButton( R.string.cancel, null ) + .setPositiveButton( R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick( DialogInterface dialog, int which ){ + account.delete(); + finish(); + } + } ) + .show(); + + } + + /////////////////////////////////////////////////// + private void performAccessToken(){ + + } + + /////////////////////////////////////////////////// + +} diff --git a/app/src/main/java/jp/juggler/subwaytooter/ActAppSetting.java b/app/src/main/java/jp/juggler/subwaytooter/ActAppSetting.java new file mode 100644 index 00000000..e34b7845 --- /dev/null +++ b/app/src/main/java/jp/juggler/subwaytooter/ActAppSetting.java @@ -0,0 +1,10 @@ +package jp.juggler.subwaytooter; + +import android.support.v7.app.AppCompatActivity; + +/** + * Created by tateisu on 2017/04/22. + */ + +public class ActAppSetting extends AppCompatActivity { +} diff --git a/app/src/main/java/jp/juggler/subwaytooter/ActColumnList.java b/app/src/main/java/jp/juggler/subwaytooter/ActColumnList.java new file mode 100644 index 00000000..936274bd --- /dev/null +++ b/app/src/main/java/jp/juggler/subwaytooter/ActColumnList.java @@ -0,0 +1,10 @@ +package jp.juggler.subwaytooter; + +import android.support.v7.app.AppCompatActivity; + +/** + * Created by tateisu on 2017/04/22. + */ + +public class ActColumnList extends AppCompatActivity { +} diff --git a/app/src/main/java/jp/juggler/subwaytooter/ActMain.java b/app/src/main/java/jp/juggler/subwaytooter/ActMain.java index f0cfe22c..499cde55 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/ActMain.java +++ b/app/src/main/java/jp/juggler/subwaytooter/ActMain.java @@ -2,6 +2,7 @@ package jp.juggler.subwaytooter; import android.app.Dialog; import android.app.ProgressDialog; +import android.content.Context; import android.content.DialogInterface; import android.net.Uri; import android.os.AsyncTask; @@ -11,6 +12,7 @@ import android.support.design.widget.FloatingActionButton; import android.support.v4.content.ContextCompat; import android.support.v4.os.AsyncTaskCompat; import android.support.v4.view.ViewPager; +import android.support.v7.app.AlertDialog; import android.view.Gravity; import android.view.View; import android.support.design.widget.NavigationView; @@ -29,21 +31,34 @@ import java.io.ByteArrayOutputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.io.OutputStream; +import java.io.StringBufferInputStream; +import java.util.HashMap; +import java.util.HashSet; import jp.juggler.subwaytooter.api.TootApiClient; import jp.juggler.subwaytooter.api.TootApiResult; import jp.juggler.subwaytooter.api.entity.TootAccount; +import jp.juggler.subwaytooter.api.entity.TootStatus; import jp.juggler.subwaytooter.dialog.AccountPicker; import jp.juggler.subwaytooter.dialog.LoginForm; import jp.juggler.subwaytooter.table.SavedAccount; import jp.juggler.subwaytooter.util.HTMLDecoder; import jp.juggler.subwaytooter.util.LogCategory; import jp.juggler.subwaytooter.util.Utils; +import okhttp3.Request; +import okhttp3.RequestBody; public class ActMain extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { public static final LogCategory log = new LogCategory( "ActMain" ); + static boolean update_at_resume = false; + +// @Override +// protected void attachBaseContext(Context newBase) { +// super.attachBaseContext( CalligraphyContextWrapper.wrap(newBase)); +// } + @Override protected void onCreate( Bundle savedInstanceState ){ super.onCreate( savedInstanceState ); @@ -62,6 +77,26 @@ public class ActMain extends AppCompatActivity protected void onResume(){ super.onResume(); HTMLDecoder.link_callback = link_click_listener; + + // アカウント設定から戻ってきたら、カラムを消す必要があるかもしれない + int size =pager_adapter.getCount(); + for(int i=size-1;i>=0;--i){ + Column column = pager_adapter.getColumn( i ); + SavedAccount sa = SavedAccount.loadAccount( log, column.access_info.db_id ); + if( sa == null ){ + pager_adapter.removeColumn( pager,column ); + } + } + + + if(update_at_resume){ + update_at_resume = false; + // TODO: 各カラムを更新する + } + + if( pager_adapter.getCount() == 0){ + llEmpty.setVisibility( View.VISIBLE ); + } } @Override @@ -76,6 +111,8 @@ public class ActMain extends AppCompatActivity DrawerLayout drawer = (DrawerLayout) findViewById( R.id.drawer_layout ); if( drawer.isDrawerOpen( GravityCompat.START ) ){ drawer.closeDrawer( GravityCompat.START ); + }else if( ! pager_adapter.column_list.isEmpty() ){ + performColumnClose( false,pager_adapter.getColumn( pager.getCurrentItem() ) ); }else{ super.onBackPressed(); } @@ -127,6 +164,13 @@ public class ActMain extends AppCompatActivity }else if( id == R.id.nav_add_notifications ){ performAddTimeline( Column.TYPE_TL_NOTIFICATIONS ); + }else if( id == R.id.nav_app_setting ){ + performAppSetting( ); + }else if( id == R.id.nav_account_setting ){ + performAccountSetting(); + }else if( id == R.id.nav_column_list ){ + performColumnList(); + // Handle the camera action // }else if( id == R.id.nav_gallery ){ // @@ -180,8 +224,8 @@ public class ActMain extends AppCompatActivity fabMenu.setOnClickListener( new View.OnClickListener() { @Override public void onClick( View view ){ - if( ! drawer.isDrawerOpen( Gravity.LEFT ) ){ - drawer.openDrawer( Gravity.LEFT ); + if( ! drawer.isDrawerOpen( Gravity.START ) ){ + drawer.openDrawer( Gravity.START ); } } } ); @@ -202,22 +246,18 @@ public class ActMain extends AppCompatActivity final AsyncTask< Void, String, TootApiResult > task = new AsyncTask< Void, String, TootApiResult >() { - boolean __isCancelled(){ - return isCancelled(); - } - long row_id; @Override protected TootApiResult doInBackground( Void... params ){ TootApiClient api_client = new TootApiClient( ActMain.this, new TootApiClient.Callback() { @Override - public boolean isCancelled(){ - return __isCancelled(); + public boolean isApiCancelled(){ + return isCancelled(); } @Override - public void publishProgress( final String s ){ + public void publishApiProgress( final String s ){ Utils.runOnMainThread( new Runnable() { @Override public void run(){ @@ -229,11 +269,11 @@ public class ActMain extends AppCompatActivity api_client.setUserInfo( instance, user_mail, password ); - TootApiResult result = api_client.get( "/api/v1/accounts/verify_credentials" ); + TootApiResult result = api_client.request( "/api/v1/accounts/verify_credentials" ); if( result != null && result.object != null ){ TootAccount ta = TootAccount.parse( log, result.object ); String user = ta.username +"@" + instance; - this.row_id = SavedAccount.insert( log, instance, user, result.object ,result.token_info ); + this.row_id = SavedAccount.insert( instance, user, result.object ,result.token_info ); } return result; } @@ -281,13 +321,39 @@ public class ActMain extends AppCompatActivity pager.setCurrentItem( idx ); } - public void performColumnClose( Column column ){ + public void performColumnClose( boolean bConfirm,final Column column ){ + if(! bConfirm ){ + new AlertDialog.Builder( this ) + .setTitle( R.string.confirm ) + .setMessage( R.string.close_column ) + .setNegativeButton( R.string.cancel, null ) + .setPositiveButton( R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick( DialogInterface dialog, int which ){ + performColumnClose( true,column ); + } + } ) + .show(); + return; + } + int page_showing = pager.getCurrentItem(); + int page_delete = pager_adapter.column_list.indexOf( column ); pager_adapter.removeColumn( pager, column ); if( pager_adapter.getCount() == 0 ){ llEmpty.setVisibility( View.VISIBLE ); + }else if( page_showing > 0 && page_showing == page_delete ){ + pager.setCurrentItem( page_showing-1 ,true); } } + + void performOpenUser(SavedAccount access_info,TootAccount user){ + llEmpty.setVisibility( View.GONE ); + // + Column col = new Column( ActMain.this, access_info, Column.TYPE_TL_STATUSES, user.id ); + pager.setCurrentItem( pager_adapter.addColumn( pager, col ) ,true); + } + private void performAddTimeline( final int type, final Object... params ){ AccountPicker.pick( this, new AccountPicker.AccountPickerCallback() { @Override @@ -296,7 +362,7 @@ public class ActMain extends AppCompatActivity // Column col = new Column( ActMain.this, ai, type, ai.id, params ); int idx = pager_adapter.addColumn( pager, col ); - pager.setCurrentItem( idx ); + pager.setCurrentItem( idx ,true); } } ); } @@ -316,8 +382,8 @@ public class ActMain extends AppCompatActivity customTabsIntent.launchUrl( this, Uri.parse( url ) ); }catch( Throwable ex ){ - ex.printStackTrace(); - log.e( ex, "openChromeTab failed." ); + // ex.printStackTrace(); + log.e( ex, "openChromeTab failed. url=%s",url ); } } @@ -393,8 +459,281 @@ public class ActMain extends AppCompatActivity Column c = pager_adapter.getColumn( pager.getCurrentItem() ); if( c != null && c.access_info != null ){ - ActPost.open( this, c.access_info.db_id ); + ActPost.open( this, c.access_info.db_id ,null ); } } + ///////////////////////////////////////////////////////////////////////// + + private void showColumnMatchAccount( SavedAccount account ){ + for( Column column : pager_adapter.column_list ){ + if( account.user.equals( column.access_info.user ) ){ + column.fireVisualCallback(); + } + } + } + + + ///////////////////////////////////////////////////////////////////////// + // favourite + + final HashSet map_busy_fav = new HashSet<>( ); + + boolean isBusyFav(SavedAccount account,TootStatus status){ + String busy_key = account.host+":"+ status.id; + return map_busy_fav.contains(busy_key); + } + + public void performFavourite( final SavedAccount account, final TootStatus status ){ + // + final String busy_key = account.host+":"+ status.id; + // + if( map_busy_fav.contains(busy_key) ){ + Utils.showToast( this,false,R.string.wait_previous_operation ); + return; + } + // + map_busy_fav.add( busy_key ); + // + new AsyncTask(){ + final boolean new_state = ! status.favourited; + TootStatus new_status; + + @Override + protected TootApiResult doInBackground( Void... params ){ + TootApiClient client = new TootApiClient( ActMain.this, new TootApiClient.Callback() { + @Override + public boolean isApiCancelled(){ + return isCancelled(); + } + + @Override + public void publishApiProgress( final String s ){ + } + } ); + client.setAccount( account ); + + Request.Builder request_builder = new Request.Builder() + .post( RequestBody.create( + TootApiClient.MEDIA_TYPE_FORM_URL_ENCODED + ,"" + )); + + TootApiResult result = client.request( + (new_state + ? "/api/v1/statuses/"+status.id+"/favourite" + : "/api/v1/statuses/"+status.id+"/unfavourite" + ) + , request_builder ); + if( result.object != null ){ + new_status = TootStatus.parse( log,result.object ); + } + + return result; + + } + + @Override + protected void onCancelled( TootApiResult result ){ + super.onPostExecute( result ); + } + + @Override + protected void onPostExecute( TootApiResult result ){ + map_busy_fav.remove( busy_key); + if( new_status != null ){ + // カウント数は遅延があるみたい + if( new_state && new_status.favourites_count <= status.favourites_count ){ + // 星つけたのにカウントが上がらないのは違和感あるので、表示をいじる + new_status.favourites_count = status.favourites_count +1; + }else if( !new_state && new_status.favourites_count >= status.favourites_count ){ + // 星外したのにカウントが下がらないのは違和感あるので、表示をいじる + new_status.favourites_count = status.favourites_count -1; + if( new_status.favourites_count < 0 ){ + new_status.favourites_count = 0; + } + } + for( Column column : pager_adapter.column_list ){ + column.findStatus( account, new_status.id, new Column.StatusEntryCallback() { + @Override + public void onIterate( TootStatus status ){ + status.favourited = new_status.favourited; + status.favourites_count = new_status.favourites_count; + } + }); + } + }else{ + if( result != null) Utils.showToast( ActMain.this,true,result.error ); + } + showColumnMatchAccount(account); + } + + }.execute(); + showColumnMatchAccount(account); + } + + + + ///////////////////////////////////////////////////////////////////////// + // boost + final HashSet map_busy_boost = new HashSet<>( ); + + boolean isBusyBoost(SavedAccount account,TootStatus status){ + String busy_key = account.host+":"+ status.id; + return map_busy_boost.contains( busy_key); + } + + public void performBoost( final SavedAccount account, final TootStatus status ,boolean bConfirmed){ + // + final String busy_key = account.host + ":" + status.id; + // + if(map_busy_boost.contains( busy_key ) ){ + Utils.showToast( this, false, R.string.wait_previous_operation ); + return; + } + + if( status.reblogged ){ + // FAVがついているか、FAV操作中はBoostを外せない + if( isBusyFav( account, status ) || status.favourited ){ + Utils.showToast( this, false, R.string.cant_remove_boost_while_favourited ); + return; + } + }else{ + if(!bConfirmed && account.confirm_boost ){ + // TODO: アカウント設定でスキップさせたい + new AlertDialog.Builder(this) + .setTitle(R.string.confirm) + .setMessage(R.string.confirm_boost) + .setPositiveButton( R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick( DialogInterface dialog, int which ){ + performBoost( account, status ,true); + } + } ) + .setNegativeButton( R.string.cancel,null ) + .show(); + return; + } + } + + // + map_busy_boost.add( busy_key); + // + new AsyncTask(){ + final boolean new_state = ! status.reblogged; + TootStatus new_status; + + @Override + protected TootApiResult doInBackground( Void... params ){ + TootApiClient client = new TootApiClient( ActMain.this, new TootApiClient.Callback() { + @Override + public boolean isApiCancelled(){ + return isCancelled(); + } + + @Override + public void publishApiProgress( final String s ){ + } + } ); + client.setAccount( account ); + + Request.Builder request_builder = new Request.Builder() + .post( RequestBody.create( + TootApiClient.MEDIA_TYPE_FORM_URL_ENCODED + ,"" + )); + + TootApiResult result = client.request( + "/api/v1/statuses/"+status.id+(new_state ? "/reblog" : "/unreblog") + , request_builder ); + + if( result.object != null ){ + // reblog,unreblog のレスポンスは信用ならんのでステータスを再取得する + result = client.request("/api/v1/statuses/"+status.id); + if( result.object != null ){ + new_status = TootStatus.parse( log, result.object ); + } + } + + return result; + + } + + @Override + protected void onCancelled( TootApiResult result ){ + super.onPostExecute( result ); + } + + @Override + protected void onPostExecute( TootApiResult result ){ + map_busy_boost.remove( busy_key); + if( new_status != null ){ + // カウント数は遅延があるみたい + if( new_status.reblogged && new_status.reblogs_count <= status.reblogs_count ){ + // 星つけたのにカウントが上がらないのは違和感あるので、表示をいじる + new_status.reblogs_count = status.reblogs_count +1; + }else if( !new_status.reblogged && new_status.reblogs_count >= status.reblogs_count ){ + // 星外したのにカウントが下がらないのは違和感あるので、表示をいじる + new_status.reblogs_count = status.reblogs_count -1; + if( new_status.reblogs_count < 0 ){ + new_status.reblogs_count = 0; + } + } + for( Column column : pager_adapter.column_list ){ + column.findStatus( account, new_status.id, new Column.StatusEntryCallback() { + @Override + public void onIterate( TootStatus status ){ + status.reblogged = new_status.reblogged; + status.reblogs_count = new_status.reblogs_count; + } + }); + } + }else{ + if( result != null) Utils.showToast( ActMain.this,true,result.error ); + } + showColumnMatchAccount(account); + } + + }.execute(); + + showColumnMatchAccount(account); + } + + //////////////////////////////////////// + + public void performMore( SavedAccount account, TootStatus status ){ + // open menu + // Expand this status + // Mute user + // Block user + // report user + Utils.showToast( this,false,"not implemented. toot="+status.decoded_content ); + } + + public void performReply( SavedAccount account, TootStatus status ){ + Utils.showToast( this,false,"not implemented. toot="+status.decoded_content ); + } + + //////////////////////////////////////// + + private void performColumnList(){ + + Utils.showToast( this,false,"not implemented." ); + + } + + private void performAccountSetting(){ + AccountPicker.pick( this, new AccountPicker.AccountPickerCallback() { + @Override + public void onAccountPicked( SavedAccount ai ){ + ActAccountSetting.open( ActMain.this, ai); + } + } ); + } + + private void performAppSetting(){ + Utils.showToast( this,false,"not implemented." ); + } + + } diff --git a/app/src/main/java/jp/juggler/subwaytooter/ActPost.java b/app/src/main/java/jp/juggler/subwaytooter/ActPost.java index 2c664202..1f31e5b1 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/ActPost.java +++ b/app/src/main/java/jp/juggler/subwaytooter/ActPost.java @@ -1,44 +1,122 @@ package jp.juggler.subwaytooter; +import android.app.ProgressDialog; import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; -import android.graphics.Bitmap; +import android.database.Cursor; +import android.net.Uri; +import android.os.AsyncTask; import android.os.Bundle; +import android.provider.OpenableColumns; import android.support.annotation.Nullable; +import android.support.v4.content.ContextCompat; +import android.support.v4.os.AsyncTaskCompat; +import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.text.Editable; +import android.text.TextUtils; import android.text.TextWatcher; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; +import android.widget.ImageButton; import android.widget.TextView; import com.android.volley.toolbox.NetworkImageView; +import org.apache.commons.io.IOUtils; +import org.json.JSONArray; + +import java.io.IOException; +import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; +import jp.juggler.subwaytooter.api.TootApiClient; +import jp.juggler.subwaytooter.api.TootApiResult; +import jp.juggler.subwaytooter.api.entity.TootAttachment; +import jp.juggler.subwaytooter.api.entity.TootStatus; import jp.juggler.subwaytooter.table.SavedAccount; import jp.juggler.subwaytooter.util.LogCategory; import jp.juggler.subwaytooter.util.Utils; +import okhttp3.MediaType; +import okhttp3.MultipartBody; +import okhttp3.Request; +import okhttp3.RequestBody; +import okio.BufferedSink; public class ActPost extends AppCompatActivity implements View.OnClickListener { static final LogCategory log = new LogCategory( "ActPost" ); static final String KEY_ACCOUNT_DB_ID = "account_db_id"; + static final String KEY_VISIBILITY = "visibility"; + static final String KEY_ATTACHMENT_LIST = "attachment_list"; - public static void open( Context context, long account_db_id ){ + public static void open( Context context, long account_db_id, String visibility ){ Intent intent = new Intent( context, ActPost.class ); intent.putExtra( KEY_ACCOUNT_DB_ID, account_db_id ); + if( visibility != null ) intent.putExtra( KEY_VISIBILITY, visibility ); context.startActivity( intent ); } @Override public void onClick( View v ){ + switch( v.getId() ){ + case R.id.btnAccount: + performAccountChooser(); + break; + case R.id.btnVisibility: + performVisibility(); + break; + + case R.id.btnAttachment: + performAttachment(); + break; + + case R.id.ivMedia1: + performAttachmentDelete( 0 ); + break; + case R.id.ivMedia2: + performAttachmentDelete( 1 ); + break; + case R.id.ivMedia3: + performAttachmentDelete( 2 ); + break; + case R.id.ivMedia4: + performAttachmentDelete( 3 ); + break; + + case R.id.btnPost: + performPost(); + break; + } + } + + + static final int REQUEST_CODE_ATTACHMENT = 1; + + @Override + protected void onActivityResult( int requestCode, int resultCode, Intent data ){ + if( resultCode == RESULT_OK ){ + if( requestCode == REQUEST_CODE_ATTACHMENT ){ + if( data != null ){ + Uri uri = data.getData(); + if( uri != null ){ + String type = data.getType(); + if( TextUtils.isEmpty( type ) ){ + type = getContentResolver().getType( uri ); + } + addAttachment( uri, type ); + } + } + } + } + super.onActivityResult( requestCode, resultCode, data ); } @Override @@ -54,34 +132,7 @@ public class ActPost extends AppCompatActivity implements View.OnClickListener { } if( savedInstanceState != null ){ - - }else{ - Intent intent = getIntent(); - long account_db_id = intent.getLongExtra( KEY_ACCOUNT_DB_ID, SavedAccount.INVALID_ID ); - if( account_db_id != SavedAccount.INVALID_ID ){ - for( int i = 0, ie = account_list.size() ; i < ie ; ++ i ){ - SavedAccount a = account_list.get( i ); - if( a.db_id == account_db_id ){ - setAccount( a ); - break; - } - } - } - } - if( this.account == null ){ - setAccount( null ); - } - - updateContentWarning(); - updateMediaAttachment(); - } - - @Override - protected void onRestoreInstanceState( Bundle savedInstanceState ){ - super.onRestoreInstanceState( savedInstanceState ); - - if( savedInstanceState != null ){ - long account_db_id = savedInstanceState.getLong(KEY_ACCOUNT_DB_ID,SavedAccount.INVALID_ID); + long account_db_id = savedInstanceState.getLong( KEY_ACCOUNT_DB_ID, SavedAccount.INVALID_ID ); if( account_db_id != SavedAccount.INVALID_ID ){ for( int i = 0, ie = account_list.size() ; i < ie ; ++ i ){ SavedAccount a = account_list.get( i ); @@ -92,22 +143,81 @@ public class ActPost extends AppCompatActivity implements View.OnClickListener { } } + String sv = savedInstanceState.getString( KEY_VISIBILITY ); + if( TextUtils.isEmpty( sv ) ) sv = account.visibility; + this.visibility = sv; + + sv = savedInstanceState.getString( KEY_ATTACHMENT_LIST ); + if( ! TextUtils.isEmpty( sv ) ){ + try{ + attachment_list.clear(); + JSONArray array = new JSONArray( sv ); + for( int i = 0, ie = array.length() ; i < ie ; ++ i ){ + try{ + TootAttachment a = TootAttachment.parse( log, array.optJSONObject( i ) ); + if( a != null ){ + PostAttachment pa = new PostAttachment(); + pa.status = ATTACHMENT_UPLOADED; + pa.attachment = a; + } + }catch( Throwable ex2 ){ + ex2.printStackTrace(); + } + } + }catch( Throwable ex ){ + ex.printStackTrace(); + } + } + }else{ + Intent intent = getIntent(); + long account_db_id = intent.getLongExtra( KEY_ACCOUNT_DB_ID, SavedAccount.INVALID_ID ); + if( account_db_id != SavedAccount.INVALID_ID ){ + for( int i = 0, ie = account_list.size() ; i < ie ; ++ i ){ + SavedAccount a = account_list.get( i ); + if( a.db_id == account_db_id ){ + setAccount( a ); + break; + } + } + } + + String sv = intent.getStringExtra( KEY_VISIBILITY ); + if( TextUtils.isEmpty( sv ) ) sv = account.visibility; + this.visibility = sv; } + if( this.account == null ){ setAccount( null ); } + updateContentWarning(); - updateMediaAttachment(); + showMediaAttachment(); + updateVisibility(); + updateTextCount(); } @Override protected void onSaveInstanceState( Bundle outState ){ if( account != null ){ - outState.putLong( KEY_ACCOUNT_DB_ID,account.db_id ); + outState.putLong( KEY_ACCOUNT_DB_ID, account.db_id ); + } + if( visibility != null ){ + outState.putString( KEY_VISIBILITY, visibility ); + } + if( ! attachment_list.isEmpty() ){ + JSONArray array = new JSONArray(); + for( PostAttachment pa : attachment_list ){ + if( pa.status == ATTACHMENT_UPLOADED ){ + // アップロード完了したものだけ保持する + array.put( pa.attachment.json ); + } + } + outState.putString( KEY_ATTACHMENT_LIST, array.toString() ); } } Button btnAccount; + ImageButton btnVisibility; View btnAttachment; View btnPost; View llAttachment; @@ -115,17 +225,18 @@ public class ActPost extends AppCompatActivity implements View.OnClickListener { NetworkImageView ivMedia2; NetworkImageView ivMedia3; NetworkImageView ivMedia4; + CheckBox cbNSFW; CheckBox cbContentWarning; EditText etContentWarning; EditText etContent; TextView tvCharCount; ArrayList< SavedAccount > account_list; - SavedAccount account; private void initUI(){ setContentView( R.layout.act_post ); btnAccount = (Button) findViewById( R.id.btnAccount ); + btnVisibility = (ImageButton) findViewById( R.id.btnVisibility ); btnAttachment = findViewById( R.id.btnAttachment ); btnPost = findViewById( R.id.btnPost ); llAttachment = findViewById( R.id.llAttachment ); @@ -133,6 +244,7 @@ public class ActPost extends AppCompatActivity implements View.OnClickListener { ivMedia2 = (NetworkImageView) findViewById( R.id.ivMedia2 ); ivMedia3 = (NetworkImageView) findViewById( R.id.ivMedia3 ); ivMedia4 = (NetworkImageView) findViewById( R.id.ivMedia4 ); + cbNSFW = (CheckBox) findViewById( R.id.cbNSFW ); cbContentWarning = (CheckBox) findViewById( R.id.cbContentWarning ); etContentWarning = (EditText) findViewById( R.id.etContentWarning ); etContent = (EditText) findViewById( R.id.etContent ); @@ -147,13 +259,14 @@ public class ActPost extends AppCompatActivity implements View.OnClickListener { } ); btnAccount.setOnClickListener( this ); + btnVisibility.setOnClickListener( this ); btnAttachment.setOnClickListener( this ); btnPost.setOnClickListener( this ); - llAttachment = findViewById( R.id.llAttachment ); ivMedia1.setOnClickListener( this ); ivMedia2.setOnClickListener( this ); ivMedia3.setOnClickListener( this ); ivMedia4.setOnClickListener( this ); + cbContentWarning.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged( CompoundButton buttonView, boolean isChecked ){ @@ -180,53 +293,451 @@ public class ActPost extends AppCompatActivity implements View.OnClickListener { } private void updateTextCount(){ - tvCharCount.setText( 500 - etContent.getText().length() ); - } - - void setAccount( SavedAccount a ){ - this.account = a; - btnAccount.setText( a == null ? getString( R.string.not_selected ) : a.getFullAcct( a ) ); + tvCharCount.setText( Integer.toString( 500 - etContent.getText().length() ) ); } private void updateContentWarning(){ etContentWarning.setVisibility( cbContentWarning.isChecked() ? View.VISIBLE : View.GONE ); } + ////////////////////////////////////////////////////////// + // Account - private void updateMediaAttachment(){ - if( attachment_list.isEmpty() ){ - llAttachment.setVisibility( View.GONE ); - }else{ - llAttachment.setVisibility( View.VISIBLE ); - showAttachment( ivMedia1, 0 ); - showAttachment( ivMedia2, 0 ); - showAttachment( ivMedia3, 0 ); - showAttachment( ivMedia4, 0 ); - } + SavedAccount account; + + void setAccount( SavedAccount a ){ + this.account = a; + btnAccount.setText( + ( a == null ? getString( R.string.not_selected ) : a.getFullAcct( a ) ) + ); } - private void showAttachment( NetworkImageView iv, int idx ){ - if( idx >= attachment_list.size() ){ - iv.setVisibility( View.GONE ); - }else{ - iv.setVisibility( View.VISIBLE ); - PostAttachment a = attachment_list.get( idx ); - if( a.status == ATTACHMENT_UPLOADING ){ - iv.setImageResource( R.drawable.ic_loading ); - }else{ - iv.setImageBitmap( a.bitmap ); - } + private void performAccountChooser(){ + // TODO: mention の状況によっては別サーバを選べないかもしれない + + // TODO: 添付ファイルがあったら確認の上添付ファイルを捨てないと切り替えられない + + final ArrayList< SavedAccount > tmp_account_list = new ArrayList<>(); + tmp_account_list.addAll( account_list ); + String[] caption_list = new String[ tmp_account_list.size() ]; + for( int i = 0, ie = tmp_account_list.size() ; i < ie ; ++ i ){ + caption_list[ i ] = tmp_account_list.get( i ).user; } + + new AlertDialog.Builder( this ) + .setTitle( R.string.choose_account ) + .setItems( caption_list, new DialogInterface.OnClickListener() { + @Override + public void onClick( DialogInterface dialog, int which ){ + if( which >= 0 && which < tmp_account_list.size() ){ + setAccount( tmp_account_list.get( which ) ); + } + } + } ) + .setNegativeButton( R.string.cancel, null ) + .show(); } + ////////////////////////////////////////////////////////// + // Attachment + static final int ATTACHMENT_UPLOADING = 1; static final int ATTACHMENT_UPLOADED = 2; static class PostAttachment { int status; - Bitmap bitmap; - String url; + TootAttachment attachment; } final ArrayList< PostAttachment > attachment_list = new ArrayList<>(); + private void showMediaAttachment(){ + if( attachment_list.isEmpty() ){ + llAttachment.setVisibility( View.GONE ); + cbNSFW.setVisibility( View.GONE ); + }else{ + llAttachment.setVisibility( View.VISIBLE ); + cbNSFW.setVisibility( View.VISIBLE ); + showAttachment_sub( ivMedia1, 0 ); + showAttachment_sub( ivMedia2, 1 ); + showAttachment_sub( ivMedia3, 2 ); + showAttachment_sub( ivMedia4, 3 ); + } + } + + private void showAttachment_sub( NetworkImageView iv, int idx ){ + if( idx >= attachment_list.size() ){ + iv.setVisibility( View.GONE ); + }else{ + iv.setVisibility( View.VISIBLE ); + PostAttachment a = attachment_list.get( idx ); + if( a.status == ATTACHMENT_UPLOADING ){ + iv.setImageDrawable( ContextCompat.getDrawable(this,R.drawable.ic_loading )); + }else if( a.attachment != null ){ + iv.setImageUrl( a.attachment.preview_url, App1.getImageLoader() ); + }else{ + iv.setImageDrawable( ContextCompat.getDrawable(this,R.drawable.ic_unknown )); + } + } + } + + // 添付した画像をタップ + void performAttachmentDelete( int idx ){ + final PostAttachment pa = attachment_list.get( idx ); + new AlertDialog.Builder( this ) + .setTitle( R.string.confirm_delete_attachment ) + .setPositiveButton( R.string.ok, new DialogInterface.OnClickListener() { + @Override + public void onClick( DialogInterface dialog, int which ){ + try{ + attachment_list.remove( pa ); + }catch( Throwable ignored ){ + } + showMediaAttachment(); + } + } ) + .setNegativeButton( R.string.cancel, null ) + .show(); + + } + + private void performAttachment(){ + if( attachment_list.size() >= 4 ){ + Utils.showToast( this, false, R.string.attachment_too_many ); + return; + } + if( account == null ){ + Utils.showToast( this, false, R.string.account_select_please ); + return; + } + + // SAFのIntentで開く + try{ + Intent intent = new Intent( Intent.ACTION_OPEN_DOCUMENT ); + intent.addCategory( Intent.CATEGORY_OPENABLE ); + intent.setType( "*/*" ); + intent.putExtra( Intent.EXTRA_MIME_TYPES, new String[]{ "image/*", "video/*" } ); + startActivityForResult( intent, REQUEST_CODE_ATTACHMENT ); + }catch( Throwable ex ){ + ex.printStackTrace(); + Utils.showToast( this, ex, "ACTION_OPEN_DOCUMENT failed." ); + } + } + + static final byte[] hex = Utils.encodeUTF8( "0123456789abcdef" ); + + void addAttachment( final Uri uri, final String mime_type ){ + if( attachment_list.size() >= 4 ){ + Utils.showToast( this, false, R.string.attachment_too_many ); + return; + } + if( account == null ){ + Utils.showToast( this, false, R.string.account_select_please ); + return; + } + + final PostAttachment pa = new PostAttachment(); + pa.status = ATTACHMENT_UPLOADING; + attachment_list.add( pa ); + showMediaAttachment(); + + new AsyncTask< Void, Void, TootApiResult >() { + final SavedAccount target_account = account; + + @Override + protected TootApiResult doInBackground( Void... params ){ + TootApiClient client = new TootApiClient( ActPost.this, new TootApiClient.Callback() { + @Override + public boolean isApiCancelled(){ + return isCancelled(); + } + + @Override + public void publishApiProgress( String s ){ + } + } ); + client.setAccount( target_account ); + + if( TextUtils.isEmpty( mime_type ) ){ + return new TootApiResult( "mime_type is null." ); + } + + try{ + final long content_length = getStreamSize( true, getContentResolver().openInputStream( uri ) ); + if( content_length > 8000000 ){ + return new TootApiResult( getString( R.string.file_size_too_big ) ); + } + RequestBody multipart_body = new MultipartBody.Builder() + .setType( MultipartBody.FORM ) + .addFormDataPart( + "file" + , getDocumentName( uri ) + , new RequestBody() { + @Override + public MediaType contentType(){ + return MediaType.parse( mime_type ); + } + + @Override + public long contentLength() throws IOException{ + return content_length; + } + + @Override + public void writeTo( BufferedSink sink ) throws IOException{ + InputStream is = getContentResolver().openInputStream( uri ); + try{ + byte[] tmp = new byte[ 4096 ]; + for( ; ; ){ + int r = is.read( tmp, 0, tmp.length ); + if( r <= 0 ) break; + sink.write( tmp, 0, r ); + } + }finally{ + IOUtils.closeQuietly( is ); + } + + } + } + ) + .build(); + + Request.Builder request_builder = new Request.Builder() + .post( multipart_body ); + + TootApiResult result = client.request( "/api/v1/media", request_builder ); + if( result.object != null ){ + pa.attachment = TootAttachment.parse( log, result.object ); + if( pa.attachment == null ){ + result.error = "TootAttachment.parse failed"; + } + } + return result; + + }catch( Throwable ex ){ + return new TootApiResult( Utils.formatError( ex, "read failed." ) ); + } + + } + + @Override + protected void onCancelled(){ + onPostExecute( null ); + } + + @Override + protected void onPostExecute( TootApiResult result ){ + pa.status = ATTACHMENT_UPLOADED; + + if( pa.attachment == null ){ + if( result != null ){ + Utils.showToast( ActPost.this, true, result.error ); + } + attachment_list.remove( pa ); + }else{ + String sv = etContent.getText().toString(); + sv = sv + pa.attachment.text_url+" "; + etContent.setText(sv); + } + + showMediaAttachment(); + } + + }.execute(); + } + + public String getDocumentName( Uri uri ){ + + Cursor cursor = getContentResolver().query( uri, null, null, null, null, null ); + try{ + if( cursor != null && cursor.moveToFirst() ){ + return cursor.getString( cursor.getColumnIndex( OpenableColumns.DISPLAY_NAME ) ); + } + }finally{ + cursor.close(); + } + return null; + } + + long getStreamSize( boolean bClose, InputStream is ) throws IOException{ + try{ + long size = 0L; + for( ; ; ){ + long r = IOUtils.skip( is, 16384 ); + if( r <= 0 ) break; + size += r; + } + return size; + }finally{ + if( bClose ) IOUtils.closeQuietly( is ); + } + } + + ////////////////////////////////////////////////////////////////////// + // visibility + + String visibility = TootStatus.VISIBILITY_PUBLIC; + + private void updateVisibility(){ + btnVisibility.setImageResource( Styler.getVisibilityIcon(visibility) ); + } + + private void performVisibility(){ + final String[] caption_list = new String[]{ + getString( R.string.visibility_public ), + getString( R.string.visibility_unlisted ), + getString( R.string.visibility_private ), + getString( R.string.visibility_direct ), + }; + +// public static final String VISIBILITY_PUBLIC ="public"; +// public static final String VISIBILITY_UNLISTED ="unlisted"; +// public static final String VISIBILITY_PRIVATE ="private"; +// public static final String VISIBILITY_DIRECT ="direct"; + + new AlertDialog.Builder( this ) + .setTitle( R.string.choose_visibility ) + .setItems( caption_list, new DialogInterface.OnClickListener() { + @Override + public void onClick( DialogInterface dialog, int which ){ + switch( which ){ + case 0: + visibility = TootStatus.VISIBILITY_PUBLIC; + break; + case 1: + visibility = TootStatus.VISIBILITY_UNLISTED; + break; + case 2: + visibility = TootStatus.VISIBILITY_PRIVATE; + break; + case 3: + visibility = TootStatus.VISIBILITY_DIRECT; + break; + } + updateVisibility(); + } + } ) + .setNegativeButton( R.string.cancel, null ) + .show(); + + } + + /////////////////////////////////////////////////////////////////////////////////////// + // post + + private void performPost(){ + final String content = etContent.getText().toString().trim(); + if(TextUtils.isEmpty( content ) ){ + Utils.showToast( this,true,R.string.post_error_contents_empty ); + return; + } + final String spoiler_text; + if( !cbContentWarning.isChecked() ){ + spoiler_text = null; + }else{ + spoiler_text = etContentWarning.getText().toString().trim(); + if( TextUtils.isEmpty( spoiler_text ) ){ + Utils.showToast( this, true, R.string.post_error_contents_warning_empty ); + return; + } + } + + + final StringBuilder sb = new StringBuilder( ); + + sb.append("status="); + sb.append(Uri.encode( content )); + + sb.append("&visibility="); + sb.append(Uri.encode( visibility )); + + if( cbNSFW.isChecked() ){ + sb.append("&sensitive=1"); + } + if( spoiler_text != null ){ + sb.append("&spoiler_text="); + sb.append(Uri.encode( spoiler_text )); + } + for(PostAttachment pa : attachment_list){ + if( pa.attachment != null ){ + sb.append("&media_ids[]="+pa.attachment.id); + } + } + // TODO: in_reply_to_id (optional): local ID of the status you want to reply to + + + final ProgressDialog progress = new ProgressDialog( this ); + + final AsyncTask< Void, Void, TootApiResult > task = new AsyncTask< Void, Void, TootApiResult >() { + final SavedAccount target_account = account; + + TootStatus status; + + @Override + protected TootApiResult doInBackground( Void... params ){ + TootApiClient client = new TootApiClient( ActPost.this, new TootApiClient.Callback() { + @Override + public boolean isApiCancelled(){ + return isCancelled(); + } + + @Override + public void publishApiProgress( final String s ){ + Utils.runOnMainThread( new Runnable() { + @Override + public void run(){ + progress.setMessage( s ); + } + } ); + } + } ); + + client.setAccount( target_account ); + + Request.Builder request_builder = new Request.Builder() + .post( RequestBody.create( + TootApiClient.MEDIA_TYPE_FORM_URL_ENCODED + ,sb.toString() + )); + + TootApiResult result = client.request( "/api/v1/statuses", request_builder ); + if( result.object != null ){ + status = TootStatus.parse( log,result.object ); + } + return result; + + } + + @Override + protected void onCancelled(){ + onPostExecute( null ); + } + + @Override + protected void onPostExecute( TootApiResult result ){ + progress.dismiss(); + + if( status != null ){ + ActMain.update_at_resume = true; + ActPost.this.finish(); + }else{ + if( result != null ){ + Utils.showToast( ActPost.this, true, result.error ); + } + } + } + }; + + progress.setIndeterminate( true ); + progress.setCancelable( true ); + progress.setOnCancelListener( new DialogInterface.OnCancelListener() { + @Override + public void onCancel( DialogInterface dialog ){ + task.cancel( true ); + } + } ); + progress.show(); + AsyncTaskCompat.executeParallel( task ); + } + + } diff --git a/app/src/main/java/jp/juggler/subwaytooter/App1.java b/app/src/main/java/jp/juggler/subwaytooter/App1.java index bcf6b429..66245bd7 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/App1.java +++ b/app/src/main/java/jp/juggler/subwaytooter/App1.java @@ -5,6 +5,7 @@ import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.graphics.Bitmap; +import android.graphics.Typeface; import android.support.v4.util.LruCache; import android.widget.ImageView; @@ -19,12 +20,30 @@ import jp.juggler.subwaytooter.table.ContentWarning; import jp.juggler.subwaytooter.table.LogData; import jp.juggler.subwaytooter.table.MediaShown; import jp.juggler.subwaytooter.table.SavedAccount; +import okhttp3.OkHttpClient; +import uk.co.chrisjenx.calligraphy.CalligraphyConfig; +import uk.co.chrisjenx.calligraphy.TypefaceUtils; public class App1 extends Application { @Override public void onCreate(){ super.onCreate(); + + CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() + .setDefaultFontPath("NotoSansCJKjp-Regular.otf") + .setFontAttrId(R.attr.fontPath) + .build() + ); + + if( typeface_emoji == null ){ + typeface_emoji = TypefaceUtils.load(getAssets(), "emojione_android.ttf"); + } + + if( typeface_normal == null ){ + typeface_normal = TypefaceUtils.load(getAssets(), "NotoSansCJKjp-Regular.otf"); + } + if( db_open_helper == null ){ db_open_helper = new DBOpenHelper( getApplicationContext() ); db_open_helper.onCreate( getDB() ); @@ -134,4 +153,8 @@ public class App1 extends Application { } + public static final OkHttpClient ok_http_client = new OkHttpClient(); + + public static Typeface typeface_emoji ; + public static Typeface typeface_normal ; } diff --git a/app/src/main/java/jp/juggler/subwaytooter/Column.java b/app/src/main/java/jp/juggler/subwaytooter/Column.java index fb691628..39e4d1e4 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/Column.java +++ b/app/src/main/java/jp/juggler/subwaytooter/Column.java @@ -101,6 +101,27 @@ public class Column { } } + public interface StatusEntryCallback{ + void onIterate(TootStatus status); + } + + public void findStatus( SavedAccount target_account,long target_status_id ,StatusEntryCallback callback){ + if( target_account.user.equals( access_info.user ) ){ + for( int i = 0, ie = status_list.size() ; i < ie ; ++ i ){ + TootStatus status = status_list.get( i ); + if( target_status_id == status.id ){ + callback.onIterate( status ); + } + TootStatus reblog = status.reblog; + if( reblog!= null ){ + if( target_status_id == reblog.id ){ + callback.onIterate( status ); + } + } + } + } + } + public interface VisualCallback { void onVisualColumn(); } @@ -126,7 +147,7 @@ public class Column { } } - private void fireVisualCallback(){ + public void fireVisualCallback(){ Iterator< VisualCallback > it = visual_callback.iterator(); while( it.hasNext() ){ it.next().onVisualColumn(); @@ -160,9 +181,6 @@ public class Column { cancelLastTask(); AsyncTask< Void, Void, TootApiResult > task = this.last_task = new AsyncTask< Void, Void, TootApiResult >() { - boolean __isCancelled(){ - return isCancelled(); - } TootStatus.List tmp_list_status; TootReport.List tmp_list_report; @@ -200,12 +218,12 @@ public class Column { protected TootApiResult doInBackground( Void... params ){ TootApiClient client = new TootApiClient( activity, new TootApiClient.Callback() { @Override - public boolean isCancelled(){ - return __isCancelled() || is_dispose.get(); + public boolean isApiCancelled(){ + return isCancelled() || is_dispose.get(); } @Override - public void publishProgress( final String s ){ + public void publishApiProgress( final String s ){ Utils.runOnMainThread( new Runnable() { @Override public void run(){ @@ -222,30 +240,30 @@ public class Column { switch( type ){ default: case TYPE_TL_HOME: - return parseStatuses( client.get( "/api/v1/timelines/home" ) ); + return parseStatuses( client.request( "/api/v1/timelines/home" ) ); case TYPE_TL_LOCAL: - return parseStatuses( client.get( "/api/v1/timelines/public?local=1" ) ); + return parseStatuses( client.request( "/api/v1/timelines/public?local=1" ) ); case TYPE_TL_FEDERATE: - return parseStatuses( client.get( "/api/v1/timelines/public" ) ); + return parseStatuses( client.request( "/api/v1/timelines/public" ) ); case TYPE_TL_STATUSES: if( who_account == null ){ - parseAccount( client.get( "/api/v1/accounts/" + who_id ) ); - client.callback.publishProgress( "" ); + parseAccount( client.request( "/api/v1/accounts/" + who_id ) ); + client.callback.publishApiProgress( "" ); } - return parseStatuses( client.get( "/api/v1/accounts/" + who_id + "/statuses" ) ); + return parseStatuses( client.request( "/api/v1/accounts/" + who_id + "/statuses" ) ); case TYPE_TL_FAVOURITES: - return parseStatuses( client.get( "/api/v1/favourites" ) ); + return parseStatuses( client.request( "/api/v1/favourites" ) ); case TYPE_TL_REPORTS: - return parseReports( client.get( "/api/v1/reports" ) ); + return parseReports( client.request( "/api/v1/reports" ) ); case TYPE_TL_NOTIFICATIONS: - return parseNotifications( client.get( "/api/v1/notifications" ) ); + return parseNotifications( client.request( "/api/v1/notifications" ) ); } } diff --git a/app/src/main/java/jp/juggler/subwaytooter/ColumnPagerAdapter.java b/app/src/main/java/jp/juggler/subwaytooter/ColumnPagerAdapter.java index 907be341..bdcc20a0 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/ColumnPagerAdapter.java +++ b/app/src/main/java/jp/juggler/subwaytooter/ColumnPagerAdapter.java @@ -27,10 +27,17 @@ public class ColumnPagerAdapter extends PagerAdapter{ final SparseArray holder_list = new SparseArray<>(); int addColumn( ViewPager pager, Column column ){ + return addColumn( pager,column,pager.getCurrentItem()+1 ); + } + + int addColumn( ViewPager pager, Column column,int index ){ int size = column_list.size(); - column_list.add( column ); + if( index > size ) index = size; + pager.setAdapter( null ); + column_list.add( index,column ); + pager.setAdapter( this ); notifyDataSetChanged(); - return size; + return index; } public void removeColumn( ViewPager pager,Column column ){ @@ -40,7 +47,7 @@ public class ColumnPagerAdapter extends PagerAdapter{ pager.setAdapter( null ); column_list.remove( idx_column ); pager.setAdapter( this ); - pager.setCurrentItem( idx_showing >= column_list.size() ? idx_showing -1 : idx_showing ); + } diff --git a/app/src/main/java/jp/juggler/subwaytooter/ColumnViewHolder.java b/app/src/main/java/jp/juggler/subwaytooter/ColumnViewHolder.java index 32425fa2..bdb12d7d 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/ColumnViewHolder.java +++ b/app/src/main/java/jp/juggler/subwaytooter/ColumnViewHolder.java @@ -27,6 +27,7 @@ import jp.juggler.subwaytooter.api.entity.TootStatus; import jp.juggler.subwaytooter.table.ContentWarning; import jp.juggler.subwaytooter.table.MediaShown; import jp.juggler.subwaytooter.table.SavedAccount; +import jp.juggler.subwaytooter.util.HTMLDecoder; import jp.juggler.subwaytooter.util.LogCategory; import jp.juggler.subwaytooter.util.Utils; @@ -90,7 +91,7 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall public void onClick( View v ){ switch( v.getId() ){ case R.id.btnColumnClose: - activity.performColumnClose( column ); + activity.performColumnClose( false, column ); break; case R.id.btnColumnReload: column.reload(); @@ -99,10 +100,10 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall } - void showError(String message){ + void showError( String message ){ tvLoading.setVisibility( View.VISIBLE ); listView.setVisibility( View.GONE ); - tvLoading.setText( message); + tvLoading.setText( message ); } @Override @@ -112,18 +113,18 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall tvColumnName.setText( column.getColumnName() ); if( column.is_dispose.get() ){ - showError("column was disposed."); + showError( "column was disposed." ); return; } if( vh_header != null ){ vh_header.bind( activity, column.access_info, column.who_account ); } - + if( column.is_loading ){ String message = column.task_progress; if( message == null ) message = "loading?"; - showError( message); + showError( message ); return; } @@ -135,7 +136,7 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall case Column.TYPE_TL_FAVOURITES: case Column.TYPE_TL_STATUSES: if( column.status_list.isEmpty() && vh_header == null ){ - showError(activity.getString(R.string.list_empty)); + showError( activity.getString( R.string.list_empty ) ); }else{ tvLoading.setVisibility( View.GONE ); listView.setVisibility( View.VISIBLE ); @@ -144,7 +145,7 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall break; case Column.TYPE_TL_REPORTS: if( column.report_list.isEmpty() ){ - showError(activity.getString(R.string.list_empty)); + showError( activity.getString( R.string.list_empty ) ); }else{ tvLoading.setVisibility( View.GONE ); listView.setVisibility( View.VISIBLE ); @@ -153,7 +154,7 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall break; case Column.TYPE_TL_NOTIFICATIONS: if( column.notification_list.isEmpty() ){ - showError(activity.getString(R.string.list_empty)); + showError( activity.getString( R.string.list_empty ) ); }else{ tvLoading.setVisibility( View.GONE ); listView.setVisibility( View.VISIBLE ); @@ -231,6 +232,7 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall final NetworkImageView ivFollow; final TextView tvFollowerName; final TextView tvFollowerAcct; + final ImageButton btnFollow; final View llStatus; final NetworkImageView ivThumbnail; @@ -240,6 +242,10 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall final View llContentWarning; final TextView tvContentWarning; final Button btnContentWarning; + + final View llContents; + final TextView tvTags; + final TextView tvMentions; final TextView tvContent; final View flMedia; @@ -256,8 +262,12 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall final Button btnFavourite; final ImageButton btnMore; + TootStatus status; SavedAccount account; + TootAccount account_thumbnail; + TootAccount account_boost; + TootAccount account_follow; public StatusViewHolder( View view ){ this.llBoosted = view.findViewById( R.id.llBoosted ); @@ -269,6 +279,7 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall this.ivFollow = (NetworkImageView) view.findViewById( R.id.ivFollow ); this.tvFollowerName = (TextView) view.findViewById( R.id.tvFollowerName ); this.tvFollowerAcct = (TextView) view.findViewById( R.id.tvFollowerAcct ); + this.btnFollow = (ImageButton)view.findViewById( R.id.btnFollow ); this.llStatus = view.findViewById( R.id.llStatus ); @@ -279,7 +290,12 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall this.llContentWarning = view.findViewById( R.id.llContentWarning ); this.tvContentWarning = (TextView) view.findViewById( R.id.tvContentWarning ); this.btnContentWarning = (Button) view.findViewById( R.id.btnContentWarning ); + + this.llContents = view.findViewById( R.id.llContents ); this.tvContent = (TextView) view.findViewById( R.id.tvContent ); + this.tvTags = (TextView) view.findViewById( R.id.tvTags ); + this.tvMentions = (TextView) view.findViewById( R.id.tvMentions ); + this.btnReply = (ImageButton) view.findViewById( R.id.btnReply ); this.btnBoost = (Button) view.findViewById( R.id.btnBoost ); this.btnFavourite = (Button) view.findViewById( R.id.btnFavourite ); @@ -301,11 +317,24 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall ivMedia3.setOnClickListener( this ); ivMedia4.setOnClickListener( this ); + btnReply.setOnClickListener( this ); + btnBoost.setOnClickListener( this ); + btnFavourite.setOnClickListener( this ); + btnMore.setOnClickListener( this ); + + ivThumbnail.setOnClickListener( this ); + tvName.setOnClickListener( this ); + llBoosted.setOnClickListener( this ); + llFollow.setOnClickListener( this ); + btnFollow.setOnClickListener( this ); + tvContent.setMovementMethod( LinkMovementMethod.getInstance() ); + tvTags.setMovementMethod( LinkMovementMethod.getInstance() ); + tvMentions.setMovementMethod( LinkMovementMethod.getInstance() ); } - public void bind( ActMain activity, View view, Object item, SavedAccount account ){ - this.account = account; + public void bind( ActMain activity, View view, Object item, SavedAccount access_info ){ + this.account = access_info; llBoosted.setVisibility( View.GONE ); llFollow.setVisibility( View.GONE ); @@ -316,36 +345,50 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall if( item instanceof TootNotification ){ TootNotification n = (TootNotification) item; if( TootNotification.TYPE_FAVOURITE.equals( n.type ) ){ + account_boost = n.account; + llBoosted.setVisibility( View.VISIBLE ); ivBoosted.setImageResource( R.drawable.btn_favourite ); tvBoostedTime.setText( TootStatus.formatTime( n.time_created_at ) - + "\n" + account.getFullAcct( n.account ) + + "\n" + access_info.getFullAcct(account_boost ) ); - tvBoosted.setText( activity.getString( R.string.favourited_by, n.account.display_name ) ); - - if( n.status != null ) bindSub( activity, view, n.status, account ); + tvBoosted.setText( Utils.formatSpannable1( activity,R.string.display_name_favourited_by, account_boost.display_name)); + + if( n.status != null ) bindSub( activity, view, n.status, access_info ); }else if( TootNotification.TYPE_REBLOG.equals( n.type ) ){ + account_boost = n.account; llBoosted.setVisibility( View.VISIBLE ); ivBoosted.setImageResource( R.drawable.btn_boost ); tvBoostedTime.setText( TootStatus.formatTime( n.time_created_at ) - + "\n" + account.getFullAcct( n.account ) + + "\n" + access_info.getFullAcct(account_boost ) ); - tvBoosted.setText( activity.getString( R.string.boosted_by, n.account.display_name ) ); - if( n.status != null ) bindSub( activity, view, n.status, account ); + tvBoosted.setText( Utils.formatSpannable1( activity, R.string.display_name_boosted_by, account_boost.display_name ) ); + account_boost = n.account; + if( n.status != null ) bindSub( activity, view, n.status, access_info ); }else if( TootNotification.TYPE_FOLLOW.equals( n.type ) ){ + account_boost = n.account; llBoosted.setVisibility( View.VISIBLE ); ivBoosted.setImageResource( R.drawable.btn_boost ); tvBoostedTime.setText( TootStatus.formatTime( n.time_created_at ) - + "\n" + account.getFullAcct( n.account ) + + "\n" + access_info.getFullAcct( account_boost ) ); - tvBoosted.setText( activity.getString( R.string.boosted_by, n.account.display_name ) ); + tvBoosted.setText( Utils.formatSpannable1( activity, R.string.display_name_followed_by, account_boost.display_name ) ); // + account_follow = n.account; llFollow.setVisibility( View.VISIBLE ); - ivFollow.setImageUrl( n.account.avatar_static, App1.getImageLoader() ); - tvFollowerName.setText( n.account.display_name ); - tvFollowerAcct.setText( account.getFullAcct( n.account ) ); + ivFollow.setImageUrl( account_follow.avatar_static, App1.getImageLoader() ); + tvFollowerName.setText(account_follow.display_name ); + tvFollowerAcct.setText( access_info.getFullAcct( account_follow ) ); }else if( TootNotification.TYPE_MENTION.equals( n.type ) ){ - if( n.status != null ) bindSub( activity, view, n.status, account ); + account_boost = n.account; + llBoosted.setVisibility( View.VISIBLE ); + ivBoosted.setImageResource( R.drawable.btn_reply ); + tvBoostedTime.setText( TootStatus.formatTime( n.time_created_at ) + + "\n" + access_info.getFullAcct(account_boost ) + ); + tvBoosted.setText( Utils.formatSpannable1( activity, R.string.display_name_replied_by, account_boost.display_name ) ); + + if( n.status != null ) bindSub( activity, view, n.status, access_info ); } return; } @@ -353,22 +396,23 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall if( item instanceof TootStatus ){ TootStatus status = (TootStatus) item; if( status.reblog != null ){ + account_boost = status.account; llBoosted.setVisibility( View.VISIBLE ); ivBoosted.setImageResource( R.drawable.btn_boost ); tvBoostedTime.setText( TootStatus.formatTime( status.time_created_at ) - + "\n" + account.getFullAcct( status.account ) + + "\n" + access_info.getFullAcct( account_boost ) ); - tvBoosted.setText( activity.getString( R.string.boosted_by, status.account.display_name ) ); - bindSub( activity, view, status.reblog, account ); + tvBoosted.setText( Utils.formatSpannable1( activity, R.string.display_name_boosted_by, status.account.display_name ) ); + bindSub( activity, view, status.reblog, access_info ); }else{ - bindSub( activity, view, status, account ); + bindSub( activity, view, status, access_info ); } } } private void bindSub( ActMain activity, View view, TootStatus status, SavedAccount account ){ this.status = status; - + account_thumbnail = status.account; llStatus.setVisibility( View.VISIBLE ); tvTime.setText( TootStatus.formatTime( status.time_created_at ) + "\n" + account.getFullAcct( status.account ) @@ -377,14 +421,29 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall ivThumbnail.setImageUrl( status.account.avatar_static, App1.getImageLoader() ); tvContent.setText( status.decoded_content ); + if( status.decoded_tags == null ){ + tvTags.setVisibility( View.GONE ); + }else{ + tvTags.setVisibility( View.VISIBLE ); + tvTags.setText( status.decoded_tags); + } + + if( status.decoded_mentions == null ){ + tvMentions.setVisibility( View.GONE ); + }else{ + tvMentions.setVisibility( View.VISIBLE ); + tvMentions.setText( status.decoded_mentions); + } + // Content warning if( TextUtils.isEmpty( status.spoiler_text ) ){ llContentWarning.setVisibility( View.GONE ); - tvContent.setVisibility( View.VISIBLE ); + llContents.setVisibility( View.VISIBLE ); }else{ llContentWarning.setVisibility( View.VISIBLE ); tvContentWarning.setText( status.spoiler_text ); - showContent( ContentWarning.isShown( account.host, status.id, false )); + boolean cw_shown = ContentWarning.isShown( account.host, status.id, false ); + showContent( cw_shown ); } if( status.media_attachments == null || status.media_attachments.isEmpty() ){ @@ -397,32 +456,52 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall setMedia( ivMedia4, status, 3 ); // hide sensitive media - boolean is_shown = MediaShown.isShown( account.host,status.id, ! status.sensitive ); + boolean is_shown = MediaShown.isShown( account.host, status.id, account.dont_hide_nsfw || ! status.sensitive ); btnShowMedia.setVisibility( ! is_shown ? View.VISIBLE : View.GONE ); } Drawable d; int color; - color = ( status.reblogged ? 0xff0088ff : 0xff000000 ); - d = ContextCompat.getDrawable( activity, R.drawable.btn_boost ).mutate(); - d.setColorFilter( color, PorterDuff.Mode.SRC_ATOP ); - btnBoost.setCompoundDrawablesRelativeWithIntrinsicBounds( d, null, null, null ); - btnBoost.setText( Long.toString( status.reblogs_count ) ); - btnBoost.setTextColor( color ); + if( activity.isBusyBoost( account,status )){ + color = 0xff000000; + d = ContextCompat.getDrawable( activity, R.drawable.btn_boost ).mutate(); + d.setColorFilter( color, PorterDuff.Mode.SRC_ATOP ); + btnBoost.setCompoundDrawablesRelativeWithIntrinsicBounds( d, null, null, null ); + btnBoost.setText( "?" ); + btnBoost.setTextColor( color ); - color = ( status.favourited ? 0xff0088ff : 0xff000000 ); - d = ContextCompat.getDrawable( activity, R.drawable.btn_favourite ).mutate(); - d.setColorFilter( color, PorterDuff.Mode.SRC_ATOP ); - btnFavourite.setCompoundDrawablesRelativeWithIntrinsicBounds( d, null, null, null ); - btnFavourite.setText( Long.toString( status.favourites_count ) ); - btnFavourite.setTextColor( color ); + }else{ + color = ( status.reblogged ? 0xff0088ff : 0xff000000 ); + d = ContextCompat.getDrawable( activity, R.drawable.btn_boost ).mutate(); + d.setColorFilter( color, PorterDuff.Mode.SRC_ATOP ); + btnBoost.setCompoundDrawablesRelativeWithIntrinsicBounds( d, null, null, null ); + btnBoost.setText( Long.toString( status.reblogs_count ) ); + btnBoost.setTextColor( color ); + + } + + if( activity.isBusyFav( account,status )){ + color = 0xff000000; + d = ContextCompat.getDrawable( activity, R.drawable.btn_refresh ).mutate(); + d.setColorFilter( color, PorterDuff.Mode.SRC_ATOP ); + btnFavourite.setCompoundDrawablesRelativeWithIntrinsicBounds( d, null, null, null ); + btnFavourite.setText( "?" ); + btnFavourite.setTextColor( color ); + }else{ + color = ( status.favourited ? 0xff0088ff : 0xff000000 ); + d = ContextCompat.getDrawable( activity, R.drawable.btn_favourite ).mutate(); + d.setColorFilter( color, PorterDuff.Mode.SRC_ATOP ); + btnFavourite.setCompoundDrawablesRelativeWithIntrinsicBounds( d, null, null, null ); + btnFavourite.setText( Long.toString( status.favourites_count ) ); + btnFavourite.setTextColor( color ); + } } private void showContent( boolean shown ){ btnContentWarning.setText( shown ? R.string.hide : R.string.show ); - tvContent.setVisibility( shown ? View.VISIBLE : View.GONE ); + llContents.setVisibility( shown ? View.VISIBLE : View.GONE ); } private void setMedia( NetworkImageView iv, TootStatus status, int idx ){ @@ -441,11 +520,11 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall public void onClick( View v ){ switch( v.getId() ){ case R.id.btnHideMedia: - MediaShown.save( account.host,status.id, false ); + MediaShown.save( account.host, status.id, false ); btnShowMedia.setVisibility( View.VISIBLE ); break; case R.id.btnShowMedia: - MediaShown.save( account.host,status.id, true ); + MediaShown.save( account.host, status.id, true ); btnShowMedia.setVisibility( View.GONE ); break; case R.id.ivMedia1: @@ -460,25 +539,55 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall case R.id.ivMedia4: clickMedia( 3 ); break; - case R.id.btnContentWarning: - { - boolean new_shown = (tvContent.getVisibility()==View.GONE); - ContentWarning.save( account.host,status.id , new_shown); - showContent( new_shown ); - break; - } + case R.id.btnContentWarning:{ + boolean new_shown = ( llContents.getVisibility() == View.GONE ); + ContentWarning.save( account.host, status.id, new_shown ); + showContent( new_shown ); + break; + } + + case R.id.btnReply: + activity.performReply( account,status); + break; + case R.id.btnBoost: + activity.performBoost( account,status.reblog != null ? status.reblog : status ,false); + break; + case R.id.btnFavourite: + activity.performFavourite( account,status.reblog != null ? status.reblog : status); + break; + case R.id.btnMore: + activity.performMore( account,status); + break; + case R.id.ivThumbnail: + case R.id.tvName: + activity.performOpenUser(account,account_thumbnail); + break; + case R.id.llBoosted: + activity.performOpenUser(account,account_boost); + break; + case R.id.llFollow: + activity.performOpenUser(account,account_follow); + break; } } private void clickMedia( int i ){ try{ - activity.openChromeTab( status.media_attachments.get( i ).remote_url ); + TootAttachment a = status.media_attachments.get( i ); + + String sv = a.remote_url; + if( TextUtils.isEmpty( sv ) ){ + sv = a.url; + } + activity.openChromeTab( sv ); }catch( Throwable ex ){ ex.printStackTrace(); } } } + + class HeaderViewHolder implements View.OnClickListener { final View viewRoot; final NetworkImageView ivBackground; @@ -509,6 +618,7 @@ public class ColumnViewHolder implements View.OnClickListener, Column.VisualCall btnFollowers.setOnClickListener( this ); btnStatusCount.setOnClickListener( this ); + tvNote.setMovementMethod( LinkMovementMethod.getInstance() ); } public void bind( ActMain activity, SavedAccount access_info, TootAccount who ){ diff --git a/app/src/main/java/jp/juggler/subwaytooter/Styler.java b/app/src/main/java/jp/juggler/subwaytooter/Styler.java new file mode 100644 index 00000000..ef65dcb7 --- /dev/null +++ b/app/src/main/java/jp/juggler/subwaytooter/Styler.java @@ -0,0 +1,31 @@ +package jp.juggler.subwaytooter; + +import android.content.Context; + +import jp.juggler.subwaytooter.api.entity.TootStatus; + +/** + * Created by tateisu on 2017/04/22. + */ + +public class Styler { + public static int getVisibilityIcon( String visibility ){ + return + TootStatus.VISIBILITY_PUBLIC.equals( visibility ) ? R.drawable.ic_public + : TootStatus.VISIBILITY_UNLISTED.equals( visibility ) ? R.drawable.ic_lock_open + : TootStatus.VISIBILITY_PRIVATE.equals( visibility ) ? R.drawable.ic_lock + : TootStatus.VISIBILITY_DIRECT.equals( visibility ) ? R.drawable.ic_mail + : R.drawable.ic_public; + + } + + + public static String getVisibilityString( Context context ,String visibility){ + return + TootStatus.VISIBILITY_PUBLIC.equals( visibility ) ? context.getString( R.string.visibility_public ) + : TootStatus.VISIBILITY_UNLISTED.equals( visibility ) ? context.getString( R.string.visibility_unlisted ) + : TootStatus.VISIBILITY_PRIVATE.equals( visibility ) ? context.getString( R.string.visibility_private ) + : TootStatus.VISIBILITY_DIRECT.equals( visibility ) ? context.getString( R.string.visibility_direct ) + : "?"; + } +} diff --git a/app/src/main/java/jp/juggler/subwaytooter/api/TootApiClient.java b/app/src/main/java/jp/juggler/subwaytooter/api/TootApiClient.java index 5b62d638..fa66c1d5 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/api/TootApiClient.java +++ b/app/src/main/java/jp/juggler/subwaytooter/api/TootApiClient.java @@ -9,23 +9,32 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; +import java.io.IOException; import java.util.UUID; +import jp.juggler.subwaytooter.App1; import jp.juggler.subwaytooter.table.SavedAccount; import jp.juggler.subwaytooter.util.CancelChecker; -import jp.juggler.subwaytooter.util.HTTPClient; import jp.juggler.subwaytooter.util.LogCategory; import jp.juggler.subwaytooter.R; import jp.juggler.subwaytooter.util.Utils; import jp.juggler.subwaytooter.table.ClientInfo; +import okhttp3.Call; +import okhttp3.MediaType; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; public class TootApiClient { private static final LogCategory log = new LogCategory( "TootApiClient" ); + static final OkHttpClient ok_http_client = App1.ok_http_client; + public interface Callback { - boolean isCancelled(); + boolean isApiCancelled(); - void publishProgress( String s ); + void publishApiProgress( String s ); } private final Context context; @@ -53,52 +62,65 @@ public class TootApiClient { this.account = account; } - public TootApiResult get( String path ){ - - final HTTPClient client = new HTTPClient( 60000, 10, "account", new CancelChecker() { - @Override - public boolean isCancelled(){ - return callback.isCancelled(); - } - } ); + public static final MediaType MEDIA_TYPE_FORM_URL_ENCODED = MediaType.parse( "application/x-www-form-urlencoded" ); + + public TootApiResult request( String path ){ + return request(path,new Request.Builder() ); + } + + public TootApiResult request( String path, Request.Builder request_builder ){ JSONObject client_info = null; JSONObject token_info = ( account == null ? null : account.token_info ); for( ; ; ){ - if( callback.isCancelled() ) return null; + if( callback.isApiCancelled() ) return null; if( token_info == null ){ if( client_info == null ){ // DBにあるならそれを使う client_info = ClientInfo.load( instance ); if( client_info != null ) continue; - callback.publishProgress( context.getString( R.string.register_app_to_server, instance ) ); + callback.publishApiProgress( context.getString( R.string.register_app_to_server, instance ) ); // OAuth2 クライアント登録 String client_name = "jp.juggler.subwaytooter." + UUID.randomUUID().toString(); - client.post_content = Utils.encodeUTF8( - "client_name=" + Uri.encode( client_name ) - + "&redirect_uris=urn:ietf:wg:oauth:2.0:oob" - + "&scopes=read write follow" - ); - byte[] data = client.getHTTP( log, "https://" + instance + "/api/v1/apps" ); - if( callback.isCancelled() ) return null; - if( data == null ){ - return new TootApiResult( context.getString( R.string.network_error, client.last_error ) ); + Request request = new Request.Builder() + .url( "https://" + instance + "/api/v1/apps" ) + .post( RequestBody.create( MEDIA_TYPE_FORM_URL_ENCODED + , "client_name=" + Uri.encode( client_name ) + + "&redirect_uris=urn:ietf:wg:oauth:2.0:oob" + + "&scopes=read write follow" + ) ) + .build(); + Call call = ok_http_client.newCall( request ); + + Response response; + try{ + response = call.execute(); + }catch( Throwable ex ){ + return new TootApiResult( Utils.formatError( ex, context.getResources(), R.string.network_error ) ); + } + if( callback.isApiCancelled() ) return null; + + if( ! response.isSuccessful() ){ + return new TootApiResult( context.getString( R.string.network_error_arg, response ) ); } try{ - String result = Utils.decodeUTF8( data ); + String json = response.body().string(); + if( TextUtils.isEmpty( json ) || json.startsWith( "<" ) ){ + return new TootApiResult( context.getString( R.string.response_not_json ) + "\n" + json ); + } // {"id":999,"redirect_uri":"urn:ietf:wg:oauth:2.0:oob","client_id":"******","client_secret":"******"} - client_info = new JSONObject( result ); + client_info = new JSONObject( json ); String error = Utils.optStringX( client_info, "error" ); if( ! TextUtils.isEmpty( error ) ){ return new TootApiResult( context.getString( R.string.api_error, error ) ); } - ClientInfo.save( instance, result ); + ClientInfo.save( instance, json ); continue; - }catch( JSONException ex ){ + }catch( Throwable ex ){ ex.printStackTrace(); return new TootApiResult( Utils.formatError( ex, "API data error" ) ); } @@ -109,30 +131,46 @@ public class TootApiClient { return new TootApiResult( context.getString( R.string.login_required ) ); } - callback.publishProgress( context.getString( R.string.request_access_token ) ); + callback.publishApiProgress( context.getString( R.string.request_access_token ) ); // アクセストークンの取得 -// - client.post_content = Utils.encodeUTF8( - "client_id=" + Uri.encode( Utils.optStringX( client_info, "client_id" ) ) - + "&client_secret=" + Uri.encode( Utils.optStringX( client_info, "client_secret" ) ) - + "&grant_type=password" - + "&username=" + Uri.encode( user_mail ) - + "&password=" + Uri.encode( password ) - ); - byte[] data = client.getHTTP( log, "https://" + instance + "/oauth/token" ); - if( callback.isCancelled() ) return null; + + Request request = new Request.Builder() + .url( "https://" + instance + "/oauth/token" ) + .post( RequestBody.create( + MEDIA_TYPE_FORM_URL_ENCODED + ,"client_id=" + Uri.encode( Utils.optStringX( client_info, "client_id" ) ) + + "&client_secret=" + Uri.encode( Utils.optStringX( client_info, "client_secret" ) ) + + "&grant_type=password" + + "&username=" + Uri.encode( user_mail ) + + "&password=" + Uri.encode( password ) + + "&scope=read write follow" + + "&scopes=read write follow" + )) + .build(); + Call call = ok_http_client.newCall( request ); + + Response response; + try{ + response = call.execute(); + }catch( Throwable ex ){ + return new TootApiResult( Utils.formatError( ex, context.getResources(), R.string.network_error ) ); + } + if( callback.isApiCancelled() ) return null; // TODO: アプリIDが無効な場合はどんなエラーが出る? - if( data == null ){ - return new TootApiResult( context.getString( R.string.network_error, client.last_error ) ); + if( ! response.isSuccessful() ){ + return new TootApiResult( context.getString( R.string.network_error_arg, response ) ); } - try{ - String result = Utils.decodeUTF8( data ); + String json = response.body().string(); + // {"access_token":"******","token_type":"bearer","scope":"read","created_at":1492334641} - token_info = new JSONObject( result ); + if( TextUtils.isEmpty( json ) || json.charAt( 0 ) == '<' ){ + return new TootApiResult( context.getString( R.string.login_failed ) ); + } + token_info = new JSONObject( json ); String error = Utils.optStringX( client_info, "error" ); if( ! TextUtils.isEmpty( error ) ){ return new TootApiResult( context.getString( R.string.api_error, error ) ); @@ -141,51 +179,60 @@ public class TootApiClient { account.updateTokenInfo( token_info ); } continue; - }catch( JSONException ex ){ + }catch( Throwable ex ){ ex.printStackTrace(); return new TootApiResult( Utils.formatError( ex, "API data error" ) ); } } - - // アクセストークンを使ってAPIを呼び出す - { - callback.publishProgress( context.getString( R.string.request_api, path ) ); - client.post_content = null; - client.extra_header = new String[]{ - "Authorization", "Bearer " + Utils.optStringX( token_info, "access_token" ) - }; - byte[] data = client.getHTTP( log, "https://" + instance + path ); - if( callback.isCancelled() ) return null; - - // TODO: アクセストークンが無効な場合はどうなる? - // TODO: アプリIDが無効な場合はどうなる? - - if( data == null ){ - return new TootApiResult( context.getString( R.string.network_error, client.last_error ) ); - } - - try{ - String result = Utils.decodeUTF8( data ); - if( result.startsWith( "[" ) ){ - JSONArray array = new JSONArray( result ); - return new TootApiResult( token_info, result, array ); - }else{ - JSONObject json = new JSONObject( result ); - - String error = Utils.optStringX( json, "error" ); - if( ! TextUtils.isEmpty( error ) ){ - return new TootApiResult( context.getString( R.string.api_error, error ) ); - } - return new TootApiResult( token_info, result, json ); + // アクセストークンを使ってAPIを呼び出す + { + callback.publishApiProgress( context.getString( R.string.request_api, path ) ); + + Request request = request_builder + .url("https://" + instance + path) + .header( "Authorization", "Bearer " + Utils.optStringX( token_info, "access_token" ) ) + .build(); + + Call call = ok_http_client.newCall( request ); + Response response; + try{ + response = call.execute(); + }catch( Throwable ex ){ + return new TootApiResult( Utils.formatError( ex, context.getResources(), R.string.network_error ) ); + } + + if( callback.isApiCancelled() ) return null; + + // TODO: アクセストークンが無効な場合はどうなる? + // TODO: アプリIDが無効な場合はどうなる? + + if( ! response.isSuccessful() ){ + return new TootApiResult( context.getString( R.string.network_error_arg, response ) ); + } + + try{ + String json = response.body().string(); + + if( TextUtils.isEmpty( json ) || json.startsWith( "<" ) ){ + return new TootApiResult( context.getString( R.string.response_not_json ) + "\n" + json ); + }else if( json.startsWith( "[" ) ){ + JSONArray array = new JSONArray( json ); + return new TootApiResult( token_info, json, array ); + }else{ + JSONObject object = new JSONObject( json ); + + String error = Utils.optStringX( object, "error" ); + if( ! TextUtils.isEmpty( error ) ){ + return new TootApiResult( context.getString( R.string.api_error, error ) ); + } + return new TootApiResult( token_info, json, object ); + } + }catch( Throwable ex ){ + ex.printStackTrace(); + return new TootApiResult( Utils.formatError( ex, "API data error" ) ); } - }catch( JSONException ex ){ - ex.printStackTrace(); - return new TootApiResult( Utils.formatError( ex, "API data error" ) ); } } } } -} - - diff --git a/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootAccount.java b/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootAccount.java index a2fb57ab..c25aca3d 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootAccount.java +++ b/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootAccount.java @@ -1,10 +1,16 @@ package jp.juggler.subwaytooter.api.entity; +import android.text.Spannable; +import android.text.TextUtils; + +import jp.juggler.subwaytooter.util.Emojione; + import org.json.JSONArray; import org.json.JSONObject; import java.util.ArrayList; +import jp.juggler.subwaytooter.util.HTMLDecoder; import jp.juggler.subwaytooter.util.LogCategory; import jp.juggler.subwaytooter.util.Utils; @@ -24,7 +30,7 @@ public class TootAccount { public String acct; // The account's display name - public String display_name; + public CharSequence display_name; //Boolean for when the account cannot be followed without waiting for approval first public boolean locked; @@ -44,7 +50,7 @@ public class TootAccount { // Biography of user // 説明文。改行は\r\n。リンクなどはHTMLタグで書かれている - public String note; + public Spannable note; //URL of the user's profile page (can be remote) // https://mastodon.juggler.jp/@tateisu @@ -70,21 +76,30 @@ public class TootAccount { dst.id = src.optLong( "id" ); dst.username = Utils.optStringX( src, "username" ); dst.acct = Utils.optStringX( src, "acct" ); - dst.display_name = Utils.optStringX( src, "display_name" ); + + String sv = Utils.optStringX( src, "display_name" ); + if( TextUtils.isEmpty( sv ) ){ + dst.display_name = dst.username; + }else{ + dst.display_name = Emojione.decodeEmoji( HTMLDecoder.decodeEntity(sv ) ); + } + dst.locked = src.optBoolean( "locked" ); dst.created_at = Utils.optStringX( src, "created_at" ); dst.followers_count = src.optLong( "followers_count" ); dst.following_count = src.optLong( "following_count" ); dst.statuses_count = src.optLong( "statuses_count" ); - dst.note = Utils.optStringX( src, "note" ); + dst.note = HTMLDecoder.decodeHTML( Utils.optStringX( src, "note" ) ); dst.url = Utils.optStringX( src, "url" ); dst.avatar = Utils.optStringX( src, "avatar" ); // "https:\/\/mastodon.juggler.jp\/system\/accounts\/avatars\/000\/000\/148\/original\/0a468974fac5a448.PNG?1492081886", dst.avatar_static = Utils.optStringX( src, "avatar_static" ); // "https:\/\/mastodon.juggler.jp\/system\/accounts\/avatars\/000\/000\/148\/original\/0a468974fac5a448.PNG?1492081886", dst.header = Utils.optStringX( src, "header" ); // "https:\/\/mastodon.juggler.jp\/headers\/original\/missing.png" dst.header_static = Utils.optStringX( src, "header_static" ); // "https:\/\/mastodon.juggler.jp\/headers\/original\/missing.png"} - dst.time_created_at = TootStatus.parseTime( log,dst.created_at ); + dst.time_created_at = TootStatus.parseTime( log, dst.created_at ); + return dst; + }catch( Throwable ex ){ ex.printStackTrace(); log.e( ex, "TootAccount.parse failed." ); @@ -109,5 +124,4 @@ public class TootAccount { return result; } - } diff --git a/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootAttachment.java b/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootAttachment.java index 3dc03435..fe11d556 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootAttachment.java +++ b/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootAttachment.java @@ -35,10 +35,13 @@ public class TootAttachment { // Shorter URL for the image, for insertion into text (only present on local images) public String text_url; + public JSONObject json; + public static TootAttachment parse( LogCategory log, JSONObject src ){ if( src == null ) return null; try{ TootAttachment dst = new TootAttachment(); + dst.json = src; dst.id = src.optLong( "id" ); dst.type = Utils.optStringX( src, "type" ); dst.url = Utils.optStringX( src, "url" ); diff --git a/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootStatus.java b/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootStatus.java index e3398649..c65dd8da 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootStatus.java +++ b/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootStatus.java @@ -19,6 +19,7 @@ import jp.juggler.subwaytooter.util.Utils; public class TootStatus { + public static class List extends ArrayList< TootStatus > { } @@ -70,6 +71,10 @@ public class TootStatus { //One of: public, unlisted, private, direct public String visibility; + public static final String VISIBILITY_PUBLIC ="public"; + public static final String VISIBILITY_UNLISTED ="unlisted"; + public static final String VISIBILITY_PRIVATE ="private"; + public static final String VISIBILITY_DIRECT ="direct"; // An array of Attachments public TootAttachment.List media_attachments; @@ -78,7 +83,7 @@ public class TootStatus { public TootMention.List mentions; //An array of Tags - public ArrayList tags; + public TootTag.List tags; //Application from which the status was posted public String application; @@ -86,6 +91,8 @@ public class TootStatus { public long time_created_at; public Spannable decoded_content; + public Spannable decoded_tags; + public Spannable decoded_mentions; public static TootStatus parse( LogCategory log, JSONObject src ){ @@ -112,12 +119,14 @@ public class TootStatus { status.visibility = Utils.optStringX( src, "visibility" ); status.media_attachments = TootAttachment.parseList( log, src.optJSONArray( "media_attachments" ) ); status.mentions = TootMention.parseList( log, src.optJSONArray( "mentions" )); - status.tags = Utils.parseStringArray( log, src.optJSONArray( "tags" )); + status.tags = TootTag.parseList( log, src.optJSONArray( "tags" )); status.application = Utils.optStringX( src, "application" ); // null status.time_created_at = parseTime( log, status.created_at ); status.decoded_content = HTMLDecoder.decodeHTML(status.content); - + status.decoded_tags = HTMLDecoder.decodeTags( status.tags); + status.decoded_mentions = HTMLDecoder.decodeMentions( status.mentions); + return status; }catch( Throwable ex ){ ex.printStackTrace(); diff --git a/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootTag.java b/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootTag.java new file mode 100644 index 00000000..2d86c270 --- /dev/null +++ b/app/src/main/java/jp/juggler/subwaytooter/api/entity/TootTag.java @@ -0,0 +1,51 @@ +package jp.juggler.subwaytooter.api.entity; + +import org.json.JSONArray; +import org.json.JSONObject; + +import java.util.ArrayList; + +import jp.juggler.subwaytooter.util.LogCategory; +import jp.juggler.subwaytooter.util.Utils; + +public class TootTag { + + // The hashtag, not including the preceding # + public String name; + + // The URL of the hashtag + public String url; + + + public static TootTag parse( LogCategory log, JSONObject src ){ + if( src == null ) return null; + try{ + TootTag dst = new TootTag(); + dst.name = Utils.optStringX(src, "name" ); + dst.url = Utils.optStringX(src, "url" ); + return dst; + }catch( Throwable ex ){ + ex.printStackTrace(); + log.e(ex,"TootTag.parse failed."); + return null; + } + } + + public static class List extends ArrayList{ + + } + + public static TootTag.List parseList( LogCategory log, JSONArray array ){ + TootTag.List result = new TootTag.List(); + if( array != null ){ + for( int i = array.length() - 1 ; i >= 0 ; -- i ){ + JSONObject src = array.optJSONObject( i ); + if( src == null ) continue; + TootTag item = parse( log, src ); + if( item != null ) result.add( 0, item ); + } + } + return result; + } + +} diff --git a/app/src/main/java/jp/juggler/subwaytooter/dialog/AccountPicker.java b/app/src/main/java/jp/juggler/subwaytooter/dialog/AccountPicker.java index 9e93889e..27b24dfb 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/dialog/AccountPicker.java +++ b/app/src/main/java/jp/juggler/subwaytooter/dialog/AccountPicker.java @@ -34,7 +34,7 @@ public class AccountPicker { for(int i=0,ie=account_list.size();i _shortNameToUnicode = new HashMap(); + public static final HashMap _unicodeToShortName = new HashMap(); + + private static void _addEntry(String name,String unicode){ + _shortNameToUnicode.put(name,unicode); + int c = unicode.charAt( 0 ); + if( unicode.length() == 1 && 0 <= c && c <= 0x7f ){ + // ASCII文字列は絵文字とみなさない + }else{ + // 他は絵文字フォントで囲いたい + _unicodeToShortName.put(unicode,name); + } + } + + private static void init1(){ + _addEntry("+1", new String(new int[] {0x1f44d}, 0, 1)); + _addEntry("+1_tone1", new String(new int[] {0x1f44d,0x1f3fb}, 0, 2)); + _addEntry("+1_tone2", new String(new int[] {0x1f44d,0x1f3fc}, 0, 2)); + _addEntry("+1_tone3", new String(new int[] {0x1f44d,0x1f3fd}, 0, 2)); + _addEntry("+1_tone4", new String(new int[] {0x1f44d,0x1f3fe}, 0, 2)); + _addEntry("+1_tone5", new String(new int[] {0x1f44d,0x1f3ff}, 0, 2)); + _addEntry("-1", new String(new int[] {0x1f44e}, 0, 1)); + _addEntry("-1_tone1", new String(new int[] {0x1f44e,0x1f3fb}, 0, 2)); + _addEntry("-1_tone2", new String(new int[] {0x1f44e,0x1f3fc}, 0, 2)); + _addEntry("-1_tone3", new String(new int[] {0x1f44e,0x1f3fd}, 0, 2)); + _addEntry("-1_tone4", new String(new int[] {0x1f44e,0x1f3fe}, 0, 2)); + _addEntry("-1_tone5", new String(new int[] {0x1f44e,0x1f3ff}, 0, 2)); + _addEntry("100", new String(new int[] {0x1f4af}, 0, 1)); + _addEntry("1234", new String(new int[] {0x1f522}, 0, 1)); + _addEntry("8ball", new String(new int[] {0x1f3b1}, 0, 1)); + _addEntry("a", new String(new int[] {0x1f170}, 0, 1)); + _addEntry("ab", new String(new int[] {0x1f18e}, 0, 1)); + _addEntry("abc", new String(new int[] {0x1f524}, 0, 1)); + _addEntry("abcd", new String(new int[] {0x1f521}, 0, 1)); + _addEntry("ac", new String(new int[] {0x1f1e6,0x1f1e8}, 0, 2)); + _addEntry("accept", new String(new int[] {0x1f251}, 0, 1)); + _addEntry("ad", new String(new int[] {0x1f1e6,0x1f1e9}, 0, 2)); + _addEntry("admission_tickets", new String(new int[] {0x1f39f}, 0, 1)); + _addEntry("ae", new String(new int[] {0x1f1e6,0x1f1ea}, 0, 2)); + _addEntry("aerial_tramway", new String(new int[] {0x1f6a1}, 0, 1)); + _addEntry("af", new String(new int[] {0x1f1e6,0x1f1eb}, 0, 2)); + _addEntry("ag", new String(new int[] {0x1f1e6,0x1f1ec}, 0, 2)); + _addEntry("ai", new String(new int[] {0x1f1e6,0x1f1ee}, 0, 2)); + _addEntry("airplane", new String(new int[] {0x2708}, 0, 1)); + _addEntry("airplane_arriving", new String(new int[] {0x1f6ec}, 0, 1)); + _addEntry("airplane_departure", new String(new int[] {0x1f6eb}, 0, 1)); + _addEntry("airplane_small", new String(new int[] {0x1f6e9}, 0, 1)); + _addEntry("al", new String(new int[] {0x1f1e6,0x1f1f1}, 0, 2)); + _addEntry("alarm_clock", new String(new int[] {0x23f0}, 0, 1)); + _addEntry("alembic", new String(new int[] {0x2697}, 0, 1)); + _addEntry("alien", new String(new int[] {0x1f47d}, 0, 1)); + _addEntry("am", new String(new int[] {0x1f1e6,0x1f1f2}, 0, 2)); + _addEntry("ambulance", new String(new int[] {0x1f691}, 0, 1)); + _addEntry("amphora", new String(new int[] {0x1f3fa}, 0, 1)); + _addEntry("anchor", new String(new int[] {0x2693}, 0, 1)); + _addEntry("angel", new String(new int[] {0x1f47c}, 0, 1)); + _addEntry("angel_tone1", new String(new int[] {0x1f47c,0x1f3fb}, 0, 2)); + _addEntry("angel_tone2", new String(new int[] {0x1f47c,0x1f3fc}, 0, 2)); + _addEntry("angel_tone3", new String(new int[] {0x1f47c,0x1f3fd}, 0, 2)); + _addEntry("angel_tone4", new String(new int[] {0x1f47c,0x1f3fe}, 0, 2)); + _addEntry("angel_tone5", new String(new int[] {0x1f47c,0x1f3ff}, 0, 2)); + _addEntry("anger", new String(new int[] {0x1f4a2}, 0, 1)); + _addEntry("anger_right", new String(new int[] {0x1f5ef}, 0, 1)); + _addEntry("angry", new String(new int[] {0x1f620}, 0, 1)); + _addEntry("anguished", new String(new int[] {0x1f627}, 0, 1)); + _addEntry("ant", new String(new int[] {0x1f41c}, 0, 1)); + _addEntry("ao", new String(new int[] {0x1f1e6,0x1f1f4}, 0, 2)); + _addEntry("apple", new String(new int[] {0x1f34e}, 0, 1)); + _addEntry("aq", new String(new int[] {0x1f1e6,0x1f1f6}, 0, 2)); + _addEntry("aquarius", new String(new int[] {0x2652}, 0, 1)); + _addEntry("ar", new String(new int[] {0x1f1e6,0x1f1f7}, 0, 2)); + _addEntry("archery", new String(new int[] {0x1f3f9}, 0, 1)); + _addEntry("aries", new String(new int[] {0x2648}, 0, 1)); + _addEntry("arrow_backward", new String(new int[] {0x25c0}, 0, 1)); + _addEntry("arrow_double_down", new String(new int[] {0x23ec}, 0, 1)); + _addEntry("arrow_double_up", new String(new int[] {0x23eb}, 0, 1)); + _addEntry("arrow_down", new String(new int[] {0x2b07}, 0, 1)); + _addEntry("arrow_down_small", new String(new int[] {0x1f53d}, 0, 1)); + _addEntry("arrow_forward", new String(new int[] {0x25b6}, 0, 1)); + _addEntry("arrow_heading_down", new String(new int[] {0x2935}, 0, 1)); + _addEntry("arrow_heading_up", new String(new int[] {0x2934}, 0, 1)); + _addEntry("arrow_left", new String(new int[] {0x2b05}, 0, 1)); + _addEntry("arrow_lower_left", new String(new int[] {0x2199}, 0, 1)); + _addEntry("arrow_lower_right", new String(new int[] {0x2198}, 0, 1)); + _addEntry("arrow_right", new String(new int[] {0x27a1}, 0, 1)); + _addEntry("arrow_right_hook", new String(new int[] {0x21aa}, 0, 1)); + _addEntry("arrow_up", new String(new int[] {0x2b06}, 0, 1)); + _addEntry("arrow_up_down", new String(new int[] {0x2195}, 0, 1)); + _addEntry("arrow_up_small", new String(new int[] {0x1f53c}, 0, 1)); + _addEntry("arrow_upper_left", new String(new int[] {0x2196}, 0, 1)); + _addEntry("arrow_upper_right", new String(new int[] {0x2197}, 0, 1)); + _addEntry("arrows_clockwise", new String(new int[] {0x1f503}, 0, 1)); + _addEntry("arrows_counterclockwise", new String(new int[] {0x1f504}, 0, 1)); + _addEntry("art", new String(new int[] {0x1f3a8}, 0, 1)); + _addEntry("articulated_lorry", new String(new int[] {0x1f69b}, 0, 1)); + _addEntry("as", new String(new int[] {0x1f1e6,0x1f1f8}, 0, 2)); + _addEntry("asterisk", new String(new int[] {0x002a,0x20e3}, 0, 2)); + _addEntry("asterisk_symbol", new String(new int[] {0x002a}, 0, 1)); + _addEntry("astonished", new String(new int[] {0x1f632}, 0, 1)); + _addEntry("at", new String(new int[] {0x1f1e6,0x1f1f9}, 0, 2)); + _addEntry("athletic_shoe", new String(new int[] {0x1f45f}, 0, 1)); + _addEntry("atm", new String(new int[] {0x1f3e7}, 0, 1)); + _addEntry("atom", new String(new int[] {0x269b}, 0, 1)); + _addEntry("atom_symbol", new String(new int[] {0x269b}, 0, 1)); + _addEntry("au", new String(new int[] {0x1f1e6,0x1f1fa}, 0, 2)); + _addEntry("avocado", new String(new int[] {0x1f951}, 0, 1)); + _addEntry("aw", new String(new int[] {0x1f1e6,0x1f1fc}, 0, 2)); + _addEntry("ax", new String(new int[] {0x1f1e6,0x1f1fd}, 0, 2)); + _addEntry("az", new String(new int[] {0x1f1e6,0x1f1ff}, 0, 2)); + _addEntry("b", new String(new int[] {0x1f171}, 0, 1)); + _addEntry("ba", new String(new int[] {0x1f1e7,0x1f1e6}, 0, 2)); + _addEntry("baby", new String(new int[] {0x1f476}, 0, 1)); + _addEntry("baby_bottle", new String(new int[] {0x1f37c}, 0, 1)); + _addEntry("baby_chick", new String(new int[] {0x1f424}, 0, 1)); + _addEntry("baby_symbol", new String(new int[] {0x1f6bc}, 0, 1)); + _addEntry("baby_tone1", new String(new int[] {0x1f476,0x1f3fb}, 0, 2)); + } + private static void init2(){ + _addEntry("baby_tone2", new String(new int[] {0x1f476,0x1f3fc}, 0, 2)); + _addEntry("baby_tone3", new String(new int[] {0x1f476,0x1f3fd}, 0, 2)); + _addEntry("baby_tone4", new String(new int[] {0x1f476,0x1f3fe}, 0, 2)); + _addEntry("baby_tone5", new String(new int[] {0x1f476,0x1f3ff}, 0, 2)); + _addEntry("back", new String(new int[] {0x1f519}, 0, 1)); + _addEntry("back_of_hand", new String(new int[] {0x1f91a}, 0, 1)); + _addEntry("back_of_hand_tone1", new String(new int[] {0x1f91a,0x1f3fb}, 0, 2)); + _addEntry("back_of_hand_tone2", new String(new int[] {0x1f91a,0x1f3fc}, 0, 2)); + _addEntry("back_of_hand_tone3", new String(new int[] {0x1f91a,0x1f3fd}, 0, 2)); + _addEntry("back_of_hand_tone4", new String(new int[] {0x1f91a,0x1f3fe}, 0, 2)); + _addEntry("back_of_hand_tone5", new String(new int[] {0x1f91a,0x1f3ff}, 0, 2)); + _addEntry("bacon", new String(new int[] {0x1f953}, 0, 1)); + _addEntry("badminton", new String(new int[] {0x1f3f8}, 0, 1)); + _addEntry("baggage_claim", new String(new int[] {0x1f6c4}, 0, 1)); + _addEntry("baguette_bread", new String(new int[] {0x1f956}, 0, 1)); + _addEntry("balloon", new String(new int[] {0x1f388}, 0, 1)); + _addEntry("ballot_box", new String(new int[] {0x1f5f3}, 0, 1)); + _addEntry("ballot_box_with_ballot", new String(new int[] {0x1f5f3}, 0, 1)); + _addEntry("ballot_box_with_check", new String(new int[] {0x2611}, 0, 1)); + _addEntry("bamboo", new String(new int[] {0x1f38d}, 0, 1)); + _addEntry("banana", new String(new int[] {0x1f34c}, 0, 1)); + _addEntry("bangbang", new String(new int[] {0x203c}, 0, 1)); + _addEntry("bank", new String(new int[] {0x1f3e6}, 0, 1)); + _addEntry("bar_chart", new String(new int[] {0x1f4ca}, 0, 1)); + _addEntry("barber", new String(new int[] {0x1f488}, 0, 1)); + _addEntry("baseball", new String(new int[] {0x26be}, 0, 1)); + _addEntry("basketball", new String(new int[] {0x1f3c0}, 0, 1)); + _addEntry("basketball_player", new String(new int[] {0x26f9}, 0, 1)); + _addEntry("basketball_player_tone1", new String(new int[] {0x26f9,0x1f3fb}, 0, 2)); + _addEntry("basketball_player_tone2", new String(new int[] {0x26f9,0x1f3fc}, 0, 2)); + _addEntry("basketball_player_tone3", new String(new int[] {0x26f9,0x1f3fd}, 0, 2)); + _addEntry("basketball_player_tone4", new String(new int[] {0x26f9,0x1f3fe}, 0, 2)); + _addEntry("basketball_player_tone5", new String(new int[] {0x26f9,0x1f3ff}, 0, 2)); + _addEntry("bat", new String(new int[] {0x1f987}, 0, 1)); + _addEntry("bath", new String(new int[] {0x1f6c0}, 0, 1)); + _addEntry("bath_tone1", new String(new int[] {0x1f6c0,0x1f3fb}, 0, 2)); + _addEntry("bath_tone2", new String(new int[] {0x1f6c0,0x1f3fc}, 0, 2)); + _addEntry("bath_tone3", new String(new int[] {0x1f6c0,0x1f3fd}, 0, 2)); + _addEntry("bath_tone4", new String(new int[] {0x1f6c0,0x1f3fe}, 0, 2)); + _addEntry("bath_tone5", new String(new int[] {0x1f6c0,0x1f3ff}, 0, 2)); + _addEntry("bathtub", new String(new int[] {0x1f6c1}, 0, 1)); + _addEntry("battery", new String(new int[] {0x1f50b}, 0, 1)); + _addEntry("bb", new String(new int[] {0x1f1e7,0x1f1e7}, 0, 2)); + _addEntry("bd", new String(new int[] {0x1f1e7,0x1f1e9}, 0, 2)); + _addEntry("be", new String(new int[] {0x1f1e7,0x1f1ea}, 0, 2)); + _addEntry("beach", new String(new int[] {0x1f3d6}, 0, 1)); + _addEntry("beach_umbrella", new String(new int[] {0x26f1}, 0, 1)); + _addEntry("beach_with_umbrella", new String(new int[] {0x1f3d6}, 0, 1)); + _addEntry("bear", new String(new int[] {0x1f43b}, 0, 1)); + _addEntry("bed", new String(new int[] {0x1f6cf}, 0, 1)); + _addEntry("bee", new String(new int[] {0x1f41d}, 0, 1)); + _addEntry("beer", new String(new int[] {0x1f37a}, 0, 1)); + _addEntry("beers", new String(new int[] {0x1f37b}, 0, 1)); + _addEntry("beetle", new String(new int[] {0x1f41e}, 0, 1)); + _addEntry("beginner", new String(new int[] {0x1f530}, 0, 1)); + _addEntry("bell", new String(new int[] {0x1f514}, 0, 1)); + _addEntry("bellhop", new String(new int[] {0x1f6ce}, 0, 1)); + _addEntry("bellhop_bell", new String(new int[] {0x1f6ce}, 0, 1)); + _addEntry("bento", new String(new int[] {0x1f371}, 0, 1)); + _addEntry("bf", new String(new int[] {0x1f1e7,0x1f1eb}, 0, 2)); + _addEntry("bg", new String(new int[] {0x1f1e7,0x1f1ec}, 0, 2)); + _addEntry("bh", new String(new int[] {0x1f1e7,0x1f1ed}, 0, 2)); + _addEntry("bi", new String(new int[] {0x1f1e7,0x1f1ee}, 0, 2)); + _addEntry("bicyclist", new String(new int[] {0x1f6b4}, 0, 1)); + _addEntry("bicyclist_tone1", new String(new int[] {0x1f6b4,0x1f3fb}, 0, 2)); + _addEntry("bicyclist_tone2", new String(new int[] {0x1f6b4,0x1f3fc}, 0, 2)); + _addEntry("bicyclist_tone3", new String(new int[] {0x1f6b4,0x1f3fd}, 0, 2)); + _addEntry("bicyclist_tone4", new String(new int[] {0x1f6b4,0x1f3fe}, 0, 2)); + _addEntry("bicyclist_tone5", new String(new int[] {0x1f6b4,0x1f3ff}, 0, 2)); + _addEntry("bike", new String(new int[] {0x1f6b2}, 0, 1)); + _addEntry("bikini", new String(new int[] {0x1f459}, 0, 1)); + _addEntry("biohazard", new String(new int[] {0x2623}, 0, 1)); + _addEntry("biohazard_sign", new String(new int[] {0x2623}, 0, 1)); + _addEntry("bird", new String(new int[] {0x1f426}, 0, 1)); + _addEntry("birthday", new String(new int[] {0x1f382}, 0, 1)); + _addEntry("bj", new String(new int[] {0x1f1e7,0x1f1ef}, 0, 2)); + _addEntry("bl", new String(new int[] {0x1f1e7,0x1f1f1}, 0, 2)); + _addEntry("black_circle", new String(new int[] {0x26ab}, 0, 1)); + _addEntry("black_heart", new String(new int[] {0x1f5a4}, 0, 1)); + _addEntry("black_joker", new String(new int[] {0x1f0cf}, 0, 1)); + _addEntry("black_large_square", new String(new int[] {0x2b1b}, 0, 1)); + _addEntry("black_medium_small_square", new String(new int[] {0x25fe}, 0, 1)); + _addEntry("black_medium_square", new String(new int[] {0x25fc}, 0, 1)); + _addEntry("black_nib", new String(new int[] {0x2712}, 0, 1)); + _addEntry("black_small_square", new String(new int[] {0x25aa}, 0, 1)); + _addEntry("black_square_button", new String(new int[] {0x1f532}, 0, 1)); + _addEntry("blond-haired_man", new String(new int[] {0x1f471,0x2642}, 0, 2)); + _addEntry("blond-haired_man_dark_skin_tone", new String(new int[] {0x1f471,0x1f3ff,0x2642}, 0, 3)); + _addEntry("blond-haired_man_light_skin_tone", new String(new int[] {0x1f471,0x1f3fb,0x2642}, 0, 3)); + _addEntry("blond-haired_man_medium_dark_skin_tone", new String(new int[] {0x1f471,0x1f3fe,0x2642}, 0, 3)); + _addEntry("blond-haired_man_medium_light_skin_tone", new String(new int[] {0x1f471,0x1f3fc,0x2642}, 0, 3)); + _addEntry("blond-haired_man_medium_skin_tone", new String(new int[] {0x1f471,0x1f3fd,0x2642}, 0, 3)); + _addEntry("blond-haired_man_tone1", new String(new int[] {0x1f471,0x1f3fb,0x2642}, 0, 3)); + _addEntry("blond-haired_man_tone2", new String(new int[] {0x1f471,0x1f3fc,0x2642}, 0, 3)); + _addEntry("blond-haired_man_tone3", new String(new int[] {0x1f471,0x1f3fd,0x2642}, 0, 3)); + _addEntry("blond-haired_man_tone4", new String(new int[] {0x1f471,0x1f3fe,0x2642}, 0, 3)); + _addEntry("blond-haired_man_tone5", new String(new int[] {0x1f471,0x1f3ff,0x2642}, 0, 3)); + _addEntry("blond-haired_woman", new String(new int[] {0x1f471,0x2640}, 0, 2)); + _addEntry("blond-haired_woman_dark_skin_tone", new String(new int[] {0x1f471,0x1f3ff,0x2640}, 0, 3)); + _addEntry("blond-haired_woman_light_skin_tone", new String(new int[] {0x1f471,0x1f3fb,0x2640}, 0, 3)); + _addEntry("blond-haired_woman_medium_dark_skin_tone", new String(new int[] {0x1f471,0x1f3fe,0x2640}, 0, 3)); + } + private static void init3(){ + _addEntry("blond-haired_woman_medium_light_skin_tone", new String(new int[] {0x1f471,0x1f3fc,0x2640}, 0, 3)); + _addEntry("blond-haired_woman_medium_skin_tone", new String(new int[] {0x1f471,0x1f3fd,0x2640}, 0, 3)); + _addEntry("blond-haired_woman_tone1", new String(new int[] {0x1f471,0x1f3fb,0x2640}, 0, 3)); + _addEntry("blond-haired_woman_tone2", new String(new int[] {0x1f471,0x1f3fc,0x2640}, 0, 3)); + _addEntry("blond-haired_woman_tone3", new String(new int[] {0x1f471,0x1f3fd,0x2640}, 0, 3)); + _addEntry("blond-haired_woman_tone4", new String(new int[] {0x1f471,0x1f3fe,0x2640}, 0, 3)); + _addEntry("blond-haired_woman_tone5", new String(new int[] {0x1f471,0x1f3ff,0x2640}, 0, 3)); + _addEntry("blossom", new String(new int[] {0x1f33c}, 0, 1)); + _addEntry("blowfish", new String(new int[] {0x1f421}, 0, 1)); + _addEntry("blue_book", new String(new int[] {0x1f4d8}, 0, 1)); + _addEntry("blue_car", new String(new int[] {0x1f699}, 0, 1)); + _addEntry("blue_circle", new String(new int[] {0x1f535}, 0, 1)); + _addEntry("blue_heart", new String(new int[] {0x1f499}, 0, 1)); + _addEntry("blush", new String(new int[] {0x1f60a}, 0, 1)); + _addEntry("bm", new String(new int[] {0x1f1e7,0x1f1f2}, 0, 2)); + _addEntry("bn", new String(new int[] {0x1f1e7,0x1f1f3}, 0, 2)); + _addEntry("bo", new String(new int[] {0x1f1e7,0x1f1f4}, 0, 2)); + _addEntry("boar", new String(new int[] {0x1f417}, 0, 1)); + _addEntry("bomb", new String(new int[] {0x1f4a3}, 0, 1)); + _addEntry("book", new String(new int[] {0x1f4d6}, 0, 1)); + _addEntry("bookmark", new String(new int[] {0x1f516}, 0, 1)); + _addEntry("bookmark_tabs", new String(new int[] {0x1f4d1}, 0, 1)); + _addEntry("books", new String(new int[] {0x1f4da}, 0, 1)); + _addEntry("boom", new String(new int[] {0x1f4a5}, 0, 1)); + _addEntry("boot", new String(new int[] {0x1f462}, 0, 1)); + _addEntry("bottle_with_popping_cork", new String(new int[] {0x1f37e}, 0, 1)); + _addEntry("bouquet", new String(new int[] {0x1f490}, 0, 1)); + _addEntry("bow", new String(new int[] {0x1f647}, 0, 1)); + _addEntry("bow_and_arrow", new String(new int[] {0x1f3f9}, 0, 1)); + _addEntry("bow_tone1", new String(new int[] {0x1f647,0x1f3fb}, 0, 2)); + _addEntry("bow_tone2", new String(new int[] {0x1f647,0x1f3fc}, 0, 2)); + _addEntry("bow_tone3", new String(new int[] {0x1f647,0x1f3fd}, 0, 2)); + _addEntry("bow_tone4", new String(new int[] {0x1f647,0x1f3fe}, 0, 2)); + _addEntry("bow_tone5", new String(new int[] {0x1f647,0x1f3ff}, 0, 2)); + _addEntry("bowling", new String(new int[] {0x1f3b3}, 0, 1)); + _addEntry("boxing_glove", new String(new int[] {0x1f94a}, 0, 1)); + _addEntry("boxing_gloves", new String(new int[] {0x1f94a}, 0, 1)); + _addEntry("boy", new String(new int[] {0x1f466}, 0, 1)); + _addEntry("boy_tone1", new String(new int[] {0x1f466,0x1f3fb}, 0, 2)); + _addEntry("boy_tone2", new String(new int[] {0x1f466,0x1f3fc}, 0, 2)); + _addEntry("boy_tone3", new String(new int[] {0x1f466,0x1f3fd}, 0, 2)); + _addEntry("boy_tone4", new String(new int[] {0x1f466,0x1f3fe}, 0, 2)); + _addEntry("boy_tone5", new String(new int[] {0x1f466,0x1f3ff}, 0, 2)); + _addEntry("bq", new String(new int[] {0x1f1e7,0x1f1f6}, 0, 2)); + _addEntry("br", new String(new int[] {0x1f1e7,0x1f1f7}, 0, 2)); + _addEntry("bread", new String(new int[] {0x1f35e}, 0, 1)); + _addEntry("bride_with_veil", new String(new int[] {0x1f470}, 0, 1)); + _addEntry("bride_with_veil_tone1", new String(new int[] {0x1f470,0x1f3fb}, 0, 2)); + _addEntry("bride_with_veil_tone2", new String(new int[] {0x1f470,0x1f3fc}, 0, 2)); + _addEntry("bride_with_veil_tone3", new String(new int[] {0x1f470,0x1f3fd}, 0, 2)); + _addEntry("bride_with_veil_tone4", new String(new int[] {0x1f470,0x1f3fe}, 0, 2)); + _addEntry("bride_with_veil_tone5", new String(new int[] {0x1f470,0x1f3ff}, 0, 2)); + _addEntry("bridge_at_night", new String(new int[] {0x1f309}, 0, 1)); + _addEntry("briefcase", new String(new int[] {0x1f4bc}, 0, 1)); + _addEntry("broken_heart", new String(new int[] {0x1f494}, 0, 1)); + _addEntry("bs", new String(new int[] {0x1f1e7,0x1f1f8}, 0, 2)); + _addEntry("bt", new String(new int[] {0x1f1e7,0x1f1f9}, 0, 2)); + _addEntry("bug", new String(new int[] {0x1f41b}, 0, 1)); + _addEntry("building_construction", new String(new int[] {0x1f3d7}, 0, 1)); + _addEntry("bulb", new String(new int[] {0x1f4a1}, 0, 1)); + _addEntry("bullettrain_front", new String(new int[] {0x1f685}, 0, 1)); + _addEntry("bullettrain_side", new String(new int[] {0x1f684}, 0, 1)); + _addEntry("burrito", new String(new int[] {0x1f32f}, 0, 1)); + _addEntry("bus", new String(new int[] {0x1f68c}, 0, 1)); + _addEntry("busstop", new String(new int[] {0x1f68f}, 0, 1)); + _addEntry("bust_in_silhouette", new String(new int[] {0x1f464}, 0, 1)); + _addEntry("busts_in_silhouette", new String(new int[] {0x1f465}, 0, 1)); + _addEntry("butterfly", new String(new int[] {0x1f98b}, 0, 1)); + _addEntry("bv", new String(new int[] {0x1f1e7,0x1f1fb}, 0, 2)); + _addEntry("bw", new String(new int[] {0x1f1e7,0x1f1fc}, 0, 2)); + _addEntry("by", new String(new int[] {0x1f1e7,0x1f1fe}, 0, 2)); + _addEntry("bz", new String(new int[] {0x1f1e7,0x1f1ff}, 0, 2)); + _addEntry("ca", new String(new int[] {0x1f1e8,0x1f1e6}, 0, 2)); + _addEntry("cactus", new String(new int[] {0x1f335}, 0, 1)); + _addEntry("cake", new String(new int[] {0x1f370}, 0, 1)); + _addEntry("calendar", new String(new int[] {0x1f4c6}, 0, 1)); + _addEntry("calendar_spiral", new String(new int[] {0x1f5d3}, 0, 1)); + _addEntry("call_me", new String(new int[] {0x1f919}, 0, 1)); + _addEntry("call_me_hand", new String(new int[] {0x1f919}, 0, 1)); + _addEntry("call_me_hand_tone1", new String(new int[] {0x1f919,0x1f3fb}, 0, 2)); + _addEntry("call_me_hand_tone2", new String(new int[] {0x1f919,0x1f3fc}, 0, 2)); + _addEntry("call_me_hand_tone3", new String(new int[] {0x1f919,0x1f3fd}, 0, 2)); + _addEntry("call_me_hand_tone4", new String(new int[] {0x1f919,0x1f3fe}, 0, 2)); + _addEntry("call_me_hand_tone5", new String(new int[] {0x1f919,0x1f3ff}, 0, 2)); + _addEntry("call_me_tone1", new String(new int[] {0x1f919,0x1f3fb}, 0, 2)); + _addEntry("call_me_tone2", new String(new int[] {0x1f919,0x1f3fc}, 0, 2)); + _addEntry("call_me_tone3", new String(new int[] {0x1f919,0x1f3fd}, 0, 2)); + _addEntry("call_me_tone4", new String(new int[] {0x1f919,0x1f3fe}, 0, 2)); + _addEntry("call_me_tone5", new String(new int[] {0x1f919,0x1f3ff}, 0, 2)); + _addEntry("calling", new String(new int[] {0x1f4f2}, 0, 1)); + _addEntry("camel", new String(new int[] {0x1f42b}, 0, 1)); + _addEntry("camera", new String(new int[] {0x1f4f7}, 0, 1)); + _addEntry("camera_with_flash", new String(new int[] {0x1f4f8}, 0, 1)); + _addEntry("camping", new String(new int[] {0x1f3d5}, 0, 1)); + _addEntry("cancer", new String(new int[] {0x264b}, 0, 1)); + _addEntry("candle", new String(new int[] {0x1f56f}, 0, 1)); + _addEntry("candy", new String(new int[] {0x1f36c}, 0, 1)); + _addEntry("canoe", new String(new int[] {0x1f6f6}, 0, 1)); + _addEntry("capital_abcd", new String(new int[] {0x1f520}, 0, 1)); + _addEntry("capricorn", new String(new int[] {0x2651}, 0, 1)); + _addEntry("card_box", new String(new int[] {0x1f5c3}, 0, 1)); + } + private static void init4(){ + _addEntry("card_file_box", new String(new int[] {0x1f5c3}, 0, 1)); + _addEntry("card_index", new String(new int[] {0x1f4c7}, 0, 1)); + _addEntry("card_index_dividers", new String(new int[] {0x1f5c2}, 0, 1)); + _addEntry("carousel_horse", new String(new int[] {0x1f3a0}, 0, 1)); + _addEntry("carrot", new String(new int[] {0x1f955}, 0, 1)); + _addEntry("cartwheel", new String(new int[] {0x1f938}, 0, 1)); + _addEntry("cartwheel_tone1", new String(new int[] {0x1f938,0x1f3fb}, 0, 2)); + _addEntry("cartwheel_tone2", new String(new int[] {0x1f938,0x1f3fc}, 0, 2)); + _addEntry("cartwheel_tone3", new String(new int[] {0x1f938,0x1f3fd}, 0, 2)); + _addEntry("cartwheel_tone4", new String(new int[] {0x1f938,0x1f3fe}, 0, 2)); + _addEntry("cartwheel_tone5", new String(new int[] {0x1f938,0x1f3ff}, 0, 2)); + _addEntry("cat", new String(new int[] {0x1f431}, 0, 1)); + _addEntry("cat2", new String(new int[] {0x1f408}, 0, 1)); + _addEntry("cc", new String(new int[] {0x1f1e8,0x1f1e8}, 0, 2)); + _addEntry("cd", new String(new int[] {0x1f4bf}, 0, 1)); + _addEntry("cf", new String(new int[] {0x1f1e8,0x1f1eb}, 0, 2)); + _addEntry("cg", new String(new int[] {0x1f1e8,0x1f1ec}, 0, 2)); + _addEntry("ch", new String(new int[] {0x1f1e8,0x1f1ed}, 0, 2)); + _addEntry("chains", new String(new int[] {0x26d3}, 0, 1)); + _addEntry("champagne", new String(new int[] {0x1f37e}, 0, 1)); + _addEntry("champagne_glass", new String(new int[] {0x1f942}, 0, 1)); + _addEntry("chart", new String(new int[] {0x1f4b9}, 0, 1)); + _addEntry("chart_with_downwards_trend", new String(new int[] {0x1f4c9}, 0, 1)); + _addEntry("chart_with_upwards_trend", new String(new int[] {0x1f4c8}, 0, 1)); + _addEntry("checkered_flag", new String(new int[] {0x1f3c1}, 0, 1)); + _addEntry("cheese", new String(new int[] {0x1f9c0}, 0, 1)); + _addEntry("cheese_wedge", new String(new int[] {0x1f9c0}, 0, 1)); + _addEntry("cherries", new String(new int[] {0x1f352}, 0, 1)); + _addEntry("cherry_blossom", new String(new int[] {0x1f338}, 0, 1)); + _addEntry("chestnut", new String(new int[] {0x1f330}, 0, 1)); + _addEntry("chicken", new String(new int[] {0x1f414}, 0, 1)); + _addEntry("children_crossing", new String(new int[] {0x1f6b8}, 0, 1)); + _addEntry("chile", new String(new int[] {0x1f1e8,0x1f1f1}, 0, 2)); + _addEntry("chipmunk", new String(new int[] {0x1f43f}, 0, 1)); + _addEntry("chocolate_bar", new String(new int[] {0x1f36b}, 0, 1)); + _addEntry("christmas_tree", new String(new int[] {0x1f384}, 0, 1)); + _addEntry("church", new String(new int[] {0x26ea}, 0, 1)); + _addEntry("ci", new String(new int[] {0x1f1e8,0x1f1ee}, 0, 2)); + _addEntry("cinema", new String(new int[] {0x1f3a6}, 0, 1)); + _addEntry("circus_tent", new String(new int[] {0x1f3aa}, 0, 1)); + _addEntry("city_dusk", new String(new int[] {0x1f306}, 0, 1)); + _addEntry("city_sunrise", new String(new int[] {0x1f307}, 0, 1)); + _addEntry("city_sunset", new String(new int[] {0x1f307}, 0, 1)); + _addEntry("cityscape", new String(new int[] {0x1f3d9}, 0, 1)); + _addEntry("ck", new String(new int[] {0x1f1e8,0x1f1f0}, 0, 2)); + _addEntry("cl", new String(new int[] {0x1f191}, 0, 1)); + _addEntry("clap", new String(new int[] {0x1f44f}, 0, 1)); + _addEntry("clap_tone1", new String(new int[] {0x1f44f,0x1f3fb}, 0, 2)); + _addEntry("clap_tone2", new String(new int[] {0x1f44f,0x1f3fc}, 0, 2)); + _addEntry("clap_tone3", new String(new int[] {0x1f44f,0x1f3fd}, 0, 2)); + _addEntry("clap_tone4", new String(new int[] {0x1f44f,0x1f3fe}, 0, 2)); + _addEntry("clap_tone5", new String(new int[] {0x1f44f,0x1f3ff}, 0, 2)); + _addEntry("clapper", new String(new int[] {0x1f3ac}, 0, 1)); + _addEntry("classical_building", new String(new int[] {0x1f3db}, 0, 1)); + _addEntry("clinking_glass", new String(new int[] {0x1f942}, 0, 1)); + _addEntry("clipboard", new String(new int[] {0x1f4cb}, 0, 1)); + _addEntry("clock", new String(new int[] {0x1f570}, 0, 1)); + _addEntry("clock1", new String(new int[] {0x1f550}, 0, 1)); + _addEntry("clock10", new String(new int[] {0x1f559}, 0, 1)); + _addEntry("clock1030", new String(new int[] {0x1f565}, 0, 1)); + _addEntry("clock11", new String(new int[] {0x1f55a}, 0, 1)); + _addEntry("clock1130", new String(new int[] {0x1f566}, 0, 1)); + _addEntry("clock12", new String(new int[] {0x1f55b}, 0, 1)); + _addEntry("clock1230", new String(new int[] {0x1f567}, 0, 1)); + _addEntry("clock130", new String(new int[] {0x1f55c}, 0, 1)); + _addEntry("clock2", new String(new int[] {0x1f551}, 0, 1)); + _addEntry("clock230", new String(new int[] {0x1f55d}, 0, 1)); + _addEntry("clock3", new String(new int[] {0x1f552}, 0, 1)); + _addEntry("clock330", new String(new int[] {0x1f55e}, 0, 1)); + _addEntry("clock4", new String(new int[] {0x1f553}, 0, 1)); + _addEntry("clock430", new String(new int[] {0x1f55f}, 0, 1)); + _addEntry("clock5", new String(new int[] {0x1f554}, 0, 1)); + _addEntry("clock530", new String(new int[] {0x1f560}, 0, 1)); + _addEntry("clock6", new String(new int[] {0x1f555}, 0, 1)); + _addEntry("clock630", new String(new int[] {0x1f561}, 0, 1)); + _addEntry("clock7", new String(new int[] {0x1f556}, 0, 1)); + _addEntry("clock730", new String(new int[] {0x1f562}, 0, 1)); + _addEntry("clock8", new String(new int[] {0x1f557}, 0, 1)); + _addEntry("clock830", new String(new int[] {0x1f563}, 0, 1)); + _addEntry("clock9", new String(new int[] {0x1f558}, 0, 1)); + _addEntry("clock930", new String(new int[] {0x1f564}, 0, 1)); + _addEntry("closed_book", new String(new int[] {0x1f4d5}, 0, 1)); + _addEntry("closed_lock_with_key", new String(new int[] {0x1f510}, 0, 1)); + _addEntry("closed_umbrella", new String(new int[] {0x1f302}, 0, 1)); + _addEntry("cloud", new String(new int[] {0x2601}, 0, 1)); + _addEntry("cloud_lightning", new String(new int[] {0x1f329}, 0, 1)); + _addEntry("cloud_rain", new String(new int[] {0x1f327}, 0, 1)); + _addEntry("cloud_snow", new String(new int[] {0x1f328}, 0, 1)); + _addEntry("cloud_tornado", new String(new int[] {0x1f32a}, 0, 1)); + _addEntry("cloud_with_lightning", new String(new int[] {0x1f329}, 0, 1)); + _addEntry("cloud_with_rain", new String(new int[] {0x1f327}, 0, 1)); + _addEntry("cloud_with_snow", new String(new int[] {0x1f328}, 0, 1)); + _addEntry("cloud_with_tornado", new String(new int[] {0x1f32a}, 0, 1)); + _addEntry("clown", new String(new int[] {0x1f921}, 0, 1)); + _addEntry("clown_face", new String(new int[] {0x1f921}, 0, 1)); + _addEntry("clubs", new String(new int[] {0x2663}, 0, 1)); + _addEntry("cm", new String(new int[] {0x1f1e8,0x1f1f2}, 0, 2)); + _addEntry("cn", new String(new int[] {0x1f1e8,0x1f1f3}, 0, 2)); + _addEntry("co", new String(new int[] {0x1f1e8,0x1f1f4}, 0, 2)); + _addEntry("cocktail", new String(new int[] {0x1f378}, 0, 1)); + _addEntry("coffee", new String(new int[] {0x2615}, 0, 1)); + } + private static void init5(){ + _addEntry("coffin", new String(new int[] {0x26b0}, 0, 1)); + _addEntry("cold_sweat", new String(new int[] {0x1f630}, 0, 1)); + _addEntry("comet", new String(new int[] {0x2604}, 0, 1)); + _addEntry("compression", new String(new int[] {0x1f5dc}, 0, 1)); + _addEntry("computer", new String(new int[] {0x1f4bb}, 0, 1)); + _addEntry("confetti_ball", new String(new int[] {0x1f38a}, 0, 1)); + _addEntry("confounded", new String(new int[] {0x1f616}, 0, 1)); + _addEntry("confused", new String(new int[] {0x1f615}, 0, 1)); + _addEntry("congo", new String(new int[] {0x1f1e8,0x1f1e9}, 0, 2)); + _addEntry("congratulations", new String(new int[] {0x3297}, 0, 1)); + _addEntry("construction", new String(new int[] {0x1f6a7}, 0, 1)); + _addEntry("construction_site", new String(new int[] {0x1f3d7}, 0, 1)); + _addEntry("construction_worker", new String(new int[] {0x1f477}, 0, 1)); + _addEntry("construction_worker_tone1", new String(new int[] {0x1f477,0x1f3fb}, 0, 2)); + _addEntry("construction_worker_tone2", new String(new int[] {0x1f477,0x1f3fc}, 0, 2)); + _addEntry("construction_worker_tone3", new String(new int[] {0x1f477,0x1f3fd}, 0, 2)); + _addEntry("construction_worker_tone4", new String(new int[] {0x1f477,0x1f3fe}, 0, 2)); + _addEntry("construction_worker_tone5", new String(new int[] {0x1f477,0x1f3ff}, 0, 2)); + _addEntry("control_knobs", new String(new int[] {0x1f39b}, 0, 1)); + _addEntry("convenience_store", new String(new int[] {0x1f3ea}, 0, 1)); + _addEntry("cookie", new String(new int[] {0x1f36a}, 0, 1)); + _addEntry("cooking", new String(new int[] {0x1f373}, 0, 1)); + _addEntry("cool", new String(new int[] {0x1f192}, 0, 1)); + _addEntry("cop", new String(new int[] {0x1f46e}, 0, 1)); + _addEntry("cop_tone1", new String(new int[] {0x1f46e,0x1f3fb}, 0, 2)); + _addEntry("cop_tone2", new String(new int[] {0x1f46e,0x1f3fc}, 0, 2)); + _addEntry("cop_tone3", new String(new int[] {0x1f46e,0x1f3fd}, 0, 2)); + _addEntry("cop_tone4", new String(new int[] {0x1f46e,0x1f3fe}, 0, 2)); + _addEntry("cop_tone5", new String(new int[] {0x1f46e,0x1f3ff}, 0, 2)); + _addEntry("copyright", new String(new int[] {0x00a9}, 0, 1)); + _addEntry("corn", new String(new int[] {0x1f33d}, 0, 1)); + _addEntry("couch", new String(new int[] {0x1f6cb}, 0, 1)); + _addEntry("couch_and_lamp", new String(new int[] {0x1f6cb}, 0, 1)); + _addEntry("couple", new String(new int[] {0x1f46b}, 0, 1)); + _addEntry("couple_mm", new String(new int[] {0x1f468,0x2764,0x1f468}, 0, 3)); + _addEntry("couple_with_heart", new String(new int[] {0x1f491}, 0, 1)); + _addEntry("couple_with_heart_mm", new String(new int[] {0x1f468,0x2764,0x1f468}, 0, 3)); + _addEntry("couple_with_heart_woman_man", new String(new int[] {0x1f469,0x2764,0x1f468}, 0, 3)); + _addEntry("couple_with_heart_ww", new String(new int[] {0x1f469,0x2764,0x1f469}, 0, 3)); + _addEntry("couple_ww", new String(new int[] {0x1f469,0x2764,0x1f469}, 0, 3)); + _addEntry("couplekiss", new String(new int[] {0x1f48f}, 0, 1)); + _addEntry("couplekiss_mm", new String(new int[] {0x1f468,0x2764,0x1f48b,0x1f468}, 0, 4)); + _addEntry("couplekiss_ww", new String(new int[] {0x1f469,0x2764,0x1f48b,0x1f469}, 0, 4)); + _addEntry("cow", new String(new int[] {0x1f42e}, 0, 1)); + _addEntry("cow2", new String(new int[] {0x1f404}, 0, 1)); + _addEntry("cowboy", new String(new int[] {0x1f920}, 0, 1)); + _addEntry("cp", new String(new int[] {0x1f1e8,0x1f1f5}, 0, 2)); + _addEntry("cr", new String(new int[] {0x1f1e8,0x1f1f7}, 0, 2)); + _addEntry("crab", new String(new int[] {0x1f980}, 0, 1)); + _addEntry("crayon", new String(new int[] {0x1f58d}, 0, 1)); + _addEntry("credit_card", new String(new int[] {0x1f4b3}, 0, 1)); + _addEntry("crescent_moon", new String(new int[] {0x1f319}, 0, 1)); + _addEntry("cricket", new String(new int[] {0x1f3cf}, 0, 1)); + _addEntry("cricket_bat_ball", new String(new int[] {0x1f3cf}, 0, 1)); + _addEntry("crocodile", new String(new int[] {0x1f40a}, 0, 1)); + _addEntry("croissant", new String(new int[] {0x1f950}, 0, 1)); + _addEntry("cross", new String(new int[] {0x271d}, 0, 1)); + _addEntry("crossed_flags", new String(new int[] {0x1f38c}, 0, 1)); + _addEntry("crossed_swords", new String(new int[] {0x2694}, 0, 1)); + _addEntry("crown", new String(new int[] {0x1f451}, 0, 1)); + _addEntry("cruise_ship", new String(new int[] {0x1f6f3}, 0, 1)); + _addEntry("cry", new String(new int[] {0x1f622}, 0, 1)); + _addEntry("crying_cat_face", new String(new int[] {0x1f63f}, 0, 1)); + _addEntry("crystal_ball", new String(new int[] {0x1f52e}, 0, 1)); + _addEntry("cu", new String(new int[] {0x1f1e8,0x1f1fa}, 0, 2)); + _addEntry("cucumber", new String(new int[] {0x1f952}, 0, 1)); + _addEntry("cupid", new String(new int[] {0x1f498}, 0, 1)); + _addEntry("curly_loop", new String(new int[] {0x27b0}, 0, 1)); + _addEntry("currency_exchange", new String(new int[] {0x1f4b1}, 0, 1)); + _addEntry("curry", new String(new int[] {0x1f35b}, 0, 1)); + _addEntry("custard", new String(new int[] {0x1f36e}, 0, 1)); + _addEntry("customs", new String(new int[] {0x1f6c3}, 0, 1)); + _addEntry("cv", new String(new int[] {0x1f1e8,0x1f1fb}, 0, 2)); + _addEntry("cw", new String(new int[] {0x1f1e8,0x1f1fc}, 0, 2)); + _addEntry("cx", new String(new int[] {0x1f1e8,0x1f1fd}, 0, 2)); + _addEntry("cy", new String(new int[] {0x1f1e8,0x1f1fe}, 0, 2)); + _addEntry("cyclone", new String(new int[] {0x1f300}, 0, 1)); + _addEntry("cz", new String(new int[] {0x1f1e8,0x1f1ff}, 0, 2)); + _addEntry("dagger", new String(new int[] {0x1f5e1}, 0, 1)); + _addEntry("dagger_knife", new String(new int[] {0x1f5e1}, 0, 1)); + _addEntry("dancer", new String(new int[] {0x1f483}, 0, 1)); + _addEntry("dancer_tone1", new String(new int[] {0x1f483,0x1f3fb}, 0, 2)); + _addEntry("dancer_tone2", new String(new int[] {0x1f483,0x1f3fc}, 0, 2)); + _addEntry("dancer_tone3", new String(new int[] {0x1f483,0x1f3fd}, 0, 2)); + _addEntry("dancer_tone4", new String(new int[] {0x1f483,0x1f3fe}, 0, 2)); + _addEntry("dancer_tone5", new String(new int[] {0x1f483,0x1f3ff}, 0, 2)); + _addEntry("dancers", new String(new int[] {0x1f46f}, 0, 1)); + _addEntry("dango", new String(new int[] {0x1f361}, 0, 1)); + _addEntry("dark_sunglasses", new String(new int[] {0x1f576}, 0, 1)); + _addEntry("dart", new String(new int[] {0x1f3af}, 0, 1)); + _addEntry("dash", new String(new int[] {0x1f4a8}, 0, 1)); + _addEntry("date", new String(new int[] {0x1f4c5}, 0, 1)); + _addEntry("de", new String(new int[] {0x1f1e9,0x1f1ea}, 0, 2)); + _addEntry("deciduous_tree", new String(new int[] {0x1f333}, 0, 1)); + _addEntry("deer", new String(new int[] {0x1f98c}, 0, 1)); + _addEntry("department_store", new String(new int[] {0x1f3ec}, 0, 1)); + _addEntry("derelict_house_building", new String(new int[] {0x1f3da}, 0, 1)); + _addEntry("desert", new String(new int[] {0x1f3dc}, 0, 1)); + _addEntry("desert_island", new String(new int[] {0x1f3dd}, 0, 1)); + _addEntry("desktop", new String(new int[] {0x1f5a5}, 0, 1)); + _addEntry("desktop_computer", new String(new int[] {0x1f5a5}, 0, 1)); + } + private static void init6(){ + _addEntry("dg", new String(new int[] {0x1f1e9,0x1f1ec}, 0, 2)); + _addEntry("diamond_shape_with_a_dot_inside", new String(new int[] {0x1f4a0}, 0, 1)); + _addEntry("diamonds", new String(new int[] {0x2666}, 0, 1)); + _addEntry("digit_eight", new String(new int[] {0x0038}, 0, 1)); + _addEntry("digit_five", new String(new int[] {0x0035}, 0, 1)); + _addEntry("digit_four", new String(new int[] {0x0034}, 0, 1)); + _addEntry("digit_nine", new String(new int[] {0x0039}, 0, 1)); + _addEntry("digit_one", new String(new int[] {0x0031}, 0, 1)); + _addEntry("digit_seven", new String(new int[] {0x0037}, 0, 1)); + _addEntry("digit_six", new String(new int[] {0x0036}, 0, 1)); + _addEntry("digit_three", new String(new int[] {0x0033}, 0, 1)); + _addEntry("digit_two", new String(new int[] {0x0032}, 0, 1)); + _addEntry("digit_zero", new String(new int[] {0x0030}, 0, 1)); + _addEntry("disappointed", new String(new int[] {0x1f61e}, 0, 1)); + _addEntry("disappointed_relieved", new String(new int[] {0x1f625}, 0, 1)); + _addEntry("dividers", new String(new int[] {0x1f5c2}, 0, 1)); + _addEntry("dizzy", new String(new int[] {0x1f4ab}, 0, 1)); + _addEntry("dizzy_face", new String(new int[] {0x1f635}, 0, 1)); + _addEntry("dj", new String(new int[] {0x1f1e9,0x1f1ef}, 0, 2)); + _addEntry("dk", new String(new int[] {0x1f1e9,0x1f1f0}, 0, 2)); + _addEntry("dm", new String(new int[] {0x1f1e9,0x1f1f2}, 0, 2)); + _addEntry("do", new String(new int[] {0x1f1e9,0x1f1f4}, 0, 2)); + _addEntry("do_not_litter", new String(new int[] {0x1f6af}, 0, 1)); + _addEntry("dog", new String(new int[] {0x1f436}, 0, 1)); + _addEntry("dog2", new String(new int[] {0x1f415}, 0, 1)); + _addEntry("dollar", new String(new int[] {0x1f4b5}, 0, 1)); + _addEntry("dolls", new String(new int[] {0x1f38e}, 0, 1)); + _addEntry("dolphin", new String(new int[] {0x1f42c}, 0, 1)); + _addEntry("door", new String(new int[] {0x1f6aa}, 0, 1)); + _addEntry("double_vertical_bar", new String(new int[] {0x23f8}, 0, 1)); + _addEntry("doughnut", new String(new int[] {0x1f369}, 0, 1)); + _addEntry("dove", new String(new int[] {0x1f54a}, 0, 1)); + _addEntry("dove_of_peace", new String(new int[] {0x1f54a}, 0, 1)); + _addEntry("dragon", new String(new int[] {0x1f409}, 0, 1)); + _addEntry("dragon_face", new String(new int[] {0x1f432}, 0, 1)); + _addEntry("dress", new String(new int[] {0x1f457}, 0, 1)); + _addEntry("dromedary_camel", new String(new int[] {0x1f42a}, 0, 1)); + _addEntry("drool", new String(new int[] {0x1f924}, 0, 1)); + _addEntry("drooling_face", new String(new int[] {0x1f924}, 0, 1)); + _addEntry("droplet", new String(new int[] {0x1f4a7}, 0, 1)); + _addEntry("drum", new String(new int[] {0x1f941}, 0, 1)); + _addEntry("drum_with_drumsticks", new String(new int[] {0x1f941}, 0, 1)); + _addEntry("duck", new String(new int[] {0x1f986}, 0, 1)); + _addEntry("dvd", new String(new int[] {0x1f4c0}, 0, 1)); + _addEntry("dz", new String(new int[] {0x1f1e9,0x1f1ff}, 0, 2)); + _addEntry("e-mail", new String(new int[] {0x1f4e7}, 0, 1)); + _addEntry("ea", new String(new int[] {0x1f1ea,0x1f1e6}, 0, 2)); + _addEntry("eagle", new String(new int[] {0x1f985}, 0, 1)); + _addEntry("ear", new String(new int[] {0x1f442}, 0, 1)); + _addEntry("ear_of_rice", new String(new int[] {0x1f33e}, 0, 1)); + _addEntry("ear_tone1", new String(new int[] {0x1f442,0x1f3fb}, 0, 2)); + _addEntry("ear_tone2", new String(new int[] {0x1f442,0x1f3fc}, 0, 2)); + _addEntry("ear_tone3", new String(new int[] {0x1f442,0x1f3fd}, 0, 2)); + _addEntry("ear_tone4", new String(new int[] {0x1f442,0x1f3fe}, 0, 2)); + _addEntry("ear_tone5", new String(new int[] {0x1f442,0x1f3ff}, 0, 2)); + _addEntry("earth_africa", new String(new int[] {0x1f30d}, 0, 1)); + _addEntry("earth_americas", new String(new int[] {0x1f30e}, 0, 1)); + _addEntry("earth_asia", new String(new int[] {0x1f30f}, 0, 1)); + _addEntry("ec", new String(new int[] {0x1f1ea,0x1f1e8}, 0, 2)); + _addEntry("ee", new String(new int[] {0x1f1ea,0x1f1ea}, 0, 2)); + _addEntry("eg", new String(new int[] {0x1f1ea,0x1f1ec}, 0, 2)); + _addEntry("egg", new String(new int[] {0x1f95a}, 0, 1)); + _addEntry("eggplant", new String(new int[] {0x1f346}, 0, 1)); + _addEntry("eh", new String(new int[] {0x1f1ea,0x1f1ed}, 0, 2)); + _addEntry("eight", new String(new int[] {0x0038,0x20e3}, 0, 2)); + _addEntry("eight_pointed_black_star", new String(new int[] {0x2734}, 0, 1)); + _addEntry("eight_spoked_asterisk", new String(new int[] {0x2733}, 0, 1)); + _addEntry("eject", new String(new int[] {0x23cf}, 0, 1)); + _addEntry("eject_symbol", new String(new int[] {0x23cf}, 0, 1)); + _addEntry("electric_plug", new String(new int[] {0x1f50c}, 0, 1)); + _addEntry("elephant", new String(new int[] {0x1f418}, 0, 1)); + _addEntry("email", new String(new int[] {0x1f4e7}, 0, 1)); + _addEntry("end", new String(new int[] {0x1f51a}, 0, 1)); + _addEntry("envelope", new String(new int[] {0x2709}, 0, 1)); + _addEntry("envelope_with_arrow", new String(new int[] {0x1f4e9}, 0, 1)); + _addEntry("er", new String(new int[] {0x1f1ea,0x1f1f7}, 0, 2)); + _addEntry("es", new String(new int[] {0x1f1ea,0x1f1f8}, 0, 2)); + _addEntry("et", new String(new int[] {0x1f1ea,0x1f1f9}, 0, 2)); + _addEntry("eu", new String(new int[] {0x1f1ea,0x1f1fa}, 0, 2)); + _addEntry("euro", new String(new int[] {0x1f4b6}, 0, 1)); + _addEntry("european_castle", new String(new int[] {0x1f3f0}, 0, 1)); + _addEntry("european_post_office", new String(new int[] {0x1f3e4}, 0, 1)); + _addEntry("evergreen_tree", new String(new int[] {0x1f332}, 0, 1)); + _addEntry("exclamation", new String(new int[] {0x2757}, 0, 1)); + _addEntry("expecting_woman", new String(new int[] {0x1f930}, 0, 1)); + _addEntry("expecting_woman_tone1", new String(new int[] {0x1f930,0x1f3fb}, 0, 2)); + _addEntry("expecting_woman_tone2", new String(new int[] {0x1f930,0x1f3fc}, 0, 2)); + _addEntry("expecting_woman_tone3", new String(new int[] {0x1f930,0x1f3fd}, 0, 2)); + _addEntry("expecting_woman_tone4", new String(new int[] {0x1f930,0x1f3fe}, 0, 2)); + _addEntry("expecting_woman_tone5", new String(new int[] {0x1f930,0x1f3ff}, 0, 2)); + _addEntry("expressionless", new String(new int[] {0x1f611}, 0, 1)); + _addEntry("eye", new String(new int[] {0x1f441}, 0, 1)); + _addEntry("eye_in_speech_bubble", new String(new int[] {0x1f441,0x1f5e8}, 0, 2)); + _addEntry("eyeglasses", new String(new int[] {0x1f453}, 0, 1)); + _addEntry("eyes", new String(new int[] {0x1f440}, 0, 1)); + _addEntry("face_palm", new String(new int[] {0x1f926}, 0, 1)); + _addEntry("face_palm_tone1", new String(new int[] {0x1f926,0x1f3fb}, 0, 2)); + _addEntry("face_palm_tone2", new String(new int[] {0x1f926,0x1f3fc}, 0, 2)); + _addEntry("face_palm_tone3", new String(new int[] {0x1f926,0x1f3fd}, 0, 2)); + _addEntry("face_palm_tone4", new String(new int[] {0x1f926,0x1f3fe}, 0, 2)); + _addEntry("face_palm_tone5", new String(new int[] {0x1f926,0x1f3ff}, 0, 2)); + } + private static void init7(){ + _addEntry("face_with_cowboy_hat", new String(new int[] {0x1f920}, 0, 1)); + _addEntry("face_with_head_bandage", new String(new int[] {0x1f915}, 0, 1)); + _addEntry("face_with_rolling_eyes", new String(new int[] {0x1f644}, 0, 1)); + _addEntry("face_with_thermometer", new String(new int[] {0x1f912}, 0, 1)); + _addEntry("facepalm", new String(new int[] {0x1f926}, 0, 1)); + _addEntry("facepalm_tone1", new String(new int[] {0x1f926,0x1f3fb}, 0, 2)); + _addEntry("facepalm_tone2", new String(new int[] {0x1f926,0x1f3fc}, 0, 2)); + _addEntry("facepalm_tone3", new String(new int[] {0x1f926,0x1f3fd}, 0, 2)); + _addEntry("facepalm_tone4", new String(new int[] {0x1f926,0x1f3fe}, 0, 2)); + _addEntry("facepalm_tone5", new String(new int[] {0x1f926,0x1f3ff}, 0, 2)); + _addEntry("factory", new String(new int[] {0x1f3ed}, 0, 1)); + _addEntry("fallen_leaf", new String(new int[] {0x1f342}, 0, 1)); + _addEntry("family", new String(new int[] {0x1f46a}, 0, 1)); + _addEntry("family_man_boy", new String(new int[] {0x1f468,0x1f466}, 0, 2)); + _addEntry("family_man_boy_boy", new String(new int[] {0x1f468,0x1f466,0x1f466}, 0, 3)); + _addEntry("family_man_girl", new String(new int[] {0x1f468,0x1f467}, 0, 2)); + _addEntry("family_man_girl_boy", new String(new int[] {0x1f468,0x1f467,0x1f466}, 0, 3)); + _addEntry("family_man_girl_girl", new String(new int[] {0x1f468,0x1f467,0x1f467}, 0, 3)); + _addEntry("family_man_woman_boy", new String(new int[] {0x1f468,0x1f469,0x1f466}, 0, 3)); + _addEntry("family_mmb", new String(new int[] {0x1f468,0x1f468,0x1f466}, 0, 3)); + _addEntry("family_mmbb", new String(new int[] {0x1f468,0x1f468,0x1f466,0x1f466}, 0, 4)); + _addEntry("family_mmg", new String(new int[] {0x1f468,0x1f468,0x1f467}, 0, 3)); + _addEntry("family_mmgb", new String(new int[] {0x1f468,0x1f468,0x1f467,0x1f466}, 0, 4)); + _addEntry("family_mmgg", new String(new int[] {0x1f468,0x1f468,0x1f467,0x1f467}, 0, 4)); + _addEntry("family_mwbb", new String(new int[] {0x1f468,0x1f469,0x1f466,0x1f466}, 0, 4)); + _addEntry("family_mwg", new String(new int[] {0x1f468,0x1f469,0x1f467}, 0, 3)); + _addEntry("family_mwgb", new String(new int[] {0x1f468,0x1f469,0x1f467,0x1f466}, 0, 4)); + _addEntry("family_mwgg", new String(new int[] {0x1f468,0x1f469,0x1f467,0x1f467}, 0, 4)); + _addEntry("family_woman_boy", new String(new int[] {0x1f469,0x1f466}, 0, 2)); + _addEntry("family_woman_boy_boy", new String(new int[] {0x1f469,0x1f466,0x1f466}, 0, 3)); + _addEntry("family_woman_girl", new String(new int[] {0x1f469,0x1f467}, 0, 2)); + _addEntry("family_woman_girl_boy", new String(new int[] {0x1f469,0x1f467,0x1f466}, 0, 3)); + _addEntry("family_woman_girl_girl", new String(new int[] {0x1f469,0x1f467,0x1f467}, 0, 3)); + _addEntry("family_wwb", new String(new int[] {0x1f469,0x1f469,0x1f466}, 0, 3)); + _addEntry("family_wwbb", new String(new int[] {0x1f469,0x1f469,0x1f466,0x1f466}, 0, 4)); + _addEntry("family_wwg", new String(new int[] {0x1f469,0x1f469,0x1f467}, 0, 3)); + _addEntry("family_wwgb", new String(new int[] {0x1f469,0x1f469,0x1f467,0x1f466}, 0, 4)); + _addEntry("family_wwgg", new String(new int[] {0x1f469,0x1f469,0x1f467,0x1f467}, 0, 4)); + _addEntry("fast_forward", new String(new int[] {0x23e9}, 0, 1)); + _addEntry("fax", new String(new int[] {0x1f4e0}, 0, 1)); + _addEntry("fearful", new String(new int[] {0x1f628}, 0, 1)); + _addEntry("feet", new String(new int[] {0x1f43e}, 0, 1)); + _addEntry("female_sign", new String(new int[] {0x2640}, 0, 1)); + _addEntry("fencer", new String(new int[] {0x1f93a}, 0, 1)); + _addEntry("fencing", new String(new int[] {0x1f93a}, 0, 1)); + _addEntry("ferris_wheel", new String(new int[] {0x1f3a1}, 0, 1)); + _addEntry("ferry", new String(new int[] {0x26f4}, 0, 1)); + _addEntry("fi", new String(new int[] {0x1f1eb,0x1f1ee}, 0, 2)); + _addEntry("field_hockey", new String(new int[] {0x1f3d1}, 0, 1)); + _addEntry("file_cabinet", new String(new int[] {0x1f5c4}, 0, 1)); + _addEntry("file_folder", new String(new int[] {0x1f4c1}, 0, 1)); + _addEntry("film_frames", new String(new int[] {0x1f39e}, 0, 1)); + _addEntry("film_projector", new String(new int[] {0x1f4fd}, 0, 1)); + _addEntry("fingers_crossed", new String(new int[] {0x1f91e}, 0, 1)); + _addEntry("fingers_crossed_tone1", new String(new int[] {0x1f91e,0x1f3fb}, 0, 2)); + _addEntry("fingers_crossed_tone2", new String(new int[] {0x1f91e,0x1f3fc}, 0, 2)); + _addEntry("fingers_crossed_tone3", new String(new int[] {0x1f91e,0x1f3fd}, 0, 2)); + _addEntry("fingers_crossed_tone4", new String(new int[] {0x1f91e,0x1f3fe}, 0, 2)); + _addEntry("fingers_crossed_tone5", new String(new int[] {0x1f91e,0x1f3ff}, 0, 2)); + _addEntry("fire", new String(new int[] {0x1f525}, 0, 1)); + _addEntry("fire_engine", new String(new int[] {0x1f692}, 0, 1)); + _addEntry("fireworks", new String(new int[] {0x1f386}, 0, 1)); + _addEntry("first_place", new String(new int[] {0x1f947}, 0, 1)); + _addEntry("first_place_medal", new String(new int[] {0x1f947}, 0, 1)); + _addEntry("first_quarter_moon", new String(new int[] {0x1f313}, 0, 1)); + _addEntry("first_quarter_moon_with_face", new String(new int[] {0x1f31b}, 0, 1)); + _addEntry("fish", new String(new int[] {0x1f41f}, 0, 1)); + _addEntry("fish_cake", new String(new int[] {0x1f365}, 0, 1)); + _addEntry("fishing_pole_and_fish", new String(new int[] {0x1f3a3}, 0, 1)); + _addEntry("fist", new String(new int[] {0x270a}, 0, 1)); + _addEntry("fist_tone1", new String(new int[] {0x270a,0x1f3fb}, 0, 2)); + _addEntry("fist_tone2", new String(new int[] {0x270a,0x1f3fc}, 0, 2)); + _addEntry("fist_tone3", new String(new int[] {0x270a,0x1f3fd}, 0, 2)); + _addEntry("fist_tone4", new String(new int[] {0x270a,0x1f3fe}, 0, 2)); + _addEntry("fist_tone5", new String(new int[] {0x270a,0x1f3ff}, 0, 2)); + _addEntry("five", new String(new int[] {0x0035,0x20e3}, 0, 2)); + _addEntry("fj", new String(new int[] {0x1f1eb,0x1f1ef}, 0, 2)); + _addEntry("fk", new String(new int[] {0x1f1eb,0x1f1f0}, 0, 2)); + _addEntry("flag_ac", new String(new int[] {0x1f1e6,0x1f1e8}, 0, 2)); + _addEntry("flag_ad", new String(new int[] {0x1f1e6,0x1f1e9}, 0, 2)); + _addEntry("flag_ae", new String(new int[] {0x1f1e6,0x1f1ea}, 0, 2)); + _addEntry("flag_af", new String(new int[] {0x1f1e6,0x1f1eb}, 0, 2)); + _addEntry("flag_ag", new String(new int[] {0x1f1e6,0x1f1ec}, 0, 2)); + _addEntry("flag_ai", new String(new int[] {0x1f1e6,0x1f1ee}, 0, 2)); + _addEntry("flag_al", new String(new int[] {0x1f1e6,0x1f1f1}, 0, 2)); + _addEntry("flag_am", new String(new int[] {0x1f1e6,0x1f1f2}, 0, 2)); + _addEntry("flag_ao", new String(new int[] {0x1f1e6,0x1f1f4}, 0, 2)); + _addEntry("flag_aq", new String(new int[] {0x1f1e6,0x1f1f6}, 0, 2)); + _addEntry("flag_ar", new String(new int[] {0x1f1e6,0x1f1f7}, 0, 2)); + _addEntry("flag_as", new String(new int[] {0x1f1e6,0x1f1f8}, 0, 2)); + _addEntry("flag_at", new String(new int[] {0x1f1e6,0x1f1f9}, 0, 2)); + _addEntry("flag_au", new String(new int[] {0x1f1e6,0x1f1fa}, 0, 2)); + _addEntry("flag_aw", new String(new int[] {0x1f1e6,0x1f1fc}, 0, 2)); + _addEntry("flag_ax", new String(new int[] {0x1f1e6,0x1f1fd}, 0, 2)); + _addEntry("flag_az", new String(new int[] {0x1f1e6,0x1f1ff}, 0, 2)); + _addEntry("flag_ba", new String(new int[] {0x1f1e7,0x1f1e6}, 0, 2)); + _addEntry("flag_bb", new String(new int[] {0x1f1e7,0x1f1e7}, 0, 2)); + _addEntry("flag_bd", new String(new int[] {0x1f1e7,0x1f1e9}, 0, 2)); + _addEntry("flag_be", new String(new int[] {0x1f1e7,0x1f1ea}, 0, 2)); + _addEntry("flag_bf", new String(new int[] {0x1f1e7,0x1f1eb}, 0, 2)); + _addEntry("flag_bg", new String(new int[] {0x1f1e7,0x1f1ec}, 0, 2)); + } + private static void init8(){ + _addEntry("flag_bh", new String(new int[] {0x1f1e7,0x1f1ed}, 0, 2)); + _addEntry("flag_bi", new String(new int[] {0x1f1e7,0x1f1ee}, 0, 2)); + _addEntry("flag_bj", new String(new int[] {0x1f1e7,0x1f1ef}, 0, 2)); + _addEntry("flag_bl", new String(new int[] {0x1f1e7,0x1f1f1}, 0, 2)); + _addEntry("flag_black", new String(new int[] {0x1f3f4}, 0, 1)); + _addEntry("flag_bm", new String(new int[] {0x1f1e7,0x1f1f2}, 0, 2)); + _addEntry("flag_bn", new String(new int[] {0x1f1e7,0x1f1f3}, 0, 2)); + _addEntry("flag_bo", new String(new int[] {0x1f1e7,0x1f1f4}, 0, 2)); + _addEntry("flag_bq", new String(new int[] {0x1f1e7,0x1f1f6}, 0, 2)); + _addEntry("flag_br", new String(new int[] {0x1f1e7,0x1f1f7}, 0, 2)); + _addEntry("flag_bs", new String(new int[] {0x1f1e7,0x1f1f8}, 0, 2)); + _addEntry("flag_bt", new String(new int[] {0x1f1e7,0x1f1f9}, 0, 2)); + _addEntry("flag_bv", new String(new int[] {0x1f1e7,0x1f1fb}, 0, 2)); + _addEntry("flag_bw", new String(new int[] {0x1f1e7,0x1f1fc}, 0, 2)); + _addEntry("flag_by", new String(new int[] {0x1f1e7,0x1f1fe}, 0, 2)); + _addEntry("flag_bz", new String(new int[] {0x1f1e7,0x1f1ff}, 0, 2)); + _addEntry("flag_ca", new String(new int[] {0x1f1e8,0x1f1e6}, 0, 2)); + _addEntry("flag_cc", new String(new int[] {0x1f1e8,0x1f1e8}, 0, 2)); + _addEntry("flag_cd", new String(new int[] {0x1f1e8,0x1f1e9}, 0, 2)); + _addEntry("flag_cf", new String(new int[] {0x1f1e8,0x1f1eb}, 0, 2)); + _addEntry("flag_cg", new String(new int[] {0x1f1e8,0x1f1ec}, 0, 2)); + _addEntry("flag_ch", new String(new int[] {0x1f1e8,0x1f1ed}, 0, 2)); + _addEntry("flag_ci", new String(new int[] {0x1f1e8,0x1f1ee}, 0, 2)); + _addEntry("flag_ck", new String(new int[] {0x1f1e8,0x1f1f0}, 0, 2)); + _addEntry("flag_cl", new String(new int[] {0x1f1e8,0x1f1f1}, 0, 2)); + _addEntry("flag_cm", new String(new int[] {0x1f1e8,0x1f1f2}, 0, 2)); + _addEntry("flag_cn", new String(new int[] {0x1f1e8,0x1f1f3}, 0, 2)); + _addEntry("flag_co", new String(new int[] {0x1f1e8,0x1f1f4}, 0, 2)); + _addEntry("flag_cp", new String(new int[] {0x1f1e8,0x1f1f5}, 0, 2)); + _addEntry("flag_cr", new String(new int[] {0x1f1e8,0x1f1f7}, 0, 2)); + _addEntry("flag_cu", new String(new int[] {0x1f1e8,0x1f1fa}, 0, 2)); + _addEntry("flag_cv", new String(new int[] {0x1f1e8,0x1f1fb}, 0, 2)); + _addEntry("flag_cw", new String(new int[] {0x1f1e8,0x1f1fc}, 0, 2)); + _addEntry("flag_cx", new String(new int[] {0x1f1e8,0x1f1fd}, 0, 2)); + _addEntry("flag_cy", new String(new int[] {0x1f1e8,0x1f1fe}, 0, 2)); + _addEntry("flag_cz", new String(new int[] {0x1f1e8,0x1f1ff}, 0, 2)); + _addEntry("flag_de", new String(new int[] {0x1f1e9,0x1f1ea}, 0, 2)); + _addEntry("flag_dg", new String(new int[] {0x1f1e9,0x1f1ec}, 0, 2)); + _addEntry("flag_dj", new String(new int[] {0x1f1e9,0x1f1ef}, 0, 2)); + _addEntry("flag_dk", new String(new int[] {0x1f1e9,0x1f1f0}, 0, 2)); + _addEntry("flag_dm", new String(new int[] {0x1f1e9,0x1f1f2}, 0, 2)); + _addEntry("flag_do", new String(new int[] {0x1f1e9,0x1f1f4}, 0, 2)); + _addEntry("flag_dz", new String(new int[] {0x1f1e9,0x1f1ff}, 0, 2)); + _addEntry("flag_ea", new String(new int[] {0x1f1ea,0x1f1e6}, 0, 2)); + _addEntry("flag_ec", new String(new int[] {0x1f1ea,0x1f1e8}, 0, 2)); + _addEntry("flag_ee", new String(new int[] {0x1f1ea,0x1f1ea}, 0, 2)); + _addEntry("flag_eg", new String(new int[] {0x1f1ea,0x1f1ec}, 0, 2)); + _addEntry("flag_eh", new String(new int[] {0x1f1ea,0x1f1ed}, 0, 2)); + _addEntry("flag_er", new String(new int[] {0x1f1ea,0x1f1f7}, 0, 2)); + _addEntry("flag_es", new String(new int[] {0x1f1ea,0x1f1f8}, 0, 2)); + _addEntry("flag_et", new String(new int[] {0x1f1ea,0x1f1f9}, 0, 2)); + _addEntry("flag_eu", new String(new int[] {0x1f1ea,0x1f1fa}, 0, 2)); + _addEntry("flag_fi", new String(new int[] {0x1f1eb,0x1f1ee}, 0, 2)); + _addEntry("flag_fj", new String(new int[] {0x1f1eb,0x1f1ef}, 0, 2)); + _addEntry("flag_fk", new String(new int[] {0x1f1eb,0x1f1f0}, 0, 2)); + _addEntry("flag_fm", new String(new int[] {0x1f1eb,0x1f1f2}, 0, 2)); + _addEntry("flag_fo", new String(new int[] {0x1f1eb,0x1f1f4}, 0, 2)); + _addEntry("flag_fr", new String(new int[] {0x1f1eb,0x1f1f7}, 0, 2)); + _addEntry("flag_ga", new String(new int[] {0x1f1ec,0x1f1e6}, 0, 2)); + _addEntry("flag_gb", new String(new int[] {0x1f1ec,0x1f1e7}, 0, 2)); + _addEntry("flag_gd", new String(new int[] {0x1f1ec,0x1f1e9}, 0, 2)); + _addEntry("flag_ge", new String(new int[] {0x1f1ec,0x1f1ea}, 0, 2)); + _addEntry("flag_gf", new String(new int[] {0x1f1ec,0x1f1eb}, 0, 2)); + _addEntry("flag_gg", new String(new int[] {0x1f1ec,0x1f1ec}, 0, 2)); + _addEntry("flag_gh", new String(new int[] {0x1f1ec,0x1f1ed}, 0, 2)); + _addEntry("flag_gi", new String(new int[] {0x1f1ec,0x1f1ee}, 0, 2)); + _addEntry("flag_gl", new String(new int[] {0x1f1ec,0x1f1f1}, 0, 2)); + _addEntry("flag_gm", new String(new int[] {0x1f1ec,0x1f1f2}, 0, 2)); + _addEntry("flag_gn", new String(new int[] {0x1f1ec,0x1f1f3}, 0, 2)); + _addEntry("flag_gp", new String(new int[] {0x1f1ec,0x1f1f5}, 0, 2)); + _addEntry("flag_gq", new String(new int[] {0x1f1ec,0x1f1f6}, 0, 2)); + _addEntry("flag_gr", new String(new int[] {0x1f1ec,0x1f1f7}, 0, 2)); + _addEntry("flag_gs", new String(new int[] {0x1f1ec,0x1f1f8}, 0, 2)); + _addEntry("flag_gt", new String(new int[] {0x1f1ec,0x1f1f9}, 0, 2)); + _addEntry("flag_gu", new String(new int[] {0x1f1ec,0x1f1fa}, 0, 2)); + _addEntry("flag_gw", new String(new int[] {0x1f1ec,0x1f1fc}, 0, 2)); + _addEntry("flag_gy", new String(new int[] {0x1f1ec,0x1f1fe}, 0, 2)); + _addEntry("flag_hk", new String(new int[] {0x1f1ed,0x1f1f0}, 0, 2)); + _addEntry("flag_hm", new String(new int[] {0x1f1ed,0x1f1f2}, 0, 2)); + _addEntry("flag_hn", new String(new int[] {0x1f1ed,0x1f1f3}, 0, 2)); + _addEntry("flag_hr", new String(new int[] {0x1f1ed,0x1f1f7}, 0, 2)); + _addEntry("flag_ht", new String(new int[] {0x1f1ed,0x1f1f9}, 0, 2)); + _addEntry("flag_hu", new String(new int[] {0x1f1ed,0x1f1fa}, 0, 2)); + _addEntry("flag_ic", new String(new int[] {0x1f1ee,0x1f1e8}, 0, 2)); + _addEntry("flag_id", new String(new int[] {0x1f1ee,0x1f1e9}, 0, 2)); + _addEntry("flag_ie", new String(new int[] {0x1f1ee,0x1f1ea}, 0, 2)); + _addEntry("flag_il", new String(new int[] {0x1f1ee,0x1f1f1}, 0, 2)); + _addEntry("flag_im", new String(new int[] {0x1f1ee,0x1f1f2}, 0, 2)); + _addEntry("flag_in", new String(new int[] {0x1f1ee,0x1f1f3}, 0, 2)); + _addEntry("flag_io", new String(new int[] {0x1f1ee,0x1f1f4}, 0, 2)); + _addEntry("flag_iq", new String(new int[] {0x1f1ee,0x1f1f6}, 0, 2)); + _addEntry("flag_ir", new String(new int[] {0x1f1ee,0x1f1f7}, 0, 2)); + _addEntry("flag_is", new String(new int[] {0x1f1ee,0x1f1f8}, 0, 2)); + _addEntry("flag_it", new String(new int[] {0x1f1ee,0x1f1f9}, 0, 2)); + _addEntry("flag_je", new String(new int[] {0x1f1ef,0x1f1ea}, 0, 2)); + _addEntry("flag_jm", new String(new int[] {0x1f1ef,0x1f1f2}, 0, 2)); + _addEntry("flag_jo", new String(new int[] {0x1f1ef,0x1f1f4}, 0, 2)); + _addEntry("flag_jp", new String(new int[] {0x1f1ef,0x1f1f5}, 0, 2)); + _addEntry("flag_ke", new String(new int[] {0x1f1f0,0x1f1ea}, 0, 2)); + _addEntry("flag_kg", new String(new int[] {0x1f1f0,0x1f1ec}, 0, 2)); + _addEntry("flag_kh", new String(new int[] {0x1f1f0,0x1f1ed}, 0, 2)); + } + private static void init9(){ + _addEntry("flag_ki", new String(new int[] {0x1f1f0,0x1f1ee}, 0, 2)); + _addEntry("flag_km", new String(new int[] {0x1f1f0,0x1f1f2}, 0, 2)); + _addEntry("flag_kn", new String(new int[] {0x1f1f0,0x1f1f3}, 0, 2)); + _addEntry("flag_kp", new String(new int[] {0x1f1f0,0x1f1f5}, 0, 2)); + _addEntry("flag_kr", new String(new int[] {0x1f1f0,0x1f1f7}, 0, 2)); + _addEntry("flag_kw", new String(new int[] {0x1f1f0,0x1f1fc}, 0, 2)); + _addEntry("flag_ky", new String(new int[] {0x1f1f0,0x1f1fe}, 0, 2)); + _addEntry("flag_kz", new String(new int[] {0x1f1f0,0x1f1ff}, 0, 2)); + _addEntry("flag_la", new String(new int[] {0x1f1f1,0x1f1e6}, 0, 2)); + _addEntry("flag_lb", new String(new int[] {0x1f1f1,0x1f1e7}, 0, 2)); + _addEntry("flag_lc", new String(new int[] {0x1f1f1,0x1f1e8}, 0, 2)); + _addEntry("flag_li", new String(new int[] {0x1f1f1,0x1f1ee}, 0, 2)); + _addEntry("flag_lk", new String(new int[] {0x1f1f1,0x1f1f0}, 0, 2)); + _addEntry("flag_lr", new String(new int[] {0x1f1f1,0x1f1f7}, 0, 2)); + _addEntry("flag_ls", new String(new int[] {0x1f1f1,0x1f1f8}, 0, 2)); + _addEntry("flag_lt", new String(new int[] {0x1f1f1,0x1f1f9}, 0, 2)); + _addEntry("flag_lu", new String(new int[] {0x1f1f1,0x1f1fa}, 0, 2)); + _addEntry("flag_lv", new String(new int[] {0x1f1f1,0x1f1fb}, 0, 2)); + _addEntry("flag_ly", new String(new int[] {0x1f1f1,0x1f1fe}, 0, 2)); + _addEntry("flag_ma", new String(new int[] {0x1f1f2,0x1f1e6}, 0, 2)); + _addEntry("flag_mc", new String(new int[] {0x1f1f2,0x1f1e8}, 0, 2)); + _addEntry("flag_md", new String(new int[] {0x1f1f2,0x1f1e9}, 0, 2)); + _addEntry("flag_me", new String(new int[] {0x1f1f2,0x1f1ea}, 0, 2)); + _addEntry("flag_mf", new String(new int[] {0x1f1f2,0x1f1eb}, 0, 2)); + _addEntry("flag_mg", new String(new int[] {0x1f1f2,0x1f1ec}, 0, 2)); + _addEntry("flag_mh", new String(new int[] {0x1f1f2,0x1f1ed}, 0, 2)); + _addEntry("flag_mk", new String(new int[] {0x1f1f2,0x1f1f0}, 0, 2)); + _addEntry("flag_ml", new String(new int[] {0x1f1f2,0x1f1f1}, 0, 2)); + _addEntry("flag_mm", new String(new int[] {0x1f1f2,0x1f1f2}, 0, 2)); + _addEntry("flag_mn", new String(new int[] {0x1f1f2,0x1f1f3}, 0, 2)); + _addEntry("flag_mo", new String(new int[] {0x1f1f2,0x1f1f4}, 0, 2)); + _addEntry("flag_mp", new String(new int[] {0x1f1f2,0x1f1f5}, 0, 2)); + _addEntry("flag_mq", new String(new int[] {0x1f1f2,0x1f1f6}, 0, 2)); + _addEntry("flag_mr", new String(new int[] {0x1f1f2,0x1f1f7}, 0, 2)); + _addEntry("flag_ms", new String(new int[] {0x1f1f2,0x1f1f8}, 0, 2)); + _addEntry("flag_mt", new String(new int[] {0x1f1f2,0x1f1f9}, 0, 2)); + _addEntry("flag_mu", new String(new int[] {0x1f1f2,0x1f1fa}, 0, 2)); + _addEntry("flag_mv", new String(new int[] {0x1f1f2,0x1f1fb}, 0, 2)); + _addEntry("flag_mw", new String(new int[] {0x1f1f2,0x1f1fc}, 0, 2)); + _addEntry("flag_mx", new String(new int[] {0x1f1f2,0x1f1fd}, 0, 2)); + _addEntry("flag_my", new String(new int[] {0x1f1f2,0x1f1fe}, 0, 2)); + _addEntry("flag_mz", new String(new int[] {0x1f1f2,0x1f1ff}, 0, 2)); + _addEntry("flag_na", new String(new int[] {0x1f1f3,0x1f1e6}, 0, 2)); + _addEntry("flag_nc", new String(new int[] {0x1f1f3,0x1f1e8}, 0, 2)); + _addEntry("flag_ne", new String(new int[] {0x1f1f3,0x1f1ea}, 0, 2)); + _addEntry("flag_nf", new String(new int[] {0x1f1f3,0x1f1eb}, 0, 2)); + _addEntry("flag_ng", new String(new int[] {0x1f1f3,0x1f1ec}, 0, 2)); + _addEntry("flag_ni", new String(new int[] {0x1f1f3,0x1f1ee}, 0, 2)); + _addEntry("flag_nl", new String(new int[] {0x1f1f3,0x1f1f1}, 0, 2)); + _addEntry("flag_no", new String(new int[] {0x1f1f3,0x1f1f4}, 0, 2)); + _addEntry("flag_np", new String(new int[] {0x1f1f3,0x1f1f5}, 0, 2)); + _addEntry("flag_nr", new String(new int[] {0x1f1f3,0x1f1f7}, 0, 2)); + _addEntry("flag_nu", new String(new int[] {0x1f1f3,0x1f1fa}, 0, 2)); + _addEntry("flag_nz", new String(new int[] {0x1f1f3,0x1f1ff}, 0, 2)); + _addEntry("flag_om", new String(new int[] {0x1f1f4,0x1f1f2}, 0, 2)); + _addEntry("flag_pa", new String(new int[] {0x1f1f5,0x1f1e6}, 0, 2)); + _addEntry("flag_pe", new String(new int[] {0x1f1f5,0x1f1ea}, 0, 2)); + _addEntry("flag_pf", new String(new int[] {0x1f1f5,0x1f1eb}, 0, 2)); + _addEntry("flag_pg", new String(new int[] {0x1f1f5,0x1f1ec}, 0, 2)); + _addEntry("flag_ph", new String(new int[] {0x1f1f5,0x1f1ed}, 0, 2)); + _addEntry("flag_pk", new String(new int[] {0x1f1f5,0x1f1f0}, 0, 2)); + _addEntry("flag_pl", new String(new int[] {0x1f1f5,0x1f1f1}, 0, 2)); + _addEntry("flag_pm", new String(new int[] {0x1f1f5,0x1f1f2}, 0, 2)); + _addEntry("flag_pn", new String(new int[] {0x1f1f5,0x1f1f3}, 0, 2)); + _addEntry("flag_pr", new String(new int[] {0x1f1f5,0x1f1f7}, 0, 2)); + _addEntry("flag_ps", new String(new int[] {0x1f1f5,0x1f1f8}, 0, 2)); + _addEntry("flag_pt", new String(new int[] {0x1f1f5,0x1f1f9}, 0, 2)); + _addEntry("flag_pw", new String(new int[] {0x1f1f5,0x1f1fc}, 0, 2)); + _addEntry("flag_py", new String(new int[] {0x1f1f5,0x1f1fe}, 0, 2)); + _addEntry("flag_qa", new String(new int[] {0x1f1f6,0x1f1e6}, 0, 2)); + _addEntry("flag_re", new String(new int[] {0x1f1f7,0x1f1ea}, 0, 2)); + _addEntry("flag_ro", new String(new int[] {0x1f1f7,0x1f1f4}, 0, 2)); + _addEntry("flag_rs", new String(new int[] {0x1f1f7,0x1f1f8}, 0, 2)); + _addEntry("flag_ru", new String(new int[] {0x1f1f7,0x1f1fa}, 0, 2)); + _addEntry("flag_rw", new String(new int[] {0x1f1f7,0x1f1fc}, 0, 2)); + _addEntry("flag_sa", new String(new int[] {0x1f1f8,0x1f1e6}, 0, 2)); + _addEntry("flag_sb", new String(new int[] {0x1f1f8,0x1f1e7}, 0, 2)); + _addEntry("flag_sc", new String(new int[] {0x1f1f8,0x1f1e8}, 0, 2)); + _addEntry("flag_sd", new String(new int[] {0x1f1f8,0x1f1e9}, 0, 2)); + _addEntry("flag_se", new String(new int[] {0x1f1f8,0x1f1ea}, 0, 2)); + _addEntry("flag_sg", new String(new int[] {0x1f1f8,0x1f1ec}, 0, 2)); + _addEntry("flag_sh", new String(new int[] {0x1f1f8,0x1f1ed}, 0, 2)); + _addEntry("flag_si", new String(new int[] {0x1f1f8,0x1f1ee}, 0, 2)); + _addEntry("flag_sj", new String(new int[] {0x1f1f8,0x1f1ef}, 0, 2)); + _addEntry("flag_sk", new String(new int[] {0x1f1f8,0x1f1f0}, 0, 2)); + _addEntry("flag_sl", new String(new int[] {0x1f1f8,0x1f1f1}, 0, 2)); + _addEntry("flag_sm", new String(new int[] {0x1f1f8,0x1f1f2}, 0, 2)); + _addEntry("flag_sn", new String(new int[] {0x1f1f8,0x1f1f3}, 0, 2)); + _addEntry("flag_so", new String(new int[] {0x1f1f8,0x1f1f4}, 0, 2)); + _addEntry("flag_sr", new String(new int[] {0x1f1f8,0x1f1f7}, 0, 2)); + _addEntry("flag_ss", new String(new int[] {0x1f1f8,0x1f1f8}, 0, 2)); + _addEntry("flag_st", new String(new int[] {0x1f1f8,0x1f1f9}, 0, 2)); + _addEntry("flag_sv", new String(new int[] {0x1f1f8,0x1f1fb}, 0, 2)); + _addEntry("flag_sx", new String(new int[] {0x1f1f8,0x1f1fd}, 0, 2)); + _addEntry("flag_sy", new String(new int[] {0x1f1f8,0x1f1fe}, 0, 2)); + _addEntry("flag_sz", new String(new int[] {0x1f1f8,0x1f1ff}, 0, 2)); + _addEntry("flag_ta", new String(new int[] {0x1f1f9,0x1f1e6}, 0, 2)); + _addEntry("flag_tc", new String(new int[] {0x1f1f9,0x1f1e8}, 0, 2)); + _addEntry("flag_td", new String(new int[] {0x1f1f9,0x1f1e9}, 0, 2)); + _addEntry("flag_tf", new String(new int[] {0x1f1f9,0x1f1eb}, 0, 2)); + _addEntry("flag_tg", new String(new int[] {0x1f1f9,0x1f1ec}, 0, 2)); + } + private static void init10(){ + _addEntry("flag_th", new String(new int[] {0x1f1f9,0x1f1ed}, 0, 2)); + _addEntry("flag_tj", new String(new int[] {0x1f1f9,0x1f1ef}, 0, 2)); + _addEntry("flag_tk", new String(new int[] {0x1f1f9,0x1f1f0}, 0, 2)); + _addEntry("flag_tl", new String(new int[] {0x1f1f9,0x1f1f1}, 0, 2)); + _addEntry("flag_tm", new String(new int[] {0x1f1f9,0x1f1f2}, 0, 2)); + _addEntry("flag_tn", new String(new int[] {0x1f1f9,0x1f1f3}, 0, 2)); + _addEntry("flag_to", new String(new int[] {0x1f1f9,0x1f1f4}, 0, 2)); + _addEntry("flag_tr", new String(new int[] {0x1f1f9,0x1f1f7}, 0, 2)); + _addEntry("flag_tt", new String(new int[] {0x1f1f9,0x1f1f9}, 0, 2)); + _addEntry("flag_tv", new String(new int[] {0x1f1f9,0x1f1fb}, 0, 2)); + _addEntry("flag_tw", new String(new int[] {0x1f1f9,0x1f1fc}, 0, 2)); + _addEntry("flag_tz", new String(new int[] {0x1f1f9,0x1f1ff}, 0, 2)); + _addEntry("flag_ua", new String(new int[] {0x1f1fa,0x1f1e6}, 0, 2)); + _addEntry("flag_ug", new String(new int[] {0x1f1fa,0x1f1ec}, 0, 2)); + _addEntry("flag_um", new String(new int[] {0x1f1fa,0x1f1f2}, 0, 2)); + _addEntry("flag_us", new String(new int[] {0x1f1fa,0x1f1f8}, 0, 2)); + _addEntry("flag_uy", new String(new int[] {0x1f1fa,0x1f1fe}, 0, 2)); + _addEntry("flag_uz", new String(new int[] {0x1f1fa,0x1f1ff}, 0, 2)); + _addEntry("flag_va", new String(new int[] {0x1f1fb,0x1f1e6}, 0, 2)); + _addEntry("flag_vc", new String(new int[] {0x1f1fb,0x1f1e8}, 0, 2)); + _addEntry("flag_ve", new String(new int[] {0x1f1fb,0x1f1ea}, 0, 2)); + _addEntry("flag_vg", new String(new int[] {0x1f1fb,0x1f1ec}, 0, 2)); + _addEntry("flag_vi", new String(new int[] {0x1f1fb,0x1f1ee}, 0, 2)); + _addEntry("flag_vn", new String(new int[] {0x1f1fb,0x1f1f3}, 0, 2)); + _addEntry("flag_vu", new String(new int[] {0x1f1fb,0x1f1fa}, 0, 2)); + _addEntry("flag_wf", new String(new int[] {0x1f1fc,0x1f1eb}, 0, 2)); + _addEntry("flag_white", new String(new int[] {0x1f3f3}, 0, 1)); + _addEntry("flag_ws", new String(new int[] {0x1f1fc,0x1f1f8}, 0, 2)); + _addEntry("flag_xk", new String(new int[] {0x1f1fd,0x1f1f0}, 0, 2)); + _addEntry("flag_ye", new String(new int[] {0x1f1fe,0x1f1ea}, 0, 2)); + _addEntry("flag_yt", new String(new int[] {0x1f1fe,0x1f1f9}, 0, 2)); + _addEntry("flag_za", new String(new int[] {0x1f1ff,0x1f1e6}, 0, 2)); + _addEntry("flag_zm", new String(new int[] {0x1f1ff,0x1f1f2}, 0, 2)); + _addEntry("flag_zw", new String(new int[] {0x1f1ff,0x1f1fc}, 0, 2)); + _addEntry("flags", new String(new int[] {0x1f38f}, 0, 1)); + _addEntry("flame", new String(new int[] {0x1f525}, 0, 1)); + _addEntry("flan", new String(new int[] {0x1f36e}, 0, 1)); + _addEntry("flashlight", new String(new int[] {0x1f526}, 0, 1)); + _addEntry("fleur-de-lis", new String(new int[] {0x269c}, 0, 1)); + _addEntry("floppy_disk", new String(new int[] {0x1f4be}, 0, 1)); + _addEntry("flower_playing_cards", new String(new int[] {0x1f3b4}, 0, 1)); + _addEntry("flushed", new String(new int[] {0x1f633}, 0, 1)); + _addEntry("fm", new String(new int[] {0x1f1eb,0x1f1f2}, 0, 2)); + _addEntry("fo", new String(new int[] {0x1f1eb,0x1f1f4}, 0, 2)); + _addEntry("fog", new String(new int[] {0x1f32b}, 0, 1)); + _addEntry("foggy", new String(new int[] {0x1f301}, 0, 1)); + _addEntry("football", new String(new int[] {0x1f3c8}, 0, 1)); + _addEntry("footprints", new String(new int[] {0x1f463}, 0, 1)); + _addEntry("fork_and_knife", new String(new int[] {0x1f374}, 0, 1)); + _addEntry("fork_and_knife_with_plate", new String(new int[] {0x1f37d}, 0, 1)); + _addEntry("fork_knife_plate", new String(new int[] {0x1f37d}, 0, 1)); + _addEntry("fountain", new String(new int[] {0x26f2}, 0, 1)); + _addEntry("four", new String(new int[] {0x0034,0x20e3}, 0, 2)); + _addEntry("four_leaf_clover", new String(new int[] {0x1f340}, 0, 1)); + _addEntry("fox", new String(new int[] {0x1f98a}, 0, 1)); + _addEntry("fox_face", new String(new int[] {0x1f98a}, 0, 1)); + _addEntry("fr", new String(new int[] {0x1f1eb,0x1f1f7}, 0, 2)); + _addEntry("frame_photo", new String(new int[] {0x1f5bc}, 0, 1)); + _addEntry("frame_with_picture", new String(new int[] {0x1f5bc}, 0, 1)); + _addEntry("free", new String(new int[] {0x1f193}, 0, 1)); + _addEntry("french_bread", new String(new int[] {0x1f956}, 0, 1)); + _addEntry("fried_shrimp", new String(new int[] {0x1f364}, 0, 1)); + _addEntry("fries", new String(new int[] {0x1f35f}, 0, 1)); + _addEntry("frog", new String(new int[] {0x1f438}, 0, 1)); + _addEntry("frowning", new String(new int[] {0x1f626}, 0, 1)); + _addEntry("frowning2", new String(new int[] {0x2639}, 0, 1)); + _addEntry("fuelpump", new String(new int[] {0x26fd}, 0, 1)); + _addEntry("full_moon", new String(new int[] {0x1f315}, 0, 1)); + _addEntry("full_moon_with_face", new String(new int[] {0x1f31d}, 0, 1)); + _addEntry("funeral_urn", new String(new int[] {0x26b1}, 0, 1)); + _addEntry("ga", new String(new int[] {0x1f1ec,0x1f1e6}, 0, 2)); + _addEntry("game_die", new String(new int[] {0x1f3b2}, 0, 1)); + _addEntry("gay_pride_flag", new String(new int[] {0x1f3f3,0x1f308}, 0, 2)); + _addEntry("gb", new String(new int[] {0x1f1ec,0x1f1e7}, 0, 2)); + _addEntry("gd", new String(new int[] {0x1f1ec,0x1f1e9}, 0, 2)); + _addEntry("ge", new String(new int[] {0x1f1ec,0x1f1ea}, 0, 2)); + _addEntry("gear", new String(new int[] {0x2699}, 0, 1)); + _addEntry("gem", new String(new int[] {0x1f48e}, 0, 1)); + _addEntry("gemini", new String(new int[] {0x264a}, 0, 1)); + _addEntry("gf", new String(new int[] {0x1f1ec,0x1f1eb}, 0, 2)); + _addEntry("gg", new String(new int[] {0x1f1ec,0x1f1ec}, 0, 2)); + _addEntry("gh", new String(new int[] {0x1f1ec,0x1f1ed}, 0, 2)); + _addEntry("ghost", new String(new int[] {0x1f47b}, 0, 1)); + _addEntry("gi", new String(new int[] {0x1f1ec,0x1f1ee}, 0, 2)); + _addEntry("gift", new String(new int[] {0x1f381}, 0, 1)); + _addEntry("gift_heart", new String(new int[] {0x1f49d}, 0, 1)); + _addEntry("girl", new String(new int[] {0x1f467}, 0, 1)); + _addEntry("girl_tone1", new String(new int[] {0x1f467,0x1f3fb}, 0, 2)); + _addEntry("girl_tone2", new String(new int[] {0x1f467,0x1f3fc}, 0, 2)); + _addEntry("girl_tone3", new String(new int[] {0x1f467,0x1f3fd}, 0, 2)); + _addEntry("girl_tone4", new String(new int[] {0x1f467,0x1f3fe}, 0, 2)); + _addEntry("girl_tone5", new String(new int[] {0x1f467,0x1f3ff}, 0, 2)); + _addEntry("gl", new String(new int[] {0x1f1ec,0x1f1f1}, 0, 2)); + _addEntry("glass_of_milk", new String(new int[] {0x1f95b}, 0, 1)); + _addEntry("globe_with_meridians", new String(new int[] {0x1f310}, 0, 1)); + _addEntry("gm", new String(new int[] {0x1f1ec,0x1f1f2}, 0, 2)); + _addEntry("gn", new String(new int[] {0x1f1ec,0x1f1f3}, 0, 2)); + _addEntry("goal", new String(new int[] {0x1f945}, 0, 1)); + _addEntry("goal_net", new String(new int[] {0x1f945}, 0, 1)); + _addEntry("goat", new String(new int[] {0x1f410}, 0, 1)); + _addEntry("golf", new String(new int[] {0x26f3}, 0, 1)); + } + private static void init11(){ + _addEntry("golfer", new String(new int[] {0x1f3cc}, 0, 1)); + _addEntry("gorilla", new String(new int[] {0x1f98d}, 0, 1)); + _addEntry("gp", new String(new int[] {0x1f1ec,0x1f1f5}, 0, 2)); + _addEntry("gq", new String(new int[] {0x1f1ec,0x1f1f6}, 0, 2)); + _addEntry("gr", new String(new int[] {0x1f1ec,0x1f1f7}, 0, 2)); + _addEntry("grandma", new String(new int[] {0x1f475}, 0, 1)); + _addEntry("grandma_tone1", new String(new int[] {0x1f475,0x1f3fb}, 0, 2)); + _addEntry("grandma_tone2", new String(new int[] {0x1f475,0x1f3fc}, 0, 2)); + _addEntry("grandma_tone3", new String(new int[] {0x1f475,0x1f3fd}, 0, 2)); + _addEntry("grandma_tone4", new String(new int[] {0x1f475,0x1f3fe}, 0, 2)); + _addEntry("grandma_tone5", new String(new int[] {0x1f475,0x1f3ff}, 0, 2)); + _addEntry("grapes", new String(new int[] {0x1f347}, 0, 1)); + _addEntry("green_apple", new String(new int[] {0x1f34f}, 0, 1)); + _addEntry("green_book", new String(new int[] {0x1f4d7}, 0, 1)); + _addEntry("green_heart", new String(new int[] {0x1f49a}, 0, 1)); + _addEntry("green_salad", new String(new int[] {0x1f957}, 0, 1)); + _addEntry("grey_exclamation", new String(new int[] {0x2755}, 0, 1)); + _addEntry("grey_question", new String(new int[] {0x2754}, 0, 1)); + _addEntry("grimacing", new String(new int[] {0x1f62c}, 0, 1)); + _addEntry("grin", new String(new int[] {0x1f601}, 0, 1)); + _addEntry("grinning", new String(new int[] {0x1f600}, 0, 1)); + _addEntry("gs", new String(new int[] {0x1f1ec,0x1f1f8}, 0, 2)); + _addEntry("gt", new String(new int[] {0x1f1ec,0x1f1f9}, 0, 2)); + _addEntry("gu", new String(new int[] {0x1f1ec,0x1f1fa}, 0, 2)); + _addEntry("guardsman", new String(new int[] {0x1f482}, 0, 1)); + _addEntry("guardsman_tone1", new String(new int[] {0x1f482,0x1f3fb}, 0, 2)); + _addEntry("guardsman_tone2", new String(new int[] {0x1f482,0x1f3fc}, 0, 2)); + _addEntry("guardsman_tone3", new String(new int[] {0x1f482,0x1f3fd}, 0, 2)); + _addEntry("guardsman_tone4", new String(new int[] {0x1f482,0x1f3fe}, 0, 2)); + _addEntry("guardsman_tone5", new String(new int[] {0x1f482,0x1f3ff}, 0, 2)); + _addEntry("guitar", new String(new int[] {0x1f3b8}, 0, 1)); + _addEntry("gun", new String(new int[] {0x1f52b}, 0, 1)); + _addEntry("gw", new String(new int[] {0x1f1ec,0x1f1fc}, 0, 2)); + _addEntry("gy", new String(new int[] {0x1f1ec,0x1f1fe}, 0, 2)); + _addEntry("haircut", new String(new int[] {0x1f487}, 0, 1)); + _addEntry("haircut_tone1", new String(new int[] {0x1f487,0x1f3fb}, 0, 2)); + _addEntry("haircut_tone2", new String(new int[] {0x1f487,0x1f3fc}, 0, 2)); + _addEntry("haircut_tone3", new String(new int[] {0x1f487,0x1f3fd}, 0, 2)); + _addEntry("haircut_tone4", new String(new int[] {0x1f487,0x1f3fe}, 0, 2)); + _addEntry("haircut_tone5", new String(new int[] {0x1f487,0x1f3ff}, 0, 2)); + _addEntry("hamburger", new String(new int[] {0x1f354}, 0, 1)); + _addEntry("hammer", new String(new int[] {0x1f528}, 0, 1)); + _addEntry("hammer_and_pick", new String(new int[] {0x2692}, 0, 1)); + _addEntry("hammer_and_wrench", new String(new int[] {0x1f6e0}, 0, 1)); + _addEntry("hammer_pick", new String(new int[] {0x2692}, 0, 1)); + _addEntry("hamster", new String(new int[] {0x1f439}, 0, 1)); + _addEntry("hand_splayed", new String(new int[] {0x1f590}, 0, 1)); + _addEntry("hand_splayed_tone1", new String(new int[] {0x1f590,0x1f3fb}, 0, 2)); + _addEntry("hand_splayed_tone2", new String(new int[] {0x1f590,0x1f3fc}, 0, 2)); + _addEntry("hand_splayed_tone3", new String(new int[] {0x1f590,0x1f3fd}, 0, 2)); + _addEntry("hand_splayed_tone4", new String(new int[] {0x1f590,0x1f3fe}, 0, 2)); + _addEntry("hand_splayed_tone5", new String(new int[] {0x1f590,0x1f3ff}, 0, 2)); + _addEntry("hand_with_index_and_middle_finger_crossed", new String(new int[] {0x1f91e}, 0, 1)); + _addEntry("hand_with_index_and_middle_fingers_crossed_tone1", new String(new int[] {0x1f91e,0x1f3fb}, 0, 2)); + _addEntry("hand_with_index_and_middle_fingers_crossed_tone2", new String(new int[] {0x1f91e,0x1f3fc}, 0, 2)); + _addEntry("hand_with_index_and_middle_fingers_crossed_tone3", new String(new int[] {0x1f91e,0x1f3fd}, 0, 2)); + _addEntry("hand_with_index_and_middle_fingers_crossed_tone4", new String(new int[] {0x1f91e,0x1f3fe}, 0, 2)); + _addEntry("hand_with_index_and_middle_fingers_crossed_tone5", new String(new int[] {0x1f91e,0x1f3ff}, 0, 2)); + _addEntry("handbag", new String(new int[] {0x1f45c}, 0, 1)); + _addEntry("handball", new String(new int[] {0x1f93e}, 0, 1)); + _addEntry("handball_tone1", new String(new int[] {0x1f93e,0x1f3fb}, 0, 2)); + _addEntry("handball_tone2", new String(new int[] {0x1f93e,0x1f3fc}, 0, 2)); + _addEntry("handball_tone3", new String(new int[] {0x1f93e,0x1f3fd}, 0, 2)); + _addEntry("handball_tone4", new String(new int[] {0x1f93e,0x1f3fe}, 0, 2)); + _addEntry("handball_tone5", new String(new int[] {0x1f93e,0x1f3ff}, 0, 2)); + _addEntry("handshake", new String(new int[] {0x1f91d}, 0, 1)); + _addEntry("hankey", new String(new int[] {0x1f4a9}, 0, 1)); + _addEntry("hash", new String(new int[] {0x0023,0x20e3}, 0, 2)); + _addEntry("hatched_chick", new String(new int[] {0x1f425}, 0, 1)); + _addEntry("hatching_chick", new String(new int[] {0x1f423}, 0, 1)); + _addEntry("head_bandage", new String(new int[] {0x1f915}, 0, 1)); + _addEntry("headphones", new String(new int[] {0x1f3a7}, 0, 1)); + _addEntry("hear_no_evil", new String(new int[] {0x1f649}, 0, 1)); + _addEntry("heart", new String(new int[] {0x2764}, 0, 1)); + _addEntry("heart_decoration", new String(new int[] {0x1f49f}, 0, 1)); + _addEntry("heart_exclamation", new String(new int[] {0x2763}, 0, 1)); + _addEntry("heart_eyes", new String(new int[] {0x1f60d}, 0, 1)); + _addEntry("heart_eyes_cat", new String(new int[] {0x1f63b}, 0, 1)); + _addEntry("heartbeat", new String(new int[] {0x1f493}, 0, 1)); + _addEntry("heartpulse", new String(new int[] {0x1f497}, 0, 1)); + _addEntry("hearts", new String(new int[] {0x2665}, 0, 1)); + _addEntry("heavy_check_mark", new String(new int[] {0x2714}, 0, 1)); + _addEntry("heavy_division_sign", new String(new int[] {0x2797}, 0, 1)); + _addEntry("heavy_dollar_sign", new String(new int[] {0x1f4b2}, 0, 1)); + _addEntry("heavy_heart_exclamation_mark_ornament", new String(new int[] {0x2763}, 0, 1)); + _addEntry("heavy_minus_sign", new String(new int[] {0x2796}, 0, 1)); + _addEntry("heavy_multiplication_x", new String(new int[] {0x2716}, 0, 1)); + _addEntry("heavy_plus_sign", new String(new int[] {0x2795}, 0, 1)); + _addEntry("helicopter", new String(new int[] {0x1f681}, 0, 1)); + _addEntry("helmet_with_cross", new String(new int[] {0x26d1}, 0, 1)); + _addEntry("helmet_with_white_cross", new String(new int[] {0x26d1}, 0, 1)); + _addEntry("herb", new String(new int[] {0x1f33f}, 0, 1)); + _addEntry("hibiscus", new String(new int[] {0x1f33a}, 0, 1)); + _addEntry("high_brightness", new String(new int[] {0x1f506}, 0, 1)); + _addEntry("high_heel", new String(new int[] {0x1f460}, 0, 1)); + _addEntry("hk", new String(new int[] {0x1f1ed,0x1f1f0}, 0, 2)); + _addEntry("hm", new String(new int[] {0x1f1ed,0x1f1f2}, 0, 2)); + _addEntry("hn", new String(new int[] {0x1f1ed,0x1f1f3}, 0, 2)); + _addEntry("hockey", new String(new int[] {0x1f3d2}, 0, 1)); + _addEntry("hole", new String(new int[] {0x1f573}, 0, 1)); + _addEntry("homes", new String(new int[] {0x1f3d8}, 0, 1)); + } + private static void init12(){ + _addEntry("honey_pot", new String(new int[] {0x1f36f}, 0, 1)); + _addEntry("horse", new String(new int[] {0x1f434}, 0, 1)); + _addEntry("horse_racing", new String(new int[] {0x1f3c7}, 0, 1)); + _addEntry("horse_racing_tone1", new String(new int[] {0x1f3c7,0x1f3fb}, 0, 2)); + _addEntry("horse_racing_tone2", new String(new int[] {0x1f3c7,0x1f3fc}, 0, 2)); + _addEntry("horse_racing_tone3", new String(new int[] {0x1f3c7,0x1f3fd}, 0, 2)); + _addEntry("horse_racing_tone4", new String(new int[] {0x1f3c7,0x1f3fe}, 0, 2)); + _addEntry("horse_racing_tone5", new String(new int[] {0x1f3c7,0x1f3ff}, 0, 2)); + _addEntry("hospital", new String(new int[] {0x1f3e5}, 0, 1)); + _addEntry("hot_dog", new String(new int[] {0x1f32d}, 0, 1)); + _addEntry("hot_pepper", new String(new int[] {0x1f336}, 0, 1)); + _addEntry("hotdog", new String(new int[] {0x1f32d}, 0, 1)); + _addEntry("hotel", new String(new int[] {0x1f3e8}, 0, 1)); + _addEntry("hotsprings", new String(new int[] {0x2668}, 0, 1)); + _addEntry("hourglass", new String(new int[] {0x231b}, 0, 1)); + _addEntry("hourglass_flowing_sand", new String(new int[] {0x23f3}, 0, 1)); + _addEntry("house", new String(new int[] {0x1f3e0}, 0, 1)); + _addEntry("house_abandoned", new String(new int[] {0x1f3da}, 0, 1)); + _addEntry("house_buildings", new String(new int[] {0x1f3d8}, 0, 1)); + _addEntry("house_with_garden", new String(new int[] {0x1f3e1}, 0, 1)); + _addEntry("hr", new String(new int[] {0x1f1ed,0x1f1f7}, 0, 2)); + _addEntry("ht", new String(new int[] {0x1f1ed,0x1f1f9}, 0, 2)); + _addEntry("hu", new String(new int[] {0x1f1ed,0x1f1fa}, 0, 2)); + _addEntry("hugging", new String(new int[] {0x1f917}, 0, 1)); + _addEntry("hugging_face", new String(new int[] {0x1f917}, 0, 1)); + _addEntry("hushed", new String(new int[] {0x1f62f}, 0, 1)); + _addEntry("ic", new String(new int[] {0x1f1ee,0x1f1e8}, 0, 2)); + _addEntry("ice_cream", new String(new int[] {0x1f368}, 0, 1)); + _addEntry("ice_skate", new String(new int[] {0x26f8}, 0, 1)); + _addEntry("icecream", new String(new int[] {0x1f366}, 0, 1)); + _addEntry("id", new String(new int[] {0x1f194}, 0, 1)); + _addEntry("ideograph_advantage", new String(new int[] {0x1f250}, 0, 1)); + _addEntry("ie", new String(new int[] {0x1f1ee,0x1f1ea}, 0, 2)); + _addEntry("il", new String(new int[] {0x1f1ee,0x1f1f1}, 0, 2)); + _addEntry("im", new String(new int[] {0x1f1ee,0x1f1f2}, 0, 2)); + _addEntry("imp", new String(new int[] {0x1f47f}, 0, 1)); + _addEntry("in", new String(new int[] {0x1f1ee,0x1f1f3}, 0, 2)); + _addEntry("inbox_tray", new String(new int[] {0x1f4e5}, 0, 1)); + _addEntry("incoming_envelope", new String(new int[] {0x1f4e8}, 0, 1)); + _addEntry("indonesia", new String(new int[] {0x1f1ee,0x1f1e9}, 0, 2)); + _addEntry("information_desk_person", new String(new int[] {0x1f481}, 0, 1)); + _addEntry("information_desk_person_tone1", new String(new int[] {0x1f481,0x1f3fb}, 0, 2)); + _addEntry("information_desk_person_tone2", new String(new int[] {0x1f481,0x1f3fc}, 0, 2)); + _addEntry("information_desk_person_tone3", new String(new int[] {0x1f481,0x1f3fd}, 0, 2)); + _addEntry("information_desk_person_tone4", new String(new int[] {0x1f481,0x1f3fe}, 0, 2)); + _addEntry("information_desk_person_tone5", new String(new int[] {0x1f481,0x1f3ff}, 0, 2)); + _addEntry("information_source", new String(new int[] {0x2139}, 0, 1)); + _addEntry("innocent", new String(new int[] {0x1f607}, 0, 1)); + _addEntry("interrobang", new String(new int[] {0x2049}, 0, 1)); + _addEntry("io", new String(new int[] {0x1f1ee,0x1f1f4}, 0, 2)); + _addEntry("iphone", new String(new int[] {0x1f4f1}, 0, 1)); + _addEntry("iq", new String(new int[] {0x1f1ee,0x1f1f6}, 0, 2)); + _addEntry("ir", new String(new int[] {0x1f1ee,0x1f1f7}, 0, 2)); + _addEntry("is", new String(new int[] {0x1f1ee,0x1f1f8}, 0, 2)); + _addEntry("island", new String(new int[] {0x1f3dd}, 0, 1)); + _addEntry("it", new String(new int[] {0x1f1ee,0x1f1f9}, 0, 2)); + _addEntry("izakaya_lantern", new String(new int[] {0x1f3ee}, 0, 1)); + _addEntry("jack_o_lantern", new String(new int[] {0x1f383}, 0, 1)); + _addEntry("japan", new String(new int[] {0x1f5fe}, 0, 1)); + _addEntry("japanese_castle", new String(new int[] {0x1f3ef}, 0, 1)); + _addEntry("japanese_goblin", new String(new int[] {0x1f47a}, 0, 1)); + _addEntry("japanese_ogre", new String(new int[] {0x1f479}, 0, 1)); + _addEntry("je", new String(new int[] {0x1f1ef,0x1f1ea}, 0, 2)); + _addEntry("jeans", new String(new int[] {0x1f456}, 0, 1)); + _addEntry("jm", new String(new int[] {0x1f1ef,0x1f1f2}, 0, 2)); + _addEntry("jo", new String(new int[] {0x1f1ef,0x1f1f4}, 0, 2)); + _addEntry("joy", new String(new int[] {0x1f602}, 0, 1)); + _addEntry("joy_cat", new String(new int[] {0x1f639}, 0, 1)); + _addEntry("joystick", new String(new int[] {0x1f579}, 0, 1)); + _addEntry("jp", new String(new int[] {0x1f1ef,0x1f1f5}, 0, 2)); + _addEntry("juggler", new String(new int[] {0x1f939}, 0, 1)); + _addEntry("juggler_tone1", new String(new int[] {0x1f939,0x1f3fb}, 0, 2)); + _addEntry("juggler_tone2", new String(new int[] {0x1f939,0x1f3fc}, 0, 2)); + _addEntry("juggler_tone3", new String(new int[] {0x1f939,0x1f3fd}, 0, 2)); + _addEntry("juggler_tone4", new String(new int[] {0x1f939,0x1f3fe}, 0, 2)); + _addEntry("juggler_tone5", new String(new int[] {0x1f939,0x1f3ff}, 0, 2)); + _addEntry("juggling", new String(new int[] {0x1f939}, 0, 1)); + _addEntry("juggling_tone1", new String(new int[] {0x1f939,0x1f3fb}, 0, 2)); + _addEntry("juggling_tone2", new String(new int[] {0x1f939,0x1f3fc}, 0, 2)); + _addEntry("juggling_tone3", new String(new int[] {0x1f939,0x1f3fd}, 0, 2)); + _addEntry("juggling_tone4", new String(new int[] {0x1f939,0x1f3fe}, 0, 2)); + _addEntry("juggling_tone5", new String(new int[] {0x1f939,0x1f3ff}, 0, 2)); + _addEntry("kaaba", new String(new int[] {0x1f54b}, 0, 1)); + _addEntry("karate_uniform", new String(new int[] {0x1f94b}, 0, 1)); + _addEntry("kayak", new String(new int[] {0x1f6f6}, 0, 1)); + _addEntry("ke", new String(new int[] {0x1f1f0,0x1f1ea}, 0, 2)); + _addEntry("key", new String(new int[] {0x1f511}, 0, 1)); + _addEntry("key2", new String(new int[] {0x1f5dd}, 0, 1)); + _addEntry("keyboard", new String(new int[] {0x2328}, 0, 1)); + _addEntry("keycap_asterisk", new String(new int[] {0x002a,0x20e3}, 0, 2)); + _addEntry("keycap_ten", new String(new int[] {0x1f51f}, 0, 1)); + _addEntry("kg", new String(new int[] {0x1f1f0,0x1f1ec}, 0, 2)); + _addEntry("kh", new String(new int[] {0x1f1f0,0x1f1ed}, 0, 2)); + _addEntry("ki", new String(new int[] {0x1f1f0,0x1f1ee}, 0, 2)); + _addEntry("kimono", new String(new int[] {0x1f458}, 0, 1)); + _addEntry("kiss", new String(new int[] {0x1f48b}, 0, 1)); + _addEntry("kiss_mm", new String(new int[] {0x1f468,0x2764,0x1f48b,0x1f468}, 0, 4)); + _addEntry("kiss_woman_man", new String(new int[] {0x1f469,0x2764,0x1f48b,0x1f468}, 0, 4)); + _addEntry("kiss_ww", new String(new int[] {0x1f469,0x2764,0x1f48b,0x1f469}, 0, 4)); + _addEntry("kissing", new String(new int[] {0x1f617}, 0, 1)); + _addEntry("kissing_cat", new String(new int[] {0x1f63d}, 0, 1)); + } + private static void init13(){ + _addEntry("kissing_closed_eyes", new String(new int[] {0x1f61a}, 0, 1)); + _addEntry("kissing_heart", new String(new int[] {0x1f618}, 0, 1)); + _addEntry("kissing_smiling_eyes", new String(new int[] {0x1f619}, 0, 1)); + _addEntry("kiwi", new String(new int[] {0x1f95d}, 0, 1)); + _addEntry("kiwifruit", new String(new int[] {0x1f95d}, 0, 1)); + _addEntry("km", new String(new int[] {0x1f1f0,0x1f1f2}, 0, 2)); + _addEntry("kn", new String(new int[] {0x1f1f0,0x1f1f3}, 0, 2)); + _addEntry("knife", new String(new int[] {0x1f52a}, 0, 1)); + _addEntry("koala", new String(new int[] {0x1f428}, 0, 1)); + _addEntry("koko", new String(new int[] {0x1f201}, 0, 1)); + _addEntry("kp", new String(new int[] {0x1f1f0,0x1f1f5}, 0, 2)); + _addEntry("kr", new String(new int[] {0x1f1f0,0x1f1f7}, 0, 2)); + _addEntry("kw", new String(new int[] {0x1f1f0,0x1f1fc}, 0, 2)); + _addEntry("ky", new String(new int[] {0x1f1f0,0x1f1fe}, 0, 2)); + _addEntry("kz", new String(new int[] {0x1f1f0,0x1f1ff}, 0, 2)); + _addEntry("la", new String(new int[] {0x1f1f1,0x1f1e6}, 0, 2)); + _addEntry("label", new String(new int[] {0x1f3f7}, 0, 1)); + _addEntry("large_blue_diamond", new String(new int[] {0x1f537}, 0, 1)); + _addEntry("large_orange_diamond", new String(new int[] {0x1f536}, 0, 1)); + _addEntry("last_quarter_moon", new String(new int[] {0x1f317}, 0, 1)); + _addEntry("last_quarter_moon_with_face", new String(new int[] {0x1f31c}, 0, 1)); + _addEntry("latin_cross", new String(new int[] {0x271d}, 0, 1)); + _addEntry("laughing", new String(new int[] {0x1f606}, 0, 1)); + _addEntry("lb", new String(new int[] {0x1f1f1,0x1f1e7}, 0, 2)); + _addEntry("lc", new String(new int[] {0x1f1f1,0x1f1e8}, 0, 2)); + _addEntry("leaves", new String(new int[] {0x1f343}, 0, 1)); + _addEntry("ledger", new String(new int[] {0x1f4d2}, 0, 1)); + _addEntry("left_facing_fist", new String(new int[] {0x1f91b}, 0, 1)); + _addEntry("left_facing_fist_tone1", new String(new int[] {0x1f91b,0x1f3fb}, 0, 2)); + _addEntry("left_facing_fist_tone2", new String(new int[] {0x1f91b,0x1f3fc}, 0, 2)); + _addEntry("left_facing_fist_tone3", new String(new int[] {0x1f91b,0x1f3fd}, 0, 2)); + _addEntry("left_facing_fist_tone4", new String(new int[] {0x1f91b,0x1f3fe}, 0, 2)); + _addEntry("left_facing_fist_tone5", new String(new int[] {0x1f91b,0x1f3ff}, 0, 2)); + _addEntry("left_fist", new String(new int[] {0x1f91b}, 0, 1)); + _addEntry("left_fist_tone1", new String(new int[] {0x1f91b,0x1f3fb}, 0, 2)); + _addEntry("left_fist_tone2", new String(new int[] {0x1f91b,0x1f3fc}, 0, 2)); + _addEntry("left_fist_tone3", new String(new int[] {0x1f91b,0x1f3fd}, 0, 2)); + _addEntry("left_fist_tone4", new String(new int[] {0x1f91b,0x1f3fe}, 0, 2)); + _addEntry("left_fist_tone5", new String(new int[] {0x1f91b,0x1f3ff}, 0, 2)); + _addEntry("left_luggage", new String(new int[] {0x1f6c5}, 0, 1)); + _addEntry("left_right_arrow", new String(new int[] {0x2194}, 0, 1)); + _addEntry("left_speech_bubble", new String(new int[] {0x1f5e8}, 0, 1)); + _addEntry("leftwards_arrow_with_hook", new String(new int[] {0x21a9}, 0, 1)); + _addEntry("lemon", new String(new int[] {0x1f34b}, 0, 1)); + _addEntry("leo", new String(new int[] {0x264c}, 0, 1)); + _addEntry("leopard", new String(new int[] {0x1f406}, 0, 1)); + _addEntry("level_slider", new String(new int[] {0x1f39a}, 0, 1)); + _addEntry("levitate", new String(new int[] {0x1f574}, 0, 1)); + _addEntry("li", new String(new int[] {0x1f1f1,0x1f1ee}, 0, 2)); + _addEntry("liar", new String(new int[] {0x1f925}, 0, 1)); + _addEntry("libra", new String(new int[] {0x264e}, 0, 1)); + _addEntry("lifter", new String(new int[] {0x1f3cb}, 0, 1)); + _addEntry("lifter_tone1", new String(new int[] {0x1f3cb,0x1f3fb}, 0, 2)); + _addEntry("lifter_tone2", new String(new int[] {0x1f3cb,0x1f3fc}, 0, 2)); + _addEntry("lifter_tone3", new String(new int[] {0x1f3cb,0x1f3fd}, 0, 2)); + _addEntry("lifter_tone4", new String(new int[] {0x1f3cb,0x1f3fe}, 0, 2)); + _addEntry("lifter_tone5", new String(new int[] {0x1f3cb,0x1f3ff}, 0, 2)); + _addEntry("light_rail", new String(new int[] {0x1f688}, 0, 1)); + _addEntry("link", new String(new int[] {0x1f517}, 0, 1)); + _addEntry("linked_paperclips", new String(new int[] {0x1f587}, 0, 1)); + _addEntry("lion", new String(new int[] {0x1f981}, 0, 1)); + _addEntry("lion_face", new String(new int[] {0x1f981}, 0, 1)); + _addEntry("lips", new String(new int[] {0x1f444}, 0, 1)); + _addEntry("lipstick", new String(new int[] {0x1f484}, 0, 1)); + _addEntry("lizard", new String(new int[] {0x1f98e}, 0, 1)); + _addEntry("lk", new String(new int[] {0x1f1f1,0x1f1f0}, 0, 2)); + _addEntry("lock", new String(new int[] {0x1f512}, 0, 1)); + _addEntry("lock_with_ink_pen", new String(new int[] {0x1f50f}, 0, 1)); + _addEntry("lollipop", new String(new int[] {0x1f36d}, 0, 1)); + _addEntry("loop", new String(new int[] {0x27bf}, 0, 1)); + _addEntry("loud_sound", new String(new int[] {0x1f50a}, 0, 1)); + _addEntry("loudspeaker", new String(new int[] {0x1f4e2}, 0, 1)); + _addEntry("love_hotel", new String(new int[] {0x1f3e9}, 0, 1)); + _addEntry("love_letter", new String(new int[] {0x1f48c}, 0, 1)); + _addEntry("low_brightness", new String(new int[] {0x1f505}, 0, 1)); + _addEntry("lower_left_ballpoint_pen", new String(new int[] {0x1f58a}, 0, 1)); + _addEntry("lower_left_crayon", new String(new int[] {0x1f58d}, 0, 1)); + _addEntry("lower_left_fountain_pen", new String(new int[] {0x1f58b}, 0, 1)); + _addEntry("lower_left_paintbrush", new String(new int[] {0x1f58c}, 0, 1)); + _addEntry("lr", new String(new int[] {0x1f1f1,0x1f1f7}, 0, 2)); + _addEntry("ls", new String(new int[] {0x1f1f1,0x1f1f8}, 0, 2)); + _addEntry("lt", new String(new int[] {0x1f1f1,0x1f1f9}, 0, 2)); + _addEntry("lu", new String(new int[] {0x1f1f1,0x1f1fa}, 0, 2)); + _addEntry("lv", new String(new int[] {0x1f1f1,0x1f1fb}, 0, 2)); + _addEntry("ly", new String(new int[] {0x1f1f1,0x1f1fe}, 0, 2)); + _addEntry("lying_face", new String(new int[] {0x1f925}, 0, 1)); + _addEntry("m", new String(new int[] {0x24c2}, 0, 1)); + _addEntry("ma", new String(new int[] {0x1f1f2,0x1f1e6}, 0, 2)); + _addEntry("mag", new String(new int[] {0x1f50d}, 0, 1)); + _addEntry("mag_right", new String(new int[] {0x1f50e}, 0, 1)); + _addEntry("mahjong", new String(new int[] {0x1f004}, 0, 1)); + _addEntry("mailbox", new String(new int[] {0x1f4eb}, 0, 1)); + _addEntry("mailbox_closed", new String(new int[] {0x1f4ea}, 0, 1)); + _addEntry("mailbox_with_mail", new String(new int[] {0x1f4ec}, 0, 1)); + _addEntry("mailbox_with_no_mail", new String(new int[] {0x1f4ed}, 0, 1)); + _addEntry("male_dancer", new String(new int[] {0x1f57a}, 0, 1)); + _addEntry("male_dancer_tone1", new String(new int[] {0x1f57a,0x1f3fb}, 0, 2)); + _addEntry("male_dancer_tone2", new String(new int[] {0x1f57a,0x1f3fc}, 0, 2)); + _addEntry("male_dancer_tone3", new String(new int[] {0x1f57a,0x1f3fd}, 0, 2)); + _addEntry("male_dancer_tone4", new String(new int[] {0x1f57a,0x1f3fe}, 0, 2)); + _addEntry("male_dancer_tone5", new String(new int[] {0x1f57a,0x1f3ff}, 0, 2)); + } + private static void init14(){ + _addEntry("male_sign", new String(new int[] {0x2642}, 0, 1)); + _addEntry("man", new String(new int[] {0x1f468}, 0, 1)); + _addEntry("man_artist", new String(new int[] {0x1f468,0x1f3a8}, 0, 2)); + _addEntry("man_artist_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x1f3a8}, 0, 3)); + _addEntry("man_artist_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x1f3a8}, 0, 3)); + _addEntry("man_artist_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x1f3a8}, 0, 3)); + _addEntry("man_artist_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x1f3a8}, 0, 3)); + _addEntry("man_artist_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x1f3a8}, 0, 3)); + _addEntry("man_artist_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f3a8}, 0, 3)); + _addEntry("man_artist_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f3a8}, 0, 3)); + _addEntry("man_artist_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f3a8}, 0, 3)); + _addEntry("man_artist_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f3a8}, 0, 3)); + _addEntry("man_artist_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f3a8}, 0, 3)); + _addEntry("man_astronaut", new String(new int[] {0x1f468,0x1f680}, 0, 2)); + _addEntry("man_astronaut_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x1f680}, 0, 3)); + _addEntry("man_astronaut_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x1f680}, 0, 3)); + _addEntry("man_astronaut_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x1f680}, 0, 3)); + _addEntry("man_astronaut_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x1f680}, 0, 3)); + _addEntry("man_astronaut_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x1f680}, 0, 3)); + _addEntry("man_astronaut_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f680}, 0, 3)); + _addEntry("man_astronaut_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f680}, 0, 3)); + _addEntry("man_astronaut_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f680}, 0, 3)); + _addEntry("man_astronaut_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f680}, 0, 3)); + _addEntry("man_astronaut_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f680}, 0, 3)); + _addEntry("man_biking", new String(new int[] {0x1f6b4,0x2642}, 0, 2)); + _addEntry("man_biking_dark_skin_tone", new String(new int[] {0x1f6b4,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_biking_light_skin_tone", new String(new int[] {0x1f6b4,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_biking_medium_dark_skin_tone", new String(new int[] {0x1f6b4,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_biking_medium_light_skin_tone", new String(new int[] {0x1f6b4,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_biking_medium_skin_tone", new String(new int[] {0x1f6b4,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_biking_tone1", new String(new int[] {0x1f6b4,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_biking_tone2", new String(new int[] {0x1f6b4,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_biking_tone3", new String(new int[] {0x1f6b4,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_biking_tone4", new String(new int[] {0x1f6b4,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_biking_tone5", new String(new int[] {0x1f6b4,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_bouncing_ball", new String(new int[] {0x26f9,0x2642}, 0, 2)); + _addEntry("man_bouncing_ball_dark_skin_tone", new String(new int[] {0x26f9,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_bouncing_ball_light_skin_tone", new String(new int[] {0x26f9,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_bouncing_ball_medium_dark_skin_tone", new String(new int[] {0x26f9,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_bouncing_ball_medium_light_skin_tone", new String(new int[] {0x26f9,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_bouncing_ball_medium_skin_tone", new String(new int[] {0x26f9,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_bouncing_ball_tone1", new String(new int[] {0x26f9,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_bouncing_ball_tone2", new String(new int[] {0x26f9,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_bouncing_ball_tone3", new String(new int[] {0x26f9,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_bouncing_ball_tone4", new String(new int[] {0x26f9,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_bouncing_ball_tone5", new String(new int[] {0x26f9,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_bowing", new String(new int[] {0x1f647,0x2642}, 0, 2)); + _addEntry("man_bowing_dark_skin_tone", new String(new int[] {0x1f647,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_bowing_light_skin_tone", new String(new int[] {0x1f647,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_bowing_medium_dark_skin_tone", new String(new int[] {0x1f647,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_bowing_medium_light_skin_tone", new String(new int[] {0x1f647,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_bowing_medium_skin_tone", new String(new int[] {0x1f647,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_bowing_tone1", new String(new int[] {0x1f647,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_bowing_tone2", new String(new int[] {0x1f647,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_bowing_tone3", new String(new int[] {0x1f647,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_bowing_tone4", new String(new int[] {0x1f647,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_bowing_tone5", new String(new int[] {0x1f647,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_cartwheeling", new String(new int[] {0x1f938,0x2642}, 0, 2)); + _addEntry("man_cartwheeling_dark_skin_tone", new String(new int[] {0x1f938,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_cartwheeling_light_skin_tone", new String(new int[] {0x1f938,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_cartwheeling_medium_dark_skin_tone", new String(new int[] {0x1f938,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_cartwheeling_medium_light_skin_tone", new String(new int[] {0x1f938,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_cartwheeling_medium_skin_tone", new String(new int[] {0x1f938,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_cartwheeling_tone1", new String(new int[] {0x1f938,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_cartwheeling_tone2", new String(new int[] {0x1f938,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_cartwheeling_tone3", new String(new int[] {0x1f938,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_cartwheeling_tone4", new String(new int[] {0x1f938,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_cartwheeling_tone5", new String(new int[] {0x1f938,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_construction_worker", new String(new int[] {0x1f477,0x2642}, 0, 2)); + _addEntry("man_construction_worker_dark_skin_tone", new String(new int[] {0x1f477,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_construction_worker_light_skin_tone", new String(new int[] {0x1f477,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_construction_worker_medium_dark_skin_tone", new String(new int[] {0x1f477,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_construction_worker_medium_light_skin_tone", new String(new int[] {0x1f477,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_construction_worker_medium_skin_tone", new String(new int[] {0x1f477,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_construction_worker_tone1", new String(new int[] {0x1f477,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_construction_worker_tone2", new String(new int[] {0x1f477,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_construction_worker_tone3", new String(new int[] {0x1f477,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_construction_worker_tone4", new String(new int[] {0x1f477,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_construction_worker_tone5", new String(new int[] {0x1f477,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_cook", new String(new int[] {0x1f468,0x1f373}, 0, 2)); + _addEntry("man_cook_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x1f373}, 0, 3)); + _addEntry("man_cook_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x1f373}, 0, 3)); + _addEntry("man_cook_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x1f373}, 0, 3)); + _addEntry("man_cook_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x1f373}, 0, 3)); + _addEntry("man_cook_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x1f373}, 0, 3)); + _addEntry("man_cook_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f373}, 0, 3)); + _addEntry("man_cook_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f373}, 0, 3)); + _addEntry("man_cook_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f373}, 0, 3)); + _addEntry("man_cook_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f373}, 0, 3)); + _addEntry("man_cook_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f373}, 0, 3)); + _addEntry("man_dancing", new String(new int[] {0x1f57a}, 0, 1)); + _addEntry("man_dancing_tone1", new String(new int[] {0x1f57a,0x1f3fb}, 0, 2)); + _addEntry("man_dancing_tone2", new String(new int[] {0x1f57a,0x1f3fc}, 0, 2)); + _addEntry("man_dancing_tone3", new String(new int[] {0x1f57a,0x1f3fd}, 0, 2)); + _addEntry("man_dancing_tone4", new String(new int[] {0x1f57a,0x1f3fe}, 0, 2)); + _addEntry("man_dancing_tone5", new String(new int[] {0x1f57a,0x1f3ff}, 0, 2)); + _addEntry("man_detective", new String(new int[] {0x1f575,0x2642}, 0, 2)); + _addEntry("man_detective_dark_skin_tone", new String(new int[] {0x1f575,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_detective_light_skin_tone", new String(new int[] {0x1f575,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_detective_medium_dark_skin_tone", new String(new int[] {0x1f575,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_detective_medium_light_skin_tone", new String(new int[] {0x1f575,0x1f3fc,0x2642}, 0, 3)); + } + private static void init15(){ + _addEntry("man_detective_medium_skin_tone", new String(new int[] {0x1f575,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_detective_tone1", new String(new int[] {0x1f575,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_detective_tone2", new String(new int[] {0x1f575,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_detective_tone3", new String(new int[] {0x1f575,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_detective_tone4", new String(new int[] {0x1f575,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_detective_tone5", new String(new int[] {0x1f575,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_facepalming", new String(new int[] {0x1f926,0x2642}, 0, 2)); + _addEntry("man_facepalming_dark_skin_tone", new String(new int[] {0x1f926,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_facepalming_light_skin_tone", new String(new int[] {0x1f926,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_facepalming_medium_dark_skin_tone", new String(new int[] {0x1f926,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_facepalming_medium_light_skin_tone", new String(new int[] {0x1f926,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_facepalming_medium_skin_tone", new String(new int[] {0x1f926,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_facepalming_tone1", new String(new int[] {0x1f926,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_facepalming_tone2", new String(new int[] {0x1f926,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_facepalming_tone3", new String(new int[] {0x1f926,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_facepalming_tone4", new String(new int[] {0x1f926,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_facepalming_tone5", new String(new int[] {0x1f926,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_factory_worker", new String(new int[] {0x1f468,0x1f3ed}, 0, 2)); + _addEntry("man_factory_worker_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x1f3ed}, 0, 3)); + _addEntry("man_factory_worker_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x1f3ed}, 0, 3)); + _addEntry("man_factory_worker_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x1f3ed}, 0, 3)); + _addEntry("man_factory_worker_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x1f3ed}, 0, 3)); + _addEntry("man_factory_worker_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x1f3ed}, 0, 3)); + _addEntry("man_factory_worker_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f3ed}, 0, 3)); + _addEntry("man_factory_worker_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f3ed}, 0, 3)); + _addEntry("man_factory_worker_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f3ed}, 0, 3)); + _addEntry("man_factory_worker_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f3ed}, 0, 3)); + _addEntry("man_factory_worker_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f3ed}, 0, 3)); + _addEntry("man_farmer", new String(new int[] {0x1f468,0x1f33e}, 0, 2)); + _addEntry("man_farmer_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x1f33e}, 0, 3)); + _addEntry("man_farmer_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x1f33e}, 0, 3)); + _addEntry("man_farmer_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x1f33e}, 0, 3)); + _addEntry("man_farmer_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x1f33e}, 0, 3)); + _addEntry("man_farmer_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x1f33e}, 0, 3)); + _addEntry("man_farmer_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f33e}, 0, 3)); + _addEntry("man_farmer_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f33e}, 0, 3)); + _addEntry("man_farmer_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f33e}, 0, 3)); + _addEntry("man_farmer_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f33e}, 0, 3)); + _addEntry("man_farmer_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f33e}, 0, 3)); + _addEntry("man_firefighter", new String(new int[] {0x1f468,0x1f692}, 0, 2)); + _addEntry("man_firefighter_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x1f692}, 0, 3)); + _addEntry("man_firefighter_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x1f692}, 0, 3)); + _addEntry("man_firefighter_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x1f692}, 0, 3)); + _addEntry("man_firefighter_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x1f692}, 0, 3)); + _addEntry("man_firefighter_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x1f692}, 0, 3)); + _addEntry("man_firefighter_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f692}, 0, 3)); + _addEntry("man_firefighter_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f692}, 0, 3)); + _addEntry("man_firefighter_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f692}, 0, 3)); + _addEntry("man_firefighter_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f692}, 0, 3)); + _addEntry("man_firefighter_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f692}, 0, 3)); + _addEntry("man_frowning", new String(new int[] {0x1f64d,0x2642}, 0, 2)); + _addEntry("man_frowning_dark_skin_tone", new String(new int[] {0x1f64d,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_frowning_light_skin_tone", new String(new int[] {0x1f64d,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_frowning_medium_dark_skin_tone", new String(new int[] {0x1f64d,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_frowning_medium_light_skin_tone", new String(new int[] {0x1f64d,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_frowning_medium_skin_tone", new String(new int[] {0x1f64d,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_frowning_tone1", new String(new int[] {0x1f64d,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_frowning_tone2", new String(new int[] {0x1f64d,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_frowning_tone3", new String(new int[] {0x1f64d,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_frowning_tone4", new String(new int[] {0x1f64d,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_frowning_tone5", new String(new int[] {0x1f64d,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_gesturing_no", new String(new int[] {0x1f645,0x2642}, 0, 2)); + _addEntry("man_gesturing_no_dark_skin_tone", new String(new int[] {0x1f645,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_gesturing_no_light_skin_tone", new String(new int[] {0x1f645,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_gesturing_no_medium_dark_skin_tone", new String(new int[] {0x1f645,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_gesturing_no_medium_light_skin_tone", new String(new int[] {0x1f645,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_gesturing_no_medium_skin_tone", new String(new int[] {0x1f645,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_gesturing_no_tone1", new String(new int[] {0x1f645,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_gesturing_no_tone2", new String(new int[] {0x1f645,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_gesturing_no_tone3", new String(new int[] {0x1f645,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_gesturing_no_tone4", new String(new int[] {0x1f645,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_gesturing_no_tone5", new String(new int[] {0x1f645,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_gesturing_ok", new String(new int[] {0x1f646,0x2642}, 0, 2)); + _addEntry("man_gesturing_ok_dark_skin_tone", new String(new int[] {0x1f646,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_gesturing_ok_light_skin_tone", new String(new int[] {0x1f646,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_gesturing_ok_medium_dark_skin_tone", new String(new int[] {0x1f646,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_gesturing_ok_medium_light_skin_tone", new String(new int[] {0x1f646,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_gesturing_ok_medium_skin_tone", new String(new int[] {0x1f646,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_gesturing_ok_tone1", new String(new int[] {0x1f646,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_gesturing_ok_tone2", new String(new int[] {0x1f646,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_gesturing_ok_tone3", new String(new int[] {0x1f646,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_gesturing_ok_tone4", new String(new int[] {0x1f646,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_gesturing_ok_tone5", new String(new int[] {0x1f646,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_getting_face_massage", new String(new int[] {0x1f486,0x2642}, 0, 2)); + _addEntry("man_getting_face_massage_dark_skin_tone", new String(new int[] {0x1f486,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_getting_face_massage_light_skin_tone", new String(new int[] {0x1f486,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_getting_face_massage_medium_dark_skin_tone", new String(new int[] {0x1f486,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_getting_face_massage_medium_light_skin_tone", new String(new int[] {0x1f486,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_getting_face_massage_medium_skin_tone", new String(new int[] {0x1f486,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_getting_face_massage_tone1", new String(new int[] {0x1f486,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_getting_face_massage_tone2", new String(new int[] {0x1f486,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_getting_face_massage_tone3", new String(new int[] {0x1f486,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_getting_face_massage_tone4", new String(new int[] {0x1f486,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_getting_face_massage_tone5", new String(new int[] {0x1f486,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_getting_haircut", new String(new int[] {0x1f487,0x2642}, 0, 2)); + _addEntry("man_getting_haircut_dark_skin_tone", new String(new int[] {0x1f487,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_getting_haircut_light_skin_tone", new String(new int[] {0x1f487,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_getting_haircut_medium_dark_skin_tone", new String(new int[] {0x1f487,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_getting_haircut_medium_light_skin_tone", new String(new int[] {0x1f487,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_getting_haircut_medium_skin_tone", new String(new int[] {0x1f487,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_getting_haircut_tone1", new String(new int[] {0x1f487,0x1f3fb,0x2642}, 0, 3)); + } + private static void init16(){ + _addEntry("man_getting_haircut_tone2", new String(new int[] {0x1f487,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_getting_haircut_tone3", new String(new int[] {0x1f487,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_getting_haircut_tone4", new String(new int[] {0x1f487,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_getting_haircut_tone5", new String(new int[] {0x1f487,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_golfing", new String(new int[] {0x1f3cc,0x2642}, 0, 2)); + _addEntry("man_golfing_dark_skin_tone", new String(new int[] {0x1f3cc,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_golfing_light_skin_tone", new String(new int[] {0x1f3cc,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_golfing_medium_dark_skin_tone", new String(new int[] {0x1f3cc,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_golfing_medium_light_skin_tone", new String(new int[] {0x1f3cc,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_golfing_medium_skin_tone", new String(new int[] {0x1f3cc,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_golfing_tone1", new String(new int[] {0x1f3cc,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_golfing_tone2", new String(new int[] {0x1f3cc,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_golfing_tone3", new String(new int[] {0x1f3cc,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_golfing_tone4", new String(new int[] {0x1f3cc,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_golfing_tone5", new String(new int[] {0x1f3cc,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_guard", new String(new int[] {0x1f482,0x2642}, 0, 2)); + _addEntry("man_guard_dark_skin_tone", new String(new int[] {0x1f482,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_guard_light_skin_tone", new String(new int[] {0x1f482,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_guard_medium_dark_skin_tone", new String(new int[] {0x1f482,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_guard_medium_light_skin_tone", new String(new int[] {0x1f482,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_guard_medium_skin_tone", new String(new int[] {0x1f482,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_guard_tone1", new String(new int[] {0x1f482,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_guard_tone2", new String(new int[] {0x1f482,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_guard_tone3", new String(new int[] {0x1f482,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_guard_tone4", new String(new int[] {0x1f482,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_guard_tone5", new String(new int[] {0x1f482,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_health_worker", new String(new int[] {0x1f468,0x2695}, 0, 2)); + _addEntry("man_health_worker_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x2695}, 0, 3)); + _addEntry("man_health_worker_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x2695}, 0, 3)); + _addEntry("man_health_worker_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x2695}, 0, 3)); + _addEntry("man_health_worker_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x2695}, 0, 3)); + _addEntry("man_health_worker_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x2695}, 0, 3)); + _addEntry("man_health_worker_tone1", new String(new int[] {0x1f468,0x1f3fb,0x2695}, 0, 3)); + _addEntry("man_health_worker_tone2", new String(new int[] {0x1f468,0x1f3fc,0x2695}, 0, 3)); + _addEntry("man_health_worker_tone3", new String(new int[] {0x1f468,0x1f3fd,0x2695}, 0, 3)); + _addEntry("man_health_worker_tone4", new String(new int[] {0x1f468,0x1f3fe,0x2695}, 0, 3)); + _addEntry("man_health_worker_tone5", new String(new int[] {0x1f468,0x1f3ff,0x2695}, 0, 3)); + _addEntry("man_in_business_suit_levitating", new String(new int[] {0x1f574}, 0, 1)); + _addEntry("man_in_business_suit_levitating_dark_skin_tone", new String(new int[] {0x1f574,0x1f3ff}, 0, 2)); + _addEntry("man_in_business_suit_levitating_light_skin_tone", new String(new int[] {0x1f574,0x1f3fb}, 0, 2)); + _addEntry("man_in_business_suit_levitating_medium_dark_skin_tone", new String(new int[] {0x1f574,0x1f3fe}, 0, 2)); + _addEntry("man_in_business_suit_levitating_medium_light_skin_tone", new String(new int[] {0x1f574,0x1f3fc}, 0, 2)); + _addEntry("man_in_business_suit_levitating_medium_skin_tone", new String(new int[] {0x1f574,0x1f3fd}, 0, 2)); + _addEntry("man_in_business_suit_levitating_tone1", new String(new int[] {0x1f574,0x1f3fb}, 0, 2)); + _addEntry("man_in_business_suit_levitating_tone2", new String(new int[] {0x1f574,0x1f3fc}, 0, 2)); + _addEntry("man_in_business_suit_levitating_tone3", new String(new int[] {0x1f574,0x1f3fd}, 0, 2)); + _addEntry("man_in_business_suit_levitating_tone4", new String(new int[] {0x1f574,0x1f3fe}, 0, 2)); + _addEntry("man_in_business_suit_levitating_tone5", new String(new int[] {0x1f574,0x1f3ff}, 0, 2)); + _addEntry("man_in_tuxedo", new String(new int[] {0x1f935}, 0, 1)); + _addEntry("man_in_tuxedo_tone1", new String(new int[] {0x1f935,0x1f3fb}, 0, 2)); + _addEntry("man_in_tuxedo_tone2", new String(new int[] {0x1f935,0x1f3fc}, 0, 2)); + _addEntry("man_in_tuxedo_tone3", new String(new int[] {0x1f935,0x1f3fd}, 0, 2)); + _addEntry("man_in_tuxedo_tone4", new String(new int[] {0x1f935,0x1f3fe}, 0, 2)); + _addEntry("man_in_tuxedo_tone5", new String(new int[] {0x1f935,0x1f3ff}, 0, 2)); + _addEntry("man_judge", new String(new int[] {0x1f468,0x2696}, 0, 2)); + _addEntry("man_judge_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x2696}, 0, 3)); + _addEntry("man_judge_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x2696}, 0, 3)); + _addEntry("man_judge_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x2696}, 0, 3)); + _addEntry("man_judge_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x2696}, 0, 3)); + _addEntry("man_judge_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x2696}, 0, 3)); + _addEntry("man_judge_tone1", new String(new int[] {0x1f468,0x1f3fb,0x2696}, 0, 3)); + _addEntry("man_judge_tone2", new String(new int[] {0x1f468,0x1f3fc,0x2696}, 0, 3)); + _addEntry("man_judge_tone3", new String(new int[] {0x1f468,0x1f3fd,0x2696}, 0, 3)); + _addEntry("man_judge_tone4", new String(new int[] {0x1f468,0x1f3fe,0x2696}, 0, 3)); + _addEntry("man_judge_tone5", new String(new int[] {0x1f468,0x1f3ff,0x2696}, 0, 3)); + _addEntry("man_juggling", new String(new int[] {0x1f939,0x2642}, 0, 2)); + _addEntry("man_juggling_dark_skin_tone", new String(new int[] {0x1f939,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_juggling_light_skin_tone", new String(new int[] {0x1f939,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_juggling_medium_dark_skin_tone", new String(new int[] {0x1f939,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_juggling_medium_light_skin_tone", new String(new int[] {0x1f939,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_juggling_medium_skin_tone", new String(new int[] {0x1f939,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_juggling_tone1", new String(new int[] {0x1f939,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_juggling_tone2", new String(new int[] {0x1f939,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_juggling_tone3", new String(new int[] {0x1f939,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_juggling_tone4", new String(new int[] {0x1f939,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_juggling_tone5", new String(new int[] {0x1f939,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_lifting_weights", new String(new int[] {0x1f3cb,0x2642}, 0, 2)); + _addEntry("man_lifting_weights_dark_skin_tone", new String(new int[] {0x1f3cb,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_lifting_weights_light_skin_tone", new String(new int[] {0x1f3cb,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_lifting_weights_medium_dark_skin_tone", new String(new int[] {0x1f3cb,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_lifting_weights_medium_light_skin_tone", new String(new int[] {0x1f3cb,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_lifting_weights_medium_skin_tone", new String(new int[] {0x1f3cb,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_lifting_weights_tone1", new String(new int[] {0x1f3cb,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_lifting_weights_tone2", new String(new int[] {0x1f3cb,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_lifting_weights_tone3", new String(new int[] {0x1f3cb,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_lifting_weights_tone4", new String(new int[] {0x1f3cb,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_lifting_weights_tone5", new String(new int[] {0x1f3cb,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_mechanic", new String(new int[] {0x1f468,0x1f527}, 0, 2)); + _addEntry("man_mechanic_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x1f527}, 0, 3)); + _addEntry("man_mechanic_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x1f527}, 0, 3)); + _addEntry("man_mechanic_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x1f527}, 0, 3)); + _addEntry("man_mechanic_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x1f527}, 0, 3)); + _addEntry("man_mechanic_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x1f527}, 0, 3)); + _addEntry("man_mechanic_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f527}, 0, 3)); + _addEntry("man_mechanic_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f527}, 0, 3)); + _addEntry("man_mechanic_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f527}, 0, 3)); + _addEntry("man_mechanic_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f527}, 0, 3)); + _addEntry("man_mechanic_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f527}, 0, 3)); + _addEntry("man_mountain_biking", new String(new int[] {0x1f6b5,0x2642}, 0, 2)); + _addEntry("man_mountain_biking_dark_skin_tone", new String(new int[] {0x1f6b5,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_mountain_biking_light_skin_tone", new String(new int[] {0x1f6b5,0x1f3fb,0x2642}, 0, 3)); + } + private static void init17(){ + _addEntry("man_mountain_biking_medium_dark_skin_tone", new String(new int[] {0x1f6b5,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_mountain_biking_medium_light_skin_tone", new String(new int[] {0x1f6b5,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_mountain_biking_medium_skin_tone", new String(new int[] {0x1f6b5,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_mountain_biking_tone1", new String(new int[] {0x1f6b5,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_mountain_biking_tone2", new String(new int[] {0x1f6b5,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_mountain_biking_tone3", new String(new int[] {0x1f6b5,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_mountain_biking_tone4", new String(new int[] {0x1f6b5,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_mountain_biking_tone5", new String(new int[] {0x1f6b5,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_office_worker", new String(new int[] {0x1f468,0x1f4bc}, 0, 2)); + _addEntry("man_office_worker_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x1f4bc}, 0, 3)); + _addEntry("man_office_worker_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x1f4bc}, 0, 3)); + _addEntry("man_office_worker_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x1f4bc}, 0, 3)); + _addEntry("man_office_worker_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x1f4bc}, 0, 3)); + _addEntry("man_office_worker_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x1f4bc}, 0, 3)); + _addEntry("man_office_worker_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f4bc}, 0, 3)); + _addEntry("man_office_worker_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f4bc}, 0, 3)); + _addEntry("man_office_worker_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f4bc}, 0, 3)); + _addEntry("man_office_worker_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f4bc}, 0, 3)); + _addEntry("man_office_worker_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f4bc}, 0, 3)); + _addEntry("man_pilot", new String(new int[] {0x1f468,0x2708}, 0, 2)); + _addEntry("man_pilot_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x2708}, 0, 3)); + _addEntry("man_pilot_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x2708}, 0, 3)); + _addEntry("man_pilot_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x2708}, 0, 3)); + _addEntry("man_pilot_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x2708}, 0, 3)); + _addEntry("man_pilot_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x2708}, 0, 3)); + _addEntry("man_pilot_tone1", new String(new int[] {0x1f468,0x1f3fb,0x2708}, 0, 3)); + _addEntry("man_pilot_tone2", new String(new int[] {0x1f468,0x1f3fc,0x2708}, 0, 3)); + _addEntry("man_pilot_tone3", new String(new int[] {0x1f468,0x1f3fd,0x2708}, 0, 3)); + _addEntry("man_pilot_tone4", new String(new int[] {0x1f468,0x1f3fe,0x2708}, 0, 3)); + _addEntry("man_pilot_tone5", new String(new int[] {0x1f468,0x1f3ff,0x2708}, 0, 3)); + _addEntry("man_playing_handball", new String(new int[] {0x1f93e,0x2642}, 0, 2)); + _addEntry("man_playing_handball_dark_skin_tone", new String(new int[] {0x1f93e,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_playing_handball_light_skin_tone", new String(new int[] {0x1f93e,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_playing_handball_medium_dark_skin_tone", new String(new int[] {0x1f93e,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_playing_handball_medium_light_skin_tone", new String(new int[] {0x1f93e,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_playing_handball_medium_skin_tone", new String(new int[] {0x1f93e,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_playing_handball_tone1", new String(new int[] {0x1f93e,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_playing_handball_tone2", new String(new int[] {0x1f93e,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_playing_handball_tone3", new String(new int[] {0x1f93e,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_playing_handball_tone4", new String(new int[] {0x1f93e,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_playing_handball_tone5", new String(new int[] {0x1f93e,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_playing_water_polo", new String(new int[] {0x1f93d,0x2642}, 0, 2)); + _addEntry("man_playing_water_polo_dark_skin_tone", new String(new int[] {0x1f93d,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_playing_water_polo_light_skin_tone", new String(new int[] {0x1f93d,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_playing_water_polo_medium_dark_skin_tone", new String(new int[] {0x1f93d,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_playing_water_polo_medium_light_skin_tone", new String(new int[] {0x1f93d,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_playing_water_polo_medium_skin_tone", new String(new int[] {0x1f93d,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_playing_water_polo_tone1", new String(new int[] {0x1f93d,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_playing_water_polo_tone2", new String(new int[] {0x1f93d,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_playing_water_polo_tone3", new String(new int[] {0x1f93d,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_playing_water_polo_tone4", new String(new int[] {0x1f93d,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_playing_water_polo_tone5", new String(new int[] {0x1f93d,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_police_officer", new String(new int[] {0x1f46e,0x2642}, 0, 2)); + _addEntry("man_police_officer_dark_skin_tone", new String(new int[] {0x1f46e,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_police_officer_light_skin_tone", new String(new int[] {0x1f46e,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_police_officer_medium_dark_skin_tone", new String(new int[] {0x1f46e,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_police_officer_medium_light_skin_tone", new String(new int[] {0x1f46e,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_police_officer_medium_skin_tone", new String(new int[] {0x1f46e,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_police_officer_tone1", new String(new int[] {0x1f46e,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_police_officer_tone2", new String(new int[] {0x1f46e,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_police_officer_tone3", new String(new int[] {0x1f46e,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_police_officer_tone4", new String(new int[] {0x1f46e,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_police_officer_tone5", new String(new int[] {0x1f46e,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_pouting", new String(new int[] {0x1f64e,0x2642}, 0, 2)); + _addEntry("man_pouting_dark_skin_tone", new String(new int[] {0x1f64e,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_pouting_light_skin_tone", new String(new int[] {0x1f64e,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_pouting_medium_dark_skin_tone", new String(new int[] {0x1f64e,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_pouting_medium_light_skin_tone", new String(new int[] {0x1f64e,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_pouting_medium_skin_tone", new String(new int[] {0x1f64e,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_pouting_tone1", new String(new int[] {0x1f64e,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_pouting_tone2", new String(new int[] {0x1f64e,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_pouting_tone3", new String(new int[] {0x1f64e,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_pouting_tone4", new String(new int[] {0x1f64e,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_pouting_tone5", new String(new int[] {0x1f64e,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_raising_hand", new String(new int[] {0x1f64b,0x2642}, 0, 2)); + _addEntry("man_raising_hand_dark_skin_tone", new String(new int[] {0x1f64b,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_raising_hand_light_skin_tone", new String(new int[] {0x1f64b,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_raising_hand_medium_dark_skin_tone", new String(new int[] {0x1f64b,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_raising_hand_medium_light_skin_tone", new String(new int[] {0x1f64b,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_raising_hand_medium_skin_tone", new String(new int[] {0x1f64b,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_raising_hand_tone1", new String(new int[] {0x1f64b,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_raising_hand_tone2", new String(new int[] {0x1f64b,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_raising_hand_tone3", new String(new int[] {0x1f64b,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_raising_hand_tone4", new String(new int[] {0x1f64b,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_raising_hand_tone5", new String(new int[] {0x1f64b,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_rowing_boat", new String(new int[] {0x1f6a3,0x2642}, 0, 2)); + _addEntry("man_rowing_boat_dark_skin_tone", new String(new int[] {0x1f6a3,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_rowing_boat_light_skin_tone", new String(new int[] {0x1f6a3,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_rowing_boat_medium_dark_skin_tone", new String(new int[] {0x1f6a3,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_rowing_boat_medium_light_skin_tone", new String(new int[] {0x1f6a3,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_rowing_boat_medium_skin_tone", new String(new int[] {0x1f6a3,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_rowing_boat_tone1", new String(new int[] {0x1f6a3,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_rowing_boat_tone2", new String(new int[] {0x1f6a3,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_rowing_boat_tone3", new String(new int[] {0x1f6a3,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_rowing_boat_tone4", new String(new int[] {0x1f6a3,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_rowing_boat_tone5", new String(new int[] {0x1f6a3,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_running", new String(new int[] {0x1f3c3,0x2642}, 0, 2)); + _addEntry("man_running_dark_skin_tone", new String(new int[] {0x1f3c3,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_running_light_skin_tone", new String(new int[] {0x1f3c3,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_running_medium_dark_skin_tone", new String(new int[] {0x1f3c3,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_running_medium_light_skin_tone", new String(new int[] {0x1f3c3,0x1f3fc,0x2642}, 0, 3)); + } + private static void init18(){ + _addEntry("man_running_medium_skin_tone", new String(new int[] {0x1f3c3,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_running_tone1", new String(new int[] {0x1f3c3,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_running_tone2", new String(new int[] {0x1f3c3,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_running_tone3", new String(new int[] {0x1f3c3,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_running_tone4", new String(new int[] {0x1f3c3,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_running_tone5", new String(new int[] {0x1f3c3,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_scientist", new String(new int[] {0x1f468,0x1f52c}, 0, 2)); + _addEntry("man_scientist_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x1f52c}, 0, 3)); + _addEntry("man_scientist_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x1f52c}, 0, 3)); + _addEntry("man_scientist_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x1f52c}, 0, 3)); + _addEntry("man_scientist_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x1f52c}, 0, 3)); + _addEntry("man_scientist_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x1f52c}, 0, 3)); + _addEntry("man_scientist_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f52c}, 0, 3)); + _addEntry("man_scientist_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f52c}, 0, 3)); + _addEntry("man_scientist_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f52c}, 0, 3)); + _addEntry("man_scientist_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f52c}, 0, 3)); + _addEntry("man_scientist_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f52c}, 0, 3)); + _addEntry("man_shrugging", new String(new int[] {0x1f937,0x2642}, 0, 2)); + _addEntry("man_shrugging_dark_skin_tone", new String(new int[] {0x1f937,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_shrugging_light_skin_tone", new String(new int[] {0x1f937,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_shrugging_medium_dark_skin_tone", new String(new int[] {0x1f937,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_shrugging_medium_light_skin_tone", new String(new int[] {0x1f937,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_shrugging_medium_skin_tone", new String(new int[] {0x1f937,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_shrugging_tone1", new String(new int[] {0x1f937,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_shrugging_tone2", new String(new int[] {0x1f937,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_shrugging_tone3", new String(new int[] {0x1f937,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_shrugging_tone4", new String(new int[] {0x1f937,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_shrugging_tone5", new String(new int[] {0x1f937,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_singer", new String(new int[] {0x1f468,0x1f3a4}, 0, 2)); + _addEntry("man_singer_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x1f3a4}, 0, 3)); + _addEntry("man_singer_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x1f3a4}, 0, 3)); + _addEntry("man_singer_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x1f3a4}, 0, 3)); + _addEntry("man_singer_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x1f3a4}, 0, 3)); + _addEntry("man_singer_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x1f3a4}, 0, 3)); + _addEntry("man_singer_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f3a4}, 0, 3)); + _addEntry("man_singer_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f3a4}, 0, 3)); + _addEntry("man_singer_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f3a4}, 0, 3)); + _addEntry("man_singer_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f3a4}, 0, 3)); + _addEntry("man_singer_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f3a4}, 0, 3)); + _addEntry("man_student", new String(new int[] {0x1f468,0x1f393}, 0, 2)); + _addEntry("man_student_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x1f393}, 0, 3)); + _addEntry("man_student_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x1f393}, 0, 3)); + _addEntry("man_student_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x1f393}, 0, 3)); + _addEntry("man_student_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x1f393}, 0, 3)); + _addEntry("man_student_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x1f393}, 0, 3)); + _addEntry("man_student_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f393}, 0, 3)); + _addEntry("man_student_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f393}, 0, 3)); + _addEntry("man_student_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f393}, 0, 3)); + _addEntry("man_student_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f393}, 0, 3)); + _addEntry("man_student_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f393}, 0, 3)); + _addEntry("man_surfing", new String(new int[] {0x1f3c4,0x2642}, 0, 2)); + _addEntry("man_surfing_dark_skin_tone", new String(new int[] {0x1f3c4,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_surfing_light_skin_tone", new String(new int[] {0x1f3c4,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_surfing_medium_dark_skin_tone", new String(new int[] {0x1f3c4,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_surfing_medium_light_skin_tone", new String(new int[] {0x1f3c4,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_surfing_medium_skin_tone", new String(new int[] {0x1f3c4,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_surfing_tone1", new String(new int[] {0x1f3c4,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_surfing_tone2", new String(new int[] {0x1f3c4,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_surfing_tone3", new String(new int[] {0x1f3c4,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_surfing_tone4", new String(new int[] {0x1f3c4,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_surfing_tone5", new String(new int[] {0x1f3c4,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_swimming", new String(new int[] {0x1f3ca,0x2642}, 0, 2)); + _addEntry("man_swimming_dark_skin_tone", new String(new int[] {0x1f3ca,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_swimming_light_skin_tone", new String(new int[] {0x1f3ca,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_swimming_medium_dark_skin_tone", new String(new int[] {0x1f3ca,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_swimming_medium_light_skin_tone", new String(new int[] {0x1f3ca,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_swimming_medium_skin_tone", new String(new int[] {0x1f3ca,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_swimming_tone1", new String(new int[] {0x1f3ca,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_swimming_tone2", new String(new int[] {0x1f3ca,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_swimming_tone3", new String(new int[] {0x1f3ca,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_swimming_tone4", new String(new int[] {0x1f3ca,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_swimming_tone5", new String(new int[] {0x1f3ca,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_teacher", new String(new int[] {0x1f468,0x1f3eb}, 0, 2)); + _addEntry("man_teacher_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x1f3eb}, 0, 3)); + _addEntry("man_teacher_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x1f3eb}, 0, 3)); + _addEntry("man_teacher_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x1f3eb}, 0, 3)); + _addEntry("man_teacher_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x1f3eb}, 0, 3)); + _addEntry("man_teacher_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x1f3eb}, 0, 3)); + _addEntry("man_teacher_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f3eb}, 0, 3)); + _addEntry("man_teacher_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f3eb}, 0, 3)); + _addEntry("man_teacher_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f3eb}, 0, 3)); + _addEntry("man_teacher_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f3eb}, 0, 3)); + _addEntry("man_teacher_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f3eb}, 0, 3)); + _addEntry("man_technologist", new String(new int[] {0x1f468,0x1f4bb}, 0, 2)); + _addEntry("man_technologist_dark_skin_tone", new String(new int[] {0x1f468,0x1f3ff,0x1f4bb}, 0, 3)); + _addEntry("man_technologist_light_skin_tone", new String(new int[] {0x1f468,0x1f3fb,0x1f4bb}, 0, 3)); + _addEntry("man_technologist_medium_dark_skin_tone", new String(new int[] {0x1f468,0x1f3fe,0x1f4bb}, 0, 3)); + _addEntry("man_technologist_medium_light_skin_tone", new String(new int[] {0x1f468,0x1f3fc,0x1f4bb}, 0, 3)); + _addEntry("man_technologist_medium_skin_tone", new String(new int[] {0x1f468,0x1f3fd,0x1f4bb}, 0, 3)); + _addEntry("man_technologist_tone1", new String(new int[] {0x1f468,0x1f3fb,0x1f4bb}, 0, 3)); + _addEntry("man_technologist_tone2", new String(new int[] {0x1f468,0x1f3fc,0x1f4bb}, 0, 3)); + _addEntry("man_technologist_tone3", new String(new int[] {0x1f468,0x1f3fd,0x1f4bb}, 0, 3)); + _addEntry("man_technologist_tone4", new String(new int[] {0x1f468,0x1f3fe,0x1f4bb}, 0, 3)); + _addEntry("man_technologist_tone5", new String(new int[] {0x1f468,0x1f3ff,0x1f4bb}, 0, 3)); + _addEntry("man_tipping_hand", new String(new int[] {0x1f481,0x2642}, 0, 2)); + _addEntry("man_tipping_hand_dark_skin_tone", new String(new int[] {0x1f481,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_tipping_hand_light_skin_tone", new String(new int[] {0x1f481,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_tipping_hand_medium_dark_skin_tone", new String(new int[] {0x1f481,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_tipping_hand_medium_light_skin_tone", new String(new int[] {0x1f481,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_tipping_hand_medium_skin_tone", new String(new int[] {0x1f481,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_tipping_hand_tone1", new String(new int[] {0x1f481,0x1f3fb,0x2642}, 0, 3)); + } + private static void init19(){ + _addEntry("man_tipping_hand_tone2", new String(new int[] {0x1f481,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_tipping_hand_tone3", new String(new int[] {0x1f481,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_tipping_hand_tone4", new String(new int[] {0x1f481,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_tipping_hand_tone5", new String(new int[] {0x1f481,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_tone1", new String(new int[] {0x1f468,0x1f3fb}, 0, 2)); + _addEntry("man_tone2", new String(new int[] {0x1f468,0x1f3fc}, 0, 2)); + _addEntry("man_tone3", new String(new int[] {0x1f468,0x1f3fd}, 0, 2)); + _addEntry("man_tone4", new String(new int[] {0x1f468,0x1f3fe}, 0, 2)); + _addEntry("man_tone5", new String(new int[] {0x1f468,0x1f3ff}, 0, 2)); + _addEntry("man_walking", new String(new int[] {0x1f6b6,0x2642}, 0, 2)); + _addEntry("man_walking_dark_skin_tone", new String(new int[] {0x1f6b6,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_walking_light_skin_tone", new String(new int[] {0x1f6b6,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_walking_medium_dark_skin_tone", new String(new int[] {0x1f6b6,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_walking_medium_light_skin_tone", new String(new int[] {0x1f6b6,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_walking_medium_skin_tone", new String(new int[] {0x1f6b6,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_walking_tone1", new String(new int[] {0x1f6b6,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_walking_tone2", new String(new int[] {0x1f6b6,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_walking_tone3", new String(new int[] {0x1f6b6,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_walking_tone4", new String(new int[] {0x1f6b6,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_walking_tone5", new String(new int[] {0x1f6b6,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_wearing_turban", new String(new int[] {0x1f473,0x2642}, 0, 2)); + _addEntry("man_wearing_turban_dark_skin_tone", new String(new int[] {0x1f473,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_wearing_turban_light_skin_tone", new String(new int[] {0x1f473,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_wearing_turban_medium_dark_skin_tone", new String(new int[] {0x1f473,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_wearing_turban_medium_light_skin_tone", new String(new int[] {0x1f473,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_wearing_turban_medium_skin_tone", new String(new int[] {0x1f473,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_wearing_turban_tone1", new String(new int[] {0x1f473,0x1f3fb,0x2642}, 0, 3)); + _addEntry("man_wearing_turban_tone2", new String(new int[] {0x1f473,0x1f3fc,0x2642}, 0, 3)); + _addEntry("man_wearing_turban_tone3", new String(new int[] {0x1f473,0x1f3fd,0x2642}, 0, 3)); + _addEntry("man_wearing_turban_tone4", new String(new int[] {0x1f473,0x1f3fe,0x2642}, 0, 3)); + _addEntry("man_wearing_turban_tone5", new String(new int[] {0x1f473,0x1f3ff,0x2642}, 0, 3)); + _addEntry("man_with_gua_pi_mao", new String(new int[] {0x1f472}, 0, 1)); + _addEntry("man_with_gua_pi_mao_tone1", new String(new int[] {0x1f472,0x1f3fb}, 0, 2)); + _addEntry("man_with_gua_pi_mao_tone2", new String(new int[] {0x1f472,0x1f3fc}, 0, 2)); + _addEntry("man_with_gua_pi_mao_tone3", new String(new int[] {0x1f472,0x1f3fd}, 0, 2)); + _addEntry("man_with_gua_pi_mao_tone4", new String(new int[] {0x1f472,0x1f3fe}, 0, 2)); + _addEntry("man_with_gua_pi_mao_tone5", new String(new int[] {0x1f472,0x1f3ff}, 0, 2)); + _addEntry("man_with_turban", new String(new int[] {0x1f473}, 0, 1)); + _addEntry("man_with_turban_tone1", new String(new int[] {0x1f473,0x1f3fb}, 0, 2)); + _addEntry("man_with_turban_tone2", new String(new int[] {0x1f473,0x1f3fc}, 0, 2)); + _addEntry("man_with_turban_tone3", new String(new int[] {0x1f473,0x1f3fd}, 0, 2)); + _addEntry("man_with_turban_tone4", new String(new int[] {0x1f473,0x1f3fe}, 0, 2)); + _addEntry("man_with_turban_tone5", new String(new int[] {0x1f473,0x1f3ff}, 0, 2)); + _addEntry("mans_shoe", new String(new int[] {0x1f45e}, 0, 1)); + _addEntry("mantlepiece_clock", new String(new int[] {0x1f570}, 0, 1)); + _addEntry("map", new String(new int[] {0x1f5fa}, 0, 1)); + _addEntry("maple_leaf", new String(new int[] {0x1f341}, 0, 1)); + _addEntry("martial_arts_uniform", new String(new int[] {0x1f94b}, 0, 1)); + _addEntry("mask", new String(new int[] {0x1f637}, 0, 1)); + _addEntry("massage", new String(new int[] {0x1f486}, 0, 1)); + _addEntry("massage_tone1", new String(new int[] {0x1f486,0x1f3fb}, 0, 2)); + _addEntry("massage_tone2", new String(new int[] {0x1f486,0x1f3fc}, 0, 2)); + _addEntry("massage_tone3", new String(new int[] {0x1f486,0x1f3fd}, 0, 2)); + _addEntry("massage_tone4", new String(new int[] {0x1f486,0x1f3fe}, 0, 2)); + _addEntry("massage_tone5", new String(new int[] {0x1f486,0x1f3ff}, 0, 2)); + _addEntry("mc", new String(new int[] {0x1f1f2,0x1f1e8}, 0, 2)); + _addEntry("md", new String(new int[] {0x1f1f2,0x1f1e9}, 0, 2)); + _addEntry("me", new String(new int[] {0x1f1f2,0x1f1ea}, 0, 2)); + _addEntry("meat_on_bone", new String(new int[] {0x1f356}, 0, 1)); + _addEntry("medal", new String(new int[] {0x1f3c5}, 0, 1)); + _addEntry("medical_symbol", new String(new int[] {0x2695}, 0, 1)); + _addEntry("mega", new String(new int[] {0x1f4e3}, 0, 1)); + _addEntry("melon", new String(new int[] {0x1f348}, 0, 1)); + _addEntry("men_with_bunny_ears_partying", new String(new int[] {0x1f46f,0x2642}, 0, 2)); + _addEntry("men_wrestling", new String(new int[] {0x1f93c,0x2642}, 0, 2)); + _addEntry("menorah", new String(new int[] {0x1f54e}, 0, 1)); + _addEntry("mens", new String(new int[] {0x1f6b9}, 0, 1)); + _addEntry("metal", new String(new int[] {0x1f918}, 0, 1)); + _addEntry("metal_tone1", new String(new int[] {0x1f918,0x1f3fb}, 0, 2)); + _addEntry("metal_tone2", new String(new int[] {0x1f918,0x1f3fc}, 0, 2)); + _addEntry("metal_tone3", new String(new int[] {0x1f918,0x1f3fd}, 0, 2)); + _addEntry("metal_tone4", new String(new int[] {0x1f918,0x1f3fe}, 0, 2)); + _addEntry("metal_tone5", new String(new int[] {0x1f918,0x1f3ff}, 0, 2)); + _addEntry("metro", new String(new int[] {0x1f687}, 0, 1)); + _addEntry("mf", new String(new int[] {0x1f1f2,0x1f1eb}, 0, 2)); + _addEntry("mg", new String(new int[] {0x1f1f2,0x1f1ec}, 0, 2)); + _addEntry("mh", new String(new int[] {0x1f1f2,0x1f1ed}, 0, 2)); + _addEntry("microphone", new String(new int[] {0x1f3a4}, 0, 1)); + _addEntry("microphone2", new String(new int[] {0x1f399}, 0, 1)); + _addEntry("microscope", new String(new int[] {0x1f52c}, 0, 1)); + _addEntry("middle_finger", new String(new int[] {0x1f595}, 0, 1)); + _addEntry("middle_finger_tone1", new String(new int[] {0x1f595,0x1f3fb}, 0, 2)); + _addEntry("middle_finger_tone2", new String(new int[] {0x1f595,0x1f3fc}, 0, 2)); + _addEntry("middle_finger_tone3", new String(new int[] {0x1f595,0x1f3fd}, 0, 2)); + _addEntry("middle_finger_tone4", new String(new int[] {0x1f595,0x1f3fe}, 0, 2)); + _addEntry("middle_finger_tone5", new String(new int[] {0x1f595,0x1f3ff}, 0, 2)); + _addEntry("military_medal", new String(new int[] {0x1f396}, 0, 1)); + _addEntry("milk", new String(new int[] {0x1f95b}, 0, 1)); + _addEntry("milky_way", new String(new int[] {0x1f30c}, 0, 1)); + _addEntry("minibus", new String(new int[] {0x1f690}, 0, 1)); + _addEntry("minidisc", new String(new int[] {0x1f4bd}, 0, 1)); + _addEntry("mk", new String(new int[] {0x1f1f2,0x1f1f0}, 0, 2)); + _addEntry("ml", new String(new int[] {0x1f1f2,0x1f1f1}, 0, 2)); + _addEntry("mm", new String(new int[] {0x1f1f2,0x1f1f2}, 0, 2)); + _addEntry("mn", new String(new int[] {0x1f1f2,0x1f1f3}, 0, 2)); + _addEntry("mo", new String(new int[] {0x1f1f2,0x1f1f4}, 0, 2)); + _addEntry("mobile_phone_off", new String(new int[] {0x1f4f4}, 0, 1)); + _addEntry("money_mouth", new String(new int[] {0x1f911}, 0, 1)); + _addEntry("money_mouth_face", new String(new int[] {0x1f911}, 0, 1)); + _addEntry("money_with_wings", new String(new int[] {0x1f4b8}, 0, 1)); + _addEntry("moneybag", new String(new int[] {0x1f4b0}, 0, 1)); + } + private static void init20(){ + _addEntry("monkey", new String(new int[] {0x1f412}, 0, 1)); + _addEntry("monkey_face", new String(new int[] {0x1f435}, 0, 1)); + _addEntry("monorail", new String(new int[] {0x1f69d}, 0, 1)); + _addEntry("mortar_board", new String(new int[] {0x1f393}, 0, 1)); + _addEntry("mosque", new String(new int[] {0x1f54c}, 0, 1)); + _addEntry("mother_christmas", new String(new int[] {0x1f936}, 0, 1)); + _addEntry("mother_christmas_tone1", new String(new int[] {0x1f936,0x1f3fb}, 0, 2)); + _addEntry("mother_christmas_tone2", new String(new int[] {0x1f936,0x1f3fc}, 0, 2)); + _addEntry("mother_christmas_tone3", new String(new int[] {0x1f936,0x1f3fd}, 0, 2)); + _addEntry("mother_christmas_tone4", new String(new int[] {0x1f936,0x1f3fe}, 0, 2)); + _addEntry("mother_christmas_tone5", new String(new int[] {0x1f936,0x1f3ff}, 0, 2)); + _addEntry("motor_scooter", new String(new int[] {0x1f6f5}, 0, 1)); + _addEntry("motorbike", new String(new int[] {0x1f6f5}, 0, 1)); + _addEntry("motorboat", new String(new int[] {0x1f6e5}, 0, 1)); + _addEntry("motorcycle", new String(new int[] {0x1f3cd}, 0, 1)); + _addEntry("motorway", new String(new int[] {0x1f6e3}, 0, 1)); + _addEntry("mount_fuji", new String(new int[] {0x1f5fb}, 0, 1)); + _addEntry("mountain", new String(new int[] {0x26f0}, 0, 1)); + _addEntry("mountain_bicyclist", new String(new int[] {0x1f6b5}, 0, 1)); + _addEntry("mountain_bicyclist_tone1", new String(new int[] {0x1f6b5,0x1f3fb}, 0, 2)); + _addEntry("mountain_bicyclist_tone2", new String(new int[] {0x1f6b5,0x1f3fc}, 0, 2)); + _addEntry("mountain_bicyclist_tone3", new String(new int[] {0x1f6b5,0x1f3fd}, 0, 2)); + _addEntry("mountain_bicyclist_tone4", new String(new int[] {0x1f6b5,0x1f3fe}, 0, 2)); + _addEntry("mountain_bicyclist_tone5", new String(new int[] {0x1f6b5,0x1f3ff}, 0, 2)); + _addEntry("mountain_cableway", new String(new int[] {0x1f6a0}, 0, 1)); + _addEntry("mountain_railway", new String(new int[] {0x1f69e}, 0, 1)); + _addEntry("mountain_snow", new String(new int[] {0x1f3d4}, 0, 1)); + _addEntry("mouse", new String(new int[] {0x1f42d}, 0, 1)); + _addEntry("mouse2", new String(new int[] {0x1f401}, 0, 1)); + _addEntry("mouse_three_button", new String(new int[] {0x1f5b1}, 0, 1)); + _addEntry("movie_camera", new String(new int[] {0x1f3a5}, 0, 1)); + _addEntry("moyai", new String(new int[] {0x1f5ff}, 0, 1)); + _addEntry("mp", new String(new int[] {0x1f1f2,0x1f1f5}, 0, 2)); + _addEntry("mq", new String(new int[] {0x1f1f2,0x1f1f6}, 0, 2)); + _addEntry("mr", new String(new int[] {0x1f1f2,0x1f1f7}, 0, 2)); + _addEntry("mrs_claus", new String(new int[] {0x1f936}, 0, 1)); + _addEntry("mrs_claus_tone1", new String(new int[] {0x1f936,0x1f3fb}, 0, 2)); + _addEntry("mrs_claus_tone2", new String(new int[] {0x1f936,0x1f3fc}, 0, 2)); + _addEntry("mrs_claus_tone3", new String(new int[] {0x1f936,0x1f3fd}, 0, 2)); + _addEntry("mrs_claus_tone4", new String(new int[] {0x1f936,0x1f3fe}, 0, 2)); + _addEntry("mrs_claus_tone5", new String(new int[] {0x1f936,0x1f3ff}, 0, 2)); + _addEntry("ms", new String(new int[] {0x1f1f2,0x1f1f8}, 0, 2)); + _addEntry("mt", new String(new int[] {0x1f1f2,0x1f1f9}, 0, 2)); + _addEntry("mu", new String(new int[] {0x1f1f2,0x1f1fa}, 0, 2)); + _addEntry("muscle", new String(new int[] {0x1f4aa}, 0, 1)); + _addEntry("muscle_tone1", new String(new int[] {0x1f4aa,0x1f3fb}, 0, 2)); + _addEntry("muscle_tone2", new String(new int[] {0x1f4aa,0x1f3fc}, 0, 2)); + _addEntry("muscle_tone3", new String(new int[] {0x1f4aa,0x1f3fd}, 0, 2)); + _addEntry("muscle_tone4", new String(new int[] {0x1f4aa,0x1f3fe}, 0, 2)); + _addEntry("muscle_tone5", new String(new int[] {0x1f4aa,0x1f3ff}, 0, 2)); + _addEntry("mushroom", new String(new int[] {0x1f344}, 0, 1)); + _addEntry("musical_keyboard", new String(new int[] {0x1f3b9}, 0, 1)); + _addEntry("musical_note", new String(new int[] {0x1f3b5}, 0, 1)); + _addEntry("musical_score", new String(new int[] {0x1f3bc}, 0, 1)); + _addEntry("mute", new String(new int[] {0x1f507}, 0, 1)); + _addEntry("mv", new String(new int[] {0x1f1f2,0x1f1fb}, 0, 2)); + _addEntry("mw", new String(new int[] {0x1f1f2,0x1f1fc}, 0, 2)); + _addEntry("mx", new String(new int[] {0x1f1f2,0x1f1fd}, 0, 2)); + _addEntry("my", new String(new int[] {0x1f1f2,0x1f1fe}, 0, 2)); + _addEntry("mz", new String(new int[] {0x1f1f2,0x1f1ff}, 0, 2)); + _addEntry("na", new String(new int[] {0x1f1f3,0x1f1e6}, 0, 2)); + _addEntry("nail_care", new String(new int[] {0x1f485}, 0, 1)); + _addEntry("nail_care_tone1", new String(new int[] {0x1f485,0x1f3fb}, 0, 2)); + _addEntry("nail_care_tone2", new String(new int[] {0x1f485,0x1f3fc}, 0, 2)); + _addEntry("nail_care_tone3", new String(new int[] {0x1f485,0x1f3fd}, 0, 2)); + _addEntry("nail_care_tone4", new String(new int[] {0x1f485,0x1f3fe}, 0, 2)); + _addEntry("nail_care_tone5", new String(new int[] {0x1f485,0x1f3ff}, 0, 2)); + _addEntry("name_badge", new String(new int[] {0x1f4db}, 0, 1)); + _addEntry("national_park", new String(new int[] {0x1f3de}, 0, 1)); + _addEntry("nauseated_face", new String(new int[] {0x1f922}, 0, 1)); + _addEntry("nc", new String(new int[] {0x1f1f3,0x1f1e8}, 0, 2)); + _addEntry("ne", new String(new int[] {0x1f1f3,0x1f1ea}, 0, 2)); + _addEntry("necktie", new String(new int[] {0x1f454}, 0, 1)); + _addEntry("negative_squared_cross_mark", new String(new int[] {0x274e}, 0, 1)); + _addEntry("nerd", new String(new int[] {0x1f913}, 0, 1)); + _addEntry("nerd_face", new String(new int[] {0x1f913}, 0, 1)); + _addEntry("neutral_face", new String(new int[] {0x1f610}, 0, 1)); + _addEntry("new", new String(new int[] {0x1f195}, 0, 1)); + _addEntry("new_moon", new String(new int[] {0x1f311}, 0, 1)); + _addEntry("new_moon_with_face", new String(new int[] {0x1f31a}, 0, 1)); + _addEntry("newspaper", new String(new int[] {0x1f4f0}, 0, 1)); + _addEntry("newspaper2", new String(new int[] {0x1f5de}, 0, 1)); + _addEntry("next_track", new String(new int[] {0x23ed}, 0, 1)); + _addEntry("nf", new String(new int[] {0x1f1f3,0x1f1eb}, 0, 2)); + _addEntry("ng", new String(new int[] {0x1f196}, 0, 1)); + _addEntry("ni", new String(new int[] {0x1f1f3,0x1f1ee}, 0, 2)); + _addEntry("nigeria", new String(new int[] {0x1f1f3,0x1f1ec}, 0, 2)); + _addEntry("night_with_stars", new String(new int[] {0x1f303}, 0, 1)); + _addEntry("nine", new String(new int[] {0x0039,0x20e3}, 0, 2)); + _addEntry("nl", new String(new int[] {0x1f1f3,0x1f1f1}, 0, 2)); + _addEntry("no", new String(new int[] {0x1f1f3,0x1f1f4}, 0, 2)); + _addEntry("no_bell", new String(new int[] {0x1f515}, 0, 1)); + _addEntry("no_bicycles", new String(new int[] {0x1f6b3}, 0, 1)); + _addEntry("no_entry", new String(new int[] {0x26d4}, 0, 1)); + _addEntry("no_entry_sign", new String(new int[] {0x1f6ab}, 0, 1)); + _addEntry("no_good", new String(new int[] {0x1f645}, 0, 1)); + _addEntry("no_good_tone1", new String(new int[] {0x1f645,0x1f3fb}, 0, 2)); + _addEntry("no_good_tone2", new String(new int[] {0x1f645,0x1f3fc}, 0, 2)); + _addEntry("no_good_tone3", new String(new int[] {0x1f645,0x1f3fd}, 0, 2)); + _addEntry("no_good_tone4", new String(new int[] {0x1f645,0x1f3fe}, 0, 2)); + _addEntry("no_good_tone5", new String(new int[] {0x1f645,0x1f3ff}, 0, 2)); + } + private static void init21(){ + _addEntry("no_mobile_phones", new String(new int[] {0x1f4f5}, 0, 1)); + _addEntry("no_mouth", new String(new int[] {0x1f636}, 0, 1)); + _addEntry("no_pedestrians", new String(new int[] {0x1f6b7}, 0, 1)); + _addEntry("no_smoking", new String(new int[] {0x1f6ad}, 0, 1)); + _addEntry("non-potable_water", new String(new int[] {0x1f6b1}, 0, 1)); + _addEntry("nose", new String(new int[] {0x1f443}, 0, 1)); + _addEntry("nose_tone1", new String(new int[] {0x1f443,0x1f3fb}, 0, 2)); + _addEntry("nose_tone2", new String(new int[] {0x1f443,0x1f3fc}, 0, 2)); + _addEntry("nose_tone3", new String(new int[] {0x1f443,0x1f3fd}, 0, 2)); + _addEntry("nose_tone4", new String(new int[] {0x1f443,0x1f3fe}, 0, 2)); + _addEntry("nose_tone5", new String(new int[] {0x1f443,0x1f3ff}, 0, 2)); + _addEntry("notebook", new String(new int[] {0x1f4d3}, 0, 1)); + _addEntry("notebook_with_decorative_cover", new String(new int[] {0x1f4d4}, 0, 1)); + _addEntry("notepad_spiral", new String(new int[] {0x1f5d2}, 0, 1)); + _addEntry("notes", new String(new int[] {0x1f3b6}, 0, 1)); + _addEntry("np", new String(new int[] {0x1f1f3,0x1f1f5}, 0, 2)); + _addEntry("nr", new String(new int[] {0x1f1f3,0x1f1f7}, 0, 2)); + _addEntry("nu", new String(new int[] {0x1f1f3,0x1f1fa}, 0, 2)); + _addEntry("nut_and_bolt", new String(new int[] {0x1f529}, 0, 1)); + _addEntry("nz", new String(new int[] {0x1f1f3,0x1f1ff}, 0, 2)); + _addEntry("o", new String(new int[] {0x2b55}, 0, 1)); + _addEntry("o2", new String(new int[] {0x1f17e}, 0, 1)); + _addEntry("ocean", new String(new int[] {0x1f30a}, 0, 1)); + _addEntry("octagonal_sign", new String(new int[] {0x1f6d1}, 0, 1)); + _addEntry("octopus", new String(new int[] {0x1f419}, 0, 1)); + _addEntry("oden", new String(new int[] {0x1f362}, 0, 1)); + _addEntry("office", new String(new int[] {0x1f3e2}, 0, 1)); + _addEntry("oil", new String(new int[] {0x1f6e2}, 0, 1)); + _addEntry("oil_drum", new String(new int[] {0x1f6e2}, 0, 1)); + _addEntry("ok", new String(new int[] {0x1f197}, 0, 1)); + _addEntry("ok_hand", new String(new int[] {0x1f44c}, 0, 1)); + _addEntry("ok_hand_tone1", new String(new int[] {0x1f44c,0x1f3fb}, 0, 2)); + _addEntry("ok_hand_tone2", new String(new int[] {0x1f44c,0x1f3fc}, 0, 2)); + _addEntry("ok_hand_tone3", new String(new int[] {0x1f44c,0x1f3fd}, 0, 2)); + _addEntry("ok_hand_tone4", new String(new int[] {0x1f44c,0x1f3fe}, 0, 2)); + _addEntry("ok_hand_tone5", new String(new int[] {0x1f44c,0x1f3ff}, 0, 2)); + _addEntry("ok_woman", new String(new int[] {0x1f646}, 0, 1)); + _addEntry("ok_woman_tone1", new String(new int[] {0x1f646,0x1f3fb}, 0, 2)); + _addEntry("ok_woman_tone2", new String(new int[] {0x1f646,0x1f3fc}, 0, 2)); + _addEntry("ok_woman_tone3", new String(new int[] {0x1f646,0x1f3fd}, 0, 2)); + _addEntry("ok_woman_tone4", new String(new int[] {0x1f646,0x1f3fe}, 0, 2)); + _addEntry("ok_woman_tone5", new String(new int[] {0x1f646,0x1f3ff}, 0, 2)); + _addEntry("old_key", new String(new int[] {0x1f5dd}, 0, 1)); + _addEntry("older_man", new String(new int[] {0x1f474}, 0, 1)); + _addEntry("older_man_tone1", new String(new int[] {0x1f474,0x1f3fb}, 0, 2)); + _addEntry("older_man_tone2", new String(new int[] {0x1f474,0x1f3fc}, 0, 2)); + _addEntry("older_man_tone3", new String(new int[] {0x1f474,0x1f3fd}, 0, 2)); + _addEntry("older_man_tone4", new String(new int[] {0x1f474,0x1f3fe}, 0, 2)); + _addEntry("older_man_tone5", new String(new int[] {0x1f474,0x1f3ff}, 0, 2)); + _addEntry("older_woman", new String(new int[] {0x1f475}, 0, 1)); + _addEntry("older_woman_tone1", new String(new int[] {0x1f475,0x1f3fb}, 0, 2)); + _addEntry("older_woman_tone2", new String(new int[] {0x1f475,0x1f3fc}, 0, 2)); + _addEntry("older_woman_tone3", new String(new int[] {0x1f475,0x1f3fd}, 0, 2)); + _addEntry("older_woman_tone4", new String(new int[] {0x1f475,0x1f3fe}, 0, 2)); + _addEntry("older_woman_tone5", new String(new int[] {0x1f475,0x1f3ff}, 0, 2)); + _addEntry("om", new String(new int[] {0x1f1f4,0x1f1f2}, 0, 2)); + _addEntry("om_symbol", new String(new int[] {0x1f549}, 0, 1)); + _addEntry("on", new String(new int[] {0x1f51b}, 0, 1)); + _addEntry("oncoming_automobile", new String(new int[] {0x1f698}, 0, 1)); + _addEntry("oncoming_bus", new String(new int[] {0x1f68d}, 0, 1)); + _addEntry("oncoming_police_car", new String(new int[] {0x1f694}, 0, 1)); + _addEntry("oncoming_taxi", new String(new int[] {0x1f696}, 0, 1)); + _addEntry("one", new String(new int[] {0x0031,0x20e3}, 0, 2)); + _addEntry("open_file_folder", new String(new int[] {0x1f4c2}, 0, 1)); + _addEntry("open_hands", new String(new int[] {0x1f450}, 0, 1)); + _addEntry("open_hands_tone1", new String(new int[] {0x1f450,0x1f3fb}, 0, 2)); + _addEntry("open_hands_tone2", new String(new int[] {0x1f450,0x1f3fc}, 0, 2)); + _addEntry("open_hands_tone3", new String(new int[] {0x1f450,0x1f3fd}, 0, 2)); + _addEntry("open_hands_tone4", new String(new int[] {0x1f450,0x1f3fe}, 0, 2)); + _addEntry("open_hands_tone5", new String(new int[] {0x1f450,0x1f3ff}, 0, 2)); + _addEntry("open_mouth", new String(new int[] {0x1f62e}, 0, 1)); + _addEntry("ophiuchus", new String(new int[] {0x26ce}, 0, 1)); + _addEntry("orange_book", new String(new int[] {0x1f4d9}, 0, 1)); + _addEntry("orthodox_cross", new String(new int[] {0x2626}, 0, 1)); + _addEntry("outbox_tray", new String(new int[] {0x1f4e4}, 0, 1)); + _addEntry("owl", new String(new int[] {0x1f989}, 0, 1)); + _addEntry("ox", new String(new int[] {0x1f402}, 0, 1)); + _addEntry("pa", new String(new int[] {0x1f1f5,0x1f1e6}, 0, 2)); + _addEntry("package", new String(new int[] {0x1f4e6}, 0, 1)); + _addEntry("paella", new String(new int[] {0x1f958}, 0, 1)); + _addEntry("page_facing_up", new String(new int[] {0x1f4c4}, 0, 1)); + _addEntry("page_with_curl", new String(new int[] {0x1f4c3}, 0, 1)); + _addEntry("pager", new String(new int[] {0x1f4df}, 0, 1)); + _addEntry("paintbrush", new String(new int[] {0x1f58c}, 0, 1)); + _addEntry("palm_tree", new String(new int[] {0x1f334}, 0, 1)); + _addEntry("pancakes", new String(new int[] {0x1f95e}, 0, 1)); + _addEntry("panda_face", new String(new int[] {0x1f43c}, 0, 1)); + _addEntry("paperclip", new String(new int[] {0x1f4ce}, 0, 1)); + _addEntry("paperclips", new String(new int[] {0x1f587}, 0, 1)); + _addEntry("park", new String(new int[] {0x1f3de}, 0, 1)); + _addEntry("parking", new String(new int[] {0x1f17f}, 0, 1)); + _addEntry("part_alternation_mark", new String(new int[] {0x303d}, 0, 1)); + _addEntry("partly_sunny", new String(new int[] {0x26c5}, 0, 1)); + _addEntry("passenger_ship", new String(new int[] {0x1f6f3}, 0, 1)); + _addEntry("passport_control", new String(new int[] {0x1f6c2}, 0, 1)); + _addEntry("pause_button", new String(new int[] {0x23f8}, 0, 1)); + _addEntry("paw_prints", new String(new int[] {0x1f43e}, 0, 1)); + _addEntry("pe", new String(new int[] {0x1f1f5,0x1f1ea}, 0, 2)); + _addEntry("peace", new String(new int[] {0x262e}, 0, 1)); + _addEntry("peace_symbol", new String(new int[] {0x262e}, 0, 1)); + _addEntry("peach", new String(new int[] {0x1f351}, 0, 1)); + } + private static void init22(){ + _addEntry("peanuts", new String(new int[] {0x1f95c}, 0, 1)); + _addEntry("pear", new String(new int[] {0x1f350}, 0, 1)); + _addEntry("pen_ballpoint", new String(new int[] {0x1f58a}, 0, 1)); + _addEntry("pen_fountain", new String(new int[] {0x1f58b}, 0, 1)); + _addEntry("pencil", new String(new int[] {0x1f4dd}, 0, 1)); + _addEntry("pencil2", new String(new int[] {0x270f}, 0, 1)); + _addEntry("penguin", new String(new int[] {0x1f427}, 0, 1)); + _addEntry("pensive", new String(new int[] {0x1f614}, 0, 1)); + _addEntry("performing_arts", new String(new int[] {0x1f3ad}, 0, 1)); + _addEntry("persevere", new String(new int[] {0x1f623}, 0, 1)); + _addEntry("person_doing_cartwheel", new String(new int[] {0x1f938}, 0, 1)); + _addEntry("person_doing_cartwheel_tone1", new String(new int[] {0x1f938,0x1f3fb}, 0, 2)); + _addEntry("person_doing_cartwheel_tone2", new String(new int[] {0x1f938,0x1f3fc}, 0, 2)); + _addEntry("person_doing_cartwheel_tone3", new String(new int[] {0x1f938,0x1f3fd}, 0, 2)); + _addEntry("person_doing_cartwheel_tone4", new String(new int[] {0x1f938,0x1f3fe}, 0, 2)); + _addEntry("person_doing_cartwheel_tone5", new String(new int[] {0x1f938,0x1f3ff}, 0, 2)); + _addEntry("person_frowning", new String(new int[] {0x1f64d}, 0, 1)); + _addEntry("person_frowning_tone1", new String(new int[] {0x1f64d,0x1f3fb}, 0, 2)); + _addEntry("person_frowning_tone2", new String(new int[] {0x1f64d,0x1f3fc}, 0, 2)); + _addEntry("person_frowning_tone3", new String(new int[] {0x1f64d,0x1f3fd}, 0, 2)); + _addEntry("person_frowning_tone4", new String(new int[] {0x1f64d,0x1f3fe}, 0, 2)); + _addEntry("person_frowning_tone5", new String(new int[] {0x1f64d,0x1f3ff}, 0, 2)); + _addEntry("person_golfing_dark_skin_tone", new String(new int[] {0x1f3cc,0x1f3ff}, 0, 2)); + _addEntry("person_golfing_light_skin_tone", new String(new int[] {0x1f3cc,0x1f3fb}, 0, 2)); + _addEntry("person_golfing_medium_dark_skin_tone", new String(new int[] {0x1f3cc,0x1f3fe}, 0, 2)); + _addEntry("person_golfing_medium_light_skin_tone", new String(new int[] {0x1f3cc,0x1f3fc}, 0, 2)); + _addEntry("person_golfing_medium_skin_tone", new String(new int[] {0x1f3cc,0x1f3fd}, 0, 2)); + _addEntry("person_golfing_tone1", new String(new int[] {0x1f3cc,0x1f3fb}, 0, 2)); + _addEntry("person_golfing_tone2", new String(new int[] {0x1f3cc,0x1f3fc}, 0, 2)); + _addEntry("person_golfing_tone3", new String(new int[] {0x1f3cc,0x1f3fd}, 0, 2)); + _addEntry("person_golfing_tone4", new String(new int[] {0x1f3cc,0x1f3fe}, 0, 2)); + _addEntry("person_golfing_tone5", new String(new int[] {0x1f3cc,0x1f3ff}, 0, 2)); + _addEntry("person_in_bed_dark_skin_tone", new String(new int[] {0x1f6cc,0x1f3ff}, 0, 2)); + _addEntry("person_in_bed_light_skin_tone", new String(new int[] {0x1f6cc,0x1f3fb}, 0, 2)); + _addEntry("person_in_bed_medium_dark_skin_tone", new String(new int[] {0x1f6cc,0x1f3fe}, 0, 2)); + _addEntry("person_in_bed_medium_light_skin_tone", new String(new int[] {0x1f6cc,0x1f3fc}, 0, 2)); + _addEntry("person_in_bed_medium_skin_tone", new String(new int[] {0x1f6cc,0x1f3fd}, 0, 2)); + _addEntry("person_in_bed_tone1", new String(new int[] {0x1f6cc,0x1f3fb}, 0, 2)); + _addEntry("person_in_bed_tone2", new String(new int[] {0x1f6cc,0x1f3fc}, 0, 2)); + _addEntry("person_in_bed_tone3", new String(new int[] {0x1f6cc,0x1f3fd}, 0, 2)); + _addEntry("person_in_bed_tone4", new String(new int[] {0x1f6cc,0x1f3fe}, 0, 2)); + _addEntry("person_in_bed_tone5", new String(new int[] {0x1f6cc,0x1f3ff}, 0, 2)); + _addEntry("person_with_ball", new String(new int[] {0x26f9}, 0, 1)); + _addEntry("person_with_ball_tone1", new String(new int[] {0x26f9,0x1f3fb}, 0, 2)); + _addEntry("person_with_ball_tone2", new String(new int[] {0x26f9,0x1f3fc}, 0, 2)); + _addEntry("person_with_ball_tone3", new String(new int[] {0x26f9,0x1f3fd}, 0, 2)); + _addEntry("person_with_ball_tone4", new String(new int[] {0x26f9,0x1f3fe}, 0, 2)); + _addEntry("person_with_ball_tone5", new String(new int[] {0x26f9,0x1f3ff}, 0, 2)); + _addEntry("person_with_blond_hair", new String(new int[] {0x1f471}, 0, 1)); + _addEntry("person_with_blond_hair_tone1", new String(new int[] {0x1f471,0x1f3fb}, 0, 2)); + _addEntry("person_with_blond_hair_tone2", new String(new int[] {0x1f471,0x1f3fc}, 0, 2)); + _addEntry("person_with_blond_hair_tone3", new String(new int[] {0x1f471,0x1f3fd}, 0, 2)); + _addEntry("person_with_blond_hair_tone4", new String(new int[] {0x1f471,0x1f3fe}, 0, 2)); + _addEntry("person_with_blond_hair_tone5", new String(new int[] {0x1f471,0x1f3ff}, 0, 2)); + _addEntry("person_with_pouting_face", new String(new int[] {0x1f64e}, 0, 1)); + _addEntry("person_with_pouting_face_tone1", new String(new int[] {0x1f64e,0x1f3fb}, 0, 2)); + _addEntry("person_with_pouting_face_tone2", new String(new int[] {0x1f64e,0x1f3fc}, 0, 2)); + _addEntry("person_with_pouting_face_tone3", new String(new int[] {0x1f64e,0x1f3fd}, 0, 2)); + _addEntry("person_with_pouting_face_tone4", new String(new int[] {0x1f64e,0x1f3fe}, 0, 2)); + _addEntry("person_with_pouting_face_tone5", new String(new int[] {0x1f64e,0x1f3ff}, 0, 2)); + _addEntry("pf", new String(new int[] {0x1f1f5,0x1f1eb}, 0, 2)); + _addEntry("pg", new String(new int[] {0x1f1f5,0x1f1ec}, 0, 2)); + _addEntry("ph", new String(new int[] {0x1f1f5,0x1f1ed}, 0, 2)); + _addEntry("pick", new String(new int[] {0x26cf}, 0, 1)); + _addEntry("pig", new String(new int[] {0x1f437}, 0, 1)); + _addEntry("pig2", new String(new int[] {0x1f416}, 0, 1)); + _addEntry("pig_nose", new String(new int[] {0x1f43d}, 0, 1)); + _addEntry("pill", new String(new int[] {0x1f48a}, 0, 1)); + _addEntry("pineapple", new String(new int[] {0x1f34d}, 0, 1)); + _addEntry("ping_pong", new String(new int[] {0x1f3d3}, 0, 1)); + _addEntry("pisces", new String(new int[] {0x2653}, 0, 1)); + _addEntry("pizza", new String(new int[] {0x1f355}, 0, 1)); + _addEntry("pk", new String(new int[] {0x1f1f5,0x1f1f0}, 0, 2)); + _addEntry("pl", new String(new int[] {0x1f1f5,0x1f1f1}, 0, 2)); + _addEntry("place_of_worship", new String(new int[] {0x1f6d0}, 0, 1)); + _addEntry("play_pause", new String(new int[] {0x23ef}, 0, 1)); + _addEntry("pm", new String(new int[] {0x1f1f5,0x1f1f2}, 0, 2)); + _addEntry("pn", new String(new int[] {0x1f1f5,0x1f1f3}, 0, 2)); + _addEntry("point_down", new String(new int[] {0x1f447}, 0, 1)); + _addEntry("point_down_tone1", new String(new int[] {0x1f447,0x1f3fb}, 0, 2)); + _addEntry("point_down_tone2", new String(new int[] {0x1f447,0x1f3fc}, 0, 2)); + _addEntry("point_down_tone3", new String(new int[] {0x1f447,0x1f3fd}, 0, 2)); + _addEntry("point_down_tone4", new String(new int[] {0x1f447,0x1f3fe}, 0, 2)); + _addEntry("point_down_tone5", new String(new int[] {0x1f447,0x1f3ff}, 0, 2)); + _addEntry("point_left", new String(new int[] {0x1f448}, 0, 1)); + _addEntry("point_left_tone1", new String(new int[] {0x1f448,0x1f3fb}, 0, 2)); + _addEntry("point_left_tone2", new String(new int[] {0x1f448,0x1f3fc}, 0, 2)); + _addEntry("point_left_tone3", new String(new int[] {0x1f448,0x1f3fd}, 0, 2)); + _addEntry("point_left_tone4", new String(new int[] {0x1f448,0x1f3fe}, 0, 2)); + _addEntry("point_left_tone5", new String(new int[] {0x1f448,0x1f3ff}, 0, 2)); + _addEntry("point_right", new String(new int[] {0x1f449}, 0, 1)); + _addEntry("point_right_tone1", new String(new int[] {0x1f449,0x1f3fb}, 0, 2)); + _addEntry("point_right_tone2", new String(new int[] {0x1f449,0x1f3fc}, 0, 2)); + _addEntry("point_right_tone3", new String(new int[] {0x1f449,0x1f3fd}, 0, 2)); + _addEntry("point_right_tone4", new String(new int[] {0x1f449,0x1f3fe}, 0, 2)); + _addEntry("point_right_tone5", new String(new int[] {0x1f449,0x1f3ff}, 0, 2)); + _addEntry("point_up", new String(new int[] {0x261d}, 0, 1)); + _addEntry("point_up_2", new String(new int[] {0x1f446}, 0, 1)); + _addEntry("point_up_2_tone1", new String(new int[] {0x1f446,0x1f3fb}, 0, 2)); + _addEntry("point_up_2_tone2", new String(new int[] {0x1f446,0x1f3fc}, 0, 2)); + _addEntry("point_up_2_tone3", new String(new int[] {0x1f446,0x1f3fd}, 0, 2)); + } + private static void init23(){ + _addEntry("point_up_2_tone4", new String(new int[] {0x1f446,0x1f3fe}, 0, 2)); + _addEntry("point_up_2_tone5", new String(new int[] {0x1f446,0x1f3ff}, 0, 2)); + _addEntry("point_up_tone1", new String(new int[] {0x261d,0x1f3fb}, 0, 2)); + _addEntry("point_up_tone2", new String(new int[] {0x261d,0x1f3fc}, 0, 2)); + _addEntry("point_up_tone3", new String(new int[] {0x261d,0x1f3fd}, 0, 2)); + _addEntry("point_up_tone4", new String(new int[] {0x261d,0x1f3fe}, 0, 2)); + _addEntry("point_up_tone5", new String(new int[] {0x261d,0x1f3ff}, 0, 2)); + _addEntry("police_car", new String(new int[] {0x1f693}, 0, 1)); + _addEntry("poo", new String(new int[] {0x1f4a9}, 0, 1)); + _addEntry("poodle", new String(new int[] {0x1f429}, 0, 1)); + _addEntry("poop", new String(new int[] {0x1f4a9}, 0, 1)); + _addEntry("popcorn", new String(new int[] {0x1f37f}, 0, 1)); + _addEntry("post_office", new String(new int[] {0x1f3e3}, 0, 1)); + _addEntry("postal_horn", new String(new int[] {0x1f4ef}, 0, 1)); + _addEntry("postbox", new String(new int[] {0x1f4ee}, 0, 1)); + _addEntry("potable_water", new String(new int[] {0x1f6b0}, 0, 1)); + _addEntry("potato", new String(new int[] {0x1f954}, 0, 1)); + _addEntry("pouch", new String(new int[] {0x1f45d}, 0, 1)); + _addEntry("poultry_leg", new String(new int[] {0x1f357}, 0, 1)); + _addEntry("pound", new String(new int[] {0x1f4b7}, 0, 1)); + _addEntry("pound_symbol", new String(new int[] {0x0023}, 0, 1)); + _addEntry("pouting_cat", new String(new int[] {0x1f63e}, 0, 1)); + _addEntry("pr", new String(new int[] {0x1f1f5,0x1f1f7}, 0, 2)); + _addEntry("pray", new String(new int[] {0x1f64f}, 0, 1)); + _addEntry("pray_tone1", new String(new int[] {0x1f64f,0x1f3fb}, 0, 2)); + _addEntry("pray_tone2", new String(new int[] {0x1f64f,0x1f3fc}, 0, 2)); + _addEntry("pray_tone3", new String(new int[] {0x1f64f,0x1f3fd}, 0, 2)); + _addEntry("pray_tone4", new String(new int[] {0x1f64f,0x1f3fe}, 0, 2)); + _addEntry("pray_tone5", new String(new int[] {0x1f64f,0x1f3ff}, 0, 2)); + _addEntry("prayer_beads", new String(new int[] {0x1f4ff}, 0, 1)); + _addEntry("pregnant_woman", new String(new int[] {0x1f930}, 0, 1)); + _addEntry("pregnant_woman_tone1", new String(new int[] {0x1f930,0x1f3fb}, 0, 2)); + _addEntry("pregnant_woman_tone2", new String(new int[] {0x1f930,0x1f3fc}, 0, 2)); + _addEntry("pregnant_woman_tone3", new String(new int[] {0x1f930,0x1f3fd}, 0, 2)); + _addEntry("pregnant_woman_tone4", new String(new int[] {0x1f930,0x1f3fe}, 0, 2)); + _addEntry("pregnant_woman_tone5", new String(new int[] {0x1f930,0x1f3ff}, 0, 2)); + _addEntry("previous_track", new String(new int[] {0x23ee}, 0, 1)); + _addEntry("prince", new String(new int[] {0x1f934}, 0, 1)); + _addEntry("prince_tone1", new String(new int[] {0x1f934,0x1f3fb}, 0, 2)); + _addEntry("prince_tone2", new String(new int[] {0x1f934,0x1f3fc}, 0, 2)); + _addEntry("prince_tone3", new String(new int[] {0x1f934,0x1f3fd}, 0, 2)); + _addEntry("prince_tone4", new String(new int[] {0x1f934,0x1f3fe}, 0, 2)); + _addEntry("prince_tone5", new String(new int[] {0x1f934,0x1f3ff}, 0, 2)); + _addEntry("princess", new String(new int[] {0x1f478}, 0, 1)); + _addEntry("princess_tone1", new String(new int[] {0x1f478,0x1f3fb}, 0, 2)); + _addEntry("princess_tone2", new String(new int[] {0x1f478,0x1f3fc}, 0, 2)); + _addEntry("princess_tone3", new String(new int[] {0x1f478,0x1f3fd}, 0, 2)); + _addEntry("princess_tone4", new String(new int[] {0x1f478,0x1f3fe}, 0, 2)); + _addEntry("princess_tone5", new String(new int[] {0x1f478,0x1f3ff}, 0, 2)); + _addEntry("printer", new String(new int[] {0x1f5a8}, 0, 1)); + _addEntry("projector", new String(new int[] {0x1f4fd}, 0, 1)); + _addEntry("ps", new String(new int[] {0x1f1f5,0x1f1f8}, 0, 2)); + _addEntry("pt", new String(new int[] {0x1f1f5,0x1f1f9}, 0, 2)); + _addEntry("pudding", new String(new int[] {0x1f36e}, 0, 1)); + _addEntry("punch", new String(new int[] {0x1f44a}, 0, 1)); + _addEntry("punch_tone1", new String(new int[] {0x1f44a,0x1f3fb}, 0, 2)); + _addEntry("punch_tone2", new String(new int[] {0x1f44a,0x1f3fc}, 0, 2)); + _addEntry("punch_tone3", new String(new int[] {0x1f44a,0x1f3fd}, 0, 2)); + _addEntry("punch_tone4", new String(new int[] {0x1f44a,0x1f3fe}, 0, 2)); + _addEntry("punch_tone5", new String(new int[] {0x1f44a,0x1f3ff}, 0, 2)); + _addEntry("purple_heart", new String(new int[] {0x1f49c}, 0, 1)); + _addEntry("purse", new String(new int[] {0x1f45b}, 0, 1)); + _addEntry("pushpin", new String(new int[] {0x1f4cc}, 0, 1)); + _addEntry("put_litter_in_its_place", new String(new int[] {0x1f6ae}, 0, 1)); + _addEntry("pw", new String(new int[] {0x1f1f5,0x1f1fc}, 0, 2)); + _addEntry("py", new String(new int[] {0x1f1f5,0x1f1fe}, 0, 2)); + _addEntry("qa", new String(new int[] {0x1f1f6,0x1f1e6}, 0, 2)); + _addEntry("question", new String(new int[] {0x2753}, 0, 1)); + _addEntry("rabbit", new String(new int[] {0x1f430}, 0, 1)); + _addEntry("rabbit2", new String(new int[] {0x1f407}, 0, 1)); + _addEntry("race_car", new String(new int[] {0x1f3ce}, 0, 1)); + _addEntry("racehorse", new String(new int[] {0x1f40e}, 0, 1)); + _addEntry("racing_car", new String(new int[] {0x1f3ce}, 0, 1)); + _addEntry("racing_motorcycle", new String(new int[] {0x1f3cd}, 0, 1)); + _addEntry("radio", new String(new int[] {0x1f4fb}, 0, 1)); + _addEntry("radio_button", new String(new int[] {0x1f518}, 0, 1)); + _addEntry("radioactive", new String(new int[] {0x2622}, 0, 1)); + _addEntry("radioactive_sign", new String(new int[] {0x2622}, 0, 1)); + _addEntry("rage", new String(new int[] {0x1f621}, 0, 1)); + _addEntry("railroad_track", new String(new int[] {0x1f6e4}, 0, 1)); + _addEntry("railway_car", new String(new int[] {0x1f683}, 0, 1)); + _addEntry("railway_track", new String(new int[] {0x1f6e4}, 0, 1)); + _addEntry("rainbow", new String(new int[] {0x1f308}, 0, 1)); + _addEntry("rainbow_flag", new String(new int[] {0x1f3f3,0x1f308}, 0, 2)); + _addEntry("raised_back_of_hand", new String(new int[] {0x1f91a}, 0, 1)); + _addEntry("raised_back_of_hand_tone1", new String(new int[] {0x1f91a,0x1f3fb}, 0, 2)); + _addEntry("raised_back_of_hand_tone2", new String(new int[] {0x1f91a,0x1f3fc}, 0, 2)); + _addEntry("raised_back_of_hand_tone3", new String(new int[] {0x1f91a,0x1f3fd}, 0, 2)); + _addEntry("raised_back_of_hand_tone4", new String(new int[] {0x1f91a,0x1f3fe}, 0, 2)); + _addEntry("raised_back_of_hand_tone5", new String(new int[] {0x1f91a,0x1f3ff}, 0, 2)); + _addEntry("raised_hand", new String(new int[] {0x270b}, 0, 1)); + _addEntry("raised_hand_tone1", new String(new int[] {0x270b,0x1f3fb}, 0, 2)); + _addEntry("raised_hand_tone2", new String(new int[] {0x270b,0x1f3fc}, 0, 2)); + _addEntry("raised_hand_tone3", new String(new int[] {0x270b,0x1f3fd}, 0, 2)); + _addEntry("raised_hand_tone4", new String(new int[] {0x270b,0x1f3fe}, 0, 2)); + _addEntry("raised_hand_tone5", new String(new int[] {0x270b,0x1f3ff}, 0, 2)); + _addEntry("raised_hand_with_fingers_splayed", new String(new int[] {0x1f590}, 0, 1)); + _addEntry("raised_hand_with_fingers_splayed_tone1", new String(new int[] {0x1f590,0x1f3fb}, 0, 2)); + _addEntry("raised_hand_with_fingers_splayed_tone2", new String(new int[] {0x1f590,0x1f3fc}, 0, 2)); + _addEntry("raised_hand_with_fingers_splayed_tone3", new String(new int[] {0x1f590,0x1f3fd}, 0, 2)); + _addEntry("raised_hand_with_fingers_splayed_tone4", new String(new int[] {0x1f590,0x1f3fe}, 0, 2)); + } + private static void init24(){ + _addEntry("raised_hand_with_fingers_splayed_tone5", new String(new int[] {0x1f590,0x1f3ff}, 0, 2)); + _addEntry("raised_hand_with_part_between_middle_and_ring_fingers", new String(new int[] {0x1f596}, 0, 1)); + _addEntry("raised_hand_with_part_between_middle_and_ring_fingers_tone1", new String(new int[] {0x1f596,0x1f3fb}, 0, 2)); + _addEntry("raised_hand_with_part_between_middle_and_ring_fingers_tone2", new String(new int[] {0x1f596,0x1f3fc}, 0, 2)); + _addEntry("raised_hand_with_part_between_middle_and_ring_fingers_tone3", new String(new int[] {0x1f596,0x1f3fd}, 0, 2)); + _addEntry("raised_hand_with_part_between_middle_and_ring_fingers_tone4", new String(new int[] {0x1f596,0x1f3fe}, 0, 2)); + _addEntry("raised_hand_with_part_between_middle_and_ring_fingers_tone5", new String(new int[] {0x1f596,0x1f3ff}, 0, 2)); + _addEntry("raised_hands", new String(new int[] {0x1f64c}, 0, 1)); + _addEntry("raised_hands_tone1", new String(new int[] {0x1f64c,0x1f3fb}, 0, 2)); + _addEntry("raised_hands_tone2", new String(new int[] {0x1f64c,0x1f3fc}, 0, 2)); + _addEntry("raised_hands_tone3", new String(new int[] {0x1f64c,0x1f3fd}, 0, 2)); + _addEntry("raised_hands_tone4", new String(new int[] {0x1f64c,0x1f3fe}, 0, 2)); + _addEntry("raised_hands_tone5", new String(new int[] {0x1f64c,0x1f3ff}, 0, 2)); + _addEntry("raising_hand", new String(new int[] {0x1f64b}, 0, 1)); + _addEntry("raising_hand_tone1", new String(new int[] {0x1f64b,0x1f3fb}, 0, 2)); + _addEntry("raising_hand_tone2", new String(new int[] {0x1f64b,0x1f3fc}, 0, 2)); + _addEntry("raising_hand_tone3", new String(new int[] {0x1f64b,0x1f3fd}, 0, 2)); + _addEntry("raising_hand_tone4", new String(new int[] {0x1f64b,0x1f3fe}, 0, 2)); + _addEntry("raising_hand_tone5", new String(new int[] {0x1f64b,0x1f3ff}, 0, 2)); + _addEntry("ram", new String(new int[] {0x1f40f}, 0, 1)); + _addEntry("ramen", new String(new int[] {0x1f35c}, 0, 1)); + _addEntry("rat", new String(new int[] {0x1f400}, 0, 1)); + _addEntry("re", new String(new int[] {0x1f1f7,0x1f1ea}, 0, 2)); + _addEntry("record_button", new String(new int[] {0x23fa}, 0, 1)); + _addEntry("recycle", new String(new int[] {0x267b}, 0, 1)); + _addEntry("red_car", new String(new int[] {0x1f697}, 0, 1)); + _addEntry("red_circle", new String(new int[] {0x1f534}, 0, 1)); + _addEntry("regional_indicator_a", new String(new int[] {0x1f1e6}, 0, 1)); + _addEntry("regional_indicator_b", new String(new int[] {0x1f1e7}, 0, 1)); + _addEntry("regional_indicator_c", new String(new int[] {0x1f1e8}, 0, 1)); + _addEntry("regional_indicator_d", new String(new int[] {0x1f1e9}, 0, 1)); + _addEntry("regional_indicator_e", new String(new int[] {0x1f1ea}, 0, 1)); + _addEntry("regional_indicator_f", new String(new int[] {0x1f1eb}, 0, 1)); + _addEntry("regional_indicator_g", new String(new int[] {0x1f1ec}, 0, 1)); + _addEntry("regional_indicator_h", new String(new int[] {0x1f1ed}, 0, 1)); + _addEntry("regional_indicator_i", new String(new int[] {0x1f1ee}, 0, 1)); + _addEntry("regional_indicator_j", new String(new int[] {0x1f1ef}, 0, 1)); + _addEntry("regional_indicator_k", new String(new int[] {0x1f1f0}, 0, 1)); + _addEntry("regional_indicator_l", new String(new int[] {0x1f1f1}, 0, 1)); + _addEntry("regional_indicator_m", new String(new int[] {0x1f1f2}, 0, 1)); + _addEntry("regional_indicator_n", new String(new int[] {0x1f1f3}, 0, 1)); + _addEntry("regional_indicator_o", new String(new int[] {0x1f1f4}, 0, 1)); + _addEntry("regional_indicator_p", new String(new int[] {0x1f1f5}, 0, 1)); + _addEntry("regional_indicator_q", new String(new int[] {0x1f1f6}, 0, 1)); + _addEntry("regional_indicator_r", new String(new int[] {0x1f1f7}, 0, 1)); + _addEntry("regional_indicator_s", new String(new int[] {0x1f1f8}, 0, 1)); + _addEntry("regional_indicator_t", new String(new int[] {0x1f1f9}, 0, 1)); + _addEntry("regional_indicator_u", new String(new int[] {0x1f1fa}, 0, 1)); + _addEntry("regional_indicator_v", new String(new int[] {0x1f1fb}, 0, 1)); + _addEntry("regional_indicator_w", new String(new int[] {0x1f1fc}, 0, 1)); + _addEntry("regional_indicator_x", new String(new int[] {0x1f1fd}, 0, 1)); + _addEntry("regional_indicator_y", new String(new int[] {0x1f1fe}, 0, 1)); + _addEntry("regional_indicator_z", new String(new int[] {0x1f1ff}, 0, 1)); + _addEntry("registered", new String(new int[] {0x00ae}, 0, 1)); + _addEntry("relaxed", new String(new int[] {0x263a}, 0, 1)); + _addEntry("relieved", new String(new int[] {0x1f60c}, 0, 1)); + _addEntry("reminder_ribbon", new String(new int[] {0x1f397}, 0, 1)); + _addEntry("repeat", new String(new int[] {0x1f501}, 0, 1)); + _addEntry("repeat_one", new String(new int[] {0x1f502}, 0, 1)); + _addEntry("restroom", new String(new int[] {0x1f6bb}, 0, 1)); + _addEntry("reversed_hand_with_middle_finger_extended", new String(new int[] {0x1f595}, 0, 1)); + _addEntry("reversed_hand_with_middle_finger_extended_tone1", new String(new int[] {0x1f595,0x1f3fb}, 0, 2)); + _addEntry("reversed_hand_with_middle_finger_extended_tone2", new String(new int[] {0x1f595,0x1f3fc}, 0, 2)); + _addEntry("reversed_hand_with_middle_finger_extended_tone3", new String(new int[] {0x1f595,0x1f3fd}, 0, 2)); + _addEntry("reversed_hand_with_middle_finger_extended_tone4", new String(new int[] {0x1f595,0x1f3fe}, 0, 2)); + _addEntry("reversed_hand_with_middle_finger_extended_tone5", new String(new int[] {0x1f595,0x1f3ff}, 0, 2)); + _addEntry("revolving_hearts", new String(new int[] {0x1f49e}, 0, 1)); + _addEntry("rewind", new String(new int[] {0x23ea}, 0, 1)); + _addEntry("rhino", new String(new int[] {0x1f98f}, 0, 1)); + _addEntry("rhinoceros", new String(new int[] {0x1f98f}, 0, 1)); + _addEntry("ribbon", new String(new int[] {0x1f380}, 0, 1)); + _addEntry("rice", new String(new int[] {0x1f35a}, 0, 1)); + _addEntry("rice_ball", new String(new int[] {0x1f359}, 0, 1)); + _addEntry("rice_cracker", new String(new int[] {0x1f358}, 0, 1)); + _addEntry("rice_scene", new String(new int[] {0x1f391}, 0, 1)); + _addEntry("right_anger_bubble", new String(new int[] {0x1f5ef}, 0, 1)); + _addEntry("right_facing_fist", new String(new int[] {0x1f91c}, 0, 1)); + _addEntry("right_facing_fist_tone1", new String(new int[] {0x1f91c,0x1f3fb}, 0, 2)); + _addEntry("right_facing_fist_tone2", new String(new int[] {0x1f91c,0x1f3fc}, 0, 2)); + _addEntry("right_facing_fist_tone3", new String(new int[] {0x1f91c,0x1f3fd}, 0, 2)); + _addEntry("right_facing_fist_tone4", new String(new int[] {0x1f91c,0x1f3fe}, 0, 2)); + _addEntry("right_facing_fist_tone5", new String(new int[] {0x1f91c,0x1f3ff}, 0, 2)); + _addEntry("right_fist", new String(new int[] {0x1f91c}, 0, 1)); + _addEntry("right_fist_tone1", new String(new int[] {0x1f91c,0x1f3fb}, 0, 2)); + _addEntry("right_fist_tone2", new String(new int[] {0x1f91c,0x1f3fc}, 0, 2)); + _addEntry("right_fist_tone3", new String(new int[] {0x1f91c,0x1f3fd}, 0, 2)); + _addEntry("right_fist_tone4", new String(new int[] {0x1f91c,0x1f3fe}, 0, 2)); + _addEntry("right_fist_tone5", new String(new int[] {0x1f91c,0x1f3ff}, 0, 2)); + _addEntry("ring", new String(new int[] {0x1f48d}, 0, 1)); + _addEntry("ro", new String(new int[] {0x1f1f7,0x1f1f4}, 0, 2)); + _addEntry("robot", new String(new int[] {0x1f916}, 0, 1)); + _addEntry("robot_face", new String(new int[] {0x1f916}, 0, 1)); + _addEntry("rocket", new String(new int[] {0x1f680}, 0, 1)); + _addEntry("rofl", new String(new int[] {0x1f923}, 0, 1)); + _addEntry("rolled_up_newspaper", new String(new int[] {0x1f5de}, 0, 1)); + _addEntry("roller_coaster", new String(new int[] {0x1f3a2}, 0, 1)); + _addEntry("rolling_eyes", new String(new int[] {0x1f644}, 0, 1)); + _addEntry("rolling_on_the_floor_laughing", new String(new int[] {0x1f923}, 0, 1)); + _addEntry("rooster", new String(new int[] {0x1f413}, 0, 1)); + _addEntry("rose", new String(new int[] {0x1f339}, 0, 1)); + _addEntry("rosette", new String(new int[] {0x1f3f5}, 0, 1)); + } + private static void init25(){ + _addEntry("rotating_light", new String(new int[] {0x1f6a8}, 0, 1)); + _addEntry("round_pushpin", new String(new int[] {0x1f4cd}, 0, 1)); + _addEntry("rowboat", new String(new int[] {0x1f6a3}, 0, 1)); + _addEntry("rowboat_tone1", new String(new int[] {0x1f6a3,0x1f3fb}, 0, 2)); + _addEntry("rowboat_tone2", new String(new int[] {0x1f6a3,0x1f3fc}, 0, 2)); + _addEntry("rowboat_tone3", new String(new int[] {0x1f6a3,0x1f3fd}, 0, 2)); + _addEntry("rowboat_tone4", new String(new int[] {0x1f6a3,0x1f3fe}, 0, 2)); + _addEntry("rowboat_tone5", new String(new int[] {0x1f6a3,0x1f3ff}, 0, 2)); + _addEntry("rs", new String(new int[] {0x1f1f7,0x1f1f8}, 0, 2)); + _addEntry("ru", new String(new int[] {0x1f1f7,0x1f1fa}, 0, 2)); + _addEntry("rugby_football", new String(new int[] {0x1f3c9}, 0, 1)); + _addEntry("runner", new String(new int[] {0x1f3c3}, 0, 1)); + _addEntry("runner_tone1", new String(new int[] {0x1f3c3,0x1f3fb}, 0, 2)); + _addEntry("runner_tone2", new String(new int[] {0x1f3c3,0x1f3fc}, 0, 2)); + _addEntry("runner_tone3", new String(new int[] {0x1f3c3,0x1f3fd}, 0, 2)); + _addEntry("runner_tone4", new String(new int[] {0x1f3c3,0x1f3fe}, 0, 2)); + _addEntry("runner_tone5", new String(new int[] {0x1f3c3,0x1f3ff}, 0, 2)); + _addEntry("running_shirt_with_sash", new String(new int[] {0x1f3bd}, 0, 1)); + _addEntry("rw", new String(new int[] {0x1f1f7,0x1f1fc}, 0, 2)); + _addEntry("sa", new String(new int[] {0x1f202}, 0, 1)); + _addEntry("sagittarius", new String(new int[] {0x2650}, 0, 1)); + _addEntry("sailboat", new String(new int[] {0x26f5}, 0, 1)); + _addEntry("sake", new String(new int[] {0x1f376}, 0, 1)); + _addEntry("salad", new String(new int[] {0x1f957}, 0, 1)); + _addEntry("sandal", new String(new int[] {0x1f461}, 0, 1)); + _addEntry("santa", new String(new int[] {0x1f385}, 0, 1)); + _addEntry("santa_tone1", new String(new int[] {0x1f385,0x1f3fb}, 0, 2)); + _addEntry("santa_tone2", new String(new int[] {0x1f385,0x1f3fc}, 0, 2)); + _addEntry("santa_tone3", new String(new int[] {0x1f385,0x1f3fd}, 0, 2)); + _addEntry("santa_tone4", new String(new int[] {0x1f385,0x1f3fe}, 0, 2)); + _addEntry("santa_tone5", new String(new int[] {0x1f385,0x1f3ff}, 0, 2)); + _addEntry("satellite", new String(new int[] {0x1f4e1}, 0, 1)); + _addEntry("satellite_orbital", new String(new int[] {0x1f6f0}, 0, 1)); + _addEntry("satisfied", new String(new int[] {0x1f606}, 0, 1)); + _addEntry("saudi", new String(new int[] {0x1f1f8,0x1f1e6}, 0, 2)); + _addEntry("saudiarabia", new String(new int[] {0x1f1f8,0x1f1e6}, 0, 2)); + _addEntry("saxophone", new String(new int[] {0x1f3b7}, 0, 1)); + _addEntry("sb", new String(new int[] {0x1f1f8,0x1f1e7}, 0, 2)); + _addEntry("sc", new String(new int[] {0x1f1f8,0x1f1e8}, 0, 2)); + _addEntry("scales", new String(new int[] {0x2696}, 0, 1)); + _addEntry("school", new String(new int[] {0x1f3eb}, 0, 1)); + _addEntry("school_satchel", new String(new int[] {0x1f392}, 0, 1)); + _addEntry("scissors", new String(new int[] {0x2702}, 0, 1)); + _addEntry("scooter", new String(new int[] {0x1f6f4}, 0, 1)); + _addEntry("scorpion", new String(new int[] {0x1f982}, 0, 1)); + _addEntry("scorpius", new String(new int[] {0x264f}, 0, 1)); + _addEntry("scream", new String(new int[] {0x1f631}, 0, 1)); + _addEntry("scream_cat", new String(new int[] {0x1f640}, 0, 1)); + _addEntry("scroll", new String(new int[] {0x1f4dc}, 0, 1)); + _addEntry("sd", new String(new int[] {0x1f1f8,0x1f1e9}, 0, 2)); + _addEntry("se", new String(new int[] {0x1f1f8,0x1f1ea}, 0, 2)); + _addEntry("seat", new String(new int[] {0x1f4ba}, 0, 1)); + _addEntry("second_place", new String(new int[] {0x1f948}, 0, 1)); + _addEntry("second_place_medal", new String(new int[] {0x1f948}, 0, 1)); + _addEntry("secret", new String(new int[] {0x3299}, 0, 1)); + _addEntry("see_no_evil", new String(new int[] {0x1f648}, 0, 1)); + _addEntry("seedling", new String(new int[] {0x1f331}, 0, 1)); + _addEntry("selfie", new String(new int[] {0x1f933}, 0, 1)); + _addEntry("selfie_tone1", new String(new int[] {0x1f933,0x1f3fb}, 0, 2)); + _addEntry("selfie_tone2", new String(new int[] {0x1f933,0x1f3fc}, 0, 2)); + _addEntry("selfie_tone3", new String(new int[] {0x1f933,0x1f3fd}, 0, 2)); + _addEntry("selfie_tone4", new String(new int[] {0x1f933,0x1f3fe}, 0, 2)); + _addEntry("selfie_tone5", new String(new int[] {0x1f933,0x1f3ff}, 0, 2)); + _addEntry("seven", new String(new int[] {0x0037,0x20e3}, 0, 2)); + _addEntry("sg", new String(new int[] {0x1f1f8,0x1f1ec}, 0, 2)); + _addEntry("sh", new String(new int[] {0x1f1f8,0x1f1ed}, 0, 2)); + _addEntry("shaking_hands", new String(new int[] {0x1f91d}, 0, 1)); + _addEntry("shallow_pan_of_food", new String(new int[] {0x1f958}, 0, 1)); + _addEntry("shamrock", new String(new int[] {0x2618}, 0, 1)); + _addEntry("shark", new String(new int[] {0x1f988}, 0, 1)); + _addEntry("shaved_ice", new String(new int[] {0x1f367}, 0, 1)); + _addEntry("sheep", new String(new int[] {0x1f411}, 0, 1)); + _addEntry("shell", new String(new int[] {0x1f41a}, 0, 1)); + _addEntry("shelled_peanut", new String(new int[] {0x1f95c}, 0, 1)); + _addEntry("shield", new String(new int[] {0x1f6e1}, 0, 1)); + _addEntry("shinto_shrine", new String(new int[] {0x26e9}, 0, 1)); + _addEntry("ship", new String(new int[] {0x1f6a2}, 0, 1)); + _addEntry("shirt", new String(new int[] {0x1f455}, 0, 1)); + _addEntry("shit", new String(new int[] {0x1f4a9}, 0, 1)); + _addEntry("shopping_bags", new String(new int[] {0x1f6cd}, 0, 1)); + _addEntry("shopping_cart", new String(new int[] {0x1f6d2}, 0, 1)); + _addEntry("shopping_trolley", new String(new int[] {0x1f6d2}, 0, 1)); + _addEntry("shower", new String(new int[] {0x1f6bf}, 0, 1)); + _addEntry("shrimp", new String(new int[] {0x1f990}, 0, 1)); + _addEntry("shrug", new String(new int[] {0x1f937}, 0, 1)); + _addEntry("shrug_tone1", new String(new int[] {0x1f937,0x1f3fb}, 0, 2)); + _addEntry("shrug_tone2", new String(new int[] {0x1f937,0x1f3fc}, 0, 2)); + _addEntry("shrug_tone3", new String(new int[] {0x1f937,0x1f3fd}, 0, 2)); + _addEntry("shrug_tone4", new String(new int[] {0x1f937,0x1f3fe}, 0, 2)); + _addEntry("shrug_tone5", new String(new int[] {0x1f937,0x1f3ff}, 0, 2)); + _addEntry("si", new String(new int[] {0x1f1f8,0x1f1ee}, 0, 2)); + _addEntry("sick", new String(new int[] {0x1f922}, 0, 1)); + _addEntry("sign_of_the_horns", new String(new int[] {0x1f918}, 0, 1)); + _addEntry("sign_of_the_horns_tone1", new String(new int[] {0x1f918,0x1f3fb}, 0, 2)); + _addEntry("sign_of_the_horns_tone2", new String(new int[] {0x1f918,0x1f3fc}, 0, 2)); + _addEntry("sign_of_the_horns_tone3", new String(new int[] {0x1f918,0x1f3fd}, 0, 2)); + _addEntry("sign_of_the_horns_tone4", new String(new int[] {0x1f918,0x1f3fe}, 0, 2)); + _addEntry("sign_of_the_horns_tone5", new String(new int[] {0x1f918,0x1f3ff}, 0, 2)); + _addEntry("signal_strength", new String(new int[] {0x1f4f6}, 0, 1)); + _addEntry("six", new String(new int[] {0x0036,0x20e3}, 0, 2)); + _addEntry("six_pointed_star", new String(new int[] {0x1f52f}, 0, 1)); + } + private static void init26(){ + _addEntry("sj", new String(new int[] {0x1f1f8,0x1f1ef}, 0, 2)); + _addEntry("sk", new String(new int[] {0x1f1f8,0x1f1f0}, 0, 2)); + _addEntry("skeleton", new String(new int[] {0x1f480}, 0, 1)); + _addEntry("ski", new String(new int[] {0x1f3bf}, 0, 1)); + _addEntry("skier", new String(new int[] {0x26f7}, 0, 1)); + _addEntry("skull", new String(new int[] {0x1f480}, 0, 1)); + _addEntry("skull_and_crossbones", new String(new int[] {0x2620}, 0, 1)); + _addEntry("skull_crossbones", new String(new int[] {0x2620}, 0, 1)); + _addEntry("sl", new String(new int[] {0x1f1f8,0x1f1f1}, 0, 2)); + _addEntry("sleeping", new String(new int[] {0x1f634}, 0, 1)); + _addEntry("sleeping_accommodation", new String(new int[] {0x1f6cc}, 0, 1)); + _addEntry("sleepy", new String(new int[] {0x1f62a}, 0, 1)); + _addEntry("sleuth_or_spy", new String(new int[] {0x1f575}, 0, 1)); + _addEntry("sleuth_or_spy_tone1", new String(new int[] {0x1f575,0x1f3fb}, 0, 2)); + _addEntry("sleuth_or_spy_tone2", new String(new int[] {0x1f575,0x1f3fc}, 0, 2)); + _addEntry("sleuth_or_spy_tone3", new String(new int[] {0x1f575,0x1f3fd}, 0, 2)); + _addEntry("sleuth_or_spy_tone4", new String(new int[] {0x1f575,0x1f3fe}, 0, 2)); + _addEntry("sleuth_or_spy_tone5", new String(new int[] {0x1f575,0x1f3ff}, 0, 2)); + _addEntry("slight_frown", new String(new int[] {0x1f641}, 0, 1)); + _addEntry("slight_smile", new String(new int[] {0x1f642}, 0, 1)); + _addEntry("slightly_frowning_face", new String(new int[] {0x1f641}, 0, 1)); + _addEntry("slightly_smiling_face", new String(new int[] {0x1f642}, 0, 1)); + _addEntry("slot_machine", new String(new int[] {0x1f3b0}, 0, 1)); + _addEntry("sm", new String(new int[] {0x1f1f8,0x1f1f2}, 0, 2)); + _addEntry("small_airplane", new String(new int[] {0x1f6e9}, 0, 1)); + _addEntry("small_blue_diamond", new String(new int[] {0x1f539}, 0, 1)); + _addEntry("small_orange_diamond", new String(new int[] {0x1f538}, 0, 1)); + _addEntry("small_red_triangle", new String(new int[] {0x1f53a}, 0, 1)); + _addEntry("small_red_triangle_down", new String(new int[] {0x1f53b}, 0, 1)); + _addEntry("smile", new String(new int[] {0x1f604}, 0, 1)); + _addEntry("smile_cat", new String(new int[] {0x1f638}, 0, 1)); + _addEntry("smiley", new String(new int[] {0x1f603}, 0, 1)); + _addEntry("smiley_cat", new String(new int[] {0x1f63a}, 0, 1)); + _addEntry("smiling_imp", new String(new int[] {0x1f608}, 0, 1)); + _addEntry("smirk", new String(new int[] {0x1f60f}, 0, 1)); + _addEntry("smirk_cat", new String(new int[] {0x1f63c}, 0, 1)); + _addEntry("smoking", new String(new int[] {0x1f6ac}, 0, 1)); + _addEntry("sn", new String(new int[] {0x1f1f8,0x1f1f3}, 0, 2)); + _addEntry("snail", new String(new int[] {0x1f40c}, 0, 1)); + _addEntry("snake", new String(new int[] {0x1f40d}, 0, 1)); + _addEntry("sneeze", new String(new int[] {0x1f927}, 0, 1)); + _addEntry("sneezing_face", new String(new int[] {0x1f927}, 0, 1)); + _addEntry("snow_capped_mountain", new String(new int[] {0x1f3d4}, 0, 1)); + _addEntry("snowboarder", new String(new int[] {0x1f3c2}, 0, 1)); + _addEntry("snowboarder_dark_skin_tone", new String(new int[] {0x1f3c2,0x1f3ff}, 0, 2)); + _addEntry("snowboarder_light_skin_tone", new String(new int[] {0x1f3c2,0x1f3fb}, 0, 2)); + _addEntry("snowboarder_medium_dark_skin_tone", new String(new int[] {0x1f3c2,0x1f3fe}, 0, 2)); + _addEntry("snowboarder_medium_light_skin_tone", new String(new int[] {0x1f3c2,0x1f3fc}, 0, 2)); + _addEntry("snowboarder_medium_skin_tone", new String(new int[] {0x1f3c2,0x1f3fd}, 0, 2)); + _addEntry("snowboarder_tone1", new String(new int[] {0x1f3c2,0x1f3fb}, 0, 2)); + _addEntry("snowboarder_tone2", new String(new int[] {0x1f3c2,0x1f3fc}, 0, 2)); + _addEntry("snowboarder_tone3", new String(new int[] {0x1f3c2,0x1f3fd}, 0, 2)); + _addEntry("snowboarder_tone4", new String(new int[] {0x1f3c2,0x1f3fe}, 0, 2)); + _addEntry("snowboarder_tone5", new String(new int[] {0x1f3c2,0x1f3ff}, 0, 2)); + _addEntry("snowflake", new String(new int[] {0x2744}, 0, 1)); + _addEntry("snowman", new String(new int[] {0x26c4}, 0, 1)); + _addEntry("snowman2", new String(new int[] {0x2603}, 0, 1)); + _addEntry("so", new String(new int[] {0x1f1f8,0x1f1f4}, 0, 2)); + _addEntry("sob", new String(new int[] {0x1f62d}, 0, 1)); + _addEntry("soccer", new String(new int[] {0x26bd}, 0, 1)); + _addEntry("soon", new String(new int[] {0x1f51c}, 0, 1)); + _addEntry("sos", new String(new int[] {0x1f198}, 0, 1)); + _addEntry("sound", new String(new int[] {0x1f509}, 0, 1)); + _addEntry("space_invader", new String(new int[] {0x1f47e}, 0, 1)); + _addEntry("spades", new String(new int[] {0x2660}, 0, 1)); + _addEntry("spaghetti", new String(new int[] {0x1f35d}, 0, 1)); + _addEntry("sparkle", new String(new int[] {0x2747}, 0, 1)); + _addEntry("sparkler", new String(new int[] {0x1f387}, 0, 1)); + _addEntry("sparkles", new String(new int[] {0x2728}, 0, 1)); + _addEntry("sparkling_heart", new String(new int[] {0x1f496}, 0, 1)); + _addEntry("speak_no_evil", new String(new int[] {0x1f64a}, 0, 1)); + _addEntry("speaker", new String(new int[] {0x1f508}, 0, 1)); + _addEntry("speaking_head", new String(new int[] {0x1f5e3}, 0, 1)); + _addEntry("speaking_head_in_silhouette", new String(new int[] {0x1f5e3}, 0, 1)); + _addEntry("speech_balloon", new String(new int[] {0x1f4ac}, 0, 1)); + _addEntry("speech_left", new String(new int[] {0x1f5e8}, 0, 1)); + _addEntry("speedboat", new String(new int[] {0x1f6a4}, 0, 1)); + _addEntry("spider", new String(new int[] {0x1f577}, 0, 1)); + _addEntry("spider_web", new String(new int[] {0x1f578}, 0, 1)); + _addEntry("spiral_calendar_pad", new String(new int[] {0x1f5d3}, 0, 1)); + _addEntry("spiral_note_pad", new String(new int[] {0x1f5d2}, 0, 1)); + _addEntry("spoon", new String(new int[] {0x1f944}, 0, 1)); + _addEntry("sports_medal", new String(new int[] {0x1f3c5}, 0, 1)); + _addEntry("spy", new String(new int[] {0x1f575}, 0, 1)); + _addEntry("spy_tone1", new String(new int[] {0x1f575,0x1f3fb}, 0, 2)); + _addEntry("spy_tone2", new String(new int[] {0x1f575,0x1f3fc}, 0, 2)); + _addEntry("spy_tone3", new String(new int[] {0x1f575,0x1f3fd}, 0, 2)); + _addEntry("spy_tone4", new String(new int[] {0x1f575,0x1f3fe}, 0, 2)); + _addEntry("spy_tone5", new String(new int[] {0x1f575,0x1f3ff}, 0, 2)); + _addEntry("squid", new String(new int[] {0x1f991}, 0, 1)); + _addEntry("sr", new String(new int[] {0x1f1f8,0x1f1f7}, 0, 2)); + _addEntry("ss", new String(new int[] {0x1f1f8,0x1f1f8}, 0, 2)); + _addEntry("st", new String(new int[] {0x1f1f8,0x1f1f9}, 0, 2)); + _addEntry("stadium", new String(new int[] {0x1f3df}, 0, 1)); + _addEntry("star", new String(new int[] {0x2b50}, 0, 1)); + _addEntry("star2", new String(new int[] {0x1f31f}, 0, 1)); + _addEntry("star_and_crescent", new String(new int[] {0x262a}, 0, 1)); + _addEntry("star_of_david", new String(new int[] {0x2721}, 0, 1)); + _addEntry("stars", new String(new int[] {0x1f320}, 0, 1)); + _addEntry("station", new String(new int[] {0x1f689}, 0, 1)); + _addEntry("statue_of_liberty", new String(new int[] {0x1f5fd}, 0, 1)); + } + private static void init27(){ + _addEntry("steam_locomotive", new String(new int[] {0x1f682}, 0, 1)); + _addEntry("stew", new String(new int[] {0x1f372}, 0, 1)); + _addEntry("stop_button", new String(new int[] {0x23f9}, 0, 1)); + _addEntry("stop_sign", new String(new int[] {0x1f6d1}, 0, 1)); + _addEntry("stopwatch", new String(new int[] {0x23f1}, 0, 1)); + _addEntry("straight_ruler", new String(new int[] {0x1f4cf}, 0, 1)); + _addEntry("strawberry", new String(new int[] {0x1f353}, 0, 1)); + _addEntry("stuck_out_tongue", new String(new int[] {0x1f61b}, 0, 1)); + _addEntry("stuck_out_tongue_closed_eyes", new String(new int[] {0x1f61d}, 0, 1)); + _addEntry("stuck_out_tongue_winking_eye", new String(new int[] {0x1f61c}, 0, 1)); + _addEntry("studio_microphone", new String(new int[] {0x1f399}, 0, 1)); + _addEntry("stuffed_flatbread", new String(new int[] {0x1f959}, 0, 1)); + _addEntry("stuffed_pita", new String(new int[] {0x1f959}, 0, 1)); + _addEntry("sun_with_face", new String(new int[] {0x1f31e}, 0, 1)); + _addEntry("sunflower", new String(new int[] {0x1f33b}, 0, 1)); + _addEntry("sunglasses", new String(new int[] {0x1f60e}, 0, 1)); + _addEntry("sunny", new String(new int[] {0x2600}, 0, 1)); + _addEntry("sunrise", new String(new int[] {0x1f305}, 0, 1)); + _addEntry("sunrise_over_mountains", new String(new int[] {0x1f304}, 0, 1)); + _addEntry("surfer", new String(new int[] {0x1f3c4}, 0, 1)); + _addEntry("surfer_tone1", new String(new int[] {0x1f3c4,0x1f3fb}, 0, 2)); + _addEntry("surfer_tone2", new String(new int[] {0x1f3c4,0x1f3fc}, 0, 2)); + _addEntry("surfer_tone3", new String(new int[] {0x1f3c4,0x1f3fd}, 0, 2)); + _addEntry("surfer_tone4", new String(new int[] {0x1f3c4,0x1f3fe}, 0, 2)); + _addEntry("surfer_tone5", new String(new int[] {0x1f3c4,0x1f3ff}, 0, 2)); + _addEntry("sushi", new String(new int[] {0x1f363}, 0, 1)); + _addEntry("suspension_railway", new String(new int[] {0x1f69f}, 0, 1)); + _addEntry("sv", new String(new int[] {0x1f1f8,0x1f1fb}, 0, 2)); + _addEntry("sweat", new String(new int[] {0x1f613}, 0, 1)); + _addEntry("sweat_drops", new String(new int[] {0x1f4a6}, 0, 1)); + _addEntry("sweat_smile", new String(new int[] {0x1f605}, 0, 1)); + _addEntry("sweet_potato", new String(new int[] {0x1f360}, 0, 1)); + _addEntry("swimmer", new String(new int[] {0x1f3ca}, 0, 1)); + _addEntry("swimmer_tone1", new String(new int[] {0x1f3ca,0x1f3fb}, 0, 2)); + _addEntry("swimmer_tone2", new String(new int[] {0x1f3ca,0x1f3fc}, 0, 2)); + _addEntry("swimmer_tone3", new String(new int[] {0x1f3ca,0x1f3fd}, 0, 2)); + _addEntry("swimmer_tone4", new String(new int[] {0x1f3ca,0x1f3fe}, 0, 2)); + _addEntry("swimmer_tone5", new String(new int[] {0x1f3ca,0x1f3ff}, 0, 2)); + _addEntry("sx", new String(new int[] {0x1f1f8,0x1f1fd}, 0, 2)); + _addEntry("sy", new String(new int[] {0x1f1f8,0x1f1fe}, 0, 2)); + _addEntry("symbols", new String(new int[] {0x1f523}, 0, 1)); + _addEntry("synagogue", new String(new int[] {0x1f54d}, 0, 1)); + _addEntry("syringe", new String(new int[] {0x1f489}, 0, 1)); + _addEntry("sz", new String(new int[] {0x1f1f8,0x1f1ff}, 0, 2)); + _addEntry("ta", new String(new int[] {0x1f1f9,0x1f1e6}, 0, 2)); + _addEntry("table_tennis", new String(new int[] {0x1f3d3}, 0, 1)); + _addEntry("taco", new String(new int[] {0x1f32e}, 0, 1)); + _addEntry("tada", new String(new int[] {0x1f389}, 0, 1)); + _addEntry("tanabata_tree", new String(new int[] {0x1f38b}, 0, 1)); + _addEntry("tangerine", new String(new int[] {0x1f34a}, 0, 1)); + _addEntry("taurus", new String(new int[] {0x2649}, 0, 1)); + _addEntry("taxi", new String(new int[] {0x1f695}, 0, 1)); + _addEntry("tc", new String(new int[] {0x1f1f9,0x1f1e8}, 0, 2)); + _addEntry("td", new String(new int[] {0x1f1f9,0x1f1e9}, 0, 2)); + _addEntry("tea", new String(new int[] {0x1f375}, 0, 1)); + _addEntry("telephone", new String(new int[] {0x260e}, 0, 1)); + _addEntry("telephone_receiver", new String(new int[] {0x1f4de}, 0, 1)); + _addEntry("telescope", new String(new int[] {0x1f52d}, 0, 1)); + _addEntry("tennis", new String(new int[] {0x1f3be}, 0, 1)); + _addEntry("tent", new String(new int[] {0x26fa}, 0, 1)); + _addEntry("tf", new String(new int[] {0x1f1f9,0x1f1eb}, 0, 2)); + _addEntry("tg", new String(new int[] {0x1f1f9,0x1f1ec}, 0, 2)); + _addEntry("th", new String(new int[] {0x1f1f9,0x1f1ed}, 0, 2)); + _addEntry("thermometer", new String(new int[] {0x1f321}, 0, 1)); + _addEntry("thermometer_face", new String(new int[] {0x1f912}, 0, 1)); + _addEntry("thinking", new String(new int[] {0x1f914}, 0, 1)); + _addEntry("thinking_face", new String(new int[] {0x1f914}, 0, 1)); + _addEntry("third_place", new String(new int[] {0x1f949}, 0, 1)); + _addEntry("third_place_medal", new String(new int[] {0x1f949}, 0, 1)); + _addEntry("thought_balloon", new String(new int[] {0x1f4ad}, 0, 1)); + _addEntry("three", new String(new int[] {0x0033,0x20e3}, 0, 2)); + _addEntry("three_button_mouse", new String(new int[] {0x1f5b1}, 0, 1)); + _addEntry("thumbdown", new String(new int[] {0x1f44e}, 0, 1)); + _addEntry("thumbdown_tone1", new String(new int[] {0x1f44e,0x1f3fb}, 0, 2)); + _addEntry("thumbdown_tone2", new String(new int[] {0x1f44e,0x1f3fc}, 0, 2)); + _addEntry("thumbdown_tone3", new String(new int[] {0x1f44e,0x1f3fd}, 0, 2)); + _addEntry("thumbdown_tone4", new String(new int[] {0x1f44e,0x1f3fe}, 0, 2)); + _addEntry("thumbdown_tone5", new String(new int[] {0x1f44e,0x1f3ff}, 0, 2)); + _addEntry("thumbsdown", new String(new int[] {0x1f44e}, 0, 1)); + _addEntry("thumbsdown_tone1", new String(new int[] {0x1f44e,0x1f3fb}, 0, 2)); + _addEntry("thumbsdown_tone2", new String(new int[] {0x1f44e,0x1f3fc}, 0, 2)); + _addEntry("thumbsdown_tone3", new String(new int[] {0x1f44e,0x1f3fd}, 0, 2)); + _addEntry("thumbsdown_tone4", new String(new int[] {0x1f44e,0x1f3fe}, 0, 2)); + _addEntry("thumbsdown_tone5", new String(new int[] {0x1f44e,0x1f3ff}, 0, 2)); + _addEntry("thumbsup", new String(new int[] {0x1f44d}, 0, 1)); + _addEntry("thumbsup_tone1", new String(new int[] {0x1f44d,0x1f3fb}, 0, 2)); + _addEntry("thumbsup_tone2", new String(new int[] {0x1f44d,0x1f3fc}, 0, 2)); + _addEntry("thumbsup_tone3", new String(new int[] {0x1f44d,0x1f3fd}, 0, 2)); + _addEntry("thumbsup_tone4", new String(new int[] {0x1f44d,0x1f3fe}, 0, 2)); + _addEntry("thumbsup_tone5", new String(new int[] {0x1f44d,0x1f3ff}, 0, 2)); + _addEntry("thumbup", new String(new int[] {0x1f44d}, 0, 1)); + _addEntry("thumbup_tone1", new String(new int[] {0x1f44d,0x1f3fb}, 0, 2)); + _addEntry("thumbup_tone2", new String(new int[] {0x1f44d,0x1f3fc}, 0, 2)); + _addEntry("thumbup_tone3", new String(new int[] {0x1f44d,0x1f3fd}, 0, 2)); + _addEntry("thumbup_tone4", new String(new int[] {0x1f44d,0x1f3fe}, 0, 2)); + _addEntry("thumbup_tone5", new String(new int[] {0x1f44d,0x1f3ff}, 0, 2)); + _addEntry("thunder_cloud_and_rain", new String(new int[] {0x26c8}, 0, 1)); + _addEntry("thunder_cloud_rain", new String(new int[] {0x26c8}, 0, 1)); + _addEntry("ticket", new String(new int[] {0x1f3ab}, 0, 1)); + _addEntry("tickets", new String(new int[] {0x1f39f}, 0, 1)); + _addEntry("tiger", new String(new int[] {0x1f42f}, 0, 1)); + } + private static void init28(){ + _addEntry("tiger2", new String(new int[] {0x1f405}, 0, 1)); + _addEntry("timer", new String(new int[] {0x23f2}, 0, 1)); + _addEntry("timer_clock", new String(new int[] {0x23f2}, 0, 1)); + _addEntry("tired_face", new String(new int[] {0x1f62b}, 0, 1)); + _addEntry("tj", new String(new int[] {0x1f1f9,0x1f1ef}, 0, 2)); + _addEntry("tk", new String(new int[] {0x1f1f9,0x1f1f0}, 0, 2)); + _addEntry("tl", new String(new int[] {0x1f1f9,0x1f1f1}, 0, 2)); + _addEntry("tm", new String(new int[] {0x2122}, 0, 1)); + _addEntry("tn", new String(new int[] {0x1f1f9,0x1f1f3}, 0, 2)); + _addEntry("to", new String(new int[] {0x1f1f9,0x1f1f4}, 0, 2)); + _addEntry("toilet", new String(new int[] {0x1f6bd}, 0, 1)); + _addEntry("tokyo_tower", new String(new int[] {0x1f5fc}, 0, 1)); + _addEntry("tomato", new String(new int[] {0x1f345}, 0, 1)); + _addEntry("tone1", new String(new int[] {0x1f3fb}, 0, 1)); + _addEntry("tone2", new String(new int[] {0x1f3fc}, 0, 1)); + _addEntry("tone3", new String(new int[] {0x1f3fd}, 0, 1)); + _addEntry("tone4", new String(new int[] {0x1f3fe}, 0, 1)); + _addEntry("tone5", new String(new int[] {0x1f3ff}, 0, 1)); + _addEntry("tongue", new String(new int[] {0x1f445}, 0, 1)); + _addEntry("tools", new String(new int[] {0x1f6e0}, 0, 1)); + _addEntry("top", new String(new int[] {0x1f51d}, 0, 1)); + _addEntry("tophat", new String(new int[] {0x1f3a9}, 0, 1)); + _addEntry("tr", new String(new int[] {0x1f1f9,0x1f1f7}, 0, 2)); + _addEntry("track_next", new String(new int[] {0x23ed}, 0, 1)); + _addEntry("track_previous", new String(new int[] {0x23ee}, 0, 1)); + _addEntry("trackball", new String(new int[] {0x1f5b2}, 0, 1)); + _addEntry("tractor", new String(new int[] {0x1f69c}, 0, 1)); + _addEntry("traffic_light", new String(new int[] {0x1f6a5}, 0, 1)); + _addEntry("train", new String(new int[] {0x1f68b}, 0, 1)); + _addEntry("train2", new String(new int[] {0x1f686}, 0, 1)); + _addEntry("tram", new String(new int[] {0x1f68a}, 0, 1)); + _addEntry("triangular_flag_on_post", new String(new int[] {0x1f6a9}, 0, 1)); + _addEntry("triangular_ruler", new String(new int[] {0x1f4d0}, 0, 1)); + _addEntry("trident", new String(new int[] {0x1f531}, 0, 1)); + _addEntry("triumph", new String(new int[] {0x1f624}, 0, 1)); + _addEntry("trolleybus", new String(new int[] {0x1f68e}, 0, 1)); + _addEntry("trophy", new String(new int[] {0x1f3c6}, 0, 1)); + _addEntry("tropical_drink", new String(new int[] {0x1f379}, 0, 1)); + _addEntry("tropical_fish", new String(new int[] {0x1f420}, 0, 1)); + _addEntry("truck", new String(new int[] {0x1f69a}, 0, 1)); + _addEntry("trumpet", new String(new int[] {0x1f3ba}, 0, 1)); + _addEntry("tt", new String(new int[] {0x1f1f9,0x1f1f9}, 0, 2)); + _addEntry("tulip", new String(new int[] {0x1f337}, 0, 1)); + _addEntry("tumbler_glass", new String(new int[] {0x1f943}, 0, 1)); + _addEntry("turkey", new String(new int[] {0x1f983}, 0, 1)); + _addEntry("turkmenistan", new String(new int[] {0x1f1f9,0x1f1f2}, 0, 2)); + _addEntry("turtle", new String(new int[] {0x1f422}, 0, 1)); + _addEntry("tuvalu", new String(new int[] {0x1f1f9,0x1f1fb}, 0, 2)); + _addEntry("tuxedo_tone1", new String(new int[] {0x1f935,0x1f3fb}, 0, 2)); + _addEntry("tuxedo_tone2", new String(new int[] {0x1f935,0x1f3fc}, 0, 2)); + _addEntry("tuxedo_tone3", new String(new int[] {0x1f935,0x1f3fd}, 0, 2)); + _addEntry("tuxedo_tone4", new String(new int[] {0x1f935,0x1f3fe}, 0, 2)); + _addEntry("tuxedo_tone5", new String(new int[] {0x1f935,0x1f3ff}, 0, 2)); + _addEntry("tv", new String(new int[] {0x1f4fa}, 0, 1)); + _addEntry("tw", new String(new int[] {0x1f1f9,0x1f1fc}, 0, 2)); + _addEntry("twisted_rightwards_arrows", new String(new int[] {0x1f500}, 0, 1)); + _addEntry("two", new String(new int[] {0x0032,0x20e3}, 0, 2)); + _addEntry("two_hearts", new String(new int[] {0x1f495}, 0, 1)); + _addEntry("two_men_holding_hands", new String(new int[] {0x1f46c}, 0, 1)); + _addEntry("two_women_holding_hands", new String(new int[] {0x1f46d}, 0, 1)); + _addEntry("tz", new String(new int[] {0x1f1f9,0x1f1ff}, 0, 2)); + _addEntry("u5272", new String(new int[] {0x1f239}, 0, 1)); + _addEntry("u5408", new String(new int[] {0x1f234}, 0, 1)); + _addEntry("u55b6", new String(new int[] {0x1f23a}, 0, 1)); + _addEntry("u6307", new String(new int[] {0x1f22f}, 0, 1)); + _addEntry("u6708", new String(new int[] {0x1f237}, 0, 1)); + _addEntry("u6709", new String(new int[] {0x1f236}, 0, 1)); + _addEntry("u6e80", new String(new int[] {0x1f235}, 0, 1)); + _addEntry("u7121", new String(new int[] {0x1f21a}, 0, 1)); + _addEntry("u7533", new String(new int[] {0x1f238}, 0, 1)); + _addEntry("u7981", new String(new int[] {0x1f232}, 0, 1)); + _addEntry("u7a7a", new String(new int[] {0x1f233}, 0, 1)); + _addEntry("ua", new String(new int[] {0x1f1fa,0x1f1e6}, 0, 2)); + _addEntry("ug", new String(new int[] {0x1f1fa,0x1f1ec}, 0, 2)); + _addEntry("um", new String(new int[] {0x1f1fa,0x1f1f2}, 0, 2)); + _addEntry("umbrella", new String(new int[] {0x2614}, 0, 1)); + _addEntry("umbrella2", new String(new int[] {0x2602}, 0, 1)); + _addEntry("umbrella_on_ground", new String(new int[] {0x26f1}, 0, 1)); + _addEntry("unamused", new String(new int[] {0x1f612}, 0, 1)); + _addEntry("underage", new String(new int[] {0x1f51e}, 0, 1)); + _addEntry("unicorn", new String(new int[] {0x1f984}, 0, 1)); + _addEntry("unicorn_face", new String(new int[] {0x1f984}, 0, 1)); + _addEntry("united_nations", new String(new int[] {0x1f1fa,0x1f1f3}, 0, 2)); + _addEntry("unlock", new String(new int[] {0x1f513}, 0, 1)); + _addEntry("up", new String(new int[] {0x1f199}, 0, 1)); + _addEntry("upside_down", new String(new int[] {0x1f643}, 0, 1)); + _addEntry("upside_down_face", new String(new int[] {0x1f643}, 0, 1)); + _addEntry("urn", new String(new int[] {0x26b1}, 0, 1)); + _addEntry("us", new String(new int[] {0x1f1fa,0x1f1f8}, 0, 2)); + _addEntry("uy", new String(new int[] {0x1f1fa,0x1f1fe}, 0, 2)); + _addEntry("uz", new String(new int[] {0x1f1fa,0x1f1ff}, 0, 2)); + _addEntry("v", new String(new int[] {0x270c}, 0, 1)); + _addEntry("v_tone1", new String(new int[] {0x270c,0x1f3fb}, 0, 2)); + _addEntry("v_tone2", new String(new int[] {0x270c,0x1f3fc}, 0, 2)); + _addEntry("v_tone3", new String(new int[] {0x270c,0x1f3fd}, 0, 2)); + _addEntry("v_tone4", new String(new int[] {0x270c,0x1f3fe}, 0, 2)); + _addEntry("v_tone5", new String(new int[] {0x270c,0x1f3ff}, 0, 2)); + _addEntry("va", new String(new int[] {0x1f1fb,0x1f1e6}, 0, 2)); + _addEntry("vc", new String(new int[] {0x1f1fb,0x1f1e8}, 0, 2)); + _addEntry("ve", new String(new int[] {0x1f1fb,0x1f1ea}, 0, 2)); + _addEntry("vertical_traffic_light", new String(new int[] {0x1f6a6}, 0, 1)); + } + private static void init29(){ + _addEntry("vg", new String(new int[] {0x1f1fb,0x1f1ec}, 0, 2)); + _addEntry("vhs", new String(new int[] {0x1f4fc}, 0, 1)); + _addEntry("vi", new String(new int[] {0x1f1fb,0x1f1ee}, 0, 2)); + _addEntry("vibration_mode", new String(new int[] {0x1f4f3}, 0, 1)); + _addEntry("video_camera", new String(new int[] {0x1f4f9}, 0, 1)); + _addEntry("video_game", new String(new int[] {0x1f3ae}, 0, 1)); + _addEntry("violin", new String(new int[] {0x1f3bb}, 0, 1)); + _addEntry("virgo", new String(new int[] {0x264d}, 0, 1)); + _addEntry("vn", new String(new int[] {0x1f1fb,0x1f1f3}, 0, 2)); + _addEntry("volcano", new String(new int[] {0x1f30b}, 0, 1)); + _addEntry("volleyball", new String(new int[] {0x1f3d0}, 0, 1)); + _addEntry("vs", new String(new int[] {0x1f19a}, 0, 1)); + _addEntry("vu", new String(new int[] {0x1f1fb,0x1f1fa}, 0, 2)); + _addEntry("vulcan", new String(new int[] {0x1f596}, 0, 1)); + _addEntry("vulcan_tone1", new String(new int[] {0x1f596,0x1f3fb}, 0, 2)); + _addEntry("vulcan_tone2", new String(new int[] {0x1f596,0x1f3fc}, 0, 2)); + _addEntry("vulcan_tone3", new String(new int[] {0x1f596,0x1f3fd}, 0, 2)); + _addEntry("vulcan_tone4", new String(new int[] {0x1f596,0x1f3fe}, 0, 2)); + _addEntry("vulcan_tone5", new String(new int[] {0x1f596,0x1f3ff}, 0, 2)); + _addEntry("walking", new String(new int[] {0x1f6b6}, 0, 1)); + _addEntry("walking_tone1", new String(new int[] {0x1f6b6,0x1f3fb}, 0, 2)); + _addEntry("walking_tone2", new String(new int[] {0x1f6b6,0x1f3fc}, 0, 2)); + _addEntry("walking_tone3", new String(new int[] {0x1f6b6,0x1f3fd}, 0, 2)); + _addEntry("walking_tone4", new String(new int[] {0x1f6b6,0x1f3fe}, 0, 2)); + _addEntry("walking_tone5", new String(new int[] {0x1f6b6,0x1f3ff}, 0, 2)); + _addEntry("waning_crescent_moon", new String(new int[] {0x1f318}, 0, 1)); + _addEntry("waning_gibbous_moon", new String(new int[] {0x1f316}, 0, 1)); + _addEntry("warning", new String(new int[] {0x26a0}, 0, 1)); + _addEntry("wastebasket", new String(new int[] {0x1f5d1}, 0, 1)); + _addEntry("watch", new String(new int[] {0x231a}, 0, 1)); + _addEntry("water_buffalo", new String(new int[] {0x1f403}, 0, 1)); + _addEntry("water_polo", new String(new int[] {0x1f93d}, 0, 1)); + _addEntry("water_polo_tone1", new String(new int[] {0x1f93d,0x1f3fb}, 0, 2)); + _addEntry("water_polo_tone2", new String(new int[] {0x1f93d,0x1f3fc}, 0, 2)); + _addEntry("water_polo_tone3", new String(new int[] {0x1f93d,0x1f3fd}, 0, 2)); + _addEntry("water_polo_tone4", new String(new int[] {0x1f93d,0x1f3fe}, 0, 2)); + _addEntry("water_polo_tone5", new String(new int[] {0x1f93d,0x1f3ff}, 0, 2)); + _addEntry("watermelon", new String(new int[] {0x1f349}, 0, 1)); + _addEntry("wave", new String(new int[] {0x1f44b}, 0, 1)); + _addEntry("wave_tone1", new String(new int[] {0x1f44b,0x1f3fb}, 0, 2)); + _addEntry("wave_tone2", new String(new int[] {0x1f44b,0x1f3fc}, 0, 2)); + _addEntry("wave_tone3", new String(new int[] {0x1f44b,0x1f3fd}, 0, 2)); + _addEntry("wave_tone4", new String(new int[] {0x1f44b,0x1f3fe}, 0, 2)); + _addEntry("wave_tone5", new String(new int[] {0x1f44b,0x1f3ff}, 0, 2)); + _addEntry("waving_black_flag", new String(new int[] {0x1f3f4}, 0, 1)); + _addEntry("waving_white_flag", new String(new int[] {0x1f3f3}, 0, 1)); + _addEntry("wavy_dash", new String(new int[] {0x3030}, 0, 1)); + _addEntry("waxing_crescent_moon", new String(new int[] {0x1f312}, 0, 1)); + _addEntry("waxing_gibbous_moon", new String(new int[] {0x1f314}, 0, 1)); + _addEntry("wc", new String(new int[] {0x1f6be}, 0, 1)); + _addEntry("weary", new String(new int[] {0x1f629}, 0, 1)); + _addEntry("wedding", new String(new int[] {0x1f492}, 0, 1)); + _addEntry("weight_lifter", new String(new int[] {0x1f3cb}, 0, 1)); + _addEntry("weight_lifter_tone1", new String(new int[] {0x1f3cb,0x1f3fb}, 0, 2)); + _addEntry("weight_lifter_tone2", new String(new int[] {0x1f3cb,0x1f3fc}, 0, 2)); + _addEntry("weight_lifter_tone3", new String(new int[] {0x1f3cb,0x1f3fd}, 0, 2)); + _addEntry("weight_lifter_tone4", new String(new int[] {0x1f3cb,0x1f3fe}, 0, 2)); + _addEntry("weight_lifter_tone5", new String(new int[] {0x1f3cb,0x1f3ff}, 0, 2)); + _addEntry("wf", new String(new int[] {0x1f1fc,0x1f1eb}, 0, 2)); + _addEntry("whale", new String(new int[] {0x1f433}, 0, 1)); + _addEntry("whale2", new String(new int[] {0x1f40b}, 0, 1)); + _addEntry("wheel_of_dharma", new String(new int[] {0x2638}, 0, 1)); + _addEntry("wheelchair", new String(new int[] {0x267f}, 0, 1)); + _addEntry("whisky", new String(new int[] {0x1f943}, 0, 1)); + _addEntry("white_check_mark", new String(new int[] {0x2705}, 0, 1)); + _addEntry("white_circle", new String(new int[] {0x26aa}, 0, 1)); + _addEntry("white_flower", new String(new int[] {0x1f4ae}, 0, 1)); + _addEntry("white_frowning_face", new String(new int[] {0x2639}, 0, 1)); + _addEntry("white_large_square", new String(new int[] {0x2b1c}, 0, 1)); + _addEntry("white_medium_small_square", new String(new int[] {0x25fd}, 0, 1)); + _addEntry("white_medium_square", new String(new int[] {0x25fb}, 0, 1)); + _addEntry("white_small_square", new String(new int[] {0x25ab}, 0, 1)); + _addEntry("white_square_button", new String(new int[] {0x1f533}, 0, 1)); + _addEntry("white_sun_behind_cloud", new String(new int[] {0x1f325}, 0, 1)); + _addEntry("white_sun_behind_cloud_with_rain", new String(new int[] {0x1f326}, 0, 1)); + _addEntry("white_sun_cloud", new String(new int[] {0x1f325}, 0, 1)); + _addEntry("white_sun_rain_cloud", new String(new int[] {0x1f326}, 0, 1)); + _addEntry("white_sun_small_cloud", new String(new int[] {0x1f324}, 0, 1)); + _addEntry("white_sun_with_small_cloud", new String(new int[] {0x1f324}, 0, 1)); + _addEntry("wilted_flower", new String(new int[] {0x1f940}, 0, 1)); + _addEntry("wilted_rose", new String(new int[] {0x1f940}, 0, 1)); + _addEntry("wind_blowing_face", new String(new int[] {0x1f32c}, 0, 1)); + _addEntry("wind_chime", new String(new int[] {0x1f390}, 0, 1)); + _addEntry("wine_glass", new String(new int[] {0x1f377}, 0, 1)); + _addEntry("wink", new String(new int[] {0x1f609}, 0, 1)); + _addEntry("wolf", new String(new int[] {0x1f43a}, 0, 1)); + _addEntry("woman", new String(new int[] {0x1f469}, 0, 1)); + _addEntry("woman_artist", new String(new int[] {0x1f469,0x1f3a8}, 0, 2)); + _addEntry("woman_artist_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x1f3a8}, 0, 3)); + _addEntry("woman_artist_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x1f3a8}, 0, 3)); + _addEntry("woman_artist_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x1f3a8}, 0, 3)); + _addEntry("woman_artist_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x1f3a8}, 0, 3)); + _addEntry("woman_artist_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x1f3a8}, 0, 3)); + _addEntry("woman_artist_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f3a8}, 0, 3)); + _addEntry("woman_artist_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f3a8}, 0, 3)); + _addEntry("woman_artist_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f3a8}, 0, 3)); + _addEntry("woman_artist_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f3a8}, 0, 3)); + _addEntry("woman_artist_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f3a8}, 0, 3)); + _addEntry("woman_astronaut", new String(new int[] {0x1f469,0x1f680}, 0, 2)); + _addEntry("woman_astronaut_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x1f680}, 0, 3)); + _addEntry("woman_astronaut_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x1f680}, 0, 3)); + } + private static void init30(){ + _addEntry("woman_astronaut_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x1f680}, 0, 3)); + _addEntry("woman_astronaut_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x1f680}, 0, 3)); + _addEntry("woman_astronaut_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x1f680}, 0, 3)); + _addEntry("woman_astronaut_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f680}, 0, 3)); + _addEntry("woman_astronaut_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f680}, 0, 3)); + _addEntry("woman_astronaut_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f680}, 0, 3)); + _addEntry("woman_astronaut_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f680}, 0, 3)); + _addEntry("woman_astronaut_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f680}, 0, 3)); + _addEntry("woman_biking", new String(new int[] {0x1f6b4,0x2640}, 0, 2)); + _addEntry("woman_biking_dark_skin_tone", new String(new int[] {0x1f6b4,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_biking_light_skin_tone", new String(new int[] {0x1f6b4,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_biking_medium_dark_skin_tone", new String(new int[] {0x1f6b4,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_biking_medium_light_skin_tone", new String(new int[] {0x1f6b4,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_biking_medium_skin_tone", new String(new int[] {0x1f6b4,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_biking_tone1", new String(new int[] {0x1f6b4,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_biking_tone2", new String(new int[] {0x1f6b4,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_biking_tone3", new String(new int[] {0x1f6b4,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_biking_tone4", new String(new int[] {0x1f6b4,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_biking_tone5", new String(new int[] {0x1f6b4,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_bouncing_ball", new String(new int[] {0x26f9,0x2640}, 0, 2)); + _addEntry("woman_bouncing_ball_dark_skin_tone", new String(new int[] {0x26f9,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_bouncing_ball_light_skin_tone", new String(new int[] {0x26f9,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_bouncing_ball_medium_dark_skin_tone", new String(new int[] {0x26f9,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_bouncing_ball_medium_light_skin_tone", new String(new int[] {0x26f9,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_bouncing_ball_medium_skin_tone", new String(new int[] {0x26f9,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_bouncing_ball_tone1", new String(new int[] {0x26f9,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_bouncing_ball_tone2", new String(new int[] {0x26f9,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_bouncing_ball_tone3", new String(new int[] {0x26f9,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_bouncing_ball_tone4", new String(new int[] {0x26f9,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_bouncing_ball_tone5", new String(new int[] {0x26f9,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_bowing", new String(new int[] {0x1f647,0x2640}, 0, 2)); + _addEntry("woman_bowing_dark_skin_tone", new String(new int[] {0x1f647,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_bowing_light_skin_tone", new String(new int[] {0x1f647,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_bowing_medium_dark_skin_tone", new String(new int[] {0x1f647,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_bowing_medium_light_skin_tone", new String(new int[] {0x1f647,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_bowing_medium_skin_tone", new String(new int[] {0x1f647,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_bowing_tone1", new String(new int[] {0x1f647,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_bowing_tone2", new String(new int[] {0x1f647,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_bowing_tone3", new String(new int[] {0x1f647,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_bowing_tone4", new String(new int[] {0x1f647,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_bowing_tone5", new String(new int[] {0x1f647,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_cartwheeling", new String(new int[] {0x1f938,0x2640}, 0, 2)); + _addEntry("woman_cartwheeling_dark_skin_tone", new String(new int[] {0x1f938,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_cartwheeling_light_skin_tone", new String(new int[] {0x1f938,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_cartwheeling_medium_dark_skin_tone", new String(new int[] {0x1f938,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_cartwheeling_medium_light_skin_tone", new String(new int[] {0x1f938,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_cartwheeling_medium_skin_tone", new String(new int[] {0x1f938,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_cartwheeling_tone1", new String(new int[] {0x1f938,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_cartwheeling_tone2", new String(new int[] {0x1f938,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_cartwheeling_tone3", new String(new int[] {0x1f938,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_cartwheeling_tone4", new String(new int[] {0x1f938,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_cartwheeling_tone5", new String(new int[] {0x1f938,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_construction_worker", new String(new int[] {0x1f477,0x2640}, 0, 2)); + _addEntry("woman_construction_worker_dark_skin_tone", new String(new int[] {0x1f477,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_construction_worker_light_skin_tone", new String(new int[] {0x1f477,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_construction_worker_medium_dark_skin_tone", new String(new int[] {0x1f477,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_construction_worker_medium_light_skin_tone", new String(new int[] {0x1f477,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_construction_worker_medium_skin_tone", new String(new int[] {0x1f477,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_construction_worker_tone1", new String(new int[] {0x1f477,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_construction_worker_tone2", new String(new int[] {0x1f477,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_construction_worker_tone3", new String(new int[] {0x1f477,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_construction_worker_tone4", new String(new int[] {0x1f477,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_construction_worker_tone5", new String(new int[] {0x1f477,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_cook", new String(new int[] {0x1f469,0x1f373}, 0, 2)); + _addEntry("woman_cook_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x1f373}, 0, 3)); + _addEntry("woman_cook_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x1f373}, 0, 3)); + _addEntry("woman_cook_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x1f373}, 0, 3)); + _addEntry("woman_cook_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x1f373}, 0, 3)); + _addEntry("woman_cook_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x1f373}, 0, 3)); + _addEntry("woman_cook_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f373}, 0, 3)); + _addEntry("woman_cook_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f373}, 0, 3)); + _addEntry("woman_cook_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f373}, 0, 3)); + _addEntry("woman_cook_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f373}, 0, 3)); + _addEntry("woman_cook_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f373}, 0, 3)); + _addEntry("woman_detective", new String(new int[] {0x1f575,0x2640}, 0, 2)); + _addEntry("woman_detective_dark_skin_tone", new String(new int[] {0x1f575,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_detective_light_skin_tone", new String(new int[] {0x1f575,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_detective_medium_dark_skin_tone", new String(new int[] {0x1f575,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_detective_medium_light_skin_tone", new String(new int[] {0x1f575,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_detective_medium_skin_tone", new String(new int[] {0x1f575,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_detective_tone1", new String(new int[] {0x1f575,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_detective_tone2", new String(new int[] {0x1f575,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_detective_tone3", new String(new int[] {0x1f575,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_detective_tone4", new String(new int[] {0x1f575,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_detective_tone5", new String(new int[] {0x1f575,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_facepalming", new String(new int[] {0x1f926,0x2640}, 0, 2)); + _addEntry("woman_facepalming_dark_skin_tone", new String(new int[] {0x1f926,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_facepalming_light_skin_tone", new String(new int[] {0x1f926,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_facepalming_medium_dark_skin_tone", new String(new int[] {0x1f926,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_facepalming_medium_light_skin_tone", new String(new int[] {0x1f926,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_facepalming_medium_skin_tone", new String(new int[] {0x1f926,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_facepalming_tone1", new String(new int[] {0x1f926,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_facepalming_tone2", new String(new int[] {0x1f926,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_facepalming_tone3", new String(new int[] {0x1f926,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_facepalming_tone4", new String(new int[] {0x1f926,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_facepalming_tone5", new String(new int[] {0x1f926,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_factory_worker", new String(new int[] {0x1f469,0x1f3ed}, 0, 2)); + _addEntry("woman_factory_worker_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x1f3ed}, 0, 3)); + _addEntry("woman_factory_worker_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x1f3ed}, 0, 3)); + _addEntry("woman_factory_worker_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x1f3ed}, 0, 3)); + _addEntry("woman_factory_worker_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x1f3ed}, 0, 3)); + } + private static void init31(){ + _addEntry("woman_factory_worker_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x1f3ed}, 0, 3)); + _addEntry("woman_factory_worker_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f3ed}, 0, 3)); + _addEntry("woman_factory_worker_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f3ed}, 0, 3)); + _addEntry("woman_factory_worker_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f3ed}, 0, 3)); + _addEntry("woman_factory_worker_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f3ed}, 0, 3)); + _addEntry("woman_factory_worker_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f3ed}, 0, 3)); + _addEntry("woman_farmer", new String(new int[] {0x1f469,0x1f33e}, 0, 2)); + _addEntry("woman_farmer_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x1f33e}, 0, 3)); + _addEntry("woman_farmer_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x1f33e}, 0, 3)); + _addEntry("woman_farmer_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x1f33e}, 0, 3)); + _addEntry("woman_farmer_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x1f33e}, 0, 3)); + _addEntry("woman_farmer_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x1f33e}, 0, 3)); + _addEntry("woman_farmer_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f33e}, 0, 3)); + _addEntry("woman_farmer_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f33e}, 0, 3)); + _addEntry("woman_farmer_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f33e}, 0, 3)); + _addEntry("woman_farmer_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f33e}, 0, 3)); + _addEntry("woman_farmer_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f33e}, 0, 3)); + _addEntry("woman_firefighter", new String(new int[] {0x1f469,0x1f692}, 0, 2)); + _addEntry("woman_firefighter_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x1f692}, 0, 3)); + _addEntry("woman_firefighter_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x1f692}, 0, 3)); + _addEntry("woman_firefighter_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x1f692}, 0, 3)); + _addEntry("woman_firefighter_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x1f692}, 0, 3)); + _addEntry("woman_firefighter_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x1f692}, 0, 3)); + _addEntry("woman_firefighter_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f692}, 0, 3)); + _addEntry("woman_firefighter_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f692}, 0, 3)); + _addEntry("woman_firefighter_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f692}, 0, 3)); + _addEntry("woman_firefighter_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f692}, 0, 3)); + _addEntry("woman_firefighter_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f692}, 0, 3)); + _addEntry("woman_frowning", new String(new int[] {0x1f64d,0x2640}, 0, 2)); + _addEntry("woman_frowning_dark_skin_tone", new String(new int[] {0x1f64d,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_frowning_light_skin_tone", new String(new int[] {0x1f64d,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_frowning_medium_dark_skin_tone", new String(new int[] {0x1f64d,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_frowning_medium_light_skin_tone", new String(new int[] {0x1f64d,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_frowning_medium_skin_tone", new String(new int[] {0x1f64d,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_frowning_tone1", new String(new int[] {0x1f64d,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_frowning_tone2", new String(new int[] {0x1f64d,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_frowning_tone3", new String(new int[] {0x1f64d,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_frowning_tone4", new String(new int[] {0x1f64d,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_frowning_tone5", new String(new int[] {0x1f64d,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_gesturing_no", new String(new int[] {0x1f645,0x2640}, 0, 2)); + _addEntry("woman_gesturing_no_dark_skin_tone", new String(new int[] {0x1f645,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_gesturing_no_light_skin_tone", new String(new int[] {0x1f645,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_gesturing_no_medium_dark_skin_tone", new String(new int[] {0x1f645,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_gesturing_no_medium_light_skin_tone", new String(new int[] {0x1f645,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_gesturing_no_medium_skin_tone", new String(new int[] {0x1f645,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_gesturing_no_tone1", new String(new int[] {0x1f645,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_gesturing_no_tone2", new String(new int[] {0x1f645,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_gesturing_no_tone3", new String(new int[] {0x1f645,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_gesturing_no_tone4", new String(new int[] {0x1f645,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_gesturing_no_tone5", new String(new int[] {0x1f645,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_gesturing_ok", new String(new int[] {0x1f646,0x2640}, 0, 2)); + _addEntry("woman_gesturing_ok_dark_skin_tone", new String(new int[] {0x1f646,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_gesturing_ok_light_skin_tone", new String(new int[] {0x1f646,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_gesturing_ok_medium_dark_skin_tone", new String(new int[] {0x1f646,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_gesturing_ok_medium_light_skin_tone", new String(new int[] {0x1f646,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_gesturing_ok_medium_skin_tone", new String(new int[] {0x1f646,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_gesturing_ok_tone1", new String(new int[] {0x1f646,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_gesturing_ok_tone2", new String(new int[] {0x1f646,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_gesturing_ok_tone3", new String(new int[] {0x1f646,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_gesturing_ok_tone4", new String(new int[] {0x1f646,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_gesturing_ok_tone5", new String(new int[] {0x1f646,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_getting_face_massage", new String(new int[] {0x1f486,0x2640}, 0, 2)); + _addEntry("woman_getting_face_massage_dark_skin_tone", new String(new int[] {0x1f486,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_getting_face_massage_light_skin_tone", new String(new int[] {0x1f486,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_getting_face_massage_medium_dark_skin_tone", new String(new int[] {0x1f486,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_getting_face_massage_medium_light_skin_tone", new String(new int[] {0x1f486,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_getting_face_massage_medium_skin_tone", new String(new int[] {0x1f486,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_getting_face_massage_tone1", new String(new int[] {0x1f486,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_getting_face_massage_tone2", new String(new int[] {0x1f486,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_getting_face_massage_tone3", new String(new int[] {0x1f486,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_getting_face_massage_tone4", new String(new int[] {0x1f486,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_getting_face_massage_tone5", new String(new int[] {0x1f486,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_getting_haircut", new String(new int[] {0x1f487,0x2640}, 0, 2)); + _addEntry("woman_getting_haircut_dark_skin_tone", new String(new int[] {0x1f487,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_getting_haircut_light_skin_tone", new String(new int[] {0x1f487,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_getting_haircut_medium_dark_skin_tone", new String(new int[] {0x1f487,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_getting_haircut_medium_light_skin_tone", new String(new int[] {0x1f487,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_getting_haircut_medium_skin_tone", new String(new int[] {0x1f487,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_getting_haircut_tone1", new String(new int[] {0x1f487,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_getting_haircut_tone2", new String(new int[] {0x1f487,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_getting_haircut_tone3", new String(new int[] {0x1f487,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_getting_haircut_tone4", new String(new int[] {0x1f487,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_getting_haircut_tone5", new String(new int[] {0x1f487,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_golfing", new String(new int[] {0x1f3cc,0x2640}, 0, 2)); + _addEntry("woman_golfing_dark_skin_tone", new String(new int[] {0x1f3cc,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_golfing_light_skin_tone", new String(new int[] {0x1f3cc,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_golfing_medium_dark_skin_tone", new String(new int[] {0x1f3cc,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_golfing_medium_light_skin_tone", new String(new int[] {0x1f3cc,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_golfing_medium_skin_tone", new String(new int[] {0x1f3cc,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_golfing_tone1", new String(new int[] {0x1f3cc,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_golfing_tone2", new String(new int[] {0x1f3cc,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_golfing_tone3", new String(new int[] {0x1f3cc,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_golfing_tone4", new String(new int[] {0x1f3cc,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_golfing_tone5", new String(new int[] {0x1f3cc,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_guard", new String(new int[] {0x1f482,0x2640}, 0, 2)); + _addEntry("woman_guard_dark_skin_tone", new String(new int[] {0x1f482,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_guard_light_skin_tone", new String(new int[] {0x1f482,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_guard_medium_dark_skin_tone", new String(new int[] {0x1f482,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_guard_medium_light_skin_tone", new String(new int[] {0x1f482,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_guard_medium_skin_tone", new String(new int[] {0x1f482,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_guard_tone1", new String(new int[] {0x1f482,0x1f3fb,0x2640}, 0, 3)); + } + private static void init32(){ + _addEntry("woman_guard_tone2", new String(new int[] {0x1f482,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_guard_tone3", new String(new int[] {0x1f482,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_guard_tone4", new String(new int[] {0x1f482,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_guard_tone5", new String(new int[] {0x1f482,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_health_worker", new String(new int[] {0x1f469,0x2695}, 0, 2)); + _addEntry("woman_health_worker_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x2695}, 0, 3)); + _addEntry("woman_health_worker_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x2695}, 0, 3)); + _addEntry("woman_health_worker_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x2695}, 0, 3)); + _addEntry("woman_health_worker_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x2695}, 0, 3)); + _addEntry("woman_health_worker_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x2695}, 0, 3)); + _addEntry("woman_health_worker_tone1", new String(new int[] {0x1f469,0x1f3fb,0x2695}, 0, 3)); + _addEntry("woman_health_worker_tone2", new String(new int[] {0x1f469,0x1f3fc,0x2695}, 0, 3)); + _addEntry("woman_health_worker_tone3", new String(new int[] {0x1f469,0x1f3fd,0x2695}, 0, 3)); + _addEntry("woman_health_worker_tone4", new String(new int[] {0x1f469,0x1f3fe,0x2695}, 0, 3)); + _addEntry("woman_health_worker_tone5", new String(new int[] {0x1f469,0x1f3ff,0x2695}, 0, 3)); + _addEntry("woman_judge", new String(new int[] {0x1f469,0x2696}, 0, 2)); + _addEntry("woman_judge_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x2696}, 0, 3)); + _addEntry("woman_judge_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x2696}, 0, 3)); + _addEntry("woman_judge_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x2696}, 0, 3)); + _addEntry("woman_judge_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x2696}, 0, 3)); + _addEntry("woman_judge_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x2696}, 0, 3)); + _addEntry("woman_judge_tone1", new String(new int[] {0x1f469,0x1f3fb,0x2696}, 0, 3)); + _addEntry("woman_judge_tone2", new String(new int[] {0x1f469,0x1f3fc,0x2696}, 0, 3)); + _addEntry("woman_judge_tone3", new String(new int[] {0x1f469,0x1f3fd,0x2696}, 0, 3)); + _addEntry("woman_judge_tone4", new String(new int[] {0x1f469,0x1f3fe,0x2696}, 0, 3)); + _addEntry("woman_judge_tone5", new String(new int[] {0x1f469,0x1f3ff,0x2696}, 0, 3)); + _addEntry("woman_juggling", new String(new int[] {0x1f939,0x2640}, 0, 2)); + _addEntry("woman_juggling_dark_skin_tone", new String(new int[] {0x1f939,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_juggling_light_skin_tone", new String(new int[] {0x1f939,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_juggling_medium_dark_skin_tone", new String(new int[] {0x1f939,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_juggling_medium_light_skin_tone", new String(new int[] {0x1f939,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_juggling_medium_skin_tone", new String(new int[] {0x1f939,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_juggling_tone1", new String(new int[] {0x1f939,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_juggling_tone2", new String(new int[] {0x1f939,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_juggling_tone3", new String(new int[] {0x1f939,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_juggling_tone4", new String(new int[] {0x1f939,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_juggling_tone5", new String(new int[] {0x1f939,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_lifting_weights", new String(new int[] {0x1f3cb,0x2640}, 0, 2)); + _addEntry("woman_lifting_weights_dark_skin_tone", new String(new int[] {0x1f3cb,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_lifting_weights_light_skin_tone", new String(new int[] {0x1f3cb,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_lifting_weights_medium_dark_skin_tone", new String(new int[] {0x1f3cb,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_lifting_weights_medium_light_skin_tone", new String(new int[] {0x1f3cb,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_lifting_weights_medium_skin_tone", new String(new int[] {0x1f3cb,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_lifting_weights_tone1", new String(new int[] {0x1f3cb,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_lifting_weights_tone2", new String(new int[] {0x1f3cb,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_lifting_weights_tone3", new String(new int[] {0x1f3cb,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_lifting_weights_tone4", new String(new int[] {0x1f3cb,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_lifting_weights_tone5", new String(new int[] {0x1f3cb,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_mechanic", new String(new int[] {0x1f469,0x1f527}, 0, 2)); + _addEntry("woman_mechanic_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x1f527}, 0, 3)); + _addEntry("woman_mechanic_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x1f527}, 0, 3)); + _addEntry("woman_mechanic_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x1f527}, 0, 3)); + _addEntry("woman_mechanic_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x1f527}, 0, 3)); + _addEntry("woman_mechanic_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x1f527}, 0, 3)); + _addEntry("woman_mechanic_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f527}, 0, 3)); + _addEntry("woman_mechanic_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f527}, 0, 3)); + _addEntry("woman_mechanic_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f527}, 0, 3)); + _addEntry("woman_mechanic_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f527}, 0, 3)); + _addEntry("woman_mechanic_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f527}, 0, 3)); + _addEntry("woman_mountain_biking", new String(new int[] {0x1f6b5,0x2640}, 0, 2)); + _addEntry("woman_mountain_biking_dark_skin_tone", new String(new int[] {0x1f6b5,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_mountain_biking_light_skin_tone", new String(new int[] {0x1f6b5,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_mountain_biking_medium_dark_skin_tone", new String(new int[] {0x1f6b5,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_mountain_biking_medium_light_skin_tone", new String(new int[] {0x1f6b5,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_mountain_biking_medium_skin_tone", new String(new int[] {0x1f6b5,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_mountain_biking_tone1", new String(new int[] {0x1f6b5,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_mountain_biking_tone2", new String(new int[] {0x1f6b5,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_mountain_biking_tone3", new String(new int[] {0x1f6b5,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_mountain_biking_tone4", new String(new int[] {0x1f6b5,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_mountain_biking_tone5", new String(new int[] {0x1f6b5,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_office_worker", new String(new int[] {0x1f469,0x1f4bc}, 0, 2)); + _addEntry("woman_office_worker_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x1f4bc}, 0, 3)); + _addEntry("woman_office_worker_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x1f4bc}, 0, 3)); + _addEntry("woman_office_worker_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x1f4bc}, 0, 3)); + _addEntry("woman_office_worker_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x1f4bc}, 0, 3)); + _addEntry("woman_office_worker_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x1f4bc}, 0, 3)); + _addEntry("woman_office_worker_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f4bc}, 0, 3)); + _addEntry("woman_office_worker_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f4bc}, 0, 3)); + _addEntry("woman_office_worker_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f4bc}, 0, 3)); + _addEntry("woman_office_worker_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f4bc}, 0, 3)); + _addEntry("woman_office_worker_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f4bc}, 0, 3)); + _addEntry("woman_pilot", new String(new int[] {0x1f469,0x2708}, 0, 2)); + _addEntry("woman_pilot_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x2708}, 0, 3)); + _addEntry("woman_pilot_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x2708}, 0, 3)); + _addEntry("woman_pilot_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x2708}, 0, 3)); + _addEntry("woman_pilot_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x2708}, 0, 3)); + _addEntry("woman_pilot_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x2708}, 0, 3)); + _addEntry("woman_pilot_tone1", new String(new int[] {0x1f469,0x1f3fb,0x2708}, 0, 3)); + _addEntry("woman_pilot_tone2", new String(new int[] {0x1f469,0x1f3fc,0x2708}, 0, 3)); + _addEntry("woman_pilot_tone3", new String(new int[] {0x1f469,0x1f3fd,0x2708}, 0, 3)); + _addEntry("woman_pilot_tone4", new String(new int[] {0x1f469,0x1f3fe,0x2708}, 0, 3)); + _addEntry("woman_pilot_tone5", new String(new int[] {0x1f469,0x1f3ff,0x2708}, 0, 3)); + _addEntry("woman_playing_handball", new String(new int[] {0x1f93e,0x2640}, 0, 2)); + _addEntry("woman_playing_handball_dark_skin_tone", new String(new int[] {0x1f93e,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_playing_handball_light_skin_tone", new String(new int[] {0x1f93e,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_playing_handball_medium_dark_skin_tone", new String(new int[] {0x1f93e,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_playing_handball_medium_light_skin_tone", new String(new int[] {0x1f93e,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_playing_handball_medium_skin_tone", new String(new int[] {0x1f93e,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_playing_handball_tone1", new String(new int[] {0x1f93e,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_playing_handball_tone2", new String(new int[] {0x1f93e,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_playing_handball_tone3", new String(new int[] {0x1f93e,0x1f3fd,0x2640}, 0, 3)); + } + private static void init33(){ + _addEntry("woman_playing_handball_tone4", new String(new int[] {0x1f93e,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_playing_handball_tone5", new String(new int[] {0x1f93e,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_playing_water_polo", new String(new int[] {0x1f93d,0x2640}, 0, 2)); + _addEntry("woman_playing_water_polo_dark_skin_tone", new String(new int[] {0x1f93d,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_playing_water_polo_light_skin_tone", new String(new int[] {0x1f93d,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_playing_water_polo_medium_dark_skin_tone", new String(new int[] {0x1f93d,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_playing_water_polo_medium_light_skin_tone", new String(new int[] {0x1f93d,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_playing_water_polo_medium_skin_tone", new String(new int[] {0x1f93d,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_playing_water_polo_tone1", new String(new int[] {0x1f93d,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_playing_water_polo_tone2", new String(new int[] {0x1f93d,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_playing_water_polo_tone3", new String(new int[] {0x1f93d,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_playing_water_polo_tone4", new String(new int[] {0x1f93d,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_playing_water_polo_tone5", new String(new int[] {0x1f93d,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_police_officer", new String(new int[] {0x1f46e,0x2640}, 0, 2)); + _addEntry("woman_police_officer_dark_skin_tone", new String(new int[] {0x1f46e,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_police_officer_light_skin_tone", new String(new int[] {0x1f46e,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_police_officer_medium_dark_skin_tone", new String(new int[] {0x1f46e,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_police_officer_medium_light_skin_tone", new String(new int[] {0x1f46e,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_police_officer_medium_skin_tone", new String(new int[] {0x1f46e,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_police_officer_tone1", new String(new int[] {0x1f46e,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_police_officer_tone2", new String(new int[] {0x1f46e,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_police_officer_tone3", new String(new int[] {0x1f46e,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_police_officer_tone4", new String(new int[] {0x1f46e,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_police_officer_tone5", new String(new int[] {0x1f46e,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_pouting", new String(new int[] {0x1f64e,0x2640}, 0, 2)); + _addEntry("woman_pouting_dark_skin_tone", new String(new int[] {0x1f64e,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_pouting_light_skin_tone", new String(new int[] {0x1f64e,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_pouting_medium_dark_skin_tone", new String(new int[] {0x1f64e,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_pouting_medium_light_skin_tone", new String(new int[] {0x1f64e,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_pouting_medium_skin_tone", new String(new int[] {0x1f64e,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_pouting_tone1", new String(new int[] {0x1f64e,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_pouting_tone2", new String(new int[] {0x1f64e,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_pouting_tone3", new String(new int[] {0x1f64e,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_pouting_tone4", new String(new int[] {0x1f64e,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_pouting_tone5", new String(new int[] {0x1f64e,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_raising_hand", new String(new int[] {0x1f64b,0x2640}, 0, 2)); + _addEntry("woman_raising_hand_dark_skin_tone", new String(new int[] {0x1f64b,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_raising_hand_light_skin_tone", new String(new int[] {0x1f64b,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_raising_hand_medium_dark_skin_tone", new String(new int[] {0x1f64b,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_raising_hand_medium_light_skin_tone", new String(new int[] {0x1f64b,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_raising_hand_medium_skin_tone", new String(new int[] {0x1f64b,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_raising_hand_tone1", new String(new int[] {0x1f64b,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_raising_hand_tone2", new String(new int[] {0x1f64b,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_raising_hand_tone3", new String(new int[] {0x1f64b,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_raising_hand_tone4", new String(new int[] {0x1f64b,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_raising_hand_tone5", new String(new int[] {0x1f64b,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_rowing_boat", new String(new int[] {0x1f6a3,0x2640}, 0, 2)); + _addEntry("woman_rowing_boat_dark_skin_tone", new String(new int[] {0x1f6a3,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_rowing_boat_light_skin_tone", new String(new int[] {0x1f6a3,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_rowing_boat_medium_dark_skin_tone", new String(new int[] {0x1f6a3,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_rowing_boat_medium_light_skin_tone", new String(new int[] {0x1f6a3,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_rowing_boat_medium_skin_tone", new String(new int[] {0x1f6a3,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_rowing_boat_tone1", new String(new int[] {0x1f6a3,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_rowing_boat_tone2", new String(new int[] {0x1f6a3,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_rowing_boat_tone3", new String(new int[] {0x1f6a3,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_rowing_boat_tone4", new String(new int[] {0x1f6a3,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_rowing_boat_tone5", new String(new int[] {0x1f6a3,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_running", new String(new int[] {0x1f3c3,0x2640}, 0, 2)); + _addEntry("woman_running_dark_skin_tone", new String(new int[] {0x1f3c3,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_running_light_skin_tone", new String(new int[] {0x1f3c3,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_running_medium_dark_skin_tone", new String(new int[] {0x1f3c3,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_running_medium_light_skin_tone", new String(new int[] {0x1f3c3,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_running_medium_skin_tone", new String(new int[] {0x1f3c3,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_running_tone1", new String(new int[] {0x1f3c3,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_running_tone2", new String(new int[] {0x1f3c3,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_running_tone3", new String(new int[] {0x1f3c3,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_running_tone4", new String(new int[] {0x1f3c3,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_running_tone5", new String(new int[] {0x1f3c3,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_scientist", new String(new int[] {0x1f469,0x1f52c}, 0, 2)); + _addEntry("woman_scientist_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x1f52c}, 0, 3)); + _addEntry("woman_scientist_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x1f52c}, 0, 3)); + _addEntry("woman_scientist_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x1f52c}, 0, 3)); + _addEntry("woman_scientist_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x1f52c}, 0, 3)); + _addEntry("woman_scientist_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x1f52c}, 0, 3)); + _addEntry("woman_scientist_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f52c}, 0, 3)); + _addEntry("woman_scientist_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f52c}, 0, 3)); + _addEntry("woman_scientist_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f52c}, 0, 3)); + _addEntry("woman_scientist_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f52c}, 0, 3)); + _addEntry("woman_scientist_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f52c}, 0, 3)); + _addEntry("woman_shrugging", new String(new int[] {0x1f937,0x2640}, 0, 2)); + _addEntry("woman_shrugging_dark_skin_tone", new String(new int[] {0x1f937,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_shrugging_light_skin_tone", new String(new int[] {0x1f937,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_shrugging_medium_dark_skin_tone", new String(new int[] {0x1f937,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_shrugging_medium_light_skin_tone", new String(new int[] {0x1f937,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_shrugging_medium_skin_tone", new String(new int[] {0x1f937,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_shrugging_tone1", new String(new int[] {0x1f937,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_shrugging_tone2", new String(new int[] {0x1f937,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_shrugging_tone3", new String(new int[] {0x1f937,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_shrugging_tone4", new String(new int[] {0x1f937,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_shrugging_tone5", new String(new int[] {0x1f937,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_singer", new String(new int[] {0x1f469,0x1f3a4}, 0, 2)); + _addEntry("woman_singer_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x1f3a4}, 0, 3)); + _addEntry("woman_singer_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x1f3a4}, 0, 3)); + _addEntry("woman_singer_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x1f3a4}, 0, 3)); + _addEntry("woman_singer_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x1f3a4}, 0, 3)); + _addEntry("woman_singer_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x1f3a4}, 0, 3)); + _addEntry("woman_singer_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f3a4}, 0, 3)); + _addEntry("woman_singer_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f3a4}, 0, 3)); + _addEntry("woman_singer_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f3a4}, 0, 3)); + _addEntry("woman_singer_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f3a4}, 0, 3)); + _addEntry("woman_singer_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f3a4}, 0, 3)); + } + private static void init34(){ + _addEntry("woman_student", new String(new int[] {0x1f469,0x1f393}, 0, 2)); + _addEntry("woman_student_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x1f393}, 0, 3)); + _addEntry("woman_student_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x1f393}, 0, 3)); + _addEntry("woman_student_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x1f393}, 0, 3)); + _addEntry("woman_student_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x1f393}, 0, 3)); + _addEntry("woman_student_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x1f393}, 0, 3)); + _addEntry("woman_student_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f393}, 0, 3)); + _addEntry("woman_student_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f393}, 0, 3)); + _addEntry("woman_student_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f393}, 0, 3)); + _addEntry("woman_student_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f393}, 0, 3)); + _addEntry("woman_student_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f393}, 0, 3)); + _addEntry("woman_surfing", new String(new int[] {0x1f3c4,0x2640}, 0, 2)); + _addEntry("woman_surfing_dark_skin_tone", new String(new int[] {0x1f3c4,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_surfing_light_skin_tone", new String(new int[] {0x1f3c4,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_surfing_medium_dark_skin_tone", new String(new int[] {0x1f3c4,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_surfing_medium_light_skin_tone", new String(new int[] {0x1f3c4,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_surfing_medium_skin_tone", new String(new int[] {0x1f3c4,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_surfing_tone1", new String(new int[] {0x1f3c4,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_surfing_tone2", new String(new int[] {0x1f3c4,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_surfing_tone3", new String(new int[] {0x1f3c4,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_surfing_tone4", new String(new int[] {0x1f3c4,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_surfing_tone5", new String(new int[] {0x1f3c4,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_swimming", new String(new int[] {0x1f3ca,0x2640}, 0, 2)); + _addEntry("woman_swimming_dark_skin_tone", new String(new int[] {0x1f3ca,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_swimming_light_skin_tone", new String(new int[] {0x1f3ca,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_swimming_medium_dark_skin_tone", new String(new int[] {0x1f3ca,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_swimming_medium_light_skin_tone", new String(new int[] {0x1f3ca,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_swimming_medium_skin_tone", new String(new int[] {0x1f3ca,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_swimming_tone1", new String(new int[] {0x1f3ca,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_swimming_tone2", new String(new int[] {0x1f3ca,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_swimming_tone3", new String(new int[] {0x1f3ca,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_swimming_tone4", new String(new int[] {0x1f3ca,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_swimming_tone5", new String(new int[] {0x1f3ca,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_teacher", new String(new int[] {0x1f469,0x1f3eb}, 0, 2)); + _addEntry("woman_teacher_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x1f3eb}, 0, 3)); + _addEntry("woman_teacher_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x1f3eb}, 0, 3)); + _addEntry("woman_teacher_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x1f3eb}, 0, 3)); + _addEntry("woman_teacher_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x1f3eb}, 0, 3)); + _addEntry("woman_teacher_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x1f3eb}, 0, 3)); + _addEntry("woman_teacher_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f3eb}, 0, 3)); + _addEntry("woman_teacher_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f3eb}, 0, 3)); + _addEntry("woman_teacher_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f3eb}, 0, 3)); + _addEntry("woman_teacher_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f3eb}, 0, 3)); + _addEntry("woman_teacher_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f3eb}, 0, 3)); + _addEntry("woman_technologist", new String(new int[] {0x1f469,0x1f4bb}, 0, 2)); + _addEntry("woman_technologist_dark_skin_tone", new String(new int[] {0x1f469,0x1f3ff,0x1f4bb}, 0, 3)); + _addEntry("woman_technologist_light_skin_tone", new String(new int[] {0x1f469,0x1f3fb,0x1f4bb}, 0, 3)); + _addEntry("woman_technologist_medium_dark_skin_tone", new String(new int[] {0x1f469,0x1f3fe,0x1f4bb}, 0, 3)); + _addEntry("woman_technologist_medium_light_skin_tone", new String(new int[] {0x1f469,0x1f3fc,0x1f4bb}, 0, 3)); + _addEntry("woman_technologist_medium_skin_tone", new String(new int[] {0x1f469,0x1f3fd,0x1f4bb}, 0, 3)); + _addEntry("woman_technologist_tone1", new String(new int[] {0x1f469,0x1f3fb,0x1f4bb}, 0, 3)); + _addEntry("woman_technologist_tone2", new String(new int[] {0x1f469,0x1f3fc,0x1f4bb}, 0, 3)); + _addEntry("woman_technologist_tone3", new String(new int[] {0x1f469,0x1f3fd,0x1f4bb}, 0, 3)); + _addEntry("woman_technologist_tone4", new String(new int[] {0x1f469,0x1f3fe,0x1f4bb}, 0, 3)); + _addEntry("woman_technologist_tone5", new String(new int[] {0x1f469,0x1f3ff,0x1f4bb}, 0, 3)); + _addEntry("woman_tipping_hand", new String(new int[] {0x1f481,0x2640}, 0, 2)); + _addEntry("woman_tipping_hand_dark_skin_tone", new String(new int[] {0x1f481,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_tipping_hand_light_skin_tone", new String(new int[] {0x1f481,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_tipping_hand_medium_dark_skin_tone", new String(new int[] {0x1f481,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_tipping_hand_medium_light_skin_tone", new String(new int[] {0x1f481,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_tipping_hand_medium_skin_tone", new String(new int[] {0x1f481,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_tipping_hand_tone1", new String(new int[] {0x1f481,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_tipping_hand_tone2", new String(new int[] {0x1f481,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_tipping_hand_tone3", new String(new int[] {0x1f481,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_tipping_hand_tone4", new String(new int[] {0x1f481,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_tipping_hand_tone5", new String(new int[] {0x1f481,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_tone1", new String(new int[] {0x1f469,0x1f3fb}, 0, 2)); + _addEntry("woman_tone2", new String(new int[] {0x1f469,0x1f3fc}, 0, 2)); + _addEntry("woman_tone3", new String(new int[] {0x1f469,0x1f3fd}, 0, 2)); + _addEntry("woman_tone4", new String(new int[] {0x1f469,0x1f3fe}, 0, 2)); + _addEntry("woman_tone5", new String(new int[] {0x1f469,0x1f3ff}, 0, 2)); + _addEntry("woman_walking", new String(new int[] {0x1f6b6,0x2640}, 0, 2)); + _addEntry("woman_walking_dark_skin_tone", new String(new int[] {0x1f6b6,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_walking_light_skin_tone", new String(new int[] {0x1f6b6,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_walking_medium_dark_skin_tone", new String(new int[] {0x1f6b6,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_walking_medium_light_skin_tone", new String(new int[] {0x1f6b6,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_walking_medium_skin_tone", new String(new int[] {0x1f6b6,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_walking_tone1", new String(new int[] {0x1f6b6,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_walking_tone2", new String(new int[] {0x1f6b6,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_walking_tone3", new String(new int[] {0x1f6b6,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_walking_tone4", new String(new int[] {0x1f6b6,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_walking_tone5", new String(new int[] {0x1f6b6,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_wearing_turban", new String(new int[] {0x1f473,0x2640}, 0, 2)); + _addEntry("woman_wearing_turban_dark_skin_tone", new String(new int[] {0x1f473,0x1f3ff,0x2640}, 0, 3)); + _addEntry("woman_wearing_turban_light_skin_tone", new String(new int[] {0x1f473,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_wearing_turban_medium_dark_skin_tone", new String(new int[] {0x1f473,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_wearing_turban_medium_light_skin_tone", new String(new int[] {0x1f473,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_wearing_turban_medium_skin_tone", new String(new int[] {0x1f473,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_wearing_turban_tone1", new String(new int[] {0x1f473,0x1f3fb,0x2640}, 0, 3)); + _addEntry("woman_wearing_turban_tone2", new String(new int[] {0x1f473,0x1f3fc,0x2640}, 0, 3)); + _addEntry("woman_wearing_turban_tone3", new String(new int[] {0x1f473,0x1f3fd,0x2640}, 0, 3)); + _addEntry("woman_wearing_turban_tone4", new String(new int[] {0x1f473,0x1f3fe,0x2640}, 0, 3)); + _addEntry("woman_wearing_turban_tone5", new String(new int[] {0x1f473,0x1f3ff,0x2640}, 0, 3)); + _addEntry("womans_clothes", new String(new int[] {0x1f45a}, 0, 1)); + _addEntry("womans_hat", new String(new int[] {0x1f452}, 0, 1)); + _addEntry("women_with_bunny_ears_partying", new String(new int[] {0x1f46f,0x2640}, 0, 2)); + _addEntry("women_wrestling", new String(new int[] {0x1f93c,0x2640}, 0, 2)); + _addEntry("womens", new String(new int[] {0x1f6ba}, 0, 1)); + _addEntry("world_map", new String(new int[] {0x1f5fa}, 0, 1)); + _addEntry("worried", new String(new int[] {0x1f61f}, 0, 1)); + _addEntry("worship_symbol", new String(new int[] {0x1f6d0}, 0, 1)); + } + private static void init35(){ + _addEntry("wrench", new String(new int[] {0x1f527}, 0, 1)); + _addEntry("wrestlers", new String(new int[] {0x1f93c}, 0, 1)); + _addEntry("wrestling", new String(new int[] {0x1f93c}, 0, 1)); + _addEntry("writing_hand", new String(new int[] {0x270d}, 0, 1)); + _addEntry("writing_hand_tone1", new String(new int[] {0x270d,0x1f3fb}, 0, 2)); + _addEntry("writing_hand_tone2", new String(new int[] {0x270d,0x1f3fc}, 0, 2)); + _addEntry("writing_hand_tone3", new String(new int[] {0x270d,0x1f3fd}, 0, 2)); + _addEntry("writing_hand_tone4", new String(new int[] {0x270d,0x1f3fe}, 0, 2)); + _addEntry("writing_hand_tone5", new String(new int[] {0x270d,0x1f3ff}, 0, 2)); + _addEntry("ws", new String(new int[] {0x1f1fc,0x1f1f8}, 0, 2)); + _addEntry("x", new String(new int[] {0x274c}, 0, 1)); + _addEntry("xk", new String(new int[] {0x1f1fd,0x1f1f0}, 0, 2)); + _addEntry("ye", new String(new int[] {0x1f1fe,0x1f1ea}, 0, 2)); + _addEntry("yellow_heart", new String(new int[] {0x1f49b}, 0, 1)); + _addEntry("yen", new String(new int[] {0x1f4b4}, 0, 1)); + _addEntry("yin_yang", new String(new int[] {0x262f}, 0, 1)); + _addEntry("yt", new String(new int[] {0x1f1fe,0x1f1f9}, 0, 2)); + _addEntry("yum", new String(new int[] {0x1f60b}, 0, 1)); + _addEntry("za", new String(new int[] {0x1f1ff,0x1f1e6}, 0, 2)); + _addEntry("zap", new String(new int[] {0x26a1}, 0, 1)); + _addEntry("zero", new String(new int[] {0x0030,0x20e3}, 0, 2)); + _addEntry("zipper_mouth", new String(new int[] {0x1f910}, 0, 1)); + _addEntry("zipper_mouth_face", new String(new int[] {0x1f910}, 0, 1)); + _addEntry("zm", new String(new int[] {0x1f1ff,0x1f1f2}, 0, 2)); + _addEntry("zw", new String(new int[] {0x1f1ff,0x1f1fc}, 0, 2)); + _addEntry("zzz", new String(new int[] {0x1f4a4}, 0, 1)); + } + static{ + init1(); + init2(); + init3(); + init4(); + init5(); + init6(); + init7(); + init8(); + init9(); + init10(); + init11(); + init12(); + init13(); + init14(); + init15(); + init16(); + init17(); + init18(); + init19(); + init20(); + init21(); + init22(); + init23(); + init24(); + init25(); + init26(); + init27(); + init28(); + init29(); + init30(); + init31(); + init32(); + init33(); + init34(); + init35(); + } +//codepoint_max=0x1f9c0, length_max=4 + + + +} diff --git a/app/src/main/java/jp/juggler/subwaytooter/util/Emojione.java b/app/src/main/java/jp/juggler/subwaytooter/util/Emojione.java new file mode 100644 index 00000000..f46b9f89 --- /dev/null +++ b/app/src/main/java/jp/juggler/subwaytooter/util/Emojione.java @@ -0,0 +1,113 @@ +package jp.juggler.subwaytooter.util; + +import android.text.SpannableStringBuilder; +import android.text.Spanned; + +import java.util.HashMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import jp.juggler.subwaytooter.App1; +import uk.co.chrisjenx.calligraphy.CalligraphyTypefaceSpan; + +public abstract class Emojione +{ + private static final Pattern SHORTNAME_PATTERN = Pattern.compile(":([-+\\w]+):"); + + private static final HashMap map_name2unicode = EmojiMap._shortNameToUnicode; + private static final HashMap map_unicode2name = EmojiMap._unicodeToShortName; + + static class DecodeEnv{ + SpannableStringBuilder sb = new SpannableStringBuilder(); + int last_span_start = -1; + int last_span_end = -1; + + void closeSpan(){ + if( last_span_start >= 0 ){ + CalligraphyTypefaceSpan typefaceSpan = new CalligraphyTypefaceSpan( App1.typeface_emoji ); + sb.setSpan(typefaceSpan, last_span_start,last_span_end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + last_span_start = -1; + } + } + + void addEmoji(String s){ + if( last_span_start < 0 ){ + last_span_start = sb.length(); + } + sb.append(s); + last_span_end = sb.length(); + } + + void addUnicodeString(String s){ + int i = 0; + int end = s.length(); + while( i < end ){ + int remain = end - i; + if( remain >= 4 ){ + String check = s.substring( i, i + 4 ); + if( map_unicode2name.containsKey( check ) ){ + addEmoji( check ); + i += 4; + continue; + } + } + if( remain >= 3 ){ + String check = s.substring( i, i + 3 ); + if( map_unicode2name.containsKey( check ) ){ + addEmoji( check ); + i += 3; + continue; + } + } + if( remain >= 2 ){ + String check = s.substring( i, i + 2 ); + if( map_unicode2name.containsKey( check ) ){ + addEmoji( check ); + i += 2; + continue; + } + } + if( remain >= 1 ){ + String check = s.substring( i, i + 1 ); + if( map_unicode2name.containsKey( check ) ){ + addEmoji( check ); + i += 1; + continue; + } + } + closeSpan(); + sb.append( s.charAt( i ) ); + ++ i; + } + } + } + + public static CharSequence decodeEmoji( String s ){ + DecodeEnv decode_env = new DecodeEnv(); + Matcher matcher = SHORTNAME_PATTERN.matcher(s); + int last_end = 0; + while( matcher.find() ){ + int start = matcher.start(); + int end = matcher.end(); + if( start > last_end ){ + decode_env.addUnicodeString(s.substring( last_end,start )); + } + last_end = end; + // + String unicode = map_name2unicode.get(matcher.group(1)); + if( unicode == null ){ + decode_env.addUnicodeString(s.substring( start, end )); + }else{ + decode_env.addEmoji( unicode ); + } + } + // close span + decode_env.closeSpan(); + // copy remain + int end = s.length(); + if( end > last_end ){ + decode_env.addUnicodeString(s.substring( last_end, end )); + } + return decode_env.sb; + } +} diff --git a/app/src/main/java/jp/juggler/subwaytooter/util/HTMLDecoder.java b/app/src/main/java/jp/juggler/subwaytooter/util/HTMLDecoder.java index c958bce4..96d55388 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/util/HTMLDecoder.java +++ b/app/src/main/java/jp/juggler/subwaytooter/util/HTMLDecoder.java @@ -1,19 +1,19 @@ package jp.juggler.subwaytooter.util; -import android.text.Html; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.TextUtils; import android.text.style.ClickableSpan; import android.view.View; -import com.emojione.Emojione; - import java.util.ArrayList; import java.util.HashMap; import java.util.regex.Matcher; import java.util.regex.Pattern; +import jp.juggler.subwaytooter.api.entity.TootMention; +import jp.juggler.subwaytooter.api.entity.TootTag; + public class HTMLDecoder { static final LogCategory log = new LogCategory( "HTMLDecoder" ); @@ -27,7 +27,9 @@ public class HTMLDecoder { static final Pattern reTag = Pattern.compile( "<(/?)(\\w+)" ); static final Pattern reTagEnd = Pattern.compile( "(/?)>$" ); static final Pattern reHref = Pattern.compile( "\\bhref=\"([^\"]*)\"" ); + + static class TokenParser { final String src; @@ -133,15 +135,13 @@ public class HTMLDecoder { if( DEBUG_HTML_PARSER ) log.d( "parseChild: %s)%s", indent, tag ); } - - String decodeEmoji( String s ){ - return Emojione.shortnameToUnicode( s, false ); - } + + public void encodeSpan( SpannableStringBuilder sb ){ if( TAG_TEXT.equals( tag ) ){ - sb.append( decodeEntity( decodeEmoji( text ) ) ); + sb.append( Emojione.decodeEmoji( decodeEntity( text ) ) ); return; } if( DEBUG_HTML_PARSER ) sb.append( "(start " + tag + ")" ); @@ -203,6 +203,49 @@ public class HTMLDecoder { return null; } + public static Spannable decodeTags( TootTag.List src_list ){ + if( src_list == null || src_list.isEmpty()) return null; + SpannableStringBuilder sb = new SpannableStringBuilder(); + for(TootTag item : src_list){ + if(sb.length() > 0) sb.append(" "); + int start = sb.length(); + sb.append('#'); + sb.append(item.name); + final String item_url = item.url; + sb.setSpan( new ClickableSpan() { + @Override public void onClick( View widget ){ + if( link_callback != null ){ + link_callback.onClickLink( item_url ); + } + } + }, start, sb.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE ); + } + return sb; + } + + public static Spannable decodeMentions( TootMention.List src_list ){ + if( src_list == null || src_list.isEmpty()) return null; + SpannableStringBuilder sb = new SpannableStringBuilder(); + for(TootMention item : src_list){ + if(sb.length() > 0) sb.append(" "); + int start = sb.length(); + sb.append('@'); + sb.append( item.acct ); + final String item_url = item.url; + sb.setSpan( new ClickableSpan() { + @Override public void onClick( View widget ){ + if( link_callback != null ){ + link_callback.onClickLink( item_url ); + } + } + }, start, sb.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE ); + } + return sb; + } + + + ////////////////////////////////////////////////////////////////////////////////////// + private static final HashMap< String, Character > entity_map = new HashMap<>(); private static void _addEntity( String s, char c ){ @@ -215,7 +258,7 @@ public class HTMLDecoder { static final Pattern reEntity = Pattern.compile( "&(#?)(\\w+);" ); - static CharSequence decodeEntity( String src ){ + public static String decodeEntity( String src ){ StringBuilder sb = null; Matcher m = reEntity.matcher( src ); int last_end = 0; @@ -262,7 +305,7 @@ public class HTMLDecoder { if( end > last_end ){ sb.append( src.substring( last_end, end ) ); } - return sb; + return sb.toString(); } private static void init1(){ diff --git a/app/src/main/java/jp/juggler/subwaytooter/util/HTTPClient.java b/app/src/main/java/jp/juggler/subwaytooter/util/HTTPClient.java deleted file mode 100644 index 670fa6cc..00000000 --- a/app/src/main/java/jp/juggler/subwaytooter/util/HTTPClient.java +++ /dev/null @@ -1,692 +0,0 @@ -package jp.juggler.subwaytooter.util; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.ConnectException; -import java.net.HttpURLConnection; -import java.net.MalformedURLException; -import java.net.SocketTimeoutException; -import java.net.URL; -import java.net.UnknownHostException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import javax.net.ssl.SSLHandshakeException; - -import android.os.SystemClock; - -//! リトライつきHTTPクライアント -public class HTTPClient { - - static final boolean debug_http = false; - - public String[] extra_header; - public int rcode; - public boolean allow_error = false; - public Map< String, List< String > > response_header; - public HashMap< String, String > cookie_pot; - public int max_try; - @SuppressWarnings("unused") - public int timeout_dns = 1000 * 3; - public int timeout_connect; - public int timeout_read; - public String caption; - public boolean silent_error = false; - public long time_expect_connect = 3000; - public boolean bDisableKeepAlive = false; - - @SuppressWarnings("unused") - public HTTPClient( int timeout, int max_try, String caption, CancelChecker cancel_checker ){ - this.cancel_checker = cancel_checker; - this.timeout_connect = this.timeout_read = timeout; - this.max_try = max_try; - this.caption = caption; - } - - @SuppressWarnings("unused") - public HTTPClient( int timeout, int max_try, String caption, final AtomicBoolean _cancel_checker ){ - this.cancel_checker = new CancelChecker() { - @Override - public boolean isCancelled(){ - return _cancel_checker.get(); - } - }; - this.timeout_connect = this.timeout_read = timeout; - this.max_try = max_try; - this.caption = caption; - } - - @SuppressWarnings("unused") - public void setCookiePot( boolean enabled ){ - if( enabled == ( cookie_pot != null ) ) return; - cookie_pot = ( enabled ? new HashMap< String, String >() : null ); - } - - /////////////////////////////// - // デフォルトの入力ストリームハンドラ - - HTTPClientReceiver default_receiver = new HTTPClientReceiver() { - byte[] buf = new byte[ 2048 ]; - ByteArrayOutputStream bao = new ByteArrayOutputStream( 0 ); - - public byte[] onHTTPClientStream( LogCategory log, CancelChecker cancel_checker, InputStream in, int content_length ){ - try{ - bao.reset(); - for( ; ; ){ - if( cancel_checker.isCancelled() ){ - if( debug_http ) log.w( - "[%s,read]cancelled!" - , caption - ); - return null; - } - int delta = in.read( buf ); - if( delta <= 0 ) break; - bao.write( buf, 0, delta ); - } - return bao.toByteArray(); - }catch( Throwable ex ){ - log.e( - "[%s,read] %s:%s" - , caption - , ex.getClass().getSimpleName() - , ex.getMessage() - ); - } - return null; - } - }; - - /////////////////////////////// - // 別スレッドからのキャンセル処理 - - public CancelChecker cancel_checker; - volatile Thread io_thread; - - @SuppressWarnings("unused") - public boolean isCancelled(){ - return cancel_checker.isCancelled(); - } - - @SuppressWarnings("unused") - public synchronized void cancel( LogCategory log ){ - Thread t = io_thread; - if( t == null ) return; - log.i( - "[%s,cancel] %s" - , caption - , t - ); - try{ - t.interrupt(); - }catch( Throwable ex ){ - ex.printStackTrace(); - } - } - - public byte[] post_content = null; - public String post_content_type = null; - public boolean quit_network_error = false; - - public String last_error = null; - public long mtime; - - public static String user_agent = null; - - /////////////////////////////// - // HTTPリクエスト処理 - - @SuppressWarnings("unused") - public byte[] getHTTP( LogCategory log, String url ){ - return getHTTP( log, url, default_receiver ); - } - - @SuppressWarnings("ConstantConditions") - public byte[] getHTTP( LogCategory log, String url, HTTPClientReceiver receiver ){ - -// // http://android-developers.blogspot.jp/2011/09/androids-http-clients.html -// // HTTP connection reuse which was buggy pre-froyo -// if( Build.VERSION.SDK_INT < Build.VERSION_CODES.FROYO ){ -// System.setProperty( "http.keepAlive", "false" ); -// } - - try{ - synchronized( this ){ - this.io_thread = Thread.currentThread(); - } - URL urlObject; - try{ - urlObject = new URL( url ); - }catch( MalformedURLException ex ){ - log.d( "[%s,init] bad url %s %s", caption, url, ex.getMessage() ); - return null; - } -/* - // desire だと、どうもリソースリークしているようなので行わないことにした。 - // DNSを引けるか確認する - if(debug_http) Log.d(logcat,"check hostname "+url); - if( !checkDNSResolver(urlObject) ){ - Log.w(logcat,"broken name resolver"); - return null; - } -*/ - long timeStart = SystemClock.elapsedRealtime(); - for( int nTry = 0 ; nTry < max_try ; ++ nTry ){ - long t1, t2, lap; - try{ - this.rcode = 0; - // キャンセルされたか確認 - if( cancel_checker.isCancelled() ) return null; - - // http connection - HttpURLConnection conn = (HttpURLConnection) urlObject.openConnection(); - - if( user_agent != null ) conn.setRequestProperty( "User-Agent", user_agent ); - - // 追加ヘッダがあれば記録する - if( extra_header != null ){ - for( int i = 0 ; i < extra_header.length ; i += 2 ){ - conn.addRequestProperty( extra_header[ i ], extra_header[ i + 1 ] ); - if( debug_http ) - log.d( "%s: %s", extra_header[ i ], extra_header[ i + 1 ] ); - } - } - if( bDisableKeepAlive ){ - conn.setRequestProperty( "Connection", "close" ); - } - // クッキーがあれば指定する - if( cookie_pot != null ){ - StringBuilder sb = new StringBuilder(); - for( Map.Entry< String, String > pair : cookie_pot.entrySet() ){ - if( sb.length() > 0 ) sb.append( "; " ); - sb.append( pair.getKey() ); - sb.append( '=' ); - sb.append( pair.getValue() ); - } - conn.addRequestProperty( "Cookie", sb.toString() ); - } - - // リクエストを送ってレスポンスの頭を読む - try{ - t1 = SystemClock.elapsedRealtime(); - if( debug_http ) - log.d( "[%s,connect] start %s", caption, toHostName( url ) ); - conn.setDoInput( true ); - conn.setConnectTimeout( this.timeout_connect ); - conn.setReadTimeout( this.timeout_read ); - if( post_content == null ){ - conn.setDoOutput( false ); - conn.connect(); - }else{ - conn.setDoOutput( true ); -// if( Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB ){ -// conn.setRequestProperty( "Content-Length", Integer.toString( post_content.length ) ); -// } - if( post_content_type != null ){ - conn.setRequestProperty( "Content-Type", post_content_type ); - } - OutputStream out = conn.getOutputStream(); - out.write( post_content ); - out.flush(); - out.close(); - } - // http://stackoverflow.com/questions/12931791/java-io-ioexception-received-authentication-challenge-is-null-in-ics-4-0-3 - int rcode; - try{ - // Will throw IOException if server responds with 401. - rcode = this.rcode = conn.getResponseCode(); - }catch( IOException ex ){ - String sv = ex.getMessage(); - if( sv != null && sv.contains( "authentication challenge" ) ){ - log.d( "retry getResponseCode!" ); - // Will return 401, because now connection has the correct internal state. - rcode = this.rcode = conn.getResponseCode(); - }else{ - throw ex; - } - } - mtime = conn.getLastModified(); - t2 = SystemClock.elapsedRealtime(); - lap = t2 - t1; - if( lap > time_expect_connect ) - log.d( "[%s,connect] time=%sms %s", caption, lap, toHostName( url ) ); - - // ヘッダを覚えておく - response_header = conn.getHeaderFields(); - - // クッキーが来ていたら覚える - if( cookie_pot != null ){ - String v = conn.getHeaderField( "set-cookie" ); - if( v != null ){ - int pos = v.indexOf( '=' ); - cookie_pot.put( v.substring( 0, pos ), v.substring( pos + 1 ) ); - } - } - - if( rcode >= 500 ){ - if( ! silent_error ) - log.e( "[%s,connect] temporary error %d", caption, rcode ); - last_error = String.format( "(HTTP error %d)", rcode ); - continue; - }else if( ! allow_error && rcode >= 300 ){ - if( ! silent_error ) - log.e( "[%s,connect] permanent error %d", caption, rcode ); - last_error = String.format( "(HTTP error %d)", rcode ); - return null; - } - - }catch( UnknownHostException ex ){ - rcode = 0; - last_error = ex.getClass().getSimpleName(); - // このエラーはリトライしてもムリ - conn.disconnect(); - return null; - }catch( SSLHandshakeException ex ){ - last_error = String.format( "SSL handshake error. Please check device's date and time. (%s %s)", ex.getClass().getSimpleName(), ex.getMessage() ); - - if( ! silent_error ){ - log.e( "[%s,connect] %s" - , caption - , last_error - ); - if( ex.getMessage() == null ){ - ex.printStackTrace(); - } - } - this.rcode = - 1; - return null; - }catch( Throwable ex ){ - last_error = String.format( "%s %s", ex.getClass().getSimpleName(), ex.getMessage() ); - - if( ! silent_error ){ - log.e( "[%s,connect] %s" - , caption - , last_error - ); - if( ex.getMessage() == null ){ - ex.printStackTrace(); - } - } - - // 時計が合ってない場合は Received authentication challenge is null なエラーが出るらしい - // getting a 401 Unauthorized error, due to a malformed Authorization header. - if( ex instanceof IOException - && ex.getMessage() != null - && ex.getMessage().contains( "authentication challenge" ) - ){ - ex.printStackTrace(); - log.d( "Please check device's date and time." ); - this.rcode = 401; - return null; - }else if( ex instanceof ConnectException - && ex.getMessage() != null - && ex.getMessage().contains( "ENETUNREACH" ) - ){ - // このアプリの場合は network unreachable はリトライしない - return null; - } - if( quit_network_error ) return null; - - // 他のエラーはリトライしてみよう。キャンセルされたなら次のループの頭で抜けるはず - conn.disconnect(); - continue; - } - InputStream in = null; - try{ - if( debug_http ) if( rcode != 200 ) - log.d( "[%s,read] start status=%d", caption, this.rcode ); - try{ - in = conn.getInputStream(); - }catch( FileNotFoundException ex ){ - in = conn.getErrorStream(); - } - if( in == null ){ - log.d( "[%s,read] missing input stream. rcode=%d", caption, rcode ); - return null; - } - int content_length = conn.getContentLength(); - byte[] data = receiver.onHTTPClientStream( log, cancel_checker, in, content_length ); - if( data == null ) continue; - if( data.length > 0 ){ - if( nTry > 0 ) log.w( "[%s] OK. retry=%d,time=%dms" - , caption - , nTry - , SystemClock.elapsedRealtime() - timeStart - ); - return data; - } - if( ! cancel_checker.isCancelled() - && ! silent_error - ){ - log.w( - "[%s,read] empty data." - , caption - ); - } - }finally{ - try{ - if( in != null ) in.close(); - }catch( Throwable ignored ){ - } - conn.disconnect(); - } - }catch( Throwable ex ){ - last_error = String.format( "%s %s", ex.getClass().getSimpleName(), ex.getMessage() ); - ex.printStackTrace(); - } - } - if( ! silent_error ) log.e( "[%s] fail. try=%d. rcode=%d", caption, max_try, rcode ); - }catch( Throwable ex ){ - ex.printStackTrace(); - last_error = String.format( "%s %s", ex.getClass().getSimpleName(), ex.getMessage() ); - }finally{ - synchronized( this ){ - io_thread = null; - } - } - return null; - } - - //! HTTPレスポンスのヘッダを読む - @SuppressWarnings("unused") - public void dump_res_header( LogCategory log ){ - log.d( "HTTP code %d", rcode ); - if( response_header != null ){ - for( Map.Entry< String, List< String > > entry : response_header.entrySet() ){ - String k = entry.getKey(); - for( String v : entry.getValue() ){ - log.d( "%s: %s", k, v ); - } - } - } - } - - @SuppressWarnings({ "unused", "ConstantConditions" }) - public String get_cache( LogCategory log, File file, String url ){ - String last_error = null; - for( int nTry = 0 ; nTry < 10 ; ++ nTry ){ - if( cancel_checker.isCancelled() ) return "cancelled"; - - long now = System.currentTimeMillis(); - try{ - HttpURLConnection conn = (HttpURLConnection) new URL( url ).openConnection(); - try{ - conn.setConnectTimeout( 1000 * 10 ); - conn.setReadTimeout( 1000 * 10 ); - if( file.exists() ) conn.setIfModifiedSince( file.lastModified() ); - conn.connect(); - this.rcode = conn.getResponseCode(); - if( rcode == 304 ){ - if( file.exists() ){ - //noinspection ResultOfMethodCallIgnored - file.setLastModified( now ); - } - return null; - } - if( rcode == 200 ){ - InputStream in = conn.getInputStream(); - try{ - ByteArrayOutputStream bao = new ByteArrayOutputStream(); - try{ - byte[] tmp = new byte[ 4096 ]; - for( ; ; ){ - if( cancel_checker.isCancelled() ) return "cancelled"; - int delta = in.read( tmp, 0, tmp.length ); - if( delta <= 0 ) break; - bao.write( tmp, 0, delta ); - } - byte[] data = bao.toByteArray(); - if( data != null ){ - FileOutputStream out = new FileOutputStream( file ); - try{ - out.write( data ); - return null; - }finally{ - try{ - out.close(); - }catch( Throwable ignored ){ - } - } - } - }finally{ - try{ - bao.close(); - }catch( Throwable ignored ){ - } - } - }catch( Throwable ex ){ - ex.printStackTrace(); - if( file.exists() ){ - //noinspection ResultOfMethodCallIgnored - file.delete(); - } - last_error = String.format( "%s %s", ex.getClass().getSimpleName(), ex.getMessage() ); - }finally{ - try{ - in.close(); - }catch( Throwable ignored ){ - } - } - break; - } - log.e( "http error: %d %s", rcode, url ); - if( rcode >= 400 && rcode < 500 ){ - last_error = String.format( "HTTP error %d", rcode ); - break; - } - }finally{ - conn.disconnect(); - } - // retry ? - }catch( MalformedURLException ex ){ - ex.printStackTrace(); - last_error = String.format( "bad URL:%s", ex.getMessage() ); - break; - }catch( IOException ex ){ - ex.printStackTrace(); - last_error = String.format( "%s %s", ex.getClass().getSimpleName(), ex.getMessage() ); - } - } - return last_error; - } - ///////////////////////////////////////////////////////// - // 複数URLに対応したリクエスト処理 - - public boolean no_cache = false; - - @SuppressWarnings({ "unused", "ConstantConditions" }) - public File getFile( LogCategory log, File cache_dir, String[] url_list, File _file ){ - // - if( url_list == null || url_list.length < 1 ){ - setError( 0, "missing url argument." ); - return null; - } - // make cache_dir - if( cache_dir != null ){ - if( ! cache_dir.mkdirs() && ! cache_dir.isDirectory() ){ - setError( 0, "can not create cache_dir" ); - return null; - } - } - for( int nTry = 0 ; nTry < 10 ; ++ nTry ){ - if( cancel_checker.isCancelled() ){ - setError( 0, "cancelled." ); - return null; - } - // - String url = url_list[ nTry % url_list.length ]; - File file = ( _file != null ? _file : new File( cache_dir, Utils.url2name( url ) ) ); - - // - //noinspection TryWithIdenticalCatches - try{ - HttpURLConnection conn = (HttpURLConnection) new URL( url ).openConnection(); - if( user_agent != null ) conn.setRequestProperty( "User-Agent", user_agent ); - try{ - conn.setConnectTimeout( 1000 * 10 ); - conn.setReadTimeout( 1000 * 10 ); - if( ! no_cache && file.exists() ) - conn.setIfModifiedSince( file.lastModified() ); - conn.connect(); - this.rcode = conn.getResponseCode(); - - if( debug_http ) if( rcode != 200 ) log.d( "getFile %s %s", rcode, url ); - - // 変更なしの場合 - if( rcode == 304 ){ - /// log.d("304: %s",file); - return file; - } - - // 変更があった場合 - if( rcode == 200 ){ - // メッセージボディをファイルに保存する - InputStream in = null; - FileOutputStream out = null; - try{ - byte[] tmp = new byte[ 4096 ]; - in = conn.getInputStream(); - out = new FileOutputStream( file ); - for( ; ; ){ - if( cancel_checker.isCancelled() ){ - setError( 0, "cancelled" ); - if( file.exists() ){ - //noinspection ResultOfMethodCallIgnored - file.delete(); - } - return null; - } - int delta = in.read( tmp, 0, tmp.length ); - if( delta <= 0 ) break; - out.write( tmp, 0, delta ); - } - out.close(); - out = null; - // - long mtime = conn.getLastModified(); - if( mtime >= 1000 ){ - - //noinspection ResultOfMethodCallIgnored - file.setLastModified( mtime ); - } - // - /// log.d("200: %s",file); - return file; - }catch( Throwable ex ){ - setError( ex ); - }finally{ - try{ - if( in != null ) in.close(); - }catch( Throwable ignored ){ - } - try{ - if( out != null ) out.close(); - }catch( Throwable ignored ){ - } - } - // エラーがあったらリトライ - if( file.exists() ){ - //noinspection ResultOfMethodCallIgnored - file.delete(); - } - - continue; - } - - // その他、よく分からないケース - log.e( "http error: %d %s", rcode, url ); - - // URLが複数提供されている場合、404エラーはリトライ対象 - if( rcode == 404 && url_list.length > 1 ){ - last_error = String.format( "(HTTP error %d)", rcode ); - continue; - } - - // それ以外の永続エラーはリトライしない - if( rcode >= 400 && rcode < 500 ){ - last_error = String.format( "(HTTP error %d)", rcode ); - break; - } - }finally{ - conn.disconnect(); - } - // retry ? - }catch( UnknownHostException ex ){ - rcode = 0; - last_error = ex.getClass().getSimpleName(); - // このエラーはリトライしてもムリ - break; - }catch( MalformedURLException ex ){ - setError( ex ); - break; - }catch( SocketTimeoutException ex ){ - setError_silent( log, ex ); - }catch( ConnectException ex ){ - setError_silent( log, ex ); - }catch( IOException ex ){ - setError( ex ); - } - } - return null; - } - - /////////////////////////////////////////////////////////////////// - - public boolean setError( int i, String string ){ - rcode = i; - last_error = string; - return false; - } - - public boolean setError( Throwable ex ){ - ex.printStackTrace(); - rcode = 0; - last_error = String.format( "%s %s", ex.getClass().getSimpleName(), ex.getMessage() ); - return false; - } - - public boolean setError_silent( LogCategory log, Throwable ex ){ - log.d( "ERROR: %s %s", ex.getClass().getName(), ex.getMessage() ); - rcode = 0; - last_error = String.format( "%s %s", ex.getClass().getSimpleName(), ex.getMessage() ); - return false; - } - - //! HTTPレスポンスのヘッダを読む - public String getHeaderString( String key, String defval ){ - List< String > list = response_header.get( key ); - if( list != null && list.size() > 0 ){ - String v = list.get( 0 ); - if( v != null ) return v; - } - return defval; - } - - //! HTTPレスポンスのヘッダを読む - @SuppressWarnings("unused") - public int getHeaderInt( String key, int defval ){ - String v = getHeaderString( key, null ); - try{ - return Integer.parseInt( v, 10 ); - }catch( Throwable ex ){ - return defval; - } - } - - static Pattern reHostName = Pattern.compile( "//([^/]+)/" ); - - static String toHostName( String url ){ - Matcher m = reHostName.matcher( url ); - if( m.find() ) return m.group( 1 ); - return url; - } -} diff --git a/app/src/main/java/jp/juggler/subwaytooter/util/HTTPClientReceiver.java b/app/src/main/java/jp/juggler/subwaytooter/util/HTTPClientReceiver.java deleted file mode 100644 index 9c9dcb8c..00000000 --- a/app/src/main/java/jp/juggler/subwaytooter/util/HTTPClientReceiver.java +++ /dev/null @@ -1,9 +0,0 @@ -package jp.juggler.subwaytooter.util; - -import java.io.InputStream; - -//! HTTPClientのバッファ管理を独自に行いたい場合に使用する. -//! このインタフェースを実装したものをHTTPClient.getHTTP()の第二引数に指定する -public interface HTTPClientReceiver { - byte[] onHTTPClientStream( LogCategory log,CancelChecker cancel_checker, InputStream in, int content_length); -} diff --git a/app/src/main/java/jp/juggler/subwaytooter/util/Utils.java b/app/src/main/java/jp/juggler/subwaytooter/util/Utils.java index 9409b52a..e7a91583 100644 --- a/app/src/main/java/jp/juggler/subwaytooter/util/Utils.java +++ b/app/src/main/java/jp/juggler/subwaytooter/util/Utils.java @@ -23,6 +23,7 @@ import android.os.Looper; import android.os.storage.StorageManager; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.text.SpannableStringBuilder; import android.text.TextUtils; import android.util.Base64; import android.util.SparseBooleanArray; @@ -45,6 +46,8 @@ import java.util.Map; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; +import jp.juggler.subwaytooter.ActMain; + public class Utils { @SuppressLint("DefaultLocale") @@ -531,7 +534,17 @@ public class Utils { return MIME_TYPE_APPLICATION_OCTET_STREAM; } - + public static CharSequence formatSpannable1( Context context, int string_id, CharSequence display_name ){ + String s = context.getString( string_id ); + int end = s.length(); + int pos = s.indexOf( "%1$s" ); + if( pos == -1 ) return s; + SpannableStringBuilder sb = new SpannableStringBuilder( ); + if( pos > 0 ) sb.append(s.substring( 0,pos )); + sb.append( display_name); + if( pos +4 < end ) sb.append(s.substring( pos+4,end )); + return sb; + } static class FileInfo { diff --git a/app/src/main/res/drawable-hdpi/ic_list.png b/app/src/main/res/drawable-hdpi/ic_list.png new file mode 100644 index 00000000..9107b049 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_list.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_lock.png b/app/src/main/res/drawable-hdpi/ic_lock.png new file mode 100644 index 00000000..6589eee0 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_lock.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_lock_open.png b/app/src/main/res/drawable-hdpi/ic_lock_open.png new file mode 100644 index 00000000..9bc322d8 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_lock_open.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_mail.png b/app/src/main/res/drawable-hdpi/ic_mail.png new file mode 100644 index 00000000..4d8e8d3b Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_mail.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_public.png b/app/src/main/res/drawable-hdpi/ic_public.png new file mode 100644 index 00000000..20cb19ad Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_public.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_setting.png b/app/src/main/res/drawable-hdpi/ic_setting.png new file mode 100644 index 00000000..089ccef4 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_setting.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_unknown.png b/app/src/main/res/drawable-hdpi/ic_unknown.png new file mode 100644 index 00000000..90a8577f Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_unknown.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_list.png b/app/src/main/res/drawable-mdpi/ic_list.png new file mode 100644 index 00000000..b1659a21 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_list.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_lock.png b/app/src/main/res/drawable-mdpi/ic_lock.png new file mode 100644 index 00000000..bd9df4c0 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_lock.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_lock_open.png b/app/src/main/res/drawable-mdpi/ic_lock_open.png new file mode 100644 index 00000000..96260690 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_lock_open.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_mail.png b/app/src/main/res/drawable-mdpi/ic_mail.png new file mode 100644 index 00000000..2bc5b2a6 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_mail.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_public.png b/app/src/main/res/drawable-mdpi/ic_public.png new file mode 100644 index 00000000..3d9a04d3 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_public.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_setting.png b/app/src/main/res/drawable-mdpi/ic_setting.png new file mode 100644 index 00000000..dc10961e Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_setting.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_unknown.png b/app/src/main/res/drawable-mdpi/ic_unknown.png new file mode 100644 index 00000000..91e1710c Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_unknown.png differ diff --git a/app/src/main/res/drawable-v21/btn_bg_transparent.xml b/app/src/main/res/drawable-v21/btn_bg_transparent.xml new file mode 100644 index 00000000..3118f7e5 --- /dev/null +++ b/app/src/main/res/drawable-v21/btn_bg_transparent.xml @@ -0,0 +1,5 @@ + + + + diff --git a/app/src/main/res/drawable-xhdpi/ic_list.png b/app/src/main/res/drawable-xhdpi/ic_list.png new file mode 100644 index 00000000..3ba9fa76 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_list.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_lock.png b/app/src/main/res/drawable-xhdpi/ic_lock.png new file mode 100644 index 00000000..c4a86701 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_lock.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_lock_open.png b/app/src/main/res/drawable-xhdpi/ic_lock_open.png new file mode 100644 index 00000000..3630ef33 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_lock_open.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_mail.png b/app/src/main/res/drawable-xhdpi/ic_mail.png new file mode 100644 index 00000000..2d7bc27b Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_mail.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_public.png b/app/src/main/res/drawable-xhdpi/ic_public.png new file mode 100644 index 00000000..9bfbf384 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_public.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_setting.png b/app/src/main/res/drawable-xhdpi/ic_setting.png new file mode 100644 index 00000000..6ecb838a Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_setting.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_unknown.png b/app/src/main/res/drawable-xhdpi/ic_unknown.png new file mode 100644 index 00000000..28007b2b Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_unknown.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_list.png b/app/src/main/res/drawable-xxhdpi/ic_list.png new file mode 100644 index 00000000..32da295f Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_list.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_lock.png b/app/src/main/res/drawable-xxhdpi/ic_lock.png new file mode 100644 index 00000000..7b7dedc9 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_lock.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_lock_open.png b/app/src/main/res/drawable-xxhdpi/ic_lock_open.png new file mode 100644 index 00000000..3349e866 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_lock_open.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_mail.png b/app/src/main/res/drawable-xxhdpi/ic_mail.png new file mode 100644 index 00000000..4fad4dfd Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_mail.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_public.png b/app/src/main/res/drawable-xxhdpi/ic_public.png new file mode 100644 index 00000000..3ab50ab6 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_public.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_setting.png b/app/src/main/res/drawable-xxhdpi/ic_setting.png new file mode 100644 index 00000000..4ae046b3 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_setting.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_unknown.png b/app/src/main/res/drawable-xxhdpi/ic_unknown.png new file mode 100644 index 00000000..fe58a5dd Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_unknown.png differ diff --git a/app/src/main/res/drawable/btn_bg_transparent.xml b/app/src/main/res/drawable/btn_bg_transparent.xml new file mode 100644 index 00000000..e26122a0 --- /dev/null +++ b/app/src/main/res/drawable/btn_bg_transparent.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/act_account_setting.xml b/app/src/main/res/layout/act_account_setting.xml new file mode 100644 index 00000000..c662daf1 --- /dev/null +++ b/app/src/main/res/layout/act_account_setting.xml @@ -0,0 +1,400 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +