<?php

// Copyright (c) 2006 Gosinga Forest.
// Source: http://www.gosinga.net/wp-content/opensource/velthuis-unicode.php.txt
// Free to copy, use, distribute.

echo "<html>\n
<head>\n
<title>Velthuis-Unicode Converter in Pali-Sanskrit</title>\n
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n
<style>
body, textarea, form, blockqoute, th, td {
font-family:'Lucida Sans Unicode', Verdana, Sans-serif, 굴림, Gulim;
font-size:12px;
}
div.output {
border-style: solid;
border-color: #df9961;
border-width: 1px 0 0 1px;
padding: 10px;
}
*HTML div.output {
font-family: 'Arial Unicode MS', 'Lucida Sans Unicode', Verdana, Sans-serif;
font-size:12px;
}
body {
margin-top:30px;
margin-left:50px;
}
form {
margin-top: 0px;
}
textarea {
padding: 5px;
margin:0;
height: 220px;
width: 100%;
}
blockquote {
margin: 0 auto 0 20px;
}
td {
border: 1px solid #ccc;
border-collapse: collapse;
text-align: center;
}
tr.upper td {
border-top: 0;
}
tr.under td {
border-bottom: 0;
}
td.first {
border: 0;
}
table {
width: 600px;
margin: 0;
padding: 0;
border: 0 solid #fff;
}
</style>\n
</head>\n\n
<body>\n
<span style='font-weight:bold; border-bottom:1px #f00 dashed;'>Velthuis-Unicode Converter in Pali-Sanskrit</span> │ <a href='http://www.gosinga.net/wp-content/opensource/velthuis-unicode.txt' style='text-decoration:none; color:#000; border-bottom:1px #f00 dashed;'>view code</a><br /><br />\n
Velthuis 표기법에 따라 팔리어/산스크리트어 문장을 입력하고 &quot;표기변환&quot; 단추를 누른다. 그러면 로마자 팔리어/산스크리트어로 자동 변환된다.<br />\n\n

<table>
<tr class=\"upper\">
<td class=\"first\" width=\"100\">입력(Velthuis)</td>
<td>aa</td>
<td>ii</td>
<td>uu</td>
<td>.r</td>
<td>.rr</td>
<td>.l</td>
<td>.ll</td>
<td>.m</td>
<td>.h</td>
<td>&quot;n</td>
<td>~n</td>
<td>.t</td>
<td>.d</td>
<td>.n</td>
<td>&quot;s</td>
<td>.s</td>
</tr>
<tr class=\"under\">
<td class=\"first\">출력(Unicode)</td>
<td>ā</td>
<td>ī</td>
<td>ū</td>
<td>ṛ</td>
<td>ṝ</td>
<td>ḷ</td>
<td>ḹ</td>
<td>ṃ</td>
<td>ḥ</td>
<td>ṅ</td>
<td>ñ</td>
<td>ṭ</td>
<td>ḍ</td>
<td>ṇ</td>
<td>ś</td>
<td>ṣ</td>
</tr>
</table>
<br />\n
";

echo "<form method='post'>\n";
echo "<textarea name='text'>";
if (isset($_POST['text'])) {
echo stripslashes($_POST['text']);
}
echo "</textarea>";
echo "<br />\n<input type='submit' value='표기변환' style='background-color:#333; color:#fff;' />";
echo "\n</form>\n\n";

if (isset($_POST['text'])) {
echo "아래의 변환결과는 다음의 경우들에만 해당 브라우저에서 제대로 출력된다:
<blockquote>1. Mozilla Firefox, Opera, Internet Explorer 7 등 유니코드가 제대로 지원되는 브라우저, 혹은<br />
2. Internet Explorer 6 이하 버전에서는 'Arial Unicode MS' 폰트가 설치되어 있는 경우
</blockquote>
<br />\n\n";

$palitext=$_POST['text'];

$encoding = array(
array(".LL", "&#x1E38;"), // escape from '.L'
array(".ll", "&#x1E39;"), // escape from '.l'
array(".RR", "&#x1E5C;"), // escape from '.R'
array(".rr", "&#x1E5D;"), // escape from '.r'

array("AA", "&#256;"),
array("II", "&#298;"),
array("UU", "&#362;"),
array(".D", "&#7692;"),
array(".L", "&#7734;"),
array(".M", "&#7746;"),
array("\"N", "&#7748;"),
array("~N", "&#209;"),
array(".N", "&#7750;"),
array(".T", "&#7788;"),

array("aa", "&#257;"),
array("ii", "&#299;"),
array("uu", "&#363;"),
array(".d", "&#7693;"),
array(".l", "&#7735;"),
array(".m", "&#7747;"),
array("\"n", "&#7749;"),
array("~n", "&#241;"),
array(".n", "&#7751;"),
array(".t", "&#7789;"),

array(".S", "&#7778;"),
array("\"S", "&#x015A;"),
array(".R", "&#7770;"),
array(".H", "&#x1E24;"),
array(".G", "&#x14A;"),

array(".s", "&#7779;"),
array("\"s", "&#x015B;"),
array(".r", "&#7771;"),
array(".h", "&#x1E25;"),
array(".g", "&#331;"),

array("\"M", "&#7744;"), // Pali alphabet?
array("\"m", "&#7745;"), // Pali alpabet?

array("~L", "&#x1E38;"), // redundant
array("~l", "&#x1E39"), // redundant
array("~R", "&#x1E5C;"), // redundant
array("~r", "&#x1E5D;"), // redundant
);

$arraylength = count($encoding);

for($i=0; $i<$arraylength; $i++) {
$palitext = str_replace($encoding[$i][0],$encoding[$i][1],$palitext);
}

echo "\n<div class=\"output\">" . stripslashes(nl2br($palitext)) . "<br /><br /><br /><br /><br />\n</div>";

}

echo "\n<br /><br /><br /><br /><br />\n\n</body>\n</html>";

?>