Я не уверен, что я точно понимаю, что подразумевается под «отследить его до следующего (сокращенного) кода»), но достаточно уверенно, смелый Consolas выглядит плохо в Putty. Вот источник замазки для windows / window.c (ревизия 8914, полученная с помощью subversion "svn co svn: //svn.tartarus.org/sgt/putty", 5 апреля 2010 г.).
1386 fonts[i] = CreateFont (font_height, font_width, 0, 0, w, FALSE, u, FALSE, \
1387 c, OUT_DEFAULT_PRECIS, \
1388 CLIP_DEFAULT_PRECIS, FONT_QUALITY(cfg.font_quality), \
1389 FIXED_PITCH | FF_DONTCARE, cfg.font.name)
1390
1391 f(FONT_NORMAL, cfg.font.charset, fw_dontcare, FALSE);
1392
1393 SelectObject(hdc, fonts[FONT_NORMAL]);
1394 GetTextMetrics(hdc, &tm);
1395
1396 GetObject(fonts[FONT_NORMAL], sizeof(LOGFONT), &lfont);
1397
1398 if (pick_width == 0 || pick_height == 0) {
1399 font_height = tm.tmHeight;
1400 font_width = tm.tmAveCharWidth;
1401 }
...
1477 if (bold_mode == BOLD_FONT) {
1478 f(FONT_BOLD, cfg.font.charset, fw_bold, FALSE);
1479 }
Для Консолей 10 pt значения font_height и font_width были -13 и 0, когда CreateFont вызывался для FONT_NORMAL (через макрос f), но 15 и 7, когда он вызывался для FONT_BOLD (значения изменяются в строках 1399 , 1400). Установка значения ширины явно не очень хорошо согласуется с жирным шрифтом Consolas. Если window.c изменен так, чтобы строки 1477-1479 перемещались так, чтобы они шли после строки 1391, получается гораздо более приятный жирный шрифт Consolas (я также пробовал все другие доступные шрифты (Courier, Bitstream, Lucida и т. Д.), И они не были неблагоприятными Я отправил это предложение в команду Putty. Вот рисунок, показывающий разницу:
ДОБАВЛЕНО 16 ЯНВАРЯ 2011 ГОДА: «Ошибка» все еще присутствует, и исправление все еще работает. Теперь номера строк в window.c означают, что строки 1510-1512 следует переместить, чтобы они шли после строки 1417. Кристьян.
ДОБАВЛЕНО В ЯНВАРЬ. 13, 2012: ошибка все еще в версии 0.62 замазки (выпущена 10 декабря 2011 г.). Количество белья для перемещения теперь 1532-1534 гг. После 1439 г. Для полноты вот шаги, которые я выполнил в cygwin:
$ svn co svn://svn.tartarus.org/sgt/putty2
$ cd putty
$ perl mkfiles.pl
$ cd windows
$ --- edit window.c and move the 3 lines---
$ make CC=gcc-3 -f Makefile.cyg
$ --- move resulting executable files (including putty.exe) to a suitable folder
$ --- add shortcuts to the executables to Windows start menu
Кристьян