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 PDFInfo
- 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
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Abstract
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
Изобретение работает с множеством других универсальных или специальных вычислительных системных сред или конфигураций. Примеры известных вычислительных систем, сред и/или конфигураций, которые могут использоваться с данным изобретением, включают в себя персональные компьютеры, серверы, карманные или портативные компьютеры, многопроцессорные системы, системы на основе микропроцессора, телеприставки, программируемые бытовые электронные устройства, сетевые ПК, миникомпьютеры, универсальные (большие) ЭВМ, распределенные вычислительные среды, которые включают в себя любую из вышеупомянутых систем или устройств, и т.п., но не ограничиваются ими.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
Компьютер 110 в типичном варианте включает в себя разнообразие считываемых компьютером носителей. Считываемые компьютером носители могут быть любыми доступными носителями, к которым может обратиться компьютер 110, и они включают в себя и энергозависимые, и энергонезависимые носители, сменные и несменные носители. Для примера, но не в качестве ограничения, считываемые компьютером носители могут содержать компьютерные носители данных и средства связи. Компьютерные носители данных включают в себя и энергозависимые и энергонезависимые, сменные и несменные носители, осуществленные любым способом или технологией для хранения информации, такой как считываемые компьютером команды, структуры данных, модули программы или другие данные. Компьютерные носители данных включают в себя: оперативную память, постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ), флэш-память или память, изготовленную с применением другой технологии, компакт-диски (CD-ROM), цифровые многофункциональные диски (DVD) или другие оптические дисковые запоминающие устройства, магнитные кассеты, магнитную ленту, магнитные дисковые запоминающие устройства или другие магнитные запоминающие устройства или любой другой носитель, который может использоваться для хранения необходимой информации и к которому может обратиться компьютер 110, но не ограничены ими. Среда связи типично воплощает считываемые компьютером команды, структуры данных, модули программы или другие данные в модулируемый сигнал данных, такой как несущая или другой механизм транспортировки, и включает в себя любые средства доставки информации. Термин “модулированный сигнал данных” означает сигнал, который имеет одну или более из своих характеристик, которые устанавливаются или изменяются таким образом, чтобы кодировать информацию в сигнале. Для примера, а не в качестве ограничения, среда связи включает в себя проводные каналы связи, такие как проводные сети или прямое проводное подключение, и беспроводные каналы связи, такие как акустический, радиочастотный (РЧ), инфракрасный и другие беспроводные каналы связи. Считываемые компьютером носители должны также включать в себя комбинации любого из вышеупомянутых носителей.
Системная память 130 включает в себя компьютерные носители данных в форме энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 131 и оперативная память (ОП) 132. Базовая система 133 ввода-вывода (BIOS), содержащая основные подпрограммы, которые помогают перемещать информацию между элементами в компьютере 110, например, во время запуска, обычно хранится в ПЗУ 131. ОП 132 обычно содержит данные и/или модули программы, которые мгновенно доступны для обработки и/или в данный момент обрабатываются процессором 120. Для примера, а не в качестве ограничения, фиг. 1 показывает операционную систему 134, прикладные программы 135, другие модули 136 программы и данные 137 программы.
Компьютер 110 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных. Только для примера, фиг. 1 показывает накопитель 141 на жестком диске, который считывают информацию или который записывает информацию на несменный энергонезависимый магнитный носитель, накопитель на магнитном диске, который считывает информацию или записывает информацию на сменный энергонезависимый магнитный диск 152, и привод оптического диска, который считывает информацию или записывает информацию на сменный энергонезависимый оптический диск 156, такой как компакт-диск (CD ROM) или другой оптический носитель. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители данных, которые могут использоваться в типичной среде, включают в себя: кассеты с магнитной лентой, платы флэш-памяти, цифровые многофункциональные диски, цифровую видеоленту, полупроводниковую оперативную память, полупроводниковое ПЗУ и т.п., но не ограничены ими. Накопитель 141 на жестком диске типично подключается к системной шине 121 через средство сопряжения с несъемным запоминающим устройством, такое как средство 140 сопряжения, и накопитель 151 на магнитном диске и привод 155 оптического диска типично подключаются к системной шине 121 через средство сопряжения со съемным запоминающим устройством, такое как средство 150 сопряжения (интерфейс).
Устройства и связанные с ними компьютерные носители данных, описанные выше и показанные на фиг. 1, обеспечивают хранение считываемых компьютером команд, структур данных, модулей программы и других данных для компьютера 110. На фиг. 1, например, жесткий диск 141 показан в качестве устройства хранения операционной системы 144, прикладных программ 145, других модулей 146 программы и данных 147 программ. Следует обратить внимание, что эти компоненты могут быть теми же самыми или могут отличаться от операционной системы 134, прикладных программ 135, других модулей 136 программы и данных 137 программы. Операционной системе 144, прикладным программам 145, другим модулям 146 программы и данным 147 программы присвоены различные обозначения для того, чтобы показать, что они как минимум являются различными копиями. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода данных, такое как клавиатура 162 и устройство 161 позиционирования, обычно называемое “мышь”, шаровой манипулятор (“трекболл”) или сенсорная панель. Другие устройства ввода данных (не показаны) могут включать в себя микрофон, джойстик, игровую клавиатуру, спутниковую антенну, сканер или подобные им устройства. Эти и другие устройства ввода данных часто подключаются к процессору 120 через входное средство 160 сопряжения с пользователем (входной пользовательский интерфейс), которое подсоединено к системной шине, но может быть соединено с помощью другого интерфейса и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 191 или другой тип устройства отображения также связан с системной шиной 121 через интерфейс (средство сопряжения), такой как видеоинтерфейс 190. В дополнение к монитору, компьютеры могут также включать в себя другие периферийные устройства вывода, такие как громкоговорители 197 и принтер 196, которые могут быть связаны через средство 195 сопряжения с внешними устройствами вывода информации.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
Компьютер 110 может работать в сетевой среде, используя логические подключения к одному или более удаленным компьютерам, таким как удаленный компьютер 180. Удаленный компьютер 180 может быть другим персональным компьютером, сервером, маршрутизатором, сетевым ПК, равноправным устройством сети или другим обычным сетевым узлом и типично включает в себя многие или все элементы, описанные выше по отношению к персональному компьютеру 110, хотя только запоминающее устройство 181 показано на фиг. 1. Логические подключения, изображенные на фиг. 1, включают в себя локальную сеть (ЛС) 171 и глобальную сеть (ГС) 173, но могут также включать в себя другие сети. Такие сетевые среды являются обычными в офисах, компьютерных сетях в масштабах предприятия, корпоративных сетях (интранет) и Интернет.
При работе в среде с ЛС, персональный компьютер 110 связан с ЛС 171 через сетевой интерфейс (средство сопряжения с сетью) или адаптер 170. При работе в среде глобальной сети, компьютер 110 типично включает в себя модем 172 или другие средства установления связи с глобальной сетью 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может быть связан с системной шиной 121 через пользовательский входной интерфейс 160 или другой соответствующий механизм. В сетевой среде, модули программы, изображенные относительно персонального компьютера 110 или его частей, могут храниться в удаленном запоминающем устройстве. Для примера, а не в качестве ограничения, фиг. 1 показывает, что удаленные прикладные программы 185 находятся в запоминающем устройстве 181. Следует признать, что показанные сетевые подключения приведены в качестве примера и могут использоваться другие средства установления связи между компьютерами.When working in a LAN environment, the
В нижеследующем описании изобретение описано со ссылкой к действиям и символическим представлениям операций, которые выполняются одним или более компьютерами, если не обозначено иначе. Также, понимается, что такие действия и операции, которые упоминаются время от времени как выполняемые компьютером, включают в себя обработку процессором компьютера электрических сигналов, представляющих данные в структурированной форме. Такая обработка преобразовывает данные или сохраняет их в ячейках системы памяти компьютера, которые реконфигурируют или иначе изменяют работу компьютера способом, хорошо понимаемым специалистами. Структуры данных, где хранятся данные, являются физическими ячейками памяти, которые имеют конкретные свойства, определяемые форматом данных. Однако хотя изобретение описывается в указанном ранее контексте, он не должен являться ограничением, поскольку специалисты должны признать, что различные действия и операции, описанные далее, могут также быть осуществлены в аппаратных средствах.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
Как описано более подробно ниже, средство 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
Средство 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
Средство 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.
Обращаясь к фиг. 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
Работа средства 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
Для целей этого раскрытия, термин “размеры” включает в себя высоту строки, которая является расстоянием от опорной линии одной строки шрифта до опорной линии следующей строки, но не ограничивается ею. Опорная линия является видимой линией, на которой находятся символы в системе записи или с которой они “свисают”. Для символов английского языка опорная линия является воображаемой линией, на которой находятся символы верхнего и нижнего регистра. Высота строчных букв (х - высота) (без выносных элементов) относится к стандартной высоте символов строчных букв, приблизительно эквивалентной высоте символа 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
На этапе 630 обеспечивают идентификацию высоты шрифта, используя измеренные отношения количества черных пикселей к общему количеству пикселей. На этапе 640 средство формирования параметров текста использует высоту шрифта и идентифицирует первую часть, которая в данной работе называется “канал”, которая включает в себя ряд с самым высоким отношением количества черных пикселей к общему количеству пикселей, причем первая часть включает в себя первый ряд пикселей и последний ряд пикселей, которые темнее, чем среднее значение ряда пикселей. В латинских текстах “канал” приравнивают к высоте строчных букв без выносных элементов. В других шрифтах нет прямого эквивалента высоты строчных букв без выносных элементов. Поскольку каждый шрифт на каждом языке, визуализируемый в строке текста, будет иметь темную часть в строке текста, вместо высоты строчных букв без выносных элементов в вариантах осуществления используется термин “канал” и измерения, относящиеся к “каналу”. Во многих описанных вариантах осуществления “канал” является важным измерением для определения соответствующей высоты строки и других параметров настройки для строки текста, напечатанной данным шрифтом. На этапе 650 средство 250 формирования параметров текста идентифицирует вторую часть, расположенную выше первой части. На этапе 660 средство 250 формирования параметров текста идентифицирует третью часть, расположенную ниже первой части. Вторая часть и третья часть в данной работе называются “предотмель” и “послеотмель” соответственно, а все вместе - “отмель”. В большинстве шрифтов обычно существует “отмель” с обеих сторон идентифицированного “канала”. “Отмель” является областью, где строка шрифта имеет чернила, но не каждый символ распространяется (выступает) в нее. В латинском шрифте существует “отмель”, которая эквивалентна надстрочному элементу и подстрочному элементу. Язык с большим количеством знаков ударений типично имеет “отмель”, которая включает в себя знаки ударений. Язык, который является существенно однородным, может идентифицироваться как имеющий “канал” с маленькой или отсутствующей “отмелью”. Многие азиатские языки можно идентифицировать, как имеющие только “канал” и не имеющие “отмели”. Эти языки имеют “реку” и “канал”, которые имеют одинаковый размер.At
На этапе 670 средство 250 формирования параметров текста создает график результатов измерений для осуществления идентификации точек выравнивания, пиков темноты и т.п.At
После идентификации “канала” и “отмели”, этап 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
В других вариантах осуществления при необходимости средством 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.
Другими возвращаемыми результатами измерения могут быть результаты измерения относительно кегельной шпации. В средстве 250 формирования параметров текста и в средстве 240 считывания показателей кегельная шпация используется для определения и горизонтальных, и вертикальных размеров. Другим результатом измерения, который может возвращаться средством 250 формирования параметров текста, является количество кластеров на кегельную шпацию, которое может также быть результатом измерения, возвращаемым средству 240 считывания показателей. Количество кластеров, приходящихся на кегельную шпацию, эквивалентно отношению высоты шрифта к средней ширине кластера.Other returned measurement results may be measured with respect to bowling. In the
Другие результаты измерения, которые могут использоваться средством 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
Фиг. 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
В одном из вариантов осуществления средство 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,
Фиг. 9B иллюстрирует график 990 с той же самой кривой 902 шрифта с пунктирной линией 950, показывающей среднее значение насыщенности для каждого из “отмели” и “канала”. Средние значения насыщенности в процентах могут использоваться для определения значения высоты строки. Возвращенные значения могут включать в себя среднее значение насыщенности “предотмели” 0,099; среднее значение насыщенности “канала” 0,61 и среднее значение насыщенности “послеотмели” 0,038.FIG. 9B illustrates a
Результаты измерения от средства 250 формирования параметров текста возвращаются к средству 240 считывания показателей. Средство 240 считывания показателей использует результаты измерений для разнообразных целей.The measurement results from the
Одной из функций средства 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
Более конкретно, средство 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
После того как заданное по умолчанию расстояние до дисплея определено, это расстояние используется средством 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,
Возвращаясь к фиг. 10, на этапе 1020 обеспечивают использование плотности символов для определения размера шрифта. Плотность символов может определяться с помощью деления количества кластеров, приходящихся на кегельную шпацию, на количество кластеров в фиксации. Количество кластеров, приходящихся на фиксацию для шрифта конкретного языка, является константой, связанной с одним из множества языков, причем каждый из множества языков имеет константу, представляющую информационную плотность для чтения текста на данном языке. Количество кластеров на кегельную шпацию является описанием графической плотности. Поэтому плотность символов может быть описана как функция графической плотности и информационной плотности символа. В одном из вариантов осуществления графическая плотность и информационная плотность зависят от языка, что включает в себя характеристики чтения на данном языке в зависимости от количества информации в области самого резкого фокусирования, видимой читателю.Returning to FIG. 10, in
Согласно одному из вариантов осуществления средство 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.
Обращаясь к фиг. 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
Обращаясь к фиг. 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
Для примера, если язык является английским (количество кластеров в фиксации равно 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
Более конкретно, один из вариантов осуществления направлен на вычисление высоты строки на основании отношения контраста между всей “рекой” и “каналом” для текста, напечатанного данным шрифтом с данной плотностью символов шрифта. Пять выходов от средства 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
Возвращаясь к фиг. 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
В одном из вариантов осуществления высота строки умножается на масштаб разметки высоты строки (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
Другими словами, сумма размеров, умноженных на насыщенность для трех частей “реки”, умноженная на количество кластеров в кегельной шпации, разделенная на размер шрифта, обеспечивает высоту строки. Таким образом, высота строки для шрифта 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 (Rw 2 + (l/Cpm 2))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
Как пример, для заданного по умолчанию размера шрифта 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.
Как только высота строки определена в соответствии с размером шрифта, изменение размера шрифта изменит высоту строки. Если размер шрифта сделать больше, то определяемая высота строки не находится в линейных отношениях. В одном из вариантов осуществления изменение высоты строки при изменении размера шрифта может быть найдено, применяя показательную функцию. Показательная функция может включать в себя рассмотрение количества кластеров на кегельную шпацию. Первоначальный размер шрифта известен и высота строки для этого размера шрифта известна. Существует ограничение для увеличения размера шрифта. Высота строки не может быть меньше, чем сам шрифт. Поэтому, обращаясь к фиг. 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,
Обращаясь к фиг. 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.
Для примера, чтобы найти новую высоту строки для шрифта 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, который выводит количество кластеров в строке с наилучшей читаемостью. Эти вычисления могут выполняться в соответствии с вышеприведенной таблицей.
Этап 2206 представляет ввод информации от компьютерной системы, которая обеспечивает значение размера среды отображения, например размер экрана по диагонали. Этап 2208 представляет вычисления для определения заданного по умолчанию расстояния от среды отображения. Один из способов определения заданного по умолчанию расстояния описан выше со ссылкой к фиг. 10. Этап 2210 обеспечивает ввод “масштаба шрифта”, который может вводиться пользователем или посредством разметки страницы. Такая разметка может напоминать <Элемент масштаб шрифта = “1,2”> содержимое элемента. </Элемент>.
Каждый из этапов 2210, 2212, 2208 и 2202 обеспечивает ввод информации для вычисления оптимально читаемого размера шрифта. Этап 2214 представляет вычисление оптимально читаемого размера шрифта. Как описано выше, нахождение оптимального размера шрифта включает в себя сначала определение горизонтальной области на поверхности среды отображения в пределах предопределенного фовеального угла для предопределенного расстояния и определение размера шрифта согласно количеству кластеров, приходящихся на фиксацию, соответствующему заданному языку и шрифту. В одном из вариантов осуществления масштаб 2210 шрифта обеспечивает множитель для определения размера шрифта.Each of
Этап 2214 обеспечивает входную информацию для этапа 2216, который обеспечивает определение минимального и максимального размера шрифта. В одном из вариантов осуществления минимальный и максимальный размер шрифта основан на 25%-ном отклонении от оптимального размера шрифта, или 0,8, умноженное на предопределенный размер шрифта для минимального размера шрифта, или 1,33, умноженное на предопределенный размер шрифта для максимального размера шрифта. В другом варианте осуществления максимальное количество кластеров, содержащихся в одной фовеальной фиксации, определяет минимальный размер шрифта и максимальный размер шрифта для заданного языка.
Этапы 2218, 2220, 2222, 2224 могут представлять выходную информацию от средства 250 формирования параметров текста, которое обеспечивает входную информацию для определения коэффициента 2228 высоты оптимально читаемой строки, как описано выше со ссылкой к фиг. 15. В одном из вариантов осуществления этап 2228 принимает входную информацию 2226 масштаба высоты строки из разметки или вводимой пользователем информации, такой как <Элемент масштаб высоты строки = “1,5”> содержание элемента. </Элемент>.
Этап 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
Минимальная ширина колонки может быть определена, вычисляя минимальный размер шрифта и умножая минимальный размер шрифта на наименьшее количество кластеров, которое разрешено в строке. Следующие уравнения определяют оптимальную, минимальную и максимальную ширину колонки, соответственно: 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
Поскольку фактическая реальная ширина набора (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
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
Обращаясь к этапу 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
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
Обращаясь к этапу 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
Возвращаясь к фиг. 22, на этапе 2260 обеспечивают вычисление фактического значения по умолчанию размера шрифта существенно тем же самым способом, как размер шрифта основного текста, но основываясь на установленном пользователем значении 0,75, умноженном на минимальное количество кластеров в строке (Cm), и реальной фактической ширине набора (LWA). Применяется следующее уравнение: HFSA = LWA × (0,75 × Cm) x Cpm.Returning to FIG. 22, in
В одном из вариантов осуществления размер шрифта заголовка фиксируется в верхней части диапазона для считывания выхода средства 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
Значение пункта средства считывания показателей основано на сравнении заданного по умолчанию размера шрифта окна и фактического размера шрифта, который был вычислен. Значение по умолчанию - 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
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
В альтернативном варианте осуществления, как показано на фиг. 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
Все указанные ссылки, которые включают в себя любые патенты, патентные заявки и публикации, представлены в своей полноте для справки.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. 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. 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. 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.
определяют высоту строки как функцию заранее определенной читаемой длины строки и заранее определенного размера шрифта,
определяют разность между заранее определенным размером шрифта и фактическим размером шрифта и
настраивают высоту строки с помощью возведения константы в степень данной разности,
визуализируют текст с настроенной высотой строки в упомянутой среде отображения.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.
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/322,857 | 2002-12-18 | ||
US10/323,038 | 2002-12-18 | ||
US10/323,059 | 2002-12-18 | ||
US10/322,857 US7271806B2 (en) | 2002-12-18 | 2002-12-18 | International automatic line height system and method |
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 |
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 |
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 |
Family Applications Before (3)
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 |
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)
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)
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 |
-
2003
- 2003-04-15 RU RU2003110851/09A patent/RU2323470C2/en not_active IP Right Cessation
-
2008
- 2008-01-14 RU RU2008101547/09A patent/RU2008101547A/en not_active Application Discontinuation
- 2008-01-14 RU RU2008101515/08A patent/RU2451331C2/en not_active IP Right Cessation
- 2008-01-14 RU RU2008101568/08A patent/RU2464631C2/en not_active IP Right Cessation
Patent Citations (4)
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 |
---|---|
RU2323470C2 (en) | 2008-04-27 |
RU2451331C2 (en) | 2012-05-20 |
RU2008101547A (en) | 2009-07-20 |
RU2008101568A (en) | 2009-07-20 |
RU2008101515A (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 | |
US20080030502A1 (en) | Diacritics positioning system for digital typography | |
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 | |
US20230140498A1 (en) | Glyph Accessibility and Swash Control System | |
Krause et al. | CSS: Cascading Style Sheets | |
JP2016158812A (en) | Font assessment method, apparatus, and program | |
JP4919245B2 (en) | Line composition device, line composition program and recording medium recording the same | |
CN117391045A (en) | Method for outputting file with portable file format capable of copying Mongolian | |
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 |