There is no substitution of letters in the text you posted.
You are looking at writing in a blackletter typeface (German: gebrochene Schrift, lit. broken font) possibly Fraktur. What you believe to be c (Vocale) ist in fact k (Vokale), routinely spelled that way in German. The same thing is true for Konsonanten.
Also, pay attention to subtle details: ๐ญ (B) and ๐ (V) may very much look alike, but only in ๐ญ do the sides meet in the middle. Further, ๐ (f) is distinguished from the long s by a point to the right and there are similar differences between ๐ (k), ๐ (l) and ๐ (t). Try zooming your browser to see more clearly.
German Wikipedia points out the differences in more detail.
Here is as much of the Fraktur alphabet as can be readily found in Unicode (and thus shown on Stack Exchange), i.e. the letters of the Roman alphabet, but lacking long s (ลฟ), eszet (ร), and letters with umlauts (รค รถ รผ):
๐ ๐
๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐
๐ฌ ๐ญ ๐ฎ ๐ฏ ๐ฐ ๐ฑ ๐ฒ ๐ณ ๐ด ๐ต ๐ถ ๐ท ๐ธ ๐น ๐บ ๐ป ๐ผ ๐ฝ ๐พ ๐ฟ ๐ ๐ ๐ ๐ ๐ ๐
๐ ๐ ๐ ๐ก ๐ข ๐ฃ ๐ค ๐ฅ ๐ฆ ๐ง ๐จ ๐ฉ ๐ช ๐ซ ๐ฌ ๐ญ ๐ฎ ๐ฏ ๐ฐ ๐ฑ ๐ฒ ๐ณ ๐ด ๐ต ๐ถ ๐ท
๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐
These symbols are in the Unicode block Mathematical Alphanumeric Symbols with codes from 1D504
to 1D537
(plain) and 1D56C
to 1d59F
(bold); strangely, uppercase ๐ฎ (C), ๐ณ (H), ๐ด (I), ๐ฝ (R) and ๐
(Z) are only available in bold, though the spaces for them are reserved as unassigned in the plain version.