Cursor XCreateGlyphCursor(display, source_font, mask_font, source_char, mask_char,
                           foreground_color, background_color)
      Display *display;
      Font source_font, mask_font;
      unsigned int source_char, mask_char;
      XColor *foreground_color;
      XColor *background_color;
| display | Specifies the connection to the X server. | 
| source_font | Specifies the font for the source glyph. | 
| mask_font | Specifies the font for the mask glyph or None . | 
| source_char | Specifies the character glyph for the source. | 
| mask_char | Specifies the glyph character for the mask. | 
| foreground_color | Specifies the RGB values for the foreground of the source. | 
| background_color | Specifies the RGB values for the background of the source. | 
For 2-byte matrix fonts, the 16-bit value should be formed with the byte1 member in the most-significant byte and the byte2 member in the least-significant byte.
XCreateGlyphCursor() can generate BadAlloc , BadFont , and BadValue errors.
| BadAlloc | The server failed to allocate the requested source or server memory. | 
| BadFont | A value for a font argument does not name a defined font (or, in some cases, GContext). | 
| BadValue | Some numeric value falls outside the range of values accepted by the request. Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted. Any argument defined as a set of alternatives can generate this error. |