
if(!document.getElementById){location.href="sorry.htm"}

var re
var onechar = "Y"
var revisedstring
var markgroup =""
var markflag=0
var z =-1
var isNav = (navigator.appName.indexOf("Netscape") !=-1);
var gsize$ = "16"
var twidth$ = "600"
var fface$ = "Alkaios, Palatino Linotype, Gentium, Hindsight Unicode Regular, Galilee Unicode Gk, Galatia SIL, New Athena Unicode, Aristarcoj, Cardo,Vusillus Old Face,Arial Unicode MS,Georgia Greek,Code2000,TITUS Cyberbit Basic,Aisa Unicode,Lucida Sans Unicode";
var bgcolor$ = "transparent"
var fgcolor$ = "black"
var current = "pianodiv"
var def$
var helptemp=""
var chartstring=""
var alphastring
var beta$
var oldimage = "b2"
var dropmaker$ = ""
var currtype = "isbeta"
var drop
var scrollwhere
var clearholder

var newcarray = new Array()
var decnum
var dropstring = new Array()
var dropcharsnumber = new Array()
var locnum
var notransparentoption="off"
var stayvisible="false"
var spaceadded
var younicodetest=""


function stopError() {
  return true;
}

window.onerror = stopError;


function initialize(){
showcodelines()
drop = document.getElementById('dropalpha')
help = document.getElementById('helpdiv')
from = document.getElementById('from')
document.getElementById("menuholder").innerHTML=displayopts2$
drop.onmouseout=closeMenu
selectfont()
from.value="*peiqou=s i(sto/s"
activep('b2')

}


function postit(){

document.convertform.BGColorName.value = bgcolor$
document.convertform.FColorName.value = fgcolor$
document.convertform.s.value = gsize$
document.convertform.wrappos.value = twidth$


if (currtype=="isgrk"){
document.convertform.to.value = todec(from.value)
}else{
document.convertform.to.value = from.value
}

document.convertform.submit()
}

function activep(i){
document.getElementById(oldimage).className = "menuItem";
document.getElementById(i).className = "activeItem";
oldimage=i
}


function dropalpha(locnum,num){

if (dropcharsnumber[num] < 3){
document.getElementById("dropalpha").style.width= "1em"
}else{
document.getElementById("dropalpha").style.width= "160px"
}

drop.innerHTML = dropstring[num]
drop.style.visibility = 'visible'
drop.style.top = findPosY(document.getElementById(locnum))
drop.style.left =findPosX(document.getElementById(locnum))

}


//close menu function adapted from http://javascriptkit.com/dhtmltutors/domeventp2-4.shtml
function closeMenu(event){
  var current, related;
  if (window.event){
    current = this;
    related = window.event.toElement;
  }else {
    current = event.currentTarget;
    related = event.relatedTarget;
  }


if (related && related.id=="pianokeys"){
    drop.style.visibility = "hidden";
}
}

//findPosY and findPosX functions are from a Quirksmode tutorial
function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}


function makeopts(opts$,whichpick){
	var optsray=opts$.split("*")
	var tempopts$=""
	for (i=1; i< optsray.length; i++) {

	if (optsray[i]=="transparent" && notransparentoption=="off"){
		notransparentoption="on"
		continue		
	}

	S$="<option value='" + optsray[i] + "'>" + optsray[i]

		

	tempopts$+=S$
	}
	tempopts$+="</select>"
	return tempopts$
}

function clearsafer(){

if (from.value!=""){
clearholder = from.value
from.value=""
}else{
from.value=clearholder
}
}

function selectfont(){
$fface=document.convertform.fontname.value + "," + fface$
from.style.fontFamily= $fface 
document.getElementById('dropalpha').style.fontFamily= $fface
document.getElementById('pianokeys').style.fontFamily=$fface

}



function settabgcolor(whatcolor){
bgcolor$ = whatcolor
from.style.backgroundColor = whatcolor

}

function setwidth(whatwidth){
twidth$=whatwidth
whatwidth = whatwidth + "px"
from.style.width = whatwidth
}

function setfgcolor(whatcolor){
fgcolor$=whatcolor
from.style.color = whatcolor
}

function setfontsize(){
var yoursize = gsize$.toString() + "pt"
from.style.fontSize = yoursize
from.style.fontSize=yoursize
}



function togreek(testtext){

testtext = testtext.replace("&#59;",";")

for (var i = 0; i < newcarray.length; i++){
	anarray = testtext.split(newcarray[i].dechtml)
	testtext = anarray.join(newcarray[i].gchar)
}

testtext=loopthrough(testtext)

var notsubset = "(?=[^\)|\(|\\\\|\+|=|/|\||0-9])"
var tobereplaced=""



for (var i = 146; i < newcarray.length; i++){

var regbeta = newcarray[i].regbeta

  if(regbeta.charCodeAt(0)=="42"){
	tobereplaced = new RegExp("\\*" + regbeta.substr(1),"gi")
  }else{
	tobereplaced = new RegExp(regbeta,"gi")
	
  }
  testtext = testtext.replace(tobereplaced,newcarray[i].gchar)

}

for (var i = 0; i < 146; i++){
var regbeta = newcarray[i].regbeta

if(regbeta.charCodeAt(0)!="42"){

tobereplaced = new RegExp(regbeta+notsubset,"gi")
testtext = testtext.replace(tobereplaced,newcarray[i].gchar)
  }
}

currtype="isgrk"

return testtext;
}


