Сообщение №1462897633531536

0 +0−0С.В.19:27:13
10/05/2016
0 +0−0Вадим Ашдодский19:00:23
10/05/2016
К чему их перебирать? У каждого шрифта есть название, в соответствии с ним программа (редактор текстов, например) берёт нужный и не трогает то, что ей не надо.
Не так. Отождествление шрифтов в Винде выполняется при каждом вызове функции, выбирающей заданный шрифт в DeviceContext по структуре LOGFONT (я не буду вспоминать, как она называется). При этом, название шрифта, как ни странно, не являлось (в те времена, когда я ещё программировал для винды) окончательным аргументом для винды. Логика винды была такая: она перебирала ВСЕ шрифты, установленные в системе, выбирая нужный в соответствии с некоторой системой (по совпадению/несовпадению параметров LOGFONT аналогичной структуре реального шрифта начислялись некие штрафные очки). При этом вес параметра PitchAndFamily был вроде как выше, чем вес названия шрифта.
В итоге, винда могла выбрать совершенно не тот шрифт, который запросил пользователь, а для гарантированного выбора того самого шрифта приходилось писать собственную альтернативную систему отождествления со своим полным списком шрифтов). :)

Сухой остаток прост: быстродействие винды можно было увеличить путём истребления ненужных шрифтов.
Самые
^^^Наверх^^^Обратная связь