Edit in JSFiddle

"use strict";

// geez to latin script ::

// paste text:
//ድሮ ስድስት ዓመት ሲሆነኝ እውነተኛ ትሪኮች በተሰኘ ርእስ ስለ ድንግል ደኖች በተጻፈ መጽሐፍ ውስጥ አንድ ግፋም ሥዕል አየሁ።

// ደብዳቤ መጻፍ


var consBase = {};
// hash table::
consBase = {
  'ሀ': 'h',
  'ለ': 'l',
  'ሐ': 'ḥ',
  'መ': 'm',
  'ሠ': 'ś',
  'ረ': 'r',
  'ሰ': 's',
  'ሸ': 'š',
  'ቀ': 'q',
  'ቈ': 'qʷ',
  'ቐ': 'q̄',
  'ቘ': 'q̄ʷ',
  'በ': 'b',
  'ቨ': 'v',
  'ተ': 't',
  'ቸ': 'č',
  'ኀ': 'ḫ',
  'ኈ': 'ḫʷ',
  'ነ': 'n',
  'ኘ': 'ñ',
  'አ': 'ʔ',
  'ከ': 'k',
  'ኰ': 'kʷ',
  'ኸ': 'ḵ',
  'ዀ': 'ḵʷ',
  'ወ': 'w',
  'ዐ': 'ʕ',
  'ዘ': 'z',
  'ዠ': 'ž',
  'የ': 'y',
  'ደ': 'd',
  'ዸ': 'ḍ', // ??
  'ጀ': 'ǧ',
  'ገ': 'g',
  'ጐ': 'gʷ',
  'ጘ': 'ŋ',
  'ጠ': 'tʼ',
  'ጨ': 'čʼ',
  'ጰ': 'pʼ',
  'ጸ': 'ṣ',
  'ፀ': 'ṩ',
  'ፈ': 'f',
  'ፐ': 'p'
};


function clickSubmitText() {
  var inTxt = $("textarea[name=textgeez]").val();
  $("#testoutRaw").html(tranlit(inTxt));
  $("#testoutNum").html(tranlitN(inTxt));
  $("#testoutTable").html(tranlitAsTable(inTxt));
  //$("#testoutTable").append( tranlitAsTable(inTxt) );    
}

$(document).ready(function() {
  clickSubmitText();
});


function writeAllGeez() {
  var outStr = '';
  for (var i = 0x1200; i < 0x1380; i += 8) {
    for (var j = 0; j < 8; ++j) {
      outStr += String.fromCharCode(i + j);
    }
    outStr += "\n";
  }
  return outStr;
}

// char table:

function isGeezCharCode(char) { // returns Bool
  var c = char.charCodeAt();
  return (c >= 0x1200) && (c < 0x1380);
  //  unicode 6.3 Ethiopic::
  //  http://www.unicode.org/charts/PDF/U1200.pdf
}
//		"ሀ".charCodeAt();
//		"፼".charCodeAt(); // first .. last Geez chars

function isGeezPunc(char) { // returns Bool
  var c = char.charCodeAt();
  return (c >= 0x1358) && (c < 0x1380);
}

function displayAllGeez() {
  for (ii = 0x1200; ++i; i < 0x1380) {
    console.log(String.fromCharCode(ii),
      geezToLatinConsonant(ii),
      geezToLatinVowel(ii));
  }
}



function geezToLatinVowel(char) { // returns a string
  var vowel = ['ä', 'u', 'i', 'a', 'e', '', 'o', 'wa'];
  var row = char.charCodeAt() & 0x7;
  return vowel[row];
}


function geezToNumVowel(char) { // returns a string
  //var vowel = ['ä', 'u', 'i', 'a', 'e', '', 'o', 'wa'];
  var row = char.charCodeAt() & 0x7;
  return (row + 1).toString();
}


function geezToLatinConsonant(char) { // returns a string
  var asChar = String.fromCharCode(char.charCodeAt() & (~0x7));
  return consBase[asChar];
}

var puncTable = {
  'ፘ': 'RYA',
  'ፙ': 'MYA',
  'ፚ': 'FYA',
  '፠': '/section/',
  '፡': ' ',
  '።': '.',
  '፣': ',',
  '፤': ';',
  '፥': ':',
  '፦': '<',
  '፧': '?',
  '፨': '/parag/',
  '፩': '1',
  '፪': '2',
  '፫': '3',
  '፬': '4',
  '፭': '5',
  '፮': '6',
  '፯': '7',
  '፰': '8',
  '፱': '9',
  '፲': '10+',
  '፳': '20+',
  '፴': '30',
  '፵': '40',
  '፶': '50',
  '፷': '60',
  '፸': '70',
  '፹': '80',
  '፺': '90',
  '፻': '100',
  '፼': '1000'
};

function geez2Lat(ch) {
  var ret = '';
  if (isGeezCharCode(ch)) {
    if (isGeezPunc(ch)) {
      ret += puncTable[ch];
    } else {
      ret += geezToLatinConsonant(ch) + geezToLatinVowel(ch);
    }
  } else {
    ret += ch;
  }
  return ret;
}

function geez2LatNum(ch) {
  var ret = '';
  if (isGeezCharCode(ch)) {
    if (isGeezPunc(ch)) {
      ret += puncTable[ch];
    } else {
      ret += geezToLatinConsonant(ch) + "<sub><font size=-3>" + geezToNumVowel(ch) + "</font></sub>";
    }
  } else {
    ret += ch;
  }
  return ret;
}

function tranlit(str) {
  var c = str.split('');
  var ret1 = '';
  var ret2 = '';
  for (var i = 0; i < c.length; ++i) {
    var ch = c[i];
    ret1 += ch;
    ret2 += geez2Lat(ch);
  }
  return ret2;
  //ret1 +' ::__::'+ ret2;
}


function tranlitN(str) {
  var c = str.split('');
  var ret1 = '';
  var ret2 = '';
  for (var i = 0; i < c.length; ++i) {
    var ch = c[i];
    ret1 += ch;
    ret2 += geez2LatNum(ch);
  }
  return ret2;
  //ret1 +' ::__::'+ ret2;
}

function tranlitAsTable(str) {
  var words = str.split(' ');
  var retTable = $('<div>');
  words.forEach(function(word) {
    word2Table(word).appendTo(retTable)
  });
  return retTable;
}

function word2Table(word) {
  var t = $('<table>');
  var chars = word.split('');
  var row = $('<tr>');
  chars.forEach(function(ch) {
    var cell = $('<td>');
    cell.text(ch).appendTo(row);
    row.appendTo(t);
  })
  row = $('<tr>');
  chars.forEach(function(ch) {
    var cell = $('<td>');
    cell.text(geez2Lat(ch)).appendTo(row);
    row.appendTo(t);
  })
  return t;
}
<p> Type to transribe:</p>

<li>TODO: change to be closer the this table :: https://www.loc.gov/catdir/cpso/romanization/tigrinya.pdf
</li>
<li>Move to Github and deploy.</li>
<li>make same code work as "tooltip" and in textbox</li>

<textarea name="textgeez" rows="2" cols="50">ከልቢ እሙን እንስሳ እዩ።</textarea>


<input id="submitText" type="button" value="submitText" onclick="clickSubmitText();" />
<br/>
<hr/>
<p id="testoutRaw">output! raw</p>
<hr/>
<p id="testoutNum">output! table</p>
<hr/>
<p id="testoutTable">output! table</p>
<br/>
<br/>
<hr/>
<br/>
<hr/><br/><hr/><br/><hr/>
table {
  float: left;
  border: 1px solid green;
  border-spacing: 0px;
  margin: 2px 6px 2px 6px;
  /* t r b l */
}

p {
  font-size: 150%;
}

textarea {
  font-size: 200%;
}

td {
  border: 1px solid green;
}