From 12702bb885c136c1802c471372dc2e8543fca950 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Wed, 24 May 2017 07:15:07 +0100 Subject: [PATCH 01/11] en: (emoji) -- Better group the ZWJ and Flag sequences. --- dictsource/en_emoji | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/dictsource/en_emoji b/dictsource/en_emoji index 56813906..b634bd91 100644 --- a/dictsource/en_emoji +++ b/dictsource/en_emoji @@ -1234,7 +1234,7 @@ $textmode ๐Ÿงฅ coat // [1F9E5] ๐Ÿงฆ socks // [1F9E6] -// Country Flags (Regional Indicator Symbols) +// Country Flags (Regional Indicator Symbols) -- ISO 3166-1 Country Codes ๐Ÿ‡ฆ๐Ÿ‡จ ascension island // [1F1E6 1F1E8] AC ๐Ÿ‡ฆ๐Ÿ‡ฉ andorra // [1F1E6 1F1E9] AD @@ -1495,6 +1495,8 @@ $textmode ๐Ÿ‡ฟ๐Ÿ‡ฒ zambia // [1F1FF 1F1F2] ZM ๐Ÿ‡ฟ๐Ÿ‡ผ zimbabwe // [1F1FF 1F1FC] ZW +// Subdivision Flags -- ISO 3166-2 Subdivision Codes + ๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ england // [1F3F4 E0067 E0062 E0065 E006E E0067 E007F] ๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ scotland // [1F3F4 E0067 E0062 E0073 E0063 E0074 E007F] ๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ wales // [1F3F4 E0067 E0062 E0077 E006C E0073 E007F] @@ -1514,10 +1516,8 @@ $textmode 8๏ธโƒฃ keycap eight // [0038 FE0F 20E3] 9๏ธโƒฃ keycap nine // [0039 FE0F 20E3] -// Other Emoji ZWJ Sequences +// Emoji ZWJ Sequence: Family -๐Ÿณโ€๐ŸŒˆ rainbow flag // [1F3F3 200D 1F308] -๐Ÿ‘โ€๐Ÿ—จ eye in speech bubble // [1F441 200D 1F5E8] ๐Ÿ‘ฉโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ kiss woman man // [1F469 200D 2764 200D 1F48B 200D 1F468] ๐Ÿ‘จโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘จ kiss man man // [1F468 200D 2764 200D 1F48B 200D 1F468] ๐Ÿ‘ฉโ€โคโ€๐Ÿ’‹โ€๐Ÿ‘ฉ kiss woman woman // [1F469 200D 2764 200D 1F48B 200D 1F469] @@ -1550,6 +1550,11 @@ $textmode ๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ family woman girl boy // [1F469 200D 1F467 200D 1F466] ๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง family woman girl girl // [1F469 200D 1F467 200D 1F467] +// Emoji ZWJ Sequence: Other + +๐Ÿณโ€๐ŸŒˆ rainbow flag // [1F3F3 200D 1F308] +๐Ÿ‘โ€๐Ÿ—จ eye in speech bubble // [1F441 200D 1F5E8] + // References: // [UCD] Unicode Character Database 9.0.0 [http://www.unicode.org/Public/9.0.0/ucd/] // [Emoji] Unicode Emoji 5.0 [http://www.unicode.org/Public/emoji/5.0/] From f2a655f0a8edf2776594f5feec59fd5f9260bdc9 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Wed, 24 May 2017 07:44:54 +0100 Subject: [PATCH 02/11] en: (emoji) -- Enumerate gender+object ZWJ emojis. These are to support languages that use different prefices and/or suffices to identify gender (e.g. German). The support for emoji modifiers on the man/woman emoji will be handled by espeak, so they don't need to be enumerated here. --- dictsource/en_emoji | 51 +++++++++++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/dictsource/en_emoji b/dictsource/en_emoji index b634bd91..ed9b1fef 100644 --- a/dictsource/en_emoji +++ b/dictsource/en_emoji @@ -120,9 +120,7 @@ $textmode โš’ hammer and pick // [2692] text|emoji โš“ anchor // [2693] โš” crossed swords // [2694] text|emoji -โš• health worker $emoji_zwj // [2695] text|emoji โš• medical symbol // [2695] text|emoji -โš– judge $emoji_zwj // [2696] text|emoji โš– balance scale // [2696] text|emoji โš— alembic // [2697] text|emoji โš™ gear // [2699] text|emoji @@ -162,7 +160,6 @@ $textmode โœ‚ scissors // [2702] text|emoji โœ… white heavy check mark // [2705] -โœˆ pilot $emoji_zwj // [2708] text|emoji โœˆ airplane // [2708] text|emoji โœ‰ envelope // [2709] text|emoji โœŠ raised fist // [270A] @@ -326,7 +323,6 @@ $textmode ๐ŸŒป sunflower // [1F33B] ๐ŸŒผ blossom // [1F33C] ๐ŸŒฝ ear of corn // [1F33D] -๐ŸŒพ farmer $emoji_zwj // [1F33E] ๐ŸŒพ sheaf of rice // [1F33E] ๐ŸŒฟ herb // [1F33F] ๐Ÿ€ four leaf clover // [1F340] @@ -380,7 +376,6 @@ $textmode ๐Ÿฐ shortcake // [1F370] ๐Ÿฑ bento box // [1F371] ๐Ÿฒ pot of food // [1F372] -๐Ÿณ cook $emoji_zwj // [1F373] ๐Ÿณ cooking // [1F373] ๐Ÿด fork and knife // [1F374] ๐Ÿต teacup without handle // [1F375] @@ -413,7 +408,6 @@ $textmode ๐ŸŽ wind chime // [1F390] ๐ŸŽ‘ moon viewing ceremony // [1F391] ๐ŸŽ’ school backpack // [1F392] -๐ŸŽ“ student $emoji_zwj // [1F393] ๐ŸŽ“ graduation cap // [1F393] ๐ŸŽ– military medal // [1F396] text|emoji ๐ŸŽ— reminder ribbon // [1F397] text|emoji @@ -426,12 +420,10 @@ $textmode ๐ŸŽก ferris wheel // [1F3A1] ๐ŸŽข roller coaster // [1F3A2] ๐ŸŽฃ fishing pole // [1F3A3] -๐ŸŽค singer $emoji_zwj // [1F3A4] ๐ŸŽค microphone // [1F3A4] ๐ŸŽฅ movie camera // [1F3A5] ๐ŸŽฆ cinema // [1F3A6] ๐ŸŽง headphone // [1F3A7] -๐ŸŽจ artist $emoji_zwj // [1F3A8] ๐ŸŽจ artist palette // [1F3A8] ๐ŸŽฉ top hat // [1F3A9] ๐ŸŽช circus tent // [1F3AA] @@ -499,10 +491,8 @@ $textmode ๐Ÿจ hotel // [1F3E8] ๐Ÿฉ love hotel // [1F3E9] ๐Ÿช convenience store // [1F3EA] -๐Ÿซ teacher $emoji_zwj // [1F3EB] ๐Ÿซ school // [1F3EB] ๐Ÿฌ department store // [1F3EC] -๐Ÿญ factory worker $emoji_zwj // [1F3ED] ๐Ÿญ factory // [1F3ED] ๐Ÿฎ red paper lantern // [1F3EE] ๐Ÿฏ japanese castle // [1F3EF] @@ -706,9 +696,7 @@ $textmode ๐Ÿ’ธ money with wings // [1F4B8] ๐Ÿ’น chart increasing with yen // [1F4B9] ๐Ÿ’บ seat // [1F4BA] -๐Ÿ’ป technologist $emoji_zwj // [1F4BB] ๐Ÿ’ป laptop computer // [1F4BB] -๐Ÿ’ผ office worker $emoji_zwj // [1F4BC] ๐Ÿ’ผ briefcase // [1F4BC] ๐Ÿ’ฝ computer disk // [1F4BD] ๐Ÿ’พ floppy disk // [1F4BE] @@ -815,13 +803,11 @@ $textmode ๐Ÿ”ค input latin letters // [1F524] ๐Ÿ”ฅ fire // [1F525] ๐Ÿ”ฆ flashlight // [1F526] -๐Ÿ”ง mechanic $emoji_zwj // [1F527] ๐Ÿ”ง wrench // [1F527] ๐Ÿ”จ hammer // [1F528] ๐Ÿ”ฉ nut and bolt // [1F529] ๐Ÿ”ช kitchen knife // [1F52A] ๐Ÿ”ซ pistol // [1F52B] -๐Ÿ”ฌ scientist $emoji_zwj // [1F52C] ๐Ÿ”ฌ microscope // [1F52C] ๐Ÿ”ญ telescope // [1F52D] ๐Ÿ”ฎ crystal ball // [1F52E] @@ -1000,7 +986,6 @@ $textmode // 1F680..1F6FF : Transport and Map Symbols -๐Ÿš€ astronaut $emoji_zwj // [1F680] ๐Ÿš€ rocket // [1F680] ๐Ÿš helicopter // [1F681] ๐Ÿš‚ locomotive // [1F682] @@ -1019,7 +1004,6 @@ $textmode ๐Ÿš bus stop // [1F68F] ๐Ÿš minibus // [1F690] ๐Ÿš‘ ambulance // [1F691] -๐Ÿš’ firefighter $emoji_zwj // [1F692] ๐Ÿš’ fire engine // [1F692] ๐Ÿš“ police car // [1F693] ๐Ÿš” oncoming police car // [1F694] @@ -1550,6 +1534,41 @@ $textmode ๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ family woman girl boy // [1F469 200D 1F467 200D 1F466] ๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง family woman girl girl // [1F469 200D 1F467 200D 1F467] +// Emoji ZWJ Sequence: Gender Base + Object + +๐Ÿ‘จโ€โš• man health worker // [1F468 200D 2695] +๐Ÿ‘ฉโ€โš• woman health worker // [1F469 200D 2695] +๐Ÿ‘จโ€โš– man judge // [1F468 200D 2696] +๐Ÿ‘ฉโ€โš– woman judge // [1F469 200D 2696] +๐Ÿ‘จโ€โœˆ man pilot // [1F468 200D 2708] +๐Ÿ‘ฉโ€โœˆ woman pilot // [1F469 200D 2708] +๐Ÿ‘จโ€๐ŸŒพ man farmer // [1F468 200D 1F33E] +๐Ÿ‘ฉโ€๐ŸŒพ woman farmer // [1F469 200D 1F33E] +๐Ÿ‘จโ€๐Ÿณ man cook // [1F468 200D 1F373] +๐Ÿ‘ฉโ€๐Ÿณ woman cook // [1F469 200D 1F373] +๐Ÿ‘จโ€๐ŸŽ“ man student // [1F468 200D 1F393] +๐Ÿ‘ฉโ€๐ŸŽ“ woman student // [1F469 200D 1F393] +๐Ÿ‘จโ€๐ŸŽค man singer // [1F468 200D 1F3A4] +๐Ÿ‘ฉโ€๐ŸŽค woman singer // [1F469 200D 1F3A4] +๐Ÿ‘จโ€๐ŸŽจ man artist // [1F468 200D 1F3A8] +๐Ÿ‘ฉโ€๐ŸŽจ woman artist // [1F469 200D 1F3A8] +๐Ÿ‘จโ€๐Ÿซ man teacher // [1F468 200D 1F3EB] +๐Ÿ‘ฉโ€๐Ÿซ woman teacher // [1F469 200D 1F3EB] +๐Ÿ‘จโ€๐Ÿญ man factory worker // [1F468 200D 1F3ED] +๐Ÿ‘ฉโ€๐Ÿญ woman factory worker // [1F469 200D 1F3ED] +๐Ÿ‘จโ€๐Ÿ’ป man technologist // [1F468 200D 1F4BB] +๐Ÿ‘ฉโ€๐Ÿ’ป woman technologist // [1F469 200D 1F4BB] +๐Ÿ‘จโ€๐Ÿ’ผ man office worker // [1F468 200D 1F4BC] +๐Ÿ‘ฉโ€๐Ÿ’ผ woman office worker // [1F469 200D 1F4BC] +๐Ÿ‘จโ€๐Ÿ”ง man mechanic // [1F468 200D 1F527] +๐Ÿ‘ฉโ€๐Ÿ”ง woman mechanic // [1F469 200D 1F527] +๐Ÿ‘จโ€๐Ÿ”ฌ man scientist // [1F468 200D 1F52C] +๐Ÿ‘ฉโ€๐Ÿ”ฌ woman scientist // [1F469 200D 1F52C] +๐Ÿ‘จโ€๐Ÿš€ man astronaut // [1F468 200D 1F680] +๐Ÿ‘ฉโ€๐Ÿš€ woman atronaut // [1F469 200D 1F680] +๐Ÿ‘จโ€๐Ÿš’ man firefighter // [1F468 200D 1F692] +๐Ÿ‘ฉโ€๐Ÿš’ woman firefighter // [1F469 200D 1F692] + // Emoji ZWJ Sequence: Other ๐Ÿณโ€๐ŸŒˆ rainbow flag // [1F3F3 200D 1F308] From ea34ebcad5030992a5904ba9b4bd229604c97275 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Thu, 25 May 2017 07:15:58 +0100 Subject: [PATCH 03/11] en: (emoji) -- zwj sequences - gendered role (Unicode Emoji 5.0). --- dictsource/en_emoji | 38 ++++++++++++++++++--- src/ucd-tools/data/espeak-ng/emoji-data.txt | 22 ++++++++++-- 2 files changed, 53 insertions(+), 7 deletions(-) diff --git a/dictsource/en_emoji b/dictsource/en_emoji index ed9b1fef..f352ee10 100644 --- a/dictsource/en_emoji +++ b/dictsource/en_emoji @@ -94,9 +94,7 @@ $textmode โ˜ธ wheel of dharma // [2638] text|emoji โ˜น frowning face // [2639] text|emoji โ˜บ smiling face // [263A] text|emoji -โ™€ woman $emoji_zwj // [2640] text|emoji Emoji_Gender โ™€ female sign // [2640] text|emoji -โ™‚ man $emoji_zwj // [2642] text|emoji Emoji_Gender โ™‚ male sign // [2642] text|emoji โ™ˆ aries // [2648] โ™‰ taurus // [2649] @@ -1534,7 +1532,7 @@ $textmode ๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ family woman girl boy // [1F469 200D 1F467 200D 1F466] ๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ง family woman girl girl // [1F469 200D 1F467 200D 1F467] -// Emoji ZWJ Sequence: Gender Base + Object +// Emoji ZWJ Sequence: Gendered Role, with object ๐Ÿ‘จโ€โš• man health worker // [1F468 200D 2695] ๐Ÿ‘ฉโ€โš• woman health worker // [1F469 200D 2695] @@ -1569,10 +1567,39 @@ $textmode ๐Ÿ‘จโ€๐Ÿš’ man firefighter // [1F468 200D 1F692] ๐Ÿ‘ฉโ€๐Ÿš’ woman firefighter // [1F469 200D 1F692] +// Emoji ZWJ Sequence: Gendered Role + +๐Ÿ‘ฎโ€โ™€ woman police officer // [1F46E 200D 2640] +๐Ÿ‘ฎโ€โ™‚ man police officer // [1F46E 200D 2642] +๐Ÿ‘ฑโ€โ™€ blond-haired woman // [1F471 200D 2640] +๐Ÿ‘ฑโ€โ™‚ blond-haired man // [1F471 200D 2642] +๐Ÿ‘ณโ€โ™€ woman wearing turban // [1F473 200D 2640] +๐Ÿ‘ณโ€โ™‚ man wearing turban // [1F473 200D 2642] +๐Ÿ‘ทโ€โ™€ woman construction worker // [1F477 200D 2640] +๐Ÿ‘ทโ€โ™‚ man construction worker // [1F477 200D 2642] +๐Ÿ’‚โ€โ™€ woman guard // [1F482 200D 2640] +๐Ÿ’‚โ€โ™‚ man guard // [1F482 200D 2642] +๐Ÿ•ต๏ธโ€โ™€ woman detective // [1F575 200D 2640] +๐Ÿ•ต๏ธโ€โ™‚ man detective // [1F575 200D 2642] +๐Ÿง™โ€โ™€ woman mage // [1F9D9 200D 2640] +๐Ÿง™โ€โ™‚ man mage // [1F9D9 200D 2642] +๐Ÿงšโ€โ™€ woman fairy // [1F9DA 200D 2640] +๐Ÿงšโ€โ™‚ man fairy // [1F9DA 200D 2642] +๐Ÿง›โ€โ™€ woman vampire // [1F9DB 200D 2640] +๐Ÿง›โ€โ™‚ man vampire // [1F9DB 200D 2642] +๐Ÿงœโ€โ™€ mermaid // [1F9DC 200D 2640] +๐Ÿงœโ€โ™‚ merman // [1F9DC 200D 2642] +๐Ÿงโ€โ™€ woman elf // [1F9DD 200D 2640] +๐Ÿงโ€โ™‚ man elf // [1F9DD 200D 2642] +๐Ÿงžโ€โ™€ woman genie // [1F9DE 200D 2640] +๐Ÿงžโ€โ™‚ man genie // [1F9DE 200D 2642] +๐ŸงŸโ€โ™€ woman zombie // [1F9DF 200D 2640] +๐ŸงŸโ€โ™‚ man zombie // [1F9DF 200D 2642] + // Emoji ZWJ Sequence: Other -๐Ÿณโ€๐ŸŒˆ rainbow flag // [1F3F3 200D 1F308] -๐Ÿ‘โ€๐Ÿ—จ eye in speech bubble // [1F441 200D 1F5E8] +๐Ÿณโ€๐ŸŒˆ rainbow flag // [1F3F3 200D 1F308] +๐Ÿ‘โ€๐Ÿ—จ eye in speech bubble // [1F441 200D 1F5E8] // References: // [UCD] Unicode Character Database 9.0.0 [http://www.unicode.org/Public/9.0.0/ucd/] @@ -1582,3 +1609,4 @@ $textmode // Sources: // 1. emoji-test.txt (Emoji) // 2. common/annotations/en.xml (CLDR) +// 3. emoji-zwj-sequences.txt (Emoji) diff --git a/src/ucd-tools/data/espeak-ng/emoji-data.txt b/src/ucd-tools/data/espeak-ng/emoji-data.txt index a407b02d..93cd751d 100644 --- a/src/ucd-tools/data/espeak-ng/emoji-data.txt +++ b/src/ucd-tools/data/espeak-ng/emoji-data.txt @@ -16,8 +16,8 @@ # The `Emoji_Gender` property is used on emoji codepoints to signify the gender # of the emoji with the form: # -# Emoji 200D Emoji_Gender -# Emoji Emoji_Modifier 200D Emoji_Gender +# Emoji_Gendered_Base 200D Emoji_Gender +# Emoji_Gendered_Base Emoji_Modifier 200D Emoji_Gender # # This file uses the same format as the PropList.txt file. # @@ -54,6 +54,24 @@ # ================================================ +1F46E ; Emoji_Gendered_Base # (๐Ÿ‘ฎ) police officer +1F471 ; Emoji_Gendered_Base # (๐Ÿ‘ฑ) blond haired person +1F473 ; Emoji_Gendered_Base # (๐Ÿ‘ณ) person wearing turban +1F477 ; Emoji_Gendered_Base # (๐Ÿ‘ท) construction worker +1F482 ; Emoji_Gendered_Base # (๐Ÿ’‚) guard +1F575 ; Emoji_Gendered_Base # (๐Ÿ•ต๏ธ) detective +1F9D9 ; Emoji_Gendered_Base # (๐Ÿง™) mage +1F9DA ; Emoji_Gendered_Base # (๐Ÿงš) fairy +1F9DB ; Emoji_Gendered_Base # (๐Ÿง›) vampire +1F9DC ; Emoji_Gendered_Base # (๐Ÿงœ) merperson +1F9DD ; Emoji_Gendered_Base # (๐Ÿง) elf +1F9DE ; Emoji_Gendered_Base # (๐Ÿงž) genie +1F9DF ; Emoji_Gendered_Base # (๐ŸงŸ) zombie + +# Total code points: 13 + +# ================================================ + 2640 ; Emoji_Gender # (โ™€) woman 2642 ; Emoji_Gender # (โ™‚) man From 8dde51ca87b6727d344abefc66ae896b010d02ce Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Thu, 25 May 2017 07:23:21 +0100 Subject: [PATCH 04/11] Remove the now unused emoji_zwj specifier. --- src/libespeak-ng/compiledict.c | 1 - src/libespeak-ng/translate.h | 1 - 2 files changed, 2 deletions(-) diff --git a/src/libespeak-ng/compiledict.c b/src/libespeak-ng/compiledict.c index 01335918..48c72797 100644 --- a/src/libespeak-ng/compiledict.c +++ b/src/libespeak-ng/compiledict.c @@ -116,7 +116,6 @@ MNEM_TAB mnem_flags[] = { { "$alt5", 19 }, { "$alt6", 20 }, { "$alt7", 21 }, - { "$emoji_zwj", 22 }, // alternate emoji pronunciation, when in a ZWJ sequence { "$combine", 23 }, // Combine with the next word diff --git a/src/libespeak-ng/translate.h b/src/libespeak-ng/translate.h index f27b92ae..89f3f680 100644 --- a/src/libespeak-ng/translate.h +++ b/src/libespeak-ng/translate.h @@ -58,7 +58,6 @@ extern "C" #define FLAG_ALT6_TRANS 0x100000 // language specific #define FLAG_ALT7_TRANS 0x200000 // language specific -#define FLAG_EMOJI_ZWJ 0x400000 // alternate emoji pronunciation, when in a ZWJ sequence #define FLAG_COMBINE 0x800000 // combine with the next word #define FLAG_ALLOW_DOT 0x01000000 // ignore '.' after word (abbreviation) #define FLAG_NEEDS_DOT 0x02000000 // only if the word is followed by a dot From c5afdbe0d1292a6f1d95e3794b62e4be93d7a6cd Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Thu, 25 May 2017 20:47:02 +0100 Subject: [PATCH 05/11] en: pronunciation fixes (reported by kendell clark --- CHANGELOG.md | 6 +++++- dictsource/en_rules | 5 ++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f12008d..8a4547f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,7 +38,7 @@ updated languages: * af (Afrikaans) -- Christo de Klerk * de (German) -- Valdis Vitolins * du (Dutch) -- Leonard de Ruijter -* en (English) -- Reece Dunn : fixes and Unicode Emoji 5.0 support +* en (English) -- Reece Dunn. Thanks to Kendell Clark for identifying mispronunciations. * fa (Farsi/Persian) -- Shadyar Khodayari * fr (French) -- Valdis Vitolins; Reece Dunn * gu (Gujarati) -- Vardhan @@ -50,6 +50,10 @@ updated languages: * or (Oriya) -- Vardhan * ur (Urdu) -- Ejaz Shah +Unicode Emoji 5.0 support (from the Unicode Emoji, and CLDR data files): + +* en (English) -- Reece Dunn + ### 1.49.1 - 2017-01-21 * Vim syntax support for rule files. diff --git a/dictsource/en_rules b/dictsource/en_rules index efa4a74e..a74b8b46 100644 --- a/dictsource/en_rules +++ b/dictsource/en_rules @@ -249,7 +249,7 @@ _) ab (ide a#b _l) ab (i eIb st) ab (il eIb - C) ab (ili+ @b + h) ab (ilim @b ab (ject ab ab (lativ ab able eIb@L @@ -4409,7 +4409,6 @@ multip) ly laI you) ng (er Ng ng (est Ng co) nge (st ndZE - nging (_ NgI2N cri) nging ndZI2N hi) nging ndZI2N u) nging (_ ndZI2N @@ -5718,7 +5717,7 @@ multip) ly laI re (pli rE re (prim rE _) re (prob rE - re (pt rE + re (ptY rE _) re (puta rE re (quis rE _) re (relP2 r,i: From c163f19360e9697786671cf9ec016f9ea34d10d7 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Fri, 26 May 2017 07:06:37 +0100 Subject: [PATCH 06/11] en: (emoji) -- zwj sequences - gendered activity (Unicode Emoji 5.0). --- dictsource/en_emoji | 45 +++++++++++++++++++++ src/ucd-tools/data/espeak-ng/emoji-data.txt | 22 +++++++++- 2 files changed, 66 insertions(+), 1 deletion(-) diff --git a/dictsource/en_emoji b/dictsource/en_emoji index f352ee10..ff0e8a97 100644 --- a/dictsource/en_emoji +++ b/dictsource/en_emoji @@ -1596,6 +1596,51 @@ $textmode ๐ŸงŸโ€โ™€ woman zombie // [1F9DF 200D 2640] ๐ŸงŸโ€โ™‚ man zombie // [1F9DF 200D 2642] +// Emoji ZWJ Sequence: Gendered Activity + +โ›นโ€โ™€ woman bouncing ball // [26F9 200D 2640] +โ›นโ€โ™‚ man bouncing ball // [26F9 200D 2642] +๐Ÿƒโ€โ™€ woman running // [1F3C3 200D 2640] +๐Ÿƒโ€โ™‚ man running // [1F3C3 200D 2642] +๐Ÿ„โ€โ™€ woman surfacing // [1F3C4 200D 2640] +๐Ÿ„โ€โ™‚ man surfacing // [1F3C4 200D 2642] +๐ŸŠโ€โ™€ woman swimming // [1F3CA 200D 2640] +๐ŸŠโ€โ™‚ man swimming // [1F3CA 200D 2642] +๐Ÿ‹๏ธโ€โ™€ woman lifting weights // [1F3CB 200D 2640] +๐Ÿ‹๏ธโ€โ™‚ man lifting weights // [1F3CB 200D 2642] +๐ŸŒ๏ธโ€โ™€ woman golfing // [1F3CC 200D 2640] +๐ŸŒ๏ธโ€โ™‚ man golfing // [1F3CC 200D 2642] +๐Ÿ‘ฏโ€โ™€ woman with bunny ears partying // [1F46F 200D 2640] +๐Ÿ‘ฏโ€โ™‚ man with bunny ears partying // [1F46F 200D 2642] +๐Ÿ’†โ€โ™€ woman getting massage // [1F486 200D 2640] +๐Ÿ’†โ€โ™‚ man getting massage // [1F486 200D 2642] +๐Ÿ’‡โ€โ™€ woman getting haircut // [1F487 200D 2640] +๐Ÿ’‡โ€โ™‚ man getting haircut // [1F487 200D 2642] +๐Ÿšฃโ€โ™€ woman rowing boat // [1F6A3 200D 2640] +๐Ÿšฃโ€โ™‚ man rowing boat // [1F6A3 200D 2642] +๐Ÿšดโ€โ™€ woman biking // [1F6B4 200D 2640] +๐Ÿšดโ€โ™‚ man biking // [1F6B4 200D 2642] +๐Ÿšตโ€โ™€ woman mountain biking // [1F6B5 200D 2640] +๐Ÿšตโ€โ™‚ man mountain biking // [1F6B5 200D 2642] +๐Ÿšถโ€โ™€ woman walking // [1F6B6 200D 2640] +๐Ÿšถโ€โ™‚ man walking // [1F6B6 200D 2642] +๐Ÿคธโ€โ™€ woman cartwheeling // [1F938 200D 2640] +๐Ÿคธโ€โ™‚ man cartwheeling // [1F938 200D 2642] +๐Ÿคนโ€โ™€ woman juggling // [1F939 200D 2640] +๐Ÿคนโ€โ™‚ man juggling // [1F939 200D 2642] +๐Ÿคผโ€โ™€ woman wrestling // [1F93C 200D 2640] +๐Ÿคผโ€โ™‚ man wrestling // [1F93C 200D 2642] +๐Ÿคฝโ€โ™€ woman playing water polo // [1F93D 200D 2640] +๐Ÿคฝโ€โ™‚ man playing water polo // [1F93D 200D 2642] +๐Ÿคพโ€โ™€ woman playing handball // [1F93E 200D 2640] +๐Ÿคพโ€โ™‚ man playing handball // [1F93E 200D 2642] +๐Ÿง–โ€โ™€ woman in steamy room // [1F9D6 200D 2640] +๐Ÿง–โ€โ™‚ man in steamy room // [1F9D6 200D 2642] +๐Ÿง—โ€โ™€ woman climbing // [1F9D7 200D 2640] +๐Ÿง—โ€โ™‚ man climbing // [1F9D7 200D 2642] +๐Ÿง˜โ€โ™€ woman in lotus position // [1F9D8 200D 2640] +๐Ÿง˜โ€โ™‚ man in lotus position // [1F9D8 200D 2642] + // Emoji ZWJ Sequence: Other ๐Ÿณโ€๐ŸŒˆ rainbow flag // [1F3F3 200D 1F308] diff --git a/src/ucd-tools/data/espeak-ng/emoji-data.txt b/src/ucd-tools/data/espeak-ng/emoji-data.txt index 93cd751d..ae4fb1cf 100644 --- a/src/ucd-tools/data/espeak-ng/emoji-data.txt +++ b/src/ucd-tools/data/espeak-ng/emoji-data.txt @@ -54,12 +54,32 @@ # ================================================ +26F9 ; Emoji_Gendered_Base # (โ›น) person bouncing ball +1F3C3 ; Emoji_Gendered_Base # (๐Ÿƒ) person running +1F3C4 ; Emoji_Gendered_Base # (๐Ÿ„) person surfacing +1F3CA ; Emoji_Gendered_Base # (๐ŸŠ) person swimming +1F3CB ; Emoji_Gendered_Base # (๐Ÿ‹๏ธ) person lifting weights +1F3CC ; Emoji_Gendered_Base # (๐ŸŒ๏ธ) person golfing 1F46E ; Emoji_Gendered_Base # (๐Ÿ‘ฎ) police officer +1F46F ; Emoji_Gendered_Base # (๐Ÿ‘ฏ) person with bunny ears partying 1F471 ; Emoji_Gendered_Base # (๐Ÿ‘ฑ) blond haired person 1F473 ; Emoji_Gendered_Base # (๐Ÿ‘ณ) person wearing turban 1F477 ; Emoji_Gendered_Base # (๐Ÿ‘ท) construction worker 1F482 ; Emoji_Gendered_Base # (๐Ÿ’‚) guard +1F486 ; Emoji_Gendered_Base # (๐Ÿ’†) person getting massage +1F487 ; Emoji_Gendered_Base # (๐Ÿ’‡) person getting haircut 1F575 ; Emoji_Gendered_Base # (๐Ÿ•ต๏ธ) detective +1F6A3 ; Emoji_Gendered_Base # (๐Ÿšฃ) person rowing boat +1F6B4 ; Emoji_Gendered_Base # (๐Ÿšด) person biking +1F6B5 ; Emoji_Gendered_Base # (๐Ÿšต) person mountain biking +1F6B6 ; Emoji_Gendered_Base # (๐Ÿšถ) person walking +1F938 ; Emoji_Gendered_Base # (๐Ÿคธ) person cartwheeling +1F939 ; Emoji_Gendered_Base # (๐Ÿคน) person juggling +1F93C ; Emoji_Gendered_Base # (๐Ÿคผ) person wrestling +1F93D ; Emoji_Gendered_Base # (๐Ÿคฝ) person playing water polo +1F93E ; Emoji_Gendered_Base # (๐Ÿคพ) person playing handball +1F9D6 ; Emoji_Gendered_Base # (๐Ÿง–) person in steamy room +1F9D7 ; Emoji_Gendered_Base # (๐Ÿง˜) person in lotus position 1F9D9 ; Emoji_Gendered_Base # (๐Ÿง™) mage 1F9DA ; Emoji_Gendered_Base # (๐Ÿงš) fairy 1F9DB ; Emoji_Gendered_Base # (๐Ÿง›) vampire @@ -68,7 +88,7 @@ 1F9DE ; Emoji_Gendered_Base # (๐Ÿงž) genie 1F9DF ; Emoji_Gendered_Base # (๐ŸงŸ) zombie -# Total code points: 13 +# Total code points: 33 # ================================================ From 133d44039a409652ab02fe8e616c135514101291 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Fri, 26 May 2017 07:07:35 +0100 Subject: [PATCH 07/11] en: (emoji) -- zwj sequences - gendered gestures (Unicode Emoji 5.0). --- dictsource/en_emoji | 21 +++++++++++++++++++++ src/ucd-tools/data/espeak-ng/emoji-data.txt | 11 ++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/dictsource/en_emoji b/dictsource/en_emoji index ff0e8a97..ecedc314 100644 --- a/dictsource/en_emoji +++ b/dictsource/en_emoji @@ -1641,6 +1641,27 @@ $textmode ๐Ÿง˜โ€โ™€ woman in lotus position // [1F9D8 200D 2640] ๐Ÿง˜โ€โ™‚ man in lotus position // [1F9D8 200D 2642] +// Emoji ZWJ Sequence: Gendered Gestures + +๐Ÿ’โ€โ™€ woman tipping hand // [1F481 200D 2640] +๐Ÿ’โ€โ™‚ man tipping hand // [1F481 200D 2642] +๐Ÿ™…โ€โ™€ woman gesturing no // [1F645 200D 2640] +๐Ÿ™…โ€โ™‚ man gesturing no // [1F645 200D 2642] +๐Ÿ™†โ€โ™€ woman gesturing ok // [1F646 200D 2640] +๐Ÿ™†โ€โ™‚ man gesturing ok // [1F646 200D 2642] +๐Ÿ™‡โ€โ™€ woman bowing // [1F647 200D 2640] +๐Ÿ™‡โ€โ™‚ man bowing // [1F647 200D 2642] +๐Ÿ™‹โ€โ™€ woman raising hand // [1F64B 200D 2640] +๐Ÿ™‹โ€โ™‚ man raising hand // [1F64B 200D 2642] +๐Ÿ™โ€โ™€ woman frowning // [1F64D 200D 2640] +๐Ÿ™โ€โ™‚ man frowning // [1F64D 200D 2642] +๐Ÿ™Žโ€โ™€ woman pouting // [1F64E 200D 2640] +๐Ÿ™Žโ€โ™‚ man pouting // [1F64E 200D 2642] +๐Ÿคฆโ€โ™€ woman facepalming // [1F926 200D 2640] +๐Ÿคฆโ€โ™‚ man facepalming // [1F926 200D 2642] +๐Ÿคทโ€โ™€ woman shrugging // [1F937 200D 2640] +๐Ÿคทโ€โ™‚ man shrugging // [1F937 200D 2642] + // Emoji ZWJ Sequence: Other ๐Ÿณโ€๐ŸŒˆ rainbow flag // [1F3F3 200D 1F308] diff --git a/src/ucd-tools/data/espeak-ng/emoji-data.txt b/src/ucd-tools/data/espeak-ng/emoji-data.txt index ae4fb1cf..3f3eb967 100644 --- a/src/ucd-tools/data/espeak-ng/emoji-data.txt +++ b/src/ucd-tools/data/espeak-ng/emoji-data.txt @@ -65,14 +65,23 @@ 1F471 ; Emoji_Gendered_Base # (๐Ÿ‘ฑ) blond haired person 1F473 ; Emoji_Gendered_Base # (๐Ÿ‘ณ) person wearing turban 1F477 ; Emoji_Gendered_Base # (๐Ÿ‘ท) construction worker +1F481 ; Emoji_Gendered_Base # (๐Ÿ’) person tipping hand 1F482 ; Emoji_Gendered_Base # (๐Ÿ’‚) guard 1F486 ; Emoji_Gendered_Base # (๐Ÿ’†) person getting massage 1F487 ; Emoji_Gendered_Base # (๐Ÿ’‡) person getting haircut 1F575 ; Emoji_Gendered_Base # (๐Ÿ•ต๏ธ) detective +1F645 ; Emoji_Gendered_Base # (๐Ÿ™…) person gesturing NO +1F646 ; Emoji_Gendered_Base # (๐Ÿ™†) person gesturing OK +1F647 ; Emoji_Gendered_Base # (๐Ÿ™‡) person bowing +1F64B ; Emoji_Gendered_Base # (๐Ÿ™‹) person raising hand +1F64D ; Emoji_Gendered_Base # (๐Ÿ™) person frowning +1F64E ; Emoji_Gendered_Base # (๐Ÿ™Ž) person pouting 1F6A3 ; Emoji_Gendered_Base # (๐Ÿšฃ) person rowing boat 1F6B4 ; Emoji_Gendered_Base # (๐Ÿšด) person biking 1F6B5 ; Emoji_Gendered_Base # (๐Ÿšต) person mountain biking 1F6B6 ; Emoji_Gendered_Base # (๐Ÿšถ) person walking +1F926 ; Emoji_Gendered_Base # (๐Ÿคฆ) person facepalming +1F937 ; Emoji_Gendered_Base # (๐Ÿคท) person shrugging 1F938 ; Emoji_Gendered_Base # (๐Ÿคธ) person cartwheeling 1F939 ; Emoji_Gendered_Base # (๐Ÿคน) person juggling 1F93C ; Emoji_Gendered_Base # (๐Ÿคผ) person wrestling @@ -88,7 +97,7 @@ 1F9DE ; Emoji_Gendered_Base # (๐Ÿงž) genie 1F9DF ; Emoji_Gendered_Base # (๐ŸงŸ) zombie -# Total code points: 33 +# Total code points: 42 # ================================================ From 801753bdbd624b047a4c14097da1df98e7e1b2b6 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 28 May 2017 09:57:06 +0100 Subject: [PATCH 08/11] [Windows] Fix installing the cs, pl, ru and sk language files after fixing their language family. --- src/windows/installer/Product.wxs | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/windows/installer/Product.wxs b/src/windows/installer/Product.wxs index e222c805..31de34da 100644 --- a/src/windows/installer/Product.wxs +++ b/src/windows/installer/Product.wxs @@ -883,6 +883,11 @@ + + + + + @@ -890,24 +895,12 @@ - - - - - - - - - - - - @@ -915,6 +908,17 @@ + + + + + + + + + + + From e41a78d81986db5dc00c064fffdf550e609c2e77 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 28 May 2017 10:38:15 +0100 Subject: [PATCH 09/11] Report the actual error from LoadMbrolaTable when loading the mbrola voice. --- src/libespeak-ng/voices.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libespeak-ng/voices.c b/src/libespeak-ng/voices.c index cc4a6c16..0b479ecd 100644 --- a/src/libespeak-ng/voices.c +++ b/src/libespeak-ng/voices.c @@ -829,8 +829,9 @@ voice_t *LoadVoice(const char *vname, int control) name2[0] = 0; sscanf(p, "%s %s %d", name1, name2, &srate); - if (LoadMbrolaTable(name1, name2, &srate) != ENS_OK) - fprintf(stderr, "mbrola voice not found\n"); + espeak_ng_STATUS status = LoadMbrolaTable(name1, name2, &srate); + if (status != ENS_OK) + espeak_ng_PrintStatusCodeMessage(status, stderr, NULL); voice->samplerate = srate; } break; From 7accbcd498774b50b43c346ac7651f2a3240d2a7 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 28 May 2017 10:41:16 +0100 Subject: [PATCH 10/11] Only update the sample rate if the mbrola voice was successfully loaded. --- src/libespeak-ng/voices.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libespeak-ng/voices.c b/src/libespeak-ng/voices.c index 0b479ecd..6a9d68b2 100644 --- a/src/libespeak-ng/voices.c +++ b/src/libespeak-ng/voices.c @@ -832,7 +832,8 @@ voice_t *LoadVoice(const char *vname, int control) espeak_ng_STATUS status = LoadMbrolaTable(name1, name2, &srate); if (status != ENS_OK) espeak_ng_PrintStatusCodeMessage(status, stderr, NULL); - voice->samplerate = srate; + else + voice->samplerate = srate; } break; case V_KLATT: From 9ea08472f6f912d080854a5ff167f11477776304 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 28 May 2017 10:44:24 +0100 Subject: [PATCH 11/11] Ignore the espeak-ng-data/mbrola directory, where espeak-ng looks for mbrola voice files. --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 0dbeb4bb..383812c8 100644 --- a/.gitignore +++ b/.gitignore @@ -177,9 +177,11 @@ espeak-ng-data/config espeak-ng-data/dictsource espeak-ng-data/phsource espeak-ng-data/*_dict -espeak-ng-data/mbrola_ph/*_phtrans espeak-ng-data/intonations espeak-ng-data/phondata espeak-ng-data/phondata-manifest espeak-ng-data/phonindex espeak-ng-data/phontab + +espeak-ng-data/mbrola/ +espeak-ng-data/mbrola_ph/*_phtrans