Дополнение - товарищ в принципе прав (некто
Nekt):
Есть МСОфис и есть ООфис - все знают?
И вроде бы как ООфис пытается работать с документами МСОфиса - но иногда, в некоторых случаях, документы обрабатываются криво. Почему?
Очевидный ответ: "ООфис бесплатный - кто же будет бесплатно работать хорошо?!".
А то, что ООфис - прямой потомок коммерческого СтарОфиса - многие помнят? Что, программисты оказались настолько рукож...., что не смогли написать нормально? Эт вряд ли.
Тут в другом дело:
- скажем, традиционный текстовый редактор (типа Блокнота) работает с текстовым файлом очень просто: он открывает файл с данными, что-то из него читает, что-то в нем меняет, но при этом текст обрабатывается напрямую, логика работы проста и понятна, легко повторима. Поэтому текстовых редакторов - вагон и маленькая тележка. Никакой несовместимости.
- а вот программы типа МСО работают со своими документами немного иначе: они считывают данные, "десериализуют", данные отображаются во внутренние структуры программы. И потом программа работает уже с этими структурами, с объектами в памяти.
А потом - при сохранении данные "сериализуются" в файл.
В чем разница? В том, что даже при известном формате документа (описания объектов, их параметры и т.п.) как именно они обрабатываются внутри программы - неизвестно. Алгоритмы обработки защищены закрытым кодом и авторскими правами, никак и нигде не стандартизированы.
И сторонним разработчикам остается только изучать поведение оригинала и пытаться воспроизвести его по-своему.
Тут уж как получится - угадали или нет.
Это как с языками (в смысле - речью): существует грамматика, орфография, правила, словари, списки исключений и т.п., иностранцу можно в совершенстве изучить по учебникам "правильный" русский язык, но потом впасть в ступор при разборе фразы типа "ну да, конечно, сейчас разбежался прямо".
Или более "компьютерный пример" - веб-дизайн. Тут тебе и стандарты, и целый консорциум - а одна и та же страница в МС ИЕ и ФайрФоксе может выглядеть совершенно по-разному. Смотря как ее обработает браузер...