Why is h silent in honor but not in hone

Hone and honor both start with "hon" but h is silent in honor but not in hone.

I googled it and searched everywhere but didn't find the answer. Can you help me please?


Solution 1:

Etymology, origin and usage come into play, but how the pronounciation evolved through the years is not always clear as explained in the following extract from lexico.com :

H is silent in many English words, for various reasons.

Sometimes it is because of the word's derivation (e.g. messiah from Hebrew or rhapsody from Greek); sometimes it is as a result of elision (e.g. shepherd, exhaust).

The words hour and honest come from French, and in these cases English took over the French pronunciation as well as the word. Not all such words that have come into English from French still have a silent h, however.

Over the centuries we have come to pronounce the h in words like horrible, hospital, host, human, and humour.

Honor derives from from Anglo-French honour, Old French onor, honor, but:

The initial h in honest, honor, etc., is merely etymological, the sound having already disappeared when the word came into ME use. (Century Dictionary).

Hone (n.) appears to have preserved the original Germanic pronunciation:

Old English han "a stone, rock, (boundary) stone," from Proto-Germanic *haino (source also of Old Norse hein "hone").