When using afw.display.dot('text',x,y) with the Firefly back end, display_firefly, to display text, Firefly appears to position the text so that it is centered on the pixel position given. This is (probably) what is desired from the back-end-independent abstraction.
However, an additional issue arises with Firefly: when the size parameter of the API is used to vary the font size, an upward drift of the text with increasing size is observed.
This is NOT seen when DS9 TEXT regions with varying font sizes, in the font="family size" parameter, are uploaded via the UI.
So far this is not understood. afw.display's text display is implemented in the dot() function and appears to generate the DS9 TEXT region code for the display in the obvious way, with no size-dependent modification to the coordinates, and then just send them to Firefly.
The next step may be to run in the debugger and see exactly what text has been sent to Firefly.
Issue observed with the version currently on lsst-demo, i.e., 2019.2.1. Affects operations: Merlin Fisher-Levine plans to use the API to label the quasi-real-time display of new images from the LATISS spectrograph.