private void showBubble(Bubble b) {
    final float fontScale = LINE_HIGH / FONT.map[' '].height ;
    float width = 0 ;
    for (char c : b.phrase.toCharArray()) {
      Alphabet.Letter l = FONT.map[c] ;
      if (l == null) l = FONT.map[' '] ;
      width += l.width * fontScale ;
    }
    //
    //  You also need to either left or right justify, depending on the bubble
    //  type.
    b.width = width ;
    b.yoff = 5 ;
    if (b.type == NOT_SPOKEN) b.xoff = width / -2 ;
    if (b.type == FROM_LEFT ) b.xoff = width / -2 ;//20 - width ;
    if (b.type == FROM_RIGHT) b.xoff = width / -2 ;//-20 ;
    b.alpha = 1.5f ;
    showing.addFirst(b) ;
  }