/*
silkText

Author:			manni@manni.org
Version:		1.20
Last Changed:	2002-07-17

Description:
Displays a given text in the well-known silkscreen font without the need for any graphics or font streaming.
All font data is included in the script.

Usage:
silkText(text,borderWidth,paddingWidth,borderColor,bgColor,charColor,zoom,spacing,spacerImage,forceNN4Rendering,hiliteColor,borderHiliteColor,shadowIntensity,shadowY,shadowX,font)

text				Text to output; use only the supported chars asdefined below
borderWidth			Absolute width of the border in pixels; defaults to zero and invisible
paddingWidth		Absolute width of the space between (visible or invisible) border and text; defaults to zero
borderColor			Border color ; format #rrggbb; defaults to black
bgColor				Background color ; format #rrggbb; defaults to transparent
charColor			Color of the text; either a HTML color name or in the format #RRGGBB; defaults to black
zoom				Pixel size; 1 = no zoom, each pixel is 1x1 in size; defaults to 1
					When zoomed, the onmouseover effects become noticeable slower.
spacing				Whitespace width relative to the zoom; defaults to 1
spacerImage			For the script to work in Netscape 4, you need a transparent 1x1 GIF; put the path and
					file name of this GIF in here; if it's not given, Netscape 4 will actually output normal text;
					this makes sense, since Netscape 4 is _extremely_ slow in rendering the silkText!
forceNN4Rendering	If this is set true, _everything_ will be rendered in Netscape 4, also if there is no spacer
					image. Take care with this option, since NN4 renders extremely slow!
hiliteColor			Start color of the pixel hilite effect. It must be a color value in hex format '#rrggbb', and
					each of the red, green and blue values must be equal or greater than the corresponding bgColor values.
					Examples, if bgColor is set to #4080d0:
						good:	#60a0f0, #ff80d0, #60ffff
						bad:	#00ffff, #2060ff, #4060e0
					If it's not set or set to false, the highlight fader will not be activated.
borderHiliteColor	Start color of the pixel hilite effect. It must be a color value in hex format '#rrggbb', and
					each of the red, green and blue values must be equal or greater than the corresponding bgColor values,
					as in hiliteColor.
					If it's not set or set to false, the highlight fader will not be activated.
shadowIntensity		Intensity of the shadow in percent; if not set, set to 0 or set to false, no shadow will be rendered;
					Watch out: shadowing more than doubles the rendering time!
shadowY				Vertical pixel distance of the shadow relative to the zoom; defaults to 1
shadowX				Horizontal pixel distance of the shadow relative to the zoom; defaults to 1
font				Defines the font to be displayed. Currently implemented:
					0 (or false, or '', or undefined) 	= Silkscreen
					1 									= Silkscreen Bold
					2									= Lipod
*/


function silkText(text,borderWidth,paddingWidth,borderColor,bgColor,charColor,zoom,spacing,spacerImage,forceNN4Rendering,hiliteColor,borderHiliteColor,shadowIntensity,shadowY,shadowX,font) {

var fontHeight=6; // default the font height to silkscreen's 6px
if (font==0||font==1) {fontHeight=6;} // silkscreen and silkscreen bold are 6px high
if (font==2) {fontHeight=10;} // lipod is 10px high

var wrapStr=""; // will become the wrapping table code
var onmouseoverFade=true; // default
var onmouseoverBorderFade=true; // default

// browser recognition
var isDOM=document.getElementById ? true:false;
var isNN4=document.layers ? true:false;
var isIE4=document.all ? true:false;
var isOpr=false;
var isIE5=false;
var isIE55up=false;
if (isDOM && isIE4) {var isIE55up=true;isIE4=false;isDOM=false;} else {var isIE55up=false;}
if (navigator.userAgent.indexOf('Opera')!=-1) {isOpr=true;isDOM=false;isNN4=false;isIE4=false;isIE55up=false;}
if (navigator.userAgent.indexOf('MSIE 5.0')!=-1) {isIE5=true;isIE4=false;isIE55up=false;}

text=text.toUpperCase(); // we have only upper case

if (!text||text=='') {text='uh-huh, and what should i display when there is no text given?!';} // if the text is empty, give an error message
if (!forceNN4Rendering||forceNN4Rendering!=true) {forceNN4Rendering=false;} // default nn4 rendering to false
if (!borderWidth||borderWidth=='') {borderWidth=0;} // default the border width
if (!borderColor||borderColor=='') {borderColor='#000000';} // default the border color to black
if (!bgColor) {bgColor='';} // default the background color to transparent
if (!paddingWidth||paddingWidth=='') {paddingWidth=0;} // default the padding to zero
if (!charColor||charColor=='') {charColor='black';} // default the char color to black
if (!zoom||zoom==''||zoom==0) {zoom=1;} // default the zoom to 1
if (!spacing||spacing==''||spacing==0) {spacing=1;} // default the spacing to 1
if (!hiliteColor||hiliteColor=='') {onmouseoverFade=false;} // default the onmouseover fade to off
if (!isOpr&&(hiliteColor||hiliteColor!='')) {hiliteColor=hiliteColor.substring(1,hiliteColor.length);}
if (!borderHiliteColor||borderHiliteColor=='') {onmouseoverBorderFade=false;} // default the border fade to off
if (!isOpr&&(borderHiliteColor||borderHiliteColor!='')) {borderHiliteColor=borderHiliteColor.substring(1,borderHiliteColor.length);}
if (!shadowIntensity||shadowIntensity=='') {shadowIntensity=0;} // default the shadow to off
if (!shadowY||shadowY==''||shadowY==0) {shadowY=1;}
if (!shadowX||shadowX==''||shadowX==0) {shadowX=1;}
if (!font||font=='') {font=0;}

var si; // string iterator
var strPrStr=''; // string print string
var nn4TextMode=false;
var bgId;
var paddingId;
var borderId;
var	plainColor=bgColor.substring(1,bgColor.length);
var	plainBorderColor=borderColor.substring(1,borderColor.length);
var callStr='';
var overCallStr='';

var chars='&AÄBCDEFGHIJKLMNOÖPQRSTUÜVWXYZ0123456789 []^()<>|_-+!?=.:,@/*%#{}~'; // supported chars and their positions in the bitmap def

// activate the NN4 emulation mode if the text is longer than 16 chars or the NN4 spacer image is not given; can be overridden by forceNN4Rendering
if ( (text.length>=16)||((!spacerImage)||(spacerImage=='')) ) {nn4TextMode=true;}
if (forceNN4Rendering) {nn4TextMode=false;}

if ((isNN4)&&(nn4TextMode)) {text=text.replace("{","'");text=text.replace('}','"');}

// special characters to give in the parameter:
// { will print '
// } will print "

var writeChar='';
var thisChar='';

cA=getBitmaps(font); // read the bitmaps

// define the onmouseover span
if ((isIE4||isIE5||isIE55up||isDOM)&&(onmouseoverFade||onmouseoverBorderFade)) 
	{
	wrapStr=wrapStr+('<span ');
	bgId=String(Math.random(1));
	bgId='id'+bgId.replace('.','')+'id';
	borderId=String(Math.random(1));
	borderId='id'+borderId.replace('.','')+'id';
	paddingId=String(Math.random(1));
	paddingId='id'+paddingId.replace('.','')+'id';	

	if (onmouseoverFade)
		{			callStr=callStr+'rc('+unescape("'")+bgId+unescape("'")+','+unescape("'")+plainColor+unescape("'")+','+unescape("'")+paddingId+unescape("'")+','+unescape("'")+paddingWidth+unescape("'")+','+unescape("'")+hiliteColor+unescape("'")+',false,false);';
	overCallStr=overCallStr+'rcOn('+unescape("'")+bgId+unescape("'")+','+unescape("'")+paddingId+unescape("'")+','+unescape("'")+paddingWidth+unescape("'")+','+unescape("'")+hiliteColor+unescape("'")+');';
		}
	if (onmouseoverBorderFade)
		{
		callStr=callStr+'rb('+unescape("'")+borderId+unescape("'")+','+unescape("'")+plainBorderColor+unescape("'")+','+unescape("'")+borderHiliteColor+unescape("'")+',false,false);';
		overCallStr=overCallStr+'rbOn('+unescape("'")+borderId+unescape("'")+','+unescape("'")+borderHiliteColor+unescape("'")+');';
		}
	wrapStr=wrapStr+('onmouseover="'+overCallStr+'" onmouseout="'+callStr+'">');
	}
	
if (borderWidth!=0) {
		wrapStr=wrapStr+('<table ');
		// create a random ID
		if ((isIE4||isIE5||isIE55up||isDOM)&&(onmouseoverBorderFade)) 
			{
			wrapStr=wrapStr+('id="'+borderId+'" ');
			}		
		wrapStr=wrapStr+('border="0" cellpadding="'+borderWidth+'" cellspacing="0" bgcolor="'+borderColor+'"><tr><td>');
	}

// padding area
if (paddingWidth!=0) {
		wrapStr=wrapStr+('<table ');
		// create a random ID
		if ((isIE4||isIE5||isIE55up||isDOM)&&(onmouseoverFade)) 
			{
			wrapStr=wrapStr+('id="'+paddingId+'" ');
			}
		wrapStr=wrapStr+('border="0" cellpadding="'+paddingWidth+'" cellspacing="0" bgcolor="'+bgColor+'"><tr><td>');
	}

wrapStr=wrapStr+('<table ');

// on MSIE and DOM browsers, write the id
if ((isIE4||isIE5||isIE55up||isDOM)&&(onmouseoverFade)) 
	{
	wrapStr=wrapStr+('id="'+bgId+'" ');
	}
	
// ...and the style, if we need it
if (isIE55up||isDOM)
	{
	wrapStr=wrapStr+('style="position:relative;top:0px;left:0px;z-index:1;" ');
	}
			
wrapStr=wrapStr+('border="0" cellpadding="0" cellspacing="0" bgcolor="'+bgColor+'" height="'+zoom*5+'"><tr>');

//either do the rendering on all browsers...

if ((!isNN4)||(isNN4&&!nn4TextMode)) 
	{

	// iterate through the string
	var singleCharStr;
	for (si = 0; si <= text.length-1; si++)
		{ 
		thisChar=text.charAt(si); // get the current char
		writeChar=chars.indexOf(thisChar); // get the array index of this char
		if (chars.indexOf(thisChar)==-1) {thisChar=' ';writeChar=40;} // make it a whitespace if the char does not exist
		wrapStr=wrapStr+('<td height="'+zoom*fontHeight+'" width="'+zoom*(Number(cA[writeChar].substring(0,1)))+'">'); // open the cell
		singleCharStr=writeCharacter(writeChar,charColor,cA,zoom,spacerImage,fontHeight); // call the char writer
		wrapStr=wrapStr+singleCharStr;
		singleCharStr='';
		wrapStr=wrapStr+('</td>'); // close the cell
		// write the spacer
		wrapStr=wrapStr+('<td width="'+zoom*spacing+'" height="'+zoom*fontHeight+'" width="'+zoom+'"><table border="0" cellspacing="0" cellpadding="0" width="'+zoom+'"><tr><td>');
		if (isNN4) 
			{
			wrapStr=wrapStr+('<img src="'+spacerImage+'" height="'+zoom*fontHeight+'" width="'+zoom*spacing+'">');
			}
		wrapStr=wrapStr+('</td></tr></table></td>');
		}
		
	wrapStr=wrapStr+('</tr></table>');
		
	}

//...or write plain text, as good formatted as possible, if the nn4 spacer image is not given

if (isNN4&&nn4TextMode)
	{
	wrapStr=wrapStr+('<table border="0" cellspacing="0" cellpadding="0" bgcolor="'+bgColor+'"><tr><td>');
	wrapStr=wrapStr+('<font face="arial,helvetica,sans-serif" color="'+charColor+'" size="'+Number(zoom)+'">'+text+'</font>');
	wrapStr=wrapStr+('</td></tr></table>');
	}
		
//wrapStr=wrapStr+('</tr></table>');

// close the padding area
if (paddingWidth!=0) {
	wrapStr=wrapStr+('</td></tr></table>');
	}

// close the border
if (borderWidth!=0) {
	wrapStr=wrapStr+('</td></tr></table>');
	}
	
// close the span
if ((isIE4||isIE5||isIE55up||isDOM)&&(onmouseoverFade||onmouseoverBorderFade)) 
	{
	wrapStr=wrapStr+('</span>');
	}

// render the shadow, if it's wanted

if (isIE55up||isDOM) {

	if (shadowIntensity!=0) 
		{
		charColor='#000000';
		wrapStr=wrapStr+('<table ');
			
		// calculate and set the shadow's position
		var shadYPos=((zoom*shadowY)-(6*zoom));
		var shadXPos=(shadowX*zoom);
			
		wrapStr=wrapStr+('style="position:relative;top:');
		wrapStr=wrapStr+(shadYPos);
		wrapStr=wrapStr+('px;left:');
		wrapStr=wrapStr+(shadXPos);
		wrapStr=wrapStr+('px;z-index:0;');
		
		// include the filter props for ie5 and up
		if (isIE55up)
			{
			wrapStr=wrapStr+('filter:progid:DXImageTransform.Microsoft.Alpha(opacity='+shadowIntensity+');');
			}
		// include the filter props for mozilla/nn6
		if (isDOM)
			{
			wrapStr=wrapStr+ ('-moz-opacity:'+shadowIntensity+'%;');
			}
			
		wrapStr=wrapStr+('" border="0" cellpadding="0" cellspacing="0" bgcolor="'+bgColor+'" height="'+zoom*5+'"><tr>');

		// iterate through the string
		var singleShadowCharacter;
		for (si = 0; si <= text.length-1; si++)
			{ 
			thisChar=text.charAt(si); // get the current char
			writeChar=chars.indexOf(thisChar); // get the array index of this char
			if (chars.indexOf(thisChar)==-1) {thisChar=' ';writeChar=40;} // make it a whitespace if the char does not exist
			wrapStr=wrapStr+('<td height="'+zoom*fontHeight+'" width="'+zoom*(Number(cA[writeChar].substring(0,1)))+'">'); // open the cell
			singleShadowCharacter=writeCharacter(writeChar,charColor,cA,zoom,spacerImage,fontHeight); // call the char writer
			wrapStr=wrapStr+singleShadowCharacter;
			singleShadowCharacter='';
			wrapStr=wrapStr+('</td>'); // close the cell
			// write a the spacer
			wrapStr=wrapStr+('<td width="'+zoom*spacing+'" height="'+zoom*fontHeight+'" width="'+zoom+'"><table border="0" cellspacing="0" cellpadding="0" width="'+zoom+'"><tr><td>');
			wrapStr=wrapStr+('</td></tr></table></td>');
			}
		
		wrapStr=wrapStr+('</tr></table>');
		
		}
		
	}

return(wrapStr);

}

