2010-12-13 12 views
0

Werkzeuge: Air 2, Flex SDK 4.1, Flash Builder, Halo Komponentensatz (kein Funke überhaupt verwendet wird)Flex - Flash Builder Design Ansicht nicht angezeigt eingebettete Schriften korrekt

Fonts perfekt funktionieren, wenn läuft die Anwendung, aber nicht in der Entwurfsansicht. Dies macht effektiv Ansicht Design WERTLOS, weil es unmöglich ist, um richtig Positionskomponenten oder Etiketten, ohne zu wissen, was die wahre Größe ist (es ändert sich auf Schrift je ...)

...

CSS in Wurzelkomponente enthalten etwa so:

<fx:Style source="style.css"/> 

CSS-Datei:

/* CSS file */ 
@namespace mx "library://ns.adobe.com/flex/mx"; 

global { 
    font-family:Segoe; 
    font-size:14; 
    color:#FFFFFF; 
} 

mx|Application, mx|VBox, mx|HBox, mx|Canvas { 
    font-family:Segoe; 
    background-color:#660000; 
    border-color:#222277; 
    color:#FFFFFF; 
} 

mx|Button { 
    font-family:Segoe; 
    fill-colors:#660000, #660000, #660000, #660000; 
    color:#FFFFFF; 
} 
... 

Interessanter (oder buggil y?), wenn ich versuche, das style - Tag in eine Unterkomponente (niedriger als der Container auf oberster Ebene) einzufügen, erhalte ich eine Reihe von Warnungen in der Subkomponenten - Editor - Ansicht, dass CSS - Selektoren nicht unterstützt werden. (alle Komponenten in das Stylesheet).
Noch, sie funktionieren, wenn die Anwendung ausgeführt wird. Hä? Diese

ist, wie ich die Schriften im Wurzel Ebene Container Einbetten:

[Embed(source="/assets/segoepr.ttf", fontName="Segoe", mimeType="application/x-font-truetype", embedAsCFF='false')] 
public static const font:Class; 

[Embed(source="/assets/segoeprb.ttf", fontName="Segoe", mimeType="application/x-font-truetype", fontWeight="bold", embedAsCFF='false')] 
public static const font2:Class; 

So ist es eine Möglichkeit, eingebettete Schriften, sich in der Entwurfsansicht oder was zu arbeiten?

Antwort

0

Ich weiß nicht, ob das hilft, aber es ist einen Versuch wert. Sie müssen die Schriftarten nicht mit dem Meta-Tag "Einbetten" einbetten, wenn Sie CSS verwenden. Versuchen Sie, die Schriftarteneinbettung zu entfernen und fügen Sie die Einbettung in die CSS-Datei ein. Dies funktioniert möglicherweise besser mit der Entwurfsansicht in Flex.

// using system font 
@font-face { 
    src: local("Myriad Web Pro"); 
    fontFamily: myFontFamily; 
    advancedAntiAliasing: true; 
} 

// using url to font file 
@font-face { 
    src: url("../assets/MyriadWebPro.ttf"); 
    fontFamily: myFontFamily; 
    advancedAntiAliasing: true; 
} 

diesen Code in der Entwurfsansicht Versuche:

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> 

    <fx:Style> 
     @namespace s "library://ns.adobe.com/flex/spark"; 
     @namespace mx "library://ns.adobe.com/flex/mx"; 

     @font-face { 
      src: url("Arial Bold.ttf"); 
      fontFamily: "Arial Bold"; 
      embedAsCff: true; 
     } 


     s|Application 
     { 
      color: #000000; 
      fontFamily: "Arial Bold"; 
      font-size: 48; 
     } 

    </fx:Style> 

    <fx:Declarations> 
     <!-- Place non-visual elements (e.g., services, value objects) here --> 
    </fx:Declarations> 

    <s:Label text="This is the first label" width="488" x="43" y="39" height="54"/> 
    <s:Label text="This is the second label" width="488" x="45" y="129" height="54" rotation="-4"/> 
    <s:Label text="This is the third label" width="488" x="43" y="208" height="54"/> 

</s:Application> 
+0

Nicht gut noch :(Verwendet wirklich niemand Design-Ansicht? Innerhalb von Flex 3 konnte ich ohne es nicht überleben. – Manius

+0

Ich habe es zur Arbeit. Aktualisierte meine Antwort mit meinem Beispielcode. – Mattias

0

Es scheint, dass die Schriftart Verdana für Label- und Textbereiche standardmäßig erwartet wird, und wenn wir es nicht einbetten, die Entwurfsansicht berücksichtigt keine anderen eingebetteten Schriftarten.

Bitte betten Sie die Schriftart Verdana ein, und Sie sollten die Beschriftungen und Textbereiche in der Entwurfsansicht sehen können.

@font-face { 
    src: local("Verdana"); 
    font-family: verdana; 
    font-weight: normal; 
} 

Hoffe, das hilft.