[Android Q&A, Help & Troubleshooting] Lo-P:
Hello all! :)

As you maybe seen, Android 4.4 (KitKat) has awesome color emoji.

I looked into the sources, and I think I managed to found what does make emoji in color :

--system

------- fonts

--------- AndroidEmoji.ttf

--------- NotoColorEmoji.tff

-- etc

--------- fallback_fonts.xml

--------- system_fonts.xml

In framework-res.apk, it as some png of some simple emoji.

EDIT :

I found something else in my insvestigations.

In CM11 and KitKat source code, it has a folder emoji inside "framework/opt/".

In emoji folder, it has

- Android.mk

- CleanSpec.mk

- EmojiFactory.cpp

- EmojiFactory.h

And i'm sure EmojiFactory has something to do with colored emoji.

Like these comments line say :

In "frameworks/base/core/java/android" it has an emoji folder, with EmojiFactory.java file, which call libemoji.so.

EDIT 2 :

They talk about emoji here :

External

/home/loic/cm11/external/chromium_org/third_party/WebKit/Source/core/rendering/RenderText.cpp

/home/loic/cm11/external/chromium_org/third_party/skia/gyp/freetype.gyp

/home/loic/cm11/external/skia/gyp/freetype.gyp

/home/loic/cm11/external/linux-tools-perf/Documentation/maps

/home/loic/cm11/external/icu4c/.git/index

/home/loic/cm11/external/icu4c/data/mappings/softbank-shift_jis-2012.ucm

/home/loic/cm11/external/icu4c/data/mappings/kddi-jisx-208-2007.ucm

/home/loic/cm11/external/icu4c/data/mappings/README.emoji

/home/loic/cm11/external/icu4c/data/mappings/docomo-shift_jis-2012.ucm

/home/loic/cm11/external/icu4c/data/mappings/softbank-jisx-208-2007.ucm

/home/loic/cm11/external/icu4c/data/mappings/kddi-shift_jis-2012.ucm

Out

/home/loic/cm11/out/target/common/obj/APPS/Mms_intermediates/public_resources.xml

/home/loic/cm11/out/target/common/obj/APPS/Mms_intermediates/src/R.stamp

/home/loic/cm11/out/target/common/obj/APPS/Mms_intermediates/src/com/android/mms/R.java

/home/loic/cm11/out/target/common/obj/APPS/Mms_intermediates/src/com/android/ex/chips/R.java

/home/loic/cm11/out/target/common/obj/APPS/LatinIME_intermediates/public_resources.xml

/home/loic/cm11/out/target/common/obj/APPS/LatinIME_intermediates/src/R.stamp

/home/loic/cm11/out/target/common/obj/APPS/LatinIME_intermediates/src/com/android/inputmethod/latin/R.java

/home/loic/cm11/out/target/common/obj/APPS/LatinIME_intermediates/proguard_options

/home/loic/cm11/out/target/common/R/com/android/mms/R.java

/home/loic/cm11/out/target/common/R/com/android/inputmethod/latin/R.java

/home/loic/cm11/out/target/common/R/com/android/ex/chips/R.java

Test

/home/loic/cm11/cts/tests/tests/text/src/android/text/cts/EmojiConstants.java

/home/loic/cm11/cts/tests/tests/text/src/android/text/cts/StaticLayoutLineBreakingTest.java

/home/loic/cm11/cts/tests/tests/text/src/android/text/cts/EmojiTest.java

Android

/home/loic/cm11/android/default.xml

Framework

/home/loic/cm11/frameworks/base/preloaded-classes

/home/loic/cm11/frameworks/base/core/jni/android_emoji_EmojiFactory.cpp

/home/loic/cm11/frameworks/base/core/jni/Android.mk

/home/loic/cm11/frameworks/base/core/jni/AndroidRuntime.cpp

/home/loic/cm11/frameworks/base/core/java/android/text/Layout.java

/home/loic/cm11/frameworks/base/core/java/android/text/StaticLayout.java

/home/loic/cm11/frameworks/base/core/java/android/text/TextLine.java

/home/loic/cm11/frameworks/base/core/java/android/emoji/EmojiFactory.java

/home/loic/cm11/frameworks/base/core/java/android/view/inputmethod/InputConnection.java

/home/loic/cm11/frameworks/base/tests/StatusBar/src/com/android/statusbartest/NotificationBuilderTest.java

/home/loic/cm11/frameworks/base/tests/StatusBar/res/layout/notification_builder_test.xml

/home/loic/cm11/frameworks/base/tools/preload/20100223.compiled

/home/loic/cm11/frameworks/base/tools/preload/20090811.compiled

/home/loic/cm11/frameworks/base/.git/index

/home/loic/cm11/frameworks/opt/emoji/Android.mk

/home/loic/cm11/frameworks/opt/emoji/EmojiFactory.cpp

/home/loic/cm11/frameworks/opt/emoji/EmojiFactory.h

/home/loic/cm11/frameworks/opt/timezonepicker/src/com/android/timezonepicker/TimeZonePickerUtils.java

.repo

/home/loic/cm11/.repo/projects/frameworks/opt/emoji.git/config

/home/loic/cm11/.repo/projects/frameworks/opt/emoji.git/.repopickle_config

/home/loic/cm11/.repo/projects/frameworks/opt/emoji.git/FETCH_HEAD

/home/loic/cm11/.repo/projects/frameworks/base.git/objects/pack/pack-822265727f5bd79fd7574e8251fd9cff98559d8b.pack

/home/loic/cm11/.repo/projects/packages/inputmethods/LatinIME.git/objects/pack/pack-f75f41c8589b316ac7313a2f533b3d37aa9072ba.pack

/home/loic/cm11/.repo/project.list

/home/loic/cm11/.repo/manifests/default.xml

/home/loic/cm11/.repo/.repopickle_fetchtimes

Vendor

/home/loic/cm11/vendor/cm/config/common.mk

Packages

/home/loic/cm11/packages/apps/Mms/.git/index

/home/loic/cm11/packages/apps/Mms/res/values-el/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-hu/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-iw/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-cs/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-nb/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-hr/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-da/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-nl/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-fr/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-zh-rCN/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-ru/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-ug/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-fi/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-pl/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-it/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-ca/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-zh-rTW/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-es/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-uk/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-af/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-pt/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-de/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values/cm_arrays.xml

/home/loic/cm11/packages/apps/Mms/res/values/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-sv/cm_strings.xml

/home/loic/cm11/packages/apps/Mms/res/values-sk/cm_strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/tests/src/com/android/inputmethod/latin/InputLogicTests.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/KeyboardId.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/EmojiPalettesView.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/internal/KeyboardState.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/internal/KeyboardIconsSet.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/internal/KeyboardCodesSet.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/EmojiCategoryPageIndicatorView.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/keyboard/EmojiLayoutParams.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/Constants.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/LatinIME.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/settings/Settings.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/utils/SubtypeLocaleUtils.java

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-et-rEE/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-v19/emoji-categories.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-ka-rGE/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-sl/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-vi/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-rm/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-zh-rHK/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-el/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-fa/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-pt-rPT/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-hu/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-iw/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-sw540dp/dimens.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-en-rGB/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-cs/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-ar/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-hy-rAM/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-nb/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-zu/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-ja/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-hi/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-ro/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-hr/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-ko/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-da/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-nl/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-th/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-tl/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-en-rIN/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml-sw600dp/key_styles_common.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-v18/emoji-categories.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-fr/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-zh-rCN/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-lv/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-ru/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-bg/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-sr/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/drawable/ic_emoji_objects_light.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/drawable/ic_emoji_nature_light.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/drawable/ic_emoji_places_light.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/drawable/ic_emoji_people_light.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/drawable/ic_emoji_recent_light.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/drawable/ic_emoji_symbols_light.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-fi/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-pl/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-it/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-am/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-be/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-es-rUS/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-land/dimens.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-ca/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-zh-rTW/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-es/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-fr-rCA/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-sw540dp-land/dimens.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-in/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-tr/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-uk/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-km-rKH/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-af/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/layout/input_view.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/layout/emoji_keyboard_page.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/layout/emoji_palettes_view.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-sw768dp-land/dimens.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-lo-rLA/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-pt/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-sw/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-ms-rMY/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-de/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml/kbd_emoji_category1.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml/method.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml/kbd_emoji_category4.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml/row_pcqwerty5.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml/kbd_emoji_category6.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml/kbd_emoji_recents.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml/key_styles_enter.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml/key_styles_common.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml/keyboard_layout_set_emoji.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml/key_f2.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml/kbd_emoji_category5.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml/kbd_emoji_category3.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/xml/kbd_emoji_category2.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values/themes-common.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values/colors.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values/attrs.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values/dimens.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values/emoji-categories.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values/themes-gb.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values/themes-ics.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-lt/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-mn-rMN/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-sv/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-sw768dp/dimens.xml

/home/loic/cm11/packages/inputmethods/LatinIME/java/res/values-sk/strings.xml

/home/loic/cm11/packages/inputmethods/LatinIME/tools/make-keyboard-text/res/values/donottranslate-more-keys.xml

/home/loic/cm11/packages/inputmethods/LatinIME/.git/index

/home/loic/cm11/packages/inputmethods/LatinIME/dictionaries/en_emoji.combined.gz

/home/loic/cm11/packages/inputmethods/LatinIME/dictionaries/fr_emoji.combined.gz

/home/loic/cm11/packages/inputmethods/OpenWnn/.git/index

/home/loic/cm11/packages/inputmethods/OpenWnn/src/jp/co/omronsoft/openwnn/TextCandidatesViewManager.java

/home/loic/cm11/packages/inputmethods/OpenWnn/res/values-land/dimens.xml

/home/loic/cm11/packages/inputmethods/OpenWnn/res/values-sw768dp-land/dimens.xml

/home/loic/cm11/packages/inputmethods/OpenWnn/res/values/dimens.xml

Please help me to search !