|
|
1
4
我不确定我是否完全遵循了“跟踪到下面(缩写)代码”的意思,但是足够的consolas-bold在putty中看起来很糟糕。这是windows/window.c的Putty源(修订版8914,由Subversion“SVN CO SVN://svn.tartarus.org/sgt/putty”于2010年4月5日获得)。 < PRE> 1386字体[i]=createfont(字体高度,字体宽度,0,0,w,false,u,false,,\ 1387 C,输出默认值\ 1388 clip_-default_-precis,字体质量(cfg.font_-quality),,\ 1389 Fixed_Pitch_FF U Dontcare,cfg.font.name) 一千三百九十 1391 F(字体_normal,cfg.font.charset,fw_dontcare,false); 一千三百九十二 1393 SelectObject(HDC,字体[FONT_normal]); 1394 GetTextMetrics(HDC和TM); 一千三百九十五 1396 GetObject(字体[Font_Normal]、Sizeof(LogFont)、&LFont); 一千三百九十七 1398如果(pick_width==0 pick_height==0){ 1399字体高度=tm.tm height; 1400字体宽度=tm.tmavecharwidth; 1401 } … 1477 if(粗体模式=粗体字体){ 1478 F(字体\粗体,cfg.font.charset,fw \粗体,假); 1479 }
对于10 pt consolas,当为字体“normal”调用createfont时(通过宏f),字体“height”和“font”宽度的值分别为-13和0,而为字体“bold”调用时,字体“height”和“font”宽度的值分别为15和7(在第13991400行上更改值)。显式设置宽度值与consolas粗体字体不一致。如果修改window.c,使第1477-1479行移到第1391行之后,将获得更好的粗体consolas字体(我还尝试了所有其他可用字体(courier、bitstream、lucida等),并且它们没有受到不利影响。我已经把这个建议发给油灰队了。下图显示了不同之处:
2011年1月16日增加:“bug”仍然存在,修复仍然有效。现在window.c中的行号是1510-1512行应该移到1417行之后。Kristjan . 2012年1月13日增加:Bug仍在Putty的0.62版本中(2011年12月10日发布)。现在要移动的行号是1439之后的1532-1534。为了完整起见,以下是我在Cygwin中执行的步骤:
|
|
|
2
0
不确定这是否是您的答案,但确保字体宽度是一个精确的整数像素宽度,将使固定宽度的TrueType字体在ClearType下看起来很好。 要实现这一点,您需要“四舍五入”您的字体高度与一些尝试和错误。 |