1 Отредактировано garnizon (13-01-2025 19:30)

Тема: АгатТекст -> HTML

Весь прошедший год, записывал и подсчитывал сколько времени ушло на Агатство вообще, и на какие работы в частности. Просто в ежедневник записывал любое время потраченное.
"Дата, действие, ушло времени". Например: "23.12.2024, Читал дискеты, С 11.00 до 22.15".

Собственно я всегда полагал что на диски уходит больше всего времени. Ну понятно почему: диски сперва надо найти - это обычно долгие переписки с людьми которые знают тех, кто знает у кого диски, потом с теми кто знает у кого диски, потом с теми у кого диски. Часто всё это заканчивается тем, что "немного уже опоздал и недавно всё выкинули". Если же всё прошло удачно - надо их забирать, в 9 из 10 приходится не пересылать а ехать лично забирать, иногда в другой город. И только потом собственно снятие и хлопоты с возвращением. В сумме набегает прилично времени на всё. И как бы разумно предположить что это самый большой убийца времени?

Фигушки...

Оказывается больше всего времени уходит на подготовку ХТМЛ версий различной печатной макулатуры. О чём я говорю - вот посмотрите, например, на архив статей об Агате из журнала "Информатика и образование". http://agatcomp.ru/agat/Paper/IiO.shtml
  Все сканы были распознаны, тщательно проверены, в некоторых тяжелых случаях доходило до безумия - я зачитывал оригинал на диктофон и потом прослушивая сверял с распознанной версией (техническое описание, точка, с новой строки, часть первая, запятая, с новой строки красный абзац..). Много боли приносит повторение оригинального форматирования текста, чтоб как в оригинале...

Но результат стоит того. По сравнению с пережатыми сканами выложенными на сайте - ХТМЛ версия вне конкуренции, мы это сразу ощутили. Очень полезно и для цитат, и для чтения и для ссылок. Допустим читаем статью их журнала, там упоминается какой-то софт или железка, и прямо в тексте ссылка на страничку программы или железки на сайте (вот пример http://agatcomp.ru/agat/Paper/IiO/92-1-048.shtml). Да и поисковикам раздолье.

Но если с бумажными текстами мало что можно ускорить или автоматизировать (всё равно часть книг так и останется в виде PDF и DjVu), то с текстами находящимися на агатовских носителях вероятно можно. Ведь огромная часть заводской документации, описания программ, инструкций, статей и т.д. находятся на Агатовских дискетах, в текстовых файлах.

Вот я попробовал взять некий крупный текст, созданный в текстовом редакторе "ТОР". Перенёс текст из агатовского файла в .TXT за одну секунду утилитой Dos33c2, но что дальше? ведь все управляющие коды, начинающиеся с точки, и служащие для форматирования и смены шрифта, отображаются как текст... и всё. Стоит ли говорить что в таких документах форматирование играет важную роль, иногда без этого просто не возможно. Изобилие абзацев и перечислений, курсивы и верхние регистры, подчеркивания и заголовки жирным шрифтом...
И все эти особенности текста, приходится вбивать в HTML руками (p/i/b/h3/h2/sup и т.д.), постоянно сверяясь с оригиналом. Точнее ориентируясь на те самые управляющие коды в агатовском файле. Это убийца времени.

Как бы упростить процесс, доверив машине хотя бы часть задачи? Нет, я не собираюсь тратить меньше времени на Агатство, я просто хочу сэкономленное время потратить на что-то другое по Агату. А дел еще невпроворот.

Какие вообще могут быть варианты? Как получить, пусть даже упрощенный по форматированию, ХТМЛ из текстового файла Агата?


1 Менеджеры ?
Из .fil содержащий текст в формате агат-автор в html. 
Проблема в том, что текстовых редакторов и их форматов несколько, хотя достаточно основных наверное. Но в Dos33c2 такой возможности нет, и вероятно не будет покр в ближайшее время.


2 Эмулятор ?
Из потока информации, которой общаются плата принтера и сам принтер.
В эмуляторе Олега есть возможность получить печать в PDF но это всё очень далеко от идеала и никак не экономит время при переводе в HTML.


3 Плагины для FAR или текстового редактора?

Давайте посоветуемся !

P.S. Огромное количество документов создано в текстовом редакторе ТОР. Синтаксис там похож на Агат-Автор но!!! Создатели текстов на Агате очень и ОЧЕНЬ любили таблицы различные.
ТОР для рамок таблиц использует программирование пользовательского символа, таким образом
подсовывая матричнику псевдографику девятки. Вероятно её можно заменить только спецсимволами ХТМЛ, облачив в тег PRE. Тогда и таблицы построенные из них будут выглядеть как в агате.

http://agatcomp.ru/agat/Hardware/Printers/SM6337/scan6337.jpg

2

Re: АгатТекст -> HTML

Нужна утилита конвертации. На Питоне это не особо сложно, если взять какую-то библиотеку для парсинга текста. Я пока не возьмусь, но, вообще, это решаемо.

3 Отредактировано Voldemar0 (13-01-2025 23:07)

Re: АгатТекст -> HTML

Тут три вопроса, более или менее уже решённых:

1) Перекодировка символов, включая специальные символы:

На сайте же лежало полно документов, которые были частично отформатированы в HTML.
Большая часть из них была из Агат-Автора, при переносе там уже были выстроены абзацы тегами HTML и сделана конвертация основных знаков (например, знака ¤ - $) и почти всего прочего.

Сейчас на форуме уже есть готовая таблица агат9->unicode, да и dos33c2 тоже такую конвертацию  умеет в последних версиях.


2) Спецкоманды и фичи редакторов:

Не обрабатывались только команды агат-автора: всякие .цв, .ов и прочее.
Наверное, это можно сделать автоматически, хотя, может быть и не всё. Но это надо делать.
На агате чуть меньше десятка текстовых редакторов, которые имели какие-то свои команды.
В целом, их формат изучен и dos33c2, где-то внутри себя, их знает. Но использует знания
минимально: в основном, только чтобы цветом подсказать точки изменения шрифта.


3) Распознавание абзацев там, где текст разбит на строки:

Это большинство текстов, набранных в редакторе ДОК / Ассемблер или в похожих.
В основном, тексты от группы Цикозы и из Спрайт-ОС.

В ряде документов не удалось найти способа выстраивать абзацы правильно и для быстрой обработки делалась прога, которая выводила весь текст и потом позволяла быстро, мышкой, отмечать группы строк, которые были полными абзацами.

Для примера:

Текст----текст-текст текст  текст
текст - текст текст:
1) текст
2) текст

Тут, очевидно, три отдельных абзаца, но проге трудно понять - почему? Совсем полного автоматического алгоритма, не учитывающего смысл написанного, тут не подберёшь. В спецпроге мышкой выделяем две первые строки (выделение сразу полной строкой) и прога их собирает в один абзац. Строки, которые не отмечаем, остаются отдельными абзацами.

(Спецпрога была под *nix, написана на pascal, под графрежим/x11 и была "прогой одного дня": без комментариев и вменяемого пользовательского интерфейса. На входе брала .fil-контейнер, на выходе выдавала готовый .html со всеми тегами).

==

Это сводка того, что уже есть. Для тех, кто захочет пойти дальше.