Здравствуйте. Моя программа генерирует rtf-файлы, которые пользователи открывают в MS Word. Word 2003 виснет при перемотке документа полосой прокрутки (колесом мыши мотать можно, не виснет). Word 97 вылетает с исключением при открытии документа. Можно ли как-нибудь проверить документ на правильность, чтобы проверяльщик явно сообщил, правильный документ или нет? И желательно, где ошибка. Кстати, другие программы (напр. OpenOffice) просматривают документы без проблем.
А что говорит Wordpad ? Можно ли сконвертировать RTF в текст (каким-либо конвертером, в том числе) и убедиться в его (не)корректности ? Тэги документированы (зависят от версии RTF). Также несложно проверить четность (сложнее - парность) скобок, завершающий нуль. Я бы начал с этого. Истиный валидатор потребует грамматического разбора файла - вряд ли оно того стоит.
В том числе и WordPad и пр. и никто даже не ругается. После долгих размышлений пришёл к выводу, что ед. способ - это делить файл пополам и смотреть, в какой части происходит ошибка. Я тоже полагаю, что проблема в парности скобок таблиц (\cellx \cell и т.п.), и то же написано и в стандарте RTF (что любой ворд может от этого заглючить . Другое дело, что хотелось бы общего автоматизированного решения для проверки.