На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Embedded Fonts



Embedding a font is the technique of bundling a document and the fonts it contains into a file for transmission to another computer. Embedding a font guarantees that a font specified in a transmitted file will be present on the computer receiving the file. Not all fonts can be moved from computer to computer, however, since most fonts are licensed to only one computer at a time. In Windows, only TrueType fonts can be embedded.

Applications should embed a font in a document only when requested by a user. An application cannot be distributed along with documents that contain embedded fonts, nor can an application itself contain an embedded font. Whenever an application distributes a font, in any format, the proprietary rights of the owner of the font must be acknowledged.
It may be a violation of a font vendor's proprietary rights or user license agreement to embed any fonts where embedding is not permitted or to fail to observe the following guidelines on embedding fonts. A font's license may give only read-write permission for a font to be installed and used on the destination computer. Or the license may give read-only permission. Read-only permission allows a document to be viewed and printed (but not modified) by the destination computer; documents with read-only embedded fonts are themselves read-only. Read-only embedded fonts may not be unbundled from the document and installed on the destination computer.

An application can determine the license status by calling the GetOutlineTextMetrics function and examining the otmfsType member of the OUTLINETEXTMETRIC structure. If bit 1 of otmfsType is set, embedding is not permitted for the font. If bit 1 is clear, the font can be embedded. If bit 2 is set, the embedding is read-only.
To embed a font, an application can use the GetFontData function to read the font file. Setting the dwTable and dwOffset parameters of GetFontData to 0L and the cbData parameter to -1L ensures that the application reads the entire font file from the beginning.

After an application retrieves the font data, it can store the data with the document by using any applicable format. Most applications build a font directory in the document, listing the embedded fonts and whether the embedding is read-write or read-only. An application can use the otmpStyleName and otmFamilyName members of the OUTLINETEXTMETRIC structure to identify the font.
If the read-only bit is set for the embedded font, applications must encrypt the font data before storing it with the document. The encryption method need not be complicated; for example, using the XOR operator to combine the font data with an application-defined constant is adequate and fast.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Вложенные Шрифты



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

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

Приложение может определить лицензионный статус вызывая функцию GetOutlineTextMetrics и изучая элемент otmfsType структуры OUTLINETEXTMETRIC. Если бит 1 otmfsType установлены, вложение не разрешено для шрифта. Если бит 1 ясно, шрифт может быть вставлен. Если бит 2 установлены, вложение только для чтения.
Чтобы вставлять шрифт, приложение может использовать функцию GetFontData, чтобы читать шрифтовой файл. Устанавливая dwTable и параметры dwOffset GetFontData в 0L и параметр cbData, чтобы -1L проверяет, что приложение читает целый шрифтовой файл из начала.

После того, как приложение извлечет шрифтовые данные, оно может загрузить данные с документом используя любой прилагаемый формат. Большинство приложений формируют шрифтовому директорию в документе, листинге вложенных шрифтов и прочитано вложение-запись или только для чтения. Приложение может использовать otmpStyleName и участников otmFamilyName структуры OUTLINETEXTMETRIC, чтобы идентифицировать шрифт.
Если только для чтения бит установлен для вложенного шрифта, приложения должны закодировать шрифтовые данные перед хранением это с документом. Шифровальный метод не должен быть усложнен; например, используя оператора XOR, чтобы объединять шрифтовые данные с определенной прикладной константой - требуемое и быстро.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz