Это очень сложно. Например, что вы будете делать, если два размера шрифта смешаны в одной строке?
Один из способов сделать это - создать макет Pango из одной буквы и узнать его высоту. Это непроверенное упрощение кода, который я однажды написал на C; но преобразовать его в C ++ и GTKmm не составит большого труда:
PangoLayout *cell = gtk_widget_create_pango_layout(textview, "X");
int line_height;
pango_layout_get_pixel_extents(cell, NULL, &line_height);
g_object_unref(cell);
gtk_widget_set_size_request(textview, -1, line_height);