function windowWidthHeight(){ var ratio; window.devicePixelRatio ? ratio = window.devicePixelRatio : ratio = 1 ; return{ windowWidth : window.innerWidth , windowHeight : window.innerHeight, devicePixelRatio : ratio }; } function deviceDpi(){ var POINTDPI = 96 , ratio = windowWidthHeight().devicePixelRatio , width = windowWidthHeight().windowWidth , coefficient , logicalDpi , estimatedActualDpi = logicalDpi * ratio; ratio < 2 ? coefficient = -ratio : coefficient = ratio , logicalDpi = ( devicePixelRatio === 1 ) ? ( POINTDPI + Math.sqrt( Math.sqrt( windowWidthHeight().windowWidth ) ) * coefficient ) : ( POINTDPI + ( POINTDPI / ratio ) + Math.sqrt( Math.sqrt( width ) ) * coefficient ) ; return estimatedActualDpi / logicalDpi; }