Glycogen stores are generally enough for 2-3 hours of running depending on training volume, running speed, running efficiency and a number of other factors. Hence "hitting the wall" at around twenty miles in a marathon.
The average athlete store between 300-450 grams with highly trained endurance athletes having levels as high as 750 grams.
With training, the % of fat to carbs burned can improve some(along with in-race feeding of carbs) thus enabling runners to complete a marathon without depleting.
Only a tiny percentage of fat can be converted to glucose(<10%) which accounts for the abrupt slowdown that accompanies hitting the wall. Fuel cannot be burned fast enough to go faster.
Protein can be converted to glucose more easily but not as well as carbs so a high protein diet could provide enough though it can be hard on the kidneys for some.
RbS, vegetarian sources of protein are generally high in carbs as well. Has your friend really totaled up what she's getting? It's not a bad thing as she would be getting complex carbs rather than simple carbs or refined sugar.
"To give anything less than your best is to sacrifice the Gift."