1.3 Еволюція
програмного забезпечення для обробки текстів
В системах обробки даних внутрішнє подання символів
базується на деякій системі кодування: кодовій таблиці. В ДП
використовується кодова таблиця ASCII (American
Standard Code for Information Interchange – Американський
стандарт кодів для обміну інформацією). Стандарт ASCII
(таблиця 1.2) регламентує лише
коди від 016 до 7F16 (010
- 12710). Друга половина кодової таблиці
призначена для символів національних алфавітів,
псевдографіки та інших спеціальних символів.
Перші дві колонки
відведено для кодів керування, які використовуються для
передачі службової інформації. Наступні дві колонки мають
цифри та знаки. Далі розміщуються за алфавітом латинські
букви (спочатку великі, потім малі).
Кодові таблиці, розроблені на основі стандарту ASCII,
називаються розширенням ASCII. Серед розширень ASCII
найбільш розповсюджена кодова таблиця фірми ІВМ – МАТНІІ; в
багатьох джерелах під назвою “кодова таблиця фірми ІВМ”
мається на увазі саме вона. Коди з 0В016 по 0DF16
(17610-22310) в цій таблиці – символи псевдографіки
призначені для побудови різноманітних таблиць і найпростіших
графічних зображень.
Крім цієї таблиці фірма ІВМ використовує кодову
таблицю MATRIX. В кодах з 0А016 по 0DF16 (16010-22310)
розміщені спеціальні символи псевдографіки (що відрізняються
від широкорозповсюджених).
Таблиця 1.2 - Кодова таблиця ASCII
В пристроях фірми Epson використовується власна кодова
таблиця (таблиця 1.3).
Таблиця 1.3 – Кодова таблиця фірми Epson
В другій половині цієї кодової таблиці розміщуються ті ж
символи, що і в першій, але в курсивному вигляді. На
території колишнього СРСР найбільш розповсюджено чотири
кодові таблиці, що містять символи кирилиці.
Основна кодова таблиця (таблиця 1.4)
містить символи кирилиці в кодах з 0В016
по 0F116 (17610-24110). В
кодових таблицях, розповсюджених за кордоном, ця частина
таблиці відведена під символи
псевдографіки. Тому основна кодова таблиця обмежує
сумісність з імпортними програмами, що використовують ці
символи для побудови різноманітних рамок, таблиць та інших
графічних зображень, виконаних в текстовому режимі. Ця
таблиця використовується в русифікованих FX-800 і FX-1000.
Розглянемо альтернативну кодову таблицю. Символи кирилиці в
цій таблиці розміщено в кодах з 08016 по 0AF16
і з 0Е016 по 0F116 (12810-17510
і 2410-24110). Символи
псевдографіки розміщуються так само, як і в закордонних
кодових таблицях ( з 0В016 до 0DF16
(17610-22310)). Символи з кодами 0Е016
по 0FF16 (22410-25510)
збігаються з такими ж символами основної кодової
таблиці. Існує і модифікована альтернативна кодова таблиця,
де символи в кодах з 0F216 по 0FF16
(24210-25510) збігаються з кодовою
таблицею фірми ІВМ.
Таблиця 1.4 – Основна кодова таблиця
Альтернативна кодова таблиця широкорозповсюджена в
русифікованих закордонних ПЕОМ. В більшості русифікованих
прикладних програм, в програмах, що розробляються в Росії, а
також в текстовій документації використовують альтернативну
кодову таблицю для кодування символів.
Розглянемо кодову таблицю КОИ-8 (таблиця 1.5). Ця таблиця
регламентується ГОСТ 19768 - 74, зміна № 2. Розміщення
символів частково збігається з основною кодовою таблицею.
Відмінність полягає в тому, що КОИ-8 не містить символів
псевдографіки. Недоліки: символи «Ё» та «ё» розміщені не за
алфавітом; символ «Ё» знаходиться в області кодів
псевдографіки основної кодової таблиці; обмежена сумісність
з імпортними програмами, що використовують псевдографіку.
Більшість вітчизняних пристроїв
використовують старий варіант кодової таблиці КОИ-8. Символи
кирилиці в цій таблиці розміщено не в алфавітному порядку в
кодах з 0С016 по 0FF16 (19210-25510),
що робить неможливим сортування за алфавітом російських слів
в прикладних програмах, які використовують традиційні
алгоритми сортування слів за алфавітом.
Вибираючи ДП, необхідно звертати увагу на кодову таблицю, що
використовується в цьому пристрої. Вона повинна збігатися з
кодовою таблицею, яка використовується в ПЕОМ, інакше
необхідно передбачити деякі заходи щодо забезпечення
сумісності по кодових таблицях ПЕОМ та ДП (наприклад,
використовувати драйвери для ДП).
Слід також звернути увагу, що деякі прикладні програми,
особливо текстові процесори, що використовують режим роботи
WYSIWYG, можуть мати свою вбудовану кодову таблицю, за якою
здійснюється виведення тексту на друк. Наприклад, текстовий
редактор ЛЕКСИКОН може працювати на ПЕОМ з основною кодовою
таблицею в графічному режимі, а для друку в чорновому режимі
використовує альтернативну кодову таблицю.
В будь-якому сучасному матричному ударному або безударному
знакосинтизуючому ДП формування знаку здійснюється за
допомогою окремих точок, які створюють образ символу на
паперовому носії. Шрифт не може бути отриманий за допомогою
алгоритмічного перетворення будь-якого іншого шрифту й
записується в окремому знакогенераторі. Різноманітні
алгоритмічні перетворення шрифту називають похідними цього
шрифту або режимами друку. Наприклад, подвійний удар – це
режим друку з подвійним ударом.
Знакогенератор (ЗГ) це набір даних, до складу яких входить
сукупність нулів та одиниць, що записані у певному порядку.
Кожному символу відповідає свій набір біт. Для проектування
ЗГ використовується сітка, за допомогою якої синтезуються
символи, що входять до нього. Чим дрібніша сітка для
описання символу, тим вища якість отриманого на папері
зображення. Це пояснюється тим, що висота і ширина букви є
постійними величинами і не залежать від розміру сітки, що
використовується для опису символів, тобто при дрібній сітці
відстань між центрами сусідніх по вертикалі та по
горизонталі точок падає. Зменшення цієї відстані
забезпечується в ДП повторним проходженням по кожному з
рядків, причому кожний наступний прохід супроводжується
зміщенням паперу на відстань меншу, ніж відстань між
центрами голок.
Збільшення щільності друку по горизонталі забезпечується
зниженням швидкості руху друкувальної головки. За рахунок
більш щільного розміщення точок, зображення символу виходить
кращої якості. На зображенні, побудованому за допомогою
дрібних сіток, практично не помітно, що символ сформовано з
окремих точок, хоча швидкість виведення інформації
знижується.
Слід відмітити що в пристроях з лазерними та струменевими
принципами друкування методика отримання символів різної
якості інша. В пристроях такого типу найдрібніша з доступних
сіток (з максимально доступною роздільністю) є основною. При
використанні сіток з більш грубим діленням при друкуванні
утворюються символи з меншою деталізацією. В такому режимі
друкування використовуються допустимі для друкування
вертикальні та горизонтальні точки. При цьому в безударних
ДП не змінюється продуктивність роботи, але економиться
тонер (для лазерних ДП) або чорнила (для струменевих ДП).
В залежності від зовнішнього вигляду зображення символів
виділяються три ступеня якості друкування: чорнова
(звичайної якості), якісна (NLQ, близька до друкарської
машинки) і високоякісна (LQ, близька до типографської). На
рисунку 1.5 наведено розкладання символу “Н” на сітці 9×12
(цей символ подано на сітці чорнової якості). Часто для
якісного друкування в одному пристрої використовують
декілька ЗГ. Перехід від одного ЗГ до іншого відбувається з
допомогою команд керування або органів керування.
Кожному ЗГ відповідає, як мінімум, один шрифт. Для
збільшення різноманітності режимів оформлення текстів
використовуються програмні перетворення змісту ЗГ, а саме
різноманітні режими друку: чорновий, пропорційний, індекси,
подвійна висота, з лініями підкреслювання та надкреслювання,
фазовий, з подвійним ударом і т. і. Класифікація шрифтів та
їх похідних наведена на рисунку 1.6. Більшість видів
перетворення можна здійснити послідовно, збільшуючи
різноманітність оформлення текстів.
Рисунок 1.5 – Розкладання символу “Н” на сітці 9×12
Знакогенератори ДП можуть бути вбудованими і
завантажувальними. Вбудованими називаються ЗГ, що
розміщуються в ПЗП та їх зміст не може змінюватися.
Завантажувальними знакогенераторами називаються ЗГ, зміст
яких задається користувачем за допомогою
команди керування завантаженням ЗГ. Вони розміщуються
в оперативній пам’яті ДП, а їх зміст може змінюватися як в
цілому, так і довільними частинами. Найчастіше в
матричних ДП нараховується від 3 до 7 ЗГ і 1-2 таких,
що завантажуються. Крім того, існують зовнішні джерела
шрифтів.
Різноманітні засоби оформлення тексту можуть бути отримані
за рахунок набору власних ЗГ, програмних перетворень цих ЗГ
і виведення в графічному режимі з використанням зовнішніх
джерел.
Класифікація знакогенераторів ДП наведена на рисунку 1.7.
Знакогенератори можуть бути трьох
типів в залежності від місця їх розміщення: розміщені в ПЗП
принтера, на касеті або на дискеті. Вбудовані
знакогенератори першого типу розміщуються у відведеній для
їх збереження області постійної пам’яті ДП. Набір вбудованих
знакогенераторів ДП описує множину основних шрифтів всіх
видів якості друкування, які підтримує пристрій.
Основним вбудованим ЗГ в ударному ДП є ЗГ чорнового шрифту. Ним оснащуються всі ДП. Швидкість виведення тесту в чорновому режимі (він характеризується використанням одного зі ЗГ чорнового шрифту) найбільш висока зі всіх можливих за рахунок невеликого розміру сітки для подання знаків. ЗГ чорнового режиму мають декілька різновидів чорнового шрифту прямих символів, часто курсивних, а інколи й окремий шрифт для індексів.
Рисунок 1.6 – Класифікація
шрифтів ДП
Розглянемо знакогенератори режиму якісного друкування. В ДП
налічується від одного (FX-80 фірми Epson) до восьми (FR-10
фірми Star) різноманітних вбудованих ЗГ якісних символів.
Третій тип вбудованих ЗГ– це ЗГ, що зберігаються на
жорсткому диску, який входить до складу принтера. Запуск цих
ЗГ відбувається за командою від джерела інформації або з
панелі оператора.
Користувач може використовувати не тільки ЗГ, розміщені в ДП,
але й ті, що є в різноманітних текстових процесорах, які
використовуються в ПЕОМ. В цьому випадку виведення на ДП
відбувається з допомогою графічних можливостей принтера.
Розглянемо виведення тексту в графічному режимі з
використанням зовнішніх джерел шрифтів. При такому способі
друку джерело інформації не тільки готує текст для введення,
але й переводить кожний символ тексту в його точковий образ
за допомогою наявних у ньому орієнтованих на ДП ЗГ.
Отриманий шрифт не є у повному розумінні слова “власним”
шрифтом ДП. Його формуванням займається програма, що
функціонує в ПЕОМ. Підсумковий вигляд знаку при такому
способі формування обмежений тільки максимальною роздільною
здатністю ДП. Крім того, при такому режимі роботи зовсім
неважливо, які ЗГ та кодові таблиці входять до складу ДП.
Системи обробки текстів потребують широкої різноманітності
шрифтів. Вони використовують як “власні” засоби ДП, так і
виведення в графічному режимі. Оскільки подібні системи
найбільш часто використовують можливості ДП, то аналіз
різних способів організації взаємодії ДП і системи обробки
тексту викликає безсумнівний інтерес.
Використання вбудованих шрифтів і перетворень ДП забезпечує
високу швидкість виведення інформації, хоча й потребує
узгодження кодової таблиці, що використовується в прикладній
програмі та в ДП. Множина доступних шрифтів у цьому випадку
обмежується набором, що існує в ДП.
Перевагами виведення інформації за допомогою зовнішніх
засобів є незалежність від кодових таблиць ПЕОМ, від набору
вбудованих шрифтів ДП, широкі можливості шрифтового
оформлення, а також слабка залежність від типу
використовуваних команд керування. Рядки в ДП надходять у
вигляді повністю сформованих графічних зображень з
максимальною для пристрою щільністю. Для кожного рядка
виконується інколи до чотирьох-шести проходів, причому в
режимі однонаправленого друкування на половині швидкості (це
залежить від типу ДП). Швидкість друкування при цьому
знижується, але можливість отримання шрифту будь-якої
бажаної якості та зовнішнього вигляду приводить до широкого
розповсюдження цього методу.
Таким чином, для виведення символів на друк система обробки
тексту може використовувати знакогенератори ДП, досягаючи
високої швидкості виведення, або свої власні знакогенератори,
забезпечуючи високу якість друкування тексту. Компроміс між
швидкістю та якістю в різних редакторах здійснюється шляхом
застосування обох способів виведення інформації на вибір
користувача. Розглянемо розповсюджені редактори тексту з
точки зору зв’язку з ДП.
До систем обробки тексту відноситься
цілий ряд програмних засобів: прості редактори тексту,
потужні текстові процесори, системи верстки тексту та інші
програми, що призначені для обробки тексту.
Прості редактори є редакторами тексту, що мають лише найнеобхідніші засоби роботи з текстом. Текстові процесори мають потужний набір функцій редагування тексту, а також забезпечують якісну тверду копію документа.
Рисунок 1.7 – Знакогенератори ДП
Системи верстки тексту призначені для підготовки
оригінал-макета друкованої продукції, інколи їх називають
настільними типографіями. Вони мають потужні засоби
форматування та розміщення тексту, обробки графіки, а також
підтримують високоякісний друк. Прикладом можуть служити
Legend, The Office Publicher, PageMaker i Ventura Publicher,
що орієнтовані на професійних видавців. Текстові процесори
такого класу мають багатий набір власних вбудованих шрифтів.
Ці засоби досить дорогі та складні для вивчення
користувачем.
Системи обробки тексту поділяються на два класи: відкриті та закриті (рисунок 1.8). Відкриті системи дозволяють користувачеві легко керувати процесом друкування засобами самої системи. Вони характеризуються широкими можливостями створення та редагування шрифтів. Редактори відкритого класу використовують драйвери принтерів для забезпечення сумісності з різноманітними ДП. Деякі редактори дозволяють самому користувачеві створювати драйвери принтерів. Системи закритого типу використовують лише стандартні можливості принтера або своїх власних шрифтів, не допускаючи ніяких модифікацій. Вони використовують лише свої драйвери принтерів (якщо вони є).
Рисунок 1.8 – Класифікація текстових редакторів
В таблиці 1.6 наведена класифікація різноманітних систем
обробки текстів за їх функціональними можливостями.
Часто використовуються редактори відкритого типу,
що характеризуються дещо меншими, але достатніми з точки
зору індивідуального користувача можливостями. Ці
редактори мають
високу гнучкість та універсальність практично
таку ж, як настільні типографії, але значно дешевші та
простіші.
Типовим представником редакторів
відкритого типу є ChiWriter. Він надає можливість
виведення обробленої інформації як в графічному режимі,
так і за допомогою вбудованих засобів ДП. Швидкість в
першому випадку нижча, зате якість надрукованого тексту
помітно краща. Шрифти, що використовуються в графічному
режимі виведення інформації, зберігаються у вигляді
окремих файлів, що включені в комплект редактора.
Таблиця 1.6 - Найбільш розповсюджені пакети обробки тексту
Примітка. 1 – сумісність з ДП; 2 –
власні високоякісні шрифти (які використовують графічний
режим ДП); 3 – вбудовані шрифти ДП; 4 – шрифти які
завантажуються ДП; 5 – розробка нових шрифтів засобами
редактора.
Проблема сумісності кодових таблиць ПЕОМ і принтера,
системи управління командами редактора та ДП в
редакторах відкритого типу вирішується використанням
розроблених користувачем драйверів для ДП. В цих
редакторах є засоби побудови і підключення таких
драйверів. Драйвери користувача дають можливість
використовувати як зовнішній, так і будь-який з
вбудованих знакогенераторів. Необхідні зміни кодових
таблиць можуть бути описані за їх допомогою.
Тип шрифту, що використовується, звичайно визначається
підключеним у файлі конфігурації редактора (config.par)
драйвером друкування.
Текстові редактори закритого типу позбавлені власних
засобів проектування та редагування шрифтів, а також
настроювання на конкретний принтер. Серед них можна
виділити редактори, що мають власні шрифти високої
якості та редактори, що використовують засоби ДП. Як
приклад можна навести редактор Lexicon, який виводить
інформацію як графічними, так і штатними засобами ДП.
Використання лише зовнішнього ЗГ і неможливість
підстроювання параметрів зумовлюють сильну залежність
даного редактора від типу використовуваного принтера та
його функціональних можливостей.
Для редакторів закритого типу, що не мають власних
шрифтів є
засоби побудови та редагування шрифтів, що розширює
можливості таких редакторів.
Існують програмні засоби, що дозволяють редакторам
закритого типу використовувати різноманітні зовнішні
шрифти. Ці програми завантажуються резидентно і
“перехоплюють” виведення на принтер з основної програми.
Відповідно до “перехопленої” інформації вони формують
своє графічне зображення символів. Слід відмітити, що
такі резидентні засоби не втручаються в роботу основної
програми і з точки зору програми функція виведення на ДП
виконується в звичайному режимі. Тому програми такого
типу рекомендується використовувати сумісно з
редакторами, що не мають власних шрифтів (XyWriter,
Microsoft Word). В цьому випадку потребується сумісність
кодових таблиць ПЕОМ і програми проектування шрифту.
Проектування ЗГ – трудомісткий процес. Опис кожного
чорнового символу містить близько 100 точок, а якісного
– 300 точок. Кодова таблиця звичайно містить близько 240
основних кодів символів, що друкуються. Якщо врахувати,
що в ДП є декілька основних (таких, що зберігаються)
шрифтів і додаткові символи (міжнародні стандартні
знаки), то очевидно, що проектування повного набору
шрифтів для ДП виконати вручну складно.
Існують системи автоматизації проектування ЗГ, які
дозволяють користувачеві в інтерактивному режимі
створювати необхідні йому власні шрифти.
Для цих систем,
орієнтованих на точкове подання символів, найважливішими
показниками є сітка символу, на якій він описаний, і
формат файлу, де записано побудований шрифт. Існують
системи, де користувачеві пропонується тільки жорстко
фіксована сітка для подання символів (Lettrix Designer)
або пропонуються різноманітні розміри сіток подання
символів (Font Designer).
Існує два підходи до розробки ЗГ: перший – створити
заново власний шрифт, другий – використати перетворення
з наявного формату шрифту в необхідний шрифт. Перший
випадок характеризується великими затратами праці тому,
що шрифт доводиться створювати заново.
Для другого випадку підходять системи з декількома
сітками описання символів. Такі системи
мають спеціальну функцію, яка дозволяє
транслювати шрифт з одним розміром сітки в інший, який
необхідний користувачеві для його ЗГ.
Підсистемою автоматизації проектування шрифтів є утиліта
редактора ChiWriter. За її допомогою можна сформувати
знакогенератори для шрифтів будь-якої необхідної якості
тому, що розмір сітки, на якій створюється шрифт, може
бути визначений користувачем.
Стандартні високоякісні шрифти, що синтезуються за
допомогою цієї утиліти, можуть виводитись на 9-голковий
ДП за декілька проходів в залежності від типу шрифту.
Порядок виконання проходів і величини переміщень між
проходами можуть бути задані користувачем у файлі
драйвера друкування.
Цю утиліту зручно використовувати при розробці шрифтів
як чорнової, так і високої (типографської) якості. Вона
дозволяє автоматично формувати будь-який необхідний
шрифт. Для цього достатньо задати сітку нового шрифту, а
потім командами програми Font Designer переформатувати
будь-які символи з існуючих шрифтів в необхідний розмір.
Розбиття отриманого зразка на проходи для виведення на
друк виконується автоматично.
Розглянемо структуру файлів шрифтів. Високоякісний
багатопрохідний шрифт, побудований утилітою Font
Designer, має таку структуру: ім’я файлу шрифту
розміщується з 116
по F16 байти файлу. Потім
розміщено число символів у шрифті. В 1116
байті записано код першого символу шрифту. В 1216
байті вказано тип шрифту, якому пропорційно відповідає “
Символи подані на сітці та записані у файл по рядках.
При виведенні на ДП опис символу розбивається на проходи
відповідно до заданих в драйвері друку параметрів
шрифту. З символів кожного рядка формується графічний
рядок, а до нього додається команда керування визначення
щільності графіки.
Розглянемо процес підготовки до редагування та
редагування символів з допомогою утиліти Font Designer.
На рисунку 1.9 наведено зразки завантажених для
редагування шрифтів. В кожному парному рядку на правій і
лівій половинах рисунка стоять символи базового шрифту
(SYSTEM.EFT, сітка 16Х8). Шрифт використовується для
формування всіх повідомлень програми. Символи показують
відповідність клавіш на клавіатурі ПЕОМ символам шрифту,
що редагується.
Непарні рядки показують зовнішній
вигляд символів шрифтів, які редагуються, код яких
відповідає коду символів базового шрифту, що відображено
в парних рядках. Всі символи подано на екрані в
однаковому масштабі. Кожна точка символу взаємно
однозначно відображається
одним пікселем екрана. Тому правий шрифт в
непарних рядках
STANDARD.XFT (сітка 36×24), що має найбільше число точок
в описі, виглядає
більш
великим. Шрифт
STANDARD.SFT
(сітка
10×8)описується найменшим числом точок і відповідно виглядає на рисунку найдрібнішим.
Рисунок 1.9 – Зразки шрифтів
Рисунок 1.10 –
Зразки символів
На рисунку 1.10 подано такий крок редагування: зразки символів, підготовлені на розгорнутій сітці (справа) і на чорновій (зліва). Тепер, додаючи та виключаючи точки в образі символів, можна змінити зовнішній вигляд символів.
Вінницький національний технічний університет/span>