fontDlgInputFont.ShowDialog & fixedFont



  • Hi @ll,

    ich hab ein problem (ja wie die meisten hier ;)),

    Mein PC ist ein WindowsXP Prof 32Bit
    ich nutze Visual Studio C# 2008 Express

    Ich versuche einen FixedFont ( ubuntu-mono ( http://www.fontsquirrel.com/fonts/ubuntu-mono )) mittels

    if (fontDlgInputFont.ShowDialog(this) == DialogResult.OK)
    

    einzulesen, doch leider bekomm ich immer eine Exeption: Es werden nur TrueType-Schriftarten unterstützt. Dies ist keine TrueType-Schriftart.

    Leider konnte ich nichts ergoogeln und beim forum Durchstöbern konnt ich auch nichts finden.

    Hat mir von euch einer einen Tipp wie ich das umgehen und meinen Font dennoch Laden kann?

    Vielen Dank,
    Manuel


  • Administrator

    DarkHell schrieb:

    if (fontDlgInputFont.ShowDialog(this) == DialogResult.OK)
    

    Dieser Code liest kein Font ein. Der zeigt einen Dialog an und wartet auf das Ergebnis des Dialoges, bzw. prüft ob dieses DialogResult.OK ist.

    Wie liest du den Font nun ein? Wo genau tritt die Fehlermeldung auf?

    Grüssli



  • wie beschrieben ich versuche einen Font einzulesen ... hast natürlich recht, dass mir der Opendialog nicht den Font einliest aber ich kann ihn damit schön über den Dialog auswählen ...

    Die Exception tritt genau bei der Zeile auf. Davor ein Breakpoint und Dahinter gibts kein Problem.

    http://i47.tinypic.com/abq9so.png <- hier hab ich mal einen Screenshot vom Debugger gemacht.

    Er Springt mir genau dann dahin, wenn ich den Font ausgewählt und OK geklickt habe. Bei Courier New, Arial ... gibt es keinerlei Probleme, nur bei den explizit als Fixed Fonts beschriebenen Fonts. (Wobei Courier New ja eigentlich auch einer ist).

    Gruß


  • Administrator

    Du verwendest WinForms, richtig?

    Ich habe zwischenzeitlich noch ein wenig recherchiert. Ubuntu Mono scheint ein OpenType Font zu sein. Diese werden, gelinde gesagt, von WinForms nicht gerade sehr gut unterstützt.

    Da dies eine Einschränkung von GDI+ ist und WinForms darauf aufbaut, wäre mir auch nicht bekannt, wie man dies umgehen könnte.

    Grüssli



  • ahhh,
    verdammt daran hab ich überhaupt nicht gedacht :/...

    Ja ich nutze WinForms ...

    hmmz mist dann heißt es doch selbst einen font malen *gg*

    bzw ich habe gerade nochmal nachgesehen, das komische ist die Files wo ich den Font Installiert habe nennen sich "UbuntuMono-R.ttf" (also ein TrueType Font) ein OpenType müsste doch *.otf heißen oder ?

    Edit: gerade noch was gefunden .. 😕 somit .. mal schauen eventuell kann ich den Font in einen normalen TrueType umwandeln
    OpenType TrueType (.ttf) and OpenType PostScript (.otf)

    Danke dir 🙂


  • Administrator

    DarkHell schrieb:

    hmmz mist dann heißt es doch selbst einen font malen *gg*

    Oder suchst einen Konverter. Es gibt doch zu fast allem auf dieser Welt einen Konverter. Sogar für Persönlichkeiten, nennt man dann Psychologen 😉

    Grüssli



  • hehe ja werd ich mal suchen 🙂 (oder besser doch einen aufsuchen ?!?) ^^,

    danke dir

    Edit :
    Irgendwie ist das schon komisch ^^,

    Ich hab ihn nun über http://www.freefontconverter.com/ umgewandelt, ist auch kleiner geworden ... in Windows wird der Font als normaler TrueType angezeigt ... aber leider bekomme ich immer noch die selbe Exception in C# 😕

    Ev. hat mir ja sonst noch einer ne Idee,

    Gruß,


Anmelden zum Antworten