I am incredibly petite...always have been. Likely always will be. Here is what my Dr. told me, when you have a naturally small frame, it's body fat that counts. I am 5'4 and 100 pounds (although, I look like I weight more then that), but my body fat is totally healthy. I might be thin weight-wise, but the proportions and levels of fat in my body are not. I am healthy as far as iron counts, blood pressure, hormones, thyroid, etc. My dr. has never worried about me, because my build is so slight, and my bad fat and levels are so healthy. Now, I don't LOOK unhealthy. I don't look gaunt, and most people would never now I weigh 100 pounds unless I told them. (In fact, people don't believe it. You say you LOOK unhealthy. Your face looks old. I think it calls for getting your body looked at. Things like iron, body fat, thyroid, adrenal glands, hormones, etc.
Also, there is NO normal with weight. On some frames 118 is dangerously skinny, on other it's totally healthy. Weight only matters when your overall health suffers. On my frame 118 would be far too much, on others, it would be scary. Don't worry about the scale, worry about your HEALTH. I'm getting that you don't feel healthy, and that likely has something to do with your body not working correctly in some way...not as much to do with your weight.
As far as foods, GOOD fats are your friend! Avocados, olive oil, salmon, buts, omega 3 fats. (You can take a supplement.) I am someone who NEEDS protein, so I eat proteins for snacks. Eggs, cheese, yogurt, avocados, etc.
DO NOT RELY ON BMI. Many, many doctors will tell you it's a terrible indicator of health. My BMI would be underweight, but my fats are not. BMI is incredibly inaccurate. When you have something that tells every body must fit into this one little mold...it's not going to be an accurate assessment. Just because your BMI says something, does not mean that's what you should be. My Dr. said I'm one of the healthiest patients she's ever had, if she relied on BMI, I'd be packing on the pounds...which is not healthy for my tiny frame.