locked
SIlverlight Ansicht (Schriften) in XP komlett anders als in Win7? RRS feed

  • Frage

  • In einer Anwendung wird bei XP-Rechnern eine Seite komplett anders dargestellt als bei Windows 7 Rechnern.

    Es liegt an der unterschiedlichen Darstellung von Schriftarten. In XP kann der Text komplett nach unten gescrollt gar nicht mehr gesehen werden, bei Windows 7 schon.

    Hier 2 Demos: NewsAnsicht_WIN7.png NewsAnsicht_XP.png  mit jeweils ganz nach unten gescrollten Seiten.

    Die Anwendung ist basierend auf dem Silverlight 4 application template theme Cosmopolitan

    Habe auch schon die 2 verwendeten Schiftarten Segoe UI Light und Segoe UI eingebunden (Mit Expression Blend). Dabei wurde ein Ordner Fonts hinzugefügt der 5 Dateien segoeui.ttf, segoeuib, segoeuii, segoeuil und segoeuiz enthält. In deren Eigenschaften steht Buildvorgang: <lendEmbeddedFont> In <Ausgabeverzeichnis kopieren>hab ich schon von  <Nicht kopieren> auf <Kopieren,wenn neuer> geändert, leider ohne Erfolg.

    Es gibt einFont Styles (Font.xaml) mit folgenden Definitionen:

    	<FontFamily x:Key="HeaderFontFamily">Segoe UI Light, Lucida Sans Unicode, Verdana</FontFamily>
    	<FontFamily x:Key="ContentFontFamily">Segoe UI, Lucida Sans Unicode, Verdana</FontFamily>

    Das habe ich auch schon ohne Erfolg auf

    	<FontFamily x:Key="HeaderFontFamily">Segoe UI Light</FontFamily>
    	<FontFamily x:Key="ContentFontFamily">Segoe UI</FontFamily>

    geändert...

    Was muss ich denn  tun um auf allen Betriebssystemen das gleiche Aussehen meiner Silverlight Anwednung zu erhalten?


    Volker Busch

    Freitag, 24. Februar 2012 11:18

Antworten

  • Hallo Volker,

    du verwendest zwei unterschiedliche Browser auf zwei verschiedenen Betriebssystemen. Da kann ich mir schon einige Unterschiede nicht zuletzt in der SLRuntime vorstellen.

    Die Schriftarten einzubinden wäre auch meine Idee gewesen. Du könntest in deinem Code noch schauen ob die Styles tatsächlich angewendet werden.

    Der Buildvorgang für die Schriftart muss "Resource" sein. Adressieren musst du eingebettete Schriften über das zugehörige Verzeichnis und den Namen. Expression Blend macht das glaube ich automatisch.

    Beispiel:

    <MyControl FontFamily="Fonts/MyFont.ttf#FontName" />
    Wenn die Schrift in einer anderen Assembly ist, musst du die Typische Resourcen - Schreibweise mit dem Assemblynamen etc. verwenden.

    Daniel


    http://www.silverlight-community.de - deutsche Community mit Tutorials, Blogs und Usergroups

    Dienstag, 28. Februar 2012 15:21

Alle Antworten

  • Hallo Volker,

    du verwendest zwei unterschiedliche Browser auf zwei verschiedenen Betriebssystemen. Da kann ich mir schon einige Unterschiede nicht zuletzt in der SLRuntime vorstellen.

    Die Schriftarten einzubinden wäre auch meine Idee gewesen. Du könntest in deinem Code noch schauen ob die Styles tatsächlich angewendet werden.

    Der Buildvorgang für die Schriftart muss "Resource" sein. Adressieren musst du eingebettete Schriften über das zugehörige Verzeichnis und den Namen. Expression Blend macht das glaube ich automatisch.

    Beispiel:

    <MyControl FontFamily="Fonts/MyFont.ttf#FontName" />
    Wenn die Schrift in einer anderen Assembly ist, musst du die Typische Resourcen - Schreibweise mit dem Assemblynamen etc. verwenden.

    Daniel


    http://www.silverlight-community.de - deutsche Community mit Tutorials, Blogs und Usergroups

    Dienstag, 28. Februar 2012 15:21
  • Eingebunden (auch als Resource) hatte ich es, ging aber trotzdem nicht.

    Denke das lag an deinem Tip:

    <MyControl FontFamily="Fonts/MyFont.ttf#FontName" />

    das hatte ich nicht probiert, klingt aber logisch.

    Habe allerdings da es drängte, dann die schon auf die interne Silverlight Schrift Lucida Sans Unicode, Lucida Grande umgestellt, jetzt geht es.


    Volker Busch

    Mittwoch, 29. Februar 2012 09:36
  • Hallo Volker Busch,

    Ich möchte Dich bitten folgendes lesen und die Beiträge die Dir geholfen haben zu bewerten.

    Vielen Dank.

    Nutzen Sie die Bewertungsfunktionen ("Antwort" und "Hilfreich") in den MSDN Foren! Unter anderem können andere später eine Lösung schneller finden. Es ist also wünschenswert, dass die fragenden (Benutzer) die Postings/Beiträge anderer Beantworter bewerten. Hier dazu die wichtigsten Anhaltspunkte aus den Forenregeln und FAQs.

    Lösungsbeiträge als „Die Antwort“ markieren
    Bitte markieren Sie den Beitrag, der zur Lösung geführt hat, als "Die Antwort". Durch Bewerten eines Beitrags als "Die Antwort" können andere Teilnehmer die Lösung schneller finden. Außerdem können Sie dem Benutzer, der die Antwort eingereicht hat, für seinen Beitrag danken und zur Steigerung der Antwortqualität in der Diskussionsgruppe beitragen.
    [Quelle: Forenregeln]

    Wie bewerte ich einen Beitrag? Um einen Beitrag als hilfreich zu bewerten, klicken Sie in einem beliebigen Beitrag auf Als hilfreich bewerten. Sie können Ihre Stimme nur einmal für einen Beitrag abgeben.
    [Quelle: Häufig gestellte Fragen]

    Grüße,

    Robert


    Robert Breitenhofer, MICROSOFT  Twitter Facebook
    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip„Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Mittwoch, 29. Februar 2012 10:21
  • Hallo Volker Busch,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert


    Robert Breitenhofer, MICROSOFT  Twitter Facebook
    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Mittwoch, 7. März 2012 09:59
  • SO jetzt habe ich es ausprobieren können.

    Es war deine Vermutung, hatte die Schrift zwar eingebunden, aber man muss dann nicht nur den Schriftnamen, sondern auch den Verweis darauf setzen.

    Mit <MyControl FontFamily="Fonts/MyFont.ttf#FontName" /> geht es Danke!


    Volker Busch

    Mittwoch, 7. März 2012 10:10