автоматическая оптимизация расположения ножек символов текста

Классы МПК:G09G5/28 для улучшения формы знака, например сглаживания
Автор(ы):, , ,
Патентообладатель(и):МАЙКРОСОФТ КОРПОРЕЙШН (US)
Приоритеты:
подача заявки:
2001-04-09
публикация патента:

Изобретение относится к способам визуализации текстовой информации на экране. Его применение позволяет получить технический результат в виде обеспечения автоматического размещения типографских деталей на границах высокого контраста подкомпонентов элементов изображения, экономии времени обработки и ресурсов. Указанный результат достигается посредством выполнения частичного, а не полного топологического анализа символа. Так как установлено, что в устройствах отображения, имеющих вертикальные полосы подкомпонентов элементов изображения одного и того же цвета, удобочитаемость символа увеличивается, когда левые края ножек выровнены с границами высокого контраста между подкомпонентами элементов изображения, то способ содержит операции, направленные на достижение этого. 5 н. и 35 з.п. ф-лы, 8 ил. автоматическая оптимизация расположения ножек символов текста, патент № 2258265

автоматическая оптимизация расположения ножек символов текста, патент № 2258265 автоматическая оптимизация расположения ножек символов текста, патент № 2258265 автоматическая оптимизация расположения ножек символов текста, патент № 2258265 автоматическая оптимизация расположения ножек символов текста, патент № 2258265 автоматическая оптимизация расположения ножек символов текста, патент № 2258265 автоматическая оптимизация расположения ножек символов текста, патент № 2258265 автоматическая оптимизация расположения ножек символов текста, патент № 2258265 автоматическая оптимизация расположения ножек символов текста, патент № 2258265 автоматическая оптимизация расположения ножек символов текста, патент № 2258265 автоматическая оптимизация расположения ножек символов текста, патент № 2258265 автоматическая оптимизация расположения ножек символов текста, патент № 2258265 автоматическая оптимизация расположения ножек символов текста, патент № 2258265

Формула изобретения

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

2. Способ по п.1, в котором данные изображения представляют собой символ, где способ дополнительно содержит этап анализа топологии символа во время выполнения программы, с целью идентифицирования типографской детали, подлежащей подгонке.

3. Способ по п.1, в котором граница высокого контраста не является границей между элементами изображения.

4. Способ по п.1, в котором этап отображения изображения выполняется так, что отдельные подкомпоненты элементов изображения представляют собой пространственно различные части данных изображения, а не различные части, представляемые целыми элементами изображения, которые включают в себя отдельные подкомпоненты элементов изображения.

5. Способ по п.1, в котором типографская деталь является ножкой символа, представленного данными изображения.

6. Способ по п.5, в котором этап хинтования данных изображения проводится таким образом, что левый край ножки выравнивается с границей высокого контраста.

7. Способ по п.1, в котором типографская деталь является горизонтальным участком символа, представленного данными изображения.

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

9. Способ по п.8, в котором типографская деталь является одной или более вертикальными ножками символа.

10. Способ по п.8, в котором типографская деталь является одним или более горизонтальными участками символа.

11. Способ по п.8, в котором данные изображения представляют символ, подлежащий отображению на устройстве отображения, причем способ дополнительно содержит анализ топологии символа во время выполнения процесса с целью идентифицирования типографской детали.

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

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

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

15. Способ по п.14, в котором выбранный образец представляет собой черный промежуток, окруженный белыми промежутками.

16. Способ по п.14, в котором выбранный образец представляет собой черный промежуток, окруженный серыми промежутками.

17. Способ по п.14, в котором выбранный образец представляет собой черный промежуток, окруженный промежутками, не являющимися черными.

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

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

20. Способ по п.8, дополнительно содержащий этап отображения пространственно различных наборов одной или более выборок данных изображения в отдельные подкомпоненты элементов изображения, а не отображения выборок в целые элементы изображения.

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

22. Способ по п.21, в котором промежутки включают в себя черные промежутки, которые являются внутренними относительно контура символа, белые промежутки, которые являются внешними относительно контура символа, и серые промежутки, которые являются комбинацией черных и белых промежутков.

23. Способ по п.21, в котором промежутки определяют ширину ножки, идентифицированную по меньшей мере некоторыми из ключевых контрольных точек.

24. Способ по п.23, дополнительно содержащий этап расположения ножек символа.

25. Способ по п.21, в котором границы находятся между синими подкомпонентами элементов изображения и зелеными подкомпонентами элементов изображения, где синие подкомпоненты элементов изображения являются внутренними относительно символа, а зеленые подкомпоненты элементов изображения являются внешними относительно символа.

26. Способ по п.21, в котором границы находятся между красными подкомпонентами элементов изображения и зелеными подкомпонентами элементов изображения, где красные подкомпоненты элементов изображения являются внешними относительно символа, а зеленые подкомпоненты элементов изображения являются внутренними относительно символа.

27. Способ по п.21, дополнительно содержащий этап расположения левого края символа на границах.

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

29. Способ по п.28, дополнительно содержащий после фазового регулирования последовательных типографских деталей этап учета ошибки, вводимой фазовым регулированием предыдущей типографской детали.

30. Способ по п.29, в котором ошибка равна смещению предыдущей типографской детали.

31. Способ по п.28, в котором подкомпоненты элементов изображения расположены на устройстве отображения так, что образуют вертикальные полосы из подкомпонентов элементов изображения одного и того же цвета, и в котором одна или более выбранные типографские детали включают в себя вертикальную ножку символа.

