I'm trying to use a 'Nilland-SmallCaps' font in my new website. The problem is that while all other text is displayed correctly, specific characters of my language (š, č, ž (s,c,z with caron)) are displayed in default font. I opened .ttf file in a font editor and I found out that these characters were defined, so I don't have a clue why they don't display correctly. If you have an idea on how to fix this, please help me, as I have tried everything I came up with.
@font-face {
font-family: 'Nilland-SmallCaps';
src: url('Nilland-SmallCaps.ttf')format('truetype');
}
I'm using this font-file: Nilland-SmallCaps
The Nilland-Smallcaps font is odd in many ways. It does not actually contain small caps, to begin with. But what matters here is that it is not properly encoded. It does not contain glyphs as assigned to locations corresponding to Unicode numbers, except for some characters like the Ascii range.
If you analyze the font using DTL OTMaster Light, you can see that e.g. the letter š is properly placed, Unicode number U+0161, but the letter ž is assigned to U+0014, which is all wrong, since this is a control character position. The letter č is in position U+E054, which is in the Private Use Area, which should only be used by agreement between interested parties, and browsers aren’t interested. In fact, you can fool (at least some) browsers into rendering č in the font by using the character reference 
, but this is really a horrendeous kludge.
I suggest that you try and find some other, more properly encoded font.