def _parse_font(font, cr=None):
if not cr:
ims = cairo.ImageSurface(cairo.FORMAT_RGB24, 300, 300)
cr = cairo.Context(ims)
fd = Pango.font_description_from_string(font)
layout = PangoCairo.create_layout(cr)
layout.set_font_description(fd)
layout.set_alignment(Pango.Alignment.LEFT)
layout.set_markup('<span font_weight="bold">A</span>')
bold_width, _ = layout.get_size()
layout.set_markup('<span>A</span>')
pixels = layout.get_pixel_size()
normal_width, _ = layout.get_size()
return fd, pixels, normal_width, bold_width
评论列表
文章目录