ten, eleven, twelve | thirteen, fourteen, fifteen, sixteen
zehn, elf, zwölf | dreizehn, vierzehn, fünfzehn, sechzehn ten, eleven, twelve | thirteen, fourteen, fifteen, sixteen
zehn, elf, zwölf | dreizehn, vierzehn, fünfzehn, sechzehn dix, onze, douze, treize, quatorze, quinze, seize | dix-sept, dix-huit, dix-neuf diez, once, doce, trece, catorce, quince | dieciséis, diecisiete, dieciocho, diecinueveвосемь (8), девять (9), десять (10) | одиннадцать, двенадцать, тринадцать, четырнадцать, пятнадцать, шестнадцать, семнадцать, восемнадцать, девятнадцать.
As for dix-huit and dix-neuf, the Romans counted down from twenty; duodeviginti (two-down-from-twenty) is eighteen and undeviginti (one-down-from-twenty).
So it probably made more sense to the early French to say dis-huit and dix-neuf instead.
But one interesting thing about French numbers that you have missed is that it possess a vestigial remnant of the vigesimal (base-20) number system of the Celtics, where 80 is quatre-vignts (four-twentys) to the French, and 90 is quatre-vignts-dix.
70 is sixty-ten (soixante-dix), then 71 is sixty-eleven... and so on, up to 99: four-twenty-nineteen. Indeed, 80 is 4 times 20, hence "four-twenty" (quatre-vingt, without the "s" at the end).
Interestingly enough, French-speaking Belgians use the regular forms: 70 is "septante", 80 is "octante", and 90 is "nonante".