The word kāfir is the active participle of the Semitic root K-F-R "to cover".
One implausible theory holds that in southern Africa the word was originally used by the Zulu King uShaka to refer to the white settlers as "amakhafola" meaning people that have been spat out, as he thought the settlers were spat out by the sea.