  Non-overlapping codes have been studied for almost 60 years. In such a code,
no proper, non-empty prefix of any codeword is a suffix of any codeword. In
this paper, we study codes in which overlaps of certain specified sizes are
forbidden. We prove some general bounds and we give several constructions in
the case of binary codes. Our techniques also allow us to provide an
alternative, elementary proof of a lower bound on non-overlapping codes due to
Levenshtein in 1964.
