some more morse mappings

This commit is contained in:
Martin Brodbeck 2024-02-28 13:19:33 +01:00
parent 7150ae99e0
commit 6402b6f025

View file

@ -5,20 +5,65 @@
#include "morse.h"
static std::map<char, std::string> morseCode = {
{'A', ".-"}, {'B', "-..."}, {'C', "-.-."}, {'D', "-.."}, {'E', "."}, {'F', "..-."},
{'G', "--."}, {'H', "...."}, {'I', ".."}, {'J', ".---"}, {'K', "-.-"}, {'L', ".-.."},
{'M', "--"}, {'N', "-."}, {'O', "---"}, {'P', ".--."}, {'Q', "--.-"}, {'R', ".-."},
{'S', "..."}, {'T', "-"}, {'U', "..-"}, {'V', "...-"}, {'W', ".--"}, {'X', "-..-"},
{'Y', "-.--"}, {'Z', "--.."}, {'1', ".----"}, {'2', "..---"}, {'3', "...--"}, {'4', "....-"},
{'5', "....."}, {'6', "-...."}, {'7', "--..."}, {'8', "---.."}, {'9', "----."}, {'0', "-----"},
{',', "--..--"}, {'.', ".-.-.-"}, {'?', "..--.."}, {'/', "-..-."}, {'-', "-....-"}, {':', "---..."},
{'&', ".-..."}, {'\'', ".----."}, {'@', ".--.-."}, {')', "-.--.-"}, {'(', "-.--."}, {'\"', ".-..-."},
{'=', "-...-"}, // '=' == <BT>
{'b', "-...-.-"}, // '=' == <BK>
{'k', "-.--."}, // k == <KN>
{'s', "...-.-"}, // s == <SK>
{'+', ".-.-."}, // + == <AR>
{'a', "-.-.-"}, // a == <KA>
{'A', ".-"},
{'B', "-..."},
{'C', "-.-."},
{'D', "-.."},
{'E', "."},
{'F', "..-."},
{'G', "--."},
{'H', "...."},
{'I', ".."},
{'J', ".---"},
{'K', "-.-"},
{'L', ".-.."},
{'M', "--"},
{'N', "-."},
{'O', "---"},
{'P', ".--."},
{'Q', "--.-"},
{'R', ".-."},
{'S', "..."},
{'T', "-"},
{'U', "..-"},
{'V', "...-"},
{'W', ".--"},
{'X', "-..-"},
{'Y', "-.--"},
{'Z', "--.."},
{'1', ".----"},
{'2', "..---"},
{'3', "...--"},
{'4', "....-"},
{'5', "....."},
{'6', "-...."},
{'7', "--..."},
{'8', "---.."},
{'9', "----."},
{'0', "-----"},
{',', "--..--"},
{'.', ".-.-.-"},
{'?', "..--.."},
{':', "---..."},
{'&', ".-..."},
// Some WinKeyer compatible mappings …
{'\"', ".-..-."}, // " => <RR>
{'$', "...-..-"}, // $ => <SX>
{'\'', ".----."}, // ' => <WG>
{'(', "-.--."}, // ( => <KN>
{')', "-.--.-"}, // ) => <KK>
{'+', ".-.-."}, // + => <AR>
{'-', "-....-"}, // - => <DU>
{'/', "-..-."}, // / => <DN>
{':', "-.--."}, // : => <KN>
{';', ".-.-"}, // ; => <AA>
{'<', ".-.-."}, // < => <AR> [sic!]
{'=', "-...-"}, // = => <BT>
{'>', "...-.-"}, // > == <SK>
{'@', ".--.-."}, // @ => <AC>
{'[', ".-..."}, // [ => <AS>
{'\\', "-..-."}, // \ => <DN>
{']', "-.--."}, // ] => <KN> [sic!]
};
void refurbishMessage(std::string &msg)
@ -84,26 +129,26 @@ std::string messageToMorse(std::string &msg)
return morseString;
}
std::string charToMorse(char ch) {
std::string charToMorse(char ch)
{
std::string morseString {};
if (ch == ' ') {
morseString.push_back('w');
return morseString;
}
morseString.push_back('w');
return morseString;
}
for (unsigned int j = 0; j < morseCode[ch].length(); j++) {
char m = morseCode[ch][j];
char m = morseCode[ch][j];
morseString += m;
morseString += m;
if (j < morseCode[ch].length() - 1) {
morseString.push_back('i');
}
if (j < morseCode[ch].length() - 1) {
morseString.push_back('i');
}
}
morseString.push_back('c');
return morseString;
}