Перейти к содержимому
Zone of Games Forum
StiGMaT

Замена шрифта в swf-файлах

Рекомендованные сообщения

Всем привет!

Есть вопрос, интересует мнение переводчиков =) В играх часто используются flash для интерфейсов. И не всегда замена шрифта удобна и понятна. Декомпиляторы не всегда корректно создают fla-файлы для последющего редактирования. Так вот собственно вопрос, интересна ли данному сообществу утилита, которая берет шрифт из одного swf и подставляет в другой? Сейчас при переводе Bioshock 2 она была написана, имеет смысл причесывать и выкладывать тут?

Да, это не панацея, и все не становиться "прямым и прозрачным", но возможно кого-нибудь заинтересует =)

Поделиться сообщением


Ссылка на сообщение

Понятно, очередной "занятой умник" =)

В подтверждении что шрифт в файле используется:

 

Spoiler

 

<DefineFont2 FontId="473" LanguageCode="1" FontName="Century Gothic">  <BitsField Bold="true" Italic="false" WideCodes="true" WideOffsets="false" ANSI="false" SmallText="false" ShiftJIS="false" />   <Glyphs />   <CodesTable />   </DefineFont2>- <DefineEditText Id="474" FontId="473" FontHeight="400" Color="ffffffcc" Align="Center" LeftMargin="0" RightMargin="0" Indent="0" Leading="40" VarName="BaseText">  <Bounds MaxX="3980" MaxY="6825" MinX="-40" MinY="-40" />   <BitsField AutoSize="false" ReadOnly="true" Password="false" Multiline="true" WordWrap="true" UseOutlines="false" HTML="false" WasStatic="false" Border="false" NoSelect="false" /> - <InitialText>- <![CDATA[ Swap the pieces to divert the flow to the green Goal, completing the hack.Avoid Alarms and Overloads. If the flow ends at any point other than the Goal or End, the machine will Short Circuit.  ]]>   </InitialText>  </DefineEditText>- <DefineEditText Id="475" FontId="473" FontHeight="560" Color="ffffcccc" Align="Center" LeftMargin="0" RightMargin="0" Indent="0" Leading="40" VarName="BaseHeader">  <Bounds MaxX="4242" MaxY="719" MinX="-40" MinY="-40" />   <BitsField AutoSize="false" ReadOnly="true" Password="false" Multiline="true" WordWrap="true" UseOutlines="false" HTML="false" WasStatic="false" Border="false" NoSelect="false" /> - <InitialText>- <![CDATA[ Reach Goal  ]]>   </InitialText>  </DefineEditText>- <DefineEditText Id="476" FontId="473" FontHeight="320" Color="cccccccc" Align="Center" LeftMargin="0" RightMargin="0" Indent="0" Leading="40" VarName="BaseObjectiveText">  <Bounds MaxX="4242" MaxY="428" MinX="-40" MinY="-40" />   <BitsField AutoSize="false" ReadOnly="true" Password="false" Multiline="true" WordWrap="true" UseOutlines="false" HTML="false" WasStatic="false" Border="false" NoSelect="false" /> - <InitialText>- <![CDATA[ Objective:  ]]>   </InitialText>  </DefineEditText>

 

К тому же было так же замечено что у 1С нормальные шрифты иногда превращаются (в сравнении с оригиналом) в такие.

Изменено пользователем StiG-MaT

Поделиться сообщением


Ссылка на сообщение
Понятно, очередной "занятой умник" =)

Ну так я не пойму ты уже все знаешь чего не сделаешь в биошоке самые простые флешки !

Или ждешь пока тебе все сделают и принесут ?

Поделиться сообщением


Ссылка на сообщение
Для корректного разбора флешки нужно снять сжатие и потом обратно сжать !

Это все легко и быстро делается с помощью утилит: http://hp.vector.co.jp/authors/VA020429/ffmpeg/swf_comp.html (cws2fws.exe, fws2cws.exe)

Поделиться сообщением


Ссылка на сообщение
Это все легко и быстро делается с помощью утилит: http://hp.vector.co.jp/authors/VA020429/ffmpeg/swf_comp.html (cws2fws.exe, fws2cws.exe)

Спасибо большое. Пригодится в будущем. :smile:

Изменено пользователем LinkOFF

Поделиться сообщением


Ссылка на сообщение
Кто-нибудь сталкивался с "пустыми" шрифтами во флеш? Т.е. не имеющих фактических данных о глифах, они заполнены вплоть до название. Вот для наглядности:
<DefineFont2 FontId="473" LanguageCode="1" FontName="Century Gothic">  <BitsField Bold="true" Italic="false" WideCodes="true" WideOffsets="false" ANSI="false" SmallText="false" ShiftJIS="false" />   <Glyphs />   <CodesTable /> </DefineFont2>

 

Пока не понятен вопрос нуждаются ли такие шрифты в локализации, и если да то как. Склоняюсь к положительному ответу, т.к. файлы перевода 1С содержали такие шрифты. Есть у кого какие мысли?

Меняется через FontName(в моем случае по крайней мере). Подставляется имя одного из установленных в системе.

Поделиться сообщением


Ссылка на сообщение
Или ждешь пока тебе все сделают и принесут ?

Ага тебя ждем! Как догадался? =)

Это все легко и быстро делается с помощью утилит: http://hp.vector.co.jp/authors/VA020429/ffmpeg/swf_comp.html (cws2fws.exe, fws2cws.exe)