32. Способ по п.28, в котором подкомпоненты элементов изображения расположены на устройстве отображения так, что образуют горизонтальные полосы из подкомпонентов элементов изображения одного и того же цвета, и в котором одна или более выбранные типографские детали содержат горизонтальный участок символа.

33. Способ по п.28, в котором образцы включают в себя чередующиеся черные и белые промежутки, где черные промежутки содержат размеры, которые являются внутренними относительно символа, а белые промежутки содержат размеры, которые являются внешними относительно символа.

34. Способ по п.28, в котором образцы включают в себя чередующиеся черные и серые промежутки, где черные промежутки содержат размеры, которые являются внутренними относительно символа, и в котором серые промежутки содержат размеры, которые являются и внутренними, и внешними относительно символа.

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

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

37. Компьютерный программный продукт по п.35, в котором подкомпоненты элементов изображения расположены на устройстве отображения, образуя вертикальные полосы из подкомпонентов элементов изображения одного и того же цвета, и в котором типографская деталь представляет собой ножку символа, которая параллельна направлению вертикальных полос.

38. Компьютерный программный продукт по п.35, в котором способ дополнительно содержит этап отображения пространственно различных наборов одной или более выборок в каждый из подкомпонентов выбранного элемента изображения, в противоположность отображению одной или более выборок в целый выбранный элемент изображения.

39. Компьютерный программный продукт по п.38, в котором способ дополнительно содержит этап отображения изображения на устройстве отображения на основании данных изображения, приводящий к отображению типографской детали на границе высокого контраста.

40. Компьютерный программный продукт по п.39, в котором этап отображения изображения на устройстве отображения содержит этап отдельного управления каждым из подкомпонентов выбранного элемента изображения посредством применения к каждому из подкомпонентов выбранного элемента изображения значения интенсивности света, генерируемого от пространственно различного набора одной или более выборок, отображаемого в конкретный подкомпонент элемента изображения.

Описание изобретения к патенту

Область техники, к которой относится изобретение

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

Предшествующий уровень техники

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

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

Обычным устройством отображения, используемым для отображения цвета, является устройство отображения на электронно-лучевой трубке (ЭЛТ). Элементы изображения устройства отображения на ЭЛТ расположены в конкретной конфигурации, где каждый элемент изображения состоит из трех люминофоров, которые испускают свет при возбуждении лучом электронов. Для устройств отображения на ЭЛТ величины интенсивности света, задаваемые для люминофоров, рассчитываются вместе, и три люминофора в элементе изображения управляются вместе, чтобы произвести в элементе изображения цвет, воспринимаемый пользователем, как имеющий выбранный цветовой тон, интенсивность и насыщенность.

Другое устройство отображения, которое обычно используется для портативных компьютеров, представляет собой жидкокристаллический дисплей (ЖКД). Устройства отображения на ЖКД являются предпочтительными по сравнению с устройствами отображения на ЭЛТ во многих случаях, прежде всего потому, что устройства отображения на ЖКД обычно имеют меньший размер, меньший вес и потребляют меньшее количество электроэнергии, чем имеющие сравнительно такие же размеры устройства отображения на ЭЛТ. В компьютерах, в которых электропитание осуществляется от аккумуляторных батарей, это является существенным преимуществом. Технология устройств отображения на ЖКД позволяет им конкурировать с устройствами отображения на ЭЛТ в отношении четкости и разрешающей способности.

Однако между устройствами отображения на ЖКД и ЭЛТ существует несколько различий. Элементы изображения устройств отображения на ЖКД, в отличие от элементов изображения устройств отображения на ЭЛТ, состоят из множества подкомпонентов элементов изображения (обычно трех), которые отдельно адресуются и по существу отдельно управляются. Кроме того, элементы изображения в устройстве отображения на ЖКД обычно располагают так, что они образуют горизонтальные или вертикальные полосы из подкомпонентов элементов изображения одного и того же цвета, тогда как конфигурация люминофоров в элементе изображения устройства отображения на ЭЛТ часто бывает треугольной. В большинстве устройств отображения на ЖКД, используемых с портативными компьютерами, подкомпоненты элементов изображения расположены вертикально, что приводит к красным, зеленым и синим вертикальным полосам подкомпонентов элементов изображения одного и того же цвета. Другие устройства отображения на ЖКД имеют подкомпоненты элементов изображения, расположенные так, что образуют красные, зеленые и синие горизонтальные полосы из подкомпонентов элементов изображения одного и того же цвета. Можно использовать другие конфигурации, но вертикальные и горизонтальные расположения являются наиболее обычными.

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

В частности, символы текста или шрифтовые комплекты представляют исключительные проблемы. Технология позволяет сохранять шрифт в компьютере с высоким разрешением, и когда символ с высоким разрешением визуализируется на устройстве отображения с низким разрешением или грубом устройстве отображения (с малым числом строк), символ подгоняется к сетке элементов изображения устройства отображения. Это приводит к потере информации, касающейся символов, и часто ставит под угрозу форму символов, что противоречит намерению художника-шрифтовика.

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

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

Ввиду вышеизложенного, в технике имеется необходимость в технических приемах визуализации текста на устройствах отображения на ЖКД, которые могут улучшить разрешение текста. Желательно обеспечить системы и способы, способные увеличивать удобочитаемость текста и уменьшать искажение символов, которое прежде возникало из-за изменения положения краев символов на границах целых элементов изображения устройств отображения на ЖКД.

Краткое изложение сущности изобретения

Настоящее изобретение относится к системам и способам визуализации текста и других изображений на устройствах отображения на ЖКД или других устройствах отображения, имеющих элементы изображения с отдельно управляемыми подкомпонентами элемента изображения. В соответствии с изобретением, отдельные подкомпоненты элементов изображения представляют разные части символа текста или другого изображения вместо того, чтобы целый элемент изображения представлял единую часть. Это выполняют посредством отображения пространственно различных наборов одной или более выборок данных изображения в отдельные подкомпоненты элементов изображения. Поскольку подкомпоненты элементов изображения адресуются и управляются отдельно, устройство отображения на ЖКД, используемое согласно изобретению, визуализирует изображения с улучшенным разрешением по сравнению с разрешением, обеспечиваемым с помощью обычных процессов визуализации.

Хотя принципы изобретения можно использовать для визуализирования любого изображения, изобретение описано здесь прежде всего в контексте символов текста. В качестве части изобретения, данные символов хинтуют, или подгоняют к сетке так, чтобы выбранные края символа попадали на границы высокого контраста между подкомпонентами элементов изображения, тем самым дополнительно улучшая внешний вид и удобочитаемость текста. Таким образом, не только части символа отображаются с разрешением подэлементов изображения, но выбранные края символа также располагаются таким образом, чтобы уменьшить ошибки цветной окантовки (ореола) или эффекты, которым они подвергались в противном случае.

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

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

Краткое описание чертежей

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

фиг.1 иллюстрирует примерную систему, которая обеспечивает подходящую операционную среду для настоящего изобретения;

фиг.2а и 2b изображают часть устройства отображения на ЖКД и показывают отдельно управляемые подкомпоненты элементов изображения устройства отображения на ЖКД;

фиг.3 представляет блок-схему, иллюстрирующую процесс визуализации или растеризации данных изображения на устройстве отображения;

фиг.4а представляет иллюстрацию символа до его расположения на границах элементов изображения;

фиг.4b представляет иллюстрацию символа после его расположения на границах элементов изображения;

фиг.4с представляет иллюстрацию символа после его фазового регулирования и выравнивания ножек по границам высокого контраста подкомпонентов элементов изображения;

фиг.5а представляет иллюстрацию промежутков и размеров, связанных с символом;

фиг.5b представляет иллюстрацию ориентированного ациклического графа, используемого для представления промежутков, связанных с символом;

фиг.6 представляет иллюстрацию контура и контрольных точек, которые определяют символ;

фиг.7 представляет блок-схему процесса хинтования; и

фиг.8 представляет более подробную блок-схему, иллюстрирующую способ фазового регулирования символа.

Подробное описание предпочтительных вариантов осуществления

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

В случае черного текста на белом фоне и других комбинаций, цвет относится к балансу между черным и белым на экране. Ровный и постоянный цвет приводит к более разборчивому тексту. На цвет влияет контраст между плотностью толстых и тонких ножек, размер промежутка, который является внутренним в символах, плавность диагонального штриха и другие факторы. Ровный цвет меньше отвлекает внимание читателя. Хинтование улучшает баланс между белым и черным на устройстве отображения, так что отображаемое изображение приближается к ровному цвету.

Удобочитаемость относится к идентифицируемости конкретного символа. Совокупности символов, которые часто упоминаются как шрифтовые комплекты ("шрифты"), обычно содержат множество глифов (образов символов в битовой карте) или символов, которые представлены одним или больше контурами. При низких значениях разрешения и небольших размерах шрифта трудно разборчиво представлять символ и часто бывает необходимо изменить растровое изображение, которое представляет глиф или символ. Надлежащий промежуток также вносит вклад в разборчивость, особенно при низких значениях разрешения. Неподходящий промежуток обычно возникает из-за того, что контур символа обычно округляется в большую или меньшую сторону, чтобы приспосабливаться к сетке элементов изображения с низким разрешением устройства отображения. Однако, данные текста являются более разборчивыми, если промежуток между символами и между словами читателю кажется постоянным.

Плотность символа в общем относится к толщине символа и элементов символа. Например, шрифт, который является жирным, имеет большую плотность, чем тот же самый шрифт, который не является жирным. Большая часть трудностей в отношении плотности возникает между прописными буквами и строчными буквами. Неравная плотность может привести к тому, что прописные буквы будут привлекать к себе слишком много внимания или к невозможности отличать заголовки от текста.

Выравнивание (линирование) строки относится к высотности или высоте элементов изображения символов. Символы следует сохранять выровненными, особенно при маленьких размерах, где разница в высоте элементов изображения более заметна, потому что текст, который должным образом не выровнен, кажется волнистым и отвлекает читателя. Симметрия символа обычно представляет собой проблему, связанную с символами, имеющими диагональные элементы (штрихи), хотя симметрия является проблемой, которая относится к символам, имеющим другие типы элементов, включая закругленные кривые. Управление симметрией может улучшать внешний вид отдельных символов и усиливать тон текста. В целом, хинтование шрифта или символа улучшает разборчивость и внешний вид шрифта, как описано выше.

Ниже изобретение описано посредством использования диаграмм для иллюстрирования либо структуры, либо обработки вариантов осуществления, применяемых для реализации систем и способов по настоящему изобретению. Использование диаграмм таким образом для представления изобретения не следует рассматривать, как ограничение его объема. Настоящее изобретение охватывает и способы, и системы для автоматической оптимизации размещения типографских деталей по границам высокого контраста.

I. Пример вычислительного и аппаратного окружения

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

Варианты осуществления в объеме настоящего изобретения также включают в себя пригодный для считывания компьютером носитель информации для переноса или хранения выполняемых компьютером команд или структур данных, хранящихся на нем. Таким пригодным для считывания компьютером носителем информации может быть любой доступный носитель информации, к которому может обращаться специализированный или универсальный компьютер. Посредством примера, а не в качестве ограничения, такой пригодный для считывания компьютером носитель информации может содержать ОЗУ (оперативное запоминающее устройство), ПЗУ (постоянное запоминающее устройство), ЭСППЗУ (электрически стираемое программируемое ПЗУ), ПЗУ на компакт-диске или другие устройства носителей на оптических дисках, носители на магнитных дисках или других магнитных запоминающих устройствах, или любой другой носитель информации, который можно использовать для переноса или хранения требуемых средств программного кодирования в форме выполняемых компьютером команд или структур данных, и к которому может обращаться специализированный или универсальный компьютер. Когда информация передается или обеспечивается по сети или другому каналу связи (либо проводному, беспроводному, либо по комбинации проводных или беспроводных каналов связи) для компьютера, компьютер должным образом рассматривает соединение как пригодный для считывания компьютером носитель информации. Таким образом, любое такое соединение (связь) должным образом называется пригодным для считывания компьютером носителем информации. Комбинации вышеупомянутых носителей информации также должны быть включены в число пригодных для считывания компьютером носителей информации. Выполняемые компьютером команды содержат, например, команды и данные, которые заставляют универсальный компьютер, специализированный компьютер или специализированное устройство для обработки выполнять определенную функцию или группу функций.

Фиг.1 и последующее описание предназначены для обеспечения краткого, общего описания подходящей вычислительной среды, в которой может быть воплощено изобретение. Хотя это не требуется, изобретение описано в общем контексте выполняемых компьютером команд, таких как программные модули, выполняемые компьютерами в сетевых средах. Обычно программные модули включают в себя операции, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Выполняемые компьютером команды, связанные структуры данных и программные модули представляют собой примеры средств программного кодирования для выполнения этапов раскрытых здесь способов. Конкретная последовательность таких выполняемых команд или связанных структур данных представляет примеры соответствующих действий для осуществления функций, описанных в таких этапах.

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

Рассмотрим фиг.1, на которой примерная система для воплощения изобретения включает в себя универсальное вычислительное устройство в форме обычного компьютера 20, включающего в себя блок 21 обработки, системную память 22 и системную шину 23, которая подсоединяет различные компоненты системы, включая системную память 22, к блоку 21 обработки. Системная шина 23 может иметь любую из нескольких типов шинных структур, включая шину памяти или контроллера памяти, периферийную шину и локальную шину, используя любую из множества шинных архитектур. Системная память включает в себя постоянное запоминающее устройство (ПЗУ) 24 и оперативное запоминающее устройство (ОЗУ) 25. Базовая система ввода/вывода (БСВВ, BIOS) 26, содержащая основные операции, которые помогают передавать информацию между элементами в пределах компьютера 20, например, во время загрузки, может храниться в ПЗУ 24.

Компьютер 20 также может включать в себя накопитель (привод) 27 на жестких магнитных дисках, предназначенный для считывания с жесткого магнитного диска 39 и записи на него, накопитель (привод) 28 на магнитных дисках для считывания со сменного магнитного диска 29 или записи на него и накопитель (привод) 30 на оптических дисках для считывания со сменного оптического диска 31 или записи на него, типа ПЗУ на компакт-диске, компакт-диска с однократной записью, компакт-диска с многократной перезаписью или других оптических носителей информации. Накопитель 27 на жестких магнитных дисках, накопитель 28 на магнитных дисках и накопитель 30 на оптических дисках связаны с системной шиной 23 с помощью устройства сопряжения (интерфейса) 32 накопителя на жестких дисках, устройства сопряжения (интерфейса) 33 накопителя на магнитных дисках и устройства сопряжения (интерфейса) 34 накопителя на оптических дисках, соответственно. Накопители и связанные с ними пригодные для считывания компьютером носители информации обеспечивают энергонезависимое запоминающее устройство выполняемых компьютером команд, структур данных, программных модулей и других данных для компьютера 20. Хотя описанное здесь примерное окружение использует магнитный жесткий диск 39, сменный магнитный диск 29 и сменный оптический диск 31, для хранения данных можно использовать другие типы пригодных для считывания компьютером носителей информации, включая магнитные кассеты, карты флэш-памяти, цифровые видеодиски, картриджи Бернулли, устройства ОЗУ, ПЗУ и т.п.

Средство программного кодирования, содержащее один или больше программных модулей, может храниться на жестком диске 39, магнитном диске 29, оптическом диске 31, ПЗУ 24 или ОЗУ 25, включая операционную систему 35, одну или более прикладных программ 36, другие программные модули 37 и программные данные 38. Пользователь может вводить команды и информацию в компьютер 20 через клавиатуру 40, координатно-указательное устройство 42 или другие устройства ввода (не показанные), типа микрофона, джойстика, игровой вспомогательной клавиатуры, спутниковой антенны, сканера или аналогичного устройства. Эти и другие устройства ввода часто соединяют с блоком 21 обработки через устройство 46 сопряжения (интерфейс) последовательного порта, подсоединенное к системной шине 23. В качестве альтернативы, устройства ввода могут быть подсоединены посредством других устройств сопряжения, типа параллельного порта, игрового порта или универсальной последовательной шины (УПШ, USB). Монитор 47 или другое устройство отображения также связано с системной шиной 23 через устройство сопряжения, типа видеоадаптера 48. В дополнение к монитору, персональные компьютеры обычно включают в себя другие периферийные выходные устройства (не показанные), типа громкоговорителей и принтеров.

Компьютер 20 может работать в сетевой среде, используя логические соединения с одним или более удаленными компьютерами, типа удаленных компьютеров 49а и 49b. Каждый из удаленных компьютеров 49а и 49b может быть другим персональным компьютером, сервером, маршрутизатором, сетевым персональным компьютером, одноранговым устройством или другим общесетевым узлом и обычно включает в себя многие или все элементы, описанные выше относительно компьютера 20, хотя на фиг.1 показаны только запоминающие устройства 50а и 50b и связанные с ними прикладные программы 36а и 36b. Логические соединения, изображенные на фиг.1, включают в себя локальную вычислительную сеть (ЛВС) 51 и глобальную сеть (ГС) 52, которые представлены здесь посредством примера, а не ограничения. Такие организации сетевой среды являются обычными в компьютерных сетях масштаба офиса или предприятия, интрасетях и Интернете.

При использовании в организации сетевой среды ЛВС компьютер 20 связан с локальной сетью 51 через сетевое устройство сопряжения или адаптер 53. При использовании в организации сетевой среды ГС компьютер 20 может включать в себя модем 54, беспроводную линию связи или другие средства для установления связи через глобальную сеть 52, типа Интернета. Модем 54, который может быть встроенным или внешним, подсоединен к системной шине 23 через устройство 46 сопряжения последовательного порта. В сетевой среде программные модули, изображенные относительно компьютера 20, или их части, могут храниться в удаленном запоминающем устройстве. Следует понимать, что показанные сетевые связи являются примерными, и можно использовать другие средства установления связи через глобальную сеть 52.

Фиг.2а и 2b иллюстрируют физические характеристики примерного устройства отображения на ЖКД, которое можно использовать для отображения символов, обрабатываемых с использованием операций хинтования по изобретению. Изображенная на фиг.2а часть ЖКД 70 включает в себя множество строк R1-R12 и множество столбцов С1-С16. В цветных ЖКД используется множество различно адресуемых элементов и подэлементов, упоминаемых здесь как элементы изображения и подкомпоненты элементов изображения, соответственно. Фиг.2b, которая иллюстрирует более подробно верхнюю левую часть ЖКД 70, демонстрирует соотношение между элементами изображения и подкомпонентами элементов изображения.

Каждый элемент изображения включает в себя три подкомпонента элемента изображения, иллюстрируемые, соответственно, как красный (R) подкомпонент 72, зеленый (G) подкомпонент 74 и синий (В) подкомпонент 76. Подкомпоненты элементов изображения не квадратные и расположены на ЖКД 70 так, что образуют вертикальные полосы из подкомпонентов элементов изображения одного и того же цвета. Полосы RGB обычно проходят по всей ширине или высоте экрана устройства отображения в одном направлении. Обычные устройства отображения на ЖКД, используемые в настоящее время в большинстве портативных компьютеров, имеют большую ширину, чем высоту, и в них имеется тенденция иметь полосы RGB, проходящие в вертикальном направлении, как показано на ЖКД 70. Примеры таких устройств, которые имеют большую ширину, чем высоту, имеют отношения столбцов к строкам, например, 640×480, 800×600 или 1024×768. Устройства отображения на ЖКД также изготавливают с подкомпонентами элементов изображения, расположенными в других конфигурациях, включая горизонтальные полосы подкомпонентов элементов изображения одного и того же цвета, зигзагообразные конфигурации или треугольные конфигурации. Кроме того, некоторые устройства отображения на ЖКД имеют элементы изображения с множеством подкомпонентов элементов изображения, отличающихся от трех подкомпонентов элементов изображения. Настоящее изобретение можно использовать с любым таким устройством отображения на ЖКД или плоскопанельным устройством отображения до тех пор, пока элементы изображения устройства отображения имеют отдельно управляемые подкомпоненты элементов изображения.

Набор подкомпонентов RGB элемента изображения составляет элемент изображения. Таким образом, термин "подкомпонент элемента изображения", как он используется здесь, относится к одному из множества отдельно управляемых элементов, которые включены в элемент изображения. Рассмотрим фиг.2b, на которой набор подкомпонентов 72, 74 и 76 элемента изображения образует отдельный элемент изображения. Другими словами, пересечение строки и столбца, например, пересечение строки R2 и столбца С1, представляет один элемент изображения, а именно (R2, С1). Кроме того, каждый подкомпонент 72, 74 и 76 элемента изображения представляет собой одну треть, или приблизительно одну треть, ширины элемента изображения, в то же время являясь равным по высоте или приблизительно равным высоте элемента изображения. Таким образом, три подкомпонента 72, 74 и 76 элемента изображения объединяются для образования одного по существу квадратного элемента изображения. Это отношение элемента изображения/подкомпонента можно использовать для визуализации изображений текста на устройстве отображения, как будет дополнительно пояснено ниже.

II. Хинтование и другие операции по обработке изображения

Фиг.3 представляет блок-схему, иллюстрирующую процесс растеризации или процесс визуализации текста на устройстве отображения. Процесс визуализации, изображенный на фиг.3, способен отображать символы на устройствах отображения на ЖКД с точностью до подэлементов изображения. Другими словами, размеры деталей символов, особенно в направлении, перпендикулярном направлению нанесения полос устройства отображения, не ограничены кратным целым числом соответствующего размера целых элементов изображения. Вместо этого, каждый отдельно управляемый подкомпонент элемента изображения из элементов изображения представляет отличающуюся часть отображаемого символа.

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

Процесс на фиг.3 начинается с вывода 101 текста, который можно обеспечивать с помощью прикладной программы, например текстового редактора, или это может быть электронная структура данных, которая представляет документ. Данные 102 символов обычно располагаются в массиве данных, типа файла шрифтов, и обычно содержат информацию, описывающую конкретный набор символов.

Данные 102 символов могут содержать, например, контур каждого глифа в наборе символов. Контуры представляют собой математические описания форм глифов в наборе символов или шрифте, с использованием линий и кривых. Помимо этого, каждый контур имеет несколько контрольных точек, которые необходимы для масштабирования глифа относительно требуемого кегля шрифта и разрешения. Некоторые из контрольных точек являются точками на кривой, а другие точки представляют собой точки вне кривой. Для определения края символа выбирают, например, одну или больше контрольных точек на кривой. Аналогично этому, пара контрольных точек может устанавливать границы ножки символа. Точки на кривой подгоняются к сетке в процессе хинтования, а точки вне кривой располагаются, используя команды интерполирования. Также можно использовать контрольные точки, чтобы указывать определенные размеры и промежутки, типа ширины ножки. В процессе хинтования затрагиваемая точка относится к точке, которая хинтуется или подгоняется к сетке, а не затрагиваемая точка относится к точке, которая не хинтуется или не подгоняется к сетке. Поэтому можно и затрагиваемые, и не затрагиваемые точки упоминать, либо как точки на кривой, либо как точки вне кривой. Термины "на кривой" и "вне кривой" относятся к геометрической форме символов, а термины "затрагиваемые" и "не затрагиваемые" обычно относятся к стратегии хинтования или подгонки к сетке.

Вывод 101 текста и данные 102 символов вместе представляют данные 100 изображения, которые принимаются масштабирующим модулем 104. Масштабирующий модуль 104 масштабирует данные 100 изображения так, что последующие операции по обработке могут воспользоваться преимуществом более высокого разрешения, которое можно достичь, используя подкомпоненты элементов изображения. Поскольку сетка элементов изображения может иметь, например, либо горизонтальное направление нанесения полос, либо вертикальное направление нанесения полос, масштабирование обычно выполняется с более высокой скоростью в направлении, перпендикулярном направлению нанесения полос сетки.

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

В общем, модуль 106 хинтования выравнивает символы по границам подкомпонентов элементов изображения, независимо от того, являются ли границы подкомпонентов элементов изображения также границами между целыми элементами изображения. Это выполняется посредством изменения или искажения контура глифа, с целью гарантирования, что правильные элементы изображения и подкомпоненты элементов изображения затрагиваются или не затрагиваются, когда глиф растеризуется. Как.только глиф подогнан к сетке, контрольные точки, которые обычно нумеруются, не изменяются, но координаты этих контрольных точек могут сдвигаться.

Модуль 108 сканирующего преобразования представляет собой процесс преобразования масштабированного и хинтованного символа в растровое изображение. Поскольку символы или данные текста можно хинтовать к границам подкомпонентов элементов изображения, каждый подкомпонент элемента изображения может отображаться отдельно. Это позволяет визуализировать символ с более высоким разрешением. Модуль 108 сканирующего преобразования определяет, какой подкомпонент элемента изображения должен быть затронут, а какие подкомпоненты элементов изображения не должны быть затронуты. Модуль 108 сканирующего преобразования производит растровое изображение 110, которое отображается на устройстве 112 отображения. Системы и способы по настоящему изобретению описаны здесь в отношении устройства отображения, имеющего вертикальное направление нанесения полос, но их можно применять для устройств отображения, имеющих элементы изображения, расположенных в других конфигурациях, включая, но не ограничиваясь этим, горизонтальное направление нанесения полос.

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

Фиг.4а иллюстрирует сетку 200 элементов изображения, которая представляет положение элементов изображения на устройстве отображения на ЖКД. Данные изображения, представляющие символ 205 текста, масштабированы с коэффициентом, равным трем, в перпендикулярном направлении относительно полос устройства отображения и с коэффициентом, равным единице, в направлении, параллельном полосам. Масштабирование проводится таким образом, чтобы подготовить символ текста для процесса сканирующего преобразования, в котором выборки отображаются в отдельных подкомпонентах элементов изображения. Сетка 200 представляет собой вычислительный инструмент, используемый в процессе визуализации для регулирования выбранных краев символа к границам высокого контраста между подкомпонентами элементов изображения.

Сетка 200 элементов изображения соответствует множеству элементов 201 изображения устройства отображения на ЖКД (например, устройства 70 отображения из фиг.2а), где каждый элемент 201 изображения имеет красный подкомпонент 202 элемента изображения, синий подкомпонент 203 элемента изображения и зеленый подкомпонент 204 элемента изображения. Как часто имеет место в процессе визуализации изображения, контур символа 205 не совпадает с границей подкомпонентов элементов изображения. Например, край 206 не совпадает с границей подкомпонентов элементов изображения. Поскольку символ 205 не соответствует элементам 201 изображения и подкомпонентам 202, 203 и 204 элементов изображения, во время процесса растеризации форму и расположение символа 205 можно изменить или подогнать к сетке.

Фиг.4b иллюстрирует символ 205 после того, как он был подогнан к сетке 200 элементов изображения. Как показано, во время процесса растеризации символ 205 физически переместили вниз и влево, а ножки 209 слегка сузили. Этот эффект округления, как иллюстрируется на фиг.4b, происходит на границах элементов изображения.

Фиг.4с иллюстрирует символ 205 после того, как он был подогнан в сетке к границам подкомпонентов элементов изображения. Край 206 символа был привязан к границе 208 между зеленым подкомпонентом элемента изображения и синим подкомпонентом элемента изображения. Было отдано предпочтение границе 208, а не границе 207 между красными и зелеными подкомпонентами элементов изображения, потому что граница 208 имеет более высокий контраст, хотя изобретение также может охватывать привязку краев символа к границам между смежными красными и зелеными подкомпонентами элементов изображения. Способность настоящего изобретения подгонять в сетке символ 205 к границам подкомпонентов элементов изображения обеспечивает дополнительную точность в процессе визуализации. В дополнение к подгонке символов к границам подкомпонентов элементов изображения было обнаружено, что выбор границ высокого контраста улучшает удобочитаемость отображаемых символов. Также было установлено, что выравнивание левого края ножек (например, края 206) часто является более важным в образовании символов с хорошей удобочитаемостью, чем выравнивание с границами высокого контраста других частей символа.

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

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

Хотя изобретение можно использовать по существу с любым типом шрифта, определенный пример выполнения частичного топологического анализа контура символа во время выполнения будет представлен в контексте шрифтов True Type. Файлы шрифтов True Type включают в себя таблицы контрольных значений (ТКЗ). ТКЗ представляет собой таблицу, которая получена на основании информации, закодированной в файлах, включая файлы шрифтов True Type, в которой перечислены цвет промежутков, а также размеры для различных деталей букв, например ширины ножек. ТКЗ позволяет проектировщику шрифтов обращаться к конкретным промежуткам по наименованию, а не как к абстрактному промежутку. Ширина ножки символа, например, может называться "толщиной вертикальной ножки". Таблица контрольных значений, как она используется здесь, предназначена для предоставления информации, связанной с символами, которая описывает определенные промежутки и размеры символа. Часто промежутки и размеры описываются в терминах ключевых контрольных точек на контуре символа.

Одна деталь таблиц ТКЗ, которую можно удобно использовать для описания топологии символов текста, представляет собой описание некоторых промежутков в символе с помощью цвета. Горизонтальный промежуток символа, как описано в ТКЗ, может быть черным промежутком, белым промежутком или серым промежутком. Черные промежутки описывают промежутки, которые являются внутренними относительно графической формы буквы (например, ширина ножки), белые промежутки описывают промежутки, которые соответствуют областям, находящимся в общем вне тела символа (например, левый и правый опорные элементы, промежутки между ножками, открытый внутренний просвет буквы "О" и т.д.), а серые промежутки описывают промежутки, которые включают в себя белый и черный промежуток.

Фиг.5а иллюстрирует эти промежутки в отношении символа 205. Символ 205 имеет две ножки 209. Первая ножка начинается в точке А и заканчивается в точке В, а вторая ножка начинается в точке С и заканчивается в точке D. Промежутки от точки А до точки В и от точки С до точки D являются черными промежутками, потому что они внутренние относительно графической формы или контура символа 205, и обозначены черными стрелками 211. Горизонтальный промежуток от левой опорной точки 210 до точки А является белым промежутком, потому что промежуток внешний относительно графической формы символа 205 и обозначен белой стрелкой 212. Аналогично этому, горизонтальный промежуток 219 между точкой D и правой опорной точкой 220 является белым промежутком. Промежуток 218 также обозначен, как белый промежуток, поскольку это промежуток между ножками 209 символа 205. Промежуток от точки А до точки С, показанный серой стрелкой 213, является серым промежутком, потому что промежуток включает в себя черный промежуток 211 от точки А до точки В и белый промежуток 218 от точки В до точки С.

Черные, белые и серые промежутки представлены относительно друг друга и могут быть показаны, как имеющие родительскую/дочернюю иерархию в ориентированном ациклическом графе (ОАГ), как иллюстрируется на фиг.5b. Таким образом, точку А рассчитывают от левой опорной точки 210, и она также является дочерней относительно левой опорной точки 210. В свою очередь, точка А является родительской относительно точек В и С, а точки В и С - дочерние относительно точки А. Неотъемлемая структура ширины и промежутков, которая связана с графической формой букв, позволяет идентифицировать во время выполнения процесса релевантные типографские детали, даже если промежутки и размеры не расположены удобно в таблице контрольных значений.

Перед дополнительным описанием настоящего изобретения представим краткое описание глифа. На фиг.6 показана блок-схема, иллюстрирующая контур и контрольные точки глифа. Контур 214 определен рядом контрольных точек 250, некоторые из которых могут находиться на кривой, а некоторые - вне кривой. Если две последовательные контрольные точки находятся на кривой, они определяют прямую линию. Контрольные точки нумеруются последовательно, в этом примере, и если следовать по кривой в направлении увеличивающихся номеров точек, закрашенная область всегда будет справа от контрольной точки. Ключевые контрольные точки, которые определяют черный промежуток ширины ножки, представляют собой на фиг. 6 точки 1 и точки 22.

