[Lazarus] Font sizes on various platforms

Michael Van Canneyt michael at freepascal.org
Tue Jul 7 15:34:32 CEST 2009



On Tue, 7 Jul 2009, Graeme Geldenhuys wrote:

> Graeme Geldenhuys wrote:
>> 
>> - I first thought it was dpi related, but setting Linux to run at 96 dpi 
>> and Windows to 96 dpi there is still a size difference. Windows 8 point = 
>> Linux 10 point. Why?
>
>
> And here is the exact same issue shown using a web page with CSS.
>
>  http://jongrieve.net/faq/dcss/
>
> So the issue is wide spread, but still I don't know why. Also does that mean 
> I need to apply the same font size hack as the guy in the CSS article.
>
> eg:
>  ifdef MacOS
>     NormalFontSize = 13
>  elseif Windows
>     NormalFontSize = 8
>  elseif Linux
>     NormalFontSize = 10
>  else
>     NormalFontSize = 8  // ??? What would be correct as a default?
>
>  Label.Font.Size = NormalFontSize;
>
>
> Yuck!!!!  Imagine that all over your code?  Is the ifdef part could be done 
> in some Constants.pas unit and used globally in your application, but still 
> it feels like a hack. Not to mention it makes GUI design a lot more difficult 
> if the same form is edited on various platforms.

Even single platform it is a mess if you work e.g. in team. My windows DPI is 
different from the one from my collega, and when I open his files or vice
versa, the .dfm files of delphi are all messed up. What will happen at the 
client, is even more of a mystery... This has been plagueing us since day 1.

Michael.




More information about the Lazarus mailing list