title: Android Keyboard output unicode string and label with unsupported glyph
body: <p>I'm working on an Android IME which is for a native American language which has characters which are not single unicode code points but unicode strings.  For example, a glottalized barred lambda: ƛ̕</p>
  
  <p>I'm finding myself in a catch-22 because I can either create a Key which outputs the right character but doesn't have the right label or I can have the right label but the wrong output.  I should say that I've been trying to accomplish this in xml and I think the relevant attributes are these:</p>
  
  <ul>
  <li><code>android:codes</code></li>
  <li><code>android:keyLabel</code></li>
  <li><code>android:keyOutputText</code></li>
  <li><code>android:keyIcon</code></li>
  </ul>
  
  <p>More detail: </p>
  
  <p>From what I've been able to find out, it's impossible to change the font on a keyLabel because the system's <code>DEFAULT_BOLD</code> font is hard-coded into the Keyboard class.  Therefore I can't use the following to properly define the key:</p>
  
  <pre><code>&lt;Key android:keyOutputText="@string/glot_barred_lambda"
       android:keyLabel="@string/glot_barred_lambda"/&gt;
  </code></pre>
  
  <p>(where the string constant <code>glot_barred_lambda</code> is defined as "ƛ̕" in the relevant location)</p>
  
  <p>The issue is that the default Android font doesn't support this glyph.</p>
  
  <p>Therefore I thought I had to make an icon for the keylabel.  I did so.  However, this definition gives a NullPointerError:</p>
  
  <pre><code>&lt;Key android:keyOutputText="@string/glot_barred_lambda" 
       android:keyIcon="@drawable/keyboard_barred_lambda" /&gt;`
  </code></pre>
  
  <p>The issue seems to be that <code>keyOutputText</code> is not compatible with <code>keyIcon</code>. (I have no idea why!).  So that left me trying this:</p>
  
  <pre><code>&lt;Key android:codes="411,789" 
       android:keyIcon="@drawable/keyboard_barred_lambda" /&gt;
  </code></pre>
  
  <p>This compiles and runs fine, but doesn't give the right behaviour.  The key label looks great, but the output is just the barred lambda (the 411) on a single tap and just a combining diacritic on a double tap (the 789).</p>
  
  <p>I've run out of ideas so I'm looking forward to some advice from the real experts.  Thanks a lot for reading and I 'm happy to clarify my question as you guys need me to.  </p>