Улучшенная работа с текстом в Windows 8.1. Часть первая

Есть много различных типов приложений, которые требуют специальной обработки текста, например, приложения, которые имеют строгие требования выравнивания; в которых необходимо использовать небольшие участки текста; которые отображают несколько языков и другие. И мы знаем, что в этих “специальных” приложениях важно сделать идеальным каждый пиксель для оптимального отображения. По этой причине в Windows 8.1 добавили некоторые новые функции для работы с текстом.

  • В общей сложности насчитывается десять новых усовершенствований. Вот несколько основных моментов:
  • Цвет для отображения Emoji символов — смайлики и символы по умолчанию, без каких-либо дополнительных затрат с вашей стороны.
  • Функция выравнивания отступами, которая позволяет выравнивать текст с определенным вертикальным отступом. Эта функция полезна для выравнивания текста различных размеров.
  • Функции обрезки, которая позволяет вырезать текст на логическом начале. Это очень удобно для двунаправленного сценария.
  • Функция, позволяющая установить максимальное количество строк текста в TextBlock.
  • Гиперссылка, которая позволяет вам легко использовать ссылки в блоке текста.

В этой статье я дам вам основы каждой из усовершенствованных функций, пример кода и ссылку на документацию MSDN. Давайте начнем!

Добавление большего количества цветов

Цвет шрифтов

Цвет шрифта — новая функция для DirectWrite в Windows 8.1, была реализована поддержка в XAML. Был обновлен системный шрифт для поддержки нескольких слоев цвет каждого символа. Это улучшение дает больше возможностей дизайнерам для создания цветовых слоев каждого символа. У XAML есть свойство по-умолчанию —  IsColorFontEnabled, которое вы можете отключить, если хотите отказаться от стандартной отрисовки шрифта.

В Windows 8.1 появился с новый шрифт «Segoe UI Emoji», который включает в себя цветной слой для персонажей Emoji.

png;base6450a7607daf71b6ea

Вот как это будет выглядеть:

png;base648ec0f68b08b9143e

Примечание: В режиме высокого контраста, XAML будет отрисовывать текст без цвета.

Ссылки для получения дополнительной информации по этой теме:

SelectionHighlightColor

У всех текстовых элементов управления теперь есть свойство SelectionHighlightColor, которое можно использовать для установки цвета подсветки для выделенного текста. Это означает, что ваше приложение может использовать свой собственный уникальный цвет для выделения текста в приложении.

Шаблоны текстовых элементов управления используют ThemeResource TextSelectionHighlightColorThemeBrush для установки цвета по умолчанию. Если вы хотите изменить цвет выделения для всех текстовых элементов управления можно установить в ThemeResource app.xaml.

В следующем примере, свойство SelectionHighlightColor применяется только к одному TextBox (TextBox1).

png;base646f0ba1c7871fd32f

Результат:

png;base64625425a9fc39e834

В следующем примере, TextSelectionHighlightColorThemeBrush используется как ресурс приложения и поэтому он используется для всех текстовых полей в приложении.

png;base64f0dafce809baa13d

Примечание: В режиме высокого контраста, цвета заменяются стандартными.

Больше возможностей выравнивания

Оптическое выравнивание полей

Шрифты обычно включают интервал слева и справа от каждого символа, так чтобы соседние символы не пересекались друг с другом . Но в некоторых случаях вам может потребоваться удалить интервал на старте. Установите OpticalMarginAlignment в значение TrimSideBearings и лишнее пространство исчезнет, также если присмотреться, то выравнивание текста по краю оправданно. В следующих примерах, вы можете увидеть, когда OpticalMarginAlignment установлен в TrimSideBearings, весь текст, независимо от того, какого размера, выстраивается впритык к линии. Красная линия — наглядное пособие и не является частью разметки.

png;base64a9c2ade4a1821a09 png;base6459f00ffaa4bfe43

Текст, как правило, содержит в себе пространство над и под символами. Вы можете использовать TextLineBounds для обрезки данного пространства. Ниже приведена диаграмма, которая показывает и определяет данные условия.

png;base643837c0219c9d5290

Основной причиной использования этого свойства — управление выравниванием текстовых элементов, например, для выравнивания базовых заголовков страниц. Свойство влияет на высоту строки. Это значение в свою очередь, влияет на строку текста, находящихся в непосредственной связи с другими элементами, например, другой строкой текста, или содержащие элементы, такие как границы, которые можно адаптировать к размеру содержимого.

Следующий пример показывает серию TextBlock’ов с различными значениями свойства TextLineBounds, используя границы, чтобы проиллюстрировать размер каждого блока. Граница в настоящее время используется в качестве наглядного пособия и не является необходимым для получения этого результата. Обратите внимание, что вертикальное выравнивание установлено в значение Bottom и используется для выравнивания всех границ.

png;base64581c38af79c18420

Результат:

png;base6480e53be3049e0b20

На этом первая часть данной статьи подошла к концу, следующие обновления читайте далее.

Advertisements
Tagged with: , , , ,
Опубликовано в Development, Windows 8.1
2 comments on “Улучшенная работа с текстом в Windows 8.1. Часть первая
  1. […] статья является продолжением предыдущейи в ней я расскажу вам, что еще нового и интересного […]

  2. […] статья является продолжением предыдущей и в ней я расскажу вам, что еще нового и интересного […]

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: