Я хочу проверить, имеют ли "\ u261d" и "\ u261d \ ufe0f" одинаковый внешний вид или нет на Android. Например, в iOS следующий код показывает индексы шрифта как CGGlyph.
// iOS version
// text: "\u261d\ufe0f" or "\u261d"
var characters: [UniChar] = [UniChar](text.utf16)// code points
var glyphs: [CGGlyph] = [CGGlyph](repeating: 0, count: characters.count)
let hasGlyph: Bool = CTFontGetGlyphsForCharacters(
font,// CTFont
&characters,
&glyphs,
characters.count
)
// CGGlyph Indexes
// [139, 42,] "\u261d\ufe0f"
// [139,] "\u261d"
Разница в дизайне смайликов состоит в разнице шрифтов на устройствах. Обычно разные кодовые точки смайликов имеют разный дизайн, но иногда разные кодовые точки смайликов имеют одинаковый дизайн.
Таким образом, чтобы исключить дублирование, нужны индексы.