Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e8ea437 authored by Raph Levien's avatar Raph Levien Committed by Android (Google) Code Review
Browse files

Merge "Update lint check to accommodate new emoji sequences"

parents 2718e1ff 2b8b819f
Loading
Loading
Loading
Loading
+35 −1
Original line number Diff line number Diff line
@@ -507,12 +507,46 @@ def compute_expected_emoji():
    all_sequences = set()
    all_sequences.update(_emoji_variation_sequences)

    # add zwj sequences not in the current emoji-zwj-sequences.txt
    adjusted_emoji_zwj_sequences = dict(_emoji_zwj_sequences)
    adjusted_emoji_zwj_sequences.update(_emoji_zwj_sequences)
    # single parent families
    additional_emoji_zwj = (
        (0x1F468, 0x200D, 0x1F466),
        (0x1F468, 0x200D, 0x1F467),
        (0x1F468, 0x200D, 0x1F466, 0x200D, 0x1F466),
        (0x1F468, 0x200D, 0x1F467, 0x200D, 0x1F466),
        (0x1F468, 0x200D, 0x1F467, 0x200D, 0x1F467),
        (0x1F469, 0x200D, 0x1F466),
        (0x1F469, 0x200D, 0x1F467),
        (0x1F469, 0x200D, 0x1F466, 0x200D, 0x1F466),
        (0x1F469, 0x200D, 0x1F467, 0x200D, 0x1F466),
        (0x1F469, 0x200D, 0x1F467, 0x200D, 0x1F467),
    )
    # sequences formed from man and woman and optional fitzpatrick modifier
    modified_extensions = (
        0x2696,
        0x2708,
        0x1F3A8,
        0x1F680,
        0x1F692,
    )
    for seq in additional_emoji_zwj:
        adjusted_emoji_zwj_sequences[seq] = 'Emoji_ZWJ_Sequence'
    for ext in modified_extensions:
        for base in (0x1F468, 0x1F469):
            seq = (base, 0x200D, ext)
            adjusted_emoji_zwj_sequences[seq] = 'Emoji_ZWJ_Sequence'
            for modifier in range(0x1F3FB, 0x1F400):
                seq = (base, modifier, 0x200D, ext)
                adjusted_emoji_zwj_sequences[seq] = 'Emoji_ZWJ_Sequence'

    for sequence in _emoji_sequences.keys():
        sequence = tuple(ch for ch in sequence if ch != EMOJI_VS)
        all_sequences.add(sequence)
        sequence_pieces.update(sequence)

    for sequence in _emoji_zwj_sequences.keys():
    for sequence in adjusted_emoji_zwj_sequences.keys():
        sequence = tuple(ch for ch in sequence if ch != EMOJI_VS)
        all_sequences.add(sequence)
        sequence_pieces.update(sequence)