Word for someone who makes fun of others for a characteristic while himself or herself has it

What is called a person who makes fun of others for a characteristic while himself or herself has it.

For example a short person who scorn someone for being short.


Solution 1:

hypocrite noun uk us /ˈhɪp.ə.krɪt/ disapproving

someone who says they have particular moral beliefs but behaves in way that shows these are not sincere:

He's a hypocrite - he's always lecturing other people on the environment but he drives around in a huge car.

Cambridge Dictionaries Online

Solution 2:

Derivations from [Pot calling the kettle black] and [Psychological projection] are truly relevant, 'hypocrite' not so much. The person mocking others for traits he has himself is unaware, self-unaware. The double standard of the hypocrite implies conscious purpose. The simple mockerer (is that a word?) is kind of innocent due to unawareness, a hypocrite is not an innocent.