I'm using UniFont which includes 65,536 bitmaps. Most characters are 8 pixels wide and 16 pixels high. Many are 16x16. I allocate 32 bytes to each character, whether it needs them or not. If the character is only 8 pixels wide, the last 16 bytes are all zero. I put this in a M25P16 SPI flash. When I need to draw a character, the PIC indexes in to this table and reads the 32 bytes. It looks at the last 16 bytes to see if they're all zero. If so, the PIC draws an 8 pixel wide character. If not, it draws a 16 pixel wide character. I've got this working in a couple systems. One uses an 18F26k20. The other uses a 24HJ256GP610. I'm not doing much with variable character size, though I have done pixel doubling and tripling in both horizontal and vertical directions. Harold -- FCC Rules Updated Daily at http://www.hallikainen.com - Advertising opportunities available! -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist