> The issue isn't so much that that individual characters > are smaller (which some of them are), but that gschem does not > do any kerneling or hinting. Without kerneling, the lengths > are not going to be exactly the same.
Kerning. Kerneling is what you do to a Linux system ;-) I could, in theory, provide you with a table of character widths for whatever font you're using, but even so, they vary among printers a little, and pixel rounding is going to throw you off anyway. Character widths for helvetica (relative to font scale): float fm_hlv[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0.277979 ,0.277979 ,0.35498 ,0.555981 ,0.555981 ,0.888989 ,0.666992 ,0.221997 ,0.332983 ,0.332983 ,0.388989 ,0.583984 ,0.277979 ,0.332983 ,0.277979 ,0.277979 ,0.555981 ,0.555981 ,0.555981 ,0.555981 ,0.555981 ,0.555981 ,0.555981 ,0.555981 ,0.555981 ,0.555981 ,0.277979 ,0.277979 ,0.583984 ,0.583984 ,0.583984 ,0.555981 ,1.01499 ,0.666992 ,0.666992 ,0.721997 ,0.721997 ,0.666992 ,0.610986 ,0.777979 ,0.721997 ,0.277979 ,0.5 ,0.666992 ,0.555981 ,0.832983 ,0.721997 ,0.777979 ,0.666992 ,0.777979 ,0.721997 ,0.666992 ,0.610986 ,0.721997 ,0.666992 ,0.943994 ,0.666992 ,0.666992 ,0.610986 ,0.277979 ,0.277979 ,0.277979 ,0.468994 ,0.555981 ,0.221997 ,0.555981 ,0.555981 ,0.5 ,0.555981 ,0.555981 ,0.277979 ,0.555981 ,0.555981 ,0.221997 ,0.221997 ,0.5 ,0.221997 ,0.832983 ,0.555981 ,0.555981 ,0.555981 ,0.555981 ,0.332983 ,0.5 ,0.277979 ,0.555981 ,0.5 ,0.721997 ,0.5 ,0.5 ,0.5 ,0.333984 ,0.259985 ,0.333984 ,0.583984 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.332983 ,0.555981 ,0.555981 ,0.166992 ,0.555981 ,0.555981 ,0.555981 ,0.555981 ,0.190991 ,0.332983 ,0.555981 ,0.332983 ,0.332983 ,0.5 ,0.5 ,0.0 ,0.555981 ,0.555981 ,0.555981 ,0.277979 ,0.0 ,0.536987 ,0.35 ,0.221997 ,0.332983 ,0.332983 ,0.555981 ,1.0 ,1.0 ,0.0 ,0.610986 ,0.0 ,0.332983 ,0.332983 ,0.332983 ,0.332983 ,0.332983 ,0.332983 ,0.332983 ,0.332983 ,0.0 ,0.332983 ,0.332983 ,0.0 ,0.332983 ,0.332983 ,0.332983 ,1.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,1.0 ,0.0 ,0.369995 ,0.0 ,0.0 ,0.0 ,0.0 ,0.555981 ,0.777979 ,1.0 ,0.36499 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.888989 ,0.0 ,0.0 ,0.0 ,0.277979 ,0.0 ,0.0 ,0.221997 ,0.610986 ,0.943994 ,0.610986 ,0.0 ,0.0 ,0.0 ,0.0 };