The matrix MrDEB apparently has has two LEDs in series for each dot. The typical Vf is 4 volts, but the maximum is 5 volts. He needs to design around the 5 volt worst case to be sure the dots will illuminate.
What MrDEB is refusing to believe is that each dot must be driven via its own resistor. No exceptions to this rule - LEDs cannot be used in parallel from a single resistor. Thus, MrDEB's current measurements with 1 - 5 LEDs driven from a single resistor is meaningless. They won't work like that!
MrDEB's situation is complicated a bit by the high forward voltage of the matrix he has, but just a bit.
The first step which really must be understood is the basic circuit of a multiplexed display. Think way back to the beginning of this mess. Seven port pins driving the anodes of the rows via a resistor. Five cathodes connected to ground via a ULN2003. Keep this circuit in mind. Yes, I know the 5 volts from a PIC won't drive the matrix MrDEB is attempting to use. Just assume a matrix with Vf = 2.2v and the resistors sized for a current flow of 25 mA per LED.
Now, lets say that all seven anode pins are high, and one and only one cathode, the first column, is conducting to ground. What have we got in this case?
1. All of the LEDs in column 1 are illuminated.
2. Each port pin is supplying 25 mA to its associated LED.
3. The ULN2003 is sinking all the current through the LEDs to ground, namely 7 x 25 mA = 175 mA.
Everyone is happy as long as exactly one cathode is active.
What happens if we quickly alternate between cathode 1 active and cathode 2 active? The dots in the first two columns will be evenly illuminated. And if we quickly switch from 1 to 2 to 3 to 4 to 5 and continue the cycle? All of the dots will be evenly illuminated. They won't be as bright as when we had only one column illuminated because each column is only on 1/5 of the time.
Be sure to notice that only one cathode is active at a time, and each port pin only drives one LED at a time.
So how do we display a symbol on the display? Let's consider a T five dots wide and seven dots tall.
1. With all cathodes off, we set only the anode connected to the top dot high (the pattern in the first column)
2. We active the cathode in column 1 for a short period of time, say 10 mS as a guess.
3. Turn off the cathode for column 1.
4. Set the anodes for the patern in column 2, namely just the upper dot.
5. Turn on the cathode for column 2 for 10 mS
6. Turn off the cathode for column 2.
7. Set the anodes for the pattern in column 3, namely all on.
8. Turn on the cathode for column 3 for 10 mS.
9. Repeat the process for columns 4 & 5.
10. Repeat the entire process.
Notice only a single cathode is every on and each anode supplied exactly one dot.
But, but, but......
Yes, MrDEB's displays are red and green. This just means there are ten cathodes instead of five. An additional ULN2003 is needed (and 5 more port pins to control it) but the same principles apply. Only one cathode is active at a time.
But, but, but.....
Yes, the display MrDEB has requires greater than 5 volts to operate. Add one of the driver chips the be80be or I listed to driven the anodes. This may flip around high/low on/off but the principles are still the same. One cathode active and each gate of the high side driven supplies exactly one LED.
Do note that the current draw is (LED current) x (max number on in a column). With a current of 25 mA per LED, this could be as high as 175 mA, not agreeable to a 9 volt battery or even 6 AAA cells.
MrDEB, this is the straight scoop. Don't get creative with things you don't understand.