-
Notifications
You must be signed in to change notification settings - Fork 9
/
makeCharLangArray.js
executable file
·74 lines (60 loc) · 2.41 KB
/
makeCharLangArray.js
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
63
64
65
66
67
68
69
70
71
cl = [] // maps each character to a language
totalLangs = 0
function createCLArray () {
// creates the array cl, which used to be read in from char_lang.js
// globals
// cl, an array of objects that links a given character with languages where it is used
// langs, the array in app-charuse/langs.js
// totalLangs
for (var lang in langs) {
var list = ''
var auxlist = ''
window.totalLangs++
if (langs[lang].letter) list += langs[lang].letter
if (langs[lang].mark) list += langs[lang].mark
if (langs[lang].number) list += langs[lang].number
if (langs[lang].punctuation) list += langs[lang].punctuation
if (langs[lang].symbol) list += langs[lang].symbol
if (langs[lang].separator) list += langs[lang].separator
if (langs[lang].other) list += langs[lang].other
if (langs[lang].letteraux) auxlist += langs[lang].letteraux
if (langs[lang].markaux) auxlist += langs[lang].markaux
if (langs[lang].numberaux) auxlist += langs[lang].numberaux
if (langs[lang].punctuationaux) auxlist += langs[lang].punctuationaux
if (langs[lang].symbolaux) auxlist += langs[lang].symbolaux
if (langs[lang].separatoraux) auxlist += langs[lang].separatoraux
if (langs[lang].otheraux) auxlist += langs[lang].otheraux
//if (langs[lang].aux) auxlist += langs[lang].aux
if (debug) console.log(list,lang,auxlist)
if (list != '') buildCLArray(list,auxlist,lang)
}
if (debug) console.log(cl)
console.log('langs:',window.totalLangs)
console.log('total chars:',cl.length)
}
function buildCLArray (list, auxlist, lang) {
if (debug) console.log('UPDATECL: list ',list, 'auxlist ',auxlist, 'lang', lang)
list = list.trim()
auxlist = auxlist.trim()
list = list.replace(/\s+/g,'')
auxlist = auxlist.replace(/\s+/g,'')
var listarray = [...list]
var auxarray = [...auxlist]
var i, dec
for (i=0;i<listarray.length;i++) {
dec = listarray[i].codePointAt(0)
if (cl[dec]) cl[dec][0].push(lang)
else {
cl[dec] = [[],[]]
cl[dec][0].push(lang)
}
}
for (i=0;i<auxarray.length;i++) {
dec = auxarray[i].codePointAt(0)
if (cl[dec]) cl[dec][1].push(lang)
else {
cl[dec] = [[],[]]
cl[dec][1].push(lang)
}
}
}