Thanks for the asciicat link.
Implementing this much custom characters in only 200 bytes is kinda hard I believe. One 5x8 character takes 5 bytes if the bytes are rotated and stored in vertical order. So 200 bytes would mean 40 characters. I guess your best bet would be to use the 128 characters in the CG-ROM and then add as much custom characters as can be made to fit.
Are you working on a fixed hardware design ? One way to add more space for fonts would be to use external eeprom chip.
I guess the font data could be compressed using some algorithm but how much of the 200 bytes would that algorithm take then ?
Sorry, I don't have any good ideas at the moment if the situation is that we have a fixed hardware design and we should implement 256 custom characters using only 200 bytes.