CSharpMath: MathView and TextView width and height calculation does not work with non-100% DPI on Windows

Describe the bug

When display has non-100 % DPI, the height of TextView is calculated as significantly bigger than expected on Windows.

To Reproduce

  1. Create a StackLayout with two TextView controls, both with the following content:
\textit{Napětí by se dalo téměř krájet. 
Skupina rytířů vkládá do velkého koše poslední zátěž a přesouvá se 
ke šlapacímu kolu. 
Na povel se začnou pomalu pohybovat a stroj se zachvěje. 
Rameno trebuchetu se jen neochotně sklání k zemi.}

\\

Opatrně ho zajistí mohutnou pojistkou.

\\

Několik mužů umístí těžký kámen do koženého vaku.

\\

Všichni ustoupí do bezpečné vzdálenosti od mohutné dřevěné konstrukce.

\\

Trhnutí lanem a kámen letí vstříc nepřátelské pevnosti.

\\

Desítky očí se nemohou odtrhnout od projektilu.

\\

Doletí?

\\

Pokud se těleso bude pohybovat v blízkosti Země (nebo jakékoliv jiné planety), bude na něj působit tíhová síla. Abychom si celou situaci zjednodušili, tak budeme předpokládat, že těleso se pohybuje v těsné blízkosti povrchu Země a jeho trajektorie bude velmi malá (oboje vzhledem k rozměrům Země).
  1. Set display scaling in Windows Settings to something higher than 100% (I have 150%). 3.Observe the result has significant space between the texts.

Example from my app:

image

But on 100% scaling display:

image

Expected behavior

The height should be calculated appropriately regardless of display scaling.

Environment (please complete the following information):

  • Platform: CSharpMath.SkiaSharp
  • Package Version or Commit: latest
  • Device: Windows 10 PC

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 22

Most upvoted comments

Tested on latest master and works great too 😃 . Thanks!