ПРОГРАММА AC Конвертер шрифтовых выделений между форматами распространенных текстовых редакторов (С) SoftWeyr,1994 Version 3.10 Программа AC позволяет взять файл, набранный в одном из ис- пользуемых форматов (например Лексиконовском) с использованием шрифтовых выделений (жирность, подчеркивание и т.д.) и перевес- ти в другой формат (например в формат редактора "Слово и Дело") с сохранением этих выделений. Программа поддерживает следующие форматы файлов: Лексикон Микромир (МИМ) Слово и Дело PrintFX Управляющие коды Epson-совместимого принтера (файл в таком формате может быть распечатан с помощью команды Copy filename prn и получен в таких пакетах как FrameWork или Word с по- мощью печати в файл. (это естественно не касается си- туации когда пакет печатает в графическом режиме, как например ChiWriter)) Unix-style выделения - подчеркивание символа с помощью комбинации BackSpace-подчерк, выделение жирностью с помощью Backspace и повторного вывода символа. Кроме того возможен перевод файла в формат Plain Ascii - удаление всех шрифтовых выделений. Конвертирование файла из формата Plain ASCII естественно невозможно, так как откуда программа возьмет информацию о том, где ставить шрифтовые выделения, если в исходном файле их нет. Кроме того, оно и не нужно, так как все вышеперечисленные прог- раммы и устройства прекрасно понимают Plain ASCII как файл без шрифтовых выделений. Использование программы: ac имя-входного-файла [вх_формат] [имя-выходного-файла] [вых_формат] где имя файла это и есть имя файла а формат - один из нижепере- численных ключей. Параметры в квадратных скобках являются не- обязательными. При запуске программы набирать квадратные скоб- ки, естественно не нужно. Коды форматов: /A plain ASCII - файл без управляющих кодов (только как вы- ходной формат) /L Lexicon - файл, набранный в редакторе Лексикон /M MIM - файл, набранный в редакторе МикроМир /P PrintFX - файл, содержащий управляющие коды для программы PrintFX /E Epson - файл, содержащий управляющие коды принтера Epson Если опущен входной формат, то программа пытается распознать его автоматически. Если опущен выходной файл, то результать преобразования записывается на место входного файла. Если опу- щен выходной формат, то подразумевается Plain ASCII, т.е. уда- ление из файла всех шрфтовых выделений. примеры: 1) ac mytext.lex /l mytext.prt /e 2) ac mytext.lex /l /m 3) ac mytext.lex Пример 1 - заменить в файле MyText.lex управляющие коды Лекси- кона на управляющие коды принтера Epson и записать результат преобразования в файл mytext.prt для вывода на печать командой copy mytext.prt prn Пример 2 - заменить шрифтовые выделения лексикона на шрифтовые выделения Микромира для дальнейшей работы с файлом в этом ре- дакторе. Результат записывается на место исходного файла. Пример 3 - Попытаться определить какой тип выделений встречает- ся в файле mytext.lex и удалить их оттуда. Как работает алгоритм распознавания формата: Программа ищет в файле первый символ, который является уп- равляющим кодом для какого-либо из используемых форматов, и в дальнейш ем считает, что используется именно этот формат. По- этому автоматическое преобразование не гарантировано от ошибок, так как управляюий код для PrintFX - символ '\', который может встретится в тексте и просто так, например если там есть имена каталогов DOS. Типы обрабатываемых выделений Поскольку набор шрифтовых выделений во всех используемых форматах разный, то распознаются не все шрифтовые выделения, не все из тех которые распознаются, переносятся в выходной файл. За основу принят формат редактора Микромир, в котором есть 7 типов выделений, которые можно комбинировать произвольным об- разом: Жирный шрифт Курсив Подчеркивание Шрифт двойной ширины Верхний индекс Нижний индекс Факультативный вид выделения (на лазерных принтерах - инвер- сный) Для более полной поддержки редактора "Слово и дело" добавлен 8-й атрибут - рукописный шрифт. В нижеследующей таблице указа- но, какие из тих видов выделения поддерживаются какими из фор- матов. ╙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙⌠∙∙∙∙⌠∙∙∙∙∙∙∙∙⌠∙∙∙∙∙∙⌠∙∙∙∙∙⌠∙∙∙∙∙∙∙⌠∙∙∙∙∙∙░ ┐ Формат ┐MIM ┐Лексикон┐Слово ┐Unix-┐ ┐ ┐ ┐ ┐ ┐ ┐и дело┐style┐PrintFX┐ Epson┐ ■∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙√∙∙∙∙√∙∙∙∙∙∙∙∙√∙∙∙∙∙∙√∙∙∙∙∙√∙∙∙∙∙∙∙√∙∙∙∙∙∙└ ┐Жирный ┐ + ┐ + ┐ + ┐ + ┐ + ┐ + ┐ ┐Курсив ┐ + ┐ + ┐ + ┐ - ┐ - ┐ + ┐ ┐Подчеркивание ┐ + ┐ + ┐ + ┐ + ┐ - ┐ + ┐ ┐Двойной ширины ┐ + ┐ - ┐ + ┐ - ┐ + ┐ + ┐ ┐Верхний индекс ┐ + ┐ + (*)┐ + ┐ - ┐ - ┐ + ┐ ┐Нижний индекс ┐ + ┐ + (*)┐ + ┐ - ┐ - ┐ + ┐ ┐Факультативный ┐ + ┐ - ┐ +(**)┐ - ┐ - ┐ - ┐ ┐Рукописный ┐ - ┐ - ┐ + ┐ - ┐ + ┐ - ┐ ▒∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙▓∙∙∙∙▓∙∙∙∙∙∙∙∙▓∙∙∙∙∙∙▓∙∙∙∙∙▓∙∙∙∙∙∙∙▓∙∙∙∙∙∙╘ * эти виды выделений в Лексиконе не комбинируются с другими произвольным способом ** В редакторе Слово и Дело этот атрибут воспринимается как инверсный. Коды других видов выделений, которые могут встретится в форма- тах PrintFX и Epson, как правило переносятся в выходной файл без изменений. Если вид выделения, встреченный во входном файле, не поддержи- вается выходным форматом, то он как правило игнорируется. Ис- ключение составляет рукописный шрифт при записи в формат Микро- мира. Он, как и инверсный, записывается как факультативный ат- рибут, поскольку в Микромире вид отображения факультативного атрибута зависит от настройки программы. При конвертировании в формат PrintFX для печатного шрифта используется быстрый, а для рукописного - рукописный. Шрифт нормальной ширины считается шрифтом 10 симв/дюйм. При конверти- ровании из PrintFX коды \10 \12 \17 трактуются как выключение широкого шрифта, а \б \м \к - как выключение рукописного.