1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Ищу формат шрифта и утилиты для работы с ним: char610.fnt

Тема в разделе "Мастерская", создана пользователем Pyhesty, 30 июн 2017.

  1. Pyhesty

    Pyhesty

    Регистрация:
    2 май 2017
    Сообщения:
    629
    Коллеги, доброго дня.
    разбираюсь со шрифтом Hammer of the Gods
    есть следующие файлы шрифтов:
    char1216
    char35
    char610
    char68
    ----------------
    эти же файлы видимо используются в других играх, в частности обсуждалась замена шрифта
    у нас на форуме:
    Merchant Prince II
    обсуждаемый там шрифт char610 по структуре очень похож...
    -----------------
    где есть формат шрифта? может быть уже есть утилиты для работы с ним?
    то, что удалось предварительно понять изучая файл
    первые два байта: идентификатор?
    байт 3: ширина шрифта по Х
    байт 4: ширина по Y
    дальше идёт какая-то таблица (может быть на начало каждого символа), после таблицы идёт
    массив видимо сданными шрифтов...
    попытка в лоб разобрать шрифт не удалась.
    дайте совет
    спасибо =)
     

    Вложения:

    • chars.zip
      Размер файла:
      3,4 КБ
      Просмотров:
      56
  2. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.120
    Чего ты всё в одной теме по игре не пишешь.
    шрифты обычно это картинка горизонтальная или вертикальная
    вот

    2017-06-30_13-11-41.png
     
    Grongy, Steel Rat и Pyhesty нравится это.
  3. Pyhesty

    Pyhesty

    Регистрация:
    2 май 2017
    Сообщения:
    629
    не понял?
    есть программа, которая открывает файлы шрифтов с идентификатором 0x207F?
    которые во вложении?
    в любом случае дай мне эту прогу...
    спасибо!
    ps: я создаю отдельную тему, что бы другим проще было найти, а не искать в дебрях форума в одной из подветок темы посвященной совсем другому вопросу =)
     
  4. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.120
    тут к сожалению или щастью нет никакой программы, вот так сперва глазами находишь где шрифт, потом эксперименты или дебаг делаешь, затем редактор пилишь.

    у меня этот процесс выглядел примерно вот так
    20170630_133335.jpg
     
    Steel Rat и Pyhesty нравится это.
  5. Pyhesty

    Pyhesty

    Регистрация:
    2 май 2017
    Сообщения:
    629
    о блин! да!!!... зачетно =)))
    =))))))))))))))
    спасибо улыбнуло))) идея понятна) вечером по разбираю вручную, но думаю мало ли у кого-то уже написана)
    если нет, то напишу - выложу
    --- добавлено 30 июн 2017, предыдущее сообщение размещено: 30 июн 2017 ---
    но программу CBS все же скинь, не нашёл в инете, иногда может быть полезна
     
  6. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.120
    GBS автор тут на форуме и прога тоже выложена в разделе скачать
     
  7. Pyhesty

    Pyhesty

    Регистрация:
    2 май 2017
    Сообщения:
    629
    ок! нашёл,
    вечером ещё посмотрю,
    но все равно остаётся вопрос, может быть кто-то уже редактировал эти шрифты и знает их формат или даже есть утилиты?..
     
  8. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.120
    вряд ли, в те дремучие времена не было единых форматов на шрифты, каждый лепил кто во что горазд. всё руками, карл.
    З - заголовок, Д - данные

    обычно бывают форматы вида З-Д или З-Д-З-Д...
    и это еще повезло, что тут ничего не пожато

    - тут вроде бы первый вариант, но непонятные точки между цифрами вылезли (всё же вперемежку данные и заголовки)
    - определить размер заголовка, размер и начало данных
    - затем составить структуру заголовка
    - пилить редактор заголовка, чтобы оставить оригинальный шрифт и расширить таблицу символов на новые буквы
    - пилить редактор данных
    - новые буквы либо рисовать руками или пилить импорт из bmp
    - выровнять единую линию написания букв по старым и новым буквам, чтоб вверх-вниз не скакали

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

    2017-06-30_16-02-04.png
    --- добавлено 30 июн 2017, предыдущее сообщение размещено: 30 июн 2017 ---
    Перевод компьютерных игр на русский язык: всё, что вы хотели узнать, но боялись спросить

    вот почитай из свежего, еще на вики тут было про шрифты в разных играх
     
    Последнее редактирование: 1 июл 2017
    Grongy, Dimouse и Pyhesty нравится это.
  9. Pyhesty

    Pyhesty

    Регистрация:
    2 май 2017
    Сообщения:
    629
    нашёл игру с таким же движком =)
    Merchant Prince
    Merchant Prince (1993, DOS)
    шрифты скорее всего совпадут...
     
  10. R4kk00n Benched arcade playa

    R4kk00n

    Модератор

    Регистрация:
    28 мар 2005
    Сообщения:
    9.498
    Я даже предположу, что и в Machiavelli the Prince совпадут
     
  11. Pyhesty

    Pyhesty

    Регистрация:
    2 май 2017
    Сообщения:
    629
    к сожалению, совпадают только два шрифта
    это шрифты, что в HoG
    24.05.2017 22:46 1 869 CHAR1216.FNT
    24.05.2017 22:46 505 CHAR35.FNT
    24.05.2017 22:46 915 CHAR610.FNT
    24.05.2017 22:46 757 CHAR68.FNT
    а вот шрифты что в Prince
    27.10.1993 01:20 2 284 CHAR1616.FNT
    09.09.1993 21:24 505 CHAR35.FNT
    16.09.1993 16:31 915 CHAR610.FNT
    25.05.1993 00:06 908 CHAR88.FNT
    ((( по этому даже если найти русскую версию напрямую перенести шрифты не получится(
     
  12. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.120
    хочешь легкого пути, так скучно.
     
  13. Pyhesty

    Pyhesty

    Регистрация:
    2 май 2017
    Сообщения:
    629
    ха-ха... легкого...
    я неделю уже пялюсь в эти коды пытаясь угадать логику разработчков... =)))
    легко декодируются цифры: 023456789, а вот почему 1 отличается... хз...
    пере каждым символом есть код, который видимо определяет как декодировать и видимо
    там не все так просто...
    так же не понятно, почему в названии размер 3х5, а в файле 5х5...
    короче головоломка... =) но не легкая...
    upload_2017-7-1_18-3-39.png
     
  14. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.120
    картинки смотри сперва, а не цифры

    вот, смещение 1688 бит это изображение #, ширина 10, еще звездочку видно, если выбрать ширину 8, то можно увидеть цифры, при ширине 2-3-4 можно увидеть скобки, кавычки и тд, тут на вид как-то сумбурнее чем сперва показалось, но докопайся до одного символа сперва)

    в игре проще всего вывести все коды на одном экране и самым простым способом порчей данных можно определить границы данных и каждого символа.

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

    восклицательный знак начинается со смещения C9, ширина 2, смещение 1608 бит.

    2017-07-01_18-12-39.png

    2017-07-01_23-35-40.png

    2017-07-01_23-35-47.png

    2017-07-02_00-04-31.png
     

    Вложения:

    Последнее редактирование: 2 июл 2017
    Pyhesty нравится это.
  15. Pyhesty

    Pyhesty

    Регистрация:
    2 май 2017
    Сообщения:
    629
    удалось оооочень приблизительно декодировать один из шрифтов
    char610
    upload_2017-7-2_12-59-18.png

    для этого пришлось раскидать данные по строкам, что бы постараться представить, сколько данных
    отведено под каждый символ... (картинка внизу)
    теперь из того, как строится файл шрифтов:
    смещение:
    0x00: startchar, код начала таблицы (для примера код в char610 - 0x20) предположительно, таблица символов совместима с таблицей символов DOS (покрайней мере в части цифр и букв)
    0x01: последний символ таблицы (для примера сhar610 - 0x7F), соответствует размеру таблицы символов
    0x02: видимо размер знакоместа по X
    0x03: видимо размер знакоместа по Y
    при этом знакоместа не ограничивают символ, тк в некоторых случаях символ может занимать больше месте.... так по крайней мере сейчас кажется...
    0x04-0xUU - идёт таблица смещений начала данных о символах, по два байта на символ...
    0xUU - идёт информация о символах...
    --------------
    Информацию о символах не полностью удалось расшифровать (((
    0x00 - первый полубайт - размер символа по X*2 (эмперически... подобранное значение)
    - второй полубайт ... не понятно за что отвечает
    0x01 - предварительно: первый полубайт - смещение знакоместа по X
    второй полубайт - смещение знакоместа по Y
    далее идёт битовая информация о шрифте...
    -------------
    не декодируются пока другие шрифты (
    остались вопросы:
    за что отвечает второй полубайт первого байта данных о символе (((
    за что отвечает значение ширины 1 и 0...
    может ли быть таблица больше (до 255) и включаться в себя русские буквы...
    как корректно собрать шрифты обратно... по видимому трогать уже собранные шрифты нельзя,
    слишком они отличаются от буквы к букве и каждая буква содержат большое количество уникальной информации...



    upload_2017-7-2_13-0-33.png
     

    Вложения:

    • CHAR610.bmp
      Размер файла:
      79,8 КБ
      Просмотров:
      633
    • CHAR610.txt
      Размер файла:
      5,2 КБ
      Просмотров:
      515
    Последнее редактирование: 2 июл 2017
    Dimouse и jack7277 нравится это.
  16. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.120
    Я так полагаю, что на многие вопросы можно ответить, если потилибонькать нужные биты одного символа и посмотреть, что изменится при отображении в игре. Самый простой способ метод черного ящика.

    Полубайты, кстати, были в тексе мерфи первом в шрифтах, надо вспомнить)

    Таблица с 0x04 это таблица WORD смещений к которым надо прибавить размер заголовка или размер предыдущей таблицы, тут это 4, много где относительные смещения используются когда в винхексе смотришь приходится считать постоянно или копировать блок в новый файл и там уже от нуля всё.
     
    Последнее редактирование: 3 июл 2017
    Pyhesty нравится это.
  17. Pyhesty

    Pyhesty

    Регистрация:
    2 май 2017
    Сообщения:
    629
    пока для меня все это слишком сложно, в том плане, что скорее всего я не смогу менять текущий шрифт (надеюсь это и не понадобится),
    но нужно попробовать добавить новый символ, правда при этом придётся расширить таблицу... это сложнее... главное, что бы ничего не сломалось.
    переводчики в венецианском купце просто убрали латинский шрифт ( заменив своим...
    при этом они заменили формат заголовка, что бы шрифты не были одинаковыми...
    завтра попробую добавить свой символ в конец таблицы...
     
  18. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.120
    Шрифт сложнее, чем я сперва посмотрел, но так как это отдельный файл с описывающей структурой, то я не вижу причин колхозить вот этот вот адъ с заменой букв, этот метод применяют от безысходности, рано еще паниковать.

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

    Другие файлы со шрифтами имеют такую же на вид структуру.

    У меня это выглядело вот так
    CAPTURE

    dosbox запускал в турбированном режиме по ALT + F11

    Через dosbox_debug.exe в дебаг сборке удобно смотреть какие файлы игра читает в порядке загрузки
    Можно начать со шрифта стартового меню, фразу "новая игра" заменить на !"#$% и тыкать биты пальцем в хекс-редактор, потом смотреть изменения в игре, потом скринить, делать зум 500% и смотреть букву и пиксель.
     
    Последнее редактирование: 3 июл 2017
    Pyhesty нравится это.
  19. Pyhesty

    Pyhesty

    Регистрация:
    2 май 2017
    Сообщения:
    629
    как?! =)))
    и кстати, можно ли как-то турбированный запустить по умолчанию?, что бы кнопки не жать постоянно?)

    вечером поэкспериментирую - отпишусь...
     
  20. jack7277

    jack7277

    Регистрация:
    23 май 2004
    Сообщения:
    1.120
    Чота я туплю, дебаг пишет, что грузится шрифт 610, я его правлю, но изменений в меню нет. Продолжаю наблюдение.
     
    Pyhesty нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление