Для стороны клиента посмотрите на http://www.w3schools.com/js/js_browser.asp
Что касается сервера, посмотрите на Request.Browser.Platform
.
Что касается шрифтов, я не могу вам многое рассказать, кроме как для того, чтобы убедиться, что у вас есть (виртуальная) машина, соответствующая каждой платформе, на которую вы хотите ориентироваться. На мой взгляд, это единственный способ быть уверенным, что все, что вы в итоге делаете, действительно работает.