Announcement

Collapse
No announcement yet.

Method not found exception OriginalFontName

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Method not found exception OriginalFontName

    Hallo Entwickler !

    Ich habe folgendes Problem: Ich muss in einer .Net Anwendung (c#) einen eigenen Font laden. Hierzu benutze ich eine PrivateFontCollection und lade Fonts mit AddFontFile(...) . Soweit so gut.
    Problem ist, dass ich im Laufe des Programmes erkennen muss, welcher Font selektiert ist (in diesem Fall in einer Richtextbox). Hierzu schaue ich mir den aktuellen Font an und kann aber den eigentlichen Fontnamen nur über OriginalFontName lesen, da der Name der Font immer "Microsoft Sans Serif" ist.

    Auch das scheint soweit korrekt zu sein und ist auf meinem System auch kein Problem. Auf einigen Systemen scheint die Property OriginalFontName allerdings nicht bekannt zu sein, dort wird eine MethodNotFound Exception geschmissen (wobei diese Systeme auch .NET 2.0 haben). In Msdn habe ich gelesen, dass OriginalFontName nicht vom User benutzt werden soll. Wie komme ich aber an den richtigen Fontnamen ran? Außer dem OriginalFontName deutet nichts auf meinen Font hin.

    Ich habe leider keine Möglichkeit den Font vorher zu installieren und kann auch in meinem speziellen Fall keinen Richtextparser verwenden um so auf den verwendeten Schrifttyp zu kommen. Irgendwie muss ich das aus dem selektierten Font auslesen.

    Hoffe es kann mir jemand helfen,

    Grüße,

    Karsten

  • #2
    Wenn du nur den Namen willst solltest du eigentlich auf die FontFamily zugreifen.
    Also Font.FontFamily.Name, sollte aber eigentlich das selbe liefern wie ein direkter Aufruf von Font.Name.

    In der Msdn zur OriginalFontName steht auch folgendes

    Version Information
    .NET Framework
    Supported in: 3.5, 3.0 SP1, 2.0 SP1
    Man beachtete das explizite SP1 hinter 2.0. Also ohne SP1 keine Property.

    Comment


    • #3
      Hallo!

      Die Fontfamily gibt den Namen nicht zurück sondern nur einen Standardnamen (Microsoft Sans Serif). Wie auch immer ich habe das Problem gelöst in dem ich meinen Spezialfont einfach verkleinert habe, mit einer größeren Schriftart verwende und so herausfinden kann, dass ich eine andere Schriftart verwende. Ist nicht schön aber bei mir kann man eh keine Schriftgrösse einstellen und eine bessere Lösung gibts wohl nicht.

      Vielen Dank nochmal

      Comment

      Working...
      X