AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateiname eines Fonts ermitteln

Offene Frage von "flomei"
Ein Thema von flomei · begonnen am 13. Sep 2004 · letzter Beitrag vom 15. Sep 2004
Antwort Antwort
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#1

Dateiname eines Fonts ermitteln

  Alt 13. Sep 2004, 00:09
Hallo!
Ich würde gerne den Dateinamen eines Fonts ermitteln.
Kennt jemand eine Funktion dafür oder weiss wie man es probieren könnte?

Problem ist nämlich, dass bei vielen Fonts der Dateiname <> Fontname ist.
z.B.: Fontname: "ZoeBecker" Dateiname: "zoerdb.ttf"

Vielen Dank im Vorraus!

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#2

Re: Dateiname eines Fonts ermitteln

  Alt 13. Sep 2004, 00:20
Hinzu kommt noch, das bestimmte Fonts "gemappt" sind, das heisst "MS Shell Dlg 2" ist z.B. Tahoma.
Nachzulesen in der Registry unter HKLM\Microsoft\Windows NT\CurrentVersion\FontSubstitutes.
Namen kann man unter "HKLM\Microsoft\Windows NT\CurrentVersion\Fonts" rausfinden. Das ganze gilt für Windows NT4/2000/XP/2003.
Ob es eine Funktion dafür gibt, weis ich allerdings nicht.
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Dateiname eines Fonts ermitteln

  Alt 13. Sep 2004, 01:30
Und genau da liegt das Problem!
Nur mit genügend Rechten kann man auf HKLM zugreifen...
Weiterhin sollte das wenn möglich zumindest auch auf Win98 laufen...

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Dateiname eines Fonts ermitteln

  Alt 13. Sep 2004, 01:35
Lesen solltest du auch als einfacher Benutzer können. Und schlimmsten falls musst du eben zwei Versionen machen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: Dateiname eines Fonts ermitteln

  Alt 13. Sep 2004, 01:42
Hi Florian,

du musst beim Erstellen des TRegistry-Objekts angeben, dass du nur Lesezugriff willst:

reg := TRegistry.Create(KEY_READ); Lässt du den Parameter weg, so wird automatisch Lese- und Schreibzugriff verlangt, welchen du auf HKLM aber nur als Admin erhälst.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Dateiname eines Fonts ermitteln

  Alt 13. Sep 2004, 15:39
Seid ihr euch sicher, dass der Pfad unter NT und Win9x der Gleiche ist?
Wenn ja, dann wäre das wohl ne Möglichkeit...

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#7

Re: Dateiname eines Fonts ermitteln

  Alt 13. Sep 2004, 15:53
Habe grad unter Win95 geguckt, da gibt es das nur unter HKLM\Microsoft\Windows\CurrentVersion\Fonts, die FontSubstitutes scheint es gar nicht zu geben.
  Mit Zitat antworten Zitat
Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#8

Re: Dateiname eines Fonts ermitteln

  Alt 14. Sep 2004, 22:16
Hallo Florian!

Zitat von scp:
Nachzulesen in der Registry unter HKLM\Microsoft\Windows NT\CurrentVersion\FontSubstitutes.
Namen kann man unter "HKLM\Microsoft\Windows NT\CurrentVersion\Fonts" rausfinden. Das ganze gilt für Windows NT4/2000/XP/2003.

Auf meinen Rechnern stehen die Fonts bei Win98, Win98SE unter
Zitat:
HKLM\Software\Microsoft\Windows\CurrentVersion\Fonts
Bei XP ist es
Zitat:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Fonts
Da finden sich auch die Substitutionen unter
Zitat:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
WinME habe ich nicht im Einsatz - das sollte ein Anderer nachsehen. Da WinME nur eine Weiterentwicklung von 98 ist, vermute ich die Win98-Variante.

Fazit: Die Fonts selber stehen bei MS-DOS Version 7 mit Windows Version 4 (aka Win95, Win98, WinME) in einem geringfügig anderen Registryzweig als bei Windows (aka WinNT, Win2000, WinXP).
Substitutes gibt es nur bei NT.

Da es nur 2 mögliche Schlüssel für Fonts sind, kann man ja beide auswerten. Für Substitutes würde ich auch beide theoretisch möglichen Schlüssel suchen.

Gruß

Dietmar Brüggendiek
Edit: Teitscha Sprak -schwäres Sprak
Dietmar Brüggendiek
Die 6 Probleme des Programmierers: 1. dauert das länger, als man 2. glaubt, 3. geht das nicht so, wie man sich das 4. schlau überlegt hat, und 5. sitzt der Fehler da, wo man ihn 6. zuletzt sucht
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#9

Re: Dateiname eines Fonts ermitteln

  Alt 15. Sep 2004, 00:26
Ja, natürlich sind die alle unter HKLM\SOFTWARE, weis auch nich warum mir dreimal der geleich Tippfehler passiert ist, wahsrcheinlich durch Copy&Paste.
Die "Windows NT"- und die FontSubstitutes-Einträge gibt es aber unter Win95 garantiert nicht, erst ab Win98.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz