Al Roark
2011-Apr-25 16:42 UTC
[R] Problem with grid's text-based units and TrueType fonts
Hi all: I'm using grid to create a layout in R that will include text mixed with graphics. In the layout, the positions of certain graphical elements depend on the number of lines in adjacent text blocks (which will vary from case to case). I was hoping to use grid's built in functions to automate the placement of the graphical elements. I can get this to work if I use the standard pdf device, but when using the Cairo_pdf device (from the cairoDevice package), I run into problems. I need the TrueType functionality of Cairo. The example below illustrates my problem. The rectangle in "SizeMatch.pdf" matches the size of the text block, while the rectangle in "SizeMismatch.pdf" is too small. Why is this the case? I'm using R-2.13.0 (32bit) on Windows 7. Thanks a bunch. Cheers, Al --- library(cairoDevice)library(grid) Cairo_pdf("SizeMismatch.pdf",11,8.5,pointsize=10)pushViewport(viewport(gp=gpar(fontfamily="Arial",font=1,fontsize=8,lineheight=0.9)))grid.text("The quick\nbrown fox\njumps\nover\nthe lazy dog")grid.rect(width=0.5,height=unit(5,"lines"))dev.off() pdf("SizeMatch.pdf",11,8.5,pointsize=10)pushViewport(viewport(gp=gpar(fontfamily="Times",font=1,fontsize=8,lineheight=0.9)))grid.text("The quick\nbrown fox\njumps\nover\nthe lazy dog")grid.rect(width=0.5,height=unit(5,"lines"))dev.off() [[alternative HTML version deleted]]