Have your travel agent contact the cruise line with your needs. They are very accomodating in the dining room. But, the buffet is another matter. They can't have separate areas for everyone who has unique dietary needs. But, other than the soy milk, which you might be able to get at the buffet if you ask, there are plenty of healthy foods available. More a matter of sticking to your diet since those buffets can tempt even the most disciplined person.
Also, talk to the maitre d' and your waiter personally. You can talk to the maitre d' the afternoon that you board, then your witer at dinner.