Font selection fallback in Pango
I am trying to understand how pygobject's Pango is determining what default fonts to use when characters are missing or generically specified. For example, when I run the following code:
import sys
import math
import gi
gi.require_version("Gtk", "3.0")
gi.require_version("Pango", "1.0")
gi.require_version("PangoCairo", "1.0")
from gi.repository import Pango
from gi.repository import PangoCairo as pc
import cairo
RADIUS = 500
FONT = "sans-serif,"+str(RADIUS/5)
filename = 'Pango test.png'
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 2 * RADIUS, int(RADIUS/2))
cairo_ctx = cairo.Context(surface)
cairo_ctx.set_source_rgb(1.0, 1.0, 1.0)
cairo_ctx.paint()
cairo_ctx.translate(RADIUS, 0)
pc_ctx = pc.create_context(cairo_ctx)
pc_layout = pc.create_layout(cairo_ctx)
pc_layout.set_text("Test 123 ⎣")
desc = Pango.FontDescription(FONT)
pc_layout.set_font_description(desc)
cairo_ctx.save()
cairo_ctx.set_source_rgb(0, 0, 0);
pc.update_layout(cairo_ctx,pc_layout)
width, height = pc_layout.get_size()
cairo_ctx.move_to(-(float(width) / Pango.SCALE) / 2, 0)
pc.show_layout(cairo_ctx,pc_layout)
cairo_ctx.restore()
status = surface.write_to_png(filename)
the following image is created: Pango_test.png. Most of the text is rendered as Tahoma, except the final character (which is not contained within Tahoma). How is Pango deciding to render sans-serif text as Tahoma? Is there a fonts.conf somewhere? If so, can I specify a different one to use?