The "Screen DPI" setting of KOReader is rather peculiar. I assume its main function is the scaling of the UI buttons/text with content having its separate setting in "Zoom (DPI)", but for some reason it also affects content font size, but specifically only fonts with no absolute size.
I tried to find out how "Screen DPI" is actually changing that font size, so I took a ruler and measured the length of a sample sentence while iterating through the DPI values. I got these values:
120 DPI 3.8 cm
Custom(288) 5.1 cm
320 DPI 5.3 cm
Auto 6.1 cm
480 DPI 6.4 cm
640 DPI 7.4 cm
Doing a linear regression gives approx.
SentenceLength = 0.007*DPI + 2.96
so the used Auto value calculates to ~ 448 DPI.
Now I'm wondering:
- How come changing the DPI doesn't linearly scale the content font size, double DPI, double size?
- Why would 448 DPI be chosen in Auto mode when my tablet is 288 DPI.
- Why isn't the used DPI value shown in the menu like "Auto DPI (448)". It just says "Auto DPI".
The source in "screen_dpi_menu_table.lua" goes like
Code:
text = dpi_auto and T(_("Auto DPI (%1)"), dpi_auto) or _("Auto DPI")
but it shows the DPI value neither on my android nor on my PW4.