I'd like to have a colored buffer around annotation text within a matplotlib. This screenshot taken in QGIS shows how it looks like (in red):

What I tried
My naive approaches involved plotting 'Some text' twice, with different font size and font weight. The result looks not convincing both times. The bbox solution "works", but does not have the same aesthetics as the buffered text.
%matplotlib inline
import matplotlib as mpl
import matplotlib.pyplot as plt
# font size
plt.annotate(
'Some text', xy=(.5, .75), color=(.7, .7, .7),
ha='center', va='center', fontsize='20')
plt.annotate(
'Some text', xy=(.5, .75), color=(.2, .3, .8),
ha='center', va='center', fontsize='16')
# font weight
plt.annotate(
'Some text', xy=(.5, .5), color=(.7, .7, .7),
ha='center', va='center', fontsize='16', weight='bold')
plt.annotate(
'Some text', xy=(.5, .5), color=(.2, .3, .8),
ha='center', va='center', fontsize='16')
# bbox
plt.annotate(
'Some text', xy=(.5, .25), color=(.2, .3, .8),
ha='center', va='center', fontsize='16',
bbox=dict(fc=(.7, .7, .7), lw=0, pad=5))
Result

So my question is
(How) is it possible (with reasonable effort) to recreate buffered text in matplotlib?

bboxwhich unfortunately is not what you want. The problem with trying to use a larger font is that you don't really want a larger font, you want the same size font but you want the actual font curves to be "thicker". Still, hopefully someone will come up with some matplotlib-based wizardry :)matplotlib.font_managerwhich will allow you to add your own. If you can find the font you want (with the bordering) in your system (or on the internet) then you could add it yourself and not have to worry about the matplotlib wizardry.