Как обосновать, почему следующий код выводит строку по-разному в разных ОС:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.DrawString("x\0x".ToString(), this.Font, SystemBrushes.WindowText, 100, 100);
}
В Win 7 Enterprise (Build 7600) это выглядит как
XX, а в Windows Server 2003 (build 3790) между иксами еще есть квадратик.
Здравствуйте, <Аноним>, Вы писали:
А>Как обосновать, почему следующий код выводит строку по-разному в разных ОС:
различные шрифты?
... << RSDN@Home 1.2.0 alpha 4 rev. 1227>>
Здравствуйте, <Аноним>, Вы писали:
А>В Win 7 Enterprise (Build 7600) это выглядит как XX, а в Windows Server 2003 (build 3790) между иксами еще есть квадратик.
Это разные шрифты. Точнее скорее всего отсутствие в шрифте на 2003 символа 00.
... << My edition based on RSDN@Home 1.2.0 alpha 4 rev. 1476 >>
Здравствуйте, Аноним, Вы писали:
> А>>В Win 7 Enterprise (Build 7600) это выглядит как XX, а в Windows Server 2003 (build 3790) между иксами еще есть квадратик.
> C>операционки типа workstation более дружественны к пользователю и пропускают непечатные символы
> А есть ли какая-нибудь ссылка, на которую я могу потом сослаться?
Тут скорее всего различия в версиях файла со шрифтами. Возьми к примеру Microsoft Sans Serif:
Win 7: размер файла 650 KB, v. 5.02
Win 2003 SP2: размер файла 452 KB, v. 1.42
Возможно что добавили начертания к каким то символам, которые ты выводишь.