FUNCTION gettextheight,text, $
                      NORMAL=normal, $
                      DEVICE=device, $
                      DATA=data

@compile_opt

; default is charsize units

height=!D.Y_CH_SIZE

IF N_ELEMENTS(normal) EQ 0 THEN normal=0
IF N_ELEMENTS(device) EQ 0 THEN device=0
IF N_ELEMENTS(data)   EQ 0 THEN data=0

IF normal NE 0 THEN BEGIN
    height/=(1.D0*!D.Y_SIZE)
ENDIF ELSE IF data NE 0 THEN BEGIN
    c=CONVERT_COORD([0,0],[0,height],/DEVICE,/TO_DATA)
    height=c[1,1]-c[1,0]
ENDIF ELSE IF device NE 0 THEN BEGIN
    height=1
ENDIF


RETURN,height
END
