Sariel Neuling
Anmeldedatum: 27.06.2010 Beiträge: 4
|
Verfasst am: 28.04.2012, 21:41 Titel: Wie eine Win-fremde Font einbinden bzw. deren Namen finden |
|
Hi Leute,
wie dem Titel zu entnehmen ist schaffe ich es nicht eine Windows-fremde Schriftart in ein SpriteFont einzubinden. Die Schrift heißt Diavlo. Wenn ich nun versuche diese mit | Code: | | <FontName>Diavlo</FontName> |
in der XML-Datei einzubinden, bekomme ich folgende Fehlermeldung: | Zitat: | | Die Schriftfamilie "Diavlo" konnte nicht gefunden werden. Bitte stellen Sie sicher, dass die angeforderte Schriftart installiert und eine TrueType- oder OpenType-Schriftart ist |
Die Schrift ist korrekt installiert und ich kann sie problemlos in meinen anderen Programmen benutzen.
Ich habe auch schon alle mir eingefallenen Variationen von den Diavlo-Variationen (Medium, Bolt, Blach, ...) ausprobiert, sowie alles in Großbuchstaben und alles nur klein geschrieben.
Da auch dies nichts geholfen hat, habe ich mir gedacht, nimmste halt eine der anderen Schriften - ich habe mir mehrere Schriften ausgesucht und wollte testen, wie sie im Spiel wirken. Wieder das Spiel, genauso wie bei den restlichen auch.
Mein Idee - warum dies nicht funktioniert - ist, dass die Schriftnamen nur Anzeigenamen sind und intern in Windows anders bezeichnet sind. Leider weiß ich nicht, wie dann die richtigen Namen herausfinden kann, oder ob es an etwas anderem liegt - Auf jeden Fall bin ich mit meinem Latein am Ende.
mfg Sariel |
|
| Nach oben |
|

|
Razer Member
Anmeldedatum: 31.05.2009 Beiträge: 1796
|
Verfasst am: 28.04.2012, 22:06 Titel: |
|
Hast du Visual Studio nach dem Installieren der Font neugestartet? Die Content Pipeline erkennt erst nach einem Neustart neuinstallierte Fonts  |
|
| Nach oben |
|

|
JeReT Member
Anmeldedatum: 19.07.2007 Beiträge: 3248 Wohnort: µnchen
|
Verfasst am: 29.04.2012, 00:36 Titel: |
|
Nur nochmal, um es auszuschließen: du hast die schrift in einen ordner kopiert und dann ausgewwäht und im rechtsklick-menu "Installieren" ausgewählt und nicht einfach nur die Schrift in den Fonts ordner kopiert?
Dalls ja, liegt es wahrscheinlich an deiner Vermutung. Geh einfach nach C:\Windows\Fonts und such nach deiner schrift. Doppelklick drauf: es sollte der Windows Font-Viewer angehen. Dort steht im Titel-Rahmen der tatsächliche name der Font. _________________
Shapes |
|
| Nach oben |
|

|
Sariel Neuling
Anmeldedatum: 27.06.2010 Beiträge: 4
|
Verfasst am: 29.04.2012, 04:22 Titel: |
|
@Razer ich habe nach dem installieren des Font nicht nur VS sondern auch Win neugestartet. Das mit dem Neustart von VS war mir bekannt.
@ JeReT ja ich habe die Font mit Rechtsklick-> installieren installiert. Sogar zwei-mal nun (also noch mal deinstalliert und danach noch mal installiert). In C:\Windows\Fonts (das ist ja das selbe wie Systemsteuerung -> Schriftarten) war ich auch schon und habe nach dem richtigen Namen gesucht, aber es funktioniert einfach nicht.
Ich habe mir noch mal weitere Fonts heruntergeladen und bei denen funktionierts es auch nicht. Die Windows-eigenen Font funktionieren alle, nur halt die fremden nicht.
Kann es daran liegen, dass die Fonts PostSript-Konturen benutzen? Ich kann es mir eigendlich nicht vorstellen, da es ja zu dem OpenType dazugehört |
|
| Nach oben |
|

