[GSoC] Subpixel glyph positioning - Looking for a mentor

Jan-Marek Glogowski glogow at fbihome.de
Fri Mar 29 18:45:04 UTC 2019

Hi Alexander,

Am 29.03.19 um 17:06 schrieb Alexander Farrow:
> For GSoC 2019 I would love to work on the "Sub-pixel and stable glyph positioning" project from the
> list of ideas without a mentor:
> https://bugs.documentfoundation.org/show_bug.cgi?id=103322
> I'm particularly interested in this project as I experience poor glyph positioning quite often as a
> LibreOffice user.
> To achieve the required skills for this project I read the "State of text rendering" paper  by Behdad
> Esfahbod to further my understanding of text rendering. I've also followed the HarfBuzz tutorial to
> develop a primitive text rendering program.

This is more then 10 years old. I have no idea how much it represents the
current state.

> I've been familiarising myself with the LibreOffice text rendering code particularly CommonSalLayout.
> I've written a very small patch for this file, changing a variable from tools::Point to basegfx::B2DPoint
> to add support for floating point values.
> I've followed the Bugzilla comments and I'm now looking into what changes will need to be made
> throughout the code-base to store the glyph positions in a floating point variable. Specifically, I'm
> currently looking into how to make the following code changes:
> 1. DeviceCoordinate -  Change from a long to a double.
> 2. GlyphItem - Change m_aLinearPos from tools::Point to basegfx::B2DPoint. Change m_nOrigWidth
> from an int to a double. Change m_nXOffset from an int to a double.

There is also https://gerrit.libreoffice.org/#/c/62219/

Interesting post for a different problem with the same solution: Getting real
linearly-scalable text
But it's also 10 years old...

The image link still works and show the (potentially long fixed?) problem

Then there is
- that's from 2016.
It's not about positioning, but a nice overview of Chromes text rendering
evolution, as Behdad Esfahbod is working for Google for quite some time.

> I am hoping that somebody would like to be my mentor for this project.

I have added some potential mentors, which are normally also interested in font
rendering. As much as I could potentially do some mentoring, as I know a share
of SalLayout and VCL, I have just minimal idea about text rendering, mainly from
the time writing the Qt5 VCL backend. I'm willing to do some larger share of it.
Someone of you want to share?



P.S. this is potentially cross-platform and I just have Linux.

More information about the LibreOffice mailing list