Система и способ автоматического измерения высоты строки, размера и других параметров международного шрифта

Иллюстрации

Показать все

Изобретение относится к средствам обработки текста. Техническим результатом является автоматическое определение характеристик удобочитаемости, таких как высота строки, размер шрифта и длина строки, таким образом, чтобы текст мог быть воспроизведен на любом дисплее, на любом языке и шрифтом любого размера без ручной настройки. В качестве системы автоматического размещения текста используют международную систему размещения текста с некоторым шрифтом. Текст формируется в кластерах, визуализируется шрифтом определенного размера, а размер шрифта задается в терминах кегельной шпации. Данная система содержит фильтр структуры и размещения, сконфигурированный для содержания параметров текста, а также средство считывания показателей, связанное со структурой данных и сконфигурированное для приема одного или более параметров текста. Система содержит средство формирования параметров текста, соединенное со средством считывания показателей. Средство формирования параметров текста включает в себя модуль, сконфигурированный для определения графической плотности шрифта. Графическая плотность включает в себя средний уровень серого для текста, визуализируемого данным шрифтом на идентифицированном языке. 5 н. и 26 з.п. ф-лы, 27 ил., 1 табл.

Реферат

ОБЛАСТЬ ТЕХНИКИ

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

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

“Они сказали: Давайте построим город и башню, с вершины которой можно достать до небес; и давайте сделаем наши имена известными прежде, чем мы будем рассеянны за границу по всем странам”. Довольно скоро работа пошла полным ходом; “и они использовали кирпич вместо камней, и шлам (битум) вместо строительного раствора”. Но Бог спутал их язык, так, чтобы они не понимали речь друг друга, и таким образом рассеял их из того места во все страны, и они прекратили строить город. Книга Бытия 11:1-9. Со времен падения Вавилонской Башни поиск способов связи между различными языками и связанными с ними системами письменности был и остается сложной проблемой.

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