|
sorry Member
Anmeldedatum: 26.04.2011 Beiträge: 257
|
Verfasst am: 29.04.2012, 11:11 Titel: |
|
Verwandele das Font mal in eine SpriteFontTexture, z.B. mit diesem Programm: http://www.nubik.com/SpriteFont/
Bei XNA importierst Du dann das Bild via ContentPipeline. Bei der musst Du den ContentProzesor auf Sprite-Schriftarttextur einstellen und dann kannst Du es im Spiel einfach mittels Content.Load<SpriteFont>("font") laden. |
|
| Nach oben |
|

|
Sariel Neuling
Anmeldedatum: 27.06.2010 Beiträge: 4
|
Verfasst am: 29.04.2012, 16:35 Titel: |
|
So habe das mal mit dem Tool gelöst - ist zwar umständlicher, aber es funktioniert.
Ich würde aber trotzdem gerne wissen, woran das denn nun liegt, dass es auf dem anderen Weg nicht funktioniert - vor allem warum es bei allen nicht-Win Schriften die ich habe so ist.
Selbst keiner die Antwort darauf weiß sag ich trotzdem danke |
|
| Nach oben |
|

|
sorry Member
Anmeldedatum: 26.04.2011 Beiträge: 257
|
Verfasst am: 29.04.2012, 17:13 Titel: |
|
| Manchmal passiert es, dass die Font's doch unter einem anderen Namen in XNA eingebunden werden müssen, als man denkt^^ Du kannst ja mal mit dem Explorer zu C:\Windows\Fonts gehen, einen Rechtsklick auf deine Font machen, dann auf Eigenschaften gehen und unter "Details" schauen was bei "Titel" steht. Unter dem Namen kannst Du die Font dann mal in XNA einbinden und schauen ob's funktioniert. Aber generell ist es sowieso Ratsam eher SpriteFont-Textures zu verwenden, da die nicht zuerst auf dem PC installiert werden müssen. Somit ist es für dich einfacher das Programm zu veröffentlichen/Bekannten zur Verfügung zu stellen. |
|
| Nach oben |
|

|
simsmaster Member
Anmeldedatum: 05.08.2009 Beiträge: 1631 Wohnort: Langenhagen
|
Verfasst am: 29.04.2012, 17:26 Titel: |
|
Sorry, Fonts werden immer in eine Texture umgewandelt, auf dem Ziel PC muss die Schriftart nicht installiert sein! _________________ Mein Blog - XNA FAQ |
|
| Nach oben |
|

|
Sariel Neuling
Anmeldedatum: 27.06.2010 Beiträge: 4
|
Verfasst am: 29.04.2012, 21:25 Titel: |
|
@sorry, das Problem ist ja, dass es mit diesen Namen nicht funktioniert (siehe meinen 2.Post) und ich würde gerne wissen warum.
Ob es ratsam ist generell die SpriteFont-Textures zu verwenden? Ich würde sagen, es macht keinen Unterschied, da - wie simsmaster bereits gesagt - die SpriteFonts, wie (auch alles andere) ins .xnb-Format umgewandelt werden. Für mich persönlich wäre es jetzt schöner gewesen, wenn ich einfach die Namen in den xml-Dateien hätte ändern können (hatte bis jetzt erst mal alles mit den WindowsFonts gemacht), anstatt erst mal noch von allen Fonts die Textures zu machen. |
|
| Nach oben |
|

|
Nokia Einmal-Poster
Anmeldedatum: 29.05.2012 Beiträge: 1
|
Verfasst am: 29.05.2012, 15:22 Titel: |
|
| Microsoft VisUrula font der PipeLeyen? |
|
| Nach oben |
|

|
|