Delen via


Installatie en verwijdering van lettertype

Een toepassing kan alleen een lettertype gebruiken om tekst te tekenen als dat lettertype zich op een opgegeven apparaat bevindt of in de systeemlettertypetabel is geïnstalleerd. De lettertypetabel is een interne matrix die alle niet-beschikbare lettertypen voor een toepassing identificeert. Een toepassing kan de namen ophalen van lettertypen die momenteel op een apparaat zijn geïnstalleerd of die zijn opgeslagen in de interne lettertypetabel door de functies EnumFontFamilies of ChooseFont aan te roepen.

Als u tijdelijk een lettertype wilt installeren, roept u AddFontResource of AddFontResourceExaan. Met deze functies wordt een lettertype geladen dat is opgeslagen in een lettertype-resourcebestand. Dit is echter een tijdelijke installatie omdat het lettertype na het opnieuw opstarten niet aanwezig is.

Als u een lettertype wilt installeren dat blijft staan nadat het systeem opnieuw is opgestart, gebruikt u een van de volgende methoden:

  • Ga naar het Configuratiescherm, klik op het pictogram Lettertypen en selecteer Nieuwe lettertypen installeren in het menu Bestand. Het lettertype is beschikbaar voor een toepassing, zelfs voordat het opnieuw wordt opgestart. In een terminalserversituatie is het lettertype echter beschikbaar voor de huidige sessie, maar is het pas beschikbaar voor andere sessies nadat het opnieuw is opgestart.
  • Kopieer het lettertype naar de map %windir%\fonts. Ga vervolgens naar het Configuratiescherm en klik op het pictogram Lettertypen of roep AddFontResource of AddFontResourceExaan. Het lettertype is beschikbaar voor een toepassing, zelfs voordat het opnieuw wordt opgestart. In een terminalserversituatie is het lettertype echter beschikbaar voor de huidige sessie, maar is het pas beschikbaar voor andere sessies nadat het opnieuw is opgestart. Als u het lettertype alleen kopieert naar de map %windir%\fonts, is het lettertype pas beschikbaar nadat het systeem opnieuw is opgestart.

Wanneer een toepassing klaar is met het gebruik van een geïnstalleerd lettertype, moet dit lettertype worden verwijderd door de functie RemoveFontResource aan te roepen.

Een lettertype dat is geïnstalleerd vanaf een andere locatie dan de map %windir%\fonts, kan niet worden gewijzigd wanneer het is geladen in een actieve sessie, inclusief sessie 0. Elke poging om te wijzigen, te vervangen of te verwijderen, wordt daarom geblokkeerd. Als aanpassing van een lettertype nodig is:

  • tijdelijke lettertypen alleen in de huidige sessie worden geladen. Voordat u lettertypewijzigingen probeert aan te brengen, roept u RemoveFontResource aan om af te dwingen dat de huidige sessie het lettertype verwijdert.
  • Permanente lettertypen geïnstalleerd blijven na het opnieuw opstarten en worden geladen door alle gemaakte sessies. Roep RemoveFontResource- aan om af te dwingen dat de huidige sessie het lettertype verwijdert. Zoek en verwijder vervolgens in de registersleutel voor lettertypen (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts) de registerwaarde die aan het lettertype is gekoppeld. Start ten slotte de computer opnieuw op om ervoor te zorgen dat het lettertype niet in een sessie wordt geladen. Nadat u opnieuw bent opgestart, gaat u verder met het wijzigen/verwijderen van het lettertype.

Wanneer een toepassing de functies aanroept die lettertypebronnen toevoegen en verwijderen, moet deze ook de functie SendMessage aanroepen en een WM_FONTCHANGE bericht verzenden naar alle vensters op het hoogste niveau in het systeem. In dit bericht worden andere toepassingen aangegeven dat de interne lettertypetabel is gewijzigd door een toepassing die een lettertype heeft toegevoegd of verwijderd.