Skip to content

Commit bbf5541

Browse files
authored
Create emoji-definitions.bnf
1 parent 244d3e0 commit bbf5541

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

references/emoji-definitions.bnf

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
emoji_modifier_sequence := emoji_modifier_base emoji_modifier
2+
emoji_combining_sequence :=
3+
( emoji_character
4+
| emoji_presentation_sequence
5+
| text_presentation_sequence
6+
) non_spacing_mark*
7+
text_presentation_sequence := emoji_character text_variation_selector
8+
emoji_presentation_sequence := emoji_character emoji_variation_selector
9+
text_variation_selector := \x{FE0E}
10+
emoji_variation_selector := \x{FE0F}
11+
emoji_keycap_sequence := [0-9#*] emoji_variation_selector \x{20E3}
12+
emoji_core_sequence := emoji_combining_sequence
13+
| emoji_modifier_sequence
14+
| emoji_flag_sequence
15+
emoji_zwj_element := emoji_character
16+
| emoji_presentation_sequence
17+
| emoji_modifier_sequence
18+
emoji_zwj_sequence := emoji_zwj_element ( ZWJ emoji_zwj_element )+
19+
emoji_sequence := emoji_core_sequence
20+
| emoji_zwj_sequence
21+
| emoji_tag_sequence
22+
emoji_flag_sequence := regional_indicator regional_indicator
23+
emoji_tag_sequence := tag_base tag_spec tag_term
24+
tag_base := emoji_character
25+
| emoji_modifier_sequence
26+
| emoji_presentation_sequence
27+
tag_spec := [\x{E0020}-\x{E007E}]+
28+
tag_term := \x{E007F}
29+
emoji_character := \p{Emoji}
30+
default_emoji_presentation_character := \p{Emoji_Presentation=Yes}
31+
default_text_presentation_character := \p{Emoji & Emoji_Presentation=No}
32+
emoji_modifier_base := [ \x{261D} \x{26F9} \x{270A}-\x{270D}
33+
\x{1F385} \x{1F3C2}-\x{1F3C4} \x{1F3C7} \x{1F3CA}-\x{1F3CC}
34+
\x{1F442}-\x{1F443} \x{1F446}-\x{1F450} \x{1F466}-\x{1F478} \x{1F47C}
35+
\x{1F481}-\x{1F483} \x{1F485}-\x{1F487} \x{1F4AA}
36+
\x{1F574}-\x{1F575} \x{1F57A} \x{1F590} \x{1F595}-\x{1F596}
37+
\x{1F645}-\x{1F647} \x{1F64B}-\x{1F64F}
38+
\x{1F6A3} \x{1F6B4}-\x{1F6B6} \x{1F6C0} \x{1F6CC}
39+
\x{1F918}-\x{1F91E} \x{1F926} \x{1F930} \x{1F933}-\x{1F939} \x{1F93C}-\x{1F93E}
40+
]
41+
emoji_modifier := \p{Emoji_Modifier}

0 commit comments

Comments
 (0)