Допустим я прочитал unicode текстовый файл. Причем в нем содержатся символы на нескольких языках. Чтобы потом отображать символы в окне буду использовать TextOutW. Но перед тем как рисовать конкретный символ, мне нужно узнать, есть ли он в текущем шрифте, выбранном в контекст устройтва. А если нет, то мне нужно перебрать все шрифты и искать в них - есть ли этот символ. Вопрос: как мне определить, содержит ли шрифт заданный unicode-символ? Знаю, что есть функция GetTextCharsetInfo, которая заполняет структуру FONTSIGNATURE. Но что мне дадут эти unicode subranges? Как я по ним узнаю все-таки есть ли заданный символ в этом шрифте?
Ладно. Вроде я понял все сам. В структуре FONTSIGNATURE есть поле fsUsb, точнее это массив DWORD fsUsb[4]. Каждый бит в fsUsb определяет один диапазон символов. Например, бит 9 говорит, что в выбранном шрифте есть символы из диапазона 0400 - 04FF (Cyrillic), бит 11 - символы из диапазона 0590 - 05FF (Basic Hebrew). Это все содержится в таблице Unicode Subset Bitfields. Просто в моем Win32 Programmer's Reference не было этой таблицы, а в MSDN на сайте msdn.microsoft.com она оказалась.