Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash CS5 Professional

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-03-2011, 20:13   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 14
Schriftzeichen Fehler in Flash-Player/Plugin

Ich habe ein Problem mit einem bestimmten Schriftzeichen, es geht um einen Aufzählungspunkt. Unter Windows 7 und teilweise Vista wird dieser plötzlich ca. 400% vergrößert dargestellt. Alle anderen Schriftzeichen sind ok.

Das Phänomen tritt unter Vista/Win7 64 bit mit neueren Player/Plugin Versionen auf, ältere Plugin-Versionen bis 9.0.16.0 funktionieren. Unter XP ist es fast immer alles korrekt - auch bei neueren Plugin Versionen.

Im Anhang ein Screen zur Verdeutlichung des Problems (dies ist nicht der vom Bsp-Code erzeuge Screen)


Hier das Script, einfach ins Frame 1:
Code:
this.createTextField("my_txt", 10, 10, 10, 320, 100);
my_txt.autoSize = "left";
my_txt.border = true;
my_txt.multiline = true;
my_txt.wordWrap = true;

var reviews_xml:XML = new XML();
reviews_xml.ignoreWhite = true;
reviews_xml.onLoad = function (success:Boolean):Void {
if (success) {
var childItems:Array = reviews_xml.firstChild.childNodes;
for (var i:Number = 0; i < childItems.length; i++) {
my_txt.text += childItems[i].firstChild.firstChild.nodeValue + "\n";
trace (childItems[i].firstChild.firstChild.nodeValue);
}
} else {
my_txt.text = "Unable to load external file.";
}
}
reviews_xml.load("beispiel.xml");


