Counting different languages words from document using Microsoft Add-in
Following code used to counting different languages words from document file.
``js function getWordsCount() { Word.run(function (context) { var body = context.document.body; context.load(body, 'text'); return context.sync().then(function () { var str = body.text; var eng=0; var mar=0; var greek=0; for(var i=0; i < body.text.length; i++) { var n = str.charCodeAt(i); if(str.charCodeAt(i) > 32 && str.charCodeAt(i) < 127) { // console.log("\n Latin English "+ str.charCodeAt(i)); eng++; } if(n > 2304 && n < 2431) { // console.log("\n Devnagari Language "+ n); mar++; } if(n > 880 && n < 1023) { // console.log("\n Greek Language "+ n); greek++; } } console.log(body.text); console.log("\nEnglish Words: "+eng); console.log("\nDevnagari Words: "+mar); console.log("\nGreek Words: "+greek); console.log("\nTotal Words: "+(greek+eng+mar)); app.showNotification("English: "+eng+" Marathi: "+mar+" Greek: "+greek+" Total: "+(eng+mar+greek)); }); }) }````
Following code used to counting Japanese languages words from document file.
function getJapaneseCount() {
Word.run(function (context) {
var body = context.document.body;
context.load(body, 'text');
return context.sync().then(function () {
var str = body.text;
var kata=0;
var hira=0;
var sym=0;
var kangi=0;
for(var i=0; i<str.length; i++)
{
var n = str.charCodeAt(i);
if(n > 12288 && n < 12352 )
{
// document.write(" "+n+" ");
sym++;
}
else if(n> 12353 && n< 12607)
{
// document.write(" "+n+" ");
hira++;
}
else if(n > 12608 && n < 12703)
{
// document.write(" "+n+" ");
kata++;
}
else if(n >= 19968 && n <= 40802 )
{
// document.write(" "+n+" ");
kangi++;
}
else
{
// console.log("Other Words: "+str.charAt(i)+" : "+n+" ");
}
}
console.log("\nhiragana Words: "+hira);
console.log("\nSymbol Words: "+sym);
console.log("\nKatakana Words: "+kata);
console.log("\nKangi Words: "+kangi);
console.log("\nTotal Counted Words: "+(hira+sym+kata+kangi));
// console.log("\nTotal Length: "+str.length);
app.showNotification("Hirakana: "+hira+" \nKatakana: "+kata+" \nKangi: "+kangi+" \nSymbols: "+sym+" Total: "+(hira+sym+kata+kangi));
});
}
}