Одним из этапов решения этой сложной проблемы многонациональной вычислительной промышленностью стало создание в 1988 году Консорциума Уникода, который разработал глобальный стандарт идентификации символов. Задача консорциума состояла в том, чтобы разработать стандарт, который позволяет уникально идентифицировать символы для каждого языка. Консорциум разработал Стандарт Уникода, в настоящее время версии 2.1, который доступен из Addison-Wesley Developers Press 1997 (доступен по адресу http: // www.unicode.org).

К сожалению, способность печатать и отображать символы одного из многих языков является только маленьким шагом навстречу решению этой сложной международной проблемы. Проблемой одинаковой, а временами большей важности является форматирование документа, характеристики шрифтов и общие требования к тексту, которые делают текст удобочитаемым. Однако гарнитуры и написания шрифтов существующих языков различны, эклектичны и не подчиняются одинаковым правилам. Например, типичный английский шрифт, Times New Roman, вытекает из типографской формулы, которая основана на уникальном латинским шрифте, в котором высота строки типично устанавливается равной 120% от размера шрифта в пунктах. Терминология основывается на прямом шрифте. Концепция прямого шрифта (Roman) включают в себя базовую линию, высоту прописных букв, высоту надстрочного элемента, высоту подстрочного элемента и высоту строки.

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

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

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

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

Фиг. 2 - структурная схема, иллюстрирующая примерный поток данных в пределах компьютерной системы в соответствии с одним из вариантов осуществления настоящего изобретения.

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

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

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

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

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

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

Фиг. 9A иллюстрирует график, являющийся результатом выполнения способа определения характеристик шрифта в соответствии с одним из вариантов осуществления настоящего изобретения.

Фиг. 9B иллюстрирует другой график, являющийся результатом выполнения способа определения характеристик шрифта в соответствии с одним из вариантов осуществления настоящего изобретения.

Фиг. 10 - последовательность операций, иллюстрирующая способ определения размера шрифта в соответствии с одним из вариантов осуществления настоящего изобретения.

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

Фиг. 12 - график, который иллюстрирует, как определяется область самого резкого фокусирования в соответствии с одним из вариантов осуществления настоящего изобретения.

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

Фиг. 14 - последовательность операций, иллюстрирующая способ автоматического определения минимального и максимального размера шрифта в соответствии с одним из вариантов осуществления настоящего изобретения.

Фиг. 15 - структурная схема, иллюстрирующая поток данных, который используется для определения размера шрифта в соответствии с одним из вариантов осуществления настоящего изобретения.

Фиг. 16 - структурная схема, иллюстрирующая поток данных, который используется для определения характеристик текста в соответствии с одним из вариантов осуществления настоящего изобретения.

Фиг. 17 показывает пример одного и того же шрифта для различных языков, где показано изменение их ширины в соответствии с одним из вариантов осуществления настоящего изобретения.

Фиг. 18 - последовательность операций, иллюстрирующая способ автоматического масштабирования размера шрифта в соответствии с одним из вариантов осуществления настоящего изобретения.

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

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

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

Фиг. 22 - структурная схема, иллюстрирующая поток данных в пределах средства считывания показателей в соответствии с одним из вариантов осуществления настоящего изобретения.

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

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

Фиг. 25 - последовательность операций, иллюстрирующая способ использования средства перевода в комбинации с вариантами осуществления в соответствии с одним из вариантов осуществления настоящего изобретения.

Фиг. 26 - последовательность операций, иллюстрирующая способ использования средства перевода, расположенного в средстве размещения в соответствии с одним из вариантов осуществления настоящего изобретения.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

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

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

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

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

Обращаясь к фиг. 1, примерная система для осуществления изобретения включает в себя универсальное вычислительное устройство в виде компьютера 110. Компьютер 110 может включить в себя следующие компоненты: процессор 120, системную память 130 и системную шину 121, которая соединяет различные системные компоненты, которые включают в себя системную память, с процессором 120, но его состав не ограничен ими. Системная шина 121 может быть любой из нескольких видов шинных структур, которая включает в себя шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из разнообразия шинной архитектуры. Например, но не в качестве ограничения, такая архитектура включает в себя шину архитектуры, соответствующей промышленному стандарту (ISA), шину микроканальной архитектуры (MCA), шину расширенной стандартной архитектуры для промышленного применения (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и шину соединения периферийных устройств (PCI), также известную, как шина расширения.

Компьютер 110 в типичном варианте включает в себя разнообразие считываемых компьютером носителей. Считываемые компьютером носители могут быть любыми доступными носителями, к которым может обратиться компьютер 110, и они включают в себя и энергозависимые, и энергонезависимые носители, сменные и несменные носители. Для примера, но не в качестве ограничения, считываемые компьютером носители могут содержать компьютерные носители данных и средства связи. Компьютерные носители данных включают в себя и энергозависимые, и энергонезависимые, сменные и несменные носители, осуществленные любым способом или технологией для хранения информации, такой как считываемые компьютером команды, структуры данных, модули программы или другие данные. Компьютерные носители данных включают в себя: оперативную память, постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ), флэш-память или память, изготовленную с применением другой технологии, компакт-диски (CD-ROM), цифровые многофункциональные диски (DVD) или другие оптические дисковые запоминающие устройства, магнитные кассеты, магнитную ленту, магнитные дисковые запоминающие устройства или другие магнитные запоминающие устройства, или любой другой носитель, который может использоваться для хранения необходимой информации и к которому может обратиться компьютер 110, но не ограничены ими. Среда связи типично воплощает считываемые компьютером команды, структуры данных, модули программы или другие данные в модулируемый сигнал данных, такой как несущая или другой механизм транспортировки, и включают в себя любые средства доставки информации. Термин “модулированный сигнал данных” означает сигнал, который имеет одну или более из своих характеристик, которые устанавливаются или изменяются таким образом, чтобы кодировать информацию в сигнале. Для примера, а не в качестве ограничения, среда связи включает в себя проводные каналы связи, такие как проводные сети или прямое проводное подключение, и беспроводные каналы связи, такие как акустический, радиочастотный (РЧ), инфракрасный и другие беспроводные каналы связи. Считываемые компьютером носители должны также включать в себя комбинации любого из вышеупомянутых носителей.

Системная память 130 включает в себя компьютерные носители данных в форме энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 131 и оперативная память (ОП) 132. Базовая система 133 ввода-вывода (BIOS), содержащая основные подпрограммы, которые помогают перемещать информацию между элементами в компьютере 110, например во время запуска, обычно хранится в ПЗУ 131. ОП 132 обычно содержит данные и/или модули программы, которые мгновенно доступны для обработки и/или в данный момент обрабатываются процессором 120. Для примера, а не в качестве ограничения, фиг. 1 показывает операционную систему 134, прикладные программы 135, другие модули 136 программы и данные 137 программы.

Компьютер 110 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных. Только для примера, фиг. 1 показывает накопитель 141 на жестком диске, который считывают информацию или который записывает информацию на несменный энергонезависимый магнитный носитель, накопитель на магнитном диске, который считывает информацию или записывает информацию на сменный энергонезависимый магнитный диск 152, и привод оптического диска, который считывает информацию или записывает информацию на сменный энергонезависимый оптический диск 156, такой как компакт-диск (CD ROM) или другой оптический носитель. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных, которые могут использоваться в типичной среде, включают в себя кассеты с магнитной лентой, платы флэш-памяти, цифровые многофункциональные диски, цифровую видеоленту, полупроводниковую оперативную память, полупроводниковое ПЗУ и т.п., но не ограничены ими. Накопитель 141 на жестком диске типично подключается к системной шине 121 через средство сопряжения с несъемным запоминающим устройством, такое как средство 140 сопряжения, и накопитель 151 на магнитном диске и привод 155 оптического диска типично подключается к системной шине 121 через средство сопряжения со съемным запоминающим устройством, такое как средство 150 сопряжения (интерфейс).

Устройства и связанные с ними компьютерные носители данных, описанные выше и показанные на фиг. 1, обеспечивают хранение считываемых компьютером команд, структур данных, модулей программы и других данных для компьютера 110. На фиг. 1, например, жесткий диск 141 показан в качестве устройства хранения операционной системы 144, прикладных программ 145, других модулей 146 программы и данных 147 программ. Следует обратить внимание, что эти компоненты могут быть теми же самыми или могут отличаться от операционной системы 134, прикладных программ 135, других модулей 136 программы и данных 137 программы. Операционной системе 144, прикладным программам 145, другим модулям 146 программы и данным 147 программы присвоены различные обозначения для того, чтобы показать, что они, как минимум, являются различными копиями. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода данных, такое как клавиатура 162 и устройство 161 позиционирования, обычно называемое “мышь”, шаровой манипулятор (“трекболл”) или сенсорная панель. Другие устройства ввода данных (не показаны) могут включать в себя микрофон, джойстик, игровую клавиатуру, спутниковую антенну, сканер или подобные им устройства. Эти и другие устройства ввода данных часто подключаются к процессору 120 через входное средство 160 сопряжения с пользователем (входной пользовательский интерфейс), которое подсоединено к системной шине, но может быть соединено с помощью другого интерфейса и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 191 или другой тип устройства отображения также связан с системной шиной 121 через интерфейс (средство сопряжения), такой как видеоинтерфейс 190. В дополнение к монитору, компьютеры могут также включать в себя другие периферийные устройства вывода, такие как громкоговорители 197 и принтер 196, которые могут быть связаны через средство 195 сопряжения с внешними устройствами вывода информации.

Компьютер 110 может работать в сетевой среде, используя логические подключения к одному или более удаленным компьютерам, таким как удаленный компьютер 180. Удаленный компьютер 180 может быть другим персональным компьютером, сервером, маршрутизатором, сетевым ПК, равноправным устройством сети или другим обычным сетевым узлом, и типично включает в себя многие или все элементы, описанные выше по отношению к персональному компьютеру 110, хотя только запоминающее устройство 181 показано на фиг. 1. Логические подключения, изображенные на фиг. 1, включают в себя локальную сеть (ЛС) 171 и глобальную сеть (ГС) 173, но могут также включать в себя другие сети. Такие сетевые среды являются обычными в офисах, компьютерных сетях в масштабах предприятия, корпоративных сетях (интранет) и Интернет.

При работе в среде с ЛС, персональный компьютер 110 связан с ЛС 171 через сетевой интерфейс (средство сопряжения с сетью) или адаптер 170. При работе в среде глобальной сети, компьютер 110 типично включает в себя модем 172 или другие средства установления связи с глобальной сетью 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может быть связан с системной шиной 121 через пользовательский входной интерфейс 160 или другой соответствующий механизм. В сетевой среде, модули программы, изображенные относительно персонального компьютера 110, или его частей, могут храниться в удаленном запоминающем устройстве. Для примера, а не в качестве ограничения, фиг. 1 показывает, что удаленные прикладные программы 185 находятся в запоминающем устройстве 181. Следует признать, что показанные сетевые подключения приведены в качестве примера и могут использоваться другие средства установления связи между компьютерами.

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

В соответствии с одним важным аспектом изобретения, ссылка сделана к фиг. 2, которая представляет структурную схему клиентского программного обеспечения, такого как клиент Windows®, подходящего для воплощения вариантов осуществления настоящего изобретения. Структурная схема показывает прикладную программу 200, которая может быть любой прикладной программой, выполняющейся на компьютере 110, показанном на фиг. 1. Соответствующие прикладные программы включают в себя, например, Microsoft Word, Microsoft Publisher, QuarkXPress, Adobe InDesign и т.п. Показанная прикладная программа 200 включает в себя ведомость 210 свойств. Ведомость 210 свойств взаимодействует со средством 202 размещения, которое может находиться в компьютере 110 или может быть доступно через подключение клиент-сервер. Средство 202 размещения может быть приложением-клиентом, выполняющимся на компьютере 110, или может быть доступно через сетевое подключение. Ведомость 210 свойств, расположенная в прикладной программе 200, обеспечивает значения свойств для средства 202 размещения, которые принимаются во входной фильтр 230 структуры и размещения. Кроме входного фильтра 230 структуры и размещения, средство 202 размещения также включает в себя средство 240 считывания показателей (метрик) и средство 250 формирования параметров текста. Структуры данных ведомости свойств включают в себя те элементы, которые требуются средству 202 размещения для обеспечения соответствующего размещения для визуализации шрифтов и текста для прикладной программы 200. Входной фильтр 230 структуры и размещения формирует элементы для ввода в средство 240 считывания показателей и обеспечивает передачу входных свойств к средству 240 считывания показателей. Средство 240 считывания показателей обрабатывает свойства и отправляет данные на средство 250 формирования параметров текста. Средство 250 формирования параметров текста принимает данные, которые включают в себя идентификаторы для гарнитуры шрифта и идентификаторы для языка, и выводит вычисленные данные, относящиеся к характеристикам текста, предназначенным для использования средством 240 считывания показателей.

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

Обращаясь теперь к фиг. 3, структурная схема, показанная на фиг. 2, расширена в форме структурной схемы для иллюстрации потока информации в структуре данных. Фиг. 3 показывает ведомость 210 свойств, которая включает в себя такие элементы, как размер 312 страницы, поля 314 страницы, семейство 316 шрифтов, размер 318 шрифта, высота 320 строки, количество 322 колонок, ширина 334 колонки и размеры 326 страницы. Также ведомость 210 свойств включает в себя те значения, которые не могут быть изменены. Это те значения, которые настраиваются с помощью модуля 329, и те значения, которые не передаются входному фильтру 230 структуры и размещения. Более конкретно, входной фильтр 230 структуры и размещения включает в себя модуль 330 элементов и средство обнаружения 352 текстового потока. Модуль 330 элемента формирует данные в структуру данных. Показанная типичная структура данных включает в себя семейство 332 шрифта, язык 334, изменение 336 размера шрифта, изменение 338 высоты строки, поля 340 страницы, диапазон 342 изменения размера полей страницы и предпочтительное значение 344 количества колонок. Данные формируются в модуле 330 элементов и передаются как входные свойства средству 346 считывания показателей. В свою очередь, средство 352 обнаружения текстового потока обеспечивает передачу размера 354 окна к средству 240 считывания показателей. Альтернативно, средство 352 обнаружения текстового потока может быть связанным в сеть компонентом, или системным компонентом в компьютере 110. В одном из вариантов осуществления средство 202 размещения взаимодействует с уровнем 360 взаимодействия со средой отображения. Уровень 360 взаимодействия со средой отображения обеспечивает передачу размера 362 среды отображения к средству 240 считывания показателей. Один пример размера 362 среды отображения включает в себя размер дисплея компьютера 110, показанного на фиг. 1.

Средство 240 считывания показателей воплощает варианты осуществления настоящего изобретения, как описано более подробно ниже. В одном из вариантов осуществления средство 240 считывания показателей взаимодействует с средством 250 формирования параметров текс