-
Notifications
You must be signed in to change notification settings - Fork 0
/
thark.html
41 lines (41 loc) · 6.62 KB
/
thark.html
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
<!DOCTYPE html>
<html lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>ᛏᚺᚨᚱᚲ</title>
<style>
#in,#out{display:inline-block; width:calc(50% - 15px); height:600px; background:rgba(42,42,42,0.42); margin: 5px; padding:0px; font-size: 35px;}
#dice{margin: 0px auto; font-size: 72px; text-align: center;}
</style>
<script type="text/javascript">
const conv = { "letters" : { "ᚨ" : "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", "𝔞" : "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", "𝔄" : "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", "𝒶" : "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", "𝒜" : "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" }, "runes" : { "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" : "ᛉ", "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" : "ᛉ" }, "curs" : { "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" : "𝓏", "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" : "𝒵" }, "goth" : { "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" : "𝔷", "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" : "ℨ" } };
const keysList = Object.getOwnPropertyNames(conv).map( x => [ x, 0 ] );
var fixe = [' ','\n','\t',',','.','\'','"','#','!','?','~','1','2','3','4','5','6','7','8','9','0'];
var dice = [ "⚀", "⚁", "⚂", "⚃", "⚄", "⚅" ], other = [ "⚜", "⚢", "💚", "💜" ], v = 0;
function init() { shakeIt( document.getElementById('dice') ); listOpts(); }
function ZhuLi( e ) { var t = '', w = document.getElementById('opt-con-slct').value;
var input = e, output = document.getElementById( ( e.id == "in" ) ? 'out' : 'in' );
for( let i = 0; i < keysList.length; ++i){ keysList[i][1] = 0; }
for( var i = 0; i < 10; ++i ) { t = input.value[ Math.floor( Math.random() * input.value.length ) ];
for( var j = 0; j < keysList.length; ++j ) { if( conv[keysList[j][0]][t] !== undefined ) { keysList[j][1]+=1; } else { /*console.log(t + " is not in " + keys[j][0]);*/ } }
} for(var i=0;i<keysList.length;++i){if(keysList[i][1]>keysList[w][1]){w=i;}} output.value = ""; //console.log(keys); console.log(w);
for( var i = 0; i < input.value.length; ++i ) {
if ( fixe.includes( input.value[ i ] ) ) { output.value += input.value[ i ]; }
else if ( conv[ keysList[ w ][ 0 ] ][ e.value[ i ] ] !== undefined) {
output.value += conv[ keysList[ w ][ 0 ] ][ e.value[ i ] ];
} else { output.value += input.value[ i ]; }
}
}
function listOpts() { let choiceStr = '<select name="opt-con" id="opt-con-slct">';
for( let i = 1; i < keysList.length; ++i ){ choiceStr += '<option value="' + i + '">' + keysList[i][0] + '</option>'; }
document.getElementById("slctDiv").innerHTML = choiceStr + '</select>';
}
function shakeIt( it ) { v = Math.floor( Math.random() * 6 ); it.innerHTML = dice[ v ]; /*setTimeout( shakeIt, 1000, it );*/ }
</script>
</head>
<body onload="init();">
<textarea id="in" oninput="ZhuLi( this );"></textarea><textarea id="out" oninput="ZhuLi( this );"></textarea>
<div id="slctDiv" style="text-align: center;"></div>
<div id="dice" style="font-size: 72px;" onclick="shakeIt(this)">⚅</div>
<!-- (function(){ var d = [ '⚀', '⚁', '⚂', '⚃', '⚄', '⚅' ]; this.innerHTML = d[ Math.floor( Math.random() * 6 ) ]; })(); -->
</body>
</html>