Распакованные файлы запаковывать не обязательно. А распаковать их как выяснилось и TotalCommander может. Удобно для тех кто его юзает.

Меняется через FontName(в моем случае по крайней мере). Подставляется имя одного из установленных в системе.

Что значит меняется через FontName? =) Как это вообще работает в самой флэшке/игре? Если у меня установленного в системе шрифта не будет он что отображаться в флешке/игре перестанет?

Изменено пользователем StiG-MaT

Поделиться сообщением


Ссылка на сообщение
Распакованные файлы запаковывать не обязательно. А распаковать их как выяснилось и TotalCommander может. Удобно для тех кто его юзает.

Что значит меняется через FontName? =) Как это вообще работает в самой флэшке/игре? Если у меня установленного в системе шрифта не будет он что отображаться в флешке/игре перестанет?

В Биошоке запаковывать не обязательно но есть игры у которых сжатие нужно делать!

Допустим ты взял фонт из 1ого биошока имя Century Gothic 10 у него. Id Шрифта 10

в флешке BioShock 2 имя Century Gothic "Id Шрифта 1 " Значит меняешь с Century Gothic 10 на Century Gothic и Id шрифта c 10 на Id 1 все флешка работать будет !

Изменено пользователем Petka12345

Поделиться сообщением


Ссылка на сообщение
Что значит меняется через FontName? =) Как это вообще работает в самой флэшке/игре? Если у меня установленного в системе шрифта не будет он что отображаться в флешке/игре перестанет?

Вместо Century Gothic прописываешь Arial или Comic Sans MS, к примеру. Работает как в субтитрах к видео. Без шрифта текст конечно отображаться не будет, но может подхватиться другой системный (а, может, и встроенный во флешку?). Поэтому логично при таком методе(т.е там, где нет глифов; шрифт невстроенный) использовать какой-то распространенный/базовый шрифт. Тонкостей не знаю, поскольку не разработчик, - говорю, исходя из небольшого личного опыта.

Изменено пользователем RadmirX

Поделиться сообщением


Ссылка на сообщение
Я ему собрал 12 шрифтов по моему но время нету. Завален по уши работой

К сожалению работала только одна PausePC.

Поделиться сообщением


Ссылка на сообщение
К сожалению работала только одна PausePC.

Ты же мне писал что игра не крашилась все работало ?

Если ты имеешь ввиду то что русский текст не появился это потому что там юзается всего флешек 10 из 100 и которая из них х** его знает.

Как пальцем в небо надо все сжатые сделать и посмотреть будет весь шрифт или нет !

А так флешки работали те что я сделал !

Поделиться сообщением


Ссылка на сообщение
Ты же мне писал что игра не крашилась все работало ?

Если ты имеешь ввиду то что русский текст не появился это потому что там юзается всего флешек 10 из 100 и которая из них х** его знает.

Как пальцем в небо надо все сжатые сделать и посмотреть будет весь шрифт или нет !

А так флешки работали те что я сделал !

Ну мне StiG-MaT собрал тот же HUDRadial и заработало, а твой тот же файл не заработал(

Изменено пользователем Vintex

Поделиться сообщением


Ссылка на сообщение
Вместо Century Gothic прописываешь Arial или Comic Sans MS, к примеру. Работает как в субтитрах к видео. Без шрифта текст конечно отображаться не будет, но может подхватиться другой системный (а, может, и встроенный во флешку?). Поэтому логично при таком методе(т.е там, где нет глифов; шрифт невстроенный) использовать какой-то распространенный/базовый шрифт. Тонкостей не знаю, поскольку не разработчик, - говорю, исходя из небольшого личного опыта.

Ну я также в начале подумал, но там встречаются и не системные шрифты. Врятли разработчики стали бы в одну флэшку их помещать а в другую нет =)

Поделиться сообщением


Ссылка на сообщение
Ну я также в начале подумал, но там встречаются и не системные шрифты. Врятли разработчики стали бы в одну флэшку их помещать а в другую нет =)

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

Поэтому не нам судить, что ими двигало при каждом конкретном случае реализации их идей(т.е. ожидай всего, что угодно), если уж только напрямую связываться.

Изменено пользователем RadmirX

Поделиться сообщением


Ссылка на сообщение

 

RadmirX, понятно! Спасибо за конструктив =)

Поделиться сообщением


Ссылка на сообщение
С помощью SWiX или swfmill все делается довольно просто и быстро, и никаких декомпиляторов и прочего не надо.

Понадобилось добавить шрифт в флешку, решил воспользоваться SWiX. После сборки игра крашиться. Походу программа пересобирает флешки заново и наверно не совсем корректно. Или не в полном соответствии с оригиналом. Потому как при вставке ручками, все закрутилось.

Меняется через FontName(в моем случае по крайней мере). Подставляется имя одного из установленных в системе.

Возможно у меня частный случай, а может и... В общем выяснил следующее. Игра подгружает шрифт один раз и потом уже юзает его из буфера (память, кэш и тп.). Соответственно все "пустые" шрифта ищутся в памяти по определенным параметрам (в моем случае это вроде имя и как не странно жирность/курсив). Соответственно данное утверждение дает возможность не "локализовывать" все флэшки в игре, а добавить кириллицу только в первые загружаемые интерфейсы (например главное меню).

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас



Zone of Games © 2003–2024 | Реклама на сайте.

×