Declare Integer ReleaseDC In Win32Api; INTEGER nwnd, Integer hdc Declare Integer GetDeviceCaps In Win32API; INTEGER hdc, Integer nIndex Declare Integer GetWindowDC In Win32API; INTEGER HWnd #Define WU_LOGPIXELSX 88 lnDC = GetWindowDC(0) lnPixelsPerInch = GetDeviceCaps(lnDC, WU_LOGPIXELSX) lnDC = ReleaseDC(0, lnDC) lcFont = 'Arial' && _Screen.FontName lnFontSize = _Screen.FontSize lcStyle = ; Iif(_Screen.FontBold,'B','')+; Iif(_Screen.FontItalic,'I','')+; Iif(_Screen.FontUnderline,'U','') lcStyle = Iif( Empty(m.lcStyle),'N',m.lcStyle) lcTextToMeasure = "Sample text" lnSizeInPixels = Txtwidth(m.lcTextToMeasure, m.lcFont, m.lnFontSize,m.lcStyle) * ; fontmetric(6, m.lcFont, m.lnFontSize,m.lcStyle) lnSizeInTwips = ( m.lnSizeInPixels / m.lnPixelsPerInch * 1440 ) lnSizeInPoints = m.lnSizeInTwips / 20 lnSizeInInches = m.lnSizeInTwips / 1440 lnSizeInCm = m.lnSizeInTwips / 1440 * 2.54 clear TEXT TO m.lcDisplay TEXTMERGE noshow Pixels per inch is: <<m.lnPixelsPerInch>> Font: <<m.lcFont>>, <<m.lnFontSize>>, <<m.lcStyle>> String "<<m.lcTextToMeasure>>" measures: In pixels: <<m.lnSizeInPixels>> In Twips: <<m.lnSizeInTwips>> In points: <<m.lnSizeInPoints>> In Inches: <<m.lnSizeInInches>> In centimeters: <<m.lnSizeInCm>> endtext ? m.lcDisplay * 1 Twip = 1/20 point, 567 twips 1 cm ~ 1440/2.54, 1 inch = 72pts = 1440 twipsCetin