Ошибки рендеринга шрифтов во Flash CS5? - PullRequest
1 голос
/ 04 апреля 2011

В моем проекте внезапно возникают ошибки при отображении шрифтов.

следующее изображение представляет собой квадратный спрайт с текстурой и двумя динамическими текстовыми полями в качестве дочерних элементов.

enter image description here

сам текст правильный. нижнее поле представляет собой 32-разрядный шестнадцатеричный цвет («H: 0xFFFFF4A1»), но, как вы можете видеть, некоторые символы растянуты («x», «4» и «1»). то же самое в первом текстовом поле, в котором перечислены все цвета в формате ARGB.

используется шрифт Myriad Pro Condensed. Первоначально я использовал Myriad Pro Bold Condensed, который использовал в течение нескольких месяцев, но вдруг вчера шрифт стал еще более безумным, чем то, что видно здесь, поэтому я переключился. теперь этот шрифт также отображается неправильно.

Я проверил шрифты.

Я удалил свои файлы ASO.

Я использую cacheAsBitmapMatrix на родительском объекте спрайта, но cacheAsBitmapMatrix должен влиять только на мобильные устройства, поэтому я не уверен, почему он будет отображать такой шрифт (если это проблема) при работе под ADL на моем рабочий стол.

newSwatch.cacheAsBitmapMatrix = new Matrix();
newSwatch.cacheAsBitmap = true;

Вот как я называю шрифт, который встроен в мою библиотеку.

//Create Text Field
private function swatchTextField():TextField
    {
    var myFont:Font = new MyFont();

    var textFormat:TextFormat = new TextFormat();
    textFormat.bold = true;
    textFormat.color = 0xFFFFFF;
    textFormat.font = myFont.fontName;
    textFormat.size = swatchSize / 10;

    var result:TextField = new TextField();
    result.antiAliasType = AntiAliasType.ADVANCED;
    result.blendMode = BlendMode.ERASE;
    result.autoSize = TextFieldAutoSize.LEFT;
    result.defaultTextFormat = textFormat;
    result.embedFonts = true;
    result.multiline = true;
    result.selectable = false;
    result.type = TextFieldType.DYNAMIC;

    return result;
    }

Я не знаю, что еще делать. если я переключусь на другой шрифт, он, вероятно, просто снова испортится. когда я нажимаю на объект, он увеличивается. При увеличении он также немного поворачивается. при этом я вижу, что ошибки шрифта слегка меняются. Я почти уверен, что это проблема с cacheAsBitmapMatrix, но ошибка все еще сохраняется, даже если удалить ее из кода.

вот тот же объект с другим вращением:

enter image description here

Любые подсказки будут с благодарностью!


UPDATE:

эта ошибка действительно была не проблемой Flash, а ошибкой Apple, представленной в Mac OS X 10.6.7, которая влияла на отображение и печать некоторых шрифтов открытого типа. с тех пор ошибка была устранена, и теперь доступно для скачивания исправление: http://support.apple.com/kb/HT4605

Ответы [ 3 ]

2 голосов
/ 05 апреля 2011

Вы используете Mac?Это может помочь вам:

Ошибка Adobe в отношении проблемы

После обновления до Mac OSX 10.6.7 некоторые пользователи сталкиваются с проблемами отрисовки шрифтов из-за множества различных шрифтов OpenType.Эта проблема возникает во Flash CS5 и более ранних версиях.

0 голосов
/ 27 апреля 2011

Это случилось со мной, но я обнаружил, что простой перезапуск моего Mac решает эту проблему.Я портирую одно из своих приложений для мобильных устройств на планшет Android, и он на самом деле делает то же самое, когда Mac запускается.

0 голосов
/ 05 апреля 2011

Это ошибка Mac / Flash CS5.

Чтобы устранить ее, необходимо закрыть Flash и снова открыть его.Ошибка может исчезнуть.Если нет, после нескольких попыток вам необходимо перейти на OSX 10.6.6.

См. Ссылку ниже (из @ redHouse71)

...