I checked some more and it appears that when both English and Hebrew text is written to a Feathers label with a custom English font the font is ignored for both Hebrew and English words. The strange thing is that when doing the same test with the flash text engine the font is applied to the English word.
Here is the code that uses the flash text engine:
var fd1:FontDescription = new FontDescription();
fd1.fontName = "Quicksand Book";
var str:String = "Try נסיון";
var format:ElementFormat = new ElementFormat(fd1);
format.fontSize = 30;
var textElement:TextElement = new TextElement(str, format);
var textBlock:TextBlock = new TextBlock();
textBlock.content = textElement;
var textLine1:TextLine = textBlock.createTextLine(null, 300);
And here is the code that creates the Feathers label:
l = new Label();
l.textRendererProperties.textFormat = new TextFormat("Quicksand Book", 30, 0xFF0000);
l.text = "Try נסיון";
I also tried TLFSprite:
var textLayoutFormat:TextLayoutFormat = new TextLayoutFormat();
textLayoutFormat.color = 0x0000FF;
textLayoutFormat.fontFamily = "Quicksand Book";
textLayoutFormat.fontSize = 30;
var tlfSprite:TLFSprite = TLFSprite.fromPlainText("Try נסיון", textLayoutFormat);
tlfSprite.border = false;
tlfSprite.x = 30;
tlfSprite.y = 80;
And here is the result:
The black text is the flash text engine, the red text is the Feathers label and the blue text is the TLFSprite.
The black "Try" is using the specified Quicksand Book font and the red Try is using the default font.
Since starling is using the flash text engine it is strange that there are differences..
The TLFSprite however seems OK and the blue "Try" is using the specified font as well.
I have yet to find a way of specifying a Hebrew font in conjunction with the English font in either method.