├── favicon.ico
├── index.html
├── log.html
├── style.css
├── guide.html
└── script.js
/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CollinBrennan/GenGo/HEAD/favicon.ico
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
20 |
Change Log 2020
21 |
22 |
23 |
May 12th
24 |
-Fixed a bug where affricates wouldn't display correctly
25 |
26 |
27 |
May 11th
28 |
-Fixed a bug where IPA buttons would only add a character at the end of a text field.
29 |
-Fixed a bug where input fields would be too small while the IPA chart was open.
30 |
31 |
-Added ability to comment out groups (//) and letter(s) (/)
32 |
-Added ability to use floating points as weights to make characters less likely to be picked
33 |
34 |
35 |
36 |
May 10th
37 |
Public release.
38 |
39 |
40 |
41 |
42 |
28 |
29 |
30 |
31 |
About
32 |
GenGo is generator that makes words from different groups of characters. It is most often used for constructed languages and worldbuilding. It's good for anything from creating a lexicon for your conlang to names for your fictional population.
33 |
34 |
35 |
36 |
Characters
37 |
Characters are the letters or symbols that make up your words.
38 |
Syntax
39 |
40 |
The basic syntax for a character group is...
41 |
X: sh å Д β タ 語 음,
42 |
43 | - A single character as a name for the pattern to recognize
44 | - A colon to seperate the group name and its characters
45 | - The characters that make up the group, seperated by spaces
46 | - A comma to seperate groups
47 |
48 |
Character groups can be written on the same line or across several lines, as long as they are seperated by a comma.
49 |
50 |
Weights
51 |
You can assign weight to a character to make it more likely to be picked using an asterisk followed by a number.
52 |
In this example...
53 |
54 | C: p t k m n s w*5 l j
55 |
56 |
...the letter 'w' is 5 times more likely to be picked than the rest of the characters individually.
57 |
Since characters have a default weight of 1, you can use a decimal to make characters less likely to be picked...
58 |
C: p t k m n s w*.25 l j
59 |
Giving a character a weight of 0 still gives it a chance of being picked. If you don't want a character to be picked at all, you can comment it out.
60 |
61 |
62 |
Sometimes you might want to remove characters from a group without actually deleting them from the text field. To do this, you can use a slash to "comment" them out.
63 |
For example, this...
64 |
C: p t k m n s /w l j
65 |
Gets interpreted as this...
66 |
C: p t k m n s l j
67 |
To comment out a group entirely, just put the slash before the name of the group...
68 |
/C: p t k m n s w l j
69 |
Commenting out also works in rewrites, patterns, and filters.
70 |
71 |
72 |
73 |
74 |
Patterns
75 |
Patterns are the syllable structure of your words. If the pattern contains the name of a character group, the character will be replaced by one of the characters in its group at random. Multiple patterns can be used but need to be seperated by commas.
76 |
For example, if you had the pattern 'CVC' and these character groups...
77 |
C: p t k,
V: a i
78 |
...each character in the pattern would be replaced with a random character within its group...
79 |
80 | - C → k
81 | - V → a
82 | - C → t
83 |
84 |
...and the final outputted word would be 'kat'.
85 |
If a pattern contains a character that isn't the name of a group, the character itself is added to the word. For example, if you had the same characters from the above example, but instead had the pattern 'CVs'...
86 |
87 | - C → k
88 | - V → a
89 | - s → s
90 |
91 |
...'s' in the pattern isn't the name of a group so it is just added to the word 'kas'.
92 |
Parentheses ( )
93 |
Any part of a pattern within parantheses has a chance to be filtered out.
94 |
The pattern 'CV(C)' can output...
95 |
96 | - ka(t) → kat
97 | - ka(t) → ka
98 |
99 |
Brackets [ ]
100 |
Any part of a pattern within brackets picks from one of the choices seperated by spaces.
101 |
The pattern 'CV[C s]' can output...
102 |
103 | - ka[t s] → kat
104 | - ka[t s] → kas
105 |
106 |
Brackets and parentheses can both be nested any amount of times...
107 |
108 | - ka(t(s)) → kats
109 | - ka(t(s)) → kat
110 | - ka(t(s)) → ka
111 |
112 |
113 | - ka([t d][s z]) → ka
114 | - ka([t d][s z]) → kads
115 | - ka([t d][s z]) → kats
116 | - ka([t d][s z]) → katz
117 | - ka([t d][s z]) → kadz
118 |
119 |
120 |
121 |
122 |
Rewrites
123 |
Sometimes there are certain combinations of characters that you don't want in your words. That's where rewrites come in.
124 |
125 |
Syntax
126 |
Rewrites are written very similarly to character groups...
127 |
mn: m n,
128 |
129 | - The characters to be replaced
130 | - A colon to seperate the cluster and its replacement characters
131 | - The characters that can replace the cluster, seperated by spaces
132 | - A comma to seperate rewrites
133 |
134 |
For example, if you had the word 'samna' and the cluster rewrite from above...
135 |
136 | - samna → sama
137 | - samna → sana
138 |
139 |
140 |
Tips
141 |
If you want the cluster to just be removed from the word, don't enter anything for the replacement characters. Make sure to still seperate it with a comma if there are multiple rewrites...
142 |
143 | nm: ,
144 | mn: m n
145 |
146 |
149 |
(Not yet implemented) Rewrites and filters also accept group names. If we had the pattern 'CVVC' and this rewrite...
150 |
151 | VV: V
152 |
153 |
156 |
(Not yet implemented) If you wanted a character that is also a name of a character group, you can put it in double quotes...
157 |
158 | VV: "V"
159 |
160 |
163 |
You can also use character weights in rewrites.
164 |
165 |
166 |
167 |
Filters & Options
168 |
Filters - If a word contains any of the characters or clusters, the whole word will be removed from the final word list.
169 |
Words - Total number of words to be generated.
170 |
Syllable min and max - The minimum and maximum number of patterns allowed in a word
171 |
Duplicates - Removes any duplicates in the final word list. The more complicated your words can be, the less likely duplicates are to be generated
172 |
List - Displays each word on a new line instead of a paragraph
173 |
IPA - Stands for 'International Phonetic Alphabet', which you can learn more about here
174 |
175 |
176 |
177 |
178 |