function loopthrough(passedstring){
if (passedstring.charCodeAt(passedstring.length-1)!=32){
passedstring += " "
}

var capchar = null
revisedstring=""
var capnext =0
var n

passedstring=passedstring.replace(/s1/gi, String.fromCharCode(963))
passedstring=passedstring.replace(/s2/gi, String.fromCharCode(962))
//passedstring=passedstring.replace(/\*s/g, String.fromCharCode(931))
//passedstring=passedstring.replace(/s([\n|\r|^|.|#|,|;|:|"|-|&|$| ])/g, String.fromCharCode(962) + "$1")

passedstring=passedstring.replace(/s(?![a-z|'])/g, String.fromCharCode(962))

for (var i = 0; i < passedstring.length; i++){
	onechar = passedstring.charAt(i)

	if ("\\()+=|/".indexOf(onechar) > -1){
		markgroup += onechar
	}else{
	domark()
	revisedstring+=onechar

	}
}

return revisedstring
}


function domark(){
if (markgroup.length > 0){
var tosort = markgroup.split("")
tosort = tosort.sort()
revisedstring += tosort.join("")
markgroup=""
}

}


function buildArray() {
	var a = buildArray.arguments;
	for (i=0; i<a.length; i++) {
	this[i] = a[i];
	}
	this.length = a.length;
}


function setchartfont(){
 if (document.getElementById && document.createTextNode){
   var tds=document.getElementsByTagName('TD');
      for (var i=0;i<tds.length;i++){
          if(tds[i].className=='gchar'){
          	tds[i].style.fontFamily=$fface
	  }

      }
 }
}


function todec(testtext){
testtext=togreek(testtext)

tobereplaced = new RegExp("(?!\d);","gi")
testtext = testtext.replace(tobereplaced,"&#59;")

//testtext = testtext.replace("&#59;",",")



 for (var i = 0; i < newcarray.length; i++){
  anarray = testtext.split(newcarray[i].gchar)
  testtext = anarray.join(newcarray[i].dechtml)
 }
currtype="isdec"
return testtext;
}


function tobeta(testtext){
testtext=togreek(testtext)


for (var i = 0; i < newcarray.length; i++){
	anarray = testtext.split(newcarray[i].gchar)
	testtext = anarray.join(newcarray[i].beta$)
}


currtype = "isbeta"	
return testtext;


}

function printgreek(){
helptemp = document.getElementById("helpdiv").innerHTML

chartstring = "<p><a href=\"javascript:void(document.getElementById('helpdiv').innerHTML=helptemp);void(scrollTo(0,scrollwhere))\">Close Character Chart</a></p>"
chartstring += "<p class='def'>Official Betacode is all upper case. This is Perseus style.</p>"
chartstring +="<TABLE WIDTH=600>"
chartstring += "<TD class='ghead'>Greek</TD>\n"
chartstring += "<TD class='beta'>Betacode</TD>\n"
chartstring += "<TD class='dec'>Decimal</TD>\n"
chartstring += "<TD class='hex'>Hex</TD>\n"
chartstring += "<TD class='def'>Decription</TD></TR>\n"

for (var i = 0; i < newcarray.length; i++){
    chartstring += "<TR><TD class='gchar'>" + newcarray[i].dechtml + "</TD>\n"
    chartstring += "<TD class='beta'>" + newcarray[i].beta$ + "</TD>\n"
    chartstring += "<TD class='dec'>" + newcarray[i].decnum + "</TD>\n"
    chartstring += "<TD class='hex'>" + newcarray[i].hexnum + "</TD>\n"
    chartstring += "<TD class='def'>" + newcarray[i].def + "</TD></TR>\n"
}
chartstring+= "</TABLE>"


document.getElementById("helpdiv").innerHTML= chartstring
setchartfont()

winloc = findPosY(document.getElementById("helpdiv"))
scrollTo(0,winloc)

}

function addchar(passedstring){
var work$

if (parseInt(passedstring) > -1){
switch(currtype){
 case "isgrk":
  work$ = String.fromCharCode(newcarray[passedstring].decnum)

  if (newcarray[passedstring].beta$==";"){
    work$ = ";"
  }

  break
 case "ishex":
  work$ = newcarray[passedstring].hexhtml

  break
 case "isdec":
  work$ = newcarray[passedstring].dechtml

  if (newcarray[passedstring].beta$==";"){
    work$ = "&#59;"
  }

  break
 case "isbeta":
  work$ = newcarray[passedstring].beta$
 }
}else{
  work$ = passedstring
}






from.value += work$
drop.style.visibility = 'hidden'
}

var coloropt$ = "*aliceblue*antiquewhite*aqua*aquamarine*azure*beige*bisque*black*"
coloropt$+="blanchedalmond*blue*blueviolet*brown*burlywood*cadetblue*chartreuse*"
coloropt$+="chocolate*coral*cornflowerblue*cornsilk*crimson*cyan*darkblue*darkcyan*"
coloropt$+="darkgoldenrod*darkgray*darkgreen*darkkhaki*darkmagenta*darkolivegreen*"
coloropt$+="darkorange*darkorchid*darkred*darksalmon*darkseagreen*darkslateblue*"
coloropt$+="darkslategray*darkturquoise*deeppink*deepskyblue*dimgray*dodgerblue*"
coloropt$+="firebrick*floralwhite*forestgreen*fuchsia*gainsboro*ghostwhite*gold*"
coloropt$+="goldenrod*gray*green*greenyellow*honeydew*hotpink*indianred*indigo*"
coloropt$+="ivory*khaki*lavender*lavenderblush*lawngreen*lemonchiffon*lightblue*"
coloropt$+="lightcoral*lightcyan*lightgoldenrodyellow*lightgreen*lightgrey*lightpink*"
coloropt$+="lightsalmon*lightseagreen*lightskyblue*lightslategray*lightsteelblue*"
coloropt$+="lightyellow*lime*limegreen*linen*magenta*maroon*mediumaquamarine*"
coloropt$+="mediumblue*mediumorchid*mediumpurple*mediumseagreen*mediumslateblue*"
coloropt$+="mediumspringgreen*mediumturquoise*mediumvioletred*midnightblue*mintcream*"
coloropt$+="mistyrose*moccasin*navajowhite*navy*oldlace*olive*olivedrab*orange*orangered*"
coloropt$+="orchid*palegoldenrod*palegreen*paleturquoise*palevioletred*papayawhip*"
coloropt$+="peachpuff*peru*pink*plum*powderblue*purple*red*rosybrown*royalblue*"
coloropt$+="saddlebrown*salmon*sandybrown*seagreen*seashell*sienna*silver*skyblue*"
coloropt$+="slateblue*slategray*snow*springgreen*steelblue*tan*teal*thistle*tomato*transparent*"
coloropt$+="turquoise*violet*wheat*white*whitesmoke*yellow*yellowgreen" 

var displayopts2$="<table id='myMenu' class='menu' style='position:relative;visibility:visible;cell-spacing:0px'>"
displayopts2$+="<tr>"
displayopts2$+="<TD>"
displayopts2$+="<select class='styleoption' name='fontname' onchange='selectfont()'>"
displayopts2$+="<option selected  value='Galatia SIL'>Lead Greek CSS Font</option>"
displayopts2$+="<option value='Hindsight Unicode'>Hindsight Regular</option>"
displayopts2$+="<option value='Cardo'>Cardo</option>"
displayopts2$+="<option value='Aristarcoj'>Aristarchoj</option>"
displayopts2$+="<option value='Palatino Linotype'>Palatino Linotype</option>"
displayopts2$+="<option value='Galatia SIL'>Galatia SIL</option>"
displayopts2$+="<option value='Alkaios'>Alkaios</option>"
displayopts2$+="<option value='Gentium'>Gentium</option>"
displayopts2$+="<option value='Galilee Unicode Gk'>Galilee Unicode Gk</option>"
displayopts2$+="<option value='New Athena Unicode'>New Athena Unicode</option>"
displayopts2$+="<option value='Titus CyberBit Basic'>Titus CyberBit Basic</option>"
displayopts2$+="</select>"
displayopts2$+="</td>"
displayopts2$+="<TD>"
displayopts2$+="<select class='styleoption' NAME='grksize' size='1' onChange='gsize$=this[this.selectedIndex].value; setfontsize()'>"
displayopts2$+="<option selected value='14'>Size"
displayopts2$+= makeopts("6*7*8*9*10*11*12*13*14*16*18*19*20*21*22*24*26*28*30*35*40*60*80*200",gsize$)
displayopts2$+="</TD>"
displayopts2$+="<td>"
displayopts2$+="<select class='styleoption' NAME='fgcolor' size='1' onChange='setfgcolor(this[this.selectedIndex].value)'>"
displayopts2$+="<option>Color"
displayopts2$+=makeopts(coloropt$, fgcolor$)
displayopts2$+="</td>"
displayopts2$+="<td>"
displayopts2$+="<select class='styleoption' NAME='bgcolor' size='1' onChange='settabgcolor(this[this.selectedIndex].value)'>"
displayopts2$+="<option selected value='transparent'>Background Color"
displayopts2$+=makeopts(coloropt$, bgcolor$)
displayopts2$+="</td>"
displayopts2$+="<TD>"
displayopts2$+="<select class='styleoption' NAME='bwidth' size='1' onChange='setwidth(this[this.selectedIndex].value)'>"
displayopts2$+="<option selected value='600'>Width"
displayopts2$+=makeopts('50*100*150*200*250*300*350*400*450*500*550*600*650*700*750*1000','none')
displayopts2$+="</TD>"
displayopts2$+="</tr>"
displayopts2$+="</table>"


var prefilter = new buildArray(
"&nbsp;*^1",
"%13*&#8225;",
"%*&#8224;",
"<BR>*^3",
"<br>*^3",
"_lpar;*^4",
"_rpar;*^5"
);


var postfilter = new buildArray(
"^1* ",
"^2*  ",
"^3*<br>",
"^4*(",
"^5*)"
);


function newchardat(regbeta,gchar,beta$,decnum,dechtml,def){
var hexnum
	this.regbeta = regbeta
	this.gchar = gchar
        this.beta$ = beta$
	this.decnum = decnum
	this.dechtml= dechtml
	hexnum = parseInt(this.decnum).toString(16)
	while (hexnum.length <4){
		hexnum= "0" + hexnum
	}
	this.hexnum=hexnum
	this.hexhtml="&#x" + hexnum + ";"


	this.def= def
}


function showcodelines(){
var j = -1
var k = 1
dropmaker$=""

for (var i = 0; i < greekcodes.length; i++){
  onechararray= greekcodes[i].split("~")

  younicodetest += String.fromCharCode(onechararray[1]) + " "


  var dec
   if (parseInt(onechararray[1]) > 0){
    dec =   "&#" + onechararray[1] + ";"
   }else{
    dec = onechararray[2]
   }

  var gcharfilter
   if (parseInt(onechararray[1]) > 0){
    gcharfilter = String.fromCharCode(onechararray[1])
   }else{
    gcharfilter = onechararray[2]
   }

  newcarray[i] = new newchardat(onechararray[0],gcharfilter,onechararray[2],onechararray[1],dec,onechararray[3])


  if (newcarray[i].def.indexOf("with") > 0){

  k++
  dropcharsnumber[j] = k 


   thisspan = "<span id='c" + i + "' class='unmoused' onmouseover=\"drop.style.visibility=\'visible\';this.className=\'moused\'\" onmouseout=\"drop.style.visibility=\'visible\';this.className=\'unmoused\'\" onclick='addchar(" + i + ")' TITLE='" + newcarray[i].beta$ + " " + newcarray[i].def + "'>" + newcarray[i].gchar + "</span>" 
    dropstring[j] += thisspan + " "
  }else{

    j++
    k=1
    dropcharsnumber[j] = k
    thisspan = "<span id='c" + i + "' class='mainchar' onmouseover='dropalpha(" + "\"c" + i + "\"," + j + ")' onclick='addchar(" + i + ")' TITLE='" + newcarray[i].beta$ + " " + newcarray[i].def + "'>" + newcarray[i].gchar + "</span>" 


    thisspan2 = "<span class='mainchar' onmouseover=\"drop.style.visibility=\'visible\';this.className=\'moused\'\" onmouseout=\"drop.style.visibility=\'visible\';this.className=\'unmoused\'\" onclick='addchar(" + i + ")' TITLE='" + newcarray[i].beta$ + " " + newcarray[i].def + "'>" + newcarray[i].gchar + "</span>"

    dropstring[j] = thisspan2 + " "
    dropmaker$+=thisspan + " "

    if (newcarray[i].beta$ == "w" || newcarray[i].beta$ == "*w"){
	    dropmaker$+="&nbsp;&nbsp;"
    }


    if (newcarray[i].beta$ == "#5"|| newcarray[i].beta$ == "*#5"){
	    dropmaker$+="<br><br>"

	   //if(newcarray[i].beta$ == "*#5"){
	   // dropmaker$+="<span class='mainchar' onmouseover=\"this.style.border='1px solid #800000';this.className=\'moused\'\" onmouseout=\"this.style.border='none';this.className=\'unmoused\'\" onclick=\"from.value+=';'\" TITLE='; Greek Question Mark, same as semicolon'>; </span>"
           // }
    }


  }
}


}



var greekcodes = new buildArray(
"a~945~a~Greek small letter ALPHA.",
"a\\(~7937~a(~Greek small letter ALPHA with rough breathing.",
"a\\)~7936~a)~Greek small letter ALPHA with smooth breathing.",
"a/~8049~a/~Greek small letter ALPHA with acute accent.",
"a\\\\~8048~a\\~Greek small letter ALPHA with grave accent.",
"a=~8118~a=~Greek small letter ALPHA with circumflex accent.",
"a\\(=~7943~a(=~Greek small letter ALPHA with rough breathing and circumflex accent.",
"a\\)=~7942~a)=~Greek small letter ALPHA with smooth breathing and circumflex accent.",
"a\\(/~7941~a(/~Greek small letter ALPHA with rough breathing and acute accent.",
"a\\)/~7940~a)/~Greek small letter ALPHA with smooth breathing and acute accent.",
"a\\(\\\\~7939~a(\\~Greek small letter ALPHA with rough breathing and grave accent.",
"a\\)\\\\~7938~a)\\~Greek small letter ALPHA with smooth breathing and grave accent.",
"a\\|~8115~a|~Greek small letter ALPHA with iota subscript.",
"a=\\|~8119~a=|~Greek small letter ALPHA with circumflex accent and iota subscript.",
"a\\\\\\|~8114~a\\|~Greek small letter ALPHA with grave accent and iota subscript.",
"a/\\|~8116~a/|~Greek small letter ALPHA with acute accent and iota subscript.",
"a\\(\\|~8065~a(|~Greek small letter ALPHA with rough breathing and iota subscript.",
"a\\)\\|~8064~a)|~Greek small letter ALPHA with smooth breathing and iota subscript.",
"a\\(=\\|~8071~a(=|~Greek small letter ALPHA with rough breathing and circumflex accent and iota subscript.",
"a\\)=\\|~8070~a)=|~Greek small letter ALPHA with smooth breathing and circumflex accent and iota subscript.",
"a\\(/\\|~8069~a(/|~Greek small letter ALPHA with rough breathing and acute accent and iota subscript.",
"a\\)/\\|~8068~a)/|~Greek small letter ALPHA with smooth breathing and acute accent and iota subscript.",
"a\\(\\\\\\|~8067~a(\\|~Greek small letter ALPHA with rough breathing and grave accent and iota subscript.",
"a\\)\\\\\\|~8066~a)\\|~Greek small letter ALPHA with smooth breathing and grave accent and iota subscript.",
"b~946~b~Greek small letter BETA.",
"g~947~g~Greek small letter GAMMA.",
"d~948~d~Greek small letter DELTA.",
"e~949~e~Greek small letter EPSILON.",
"e\\(~7953~e(~Greek small letter EPSILON with rough breathing.",
"e\\)~7952~e)~Greek small letter EPSILON with smooth breathing.",
"e/~8051~e/~Greek small letter EPSILON with acute accent.",
"e\\\\~8050~e\\~Greek small letter EPSILON with grave accent.",
"e\\(/~7957~e(/~Greek small letter EPSILON with rough breathing and acute accent.",
"e\\)/~7956~e)/~Greek small letter EPSILON with smooth breathing and acute accent.",
"e\\(\\\\~7955~e(\\~Greek small letter EPSILON with rough breathing and grave accent.",
"e\\)\\\\~7954~e)\\~Greek small letter EPSILON with smooth breathing and grave accent.",
"z~950~z~Greek small letter ZETA.",
"h~951~h~Greek small letter ETA.",
"h=~8134~h=~Greek small letter ETA with circumflex accent.",
"h\\|~8131~h|~Greek small letter ETA with iota subscript.",
"h\\(~7969~h(~Greek small letter ETA with rough breathing.",
"h\\)~7968~h)~Greek small letter ETA with smooth breathing.",
"h/~8053~h/~Greek small letter ETA with acute accent.",
"h\\\\~8052~h\\~Greek small letter ETA with grave accent.",
"h\\(\\|~8081~h(|~Greek small letter ETA with rough breathing and iota subscript.",
"h\\)\\|~8080~h)|~Greek small letter ETA with smooth breathing and iota subscript.",
"h=\\|~8135~h=|~Greek small letter ETA with circumflex accent and iota subscript.",
"h/\\|~8132~h/|~Greek small letter ETA with acute accent and iota subscript.",
"h\\(=~7975~h(=~Greek small letter ETA with rough breathing and circumflex accent.",
"h\\)=~7974~h)=~Greek small letter ETA with smooth breathing and circumflex accent.",
"h\\(/~7973~h(/~Greek small letter ETA with rough breathing and acute accent.",
"h\\)/~7972~h)/~Greek small letter ETA with smooth breathing and acute accent.",
"h\\(\\\\~7971~h(\\~Greek small letter ETA with rough breathing and grave accent.",
"h\\)\\\\~7970~h)\\~Greek small letter ETA with smooth breathing and grave accent.",
"h\\\\\\|~8130~h\\|~Greek small letter ETA with grave accent and iota subscript.",
"h\\(=\\|~8087~h(=|~Greek small letter ETA with rough breathing and circumflex accent and iota subscript.",
"h\\)=\\|~8086~h)=|~Greek small letter ETA with smooth breathing and circumflex accent and iota subscript.",
"h\\(/\\|~8085~h(/|~Greek small letter ETA with rough breathing and acute accent and iota subscript.",
"h\\)/\\|~8084~h)/|~Greek small letter ETA with smooth breathing and acute accent and iota subscript.",
"h\\(\\\\\\|~8083~h(\\|~Greek small letter ETA with rough breathing and grave accent and iota subscript.",
"h\\)\\\\\\|~8082~h)\\|~Greek small letter ALPHA with smooth breathing and grave accent and iota subscript.",
"q~952~q~Greek small letter THETA.",
"i~953~i~Greek small letter IOTA.",
"i\\(~7985~i(~Greek small letter IOTA with rough breathing.",
"i\\)~7984~i)~Greek small letter IOTA with smooth breathing.",
"i/~8055~i/~Greek small letter IOTA with acute accent.",
"i\\\\~8054~i\\~Greek small letter IOTA with grave accent.",
"i\\+~970~i+~Greek small letter IOTA with diaeresis.",
"i=~8150~i=~Greek small letter IOTA with circumflex accent.",
"i\\+=~8151~i+=~Greek small letter IOTA with diaeresis and circumflex accent.",
"i\\+/~8147~i/+~Greek small letter IOTA and acute accent with diaeresis.",
"i\\+\\\\~8146~i\\+~Greek small letter IOTA with grave accent and diaeresis.",
"i\\(=~7991~i(=~Greek small letter IOTA with rough breathing and circumflex accent.",
"i\\)=~7990~i)=~Greek small letter IOTA with smooth breathing and circumflex accent.",
"i\\(/~7989~i(/~Greek small letter IOTA with rough breathing and acute accent.",
"i\\)/~7988~i)/~Greek small letter IOTA with smooth breathing and acute accent.",
"i\\(\\\\~7987~i(\\~Greek small letter IOTA with rough breathing and grave accent.",
"i\\)\\\\~7986~i)\\~Greek small letter IOTA with smooth breathing and grave accent.",
"k~954~k~Greek small letter KAPPA.",
"l~955~l~Greek small letter LAMBDA.",
"m~956~m~Greek small letter MU.",
"n~957~n~Greek small letter NU.",
"c~958~c~Greek small letter XI.",
"o~959~o~Greek small letter OMICRON.",
"o\\(~8001~o(~Greek small letter OMICRON with rough breathing.",
"o\\)~8000~o)~Greek small letter OMICRON with smooth breathing.",
"o/~8057~o/~Greek small letter OMICRON with acute accent.",
"o\\\\~8056~o\\~Greek small letter OMICRON with grave accent.",
"o\\(/~8005~o(/~Greek small letter OMICRON with rough breathing and acute accent.",
"o\\)/~8004~o)/~Greek small letter OMICRON with smooth breathing and acute accent.",
"o\\(\\\\~8003~o(\\~Greek small letter OMICRON with rough breathing and grave accent.",
"o\\)\\\\~8002~o)\\~Greek small letter OMICRON with smooth breathing and grave accent.",
"p~960~p~Greek small letter PI.",
"r~961~r~Greek small letter RHO.",
"r\\(~8165~r(~Greek small letter RHO with rough breathing.",
"r\\)~8164~r)~Greek small letter RHO with smooth breathing.",
"s(?![\\n|\\r|^|.|,|;|:|\"|-|&|$| ])~963~s~Greek small letter SIGMA. S1 forces a medial sigma.",
"s~962~s~Greek small letter final SIGMA. Force final sigma with S2.",
"t~964~t~Greek small letter TAU.",
"u~965~u~Greek small letter UPSILON.",
"u\\\\~8058~u\\~Greek small letter UPSILON with grave accent.",
"u/~8059~u/~Greek small letter UPSILON with acute accent.",
"u\\(~8017~u(~Greek small letter UPSILON with rough breathing.",
"u\\)~8016~u)~Greek small letter UPSILON with smooth breathing.",
"u\\+~971~u+~Greek small letter UPSILON with diaeresis.",
"u=~8166~u=~Greek small letter UPSILON with circumflex accent.",
"u\\+=~8167~u+=~Greek small letter UPSILON with diaeresis and circumflex accent.",
"u\\+/~8163~u/+~Greek small letter UPSILON and acute accent with diaeresis.",
"u\\+\\\\~8162~u\\+~Greek small letter UPSILON with grave accent and diaeresis.",
"u\\(=~8023~u(=~Greek small letter UPSILON with rough breathing and circumflex accent.",
"u\\)=~8022~u)=~Greek small letter UPSILON with smooth breathing and circumflex accent.",
"u\\(/~8021~u(/~Greek small letter UPSILON with rough breathing and acute accent.",
"u\\)/~8020~u)/~Greek small letter UPSILON with smooth breathing and acute accent.",
"u\\(\\\\~8019~u(\\~Greek small letter UPSILON with rough breathing and grave accent.",
"u\\)\\\\~8018~u)\\~Greek small letter UPSILON with smooth breathing and grave accent.",
"f~966~f~Greek small letter PHI.",
"x~967~x~Greek small letter CHI.",
"y~968~y~Greek small letter PSI.",
"w~969~w~Greek small letter OMEGA.",
"w=~8182~w=~Greek small letter OMEGA with circumflex accent.",
"w/~8061~w/~Greek small letter OMEGA with acute accent.",
"w\\\\~8060~w\\~Greek small letter OMEGA with grave accent.",
"w\\|~8179~w|~Greek small letter OMEGA with iota subscript.",
"w\\(~8033~w(~Greek small letter OMEGA with rough breathing.",
"w\\)~8032~w)~Greek small letter OMEGA with smooth breathing.",
"w\\(=~8039~w(=~Greek small letter OMEGA with rough breathing and circumflex accent.",
"w\\)=~8038~w)=~Greek small letter OMEGA with smooth breathing and circumflex accent.",
"w\\(\\|~8097~w(|~Greek small letter OMEGA with rough breathing and iota subscript.",
"w\\)\\|~8096~w)|~Greek small letter OMEGA with smooth breathing and iota subscript.",
"w=\\|~8183~w=|~Greek small letter OMEGA with circumflex accent and iota subscript.",
"w/\\|~8180~w/|~Greek small letter OMEGA with acute accent and iota subscript.",
"w\\(/~8037~w(/~Greek small letter OMEGA with rough breathing and acute accent.",
"w\\)/~8036~w)/~Greek small letter OMEGA with rough breathing and grave accent.",
"w\\(\\\\~8035~w(\\~Greek small letter OMEGA with smooth breathing and grave accent.",
"w\\)\\\\~8034~w)\\~Greek small letter OMEGA with grave accent and iota subscript.",
"w\\\\\\|~8178~w\\|~Greek small letter OMEGA with grave accent and iota subscript.",
"w\\(=\\|~8103~w(=|~Greek small letter OMEGA with rough breathing and circumflex accent and iota subscript.",
"w\\)=\\|~8102~w)=|~Greek small letter OMEGA with smooth breathing and circumflex accent and iota subscript.",
"w\\(/\\|~8101~w(/|~Greek small letter OMEGA with rough breathing and acute accent and iota subscript.",
"w\\)/\\|~8100~w)/|~Greek small letter OMEGA with smooth breathing and acute accent and iota subscript.",
"w\\(\\\\\\|~8099~w(\\|~Greek small letter OMEGA with rough breathing and grave accent and iota subscript.",
"w\\)\\\\\\|~8098~w)\\|~Greek small letter OMEGA with smooth breathing and grave accent and iota subscript.",
"v~989~v~Greek small letter DIGAMMA.",
"#1~991~#1~Greek small letter Koppa.",
"#3~985~#3~Greek small letter Archaic Koppa.",
"#2~987~#2~Greek small letter Stigma.",
"#5~993~#5~Greek small letter Sampi.",
"*a(?!\\|)~913~*a~Greek capital letter ALPHA.",
"*\\(a(?!\\|)~7945~*(a~Greek capital letter ALPHA with rough breathing.",
"*\\)a(?!\\|)~7944~*)a~Greek capital letter ALPHA with smooth breathing.",
"*a\\|~8124~*a|~Greek capital letter ALPHA with iota subscript.",
"*/a(?!\\|)~8123~*/a~Greek capital letter ALPHA with acute accent.",
"*\\\\a(?!\\|)~8122~*\\a~Greek capital letter ALPHA with grave accent.",
"*\\(/a(?!\\|)~7949~*(/a~Greek capital letter ALPHA with rough breathing and acute accent.",
"*\\)/a(?!\\|)~7948~*)/a~Greek capital letter ALPHA with smooth breathing and acute accent.",
"*\\(\\\\a(?!\\|)~7947~*(\\a~Greek capital letter ALPHA with rough breathing and grave accent.",
"*\\)\\\\a(?!\\|)~7946~*)\\a~Greek capital letter ALPHA with smooth breathing and grave accent.",
"*\\(a\\|~8073~*(a|~Greek capital letter ALPHA with rough breathing and iota subscript.",
"*\\)a\\|~8072~*)a|~Greek capital letter ALPHA with smooth breathing and iota subscript.",
"*\\(=a(?!\\|)~7951~*(=a~Greek capital letter ALPHA with rough breathing and circumflex accent.",
"*\\)=a(?!\\|)~7950~*)=a~Greek capital letter ALPHA with smooth breathing and circumflex accent.",
"*\\(=a\\|~8079~*(=a|~Greek capital letter ALPHA with rough breathing and circumflex accent and iota subscript.",
"*\\)=a\\|~8078~*)=a|~Greek capital letter ALPHA with smooth breathing and circumflex accent and iota subscript.",
"*\\(/a\\|~8077~*(/a|~Greek capital letter ALPHA with rough breathing and acute accent and iota subscript.",
"*\\)/a\\|~8076~*)/a|~Greek capital letter ALPHA with smooth breathing and acute accent and iota subscript.",
"*\\(\\\\a\\|~8075~*(\\a|~Greek capital letter ALPHA with rough breathing and grave accent and iota subscript.",
"*\\)\\\\a\\|~8074~*)\\a|~Greek capital letter ALPHA with smooth breathing and grave accent and iota subscript.",
"*b~914~*b~Greek capital letter BETA.",
"*g~915~*g~Greek capital letter GAMMA.",
"*d~916~*d~Greek capital letter DELTA.",
"*e~917~*e~Greek capital letter EPSILON.",
"*/e~8137~*/e~Greek capital letter EPSILON with acute accent.",
"*\\\\e~8136~*\\e~Greek capital letter EPSILON with grave accent.",
"*\\(e~7961~*(e~Greek capital letter EPSILON with rough breathing.",
"*\\)e~7960~*)e~Greek capital letter EPSILON with smooth breathing.",
"*\\(/e~7965~*(/e~Greek capital letter EPSILON with rough breathing and acute accent.",
"*\\)/e~7964~*)/e~Greek capital letter EPSILON with smooth breathing and acute accent.",
"*\\(\\\\e~7963~*(\\e~Greek capital letter EPSILON with rough breathing and grave accent.",
"*\\)\\\\e~7962~*)\\e~Greek capital letter EPSILON with smooth breathing and grave accent.",
"*z~918~*z~Greek capital letter ZETA.",
"*h(?!\\|)~919~*h~Greek capital letter ETA.",
"*\\(h(?!\\|)~7977~*(h~Greek capital letter ETA with rough breathing.",
"*\\)h(?!\\|)~7976~*)h~Greek capital letter ETA with smooth breathing.",
"*h\\|~8140~*h|~Greek capital letter ETA with iota subscript.",
"*/h(?!\\|)~8139~*/h~Greek capital letter ETA with acute accent.",
"*\\\\h(?!\\|)~8138~*\\h~Greek capital letter ETA with grave accent.",
"*\\(h\\|~8089~*(h|~Greek capital letter ETA with rough breathing and iota subscript.",
"*\\)h\\|~8088~*)h|~Greek capital letter ETA with smooth breathing and iota subscript.",
"*\\(=h(?!\\|)~7983~*(=h~Greek capital letter ETA with rough breathing and circumflex accent.",
"*\\)=h(?!\\|)~7982~*)=h~Greek capital letter ETA with smooth breathing and circumflex accent.",
"*\\(/h(?!\\|)~7981~*(/h~Greek capital letter ETA with rough breathing and acute accent.",
"*\\)/h(?!\\|)~7980~*)/h~Greek capital letter ETA with smooth breathing and acute accent.",
"*\\(\\\\h(?!\\|)~7979~*(\\h~Greek capital letter ETA with rough breathing and grave accent.",
"*\\)\\\\h(?!\\|)~7978~*)\\h~Greek capital letter ETA with smooth breathing and grave accent.",
"*\\(/h\\|~8093~*(/h|~Greek capital letter ETA with rough breathing and acute accent and iota subscript.",
"*\\)/h\\|~8092~*)/h|~Greek capital letter ETA with smooth breathing and acute accent and iota subscript.",
"*\\(=h\\|~8095~*(=h|~Greek capital letter ETA with rough breathing and circumflex accent and iota subscript.",
"*\\)=h\\|~8094~*)=h|~Greek capital letter ETA with smooth breathing and circumflex accent and iota subscript.",
"*\\(\\\\h\\|~8091~*(\\h|~Greek capital letter ETA with rough breathing and grave accent and iota subscript.",
"*\\)\\\\h\\|~8090~*)\\h|~Greek capital letter ETA with smooth breathing and grave accent and iota subscript.",
"*q~920~*q~Greek capital letter THETA.",
"*i~921~*i~Greek capital letter IOTA.",
"*\\(i~7993~*(i~Greek capital letter IOTA with rough breathing.",
"*\\)i~7992~*)i~Greek capital letter IOTA with smooth breathing",
"*\\+i~938~*+i~Greek capital letter IOTA with diaeresis.",
"*\\(=i~7999~*(=i~Greek capital letter IOTA with rough breathing and circumflex accent.",
"*\\)=i~7998~*)=i~Greek capital letter IOTA with smooth breathing and circumflex accent.",
"*\\(/i~7997~*(/i~Greek capital letter IOTA with rough breathing and acute accent.",
"*\\)/i~7996~*)/i~Greek capital letter IOTA with smooth breathing and acute accent.",
"*\\(\\\\i~7995~*(\\i~Greek capital letter IOTA with rough breathing and grave accent.",
"*\\)\\\\i~7994~*)\\i~Greek capital letter IOTA with smooth breathing and grave accent.",
"*k~922~*k~Greek capital letter KAPPA.",
"*l~923~*l~Greek capital letter LAMBDA.",
"*m~924~*m~Greek capital letter MU.",
"*n~925~*n~Greek capital letter NU.",
"*c~926~*c~Greek capital letter XI.",
"*o~927~*o~Greek capital letter OMICRON.",
"*\\(o~8009~*(o~Greek capital letter OMICRON with rough breathing.",
"*\\)o~8008~*)o~Greek capital letter OMICRON with smooth breathing.",
"*/o~8185~*/o~Greek capital letter OMICRON with acute accent.",
"*\\\\o~8184~*\\o~Greek capital letter OMICRON with grave accent.",
"*\\(/o~8013~*(/o~Greek capital letter OMICRON with rough breathing and acute accent.",
"*\\)/o~8012~*)/o~Greek capital letter OMICRON with smooth breathing and acute accent.",
"*\\(\\\\o~8011~*(\\o~Greek capital letter OMICRON with rough breathing and grave accent.",
"*\\)\\\\o~8010~*)\\o~Greek capital letter OMICRON with smooth breathing and grave accent.",
"*p~928~*p~Greek capital letter PI.",
"*r~929~*r~Greek capital letter RHO.",
"*\\)r~8172~*)r~Greek capital letter RHO with smooth breathing.",
"*s(?!\\d)~931~*s~Greek capital letter SIGMA.",
"*t~932~*t~Greek capital letter TAU.",
"*u~933~*u~Greek capital letter UPSILON.",
"*\\+u~939~*+u~Greek capital letter UPSILON with diaeresis.",
"*/u~8171~*/u~Greek capital letter UPSILON with acute accent.",
"*\\\\u~8170~*\\u~Greek capital letter UPSILON with grave accent.",
"*\\(u~8025~*(u~Greek capital letter UPSILON with rough breathing.",
"*\\(=u~8031~*(=u~Greek capital letter UPSILON with rough breathing and circumflex accent.",
"*\\(/u~8029~*(/u~Greek capital letter UPSILON with rough breathing and acute accent.",
"*\\(\\\\u~8027~*(\\u~Greek capital letter UPSILON with rough breathing and grave accent.",
"*f~934~*f~Greek capital letter PHI.",
"*x~935~*x~Greek capital letter CHI.",
"*y~936~*y~Greek capital letter PSI.",
"*w(?!\\|)~937~*w~Greek capital letter OMEGA.",
"*\\(w(?!\\|)~8041~*(w~Greek capital letter OMEGA with rough breathing.",
"*\\)w(?!\\|)~8040~*)w~Greek capital letter OMEGA with smooth breathing.",
"*w\\|~8188~*w|~Greek capital letter OMEGA with iota subscript.",
"*/w(?!\\|)~8187~*/w~Greek capital letter OMEGA with acute accent.",
"*\\\\w(?!\\|)~8186~*\\w~Greek capital letter OMEGA with grave accent.",
"*\\(w\\|~8105~*(w|~Greek capital letter OMEGA with rough breathing and iota subscript.",
"*\\)w\\|~8104~*)w|~Greek capital letter OMEGA with smooth breathing and iota subscript.",
"*\\(=w(?!\\|)~8047~*(=w~Greek capital letter OMEGA with rough breathing and circumflex accent.",
"*\\)=w(?!\\|)~8046~*)=w~Greek capital letter OMEGA with smooth breathing and circumflex accent.",
"*\\(/w(?!\\|)~8045~*(/w~Greek capital letter OMEGA with rough breathing and acute accent.",
"*\\)/w(?!\\|)~8044~*)/w~Greek capital letter OMEGA with smooth breathing and acute accent.",
"*\\(\\\\w(?!\\|)~8043~*(\\w~Greek capital letter OMEGA with rough breathing and grave accent.",
"*\\)\\\\w(?!\\|)~8042~*)\\w~Greek capital letter OMEGA with smooth breathing and grave accent.",
"*\\(=w\\|~8111~*(=w|~Greek capital letter OMEGA with rough breathing and circumflex accent and iota subscript.",
"*\\)=w\\|~8110~*)=w|~Greek capital letter OMEGA with smooth breathing and circumflex accent and iota subscript.",
"*\\(/w\\|~8109~*(/w|~Greek capital letter OMEGA with rough breathing and acute accent and iota subscript.",
"*\\)/w\\|~8108~*)/w|~Greek capital letter OMEGA with smooth breathing and acute accent and iota subscript.",
"*\\(\\\\w\\|~8107~*(\\w|~Greek capital letter OMEGA with rough breathing and grave accent and iota subscript.",
"*\\)\\\\w\\|~8106~*)\\w|~Greek capital letter OMEGA with smooth breathing and grave accent and iota subscript.",
"*v~988~*v~Greek capital letter DIGAMMA.",
"*#1~990~*#1~Greek capital letter Koppa.",
"*#3~984~*#3~Greek capital letter Archaic Koppa.",
"*#2~986~*#2~Greek capital letter Stigma.",
"*#5~992~*#5~Greek capital letter Sampi.",
";~;~;~Greek Question Mark, same as semicolon.",
":~183~:~Greek RAISED DOT.",
"(?!&)#~884~#~KERAIA, Greek Numeral Sign.",
"%(?!\\d)~8224~%~Dagger.",
"%13~8225~%13~Double Dagger.",
"%14~167~%14~Section Sign.",
"%17~8214~%17~Double Vertical Bar."
);
