-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathzalgo.h
62 lines (55 loc) · 3.85 KB
/
zalgo.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#ifndef ZALGO_H_
#define ZALGO_H_
#include <stdlib.h>
#include <string>
#include <vector>
#define ABOVE_DIACRITICS_SIZE 50
#define MIDDLE_DIACRITICS_SIZE 22
#define BELOW_DIACRITICS_SIZE 40
class Zalgo
{
public:
Zalgo();
~Zalgo();
std::string getDiacritic(int);
std::string generateLine(std::string, int &, int &, int &, int &);
std::vector<int> argumentParser(std::string);
int randomCountGenerator(int &);
private:
const std::string ABOVE_DIACRITICS[ABOVE_DIACRITICS_SIZE] = {
"\u030d", /* ̍ */ "\u030e", /* ̎ */ "\u0304", /* ̄ */ "\u0305", /* ̅ */
"\u033f", /* ̿ */ "\u0311", /* ̑ */ "\u0306", /* ̆ */ "\u0310", /* ̐ */
"\u0352", /* ͒ */ "\u0357", /* ͗ */ "\u0351", /* ͑ */ "\u0307", /* ̇ */
"\u0308", /* ̈ */ "\u030a", /* ̊ */ "\u0342", /* ͂ */ "\u0343", /* ̓ */
"\u0344", /* ̈́ */ "\u034a", /* ͊ */ "\u034b", /* ͋ */ "\u034c", /* ͌ */
"\u0303", /* ̃ */ "\u0302", /* ̂ */ "\u030c", /* ̌ */ "\u0350", /* ͐ */
"\u0300", /* ̀ */ "\u0301", /* ́ */ "\u030b", /* ̋ */ "\u030f", /* ̏ */
"\u0312", /* ̒ */ "\u0313", /* ̓ */ "\u0314", /* ̔ */ "\u033d", /* ̽ */
"\u0309", /* ̉ */ "\u0363", /* ͣ */ "\u0364", /* ͤ */ "\u0365", /* ͥ */
"\u0366", /* ͦ */ "\u0367", /* ͧ */ "\u0368", /* ͨ */ "\u0369", /* ͩ */
"\u036a", /* ͪ */ "\u036b", /* ͫ */ "\u036c", /* ͬ */ "\u036d", /* ͭ */
"\u036e", /* ͮ */ "\u036f", /* ͯ */ "\u033e", /* ̾ */ "\u035b", /* ͛ */
"\u0346", /* ͆ */ "\u031a" /* ̚ */
};
const std::string MIDDLE_DIACRITICS[MIDDLE_DIACRITICS_SIZE] = {
"\u0315", /* ̕ */ "\u031b", /* ̛ */ "\u0340", /* ̀ */ "\u0341", /* ́ */
"\u0358", /* ͘ */ "\u0321", /* ̡ */ "\u0322", /* ̢ */ "\u0327", /* ̧ */
"\u0328", /* ̨ */ "\u0334", /* ̴ */ "\u0336", /* ̵ */ "\u0336", /* ̶ */
"\u034f", /* ͏ */ "\u035c", /* ͜ */ "\u035d", /* ͝ */ "\u035e", /* ͞ */
"\u035f", /* ͟ */ "\u0360", /* ͠ */ "\u0362", /* ͢ */ "\u0338", /* ̸ */
"\u0337", /* ̷ */ "\u0361", /* ͡ */
};
const std::string BELOW_DIACRITICS[BELOW_DIACRITICS_SIZE] = {
"\u0316", /* ̖ */ "\u0317", /* ̗ */ "\u0318", /* ̘ */ "\u0319", /* ̙ */
"\u031c", /* ̜ */ "\u031d", /* ̝ */ "\u031e", /* ̞ */ "\u031f", /* ̟ */
"\u0320", /* ̠ */ "\u0324", /* ̤ */ "\u0325", /* ̥ */ "\u0326", /* ̦ */
"\u0329", /* ̩ */ "\u032a", /* ̪ */ "\u032b", /* ̫ */ "\u032c", /* ̬ */
"\u032d", /* ̭ */ "\u032e", /* ̮ */ "\u032f", /* ̯ */ "\u0330", /* ̰ */
"\u0331", /* ̱ */ "\u0332", /* ̲ */ "\u0333", /* ̳ */ "\u0339", /* ̹ */
"\u033a", /* ̺ */ "\u033b", /* ̻ */ "\u033c", /* ̼ */ "\u0345", /* ͅ */
"\u0347", /* ͇ */ "\u0348", /* ͈ */ "\u0349", /* ͉ */ "\u034d", /* ͍ */
"\u034e", /* ͎ */ "\u0353", /* ͓ */ "\u0354", /* ͔ */ "\u0355", /* ͕ */
"\u0356", /* ͖ */ "\u0359", /* ͙ */ "\u035a", /* ͚ */ "\u0323" /* ̣ */
};
};
#endif // ZALGO_H_