Немного о тексте
Опубликовал LG.BALUKATION на 2008/05/09
Забавная штука недавно была…
В общем некоторые наверно знают, что с октября я работаю программером в одной конторе, занимающейся портированием мобильных игр. В данный момент я участвую в портировании европейской версии небольшой логической игрухи, что-то типа пасьянса или паззла.
Так-как версия у нас европейская, требуется обеспечить наличия кроме англицкой локализации, ещё и остальные (efigs==English+French+Italian+German+Spanish). Весь функционал мы переносили пользуясь только англицким вариантом. теперь вот настало время и языки прикручивать.
Но тут мы столкнулись с проблемой наличия подходящего софта. Лично я, например, пользуюсь на работе Notepad++ – подсел на него ещё когда дома венда была основной системой… Но сохранённый в нём текст никак не хотел правильно показываться в игре. Мы уж и то и сё перепробовали, но код вроде как правильный был, зато на вход поступало ХЗ что. В итоге я открыл текст встроенным HexViewer’ом и понял в чём дело.
Сохраняли файлы мы как UTF8 (без сигнатуры), а Notepad++, несмотря на наличие всех используемых символов в кодировке, записывал всякие там a/e/c/u/i с различными значками в виде последовательности из базового символа и модификатора (могет такое Юникод). Игра же рассчитывала встречать только символы.
Артём раскопал что вроде как можно нормально (точнее как нам надо, поскольку тот вариант тож в общем-то правильный) сохранять файлы в Emacs, но собственно лишь он и помнил немножко каг пользоваться этой софтиной, да и то уже почти всё позабыл.
Правда я вовремя вспомнил, что OpenOffice ведь держит кучу кодировок! Да, сделано это весьма изврацки, зато наверняка. В итоге я пересохранил все текстовые ресурсы в Writer как “текст кодированный” в iso8859-1 (AKA Latin 1, она же начало Юникода) и всё нормально заработало B-)
ЗЫ:
кстати, в поисках решения возникшей ситуации, выяснилось, что у нас стояли немного разные версии Notepad++. У меня была версия за прошлую осень (4.3 – скачал когда устроился работать), а с тех пор проект дорос уже до 4.9.1. Обновление прошло гладко, всякие там настройки/стили нормально пережили это дело, но вот сам редактор показался мне хуже. Не знаю правда в чём именно, из явных ухудшений заметил тока отстутствие HexViewer’а – но с одной стороны это не такая уж и востребованная весч (юзал всего пару раз), хотя с другой, это и не особо-то большой да навороченный плагин чтоб его исключать из базовой поставки в целях какой-нить экономии. Да, кстати, оказалось Notepad++ нифига не умет показывать сохранённый в Latin 1 текст – при выборе режима ANSI вторая половина кодовой таблицы выводится в виде кириллицы, а при выборе UTF8 (там начало фактически и есть этот Latin 1) вместо символов из второй половины выводятся hex-значения их кодов.




ram32 сказал
Гы, да я сам обычно ленюсь, когда открываю виндовый файл, прописывать кодировку через консоль, посему использую OOo в таких случаях :)
LG.BALUKATION сказал
Дык OOo рулед, не то что всякий быдлософт, в котором даж с самим собой совместимости нет. не то что с мировыми стандартами.
xtray сказал
Я тож Notepad++ юзаю, правда не так давно, меньше года наверно…, но гравится он мне больше чем все что я юзал до этого.. единственный минус – файлы .txt он в утф8 не сохраняет, приходится для этого стандартным Блокнотом виндовым пользоваться… =((
LG.BALUKATION сказал
Сохраняет, если сказать… В настройках можно выставить кодировку для новых файлов, да и в уже открутом документе можно сменить/перекодироватьесли что.
xtray сказал
не, мне ж не все файлы в утф нужно сохранять, а перекодировка в открытом документе – кривоватая какая-то – файлы на сервак зальешь (.php) – не открываются… а Блокнотом когда пересохраняешь – он в начале файла несколько каких то символов добавляет, но их потом удаляешь и все норм)
А юзать дополнительный софт только для того чтоб анси в утф перегонять – лениво, да и смысла не вижу, проще уж так…