scaler formula:

X = ((x * sval + 16) >> 5) << sexp;

Measurements with reference implementation
e.g. on a VGA display (=96dpi) and a emUnits=2048 font

	8 pts		-> sval =  11, sexp = 0
	9 pts		-> sval =  12, sexp = 0
	10 pts		-> sval =  13, sexp = 0
	11 pts		-> sval =  15, sexp = 0
	12 pts		-> sval =  16, sexp = 0
	13 pts		-> sval =  17, sexp = 0
	14 pts		-> sval =  19, sexp = 0
	15 pts		-> sval =  20, sexp = 0
	16 pts		-> sval =  21, sexp = 0
	17 pts		-> sval =  23, sexp = 0
	18 pts		-> sval =  24, sexp = 0
	19 pts		-> sval =  25, sexp = 0
	20 pts		-> sval =  27, sexp = 0
	25 pts		-> sval =  33, sexp = 0
	50 pts		-> sval =  66, sexp = 0		// why not 67 ???
	99 pts		-> sval = 132, sexp = 0
	100 pts		-> sval = 133, sexp = 0
	101 pts		-> sval = 135, sexp = 0
	125 pts		-> sval = 167, sexp = 0
	150 pts		-> sval = 100, sexp = 1
	175 pts		-> sval = 117, sexp = 1		// why not 116 ???
	180 pts		-> sval = 120, sexp = 1
	190 pts		-> sval = 127, sexp = 1		// why not 126 ???
	195 pts		-> sval = 130, sexp = 1
	198 pts		-> sval = 132, sexp = 1
	199 pts		-> sval = 133, sexp = 1
	200 pts		-> sval = 134, sexp = 1		// why not 133 ???
	201 pts		-> sval = 134, sexp = 1
	202 pts		-> sval = 135, sexp = 1
	210 pts		-> sval = 140, sexp = 1
	220 pts		-> sval = 147, sexp = 1		// why not 146 ???
	225 pts		-> sval = 150, sexp = 1
	250 pts		-> sval = 167, sexp = 1		// why not 166 ???
	297 pts		-> sval =  99, sexp = 2
	300 pts		-> sval = 100, sexp = 2
	303 pts		-> sval = 101, sexp = 2
	350 pts		-> sval = 117, sexp = 2		// why not 116 ???
	400 pts		-> sval = 133, sexp = 2
	450 pts		-> sval = 150, sexp = 2
	500 pts		-> sval = 167, sexp = 2		// why not 166 ???
	510 pts		-> sval = 170, sexp = 2
	520 pts		-> sval = 173, sexp = 2
	525 pts		-> sval = 175, sexp = 2
	530 pts		-> sval = 177, sexp = 2		// why not 176 ???
	535 pts		-> sval =  89, sexp = 3
	540 pts		-> sval =  90, sexp = 3
	545 pts		-> sval =  91, sexp = 3		// why not 90 ???
	550 pts		-> sval =  92, sexp = 3		// why not 91 ???
	750 pts		-> sval = 125, sexp = 3
	800 pts		-> sval = 133, sexp = 3
	1000 pts	-> sval = 167, sexp = 3		// why not 166 ??? 
	1500 pts	-> sval = 125, sexp = 4
	1600 pts	-> sval = 133, sexp = 4
	2000 pts	-> sval = 167, sexp = 4		// why not 166 ???
	3200 pts	-> sval = 133, sexp = 5

sval = (int)((pointSize * RES) / 720.0 + 0.5);
sexp = 0;
if( sval >= MAXSVAL)
	sval >>= 1, ++sexp;
if( emUnits != 2048)
	adjust( sval, emUnits);

MAXSVAL is 177???
Is this a bug in the reference implementation? I guess it should have
been 0177 = 127 instead of 177 ???

This is the scaling algorithm closest to the reference implementation
I was able to come up with. It works for everything I tested except for
the sizes 50 and 200. Anybody have a better algorithm?

