Subversion Repositories LCARS

Compare Revisions

Last modification

Regard whitespace Rev 226 → Rev 227

/trunk/application/scripts/vulcan-media-script.js
38,23 → 38,16
NG: "ρ",
NN: "þ",
SS: "β",
TCH: "M",
", ": " - ",
":": " – ",
" – ": " – ",
" — ": " – ",
"…": "—",
"~": "=",
"!": "..",
"!!!": "...",
"(": "|",
")": "|",
"[": "||",
"]": "||",
"&": "•",
"°": "¯"
TCH: "M"
};
 
var rxVulcan = jsx.object.getKeys(media_map);
rxVulcan.sort(function (a, b) { return b.length - a.length; });
rxVulcan = new RegExp(
rxVulcan.filter(function (e) { return e.length > 1; }).join("|")
+ "|[" + rxVulcan.filter(function (e) { return e.length === 1; }). join("") + "]",
"ig");
 
//jsx.object.flip = function (obj) {
// var flipped = jsx.object.inheritFrom(obj);
// var keys = jsx.object.getKeys(obj);
74,6 → 67,8
 
var media_caption;
 
var media_script_used = false;
 
function mediaScript (button)
{
vulcan_texts = jsx.dom.xpath.evaluate(
113,9 → 108,9
if (text_node.parentNode.lang != LANG_VULCAN)
{
text_node.nodeValue = text_node.nodeValue.replace(
/Tch|Ch|Sh|Th|Kh|Zh|Ts|Dzh|Ks|Ll|Ng|Nn|Ss| [–—] |, |!!!|[!STPKRLADOEVUHGINZMYFWBJX:()[\]&°…~]/gi,
rxVulcan,
function (s) {
return jsx.object.getProperty(media_map, s.toUpperCase(), s);
return jsx.object.getProperty(media_map, s.replace(/\s+/g, " ").toUpperCase(), s);
});
}
}
127,10 → 122,9
{
media_caption = button.firstChild.textContent;
button.firstChild.textContent = "Latin-Zukitan";
button.onclick = function () {
latinScript(this);
};
}
 
media_script_used = true;
}
 
function latinScript (button)
145,7 → 139,6
}
 
button.firstChild.textContent = media_caption;
button.onclick = function () {
mediaScript(this);
};
 
media_script_used = false;
}
/trunk/application/scripts/klingon.js
0,0 → 1,146
var klingon_texts = null;
 
var klingon_map = {
"A": "\uF8D0",
"B": "\uF8D1",
"CH": "\uF8D2",
"D": "\uF8D3",
"E": "\uF8D4",
"GH": "\uF8D5",
"H": "\uF8D6",
"I": "\uF8D7",
"J": "\uF8D8",
"L": "\uF8D9",
"M": "\uF8DA",
"N": "\uF8DB",
"NG": "\uF8DC",
"O": "\uF8DD",
"P": "\uF8DE",
"Q": "\uF8DF",
"QH": "\uF8E0",
"R": "\uF8E1",
"S": "\uF8E2",
"T": "\uF8E3",
"TLH": "\uF8E4",
"U": "\uF8E5",
"V": "\uF8E6",
"W": "\uF8E7",
"Y": "\uF8E8",
"'": "\uF8E9",
"0": "\uF8F0",
"1": "\uF8F1",
"2": "\uF8F2",
"3": "\uF8F3",
"4": "\uF8F4",
"5": "\uF8F5",
"6": "\uF8F6",
"7": "\uF8F7",
"8": "\uF8F8",
"9": "\uF8F9",
",": "\uF8FD",
".": "\uF8FE",
 
/* mummification glyph, symbol of the empire */
"Δ": "\uF8FF"
};
 
var rxKlingon = jsx.object.getKeys(klingon_map);
rxKlingon.sort(function (a, b) { return b.length - a.length; });
rxKlingon = new RegExp(
rxKlingon.filter(function (e) { return e.length > 1; }).join("|")
+ "|[" + rxKlingon.filter(function (e) { return e.length === 1; }). join("") + "]",
"ig");
 
//jsx.object.flip = function (obj) {
// var flipped = jsx.object.inheritFrom(obj);
// var keys = jsx.object.getKeys(obj);
//
// for (var i = 0, len = keys.length; i < len; ++i)
// {
// var key = keys[i];
// var value = obj[key];
// if (typeof value != "function")
// {
// flipped[value] = key;
// }
// }
//
// return flipped;
//};
 
var media_caption;
 
function pIqaD (button)
{
klingon_texts = jsx.dom.xpath.evaluate(
'.//*[@lang = "' + LANG_KLINGON + '"]'
+ '//*[(not(@lang) or (@lang = "' + LANG_KLINGON + '"))'
+ ' and (@class = "text")]',
document.body);
 
if (!klingon_texts)
{
return;
}
 
var previous_parent = null;
 
for (var i = 0, len = klingon_texts.length; i < len; ++i)
{
var text = klingon_texts[i];
 
text.style.fontFamily = "'pIqaD', 'Constructium', 'Code2000'";
text.style.fontSize = "90%";
 
if (!text.hasAttribute("data-html"))
{
text.setAttribute("data-html", text.innerHTML);
 
if (!text.title)
{
text.title = text.textContent;
}
}
 
var text_nodes = jsx.dom.xpath.evaluate(
'.//text()[parent::*[not(@lang) or (@lang = "' + LANG_KLINGON + '")]]',
text);
 
for (var j = 0, len2 = text_nodes.length; j < len2; ++j)
{
var text_node = text_nodes[j];
 
if (text_node.parentNode.lang != LANG_KLINGON)
{
text_node.nodeValue = text_node.nodeValue.toUpperCase().replace(
rxKlingon,
function (s) {
return jsx.object.getProperty(klingon_map, s.replace(/\s+/g, " "), s);
});
}
}
 
text.parentNode.lang = "tlh-pIqaD";
}
 
if (button)
{
media_caption = button.firstChild.textContent;
button.firstChild.textContent = "Latin";
}
}
 
function klingonLatinScript (button)
{
for (var i = 0, len = klingon_texts.length; i < len; ++i)
{
var text = klingon_texts[i];
 
text.style.fontFamily = "";
text.style.fontSize = "";
text.innerHTML = text.getAttribute('data-html');
text.parentNode.lang = "tlh-Latn";
}
 
button.firstChild.textContent = media_caption;
}