hakanson@mist.cs.orst.edu (Marion Hakanson) (12/07/88)
What I'd REALLY like to see is a set of fonts at the proper resolution for the Sun hi-res monitor (1280 high by 1600 wide, on a 19" screen). I've measured this screen, seeing roughly 27.5cm high by 35.5cm wide, which comes out to about 114dpi width and 118dpi height (or about 116dpi overall, if my arithmetic is correct). Can someone point me toward just the normal set of X11.3 fonts in 115dpi resolution? BTW, xrdb -symbols reports Y_RESOLUTION=3546 and X_RESOLUTION=3548 (running Xsun, stock X11.3, on Sun4 with SunOS 3.2_REV2) for this display. My rough measurements above show that Y_RESOLUTION=4654 and X_RESOLUTION=4507 -- I know I used a cheapo plastic ruler, but I couldn't be that far off, could I? <insert appropriate pause for grunging thru sources> Well, I answered my own question. Deep in the bowels of the Sun server code (ddx/sun/sun{BW2,CG2C,CG3C,CG4C}.c), the calls to [c,m]fbScreenInit() all use a dpi argument of 90. I measured a few screens around here (one BW2, one CG2, and one BW2-hi-res), and came up with an average height of 27.5cm and width of 35.5cm. Again, these are rough measurements, but they come out to about 83dpi for the normal resolution screens (not 90), and 116dpi for the hi-res screen. Now, I can be convinced that the normal screens might claim to be at 90dpi resolution, if you shrink them down a bit, but surely it wouldn't be tough to modify ddx/sun/sunBW2.c's sunBW2Init() function to get the resolution in the ballpark for the hi-res displays. Looking elsewhere in the same file for inspiration, I decided I'd do it something like the following (someone else can decide on official numbers). Note that this is untested: ===============cut here============= *** sunBW2.c Sat May 21 11:49:33 1988 --- sunBW2.c.hr Tue Dec 6 13:37:44 1988 *************** *** 233,243 **** char **argv; /* The arguments themselves. Don't change! */ { ColormapPtr pColormap; if (!mfbScreenInit(index, pScreen, sunFbs[index].fb, sunFbs[index].info.fb_width, ! sunFbs[index].info.fb_height, 90, 90)) return (FALSE); pScreen->SaveScreen = sunBW2SaveScreen; --- 233,250 ---- char **argv; /* The arguments themselves. Don't change! */ { ColormapPtr pColormap; + int dpix = 82; /* or whatever Sun says it should be */ + int dpiy = 83; + if (sunFbs[index].info.fb_width > 1152) { + dpix = 114; /* ditto */ + dpiy = 118; + } + if (!mfbScreenInit(index, pScreen, sunFbs[index].fb, sunFbs[index].info.fb_width, ! sunFbs[index].info.fb_height, dpix, dpiy)) return (FALSE); pScreen->SaveScreen = sunBW2SaveScreen; ===============cut here============= Note also that I'm not sure what clients will take advantage of having this more accurate information, but it sure would be nice to not have to continually lie about what font size to use on this nice screen, just so I'll be able to read the danged thing (another plea for 115 or 120dpi fonts -- even the Suntools fonts are hard to read on this screen...). -- Marion Hakanson Domain: hakanson@cs.orst.edu UUCP : {hp-pcd,tektronix}!orstcs!hakanson