text function in R, how to get an idea of width? [Off Topic]

posted by ElMaestro  – Denmark, 2022-04-24 19:09 (32 d 22:21 ago) – Posting: # 22936
Views: 333

Hi all,

hot greetings from Ahmedabad.

Let's say I do this:

foo=function(s1, s2)
{
  pdf("foopdf1.pdf", height=4, width=3)

  y=c(8,2,3,3,1,2,3,1,9)
  barplot(y)
  rect(2,4,8,6)
  text(2,5, s1, pos=4)
  text(2,4.3, s2, pos=4)

  dev.off()

}

foo("Text is ok", "Text is too wide")
system2('open', args = 'foopdf1.pdf', wait = T)


On my system (and it may indeed be dependent on various factors like devices, resolution, OS and a ton of stuff I know nothing about) I am getting the two labels printed with Arial in the rectangle, and while s1 fits inside the rectangle, s2 doesn't - it extends beyond the rectangle borders to the right.

So here's the challenge:
How can I determine dynamically if any text s2 fits inside the rectangle or not?

I have deliberately chosen not to use specify a fixed-width font family (Courier would otherwise be easy to set). Note also the "useKerning" option of the pdf function which may have some influence on actual text width.

Many thanks for any input.
EM.

Pass or fail!
ElMaestro

Complete thread:

UA Flag
Activity
 Admin contact
22,108 posts in 4,630 threads, 1,567 registered users;
online 13 (0 registered, 13 guests [including 5 identified bots]).
Forum time: Friday 17:31 CEST (Europe/Vienna)

We absolutely must leave room for doubt
or there is no progress and no learning.
There is no learning without having to pose a question.
And a question requires doubt.
People search for certainty.
But there is no certainty.    Richard Feynman

The Bioequivalence and Bioavailability Forum is hosted by
BEBAC Ing. Helmut Schütz
HTML5