i use MikroElektronika GLCD Font Creator

here is example pawns as 16x16 font [variable width C code output new type ]
chars A,B,C,D have been mapped to black pawn on black square , black pawn on white square
and white pawn on black square , white pawn on white square



PAWNS.BAS

Code:
  
;//Font Generated by MikroElektronika GLCD Font Creator 1.2.0.0;//MikroElektrnika 2011 
;//http://www.mikroe.com 


;//GLCD FontName : pawns16x16
;//GLCD FontSize : 16 x 16


;const unsigned short pawns16x16[] = {
goto overpawns
pawns:
 @ db 0X00,0
 @ db 0X41,0X00
 @ db 0X44,0X00
 @ db 0X10,0
 @ db 0XF,0X18,0X00,0X00
 @ db 0XF,0X38,0X00,0X00
 @ db 0XF,0X58,0X00,0X00
 @ db 0XF,0X78,0X00,0X00
 @ db 0XC0,0X01,0X20,0X02,0X10,0X04,0X10,0X04,0X20,0X02,0X40,0X01,0X78,0X0F,0X08,0X08,0X78,0X0F,0X40,0X01,0X20,0X02,0X10,0X04,0X08,0X08,0XFC,0X1F,0X00,0X00,0XFE,0X3F; // Code for char num 65
 @ db 0XC0,0X01,0XE0,0X03,0XF0,0X07,0XF0,0X07,0XE0,0X03,0XC0,0X01,0XF8,0X0F,0XF8,0X0F,0XF8,0X0F,0XC0,0X01,0XE0,0X03,0XF0,0X07,0XF8,0X0F,0XFC,0X1F,0X00,0X00,0XFE,0X3F; // Code for char num 66
 @ db 0X3F,0XFE,0X1F,0XFC,0X0F,0XF8,0X0F,0XF8,0X1F,0XFC,0X3F,0XFE,0X07,0XF0,0X07,0XF0,0X07,0XF0,0X3F,0XFE,0X1F,0XFC,0X0F,0XF8,0X07,0XF0,0X03,0XE0,0XFF,0XFF,0X01,0XC0; // Code for char num 67
 @ db 0X3F,0XFE,0XDF,0XFD,0XEF,0XFB,0XEF,0XFB,0XDF,0XFD,0XBF,0XFE,0X87,0XF0,0XF7,0XF7,0X87,0XF0,0XBF,0XFE,0XDF,0XFD,0XEF,0XFB,0XF7,0XF7,0X03,0XE0,0XFF,0XFF,0X01,0XC0; // Code for char num 68
 ;       };
overpawns: