Ссылки на языковые стандарты
Важно!
Мы рекомендуем использовать драйвер microsoft IPP класса "Входящие" вместе с приложениями поддержки печати (PSA) для настройки печати в Windows 10 и 11 для разработки принтеров.
Дополнительные сведения см. в руководстве по проектированию приложений поддержки печати.
Использование файлов GPD
Файлы GPD могут ссылаться на языковой стандарт системы. Как правило, идентификаторы языкового стандарта используются в инструкциях *Switch, где такие параметры, как размеры бумаги по умолчанию и библиотеки DLL ресурсов, можно указать определенным языковым стандартом.
Чтобы сослаться на сведения о языковом стандарте, файл GPD должен содержать инструкцию *Include, включающую файл locale.gpd, который входит в состав пакета драйверов Windows (WDK), как показано ниже.
*Include: locale.gpd
Этот файл GPD определяет функцию с именем "Языковой стандарт" и параметры для многих языковых стандартов. (Чтобы узнать, какие языковые стандарты определены, обратитесь к файлу.) Ниже приведен пример использования этих параметров языкового стандарта. В этом примере размер бумаги по умолчанию зависит от языкового стандарта.
*Feature: PaperSize
{
...
Option: A4
{
}
...
*switch: Locale
{
*case: English_United_States
{
*DefaultOption: Letter
}
*case: English_United_Kingdom
{
*DefaultOption: A4
}
*default:
{
*DefaultOption: Letter
}
} *% End of switch
} *% End of Feature: PaperSize
Во время выполнения Unidrv определяет языковой стандарт системы по умолчанию, вызывая GetSystemDefaultLCID. При установке принтера средство синтаксического анализа GPD считывает файл GPD принтера и использует сведения в операторе *Case, связанные с языковым стандартом по умолчанию. Обратите внимание, что если языковой стандарт системы изменяется после установки принтера, параметры на основе языкового стандарта не изменяются.
Ниже приведен еще один пример, в котором выбирается библиотека DLL ресурса на основе языкового стандарта. Библиотека DLL ресурса может содержать ресурсы, зависящие от языкового стандарта, например отображаемые строки.
*switch: Locale
{
*case: English_United_States
{
*ResourceDLL: english.dll
}
*case: German_Standard
{
*ResourceDLL: german.dll
}
*default:
{
*ResourceDLL: english.dll
}
}
Настройка размера бумаги по умолчанию по языковому стандарту
Возможно, потребуется, чтобы драйвер назначит размер бумаги по умолчанию ( метрику или не метрику) в зависимости от географического расположения пользователя.
Следующий алгоритм извлекает системный языковой стандарт по умолчанию, а затем использует коды страны или региона, чтобы определить, представляет ли языковой стандарт системы страну, которая обычно использует метрические или неметрические размеры бумаги. С помощью этих сведений драйвер может задать размер бумаги по умолчанию, например A4 для стран, использующих систему метрик, и Размер письма для стран, в которые этого не происходит.
Используйте функцию GetLocaleInfo , чтобы получить системный языковой стандарт по умолчанию. Используйте LOCALE_SYSTEM_DEFAULT для первого параметра Locale и LOCALE_ICOUNTRY для второго параметра LCType.
Используйте системный языковой стандарт по умолчанию, полученный из GetLocaleInfo , для определения размера метрики или неметрики бумаги.
Если системный языковой стандарт по умолчанию не является метрикой:
CTRY_UNITED_STATES или
CTRY_CANADA или
Больше или равно 50, но меньше 60 и не CTRY_BRAZIL, или
Больше или равно 500, но меньше 600
Метрика в противном случае.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по