title: How to convert hex UTF-16 char to string in arduino
body: <p>I'm working on a function to correctly display Arabic words on the display/LCD. (Arabic letters have four different modes.)
  I have an array of Arabic letters (<code>Map array</code>) in different states.
  After recognizing the alphabet in Arabic, I need to re-align the letters.
  My question is how do I put the Unicode characters through the table (<code>Map Table</code>) to a <code>String variable</code> (pBuffer)?</p>
  
  <p>For example: To write the word <code>باب</code> you need to select the letter from <code>Map table</code> and place it in a <code>String</code> to send to the display/LCD.</p>
  
  <pre><code>...
  const unsigned char Map[][5] PROGMEM = {
  
       /* code, isolated, initial, medial, final */
      {0x0621, 0xFE80, 0x0000, 0x0000, 0x0000 },  //1 /* HAMZA ء*/
      {0x0622, 0xFE81, 0x0000, 0x0000, 0xFE82 },  //2/* ALEF_MADDA آ*/
      {0x0623, 0xFE83, 0x0000, 0x0000, 0xFE84 },  //3/* ALEF_HAMZA_ABOVE أ*/
      {0x0624, 0xFE85, 0x0000, 0x0000, 0xFE86 },  //4/* WAW_HAMZA ؤ*/
      {0x0625, 0xFE87, 0x0000, 0x0000, 0xFE88 },  //5/* ALEF_HAMZA_BELOW إ*/
      {0x0626, 0xFE89, 0xFE8B, 0xFE8C, 0xFE8A },  //6/* YEH_HAMZA ئ*/
      {0x0627, 0xFE8D, 0x0000, 0x0000, 0xFE8E },  //7/* ALEF ا*/
      {0x0628, 0xFE8F, 0xFE91, 0xFE92, 0xFE90 }   //8/* BEH ب*/
  };
  
  String pBuffer;
  pBuffer += ((char)(Map[7][4]));
  pBuffer += ((char)(Map[6][6]));
  pBuffer += ((char)(Map[7][3]));
  
  u8g2.setCursor(5, 20);
  u8g2.print(pBuffer);
  ...
  </code></pre>
  
  <p>Unfortunately the above method used does not work.
  How do I select characters from the "Map" table above and put them together in a <code>String</code> variable?</p>