I went ahead and took a bunch more measurements of font margins in the
edit control. These are all taken on real Win2k using traces added to
the conformance test test_margins_font_change, and cross compiled with
MinGW. So here they are for posterity.
The results are rather confusing to me. But there seems to be a general
trend.
If MinA < MinC, then the trend seems to be something close to:
left = (- MinA - MinC) / 2
right = (- MinA - MinC) / 2
if MinA >= MinC
left = (- MinA) / 2
right = (- MinC) / 2
edit.c:807:Font:Verdana height=6 ave width=3 max width=7
edit.c:818:ABC MinA=-1, minC=-3
edit.c:825:Margins left=0, right=1
edit.c:807:Font:Verdana height=8 ave width=3 max width=9
edit.c:818:ABC MinA=-1, minC=-4
edit.c:825:Margins left=0, right=2
edit.c:807:Font:Verdana height=12 ave width=5 max width=13
edit.c:818:ABC MinA=-1, minC=-5
edit.c:825:Margins left=0, right=3
edit.c:807:Font:Verdana height=16 ave width=7 max width=19
edit.c:818:ABC MinA=-1, minC=-7
edit.c:825:Margins left=1, right=4
edit.c:807:Font:Verdana height=20 ave width=9 max width=25
edit.c:818:ABC MinA=-2, minC=-9
edit.c:825:Margins left=1, right=5
edit.c:807:Font:Verdana height=22 ave width=9 max width=27
edit.c:818:ABC MinA=-2, minC=-9
edit.c:825:Margins left=1, right=5
edit.c:809:Font:Verdana height=23 ave width=10 max width=28
edit.c:825:ABC MinA=-1, minC=-10
edit.c:832:Margins left=1, right=6
edit.c:807:Font:Verdana height=26 ave width=11 max width=33
edit.c:818:ABC MinA=-1, minC=-12
edit.c:825:Margins left=1, right=7
edit.c:807:Font:Verdana height=29 ave width=12 max width=36
edit.c:818:ABC MinA=-1, minC=-13
edit.c:825:Margins left=1, right=7
edit.c:811:Font:Verdana height=23 ave width=11 max width=29
edit.c:813:Italic=0 Cmded Weight=600 TM Weight=700
edit.c:815:otmEMSquare=15
edit.c:828:ABC MinA=-1, minC=-11
edit.c:835:Margins left=1, right=6
edit.c:811:Font:Verdana height=23 ave width=11 max width=34
edit.c:813:Italic=0 Cmded Weight=700 TM Weight=700
edit.c:815:otmEMSquare=15
edit.c:828:ABC MinA=-1, minC=-11
edit.c:835:Margins left=1, right=6
edit.c:807:Font:Arial height=12 ave width=4 max width=24
edit.c:818:ABC MinA=-4, minC=-2
edit.c:825:Margins left=2, right=2
edit.c:807:Font:Arial height=16 ave width=6 max width=35
edit.c:818:ABC MinA=-7, minC=-2
edit.c:825:Margins left=3, right=3
edit.c:807:Font:Arial height=19 ave width=8 max width=45
edit.c:818:ABC MinA=-7, minC=-3
edit.c:825:Margins left=4, right=4
edit.c:809:Font:Arial height=24 ave width=9 max width=56
edit.c:812:otmEMSquare=15
edit.c:825:ABC MinA=-10, minC=-2
edit.c:832:Margins left=6, right=5
edit.c:811:Font:Arial height=24 ave width=10 max width=53
edit.c:813:Italic=0 Cmded Weight=700 TM Weight=700
edit.c:815:otmEMSquare=15
edit.c:828:ABC MinA=-9, minC=-2
edit.c:835:Margins left=6, right=5
edit.c:807:Font:Bookman Old Style height=16 ave width=6 max width=18
edit.c:818:ABC MinA=-1, minC=-2
edit.c:825:Margins left=2, right=2
edit.c:809:Font:Bookman Old Style height=24 ave width=10 max width=32
edit.c:812:otmEMSquare=15
edit.c:825:ABC MinA=-2, minC=-2
edit.c:832:Margins left=4, right=4
edit.c:807:Font:Century Gothic height=24 ave width=10 max width=28
edit.c:818:ABC MinA=-2, minC=-2
edit.c:825:Margins left=4, right=4
edit.c:807:Font:Courier New height=24 ave width=13 max width=15
edit.c:818:ABC MinA=0, minC=-1
edit.c:825:Margins left=0, right=0
edit.c:809:Font:Garamond height=24 ave width=8 max width=26
edit.c:812:otmEMSquare=14
edit.c:825:ABC MinA=-2, minC=-2
edit.c:832:Margins left=3, right=3
edit.c:809:Font:Lucida Sans Unicode height=23 ave width=10 max width=40
edit.c:812:otmEMSquare=16
edit.c:825:ABC MinA=-12, minC=-2
edit.c:832:Margins left=6, right=6
edit.c:809:Font:Marlett height=24 ave width=23 max width=24
edit.c:812:otmEMSquare=24
edit.c:825:ABC MinA=0, minC=0
edit.c:832:Margins left=0, right=0
edit.c:809:Font:Math1 Bold height=24 ave width=10 max width=34
edit.c:812:otmEMSquare=15
edit.c:825:ABC MinA=-2, minC=-10
edit.c:832:Margins left=2, right=6
edit.c:809:Font:Mathematica1 height=23 ave width=11 max width=35
edit.c:812:otmEMSquare=17
edit.c:825:ABC MinA=-2, minC=-11
edit.c:832:Margins left=3, right=6
edit.c:809:Font:Mathematica7 height=24 ave width=12 max width=24
edit.c:812:otmEMSquare=18
edit.c:825:ABC MinA=-1, minC=-1
edit.c:832:Margins left=0, right=1
edit.c:809:Font:Microsoft Sans Serif height=24 ave width=8 max width=34
edit.c:812:otmEMSquare=14
edit.c:825:ABC MinA=-1, minC=-2
edit.c:832:Margins left=0, right=0
edit.c:809:Font:MT Extra height=24 ave width=15 max width=24
edit.c:812:otmEMSquare=19
edit.c:825:ABC MinA=0, minC=-1
edit.c:832:Margins left=0, right=0
edit.c:809:Font:MT Symbol height=24 ave width=9 max width=23
edit.c:812:otmEMSquare=19
edit.c:825:ABC MinA=-3, minC=-4
edit.c:832:Margins left=3, right=4
edit.c:809:Font:Palatino Linotype height=24 ave width=8 max width=29
edit.c:812:otmEMSquare=13
edit.c:825:ABC MinA=-3, minC=-3
edit.c:832:Margins left=3, right=3
edit.c:809:Font:Symbol height=24 ave width=12 max width=22
edit.c:812:otmEMSquare=14
edit.c:825:ABC MinA=-2, minC=-10
edit.c:832:Margins left=3, right=6
edit.c:811:Font:Tahoma height=24 ave width=9 max width=39
edit.c:813:Italic=0 Cmded Weight=400 TM Weight=400
edit.c:815:otmEMSquare=15
edit.c:828:ABC MinA=-9, minC=-2
edit.c:835:Margins left=5, right=5
edit.c:811:Font:Tahoma height=24 ave width=9 max width=39
edit.c:813:Italic=0 Cmded Weight=500 TM Weight=400
edit.c:815:otmEMSquare=15
edit.c:828:ABC MinA=-9, minC=-2
edit.c:835:Margins left=5, right=5
edit.c:811:Font:Tahoma height=24 ave width=10 max width=40
edit.c:813:Italic=0 Cmded Weight=600 TM Weight=700
edit.c:815:otmEMSquare=15
edit.c:828:ABC MinA=-9, minC=-2
edit.c:835:Margins left=6, right=6
edit.c:811:Font:Tahoma height=24 ave width=10 max width=46
edit.c:813:Italic=0 Cmded Weight=700 TM Weight=700
edit.c:815:otmEMSquare=15
edit.c:828:ABC MinA=-11, minC=-2
edit.c:835:Margins left=0, right=0
edit.c:811:Font:Tahoma height=24 ave width=10 max width=46
edit.c:813:Italic=0 Cmded Weight=800 TM Weight=700
edit.c:815:otmEMSquare=15
edit.c:828:ABC MinA=-11, minC=-2
edit.c:835:Margins left=0, right=0
edit.c:811:Font:Tahoma height=24 ave width=9 max width=39
edit.c:813:Italic=255 Cmded Weight=400 TM Weight=400
edit.c:815:otmEMSquare=15
edit.c:828:ABC MinA=-9, minC=-8
edit.c:835:Margins left=5, right=5
edit.c:811:Font:Tahoma height=24 ave width=11 max width=47
edit.c:813:Italic=255 Cmded Weight=800 TM Weight=700
edit.c:815:otmEMSquare=15
edit.c:828:ABC MinA=-10, minC=-8
edit.c:835:Margins left=1, right=6
edit.c:811:Font:Tahoma Bold height=24 ave width=10 max width=46
edit.c:813:I=0 U=0 W=700
edit.c:815:otmEMSquare=15
edit.c:828:ABC MinA=-11, minC=-2
edit.c:835:Margins left=0, right=0
edit.c:809:Font:Times New Roman height=23 ave width=8 max width=54
edit.c:811:I=0 U=0 W=400
edit.c:813:otmEMSquare=15
edit.c:826:ABC MinA=-10, minC=-3
edit.c:833:Margins left=6, right=5
edit.c:810:Font:Times New Roman height=23 ave width=8 max width=34
edit.c:812:I=255 U=0 W=400
edit.c:814:otmEMSquare=15
edit.c:827:ABC MinA=-10, minC=-5
edit.c:834:Margins left=5, right=5
edit.c:811:Font:Times New Roman height=24 ave width=9 max width=37
edit.c:813:I=255 U=0 W=700
edit.c:815:otmEMSquare=14
edit.c:828:ABC MinA=-11, minC=-6
edit.c:835:Margins left=6, right=6
edit.c:809:Font:Trebuchet MS height=24 ave width=9 max width=20
edit.c:812:otmEMSquare=14
edit.c:825:ABC MinA=-2, minC=-2
edit.c:832:Margins left=2, right=1
edit.c:809:Font:Wingdings height=23 ave width=19 max width=29
edit.c:812:otmEMSquare=16
edit.c:825:ABC MinA=0, minC=-1
edit.c:832:Margins left=0, right=1