What a sticky situation!
In a one on one setting, I would be direct and apologetic. Usually the person will feel a little embarrassed, and I would be as warm and reassuring as I could be, and we could reorient where my food was situated to make sure that everyone is comfortable. One-on-one, it is often a great kindness to tell people about a problem they are unaware of, as it can save them from future embarrassment.
In a group setting, however, it would depend on how the conversation itself was going. Some people seem like they would immediately be okay with directness. In that case, go for it!
However, if you don't get that sense, I would say nothing. The risk of a public humiliation is too great. My options, then:
Pretend to examine something on the table, such as the decorative flowers, and pull them over to be in front of my plate.
Wait until the person gets up to go to the bathroom, wait a moment and also get up, and see whether there is some opening in which I can mention this information. (This is a desperate act)
Say nothing at the meal, pretend I am rather full, and never mention anything about it again, especially to the other people present.
The cost of humiliating someone in front of others is simply too high for the comfort of a single meal. If the meal is extremely important (ie. before climbing a mountain, or some sort of fasting period) I would just eat it. People spit on each other's food all the time, and usually no one notices, and people are rarely ever harmed. It's icky, but I would just assume that this was one of the regular times.