Sdílet prostřednictvím


Vložená písma

Vložení písma je technika sdružování dokumentu a písem, která obsahuje do souboru pro přenos do jiného počítače. Vložení písma zaručuje, že v počítači, který soubor přijímá, bude k dispozici písmo zadané v přenášených souborech. Ne všechna písma se ale dají přesunout z počítače na počítač, protože většina písem je licencovaná jenom na jeden počítač najednou. Dají se vložit pouze písma TrueType a OpenType.

Aplikace by měly do dokumentu vkládat písmo jenom v případě, že o to uživatel požádá. Aplikaci nelze distribuovat spolu s dokumenty, které obsahují vložená písma, ani nemůže samotná aplikace obsahovat vložené písmo. Pokaždé, když aplikace distribuuje písmo v libovolném formátu, musí být potvrzena vlastní práva vlastníka písma.

Může se jednat o porušení vlastnických práv dodavatele písem nebo licenční smlouvy s uživatelem pro vložení všech písem, ve kterých není vkládání povoleno nebo se nedaří dodržovat následující pokyny pro vkládání písem. Licence písma může udělit pouze oprávnění ke čtení a zápisu pro instalaci a použití písma v cílovém počítači. Nebo licence může udělit oprávnění jen pro čtení. Oprávnění jen pro čtení umožňuje, aby se dokument zobrazoval a tiskl (ale neupravoval) cílovým počítačem; dokumenty s vloženými písmy jen pro čtení jsou samy o sobě jen pro čtení. Vložená písma jen pro čtení nemusí být z dokumentu oddělená a nainstalovaná v cílovém počítači.

Aplikace může určit stav licence voláním funkce GetOutlineTextMetrics a prozkoumáním otmfsType člen struktury OUTLINETEXTMETRIC. Pokud je nastavena bit 1 otmfsType, vkládání není pro písmo povolené. Pokud je bit 1 jasný, je možné písmo vložit. Pokud je nastavená bit 2, vkládání je jen pro čtení.

K vložení písma TrueType může aplikace ke čtení souboru písma použít funkci GetFontData. Nastavení dwTable a dwOffset parametrů GetFontData na hodnotu 0L a parametr cbData na hodnotu 1L zajistí, že aplikace načte celý soubor písma od začátku.

Pro vložení písem OpenType je k dispozici několik funkcí v závislosti na šířce znaků a umístění dat písma. K vložení písma OpenType Unicode, které se nachází v kontextu zařízení, může aplikace použít TTEmbedFont. K vložení písma OpenType UCS-4, které se nachází v kontextu zařízení, může aplikace použít TTEmbedFontEx. Chcete-li vložit písmo OpenType Unicode, které se nachází v souboru písma, může aplikace použít TTEmbedFontFromFile. Další informace o vkládání písem OpenType naleznete v .

Jakmile aplikace načte data písma, může data uložit s dokumentem pomocí libovolného příslušného formátu. Většina aplikací sestaví v dokumentu adresář písem, vypíše vložená písma a určuje, jestli je vkládání jen pro čtení a zápis nebo jen pro čtení. Aplikace může k identifikaci písma použít otmpStyleName a otmFamilyName členy struktury OUTLINETEXT METRIC.

Pokud je bit jen pro čtení nastavený pro vložené písmo, musí aplikace před uložením do dokumentu šifrovat data písma. Metoda šifrování nemusí být složitá; Například použití operátoru XOR ke kombinování dat písma s konstantou definovanou aplikací je adekvátní a rychlé.