public void free_glyphs (Glyph [] glyphs) {
    RequestOutputStream o = display.out;
    synchronized (o) {
      int numGlyphs = 0;
      for (int i = 0; i < glyphs.length; i++) {
        if (! glyphs [i].disposed) {
          numGlyphs++;
        }
      }
      if (numGlyphs > 0) {
        o.begin_request (render.major_opcode, 22, 2 + numGlyphs);
        o.write_int32 (id);
        for (int i = 0; i < glyphs.length; i++) {
          if (! glyphs [i].disposed) {
            o.write_int32 (glyphs [i].get_id ());
          }
        }
        o.send ();
      }
    }
  }