Quem transformou a Fiona em ogra?

Quem transformou a Fiona em ogra?
E como nós já sabemos Shrek salva Fiona e a maldição não se quebra, pois ela vira uma ogra eternamente, tanto que quando o Encantado chega até a torre ele não à encontra, mais sim o Lobo Mau.
O que a Fiona comia quando estava na torre?
Em outras palavras, sem muita opção, Fiona teve que se tornar uma canibal para conseguir sobreviver por tantos anos na Torre e precisava se alimentar dos restos mortais dos cavaleiros que tentaram salvá-la. Ainda assim, essa questão do canibalismo está aberta a interpretações.