I also don't trust much to Screen.PixelsPerInch value: for my laptop Pascal returns 72, Windows shows 96, practical measuring gives 106.Why does Pascal return 72? Is this a Mac? Or are you confuse "points" with "pixels"? A "point" is the font size unit, 1/72 inch. So, there are 72 points per inch, or: a font size 72 corresponds to a height of 1 inch. If your screen resolution is 96 pixels per inch this font uses 96 pixels per line (font height).
From WiKi, Excel can set column width in number of characters (suChars).No, I think it gets worse. This measure originates in the first Excel versions which still were close to the old typewriter days where every character had the same width. Nowadays, we have proportional fonts, and this kind of column width now refers to the width of the character "0" of the default font (if I remember correctly). But fpspreadsheet does not know about font metrics and makes only very rough estimates. You are better off with suPoints which ties the column width to the font size -- the column width grows/shrinks with the font size. But don't expect too much, changing the font type face usually results in different character metrics which changes the text width, but not the column width.
Maybe setting column width in suChars units will be more adequate?
Why does Pascal return 72? Is this a Mac? Or are you confuse "points" with "pixels"? A "point" is the font size unit, 1/72 inch. So, there are 72 points per inch, or: a font size 72 corresponds to a height of 1 inch. If your screen resolution is 96 pixels per inch this font uses 96 pixels per line (font height).I did a mistake, checking screen.PixelsPerInch before the form was opened. It returned 72, after form was opened - 96. Windows Control Panel - Displays - Custom DPI Setting displays Ruler where 1 inch is shorter than a real inch, measured by a real ruler on a screen (see screenshot below).
What are you doing to determine the resolution practically? On my 96ppi monitor, I put a TPanel on a form and set its width and height to 96, and when I measure this it is "exactly" 1 inch.Well, I measured my laptop's screen horizontal size (displayable area, of course) with a ruler and it was 12". Then I divide horizontal resolution 1280 by 12 and got 106 ppi.