Поделиться через


Редакторы на базе сторонних методов ввода

Платформы

Клиенты — Windows 8
Серверы — Windows Server 2012

Описание

Редакторы методов ввода (МЕМ) — это программные компоненты, позволяющие пользователю вводить текст на языке с большим числом символов, чем может быть представлено на клавиатуре. (Это распространенные, но не только, восточноазиатские языки.) Вместо каждого отдельного символа, отображающегося на одном ключе, пользователи вводят сочетания клавиш, которые затем интерпретируются IME. IME создает символ, соответствующий набору росчерков клавиш, иногда представляя пользователю список возможных символов для выбора, а затем вставляет его в окно управления редактированием приложения пользователя.

В прошлом Windows разрешала сторонним МЕ запускаться в системе Windows, и эта возможность продолжается для Windows 8. Пользователи могут установить сторонний IME и использовать его. Кроме того, мы повышаем защиту системы и процессов для предотвращения вредоносных МЕМ, повышения безопасности и улучшения взаимодействия с пользователем.

В Windows 8 вы найдете:

  • Поддержка стороннего редактора IME для аппаратных и сенсорных клавиатур
  • Сторонние поставщики IME должны следовать рекомендациям Майкрософт для разработки IME для Windows 8
  • Сторонние МЕ должны иметь цифровую подпись
  • Сторонние IME должны поддерживать платформу текстовых служб (TSF), а для правильной работы в Windows 8
  • Устаревшие сторонние МЕ смогут работать в классических приложениях, но будут заблокированы в приложениях Магазина Windows
  • Сторонние IME могут использовать раскладку сенсорной клавиатуры, предоставляемую Windows, для связывания IME, чтобы пользователи могли использовать IME с сенсорными клавиатурами. Однако некоторые функции встроенных МЕ для сенсорных клавиатур будут недоступны сторонним МЕ.
  • Защитник Windows удалит вредоносные МЕ из системы Windows

Проявление

Изменения языка ввода и метода ввода

Вместо отображения всех значков режима IME вместе со значком фирменной символики IME отображается только один значок режима IME вместе со значком фирменной символики IME. На двух рисунках ниже показан всплывающий элемент ввода Windows 8 и всплывающий элемент IME с японским IME в качестве текущего метода ввода. Щелкнув значок фирменной символики IME, можно переключать методы ввода.

переключение методов ввода

Щелкнув значок режима IME, можно переключиться на другой режим IME.

переключение режимов ime

Если IME использует языковую панель для отображения значков режима в Windows 7, необходимо изменить IME, чтобы отобразить значок фирменной символики и значок режима в индикаторе ввода в Windows 8.

Примечание

Примечание. Сведения о том, как IME может отображать свой значок фирменной символики и значок режима в SysTray на панели задач рабочего стола, будут задокументированы и опубликованы в Windows 8 руководства по IME.

 

Новая среда Windows

Среда в Windows 8 изменяет ландшафт для МЕМ. Основные понятия приложений Магазина Windows, контейнеры приложений локального контекста и ограничения API для МЕМ не присутствовали в Windows 7. Некоторые существующие МЕ Windows 7 перестают отвечать на запросы при запуске в приложении Магазина Windows и, следовательно, не разрешают запуск устаревших МЕ в приложениях Магазина Windows. Кроме того, перед запуском в приложениях Магазина Windows убедитесь, что новые версии МЕ проверяются, чтобы убедиться, что они совместимы с новой средой пользовательского интерфейса.

Меры по снижению риска

В системе можно использовать IME, совместимый с настольными компьютерами. Это может быть оптимальным вариантом, если вы в основном используете классические приложения и хотите по-прежнему использовать предпочтительный устаревший IME для ввода. Рекомендуется использовать Windows 8 IME и прекратить использование устаревших или не сертифицированных IME. Уведомления предоставляются языком CPL и параметром ввода, чтобы предупредить вас о последствиях использования IME, совместимого с настольными компьютерами.

Если IME, совместимый с настольными компьютерами, не работает в вашей системе, вы увидите одно из следующих вариантов поведения:

  • Пользовательский интерфейс CPL языка помечает совместимые с рабочим столом ПОЛЬЗОВАТЕЛЬСКИЙ интерфейс и отображает сообщение о том, что несовместимые IMитные системы работают только в классических приложениях.
  • Всплывающий элемент ввода затеняет совместимые с рабочим столом ПОЛЬЗОВАТЕЛЬСКИЙ интерфейс, когда пользователь находится в приложениях Магазина Windows. Это означает, что IME не работает в этом приложении. (На рабочем столе совместимые с настольными приложениями IMи неактивны.) Если вы переключились на приложения Магазина Windows с несовместимым IME и поняли, что IME отключен, используйте индикатор ввода, чтобы перейти на IME, совместимый с приложениями Магазина Windows.

Устаревшие или совместимые с настольными компьютерами IMитные системы ограничены следующими условиями:

  • Обновление с Windows 7 до Windows 8 со сторонними МЕ в системе
  • Поставщик не выпустил версию, совместимую с Windows 8, и пользователь пытается использовать существующую версию Windows 7 в то же время

Решение

Общие сведения

Используйте существующую инфраструктуру платформы текстовых служб (TSF), чтобы реализовать логику IME и общие элементы управления приложения Магазина Windows для пользовательских интерфейсов. Создайте собственные окна для размещения пользовательского интерфейса.

Добавляются новые API поиска для улучшения прогнозирования поиска и обеспечения более четкого поиска в пользовательском интерфейсе.

Api также добавляются для уведомления сторонних МЕ при вызове сенсорной клавиатуры для защиты пользовательского интерфейса от сенсорной клавиатуры. Классическая раскладка сенсорной клавиатуры по умолчанию автоматически загружается для сторонних МЕ. Для интеграции с этой классической раскладкой сенсорной клавиатуры не требуется никаких дополнительных работ. Однако сторонние МЕ смогут запросить альтернативный макет сенсорного ввода.

Ознакомьтесь с рекомендациями по Windows 8 IME, чтобы повысить уровень ключевых принципов взаимодействия с пользователем в редакторе IME. IME, которые соответствуют рекомендациям, должны установить флаг, указывающий, что IME совместим с проектом Майкрософт. Windows 8 блокирует запуск всех совместимых с классическими приложениями IMитных приложений Магазина Windows.

Цифровая подпись, в дополнение к отзыву Защитник Windows, предотвращает установку вредоносных МЕ в систему Windows 8. При проверке личности .dll IME стороннего разработчика подписывается цифровой подписью. В системе могут быть установлены только МЕ, имеющие эту цифровую подпись, без критического предупреждающего сообщения. Пользователи могут сообщать о вредоносных МЕ. После определения IME как вредоносного, Защитник Windows удаляет его из системы Windows.

инфраструктуры текстовых служб (TSF)

IME должен поддерживать TSF, чтобы можно было выполнять в Windows 8. Windows 8 блокирует запуск IMей--процессов без поддержки TSF в приложениях Магазина Windows. При запуске приложения TSF загружает .dll IME для IME, выбранного пользователем в процессе приложения.

Примечание

Чтобы обеспечить отдельные функции или пользовательские интерфейсы между приложениями Магазина Windows и классическими приложениями, .dll, загруженные TSF, могут проверка, в какой тип приложения он загружается. IME вызывает метод ITfThreadMgrEx::GetActiveFlags и проверяет флаг TF_TMF_IMMERSIVEMODE и может активировать другую логику приложения в зависимости от результата.

 

Когда IME загружается в приложение Магазина Windows, на него распространяются те же ограничения контейнера приложений, что и само приложение. Это гарантирует, что МЕ не смогут нарушать контракты безопасности приложений Магазина Windows, несмотря на доступ к пакету SDK для настольных компьютеров (поскольку они не распространяются или не сертифицированы Магазином Windows). Некоторые функции, которые в настоящее время выполняют МЕ, затрагиваются внутри контейнера приложения. К этим функциям относятся:

  • Файлы словаря
  • Обновление в Интернете
  • Обучение на лету
  • Совместное использование информации между процессами

Дополнительные сведения см. в руководстве по Windows 8 IME.

Устаревшие МЕ не работают в приложениях Магазина Windows, чтобы избежать потенциальных проблем с пользователем, включая остановки системы. МЕ, совместимые с приложениями Магазина Windows, должны самостоятельно объявляться, установив флаг, указывающий на эту совместимость. Этот флаг предоставляется TSF в структуре TF_INPUTPROCESSORPROFILE. Сведения об использовании этого флага для объявления стороннего редактора IME как совместимого с приложением Магазина Windows, будут задокументированы и опубликованы в руководстве по Windows 8 IME.

IMи и приложений Магазина Windows можно запускать как в классических приложениях, так и в приложениях Магазина Windows. Несовместимые МВЕ могут выполняться только в рабочих процессах.

Пользовательский интерфейс

Хотя сторонние МЕ имеют доступ к API окон рабочего стола, они должны следовать тем же ограничениям ОКОН API, что и приложение, в котором они работают. Например, IME не может рисовать поверх приложения Магазина Windows, когда он активен в классическом приложении. Ограничения API предназначены для предотвращения таких сценариев:

  • Классические приложения, ориентированные на приложения Магазина Windows
  • Рисование классических приложений в приложении Магазина Windows
  • Классические приложения, мешающие приложениям Магазина Windows

Поддержка сенсорной клавиатуры

Хотя поддержка сенсорной клавиатуры (TKB) по-прежнему доступна сторонним поставщикам IME, полностью настраиваемая и интегрированная сенсорная клавиатура не предоставляется в Windows 8. Однако сторонние МЕ могут сопоставлять свои МЕ с раскладкой клавиатуры, оптимизированной для сенсорного ввода. Панель программного ввода Windows (SIP) по умолчанию предоставляет классическую раскладку клавиатуры для сторонних IMей.. . Так как классическая клавиатура создает события клавиш, аналогичные аппаратной клавиатуре, в настоящее время нет особых требований к реализации сторонних МЕ для работы с сенсорной клавиатурой. Обработка входных данных для событий аппаратных ключей также будет обрабатывать ключевые события из классических сенсорных макетов.

Примечание

Примечание. МЕ может потребоваться начать обработку событий ввода Юникода, если поддержка TKB расширена для включения оптимизированных раскладок клавиатуры.

 

Сторонний IME может использовать оптимизированную раскладку клавиатуры для своего IME. Дополнительные сведения см. в руководстве по IME сторонних разработчиков.

Убедитесь, что пользовательский интерфейс области кандидата (и другие элементы пользовательского интерфейса) не нарисован под сенсорной клавиатурой. В большинстве случаев приложение должно изменять размер окна с учетом сенсорной клавиатуры. Однако если приложение этого не делает, МЕМ по-прежнему могут использовать API InputPaneFramework для изучения положения сенсорной клавиатуры. Сторонние ПОЛЬЗОВАТЕЛЬСКИЙ интерфейс могут использовать этот API, чтобы получить пространство на экране, занятое сенсорной клавиатурой, до рисования кандидатов (или других) пользовательских интерфейсов, и перерасполнить их пользовательский интерфейс, чтобы избежать рисования под сенсорной клавиатурой.

Поиск

В Windows 8 приложения Магазина Windows могут легко предоставлять пользователям функции поиска, реализуя контракт поиска и интегрируясь с областью "Поиск". Область "Поиск" — это центральное место, где пользователи могут выполнять поиск во всех своих приложениях. Windows помогает приложениям, использующему панель "Поиск", максимально быстро получать доступ к пользователям. В частности, для пользователей IME он предоставляет уникальный интерфейс поиска, который позволяет совместимым IME интегрироваться с Windows 8 для повышения эффективности и удобства использования.

IME совместим с интегрированным интерфейсом поиска, если он соответствует следующим критериям:

  • Совместима со средой приложения Магазина Windows
  • Реализует API-интерфейсы TFS без пользовательского интерфейса
  • Реализует API интеграции поиска TFS:
    • ItfSearchCandidateProvider
    • ItfSearchHardwareKeyboardBehaviors

При активации в области Поиска совместимый IME помещается в режим без пользовательского интерфейса и не может отображать свой пользовательский интерфейс. Вместо этого он отправляет кандидатов на преобразование в Windows, который затем отображает их во встроенном элементе управления список кандидатов.

IME также отправляет кандидатов Windows, которые должны использоваться для выполнения текущего поиска. Эти кандидаты могут быть такими же, как кандидаты на преобразование, или могут быть адаптированы для поиска. Подходящие кандидаты на поиск соответствуют следующим критериям:

  • Префикс не перекрывается
  • Нет кандидата прогноза (только завершение)

ПОЛЬЗОВАТЕЛЬСКИЙ интерфейс, который не соответствует критериям и несовместим с поиском, отображаются так же, как и в других элементах управления приложения Магазина Windows, и не могут воспользоваться преимуществами интеграции пользовательского интерфейса и поиска кандидатов. (Приложения получают запросы только после завершения создания пользователем.)

Когда приложение, поддерживающее контракт поиска, получает запрос, событие запроса будет включать массив queryTextAlternatives, содержащий все известные альтернативы, ранжированные от наиболее релевантного (вероятно) до наименее релевантного (маловероятно). Всякий раз, когда предоставляются альтернативы, приложение должно рассматривать каждую альтернативу как запрос и возвращать все результаты, соответствующие любому из вариантов (как если бы пользователь выдал несколько запросов одновременно), по сути выдавая запрос "или" службе, предоставляющей результаты. Для повышения производительности приложения часто ограничивают сопоставление 10 наиболее подходящими альтернативами.

Цифровая подпись IME

Все сторонние IME должны иметь цифровую подпись, чтобы их можно было установить в систему Windows 8 в качестве IME. С помощью Фильтра SmartScreen пользователи могут видеть предупреждающее сообщение при скачивании неподписанных элементов IME из Интернета. Чтобы получить сертификат и подписать файлы, выполните приведенные ниже действия.

  • Использование подписи Authenticode для цифровой подписи программ
    • Получите действительный сертификат подписи кода Authenticode из одного из множества центров сертификации, поддерживаемых Windows
    • Использование средств разработки (таких как signtool.exe) для подписывания приложений перед распространением
    • Дополнительные сведения и пошаговое описание процесса подписывания кода см. в записи блога Все, что вам нужно знать о подписи кода Authenticode .
  • Убедитесь, что скачиваемые файлы не обнаружены как вредоносные программы
    • Скачанные программы, обнаруженные и подтвержденные как вредоносные программы, влияют как на репутацию скачивания, так и на репутацию цифрового сертификата, используемого для подписи этого файла.
  • Подать заявку на сертификацию Windows
    • Посетите страницу сертификации приложений для Windows на сайте MSDN.

Дополнительные сведения см. в следующих статьях о цифровых подписях и подписи кода:

Если IME не подписан, пользователь получает следующее предупреждающее сообщение при попытке скачать IME:

Предупреждение о том, что ime не подписан

Если IME подписан, пользователи видят следующее сообщение:

Сообщение о подписании ime

На основе этих уведомлений пользователи могут выбрать, следует ли удалить файл или игнорировать предупреждение и запустить загруженную программу.

Отзыв IME

IME, которые являются вредоносными или не соответствуют Windows 8 рекомендациям по IME, можно удалить из системы с помощью Защитник Windows. Дополнительные сведения о вредоносных МЕ см. в статье о сторонних IMяхных Windows 8.

Ресурсы