необходимо вывести надпись при помощи CreateFont если пишу так invoke CreateFont,24,16,0,0,400,0,0,0,OEM_CHARSET,\ OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,\ DEFAULT_QUALITY,DEFAULT_PITCH or FF_ROMAN,ADDR FontName то шрифт какойто стремный рисованый если меняю OEM_CHARSET на ANSI_CHARSET то все окей но только в конце добавляется какой то левый символ. Как вывести можно сказать стандартную строку при помощи CreateFont. Посоветуйте литературу для работы со шрифтами.
Есть книга "Программирование графики для Windows". Автор - Юань. Издательство "Питер". Вышла давно, так что в магазине, скорее всего, не найти. Про контексты графических устройств, принципы вывода изображений графической подсистемой Винды и всё такое прочее.
Sergei_2006 Ясно что фонт с именем FontName системой не найден или не является римским типом. Поэтому система подбирает ближайший римский подходящего размера и т.д. Т.к. все остальные свойства выставлены под дефолт, система практически выбирает первый попавшийся шрифт, который может быть совсем не таким, какой Вам нужен. Выставляйте требования пожёстче.
Sergei_2006 Ээээ... Script - есть у меня такой! Но это явно не FF_ROMAN Больше подходит под категорию FF_SCRIPT.
Скинь пожалуйста пример вывода текста с использованием CreateFont с обычным шрифтом ну по типу Times New Roman или че еще.Главное чтоб буквы были не рисованные и не кривые всякие а простенькие.
Код (Text): .data ... dlf LOGFONT <16,0,0,0,FW_NORMAL,0,0,0,ANSI_CHARSET,OUT_TT_PRECIS,0,CLEARTYPE_QUALITY,FF_MODERN,"Consolas"> ... .code ... invoke CreateFontIndirect, addr dlf ...
Sergei_2006 Пропиши в FontName "Times New Roman" и получишь нормальные буквы. Это просто шрифт такой - некоторым нравится.