Why some words ending in -ke become -cable (and/or -cative), while others become -kable (or -keable)

It's Latin vs Germanic origin.

Consider the following examples:

Likeable, unlikeable, makeable - Germanic origin

These words are of Germanic origin. And German allow 'k' in suffixed words.

On the other hand,

Revocable, invocable, provocable - Latin origin

These words are derived from Latin revocare, invocare and provocare respectively.

In Latin, they're pronounced with /k/ sound (it's obvious from the spelling - 'care', c often gives /k/ sound when it precedes 'e').

These words are anglicised to revoke, invoke and provoke.

Where did the k come from: In order to maintain the /k/ sound (which is in the original pronunciation 'care'), the 'ce' was changed to 'ke'. Because if it were written as 'revoce' it would be pronounced with /s/ sound rather than the original /k/ sound.

Hachi's comment:

The real question is: why does the K of verbs like revoke, provoke etc. turns into a c in the adjectival form?

When a suffix is added to revoke, the 'k' changes to 'c' because it's not allowed in Latin (and Latin words in English) to have 'k' in suffixed words. Latin does not allow the letter 'k' at all.

Therefore, revoke + able -> revo(_)able/ revoke + tion -> revocation ---> 'k' is not allowed, we need another letter than gives /k/ sound (original sound) before the letter 'a' - the only letter (other than 'k' because 'k' is not allowed) that gives /k/ sound before 'a' is c.

  • Revoke + able -> revocable.
  • Invoke + able -> invocable
  • Provoke + able -> provocable

However, 'notice' is also from Latin but it does not have the letter 'k' because the original pronunciation (in Latin) has /s/ sound rather than /k/ sound. In order to maintain the original sound, we write 'notice' with c sound because 'c' often gives /s/ sound when it precedes e.

Notice + able -> noticeable not noticable because it changes the original pronunciation of the base word.

Why doesn't Latin allow the letter k: Lewis and Short also have a look at Latin SE

I found another similar question but the answers there do not address the 'why'.