If removing the call or replacing it with ~~~ pango_context_set_round_glyph_positions(pcontext, TRUE); ~~~ doesn't change the appearance then this is a different issue. Your system may have different defaults.
Here's an image from my system with both choices. ![SetFractional](https://github.com/geany/geany/assets/225818/c9a34cf9-fba3-4bb2-9c67-de2f40e...)
The width of 'I' in DejaVu Sans Mono,size:12 changes from 9.632812 pixels to 10.0 pixels with `FALSE/TRUE` values for `pango_context_set_round_glyph_positions` on Ubuntu 23.10.
I expect the same characters to be displayed the same way.
Drawing is performed using a floating-point coordinate space over an visual with distinct (integral) pixels. Drawing 'I' at (0,0) will colour pixels differently then drawing 'I' at (9.632812, 0).