На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Writing, Mapping, and Sorting Characters



Applications write end-user-defined characters to the screen or printer the same way as writing other characters, by using output functions such as TextOut and ExtTextOut. These functions automatically retrieve character information from EUDC fonts if EUDC is enabled. When writing end-user-defined characters, the action of the text output function depends on the currently selected font. If the selected font is an integrated EUDC font, the function retrieves character information from that font. If the selected font is a DBCS TrueType font that has an associated typeface-aware EUDC font, the function retrieves information from the specified typeface-aware font. If the selected font does not have an associated typeface-aware font, the function retrieves information from the system default EUDC font. If the character is not in the system default EUDC font or there is no system default EUDC font, the function writes the default character defined by the selected font.

Applications can map end-user-defined characters to and from Unicode by using the MultiByteToWideChar and WideCharToMultiByte functions. The MultiByteToWideChar function maps an end-user-defined character to a character position in the Unicode private use area. The WideCharToMultiByte function maps a character in the private use area to its multibyte character counterpart, if such a mapping exists. The code page specified in this function must contain an EUDC code range for the mapping to occur. If it does not, the function returns the default character for any characters in the Unicode private use area.

Both MultiByteToWideChar and WideCharToMultiByte preserve the "round trip" mapping of end-user-defined characters from a code page to Unicode and back to the original code page. But these functions do not necessarily preserve mapping to other code pages. For example, if a character from code page 932 is mapped to Unicode, then mapped from Unicode to another code page with an EUDC range, it is likely that the original character will be mapped to a different end-user-defined character in the destination code page. Similarly, mapping a Unicode string to a code page that has an EUDC range may have unintended results. If the Unicode string contains a private-use code point, that code point may be mapped to an end-user-defined character whether or not the code point actually represents such a character.

Applications can compare strings that contain end-user-defined characters by using the CompareStringA function. The function maps the characters to the Unicode end user zone before comparing character values. Applications can create a sort key for the string by using the LCMapStringA function and the LCMAP_SORTKEY value. This function maps characters to Unicode first. All characters in the private use area are sorted after all other Unicode characters. Within the area, characters are sorted in numerical order. If an application attempts to retrieve CTYPE ifnormation for an end-user-defined character by using the GetStringTypeA function, the function returns NULL for each character.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Сочинение, отображающий, и Сортируя Символы



Приложения пишут конец-определивший символы потребителя на экран или принтер тот же путь как сочинение других символов, используя выходные функции как например, TextOut и ExtTextOut. Эти функции автоматически извлекают символьную информацию из шрифтов EUDC если EUDC приспособлен. При записи конца-определившее символы пользователя, действие текстовой выходной функции зависит от к настоящему времени выбранного шрифта. Если выбранный шрифт является встроенным шрифтом EUDC, функция извлекает символьную информацию из этого шрифта. Если выбранный шрифт является шрифтом DBCS TrueType, который имеет связанный тип шрифта-знающий шрифт EUDC, функция извлекает информацию из определенного типа шрифта-знающий шрифт. Если выбранный шрифт нет имеет связанный тип шрифта-знающий шрифт, функция извлекает информацию из системного по умолчанию шрифта EUDC. Если символ - не в системном по умолчанию шрифте EUDC или нет системного по умолчанию шрифта EUDC, функция записывает по умолчанию символ определенный выбранным шрифтом.

Приложения могут отобразить конец-определивший символы пользователя на и из Уникода используя MultiByteToWideChar и функции WideCharToMultiByte. Функция MultiByteToWideChar отображает конец-определивший символ пользователя в символьную позицию в области частного использования Уникода. Функция WideCharToMultiByte отображает символ в частной области использования в свой многобайтовый символьный аналог, если такое распределение существует. Кодовая страница определенная в этой функции должна содержать кодовый дипазон EUDC для распределения, чтобы происходить. Если это делает нет, функция возвращает по умолчанию символ для любых символов в области частного использования Уникода.

Как MultiByteToWideChar так и WideCharToMultiByte сохраняет распределение "поездки туда и обратно" конца-определившего символы пользователя от кодовой страницы до Уникода и на оригинальную кодовую страницу. Но эти функции обязательно не сохраняют распределение на другие кодовые страницы. Например, если символ с кодовой страницы 932 отображен в Уникод, тогда отображенное от Уникода до другой кодовой страницы с дипазоном EUDC, похоже, что оригинальный символ будет отображен в другой конец-определивший символ пользователя на кодовой странице расположения. Аналогично, отображая строку Уникода на кодовую страницу, что имеет дипазон EUDC может иметь неумышленные результаты. Если строка Уникода содержит частную-кодовую точку использования, которая кодирует точку может быть отображено в конец-определивший символ пользователя действительно представляет кодовая точка такой символ.

Приложения могут сравнить строки, которые содержат конец- определял символы пользователя используя функцию CompareStringA. Функция отображает символы в зону конечного пользователя Уникода прежде, чем сравнение символа оценится. Приложения могут создать клавишу сортировки для строки используя функцию LCMapStringA и величина LCMAP_SORTKEY. Эта функция отображает символы в Уникод сначала. Все символы в частной области использования сортируются в конце концов другие символы Уникода. В пределах области, символы отсортированы в цифровом порядке. Если приложение пытается извлекать CTYPE ifnormation для конца-определившего символ пользователя используя функцию GetStringTypeA, функциональный возврат НЕДЕЙСТВИТЕЛЬНУЮ для каждого символа.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz