driving 19 7 segment displays

first, let me say that I am NOT using LEDs, these displays are "Pinlights" my drive scheme:
.
.23 column rails from 5 bit to a BCD decoder.
..Split this into 2 groups 10 + 9
..each of the two groups will be driven by 4 bits to a BCD to 7 seven segment drivers

I also need 4 x 16 segments, as well as this, will require 16 bits of I/O I might use an I/O expander?
I could put all of this on a TI I2C port expanders. The decoders will be driven via 5 bits on the Mega itself.
The KW-104s are 4vdc @ 15ma per segment.

I have more hardware knowledge of hardware + I write software in C, I was originally going to use 2 MAX parts but they use Charlieplexing and therefore will not work in this application. Can you refer me to a sample for the software ( I have seen the shifters but this is not desirable.)

To handle the drive requirements on each of the drive columns there is a BJT connected to the Vcc rail, the column select (base) and one side of the Pinlights common pin.

To finish the segment drives I need a BJT connected to Ground, the segment select (base), and the other side to the Pinlights.

Or a total of 24 cols, 16 + 7 + 7 = 54 BJTs!

Thanks. CAH

refresh rate = .25/23 = 0.010869565 ~ .01 sec or a minimum refresh rate of 100 Hz. much better at 150 - 200 Hz,
by the way, I am also tossing in a dimming circuit using PWM driving a TriState Buffer, enable line that three if you are keeping track.

Yes, you might use an I/O expander. That seems to be your only question.

It would really help if you post a schematic, clickable links to the data sheets of displays & chips you are referring to, and a numbered list of questions you need help with.

Sorry, too many confusing and thoroughly confused statements there.

You need to explain what a "pinlight" is. Your link is to a catalogue page, has no reference to datasheets for the displays in question. You say you are "NOT using LEDs" but these look exactly like ordinary LED displays and 4Vdc @ 15ma per segment is a perfectly plausible LED specification.

A MAX7219 - if that is to what you refer, most certainly does not use "Charlieplexing" and would appear to be the appropriate chip to drive eight of these displays at a time however only a proper datasheet for the display would clarify whether there is some reason these would have a specification that impedes this.