Совсем не простая задачка, или мне это только кажется...
Нужно следующее. Чтобы создать встроенный шрифт надо знать из какого реального (установленного в системе) шрифта берется глиф для вывода того или иного символа. Ведь далеко не всегда в указанном для вывода шрифте находится подходящий глиф.
Правда, это относится (по большей части) для Китайско-Японо-Корейских символов.
Система при выводе таких символов не теряется а подставляет глифы из других шрифтов.
И все символы отображаются.
Мне же требуется создать набор встроенных шрифтов, чтобы при их использовании также все символы отображалить, даже если в другой системе нет изначальных шрифтов. Но как узнать какие шрифты (глифы шрифта) реально использовала система для вывода символа?
Например я вывожу шрифтом Arial текст (RTF формат):
\u-143 ?\u-142 ?\u-141 ?\u-140 ?\u-139 ?\u12354 ?\u12356 ?\u12358 ?\u12360 ?\u12362 ?\u-128 ?\u-98 ?\u-127 ?\u-98 ?\u-126 ?\u-98 ?\u-125 ?\u-98 ?\u-124 ?\u-98 ?\u12510 ?\u12511 ?\u12512 ?\u12513 ?\u12514 ?\u-138 ?\u-98 ?\u-137 ?\u-98 ?\u-136 ?\u-98 ?\u-135 ?\u-98 ?\u-134 ?\u-98 ?\u-27245 ?\u-30325 ?\u28961 ?\u30446 ?ABCE\u28271 ?6789\u27941 ?\u26085
"ABCE" выводится Arial'ом, часть SunSim шрифтом, часть шрифтом MS Mincho.
Вот как определить (какую функцию API использовать) из каких установленных в системе шрифтов берутся глифы для того или иного символа?
... << RSDN@Home 1.1.3 stable >>
Здравствуйте, Semen Cornetov, Вы писали:
хъ
SC>Вот как определить (какую функцию API использовать) из каких установленных в системе шрифтов берутся глифы для того или иного символа?
Узнать какие символы подерживаются можно
GetFontUnicodeRanges. А вот как определить шрифт... Можно попробовать сначала определить подмножество шрифтов, поддерживающих нужный символ, а потом уже смотреть в сторону PANOSE.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Здравствуйте, Patalog, Вы писали:
P>Здравствуйте, Semen Cornetov, Вы писали:
SC>>Вот как определить (какую функцию API использовать) из каких установленных в системе шрифтов берутся глифы для того или иного символа?
P>Узнать какие символы подерживаются можно GetFontUnicodeRanges. А вот как определить шрифт... Можно попробовать сначала определить подмножество шрифтов, поддерживающих нужный символ, а потом уже смотреть в сторону PANOSE.
Т.е. перебором подходящих шрифтов. Это понятно. Но для вывода текста система из всех подходящих шрифтов выбирает один. Вот его как определить? Это возможно?
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Здравствуйте, Semen Cornetov, Вы писали:
[]
SC>Т.е. перебором подходящих шрифтов. Это понятно. Но для вывода текста система из всех подходящих шрифтов выбирает один. Вот его как определить? Это возможно?
Дык PANOSE вроде для этого и предназначена...
... << RSDN@Home 1.1.4 beta 3 rev. 185>>