#DEFINE nTwipsPerInch 1440 lnPixelsPerInch = _GetPixelsPerInch(0) && 0 Horizontal lnSizeInPixels = txtwidth(lcSampleText, lcFont, lnFontSize) * fontmetric(6, lcFont, lnFontSize) lnPoints = ( lnSizeInPixels / lnPixelsPerInch * nTwipsPerInch ) / 20 * 1 Twip = 1/20 point, 567 twips 1 cm FUNCTION _GetPixelsPerInch LPARAMETERS lnDirection 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 #DEFINE WU_LOGPIXELSY 90 lnDC = GetWindowDC(0) IF (lnDirection = 0) &&Horizontal lnPixelsPerInch = GetDeviceCaps(lnDC, WU_LOGPIXELSX) ELSE &&Vertical lnPixelsPerInch = GetDeviceCaps(lnDC, WU_LOGPIXELSY) ENDIF lnDC = ReleaseDC(0, lnDC) RETURN lnPixelsPerInchTwips is device independent and fixed to be 1440 per inch. Since you know your page width, you have a chance to precisely calculate text size in cm or inch.