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

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

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

Всем привет!

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

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

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


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

Однозначно да!

Я за открытую информацию. Нечего полезные тулзы в приватах прятать.

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


Ссылка на сообщение
Однозначно да!

Я за открытую информацию. Нечего полезные тулзы в приватах прятать.

И я того же мнения, именно поэтому и спрашивю "полезная" ли она =)

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


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

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

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


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

StiG-MaT

Конешно стоит.

Thief1987

Ждем подробную инструкцию с примером.

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


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

 

StiG-MaT однозначно "за" чтобы выложить в общий доступ :smile:

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


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

Thief1987, не спорю что в Интернете много полезных утилит. Да и я о упоминаемых программах слышал, только почему-то не придал им в свое время значения. Видимо приписка "xml" ввела меня в заблуждение =) Как бы то ни было, почему в таком случае на форуме, посвященному переводу игр, о них ни слова? Странно это конечно. Такое чувство как-будто все пытаются все при себе держать, чтобы казаться потом очень умными =) А потом когда кто-то уходит, по определенным причинам, мы не знаем что делать и придумываем велосипеды =)

Я то конечно в сложившейся ситуации, смогу ++ найти, но вот обидно что перевод тормозится из-за таких вот "недомолвок".

Если это действительно просто, поделитесь пожалуйста информацией о нем, чтобы люди тут впредь не ковырялись в хексе... жалко же их времени =)

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


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

Ну хорошо, попробую, правда из меня плохой писака

Ну, допустим, я возьму для примера вот эту флешку - http://rghost.ru/51579864

Откроем ее в Sothink Swf Decompiler, просто чтобы посмотреть на имеющиеся тут шрифты.

thumb_8bc9031d15bee422a6358575faf24c55.png

На скриншоте font 1, собственно его и будем заменять.

Кидаем эту флешку в SWiX, далее в меню View - Tag List, окно со шрифтом примет следующий вид

thumb_a2650d23ceb01ea14049b5504acc5980.png

Собственно здесь, как видно из скриншота, ищем в колонке Tags, тег с именем DefineFont3, смотрим справа FontID=1, следовательно это тот шрифт что нам нужен.

Щелкаем два раза мышкой по строке, откроется такое окно

thumb_d359738bb002f7292470fb6f3590a5e7.png

Это собственно и есть шрифт представленный в xml виде. Оставляем это все пока что, и открываем еще один SWiX.

Кидаем туда созданный в Adobe Flash шрифт( я надеюсь все знают как это делать). Для примера я взял обычный arial - http://rghost.ru/51580193

Далее делаем тоже самое, переходим в Tag List, находим DefineFont3, ну так как там только шрифт и есть то сделать это не сложно:). Открываем шрифт в xml виде, копируем весь текст, начиная с третьей строки - "<Glyphs>" и до самого конца. Возвращаемся к нашему шрифту, который нужно заменить, и также выделяем весь текст, начиная с третьей строки, только теперь удаляем его и вставляем текст, скопированный из флеш-шрифта arial. Жмем Ok, сохраняем изменения. Идем в Sothink Swf Decompiler и смотрим что получилось, а получиться должно следующее, если все правильно сделано

thumb_8d17b920380dede40296764301a06e70.png

Собственно, занавес.

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

StiG-MaT

А чем замена через хекс не устраивает? :) Помоему ненамного сложнее чем через SWiX и прочие утилиты, ну если конечно знать что нужно делать. )

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

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


Ссылка на сообщение
А чем замена через хекс не устраивает? :) Помоему ненамного сложнее чем через SWiX и прочие утилиты, ну если конечно знать что нужно делать. )

Для тех кто хекс "читать" умеет... А для кого-то это совсем темный лес. Шрифт изменили изменилась длина тега, нужно подправить. Так-же изменился размер файла - нужно подправить. Не знаю, частный это случай или нет, но в Bioshoke при не совпадении не только ID но и имени, шрифт не работает. Соответсвенно изменили имя, нужно изменить длину имени, изменлась длина имени, изменилась длина тега, изменился размер файла... Не ну так то просто и понятно все, когда знаешь =)

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


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

Нет, под нюансами я имел ввиду когда речь идет о scaleform gfx, все-таки он чаще используется флеш-основой в играх, чем обычный swf

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

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


Ссылка на сообщение
Нет, под нюансами я имел ввиду когда речь идет о scaleform gfx, все-таки он чаще используется флеш-основой в играх, чем обычный swf

Ну да, это отдельная тема, которая я считаю тоже заслуживает обсуждения =)

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


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

