tonismos.html

Ο παρακάτω κώδικας μπορεί να αποθηκευτεί σαν αρχείο html στον τοπικό υπολογιστή και να ανοιχτεί τοπικά με περιηγητή ιστοσελίδων. Δημιουργεί τονισμένα γράμματα.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
        <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
        <TITLE></TITLE>
        <META NAME="AUTHOR" CONTENT="Ηλιάδης Ηλίας">
        <META NAME="CREATED" CONTENT="20140101;000000">       
        <META NAME="ABOUT" CONTENT="Generate greek accented letters plus stub articles for el and cs wiktionary.org"> 
        <META NAME="LICENSE" CONTENT="Κοινό κτήμα (Public Domain)"> 
        <META NAME="VERSION" CONTENT="0.1.4"> 
<STYLE TYPE="text/css">
p   { font-size: 150%; }
.theletter  { font-size: 400%; font-weight: bold; text-align: center; color: black;}
.theerror   { font-size: 400%; font-weight: bold; text-align: center; color: red;}
.thelemma   { text-align:left;} 
.allletters { font-size: 100%;}   
.myversion { font-size: 80%;}   
        </STYLE>

<script LANGUAGE="JavaScript1.2" > 
//<!-- hide script from older browsers
//Συνάρτηση που φορτώνει και τον κώδικα js.
function reset_page()//for testing from clear
 {
  document.location.reload("location?type=<%=USER_TYPE%>");
 }

var ypogegrammenh = 0;
var dialytika = 0;
var gramma = 1;
var pneyma = 0;
var tonos = 0;
var kefalaio = false;

var unaccented = new Array();
unaccented[1] = new Array();
unaccented[2] = new Array();
unaccented[3] = new Array();
unaccented[4] = new Array();
unaccented[5] = new Array();
unaccented[6] = new Array();
unaccented[7] = new Array();
unaccented[8] = new Array();
unaccented[1][0]='\u03b1';//α
unaccented[1][1]='\u0391';//Α
unaccented[2][0]='\u03b5';//ε
unaccented[2][1]='\u0395';//Ε
unaccented[3][0]='\u03b7';//η
unaccented[3][1]='\u0397';//Η
unaccented[4][0]='\u03b9';//ι
unaccented[4][1]='\u0399';//Ι
unaccented[5][0]='\u03bf';//ο
unaccented[5][1]='\u039f';//Ο
unaccented[6][0]='\u03c5';//υ
unaccented[6][1]='\u03a5';//Υ
unaccented[7][0]='\u03c9';//ω
unaccented[7][1]='\u03a9';//Ω
unaccented[8][0]='\u03c1';//ρ
unaccented[8][1]='\u03a1';//Ρ

var Spsili = '\u0313';
var Sdaseia = '\u0314';
var Sokseia = '\u0301';
var Sbareia = '\u0300';
var Sperispomeni = '\u0342';
var Sdialytika = '\u0308';
var Sypogegrammenh = '\u0345';

var Spneyma = new Array();
Spneyma[0] = '';
Spneyma[1] = Spsili;
Spneyma[2] = Sdaseia;
var Stonos = new Array();
Stonos[0] = '';
Stonos[1] = Sokseia;
Stonos[2] = Sbareia;
Stonos[3] = Sperispomeni;

function setatstart(poio){
    var aboutstr = "Έκδοση:"
     + document.querySelector('meta[name="VERSION"]').getAttribute("CONTENT")
     + ", Άδεια:"
     + document.querySelector('meta[name="LICENSE"]').getAttribute("CONTENT")
     + ", Δημιουργός:"
     + document.querySelector('meta[name="AUTHOR"]').getAttribute("CONTENT")

    document.getElementById("versionetc").innerHTML = aboutstr
    document.getElementById("optionletters").innerHTML = '<input name="γράμμα" value="1" type="radio" onClick = "setit(this)" CHECKED> α, '
    for (var i=2; i <= 8; i++){
        document.getElementById("optionletters").innerHTML = document.getElementById("optionletters").innerHTML + '<input name="γράμμα" value="'+i+'" type="radio" onClick = "setit(this)">'+unaccented[i][0]+', ';//accented[i][0]
    }
    setit(poio);
}

function setit(poio){
    if (poio.name == 'υπογεγραμμένη'){ypogegrammenh = poio.checked?1:0 ;}
    if (poio.name == 'διαλυτικά'){ dialytika = poio.checked?1:0 ;}
    if (poio.name == 'γράμμα'){ gramma = parseInt(poio.value);}
    if (poio.name == 'πνεύμα'){ pneyma = parseInt(poio.value);}
    if (poio.name == 'τόνος'){ tonos = parseInt(poio.value);}
    if (poio.name == 'κεφαλαίο'){ kefalaio = poio.checked;}
    showletter();
}

