Avatar billede atuin Nybegynder
03. februar 2004 - 21:44

PS (type 1) Font-filfinding via programmering

Jeg er ved at programmere en utility til at overskue fonte samt tilføje og fjerne dem fra systemet. Jeg benytter Visual Basic 6 til at gøre det. Jeg har benyttet denne kategori, fordi det ikke nødvendigvis er i VB at løsningen til problemet ligger.
Programmet går også fint, lige indtil vi når til at fjerne PS-fonte der allerede er installeret på systemet. Visual Basic har en funktion til at give mig navnene på alle fonte der er tilgængelige, og det er dette navn jeg går ud fra. Herfra er min umiddelbart eneste måde at finde filnavnet på fonten, at gå ind i registreringsdatabasen på "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts" som virker udemærket til normale (TrueType og Bitmap) fonte. Til PS-fonte ligger der belejligt en anden mappe "Type 1 Installer\Type 1 Fonts" i CurrentVersion-mappen, hvor informationen står til Ps-fontene (samt deres Metric-fil).

Problemet ligger nu i, at det navn Visual Basic, eller et hvilket som helst andet Windows-program, opgiver ikke svarer til navnet i denne mappe. Fx fortæller VB at jeg har en PS-font der hedder "Times New Roman PS MT" mens registreringsdatabasen kalder den "TimesNewRomanPS BoldMT". Er der nogen smart måde at vide hvilken omskrivning der vil bruges? Eller er der en hel anden måde at finde filnavnet på?
I VB kan jeg forestille mig at mine muligheder for at finde information er Visual Basic indbyggede funktioner, API-funktioner, registreringsdatabasen samt fil-kiggeri.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester