передача символов в подпиксельном разрешении
Классы МПК: | G06F15/16 сочетание двух или более вычислительных машин, каждая из которых снабжена по меньшей мере арифметическим устройством, программным устройством и регистром, например для одновременной обработки нескольких программ G09G5/24 с формированием изображения отдельного знака |
Автор(ы): | КАРТЕР-ШВЕНДЛЕР Карл М. (US), ЧИК Джой П.Л. (US), АБДО Надим Й. (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2007-01-29 публикация патента:
10.01.2012 |
Изобретение относится к способам визуализации текстовой информации на дисплее. Техническим результатом является повышение уровня производительности системы и качества отображения текстовой информации на дисплее. Способ передачи текста с подпиксельной точностью в вычислительном окружении, включающем в себя терминальный сервер и терминальный клиент, включая передачу изображения единой битовой карты строки символов от терминального сервера в терминальный клиент, содержит этапы, на которых в терминальном сервере, до отправки изображения единой битовой карты в терминальный клиент, генерируют описания текста, которые включают в себя информацию, описывающую границы символа для строки символов слова или фразы, которые повторяются, по цветам, чтобы иметь возможность описать границы символа с подпиксельной точностью; создают единую битовую карту строки символов в терминальном сервере до отправки изображения единой битовой карты в терминальный клиент, причем изображение битовой карты включает в себя один или более пикселей битовой карты, образующих один или более краев битовой карты; и передают изображение единой битовой карты в терминальный клиент, включая отправку цветовых значений и значений альфа-фактора для одного или более пикселей битовой карты, причем цветовые значения и значения альфа-фактора используются при смешивании фона в терминальном клиенте путем использования терминальным клиентом цветовых значений и значений альфа-фактора совместно с информацией о фоне в терминальном клиенте. 3 н. и 13 з.п. ф-лы, 4 ил.
Формула изобретения
1. Способ передачи текста с подпиксельной точностью в вычислительном окружении, включающем в себя терминальный сервер и терминальный клиент, включая передачу изображения единой битовой карты строки символов от терминального сервера в терминальный клиент, содержащий этапы, на которых:
в терминальном сервере до отправки изображения единой битовой карты в терминальный клиент генерируют описания текста, которые включают в себя информацию, описывающую границы символа для строки символов слова или фразы, которые повторяются, по цветам, чтобы иметь возможность описать границы символа с подпиксельной точностью путем описания цветов на границах так, чтобы использовать цветные подпиксельные компоненты пикселей ЖКД, когда изображение строки символов формируется на экране ЖКД;
создают единую битовую карту строки символов в терминальном сервере до отправки изображения единой битовой карты в терминальный клиент, причем изображение битовой карты включает в себя один или более пикселей битовой карты, образующих один или более краев битовой карты, причем каждый из одного или более пикселей имеет ARGB-величину, определяющую для каждого пикселя цветовое значение и значение альфа-фактора, определяющее процент прозрачности; и
передают изображение единой битовой карты в терминальный клиент, причем терминальный клиент является удаленным по отношению к терминальному серверу, включая отправку цветовых значений и значений альфа-фактора для одного или более пикселей битовой карты, причем цветовые значения и значения альфа-фактора используются при смешивании фона в терминальном клиенте путем использования терминальным клиентом цветовых значений и значений альфа-фактора совместно с информацией о фоне в терминальном клиенте.
2. Способ по п.1, дополнительно содержащий этап, на котором принимают информацию о размещении подпиксельных компонентов ЖКД в терминальном клиенте, причем на этапе генерации описаний текста учитывают размещение подпиксельных компонентов ЖКД в терминальном клиенте.
3. Способ по п.2, в котором на этапе приема информации о размещении подпиксельных компонентов ЖКД в терминальном клиенте принимают индикацию горизонтального порядка красного, зеленого и синего подпиксельных компонентов.
4. Способ по п.2, в котором на этапе приема информации о размещении подпиксельных компонентов ЖКД в терминальном клиенте принимают индикацию размера пикселя и собственного разрешения ЖКД.
5. Способ по п.1, в котором на этапе передачи битовой карты в терминальный клиент передают битовую карту в драйвер удаленного дисплея, используя команды прорисовки битовой карты, и передают битовую карту из драйвера удаленного дисплея в терминальный клиент.
6. Способ по п.1, в котором на этапе генерации описаний текста, включающих в себя описания символов, описывающие границы символов по цветам, растягивают символы текста по горизонтали, применяют цвет к краям пикселей и уменьшают символы текста до их исходного размера.
7. Способ передачи текста с подпиксельной точностью в вычислительном окружении, включающем в себя терминальный сервер и терминальный клиент, содержащий этапы, на которых:
в терминальном сервере до отправки одного или более глифов в терминальный клиент генерируют описания текста, которые включают в себя описания символов, описывающие границы символа по цветам, чтобы иметь возможность описать границы символа с подпиксельной точностью путем описания цветов на границах так, чтобы использовать цветные подпиксельные компоненты пикселей ЖКД, когда изображение упомянутых символов формируется на экране ЖКД;
в терминальном сервере до отправки одного или более глифов в терминальный клиент генерируют один или более глифов, причем по меньшей мере один из сгенерированных глифов является совокупностью множества символов, формирующих целое слово или фразу, которые повторяются, причем описания глифов включают в себя описания цветных границ символов, при этом один или более глифов включают в себя один или более пикселей, образующих один или более краев глифа, причем каждый из одного или более пикселей имеет ARGB-величину, определяющую для каждого пикселя цветовое значение и значение альфа-фактора, определяющее процент прозрачности; и
из терминального сервера передают глифы в терминальный клиент, причем терминальный клиент является удаленным по отношению к терминальному серверу, включая отправку цветовых значений и значений альфа-фактора для одного или более пикселей одного или более глифов, причем цветовые значения и значения альфа-фактора используются при смешивании фона в терминальном клиенте путем использования терминальным клиентом цветовых значений и значений альфа-фактора совместно с информацией о фоне в терминальном клиенте.
8. Способ по п.7, дополнительно содержащий этап, на котором до передачи глифов в терминальный клиент выполняют сжатие глифов.
9. Способ по п.8, в котором на этапе сжатия глифов используют планарное сжатие, при котором отдельные цвета подпиксельных компонентов сжимаются в отдельных плоскостях, соответствующих цветам подпиксельных компонентов.
10. Способ по п.7, дополнительно содержащий этап, на котором передают текстовые строки в терминальный клиент.
11. Способ по п.10, в котором на этапе передачи глифов и текстовых строк в терминальный сервер передают глифы и текстовые строки в драйвер удаленного дисплея, используя команду прорисовки текста, и передают глифы и текстовые строки из драйвера удаленного дисплея в терминальный клиент.
12. Способ по п.7, в котором на этапе генерации описаний текста, включающих в себя описания символов, описывающие границы символов по цветам, растягивают символы текста по горизонтали, применяют цвет к краям пикселей и уменьшают символы текста до их исходного размера.
13. Способ по п.7, в котором на этапе генерации описаний текста генерируют описания текста для шрифтов TrueType.
14. Способ по п.7, в котором на этапе генерации описаний текста генерируют описания текста для восточных шрифтов.
15. Способ по п.7, в котором на этапе генерации описаний текста генерируют описания текста для подпиксельных шрифтов.
16. Способ передачи текста с подпиксельной точностью в вычислительном окружении, включающем в себя терминальный сервер и терминальный клиент, причем терминальный сервер предоставляет вычислительные функциональные возможности одному или более терминальным клиентам путем исполнения на терминальном сервере приложений, запрашиваемых на терминальных клиентах, и при этом терминальный сервер передает информацию отображения терминальным клиентам с помощью удаленного драйвера дисплея для создания глифов прикладного интерфейса, которые затем передаются в терминальный клиент, чтобы позволить терминальному клиенту взаимодействовать с приложением, содержащий этапы, на которых:
в терминальном клиенте принимают один или более глифов символов от терминального сервера, причем один или более глифов создаются на терминальном сервере, причем по меньшей мере один из одного или более глифов является совокупностью множества символов, формирующих целое слово или фразу, которые повторяются, причем этот по меньшей мере один из одного или более глифов, который является совокупностью множества символов, формирующих целое слово или фразу, которые повторяются, создается на терминальном сервере до его отправки в терминальный клиент, причем глифы включают в себя описанные по цветам границы символов так, чтобы иметь возможность описать границы символов с подпиксельной точностью путем описания цветов на границах, чтобы использовать цветные подпиксельные компоненты пикселей ЖКД, когда изображение этих символов формируется на экране ЖКД, включая прием одного или более глифов, которые включают в себя один или более пикселей, образующих один или более краев глифа, причем каждый из одного или более пикселей имеет ARGB-величину, определяющую для каждого пикселя цветовое значение и значение альфа-фактора, определяющее процент прозрачности;
в терминальном клиенте смешивают глифы с информацией цвета фона с помощью цветовых значений и значений альфа-фактора; и
в терминальном клиенте формируют изображение глифов на экране ЖКД;
кэшируют глифы в терминальном клиенте, причем кэширование глифов в терминальном клиенте содержит этапы, на которых
кэшируют различные глифы для одного и того же символа для конкретного шрифта, чтобы учесть цветность границ каждого глифа и размер и положение глифа при формировании его изображения на терминальном клиенте; и
кэшируют один глиф, определяющий строку символов, определяющих фразу, при этом способ дополнительно содержит этап, на котором формируют изображение одного и того же одного глифа несколько раз в результате повторения этой фразы в по меньшей мере одном из заголовка, нижней части и заглавия.
Описание изобретения к патенту
Уровень техники
Компьютеры и компьютерные системы затрагивают практически все аспекты современной жизни. Компьютеры используются в работе, отдыхе, здравоохранении, транспорте, развлечениях, домоводстве и т.п. Функциональные возможности компьютеров также расширяются благодаря возможности их взаимодействия через различные сетевые соединения. Компьютерные сети обеспечивают доступность ресурсов и служб в сети. Например, подобные ресурсы и службы могут включать в себя, но не ограничиваются перечисленным, файловые серверы, предназначенные для хранения данных, которые доступны клиентам, серверы печати, предназначенные для обеспечения доступа клиентов к принтерам, и совместно используемые хранилища на клиентских компьютерах, предназначенные для хранения данных, которые должны быть доступны другим клиентам и ресурсам в сети.
Один из примеров функций, предоставляемых сетевыми компьютерами, относится к способности предоставления терминальных служб серверным компьютером. На эти типы служб также могут ссылаться как на сервер приложений. Терминальный сервер может предоставлять функцию вычисления одному или более терминальным клиентам. В данном примере терминальные клиенты соединяются с терминальным сервером, и терминальный сервер предоставляет вычислительную мощность для выполнения приложений и реализации иных вычислительных функций, запрашиваемых терминальными клиентами. Таким образом, вычислительная мощность терминального сервера может использоваться так, чтобы несколько терминальных клиентов могли использовать вычислительную мощность терминального сервера. Мощный терминальный сервер может предоставлять функцию вычисления одновременно до 100 клиентам.
Приложения в терминальном сервере передают терминальному клиенту информацию отображения, которая может быть отображена пользователю на дисплее терминального клиента. Например, терминальный сервер может передавать текст, который должен быть отображен в терминальном клиенте. Для поддержания высокого уровня производительности системы желательно ограничить количество информации, которая передается между терминальным сервером и терминальным клиентом. В настоящее время, в контексте отображения текста, эта задача реализуется путем передачи только монохромных глифов, которые являются черно-белыми битовыми картами, представляющими терминальному клиенту буквы в конкретном шрифте. Терминальный клиент может кэшировать глифы таким образом, что глиф для каждой буквы в каждом шрифте требуется передать только один раз. После этого могут передаваться строки, и глифы используются для формирования строк клиенту. Кроме того, глифы могут быть дополнительно сжаты посредством стандартных технологий сжатия.
В настоящее время все шире применяют новые технологии отображения. Одна из таких технологий относится к жидкокристаллическим дисплеям. Как правило, каждый пиксель жидкокристаллического дисплея состоит из трех вертикально расположенных компонентов, а именно красного подпиксельного компонента, примыкающего к зеленому подпиксельному компоненту, примыкающего к синему подпиксельному компоненту, который примыкает к красному подпиксельному компоненту в следующем пикселе и т.д. В последнее время были разработаны технологии, позволяющие использовать подпиксельные компоненты для увеличения горизонтального разрешения графического представления и, в особенности, текста. Одной из таких технологий является Cleartype, которая доступна в определенных продуктах семейства Microsoft Windows корпорации Microsoft Corporation, Редмонд, Вашингтон. В одном примере подпиксельные компоненты могут использоваться для представления пространственно различных частей символа. Так, края символа, который формируется посредством этого типа визуализации, имеют определенный цвет, а не просто черно-белое представление, которое имеет место в тех частях символа, которые удалены от краев символа. По существу, визуализация текста посредством подпиксельных компонентов не передавалось терминальным клиентам из-за наличия вариаций цвета по краям символов.
Сущность настоящего изобретения не ограничивается вариантами осуществления, которые устраняют какие-либо недостатки, описанные в настоящем документе, или которые действуют только в окружениях, подобных описанным выше. Настоящий раздел предоставлен только для иллюстрации одного примера области технологий, где могут быть реализованы описанные в настоящем документе варианты осуществления.
Сущность изобретения
Один из описанных в настоящем документе вариантов осуществления представляет собой способ, который может быть реализован в вычислительном окружении, включающем в себя терминальный сервер и терминальный клиент. Данный способ включает в себя действия для передачи текста с подпиксельной точностью. Данный способ включает в себя этап, на котором генерируют описания текста. Упомянутые описания текста включают в себя информацию, описывающую границы символа по цветам, чтобы иметь возможность описать границы символа с подпиксельной точностью путем описания цветов на границах, так чтобы использовать цветные подпиксельные компоненты пикселей ЖКД, когда упомянутые символы формируются на экране ЖКД. Фон, на котором должен быть отображен текст, смешивается с цветными частями символов. Создается битовая карта, включающая в себя смешанные символы и фон. Данная битовая карта передается терминальному клиенту.
В еще одном варианте осуществления в вычислительном окружении, включающем в себя терминальный сервер и терминальный клиент, может быть реализован способ. Данный способ включает в себя действия для передачи текста с подпиксельной точностью. Способ содержит этап, на котором терминальный сервер генерирует описания текста. Упомянутые описания текста включают в себя описания символов, описывающие границы символа по цветам, чтобы иметь возможность описать границы символа с подпиксельной точностью путем описания цветов на границах, так чтобы использовать цветные подпиксельные компоненты пикселей ЖКД, когда упомянутые символы формируются на экране ЖКД. Далее, в терминальном сервере генерируются глифы отдельных символов. Упомянутые глифы включают в себя описания символов, включающие в себя описания цветных границ символа. С терминального сервера глифы передаются в терминальный клиент.
В еще одном варианте осуществления, который может быть реализован в вычислительном окружении, включающем в себя терминальный сервер и терминальный клиент, раскрыт способ передачи текста с подпиксельной точностью. Данный способ включает в себя этап, на котором терминальный клиент принимает глифы символов. Упомянутые глифы включают в себя описанные по цветам границы символа, чтобы иметь возможность описать границы символа с подпиксельной точностью путем описания цветов на границах, так чтобы использовать цветные подпиксельные компоненты пикселей ЖКД, когда упомянутые символы формируются на экране ЖКД. В терминальном клиенте глифы смешиваются с информацией цвета фона. В терминальном клиенте глифы формируются на экране ЖКД.
Раздел "Сущность изобретения" приведен, чтобы представить в упрощенной форме выборку концепций, которые подробно описываются ниже, в разделе "Подробное описание". Раздел "Сущность изобретения" не предназначен ни для определения ключевых или существенных отличительных признаков сущности формулы изобретения, ни для использования в качестве вспомогательного средства при определении объема сущности формулы изобретения.
Дополнительные отличительные признаки и преимущества настоящего изобретения изложены в следующем описании, и частично будут очевидны из описания или могут быть выведены путем практического применения настоящего изобретения. Отличительные признаки и преимущества настоящего изобретения могут быть реализованы и получены посредством инструментариев и комбинаций, в частности, выделенных ниже. Отличительные признаки настоящего изобретения будут очевидны из следующего описания и прилагаемой формулы изобретения или могут быть выведены путем практического применения настоящего изобретения, как изложено ниже.
Краткое описание чертежей
Для описания способа, по которому могут быть получены вышеупомянутые и другие преимущества и отличительные признаки, ниже приведено более конкретное описание предмета настоящего изобретения со ссылкой на конкретные варианты осуществления, которые проиллюстрированы в прилагаемых чертежах. Следует понимать, что эти чертежи иллюстрируют только типовые варианты осуществления, и, следовательно, их не следует рассматривать как ограничивающие объем настоящего изобретения. Ниже варианты осуществления с конкретными особенностями и деталями подробно описаны и проиллюстрированы с помощью прилагаемых чертежей, на которых:
Фиг.1A - иллюстрация топологии для передачи текста в подпиксельном отображении;
Фиг.1B - иллюстрация топологии для передачи цветных глифов, используя подпиксельное разрешение;
Фиг.2A - иллюстрация действий, выполняемых в терминальном сервере для передачи текста в подпиксельном отображении; и
Фиг.2B - иллюстрация действий, выполняемых в терминальном сервере и терминальном клиенте для передачи цветных глифов, используя подпиксельное разрешение.
Подробное описание
Варианты осуществления настоящего изобретения могут содержать компьютер специального или общего назначения, включающий в себя различное компьютерное аппаратное обеспечение.
Некоторые из описанных в настоящем документе вариантов осуществления предоставляют возможность выполнения формирования текста в терминальных клиентах посредством подпиксельных компонентов, таких как красный, зеленый и синий подпиксельные компоненты экрана ЖКД. В одном варианте осуществления это может быть реализовано путем выполнения подпиксельного формирования текста в удаленном драйвере дисплея в терминальном сервере. Результатом подпиксельного формирования текста в терминальном сервере является то, что края сформированных символов имеют вариации цвета. По краям символов применяется смешивание цветов, чтобы компенсировать цвет фона, на котором должны быть отображены эти символы. Часто, это может быть выполнено по строке символов. Далее, создается битовая карта символа или строки символов, включая смешивание фона. Далее, упомянутая битовая карта передается в терминальный клиент, где она может быть отображена на ЖКД-мониторе так, что символы могут быть отображены с подпиксельной точностью.
В еще одном варианте осуществления в терминальном сервере могут быть созданы глифы для отдельных символов или символов в строке. Глифы создаются с подпиксельной точностью на основании подпиксельных компонентов ЖКД. В результате получаются глифы, которые отличаются от ранее раскрытых глифов тем, что они включают в себя цветные (то есть не просто черно-белые) части по краям глифа. В добавление, в одном варианте осуществления цветные глифы могут также включать в себя альфа-фактор (A), указывающий соответствующее значение прозрачности для данного пикселя. Эта информация используется для корректного смешивания "цвета" глифа с фоновым изображением. Например, пиксель глифа может иметь цвет "красный" и альфа-фактор (или прозрачность) 70%. Это может быть представлено как ARGB-величина посредством 32 битов на пиксель (по 8 на каналы R, G, B и A). Эта комбинация "цвет + альфа" может быть смешана в клиенте, чтобы получить корректное значение пикселя.
Далее, глифы вместе со строками текста передаются в терминальный клиент. Терминальный клиент может использовать строки текста и глифы, чтобы отобразить текст в подходящем фоне на ЖКД в терминальном клиенте. В терминальном клиенте может быть применено смешивание фона путем использования информации цвета о краях глифа в сочетании с информацией фона.
На Фиг.1A проиллюстрирован один пример варианта осуществления. Фиг.1A иллюстрирует терминальный сервер 102, который соединен с терминальным клиентом 104. В терминальном сервере 102 установлено приложение 106. Приложение 106 может представлять собой любое подходящее приложение, которое генерирует текст для отображения. Приложение 106 может иметь функциональную возможность для выбора размера и типа шрифта. Например, пользователь может иметь возможность задавать в приложении 106 конкретный шрифт типа TrueType и конкретный размер кегля, с которым должны быть сгенерированы различные текстовые объекты. Приложение обменивается информацией с Интерфейсом Графических Устройств (Graphical Device Interface, GDI) 108. В данном примере GDI 108 создает растровое изображение 112 символа или строки символов.
На Фиг.2A проиллюстрированы этапы способа для действий, выполняемых в терминальном сервере 102 для примера, показанного на 1A. Как упомянуто выше, растровое изображение 112 может быть создано посредством различных алгоритмов и процессов, подходящих для отображения строк текста в подпиксельном разрешении для отображения на ЖКД. На Фиг.2A проиллюстрировано действие создания описаний текста, включающих в себя цветные границы символа (действие 202). Упомянутые границы символов описываются по цветам, чтобы иметь возможность описать границы символа с подпиксельной точностью путем описания цветов на границах, так чтобы использовать цветные подпиксельные компоненты пикселей ЖКД, когда упомянутые символы формируются на экране ЖКД. Например, в одном варианте осуществления символы в шрифте TrueType могут быть преобразованы в растровый формат в большем масштабе, чем обычно. Например, когда выполняется форматирование символов, черно-белый символ может быть растянут в горизонтальном направлении с коэффициентом 3x, что создать растянутый глиф. Это выполняется для того, чтобы каждый пиксель черно-белого символа представлялся тремя пикселями, представляющими три субпиксельных компонента пикселя. Далее, к каждому пикселю применяются цвета по горизонтали, в соответствии с расположением подпиксельного компонента. Далее, растянутый глиф обратно уменьшается до размеров глифа с соотношением высоты к ширине 1:1, используя алгоритмы формирования подпиксельного компомента, чтобы создать цветной подпиксельный глиф.
На Фиг.2A также проиллюстрировано действие, где сформированный с подпиксельной точностью текст смешивается с фоном, на котором должен быть отображен данный текст (действие 204).
Например, если выполняется формирование границ цветного подпиксельного глифа на цветном фоне, то для улучшения читабельности должно быть выполнено соответствующее смешивание. Один пример системы для описаний глифов с подпиксельной точностью описан в патенте США № 6188385 "Способ и устройство для отображения изображений, таких как текст", выданный Хиллу и др. 13-го февраля 2001. Указанный документ является всего лишь примером, и для описания символов с подпиксельной точностью и цветных границ также могут использоваться другие способы.
Так, в одном варианте осуществления терминальный клиент 104 может предоставлять данные, которые должны быть приняты терминальным сервером 102 и которые описывают характеристики ЖКД 110 в терминальном клиенте 104. В частности, терминальный клиент 104 может предоставить информацию о расположении подпиксельных компонентов ЖКД 110. Например, подпиксельные компоненты могут быть расположены не в порядке красный - зеленый - синий, а в некотором другом порядке, например в порядке красный - синий - зеленый, или другим подходящим образом. Альтернативно, ЖКД 110 может иметь другие нестандартные особенности, такие как горизонтальное расположение подпиксельных компонентов, или другие структуры. В еще одном варианте осуществления терминальный клиент может предоставить размер пикселя и родное разрешение ЖКД 100. Эта информация может быть передана в терминальный сервер 102, так что она может использоваться при описании символов с подпиксельным разрешением.
В показанном на фиг.1A варианте осуществления GDI 108 создает битовую карту 112, как проиллюстрировано на действии 206. Данная битовая карта передается в удаленный драйвер 114 дисплея. В одном варианте осуществления при передаче битовой карты 112 в удаленный драйвер 114 дисплея GDI 108 может использовать команду прорисовки битовой карты. Удаленный драйвер 114 дисплея передает битовую карту в терминальный клиент 104, как показано на действии 208. Тогда терминальный клиент 104 может отобразить упомянутую битовую карту на ЖКД 110 с подпиксельной точностью.
На фиг.1B проиллюстрирован альтернативный вариант осуществления. На фиг.1B проиллюстрирован пример, в котором формирование глифов выполняется с использованием подпиксельных компонентов. Глифы являются графическими представлениями одного или более символов. Например, глиф может быть графическим представлением буквы "A" в шрифте Times New Roman с размером 10. Еще одним примером глифа может быть комбинация букв, такая как "Microsoft Word" в шрифте Arial с размером 12. Эти графические представления могут использоваться повторно, так что отсутствует необходимость в повторной передаче всей графической информации каждый раз, когда требуется выполнить формирование конкретного символа. Например, может быть передана строка, описываемая текстом стандарта ASCII, такая как "hello world". Вместе со строкой могут быть переданы глифы, включающие в себя графические представления букв h, e, l, o, w, r и d. Графические представления букв l и o могут быть использованы повторно. Аналогично, если передается графическое представление "Microsoft Word", то оно может быть использовано на всех заголовках страниц приложения, которое включает в себя этот текст.
В терминальный клиент могут быть переданы глифы с цветными границами и текстовыми строками. Например, на Фиг.1B проиллюстрирован терминальный сервер 102. Терминальный сервер 102 включает в себя приложение 106. Приложение 106 может указать интерфейсу GDI 108 конкретную текстовую строку, а также шрифта, включая тип и размер шрифта, в котором должны быть отображены текстовые строки. На Фиг.2B проиллюстрированы действия, выполняемые интерфейсом GDI 108. Например, на Фиг.2B проиллюстрировано, что генерируются описания текста, включающие в себя цветные границы символа (действие 210). Это выполняется таким образом, чтобы иметь возможность описать границы символа с подпиксельной точностью путем описания цветов на границах, так чтобы использовать цветные подпиксельные компоненты пикселей ЖКД, когда упомянутые символы формируются на экране ЖКД. Как упомянуто выше, это может быть выполнено посредством горизонтального растяжения черно-белых глифов, окраски растянутых глифов в соответствии с расположением подпиксельных компонентов и восстановления соотношения сторон глифа к значению 1:1, используя красный, зеленый и синий подпиксельные компоненты, заданные для ЖКД. Кроме того, на Фиг.2B проиллюстрировано действие, на котором генерируются цветные глифы 116 отдельных символов (действие 212). Далее, GDI 108 может передать цветные глифы 116 и текстовые строки 118 в драйвер 114 удаленного дисплея. В одном варианте осуществления это может быть выполнено посредством специальной команды. Например, для передачи цветных глифов 116 и текстовых строк 118 в драйвер 114 удаленного дисплея может использоваться команда прорисовки цветного текста, которая является специализированной командой прорисовки текста, которая учитывает использование цветных глифов, то есть глифов с цветными границами.
В добавление, для передачи информации позиционирования глифа также может быть передана команда прорисовки текста. Информация позиционирования глифа включает в себя информацию о том, как должны быть разделены глифы друг от друга для обеспечения читабельности и удобного вида. Данная информация может включать в себя, например, различные команды модификации или другую информацию позиционирования.
Далее, глифы 116 передаются в терминальный клиент 104 (действие 214). Следует отметить, что в случае примера с Фиг.1B может потребоваться передать три и более различных глифа для каждого символа каждого шрифта. Причиной этого является наличие цветных границ у каждого глифа. В частности, в зависимости от размера и позиционирования глифа на границах глифа могут использоваться различные цвета. По существу, для одного и того же символа в терминальный клиент 104 могут быть переданы и сохранены глифы различных цветов.
Как упоминалось выше, также могут быть переданы глифы для целых слов или фраз, которые повторяются. Например, если фраза часто повторяется в заголовке, нижней части, заглавии и т.п., может быть эффективным передать глифы, которые включают в себя цветные границы символа.
Также следует отметить, что глифы также могут быть сжаты посредством различных алгоритмов сжатия, чтобы снизить использование полосы пропускания сети, когда глифы передаются через сеть. Наряду с тем, что могут использоваться стандартные способы сжатия, для повышения эффективности за счет использования конкретных цветовых характеристик цветных глифов также могут использоваться специальные способы сжатия. Например, в тех случаях, когда сжатие основывается на цветных плоскостях, может использоваться планарный механизм сжатия. Например, глиф может быть разбит на составные цветные части. Как упоминалось выше, для формирования глифов используются красный, зеленый и синий подпиксельные компоненты. По существу, каждый глиф разделяется на красную, зеленую и синюю части. Тогда эти части могут быть сжаты в соответствии со способами сжатия черно-белых изображений. Сжатый глиф, следовательно, включает в себя красную сжатую часть, зеленую сжатую часть и синюю сжатую часть.
На Фиг.2B, сверх того, проиллюстрированы действия, которые могут быть выполнены в терминальном клиенте 104 в примере с Фиг.1B. Например, на Фиг.2B проиллюстрировано, что выполняется прием глифов символов, включая цветные границы символа (действие 216). В одном варианте осуществления принятые глифы могут быть сохранены в кэш-памяти 120 глифов. Это позволяет уменьшить использование пропускной способности сети путем передачи только одного глифа символа для каждого шрифта. Глифы могут повторно использоваться для последующих экземпляров символов.
На Фиг.2B, кроме того, проиллюстрировано действие, на котором глифы смешивают с фоном (действие 218). Как описано выше, из-за цвета границ глифа окраска выполняется путем смешивания цветов фона с цветами границы глифа. Далее, глифы, включающие в себя информацию смешанного фона, формируются на ЖКД 110 терминального клиента (действие 220).
Следует отметить, что передача текста с подпиксельной точностью может быть особенно полезна для определенных типов специальных шрифтов. Например, множество шрифтов восточного стиля включают в себя детали, которые сложно воспроизвести с полной пиксельной точностью на экранах с низким разрешением, когда используются размеры шрифта, как правило, используемые при попытке воспроизведения символов на экране. Тем не менее, путем использования подпиксельных компонентов для подпиксельной точности может быть отображена большая часть деталей подобных шрифтов. Используя вышеуказанные принципы, упомянутые шрифты восточного стиля могут быть отображены с подпиксельной точностью на терминальных клиентах.
В настоящее время разрабатываются новые подпиксельные шрифты, которые позволяют использовать подпиксельные компоненты на локальной машине. Когда эти шрифты отображаются без подпиксельной точности, получается крайне неудовлетворительное отображение. Как описано выше, раньше терминальные клиенты не имели возможности принимать символы с подпиксельной точностью, и, соответственно, использование ими этих новых шрифтов было исключено. Тем не менее, используя описанные в настоящем документе принципы, новые подпиксельные шрифты сейчас могут использоваться терминальными службами.
Варианты осуществления также могут включать в себя машиночитаемый носитель для хранения машиночитаемых инструкций или структур данных. Подобным машиночитаемым носителем может быть любой доступный носитель, к которому может быть выполнен доступ компьютером общего или специального назначения. В качестве примера, но не ограничиваясь перечисленным, подобные машиночитаемые носители могут включать в себя ПЗУ, ОЗУ, ЭСППЗУ, компакт диски CD-ROM или другие оптические дисковые хранилища, магнитные дисковые хранилища или другие магнитные устройства хранения, или любой другой носитель, который может быть использован для хранения желаемого средства программного кода в форме выполняемых компьютером инструкций или структур данных и к которому может быть выполнен доступ компьютером общего или специального назначения. Когда информация передается или предоставляется через сеть или иное соединение (проводное или беспроводное соединения либо комбинация проводного и беспроводного соединений) с компьютером, компьютер рассматривает данное соединение как машиночитаемый носитель. Соответственно, любое подобное соединение определяется как машиночитаемый носитель. Комбинации из каких-либо вышеперечисленных типов также входят в объем понятия машиночитаемый носитель.
Выполняемые компьютером инструкции содержат, например, инструкции и данные, которые могут привести компьютер общего назначения, компьютер специального назначения или устройство обработки специального назначения к выполнению определенной функции или набора функций. Несмотря на то, что сущность настоящего изобретения была описана в привязке к структурным особенностям и/или методологическим действиям, следует понимать, что сущность, определенная в прилагаемой формуле изобретения, не ограничена конкретными особенностями или действиями, описанными выше. Скорее, описанные выше конкретные структурные особенности и действия раскрыты как примеры форм осуществления пунктов формулы изобретения.
Настоящее изобретение может быть реализовано в других особых формах в рамках его сущности или отличительных признаков. Описанные варианты осуществления следует рассматривать исключительно как иллюстративные и неограничивающие. Соответственно, объем настоящего изобретения определяется прилагаемой формулой изобретения, а не вышеизложенным описанием. Все изменения, которые входят в смысл и область эквивалентности формулы изобретения, следует рассматривать как входящие в объем формулы изобретения.
Класс G06F15/16 сочетание двух или более вычислительных машин, каждая из которых снабжена по меньшей мере арифметическим устройством, программным устройством и регистром, например для одновременной обработки нескольких программ