To be honest, the fact that he didn’t mean it is just as bad. It means he deliberately said the most cruel and hurtful things he could think of just to upset you.
My ex used to do this. Thankfully he was never so spiteful about my looks or weight (mainly because he was bigger than me most of the time) but he would pick on other things, tell me I was mental, say it was that time of the month again, told me to get off my arse and get a proper job when I was working for myself at home making a living to support myself and my DCs etc). once he looked me up and down and said “why would I want to marry THAT” with such utter contempt.
He would always apologise the next day and say that he didn’t mean it, he was just angry and lashing out etc.
I put up with it for years, but the truth is he didn’t want to marry me, he did think there was something wrong with me (I’m female and therefore dysfunctional! His parting words were “unless I want to bat for the other side I guess I’ll have to accept a certain amount of crazy”
) and his pretence that it was all just “heat of the moment” and ‘what people say in arguments’ was bollocks. He had no respect for me and however that came spewing out of his mouth in anger doesn’t really matter.
He was so hurtful that I ended up being like him and trying to think of the most insulting and hurtful things I could say to him in return, so he would know how it felt. But it was water off a ducks back for him. He’d just say it didn’t bother him (but then he’d bring it up to make me feel guilty!)
It’s a really unhealthy dynamic tbh, and a few months ago I’d just had enough of it and told him to fuck off after 9 years together. It’s been tough but I will never again accept a man who makes me feel like shit. Whatever reason your P is using to make such nasty comments to you, the end result is you feel upset and unlovable. That’s not what a partner is for. He should be the one to have your back and make you feel like the sexiest most attractive woman in the world (even if you know you’re not!)
Please don’t accept his verbal abuse of you for one more day. If you’re not ready to leave him then by all means give him a final warning and mean it, if he EVER says anything derogatory about you again he’s out. Of course you’ll argue, but that doesn’t need to get personal, it should be about whatever issue is causing a problem, not about insulting each other to score points. An argument should be about resolving a problem, a collaboration where you both put your views across. It shouldn’t be a fight where one person wins and one loses. And it certainly shouldn’t be a dirty fight where one person comes out broken. You deserve better 