{"schema":"cpc-unicode-answer-v1","question":"Why can the same symbol look like text or emoji?","answer":"The same base symbol can look like text or like a color emoji when an emoji presentation selector is present. The selector is a request, not proof that a color font is installed. Code points: U+2764, U+FE0F. A renderer may ignore the request. Destination rendering was not tested. No fallback is suggested. Exact string match: no. NFC match: no. Appearance and meaning were not tested. Font coverage, shaping, and application acceptance were not tested, so those results are unknown.","unicodeVersion":"18.0.0","purpose":"general","citation":"Do not invent a platform-support claim from this data.","page":"/answers/why-the-same-symbol-can-look-like-text-or-emoji/","markdown":"/answers/why-the-same-symbol-can-look-like-text-or-emoji.md","sample":"❤️","codepoints":[{"codepoint":"U+2764","name":"HEAVY BLACK HEART","displayLabel":"❤","warnings":["heart-presentation"],"explanations":[{"id":"heart-presentation","title":"Heavy black heart","behavior":"This base character may participate in standardized text/emoji presentation sequences.","limitation":"Text, color emoji and glyph style depend on the complete sequence and renderer.","fix":"Compare plain U+2764 with U+2764 U+FE0E and U+2764 U+FE0F for the intended presentation.","source":"https://www.unicode.org/reports/tr51/","alternatives":[],"evidenceTier":"standards-informed-editorial","evidence":{"behavior":"standards-informed","compatibility":"not-tested","repair":"editorial-guidance"}}]},{"codepoint":"U+FE0F","name":"VARIATION SELECTOR-16","displayLabel":"️","warnings":["emoji-variation-selector","combining-mark","presentation-depends-on-renderer"],"explanations":[{"id":"emoji-variation-selector","title":"Emoji presentation selector","behavior":"VS16 requests emoji-style presentation in supported variation sequences.","limitation":"Not every base character supports this sequence, and color rendering is not guaranteed.","fix":"Check the full emoji/text presentation sequence and the target renderer.","source":"https://www.unicode.org/reports/tr51/","alternatives":[],"evidenceTier":"standards-informed-editorial","evidence":{"behavior":"standards-informed","compatibility":"not-tested","repair":"editorial-guidance"}},{"id":"combining-mark","title":"Combining mark","behavior":"This mark can combine visually with nearby text in a grapheme cluster.","limitation":"Its positioning depends on neighboring characters, font and shaping support.","fix":"Inspect the full grapheme cluster, not this scalar in isolation.","source":"https://www.unicode.org/reports/tr29/","alternatives":[],"evidenceTier":"standards-informed-editorial","evidence":{"behavior":"standards-informed","compatibility":"not-tested","repair":"editorial-guidance"}},{"id":"presentation-depends-on-renderer","title":"Text style and emoji style","behavior":"The same base symbol can look like text or like a color emoji when an emoji presentation selector is present. The selector is a request, not proof that a color font is installed.","limitation":"A renderer may ignore the request. Destination rendering was not tested.","fix":"Compare the base character, the base plus U+FE0E, and the base plus U+FE0F. Use the base or the text-style sequence when color is not required.","source":"https://www.unicode.org/reports/tr51/","alternatives":[],"evidenceTier":"standards-informed-editorial","evidence":{"behavior":"standards-informed","compatibility":"not-tested","repair":"editorial-guidance"}}]}],"comparison":{"schema":"cpc-unicode-compare-v1","exactlyEqual":false,"sameNFC":false,"sameNFKC":false,"sameVisualAppearance":"unknown","sameMeaning":"unknown","left":{"codepoints":["U+2764","U+FE0F"],"graphemes":1},"right":{"codepoints":["U+2764"],"graphemes":1},"explanation":"Normalization equivalence does not guarantee the same rendering, semantics or acceptance in an application."},"graphemes":{"status":"available","method":"runtime-intl-segmenter","unicodeDataVersion":"runtime-unknown","count":1,"segments":[{"text":"❤️","utf16Offset":0,"codepoints":["U+2764","U+FE0F"]}]},"normalizationChanged":{"NFC":false,"NFD":false,"NFKC":false,"NFKD":false},"normalizationUnicodeDataVersion":"runtime-unknown","targetCompatibility":{"status":"unknown","evidenceTier":"not-tested","purpose":"general","explanation":"No OS, font, browser, application, field policy or rendering engine was tested. Unicode validity and segmentation do not establish actual display or acceptance."}}