You seem to have the communication to the controller well under control
next step is to try to store a font economically, you have probably discovered a large font on a very resource limited chip
like a 690 stored as a series of code structures like
I2CWrite SDA,SCL,I2CDevice,_
[$40,192,224,240,248,252,126,63,63,63,63,63,63,63,6 3,126,252,248,240,224,192,_
255,255,255,255,128,128,128,128,128,128,128,128,12 8,128,128,128,255,255,255,255,_
255,255,255,255,15,15,15,15,15,15,15,15,15,15,15,1 5,255,255,255,255,_
255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,25 5,255]
will by the time you have 10 digits covered will have blown 75% of the chips flash.
fonts can be stored in much better ways, even expanded out as the are read back