summaryrefslogtreecommitdiff
path: root/sw/source/core/txtnode/fntcache.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-12-21 14:15:59 +0000
committerCaolán McNamara <caolanm@redhat.com>2021-12-22 13:03:20 +0100
commitf22751cac9b81e5d7c5ad6b2e0a2eff21b683cad (patch)
tree62df119314bbad5fc710c637fe98a97f8ba030d7 /sw/source/core/txtnode/fntcache.cxx
parent70ac13eecfa620e94770a64110eeaa05f8c266e6 (diff)
Related tdf#144862 add some notes on various compromises
Change-Id: I6b1c7f90bbad70224040f3d2355a40601f58fa4f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127303 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw/source/core/txtnode/fntcache.cxx')
-rw-r--r--sw/source/core/txtnode/fntcache.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/sw/source/core/txtnode/fntcache.cxx b/sw/source/core/txtnode/fntcache.cxx
index df213b9553e9..b56672460afb 100644
--- a/sw/source/core/txtnode/fntcache.cxx
+++ b/sw/source/core/txtnode/fntcache.cxx
@@ -868,16 +868,20 @@ namespace
case GlyphPositioningMode::PreferLayout:
rScrPos = rKernArray[i - 1] + nScr;
// just accept the print layout positions, this is what editeng does
+ // https://freddie.witherden.org/pages/font-rasterisation/#application-requirements
break;
case GlyphPositioningMode::PreferReadability:
{
// Overwrite KernArray with the screen-optimized glyph positions
+ // these will generally be too wide at small sizes and text will spill out
+ // of its designated zones
rKernArray[i - 1] = rScrPos;
rScrPos += nScr;
break;
}
case GlyphPositioningMode::Classic:
{
+ // https://wiki.openoffice.org/wiki/Writer/WYSIWYG
if (nCh == CH_BLANK)
rScrPos = rKernArray[i - 1] + nScr;
else
@@ -912,6 +916,8 @@ namespace
rKernArray[i - 1] = rScrPos;
rScrPos += nScr;
}
+ // at small sizes the screen positions tend to get wider, and the text begins to
+ // overlap the next word. http://people.redhat.com/otaylor/grid-fitting/
break;
}
}