I must say I would go with some shift register. After I just started using them a day ago I can't believe how awesome it is. The code is also very simple, just use 8 bit binary. So make a table like
byte zero = B11111100;
byte one = B01100000;
byte two = B11011010;
byte three = B11110010;
byte four = B01100110;
byte five = B10110110;
byte six = B00111110;
byte seven = B11100000;
byte eight = B11111110;
byte nine = B11110110;