BugTraq.Ru
Русский BugTraq
https://bugtraq.ru/lj/archive/2007/2609.2234.html

стингряное
26.09.07 22:34 // оригинал
Я уже разок писал о неприятном глюке CGXFont, который при сохранении в файл либо экспорте в LOGFONT умудрялся записать имя шрифта с длиной, превышающей LF_FACESIZE, что при чтении регулярно приводило к катастрофе. Тогда я это обошел принудительной записью нуля в lfFaceName[LF_FACESIZE-1], сегодня же в процессе ловли других глюков с шрифтами докопался до причины того поведения. Оказывается, эти умники в случае charset, отличного от default или ansi, просто лепят в конец имени шрифта строчку, соответствующую чарсету - " (Cyrillic)", " (Кириллический)" в русских виндах и т.п. Размер строки при этом, разумеется, не контролируется, в результате какой-нибудь "Microsoft Sans Serif (Кириллический)" и вылезает за допустимые границы. Самая же прелесть в том, что если сохранить имя шрифта в русских виндах, а потом считать в английских, есть все шансы огрести что-то типа "Microsoft Sans Serif (Кирилличе (Cyrillic)", что и приводило к очередным жестоким шрифтовым глюкам вплоть до вылета программы (у CGXFont раком вставали всякие внутренние хэши).

 
теги: глюки, stingray  |  обсудить  |  все отзывы (0)  |  обсудить в LJ [1590]
назад «  » вперед

аналогичные материалы
регистрационнонервное // 08.05.19 00:41
яндекснодорожное // 14.12.11 21:58
уникальноэзернетное // 30.08.10 00:07
файрфоксное // 29.07.10 14:58
файрфоксное // 28.07.10 03:09
мапное // 20.07.10 19:56
отечественннное // 20.07.10 18:03
офиснотелефонное // 19.04.10 20:10
офисное // 18.04.10 14:18
аварийное // 19.01.10 17:27
 
последние записи
ihrkampfное // 02.10.24 16:30
отпускное // 08.07.24 23:02
синхронное // 13.06.24 18:07
автоматизаторское // 16.05.24 18:12
песчаное // 13.03.24 18:05
макоудаленное // 29.01.24 23:10
разнонедельное // 07.12.23 15:09
qtменюшное // 29.09.23 23:47
неестественноинтеллектуальное // 29.09.23 16:50
основательное // 18.09.23 00:15





  Copyright © 2001-2024 Dmitry Leonov Design: Vadim Derkach