Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado
Paul van Delst wrote: > > Hey there, > > Anyone know how to determine string length in normalised units when you're using truetype > fonts? > > Currently I have: > > ch_size = CONVERT_COORD( !D.X_CH_SIZE, !D.Y_CH_SIZE, /DEVICE, /TO_NORMAL ) > x_ch_size = ch_size[ 0 ] * charsize > x_length = STRLEN( my_string ) * x_ch_size ) > > which works great for the regular on-screen hershey type of fonts, but not for proportional > fonts. > > any ideas? what I want to do is blank out the plot behind the text, e.g. like for legends etc. > > paulv Hiya Paul, Does the Width keyword to XYOUTS not help? e.g. :- XYOUTS, x, y, string, WIDTH=thisWidth, CHARSIZE=-1 Charsize of -1 suppresses printing to the window, and the variable thisWidth returns the width of the string in normalized coordinates. Andrew ------------------------------------------------------------ --------- Andrew D. Cool .->-. Electromagnetics & Propagation Group `-<-' Surveillance Systems Division Transmitted on Defence Science & Technology Organisation 100% recycled PO Box 1500, Salisbury electrons South Australia 5108 Phone : 061 8 8259 5740 Fax : 061 8 8259 6673 Email : andrew.cool@dsto.defence.gov.au ------------------------------------------------------------ ---------
Andrew Cool wrote: > > Paul van Delst wrote: >> >> Hey there, >> >> Anyone know how to determine string length in normalised units when you're using truetype >> fonts? >> >> Currently I have: >> >> ch_size = CONVERT_COORD( !D.X_CH_SIZE, !D.Y_CH_SIZE, /DEVICE, /TO_NORMAL ) >> x_ch_size = ch_size[ 0 ] * charsize >> x_length = STRLEN( my_string ) * x_ch_size ) >> >> which works great for the regular on-screen hershey type of fonts, but not for proportional >> fonts. >> >> any ideas? what I want to do is blank out the plot behind the text, e.g. like for legends etc. >> >> paulv > > Hiya Paul, > > Does the Width keyword to XYOUTS not help? e.g. :- > > XYOUTS, x, y, string, WIDTH=thisWidth, CHARSIZE=-1 > > Charsize of -1 suppresses printing to the window, and the variable > thisWidth returns the width of the string in normalized coordinates. Hmm...this does not seem to work as advertised on my system. IDL> print, !version { x86 linux unix 5.4.1 Jan 16 2001 32 32} The following is what I get for the string lengths via the XYOUTS with font=1: Level ppmv 0.0484790 ppmv->cd->corr.ppmv 0.0991605 corr-nocorr ppmv 0.0736377 corr-interp ppmv 0.0700989 nocorr-interp ppmv 0.0809504 oh so incorrect. BTW, your code was downloaded uuencoded so I never saw it. paulv -- Paul van Delst Religious and cultural CIMSS @ NOAA/NCEP purity is a fundamentalist Ph: (301)763-8000 x7274 fantasy Fax:(301)763-8545 V.S.Naipaul