aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark E. Shoulson <mark@kli.org>2020-06-01 12:56:03 -0400
committerMark E. Shoulson <mark@kli.org>2020-06-01 12:56:03 -0400
commit23dc941b67d06389679829a02262e224d1c2e186 (patch)
treea3350ac170c7f7ce41d4777747e118e83317d9ce
parentAdded entries for new emoji in emoji-base (diff)
downloaddotXCompose-23dc941b67d06389679829a02262e224d1c2e186.tar.gz
dotXCompose-23dc941b67d06389679829a02262e224d1c2e186.tar.bz2
dotXCompose-23dc941b67d06389679829a02262e224d1c2e186.zip
A bunch more emoji, including some new ones.
Fix to emojitrans2.pl to keep the RE correct.
-rw-r--r--emoji-base97
-rwxr-xr-xemojitrans2.pl7
2 files changed, 59 insertions, 45 deletions
diff --git a/emoji-base b/emoji-base
index 5a9d3ca..13ac649 100644
--- a/emoji-base
+++ b/emoji-base
@@ -21,17 +21,18 @@
#- 26D3;CHAINS;So;0;ON;;;;;N;;;;;
<MM> {chains} : "⛓" U26D3 # CHAINS
#- 2700;BLACK SAFETY SCISSORS;So;0;ON;;;;;N;;;;;
-### <MM> {black safety scissors} : "✀" U2700 # BLACK SAFETY SCISSORS
+<MM> {BS8<} : "✀" U2700 # BLACK SAFETY SCISSORS
#- 2701;UPPER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
-### <MM> {upper blade scissors} : "✁" U2701 # UPPER BLADE SCISSORS
+<MM> {^8<} : "✁" U2701 # UPPER BLADE SCISSORS
#- 2702;BLACK SCISSORS;So;0;ON;;;;;N;;;;;
-### <MM> {black scissors} : "✂" U2702 # BLACK SCISSORS
+<MM> {B8<} : "✂" U2702 # BLACK SCISSORS
#- 2703;LOWER BLADE SCISSORS;So;0;ON;;;;;N;;;;;
-### <MM> {lower blade scissors} : "✃" U2703 # LOWER BLADE SCISSORS
+<MM> {_8<} : "✃" U2703 # LOWER BLADE SCISSORS
#- 2704;WHITE SCISSORS;So;0;ON;;;;;N;;;;;
-### <MM> {white scissors} : "✄" U2704 # WHITE SCISSORS
+<MM> {W8<} : "✄" U2704 # WHITE SCISSORS
#- 2705;WHITE HEAVY CHECK MARK;So;0;ON;;;;;N;;;;;
-### <MM> {white heavy check mark} : "✅" U2705 # WHITE HEAVY CHECK MARK
+## ♫@@/ is the black HEAVY CHECKMARK ✔ already
+<MM> {W@@/} : "✅" U2705 # WHITE HEAVY CHECK MARK
#- 2706;TELEPHONE LOCATION SIGN;So;0;ON;;;;;N;;;;;
### <MM> {telephone location sign} : "✆" U2706 # TELEPHONE LOCATION SIGN
#- 2707;TAPE DRIVE;So;0;ON;;;;;N;;;;;
@@ -59,14 +60,17 @@
#- 2712;BLACK NIB;So;0;ON;;;;;N;;;;;
### <MM> {black nib} : "✒" U2712 # BLACK NIB
#- 2713;CHECK MARK;So;0;ON;;;;;N;;;;;
-### <MM> {check mark} : "✓" U2713 # CHECK MARK
+## Should we also match the single-♫ versions?
+### <MM> {check mark} : "✓" U2713 # CHECK MARK
#- 2714;HEAVY CHECK MARK;So;0;ON;;;;;N;;;;;
-### <MM> {heavy check mark} : "✔" U2714 # HEAVY CHECK MARK
+### <MM> {heavy check mark} : "✔" U2714 # HEAVY CHECK MARK
#- 2715;MULTIPLICATION X;So;0;ON;;;;;N;;;;;
-### <MM> {multiplication x} : "✕" U2715 # MULTIPLICATION X
+## Just ♫xx is MULTIPLICATION SIGN.
+<MM> {xx} : "✕" U2715 # MULTIPLICATION X
#- 2716;HEAVY MULTIPLICATION X;So;0;ON;;;;;N;;;;;
-### <MM> {heavy multiplication x} : "✖" U2716 # HEAVY MULTIPLICATION X
+<MM> {@xx} : "✖" U2716 # HEAVY MULTIPLICATION X
#- 2717;BALLOT X;So;0;ON;;;;;N;;;;;
+## These are already ♫@X and ♫@@X
### <MM> {ballot x} : "✗" U2717 # BALLOT X
#- 2718;HEAVY BALLOT X;So;0;ON;;;;;N;;;;;
### <MM> {heavy ballot x} : "✘" U2718 # HEAVY BALLOT X
@@ -88,6 +92,7 @@
### <MM> {maltese cross} : "✠" U2720 # MALTESE CROSS
#- 2721;STAR OF DAVID;So;0;ON;;;;;N;;;;;
<MM> {*david} : "✡" U2721 # STAR OF DAVID
+## So many stars and asterisks! And even Xs! How to distinguish?
#- 2722;FOUR TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
### <MM> {four teardrop-spoked asterisk} : "✢" U2722 # FOUR TEARDROP-SPOKED ASTERISK
#- 2723;FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;;
@@ -174,11 +179,11 @@
#- 274B;HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;;
### <MM> {heavy eight teardrop-spoked propeller asterisk} : "❋" U274B # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
#- 274C;CROSS MARK;So;0;ON;;;;;N;;;;;
-### <MM> {cross mark} : "❌" U274C # CROSS MARK
+<MM> {XX} : "❌" U274C # CROSS MARK
#- 274D;SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;;
### <MM> {shadowed white circle} : "❍" U274D # SHADOWED WHITE CIRCLE
#- 274E;NEGATIVE SQUARED CROSS MARK;So;0;ON;;;;;N;;;;;
-### <MM> {negative squared cross mark} : "❎" U274E # NEGATIVE SQUARED CROSS MARK
+<MM> {[XX]} : "❎" U274E # NEGATIVE SQUARED CROSS MARK
#- 274F;LOWER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
### <MM> {lower right drop-shadowed white square} : "❏" U274F # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
#- 2750;UPPER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
@@ -188,15 +193,15 @@
#- 2752;UPPER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;;
### <MM> {upper right shadowed white square} : "❒" U2752 # UPPER RIGHT SHADOWED WHITE SQUARE
#- 2753;BLACK QUESTION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-### <MM> {black question mark ornament} : "❓" U2753 # BLACK QUESTION MARK ORNAMENT
+<MM> {@B?} : "❓" U2753 # BLACK QUESTION MARK ORNAMENT
#- 2754;WHITE QUESTION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-### <MM> {white question mark ornament} : "❔" U2754 # WHITE QUESTION MARK ORNAMENT
+<MM> {@W?} : "❔" U2754 # WHITE QUESTION MARK ORNAMENT
#- 2755;WHITE EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-### <MM> {white exclamation mark ornament} : "❕" U2755 # WHITE EXCLAMATION MARK ORNAMENT
+<MM> {@W!} : "❕" U2755 # WHITE EXCLAMATION MARK ORNAMENT
#- 2756;BLACK DIAMOND MINUS WHITE X;So;0;ON;;;;;N;;;;;
### <MM> {black diamond minus white x} : "❖" U2756 # BLACK DIAMOND MINUS WHITE X
#- 2757;HEAVY EXCLAMATION MARK SYMBOL;So;0;ON;;;;;N;;;;;
-### <MM> {heavy exclamation mark symbol} : "❗" U2757 # HEAVY EXCLAMATION MARK SYMBOL
+<MM> {@B!} : "❗" U2757 # HEAVY EXCLAMATION MARK SYMBOL
#- 2758;LIGHT VERTICAL BAR;So;0;ON;;;;;N;;;;;
### <MM> {light vertical bar} : "❘" U2758 # LIGHT VERTICAL BAR
#- 2759;MEDIUM VERTICAL BAR;So;0;ON;;;;;N;;;;;
@@ -204,17 +209,17 @@
#- 275A;HEAVY VERTICAL BAR;So;0;ON;;;;;N;;;;;
### <MM> {heavy vertical bar} : "❚" U275A # HEAVY VERTICAL BAR
#- 275B;HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-### <MM> {heavy single turned comma quotation mark ornament} : "❛" U275B # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
+<MM> {@6'} : "❛" U275B # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
#- 275C;HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-### <MM> {heavy single comma quotation mark ornament} : "❜" U275C # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
+<MM> {@9'} : "❜" U275C # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
#- 275D;HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-### <MM> {heavy double turned comma quotation mark ornament} : "❝" U275D # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
+<MM> {@6"} : "❝" U275D # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
#- 275E;HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-### <MM> {heavy double comma quotation mark ornament} : "❞" U275E # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
+<MM> {@9"} : "❞" U275E # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
#- 275F;HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-### <MM> {heavy low single comma quotation mark ornament} : "❟" U275F # HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
+<MM> {@1,} : "❟" U275F # HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
#- 2760;HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
-### <MM> {heavy low double comma quotation mark ornament} : "❠" U2760 # HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
+<MM> {@2,} : "❠" U2760 # HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
#- 2761;CURVED STEM PARAGRAPH SIGN ORNAMENT;So;0;ON;;;;;N;;;;;
### <MM> {curved stem paragraph sign ornament} : "❡" U2761 # CURVED STEM PARAGRAPH SIGN ORNAMENT
#- 2762;HEAVY EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;;
@@ -330,7 +335,7 @@
#- 1F321;THERMOMETER;So;0;ON;;;;;N;;;;;
<MM> {thermom} : "🌡" U1F321 # THERMOMETER
#- 1F322;BLACK DROPLET;So;0;ON;;;;;N;;;;;
-<MM> {black droplet} : "🌢" U1F322 # BLACK DROPLET
+<MM> {Bdrop} : "🌢" U1F322 # BLACK DROPLET
#- 1F323;WHITE SUN;So;0;ON;;;;;N;;;;;
<MM> {white sun} : "🌣" U1F323 # WHITE SUN
#- 1F324;WHITE SUN WITH SMALL CLOUD;So;0;ON;;;;;N;;;;;
@@ -784,7 +789,7 @@
#- 1F3F5;ROSETTE;So;0;ON;;;;;N;;;;;
<MM> {Rosette} : "🏵" U1F3F5 # ROSETTE
#- 1F3F6;BLACK ROSETTE;So;0;ON;;;;;N;;;;;
-### <MM> {black rosette} : "🏶" U1F3F6 # BLACK ROSETTE
+<MM> {BRosett} : "🏶" U1F3F6 # BLACK ROSETTE
#- 1F3F7;LABEL;So;0;ON;;;;;N;;;;;
<MM> {label} : "🏷" U1F3F7 # LABEL
#- 1F3F8;BADMINTON RACQUET AND SHUTTLECOCK;So;0;ON;;;;;N;;;;;
@@ -1349,9 +1354,9 @@
#- 1F502;CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY;So;0;ON;;;;;N;;;;;
<MM> {1repeat} : "🔂" U1F502 # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
#- 1F503;CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS;So;0;ON;;;;;N;;;;;
-### <MM> {clockwise downwards and upwards open circle arrows} : "🔃" U1F503 # CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+<MM> {↑repeat} : "🔃" U1F503 # CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
#- 1F504;ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS;So;0;ON;;;;;N;;;;;
-### <MM> {anticlockwise downwards and upwards open circle arrows} : "🔄" U1F504 # ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+<MM> {↓repeat} : "🔄" U1F504 # ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
#- 1F505;LOW BRIGHTNESS SYMBOL;So;0;ON;;;;;N;;;;;
<MM> {dim} : "🔅" U1F505 # LOW BRIGHTNESS SYMBOL
#- 1F506;HIGH BRIGHTNESS SYMBOL;So;0;ON;;;;;N;;;;;
@@ -1447,9 +1452,9 @@
#- 1F531;TRIDENT EMBLEM;So;0;ON;;;;;N;;;;;
### <MM> {trident emblem} : "🔱" U1F531 # TRIDENT EMBLEM
#- 1F532;BLACK SQUARE BUTTON;So;0;ON;;;;;N;;;;;
-### <MM> {black square button} : "🔲" U1F532 # BLACK SQUARE BUTTON
+<MM> {Bbutton} : "🔲" U1F532 # BLACK SQUARE BUTTON
#- 1F533;WHITE SQUARE BUTTON;So;0;ON;;;;;N;;;;;
-### <MM> {white square button} : "🔳" U1F533 # WHITE SQUARE BUTTON
+<MM> {Wbutton} : "🔳" U1F533 # WHITE SQUARE BUTTON
#- 1F534;LARGE RED CIRCLE;So;0;ON;;;;;N;;;;;
### <MM> {large red circle} : "🔴" U1F534 # LARGE RED CIRCLE
#- 1F535;LARGE BLUE CIRCLE;So;0;ON;;;;;N;;;;;
@@ -1688,7 +1693,7 @@
#- 1F5BE;FRAME WITH AN X;So;0;ON;;;;;N;;;;;
### <MM> {frame with an x} : "🖾" U1F5BE # FRAME WITH AN X
#- 1F5BF;BLACK FOLDER;So;0;ON;;;;;N;;;;;
-### <MM> {black folder} : "🖿" U1F5BF # BLACK FOLDER
+<MM> {Bfolder} : "🖿" U1F5BF # BLACK FOLDER
#- 1F5C0;FOLDER;So;0;ON;;;;;N;;;;;
<MM> {folder} : "🗀" U1F5C0 # FOLDER
#- 1F5C1;OPEN FOLDER;So;0;ON;;;;;N;;;;;
@@ -1796,16 +1801,17 @@
### <MM> {ballot box with ballot} : "🗳" U1F5F3 # BALLOT BOX WITH BALLOT
#- 1F5F4;BALLOT SCRIPT X;So;0;ON;;;;;N;;;;;
### <MM> {ballot script x} : "🗴" U1F5F4 # BALLOT SCRIPT X
+## We already have ♫[x] for ☒
#- 1F5F5;BALLOT BOX WITH SCRIPT X;So;0;ON;;;;;N;;;;;
-### <MM> {ballot box with script x} : "🗵" U1F5F5 # BALLOT BOX WITH SCRIPT X
+<MM> {[x]} : "🗵" U1F5F5 # BALLOT BOX WITH SCRIPT X
#- 1F5F6;BALLOT BOLD SCRIPT X;So;0;ON;;;;;N;;;;;
### <MM> {ballot bold script x} : "🗶" U1F5F6 # BALLOT BOLD SCRIPT X
#- 1F5F7;BALLOT BOX WITH BOLD SCRIPT X;So;0;ON;;;;;N;;;;;
-### <MM> {ballot box with bold script x} : "🗷" U1F5F7 # BALLOT BOX WITH BOLD SCRIPT X
+<MM> {[@x]} : "🗷" U1F5F7 # BALLOT BOX WITH BOLD SCRIPT X
#- 1F5F8;LIGHT CHECK MARK;So;0;ON;;;;;N;;;;;
### <MM> {light check mark} : "🗸" U1F5F8 # LIGHT CHECK MARK
#- 1F5F9;BALLOT BOX WITH BOLD CHECK;So;0;ON;;;;;N;;;;;
-### <MM> {ballot box with bold check} : "🗹" U1F5F9 # BALLOT BOX WITH BOLD CHECK
+<MM> {[@/]} : "🗹" U1F5F9 # BALLOT BOX WITH BOLD CHECK
#- 1F5FA;WORLD MAP;So;0;ON;;;;;N;;;;;
<MM> {world} : "🗺" U1F5FA # WORLD MAP
#- 1F5FB;MOUNT FUJI;So;0;ON;;;;;N;;;;;
@@ -1918,8 +1924,9 @@
<MM> {()fearf} : "😨" U1F628 # FEARFUL FACE
#- 1F629;WEARY FACE;So;0;ON;;;;;N;;;;;
<MM> {()weary} : "😩" U1F629 # WEARY FACE
+## sleepY vs sleepING... use zzz for the latter.
#- 1F62A;SLEEPY FACE;So;0;ON;;;;;N;;;;;
-### <MM> {sleepy face} : "😪" U1F62A # SLEEPY FACE
+<MM> {()sleep} : "😪" U1F62A # SLEEPY FACE
#- 1F62B;TIRED FACE;So;0;ON;;;;;N;;;;;
<MM> {()tired} : "😫" U1F62B # TIRED FACE
#- 1F62C;GRIMACING FACE;So;0;ON;;;;;N;;;;;
@@ -1941,7 +1948,7 @@
<MM> {()blush} : "😳" U1F633 # FLUSHED FACE
<MM> {()flush} : "😳" U1F633 # FLUSHED FACE
#- 1F634;SLEEPING FACE;So;0;ON;;;;;N;;;;;
-### <MM> {sleeping face} : "😴" U1F634 # SLEEPING FACE
+<MM> {()zzz} : "😴" U1F634 # SLEEPING FACE
#- 1F635;DIZZY FACE;So;0;ON;;;;;N;;;;;
<MM> {()dizzy} : "😵" U1F635 # DIZZY FACE
#- 1F636;FACE WITHOUT MOUTH;So;0;ON;;;;;N;;;;;
@@ -2186,7 +2193,7 @@
#- 1F6AA;DOOR;So;0;ON;;;;;N;;;;;
<MM> {door} : "🚪" U1F6AA # DOOR
#- 1F6AB;NO ENTRY SIGN;So;0;ON;;;;;N;;;;;
-### <MM> {no entry sign} : "🚫" U1F6AB # NO ENTRY SIGN
+<MM> {noentry} : "🚫" U1F6AB # NO ENTRY SIGN
#- 1F6AC;SMOKING SYMBOL;So;0;ON;;;;;N;;;;;
<MM> {smoke} : "🚬" U1F6AC # SMOKING SYMBOL
#- 1F6AD;NO SMOKING SYMBOL;So;0;ON;;;;;N;;;;;
@@ -2207,7 +2214,7 @@
#- 1F6B3;NO BICYCLES;So;0;ON;;;;;N;;;;;
<MM> {!bicycl} : "🚳" U1F6B3 # NO BICYCLES
#- 1F6B4;BICYCLIST;So;0;ON;;;;;N;;;;;
-### <MM> {bicyclist} : "🚴" U1F6B4 # BICYCLIST
+<MM> {cyclist} : "🚴" U1F6B4 # BICYCLIST
#- 1F6B5;MOUNTAIN BICYCLIST;So;0;ON;;;;;N;;;;;
### <MM> {mountain bicyclist} : "🚵" U1F6B5 # MOUNTAIN BICYCLIST
#- 1F6B6;PEDESTRIAN;So;0;ON;;;;;N;;;;;
@@ -2251,6 +2258,7 @@
<MM> {noway} : "🛇" U1F6C7 # PROHIBITED SIGN
#- 1F6C8;CIRCLED INFORMATION SOURCE;So;0;ON;;;;;N;;;;;
<MM> {(info)} : "🛈" U1F6C8 # CIRCLED INFORMATION SOURCE
+## Sorry, this one is out of order.
#- 2139;INFORMATION SOURCE;Ll;0;L;<font> 0069;;;;N;;;;;
<MM> {info} : "ℹ" U2139 # INFORMATION SOURCE
## careful for conflicts with {boy} and {girl}
@@ -2272,7 +2280,7 @@
#- 1F6D0;PLACE OF WORSHIP;So;0;ON;;;;;N;;;;;
<MM> {shrine} : "🛐" U1F6D0 # PLACE OF WORSHIP
#- 1F6D1;OCTAGONAL SIGN;So;0;ON;;;;;N;;;;;
-<MM> {octagonal sign} : "🛑" U1F6D1 # OCTAGONAL SIGN
+<MM> {[STOP]} : "🛑" U1F6D1 # OCTAGONAL SIGN
#- 1F6D2;SHOPPING TROLLEY;So;0;ON;;;;;N;;;;;
<MM> {shopping trolley} : "🛒" U1F6D2 # SHOPPING TROLLEY
#- 1F6D3;STUPA;So;0;ON;;;;;N;;;;;
@@ -2403,7 +2411,7 @@
#- 1F91E;HAND WITH INDEX AND MIDDLE FINGERS CROSSED;So;0;ON;;;;;N;;;;;
<MM> {fingerX} : "🤞" U1F91E # HAND WITH INDEX AND MIDDLE FINGERS CROSSED
#- 1F91F;I LOVE YOU HAND SIGN;So;0;ON;;;;;N;;;;;
-<MM> {i love you hand sign} : "🤟" U1F91F # I LOVE YOU HAND SIGN
+<MM> {ILY} : "🤟" U1F91F # I LOVE YOU HAND SIGN
#- 1F920;FACE WITH COWBOY HAT;So;0;ON;;;;;N;;;;;
### <MM> {face with cowboy hat} : "🤠" U1F920 # FACE WITH COWBOY HAT
#- 1F921;CLOWN FACE;So;0;ON;;;;;N;;;;;
@@ -2425,7 +2433,7 @@
<MM> {()':-)} : "🤨" U1F928 # FACE WITH ONE EYEBROW RAISED
<MM> {()spock} : "🤨" U1F928 # FACE WITH ONE EYEBROW RAISED
#- 1F929;GRINNING FACE WITH STAR EYES;So;0;ON;;;;;N;;;;;
-<MM> {grinning face with star eyes} : "🤩" U1F929 # GRINNING FACE WITH STAR EYES
+<MM> {()*-D} : "🤩" U1F929 # GRINNING FACE WITH STAR EYES
#- 1F92A;GRINNING FACE WITH ONE LARGE AND ONE SMALL EYE;So;0;ON;;;;;N;;;;;
<MM> {()oO)} : "🤪" U1F92A # GRINNING FACE WITH ONE LARGE AND ONE SMALL EYE
<MM> {()Oo)} : "🤪" U1F92A # GRINNING FACE WITH ONE LARGE AND ONE SMALL EYE
@@ -2434,7 +2442,7 @@
#- 1F92C;SERIOUS FACE WITH SYMBOLS COVERING MOUTH;So;0;ON;;;;;N;;;;;
<MM> {():-###} : "🤬" U1F92C # SERIOUS FACE WITH SYMBOLS COVERING MOUTH
#- 1F92D;SMILING FACE WITH SMILING EYES AND HAND COVERING MOUTH;So;0;ON;;;;;N;;;;;
-<MM> {smiling face with smiling eyes and hand covering mouth} : "🤭" U1F92D # SMILING FACE WITH SMILING EYES AND HAND COVERING MOUTH
+<MM> {()):-==} : "🤭" U1F92D # SMILING FACE WITH SMILING EYES AND HAND COVERING MOUTH
#- 1F92E;FACE WITH OPEN MOUTH VOMITING;So;0;ON;;;;;N;;;;;
<MM> {()puke} : "🤮" U1F92E # FACE WITH OPEN MOUTH VOMITING
#- 1F92F;SHOCKED FACE WITH EXPLODING HEAD;So;0;ON;;;;;N;;;;;
@@ -2761,7 +2769,7 @@
#- 1F9CF;DEAF PERSON;So;0;ON;;;;;N;;;;;
<MM> {deaf} : "🧏" U1F9CF # DEAF PERSON
#- 1F9D0;FACE WITH MONOCLE;So;0;ON;;;;;N;;;;;
-<MM> {face with monocle} : "🧐" U1F9D0 # FACE WITH MONOCLE
+<MM> {()o.-)} : "🧐" U1F9D0 # FACE WITH MONOCLE
#- 1F9D1;ADULT;So;0;ON;;;;;N;;;;;
<MM> {adult} : "🧑" U1F9D1 # ADULT
#- 1F9D2;CHILD;So;0;ON;;;;;N;;;;;
@@ -2798,7 +2806,7 @@
#- 1F9E1;ORANGE HEART;So;0;ON;;;;;N;;;;;
<MM> {orange heart} : "🧡" U1F9E1 # ORANGE HEART
#- 1F9E2;BILLED CAP;So;0;ON;;;;;N;;;;;
-<MM> {billed cap} : "🧢" U1F9E2 # BILLED CAP
+<MM> {BBcap} : "🧢" U1F9E2 # BILLED CAP
#- 1F9E3;SCARF;So;0;ON;;;;;N;;;;;
<MM> {scarf} : "🧣" U1F9E3 # SCARF
#- 1F9E4;GLOVES;So;0;ON;;;;;N;;;;;
@@ -2935,12 +2943,12 @@
<MM> {headstone} : "🪦" U1FAA6 # HEADSTONE
#- 1FAA7;PLACARD;So;0;ON;;;;;N;;;;;
<MM> {placard} : "🪧" U1FAA7 # PLACARD
+### {rock} has prefix conflicts {rocket}, {rockon}
#- 1FAA8;ROCK;So;0;ON;;;;;N;;;;;
<MM> {rock♫} : "🪨" U1FAA8 # ROCK
-### {rock} has prefix conflicts {rocket}, {rockon}
+### {fly} has prefix-conflicts {flying$} etc
#- 1FAB0;FLY;So;0;ON;;;;;N;;;;;
<MM> {fly♫} : "🪰" U1FAB0 # FLY
-### {fly} has prefix-conflicts {flying$} etc
#- 1FAB1;WORM;So;0;ON;;;;;N;;;;;
<MM> {worm} : "🪱" U1FAB1 # WORM
#- 1FAB2;BEETLE;So;0;ON;;;;;N;;;;;
@@ -2958,6 +2966,7 @@
#- 1FAC1;LUNGS;So;0;ON;;;;;N;;;;;
<MM> {lungs} : "🫁" U1FAC1 # LUNGS
#- 1FAC2;PEOPLE HUGGING;So;0;ON;;;;;N;;;;;
+<MM> {hugging} : "🫂" U1FAC2 # PEOPLE HUGGING
<MM> {huggers} : "🫂" U1FAC2 # PEOPLE HUGGING
#- 1FAD0;BLUEBERRIES;So;0;ON;;;;;N;;;;;
<MM> {blueberries} : "🫐" U1FAD0 # BLUEBERRIES
diff --git a/emojitrans2.pl b/emojitrans2.pl
index 420129f..4ee9eac 100755
--- a/emojitrans2.pl
+++ b/emojitrans2.pl
@@ -52,6 +52,11 @@ BEGIN { binmode(STDOUT, ":utf8");
'˅' => 'Insert', # it'll do.
);
+ $specials = join "", keys %specials;
+ # Because of reasons
+ $specials =~ s/[]\\-]/\\$&/g;
+ $RE = qr{([[:alnum:]$specials]+)};
+
sub splitup {
my $arg=shift;
local $_;
@@ -73,7 +78,7 @@ unless (/^#/) {
my $hold=$_;
s/<M_>/<Multi_key>/;
s/<MM>/<Multi_key> <Multi_key>/;
- s({([][[:alnum:] _+:;%@>=`<,.^\$+#()?&!/|'"\\~*{}♫-]+)})(splitup($1))e;
+ s({($RE)})(splitup($1))e;
if (length($1) > 7) {
$_=$hold;
s/^<M([M_])>/### <M$1>/;