// write a single character
function writeCharacter(ch,charColor,cA,zoom,spacerImage,fontHeight) {

var isDOM=document.getElementById ? true:false;
var isNN4=document.layers ? true:false;
var isIE4=document.all ? true:false;
var isOpr=false;
var isIE5=false;
var isIE55up=false;
if (isDOM && isIE4) {var isIE55up=true;isIE4=false;isDOM=false;} else {var isIE55up=false;}
if (navigator.userAgent.indexOf('Opera')!=-1) {isOpr=true;isDOM=false;isNN4=false;isIE4=false;isIE55up=false;}
if (navigator.userAgent.indexOf('MSIE 5.0')!=-1) {isIE5=true;isIE4=false;isIE55up=false;}

var i; // bitmap iterator
var prStr=''; // char print string
var thisId=''; // becomes the id

// iterate through the bitmap and construct the character

var chWidth=Number(cA[ch].substring(0,1)); // char width; first byte of each char
var bitmap=cA[ch].substring(1,cA[ch].length); // strip the width out of the bitmap
// open the char microtable
prStr=prStr+'<table border="0" cellspacing="0" cellpadding="0" width="'+(chWidth)*zoom+'">';

var trOne=0; // first line break
var trTwo=chWidth;
var trThree=chWidth*2;
var trFour=chWidth*3;
var trFive=chWidth*4;
var trSix=chWidth*5;
var trSeven=chWidth*6;
var trEight=chWidth*7;
var trNine=chWidth*8;
var trTen=chWidth*9;

for (i = 0; i <= bitmap.length; i++) 
	{

	if (i==trOne||i==trTwo||i==trThree||i==trFour||i==trFive||i==trSix||i==trSeven||i==trEight||i==trNine||i==trTen) {prStr=prStr+'<tr>';}
	
	if (bitmap.charAt(i)==' ')
		{
		prStr=prStr+'<td width="'+zoom+'" height="'+zoom+'">';
		if (isNN4) 
			{
			prStr=prStr+'<img src="'+spacerImage+'" height="'+zoom+'" width="'+zoom+'">';
			}
		prStr=prStr+'</td>';
 		}
	if (bitmap.charAt(i)=='*')
		{
		prStr=prStr+'<td ';
		// add the id and call for the fading effect on ie and dom browsers

		prStr=prStr+'bgcolor="'+charColor+'" width="'+zoom+'" height="'+zoom+'">';
		if (isNN4)
			{
			prStr=prStr+'<img src="'+spacerImage+'" height="'+zoom+'" width="'+zoom+'">';
			}
		prStr=prStr+'</td>';
 		}
		
	if (i==trTwo-1||i==trThree-1||i==trFour-1||i==trFive-1||i==trSix-1||i==trSeven-1||i==trEight-1||i==trNine-1||i==trTen-1) {prStr=prStr+'</tr>';}
		
	}
	
// close the microtable
prStr=prStr+'</tr></table>';	

// return the microtable
return (prStr);
}

// hilite bg onmouseover
function rcOn(bgId,paddingId,paddingWidth,hc) {
document.getElementById(bgId).style.backgroundColor='#'+hc;
if (paddingWidth!=0) {document.getElementById(paddingId).style.backgroundColor='#'+hc;}
}

// hilite border onmouseover
function rbOn(borderId,bhc) {
document.getElementById(borderId).style.backgroundColor='#'+bhc;
}

// gliss rotate color onmouseover
function rc(bgId,bg,paddingId,paddingWidth,hc,cc,obg) {
if (!cc) {cc=hc;}

var ccD=getRGB(cc); // get the rgb values
var occD=getRGB(bg); // get the rgb values

// split the rgb string to the single color values
var aC=new Array;aC=ccD.split(',');
var r=aC[0];
var g=aC[1];
var b=aC[2];

var oC=new Array;oC=occD.split(',');
var or=oC[0];
var og=oC[1];
var ob=oC[2];

// decrease the single colors by one, if not yet the original color

if (bg.substring(0,2)!=cc.substring(0,2))
	{
	if ((r-16)>or) {r=r-16;} else {r=or;}
	}
if (bg.substring(2,4)!=cc.substring(2,4))
	{
	if ((g-16)>og) {g=g-16;} else {g=og;}
	}
if (bg.substring(4,6)!=cc.substring(4,6))
	{
	if ((b-16)>ob) {b=b-16;} else {b=ob;}
	}


var ncc=getHex(r,g,b); // ...and convert it back to RGB

// continue the fade, if the original value is not yet reached

var abg=document.getElementById(bgId).style.backgroundColor;

if (!abg||(abg.substring(0,3)=='rgb')) {abg=obg;}
if (!obg) {obg=abg;}

if ((ncc!=bg)&&(abg==obg))
	{
	document.getElementById(bgId).style.backgroundColor='#'+ncc; // set the new bg color
	if (paddingWidth!=0) {document.getElementById(paddingId).style.backgroundColor='#'+ncc;} // set the new padding color
	obg='#'+ncc;
	window.setTimeout('rc("'+bgId+'","'+bg+'","'+paddingId+'","'+paddingWidth+'","'+hc+'","'+ncc+'","'+obg+'")',14);
	}
	
if (ncc==bg)
	{
	document.getElementById(bgId).style.backgroundColor='#'+ncc; // set the new bg color
	if (paddingWidth!=0) {document.getElementById(paddingId).style.backgroundColor='#'+ncc;} // set the new padding color
	}
	
}

// gliss rotate color onmouseover for the border
function rb(borderId,borderBg,bhc,bcc,obg) {
if (!bcc) {bcc=bhc;}

var ccD=getRGB(bcc); // get the rgb values
var occD=getRGB(borderBg); // get the rgb values

// split the rgb strings to the single color values
var aC=new Array;aC=ccD.split(',');
var r=aC[0];
var g=aC[1];
var b=aC[2];

var oC=new Array;oC=occD.split(',');
var or=oC[0];
var og=oC[1];
var ob=oC[2];

// decrease the single colors by one, if not yet the original color
if (borderBg.substring(0,2)!=bcc.substring(0,2))
	{
	if ((r-16)>or) {r=r-16;} else {r=or;}
	}
if (borderBg.substring(2,4)!=bcc.substring(2,4))
	{
	if ((g-16)>og) {g=g-16;} else {g=og;}
	}
if (borderBg.substring(4,6)!=bcc.substring(4,6))
	{
	if ((b-16)>ob) {b=b-16;} else {b=ob;}
	}
var bncc=getHex(r,g,b); // ...and convert it back to RGB

// continue the fade, if the original value is not yet reached

var abg=document.getElementById(borderId).style.backgroundColor;
if (!abg||(abg.substring(0,3)=='rgb')) {abg=obg;}
if (!obg) {obg=abg;}

if ((bncc!=borderBg)&&(abg==obg))
	{
	document.getElementById(borderId).style.backgroundColor='#'+bncc; // set the new bg color
	obg='#'+bncc;
	window.setTimeout('rb("'+borderId+'","'+borderBg+'","'+bhc+'","'+bncc+'","'+obg+'")',14);
	}
	
if (bncc==borderBg)
	{
	document.getElementById(borderId).style.backgroundColor='#'+bncc; // set the new bg color
	}
}

// convert hex to rgb
function getRGB(hex)
	{
	var temp='';
	var hexidec = new Array;
	var pound=0;
	for (i=0;i<7;i++)
	{
		hexidec[i]=hex.charAt(i);
		temp=hexidec[i];
		if (temp=='#')
			pound++;
	if ((temp=='a')||(temp=='A'))
		hexidec[i]=10;
	if ((temp=='b')||(temp=='B'))
		hexidec[i]=11;
	if ((temp=='c')||(temp=='C'))
		hexidec[i]=12;
	if ((temp=='d')||(temp=='D'))
		hexidec[i]=13;
	if ((temp=='e')||(temp=='E'))
		hexidec[i]=14;
	if ((temp=='f')||(temp=='F'))
		hexidec[i]=15;
	}
	var r=((hexidec[0+pound]*16)- -hexidec[1+pound]);
	var g=((hexidec[2+pound]*16)- -hexidec[3+pound]);
	var b=((hexidec[4+pound]*16)- -hexidec[5+pound]);

	return(r+','+g+','+b);
}

