Не приличное в современном языке слово «хер», на самом деле, имело первоначально совершенно безобидный смысл. Так называлась буква древнерусского алфавита Х, которая графически напоминает крест и его же обозначает.
Позднее появилось слово «похерить». В нем было заложено значение «перечеркнуть крест на крест», «поставить крест», поэтому слово стали употреблять в качестве синонима словам «испортить», «погубить». Лишь потом словом стали пользоваться как ругательством — но причины такой трансформации, в принципе, ясны.
Матерные слова имели свое необычное название на Руси. Их обобщенно называли «нелепыми глаголами», даже если человек ругался существительными. Дело в том, что слово «лепота» означало красоту. Соответственно, нелепостью называли некрасивые, некультурные явления.