На фиг. 7 представлена блок-схема, более подробно поясняющая модуль 106 хинтования, описанный выше в отношении фиг.3. Модуль 106 хинтования можно рассмотреть для выполнения этапа хинтования данных изображения таким образом, чтобы типографская деталь (например, ножка) оказывалась подогнанной в положение на сетке, соответствующее границе высокого контраста между подкомпонентами элементов изображения. Фиг.7 иллюстрирует примеры действий, которые соответствуют этапу хинтования, как дополнительно поясняется ниже.

Модуль 106 хинтования принимает данные изображения после их масштабирования и затем выполняет подгонку символа к точкам сетки, определенным элементами изображения и подкомпонентами элементов изображения. На этапе 260 модуль 106 хинтования обрабатывает команды хинтования, которые обеспечиваются художником-шрифтовиком, и перемещает некоторые ключевые контрольные точки в соответствующие точки сетки так, что графическая форма буквы становится визуально приятной и разборчивой. На этапе 260 некоторые части или контрольные точки символа перемещаются, а другие части и контрольные точки остаются незатронутыми. В соответствии с одним вариантом осуществления изобретения, операция подгонки к сетке данных изображения, как представлено этапом 260, является одним примером части этапа хинтования данных изображения.

Фазовое управление 270 включает в себя перемещение хинтованных точек от этапа 260 на границы подкомпонентов элементов изображения высокого контраста. Часто хинтованные точки, перемещаемые при фазовом управлении 270, определяют левый край ножки символа. В соответствии с вариантом осуществления изобретения, иллюстрируемым на фиг.7, операция фазового регулирования типографской детали является такой, что типографская деталь совпадает с местоположением сетки, которая представляет границу высокого контраста между подкомпонентами элементов изображения, как представлено с помощью операции 270, являющейся одним из примеров части этапа хинтования данных изображения.

Как только соответствующие контрольные точки, такие как точки, которые определяют левый край ножек символа, помещены на границы высокого контраста между подкомпонентами элементов изображения, другие контрольные точки масштабированных данных изображения подгоняются (регулируются) по мере необходимости. Например, правые края ножек могут быть перемещены в сетку так, чтобы придать ножкам ширину, имеющую значения, которые не могут быть целым числом ширины целых элементов изображения устройства отображения. При операции 280 какие-либо точки или участки контура, которые не были перемещены во время операции 260 и фазового управления 270, теперь перемещаются в новые местоположения на сетке элементов изображения, используя интерполяцию. Таким образом, в этом варианте осуществления операция интерполяции остающихся контрольных точек является одним из примеров части этапа хинтования данных изображения.

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

Фиг.8 представляет подробную блок-схему фазового управления, осуществляемого модулем 106 хинтования на фиг.1, согласно одному варианту осуществления изобретения, и дополнительно иллюстрирует операции, которые соответствуют, по меньшей мере, части этапа хинтования данных изображения в соответствии с одним вариантом осуществления изобретения. Как было упомянуто выше, изобретение можно осуществлять, используя любой процесс, который во время выполнения полностью или частично анализирует топологию глифа. Фиг.8 касается использования ориентированного ациклического графа, например, связанного с фиг.5а и фиг.5b. На этапе 271 получают ОАГ символа 205 из интерпретации команд хинтования, которые используют ТКЗ и иллюстрируются на фиг.5b.

На этапе 272 при фазовом управлении 270 осуществляется поиск отличительных типографских деталей. Например, во время фазового управления 270 может пытаться располагать вертикальные ножки символа посредством поиска чередующихся образцов черных и белых горизонтальных промежутков, если сетка элементов изображения имеет вертикальное направление нанесения полос. Если сетка элементов изображения имеет горизонтальное направление нанесения полос, при фазовом управлении 270 можно пытаться располагать горизонтальные линейные участки в символе посредством поиска чередующихся образцов черных и белых вертикальных промежутков. В общем, на этапе 272 осуществляется поиск конкретных типографских деталей, включая, но не ограничиваясь ими, ножки или горизонтальные участки. Это осуществляется во время выполнения программы, потому что промежутки и размеры символов имеются в таблице ТКЗ.

Например, ножки 209 символа 205 на фиг.5а получают посредством определения, что черные промежутки, представленные стрелками 211, чередуются с белыми промежутками от левой опорной точки 210 до точки А и от точки В до точки С. Также можно использовать серый промежуток, обозначенный стрелкой 213, вместо белого промежутка от точки В до точки С, чтобы сделать логический вывод о присутствии вертикальной ножки.

На этапе 273, ОАГ проходится, что ножки могут быть с помощью фазового регулирования подогнаны или помещены на границу высокого контраста подкомпонента элемента изображения. Первый узел ОАГ 300 на фиг.5b, который указывает ножку, представляет собой точку А. Ножка перемещается так, что левый край ножки попадает на границу высокого контраста, например, границу между зелеными и синими подкомпонентами элементов изображения. Таким образом, зеленый подкомпонент элемента изображения является внешним относительно графической формы буквы, а синий подкомпонент элемента изображения является внутренним по отношению к графической форме буквы. Подобным образом, другие ножки символа также хинтуют к границе высокого контраста.

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

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

Наверх