24. 06. 2009  [Downloads Flash/Actionscript]

Font embedding & CSS [AS3]

Hier eine Klasse zum Erstellen von CSS-formatierten Textfeldern.
In Flash sind lediglich drei Zeilen notwendig:

import com.heimatdesign.text.FormattedTextfield;
var tf:FormattedTextfield = new FormattedTextfield( cssFormattedString, "textStyles.css" );
addChild( tf );

Die Schriften müssen in der Bibliothek verknüpft werden.
Zu beachten ist, dass Flash - abgesehen von Systemschriften - nur lizensierte Fonts einbettet!
In der CSS muss der originale Fontname angegeben werden (nicht der Verknüpfungsname)

font embedding

Zusätzlich kann ein Object mit vielen zusätzlichen Eigenschaften
mit übergeben werden (zB: antiAliasType, gridFitType, autoSize
selectable, width, height, etc.)
In der ZIP findet Ihr die Klasse mit Anwendungsbeispiel

5 Kommentare

Schreibe einen Kommentar · TrackBack · RSS Comments

  1. Kommentar von screeneyes:
    2. August 2009 @ 16:35

    Danke für den tipp!!

    aber ist mühsam weiss auf schwarz zu lesen. besser wenn der ganze bg schwarz wäre. und am besten wenn schwarz auf weiss wäre =D

  2. Kommentar von Triple777:
    7. August 2009 @ 12:51

    Merkwürdig, klappt bei mir nicht, ich habs mit Flash CS4 & CS3 geöffnet. Die SWF funktioniert, wenn ich die FLA kompiliere, nicht mehr. Die Klasse wird zwar gefunden, das TF aber gar nicht angezeigt.

    Bislang funktionierte noch keine Lösung dyn.TF in Kombination aus einer eingebetteten Font und CSS. Irgendwelche Bugs vielleicht bekannt?

  3. Kommentar von admin:
    7. August 2009 @ 13:46

    hey,
    hmmm… funktionieren sollte das schon. allerdings handelt flash, wie oben geschrieben, die font-namen komisch. dh. die font-namen in der bibliothek unterscheiden sich von denen, wie flash sie handhabt.
    mach folgendes: veröffentliche ein paar schriften in der bibliothek und versuch das script hier:
    var fonts:Array=Font.enumerateFonts();

    fonts.sortOn(”fontName”,Array.CASEINSENSITIVE);

    for (var i:int = 0; i < fonts.length; i++)
    {
    trace(fonts[i].fontName + “, ” + fonts[i].fontStyle);
    }

    das gibt dir die richtigen font-namen aus, die du in deiner CSS angeben musst.

    gruß
    flo

  4. Kommentar von Triple777:
    7. August 2009 @ 16:32

    Uih, das ist ja abenteuerlich:
    Ich bekomme folgendes ausgetraced:

    ‘Opshift, regular’

    Dabei ist die gar nicht in der Library eingebettet?!

    Die 3 Fonts die Du eingebettet hast werden nicht ausgetraced… *SchüttelKopf* Ah OK, weil ich sie nicht auf meinem Rechner installiert habe. Die “Opshift” wird bei mir als erstes vorgeschlagen, wenn ich eine neue Font einbetten möchte, vermutlich ersetzt er Deine 3 fonts durch die “Opshift”.

    OK, habe eigene fonts installiert und nun klappts!

    Super, Dein Script! Vielen Dank!! ;o)

    Da kommt man ja nicht wirklich drauf, dass Flash Schriftartname, Schriftart und Klasse nicht ausreichen…

  5. Kommentar von Flo:
    7. August 2009 @ 16:43

    Cool, freut mich, dass es geklappt hat.
    Grüße
    flo

Schreibe einen Kommentar