|
Русификация игр и софта для PSP Здесь выкладываем локализации всего, что связано с PSP |
13.05.2014, 17:25
|
Сообщение: #1 (1086935)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,716 раз(а) в 12,399 сообщениях
Сила репутации: 10Репутация: 42907 
(репутация неоспорима)
|
Сообщение от riku.kh3
Каким образом игра вообще может знать о существовании русской 1251 не представляю.
|
Сообщение от riku.kh3
Опять же, понятия не имею как это все устроить, и как модуль шрифтов это все обрабатывает.
|
Сообщение от riku.kh3
Пардон, я думал 1251 кодировка тоже однобайтная, с ней не приходилось просто никогда работать. Никогда не видел чтобы с shiftjis кодировкой такое срабатывало.
|
Эмм, по-моему ты совсем в этом ничего не понимаешь 
Или, скорее всего, ты себе сам всё усложняешь тогда, когда всё на самом деле очень просто.
Кодировка - это всего-лишь набор символов и всё! Просто в каждой кодировке все буквы пронумерованы по разному. Взять чисто однобайтную кодировку, то там количество кодов не превышает 0xFF, что получается, если перевести в десятиметричную систему 256 символов.
А как же добавить 257-ой символ?
Вооот! Тут-то 0xFG уже не проканает, потому что в 16-ричной системе максимальное число F и уже нету G ))) ну ты сам знаешь.
Поэтому, чтобы поместить в таблицу 257-ой символ, приходится считать дальше по правилам: 256 = 0xFF, 257 = 0x0100, а 65535 = 0xFFFF.
Вот тебе и всё правило кодировок 1-байтных или 2-байтных.
Поэтому секрет 2-байтных кодировок в том, что в ней присутствует и 1-байтная кодировка  потому что элементарно подсчёт символов в любой кодировке начинается с нуля, а не с центра вселенной.
Ты же яйца в корзине, если их там 100 штук, начинаешь считать всё равно с 1 единицы, а не с 50-ти )))
Кодировки между собой отличаются только количеством символов и соответственно их порядковым номером в 16-ричной системе.
Если ты хочешь писать в UTF-8, то и символы русского алфавита нужно подсунуть в её диапазон в шрифте.
Кстати, в Shift-JIS я вижу, что русские символы как раз дублируются в диапазоне UTF-8 (0401 - 0451). Таким образом, можно тупо сохранять текст в UTF-8 и шрифт Shift-JIS будет его отображать.
|
|
|
13.05.2014, 17:52
|
Сообщение: #2 (1086937)
|
Регистрация: 09.08.2008
Сообщений: 1,001
Вы сказали Спасибо: 47
Поблагодарили 346 раз(а) в 206 сообщениях
Сила репутации: 1Репутация: 350 
(как роза среди колючек)
|
ErikPshat, по прежнему не объясняет почему игра должна понимать UTF-8. Под shiftjis выделена четкая область и границы начиная с $8140 (ну + ascii еще 00-FF), на все что ниже ей просто параллельно и она не будет это отображать.
|
|
|
13.05.2014, 19:00
|
Сообщение: #3 (1086938)
|
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 58
Сообщений: 47,758
Вы сказали Спасибо: 27,999
Поблагодарили 43,716 раз(а) в 12,399 сообщениях
Сила репутации: 10Репутация: 42907 
(репутация неоспорима)
|
riku.kh3, нет, Shift-JIS шрифт очень большой. Он содержит символы английские, русские, греческие, японские катана и фиг поймёшь что там у них. И все национальные символы имеют свой уникальный код, как задумано в Shift-JIS. Некоторые коды совпадают с UTF-8, но это так же зависит от разработчика шрифта. Разработчик мог бы добавить поддержку UTF-8, как и однобайтный 1251 русский. Английский-то по-любому почти всегда идёт первым в однобайтной области. И разработчик шрифта может сам переставлять шрифты туда, куда ему это выгодно, например, если в игре не используется русский алфавит, то он может туда забить китайские символы, либо просто использовать эти коды в качестве управляющих символов.
Почему мы видим крякозяблики вместо нормального текста?
Потому что в той кодировке, в которой мы сохраняем текст, вместо необходимых букв находятся сторонние символы, например элементарно досовские символы всяких кирпичиков и уголков, либо китайских или японских иероглифов. Либо вообще там нет ничего, пустое место или совсем нет матрицы шрифтов.
Взять однобайтный win1251 на PSP...
Win-1251 начинается с 0xC0 по 0xFF. Вот скрин, где коды символов можно увидеть слева и сверху, как в шахматах. - "А" - 0xC0 или 0x00С0
- "Б" - 0xC1 или 0x00С1
- "В" - 0xC2 или 0x00С2
- "я" - 0xFF или 0x00FF
Спереди парные нули не учитываются.
Ранее на том самом месте, где русский алфавит, были как раз досовские символы.
А вот так мы видим пронумерованные символы в шрифте TTF. Нумерация символов так же идёт по стандарту. В данном случае виден русский алфавит в кодировке UTF-8 = 0x0401 (буква Ё) до 0451 (маленькая ё - её здесь нет).
(картинка кликабельна, читаем там внимательно мой пост по установке)
Листаем тот же шрифт к самому низу и видим там ещё один алфавит Windows-1251 = 0x00C0 (буква А) до 0x00FF (маленькая я). Это уже я сам копирнул алфавит в эту область. Поэтому теперь получается, что этот шрифт поддерживает писанину в UTF-8 и Windows-1251:
То есть, можно в текстовом редакторе написать текст и сохранить его в UTF-8 и он будет отображать русскую писанину, как положено. Так же, можно сохранить текст через текстовой редактор в Windows-1251 и так же, этот текст будет прекрасно выводится, как положено.
Но если посмотреть на текстовые файлы, одного содержания, но в разных кодировках через хекс-редактор, то мы увидим коды символов отличающиеся. В данном случае UTF-8 будет иметь 2-байтные символы на букву, например буква "А" = 0410, то в кодировке 1251 мы увидим код символа "А" = С0 одним байтом.
И один и тот же шрифт будет прекрасно отображать обе кодировки.
Последний раз редактировалось ErikPshat; 13.05.2014 в 20:00.
|
|
|
Этот пользователь сказал Спасибо ErikPshat за это полезное сообщение:
|
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Текущее время: 05:45. Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7 Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.
|
|
|