function showletter(){
    var capital = kefalaio?1:0;
    var str1 = unaccented[gramma][capital];
    if (dialytika==1){str1 += Sdialytika;}
    var str2 = Stonos[tonos];
    var str3 = Spneyma[pneyma];
    
    str1 += str3 + str2;
    if (ypogegrammenh == 1){str1 += Sypogegrammenh;}
    

    var str8 = str1.normalize('NFKC');
    if (str8.length == 1 ){
        document.getElementById("showtimeid").setAttribute('class','theletter');
        document.getElementById("resulttext").innerHTML = '';
        document.getElementById('copybutton').style.visibility = "visible";
    }
    else{
        document.getElementById("showtimeid").setAttribute('class','theerror');
        document.getElementById('copybutton').style.visibility = "hidden";
        document.getElementById("resulttext").innerHTML = 'Δεν υπάρχει τέτοιος χαρακτήρας!';
    }        
    document.getElementById("showtimeid").innerHTML=  str8;
}

function copyresult()
{
  if (document.selection) { // IE
    var range = document.body.createTextRange();
    range.moveToElementText(document.getElementById("showtimeid"));
    range.select();
  } else if (window.getSelection) {
    var range = document.createRange();
    range.selectNode(document.getElementById("showtimeid"));
    window.getSelection().removeAllRanges();
    window.getSelection().addRange(range);
  }
  document.execCommand("copy");
  if (document.selection)
        {
            document.selection.empty();
            obj.blur();
        }
        else
        {
            window.getSelection().removeAllRanges();
        }
    document.getElementById('copybutton').style.visibility = "hidden";
    document.getElementById("resulttext").innerHTML = 'Αντιγράφτηκε στο πρόχειρο.';
} //end function

//      -->
</script> 
        </HEAD>
<BODY LANG="el-GR" DIR="LTR" onLoad = "setatstart(this)">
<input type="button" value="Νέο"  onClick = "reset_page()" />
<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=2 BORDER='1'>
        <TR VALIGN=CENTER>
                <TD WIDTH=100% COLSPAN=4>
                <center>Δημιουργία τονισμένων</center>
                </TD>
        </TR>
        <TR VALIGN=CENTER>
                <TD WIDTH=50% id="optionletters">
                        <input id="gr1" name="γράμμα" value="1" type="radio" onClick = "setit(this)" CHECKED>α, 
                </TD>
                <TD WIDTH=20% COLSPAN=2>
                    <P ALIGN=LEFT id="allaccentedid" class = "allletters"><input name="κεφαλαίο" type="checkbox" onClick = "setit(this)">Κεφαλαίο</p>
                </TD>
                <TD ROWSPAN=3 WIDTH=30%>
                        <P ALIGN=CENTER name="theletter" id="showtimeid" class="theletter">α</P>              
                </TD>
        </TR>
        <TR>
                <TD WIDTH=70% COLSPAN=3>
                        <input name="πνεύμα" value="0" type="radio" onClick = "setit(this)" CHECKED>Χωρίς πνεύμα  
                        <input name="πνεύμα" value="1" type="radio" onClick = "setit(this)">Ψιλή (᾿)  
                        <input name="πνεύμα" value="2" type="radio" onClick = "setit(this)">Δασεία (῾)  
                </TD>
                <TD WIDTH=25%>
                </TD>
        </TR>
        <TR>
                <TD WIDTH=70% COLSPAN=3>
                        <input name="τόνος" value="0" type="radio" onClick = "setit(this)" CHECKED>Χωρίς τόνο  
                        <input name="τόνος" value="1" type="radio" onClick = "setit(this)">Οξεία (´)  
                        <input name="τόνος" value="2" type="radio" onClick = "setit(this)">Βαρεία (`)  
                        <input name="τόνος" value="3" type="radio" onClick = "setit(this)">Περισπωμένη (῀)  
                </TD>
        </TR>
        <TR>
                <TD WIDTH=70% COLSPAN=3>
                        <input name="διαλυτικά" type="checkbox" onClick = "setit(this)">Διαλυτικά ( ̈)  
                        <input name="υπογεγραμμένη" type="checkbox" onClick = "setit(this)">Υπογεγραμμένη (ͺ)  
                </TD>
                <TD>
                      <center><button id="copybutton" onclick="copyresult()">Αντιγραφή</button></center>
                      <p id="resulttext" ></p>  
                </TD>
        </TR>
</TABLE>
<div><p id="versionetc" class="myversion">v.</p></div>
</BODY>
</HTML>