Hier die dazugehörige XML (als beispiel.xml im selben Ordner):
Code:
<?xml version="1.0" encoding="UTF-8"?>
<reviews>
<review>
<name><![CDATA[&#x25cf; Das ist der Punkt, den ich verwende]]></name>
</review>
<review>
<name><![CDATA[&#x25cc; Dieser Punkt hat eigentlich die gleiche Größe]]></name>
</review>
<review>
<name><![CDATA[&#x2022; ein anderer Punkt]]></name>
</review>
</reviews>
Hat jemand eine Idee? Der Adobe Support konnte das Problem nachvollziehen. Es gibt aber keine Lösung, der Fehler wird also nicht behoben. Aussage: Man soll dieses Zeichen halt nicht verwenden!?!?
Angehängte Grafiken
Dateityp: jpg Darstellung Screenshot.jpg (174,3 KB, 12x aufgerufen)
Michael01234 ist offline   Mit Zitat antworten
Alt 02-03-2011, 20:36   #2 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
hi,

einfach mal die schrift einbetten - dann hat sich das problem erledigt.
alles andere ist ja ohnehin ein no go!

mfg

sx


edit: wenn du sie nicht einbetten kannst/darfst/sollst ... nimm eine andere schrift bspw. tahoma
__________________

flintfabrik.de

Geändert von shin10 (02-03-2011 um 20:45 Uhr)
shin10 ist offline   Mit Zitat antworten
Alt 02-03-2011, 21:17   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 14
Leider hilft das Einbetten der Schrift nicht! Das war einer der ersten Punkte, die ich probiert habe.
Michael01234 ist offline   Mit Zitat antworten
Alt 02-03-2011, 21:33   #4 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
sicher?

also ich sitz hier gerade an vista x86 - konnte den fehler reproduzieren, aber mit dem einbetten der font hat es sich erledigt.

aber ich versuchs später nochmal unten auf win 7, 64 bit.
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 02-03-2011, 21:46   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 14
Ich habe die Schriften über Text\Schriftarteinbettung eingebettet. Das sollte doch langen, oder muss ich zusätzlich noch am Textfeld selber etwas anpassen, dass er diese Schrift auch sicher verwendet?

Bin gerade über my_txt.embedFonts=true gestolpert, aber wenn ich das verwende, wird gar nichts mehr angezeigt.
Michael01234 ist offline   Mit Zitat antworten
Alt 02-03-2011, 21:55   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 14
Ah, mein Fehler, ich muss die Schrift in der Bibliothek natürlich noch mit "Export für AS" versehen. Jetzt sieht's besser aus.

Aber jetzt stellt er dafür die Outline Variante von dem Zeichen gar nicht mehr da, obwohl ich explizit beide beim Einbetten angeben habe (●○), komischerweise wird letzteres Zeichen im Schriftarteinbettungsdialog von Flash nun stark vergrößert angezeigt, das ist alles nicht wirklich vertrauenserweckend...
Michael01234 ist offline   Mit Zitat antworten
Alt 02-03-2011, 21:56   #7 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
Zitat:
Zitat von Michael01234 Beitrag anzeigen
Bin gerade über my_txt.embedFonts=true gestolpert, aber wenn ich das verwende, wird gar nichts mehr angezeigt.
muss verwendet werden.

wenn dann nichts zu sehen ist, ist die schrift bzw. zumindest der zeichenbereich nicht eingebettet.

Zitat:
Aber jetzt stellt er dafür die Outline Variante von dem Zeichen gar nicht mehr da, obwohl ich explizit beide beim Einbetten angeben habe (●○), komischerweise wird letzteres Zeichen im Schriftarteinbettungsdialog von Flash nun stark vergrößert angezeigt, das ist alles nicht wirklich vertrauenserweckend...
kann ich jetzt nicht bestätigen.
__________________

flintfabrik.de

Geändert von shin10 (02-03-2011 um 22:01 Uhr)
shin10 ist offline   Mit Zitat antworten
Alt 02-03-2011, 22:11   #8 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 14
Anbei 2 Screens, einer vom Dialog und einer vom neuen Ergebnis, im rechten Textfeld ist .embedFonts true
Angehängte Grafiken
Dateityp: jpg f1.jpg (127,9 KB, 7x aufgerufen)
Dateityp: jpg f2.jpg (54,5 KB, 7x aufgerufen)
Michael01234 ist offline   Mit Zitat antworten
Alt 02-03-2011, 22:25   #9 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
schau mal kurz ob es mit meinen datein klappt, oder ob es am system liegt.
Angehängte Dateien
Dateityp: fla embdTimes_blackCircle.fla (7,0 KB, 2x aufgerufen)
Dateityp: swf embdTimes_blackCircle.swf (8,9 KB, 11x aufgerufen)
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 02-03-2011, 22:44   #10 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 14
Wenn ich deine zwei manuell angelegten Textfelder bei mir einkopiere, wird das dritte "zur Laufzeit erzeugte" richtig dargestellt, sehr seltsam.

Wenn ich bei dir die 2 Textfelder entferne, wird im 3. kein einziges Zeichen dargestellt.

Doofe Frage: Muss man dem Textfeld nicht noch ein Textformat mit Schriftart, etc. zuweisen oder in deinem Fall nicht, da du Times verwendest und dies = Standard?

Code:
		var my_fmt:TextFormat = new TextFormat();
		my_fmt.color = 0xFF0000;
		my_fmt.font = "Arial";

		my_txt.setTextFormat(my_fmt);
Michael01234 ist offline   Mit Zitat antworten
Alt 02-03-2011, 23:00   #11 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 14
Ich glaube ich habe es. Mit ordentlicher Schriftzuweisung per settextformat scheint es auch zu gehen, wenn die anderen Felder nicht da sind. Jetzt muss ich das Ganze nur noch in die große Anwendung implementieren, ich versuche mal mein Glück.

Ich dachte bisher immer, dass es langt die Schrift einzubetten, das das
Code:
my_txt.embedFonts= true;
nötig ist, war mir nicht bewusst. Und dann muss man noch mit .setTextFormat die Schrift zuweisen, die Schrift einbetten und diese noch für AS exportieren.

Ich gebe morgen mal Rückmeldung, ob das geklappt hat.

Soweit schon mal Danke!!!
Michael01234 ist offline   Mit Zitat antworten
Alt 02-03-2011, 23:09   #12 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.498
wenn du die textfelder rauslöscht, dann wird die font bei mir nicht eingebettet, weil ich das häkchen für as-export nicht angeklickt habe. folglich denkt der compiler, dass die schrift nicht verwendet wird und packt sie nicht mit rein.

wenn du das häkchen anmachst müsste der text kommen.

das textformat musst du tatsächlich nur einstellen/verwenden, wenn du nicht die times new roman verwendest. allerdings greift setTextFormat nur im nachhinein, wenn schon text vorhanden ist.

wenn du das standardtextformat ändern möchtest, musst du setNewTextFormat verwenden.

PHP-Code:
var reviews_xml:XML = new XML('<?xml version="1.0" encoding="UTF-8"?><reviews><review><name><![CDATA[\u25cf Das ist der Punkt, den ich verwende]]></name></review><review><name><![CDATA[\u25cc Dieser Punkt hat eigentlich die gleiche Größe]]></name></review><review><name><![CDATA[\u2022 ein anderer Punkt]]></name></review></reviews>');

var fmt:TextFormat = new TextFormat("Arial", 12, 0, false, false, false, null, null);
this.createTextField("my_txt",10,10,10,320,100);
my_txt.autoSize = "left";
my_txt.border = true;
my_txt.multiline = true;
my_txt.wordWrap = true;
my_txt.embedFonts = true;
my_txt.setNewTextFormat(fmt);

var childItems:Array = reviews_xml.firstChild.childNodes;
for (var i:Number = 0; i < childItems.length; i++)
{
    my_txt.htmlText += childItems[i].firstChild.firstChild.nodeValue + "\n";
    trace(childItems[i].firstChild.firstChild.nodeValue);
}
mfg

sx
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 21-08-2011, 15:02   #13 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 14
Habe das übrigens bis heute nicht hin bekommen.

Generell geht es so zwar, allerdings sieht eine eingebettete Arial ganz anders aus als die Arial als Geräteschriftart. Sie läuft zudem auch anders. Die eingebettete Variante ist viel "fetter" durch das Antialiasing. Ich benötige das scharfe Aussehen der Geräteschrift-Variante.

Noch irgendwelche Ideen?
Michael01234 ist offline   Mit Zitat antworten
Alt 21-08-2011, 15:21   #14 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Du kannst versuchen etwas mit den Advanced-AntiAliasing rumzubasten und da die Parameter Sharpness und Thickness zu verändern.

Wenn's aber genauso aussehen soll, wie die Systemtypo, musst Du eben auch die Systemschrift verwenden (mit allen Konsequenzen, die sich daraus ergeben).

Ein Nachtrag noch: Auch die Browser verwenden nicht zwingend alle das gleiche AntiAliasing. Eine ältere Safari-Version für Windows z.B. hatte ein so weiches AntiAliasing, dass dieselben Texte um etliche Pixel breiter waren als in anderen Browsern.
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist gerade online   Mit Zitat antworten
Alt 21-08-2011, 16:40   #15 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 14
Geht leider (noch) nicht, da ich die Anwendung aktuell noch in einer alten Flash Version exportieren muss, da gab es noch kein Antialiasing.

Es ist ja wirklich nur das eine Problem mit diesem Sonderzeichen, dass fehlerhaft angezeigt wird, ansonsten ist ja alles bestens. Und das mit dem Sonderzeichen ist ja ein Fehler im Adobe im Flash Player. Unter allen Betriebssystemen außer Windows 7 64 Bit wird's ja korrekt angezeigt.


Ein Drama....
Michael01234 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Flash CS4] Überprüfen Ob das Flash Player Plugin vorhanden ist yanu2 Flash Einsteiger 13 11-02-2009 08:43
Flash-Plugin-Check - wo ist der Fehler? Thorsten. Flash MX 4 20-12-2006 16:44
Plugin für Flash Player anzeigen lassen? Z-Man Flash 8 3 19-04-2006 22:09
probleme mit neuen Flash Player plugin eURONYMOUS Flash 4 und Flash 5 0 20-08-2002 16:13
Flash Player/Plugin?????????? karinsch Flash MX 3 05-04-2002 10:09


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele