Nothing Special   »   [go: up one dir, main page]

RU2464631C2 - System and method for automatic measurement of line height, size and other parameters of international font - Google Patents

System and method for automatic measurement of line height, size and other parameters of international font Download PDF

Info

Publication number
RU2464631C2
RU2464631C2 RU2008101568/08A RU2008101568A RU2464631C2 RU 2464631 C2 RU2464631 C2 RU 2464631C2 RU 2008101568/08 A RU2008101568/08 A RU 2008101568/08A RU 2008101568 A RU2008101568 A RU 2008101568A RU 2464631 C2 RU2464631 C2 RU 2464631C2
Authority
RU
Russia
Prior art keywords
font
text
font size
line
size
Prior art date
Application number
RU2008101568/08A
Other languages
Russian (ru)
Other versions
RU2008101568A (en
Inventor
Натан В. ЭВЕРЕТТ (US)
Натан В. ЭВЕРЕТТ
Дэвид К. БРАУН (US)
Дэвид К. БРАУН
Марк Б. МАКДОНАЛЬД (US)
Марк Б. МАКДОНАЛЬД
Джеймс Д. БАЙЕРЗ (US)
Джеймс Д. БАЙЕРЗ
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/323,059 external-priority patent/US7385606B2/en
Priority claimed from US10/322,857 external-priority patent/US7271806B2/en
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2008101568A publication Critical patent/RU2008101568A/en
Application granted granted Critical
Publication of RU2464631C2 publication Critical patent/RU2464631C2/en

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: method of displaying text in display medium with change in font size is realised by determining character density of the font, dividing the font contrast value by character density to obtain the fraction of the font size. Further, that fraction is added to the font size to adjust line height and text with adjusted line height is displayed in said display medium.
EFFECT: automatic determination of readability characteristics, such as line height, font size and line length, so that text can be displayed on any display in any language and font of any size without manual setup.
7 cl, 27 dwg, 1 tbl

Description

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

Изобретение относится в целом к шрифтам, выравниванию текста и символов, более конкретно к системе и способу автоматического измерения параметров международного шрифта (для текстов на разных языках).The invention relates generally to fonts, alignment of text and characters, more specifically to a system and method for automatically measuring the parameters of an international font (for texts in different languages).

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

“Они сказали: Давайте построим город и башню, с вершины которой можно достать до небес; и давайте сделаем наши имена известными прежде, чем мы будем рассеянны за границу по всем странам”. Довольно скоро работа пошла полным ходом; “и они использовали кирпич вместо камней и шлам (битум) вместо строительного раствора”. Но Бог спутал их язык, так чтобы они не понимали речь друг друга, и таким образом рассеял их из того места во все страны, и они прекратили строить город. Книга Бытия 11:1-9. Со времен падения Вавилонской Башни поиск способов связи между различными языками и связанными с ними системами письменности был и остается сложной проблемой.“They said: Let us build a city and a tower, from the top of which you can reach heaven; and let us make our names known before we are scattered abroad in all countries. ” Pretty soon, work began in full swing; “And they used bricks instead of stones and sludge (bitumen) instead of mortar.” But God confused their language so that they did not understand each other's speech, and thus scattered them from that place to all countries, and they stopped building the city. Genesis 11: 1-9. Since the fall of the Tower of Babel, finding ways to communicate between different languages and their associated writing systems has been and remains a difficult problem.

С началом всемирной глобализации задача решения этой сложной проблемы стала главной. Однако между нациями существуют сложные культурные различия, которые предотвращают создание полностью интегрированного глобального общества. В компьютерной промышленности эти различия вызывают проблемы с международной кооперацией из-за ограничений отображения данных и обмена данными на различных языках.With the beginning of globalization, the task of solving this complex problem has become central. However, there are complex cultural differences between nations that prevent the creation of a fully integrated global society. In the computer industry, these differences cause problems with international cooperation due to limitations in displaying data and exchanging data in different languages.

Одним из этапов решения этой сложной проблемы многонациональной вычислительной промышленностью стало создание в 1988 году Консорциума Уникода, который разработал глобальный стандарт идентификации символов. Задача консорциума состояла в том, чтобы разработать стандарт, который позволяет уникально идентифицировать символы для каждого языка. Консорциум разработал Стандарт Уникода, в настоящее время версии 2.1, который доступен из Addison-Wesley Developers Press 1997 (доступен по адресу http://www.unicode.org).One of the steps to solve this complex problem by the multinational computing industry was the creation in 1988 of the Unicode Consortium, which developed a global standard for identifying characters. The task of the consortium was to develop a standard that allows uniquely identifying characters for each language. The consortium has developed the Unicode Standard, currently version 2.1, which is available from Addison-Wesley Developers Press 1997 (available at http://www.unicode.org).

К сожалению, способность печатать и отображать символы одного из многих языков является только маленьким шагом навстречу решению этой сложной международной проблемы. Проблемой одинаковой, а временами большей важности является форматирование документа, характеристики шрифтов и общие требования к тексту, которые делают текст удобочитаемым. Однако гарнитуры и написания шрифтов существующих языков различны, эклектичны и не подчиняются одинаковым правилам. Например, типичный английский шрифт, Times New Roman, вытекает из типографской формулы, которая основана на уникальном латинским шрифте, в котором высота строки типично устанавливается равной 120% от размера шрифта в пунктах. Терминология основывается на прямом шрифте. Концепция прямого шрифта (Roman) включает в себя базовую линию, высоту прописных букв, высоту надстрочного элемента, высоту подстрочного элемента и высоту строки.Unfortunately, the ability to print and display characters from one of many languages is only a small step towards solving this complex international problem. The problem is the same, and sometimes more important, is the formatting of the document, the characteristics of the fonts and the general requirements for the text, which make the text readable. However, headsets and fonts of existing languages are different, eclectic and do not obey the same rules. For example, a typical English font, Times New Roman, derives from a typographic formula that is based on a unique Latin font in which the line height is typically set to 120% of the font size in points. The terminology is based on the direct font. The concept of direct font (Roman) includes the baseline, the height of the uppercase letters, the height of the superscript element, the height of the subscript element and the height of the line.

Письменные языки не соблюдают те же самые правила для таких характеристик шрифта, как стандартная длина строки или гарнитура шрифта. Скорее, каждый язык и рукописный шрифт возникли на различных культурных базисах. Например, некоторые азиатские рукописные шрифты используют специальные знаки (глифы), которые развились из рисунков, а другие азиатские рукописные шрифты читаются справа налево и возникли из символов. Даже в пределах одного и того же языка рукописные и печатные шрифты не придерживаются предопределенной характерной формулы. Отыскание формулы для определения стандартных характеристик шрифта кажется невозможной задачей. Вместо того чтобы искать формулу, соответствующую всем языкам, художники-оформители (дизайнеры) полагаются на визуальное изменение длины строки, шрифта и высоты строки, изменяя каждый шрифт таким образом, чтобы исполнение было приятным глазу и отвечало требованиям удобочитаемости, известным художнику-оформителю.Written languages do not follow the same rules for font characteristics as standard string length or typeface. Rather, each language and handwritten font originated on different cultural bases. For example, some Asian handwritten fonts use special characters (glyphs) that evolved from drawings, while other Asian handwritten fonts are read from right to left and emerged from characters. Even within the same language, handwritten and printed fonts do not adhere to a predetermined characteristic formula. Finding a formula to determine the standard characteristics of a font seems an impossible task. Instead of looking for a formula that matches all languages, graphic designers rely on visual changes in line length, font and line height, changing each font so that the design is pleasing to the eye and meets the legibility requirements known to the design artist.

В настоящее время не существует решения для определения характеристик шрифта, которые могут применяться ко всем известным шрифтам. Каждый шрифт возник из своей культуры, и они имеют различные базисы и полностью различающиеся концепции. Даже если формула работает для конкретного шрифта и конкретного языка, в пределах каждого шрифта между многими характеристиками шрифта не существует линейного соотношения. Например, любые изменения в размере шрифта или длине строки в одном и том же шрифте требуют изменений в высоте строки, которую принимают во внимание для удобочитаемости. Художники-оформители обычно визуально изменяют длину строки, гарнитуру шрифта и высоту строки. Более длинные строки шрифта требуют большей высоты строки для удобочитаемости. Также, если размер шрифта связан с высотой строки, больший шрифт требует не той же самой высоты строки, как меньший шрифт.There is currently no solution for characterizing a font that can be applied to all known fonts. Each font arose from its culture, and they have different bases and completely different concepts. Even if the formula works for a particular font and a specific language, there is no linear relationship between many font characteristics within each font. For example, any changes in font size or line length in the same font require changes in line height, which are taken into account for readability. Designers usually visually change the length of the string, the typeface, and the height of the string. Longer font lines require a larger line height for readability. Also, if the font size is related to the line height, a larger font does not require the same line height as a smaller font.

Поскольку не существует линейных или других очевидных соотношений между высотой строки, длиной строки и изменением размера шрифта, многие компьютерные прикладные программы требуют ручных изменений. Дополнительно усложняет размещение текста (верстку) то, что художники-оформители не знают, на каком устройстве будет воспроизводиться шрифт из-за изобилия вычислительных машин для воспроизведения. Напечатанная страница, предназначенная для использования в качестве web-страницы, например, может быть воспроизведена на экране любого размера, оставляя неизвестными оптимальные для чтения значения размера длины строки, высоты строки и размера шрифта. Необходим способ для автоматического определения таких характеристик, которые в настоящее время требуют присутствия художника-оформителя. Необходимы автоматический способ и система, которая может вычислять параметры удобочитаемости, такие как высота строки, размер шрифта и длина строки таким образом, чтобы текст мог быть воспроизведен на любом дисплее, на любом языке и шрифтом любого размера без ручной настройки.Since there are no linear or other obvious relationships between line height, line length, and font size, many computer applications require manual changes. Further complicates the placement of text (layout) is the fact that graphic designers do not know on which device the font will be played due to the abundance of computers for reproduction. A printed page intended for use as a web page, for example, can be played on a screen of any size, leaving unknown the optimal reading values for line length, line height, and font size. What is needed is a method for automatically detecting such characteristics that currently require the presence of an artist-designer. What is needed is an automatic method and a system that can calculate readability parameters, such as line height, font size and line length so that text can be played on any display, in any language and font of any size without manual adjustment.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

Соответственно, система и способ автоматически определяют соответствующие характеристики шрифта для различных средств отображения и различных параметров удобочитаемости на любом языке. Один из вариантов осуществления предназначен для способа определения характеристик шрифта с помощью приема данных, которые включают в себя идентификатор шрифта и идентификатор языка, создания характерной строки текста на идентифицированном языке и идентифицированным шрифтом, измерения характеристик характерной строки текста и нормирования результатов измерения по множеству шрифтов и множеству языков. Более конкретно, измерение характеристик характерной строки текста может включать в себя измерение отношения количества черных пикселей к общему количеству пикселей в множестве рядов пикселей в характерной строке текста, идентификацию ряда с самым высоким отношением количества черных пикселей к общему количеству пикселей и использование идентифицированного ряда для определения характеристик шрифта в характерной строке текста по сравнению со множеством шрифтов и языков.Accordingly, the system and method automatically determines the appropriate font characteristics for various display means and various readability parameters in any language. One of the embodiments is intended for a method for determining font characteristics by receiving data that includes a font identifier and a language identifier, creating a characteristic text string in an identified language and an identified font, measuring characteristics of a characteristic text string and normalizing measurement results for a plurality of fonts and a plurality languages. More specifically, measuring the characteristics of a characteristic line of text may include measuring the ratio of the number of black pixels to the total number of pixels in a plurality of rows of pixels in a characteristic line of text, identifying the row with the highest ratio of the number of black pixels to the total number of pixels, and using the identified series to determine characteristics font in a characteristic line of text compared to many fonts and languages.

В одном из вариантов осуществления измерение характеристик характерной строки шрифта дополнительно включают в себя идентификацию высоты шрифта и, в пределах высоты шрифта, идентификацию первой части, которая включает в себя ряд с самым высоким отношением количества черных кластеров к общему количеству кластеров, причем первая часть включает в себя первый ряд пикселей и последний ряд пикселей, которые темнее, чем среднее значение ряда пикселей, идентификацию второй части, расположенной выше первой части, и идентификацию третьей части, расположенной ниже первой части. В обсуждении, которое следует далее, эти части упоминаются как размеры, связанные с термином “черная река”, который является термином, используемым для идентификации напечатанных измеренных характеристик для определения среднего уровня серого по направлению перпендикуляра к направлению чтения. Средний уровень серого допускает сравнение множества шрифтов и языков.In one embodiment, measuring characteristics of a characteristic font string further includes identifying the font height and, within the font height, identifying the first part, which includes the row with the highest ratio of the number of black clusters to the total number of clusters, the first part including the first row of pixels and the last row of pixels, which are darker than the average value of the row of pixels, the identification of the second part located above the first part, and the identification of the third part, p subjacent below the first part. In the discussion that follows, these parts are referred to as dimensions associated with the term “black river,” which is a term used to identify printed measured characteristics to determine the average gray level in the direction perpendicular to the direction of reading. Medium gray allows comparison of many fonts and languages.

В одном из вариантов осуществления для приема данных, которые включают в себя идентификатор шрифта и идентификатор языка, используется средство международного перевода, и принимаемые данные могут включать в себя текст на каком-нибудь языке. Идентификатор языка может включать в себя один или более языков, на который средство международного перевода переводит текст.In one embodiment, an international translation tool is used to receive data that includes a font identifier and a language identifier, and the received data may include text in any language. The language identifier may include one or more languages into which the international translation tool translates the text.

Другой вариант осуществления предназначен для способа размещения текста с использованием международного шрифта, в котором размещение текста относится к строке текста, которая воспроизводится шрифтом, размеры которого определяются в терминах кегельной (круглой) шпации, данный способ использует измеренные характеристики нормированной характерной строки международного текста, набранного предопределенным шрифтом, для определения оптимальных размера шрифта, высоты строки, количества колонок и длины строки. Характеристики нормированной характерной строки “международного” текста обеспечивают количество кластеров в одной фиксации взгляда и количество кластеров, приходящихся на кегельную шпацию.Another embodiment is intended for a method for placing text using an international font, in which text placement refers to a line of text that is reproduced in a font whose size is determined in terms of skittle (round) spacing, this method uses the measured characteristics of a normalized characteristic line of an international text typed by a predetermined font, to determine the optimal font size, line height, number of columns and line length. The characteristics of the normalized characteristic line of the “international” text provide the number of clusters in one fixation of the gaze and the number of clusters per bowling.

Вариант осуществления, предназначенный для системы размещения международного текста, напечатанного одним из шрифтов, включает в себя входной фильтр структуры и размещения, сконфигурированный для считывания одного или более параметров текста, средство считывания показателей (метрик), присоединенное к структуре данных, причем средство считывания показателей сконфигурировано для приема одного или более параметров текста, и средство формирования параметров текста, присоединенное к средству считывания показателей. Средство формирования параметров текста включает в себя модуль, сконфигурированный для определения графической плотности шрифта, которая является средним уровнем серого в воспроизводимом тексте для данного шрифта на идентифицированном языке. Особенности (характеристики) шрифта, определяемые средством формирования параметров текста, включают в себя значения, представляющие количество кластеров, приходящихся на кегельную шпацию, насыщенность шрифта, ширину шрифта, ширину самой темной горизонтальной части шрифта и насыщенность самой темной горизонтальной части шрифта. Другая система согласно одному из вариантов осуществления включает в себя средство международного перевода, сконфигурированное в средстве размещения и соединенное к приложению прикладной программой. Средство международного перевода принимает данные от приложения и обеспечивает передачу приложению переведенного текста с соответствующими характеристиками размещения переведенного текста. В одном из вариантов осуществления средство международного перевода сконфигурировано для принятия одного или более идентификаторов языка и текста от приложения и обеспечения передачи переведенного текста и определения параметров, необходимых для входного фильтра структуры и размещения для создания одной или более структур данных, действующих со средством считывания показателей и средством формирования параметров текста. Средство международного перевода может быть внешним средством международного перевода, вызываемым из приложения. Приложение может быть сервером или клиентской машиной и отображать переведенный текст согласно идентификаторам языка с параметрами удобочитаемости, соответствующими любому дисплею, который вызывает приложение. Приложение может также быть прикладной программой Интернет, доступной для множества компьютеров, причем приложение принимает запросы на обеспечение передачи переведенного текста и передает переведенный текст, соответственно отформатированный для каждого дисплея каждого из множества компьютеров и на языке, который требует каждое множество компьютеров.An embodiment intended for an international text placement system printed in one of the fonts includes an input structure and placement filter configured to read one or more text parameters, a metric reader attached to the data structure, and the metric reader for receiving one or more text parameters, and a text parameter generating means attached to the indicator reading means. The means for generating text parameters includes a module configured to determine the font graphic density, which is the average gray level in reproduced text for a given font in an identified language. Features (characteristics) of the font, determined by the means of forming text parameters, include values representing the number of clusters per skittle, font saturation, font width, width of the darkest horizontal part of the font, and saturation of the darkest horizontal part of the font. Another system according to one embodiment includes an international translation tool configured in a hosting tool and connected to the application by an application program. The international translation tool receives data from the application and ensures that the translated text is transmitted to the application with the appropriate placement characteristics of the translated text. In one embodiment, the international translation tool is configured to receive one or more language and text identifiers from the application and to provide the translation of the translated text and to determine the parameters necessary for the input filter of the structure and placement to create one or more data structures that act with the means of reading indicators and means of forming text parameters. The international translation tool may be an external international translation tool invoked from the application. An application can be a server or a client machine and display translated text according to language identifiers with readability parameters corresponding to any display that the application calls. The application may also be an Internet application available for multiple computers, the application receiving requests for transmitting translated text and transmitting the translated text, respectively formatted for each display of each of the plurality of computers, and in a language that requires each of the plurality of computers.

Дополнительные признаки и преимущества данного изобретения будут очевидны из следующего подробного описания показанных вариантов осуществления, которое выполнено со ссылкой к сопроводительным чертежам.Additional features and advantages of the present invention will be apparent from the following detailed description of the shown embodiments, which is made with reference to the accompanying drawings.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

Хотя прилагаемая формула изобретения конкретно формулирует особенности настоящего изобретения, данное изобретение, вместе с его задачами и преимуществами, может быть лучше всего понято из последующего подробного описания, рассматриваемого вместе с сопроводительными чертежами, на которых:Although the appended claims specifically state the features of the present invention, the invention, together with its objectives and advantages, can be best understood from the following detailed description, taken in conjunction with the accompanying drawings, in which:

фиг. 1 - структурная схема, в общем виде иллюстрирующая примерную компьютерную систему, в которой осуществлено настоящее изобретение.FIG. 1 is a block diagram generally illustrating an exemplary computer system in which the present invention is implemented.

Фиг. 2 - структурная схема, иллюстрирующая примерный поток данных в пределах компьютерной системы в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 2 is a block diagram illustrating an example data stream within a computer system in accordance with one embodiment of the present invention.

Фиг. 3 - более подробная структурная схема, иллюстрирующая поток данных, показанный на фиг. 2, в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 3 is a more detailed block diagram illustrating the data flow shown in FIG. 2, in accordance with one embodiment of the present invention.

Фиг. 4 - последовательность операций, иллюстрирующая способ определения характеристик международного текста в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 4 is a flowchart illustrating a method for characterizing an international text in accordance with one embodiment of the present invention.

Фиг. 5 - последовательность операций, иллюстрирующая более подробно способ определения характеристик международного текста в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 5 is a flowchart illustrating in more detail a method for characterizing an international text in accordance with one embodiment of the present invention.

Фиг. 6 - последовательность операций, иллюстрирующая более подробно способ определения характеристик международного текста в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 6 is a flowchart illustrating in more detail a method for characterizing an international text in accordance with one embodiment of the present invention.

Фиг. 7 показывает два изображения, представляющие графики и текст, являющиеся результатом применения способов в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 7 shows two images representing graphs and text resulting from the application of methods in accordance with one embodiment of the present invention.

Фиг. 8 - последовательность операций, иллюстрирующая способ автоматического определения высоты строки и размера шрифта в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 8 is a flowchart illustrating a method for automatically determining line height and font size in accordance with one embodiment of the present invention.

Фиг. 9A иллюстрирует график, являющийся результатом выполнения способа определения характеристик шрифта в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 9A illustrates a graph resulting from a method for characterizing a font in accordance with one embodiment of the present invention.

Фиг. 9B иллюстрирует другой график, являющийся результатом выполнения способа определения характеристик шрифта в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 9B illustrates another graph resulting from a method for characterizing a font in accordance with one embodiment of the present invention.

Фиг. 10 - последовательность операций, иллюстрирующая способ определения размера шрифта в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 10 is a flowchart illustrating a method for determining font size in accordance with one embodiment of the present invention.

Фиг. 11 - график, иллюстрирующий кривую, соответствующую определению характеристик текста в зависимости от расстояния обозрения в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 11 is a graph illustrating a curve corresponding to characterization of text as a function of viewing distance in accordance with one embodiment of the present invention.

Фиг. 12 - график, который иллюстрирует, как определяется область самого резкого фокусирования в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 12 is a graph that illustrates how the area of sharpest focusing is determined in accordance with one embodiment of the present invention.

Фиг. 13 - график, который иллюстрирует, как применяются тригонометрические функции для определения области самого резкого фокусирования в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 13 is a graph that illustrates how trigonometric functions are used to determine the area of sharpest focus in accordance with one embodiment of the present invention.

Фиг. 14 - последовательность операций, иллюстрирующая способ автоматического определения минимального и максимального размера шрифта в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 14 is a flowchart illustrating a method for automatically determining a minimum and maximum font size in accordance with one embodiment of the present invention.

Фиг. 15 - структурная схема, иллюстрирующая поток данных, который используется для определения размера шрифта в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 15 is a block diagram illustrating a data stream that is used to determine font size in accordance with one embodiment of the present invention.

Фиг. 16 - структурная схема, иллюстрирующая поток данных, который используется для определения характеристик текста в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 16 is a block diagram illustrating a data stream that is used to characterize text in accordance with one embodiment of the present invention.

Фиг. 17 показывает пример одного и того же шрифта для различных языков, где показано изменение их ширины в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 17 shows an example of the same font for different languages, showing a change in their width in accordance with one embodiment of the present invention.

Фиг. 18 - последовательность операций, иллюстрирующая способ автоматического масштабирования размера шрифта в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 18 is a flowchart illustrating a method for automatically scaling a font size in accordance with one embodiment of the present invention.

Фиг. 19 - последовательность операций, иллюстрирующая способ настройки высоты строки, основанный на функции от количества кластеров в строке, в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 19 is a flowchart illustrating a method for adjusting row height based on a function of the number of clusters per row, in accordance with one embodiment of the present invention.

Фиг. 20 - график, иллюстрирующий найденные опытным путем возможные значения высоты строки для заданного размера символа в пунктах в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 20 is a graph illustrating empirically found possible line heights for a given character size in points in accordance with one embodiment of the present invention.

Фиг. 21 - последовательность операций, иллюстрирующая способ определения величины изменения заданной по умолчанию высоты строки в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 21 is a flowchart illustrating a method for determining a change amount of a default row height in accordance with one embodiment of the present invention.

Фиг. 22 - структурная схема, иллюстрирующая поток данных в пределах средства считывания показателей в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 22 is a block diagram illustrating a data stream within a metric reader in accordance with one embodiment of the present invention.

Фиг. 23 - график, иллюстрирующий определение длины строки в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 23 is a graph illustrating determination of line length in accordance with one embodiment of the present invention.

Фиг. 24 - структурная схема, иллюстрирующая поток данных при использовании средства международного перевода, расположенного в компьютерной системе, в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 24 is a block diagram illustrating a data stream using an international translation facility located in a computer system in accordance with one embodiment of the present invention.

Фиг. 25 - последовательность операций, иллюстрирующая способ использования средства перевода в комбинации с вариантами осуществления в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 25 is a flowchart illustrating a method of using a translation tool in combination with embodiments in accordance with one embodiment of the present invention.

Фиг. 26 - последовательность операций, иллюстрирующая способ использования средства перевода, расположенного в средстве размещения, в соответствии с одним из вариантов осуществления настоящего изобретения.FIG. 26 is a flowchart illustrating a method of using a translation tool located in a host means in accordance with one embodiment of the present invention.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION

Обращаясь к чертежам, на которых подобные ссылочные обозначения относятся к подобным элементам, изобретение иллюстрировано как воплощаемое в соответствующей вычислительной среде. Хотя это и не требуется, данное изобретение описано в общем контексте выполняемых компьютером команд, таких как модули программы, выполняемые персональным компьютером. В общем случае, модули программы включают в себя подпрограммы, программы, задачи, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или воплощают определенные абстрактные типы данных. Кроме того, специалисты должны признать, что изобретение может использоваться при других конфигурациях компьютерной системы, которые включают в себя карманные компьютеры, многопроцессорные системы, программируемую или основанную на микропроцессорах бытовую электронику, сетевые ПК, миникомпьютеры, универсальные компьютеры и т.п. Изобретение может также использоваться в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки, которые связаны через сеть связи. В распределенной вычислительной среде модули программы могут располагаться и в местных, и в удаленных запоминающих устройствах.Turning to the drawings, in which like reference signs refer to like elements, the invention is illustrated as being embodied in an appropriate computing environment. Although not required, the invention is described in the general context of computer-executable instructions, such as program modules, being executed by a personal computer. In general, program modules include routines, programs, tasks, components, data structures, etc. that perform particular tasks or implement particular abstract data types. In addition, specialists should recognize that the invention can be used with other computer system configurations, which include handheld computers, multiprocessor systems, programmable or microprocessor-based consumer electronics, network PCs, minicomputers, universal computers, etc. The invention can also be used in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.

Фиг. 1 иллюстрирует пример соответствующей среды 100 вычислительной системы, в которой изобретение может быть осуществлено. Среда 100 вычислительной системы является только одним примером соответствующей вычислительной среды и не налагает никакого ограничения на формы использования или функционирование изобретения. Точно так же вычислительная среда 100 не должна интерпретироваться как имеющая какую-либо зависимость или требования, относящиеся к одному или комбинации компонентов, иллюстрированных в типичной среде 100 обработки.FIG. 1 illustrates an example of a suitable computing system environment 100 in which the invention may be practiced. The computing system environment 100 is only one example of an appropriate computing environment and does not impose any limitation on the forms of use or operation of the invention. Similarly, computing environment 100 should not be interpreted as having any dependency or requirements relating to one or a combination of components illustrated in typical processing environment 100.

Изобретение работает с множеством других универсальных или специальных вычислительных системных сред или конфигураций. Примеры известных вычислительных систем, сред и/или конфигураций, которые могут использоваться с данным изобретением, включают в себя персональные компьютеры, серверы, карманные или портативные компьютеры, многопроцессорные системы, системы на основе микропроцессора, телеприставки, программируемые бытовые электронные устройства, сетевые ПК, миникомпьютеры, универсальные (большие) ЭВМ, распределенные вычислительные среды, которые включают в себя любую из вышеупомянутых систем или устройств, и т.п., но не ограничиваются ими.The invention works with a variety of other universal or special computing system environments or configurations. Examples of known computing systems, environments and / or configurations that can be used with this invention include personal computers, servers, handheld or laptop computers, multiprocessor systems, microprocessor based systems, set top boxes, programmable consumer electronic devices, network PCs, minicomputers , universal (large) computers, distributed computing environments that include, but are not limited to, any of the above systems or devices, etc.

Изобретение может быть описано в общем контексте выполняемых компьютером команд, таких как модули программы, выполняемые компьютером. В общем случае, модули программы включают в себя подпрограммы, программы, задачи, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или воплощают определенные абстрактные типы данных. Изобретение может также применяться в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки, которые связаны через сеть связи. В распределенной вычислительной среде модули программы могут располагаться и в местных, и в удаленных компьютерных носителях данных, которые включают в себя запоминающие устройства.The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. In general, program modules include routines, programs, tasks, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention can also be applied in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote computer storage media, which include storage devices.

Обращаясь к фиг. 1, примерная система для осуществления изобретения включает в себя универсальное вычислительное устройство в виде компьютера 110. Компьютер 110 может включать в себя следующие компоненты: процессор 120, системную память 130 и системную шину 121, которая соединяет различные системные компоненты, которые включают в себя системную память, с процессором 120, но его состав не ограничен ими. Системная шина 121 может быть любой из нескольких видов шинных структур, которая включает в себя шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из разнообразия шинной архитектуры. Например, но не в качестве ограничения, такая архитектура включает в себя шину архитектуры, соответствующей промышленному стандарту (ISA), шину микроканальной архитектуры (MCA), шину расширенной стандартной архитектуры для промышленного применения (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и шину соединения периферийных устройств (PCI), также известную как шина расширения.Turning to FIG. 1, an exemplary system for implementing the invention includes a universal computing device in the form of a computer 110. Computer 110 may include the following components: a processor 120, a system memory 130, and a system bus 121 that connects various system components that include system memory , with a processor 120, but its composition is not limited to them. The system bus 121 may be any of several types of bus structures, which includes a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. For example, but not by way of limitation, such an architecture includes an industry standard (ISA) architecture bus, microchannel architecture bus (MCA), an extended standard architecture bus for industrial applications (EISA), a local bus of the Video Electronics Standards Association ( VESA) and a peripheral connection bus (PCI), also known as an expansion bus.

Компьютер 110 в типичном варианте включает в себя разнообразие считываемых компьютером носителей. Считываемые компьютером носители могут быть любыми доступными носителями, к которым может обратиться компьютер 110, и они включают в себя и энергозависимые, и энергонезависимые носители, сменные и несменные носители. Для примера, но не в качестве ограничения, считываемые компьютером носители могут содержать компьютерные носители данных и средства связи. Компьютерные носители данных включают в себя и энергозависимые и энергонезависимые, сменные и несменные носители, осуществленные любым способом или технологией для хранения информации, такой как считываемые компьютером команды, структуры данных, модули программы или другие данные. Компьютерные носители данных включают в себя: оперативную память, постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ), флэш-память или память, изготовленную с применением другой технологии, компакт-диски (CD-ROM), цифровые многофункциональные диски (DVD) или другие оптические дисковые запоминающие устройства, магнитные кассеты, магнитную ленту, магнитные дисковые запоминающие устройства или другие магнитные запоминающие устройства или любой другой носитель, который может использоваться для хранения необходимой информации и к которому может обратиться компьютер 110, но не ограничены ими. Среда связи типично воплощает считываемые компьютером команды, структуры данных, модули программы или другие данные в модулируемый сигнал данных, такой как несущая или другой механизм транспортировки, и включает в себя любые средства доставки информации. Термин “модулированный сигнал данных” означает сигнал, который имеет одну или более из своих характеристик, которые устанавливаются или изменяются таким образом, чтобы кодировать информацию в сигнале. Для примера, а не в качестве ограничения, среда связи включает в себя проводные каналы связи, такие как проводные сети или прямое проводное подключение, и беспроводные каналы связи, такие как акустический, радиочастотный (РЧ), инфракрасный и другие беспроводные каналы связи. Считываемые компьютером носители должны также включать в себя комбинации любого из вышеупомянутых носителей.Computer 110 typically includes a variety of computer readable media. Computer-readable media can be any available media that can be accessed by computer 110, and they include both volatile and non-volatile media, removable and non-removable media. By way of example, but not limitation, computer-readable media may include computer storage media and communication media. Computer storage media includes both volatile and non-volatile, removable and non-removable media implemented by any method or technology for storing information, such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes: random access memory, read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or memory made using another technology, compact discs (CD-ROM), digital multifunction discs (DVDs) or other optical disk storage devices, magnetic tapes, magnetic tape, magnetic disk storage devices or other magnetic storage devices or any other medium that It can be combined to store the desired information and which can accessed by computer 110, but are not limited to. The communication medium typically embodies computer-readable instructions, data structures, program modules or other data into a modulated data signal, such as a carrier or other transport mechanism, and includes any means of information delivery. The term “modulated data signal” means a signal that has one or more of its characteristics that are set or changed in such a way as to encode information in the signal. By way of example, and not by way of limitation, a communication medium includes wired communication channels, such as wired networks or a direct wired connection, and wireless communication channels, such as acoustic, radio frequency (RF), infrared, and other wireless communication channels. Computer-readable media should also include combinations of any of the above media.

Системная память 130 включает в себя компьютерные носители данных в форме энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 131 и оперативная память (ОП) 132. Базовая система 133 ввода-вывода (BIOS), содержащая основные подпрограммы, которые помогают перемещать информацию между элементами в компьютере 110, например, во время запуска, обычно хранится в ПЗУ 131. ОП 132 обычно содержит данные и/или модули программы, которые мгновенно доступны для обработки и/или в данный момент обрабатываются процессором 120. Для примера, а не в качестве ограничения, фиг. 1 показывает операционную систему 134, прикладные программы 135, другие модули 136 программы и данные 137 программы.System memory 130 includes computer storage media in the form of volatile and / or non-volatile memory, such as read-only memory (ROM) 131 and random access memory (RAM) 132. A base input / output system (BIOS) 133 comprising basic routines that help move information between elements in computer 110, for example, during startup, it is usually stored in ROM 131. OP 132 typically contains data and / or program modules that are instantly available for processing and / or are currently being processed by processor 120. By way of example, and not by way of limitation, FIG. 1 shows an operating system 134, application programs 135, other program modules 136, and program data 137.

Компьютер 110 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных. Только для примера, фиг. 1 показывает накопитель 141 на жестком диске, который считывают информацию или который записывает информацию на несменный энергонезависимый магнитный носитель, накопитель на магнитном диске, который считывает информацию или записывает информацию на сменный энергонезависимый магнитный диск 152, и привод оптического диска, который считывает информацию или записывает информацию на сменный энергонезависимый оптический диск 156, такой как компакт-диск (CD ROM) или другой оптический носитель. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных, которые могут использоваться в типичной среде, включают в себя: кассеты с магнитной лентой, платы флэш-памяти, цифровые многофункциональные диски, цифровую видеоленту, полупроводниковую оперативную память, полупроводниковое ПЗУ и т.п., но не ограничены ими. Накопитель 141 на жестком диске типично подключается к системной шине 121 через средство сопряжения с несъемным запоминающим устройством, такое как средство 140 сопряжения, и накопитель 151 на магнитном диске и привод 155 оптического диска типично подключаются к системной шине 121 через средство сопряжения со съемным запоминающим устройством, такое как средство 150 сопряжения (интерфейс).Computer 110 may also include other removable / non-removable, volatile / non-volatile computer storage media. By way of example only, FIG. 1 shows a hard disk drive 141 that reads information or that writes information to a non-removable non-volatile magnetic medium, a magnetic disk drive that reads information or writes information to a removable non-volatile magnetic disk 152, and an optical disk drive that reads information or writes information onto a removable non-volatile optical disc 156, such as a compact disc (CD-ROM) or other optical media. Other removable / non-removable, volatile / non-volatile computer storage media that can be used in a typical environment include: magnetic tape cassettes, flash memory cards, digital multifunction disks, digital video tape, semiconductor random access memory, semiconductor ROM, etc. ., but not limited to them. The hard disk drive 141 is typically connected to the system bus 121 via a means for interfacing with a non-removable storage device, such as a pairing means 140, and the magnetic disk drive 151 and an optical disk drive 155 are typically connected to the system bus 121 via a means for interfacing with a removable storage device, such as interface means 150 (interface).

Устройства и связанные с ними компьютерные носители данных, описанные выше и показанные на фиг. 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 сопряжения с внешними устройствами вывода информации.The devices and associated computer storage media described above and shown in FIG. 1 provide storage of computer readable instructions, data structures, program modules, and other data for computer 110. FIG. 1, for example, a hard disk 141 is shown as a storage device for an operating system 144, application programs 145, other program modules 146, and program data 147. It should be noted that these components may be the same or may differ from operating system 134, application programs 135, other program modules 136 and program data 137. The operating system 144, application programs 145, other program modules 146, and program data 147 are assigned various designations to indicate that they are at least different copies. The user can enter commands and information into the computer 110 through data input devices, such as a keyboard 162 and a positioning device 161, commonly referred to as a “mouse”, trackball (trackball), or touch pad. Other data input devices (not shown) may include a microphone, joystick, gaming keyboard, satellite dish, scanner, or the like. These and other data input devices are often connected to the processor 120 via input user interface means 160 (input user interface), which is connected to the system bus, but can be connected using another interface and bus structures, such as a parallel port, a game port, or universal serial bus (USB). A monitor 191 or other type of display device is also connected to the system bus 121 via an interface (interface), such as a video interface 190. In addition to the monitor, computers can also include other peripheral output devices, such as speakers 197 and a printer 196, which can be connected through a means of 195 interface with external output devices.

Компьютер 110 может работать в сетевой среде, используя логические подключения к одному или более удаленным компьютерам, таким как удаленный компьютер 180. Удаленный компьютер 180 может быть другим персональным компьютером, сервером, маршрутизатором, сетевым ПК, равноправным устройством сети или другим обычным сетевым узлом и типично включает в себя многие или все элементы, описанные выше по отношению к персональному компьютеру 110, хотя только запоминающее устройство 181 показано на фиг. 1. Логические подключения, изображенные на фиг. 1, включают в себя локальную сеть (ЛС) 171 и глобальную сеть (ГС) 173, но могут также включать в себя другие сети. Такие сетевые среды являются обычными в офисах, компьютерных сетях в масштабах предприятия, корпоративных сетях (интранет) и Интернет.Computer 110 may operate in a network environment using logical connections to one or more remote computers, such as remote computer 180. Remote computer 180 may be another personal computer, server, router, network PC, peer network device, or other normal network node, and typically includes many or all of the elements described above with respect to the personal computer 110, although only the storage device 181 is shown in FIG. 1. The logical connections shown in FIG. 1 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, corporate networks (intranets), and the Internet.

При работе в среде с ЛС, персональный компьютер 110 связан с ЛС 171 через сетевой интерфейс (средство сопряжения с сетью) или адаптер 170. При работе в среде глобальной сети, компьютер 110 типично включает в себя модем 172 или другие средства установления связи с глобальной сетью 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может быть связан с системной шиной 121 через пользовательский входной интерфейс 160 или другой соответствующий механизм. В сетевой среде, модули программы, изображенные относительно персонального компьютера 110 или его частей, могут храниться в удаленном запоминающем устройстве. Для примера, а не в качестве ограничения, фиг. 1 показывает, что удаленные прикладные программы 185 находятся в запоминающем устройстве 181. Следует признать, что показанные сетевые подключения приведены в качестве примера и могут использоваться другие средства установления связи между компьютерами.When working in a LAN environment, the personal computer 110 is connected to the LAN 171 via a network interface (network interface tool) or adapter 170. When operating in a global network environment, computer 110 typically includes a modem 172 or other means of establishing communication with the global network 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via a user input interface 160 or other appropriate mechanism. In a networked environment, program modules depicted relative to a personal computer 110 or portions thereof may be stored in a remote storage device. By way of example, and not by way of limitation, FIG. 1 shows that the remote application programs 185 are located in the storage device 181. It should be recognized that the network connections shown are exemplary and other means of establishing communication between computers can be used.

В нижеследующем описании изобретение описано со ссылкой к действиям и символическим представлениям операций, которые выполняются одним или более компьютерами, если не обозначено иначе. Также, понимается, что такие действия и операции, которые упоминаются время от времени как выполняемые компьютером, включают в себя обработку процессором компьютера электрических сигналов, представляющих данные в структурированной форме. Такая обработка преобразовывает данные или сохраняет их в ячейках системы памяти компьютера, которые реконфигурируют или иначе изменяют работу компьютера способом, хорошо понимаемым специалистами. Структуры данных, где хранятся данные, являются физическими ячейками памяти, которые имеют конкретные свойства, определяемые форматом данных. Однако хотя изобретение описывается в указанном ранее контексте, он не должен являться ограничением, поскольку специалисты должны признать, что различные действия и операции, описанные далее, могут также быть осуществлены в аппаратных средствах.In the following description, the invention is described with reference to actions and symbolic representations of operations that are performed by one or more computers, unless otherwise indicated. It is also understood that such actions and operations, which are referred to from time to time as performed by a computer, include processing by the computer processor of electrical signals representing data in a structured form. Such processing converts data or stores it in the cells of the computer’s memory system, which reconfigure or otherwise change the computer’s operation in a way that is well understood by specialists. The data structures where the data is stored are physical memory cells that have specific properties defined by the data format. However, although the invention is described in the above context, it should not be a limitation, as those skilled in the art will recognize that the various acts and operations described below can also be implemented in hardware.

В соответствии с одним важным аспектом изобретения, ссылка сделана к фиг. 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 считывания показателей.In accordance with one important aspect of the invention, reference is made to FIG. 2, which is a block diagram of client software, such as a Windows® client, suitable for implementing embodiments of the present invention. The block diagram shows an application program 200, which may be any application program running on the computer 110 shown in FIG. 1. Relevant applications include, for example, Microsoft Word, Microsoft Publisher, QuarkXPress, Adobe InDesign, and the like. The application 200 shown includes a property sheet 210. The property sheet 210 interacts with the placement tool 202, which may reside in the computer 110 or may be accessible through a client-server connection. The host means 202 may be a client application running on computer 110, or may be accessible through a network connection. The property sheet 210, located in the application 200, provides property values for the placement means 202, which are received in the structure and placement input filter 230. In addition to the input filter 230 structure and placement, the means 202 placement also includes means 240 for reading indicators (metrics) and means 250 for generating text parameters. The property sheet data structures include those elements that are required by the placement tool 202 to provide appropriate placement for rendering fonts and text for the application program 200. The structure and placement input filter 230 generates elements for input to the metric reader 240 and provides input properties to means 240 reading indicators. The metric reader 240 processes the properties and sends the data to the text parameter generator 250. The text parameter generating means 250 receives data, which includes identifiers for the font typeface and identifiers for the language, and outputs the calculated data related to the text characteristics intended for use by the indicator reading means 240.

Как описано более подробно ниже, средство 240 считывания показателей обрабатывает входные значения для обеспечения оптимальных типографских параметров настройки в пределах данных ограничений, имеющихся в вызывающих прикладных программах. Входные ограничения могут включать в себя ограничения среды и дизайнерские ограничения, но не ограничены ими. Ограничения среды могут включать в себя увеличение, размер экрана и разрешающую способность, оптическое увеличение для читателя и расстояние до читателя. Дизайнерские ограничения могут включить в себя требования к шрифту, требования к полям, требования к колонкам и требования к прямоугольнику размещения. С учетом этих ограничений средство 240 считывания показателей обеспечивает передачу параметров настройки, которые включают в себя параметры для окна, страницы и действующих размеров набора, размеров полей, оптимального количества колонок, оптимальных размеров колонки и поля переплета и оптимального размера шрифта и высоты строки. Передаваемые параметры настройки могут измеряться в пикселях или в пунктах согласно требованиям дизайна. Преимущественно, параметры настройки, выводимые из средства 240 считывания показателей, соответствуют известным языкам и шрифтам.As described in more detail below, the metric reader 240 processes the input values to provide optimal typographic settings within the constraints given in the calling applications. Entry restrictions may include, but are not limited to, environmental restrictions and design restrictions. Environmental restrictions may include magnification, screen size and resolution, optical magnification for the reader, and distance to the reader. Design restrictions may include font requirements, margin requirements, column requirements, and placement rectangle requirements. Given these limitations, a metric reader 240 provides transmission of settings that include parameters for a window, page, and actual set sizes, margin sizes, optimal number of columns, optimal column and gutter sizes, and optimal font size and line height. The transmitted settings can be measured in pixels or in points according to design requirements. Advantageously, the settings output from the metric reader 240 correspond to known languages and fonts.

Обращаясь теперь к фиг. 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.Turning now to FIG. 3, the block diagram shown in FIG. 2, expanded in the form of a block diagram to illustrate the flow of information in a data structure. FIG. 3 shows a property sheet 210, which includes elements such as page size 312, page margins 314, font family 316, font size 318, height 320 lines, number 322 columns, width 334 columns, and sizes 326 pages. Also, the property sheet 210 includes those values that cannot be changed. These are the values that are configured using the module 329, and those values that are not transmitted to the input filter 230 structure and placement. More specifically, the structure and placement input filter 230 includes a feature unit 330 and text stream detection means 352. Element module 330 generates data in a data structure. A typical data structure shown includes a font family 332, a language 334, a change in font size 336, a change in line height 338, page margins 340, a page margin range 342, and a preferred number of columns 344. Data is generated in the module 330 elements and transmitted as input properties to the means 346 reading indicators. In turn, the text stream detection means 352 provides a window size 354 transmission to the metrics reading means 240. Alternatively, the text stream detection means 352 may be a network-connected component or a system component in a computer 110. In one embodiment, the placement means 202 interacts with a interaction level 360 with a display environment. The level 360 of interaction with the display medium provides the transfer of size 362 of the display medium to the means 240 of reading indicators. One example of the size 362 of the display medium includes the display size of the computer 110 shown in FIG. one.

Средство 240 считывания показателей воплощает варианты осуществления настоящего изобретения, как описано более подробно ниже. В одном из вариантов осуществления средство 240 считывания показателей взаимодействует с средством 250 формирования параметров текста и модулем 230 элементов. Модуль 230 элементов содержит входные свойства 346 для средства считывания показателей. Модуль 230 элементов подсоединен к средству 352 обнаружения текстового потока. В одном из вариантов осуществления модуль 230 элемента и средство 352 обнаружения текстового потока вместе формируют один компонент, который включает в себя структуру, расположенную в модуле 230 элемента, и размещение, расположенное в средстве 252 обнаружения текстового потока.The metric reader 240 embodies embodiments of the present invention, as described in more detail below. In one embodiment, the metric reader 240 interacts with the text parameter generator 250 and the element module 230. The module 230 elements contains the input properties 346 for reading indicators. Element module 230 is connected to text stream detection means 352. In one embodiment, the element module 230 and the text stream detection means 352 together form one component that includes a structure located in the element module 230 and the arrangement located in the text stream detection means 252.

Средство 240 считывания показателей принимает входную информацию и обрабатывает ее для генерации параметров настройки, использующихся для размещения текста в вызывающей прикладной программе. Параметры настройки могут учитывать пользовательские параметры настройки для определения размеров, или могут автоматически определять заданные по умолчанию размеры. Средство 250 формирования параметров текста является важной особенностью средства 202 размещения. Средство 250 формирования параметров текста подает входную информацию средству 240 считывания показателей, которые добавляют специфические для языка данные, относящиеся к параметрам текста. Средство 250 формирования параметров текста принимает идентификатор семейства шрифта 364 и идентификатор языка 366. Выходная информация от средства 250 формирования параметров текста включает в себя измеренные значения, вычисленные в средстве 250 формирования параметров текста. Более конкретно, как объяснено более подробно ниже со ссылкой на фиг. 5, средство 250 формирования параметров текста измеряет соотношение черных и белых пикселей в каждом ряду пикселей в воспроизводимой строке шрифта и обеспечивает передачу этих результатов измерений, используя термины, которые идентифицируют характеристики характерной строки текста для данного шрифта и данного языка. Эти результаты 368 измерения параметров текста передаются средству 240 считывания показателей. Средство 240 считывания показателей использует уравнения и другие вычисления к результатам измерения и входным значениям свойств 346 для обеспечения выходных значений свойств 380, которые включают в себя размер 382 страницы, поля 384 страницы, семейство 386 шрифта, размер 388 шрифта, высоту 389 строки, расстояние 390 между колонками, ширину 392 изображения, ширину 394 колонок, количество 396 колонок и абзацный отступ 398. Эти свойства возвращаются к вызывающей прикладной программе 200.The metric reader 240 receives the input information and processes it to generate settings used to place text in the calling application. The settings can take into account user settings for sizing, or they can automatically determine the default sizes. Means 250 for generating text parameters is an important feature of the placement means 202. Means 250 for generating text parameters provides input to means 240 for reading metrics that add language-specific data related to text parameters. The text parameter generator 250 receives the font family identifier 364 and the language identifier 366. The output from the text parameter generator 250 includes the measured values calculated in the text parameter generator 250. More specifically, as explained in more detail below with reference to FIG. 5, the text parameter generating means 250 measures the ratio of black and white pixels in each row of pixels in a reproduced font string and provides the transmission of these measurement results using terms that identify the characteristics of a characteristic text string for a given font and a given language. These results 368 measuring the parameters of the text are transmitted to the means 240 reading indicators. The metric reader 240 uses equations and other calculations to the measurement results and input property values 346 to provide output properties 380, which include 382 page size, 384 page margins, 386 font family, 388 font size, 389 line height, 390 distance between columns, image width 392, column width 394, number 396 columns, and paragraph indent 398. These properties are returned to the calling application 200.

Обращаясь к фиг. 4 в комбинации с фиг. 3, способ определения свойств размещения текста согласно одному из вариантов осуществления показан в виде последовательности операций. Способ относится к функциям, которые выполняются в средстве 240 считывания показателей и средстве 250 формирования параметров текста, показанных на фиг. 2 и 3. Более конкретно, на этапе 410 предусматривают прием данных о среде (оборудовании) для размещения международного текста. Как показано на фиг. 3, данные могут включать в себя элементы из одного или более модулей: ведомости 210 свойств, средства 252 обнаружения текстового потока и средства 250 формирования параметров текста. Данные о среде включают в себя данные, относящиеся к среде визуализации, такие как размер экрана, размер бумаги и т.п., а также определяемые пользователем или требуемые системой параметры, относящиеся к размерам полей, размеру шрифта, колонок, высоте строки, длине строки и языку. На этапе 420 обеспечивают обработку данных, используя измеренные характеристики нормированной характерной строки международного текста, напечатанного предопределенным шрифтом, и измеренные характеристики среды. Характеристики нормированной характерной строки международного текста измеряются в средстве 250 формирования параметров текста. Средство 240 считывания показателей может быть соединено со средством 250 формирования параметров текста или может вызвать средство 250 формирования параметров текста через интерфейс прикладной программы (ИПП, API). Характеристики среды измеряются в средстве 240 считывания показателей. После приема измеренных характеристик нормированной характерной строки международного текста, средство 240 считывания показателей выполняет множество операций над принятыми вычисленными данными. Информация с выхода средства считывания показателей передается к вызывающей прикладной программе 200.Turning to FIG. 4 in combination with FIG. 3, a method for determining text placement properties according to one embodiment is shown as a flowchart. The method relates to functions that are performed in the indicator reading means 240 and the text parameter generating means 250 shown in FIG. 2 and 3. More specifically, at block 410, data is received about the environment (equipment) to host the international text. As shown in FIG. 3, the data may include elements from one or more modules: statements 210 properties, means 252 detect text flow and means 250 for generating text parameters. Environment data includes data related to the visualization environment, such as screen size, paper size, etc., as well as user-defined or system-required parameters related to field sizes, font size, columns, line height, line length and language. At 420, data is processed using the measured characteristics of a normalized characteristic string of international text printed in a predetermined font and the measured environmental characteristics. The characteristics of the normalized characteristic line of the international text are measured in the tool 250 of the formation of the text parameters. The indicator reading means 240 may be connected to the text parameter generating means 250, or it may call the text parameter generating means 250 through an application program interface (API, API). The characteristics of the medium are measured in a means 240 reading indicators. After receiving the measured characteristics of the normalized characteristic line of the international text, the indicator reading means 240 performs many operations on the received calculated data. Information from the output of the indicator reader is transmitted to the calling application 200.

Работа средства 250 формирования параметров текста описана более подробно в виде последовательности операций на фиг. 5 и 6. Как показано, средство 250 формирования параметров текста принимает идентификатор 364 семейства шрифта и идентификатор 366 языка на этапе 510. На этапе 520 средство формирования параметров текста измеряет характеристики характерной строки шрифта на идентифицированном языке и для идентифицированного шрифта. Преимущественно, полученные результаты измерений дают возможность объективного определения размеров шрифта и высоты строки для любого заданного языка и шрифта для любого заданного размещения. На этапе 530 средство 250 формирования параметров текста нормирует измерения по множеству шрифтов и языков. Результаты измерений затем используются для определения соответствующих размеров.The operation of the text parameter generating means 250 is described in more detail as a sequence of operations in FIG. 5 and 6. As shown, the text parameter generating means 250 receives the font family identifier 364 and the language identifier 366 in step 510. At step 520, the text parameter generating means measures the characteristics of the characteristic font string in the identified language and for the identified font. Mostly, the measurement results provide the opportunity to objectively determine the font size and line height for any given language and font for any given location. At step 530, the text parameter generating means 250 normalizes measurements across a plurality of fonts and languages. The measurement results are then used to determine the appropriate sizes.

Для целей этого раскрытия, термин “размеры” включает в себя высоту строки, которая является расстоянием от опорной линии одной строки шрифта до опорной линии следующей строки, но не ограничивается ею. Опорная линия является видимой линией, на которой находятся символы в системе записи или с которой они “свисают”. Для символов английского языка опорная линия является воображаемой линией, на которой находятся символы верхнего и нижнего регистра. Высота строчных букв (х - высота) (без выносных элементов) относится к стандартной высоте символов строчных букв, приблизительно эквивалентной высоте символа x нижнего регистра (строчной буквы х) для данного шрифта. Высота прописных букв относится к высоте прописных букв в строке шрифта, она не равна, но часто приравнивается к высоте надстрочного элемента. В некоторых шрифтах надстрочные элементы выше или короче, чем высота большинства заглавных букв. Надстрочный элемент - части строчных букв l, t, f, b, d, h, k, которые находятся выше высоты строчных букв без выносных элементов. Подстрочный элемент относится к частям строчных букв g, j, p, q, y, которые находятся ниже опорной линии.For the purposes of this disclosure, the term “dimensions” includes, but is not limited to, the height of the line, which is the distance from the reference line of one line of the font to the reference line of the next line. The reference line is the visible line on which the characters in the recording system are located or with which they “hang”. For English characters, the reference line is an imaginary line that contains upper and lower case characters. The height of the lowercase letters (x is the height) (without extension elements) refers to the standard height of the lowercase letter characters, approximately equivalent to the height of the lowercase character x (lowercase letter x) for a given font. The height of the uppercase letters refers to the height of the uppercase letters in the font line, it is not equal, but often equal to the height of the superscript element. In some fonts, superscripts are taller or shorter than the height of most capital letters. Superscript element - parts of lowercase letters l, t, f, b, d, h, k that are higher than the height of lowercase letters without extension elements. A subscript refers to parts of lowercase g, j, p, q, y that are below the reference line.

Кегельная шпация является единицей измерения, равной размеру шрифта. Таким образом, кегельная шпация является переменной единицей измерения, которая изменяется всякий раз, когда изменяется размер шрифта. Кегельная шпация для целей этого раскрытия является квадратом (кегельной площадкой) измеряемого шрифта. Например, если шрифт представлен шрифтом 12 пунктов, то кегельная шпация - 12 пунктов высотой и 12 пунктов шириной. Если шрифт представлен шрифтом 100 пунктов, то кегельная шпация - 100 пунктов высотой и 100 пунктов шириной. Поэтому кегельная шпация используется как нехарактерная единица измерения размера шрифта, и она основана на том, как шрифт разработан, а не на его физических характеристиках. В результате некоторые рисунки шрифтов могут иметь типографскую краску, которая находится вне кегельной шпации, например в тайском языке, а другие занимают значительно меньше места, чем кегельная шпация, например в корейском языке. “Кластер”, для целей этого раскрытия, относится к элементу воспроизведения анализируемого шрифта и текста. Более точно, кластер - напечатанное содержимое между точками, куда курсор может быть вставлен в строке электронного текста. Термин “кластер” является общим, потому что он определяется отсутствием пробелов в строке, а не нажатиями клавиши, символами или специальными знаками (глифами) и поэтому соответствует всем языкам. В латинских шрифтах кластер и символ могут быть эквивалентны.Skittle spacing is a unit of measure equal to the size of the font. Thus, skittle spacing is a variable unit of measure that changes whenever the font size changes. The skittle spacing for the purposes of this disclosure is the square (skittle pad) of the measured font. For example, if a font is represented by a font of 12 points, then skittle spacing is 12 points high and 12 points wide. If the font is represented by a font of 100 points, then skittle spacing is 100 points high and 100 points wide. Therefore, skittle spacing is used as an uncharacteristic unit for measuring font size, and it is based on how the font is designed, and not on its physical characteristics. As a result, some font drawings may have a printing ink that is outside the skittle spacing, for example in Thai, while others take up significantly less space than the skittle spelling, for example, in Korean. A “cluster”, for the purposes of this disclosure, refers to a playitem of an analyzed font and text. More precisely, a cluster is printed content between points where the cursor can be inserted in a line of electronic text. The term “cluster” is a general term because it is defined by the absence of spaces in the line, and not by keystrokes, symbols or special characters (glyphs) and therefore corresponds to all languages. In Latin fonts, a cluster and a character can be equivalent.

Обращаясь теперь к фиг. 6, способ, представленный на фиг. 5, описан более подробно. Способы, описанные на фиг. 6, обеспечивают числовую характеристику уровня серого для любого вида текста, напечатанного любым шрифтом и на любом языке. Числовая характеристика основана на том, что читатель видит, когда шрифт размещается на странице, то есть на множестве темных строк, вдоль которых глаз следует в процессе чтения. Поскольку размер этих строк и пространство между ними изменяются при различных системах записи, типах шрифтов, языках и культурах, результаты измерений должны соответствовать любой системе записи на любом языке. Покрытое чернилами (типографской краской) место в строке текста в данной работе называется “черной рекой”. Более точно, понятие “черная река” относится ко всему месту, занятому чернилами в одной строке текста для заданного шрифта и языка, которое включает в себя самые высокие и самые низкие точки, заполненные чернилами, в характерной строке шрифта.Turning now to FIG. 6, the method of FIG. 5 is described in more detail. The methods described in FIG. 6 provide a numerical characteristic of the gray level for any type of text printed in any font and in any language. The numerical characteristic is based on what the reader sees when the font is placed on the page, that is, on the set of dark lines along which the eye follows during reading. Since the size of these lines and the space between them vary with different recording systems, font types, languages and cultures, the measurement results should correspond to any recording system in any language. The place covered by ink (printing ink) in the line of text in this work is called the “black river”. More precisely, the concept of “black river” refers to the entire place occupied by ink in one line of text for a given font and language, which includes the highest and lowest points filled with ink in a characteristic line of the font.

Способы, которыми измеряется “черная река”, описаны на фиг. 6. После приема идентификатора семейства шрифта и идентификатора языка, как показано на этапе 610, средство 250 формирования параметров текста измеряет отношение количества черных пикселей к общему количеству пикселей в множестве рядов пикселей в характерной строке шрифта. В одном из вариантов осуществления средство 250 формирования параметров текста измеряет отношение количества черных пикселей к общему количеству пикселей в каждом ряду пикселей в визуализируемой строке шрифта. После того как каждый ряд пикселей, который содержит черные пиксели, был измерен, ряд с самым высоким отношением количества черных пикселей к общему количеству пикселей приравнивается к черному цвету, как показано на этапе 620. Результаты измерений всех других рядов нормируются по отношению к этой черной точке. Нормирование допускает эквивалентные измерения параметров шрифтов с различной насыщенностью, так как черная точка шрифта может быть нормирована по всем шрифтам. Например, самая темная часть “черной реки”, измеренная при 1/200 кегельной шпации, как полагают, является на 100% черной, независимо от того, какую степень черноты она имеет в действительности. Все другие части “черной реки” измеряются для интенсивности серого как значение между 0% (белый) и 100% (нормированный черный, или самая темная часть “реки”). Вычисляется среднее отношение, и затем отмечаются первый ряд пикселей и последней ряд пикселей, которые темнее, чем среднее значение.The methods by which the “black river” is measured are described in FIG. 6. After receiving the font family identifier and the language identifier, as shown in step 610, the text parameter generating means 250 measures the ratio of the number of black pixels to the total number of pixels in a plurality of rows of pixels in a characteristic font string. In one embodiment, the text parameter generator 250 measures the ratio of the number of black pixels to the total number of pixels in each row of pixels in a rendered font string. After each row of pixels that contains black pixels has been measured, the row with the highest ratio of the number of black pixels to the total number of pixels is equal to black, as shown in step 620. The measurement results of all other rows are normalized to this black point . Rationing allows equivalent measurements of font parameters with different saturations, since the black dot of the font can be normalized for all fonts. For example, the darkest part of the “black river”, measured at 1/200 of the skittle, is believed to be 100% black, regardless of what degree of blackness it actually has. All other parts of the “black river” are measured for gray intensity as a value between 0% (white) and 100% (normalized black, or the darkest part of the “river”). The average ratio is calculated, and then the first row of pixels and the last row of pixels, which are darker than the average, are marked.

На этапе 630 обеспечивают идентификацию высоты шрифта, используя измеренные отношения количества черных пикселей к общему количеству пикселей. На этапе 640 средство формирования параметров текста использует высоту шрифта и идентифицирует первую часть, которая в данной работе называется “канал”, которая включает в себя ряд с самым высоким отношением количества черных пикселей к общему количеству пикселей, причем первая часть включает в себя первый ряд пикселей и последний ряд пикселей, которые темнее, чем среднее значение ряда пикселей. В латинских текстах “канал” приравнивают к высоте строчных букв без выносных элементов. В других шрифтах нет прямого эквивалента высоты строчных букв без выносных элементов. Поскольку каждый шрифт на каждом языке, визуализируемый в строке текста, будет иметь темную часть в строке текста, вместо высоты строчных букв без выносных элементов в вариантах осуществления используется термин “канал” и измерения, относящиеся к “каналу”. Во многих описанных вариантах осуществления “канал” является важным измерением для определения соответствующей высоты строки и других параметров настройки для строки текста, напечатанной данным шрифтом. На этапе 650 средство 250 формирования параметров текста идентифицирует вторую часть, расположенную выше первой части. На этапе 660 средство 250 формирования параметров текста идентифицирует третью часть, расположенную ниже первой части. Вторая часть и третья часть в данной работе называются “предотмель” и “послеотмель” соответственно, а все вместе - “отмель”. В большинстве шрифтов обычно существует “отмель” с обеих сторон идентифицированного “канала”. “Отмель” является областью, где строка шрифта имеет чернила, но не каждый символ распространяется (выступает) в нее. В латинском шрифте существует “отмель”, которая эквивалентна надстрочному элементу и подстрочному элементу. Язык с большим количеством знаков ударений типично имеет “отмель”, которая включает в себя знаки ударений. Язык, который является существенно однородным, может идентифицироваться как имеющий “канал” с маленькой или отсутствующей “отмелью”. Многие азиатские языки можно идентифицировать, как имеющие только “канал” и не имеющие “отмели”. Эти языки имеют “реку” и “канал”, которые имеют одинаковый размер.At step 630, font height is identified using the measured ratios of the number of black pixels to the total number of pixels. At 640, the text parameter generation tool uses the font height and identifies the first part, which is called the “channel” in this paper, which includes the row with the highest ratio of the number of black pixels to the total number of pixels, the first part including the first row of pixels and the last row of pixels, which are darker than the average value of the row of pixels. In Latin texts, the “channel” is equated to the height of lowercase letters without external elements. In other fonts, there is no direct equivalent to the height of lowercase letters without extension elements. Since each font in each language rendered in a line of text will have a dark part in a line of text, instead of the height of lowercase letters without external elements, in the embodiments, the term “channel” and the measurements relating to the “channel” are used. In many of the described embodiments, the “channel” is an important measurement for determining the appropriate line height and other settings for a line of text printed in a given font. At 650, the text parameter generating means 250 identifies a second part located above the first part. At step 660, the text parameter generating means 250 identifies a third part located below the first part. The second part and the third part in this work are called “pre-shallow” and “after-shallow”, respectively, and collectively - “shallow”. Most fonts usually have a “shallow” on either side of the identified “channel”. The “shallow” is the area where the font line has ink, but not every character extends (protrudes) into it. In the Latin script, there is a “shallow”, which is equivalent to the superscript element and the subscript element. A language with a large number of stress marks typically has a “shallow”, which includes stress marks. A language that is substantially homogeneous can be identified as having a “channel” with little or no “shallow”. Many Asian languages can be identified as having only a “channel” and not having a “shallow”. These languages have a “river” and a “channel,” which are the same size.

На этапе 670 средство 250 формирования параметров текста создает график результатов измерений для осуществления идентификации точек выравнивания, пиков темноты и т.п.At step 670, the text parameter generation tool 250 creates a graph of the measurement results to identify alignment points, dark peaks, and the like.

После идентификации “канала” и “отмели”, этап 680 обеспечивает определение среднего значения отношения количества черных пикселей к общему количеству пикселей в каждой части. Эти части описывают строку текста для конкретного шрифта, обеспечивая результаты трех измерений, которые включают в себя ширину “канала”, ширину “предотмели” и ширину “послеотмели”.After identifying the “channel” and “shallows”, step 680 determines the average value of the ratio of the number of black pixels to the total number of pixels in each part. These parts describe a line of text for a particular font, providing the results of three measurements, which include the width of the “channel”, the width of the “pre-shallow”, and the width of the “after shallow”.

В одном из вариантов осуществления средство 250 формирования параметров текста возвращает средству 240 считывания показателей результаты измерений, которые включают в себя один или более из результатов измерений: отношение количества черных пикселей к общему количеству пикселей в самом темном ряду пикселей, среднее значение отношения количества черных пикселей к общему количеству пикселей во всей характерной строке шрифта, ширину “предотмели”, отношение количества черных пикселей к общему количеству пикселей в “предотмели”, ширину “канала”, отношение количества черных пикселей к общему количеству пикселей в “канале”, ширину “послеотмели” и отношение количества черных пикселей к общему количеству пикселей в “послеотмели”. Когда слова на каком-то языке пишутся вертикально, например, как в некоторых азиатских языках, те же самые измерения могут быть сделаны, измеряя колонки вертикального текста для языка с вертикальным написанием вместо измерения строки горизонтального текста для языков с горизонтальным написанием. Специалисты должны понять с помощью этого раскрытия, что принципы для определения характеристик языка с вертикальным написанием являются теми же самыми, так что, например, “канал” шрифта с вертикальным написанием будет на 90 градусов повернут для измерения по сравнению с “каналом” шрифта с горизонтальным написанием.In one embodiment, the means for generating text parameters 250 returns to the means 240 of reading indicators the measurement results, which include one or more of the measurement results: the ratio of the number of black pixels to the total number of pixels in the darkest row of pixels, the average value of the ratio of the number of black pixels to the total number of pixels in the entire characteristic line of the font, the width of the “pre-pitch”, the ratio of the number of black pixels to the total number of pixels in the “pre-pitch”, the width Channel ", the ratio of black pixels to total pixels in a" channel "width" posleotmeli "and the ratio of black pixels to the total number of pixels in the" posleotmeli ". When words in a certain language are written vertically, for example, as in some Asian languages, the same measurements can be made by measuring the columns of vertical text for a language with vertical spelling instead of measuring a row of horizontal text for languages with horizontal spelling. Professionals should understand with this disclosure that the principles for characterizing a language with vertical spelling are the same, so that, for example, the “channel” of a font with vertical spelling will be rotated 90 degrees for measurement compared to the “channel” of a font with horizontal spelling.

В других вариантах осуществления при необходимости средством 240 считывания показателей могут возвращаться дополнительные результаты измерений, такие как точки выравнивания при другой степени точности, чем деление на три части, или результаты измерений, которые соответствуют самым темным рядам, или пикам, на любых созданных графиках.In other embodiments, optionally, metric reading 240 may return additional measurement results, such as alignment points at a different degree of accuracy than dividing into three parts, or measurement results that correspond to the darkest rows, or peaks, on any graphs created.

Обращаясь к фиг. 7, показана фотография моделируемого текста с соответствующими графиками согласно одному из вариантов осуществления. Фотография 710 иллюстрирует латинский шрифт с засечками, показывая, что пики находятся в общем случае наверху заглавной буквы, на высоте строчной буквы без выносных элементов, на высоте перекладины строчной буквы “e”, на опорной (базовой) линии и в подстрочном элементе. Для сравнения, фотография 720 иллюстрирует форму нелатинского шрифта с другими и более центрированными точками выравнивания.Turning to FIG. 7, a photograph of a simulated text with corresponding graphs is shown according to one embodiment. Photo 710 illustrates the serif typeface in Latin, showing that the peaks are generally at the top of the capital letter, at the height of the lowercase letter without extension elements, at the height of the crossbar of the lowercase letter “e”, on the reference (base) line and in the subscript. In comparison, photograph 720 illustrates the shape of a non-Latin font with other and more centered alignment points.

Другими возвращаемыми результатами измерения могут быть результаты измерения относительно кегельной шпации. В средстве 250 формирования параметров текста и в средстве 240 считывания показателей кегельная шпация используется для определения и горизонтальных, и вертикальных размеров. Другим результатом измерения, который может возвращаться средством 250 формирования параметров текста, является количество кластеров на кегельную шпацию, которое может также быть результатом измерения, возвращаемым средству 240 считывания показателей. Количество кластеров, приходящихся на кегельную шпацию, эквивалентно отношению высоты шрифта к средней ширине кластера.Other returned measurement results may be measured with respect to bowling. In the tool 250 for generating text parameters and in the tool 240 for reading indicators, skittle is used to determine both horizontal and vertical sizes. Another measurement result that can be returned by the text parameter generation tool 250 is the number of clusters per skittle, which may also be the measurement result returned to the metric reader 240. The number of clusters per bowling spacing is equivalent to the ratio of the font height to the average cluster width.

Другие результаты измерения, которые могут использоваться средством 240 считывания показателей, включают в себя ширину “черной реки” как вещественное число по отношению к кегельной шпации; ширину “предотмели” как вещественное число по отношению к кегельной шпации; ширину “послеотмели” как вещественное число по отношению к кегельной шпации; ширину “канала” как вещественное число по отношению к кегельной шпации; среднюю насыщенность “канала” и каждой из “отмелей” как вещественное число, такое, что 0 = все белые и 1 = все черные после нормирования; среднее количество кластеров на кегельную шпацию и общее количество кластеров в характерной строке текста. Значения ширины могут возвращаться к средству 240 считывания показателей как вещественное число по отношению к кегельной шпации, и значения насыщенности могут возвращаться к средству 240 считывания показателей как вещественное число по отношению к нормированной черной точке. В одном из вариантов осуществления общее количество кластеров предварительно запоминается в таблице языка, или в средстве 240 считывания показателей, или в средстве 250 формирования параметров текста.Other measurement results that may be used by the indicator reading means 240 include the width of the “black river” as a real number with respect to skittle; the width of the “pre-shallow” as a real number in relation to the skittle; the width of the “post shallow” as a real number in relation to the skittle; the width of the “channel” as a real number in relation to the skittle; the average saturation of the “channel” and each of the “shallows” as a real number, such that 0 = all white and 1 = all black after normalization; the average number of clusters per skittle and the total number of clusters in a characteristic line of text. The width values can be returned to the metric reader 240 as a real number with respect to the skittle, and the saturation values can be returned to the metric reader 240 as a real number with respect to the normalized black dot. In one embodiment, the total number of clusters is preliminarily stored in a language table, or in a means for reading indicators, or in a means 250 for generating text parameters.

Фиг. 8 иллюстрирует примерный способ в виде последовательности операций, показывающей взаимодействие между средством 240 считывания показателей и действиями в средстве 250 формирования параметров текста. На этапе 810 пользователь маркирует документ в прикладной программе. Эта маркировка включает в себя индикацию языка и шрифта. Индикация может происходить через системный канал связи или через ввод информации пользователем. Индикацию, идентифицирующую язык и шрифт, передают на этапе 820 к средству 240 считывания показателей. В одном из вариантов осуществления средство 250 формирования параметров текста указывает объект шрифта и интерфейс прикладной программы (API), которые средство 240 считывания показателей может запросить для измерения. Если средство 240 считывания показателей подвергает обработке объект шрифта на этапе 822, то идентификаторы языка и шрифта передаются на средство 250 формирования параметров текста. В противном случае средство 240 считывания показателей оперирует с языком и шрифтом, не вызывая средство 250 формирования параметров текста. Например, если средство 240 считывания показателей имеет таблицу с необходимыми результатами измерений для этого шрифта и языка, то вызов средства 250 формирования параметров текста не нужен. Этап 828 обеспечивает, чтобы в средстве 250 формирования параметров текста идентификаторы языка и шрифта использовались или с помощью сравнения языка и шрифта с предопределенной таблицей для отыскания данных, относящихся к характеристикам шрифта, или с помощью отыскания характерной текстовой строки на языке. Если характерная текстовая строка найдена, то шрифт, или семейство шрифтов, применяется к языку для создания на этапе 829 характерной строки текста, которая может быть одной строкой текста или иметь другой подходящий для измерения формат. Этап 830 обеспечивает измерение средством формирования параметров текста “черной реки”, “канала” и “отмели”. Этап 832 обеспечивает, чтобы средство 250 формирования параметров текста затем нормировало черную точку и все связанные с ней значения в процентах. Этап 840 обеспечивает, чтобы средство 250 формирования параметров текста возвращало результаты измерения ширины и насыщенности, среднее количество кластеров на кегельную шпацию шрифта, общее количество кластеров в характерной строке шрифта и подобные результаты измерений, такие как описано выше.FIG. 8 illustrates an example method in the form of a flowchart showing the interaction between the metric reader 240 and the actions in the text parameter generator 250. At 810, the user marks the document in the application program. This marking includes an indication of the language and font. Indication can occur through a system communication channel or through user input. An indication identifying the language and font is transmitted at 820 to the metric reader 240. In one embodiment, the text parameter generator 250 indicates a font object and an application program interface (API) that metric reader 240 may request for measurement. If the indicator reading means 240 processes the font object in step 822, then the language and font identifiers are transmitted to the text parameter generating means 250. Otherwise, the indicator reading means 240 operates with the language and font without calling the text parameter generating means 250. For example, if the indicator reading means 240 has a table with the necessary measurement results for this font and language, then the call to the text parameter generating means 250 is not needed. Step 828 ensures that, in the text parameter generating means 250, the language and font identifiers are used either by comparing the language and the font with a predetermined table to retrieve data related to the characteristics of the font, or by finding the characteristic text string in the language. If a characteristic text string is found, then the font, or font family, is applied to the language to create, at step 829, a characteristic text string, which may be one text string or another format suitable for measurement. Step 830 provides a means of forming text parameters of the “black river”, “channel” and “shallows”. Step 832 ensures that the text parameter generator 250 then normalizes the black dot and all percentages associated with it. Step 840 ensures that the text parameter generation tool 250 returns width and saturation measurements, the average number of clusters per font size, the total number of clusters in a characteristic font string, and similar measurement results, such as described above.

В одном из вариантов осуществления средство 250 формирования параметров текста измеряет ряды пикселей в характерной строке текста с интервалами в 1/200 кегельной шпации и записывает отношение количества черных пикселей к общему количеству пикселей в характерной строке текста в качестве среднего уровня серого. Результаты измерений могут быть записаны или как значение 0-255, или как два десятичных разряда процента. Этап 850 обеспечивает, чтобы после того как результаты измерений передают назад к средству 240 считывания показателей, средство 240 считывания показателей вычисляло размер шрифта и высоту строки. Этап 860 обеспечивает, чтобы пользователь видел страницу на любой поверхности обозрения со шрифтом, который имеет соответственно установленный размер и расположение. Обращаясь к фиг. 9A, график 900 иллюстрирует измеренный образец после того, как средство 250 формирования параметров текста вычислило результаты измерения, описанные на фиг. 8. График показывает результаты измерения шрифта Times New Roman, такие как нормированная версия графиков, показанных на фиг. 7. Показанные результаты измерения включают в себя средний уровень серого для каждого ряда пикселей, которые изменяются от 0 (черный цвет) до 255 (белый цвет). График 900 иллюстрирует нормированную версию, показывая уровень серого в процентах. Необработанные данные нормируются на графике 900 так, чтобы самая темная линия в шрифте рассматривалась как абсолютно черная или 100%, а самый светлый пиксель - 0%. Более конкретно, график 900 показывает высоту характерной строки текста по оси X 910 в пунктах и средний уровень серого для каждого ряда пикселей по оси Y 920 в процентах. Нормированные результаты измерений показывают сплошной линией 902, абсолютные результаты измерений “канала” и “отмели” показывают пунктирной линией 909, а среднее значение уровня серого показывают линией 906. Сравнение графика 710, показанного на фиг. 7, с графиком 900 показывает точки 930 и 940 выравнивания, а также показывает “канал”, очерченный по высоте строчных букв без выносных элементов 940 и опорной линией 930 для данного шрифта и языка. Пересечение линии 906 с кривой 902 шрифта является точкой 24 данных, а следующее пересечение - точкой 71 данных. Полная высота шрифта - 91. Если кегельная шпация составляет 100%, то набор вещественных чисел по отношению к кегельной шпации будет: “предотмель” = 0,24; “канал” = 0,45; “послеотмель” = 0,20 и “черная река” = 0,91.In one embodiment, the text parameter forming means 250 measures rows of pixels in a characteristic line of text at intervals of 1/200 of the skeleton spacing and writes the ratio of the number of black pixels to the total number of pixels in the characteristic line of text as the average gray level. The measurement results can be written either as a value of 0-255, or as two decimal places of percent. Step 850 ensures that after the measurement results are passed back to the metric reader 240, the metric reader 240 calculates the font size and line height. Step 860 ensures that the user sees the page on any viewing surface with a font that is appropriately sized and positioned. Turning to FIG. 9A, graph 900 illustrates the measured sample after the text parameter generator 250 calculates the measurement results described in FIG. 8. The graph shows the measurement results of the Times New Roman font, such as the normalized version of the graphs shown in FIG. 7. The measurement results shown include the average gray level for each row of pixels, which vary from 0 (black) to 255 (white). Graph 900 illustrates the normalized version, showing the gray level as a percentage. Raw data is normalized on the 900 plot so that the darkest line in the font is considered completely black or 100% and the lightest pixel is 0%. More specifically, graph 900 shows the height of a characteristic line of text along the X axis in 910 points, and the average gray level for each row of pixels along the Y axis 920 in percent. The normalized measurement results are shown by the solid line 902, the absolute measurements of the “channel” and “shallows” are shown by the dashed line 909, and the average value of the gray level is shown by the line 906. Comparison of the graph 710 shown in FIG. 7, with a graph 900, shows alignment points 930 and 940, and also shows a “channel” delineated by the height of lowercase letters without extension elements 940 and a reference line 930 for a given font and language. The intersection of line 906 with the font curve 902 is data point 24, and the next intersection is data point 71. The full height of the font is 91. If the size of the skittle is 100%, then the set of real numbers with respect to the size of the skeleton will be: “pre-pitch” = 0.24; “Channel” = 0.45; “Post shallow” = 0.20 and “black river” = 0.91.

Фиг. 9B иллюстрирует график 990 с той же самой кривой 902 шрифта с пунктирной линией 950, показывающей среднее значение насыщенности для каждого из “отмели” и “канала”. Средние значения насыщенности в процентах могут использоваться для определения значения высоты строки. Возвращенные значения могут включать в себя среднее значение насыщенности “предотмели” 0,099; среднее значение насыщенности “канала” 0,61 и среднее значение насыщенности “послеотмели” 0,038.FIG. 9B illustrates a graph 990 with the same font curve 902 with a dashed line 950 showing the average saturation value for each of the “shallows” and “channels”. Percent saturation average values can be used to determine line height values. The returned values may include the average value of the saturation “pre-crib” of 0.099; the average value of the “channel” saturation is 0.61 and the average value of the “post-shallow” saturation is 0.038.

Результаты измерения от средства 250 формирования параметров текста возвращаются к средству 240 считывания показателей. Средство 240 считывания показателей использует результаты измерений для разнообразных целей.The measurement results from the means 250 for generating text parameters are returned to the means 240 for reading indicators. The metric reader 240 uses measurement results for a variety of purposes.

Одной из функций средства 240 считывания показателей является определение заданного по умолчанию размера шрифта для удобочитаемого текста на любом языке. Заданные по умолчанию размеры шрифта предшествующего уровня техники используют жестко установленные числа в пунктах или пикселях, основанные на размерах шрифта Elite и шрифта Pica для пишущих машинок, такие как 12 шагов или 10 пунктов и 10 шагов или 12 пунктов. Средство 240 измерения показателей использует новый подход, определяя соответствующий размер для текста на любом заданном языке и для любого шрифта на основании характеристик чтения для определенных языка и культуры и характеристик физической визуализации шрифта, которые определяются с помощью средства 250 формирования параметров текста и факторами среды. Средство 240 считывания показателей может быть автоматическим и масштабируемым и может использовать вводимую зависимую от культуры информацию и настраиваемую пользователем входную информацию.One of the functions of the metric reader 240 is to determine the default font size for human-readable text in any language. The prior art default font sizes use hardcoded numbers in points or pixels based on Elite and Pica font sizes for typewriters, such as 12 steps or 10 points and 10 steps or 12 points. Means for measuring indicators 240 uses a new approach, determining the appropriate size for text in any given language and for any font based on reading characteristics for specific language and culture and characteristics of the physical visualization of the font, which are determined using the tool 250 of the formation of text parameters and environmental factors. The metric reader 240 may be automatic and scalable, and may use input-dependent culture information and user-configurable input information.

Более конкретно, средство 240 считывания показателей применяет способ согласно одному из вариантов осуществления, который определяет размер шрифта как функцию характеристик, связанных со средой отображения и характеристиками языка. Характеристики среды отображения включают в себя определение заданного по умолчанию расстояния от среды отображения, которое может быть изменено пользователем по мере необходимости.More specifically, the metric reader 240 employs a method according to one embodiment that determines font size as a function of characteristics associated with a display environment and language characteristics. Characteristics of the display environment include determining a default distance from the display environment, which can be changed by the user as necessary.

Обращаясь к фиг. 10, последовательность операций иллюстрирует способ вычисления размера шрифта для заданного по умолчанию расстояния от дисплея. На этапе 1010 способ определяет минимальное и максимальное заданное по умолчанию расстояние от дисплея с использованием экспоненциального отношения минимального расстояния от любого дисплея. В одном из вариантов осуществления, минимальное расстояние установлено как 12”, и максимальное расстояние установлено приблизительно 27”. Показательная кривая быстро стремится к большим расстояниям, когда дисплей становится больше. Функция ad2 + b = D является примерной показательной функцией, подходящей для определения заданного по умолчанию расстояния. В данной функции a представляет постоянный множитель для d2, и b представляет постоянное число, которое добавляют к ad2, так, чтобы a+b=12, или минимальное расстояние, с которого читатель может рассматривать страницу со шрифтом. D и d - наблюдаемые точки на графике фактического расстояния чтения и размеров дисплея. Строчная буква d представляет диагональ поверхности дисплея в дюймах; и D представляет расстояние от поверхности дисплея в дюймах. В примере, если a и b были установлены а = 0,02353 и b = 11,97647 и данные точки преобразовывают умножая на 72, то показательная кривая задается, как показано на графике на фиг. 11. Как показано, ось X представляет диагональ дисплея в общих единицах измерения, и ось Y 1102 является расстоянием от дисплея в общих единицах измерения. Хотя график на фиг. 11 показан в дюймах, если бы пример был преобразован в другие единицы измерения, то также необходимо было бы сделать подобное преобразование констант a и b.Turning to FIG. 10, the flowchart illustrates a method for calculating a font size for a default distance from a display. At 1010, the method determines the minimum and maximum default distance from the display using the exponential ratio of the minimum distance from any display. In one embodiment, the minimum distance is set to 12 "and the maximum distance is set to approximately 27". The exponential curve quickly tends to large distances as the display gets larger. The function ad 2 + b = D is an exemplary exponential function suitable for determining the default distance. In this function, a represents a constant factor for d 2 , and b represents a constant number that is added to ad 2 so that a + b = 12, or the minimum distance that a reader can view a page with a font. D and d are the observed points on the graph of the actual reading distance and display size. The lowercase letter d represents the diagonal of the display surface in inches; and D represents the distance from the display surface in inches. In the example, if a and b were set to a = 0.02353 and b = 11.97647 and these points are converted by multiplying by 72, then the exponential curve is set, as shown in the graph in FIG. 11. As shown, the X axis represents the diagonal of the display in common units, and the Y axis 1102 is the distance from the display in common units. Although the graph in FIG. 11 is shown in inches, if the example were converted to other units, it would also be necessary to do a similar conversion of the constants a and b.

После того как заданное по умолчанию расстояние до дисплея определено, это расстояние используется средством 240 считывания показателей для определения заданного по умолчанию размера шрифта для предопределенного шрифта. Более конкретно, этап 1020 обеспечивает использование тригонометрической функции фовеального (центрального) угла и плотности знака для определения размера шрифта для предопределенного шрифта, который является подходящим для считывания в какой-либо среде. В данной работе размер шрифта для предопределенного шрифта называется размером шрифта. Фовеальный угол используется для определения области самого резкого фокусирования на среде отображения. Чтобы определить эту область, функция использует двойной тангенс половины фовеального угла, умноженного на расстояние от обозреваемой поверхности. В дополнительном варианте осуществления фовеальный угол, который используется для определения расстояния, определяется с помощью введения информации об одном или больше определенном для читателя фовеальном угле или с помощью стандартного фовеального угла, равного приблизительно 0,75 градусов. Определенный для читателя фовеальный угол может отражать остроту зрения читателя. Например, определенный для читателя фовеальный угол может учитывать одно или больше из следующего: дегенерация желтого пятна, ухудшение зрения, остроту зрения, резко суженое поле зрения, болезни глаз, близорукость, дальнозоркость, дислексию и астигматизм. Чтобы продемонстрировать фовеальные углы, на фиг. 12 и 13 представлены диаграммы, которые показывают, как определяется область самого резкого фокусирования. Как показано, глаз 1202 видит обозреваемую поверхность 1204 с расстояния 1206 обозрения. Исследование способностей человеческого глаза указывает, что фовеальный угол 1208 в 0,75 градусов является максимальным углом самого резкого фокусирования глаза 1202. Демонстрация способа определения длины 1210 области самого резкого фокусирования показана на фиг. 13. Используя тригонометрические функции, длина 1210 может быть описана как двойной тангенс 1302 от половины фовеального угла 1304. Фовеальный угол человеческого глаза, основываясь на различных исследованиях, приблизительно равен 0,75°. Парафовеолярный угол равен 10-12°. В дополнение к диапазону зрения, в котором данные воспринимаются, но находятся не на пике фокусирования, 12° является приблизительным диапазоном движения глаза до того, как непреднамеренное движение головы начинает помогать позиционированию глаза. В одном из вариантов осуществления считается, что оптимальной длиной строки является длина строки, равная приблизительно 16 фовеальных фиксаций взгляда. Количество кластеров является культурно-зависимым. Исследование длины строки в английском языке хорошо документировано и объективными исследованиями, и наблюдениями за развитием оформления книг. Исследования показывают, что для английского языка за одну фовеальную фиксацию взгляда мгновенно распознаются приблизительно 4 символа шрифта. Таким образом, один из вариантов осуществления использует оценку оптимальной длины строки в английском языке, равной 4×16 = 64 кластера в строке. Наблюдения показывают, что наборы символов, которые включают в себя больше информации в кластере, чем в английском языке, требуют меньшего количества кластеров в фиксации, чтобы ускорить понимание. Поскольку это не абсолютные отношения, один из вариантов осуществления использует таблицу, которая указывает для языков, расположенных один за другим, сколько кластеров будет в каждой фовеальной фиксации для данного языка. Таблица может быть составлена для языков или групп языков, которые включают в себя латинские, арабские, тайские, азиатские и индийские языки, но не ограничены ими. Такое объединение в группы сделано в соответствии с характеристиками систем записи. Любой отдельный язык может иметь другое или более оптимальное значение.Once the default distance to the display is determined, this distance is used by the metric reader 240 to determine the default font size for the predefined font. More specifically, step 1020 enables the use of the trigonometric function of the foveal (central) angle and sign density to determine the font size for a predetermined font that is suitable for reading in any medium. In this paper, the font size for a predefined font is called the font size. The foveal angle is used to determine the area of sharpest focus on the display medium. To determine this area, the function uses the double tangent of half of the foveal angle times the distance from the surveyed surface. In a further embodiment, the foveal angle that is used to determine the distance is determined by entering information about one or more reader-specific foveal angle or using a standard foveal angle of approximately 0.75 degrees. A reader-specific foveal angle may reflect the reader’s visual acuity. For example, a reader-specific foveal angle may take into account one or more of the following: macular degeneration, blurred vision, visual acuity, sharply narrowed field of vision, eye disease, myopia, hyperopia, dyslexia, and astigmatism. To demonstrate foveal angles, in FIG. 12 and 13 are diagrams that show how the area of sharpest focusing is determined. As shown, eye 1202 sees the viewing surface 1204 from a viewing distance 1206. A study of the abilities of the human eye indicates that the foveal angle 1208 of 0.75 degrees is the maximum angle of sharpest focusing of the eye 1202. A demonstration of the method for determining the length 1210 of the sharpest focusing area is shown in FIG. 13. Using trigonometric functions, the length 1210 can be described as the double tangent 1302 from half of the foveal angle 1304. The foveal angle of the human eye, based on various studies, is approximately 0.75 °. The parafoveolar angle is 10-12 °. In addition to the range of vision in which data is perceived but not at the peak of focus, 12 ° is an approximate range of eye movement before inadvertent head movement begins to help position the eye. In one embodiment, it is believed that the optimal line length is a line length of approximately 16 foveal gaze fixations. The number of clusters is culturally dependent. The study of string length in the English language is well documented by both objective research and observations on the development of book design. Studies show that for English, approximately 4 characters of a font are instantly recognized in one foveal fixation of the gaze. Thus, one embodiment uses an estimate of the optimal string length in English of 4 × 16 = 64 clusters per row. Observations show that character sets, which include more information in a cluster than in English, require fewer clusters in commit to speed understanding. Since this is not an absolute relationship, one embodiment uses a table that indicates for languages located one after another how many clusters there will be in each foveal fixation for a given language. The table may be compiled for languages or groups of languages that include, but are not limited to, Latin, Arabic, Thai, Asian, and Indian. Such grouping is done in accordance with the characteristics of recording systems. Any single language may have a different or more optimal meaning.

Возвращаясь к фиг. 10, на этапе 1020 обеспечивают использование плотности символов для определения размера шрифта. Плотность символов может определяться с помощью деления количества кластеров, приходящихся на кегельную шпацию, на количество кластеров в фиксации. Количество кластеров, приходящихся на фиксацию для шрифта конкретного языка, является константой, связанной с одним из множества языков, причем каждый из множества языков имеет константу, представляющую информационную плотность для чтения текста на данном языке. Количество кластеров на кегельную шпацию является описанием графической плотности. Поэтому плотность символов может быть описана как функция графической плотности и информационной плотности символа. В одном из вариантов осуществления графическая плотность и информационная плотность зависят от языка, что включает в себя характеристики чтения на данном языке в зависимости от количества информации в области самого резкого фокусирования, видимой читателю.Returning to FIG. 10, in step 1020, character density is used to determine font size. The density of characters can be determined by dividing the number of clusters per bowling, by the number of clusters in the fixation. The number of clusters per fixation for a font of a particular language is a constant associated with one of the many languages, each of the many languages having a constant representing the information density for reading text in that language. The number of clusters per skittle is a description of the graphic density. Therefore, the symbol density can be described as a function of the graphic density and information density of the symbol. In one embodiment, the implementation of the graphic density and information density depends on the language, which includes the characteristics of reading in this language depending on the amount of information in the area of the sharpest focus, visible to the reader.

Согласно одному из вариантов осуществления средство 240 считывания показателей включает в себя или имеет доступ к лингвистической таблице количества кластеров, приходящихся на фовеальную фиксацию. Максимальное количество кластеров, распознаваемых за одну фовеальную фиксацию, может быть определено с помощью просмотра содержащихся в таблице языков или может быть введено пользователем, имеющим доступ к средству 240 считывания показателей. Каждый язык определяет, сколько кластеров Вы можете видеть в 1/16 части парафовеолярного угла. Поэтому каждый язык имеет определяемое количество кластеров в парафовеолярном угле. Это значение может использоваться для определения длины строки, ширины колонки и т.п. В одном из вариантов осуществления предполагается, что количество кластеров, которое можно увидеть в строке, приблизительно равно десяти для каждого языка. Количество кластеров, определенное для данного языка, может быть умножено на число, которое представляет сравнение между алфавитами. Альтернативно, определяя количество кластеров в строке и деля это количество кластеров на константу, представляющую количество фиксаций взгляда человеческого глаза в этой строке текста, определяют количество кластеров на фовеальную фиксацию. Константа для одного или более языков может быть приблизительно равна 16. Количество кластеров, приходящихся на фиксацию, умножается на количество фовеальных фиксаций в парафовеолярной области, и это обеспечивает оптимальное количество кластеров, приходящихся на читаемую строку. Парафовеолярный угол является более широким углом, чем фовеальный угол, и в общем случае этот термин относится к углу, при котором глаз может видеть максимально фокусируемую область. В одном из вариантов осуществления парафовеолярный угол равен приблизительно 10 градусов. Как описано выше, фовеальный угол равен приблизительно 0,75 градусов и соотносится с двумя-четырьмя символами в области фовеальной фокусировки. Используя константу, равную 16 для количества фиксаций взгляда человеческого глаза в строке текста, и умножая ее на количество кластеров в фовеальной фиксации, количество кластеров в строке для каждого языка может быть определено, как показано в таблице.In one embodiment, the metric reader 240 includes or has access to a linguistic table of the number of clusters per foveal fixation. The maximum number of clusters recognized in one foveal fixation can be determined by viewing the languages contained in the table or can be entered by a user with access to a metric reader 240. Each language determines how many clusters you can see in 1/16 of the paraveolar angle. Therefore, each language has a definable number of clusters in the paraveolar angle. This value can be used to determine row length, column width, etc. In one embodiment, it is assumed that the number of clusters that can be seen in the row is approximately ten for each language. The number of clusters defined for a given language can be multiplied by a number that represents a comparison between alphabets. Alternatively, determining the number of clusters in a line and dividing this number of clusters by a constant representing the number of fixations of the human eye in this line of text, determine the number of clusters for foveal fixation. The constant for one or more languages can be approximately 16. The number of clusters per fixation is multiplied by the number of foveal fixations in the paraveolar region, and this provides the optimal number of clusters per readable line. The parafoveolar angle is a wider angle than the foveal angle, and in general, this term refers to the angle at which the eye can see the most focused area. In one embodiment, the para-veolar angle is approximately 10 degrees. As described above, the foveal angle is approximately 0.75 degrees and corresponds to two to four characters in the foveal focus area. Using a constant of 16 for the number of fixations of the human eye in a line of text, and multiplying it by the number of clusters in foveal fixation, the number of clusters in a line for each language can be determined, as shown in the table.

Количество кластеров в фиксации (Cpf)The number of clusters in the fixation (C pf ) Количество фиксаций в строке (16)The number of commits per row (16) Количество кластеров в строке (Cpl)The number of clusters per row (C pl ) ЯзыкLanguage АнглийскийEnglish 4four 1616 6464 ФранцузскийFrench 4four 1616 6464 НемецкийDeutsch 4four 1616 6464 ГреческийGreek 3,73,7 1616 59,259.2 РусскийRussian 3,53,5 1616 5656 АрабскийArab 4,44.4 1616 70,470,4 ЯпонскийJapanese 1,81.8 1616 28,828.8 КитайскийChinese 1,81.8 1616 28,828.8 КорейскийKorean 2,22.2 1616 35,235,2

Обращаясь к фиг. 14, способ определения плотности символа включает в себя на этапе 1410 определение количества кластеров в расчете на кегельную шпацию для шрифта. В примерном варианте осуществления количество кластеров, приходящихся на кегельную шпацию, получается из средства 250 формирования параметров текста. На этапе 1420 определяется отношение количества кластеров на кегельную шпацию в шрифте к количеству видимых кластеров в предопределенном фовеальном угле, в дальнейшем называемое количеством кластеров, приходящихся на фиксацию. Как описано выше, количество кластеров, приходящихся на фиксацию, может быть получено или может быть найдено из такого источника, как вышеприведенная таблица, и оно различно для каждого шрифта каждого языка. На этапе 1430 обеспечивают умножение отношения количества кластеров, приходящихся на кегельную шпацию, к количеству кластеров, приходящихся на фиксацию, на ширину средства отображения в пунктах для получения оптимального размера в пунктах для семейства шрифтов при заданном расстоянии обозрения. На этапе 1440 обеспечивают дополнительное масштабирование полученного размера шрифта в соответствии с разметкой, вводимой пользователем или другим источником. На этапе 1450 обеспечивают определение минимального размера шрифта и максимального размера шрифта. Более подробно, в одном из вариантов осуществления минимальный размер шрифта основывается на максимальном количестве кластеров, которые пользователь может воспринимать в одной фовеальной фиксации. Максимальный размер шрифта основан на минимальном количестве кластеров, которые пользователь может воспринимать в одной фовеальной фиксации и все еще понять смысл из строки текста. В дополнительном варианте осуществления минимальный и максимальный размер шрифта могут определяться на основе предопределенного процента от оптимального размера шрифта, например ±25% от значения количества кластеров, приходящихся на фиксацию (Cpf), указанного в таблице. Это переводится в минимальный размер шрифта, который равен 0,8, умноженному на оптимальный размер шрифта, и максимальный размер шрифта, который равен 1,33, умноженному на оптимальный размер шрифта. В другом альтернативном варианте осуществления минимальный размер шрифта может определяться с помощью средства визуализации, основываясь на разрешающей способности, с которой выводится информация, и на минимальном количестве пикселей, требуемых для успешной визуализации шрифта без нарушения целостности.Turning to FIG. 14, the method for determining the symbol density includes, at step 1410, determining the number of clusters per bowling for font. In an exemplary embodiment, the number of clusters per skittle is obtained from means 250 for generating text parameters. At step 1420, the ratio of the number of clusters per skittle spacing in the font to the number of visible clusters in a predetermined foveal angle is determined, hereinafter referred to as the number of clusters per fixation. As described above, the number of clusters per fixation can be obtained or can be found from a source such as the above table, and it is different for each font of each language. At step 1430, the ratio of the number of clusters per skittle to the number of clusters per fixation is multiplied by the width of the display means in points to obtain the optimal size in points for the font family at a given viewing distance. At block 1440, the resulting font size is further scaled in accordance with markup entered by a user or other source. At block 1450, a minimum font size and a maximum font size are determined. In more detail, in one embodiment, the minimum font size is based on the maximum number of clusters that the user can perceive in one foveal fixation. The maximum font size is based on the minimum number of clusters that the user can perceive in one foveal fixation and still understand the meaning from a line of text. In a further embodiment, the minimum and maximum font size can be determined based on a predetermined percentage of the optimal font size, for example, ± 25% of the number of clusters per commit (C pf ) indicated in the table. This translates into a minimum font size that is 0.8 times the optimal font size and a maximum font size that is 1.33 times the optimal font size. In another alternative embodiment, the minimum font size may be determined using a visualization tool based on the resolution with which the information is output and the minimum number of pixels required to successfully render the font without breaking the integrity.

Обращаясь к фиг. 15, там показана система 1500 для настройки текста на определенном шрифте для оптимальной удобочитаемости на среде отображения. Система включает в себя клиентскую прикладную программу 200, которая включает в себя структуру данных, содержащую один или более текстовых параметров 1510. Система дополнительно включает в себя средство 240 считывания показателей, соединенное с клиентской прикладной программой 200, причем средство 240 считывания показателей сконфигурировано для принятия одного или больше параметров текста 1510. Средство 240 считывания показателей включает в себя модуль, сконфигурированный для определения плотности символов для шрифта 1520, и модуль, сконфигурированный для умножения значения плотности символов на значение размера области самого резкого фокусирования глаза для вычисления оптимального размера шрифта для удобочитаемости 1530. Показанный модуль 1520 определения плотности символов соединен через ИПП 1540 со средством 250 формирования параметров текста, предназначенным для определения количества кластеров, приходящихся на кегельную шпацию 1550 для шрифта. Плотность символов вычисляется с помощью деления количества кластеров, приходящихся на кегельную шпацию, на количество кластеров, приходящихся на фиксацию. В одном из вариантов осуществления средство 240 считывания показателей дополнительно включает в себя модуль, сконфигурированный для определения оптимальной ширины колонок через функцию определения оптимального размера шрифта, количества кластеров в фиксации для шрифта на определенном языке, количества кластеров, приходящихся на кегельную шпацию, и расстояния от средства отображения. Система 1500 дополнительно включает в себя устройство визуализации для среды 1560 отображения, причем среда отображения может быть напечатанной страницей, компьютерным экраном, личным цифровым помощником, голографическим изображением, доской объявлений, экраном кино, театра, вставкой в пару очков или подобным им.Turning to FIG. 15, there is shown a system 1500 for adjusting text in a specific font for optimal readability in a display environment. The system includes a client application 200, which includes a data structure containing one or more text parameters 1510. The system further includes metric reader 240 connected to the client application 200, wherein metric reader 240 is configured to accept one or more text parameters 1510. The metric reader 240 includes a module configured to determine the density of characters for the font 1520, and a module configured data to multiply the value of the symbol density by the size of the area of the sharpest eye focus to calculate the optimal font size for readability 1530. The shown symbol density determination module 1520 is connected via IPP 1540 to a text parameter generating tool 250 for determining the number of clusters per skittle 1550 for the font. The symbol density is calculated by dividing the number of clusters per bowling, by the number of clusters per fixation. In one embodiment, the metric reader 240 further includes a module configured to determine the optimal column width through a function to determine the optimal font size, the number of clusters in a fix for a font in a particular language, the number of clusters per skittle, and the distance from the tool display. System 1500 further includes a visualization device for a display medium 1560, the display medium may be a printed page, a computer screen, a personal digital assistant, a holographic image, a bulletin board, a movie screen, a theater, a pair of glasses, or the like.

Для примера, если язык является английским (количество кластеров в фиксации равно 4,0), и расстояние от монитора - 1368 пунктов (19 дюймов), и шрифт - Times New Roman (2,58 кластера на кегельную шпацию), то оптимальный размер шрифта для хорошей удобочитаемости задается с помощью 2 × тангенс от 0,006544 × 1368 × 2,58/4,0=11,5 пункта. Для другого шрифта, Linotype Palatino, который имеет только 2,33 кластера на кегельную шпацию, оптимальный размер шрифта задается с помощью 2 × тангенс от 0,006544 × 1368 × 2,33/4,0=10,4 пунктов.For example, if the language is English (the number of clusters in the commit is 4.0), and the distance from the monitor is 1368 points (19 inches) and the font is Times New Roman (2.58 clusters per skittle), then the optimal font size for good readability it is set with the help of 2 × tangent from 0.006544 × 1368 × 2.58 / 4.0 = 11.5 points. For another font, Linotype Palatino, which has only 2.33 clusters per pin size, the optimal font size is set using 2 × tangent from 0.006544 × 1368 × 2.33 / 4.0 = 10.4 points.

Использование другого языка и формы шрифта привели бы к значительно отличающимся результатам. Например, шрифт Times New Roman для арабского языка. Культурологическое измерение количества кластеров в фиксации равно 4,4, а не 4,0, и количество кластеров на кегельную шпацию - 2,97. Поэтому оптимальный размер удобочитаемого шрифта в Times New Roman на арабском языке равен 2 × тангенс от 0,006544 × 1368 × 2,97/4,4=12,1 пунктов.Using a different language and font form would lead to significantly different results. For example, the Times New Roman font for Arabic. The culturological measurement of the number of clusters in fixation is 4.4, not 4.0, and the number of clusters per bowling is 2.97. Therefore, the optimal size of a readable font in Times New Roman in Arabic is 2 × tangent from 0.006544 × 1368 × 2.97 / 4.4 = 12.1 points.

Хотя значение для количества кластеров на фиксацию должно определяться для каждой языковой группы, формула остается открытой для возможной настройки для резко суженого поля зрения, расстояния от обозреваемой поверхности и другого ухудшения зрения. Они будут воздействовать на входную информацию для формулы, чтобы изменить полученное значение по умолчанию. Некоторые из таких специальных настроек могут также быть автоматизированы, чтобы помочь приспособить текст к различным условиям обозрения, таким как множество колонок, маленькие устройства и большой экран, мониторы с высокой разрешающей способностью. В дополнительном варианте осуществления парафовеолярный угол, фовеальный угол и плотность символов могут изменятся в зависимости от вводимой пользователем информации, чтобы помочь физически неполноценным пользователям, пользователям, имеющим физические дефекты, или пользователям с более острым зрением. Более узкий парафовеолярный угол относится к пользователям с резко суженным полем зрения. Более широкий парафовеолярный угол относится к пользователям с острым периферийным зрением. Более узкий фовеальный угол относится к пользователям с ослаблением свойств желтого пятна.Although the value for the number of clusters per fixation should be determined for each language group, the formula remains open for possible adjustment for a sharply narrowed field of view, distance from the observed surface, and other visual impairment. They will work on the input for the formula to change the default value obtained. Some of these special settings can also be automated to help adapt the text to various viewing conditions, such as multiple speakers, small devices and a large screen, high resolution monitors. In a further embodiment, the para -veolar angle, foveal angle, and symbol density may vary depending on the information entered by the user to help physically disabled users, users with physical defects, or users with sharper vision. A narrower paraffoveolar angle refers to users with a sharply narrowed field of view. The wider paraveovolar angle refers to users with acute peripheral vision. A narrower foveal angle refers to users with weakened macular properties.

Обращаясь к фиг. 16 в комбинации с фиг. 7 и 8, этап 850 на фиг. 8 обеспечивает вычисление размера шрифта и высоты строки. Как известно из предшествующего уровня техники, требования к высоте строки изменяются в зависимости от длины строки и для различных размеров шрифта. Даже для одного размера шрифта требования к высоте строки изменяются в зависимости от количества колонок на странице. Согласно представленным вариантам осуществления высота строки определяется с помощью различных способов, в зависимости от доступной информации. В одном из вариантов осуществления после того, как размер шрифта определен, как описано выше, определяется высота строки для заданного размера шрифта. Эта высота строки может затем изменяться на основании количества кластеров в строке, длины строки и т.п.Turning to FIG. 16 in combination with FIG. 7 and 8, step 850 of FIG. 8 provides calculation of font size and line height. As is known from the prior art, requirements for line height vary depending on line length and for different font sizes. Even for a single font size, line height requirements vary depending on the number of columns on a page. According to the presented embodiments, the row height is determined using various methods, depending on the information available. In one embodiment, after the font size is determined as described above, the line height for a given font size is determined. This row height can then be changed based on the number of clusters per row, row length, and the like.

Один из способов для вычисления высоты строки описан со ссылкой на фиг. 16. Как показано, средство 240 считывания показателей принимает от средства 250 формирования параметров текста множество результатов вычислений, касающихся уровня серого для заданного шрифта на заданном языке. Эти результаты вычислений включают в себя количество 1610 кластеров, приходящихся на кегельную шпацию, ширину 1620 “реки”, насыщенность 1630 “реки”, ширину “канала” 1640 и насыщенность “канала” 1650. В средстве 240 считывания показателей модуль 1660 определения коэффициента для оптимально читаемой высоты строки вычисляет высоту строки.One method for calculating row height is described with reference to FIG. 16. As shown, the indicator reading means 240 receives from the text parameter generating means 250 a plurality of calculation results regarding a gray level for a given font in a given language. These calculation results include the number of 1610 clusters per bowling, the width of 1620 “rivers”, the saturation of 1630 “rivers”, the width of the “channel” 1640 and the saturation of the “channel” 1650. In the indicator reading means 240, the coefficient determination module 1660 for optimally readable line height calculates line height.

Более конкретно, один из вариантов осуществления направлен на вычисление высоты строки на основании отношения контраста между всей “рекой” и “каналом” для текста, напечатанного данным шрифтом с данной плотностью символов шрифта. Пять выходов от средства 250 формирования параметров текста, которые используются для определения высоты строки, 1610, 1620, 1630, 1640 и 1650, описаны более подробно. Первый является шириной “реки”. Ширина “реки” (Rw) измеряется от самых верхних покрытых чернилами участков в шрифте до самых нижних покрытых чернилами участков в шрифте как коэффициент к размеру кегельной шпации. Ширина “реки” обычно не равна кегельной шпации, поскольку большинство латинских и азиатских шрифтов имеет значительно меньшую ширину “реки”, чем размер кегельной шпации, а большинство арабских и тайских шрифтов имеет значительно большую ширину “реки”, чем размер кегельной шпации. Например, обращаясь к фиг. 17, воспроизведение шрифта Tahoma 1710 английского языка показано рядом с шрифтом Tahoma 1720 арабского языка. Размер шрифта для кегельной шпации в Tahoma показан между линиями 1730 и 1740. Иллюстрация показывает, что шрифт Tahoma английского языка меньше, чем кегельная шпация, а шрифт Tahoma арабского языка, расположенный справа, значительно больше, чем кегельная шпация.More specifically, one embodiment is directed to calculating a line height based on a contrast ratio between an entire “river” and a “channel” for text printed in a given font with a given font density. Five outputs from the text parameter generating means 250, which are used to determine the line height, 1610, 1620, 1630, 1640 and 1650, are described in more detail. The first is the width of the "river." The width of the “river” (R w ) is measured from the topmost ink-covered sections in the font to the lowest ink-covered sections in the font as a ratio to the size of the skittle. The width of the “river” is usually not equal to the size of the spacing, since most Latin and Asian fonts have a much smaller width of the “river” than the size of the spacing, and most Arabic and Thai fonts have a much larger width of the “river” than the size of the spacing. For example, referring to FIG. 17, a reproduction of the English Tahoma 1710 font is shown next to the Arabic Tahoma 1720 font. The font size for the skittle spacing in Tahoma is shown between lines 1730 and 1740. The illustration shows that the English Tahoma font is smaller than the skeleton spelling, and the Arabic Tahoma font on the right is significantly larger than the skeleton spelling.

Возвращаясь к фиг. 16, нормированная насыщенность “реки” (Rd) 1620 относится к вычислениям в средстве 250 формирования параметров текста, которые нормированы к самому темному ряду пикселей в характерной строке измеренного текста, как описано выше на фиг. 8. Все значения насыщенности могут быть выражены относительно самого темного ряда пикселей. Насыщенность - среднее значение черного и представляет полное соотношение между пикселями в заданном промежутке текста. Rw × Ра обеспечивает полный уровень серого для “реки”.Returning to FIG. 16, the normalized “river” saturation (R d ) 1620 refers to calculations in the text parameter generating means 250 that are normalized to the darkest row of pixels in the characteristic row of the measured text, as described above in FIG. 8. All saturation values can be expressed relative to the darkest row of pixels. Saturation is the average value of black and represents the full ratio between the pixels in a given range of text. R w × P a provides the full gray level for the “river”.

Уровень серого для “канала” вычисляется, используя ту же самую формулу, но основываясь на ширине “канала реки” (RCw) и насыщенности “канала реки” (RCd). Деля уровень серого для “канала” на полное значение уровня серого для “реки”, обеспечивается коэффициент контрастности между “каналом” и остальной частью “реки”.The gray level for the “channel” is calculated using the same formula, but based on the width of the “river channel” (RC w ) and the saturation of the “river channel” (RC d ). Dividing the gray level for the “channel” by the total gray level for the “river” provides a contrast ratio between the “channel” and the rest of the “river”.

Оптимально читаемая высота строки в модуле 1660 определения коэффициента определяется с помощью деления отношения уровня серого для “канала” к полному уровню серого на плотность символов шрифта (Cpm) для получения части размера шрифта, которую нужно добавить к размеру шрифта для определения высоты строки. Добавляя 1 к этому значению, система генерирует оптимальную высоту строки (LO), как коэффициент к размеру шрифта. Следующее уравнение суммирует действия в модуле определения коэффициента для получения оптимально читаемой высоты строки: (1 + ((RCw × RCd) / (Rw × Rd) / Cpm)) × LΔ = LO.The optimum readable line height in coefficient determination module 1660 is determined by dividing the gray level ratio for the “channel” to the total gray level by font character density (C pm ) to obtain the portion of the font size that needs to be added to the font size to determine the line height. By adding 1 to this value, the system generates the optimal line height (LO) as a ratio to the font size. The following equation summarizes the actions in the coefficient determination module to obtain an optimally readable row height: (1 + ((RC w × RC d ) / (R w × R d ) / C pm )) × LΔ = LO.

В одном из вариантов осуществления высота строки умножается на масштаб разметки высоты строки (LΔ) прежде, чем определение оптимальной высоты строки завершено.In one embodiment, the line height is multiplied by the line height markup scale (LΔ) before the determination of the optimal line height is completed.

В другом варианте осуществления результаты вычислений в средстве 250 формирования параметров текста включают в себя: Вh = ширине “предотмели”; Bd = насыщенности “предотмели”; Аh = ширине “послеотмели”; Ad = насыщенности “послеотмели”; RCw = ширине “канала”; RCd = насыщенности “канала”; Cpm = количеству кластеров в кегельной шпации; FS = заданному по умолчанию размеру шрифта, и следующее уравнение определяется в модуле 1660 определения коэффициента для оптимально читаемой высоты строки для того, чтобы вычислить высоту строки: FS / (((Bh × Bd) + (Аh × Ad) + (RCw × RCd)) × Cpm) = высота строки.In another embodiment, the results of the calculations in the text parameter generating means 250 include: In h = width of the “pre-submultiple”; B d = saturation “pre-shallow”; And h = the width of the “post shallow”; A d = “post shallow” saturation; RC w = “channel” width; RC d = “channel” saturation; C pm = the number of clusters in skittle; FS = the default font size, and the following equation is defined in the coefficient determination module 1660 for an optimally read line height in order to calculate the line height: FS / (((B h × B d ) + (A h × A d ) + (RC w × RC d )) × C pm ) = line height.

Другими словами, сумма размеров, умноженных на насыщенность для трех частей “реки”, умноженная на количество кластеров в кегельной шпации, разделенная на размер шрифта, обеспечивает высоту строки. Таким образом, высота строки для шрифта Times New Roman размером в десять пунктов будет вычисляться следующим образом:In other words, the sum of the sizes multiplied by the saturation for the three parts of the “river”, multiplied by the number of clusters in the skittle, divided by the font size, provides the line height. Thus, the line height for the Times New Roman font of ten points will be calculated as follows:

10 / (((0,24 × 0,09) + (0,45 × 0,6) + (0,22 × 0,04)) × 2,58) = 10 / (0,0216 + 0,27 × 0,0088) × 2,58 =10 / 0,775032 = 12,9.10 / ((((0.24 × 0.09) + (0.45 × 0.6) + (0.22 × 0.04)) × 2.58) = 10 / (0.0216 + 0.27 × 0.0088) × 2.58 = 10 / 0.775032 = 12.9.

Более простая версия того же самого способа использует следующую формулу: FS / (Rd × Rw × Cpm) = L.A simpler version of the same method uses the following formula: FS / (R d × Rw × C pm ) = L.

В других вариантах осуществления настройка типичной высоты строки, которая для английского текста используется равной 120% от высоты шрифта, используется для обобщения высоты строки для других языков. Используя эти известные 120%, другой способ определения высоты строки описан на фиг. 18. На этапе 1810 определяется заданная по умолчанию высота строки, вычисляя 120% от размера шрифта. На этапе 1820 заданная по умолчанию высота строки изменяется, применяя показательную функцию среднего значения ширины одного кластера в предопределенном шрифте. Более конкретно, данная функция может быть квадратным корнем суммы среднего значения ширины любого одного кластера в любом шрифте и квадрата фактической высоты шрифта. Фактическая высота и ширина любого кластера могут определяться в средстве 250 формирования параметров текста для любого международного шрифта. Один из вариантов осуществления использует следующее уравнение: 1,2 FS (Rw2 + (l/Cpm2))1/2, которое является показательной функцией, использующей FS в качестве размера заданного по умолчанию шрифта; 1,2 - вводимый пользователем или стандартный заданный по умолчанию коэффициент высоты строки; Rw - фактическая высота шрифта от его верхних точек, покрытых чернилами, до его низших точек, покрытых чернилами, приходящихся на кегельную шпацию; и Cpm - количество кластеров, приходящихся на кегельную шпацию.In other embodiments, the setting of a typical line height, which is used for English text equal to 120% of the font height, is used to summarize the line height for other languages. Using these known 120%, another method for determining line height is described in FIG. 18. At block 1810, a default line height is determined by calculating 120% of the font size. At block 1820, the default line height is changed using an exponential function of the average width of one cluster in a predefined font. More specifically, this function can be the square root of the sum of the average width of any one cluster in any font and the square of the actual font height. The actual height and width of any cluster can be determined in the tool 250 formation of the parameters of the text for any international font. One embodiment uses the following equation: 1.2 FS (R w 2 + (l / C pm 2 )) 1/2 , which is an exponential function using FS as the default font size; 1,2 - user input or standard default line height factor; R w is the actual height of the font from its upper ink-coated dots to its lower ink-dots per pin size; and C pm is the number of clusters per bowling.

Как пример, для заданного по умолчанию размера шрифта 10 пунктов, высота строки вычисляется следующим образом: 10 × 1,2 × (0,912 + 1 / 2,582)1/2 = 12 × 0,9891 = 11,9.As an example, for the default font size of 10 points, the line height is calculated as follows: 10 × 1.2 × (0.912 + 1 / 2.58 2 ) 1/2 = 12 × 0.9891 = 11.9.

Следовательно, оптимальная высота строки для шрифта Times New Roman в 10 пунктов будет рана 11,9 пунктами. Та же самая формула, однако, когда она применяется к шрифту Linotype Palatino в 10 пунктов, который имеет заполненную чернилами высоту 1,01, приходящихся на кегельную шпацию, и 2,33 в кластерах, приходящихся на кегельную шпацию, привела бы к оптимальной высоте строки, равной 13,2 пунктов.Therefore, the optimal line height for a Times New Roman font of 10 points would be 11.9 points. The same formula, however, when applied to the 10-point Linotype Palatino font, which has an ink-filled height of 1.01 per skittle and 2.33 in clusters per skittle, would result in an optimal line height equal to 13.2 points.

В другом варианте осуществления высота строки изменяется, если длина строки увеличивается. Обращаясь к фиг. 19, последовательность операций иллюстрирует такую настройку высоты строки, основанную на функции физической длины строки текста или количестве кластеров в строке. Этап 1910 обеспечивает определение требуемого количества кластеров в расчете на строку шрифта и оптимальной заданной по умолчанию длины строки в кластерах в расчете на строку шрифта. Этап 1920 обеспечивает масштабирование первоначального размера шрифта с помощью деления, используя требуемое количество кластеров в расчете на строку и оптимальную заданную по умолчанию длину строки в кластерах в расчете на строку.In another embodiment, the line height changes as the line length increases. Turning to FIG. 19, the flowchart illustrates such a line height adjustment based on a function of the physical length of a line of text or the number of clusters per line. Step 1910 provides a determination of the required number of clusters per font line and the optimal default string length in clusters per font line. Step 1920 scales the original font size by dividing using the required number of clusters per line and the optimal default string length in clusters per line.

Как только высота строки определена в соответствии с размером шрифта, изменение размера шрифта изменит высоту строки. Если размер шрифта сделать больше, то определяемая высота строки не находится в линейных отношениях. В одном из вариантов осуществления изменение высоты строки при изменении размера шрифта может быть найдено, применяя показательную функцию. Показательная функция может включать в себя рассмотрение количества кластеров на кегельную шпацию. Первоначальный размер шрифта известен и высота строки для этого размера шрифта известна. Существует ограничение для увеличения размера шрифта. Высота строки не может быть меньше, чем сам шрифт. Поэтому, обращаясь к фиг. 20, график 2000 иллюстрирует найденные опытным путем возможные высоты строки для заданного размера шрифта в пунктах. Ось X 2002 представляет размер шрифта в пунктах; ось Y 2004 представляет длину строки в пунктах. Линия 2010 под углом в 45 градусов иллюстрирует высоту строки, которая равна размеру шрифта. При увеличении размера шрифта, размер высоты строки не увеличивается линейно. Вместо этого, при увеличении размера шрифта, требуемая высота строки уменьшается, как показано линией 2020. В одном из вариантов осуществления автоматический способ определения высоты строки использует показательную функцию. Данная функция использует переменное количество кластеров на кегельную шпацию. В частности, было обнаружено, что степенная функция может использоваться вместо использования в качестве показателя степени константы, изменяющейся между 1,02 и 1,07. Дополнительно, было обнаружено, что константа, которая может использоваться для всех шрифтов, равна 1,047. Эта константа приблизительно равна “пи”, деленному на 3. Другая переменная относится к совместимости “вниз”. Если 20%-ная высота строки для шрифта высотой 30 пунктов применяется, то другой размер шрифта должен быть с ним связан и дать ту же самую высоту строки для того же самого размера шрифта, независимо от того, где способ начинается.Once the line height is determined according to the font size, changing the font size will change the line height. If the font size is made larger, then the determined line height is not in a linear relationship. In one embodiment, a change in line height with a change in font size can be found using an exponential function. An exponential function may include considering the number of clusters per bowling. The initial font size is known, and the line height for this font size is known. There is a limit to increasing the font size. The line height cannot be less than the font itself. Therefore, referring to FIG. 20, graph 2000 illustrates empirically determined possible line heights for a given font size in points. The X axis 2002 represents the font size in points; the Y axis 2004 represents the length of the string in points. Line 2010 at an angle of 45 degrees illustrates the height of the line, which is equal to the size of the font. As the font size increases, the line height size does not increase linearly. Instead, as the font size increases, the required line height decreases, as shown by line 2020. In one embodiment, the automatic method for determining line height uses an exponential function. This function uses a variable number of clusters per bowling spacing. In particular, it has been found that a power function can be used instead of using a constant varying between 1.02 and 1.07 as an exponent. Additionally, it was found that the constant that can be used for all fonts is 1.047. This constant is approximately equal to pi divided by 3. Another variable refers to down compatibility. If a 20% line height for a font with a height of 30 points is applied, then a different font size must be associated with it and give the same line height for the same font size, regardless of where the method starts.

Обращаясь к фиг. 21, последовательность операций иллюстрирует способ определения размера шрифта. Этап 2110 обеспечивает определение соответствующей заданной по умолчанию спецификации высоты строки в отношении к предопределенной читаемой длине строки и размеру шрифта. Этап 2120 обеспечивает определение любых изменений значения размера шрифта, которые вызваны тем, что размер шрифта отличается от указанного значения по умолчанию. Как известно, больший шрифт требует меньшего коэффициента высоты строки от размера шрифта. Способы предшествующего уровня техники требуют, чтобы проектировщики выполняли настройку глазом. Если шрифт кажется плотным, то проектировщики добавляют межстрочный интервал. Если шрифт кажется свободным, то проектировщики уменьшают межстрочный интервал. Этап 2130 обеспечивает автоматическое определение новой высоты строки через определение разности между оптимальным заданным по умолчанию размером шрифта и реальным размером шрифта, и на этапе 2140 настраивают высоту строки с помощью константы, возведенной в степень разности между размерами шрифта. Уравнение (1,047 (FSO - FSA) × (LO/FSO - 1)) × FSA = LA представляет один из вариантов осуществления определения новой высоты строки согласно данному способу. В уравнении FSO представляет первоначальный заданный по умолчанию размер шрифта; FSA представляет новый размер шрифта; LO представляет первоначальную заданную по умолчанию высоту строки; и LА представляет новую высоту строки.Turning to FIG. 21, the flowchart illustrates a method for determining font size. Step 2110 provides a determination of the corresponding default line height specification in relation to a predetermined readable line length and font size. Step 2120 provides a determination of any changes in the font size value that are caused by the font size being different from the default value. As you know, a larger font requires a smaller line height factor from the font size. Prior art methods require designers to customize with the eye. If the font seems dense, then the designers add line spacing. If the font seems to be free, then the designers reduce the line spacing. Step 2130 automatically detects the new line height by determining the difference between the optimal default font size and the actual font size, and at step 2140, the line height is adjusted using a constant raised to the power of the difference between the font sizes. The equation (1,047 (FSO - FSA) × (L O / FS O - 1)) × FS A = LA represents one embodiment of determining the new row height according to this method. In the FS equation, O represents the initial default font size; FS A introduces a new font size; L O represents the initial default row height; and L A represents the new row height.

Для примера, чтобы найти новую высоту строки для шрифта Times New Roman с размером шрифта 14 пунктов, его значение по умолчанию может быть определено согласно способу, описанному выше для размера шрифта 10 пунктов и с высотой строки, равной 12,9 пунктов, и уравнение обеспечит следующие результаты: (1,047(10-14) × (12,9/10 - 1) +1) × 14 = ((1,047-4 × 0,29) + 1) × 14 = ((0,8321 × 0,29) + l) × 14 =1,2413 × 14 =17,38.For example, to find a new line height for a Times New Roman font with a font size of 14 points, its default value can be determined according to the method described above for a font size of 10 points and with a line height of 12.9 points, and the equation will provide the following results: (1,047 (10-14) × (12.9 / 10 - 1) +1) × 14 = ((1,047 -4 × 0.29) + 1) × 14 = ((0.8321 × 0, 29) + l) × 14 = 1.2413 × 14 = 17.38.

Диаграмма операций средства считывания показателейMeter Reading Operation Chart

Обращаясь к фиг. 22, последовательность операций показывает, как средство 240 считывания показателей обрабатывает входную информацию и как каждый вычисленный результат измерения совместно используется для определения других результатов измерения. Фиг. 22 показывает, как описанные выше варианты осуществления вписываются во всю систему средства 240 считывания показателей.Turning to FIG. 22, the flowchart shows how the metric reader 240 processes the input information and how each calculated measurement result is shared to determine other measurement results. FIG. 22 shows how the embodiments described above fit into the entire system of a metric reader 240.

Этап 2202 представляет вводимое из таблицы языков или другого источника количество кластеров в фиксации. С этапа 2202 способ переходит к этапу 2204, который выводит количество кластеров в строке с наилучшей читаемостью. Эти вычисления могут выполняться в соответствии с вышеприведенной таблицей.Step 2202 represents the number of clusters in the commit entered from a language table or other source. From step 2202, the method proceeds to step 2204, which displays the number of clusters in the row with the best readability. These calculations can be performed in accordance with the table above.

Этап 2206 представляет ввод информации от компьютерной системы, которая обеспечивает значение размера среды отображения, например размер экрана по диагонали. Этап 2208 представляет вычисления для определения заданного по умолчанию расстояния от среды отображения. Один из способов определения заданного по умолчанию расстояния описан выше со ссылкой к фиг. 10. Этап 2210 обеспечивает ввод “масштаба шрифта”, который может вводиться пользователем или посредством разметки страницы. Такая разметка может напоминать <Элемент масштаб шрифта = “1,2”> содержимое элемента. </Элемент>.Step 2206 represents inputting information from a computer system that provides a size value for the display medium, such as diagonal screen size. Step 2208 presents calculations to determine a default distance from the display medium. One way to determine the default distance is described above with reference to FIG. 10. Step 2210 provides a “font size” input that can be entered by the user or by page layout. Such markup may resemble the <Element font size = “1.2”> element content. </ Item>.

Каждый из этапов 2210, 2212, 2208 и 2202 обеспечивает ввод информации для вычисления оптимально читаемого размера шрифта. Этап 2214 представляет вычисление оптимально читаемого размера шрифта. Как описано выше, нахождение оптимального размера шрифта включает в себя сначала определение горизонтальной области на поверхности среды отображения в пределах предопределенного фовеального угла для предопределенного расстояния и определение размера шрифта согласно количеству кластеров, приходящихся на фиксацию, соответствующему заданному языку и шрифту. В одном из вариантов осуществления масштаб 2210 шрифта обеспечивает множитель для определения размера шрифта.Each of steps 2210, 2212, 2208, and 2202 provides input for calculating an optimum readable font size. Step 2214 represents calculating an optimum readable font size. As described above, finding the optimal font size includes first determining the horizontal area on the surface of the display medium within a predetermined foveal angle for a predetermined distance and determining the font size according to the number of clusters per fixation corresponding to a given language and font. In one embodiment, the font scale 2210 provides a multiplier for determining the font size.

Этап 2214 обеспечивает входную информацию для этапа 2216, который обеспечивает определение минимального и максимального размера шрифта. В одном из вариантов осуществления минимальный и максимальный размер шрифта основан на 25%-ном отклонении от оптимального размера шрифта, или 0,8, умноженное на предопределенный размер шрифта для минимального размера шрифта, или 1,33, умноженное на предопределенный размер шрифта для максимального размера шрифта. В другом варианте осуществления максимальное количество кластеров, содержащихся в одной фовеальной фиксации, определяет минимальный размер шрифта и максимальный размер шрифта для заданного языка.Step 2214 provides input to step 2216, which provides for determining a minimum and maximum font size. In one embodiment, the minimum and maximum font size is based on a 25% deviation from the optimal font size, or 0.8 times the predetermined font size for the minimum font size, or 1.33 times the predetermined font size for the maximum size font. In another embodiment, the maximum number of clusters contained in one foveal fixation determines the minimum font size and maximum font size for a given language.

Этапы 2218, 2220, 2222, 2224 могут представлять выходную информацию от средства 250 формирования параметров текста, которое обеспечивает входную информацию для определения коэффициента 2228 высоты оптимально читаемой строки, как описано выше со ссылкой к фиг. 15. В одном из вариантов осуществления этап 2228 принимает входную информацию 2226 масштаба высоты строки из разметки или вводимой пользователем информации, такой как <Элемент масштаб высоты строки = “1,5”> содержание элемента. </Элемент>.Steps 2218, 2220, 2222, 2224 may provide output from text parameter generating means 250, which provides input to determine a height factor 2228 of an optimally read line, as described above with reference to FIG. 15. In one embodiment, step 2228 receives input information 2226 of a line height scale from markup or user input, such as <Element line height scale = “1.5”> element content. </ Item>.

Этап 2230 обеспечивает определение минимального и максимального количества кластеров, приходящихся на строку. Определению минимального и максимального значений длины строки помогают возможные значения предпочтительного количества колонок, которые могут вводиться пользователем. В одном из вариантов осуществления предпочтительное количество колонок “низкое” обеспечивает оптимальную читаемую длину строки в кластерах для иммерсивного чтения. “Среднее”, “высокое” и “максимальное” значения предпочтительного количества колонок обеспечивают прогрессивно более короткие строки с меньшим количеством кластеров. Предпочтительное количество колонок “одна” расширяет длину строки в кластерах вне стандартного иммерсивного чтения.Step 2230 provides a determination of the minimum and maximum number of clusters per row. The determination of the minimum and maximum values of the line length helps the possible values of the preferred number of columns that can be entered by the user. In one embodiment, the preferred number of “low” columns provides optimal readable row length in clusters for immersive reading. The “average”, “high” and “maximum” values of the preferred number of columns provide progressively shorter rows with fewer clusters. The preferred number of “one” columns extends the length of the string in clusters outside the standard immersive read.

В одном из вариантов осуществления приращения однородны, в пределах от половины оптимального количества кластеров в строке до 1,167, умноженного на оптимальное количество кластеров в строке. Для определения минимальной длины строки в кластерах (Сm) и максимальной длины строки в кластерах (СM) применяют следующие уравнения: Сm = 0,5 × Cpl; СM = 1,167 × Cpl.In one embodiment, the increments are uniform, ranging from half the optimal number of clusters per row to 1.167 times the optimal number of clusters per row. To determine the minimum row length in clusters (C m ) and the maximum row length in clusters (C M ), the following equations are used: C m = 0.5 × C pl ; With M = 1,167 × C pl .

Минимальное и максимальное количество кластеров, приходящихся на строку 2232, наряду с количеством кластеров, приходящихся на наилучшим образом читаемой строке 2204, минимальным и максимальным читаемым размером шрифта 2216 и количеством кластеров на кегельную шпацию 2212 вводится на этапе 2232, где определяются оптимальная, минимальная и максимальная ширина колонки.The minimum and maximum number of clusters per line 2232, along with the number of clusters in the best-read line 2204, the minimum and maximum readable font size 2216, and the number of clusters per skittle 2212 is entered at step 2232, where the optimal, minimum, and maximum column width.

Минимальная ширина колонки может быть определена, вычисляя минимальный размер шрифта и умножая минимальный размер шрифта на наименьшее количество кластеров, которое разрешено в строке. Следующие уравнения определяют оптимальную, минимальную и максимальную ширину колонки, соответственно: CWO = FSO × Cpm × Cpl (количество кластеров, приходящихся на наилучшим образом читаемую строку); CWm = FSm × Cpm × Сm (минимальное количество кластеров на наилучшим образом читаемую строку) СWM = FSM × Cpm × CM (максимальное количество кластеров на наилучшим образом читаемую строку).The minimum column width can be determined by calculating the minimum font size and multiplying the minimum font size by the smallest number of clusters that are allowed per row. The following equations determine the optimal, minimum, and maximum column widths, respectively: CW O = FS O × C pm × C pl (the number of clusters per best-read row); CW m = FS m × C pm × C m (minimum number of clusters per best-read row) CW M = FS M × C pm × C M (maximum number of clusters per best-read row).

До определения оптимального, минимального и максимального количества 2242 колонок, средство 240 считывания показателей сначала определяет потенциальную реальную ширину 2240 набора. Реальная область набора - область размещения, которая находится между полями страницы. Потенциальная реальная область набора - разность между размером окна и определяемыми пользователем установками значения полей. Поля вычисляются, основываясь на самом коротком размере (измерении) страницы. Поэтому сначала выполняется этап оценки, для определения того, какой из вертикального размера или горизонтального размера страницы меньше. Значение размера полей, которые требуются в разметке, затем вычитается из самого маленького размера. Результатом является реальная область набора. Входная информация для определения потенциальной реальной ширины набора включает в себя ширину окна (WW) 2234, высоту окна (WH) 2236 и пользовательские предпочтительные значения полей (MP) 2238. Таким образом, для определения ширины потенциальной реальной области набора (LWO) предпочтительное значение размеров полей в разметке (MP) вычитается из значения ширины окна (в пунктах) и умножается на самое короткое измерение окна: WW - (минимальное значение из (WW, WH) × MP × 2).Prior to determining the optimal, minimum, and maximum number of 2242 columns, the metric reader 240 first determines the potential actual width 2240 of the set. The real set area is the placement area that is between the margins of the page. The potential real set area is the difference between the window size and the user-defined field value settings. Fields are calculated based on the shortest page size (dimension). Therefore, the evaluation step is first performed to determine which of the vertical size or horizontal page size is smaller. The size value of the fields that are required in the markup is then subtracted from the smallest size. The result is a real set area. Input information for determining the potential real set width includes window width (WW) 2234, window height (WH) 2236, and user preferred field values (MP) 2238. Thus, to determine the width of the potential real set area (LW O ), the preferred value the sizes of the fields in the markup (MP) are subtracted from the window width (in points) and multiplied by the shortest window dimension: WW - (the minimum value from (WW, WH) × MP × 2).

Размер потенциальной реальной области набора 2240 и оптимальная, минимальная и максимальная ширина колонки (CWO; CWm и CWM соответственно) 2232 обеспечивают входную информацию для определения оптимального, минимального и максимального количества колонок (CCO; CCm и ССм соответственно) 2242. В одном из вариантов осуществления для определения количества колонок, уравнение позволяет вычислить количество колонок каждого из размеров, которые могут помещаться в потенциальной реальной ширине набора. Выходная информация обеспечивает диапазон минимального, максимального и оптимального количества колонок, которые будут помещаться на странице. Возможное количество колонок (CC) может вычисляться для минимальной, максимальной и оптимальной ширины колонки, деля потенциальную реальную ширину набора на ширину колонки. Следующие уравнения применяются для определения оптимального, минимального и максимального количества колонок: CCО = LWО × CWO; CCm = LWO × CWM; CCM = LWO × CWm.The size of the potential real set area 2240 and the optimal, minimum and maximum column width (CW O ; CW m and CW M, respectively) 2232 provide input to determine the optimal, minimum and maximum number of columns (CC O ; CC m and CC m, respectively) 2242 In one embodiment, for determining the number of columns, the equation allows you to calculate the number of columns of each of the sizes that can fit in the potential real width of the set. The output provides a range of the minimum, maximum, and optimal number of columns that will fit on the page. The possible number of columns (CC) can be calculated for the minimum, maximum, and optimal column widths by dividing the potential actual set width by the column width. The following equations are used to determine the optimal, minimum, and maximum number of columns: CC O = LW O × CW O ; CC m = LW O × CW M ; CC M = LW O × CW m .

Обращаясь к этапам 2244 и 2246, после того как количество колонок определено, средство 240 считывания показателей использует количество колонок и вводимое пользователем предпочтительное значение количества колонок для определения фактического количества выбранных колонок.Turning to steps 2244 and 2246, after the number of columns is determined, the metric reader 240 uses the number of columns and a user-entered preferred value for the number of columns to determine the actual number of selected columns.

Вычисление фактического количества необходимо, потому что уравнения этапа 2242 не вырабатывают общее количество колонок. На этапе 2242 фактическое количество колонок, которое требуется через предпочтительное количество колонок 2244, округляется до соответствующего целого количества колонок (CCA). В одном из вариантов осуществления этап 2246 является оценочным. Если предпочтительное количество колонок = “одна” (“0”), то CCA будет автоматически равняться 1. Если предпочтительное количество колонок = “низкое” (“1”), то CCA будет округляться до CCО.The calculation of the actual quantity is necessary because the equations of step 2242 do not produce the total number of columns. At step 2242, the actual number of columns that is required through the preferred number of columns 2244 is rounded to the corresponding integer number of columns (CC A ). In one embodiment, step 2246 is evaluative. If the preferred number of columns = “one” (“0”), then CC A will automatically be 1. If the preferred number of columns = “low” (“1”), then CC A will be rounded to CC O.

Если предпочтительное количество колонок (CP) = “среднее | высокое” (“2 | 3”), то значение CCA должно вычисляться.If the preferred number of columns (CP) = “average | high ”(“ 2 | 3 ”), then CC A must be calculated.

Если предпочтительное количество колонок (CP) = “максимальное” (“4”), то CCA будет округляться до ССМ.If the preferred number of columns (CP) = “maximum” (“4”), then CC A will be rounded to CC M.

Вычисления для значений “среднее” и “высокое” будут одной третью и двумя третями между оптимальным значением и максимальным значением. Поэтому CCA может округляться до:The calculations for the mean and high values will be one third and two thirds between the optimal value and the maximum value. Therefore, CC A can be rounded to:

(( CCM - CCO) × 3 ) + CC0 (среднее),((CC M - CC O ) × 3) + CC 0 (average),

((( CCM - CCO ) × 3 ) × 2 ) + CC0 (высокое).(((CC M - CC O ) × 3) × 2) + CC 0 (high).

Следующий псевдокод демонстрирует работу этапа 2246:The following pseudo code demonstrates the operation of step 2246:

IF CP = 0,IF CP = 0,

THEN CCA =1,THEN CC A = 1,

ELSE CCA = ((( CCM - CCO ) / 3 ) × ( CP - 1 )) + CCO.ELSE CC A = (((CC M - CC O ) / 3) × (CP - 1)) + CC O.

Округление для общего количества колонок будет до большего значения, если требуемое количество колонок имеет дробную часть, превышающую 0,75, а иначе будет округляться до меньшего значения. Это значение 0,75 может быть изменено с помощью введения автором или пользователем другого значения.Rounding for the total number of columns will be to a larger value if the required number of columns has a fractional part greater than 0.75, otherwise it will be rounded to a lower value. This 0.75 value can be changed by entering another value by the author or user.

Этап 2248 обеспечивает определение реальной ширины набора и принимает от этапа 2232 входную информацию оптимальной, минимальной и максимальной ширины колонки, от этапа 2240 - информацию потенциальной реальной ширины набора, от этапа 2244 - предпочтительные значения количества колонок, и от этапа 2246 - количество колонок.Step 2248 provides a determination of the actual width of the set and receives from step 2232 input information for the optimal, minimum, and maximum column widths, from step 2240, information about the potential real width of the set, from step 2244 the preferred values for the number of columns, and from step 2246, the number of columns.

Поскольку фактическая реальная ширина набора (LWA) никогда не может быть больше, чем предварительно вычисленная потенциальная реальная ширина набора (LWO), то при вычислении сравнивают вычисленное значение с потенциальной шириной для проверки того, какая из них меньше. Меньшее значение является определяющим. Вычисление реальной ширины набора также имеет специальные случаи, базирующиеся на разметке пользователя для предпочтительного количества колонок. Если предпочтительное количество колонок = “одна”, то этап 2248 обеспечивает на странице колонку такого большого размера, который будет помещаться в пределах параметров количества кластеров в строке 2204 и размера 2214 шрифта. Если предпочтительное количество колонок “низкое”, то средство 240 считывания показателей пытается найти оптимальное значение опытным путем. Большее предпочтительное количество колонок может быть ограничено шириной доступного пространства. Следующий псевдокод демонстрирует определение реальной ширины набора.Since the actual actual set width (LW A ) can never be larger than the previously calculated potential real set width (LW O ), when calculating, the calculated value is compared with the potential width to check which one is smaller. A lower value is decisive. The calculation of the actual width of the set also has special cases based on user markup for the preferred number of columns. If the preferred number of columns = “one,” then step 2248 provides a column on the page with such a large size that will fit within the number of clusters in line 2204 and font size 2214. If the preferred number of columns is “low”, then the indicator reading engine 240 tries to find the optimal value experimentally. A larger preferred number of columns may be limited by the width of the available space. The following pseudo-code demonstrates the determination of the actual width of the set.

IF CP = 0,IF CP = 0,

THEN минимальное значение из СWM или LWO = LWA,THEN minimum value from СW M or LW O = LW A ,

ELSEELSE

IF CP=1,IF CP = 1,

THEN минимальное значение из (CCA × CWO) + (CWO × (CP - 1) × 0,075) или LWO = LWA,THEN minimum value from (CC A × CW O ) + (CW O × (CP - 1) × 0.075) or LW O = LW A ,

ELSE LW0 = LWA.ELSE LW 0 = LW A.

Количество 2246 колонок и реальная ширина набора 2248 вводятся к этапу 2250, который вычисляет фактическую ширину промежутка между колонками (CGA). Ширина промежутка между колонками может быть эквивалентна промежутку между колонками в свойствах разметки. Одно из различий состоит в том, что единица измерений для этапа 2250 может основываться на части колонки, но может немного повлиять на результат измерения колонки при распространении на множество колонок. С помощью следующего уравнения можно определить фактическую ширину расстояния между колонками (CGA): LWA × CCA × 0,075 = CGA.The number of 2246 columns and the actual width of the set 2248 are introduced to step 2250, which calculates the actual width of the gap between the columns (CG A ). The gap between the columns may be equivalent to the gap between the columns in the layout properties. One of the differences is that the unit of measure for step 2250 may be based on a portion of a column, but may slightly affect the measurement result of a column when distributed to multiple columns. Using the following equation, you can determine the actual column spacing width (CG A ): LW A × CC A × 0.075 = CG A.

Обращаясь к этапу 2252, когда фактическая ширина расстояния между колонками определена, может определяться фактическая ширина колонки (CWA), которая может быть равна свойству разметки “ширина колонки”. Когда количество колонок, реальная ширина и расстояние между колонками известны, точный размер колонки может быть вычислен, используя следующее уравнение: (LWA × CCA) - ((CCA-1) × CGA) = CWA.Turning to step 2252, when the actual width of the column spacing is determined, the actual column width (CW A ) can be determined, which may be equal to the “column width” markup property. When the number of columns, the actual width and the distance between the columns are known, the exact column size can be calculated using the following equation: (LW A × CC A ) - ((CC A -1) × CG A ) = CW A.

Обращаясь к этапу 2254, средство 240 считывания показателей вычисляет фактический размер шрифта (FSA), используя входную информацию от этапов 2252, 2212, 2214 и 2230. В одном из вариантов осуществления определение фактического размера шрифта выполняется с помощью вычисления рекомендованного размера шрифта (FSr) для размещения и последующего сравнения рекомендованного размера шрифта с минимальным размером шрифта и максимальным размером шрифта для обеспечения того, чтобы размер шрифта находился в пределах диапазона, который был вычислен ранее. Предыдущий процесс также является условным процессом, определяющим, является ли строка слишком длинной или слишком короткой для использования оптимального размера шрифта, из-за количества кластеров, которые появятся в строке. Только когда диапазон количества кластеров превышает оптимальное значение, изменяют размеры шрифта. Следующий псевдокод может выполнить вычисления для этапа 2254:Turning to step 2254, the metric reader 240 calculates the actual font size (FS A ) using input from steps 2252, 2212, 2214, and 2230. In one embodiment, determining the actual font size is performed by calculating the recommended font size (FS r ) to place and then compare the recommended font size with the minimum font size and maximum font size to ensure that the font size is within the range that was previously calculated. The previous process is also a conditional process that determines whether the string is too long or too short to use the optimal font size, due to the number of clusters that appear in the string. Only when the range of the number of clusters exceeds the optimum value, the font size is changed. The following pseudo code can perform the calculations for step 2254:

IF: CWA > FSO × CM ÷ Cpm,IF: CW A > FS O × C M ÷ C pm ,

THEN CWA - CM × Cpm,THEN CW A - C M × C pm ,

ELSE IF: CWA < FSO × Cm ÷ Cpm,ELSE IF: CW A <FS O × C m ÷ C pm ,

THEN:CWA ÷ Cm × Cpm,THEN: CW A ÷ C m × C pm ,

ELSE: FSO = FSr.ELSE: FS O = FS r .

Проверка границ для завершения определения фактического размера шрифта (FSA) также является условным выражением:Border checking to complete the determination of the actual font size (FS A ) is also a conditional expression:

IF: FSr > FSM,IF: FS r > FS M ,

THEN: FSM,THEN: FS M ,

ELSE IF: FSr < FSm,ELSE IF: FS r <FS m ,

THEN: FSm,THEN: FS m ,

ELSE: FSr = FSA.ELSE: FS r = FS A.

Обращаясь к этапу 2256, на нем вычисляется фактические количество кластеров на строку, используя значения, определенные на этапе 2254 и этапе 2252. Определение фактического количества кластеров, приходящихся на строку, выполняется до определения соответствующего значения высоты строки для конкретного шрифта. Следующее уравнение определяет количество кластеров на строку: CWA × FSA × Cpm.Turning to step 2256, it computes the actual number of clusters per line using the values determined in step 2254 and step 2252. The actual number of clusters per line is determined before determining the corresponding line height for a particular font. The following equation determines the number of clusters per row: CW A × FS A × C pm .

Обращаясь к этапу 2258, средство 240 считывания показателей определяет фактическую высоту строки (LА) как коэффициент к размеру шрифта, который будет применен к наилучшим образом читаемому тексту для данной среды. Способ определения фактической высоты строки включает в себя по меньшей мере две настройки. Сначала, средство 240 считывания показателей оптимизирует высоту строки для размера шрифта, если FSA ≠ FSО. Оптимизация обеспечивает, чтобы шрифты большего размера не приняли пропорционально такую же большую высоту строки, как меньшие шрифты. Затем, средство 240 считывания показателей настраивает высоту строки для длины строки. Следующее уравнение выполняет оптимизацию и настройку: ((CA × (1,047 (FSO - FSA) × (Lо - 1))) × Cpl) + 1.Turning to step 2258, the metric reader 240 determines the actual line height (L A ) as a ratio to the font size that will be applied to the best-read text for a given environment. A method for determining the actual row height includes at least two settings. First, a metric reader 240 optimizes line height for font size if FS A ≠ FS O. Optimization ensures that larger fonts do not accept proportionally the same large line height as smaller fonts. Then, the metric reader 240 adjusts the row height for the row length. The following equation performs optimization and tuning: ((C A × (1,047 (FS O - FS A ) × (Lo - 1))) × C pl ) + 1.

Следующая часть уравнения: (1,047 (FSO - FSA) × (LO - 1), настраивает размер шрифта. Остальная часть настраивает длину строки. Результатом является оптимальная высота строки для фактического размера шрифта для фактической ширины колонки.The following part of the equation: (1,047 (FS O - FS A ) × (L O - 1), sets the font size. The rest of the sets the line length. The result is the optimal line height for the actual font size for the actual column width.

Возвращаясь к фиг. 20, на фиг. 20 показана часть уравнения для размера шрифта. Фиг. 23 иллюстрирует график 2300 для настройки длины строки. Как показано, ось X 2302 представляет размер шрифта, а ось Y 2304 представляет высоту строки. Выполняется настройка для линии 2320 (она та же самая, что и 2020) для строки, которая имеет половину длины, показанной линией 2323, и для линии 2330 для строки, в 1,5 раза более длинной.Returning to FIG. 20, in FIG. 20 shows a portion of the equation for font size. FIG. 23 illustrates a graph 2300 for adjusting line length. As shown, the X axis 2302 represents the font size, and the Y axis 2304 represents the height of the line. The setting is made for line 2320 (it is the same as 2020) for a line that is half the length shown by line 2323, and for line 2330 for a line 1.5 times longer.

Возвращаясь к фиг. 22, на этапе 2260 обеспечивают вычисление фактического значения по умолчанию размера шрифта существенно тем же самым способом, как размер шрифта основного текста, но основываясь на установленном пользователем значении 0,75, умноженном на минимальное количество кластеров в строке (Cm), и реальной фактической ширине набора (LWA). Применяется следующее уравнение: HFSA = LWA × (0,75 × Cm) x Cpm.Returning to FIG. 22, in step 2260, the actual default font size is calculated in substantially the same way as the font size of the main text, but based on a user-defined value of 0.75 times the minimum number of clusters per row (C m ) and the actual set width (LW A ). The following equation applies: HFSA = LW A × (0.75 × C m ) x C pm .

В одном из вариантов осуществления размер шрифта заголовка фиксируется в верхней части диапазона для считывания выхода средства 240 считывания показателей.In one embodiment, the header font size is fixed at the top of the range for reading the output of the metric reader 240.

Обращаясь к этапу 2262, заданная по умолчанию высота строки для размера шрифта заголовка (HLA) определяется согласно тому же самому уравнению, как для фактической высоты строки для размера шрифта основного текста 2258. Коэффициент генерируется на основании HFSA, а не FSA, и установленное пользователем значение 0,75 умножается на минимальное количество кластеров в строке (Cm) следующим образом:Turning to step 2262, the default row height for the header font size (HL A ) is determined according to the same equation as for the actual row height for the font size of the main text 2258. The coefficient is generated based on HFS A , not FS A , and a user-set value of 0.75 is multiplied by the minimum number of clusters per row (C m ) as follows:

(( 0,75 × Cm × ( 1,047(FSO - HFSA) × (L0 - 1))) × Cpl ) + 1 = HLA.((0.75 × C m × (1,047 (FS O - HFSA) × (L 0 - 1))) × C pl ) + 1 = HL A.

Высота строки нежестко основана на длине строки и размере шрифта и находится в промежутке между размером основного текста и размером заголовка для данного коэффициента размера шрифта. Таким образом, когда основной текст имеет высоту строки 1,16, умноженное на размер шрифта, высота строки для шрифта заголовка может быть только 1,05, умноженное на размер шрифта заголовка.Line height is not strictly based on line length and font size and lies between the size of the main text and the title size for a given font size factor. Thus, when the body text has a line height of 1.16 times the font size, the line height for the title font can only be 1.05 times the font size of the title.

Обращаясь к этапу 2264, пункт средства считывания показателей определяется, используя входную информацию от фактического размера шрифта заголовка 2260 и фактического размера шрифта 2254. Пункт средства считывания показателей относится к двум типографски-связанным пунктам: оптимальный читаемый размер шрифта для размещения и оптимальный размер шрифта верхнего уровня для заголовка в окне. В зависимости от них средство 240 считывания показателей строит график с помощью элементов приращения, каждый из которых определяется в месте пересечения как типографский пункт для данного семейства шрифта. Чтобы выполнять преобразование между “реальными” пунктами, равными 1/72'', и пунктами средства считывания показателей, могут быть созданы эквиваленты для верхней и нижней границ.Turning to step 2264, the metric reader item is determined using input from the actual font size of the header 2260 and the actual font size 2254. The metric reader item refers to two typographically-related items: the optimal readable font size for placement and the optimal top-level font size for the title in the window. Depending on them, the indicator reading means 240 constructs a graph using increment elements, each of which is defined at the intersection as a typographic point for a given font family. In order to perform the conversion between “real” points equal to 1/72 ”and the points of the reading means, equivalents can be created for the upper and lower bounds.

Значение пункта средства считывания показателей основано на сравнении заданного по умолчанию размера шрифта окна и фактического размера шрифта, который был вычислен. Значение по умолчанию - 12 пунктов. Поэтому, при преобразовании к значениям средства 240 считывания показателей, любая ссылка к шрифту 12 пункта интерпретируется как ссылка к FSA. Размеры ниже 12 пунктов интерпретируется с помощью коэффициента, который делит FSA на 12 частей. Следовательно:The value of the metric reader item is based on a comparison of the default window font size and the actual font size that was calculated. The default value is 12 points. Therefore, when converting to the values of the indicator reading means 240, any link to the font 12 of the paragraph is interpreted as a link to FS A. Sizes below 12 points are interpreted using a factor that divides FS A into 12 parts. Hence:

Пункт средства считывания показателей = FSA × 12.Parameter Reading Point = FS A × 12.

Однако значение пункта средства считывания показателей для шрифта выше 12 пунктов не обязательно равно значению пункта для размера шрифта, равному или ниже 12 пунктов. Значение пункта средства считывания показателей для размера шрифта выше 12 пунктов основано на делении промежутка между предварительно установленным оптимальным размером шрифта заголовка 48 пунктов (значение по умолчанию, поскольку оно является значением по умолчанию для размера шрифта текста Windows®) и размером основного текста в 12 пунктов. Поэтому для размера более 12 пунктов используется следующая формула:However, the value of the item readout indicators for a font above 12 points is not necessarily equal to the value of the point for the font size equal to or below 12 points. The reading point value for a font size above 12 points is based on dividing the gap between the preset optimal header font size of 48 points (the default value because it is the default value for the Windows® text font size) and the body size of 12 points. Therefore, for a size greater than 12 points, the following formula is used:

Пункты средства считывания показателей = (HFSA - FSA) - 36.Meter Reading Points = (HFSA - FS A ) - 36.

Чтобы вычислить выходной размер для любого шрифта разметки (FSµ), используется следующая составная формула:To calculate the output size for any markup font (FSµ), the following compound formula is used:

IF, FSµ ≤12,IF, FSµ ≤12,

THEN, FSµ × FSA ÷ 12,THEN, FSµ × FS A ÷ 12,

ELSE, ((FSµ - 12 ) × (( HFSA - FSA ) ÷ 36 )) + FSA.ELSE, ((FSµ - 12) × ((HFSA - FS A ) ÷ 36)) + FS A.

В результате этой операции, любой размер шрифта разметки может интерпретироваться в соответствии со значением пункта средства считывания показателей, которое включает в себя заданные по умолчанию результаты измерения для размера шрифта, которые генерируются из таких стандартов, как стандарт иерархических (каскадных) стилевых таблиц (CSS), как “очень-очень маленький”, “очень маленький”, “маленький”, “средний”, “большой”, “очень большой”, “очень-очень большой”, и значения по умолчанию для всех уровней заголовков равны от 1 до 7. Следует обратить внимание, что пункты средства считывания показателей применяются только к пунктам размера шрифта, а не к любому другому результату измерения в пунктах.As a result of this operation, any markup font size can be interpreted in accordance with the value of the metric reader item, which includes the default measurement results for the font size, which are generated from standards such as the hierarchical (cascading) style sheet (CSS) standard like “very very small”, “very small”, “small”, “medium”, “large”, “very large”, “very very very large”, and the default values for all levels of headings are from 1 to 7. Following so pay attention to what items are indicators of reading means apply only to items font size, and not to any other outcome measurement in points.

Обращаясь к этапу 2266, фактическое значение полей является блоком, который называется “поля”, который может использоваться в комбинациях, которые настраивают значения некоторых других блоков (особенно размер колонки). Фактический размер полей (MA) определяется с помощью меньшего из реальной ширины набора (LWA) или высоты окна, и предпочтительного значения полей (MP). Если высота окна меньше, чем реальная ширина набора, то фактическое значение полей определяется как высота окна, умноженная на предпочтительное значение полей. Однако если реальная ширина набора меньше, чем высота окна, то средство считывания показателей вычисляют с помощью реальной ширины набора, разделенной на 1, минус предпочтительное значение полей. Следовательно, формула для полей (MA) является следующей:Turning to step 2266, the actual value of the fields is a block called “fields” that can be used in combinations that adjust the values of some other blocks (especially the size of the column). The actual margin size (MA) is determined using the smaller of the actual set width (LW A ) or window height, and the preferred margin value (MP). If the window height is less than the actual width of the set, then the actual value of the fields is defined as the window height multiplied by the preferred field value. However, if the actual set width is smaller than the window height, then the metric reader is calculated using the real set width divided by 1, minus the preferred margin value. Therefore, the formula for the fields (M A ) is as follows:

IF, WH < LWA,IF, W H <LW A ,

THEN, WH × MP,THEN, W H × M P ,

ELSE, ((LWA ÷ ( 1 - 2MP )) - LWA) ÷ 2.ELSE, ((LW A ÷ (1 - 2M P )) - LW A ) ÷ 2.

Обращаясь к этапу 2268, фундаментальным инструментом для проектировщиков размещения в течение прошлых 500 лет была сетка. Но ее всегда рассматривали как статический инструмент, уместный только в одной публикации для заданного размера страницы. Allen Hurlburt в своей книге, выпущенной в 1977 г., Layout: The Design of the Printed Page (Watson-Guptill Publications, NY, NY 1977, 1989. Page 82), приведенной для справки, утверждает:Turning to step 2268, the grid has been a fundamental tool for placement designers for the past 500 years. But it has always been considered as a static tool, relevant in only one publication for a given page size. Allen Hurlburt, in his 1977 book Layout: The Design of the Printed Page (Watson-Guptill Publications, NY, NY 1977, 1989. Page 82), cited for reference, states:

«Сетка проектировщика упорядочивает конкретное содержимое относительно точного места, которое оно будет занимать. Когда используется сетка, она дает возможность проектировщику создавать много различных размещений, содержащих разнообразие элементов в пределах структуры сетки. При использовании в разработки публикации, рекламной кампании или серии, она дает ощущение непрерывной последовательности, даже когда существуют значительные изменения в содержимом каждого отдельного модуля.»“The designer grid organizes specific content relative to the exact place it will occupy. When a grid is used, it enables the designer to create many different arrangements containing a variety of elements within the grid structure. When used in the development of a publication, advertising campaign or series, it gives a sense of continuous consistency, even when there are significant changes in the content of each individual module. ”

Хотя Hurlburt подчеркивает важность и необходимость хорошей сетки и в этой, и в своих более поздних публикациях, The Grid (1978) и The Design Concept (1981), он неоднократно подчеркивает, что статический характер сетки является именно тем, что делает ее полезной для использования проектировщиками. Однако проектировщики в электронном мире, в котором размер дисплея и его форма не известны заранее, были неспособны создать надежные сетки, если заранее не закреплять размер и форму дисплея.Although Hurlburt emphasizes the importance and necessity of a good mesh in both this and his later publications, The Grid (1978) and The Design Concept (1981), he repeatedly emphasizes that the static nature of the mesh is exactly what makes it useful to use. by designers. However, designers in the electronic world, in which the size of the display and its shape are not known in advance, were unable to create reliable grids if the size and shape of the display were not fixed in advance.

Средство 240 считывания показателей выводит размер элемента сетки (GU) 2268, который является динамическим и масштабируемым для широкого разнообразия размеров шрифтов и дисплеев. Входная информация для этапа 2268 включает в себя фактическую ширину колонки (CWA) 2252, фактический размер шрифта (FSA) 2254, количество кластеров в наилучшим образом читаемой строке (Cpl) и количество кластеров, приходящихся на кегельную шпацию (Cpm). Ширина каждого элемента сетки основана на определении оптимального количества кластеров на строку (Cpl), сбалансированного с помощью фактической ширины колонки (CWA). Уравнение делит Cpl на 6 и затем определяет, сколько элементов такой длины будет помещаться в CWA при данном FSA. Дробные части распределяются равномерно по ширине целого элемента сетки. Следовательно:The metric reader 240 outputs a grid element size (G U ) of 2268, which is dynamic and scalable for a wide variety of font sizes and displays. The input for step 2268 includes the actual column width (CW A ) 2252, the actual font size (FS A ) 2254, the number of clusters in the best-read row (C pl ), and the number of clusters per skittle (C pm ). The width of each grid element is based on determining the optimal number of clusters per row (C pl ), balanced by the actual column width (CW A ). The equation divides C pl by 6 and then determines how many elements of this length will fit in CW A for a given FS A. Fractional parts are distributed evenly across the width of the whole grid element. Hence:

GUA= CWA ÷ усеченное значение от ((6 × CWA × Cpm) ÷ ( FSA × Cpl)).G UA = CW A ÷ truncated value from ((6 × CW A × C pm ) ÷ (FS A × C pl )).

Сетка имеет одно измерение, основанное на его ширине. Если элемент сетки используется в качестве значения измерения высоты, он имеет то же самое значение в качестве значения ширины. В одном из вариантов осуществления размер элемента сетки может изменяться динамически, деля вертикальное пространство по-другому, чем горизонтальное пространство.The grid has one dimension based on its width. If a mesh element is used as a height measurement value, it has the same value as a width value. In one embodiment, the mesh element size can change dynamically, dividing the vertical space differently than the horizontal space.

Обращаясь к этапу 2270, колонка имеет различные измерения при использовании по высоте и ширине. Таким образом, при использовании в разметке ширина 1 колонки имеет другие размеры, чем высота 1 колонки. В одном из вариантов осуществления фактическая высота колонки делится без остатка на общее количество строк. Поэтому высота окна (WH), которая меньше полей, равна потенциальной реальной высоте набора (LHO). Усеченное значение от LHO, разделенное на длину строки (LА), умноженное на длину строки, равняется высоте колонки (СН). Другими словами, WH - (2 × MA) (или другой коэффициент, если разметка указывает поля большего размера чем 1MA) = LHО. Turning to step 2270, the column has various dimensions when used in height and width. Thus, when used in the layout, the width of 1 column has other dimensions than the height of 1 column. In one embodiment, the actual column height is divided without a remainder by the total number of rows. Therefore, the window height (W H ), which is less than the margins, is equal to the potential real set height (L HO ). The truncated value from L HO divided by the length of the line (L A ) times the length of the line equals the height of the column (C H ). In other words, W H - (2 × MA) (or another factor if the markup indicates fields larger than 1MA) = L HO.

(Усеченное значение от (LHO / LА)) × LА = CH.(Truncated value from (L HO / L A )) × L A = C H.

Обращаясь к этапу 2272, фактическая высота страницы (PH) равна высоте колонки плюс верхнее и нижнее поля. Поэтому PH = CH + 2MA (или другой коэффициент, если разметка указывает поля большего размера чем 1MA или вверху, или внизу).Turning to step 2272, the actual page height (P H ) is equal to the height of the column plus the top and bottom margins. Therefore, P H = C H + 2MA (or another factor if the markup indicates fields larger than 1MA either above or below).

Обращаясь к этапу 2274, фактическая ширина страницы (PW) равна сумме ширины колонок, ширины расстояний между колонками и левого и правого полей. Поэтому PW = (CWA × CCA) + (CGA × (CCA - 1)) + (2 × MA).Turning to step 2274, the actual page width (P W ) is the sum of the width of the columns, the width of the distances between the columns and the left and right margins. Therefore, P W = (CW A × C CA ) + (CG A × (C CA - 1)) + (2 × MA).

Таким образом, страница имеет различные размеры по высоте по сравнению с шириной, и они могут быть не равны размеру окна.Thus, the page has different sizes in height compared to the width, and they may not be equal to the size of the window.

Обращаясь назад к фиг. 2 в комбинации с фиг. 22, способы, описанные выше для определения высоты строки, колонки и размера шрифта, допускают автоматическое определение оптимальных размеров для удобочитаемости на среде отображения при воспроизведении текста. В каждом случае соответствующее устройство для воплощения представленных способов может включать в себя компьютерные компоненты, такие как микропроцессор, для воплощения данных способов. Например, для целей определения оптимального размера шрифта, такое устройство, как принтер или карманный компьютер, способный связываться с принтером или устройством отображения, может принимать ширину среды отображения и расстояние от среды отображения в качестве входной информации и обеспечивать в качестве выходной информации оптимальный размер и высоту строки для шрифта или автоматически выводить информацию, используя определенные оптимальные размер шрифта и высоту строки. Устройство может также быть компьютером, переносным компьютером или микропроцессорным блоком, установленным в принтере и т.п. Информация с принтера или устройства может выводиться на среду отображения. Также, среда отображения может быть напечатанной страницей, экраном, связанным беспроводным образом средством отображения, доской объявлений, изображением или любым средством воспроизведения шрифта. В некоторых вариантах осуществления ввод размеров среды отображения и расстояния от среды отображения может осуществляться по сети или в сетевой клиентской среде, через подключение к Интернету или подобные им.Turning back to FIG. 2 in combination with FIG. 22, the methods described above for determining line height, column size, and font size allow automatic determination of optimum sizes for readability in a display environment when reproducing text. In each case, an appropriate device for implementing the presented methods may include computer components, such as a microprocessor, for implementing these methods. For example, for the purpose of determining the optimal font size, a device such as a printer or PDA capable of communicating with a printer or display device may accept the width of the display medium and the distance from the display medium as input information and provide the optimal size and height as output information lines for the font or automatically display information using certain optimal font size and line height. The device may also be a computer, laptop computer, or microprocessor unit installed in a printer or the like. Information from a printer or device can be displayed on a display environment. Also, the display medium may be a printed page, a screen, a wirelessly connected display means, a message board, an image, or any font reproducing means. In some embodiments, the input of the dimensions of the display medium and the distance from the display medium may be carried out over a network or in a network client environment, through an Internet connection or the like.

Фиг. 22, описанная выше, иллюстрирует операции, которые происходят в средстве 202 размещения, показанном на фиг. 2. Обращаясь теперь к фиг. 24, один из вариантов осуществления направлен на использование средства 202 размещения вместе со средством международного перевода. Средство международного перевода в этом контексте включает в себя программы-преводчики, известные из предшествующего уровня техники, которые способны переводить текст на заданном языке и обеспечивают вывод текста на другом языке. Например, известны средства перевода, доступные по Интернету, которые соответствуют данным вариантам осуществления, которые переводят текст, расположенный в конкретном месте, указанном унифицированным указателем информационного ресурса (URL), на другой язык. Обращаясь к фиг. 24, там показана структурная схема, которая включает в себя средство 202 размещения и прикладную программу 200. Прикладная программа 200 могла быть любой прикладной программой, выполняющейся в компьютере 110, показанном на фиг. 1. Для данного варианта осуществления соответствующие прикладные программы включают в себя, например, Microsoft Word, Microsoft Publisher, QuarkXPress, Adobe InDesign, так же как другие прикладные программы, которые выполняются с помощью или через подключение к серверу, например вместе с браузером или прикладной программой почтового типа, такой как Microsoft Outlook® и т.п. Показанная прикладная программа 200 включает в себя ведомость 210 свойств и значения 220 свойств, хотя в одном из вариантов осуществления ведомость 210 свойств и значения 220 свойств могут быть доступными компонентами, так что прикладная программа 200 только связывается с другой прикладной программой, которая выдает содержимое компонентов ведомости 210 свойств и компонентов значения 220 свойств. Фиг. 24 дополнительно показывает внешнее средство 2460 международного перевода, соединенное с прикладной программой 200 через соединение 2470. Внешнее средство международного перевода показывают как внешний компонент для тех вариантов осуществления, в которых прикладная программа 200 способна обращаться к средству перевода через Интернет или через серверное подключение к сетевому средству перевода, например, по локальной сети. Альтернативно, внешнее средство международного перевода может быть внешним только для прикладной программы 200, например доступным через центральную шину компьютерной системы. Обращаясь к фиг. 25 в комбинации с фиг. 24, в одном из вариантов осуществления внешнее средство международного перевода переводит текст, созданный или принятый в прикладной программе 200, этап 2510. Изменения свойств, которые происходят из-за внешнего средства 2460 международного перевода, передаются или к прикладной программе 200 для изменения элементов в ведомости 210 свойств или значения 220 свойств, или непосредственно на средство 202 размещения, как показано на этапе 2520. Средство 202 размещения может иметь, но это не требуется для данного варианта осуществления, средство 2462 международного перевода. Если оно присутствует, то внешнее средство 2460 международного перевода может посылать и принимать данные от средства 2462 международного перевода, которые обеспечивает компоненты совместимости для осуществления хорошего взаимодействия между внешним средством 2460 международного перевода и средством размещения 202 (этап 2520). В одном из вариантов осуществления внешнее средство 2460 международного перевода обеспечивает передачу переведенного текста на языке и основного текста прикладной программе 200, которая затем посылает соответствующие данные через соединение 280 на средство размещения 202 (этап 2520). Средство размещения 202 затем обрабатывает данные, как описано выше, для обеспечения передачи параметров удобочитаемости прикладной программе 200 (этап 2530). Более конкретно, средство размещения 202, используя средство 240 считывания показателей и средство 250 формирования параметров текста, обрабатывает данные, принятые прикладной программой 200 и/или непосредственно от внешнего средства 2460 международного перевода, чтобы обеспечить передачу переведенного текста в удобочитаемом формате с колонками, высотой строки, размером шрифта и т.п., которые настроены для языка, на который переведен текст.FIG. 22 described above illustrates operations that occur in the placement means 202 shown in FIG. 2. Turning now to FIG. 24, one embodiment is directed to using a placement tool 202 together with an international transfer tool. The means of international translation in this context includes translator programs known from the prior art that are capable of translating text in a given language and provide text output in another language. For example, translation tools available on the Internet are known that correspond to these embodiments, which translate text located at a specific location indicated by a unified index of an information resource (URL) into another language. Turning to FIG. 24, there is shown a block diagram that includes placement means 202 and an application program 200. The application program 200 could be any application program running on the computer 110 shown in FIG. 1. For this embodiment, appropriate applications include, for example, Microsoft Word, Microsoft Publisher, QuarkXPress, Adobe InDesign, as well as other applications that are executed using or through a server connection, for example, together with a browser or application mail type, such as Microsoft Outlook®, etc. The illustrated application 200 includes a property sheet 210 and property values 220, although in one embodiment, the property sheet 210 and property values 220 may be accessible components, so that application 200 only communicates with another application program that provides the contents of the components of the sheet 210 properties and components values 220 properties. FIG. 24 further shows an external international translation tool 2460 connected to the application 200 through a connection 2470. The external international translation tool is shown as an external component for those embodiments in which the application 200 is able to access the translation tool via the Internet or through a server connection to a network tool translation, for example, on a local network. Alternatively, the external international translation tool may be external only to the application 200, for example, accessible via a central bus of a computer system. Turning to FIG. 25 in combination with FIG. 24, in one embodiment, the external international translation tool translates the text created or received in the application 200, step 2510. Changes in the properties that occur due to the external international translation tool 2460 are either transferred to the application 200 for changing items in the statement 210 properties or property values 220, or directly to the placement means 202, as shown in step 2520. The placement means 202 may have, but this is not required for this embodiment, the means 2462 is international th translation. If present, then the external means of international translation 2460 can send and receive data from means 2462 of the international translation, which provides compatibility components for the implementation of good interaction between external means 2460 of international translation and means of accommodation 202 (step 2520). In one embodiment, an external means of international translation 2460 provides the translation of the translated text in the language and the main text to the application 200, which then sends the corresponding data via connection 280 to the placement means 202 (step 2520). The host means 202 then processes the data as described above to enable the readability parameters to be transmitted to the application 200 (block 2530). More specifically, the placement means 202, using the indicator reading means 240 and the text parameter generating means 250, processes the data received by the application program 200 and / or directly from the external international translation tool 2460 to ensure that the translated text is transmitted in a human-readable format with columns, line height , font size, etc. that are configured for the language into which the text is translated.

В альтернативном варианте осуществления, как показано на фиг. 26, прикладная программа 200 не взаимодействует с внешним средством международного перевода, но доставляет текстовые данные средству размещения 202 наряду с идентификаторами языка, указывающими язык, на котором доставляется текст, и один или более языков, на которые необходимо выводить текст (этап 2610). Средство 2462 международного перевода затем принимает идентификаторы языка и текст и обеспечивает передачу переведенного текста для определения параметров, необходимых для входного фильтра 230 размещения и структуры, чтобы создать структуры данных, которые обрабатываются с помощью средства 240 считывания показателей и средства 250 формирования параметров текста (этап 2620). Таким образом, в одном из вариантов осуществления прикладная программа 200 может выдавать данные на средство размещения на одном языке и принимать обратно данные, позволяющие прикладной программе 200 отображать текст на многочисленных языках, который отформатирован для данного дисплея для каждого требуемого языка и соответствует данным определенным языкам (этап 2630). Прикладная программа 200 может также выполняться на различных дисплеях, причем каждый дисплей имеет различный размер и каждый дисплей принимает тот же самый текст на различных языках, отформатированных для данного дисплея и данного языка. Таким образом, например, если прикладная программа 200 выполняется на сервере, который обслуживает клиентские машины в нескольких странах, то каждый дисплей в серверной группе принимает текст на соответствующем языке, имеющий размер и отформатированный соответственно для этого языка и для соответствующего дисплея. Для сервера, выполняющего почтовую или подобную программу, прикладная программа 200 может выполняться на каждой клиентской машине, например Microsoft Outlook®, или может выполняться на сервере, таком как Unix® сервер, и сервер может быть, например, сервером обменного типа. Сервер или клиентская машина, выполняющие прикладную программу 200, принимают текст на любом языке и могут быть сконфигурированы для взаимодействия со средством 202 размещения для автоматического перевода текста на любом принятом языке на местный язык или язык по выбору, который запрограммирован в средстве 2462 международного перевода, и вывода к прикладной программе 200 параметров, необходимых для такого форматирования переведенного текста, которое соответствует данному языку и данному дисплею(ям).In an alternative embodiment, as shown in FIG. 26, the application program 200 does not interact with an external means of international translation, but delivers text data to the host 202 along with language identifiers indicating the language in which the text is delivered and one or more languages into which the text is to be output (step 2610). The international translation tool 2462 then receives the language identifiers and the text and provides the translation of the translated text to determine the parameters needed for the input filter 230 layout and structure to create data structures that are processed using the tool 240 read indicators and tool 250 generate text parameters (step 2620 ) Thus, in one embodiment, the application program 200 can provide data to the host in one language and receive back data allowing the application program 200 to display text in multiple languages, which is formatted for a given display for each desired language and corresponds to these specific languages ( step 2630). The application program 200 may also be executed on different displays, with each display having a different size and each display receiving the same text in different languages formatted for a given display and a given language. Thus, for example, if the application program 200 is running on a server that serves client machines in several countries, then each display in the server group receives text in a corresponding language, having a size and formatted accordingly for that language and for the corresponding display. For a server running a mail program or the like, application 200 can run on each client machine, such as Microsoft Outlook®, or it can run on a server such as a Unix® server, and the server can be, for example, an exchange type server. The server or client machine running the application program 200 receives text in any language and can be configured to interact with a host means 202 to automatically translate text in any accepted language into a local language or a language of choice that is programmed in the 2462 international translation tool, and output to the application program 200 parameters necessary for such formatting of the translated text, which corresponds to the given language and this display (s).

Все указанные ссылки, которые включают в себя любые патенты, патентные заявки и публикации, представлены в своей полноте для справки.All of these references, which include any patents, patent applications and publications, are presented in their entirety for reference.

Ввиду многих возможных вариантов осуществления, к которым принципы этого изобретения могут применяться, следует признать, что описанный со ссылками на чертежи вариант осуществления является только иллюстративным и не должен использоваться в качестве ограничения объема изобретения. Например, специалисты должны признать, что элементы иллюстрированного варианта осуществления, воплощенные в программном обеспечении, могут быть осуществлены с помощью аппаратных средств и наоборот или что иллюстрированный вариант осуществления может изменяться в расположении и деталях, не отступая от объема изобретения. Поэтому описанное изобретение рассматривает все подобные варианты осуществления как находящиеся в объеме следующей формулы изобретения и эквивалентные ей.In view of the many possible embodiments to which the principles of this invention can be applied, it should be recognized that the embodiment described with reference to the drawings is illustrative only and should not be used as limiting the scope of the invention. For example, those skilled in the art will recognize that the elements of the illustrated embodiment embodied in software can be implemented using hardware and vice versa, or that the illustrated embodiment can vary in arrangement and details without departing from the scope of the invention. Therefore, the described invention considers all such embodiments as being within the scope of the following claims and equivalent to it.

Claims (7)

1. Способ визуализации текста в среде отображения при изменении размера шрифта, причем данный способ содержит этапы:
определяют плотность символов шрифта,
делят значение контраста шрифта на плотность символов для получения доли размера шрифта и
добавляют данную долю к размеру шрифта для настройки высоты строки, визуализируют текст с настроенной высотой строки в упомянутой среде отображения.
1. A method of visualizing text in a display environment when changing the font size, and this method comprises the steps of:
determine the density of characters in the font,
divide the font contrast value by the density of characters to obtain a fraction of the font size and
add this fraction to the font size to adjust the line height, render the text with the adjusted line height in the mentioned display environment.
2. Способ визуализации текста в среде отображения, при этом данный способ содержит этапы:
определяют высоту строки как функцию заранее определенной читаемой длины строки и заранее определенного размера шрифта, с которым должен быть визуализирован текст,
определяют разность между заранее определенным размером шрифта и фактическим размером шрифта и
настраивают высоту строки с помощью возведения константы в степень данной разности,
визуализируют текст с настроенной высотой строки в упомянутой среде отображения.
2. A method for rendering text in a display environment, this method comprising the steps of:
determine the height of the line as a function of a predetermined readable line length and a predetermined font size with which the text should be rendered,
determining a difference between a predetermined font size and an actual font size, and
adjust the height of the line by raising the constant to the power of this difference,
render text with a customized line height in said display medium.
3. Способ по п.2, дополнительно содержащий этап:
изменяют заранее определенный размер шрифта, если фактический размер шрифта отличается от заранее определенного размера шрифта.
3. The method according to claim 2, further comprising the step of:
change the predefined font size if the actual font size is different from the predetermined font size.
4. Способ по п.2, в котором константой является размер, меньший чем 1,07 и больший чем 1,02.4. The method according to claim 2, in which the constant is a size smaller than 1.07 and greater than 1.02. 5. Считываемый компьютером носитель, содержащий сохраненные на нем выполняемые компьютером команды для выполнения способа визуализации текста в среде отображения, причем способ содержит этапы:
определяют высоту строки как функцию заранее определенной читаемой длины строки и заранее определенного размера шрифта,
определяют разность между заранее определенным размером шрифта и фактическим размером шрифта и
настраивают высоту строки с помощью возведения константы в степень данной разности,
визуализируют текст с настроенной высотой строки в упомянутой среде отображения.
5. A computer-readable medium comprising computer-executable instructions stored thereon for executing a method for rendering text in a display medium, the method comprising the steps of:
determining a line height as a function of a predetermined readable line length and a predetermined font size,
determining a difference between a predetermined font size and an actual font size, and
adjust the height of the line by raising the constant to the power of this difference,
render text with a customized line height in said display medium.
6. Считываемый компьютером носитель по п.5, в котором выполняемые компьютером команды дополнительно выполняют этап изменения заранее определенного размера шрифта, если фактический размер шрифта отличается от заранее определенного размера шрифта.6. The computer-readable medium of claim 5, wherein the computer-executable instructions further perform the step of changing a predetermined font size if the actual font size differs from the predetermined font size. 7. Считываемый компьютером носитель по п.5, в котором константой является размер, меньший чем 1,07 и больший чем 1,02. 7. The computer-readable medium of claim 5, wherein the constant is a size smaller than 1.07 and greater than 1.02.
RU2008101568/08A 2002-12-18 2008-01-14 System and method for automatic measurement of line height, size and other parameters of international font RU2464631C2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10/323,059 US7385606B2 (en) 2002-12-18 2002-12-18 International font measurement system and method
US10/323,059 2002-12-18
US10/322,857 2002-12-18
US10/322,857 US7271806B2 (en) 2002-12-18 2002-12-18 International automatic line height system and method
US10/323,038 2002-12-18

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2003110851/09A Division RU2323470C2 (en) 2002-12-18 2003-04-15 System and method for automatically measuring row height, size and other parameters of an international font

Publications (2)

Publication Number Publication Date
RU2008101568A RU2008101568A (en) 2009-07-20
RU2464631C2 true RU2464631C2 (en) 2012-10-20

Family

ID=39453220

Family Applications (4)

Application Number Title Priority Date Filing Date
RU2003110851/09A RU2323470C2 (en) 2002-12-18 2003-04-15 System and method for automatically measuring row height, size and other parameters of an international font
RU2008101547/09A RU2008101547A (en) 2002-12-18 2008-01-14 SYSTEM AND METHOD FOR AUTOMATIC MEASUREMENT OF LINE HEIGHT, SIZE AND OTHER PARAMETERS OF THE INTERNATIONAL FONT
RU2008101568/08A RU2464631C2 (en) 2002-12-18 2008-01-14 System and method for automatic measurement of line height, size and other parameters of international font
RU2008101515/08A RU2451331C2 (en) 2002-12-18 2008-01-14 System and method for automatic measurement of line height, size and other parameters of international font

Family Applications Before (2)

Application Number Title Priority Date Filing Date
RU2003110851/09A RU2323470C2 (en) 2002-12-18 2003-04-15 System and method for automatically measuring row height, size and other parameters of an international font
RU2008101547/09A RU2008101547A (en) 2002-12-18 2008-01-14 SYSTEM AND METHOD FOR AUTOMATIC MEASUREMENT OF LINE HEIGHT, SIZE AND OTHER PARAMETERS OF THE INTERNATIONAL FONT

Family Applications After (1)

Application Number Title Priority Date Filing Date
RU2008101515/08A RU2451331C2 (en) 2002-12-18 2008-01-14 System and method for automatic measurement of line height, size and other parameters of international font

Country Status (1)

Country Link
RU (4) RU2323470C2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513277A (en) * 1991-07-30 1996-04-30 Xerox Corporation Measuring character and stroke sizes and spacings for an image
RU2136038C1 (en) * 1992-09-04 1999-08-27 Катерпиллар Инк. Computer system and method for preparing texts in source language and their translation into foreign languages
EP0949801A2 (en) * 1998-04-10 1999-10-13 Canon Kabushiki Kaisha Image process apparatus, image process method and storage medium
US6256650B1 (en) * 1998-05-18 2001-07-03 Microsoft Corporation Method and system for automatically causing editable text to substantially occupy a text frame

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598520A (en) * 1994-09-26 1997-01-28 Microsoft Corporation Methods and apparatus for hinting a font for controlling stem width as font size and resolution of output device vary
US5668891A (en) * 1995-01-06 1997-09-16 Xerox Corporation Methods for determining font attributes of characters

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513277A (en) * 1991-07-30 1996-04-30 Xerox Corporation Measuring character and stroke sizes and spacings for an image
RU2136038C1 (en) * 1992-09-04 1999-08-27 Катерпиллар Инк. Computer system and method for preparing texts in source language and their translation into foreign languages
EP0949801A2 (en) * 1998-04-10 1999-10-13 Canon Kabushiki Kaisha Image process apparatus, image process method and storage medium
US6256650B1 (en) * 1998-05-18 2001-07-03 Microsoft Corporation Method and system for automatically causing editable text to substantially occupy a text frame

Also Published As

Publication number Publication date
RU2008101547A (en) 2009-07-20
RU2323470C2 (en) 2008-04-27
RU2451331C2 (en) 2012-05-20
RU2008101515A (en) 2009-07-20
RU2008101568A (en) 2009-07-20

Similar Documents

Publication Publication Date Title
US20040119714A1 (en) International automatic font size system and method
US7385606B2 (en) International font measurement system and method
US7271806B2 (en) International automatic line height system and method
AU2003200654B2 (en) International automatic line height, font size and font measurement system and method
US7228501B2 (en) Method for selecting a font
JP4873766B2 (en) Paragraph layout method using layout service library
US7492366B2 (en) Method and system of character placement in opentype fonts
Cai et al. The legibility threshold of Chinese characters in three-type styles
Rubin et al. The effect of font and line width on reading speed in people with mild to moderate vision loss
RU2464631C2 (en) System and method for automatic measurement of line height, size and other parameters of international font
World Wide Web Consortium Cascading style sheets level 2 revision 1 (CSS 2.1) specification
JP2005267158A (en) Character size control method, device, and program
Krause et al. CSS: Cascading Style Sheets
JP2016158812A (en) Font assessment method, apparatus, and program
CN117391045B (en) Method for outputting file with portable file format capable of copying Mongolian
JP4919245B2 (en) Line composition device, line composition program and recording medium recording the same
US20110242110A1 (en) Depiction of digital data for forensic purposes
Flynn Typography
RU2003110851A (en) SYSTEM AND METHOD FOR AUTOMATIC MEASUREMENT OF LINE HEIGHT, SIZE AND OTHER PARAMETERS OF THE INTERNATIONAL FONT
JP2002157060A (en) Document design conversion system, document design conversion method, and storage medium
Ristić REVIEW OF THE ON-SCREEN READABILITY RESEARCHES
Říha Tvorba elektronických šablon pro UTB ve Zlíně
Prakash et al. Content Extraction Mining Through Statistical Approach in Web Documents

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20121219