The X11 font driver uses font descent as underline height, i.e. the entire space below the baseline goes to underlining. This is too much, for example "gadfly" in 8x16 baseline=12 looks like this:
................................................ ................................................ ......................#.....###...##............ ......................#....#.......#............ ......................#....#.......#............ ..#####...#####...#####..#####.....#.....#....#. .#....#..#....#..#....#....#.......#.....#....#. .#....#..#....#..#....#....#.......#.....#....#. .#....#..#....#..#....#....#.......#.....#....#. .#....#..#....#..#....#....#.......#.....#....#. .#....#..#...##..#....#....#.......#.....#....#. ..#####...###.#...#####....#......###.....#####. ################################################ ################################################ ################################################ ################################################
This patch syncs ulheight/ulpos calculation with all other drivers for which ulheight isn't known. Albeit not perfect, the result is quite decent.