Ошибки перекодировки компиляции шрифта ActionScript3 в Linux - PullRequest
2 голосов
/ 02 августа 2010

Итак, во Flash Builder в Windows мое приложение и все встроенные шрифты прекрасно компилируются.

Но когда я пытаюсь собрать его на своем производственном сервере Linux (через Makefile в командной строке, используя * 1003)*), компиляция завершается неудачно при перекодировании шрифтов:

/home/me/MyFlexProject/SomeModule/src/Fonts.as(29): Error: exception during
transcoding: Font for alias 'HelveticaRounded LT Std Blk' with plain weight
and style was not found at:
file:/home/me/MyFlexProject/SomeModule/src/assets/fonts/HelveticaRoundedLTStd-Black.otf

            [Embed(source='/assets/fonts/HelveticaRoundedLTStd-Black.otf',
            fontName='HelveticaRounded LT Std Blk',
            mimeType='application/x-font',embedAsCFF='false')]

То, что я пробовал:

  • Использование другого менеджера шрифтов через "-managers = flash.fonts".AFEFontManage ".

  • Использование разных шрифтов, но либо дает немного другую версию обычной ошибки, см.

    Error: exception during transcoding: Font for alias 'xxx' with plain weight and style was not found at: file:...

Глядя на шрифт с помощью fontforge, я думаю, что я сузил проблему до того факта, что, очевидно, в файле шрифта определены имена «Windows» и «Mac».Это кажется возможным виновником, поскольку в Windows шрифт компилируется нормально, но в Linux он больше не может найти шрифт с тем же именем.Однако, даже когда я перешел на использование имени «Mac» в Linux, я все еще получаю ту же ошибку о невозможности найти шрифт с запрошенным именем.

Я хочу узнать, что происходитчто препятствует возможности транскодирования.

Вот ссылка на рассматриваемый шрифт: http://jetlib.com/HelveticaRoundedLTStd-Black.otf

Для правильной меры, вот Fonts.as:

package ...
{
    import flash.text.Font;

    public class Fonts
    {
        [Embed(source='/assets/fonts/HelveticaRoundedLTStd-Black.otf',
        fontNam e='HelveticaRounded LT Std Blk', fontWeight='normal',
        mimeType='application/x-font',embedAsCFF='false')]

        private static var _font1:Class;

        /**
         * register fonts with the font manager to be
         * used in modules and sub applications
         */
        public static function registerFonts():void
        {
            Font.registerFont(_font1);
        }
    }
}

Любая помощь, мысли или идеи будут высоко оценены!

Вывод с использованием fontWeight = 'bold':

/home/me/MyFlexProject/SomeModulesrc/Fonts.as(23): Error: exception during transcoding: Font for alias 'HelveticaRounded LT Std Blk' with bold weight was not found at: file:/home/me/MyFlexProject/SomeModulesrc/assets/fonts/HelveticaRoundedLTStd-Black.otf

                [Embed(source='/assets/fonts/HelveticaRoundedLTStd-Black.otf',fontName='HelveticaRounded LT Std Blk',fontWeight='bold',mimeType='application/x-font',embedAsCFF='false')]

/home/me/MyFlexProject/SomeModulesrc/Fonts.as(23): col: 3: Error: unable to build font 'HelveticaRounded LT Std Blk'

                [Embed(source='/assets/fonts/HelveticaRoundedLTStd-Black.otf',fontName='HelveticaRounded LT Std Blk',fontWeight='bold',mimeType='application/x-font',embedAsCFF='false')]
  ^

/home/me/MyFlexProject/SomeModulesrc/Fonts.as(23): col: 3: Error: Unable to transcode /assets/fonts/HelveticaRoundedLTStd-Black.otf.

Вывод с помощью fontWeight = 'normal':

/home/me/MyFlexProject/SomeModulesrc/Fonts.as(23): Error: exception during transcoding: Font for alias 'HelveticaRounded LT Std Blk' with plain weight and style was not found at: file:/home/me/MyFlexProject/SomeModulesrc/assets/fonts/HelveticaRoundedLTStd-Black.otf

                [Embed(source='/assets/fonts/HelveticaRoundedLTStd-Black.otf',fontName='HelveticaRounded LT Std Blk',fontWeight='normal',mimeType='application/x-font',embedAsCFF='false')]

/home/me/MyFlexProject/SomeModulesrc/Fonts.as(23): col: 3: Error: unable to build font 'HelveticaRounded LT Std Blk'

                [Embed(source='/assets/fonts/HelveticaRoundedLTStd-Black.otf',fontName='HelveticaRounded LT Std Blk',fontWeight='normal',mimeType='application/x-font',embedAsCFF='false')]
  ^

/home/me/MyFlexProject/SomeModulesrc/Fonts.as(23): col: 3: Error: Unable to transcode /assets/fonts/HelveticaRoundedLTStd-Black.otf.

Ответы [ 4 ]

2 голосов
/ 05 августа 2010

Я могу только догадываться, поскольку я еще не пытался встраивать шрифты в Linux. Но из того, что я знаю, поведение диспетчера шрифтов зависит от ОС, так как каждая операционная система имеет свой API-интерфейс шрифтов, который представлен в базовой среде Java Flex. Параметры fontWeight могут отличаться в зависимости от платформы.

Вы пробовали "Black" в качестве значения для fontWeight? Если мое предположение верно, диспетчер шрифтов не смог спросить у системы вес этого шрифта и попытался найти вес внутри otf. Но у otf есть «черный», определенный как его вес. Я надеюсь, что это помогает, с уважением ...

2 голосов
/ 02 августа 2010

Это сбой как с, так и без fontWeight='bold'? Ваши два фрагмента по-разному включают и пропускают эту строку. Один из двух верен.

Редактировать: по-видимому, это не удается в обоих случаях. У меня ничего нет.

0 голосов
/ 19 апреля 2013

Убедитесь, что вы не перезаписываете файл конфигурации Flex по умолчанию.Если вам нужно какое-либо свойство config, добавьте их в аргументы компилятора Additionnal: -load-config + = configFile.xml вместо -load-config configFile.xml Это решает нашу проблему

0 голосов
/ 27 декабря 2011

У меня была та же проблема с выпуском RedHat 5.5.Я перешел на Ubuntu 11, и он без проблем скомпилирован.

...