Работая недавно над переводом одной игры, открыл для себя JPEXS Free Flash Decompiler (http://www.free-decompiler.com/flash).

При этом замена шрифта требовала на порядок меньше телодвижений, чем предложил Thief1987.

И ещё – программа проста в освоении, бесплатна, постоянно обновляется, доступна в исходниках. Очень рекомендую.

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


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

ja-s-belov

Ждем инструкцию по замене шрифта для этой программы

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


Ссылка на сообщение
ja-s-belov

Ждем инструкцию по замене шрифта для этой программы

Так там собственно и рассказывать нечего. Выделяете шрифт, указываете какие буквы нужно вставить, указываете из какого шрифта взять образ букв и нажимаете кнопку Встроить.

thumb_e073b93b672afc2b5ec5d63dd240599b.jpg

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


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

ja-s-belov

Ух ты, как "сложно" xD

Надо попробовать.

С GFX (scaleform) работает способ?

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


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

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

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

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

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

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

Войти

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

Войти сейчас


  • Продвигаемые темы

  • Последние сообщения

    • @Tirniel а тото одна из лимы но это не транс, Муммий троль.- Утекай (Tel—faks mix). Я помню мне было лет 14-15, я как раз только начинал траву курить, и вот после нескольких часов гуляний с друзьми и постоянного дурацкого смеха без особой причины, возвращался домой.  С красными глазами , один прищурин намного больше чем другой, дурацкий улыбкой, я быстро раздевалсяв прихожей, шёл свою дальнюю комнату где стоял небольшой моно магнитофон с одним динамиком и ставил кассету. Муммий троль - утекай. Больше я и не слушал ничегона той кассете , купил только из-за этой песне. Трава уже не пёрла, но идо конца не отпустило, звуки казались такими чёткими , а самамелоия просто волшебной. Не знаю почему, ноименно её было очень приятно слушатьна отодняках. И вот я выкл свет ложился на кравать , занавески были открыты, всё равно темно, но от света фонаря видно кака падаи и кружилис снежинки. И вот я врубал эту песню, несколько раз подряд.  https://drive.google.com/file/d/1eQaKFoq4l1JUzQSmGuXlEJBjl3I4n529/view?usp=sharing
    • @\miroslav\ @piton4 свежая метрошка с няшей  Magical_Blush 
    • Очень старая композиция, но мне всё равно до сих пор нравится наз Tне Wave.  Название как мне кажется подходит. https://drive.google.com/file/d/1n-puG_kMDkIfhT04MtT73OedLunWxZ2L/view?usp=sharing Тоже довольно старенькая, впервые услышал её в третьем сборники "Трансмиссии" Загадка третьей планеты" Ну и напоследок тоже одна из любимых, сложно скзать почему, но наверное из-за своей сложности и мелодии https://drive.google.com/file/d/1orMWT1EMhQRJtb_fO_CWxWzkIMuF_PLe/view?usp=sharing                
    • @Tirniel а вот ты моя любимая, не могу сказать почему, просто очень нравится и сделана сложно.https://drive.google.com/file/d/1ZbEvXbguQVPthMHiLVzCzrButcq4NFv2/view?usp=sharing Под такие песни хорошо мечтать, лежать с закрытыми глазами в темноте и думать о полётах или о других мирах. Бывает меня так глубоко уносит в это, что мне даже немного страшно становится, что будет если я продолжу и продолжу, чем это кончится?  Я сойду с ума?Вероятность такая есть.   Потому на полчасика, не дольше. В голове возникают такие яркие образы и картины, кажется, что можно не вернуться  @Tirniel а это оригинал Роберта Майлса - Сhildren, в 90-х в основном свсе слушалти ту что быкрутили по МТV с девочкой в поезде.  - Dream version.   Но это совсем не то, мне нравится именно оригинал который намного мрачнее. https://drive.google.com/file/d/1iula70WNlywnaJ20dlkZPSTO863Vgpp5/view?usp=drive_link
    • @piton4 Или вот прекрасная песня про. девушку по имени Sophia Î.https://drive.google.com/file/d/1AXCnaSJfY4h32Iw_Wo-Yo4zEXvPCm0JS/view?usp=sharing @Tirniel а вот данная песня почему-то была в своё время дико популярной за рубежом и просто разрывала все танцполы. Нет, безусловно в ней чтото есть,но все же я этих иностранцев немного не понимаю. https://drive.google.com/file/d/1hyCGpNXeCMSo3euk4bHJT0e34KoX7HFZ/view?usp=sharing
    • Шрифты адаптировать действительно приходится вручную. В игре используется динамический текст, и у него разная логика отображения: часть зашита глубоко в ассетах, а часть прописана прямо в DLL-файлах. Спасибо за предложение. Как только я завершу следующую отладку, подготовлю удобную таблицу с текстом для ручной вычитки и выложу сюда в общий доступ (возможно, времени много этому делу уделять не получается). Также постараюсь собрать весь необходимый инструментарий с понятной инструкцией для тех, кто захочет поучаствовать в тестировании. Там действительно не всё так просто, как кажется со стороны. Нет, конечно. На данный момент уже переведены все уровни, но пока это машинный перевод с моей частичной ручной правкой. Буквально вчера я завершил парсинг новой партии ранее пропущенного текста. На видео как раз показан итог последнего прогона - еще пару дней назад непереведенных реплик в этом моменте было в разы больше.   С какими основными проблемами пришлось столкнуться: Разорванный контекст диалогов. Все реплики в игре построены на слое всплывающего динамического текста. Чтобы его вытащить, приходится отфильтровывать горы технических тегов Unity. На выходе получается массив из коротких словосочетаний или даже отдельных слов. Из-за этого их безумно сложно сопоставить друг с другом, так как одно и то же слово может повторяться в совершенно разном контексте. Приходится после каждого теста сверять файлы, искать различия и вручную править перевод прямо по ходу дела. Ограничения интерфейса. Шрифты-то я адаптировал, русский текст ложится нормально, но кириллические реплики почти всегда длиннее латиницы. Их приходится сокращать или перефразировать, чтобы они вписывались в изначальные размеры игровых окон и не вылезали за края. Задача не критичная, но требует кропотливой полировки текста. Долгий процесс сборки. Выборка и компиляция требуют повторного парсинга вообще всех ассетов игры. Этот процесс у меня автоматизирован на агенте, но, к сожалению, процедура все равно не быстрая.   Помимо текста, я уже полностью извлек все голосовые реплики и текстуры. Если есть человек, который хочет и умеет заниматься перерисовкой текстур - ваша помощь очень пригодилась бы! Но сейчас это не первоочередная задача, главное - дожать и вычитать текстовую часть.
    • 9@Tirniel как тебе эта фашисткая песенка? Только чур слушать от начала до конца не перематывая. Eстественно в наушниках.  На самом деле великолепный фашисткий транс. https://drive.google.com/file/d/1i5YT7XtJwXStVt8i9S1nKee4t5JNlNpC/view?usp=sharing
    • @0wn3df1x удалите этот пост, т.к. это неофициальный перевод.
    • @Tirniel я сегодня пролог Онимуши прошёл и присе сотку.  А ты столько сможешь? 
  • Изменения статусов

    • axe66  »  SerGEAnt

      здравствуйте. можете добавить на сайт раздел для игры She’s Leaving и русификатор к нему? и как и куда вам скинуть фото и сам русификатор?
      [h2] Версия: 1.0.1 (от 22.05.2026)
      Совместимость: для сборки 20909321 [/h2]
       Информация:
      Машинный перевод моделью gemma2:9b-instruct с несколькими этапами автоматической перепроверки (модель "самопроверялась") и финальными ручными правками.
      Это не финальная версия — по мере нахождения ошибок перевода будут выходить обновления.
      Известные нюансы:
      * Возможны неточности и ошибки в переводе.
      * Некоторые элементы интерфейса остались без перевода.
       Установка:
      1. Запустить Russifier.exe
      2. Нажать "Выбрать папку"
      3. Выбрать папку с игрой и нажать ОК
      4. Нажать "Установить"
      5. Дождаться завершения установки и закрыть программу.
      После установки запустите игру и наслаждайтесь!
      Если заметили ошибки или некорректные формулировки — оставляйте комментарии, будем исправлять!
       
      Автор: Serjik Sokolov История изменений:   Версия 1.0.1 от 22.05.2026 - Установщик теперь автоматически определяет корневую папку игры, даже если случайно выбрана вложенная папка.   Версия 1.0.0 от 03.12.2025 - Релиз
      · 1 ответ
    • Perfect End Strange  »  SerGEAnt

      Привет, озвучку для Silent Hill 4: The Room выпустил энтузиаст под ником Perfect End Strange, а вы написали совсем другую студию, пожалуйста, исправьте эту оплошность
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      я его уже открыл в свободный доступ, чтобы не потерялось среди новинок
      · 0 ответов
    • NekoNya  »  Onzi

      https://www.dropbox.com/scl/fi/4xncxr2tqy77vz4644q08/text_RU_FINAL.json?rlkey=xckxss3jkql4gjmc1ah6qjb5e&st=k5ql651f&dl=0 
       
      Вот, то что вышло. Извинюсь, что зря говорил, что помогу (
      · 2 ответа
    • serfly  »  SerGEAnt

      Доброго времени! Недавно столкнулся с проблемой автоперевода XUnity AutoTranslator BeplnEx iL2cc. Пару последних лет часто пользовался, теперь консольные команды виснут на стадии загрузки библиотек, хотя они есть там изначально. На GitHub есть подобные вопросы, но ни одного рабочего ответа я не нашел. А Вы что можете посоветовать?
      · 0 ответов
  • Лучшие авторы


×