Betűtípus telepítése és törlése
Az alkalmazások csak akkor használhatnak betűtípust szöveg rajzolására, ha a betűtípus egy adott eszközön található, vagy telepítve van a rendszer betűtípustáblájában. A betűtípustábla egy belső tömb, amely azonosítja az alkalmazás számára elérhető összes nem kiürített betűtípust. Az alkalmazások lekérhetik az eszközön jelenleg telepített vagy a belső betűtípustáblában tárolt betűtípusok nevét az EnumFontFamilies vagy ChooseFont függvény meghívásával.
Betűtípus ideiglenes telepítéséhez hívja meg AddFontResource vagy AddFontResourceEx. Ezek a függvények betöltenek egy betűtípus-erőforrásfájlban tárolt betűtípust. Ez azonban ideiglenes telepítés, mert újraindítás után a betűtípus nem jelenik meg.
Ha olyan betűtípust szeretne telepíteni, amely a rendszer újraindítása után is megmarad, használja az alábbi módszerek egyikét:
- Lépjen a Vezérlőpultra, kattintson a Betűtípusok ikonra, és válassza Új betűtípusok telepítése lehetőséget a Fájl menüből. A betűtípus az újraindítás előtt is elérhető az alkalmazások számára. Terminálkiszolgálói helyzetben azonban a betűtípus elérhető az aktuális munkamenethez, de más munkamenetekhez csak újraindítás után érhető el.
- Másolja a betűtípust a %windir%\fonts mappába. Ezután lépjen a Vezérlőpultra, és kattintson a Betűtípusok ikonra, vagy hívja meg AddFontResource vagy AddFontResourceEx. A betűtípus az újraindítás előtt is elérhető az alkalmazások számára. Terminálkiszolgálói helyzetben azonban a betűtípus elérhető az aktuális munkamenethez, de más munkamenetekhez csak újraindítás után érhető el. Ha csak a %windir%\fonts mappába másolja a betűtípust, a betűtípus csak a rendszer újraindítása után lesz elérhető.
Ha egy alkalmazás befejezi a telepített betűtípus használatát, el kell távolítania a betűtípust a RemoveFontResource függvény meghívásával.
A %windir%\fonts mappától eltérő helyről telepített betűtípus nem módosítható, ha aktív munkamenetbe töltődik be, beleértve a 0. munkamenetet is. Ezért minden módosítási, csere- vagy törlési kísérlet le lesz tiltva. Ha módosítani kell egy betűtípust:
- ideiglenes betűtípusok csak az aktuális munkamenetben töltődnek be. Mielőtt bármilyen betűtípus-módosítást kísérel meg, hívja meg RemoveFontResource, hogy kényszerítse az aktuális munkamenetet a betűtípus eltávolítására.
- Az állandó betűtípusok az újraindítás után is telepítve maradnak, és az összes létrehozott munkamenet betölti. Hívja meg RemoveFontResource, hogy kényszerítse az aktuális munkamenetet a betűtípus eltávolítására. Ezután a betűtípus beállításkulcsában (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts) keresse meg és távolítsa el a betűtípushoz társított beállításjegyzék-értéket. Végül indítsa újra a gépet, hogy a betűtípus ne legyen betöltve semmilyen munkamenetben. Újraindítás után folytassa a betűtípus módosítását/törlését.
Amikor egy alkalmazás meghívja a betűtípus-erőforrásokat törlő függvényeket, a SendMessage függvényt is meghívja, és WM_FONTCHANGE üzenetet kell küldenie a rendszer összes felső szintű ablakának. Ez az üzenet értesíti a többi alkalmazást, hogy a belső betűtípustáblát egy olyan alkalmazás módosította, amely hozzáadott vagy eltávolított egy betűtípust.