Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-11-2011, 13:34   #1 (permalink)
Crème brûlée
 
Registriert seit: Jan 2006
Ort: Düsseldorf
Beiträge: 719
Italic font simulieren (Fake slant)

Hallo zusammen,

wir haben momentan das Problem, dass wir eine Schriftart verwenden müssen, die keinen kursiven Schnitt hat. Unsere Designer würden die aber trotzdem gerne kursiv verwenden (wobei der Text natürlich dynamisch bleiben muss). Gibt es einen Weg, das in Flex zu "simulieren" (wie das anscheinend auch z.B. Word tut) - am besten per AS3/CSS?

Viele Grüße,
Laxersaz
laxersaz ist offline   Mit Zitat antworten
Alt 01-12-2011, 14:34   #2 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
Ihr könntet es mit einer Displacement-Map machen, wird aber evtl etwas unscharf.

Texte dynmaisch, kein Thema, aber wie soll es eingesetzt werden?
ein- oder mehrzeilige Textfelder?
soll das gesamte Textfeld oder nur einzelne Zeichen kursiv gesetzt werden?
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 01-12-2011, 15:26   #3 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Zitat:
Zitat von laxersaz Beitrag anzeigen
Unsere Designer würden die aber trotzdem gerne kursiv verwenden
Dann müssten die meiner Meinung nach auch eine andere Schrift liefern.

Wenn sich einer ein Auto kauft und das dann auch noch selbst grün lackieren
muss, nur weil der Hersteller das so will, dann stimmt da ja auch was nicht...

Red doch nochmal mit denen...

Geändert von ~pyropete~ (01-12-2011 um 15:32 Uhr)
~pyropete~ ist offline   Mit Zitat antworten
Alt 01-12-2011, 15:37   #4 (permalink)
Crème brûlée
 
Registriert seit: Jan 2006
Ort: Düsseldorf
Beiträge: 719
Das ganze soll bei mehrzeiligen Textfeldern eingesetzt haben. Dabei sollen alle Zeichen kursiv werden. Die Möglichkeit mit der Displacement-Map schaue ich mir mal an - da hatte ich noch garnicht dran gedacht.

@~pyropete~: Manchmal kann man da leider nicht so viel machen. Für uns gibt es gerade zwei Möglichkeiten:

- wir finden eine Möglichkeit, Italics zu simulieren oder
- wir sagen den Designern, dass es nicht geht

laxersaz ist offline   Mit Zitat antworten
Alt 01-12-2011, 16:01   #5 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.499
Kann natürlich problematisch sein, was Lizenzen betrifft, aber ihr könntet doch "einfach" einen eigenen kursiven Schnitt der Font erstellen.

Bsp.: http://www.high-logic.com/fontcreato...formations.pdf (Seite 4)

edit: Ich hab mit dem Programm noch nicht gearbeitet - kann also keine Empfehlung dafür aussprechen. Nur so als Idee (und 79 199 Euro (oops, dann vielleicht doch zu viel) sind vergleichsweise wenig, verglichen mit dem Aufwand das zu simulieren; bei unsicherem Ergebnis)
__________________

flintfabrik.de

Geändert von shin10 (01-12-2011 um 16:36 Uhr)
shin10 ist offline   Mit Zitat antworten
Alt 01-12-2011, 16:08   #6 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 1.868
@laxersatz,
dann hier mal eine Basis, auf der Ihr aufbauen könnt:
PHP-Code:
var tf:TextField = new TextField();
    
tf.defaultTextFormat = new TextFormat("Arial"20);
    
tf.autoSize "left";
    
tf.text "ist das nun Kursiv?\noder auch nicht?\noder was?";
    
tf.setTextFormat(new TextFormat("Times New Roman"30), 2025);
    
tf.150;
    
tf.200;

var 
r:Rectangle = new Rectangle(-100tf.width 20 );

var 
m:Matrix = new Matrix();
    
//width is egal, height sollte >= max(ober, unterlänge) * 2 sein
    //und y == -height /2 
    
m.createGradientBox(100100Math.PI 20, -50);
    
//das sollte nun dem Offset von baseline zu max(oberlänge) sein
var oy:Number m.ty;

//ein container zum Zeichnen
var s:Shape = new Shape();
for (var 
i:int 0len:int tf.numLineslen; ++i) {
    
    var 
metrics:TextLineMetrics tf.getLineMetrics(i);
    
    
r.height metrics.height;
    
m.ty r.metrics.ascent oy;
    
s.graphics.beginGradientFill("linear", [0x000xFF], [11], [0255], m);
    
s.graphics.drawRect(r.xr.yr.widthr.height);
    
    
r.+= metrics.height metrics.leading;
}

s.getBounds(s);
var 
bd:BitmapData = new BitmapData(r.widthr.heightfalse0);
    
bd.draw(s, new Matrix(1001, -r.x, -r.y));

// @param mapPoint        die 3 durch Testen ermittelt, 2px vermutlich wegen dem padding beim tf, aber ka wo der 3. Pixel herkommt
var f:DisplacementMapFilter = new DisplacementMapFilter(bd, new Point(r.xr.y), 40200DisplacementMapFilterMode.CLAMP);
tf.filters = [f];

//var b:Bitmap = new Bitmap(bd);
//    b.x = tf.x + f.mapPoint.x - 1;
//    b.y = tf.y + f.mapPoint.y - 1;
//addChild(b);
addChild(tf); 
ich hab mit Typografie nicht soo viel am Hut; also werdet ihr sicher noch ein besseres Ergebnis hinbekommen mit den TextLineMetrics
__________________
greetz Thomas

plz RTFM & Coding Conventions

Geändert von thomas_E (01-12-2011 um 17:32 Uhr) Grund: paar kleinere Änderungen rund ums Rect
thomas_E ist offline   Mit Zitat antworten
Alt 01-12-2011, 16:13   #7 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 3.499
Oha, kommt gar nicht so verpixelt wie ich das befürchtet hätte.

well done.
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 01-12-2011, 16:54   #8 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
An der Stelle sollte man vielleicht anmerken, dass sowas aus typographischer Sicht eine Todsünde ist. Das ist fast so fies, wie eine Schrift durch das hinzufügen eine Outline fettstellen zu wollen!

Hamburgefons Hamburgefons

Wie man unschwer erkennen kann, ist eine echte Kursive etwas ganz anderes, als eine einfach in die Schräge verzerrte Normale!
Aber das sollte Euer Grafiker eigentlich wissen, wenn er sein Geld wert ist ... ?!
__________________
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!

Geändert von Martin Kraft (01-12-2011 um 17:04 Uhr)
Martin Kraft ist gerade online   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
font infos zu Bold Italic Boonkerz ActionScript 2 0 24-03-2011 13:46
bold + italic gleichzeitig basti523 Flash CS3 Professional 4 08-08-2008 10:49
BOLD ITALIC und anderes labrar Flash MX 2004 1 05-12-2006 16:37
Bold und Italic Textformatierung ..one way ? flash_gordon ActionScript 1 7 17-03-2005 20:25
Was mache ich flasch - .bold .italic wild_sog Flash 4 und Flash 5 2 22-06-2004 11:50


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

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


Copyright ©1999 – 2012 Marc Thiele