MediaWiki:OCR.js
From Mises Wiki, the global repository of classical-liberal thought
function ocr_callback(ocrtext){
var tb = document.getElementById("wpTextbox1");
tb.value = ocrtext;
tb.disabled=false;
}
function add_ocr() {
var tb = document.getElementById("wpTextbox1");
tb.disabled=true;
var input = document.getElementById("wpOcr");
if(input) input.disabled=true;
if( proofreadPageWidth <= 1024 ) thumb_url = proofreadPageViewURL;
else thumb_url = proofreadPageThumbURL.replace('##WIDTH##',1024);
request_url = "http://toolserver.org/~thomasv/ocr.php?url="+thumb_url+"&lang="+wgContentLanguage+"&user="+wgUserName;
var scriptObj = document.createElement("script");
scriptObj.setAttribute("type", "text/javascript");
scriptObj.setAttribute("src", request_url);
scriptObj.setAttribute("id", "ocr_cb");
var headLoc = document.getElementsByTagName("head").item(0);
headLoc.appendChild(scriptObj);
}
function addOCRButton2(id,comment,source,onclick){
var tb = document.getElementById("toolbar");
if(tb){
var image = document.createElement("img");
image.width = 46;
image.height = 22;
image.border = 0;
image.className = "mw-toolbar-editbutton";
image.style.cursor = "pointer";
image.alt = "OCR";
image.title = comment;
image.src = source;
image.onclick = onclick;
tb.appendChild(image);
}
}
function fraktur_ocr(){
self.wgContentLanguage = "de-f";
add_ocr();
self.wgContentLanguage = "de";
}
function addOCRButton(){
if(!self.proofreadPageIsEdit) return;
if(!self.proofreadPageViewURL) return;
//if(wgCurRevisionId)
if(self.wgContentLanguage == "de"){
addOCRButton2("wpOcr","Normale OCR","http://upload.wikimedia.org/wikipedia/commons/e/e0/Button_ocr.png",add_ocr);
addOCRButton2("wpOcr","Fraktur OCR","http://upload.wikimedia.org/wikipedia/commons/a/af/Button_Fractur_OCR.png",fraktur_ocr);
}
else addOCRButton2("wpOcr","Get the text by OCR","http://upload.wikimedia.org/wikipedia/commons/e/e0/Button_ocr.png",add_ocr);
}
if(!self.proofreadpage_disable_ocr) addOnloadHook(addOCRButton);