Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Старый софт » Конвертер FB2 в TXT для Windows 3.0/3.1 |
<<Назад Вперед>> | Страницы: 1 2 * 3 4 5 | Печать |
Sozdatel
Advanced Member
Всего сообщений: 3518 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 апр. 2010 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 2 сентября 2015 19:42 Сообщение отредактировано: 2 сентября 2015 19:42 |
Fe-Restorator |
NEW! Сообщение отправлено: 2 сентября 2015 21:03 Сообщение отредактировано: 2 сентября 2015 21:13
Sozdatel написал: Бред какой-то. Зачем тогда вообще нужен формат FB2? Это связано с тем, что многие файлы формата FB2 представляют собой неотформатированный текст, где абзацы разделяются тегом >p> вместо символа перевода строки. 1) Дано: длинный текст в одну строку с тегами-разделителями, обозначающими абзацы. Решение: Выполнить обработку файла в три прохода. Первый проход - разбить мега-строку на нормальные абзацы, коие метятся как CR/LF. Вторым проходом обработать остальные теги, получив правильное форматирование всего текста, включая перекодировку в нужный формат и расстановку мягких переносов по всем правилам языка. Третьим проходом порезать получившиеся абзацы на строки длиной ровно NN символов для показа на экране доса без горизонтального скроллинга, с учётом мягких переносов и схемы вёрстки (для сценариев и т.п.). 2) Дано: длинный текст в одну строку с тегами-разделителями "абзаЦЦ" жёстко через каждые 60 символов текста, включая пробелы в начале виртуальных строк. Решение: Выполнить обработку файла в 5 проходов. Первым проходом расставить теги CR/LF взамен каждого тега "абзаЦЦ" исходной строки, получив жёстко форматированный текст. Вторым проходом обработать остальные теги, получив правильное форматирование всего текста, БЕЗ перекодировки в нужный формат и БЕЗ расстановки мягких переносов. Это даст ровные текстовые строки по 60 символов в каждой, за исключением окончаний каждого абзаца. Третьим проходом обрабатываем "жёсткие" абзацы по принципу "если в строке все 60 символов (с учётом оконечных пробелов), меняем CR/LF на обычный пробел. Если символов в строке меньше 60, оставляем всё как есть". В результате, получим правильно оформленные абзацы, уже без жёсткой разбивки на строки. Четвёртым проходом выполняем перекодировку в нужный формат, удаление дублирующихся пробелов, расстановку мягких переносов, корректировку вёрстки в неординарных случаях (сценарии, и т.п.). Пятым проходом нарезаем текст на строки нужного размера, с учётом мягких переносов и специфики вёрстки. |
Сейчас на форуме |
Sozdatel
Advanced Member
Всего сообщений: 3518 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 апр. 2010 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 2 сентября 2015 21:46 Сообщение отредактировано: 2 сентября 2015 21:50
Fe-Restorator написал: Попробуйте открыть любой файл формата fb2 в Блокноте или любом другом текстовом редакторе, чтобы убедиться в обратном. Бред какой-то. Зачем тогда вообще нужен формат FB2? Впрочем, благодарю за советы, есть над чем поработать (в исходном коде программы). |
Fe-Restorator |
NEW! Сообщение отправлено: 2 сентября 2015 22:13 Сообщение отредактировано: 2 сентября 2015 22:20
Sozdatel написал: Открывал и смотрел. Твоя фраза прозвучала как "неформатированный текст в формате FB2", что есмь бред. Согласись. Попробуйте открыть любой файл формата fb2 в Блокноте PS. Советы не полны, ибо при сценарной вёрстке, например, стоит ставить дополнительные CR/LF перед каждым именем персонажа, что позволит отделить абзацы от заведомо коротких строк, сохранив вёрстку документа при всех промежуточных преобразованиях. То-ж относится и ко всякого толка заголовкам, эпиграфам, сноскам и прочим намеренно выделенным элементам документа. |
Сейчас на форуме |
Sozdatel
Advanced Member
Всего сообщений: 3518 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 апр. 2010 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 2 сентября 2015 23:36 Сообщение отредактировано: 2 сентября 2015 23:38
Fe-Restorator написал: Была бы бредом, если бы при открытии файла в блокноте (например того же Фонвизиновского "Недоросля") из архива, мы бы увидели текст с правильным форматированием, как если бы он был набран вручную в текстовом редакторе. "неформатированный текст в формате FB2", что есмь бред. Но вместо этого можно увидеть следующее. На скриншоте - файл FB2, открыт в стандартном Блокнот из Windows 7 x64, перенос строк отключён (об этом свидетельствует наличие горизонтальной полосы прокрутки). И поскольку большинство старых редакторов (под MS-DOS и Windows 3.1) не имеют функции автоматического переноса строк, пришлось реализовать добавление символа переноса на каждом 60-символе. |
Fe-Restorator |
NEW! Сообщение отправлено: 3 сентября 2015 2:18 Сообщение отредактировано: 3 сентября 2015 3:32
Sozdatel написал: Это формат FB2, никакого неформатированного текста здесь нет и в помине! Отвлекись от содержимого тех файлов, посмотри на подачу тобою информации. Была бы бредом, если бы при открытии файла в блокноте Хороший конвертер не станет тупо рубить по 60 символов, включая теги. Хороший конвертер сперва раскроет теги, превратит их в "книжного вида" свёрстанный текст, затем преобразует (по необходимости) жёстко порезанные на строки абзацы в абзацы непрерывные, расставит мягкие переносы и напоследок вновь жёстко порежет абзацы на строки заданной длины, с учётом одновременно и мягких переносов, и особенностей вёрстки. Именно в такой последовательности действий. Отчего получится:
Немного не выдержал правую границу, что нелегко сделать средствами движка форума, вручную. Но смысл, думаю, понятен. PS. Можно не разрывать слова по мягким переносам, а добавлять меж ними повторяющиеся пробелы, выравнивая обе границы текста разом. Эт как вариант, проще "сверстать", но труднее читать и отслеживать начало новых строк. PPS. неплохо-бы дать пользователю возможность самому задать длину строки. В досе - она будет 80 символов, в планшете - уже 60, в e-ink-читалке - не более 40, в КПК - не более 25, в смартфонах может доходить и до 15. Эт при соблюдении одинакового комфортного для глаза размера шрифта на всех девайсах: 5мм по вертикали на полное знакоместо (3.х мм высота строчных букв, 4.х мм высота прописных букв). Миллиметры не типографская мера шрифта, указаны весьма приблизительно, для наглядности не знакомым с типографикой форумчанам. PPPS. На время выполнения внутренних преобразований формата можно пользовать т.н. "текстовые теги". Например, часть символов "конец абзаца" в нужных частях документа временно обозначить сочетанием "^^^^" без кавычек. Такие "теги" не стандартизованы, но зело помогают не нарушить вёрстку документа, изменяя её части и фрагменты по заранее заданному правилу. Ведь, по-факту, придётся преобразовывать текст дважды (в самом жёстко испорченном варианте исходной вёрстки текста): первый раз при избавлении от тегов формата FB2 как занимающих место в строке лишних символов, второй раз - после преобразования из жёстко нарезанных строк неправильной длины и при преобразовании в жёстконарезанные строки длинны нужной, дабы сохранить исходную вёрстку документа (макет, структуру), неповреждённой. |
Сейчас на форуме |
Anderson1
Advanced Member
Откуда: Москва Всего сообщений: 2098 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 27 фев. 2011 |
Sozdatel написал: Это не совсем правда - в Windows 3.0 не работает: Работает во всех 16 и 32 разрядных версиях Windows - от Windows 3.0 и Windows 3.1 до Windows XP и 7 x86. Это 286 Laptop 12MHz/1M/CGA/W3.0a Windows 3.1 на том же компе, но в Hercules режиме, ибо CGA в 3.1 уже не поддерживается: BTW, обнаружил у сабжа ещё один дефект: без мыши с этой прогой ничего нельзя сделать - хоткеи (типа ctrl+o, ctrl+tab) не работают. |
Sozdatel
Advanced Member
Всего сообщений: 3518 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 апр. 2010 |
Anderson1 написал: Прошу прощения, не знал. Не было возможности проверить. Это не совсем правда - в Windows 3.0 не работает: Anderson1 написал: Будет добавлено. BTW, обнаружил у сабжа ещё один дефект: без мыши с этой прогой ничего нельзя сделать - хоткеи (типа ctrl+o, ctrl+tab) не работают. |
Sozdatel
Advanced Member
Всего сообщений: 3518 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 апр. 2010 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 8 сентября 2015 15:17 Сообщение отредактировано: 8 сентября 2015 15:30
Anderson1 написал: Криво отображается. Видимо придется уменьшить размер формы по ширине. Или сделать её полноэкранной. Windows 3.1 на том же компе, но в Hercules режиме, ибо CGA в 3.1 уже не поддерживается: |
Anderson1
Advanced Member
Откуда: Москва Всего сообщений: 2098 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 27 фев. 2011 |
И кнопки подписать не капсом |
<<Назад Вперед>> | Страницы: 1 2 * 3 4 5 | Печать |
Полигон-2 » Старый софт » Конвертер FB2 в TXT для Windows 3.0/3.1 |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |