Delen via


Ingesloten lettertypen

Het insluiten van een lettertype is de techniek van het bundelen van een document en de lettertypen die het bevat in een bestand voor overdracht naar een andere computer. Het insluiten van een lettertype garandeert dat een lettertype dat is opgegeven in een verzonden bestand aanwezig is op de computer die het bestand ontvangt. Niet alle lettertypen kunnen echter van computer naar computer worden verplaatst, omdat de meeste lettertypen een licentie hebben voor slechts één computer tegelijk. Alleen TrueType- en OpenType-lettertypen kunnen worden ingesloten.

Toepassingen mogen een lettertype alleen insluiten in een document wanneer dit door een gebruiker wordt aangevraagd. Een toepassing kan niet worden gedistribueerd samen met documenten die ingesloten lettertypen bevatten en kan een toepassing zelf ook geen ingesloten lettertype bevatten. Wanneer een toepassing een lettertype distribueert, moeten de eigendomsrechten van de eigenaar van het lettertype in elke indeling worden bevestigd.

Het kan een schending zijn van de eigendomsrechten van een lettertypeleverancier of gebruikerslicentieovereenkomst om lettertypen in te sluiten waarbij insluiting niet is toegestaan of de volgende richtlijnen voor het insluiten van lettertypen niet kan volgen. De licentie van een lettertype kan alleen lees-/schrijfmachtigingen geven voor een lettertype dat moet worden geïnstalleerd en gebruikt op de doelcomputer. Of de licentie kan alleen-lezenmachtigingen geven. Met de machtiging Alleen-lezen kan een document worden bekeken en afgedrukt (maar niet gewijzigd) door de doelcomputer; documenten met alleen-lezen ingesloten lettertypen zijn zelf alleen-lezen. Ingesloten lettertypen met het kenmerk Alleen-lezen kunnen niet worden ontbundeld uit het document en geïnstalleerd op de doelcomputer.

Een toepassing kan de licentiestatus bepalen door de functie GetOutlineTextMetrics aan te roepen en de otmfsType- lid van de structuur OUTLINETEXTMETRIC- te onderzoeken. Als bit 1 van otmfsType is ingesteld, is insluiten niet toegestaan voor het lettertype. Als bit 1 leeg is, kan het lettertype worden ingesloten. Als bit 2 is ingesteld, is het insluiten alleen-lezen.

Als u een TrueType-lettertype wilt insluiten, kan een toepassing de functie GetFontData gebruiken om het lettertypebestand te lezen. Als u de parameters dwTable en dwOffset instelt parameters van GetFontData op 0L en de parameter cbData op 1L, zorgt u ervoor dat de toepassing het hele lettertypebestand vanaf het begin leest.

Er zijn verschillende functies beschikbaar voor het insluiten van OpenType-lettertypen, afhankelijk van de tekenbreedte en waar de lettertypegegevens zich bevinden. Als u een OpenType Unicode-lettertype wilt insluiten dat zich in een apparaatcontext bevindt, kan een toepassing gebruikmaken van TTEmbedFont. Als u een OpenType UCS-4-lettertype wilt insluiten dat zich in een apparaatcontext bevindt, kan een toepassing gebruikmaken van TTEmbedFontEx-. Als u een OpenType Unicode-lettertype wilt insluiten dat zich in een lettertypebestand bevindt, kan een toepassing gebruikmaken van TTEmbedFontFromFile-. Zie de Naslaginformatie voor lettertype insluiten van lettertypenvoor meer informatie over het insluiten van lettertypen.

Nadat een toepassing de lettertypegegevens heeft opgehaald, kunnen de gegevens met het document worden opgeslagen met behulp van een toepasselijke indeling. De meeste toepassingen bouwen een lettertypemap in het document, waarbij de ingesloten lettertypen worden weergegeven en of het insluiten alleen-lezen of alleen-lezen is. Een toepassing kan de otmpStyleName en otmFamilyName leden van de OUTLINETEXTMETRIC- structuur gebruiken om het lettertype te identificeren.

Als de alleen-lezen-bit is ingesteld voor het ingesloten lettertype, moeten toepassingen de lettertypegegevens versleutelen voordat ze deze met het document opslaan. De versleutelingsmethode hoeft niet ingewikkeld te zijn; Als u bijvoorbeeld de XOR-operator gebruikt om de lettertypegegevens te combineren met een door de toepassing gedefinieerde constante, is dit voldoende en snel.