// convert rgb to hex
function getHex(r,g,b)
	{
	var c="0123456789abcdef";
	var red=r;
	var green=g;
	var blue=b;
	with (Math)
		{
		var numOne=c.substring(floor(red/16),floor(red/16)+1);
		var numTwo=c.substring(red%16,(red%16)+1);
		var numThree=c.substring(floor(green/16),floor(green/16)+1);
		var numFour=c.substring(green%16,(green%16)+1);
		var numFive=c.substring(floor(blue/16),floor(blue/16)+1);
		var numSix=c.substring(blue%16,(blue%16)+1);	
		}
	hex=numOne+""+numTwo+""+numThree+""+numFour+""+numFive+""+numSix;
	return(hex);
}

// character bitmap definitions
function getBitmaps(font) {
cA=new Array;

// get silkscreen
if (font==0) {

// &
cA[0]=4;
cA[0]=cA[0]+' *  ';
cA[0]=cA[0]+'* * ';
cA[0]=cA[0]+' * *';
cA[0]=cA[0]+'* * ';
cA[0]=cA[0]+' * *';
cA[0]=cA[0]+'    ';

// A
cA[1]=4;
cA[1]=cA[1]+' ** ';
cA[1]=cA[1]+'*  *';
cA[1]=cA[1]+'****';
cA[1]=cA[1]+'*  *';
cA[1]=cA[1]+'*  *';
cA[1]=cA[1]+'    ';

// &Auml;
cA[2]=4;
cA[2]=cA[2]+'*  *';
cA[2]=cA[2]+' ** ';
cA[2]=cA[2]+'*  *';
cA[2]=cA[2]+'****';
cA[2]=cA[2]+'*  *';
cA[2]=cA[2]+'    ';

// B
cA[3]=4;
cA[3]=cA[3]+'*** ';
cA[3]=cA[3]+'*  *';
cA[3]=cA[3]+'*** ';
cA[3]=cA[3]+'*  *';
cA[3]=cA[3]+'*** ';
cA[3]=cA[3]+'    ';

// C
cA[4]=4;
cA[4]=cA[4]+' ** ';
cA[4]=cA[4]+'*  *';
cA[4]=cA[4]+'*   ';
cA[4]=cA[4]+'*  *';
cA[4]=cA[4]+' ** ';
cA[4]=cA[4]+'    ';

// D
cA[5]=4;
cA[5]=cA[5]+'*** ';
cA[5]=cA[5]+'*  *';
cA[5]=cA[5]+'*  *';
cA[5]=cA[5]+'*  *';
cA[5]=cA[5]+'*** ';
cA[5]=cA[5]+'    ';

// E
cA[6]=3;
cA[6]=cA[6]+'***';
cA[6]=cA[6]+'*  ';
cA[6]=cA[6]+'***';
cA[6]=cA[6]+'*  ';
cA[6]=cA[6]+'***';
cA[6]=cA[6]+'   ';

// F
cA[7]=3;
cA[7]=cA[7]+'***';
cA[7]=cA[7]+'*  ';
cA[7]=cA[7]+'***';
cA[7]=cA[7]+'*  ';
cA[7]=cA[7]+'*  ';
cA[7]=cA[7]+'   ';

// G
cA[8]=4;
cA[8]=cA[8]+' ***';
cA[8]=cA[8]+'*   ';
cA[8]=cA[8]+'* **';
cA[8]=cA[8]+'*  *';
cA[8]=cA[8]+' ***';
cA[8]=cA[8]+'    ';

// H
cA[9]=4;
cA[9]=cA[9]+'*  *';
cA[9]=cA[9]+'*  *';
cA[9]=cA[9]+'****';
cA[9]=cA[9]+'*  *';
cA[9]=cA[9]+'*  *';
cA[9]=cA[9]+'    ';

// I
cA[10]=1;
cA[10]=cA[10]+'*';
cA[10]=cA[10]+'*';
cA[10]=cA[10]+'*';
cA[10]=cA[10]+'*';
cA[10]=cA[10]+'*';
cA[10]=cA[10]+' ';

// J
cA[11]=4;
cA[11]=cA[11]+'   *';
cA[11]=cA[11]+'   *';
cA[11]=cA[11]+'   *';
cA[11]=cA[11]+'*  *';
cA[11]=cA[11]+' ** ';
cA[11]=cA[11]+'    ';

// K
cA[12]=4;
cA[12]=cA[12]+'*  *';
cA[12]=cA[12]+'* * ';
cA[12]=cA[12]+'**  ';
cA[12]=cA[12]+'* * ';
cA[12]=cA[12]+'*  *';
cA[12]=cA[12]+'    ';

// L
cA[13]=3;
cA[13]=cA[13]+'*  ';
cA[13]=cA[13]+'*  ';
cA[13]=cA[13]+'*  ';
cA[13]=cA[13]+'*  ';
cA[13]=cA[13]+'***';
cA[13]=cA[13]+'   ';

// M
cA[14]=5;
cA[14]=cA[14]+'*   *';
cA[14]=cA[14]+'** **';
cA[14]=cA[14]+'* * *';
cA[14]=cA[14]+'*   *';
cA[14]=cA[14]+'*   *';
cA[14]=cA[14]+'     ';

// N
cA[15]=5;
cA[15]=cA[15]+'*   *';
cA[15]=cA[15]+'**  *';
cA[15]=cA[15]+'* * *';
cA[15]=cA[15]+'*  **';
cA[15]=cA[15]+'*   *';
cA[15]=cA[15]+'     ';

// O
cA[16]=4;
cA[16]=cA[16]+' ** ';
cA[16]=cA[16]+'*  *';
cA[16]=cA[16]+'*  *';
cA[16]=cA[16]+'*  *';
cA[16]=cA[16]+' ** ';
cA[16]=cA[16]+'    ';

// &Ouml;
cA[17]=4;
cA[17]=cA[17]+'*  *';
cA[17]=cA[17]+' ** ';
cA[17]=cA[17]+'*  *';
cA[17]=cA[17]+'*  *';
cA[17]=cA[17]+' ** ';
cA[17]=cA[17]+'    ';

// P
cA[18]=4;
cA[18]=cA[18]+'*** ';
cA[18]=cA[18]+'*  *';
cA[18]=cA[18]+'*** ';
cA[18]=cA[18]+'*   ';
cA[18]=cA[18]+'*   ';
cA[18]=cA[18]+'    ';

// Q
cA[19]=4;
cA[19]=cA[19]+' ** ';
cA[19]=cA[19]+'*  *';
cA[19]=cA[19]+'*  *';
cA[19]=cA[19]+'*  *';
cA[19]=cA[19]+' ** ';
cA[19]=cA[19]+'   *';

// R
cA[20]=4;
cA[20]=cA[20]+'*** ';
cA[20]=cA[20]+'*  *';
cA[20]=cA[20]+'*** ';
cA[20]=cA[20]+'* * ';
cA[20]=cA[20]+'*  *';
cA[20]=cA[20]+'    ';

// S
cA[21]=4;
cA[21]=cA[21]+' ***';
cA[21]=cA[21]+'*   ';
cA[21]=cA[21]+' ** ';
cA[21]=cA[21]+'   *';
cA[21]=cA[21]+'*** ';
cA[21]=cA[21]+'    ';

// T
cA[22]=3;
cA[22]=cA[22]+'***';
cA[22]=cA[22]+' * ';
cA[22]=cA[22]+' * ';
cA[22]=cA[22]+' * ';
cA[22]=cA[22]+' * ';
cA[22]=cA[22]+'   ';

// U
cA[23]=4;
cA[23]=cA[23]+'*  *';
cA[23]=cA[23]+'*  *';
cA[23]=cA[23]+'*  *';
cA[23]=cA[23]+'*  *';
cA[23]=cA[23]+' ** ';
cA[23]=cA[23]+'    ';

// &Uuml;
cA[24]=4;
cA[24]=cA[24]+'*  *';
cA[24]=cA[24]+'    ';
cA[24]=cA[24]+'*  *';
cA[24]=cA[24]+'*  *';
cA[24]=cA[24]+' ** ';
cA[24]=cA[24]+'    ';

// V
cA[25]=5;
cA[25]=cA[25]+'*   *';
cA[25]=cA[25]+'*   *';
cA[25]=cA[25]+' * * ';
cA[25]=cA[25]+' * * ';
cA[25]=cA[25]+'  *  ';
cA[25]=cA[25]+'     ';

// W
cA[26]=5;
cA[26]=cA[26]+'*   *';
cA[26]=cA[26]+'* * *';
cA[26]=cA[26]+'* * *';
cA[26]=cA[26]+'* * *';
cA[26]=cA[26]+' * * ';
cA[26]=cA[26]+'     ';

// X
cA[27]=5;
cA[27]=cA[27]+'*   *';
cA[27]=cA[27]+' * * ';
cA[27]=cA[27]+'  *  ';
cA[27]=cA[27]+' * * ';
cA[27]=cA[27]+'*   *';
cA[27]=cA[27]+'     ';

// Y
cA[28]=5;
cA[28]=cA[28]+'*   *';
cA[28]=cA[28]+' * * ';
cA[28]=cA[28]+'  *  ';
cA[28]=cA[28]+'  *  ';
cA[28]=cA[28]+'  *  ';
cA[28]=cA[28]+'     ';

// Z
cA[29]=3;
cA[29]=cA[29]+'***';
cA[29]=cA[29]+'  *';
cA[29]=cA[29]+' * ';
cA[29]=cA[29]+'*  ';
cA[29]=cA[29]+'***';
cA[29]=cA[29]+'   ';

// 0
cA[30]=4;
cA[30]=cA[30]+' ** ';
cA[30]=cA[30]+'*  *';
cA[30]=cA[30]+'*  *';
cA[30]=cA[30]+'*  *';
cA[30]=cA[30]+' ** ';
cA[30]=cA[30]+'    ';

// 1
cA[31]=4;
cA[31]=cA[31]+' ** ';
cA[31]=cA[31]+'  * ';
cA[31]=cA[31]+'  * ';
cA[31]=cA[31]+'  * ';
cA[31]=cA[31]+' ***';
cA[31]=cA[31]+'    ';

// 2
cA[32]=4;
cA[32]=cA[32]+'*** ';
cA[32]=cA[32]+'   *';
cA[32]=cA[32]+' ** ';
cA[32]=cA[32]+'*   ';
cA[32]=cA[32]+'****';
cA[32]=cA[32]+'    ';

// 3
cA[33]=4;
cA[33]=cA[33]+'*** ';
cA[33]=cA[33]+'   *';
cA[33]=cA[33]+' ** ';
cA[33]=cA[33]+'   *';
cA[33]=cA[33]+'*** ';
cA[33]=cA[33]+'    ';

// 4
cA[34]=4;
cA[34]=cA[34]+'* * ';
cA[34]=cA[34]+'* * ';
cA[34]=cA[34]+'* * ';
cA[34]=cA[34]+'****';
cA[34]=cA[34]+'  * ';
cA[34]=cA[34]+'    ';

// 5
cA[35]=4;
cA[35]=cA[35]+'****';
cA[35]=cA[35]+'*   ';
cA[35]=cA[35]+'*** ';
cA[35]=cA[35]+'   *';
cA[35]=cA[35]+'*** ';
cA[35]=cA[35]+'    ';

// 6
cA[36]=4;
cA[36]=cA[36]+' ** ';
cA[36]=cA[36]+'*   ';
cA[36]=cA[36]+'*** ';
cA[36]=cA[36]+'*  *';
cA[36]=cA[36]+' ** ';
cA[36]=cA[36]+'    ';

// 7
cA[37]=4;
cA[37]=cA[37]+'****';
cA[37]=cA[37]+'   *';
cA[37]=cA[37]+'  * ';
cA[37]=cA[37]+' *  ';
cA[37]=cA[37]+' *  ';
cA[37]=cA[37]+'    ';

// 8
cA[38]=4;
cA[38]=cA[38]+' ** ';
cA[38]=cA[38]+'*  *';
cA[38]=cA[38]+' ** ';
cA[38]=cA[38]+'*  *';
cA[38]=cA[38]+' ** ';
cA[38]=cA[38]+'    ';

// 9
cA[39]=4;
cA[39]=cA[39]+' ** ';
cA[39]=cA[39]+'*  *';
cA[39]=cA[39]+' ***';
cA[39]=cA[39]+'   *';
cA[39]=cA[39]+' ** ';
cA[39]=cA[39]+'    ';

// white space
cA[40]=2;
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';

// [
cA[41]=2;
cA[41]=cA[41]+'**';
cA[41]=cA[41]+'* ';
cA[41]=cA[41]+'* ';
cA[41]=cA[41]+'* ';
cA[41]=cA[41]+'**';
cA[41]=cA[41]+'  ';

// ]
cA[42]=2;
cA[42]=cA[42]+'**';
cA[42]=cA[42]+' *';
cA[42]=cA[42]+' *';
cA[42]=cA[42]+' *';
cA[42]=cA[42]+'**';
cA[42]=cA[42]+'  ';

// ^
cA[43]=3;
cA[43]=cA[43]+' * ';
cA[43]=cA[43]+'* *';
cA[43]=cA[43]+'   ';
cA[43]=cA[43]+'   ';
cA[43]=cA[43]+'   ';
cA[43]=cA[43]+'   ';

// (
cA[44]=2;
cA[44]=cA[44]+' *';
cA[44]=cA[44]+'* ';
cA[44]=cA[44]+'* ';
cA[44]=cA[44]+'* ';
cA[44]=cA[44]+' *';
cA[44]=cA[44]+'  ';

// )
cA[45]=2;
cA[45]=cA[45]+'* ';
cA[45]=cA[45]+' *';
cA[45]=cA[45]+' *';
cA[45]=cA[45]+' *';
cA[45]=cA[45]+'* ';
cA[45]=cA[45]+'  ';

// <
cA[46]=3;
cA[46]=cA[46]+'  *';
cA[46]=cA[46]+' * ';
cA[46]=cA[46]+'*  ';
cA[46]=cA[46]+' * ';
cA[46]=cA[46]+'  *';
cA[46]=cA[46]+'   ';

// >
cA[47]=3;
cA[47]=cA[47]+'*  ';
cA[47]=cA[47]+' * ';
cA[47]=cA[47]+'  *';
cA[47]=cA[47]+' * ';
cA[47]=cA[47]+'*  ';
cA[47]=cA[47]+'   ';

// |
cA[48]=1;
cA[48]=cA[48]+'*';
cA[48]=cA[48]+'*';
cA[48]=cA[48]+'*';
cA[48]=cA[48]+'*';
cA[48]=cA[48]+'*';
cA[48]=cA[48]+'*';

// _
cA[49]=4;
cA[49]=cA[49]+'    ';
cA[49]=cA[49]+'    ';
cA[49]=cA[49]+'    ';
cA[49]=cA[49]+'    ';
cA[49]=cA[49]+'****';
cA[49]=cA[49]+'    ';

// -
cA[50]=3;
cA[50]=cA[50]+'   ';
cA[50]=cA[50]+'   ';
cA[50]=cA[50]+'***';
cA[50]=cA[50]+'   ';
cA[50]=cA[50]+'   ';
cA[50]=cA[50]+'   ';

// +
cA[51]=5;
cA[51]=cA[51]+'  *  ';
cA[51]=cA[51]+'  *  ';
cA[51]=cA[51]+'*****';
cA[51]=cA[51]+'  *  ';
cA[51]=cA[51]+'  *  ';
cA[51]=cA[51]+'     ';

// ! 
cA[52]=1;
cA[52]=cA[52]+'*';
cA[52]=cA[52]+'*';
cA[52]=cA[52]+'*';
cA[52]=cA[52]+' ';
cA[52]=cA[52]+'*';
cA[52]=cA[52]+' ';

// ?
cA[53]=4;
cA[53]=cA[53]+'*** ';
cA[53]=cA[53]+'   *';
cA[53]=cA[53]+' ** ';
cA[53]=cA[53]+'    ';
cA[53]=cA[53]+' * ';
cA[53]=cA[53]+'   ';

// =
cA[54]=3;
cA[54]=cA[54]+'   ';
cA[54]=cA[54]+'***';
cA[54]=cA[54]+'   ';
cA[54]=cA[54]+'***';
cA[54]=cA[54]+'   ';
cA[54]=cA[54]+'   ';

// .
cA[55]=1;
cA[55]=cA[55]+' ';
cA[55]=cA[55]+' ';
cA[55]=cA[55]+' ';
cA[55]=cA[55]+' ';
cA[55]=cA[55]+'*';
cA[55]=cA[55]+' ';

// ;
cA[56]=1;
cA[56]=cA[56]+' ';
cA[56]=cA[56]+' ';
cA[56]=cA[56]+'*';
cA[56]=cA[56]+' ';
cA[56]=cA[56]+'*';
cA[56]=cA[56]+' ';

// ,
cA[57]=2;
cA[57]=cA[57]+'  ';
cA[57]=cA[57]+'  ';
cA[57]=cA[57]+'  ';
cA[57]=cA[57]+'  ';
cA[57]=cA[57]+' *';
cA[57]=cA[57]+'* ';

// @
cA[58]=5;
cA[58]=cA[58]+' *** ';
cA[58]=cA[58]+'* * *';
cA[58]=cA[58]+'* ***';
cA[58]=cA[58]+'*    ';
cA[58]=cA[58]+' *** ';
cA[58]=cA[58]+'     ';

// /
cA[59]=3;
cA[59]=cA[59]+'  *';
cA[59]=cA[59]+'  *';
cA[59]=cA[59]+' * ';
cA[59]=cA[59]+'*  ';
cA[59]=cA[59]+'*  ';
cA[59]=cA[59]+'   ';

// *
cA[60]=5;
cA[60]=cA[60]+'  *  ';
cA[60]=cA[60]+'* * *';
cA[60]=cA[60]+' *** ';
cA[60]=cA[60]+'* * *';
cA[60]=cA[60]+'  *  ';
cA[60]=cA[60]+'     ';

// %
cA[61]=5;
cA[61]=cA[61]+'** * ';
cA[61]=cA[61]+'** * ';
cA[61]=cA[61]+'  *  ';
cA[61]=cA[61]+' * **';
cA[61]=cA[61]+' * **';
cA[61]=cA[61]+'     ';

// #
cA[62]=5;
cA[62]=cA[62]+' * * ';
cA[62]=cA[62]+'*****';
cA[62]=cA[62]+' * * ';
cA[62]=cA[62]+'*****';
cA[62]=cA[62]+' * * ';
cA[62]=cA[62]+'     ';

// { (prints ')
cA[63]=1;
cA[63]=cA[63]+'*';
cA[63]=cA[63]+'*';
cA[63]=cA[63]+' ';
cA[63]=cA[63]+' ';
cA[63]=cA[63]+' ';
cA[63]=cA[63]+' ';

// } (prints ")
cA[64]=3;
cA[64]=cA[64]+'* *';
cA[64]=cA[64]+'* *';
cA[64]=cA[64]+'   ';
cA[64]=cA[64]+'   ';
cA[64]=cA[64]+'   ';
cA[64]=cA[64]+'   ';

// ~
cA[65]=4;
cA[65]=cA[65]+' * *';
cA[65]=cA[65]+'* * ';
cA[65]=cA[65]+'    ';
cA[65]=cA[65]+'    ';
cA[65]=cA[65]+'    ';
cA[65]=cA[65]+'    ';

// special (maximal length)
cA[99]=9;
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'         ';

}

// get silkscreen bold
if (font==1) {

// &
cA[0]=6;
cA[0]=cA[0]+' ***  ';
cA[0]=cA[0]+'** ** ';
cA[0]=cA[0]+' ** **';
cA[0]=cA[0]+'** ** ';
cA[0]=cA[0]+' ** **';
cA[0]=cA[0]+'      ';

// A
cA[1]=5;
cA[1]=cA[1]+' *** ';
cA[1]=cA[1]+'** **';
cA[1]=cA[1]+'*****';
cA[1]=cA[1]+'** **';
cA[1]=cA[1]+'** **';
cA[1]=cA[1]+'     ';

// &Auml;
cA[2]=5;
cA[2]=cA[2]+'** **';
cA[2]=cA[2]+' *** ';
cA[2]=cA[2]+'** **';
cA[2]=cA[2]+'*****';
cA[2]=cA[2]+'** **';
cA[2]=cA[2]+'     ';

// B
cA[3]=5;
cA[3]=cA[3]+'**** ';
cA[3]=cA[3]+'** **';
cA[3]=cA[3]+'**** ';
cA[3]=cA[3]+'** **';
cA[3]=cA[3]+'**** ';
cA[3]=cA[3]+'     ';

// C
cA[4]=5;
cA[4]=cA[4]+' *** ';
cA[4]=cA[4]+'** **';
cA[4]=cA[4]+'**   ';
cA[4]=cA[4]+'** **';
cA[4]=cA[4]+' *** ';
cA[4]=cA[4]+'     ';

// D
cA[5]=5;
cA[5]=cA[5]+'**** ';
cA[5]=cA[5]+'** **';
cA[5]=cA[5]+'** **';
cA[5]=cA[5]+'** **';
cA[5]=cA[5]+'**** ';
cA[5]=cA[5]+'     ';

// E
cA[6]=4;
cA[6]=cA[6]+'****';
cA[6]=cA[6]+'**  ';
cA[6]=cA[6]+'****';
cA[6]=cA[6]+'**  ';
cA[6]=cA[6]+'****';
cA[6]=cA[6]+'    ';

// F
cA[7]=4;
cA[7]=cA[7]+'****';
cA[7]=cA[7]+'**  ';
cA[7]=cA[7]+'****';
cA[7]=cA[7]+'**  ';
cA[7]=cA[7]+'**  ';
cA[7]=cA[7]+'    ';

// G
cA[8]=5;
cA[8]=cA[8]+' ****';
cA[8]=cA[8]+'**   ';
cA[8]=cA[8]+'** **';
cA[8]=cA[8]+'** **';
cA[8]=cA[8]+' *** ';
cA[8]=cA[8]+'     ';

// H
cA[9]=5;
cA[9]=cA[9]+'** **';
cA[9]=cA[9]+'** **';
cA[9]=cA[9]+'*****';
cA[9]=cA[9]+'** **';
cA[9]=cA[9]+'** **';
cA[9]=cA[9]+'     ';

// I
cA[10]=2;
cA[10]=cA[10]+'**';
cA[10]=cA[10]+'**';
cA[10]=cA[10]+'**';
cA[10]=cA[10]+'**';
cA[10]=cA[10]+'**';
cA[10]=cA[10]+'  ';

// J
cA[11]=5;
cA[11]=cA[11]+'   **';
cA[11]=cA[11]+'   **';
cA[11]=cA[11]+'   **';
cA[11]=cA[11]+'** **';
cA[11]=cA[11]+' *** ';
cA[11]=cA[11]+'     ';

// K
cA[12]=5;
cA[12]=cA[12]+'** **';
cA[12]=cA[12]+'**** ';
cA[12]=cA[12]+'***  ';
cA[12]=cA[12]+'**** ';
cA[12]=cA[12]+'** **';
cA[12]=cA[12]+'     ';

// L
cA[13]=4;
cA[13]=cA[13]+'**  ';
cA[13]=cA[13]+'**  ';
cA[13]=cA[13]+'**  ';
cA[13]=cA[13]+'**  ';
cA[13]=cA[13]+'****';
cA[13]=cA[13]+'    ';

// M
cA[14]=6;
cA[14]=cA[14]+'**  **';
cA[14]=cA[14]+'******';
cA[14]=cA[14]+'******';
cA[14]=cA[14]+'**  **';
cA[14]=cA[14]+'**  **';
cA[14]=cA[14]+'      ';

// N
cA[15]=6;
cA[15]=cA[15]+'**  **';
cA[15]=cA[15]+'*** **';
cA[15]=cA[15]+'******';
cA[15]=cA[15]+'** ***';
cA[15]=cA[15]+'**  **';
cA[15]=cA[15]+'      ';

// O
cA[16]=5;
cA[16]=cA[16]+' *** ';
cA[16]=cA[16]+'** **';
cA[16]=cA[16]+'** **';
cA[16]=cA[16]+'** **';
cA[16]=cA[16]+' *** ';
cA[16]=cA[16]+'     ';

// &Ouml;
cA[17]=5;
cA[17]=cA[17]+'** **';
cA[17]=cA[17]+' *** ';
cA[17]=cA[17]+'** **';
cA[17]=cA[17]+'** **';
cA[17]=cA[17]+' *** ';
cA[17]=cA[17]+'     ';

// P
cA[18]=5;
cA[18]=cA[18]+'**** ';
cA[18]=cA[18]+'** **';
cA[18]=cA[18]+'**** ';
cA[18]=cA[18]+'**   ';
cA[18]=cA[18]+'**   ';
cA[18]=cA[18]+'     ';

// Q
cA[19]=5;
cA[19]=cA[19]+' *** ';
cA[19]=cA[19]+'** **';
cA[19]=cA[19]+'** **';
cA[19]=cA[19]+'** **';
cA[19]=cA[19]+' *** ';
cA[19]=cA[19]+'   **';

// R
cA[20]=5;
cA[20]=cA[20]+'**** ';
cA[20]=cA[20]+'** **';
cA[20]=cA[20]+'**** ';
cA[20]=cA[20]+'**** ';
cA[20]=cA[20]+'** **';
cA[20]=cA[20]+'     ';

// S
cA[21]=5;
cA[21]=cA[21]+' ****';
cA[21]=cA[21]+'**   ';
cA[21]=cA[21]+' *** ';
cA[21]=cA[21]+'   **';
cA[21]=cA[21]+'**** ';
cA[21]=cA[21]+'     ';

// T
cA[22]=4;
cA[22]=cA[22]+'****';
cA[22]=cA[22]+' ** ';
cA[22]=cA[22]+' ** ';
cA[22]=cA[22]+' ** ';
cA[22]=cA[22]+' ** ';
cA[22]=cA[22]+'    ';

// U
cA[23]=5;
cA[23]=cA[23]+'** **';
cA[23]=cA[23]+'** **';
cA[23]=cA[23]+'** **';
cA[23]=cA[23]+'** **';
cA[23]=cA[23]+' *** ';
cA[23]=cA[23]+'     ';

// &Uuml;
cA[24]=5;
cA[24]=cA[24]+'** **';
cA[24]=cA[24]+'     ';
cA[24]=cA[24]+'** **';
cA[24]=cA[24]+'** **';
cA[24]=cA[24]+' *** ';
cA[24]=cA[24]+'     ';

// V
cA[25]=6;
cA[25]=cA[25]+'**  **';
cA[25]=cA[25]+'**  **';
cA[25]=cA[25]+' **** ';
cA[25]=cA[25]+' **** ';
cA[25]=cA[25]+'  **  ';
cA[25]=cA[25]+'      ';

// W
cA[26]=6;
cA[26]=cA[26]+'**  **';
cA[26]=cA[26]+'******';
cA[26]=cA[26]+'******';
cA[26]=cA[26]+'******';
cA[26]=cA[26]+' **** ';
cA[26]=cA[26]+'      ';

// X
cA[27]=6;
cA[27]=cA[27]+'**  **';
cA[27]=cA[27]+' **** ';
cA[27]=cA[27]+'  **  ';
cA[27]=cA[27]+' **** ';
cA[27]=cA[27]+'**  **';
cA[27]=cA[27]+'      ';

// Y
cA[28]=6;
cA[28]=cA[28]+'**  **';
cA[28]=cA[28]+' **** ';
cA[28]=cA[28]+'  **  ';
cA[28]=cA[28]+'  **  ';
cA[28]=cA[28]+'  **  ';
cA[28]=cA[28]+'      ';

// Z
cA[29]=4;
cA[29]=cA[29]+'****';
cA[29]=cA[29]+'  **';
cA[29]=cA[29]+' ** ';
cA[29]=cA[29]+'**  ';
cA[29]=cA[29]+'****';
cA[29]=cA[29]+'    ';

// 0
cA[30]=5;
cA[30]=cA[30]+' *** ';
cA[30]=cA[30]+'** **';
cA[30]=cA[30]+'** **';
cA[30]=cA[30]+'** **';
cA[30]=cA[30]+' *** ';
cA[30]=cA[30]+'     ';

// 1
cA[31]=5;
cA[31]=cA[31]+' *** ';
cA[31]=cA[31]+'  ** ';
cA[31]=cA[31]+'  ** ';
cA[31]=cA[31]+'  ** ';
cA[31]=cA[31]+' ****';
cA[31]=cA[31]+'     ';

// 2
cA[32]=5;
cA[32]=cA[32]+'**** ';
cA[32]=cA[32]+'   **';
cA[32]=cA[32]+' *** ';
cA[32]=cA[32]+'**   ';
cA[32]=cA[32]+'*****';
cA[32]=cA[32]+'     ';

// 3
cA[33]=5;
cA[33]=cA[33]+'**** ';
cA[33]=cA[33]+'   **';
cA[33]=cA[33]+' *** ';
cA[33]=cA[33]+'   **';
cA[33]=cA[33]+'**** ';
cA[33]=cA[33]+'     ';

// 4
cA[34]=5;
cA[34]=cA[34]+'**** ';
cA[34]=cA[34]+'**** ';
cA[34]=cA[34]+'**** ';
cA[34]=cA[34]+'*****';
cA[34]=cA[34]+'  ** ';
cA[34]=cA[34]+'     ';

// 5
cA[35]=5;
cA[35]=cA[35]+'*****';
cA[35]=cA[35]+'**   ';
cA[35]=cA[35]+'**** ';
cA[35]=cA[35]+'   **';
cA[35]=cA[35]+'**** ';
cA[35]=cA[35]+'     ';

// 6
cA[36]=5;
cA[36]=cA[36]+' *** ';
cA[36]=cA[36]+'**   ';
cA[36]=cA[36]+'**** ';
cA[36]=cA[36]+'** **';
cA[36]=cA[36]+' *** ';
cA[36]=cA[36]+'     ';

// 7
cA[37]=5;
cA[37]=cA[37]+'*****';
cA[37]=cA[37]+'   **';
cA[37]=cA[37]+'  ** ';
cA[37]=cA[37]+' **  ';
cA[37]=cA[37]+' **  ';
cA[37]=cA[37]+'     ';

// 8
cA[38]=5;
cA[38]=cA[38]+' *** ';
cA[38]=cA[38]+'** **';
cA[38]=cA[38]+' *** ';
cA[38]=cA[38]+'** **';
cA[38]=cA[38]+' *** ';
cA[38]=cA[38]+'     ';

// 9
cA[39]=5;
cA[39]=cA[39]+' *** ';
cA[39]=cA[39]+'** **';
cA[39]=cA[39]+' ****';
cA[39]=cA[39]+'   **';
cA[39]=cA[39]+' *** ';
cA[39]=cA[39]+'     ';

// white space
cA[40]=2;
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';

// [
cA[41]=3;
cA[41]=cA[41]+'***';
cA[41]=cA[41]+'** ';
cA[41]=cA[41]+'** ';
cA[41]=cA[41]+'** ';
cA[41]=cA[41]+'***';
cA[41]=cA[41]+'   ';

// ]
cA[42]=3;
cA[42]=cA[42]+'***';
cA[42]=cA[42]+' **';
cA[42]=cA[42]+' **';
cA[42]=cA[42]+' **';
cA[42]=cA[42]+'***';
cA[42]=cA[42]+'   ';

// ^
cA[43]=4;
cA[43]=cA[43]+' ** ';
cA[43]=cA[43]+'****';
cA[43]=cA[43]+'    ';
cA[43]=cA[43]+'    ';
cA[43]=cA[43]+'    ';
cA[43]=cA[43]+'    ';

// (
cA[44]=3;
cA[44]=cA[44]+' **';
cA[44]=cA[44]+'** ';
cA[44]=cA[44]+'** ';
cA[44]=cA[44]+'** ';
cA[44]=cA[44]+' **';
cA[44]=cA[44]+'   ';

// )
cA[45]=3;
cA[45]=cA[45]+'** ';
cA[45]=cA[45]+' **';
cA[45]=cA[45]+' **';
cA[45]=cA[45]+' **';
cA[45]=cA[45]+'** ';
cA[45]=cA[45]+'   ';

// <
cA[46]=4;
cA[46]=cA[46]+'  **';
cA[46]=cA[46]+' ** ';
cA[46]=cA[46]+'**  ';
cA[46]=cA[46]+' ** ';
cA[46]=cA[46]+'  **';
cA[46]=cA[46]+'    ';

// >
cA[47]=4;
cA[47]=cA[47]+'**  ';
cA[47]=cA[47]+' ** ';
cA[47]=cA[47]+'  **';
cA[47]=cA[47]+' ** ';
cA[47]=cA[47]+'**  ';
cA[47]=cA[47]+'    ';

// |
cA[48]=2;
cA[48]=cA[48]+'**';
cA[48]=cA[48]+'**';
cA[48]=cA[48]+'**';
cA[48]=cA[48]+'**';
cA[48]=cA[48]+'**';
cA[48]=cA[48]+'**';

// _
cA[49]=5;
cA[49]=cA[49]+'     ';
cA[49]=cA[49]+'     ';
cA[49]=cA[49]+'     ';
cA[49]=cA[49]+'     ';
cA[49]=cA[49]+'*****';
cA[49]=cA[49]+'     ';

// -
cA[50]=4;
cA[50]=cA[50]+'    ';
cA[50]=cA[50]+'    ';
cA[50]=cA[50]+'****';
cA[50]=cA[50]+'    ';
cA[50]=cA[50]+'    ';
cA[50]=cA[50]+'    ';

// +
cA[51]=6;
cA[51]=cA[51]+'  **  ';
cA[51]=cA[51]+'  **  ';
cA[51]=cA[51]+'******';
cA[51]=cA[51]+'  **  ';
cA[51]=cA[51]+'  **  ';
cA[51]=cA[51]+'      ';

// ! 
cA[52]=2;
cA[52]=cA[52]+'**';
cA[52]=cA[52]+'**';
cA[52]=cA[52]+'**';
cA[52]=cA[52]+'  ';
cA[52]=cA[52]+'**';
cA[52]=cA[52]+'  ';

// ?
cA[53]=4;
cA[53]=cA[53]+'*** ';
cA[53]=cA[53]+'  **';
cA[53]=cA[53]+'*** ';
cA[53]=cA[53]+'    ';
cA[53]=cA[53]+'**  ';
cA[53]=cA[53]+'    ';

// =
cA[54]=3;
cA[54]=cA[54]+'    ';
cA[54]=cA[54]+'****';
cA[54]=cA[54]+'    ';
cA[54]=cA[54]+'****';
cA[54]=cA[54]+'    ';
cA[54]=cA[54]+'    ';

// .
cA[55]=2;
cA[55]=cA[55]+'  ';
cA[55]=cA[55]+'  ';
cA[55]=cA[55]+'  ';
cA[55]=cA[55]+'  ';
cA[55]=cA[55]+'**';
cA[55]=cA[55]+'  ';

// ;
cA[56]=2;
cA[56]=cA[56]+'  ';
cA[56]=cA[56]+'  ';
cA[56]=cA[56]+'**';
cA[56]=cA[56]+'  ';
cA[56]=cA[56]+'**';
cA[56]=cA[56]+'  ';

// ,
cA[57]=3;
cA[57]=cA[57]+'   ';
cA[57]=cA[57]+'   ';
cA[57]=cA[57]+'   ';
cA[57]=cA[57]+'   ';
cA[57]=cA[57]+' **';
cA[57]=cA[57]+'** ';

// @
cA[58]=6;
cA[58]=cA[58]+' **** ';
cA[58]=cA[58]+'******';
cA[58]=cA[58]+'******';
cA[58]=cA[58]+'**    ';
cA[58]=cA[58]+' **** ';
cA[58]=cA[58]+'      ';

// /
cA[59]=4;
cA[59]=cA[59]+'  **';
cA[59]=cA[59]+'  **';
cA[59]=cA[59]+' ** ';
cA[59]=cA[59]+'**  ';
cA[59]=cA[59]+'**  ';
cA[59]=cA[59]+'    ';

// *
cA[60]=6;
cA[60]=cA[60]+'  **  ';
cA[60]=cA[60]+'******';
cA[60]=cA[60]+' **** ';
cA[60]=cA[60]+'******';
cA[60]=cA[60]+'  **  ';
cA[60]=cA[60]+'      ';

// %
cA[61]=7;
cA[61]=cA[61]+'*** ** ';
cA[61]=cA[61]+'*** ** ';
cA[61]=cA[61]+'  **   ';
cA[61]=cA[61]+' ** ***';
cA[61]=cA[61]+' ** ***';
cA[61]=cA[61]+'       ';

// #
cA[62]=7;
cA[62]=cA[62]+' ** ** ';
cA[62]=cA[62]+'*******';
cA[62]=cA[62]+' ** ** ';
cA[62]=cA[62]+'*******';
cA[62]=cA[62]+' ** ** ';
cA[62]=cA[62]+'       ';

// { (prints ')
cA[63]=2;
cA[63]=cA[63]+'**';
cA[63]=cA[63]+'**';
cA[63]=cA[63]+'  ';
cA[63]=cA[63]+'  ';
cA[63]=cA[63]+'  ';
cA[63]=cA[63]+'  ';

// } (prints ")
cA[64]=5;
cA[64]=cA[64]+'** **';
cA[64]=cA[64]+'** **';
cA[64]=cA[64]+'     ';
cA[64]=cA[64]+'     ';
cA[64]=cA[64]+'     ';
cA[64]=cA[64]+'     ';

// ~
cA[65]=6;
cA[65]=cA[65]+' ** **';
cA[65]=cA[65]+'** ** ';
cA[65]=cA[65]+'      ';
cA[65]=cA[65]+'      ';
cA[65]=cA[65]+'      ';
cA[65]=cA[65]+'      ';

// special (maximal length)
cA[99]=9;
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'         ';

}

// get lipod
if (font==2) {

// &
cA[0]=5;
cA[0]=cA[0]+'     ';
cA[0]=cA[0]+' **  ';
cA[0]=cA[0]+'*  * ';
cA[0]=cA[0]+' *   ';
cA[0]=cA[0]+'* ***';
cA[0]=cA[0]+'*  * ';
cA[0]=cA[0]+' *** ';
cA[0]=cA[0]+'      ';
cA[0]=cA[0]+'      ';
cA[0]=cA[0]+'      ';

// A
cA[1]=4;
cA[1]=cA[1]+'    ';
cA[1]=cA[1]+'    ';
cA[1]=cA[1]+' ** ';
cA[1]=cA[1]+'*  *';
cA[1]=cA[1]+'****';
cA[1]=cA[1]+'*  *';
cA[1]=cA[1]+'*  *';
cA[1]=cA[1]+'    ';
cA[1]=cA[1]+'    ';
cA[1]=cA[1]+'    ';

// &Auml;
cA[2]=4;
cA[2]=cA[2]+'*  *';
cA[2]=cA[2]+'    ';
cA[2]=cA[2]+' ** ';
cA[2]=cA[2]+'*  *';
cA[2]=cA[2]+'****';
cA[2]=cA[2]+'*  *';
cA[2]=cA[2]+'*  *';
cA[2]=cA[2]+'    ';
cA[2]=cA[2]+'    ';
cA[2]=cA[2]+'    ';

// B
cA[3]=4;
cA[3]=cA[3]+'    ';
cA[3]=cA[3]+'    ';
cA[3]=cA[3]+'*** ';
cA[3]=cA[3]+'*  *';
cA[3]=cA[3]+'*** ';
cA[3]=cA[3]+'*  *';
cA[3]=cA[3]+'*** ';
cA[3]=cA[3]+'    ';
cA[3]=cA[3]+'    ';
cA[3]=cA[3]+'    ';

// C
cA[4]=4;
cA[4]=cA[4]+'    ';
cA[4]=cA[4]+'    ';
cA[4]=cA[4]+' ** ';
cA[4]=cA[4]+'*  *';
cA[4]=cA[4]+'*   ';
cA[4]=cA[4]+'*  *';
cA[4]=cA[4]+' ** ';
cA[4]=cA[4]+'    ';
cA[4]=cA[4]+'    ';
cA[4]=cA[4]+'    ';

// D
cA[5]=4;
cA[5]=cA[5]+'    ';
cA[5]=cA[5]+'    ';
cA[5]=cA[5]+'*** ';
cA[5]=cA[5]+'*  *';
cA[5]=cA[5]+'*  *';
cA[5]=cA[5]+'*  *';
cA[5]=cA[5]+'*** ';
cA[5]=cA[5]+'    ';
cA[5]=cA[5]+'    ';
cA[5]=cA[5]+'    ';

// E
cA[6]=3;
cA[6]=cA[6]+'   ';
cA[6]=cA[6]+'   ';
cA[6]=cA[6]+'***';
cA[6]=cA[6]+'*  ';
cA[6]=cA[6]+'***';
cA[6]=cA[6]+'*  ';
cA[6]=cA[6]+'***';
cA[6]=cA[6]+'   ';
cA[6]=cA[6]+'   ';
cA[6]=cA[6]+'   ';

// F
cA[7]=3;
cA[7]=cA[7]+'   ';
cA[7]=cA[7]+'   ';
cA[7]=cA[7]+'***';
cA[7]=cA[7]+'*  ';
cA[7]=cA[7]+'***';
cA[7]=cA[7]+'*  ';
cA[7]=cA[7]+'*  ';
cA[7]=cA[7]+'   ';
cA[7]=cA[7]+'   ';
cA[7]=cA[7]+'   ';

// G
cA[8]=4;
cA[8]=cA[8]+'    ';
cA[8]=cA[8]+'    ';
cA[8]=cA[8]+' ** ';
cA[8]=cA[8]+'*   ';
cA[8]=cA[8]+'* **';
cA[8]=cA[8]+'*  *';
cA[8]=cA[8]+' ** ';
cA[8]=cA[8]+'    ';
cA[8]=cA[8]+'    ';
cA[8]=cA[8]+'    ';

// H
cA[9]=4;
cA[9]=cA[9]+'    ';
cA[9]=cA[9]+'    ';
cA[9]=cA[9]+'*  *';
cA[9]=cA[9]+'*  *';
cA[9]=cA[9]+'****';
cA[9]=cA[9]+'*  *';
cA[9]=cA[9]+'*  *';
cA[9]=cA[9]+'    ';
cA[9]=cA[9]+'    ';
cA[9]=cA[9]+'    ';

// I
cA[10]=3;
cA[10]=cA[10]+'   ';
cA[10]=cA[10]+'   ';
cA[10]=cA[10]+'***';
cA[10]=cA[10]+' * ';
cA[10]=cA[10]+' * ';
cA[10]=cA[10]+' * ';
cA[10]=cA[10]+'***';
cA[10]=cA[10]+'   ';
cA[10]=cA[10]+'   ';
cA[10]=cA[10]+'   ';

// J
cA[11]=4;
cA[11]=cA[11]+'    ';
cA[11]=cA[11]+'    ';
cA[11]=cA[11]+' ***';
cA[11]=cA[11]+'  * ';
cA[11]=cA[11]+'  * ';
cA[11]=cA[11]+'* * ';
cA[11]=cA[11]+' *  ';
cA[11]=cA[11]+'    ';
cA[11]=cA[11]+'    ';
cA[11]=cA[11]+'    ';

// K
cA[12]=4;
cA[12]=cA[12]+'    ';
cA[12]=cA[12]+'    ';
cA[12]=cA[12]+'*  *';
cA[12]=cA[12]+'* * ';
cA[12]=cA[12]+'**  ';
cA[12]=cA[12]+'* * ';
cA[12]=cA[12]+'*  *';
cA[12]=cA[12]+'    ';
cA[12]=cA[12]+'    ';
cA[12]=cA[12]+'    ';

// L
cA[13]=3;
cA[13]=cA[13]+'   ';
cA[13]=cA[13]+'   ';
cA[13]=cA[13]+'*  ';
cA[13]=cA[13]+'*  ';
cA[13]=cA[13]+'*  ';
cA[13]=cA[13]+'*  ';
cA[13]=cA[13]+'***';
cA[13]=cA[13]+'   ';
cA[13]=cA[13]+'   ';
cA[13]=cA[13]+'   ';

// M
cA[14]=5;
cA[14]=cA[14]+'     ';
cA[14]=cA[14]+'     ';
cA[14]=cA[14]+'*   *';
cA[14]=cA[14]+'** **';
cA[14]=cA[14]+'* * *';
cA[14]=cA[14]+'*   *';
cA[14]=cA[14]+'*   *';
cA[14]=cA[14]+'     ';
cA[14]=cA[14]+'     ';
cA[14]=cA[14]+'     ';

// N
cA[15]=4;
cA[15]=cA[15]+'    ';
cA[15]=cA[15]+'    ';
cA[15]=cA[15]+'*  *';
cA[15]=cA[15]+'** *';
cA[15]=cA[15]+'* **';
cA[15]=cA[15]+'*  *';
cA[15]=cA[15]+'*  *';
cA[15]=cA[15]+'    ';
cA[15]=cA[15]+'    ';
cA[15]=cA[15]+'    ';

// O
cA[16]=4;
cA[16]=cA[16]+'    ';
cA[16]=cA[16]+'    ';
cA[16]=cA[16]+' ** ';
cA[16]=cA[16]+'*  *';
cA[16]=cA[16]+'*  *';
cA[16]=cA[16]+'*  *';
cA[16]=cA[16]+' ** ';
cA[16]=cA[16]+'    ';
cA[16]=cA[16]+'    ';
cA[16]=cA[16]+'    ';

// &Ouml;
cA[17]=4;
cA[17]=cA[17]+'*  *';
cA[17]=cA[17]+'    ';
cA[17]=cA[17]+' ** ';
cA[17]=cA[17]+'*  *';
cA[17]=cA[17]+'*  *';
cA[17]=cA[17]+'*  *';
cA[17]=cA[17]+' ** ';
cA[17]=cA[17]+'    ';
cA[17]=cA[17]+'    ';
cA[17]=cA[17]+'    ';

// P
cA[18]=4;
cA[18]=cA[18]+'    ';
cA[18]=cA[18]+'    ';
cA[18]=cA[18]+'*** ';
cA[18]=cA[18]+'*  *';
cA[18]=cA[18]+'*** ';
cA[18]=cA[18]+'*   ';
cA[18]=cA[18]+'*   ';
cA[18]=cA[18]+'    ';
cA[18]=cA[18]+'    ';
cA[18]=cA[18]+'    ';

// Q
cA[19]=4;
cA[19]=cA[19]+'    ';
cA[19]=cA[19]+'    ';
cA[19]=cA[19]+' ** ';
cA[19]=cA[19]+'*  *';
cA[19]=cA[19]+'*  *';
cA[19]=cA[19]+'*  *';
cA[19]=cA[19]+' ** ';
cA[19]=cA[19]+'  * ';
cA[19]=cA[19]+' *  ';
cA[19]=cA[19]+'    ';

// R
cA[20]=4;
cA[20]=cA[20]+'    ';
cA[20]=cA[20]+'    ';
cA[20]=cA[20]+'*** ';
cA[20]=cA[20]+'*  *';
cA[20]=cA[20]+'*** ';
cA[20]=cA[20]+'* * ';
cA[20]=cA[20]+'*  *';
cA[20]=cA[20]+'    ';
cA[20]=cA[20]+'    ';
cA[20]=cA[20]+'    ';

// S
cA[21]=3;
cA[21]=cA[21]+'   ';
cA[21]=cA[21]+'   ';
cA[21]=cA[21]+' **';
cA[21]=cA[21]+'*  ';
cA[21]=cA[21]+' * ';
cA[21]=cA[21]+'  *';
cA[21]=cA[21]+'** ';
cA[21]=cA[21]+'   ';
cA[21]=cA[21]+'   ';
cA[21]=cA[21]+'   ';

// T
cA[22]=5;
cA[22]=cA[22]+'     ';
cA[22]=cA[22]+'     ';
cA[22]=cA[22]+'*****';
cA[22]=cA[22]+'  *  ';
cA[22]=cA[22]+'  *  ';
cA[22]=cA[22]+'  *  ';
cA[22]=cA[22]+'  *  ';
cA[22]=cA[22]+'     ';
cA[22]=cA[22]+'     ';
cA[22]=cA[22]+'     ';

// U
cA[23]=4;
cA[23]=cA[23]+'    ';
cA[23]=cA[23]+'    ';
cA[23]=cA[23]+'*  *';
cA[23]=cA[23]+'*  *';
cA[23]=cA[23]+'*  *';
cA[23]=cA[23]+'*  *';
cA[23]=cA[23]+' ** ';
cA[23]=cA[23]+'    ';
cA[23]=cA[23]+'    ';
cA[23]=cA[23]+'    ';

// &Uuml;
cA[24]=4;
cA[24]=cA[24]+'*  *';
cA[24]=cA[24]+'    ';
cA[24]=cA[24]+'*  *';
cA[24]=cA[24]+'*  *';
cA[24]=cA[24]+'*  *';
cA[24]=cA[24]+'*  *';
cA[24]=cA[24]+' ** ';
cA[24]=cA[24]+'    ';
cA[24]=cA[24]+'    ';
cA[24]=cA[24]+'    ';

// V
cA[25]=5;
cA[25]=cA[25]+'     ';
cA[25]=cA[25]+'     ';
cA[25]=cA[25]+'*   *';
cA[25]=cA[25]+' * * ';
cA[25]=cA[25]+' * * ';
cA[25]=cA[25]+'  *  ';
cA[25]=cA[25]+'  *  ';
cA[25]=cA[25]+'     ';
cA[25]=cA[25]+'     ';
cA[25]=cA[25]+'     ';

// W
cA[26]=7;
cA[26]=cA[26]+'       ';
cA[26]=cA[26]+'       ';
cA[26]=cA[26]+'*     *';
cA[26]=cA[26]+' * * * ';
cA[26]=cA[26]+' * * * ';
cA[26]=cA[26]+'  * *  ';
cA[26]=cA[26]+'  * *  ';
cA[26]=cA[26]+'       ';
cA[26]=cA[26]+'       ';
cA[26]=cA[26]+'       ';

// X
cA[27]=5;
cA[27]=cA[27]+'     ';
cA[27]=cA[27]+'     ';
cA[27]=cA[27]+'*   *';
cA[27]=cA[27]+' * * ';
cA[27]=cA[27]+'  *  ';
cA[27]=cA[27]+' * * ';
cA[27]=cA[27]+'*   *';
cA[27]=cA[27]+'     ';
cA[27]=cA[27]+'     ';
cA[27]=cA[27]+'     ';

// Y
cA[28]=5;
cA[28]=cA[28]+'     ';
cA[28]=cA[28]+'     ';
cA[28]=cA[28]+'*   *';
cA[28]=cA[28]+' * * ';
cA[28]=cA[28]+'  *  ';
cA[28]=cA[28]+'  *  ';
cA[28]=cA[28]+'  *  ';
cA[28]=cA[28]+'     ';
cA[28]=cA[28]+'     ';
cA[28]=cA[28]+'     ';

// Z
cA[29]=3;
cA[29]=cA[29]+'   ';
cA[29]=cA[29]+'   ';
cA[29]=cA[29]+'***';
cA[29]=cA[29]+'  *';
cA[29]=cA[29]+' * ';
cA[29]=cA[29]+'*  ';
cA[29]=cA[29]+'***';
cA[29]=cA[29]+'   ';
cA[29]=cA[29]+'   ';
cA[29]=cA[29]+'   ';

// 0
cA[30]=4;
cA[30]=cA[30]+'    ';
cA[30]=cA[30]+'    ';
cA[30]=cA[30]+' ** ';
cA[30]=cA[30]+'*  *';
cA[30]=cA[30]+'*  *';
cA[30]=cA[30]+'*  *';
cA[30]=cA[30]+' ** ';
cA[30]=cA[30]+'    ';
cA[30]=cA[30]+'    ';
cA[30]=cA[30]+'    ';

// 1
cA[31]=3;
cA[31]=cA[31]+'   ';
cA[31]=cA[31]+'   ';
cA[31]=cA[31]+'** ';
cA[31]=cA[31]+' * ';
cA[31]=cA[31]+' * ';
cA[31]=cA[31]+' * ';
cA[31]=cA[31]+'***';
cA[31]=cA[31]+'   ';
cA[31]=cA[31]+'   ';
cA[31]=cA[31]+'   ';

// 2
cA[32]=4;
cA[32]=cA[32]+'    ';
cA[32]=cA[32]+'    ';
cA[32]=cA[32]+'*** ';
cA[32]=cA[32]+'   *';
cA[32]=cA[32]+' ** ';
cA[32]=cA[32]+'*   ';
cA[32]=cA[32]+'****';
cA[32]=cA[32]+'    ';
cA[32]=cA[32]+'    ';
cA[32]=cA[32]+'    ';

// 3
cA[33]=4;
cA[33]=cA[33]+'    ';
cA[33]=cA[33]+'    ';
cA[33]=cA[33]+' ** ';
cA[33]=cA[33]+'*  *';
cA[33]=cA[33]+'  * ';
cA[33]=cA[33]+'*  *';
cA[33]=cA[33]+' ** ';
cA[33]=cA[33]+'    ';
cA[33]=cA[33]+'    ';
cA[33]=cA[33]+'    ';

// 4
cA[34]=4;
cA[34]=cA[34]+'    ';
cA[34]=cA[34]+'    ';
cA[34]=cA[34]+'  * ';
cA[34]=cA[34]+' *  ';
cA[34]=cA[34]+'* * ';
cA[34]=cA[34]+'****';
cA[34]=cA[34]+'  * ';
cA[34]=cA[34]+'    ';
cA[34]=cA[34]+'    ';
cA[34]=cA[34]+'    ';

// 5
cA[35]=4;
cA[35]=cA[35]+'    ';
cA[35]=cA[35]+'    ';
cA[35]=cA[35]+'*** ';
cA[35]=cA[35]+'*   ';
cA[35]=cA[35]+'*** ';
cA[35]=cA[35]+'   *';
cA[35]=cA[35]+'*** ';
cA[35]=cA[35]+'    ';
cA[35]=cA[35]+'    ';
cA[35]=cA[35]+'    ';

// 6
cA[36]=4;
cA[36]=cA[36]+'    ';
cA[36]=cA[36]+'    ';
cA[36]=cA[36]+'  * ';
cA[36]=cA[36]+' *  ';
cA[36]=cA[36]+'*** ';
cA[36]=cA[36]+'*  *';
cA[36]=cA[36]+' ** ';
cA[36]=cA[36]+'    ';
cA[36]=cA[36]+'    ';
cA[36]=cA[36]+'    ';

// 7
cA[37]=4;
cA[37]=cA[37]+'    ';
cA[37]=cA[37]+'    ';
cA[37]=cA[37]+'****';
cA[37]=cA[37]+'  * ';
cA[37]=cA[37]+'  * ';
cA[37]=cA[37]+' *  ';
cA[37]=cA[37]+' *  ';
cA[37]=cA[37]+'    ';
cA[37]=cA[37]+'    ';
cA[37]=cA[37]+'    ';

// 8
cA[38]=4;
cA[38]=cA[38]+'    ';
cA[38]=cA[38]+'    ';
cA[38]=cA[38]+' ** ';
cA[38]=cA[38]+'*  *';
cA[38]=cA[38]+' ** ';
cA[38]=cA[38]+'*  *';
cA[38]=cA[38]+' ** ';
cA[38]=cA[38]+'    ';
cA[38]=cA[38]+'    ';
cA[38]=cA[38]+'    ';

// 9
cA[39]=4;
cA[39]=cA[39]+'    ';
cA[39]=cA[39]+'    ';
cA[39]=cA[39]+' ** ';
cA[39]=cA[39]+'*  *';
cA[39]=cA[39]+' ***';
cA[39]=cA[39]+'  * ';
cA[39]=cA[39]+' *  ';
cA[39]=cA[39]+'    ';
cA[39]=cA[39]+'    ';
cA[39]=cA[39]+'    ';

// white space
cA[40]=2;
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';
cA[40]=cA[40]+'  ';

// [
cA[41]=2;
cA[41]=cA[41]+'**';
cA[41]=cA[41]+'* ';
cA[41]=cA[41]+'* ';
cA[41]=cA[41]+'* ';
cA[41]=cA[41]+'* ';
cA[41]=cA[41]+'* ';
cA[41]=cA[41]+'* ';
cA[41]=cA[41]+'* ';
cA[41]=cA[41]+'**';
cA[41]=cA[41]+'  ';

// ]
cA[42]=2;
cA[42]=cA[42]+'**';
cA[42]=cA[42]+' *';
cA[42]=cA[42]+' *';
cA[42]=cA[42]+' *';
cA[42]=cA[42]+' *';
cA[42]=cA[42]+' *';
cA[42]=cA[42]+' *';
cA[42]=cA[42]+' *';
cA[42]=cA[42]+'**';
cA[42]=cA[42]+'  ';

// ^
cA[43]=5;
cA[43]=cA[43]+'     ';
cA[43]=cA[43]+'  *  ';
cA[43]=cA[43]+' * * ';
cA[43]=cA[43]+'*   *';
cA[43]=cA[43]+'     ';
cA[43]=cA[43]+'     ';
cA[43]=cA[43]+'     ';
cA[43]=cA[43]+'     ';
cA[43]=cA[43]+'     ';
cA[43]=cA[43]+'     ';

// (
cA[44]=3;
cA[44]=cA[44]+'  *';
cA[44]=cA[44]+' * ';
cA[44]=cA[44]+'*  ';
cA[44]=cA[44]+'*  ';
cA[44]=cA[44]+'*  ';
cA[44]=cA[44]+'*  ';
cA[44]=cA[44]+'*  ';
cA[44]=cA[44]+' * ';
cA[44]=cA[44]+'  *';
cA[44]=cA[44]+'   ';

// )
cA[45]=3;
cA[45]=cA[45]+'*  ';
cA[45]=cA[45]+' * ';
cA[45]=cA[45]+'  *';
cA[45]=cA[45]+'  *';
cA[45]=cA[45]+'  *';
cA[45]=cA[45]+'  *';
cA[45]=cA[45]+'  *';
cA[45]=cA[45]+' * ';
cA[45]=cA[45]+'*  ';
cA[45]=cA[45]+'   ';

// <
cA[46]=4;
cA[46]=cA[46]+'   *';
cA[46]=cA[46]+'  * ';
cA[46]=cA[46]+' *  ';
cA[46]=cA[46]+'*   ';
cA[46]=cA[46]+' *  ';
cA[46]=cA[46]+'  * ';
cA[46]=cA[46]+'   *';
cA[46]=cA[46]+'    ';
cA[46]=cA[46]+'    ';
cA[46]=cA[46]+'    ';

// >
cA[47]=4;
cA[47]=cA[47]+'*   ';
cA[47]=cA[47]+' *  ';
cA[47]=cA[47]+'  * ';
cA[47]=cA[47]+'   *';
cA[47]=cA[47]+'  * ';
cA[47]=cA[47]+' *  ';
cA[47]=cA[47]+'*   ';
cA[47]=cA[47]+'    ';
cA[47]=cA[47]+'    ';
cA[47]=cA[47]+'    ';

// |
cA[48]=1;
cA[48]=cA[48]+'*';
cA[48]=cA[48]+'*';
cA[48]=cA[48]+'*';
cA[48]=cA[48]+'*';
cA[48]=cA[48]+'*';
cA[48]=cA[48]+'*';
cA[48]=cA[48]+'*';
cA[48]=cA[48]+'*';
cA[48]=cA[48]+'*';
cA[48]=cA[48]+' ';

// _
cA[49]=5;
cA[49]=cA[49]+'     ';
cA[49]=cA[49]+'     ';
cA[49]=cA[49]+'     ';
cA[49]=cA[49]+'     ';
cA[49]=cA[49]+'     ';
cA[49]=cA[49]+'     ';
cA[49]=cA[49]+'     ';
cA[49]=cA[49]+'*****';
cA[49]=cA[49]+'     ';
cA[49]=cA[49]+'     ';

// -
cA[50]=4;
cA[50]=cA[50]+'    ';
cA[50]=cA[50]+'    ';
cA[50]=cA[50]+'    ';
cA[50]=cA[50]+'    ';
cA[50]=cA[50]+'****';
cA[50]=cA[50]+'    ';
cA[50]=cA[50]+'    ';
cA[50]=cA[50]+'    ';
cA[50]=cA[50]+'    ';
cA[50]=cA[50]+'    ';

// +
cA[51]=5;
cA[51]=cA[51]+'     ';
cA[51]=cA[51]+'     ';
cA[51]=cA[51]+'  *  ';
cA[51]=cA[51]+'  *  ';
cA[51]=cA[51]+'*****';
cA[51]=cA[51]+'  *  ';
cA[51]=cA[51]+'  *  ';
cA[51]=cA[51]+'     ';
cA[51]=cA[51]+'     ';
cA[51]=cA[51]+'     ';

// ! 
cA[52]=1;
cA[52]=cA[52]+'*';
cA[52]=cA[52]+'*';
cA[52]=cA[52]+'*';
cA[52]=cA[52]+'*';
cA[52]=cA[52]+'*';
cA[52]=cA[52]+' ';
cA[52]=cA[52]+'*';
cA[52]=cA[52]+' ';
cA[52]=cA[52]+' ';
cA[52]=cA[52]+' ';

// ?
cA[53]=4;
cA[53]=cA[53]+' ** ';
cA[53]=cA[53]+'*  *';
cA[53]=cA[53]+'   *';
cA[53]=cA[53]+'  * ';
cA[53]=cA[53]+' *  ';
cA[53]=cA[53]+'    ';
cA[53]=cA[53]+' *  ';
cA[53]=cA[53]+'    ';
cA[53]=cA[53]+'    ';
cA[53]=cA[53]+'    ';

// =
cA[54]=3;
cA[54]=cA[54]+'   ';
cA[54]=cA[54]+'   ';
cA[54]=cA[54]+'***';
cA[54]=cA[54]+'   ';
cA[54]=cA[54]+'***';
cA[54]=cA[54]+'   ';
cA[54]=cA[54]+'   ';
cA[54]=cA[54]+'   ';
cA[54]=cA[54]+'   ';
cA[54]=cA[54]+'   ';

// .
cA[55]=1;
cA[55]=cA[55]+' ';
cA[55]=cA[55]+' ';
cA[55]=cA[55]+' ';
cA[55]=cA[55]+' ';
cA[55]=cA[55]+' ';
cA[55]=cA[55]+' ';
cA[55]=cA[55]+'*';
cA[55]=cA[55]+' ';
cA[55]=cA[55]+' ';
cA[55]=cA[55]+' ';

// ;
cA[56]=1;
cA[56]=cA[56]+' ';
cA[56]=cA[56]+' ';
cA[56]=cA[56]+' ';
cA[56]=cA[56]+'*';
cA[56]=cA[56]+' ';
cA[56]=cA[56]+' ';
cA[56]=cA[56]+'*';
cA[56]=cA[56]+' ';
cA[56]=cA[56]+' ';
cA[56]=cA[56]+' ';

// ,
cA[57]=2;
cA[57]=cA[57]+'  ';
cA[57]=cA[57]+'  ';
cA[57]=cA[57]+'  ';
cA[57]=cA[57]+'  ';
cA[57]=cA[57]+'  ';
cA[57]=cA[57]+'  ';
cA[57]=cA[57]+'  ';
cA[57]=cA[57]+'**';
cA[57]=cA[57]+' *';
cA[57]=cA[57]+'* ';

// @
cA[58]=7;
cA[58]=cA[58]+'       ';
cA[58]=cA[58]+'  **** ';
cA[58]=cA[58]+' *    *';
cA[58]=cA[58]+'*  *  *';
cA[58]=cA[58]+'* * * *';
cA[58]=cA[58]+'*  *** ';
cA[58]=cA[58]+' *     ';
cA[58]=cA[58]+'  ***  ';
cA[58]=cA[58]+'       ';
cA[58]=cA[58]+'       ';

// /
cA[59]=5;
cA[59]=cA[59]+'    *';
cA[59]=cA[59]+'   * ';
cA[59]=cA[59]+'   * ';
cA[59]=cA[59]+'  *  ';
cA[59]=cA[59]+'  *  ';
cA[59]=cA[59]+' *   ';
cA[59]=cA[59]+' *   ';
cA[59]=cA[59]+'*    ';
cA[59]=cA[59]+'     ';
cA[59]=cA[59]+'     ';

// *
cA[60]=5;
cA[60]=cA[60]+'  *  ';
cA[60]=cA[60]+'* * *';
cA[60]=cA[60]+' *** ';
cA[60]=cA[60]+'* * *';
cA[60]=cA[60]+'  *  ';
cA[60]=cA[60]+'     ';
cA[60]=cA[60]+'     ';
cA[60]=cA[60]+'     ';
cA[60]=cA[60]+'     ';
cA[60]=cA[60]+'     ';

// %
cA[61]=9;
cA[61]=cA[61]+'         ';
cA[61]=cA[61]+' *    *  ';
cA[61]=cA[61]+'* *  *   ';
cA[61]=cA[61]+'* *  *   ';
cA[61]=cA[61]+' *  *  * ';
cA[61]=cA[61]+'   *  * *';
cA[61]=cA[61]+'   *  * *';
cA[61]=cA[61]+'  *    * ';
cA[61]=cA[61]+'         ';
cA[61]=cA[61]+'         ';

// #
cA[62]=5;
cA[62]=cA[62]+'     ';
cA[62]=cA[62]+'     ';
cA[62]=cA[62]+' * * ';
cA[62]=cA[62]+'*****';
cA[62]=cA[62]+' * * ';
cA[62]=cA[62]+' * * ';
cA[62]=cA[62]+'*****';
cA[62]=cA[62]+' * * ';
cA[62]=cA[62]+'     ';
cA[62]=cA[62]+'     ';

// { (prints ')
cA[63]=1;
cA[63]=cA[63]+'*';
cA[63]=cA[63]+'*';
cA[63]=cA[63]+'* ';
cA[63]=cA[63]+' ';
cA[63]=cA[63]+' ';
cA[63]=cA[63]+' ';
cA[63]=cA[63]+' ';
cA[63]=cA[63]+' ';
cA[63]=cA[63]+' ';
cA[63]=cA[63]+' ';

// } (prints ")
cA[64]=3;
cA[64]=cA[64]+'* *';
cA[64]=cA[64]+'* *';
cA[64]=cA[64]+'   ';
cA[64]=cA[64]+'   ';
cA[64]=cA[64]+'   ';
cA[64]=cA[64]+'   ';
cA[64]=cA[64]+'   ';
cA[64]=cA[64]+'   ';
cA[64]=cA[64]+'   ';
cA[64]=cA[64]+'   ';

// ~
cA[65]=6;
cA[65]=cA[65]+'    ';
cA[65]=cA[65]+'    ';
cA[65]=cA[65]+'    ';
cA[65]=cA[65]+' * *';
cA[65]=cA[65]+'* * ';
cA[65]=cA[65]+'    ';
cA[65]=cA[65]+'    ';
cA[65]=cA[65]+'    ';
cA[65]=cA[65]+'    ';
cA[65]=cA[65]+'    ';

// special (maximal length)
cA[99]=9;
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'*********';
cA[99]=cA[99]+'         ';

}

// ... and give the bitmap data back
return(cA);
}