How to set different font family based on text language?

This question is not about WordPress but about css. Actually there even is a straightforward solution, because css-3 has an attribute called unicode-range, which allows you to load fonts based on the character set. For Tamil the unicode block is U+0B02..U+0BCD. So, if you have the english font as a standard you can easily change the font to Tamil whenever appropriate like this:

@font-face {   
  font-family: 'NovaSansTamil';
  src: url('novasanstamil.woff') format('woff'); /* full url to font needed */
  unicode-range: U+0B02-CD;
  }

Beware that browser support is not yet universal for this feature.