Hi. This is cosmetic in nature, yet annoying as the warning points to the wrong source: On a screen running on an X server with 100 DPI, I always got warnings about X11 using the wrong font size:> x11()Warning message: X11 used font size 17 when 12 was requested Then I looked at the code and X11 is _not_ to be blamed for this: R resets the requested font size for 100 DPI screens! There should be no warning. (At least not a warning that makes people wonder whether they misconfigured the font server again.) The patch below moves Peter's scaling equation up, before the font cache check and directly writes to size. Thus it's true that: variable size == (IS_100DPI ? scaled requested size : requested size) variable pixelsize == (font available ? size (same as above) : size of allocated font) Regards, -tom *** ../src/unix/X11/devX11.c Tue Feb 6 09:27:48 2001 --- ../src/unix/X11/devX11.c~ Fri Feb 2 08:20:37 2001 *************** *** 834,855 **** if (size < SMALLEST) size = SMALLEST; face--; - /* Here's a 1st class fudge: make sure that the Adobe design sizes - 8, 10, 11, 12, 14, 17, 18, 20, 24, 25, 34 can be obtained via - an integer "size" at 100 dpi, namely 6, 7, 8, 9, 10, 12, 13, - 14, 17, 18, 24 points. It's almost y = x * 100/72, but not - quite. The constants were found using lm(). --pd */ - if (IS_100DPI) size = R_rint(size * 1.43 - 0.4); - /* search fontcache */ for ( i = nfonts ; i-- ; ) { f = &fontcache[i]; if ( f->face == face && f->size == size ) return f->font; } ! /* 'size' is the requested size, 'pixelsize' the size of the ! actually allocated font*/ ! pixelsize = size; if (face == 4) sprintf(buf, symbolname, pixelsize); --- 834,854 ---- if (size < SMALLEST) size = SMALLEST; face--; /* search fontcache */ for ( i = nfonts ; i-- ; ) { f = &fontcache[i]; if ( f->face == face && f->size == size ) return f->font; } ! ! ! /* Here's a 1st class fudge: make sure that the Adobe design sizes ! 8, 10, 11, 12, 14, 17, 18, 20, 24, 25, 34 can be obtained via ! an integer "size" at 100 dpi, namely 6, 7, 8, 9, 10, 12, 13, ! 14, 17, 18, 24 points. It's almost y = x * 100/72, but not ! quite. The constants were found using lm(). --pd */ ! ! pixelsize = IS_100DPI ? R_rint(size * 1.43 - 0.4) : size; if (face == 4) sprintf(buf, symbolname, pixelsize); --please do not edit the information below-- Version: platform = i686-pc-linux-gnu arch = i686 os = linux-gnu system = i686, linux-gnu status = Under development (unstable) major = 1 minor = 3.0 year = 2001 month = 02 day = 02 language = R Search Path: .GlobalEnv, package:ctest, Autoloads, package:base -- mailto:tov@ece.cmu.edu (Tom Vogels) Tel: (412) 268-6638 FAX: -3204 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
Peter Dalgaard BSA
2001-Feb-06 15:33 UTC
[Rd] X11 warnings about "wrong" font sizes (PR#840)
tov@ece.cmu.edu writes:> Hi. This is cosmetic in nature, yet annoying as the warning points > to the wrong source: On a screen running on an X server with 100 DPI, > I always got warnings about X11 using the wrong font size: > > > x11() > Warning message: > X11 used font size 17 when 12 was requested > > Then I looked at the code and X11 is _not_ to be blamed for this: > R resets the requested font size for 100 DPI screens! There should be > no warning. (At least not a warning that makes people wonder whether > they misconfigured the font server again.)===== :-) Thanks. (Funny... I could have sworn I zapped that 100DPI special-casing a while back. Maybe I forgot to commit?)> > The patch below moves Peter's scaling equation up, before the font > cache check and directly writes to size. Thus it's true that: > variable size == (IS_100DPI ? scaled requested size : requested size) > variable pixelsize == (font available ? size (same as above) > : size of allocated font) > > Regards, > -tom-- O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
Peter Dalgaard BSA
2001-Feb-06 16:32 UTC
[Rd] X11 warnings about "wrong" font sizes (PR#840)
tov@ece.cmu.edu writes:> The patch below moves Peter's scaling equation up, before the font > cache check and directly writes to size. Thus it's true that: > variable size == (IS_100DPI ? scaled requested size : requested size) > variable pixelsize == (font available ? size (same as above) > : size of allocated font)Patch installed and committed to the release branch (1.2.2pre). -- O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._