несколько человек написали про одну и ту же проблему:
если в win7 выставлен фонт Luicida Console, то в hiew не отображаются символы 0D,0A, то есть их вообще нет, нет знакоместа как такового, но если курсор стоит конкретно на этом символе - он возникает ниоткуда, во как!
на той win7 что есть у меня (пустая pro32 под vm) это не воспроизводится, подозреваю какое-то сочетание консольной ansi-программы и конкретного truetype фонта.
как исправить - не знаю тоже, кроме как сменить фонт.
если кто что может подсказать - пишите в комментариях либо на e-mail.
А что отображается квадратики?
ОтветитьУдалитьПодозреваю что да, и это не только с OD OA а с символами 0-19h & 127h.
решения два:
1) либо юзать пропатченный фонт, где на этих кодах произведён ремаппинг на другой код с такими же символами.
пример:
http://www.rapidspread.com/file.jsp?id=035x5pzcpo
либо в hiew надо заюзать ремаппинг:
Пример кода надо смотреть в FAR2
interf.hpp
inline void SetVidChar(CHAR_INFO& CI,wchar_t Chr)
{
CI.Char.UnicodeChar = (Chr<L'\x20'||Chr==L'\x7f')?Oem2Unicode[Chr]:Chr;
}
в том-то весь фокус что не квадратики.
ОтветитьУдалить0D просто пропускается, 12\x0D34 отображается как 1234, все что после 0D на экране сдвигается.
Это не шрифт Lucida Console, а шрифт Consolas. У меня подтверждается на виртуалке.
ОтветитьУдалитьА с Lucida Console есть проблемы даже на WinXP.
Скриншоты сейчас отправлю на мыло.
дык всё равно таже проблема посмотри как отображаются коды 00-19h
ОтветитьУдалитьвот ещё 3-е решение работать с Hiew через Conemu
http://screenshot.su/show.php?img=35ef5ac6d977eeee5a13502c145e81ad.jpg
Последний брать тут:
http://code.google.com/p/conemu-maximus5/downloads/list
у меня на xp проблем в lucida console с исчезновением 0D нет, сейчас consolas скачаю поставлю
ОтветитьУдалитьага, щасчерезчас, оригинальный установочный пакет consolas'a с сайта microsoft нагло заявил что он будет ставиться только после установки vs2005/8, опять пришлось все делать руками.
ОтветитьУдалитьи да - описываемый глюк под xp с фонтом consolas имеет место быть.
будет свободное время, попробую обойти исчезновение через юникод-маппинг.
всезнайка гугль сразу подсказал сайт с само за себя говорящим именем http://www.unicodemap.org/
вот отсюда символы можно взять для подстановки http://www.unicodemap.org/range/55/Miscellaneous_Symbols/
быстрый эксперимент показал что не надо никакого своего ремаппинга, у функции MultiByteToWideChar есть флаг MB_USEGLYPHCHARS который сам перемапит управляющие символы
ОтветитьУдалить