Fallback fonts on special characters

What you described is the default behaviour of a browser - it should naturally fall back to basic font for missing characters.

However, sometimes custom fonts use blank characters, in that case you can try using the unicode-range

For example:

@font-face {
    font-family: BBCBengali;
    src: url(fonts/BBCBengali.ttf) format("opentype");
    unicode-range: U+00-FF;
}

Taken from this interesting article: Creating Custom Font Stacks with Unicode-Range

Unfortunatelly there are browser support issues.


CSS has default fallback to the system font if the specified font doesn't contain a character. You can also specify which font to fall back to.

Example for a serif font:

body {
    font-family: "MyNiceFontWithoutJapanesChars", "common serif font", serif;
}

As long as the fallback font has those characters your default font misses, you should be all right.