Меню English Ukrainian російська Головна

Безкоштовна технічна бібліотека для любителів та професіоналів Безкоштовна технічна бібліотека


Редактор растрових шрифтів для графічних РКІ. Енциклопедія радіоелектроніки та електротехніки

Безкоштовна технічна бібліотека

Енциклопедія радіоелектроніки та електротехніки / Радіоаматор-конструктор

Коментарі до статті Коментарі до статті

Автор пропонує комп'ютерну програму власної розробки, призначену для створення та редагування шрифтів для поширених сьогодні графічних РКІ.

В останні роки радіоаматори все частіше використовують у своїх розробках для відображення інформації графічні РКІ. Особливість більшості таких приладів - наявність частково або повністю завантажуваного зовнішнім пристроєм, що управляє, знакогенератора або повна відсутність такого. У першому випадку при ініціалізації індикатора потрібно завантаження шрифту (набір образів символів) в пам'ять знакогенератора. Щоб вивести символ на екран, програма передає в контролер РКІ лише його код (адресу у знакогенераторі), а відображення символу на екрані забезпечує контролер РКІ. У другому випадку всі операції, необхідні зображення символу на екрані, виконує програма керуючого устройства. Найчастіше готові процедури є у бібліотеках систем розробки програм.

Але в обох випадках потрібні зовнішні шрифти. З одного боку, це добре, тому що дає можливість використовувати набори символів, які найбільш підходять для вирішення конкретних завдань. Однак потрібні шрифти доводиться шукати або створювати самостійно. Не можна сказати, що файли шрифтів для графічних РК рідкість. Їх легко знайти в Інтернеті, але не завжди знайдений шрифт може бути використаний.

Справа в тому, що різні контролери РКІ по-різному розгортають образ символу в матриці знайоместа. Наприклад, контролер KS0107 (KS0108) індикатора WG12864 розгортає байти образу вертикально, як показано на рис. 1 а контролер RA6963 індикатора WG240128 - горизонтально (рис. 2). У першому випадку символ R повинен бути описаний послідовністю байтів 00H, 00H, 00H, 7FH, 09H, 19H, 29H, 49H, у другому - 1EH, 11H, 11H, 1EH, 14H, 12H, 11H, 00. Отже, шрифт, підготовлений для РКІ з горизонтальною розгорткою байтів образів символів, буде некоректно відображено на індикаторах з вертикальною розгорткою, і навпаки.

Редактор растрових шрифтів для графічних РКІ
Рис. 1. Образ символу в матриці знайомства

Редактор растрових шрифтів для графічних РКІ
Рис. 2. Образ символу в матриці знайомства

З погляду програмування шрифт є масивом констант. При розробці програм, що виводять інформацію на РКІ, використовують різні мови програмування з різними правилами опису таких масивів. Наприклад, мовою асемблера константи задають директивами db (define byte), а мовою BASIC - операторами Data. На мові C масив констант можна встановити просто набором їх значень. Подання шістнадцяткових чисел теж по-різному. У різних мовах програмування використовуються, наприклад, формати 0xNN, hNN, $NN, NNH, де NN - шістнадцяткові цифри.

Враховуючи сказане, можна зробити висновок, що пошук файлу з відповідним готовим шрифтом справа непроста, а якщо враховувати можливу необхідність мати в ньому якісь специфічні символи, завдання часто стає зовсім нерозв'язною. У таких випадках доводиться коригувати знайдений десь шрифт або розробляти новий "з нуля". Це зручно робити за допомогою спеціалізованих програм – так званих редакторів шрифту.

Такі редактори можна знайти в Інтернеті. Їх (принаймні тих, з якими мав справу автор) основний недолік - вузькоспрямованість. Складається враження, що програма розроблена ентузіастом для вирішення свого конкретного завдання. Наприклад, одна програма створює вихідний файл у форматі, який зрозумілий єдиному компілятору мови програмування, інша створює образи символів, придатні лише для РКІ певного типу. Тому створити потрібний шрифт за допомогою або зовсім не вдається, або вихідний файл доводиться коригувати, наприклад, за допомогою текстового редактора, що займає багато часу і рідко обходиться без помилок. Можливості цих програм з редагування шрифтів, створених іншими редакторами, дуже обмежені.

Пропонована програма CG-Edit розроблена автором як універсальний інструмент. Вона дозволяє розробляти нові та коригувати раніше створені (у тому числі "чужі") шрифти в найбільш уживаних у радіоаматорській практиці форматах.

Допустимі такі розміри ознайомлення (перший співмножник - число пікселів по горизонталі, другий - по вертикалі): 6x8, 8x8, 12x16, 16x16, 16x24, 24x16, 24x24. Можна розробляти та редагувати шрифти як у позитивному, так і в негативному зображенні, а також змінювати напрямок розгортки байта у знайомому з вертикального на горизонтальне, і навпаки. Вихідна інформація може бути оптимізована для використання в програмах на мові асемблера, різних версій мов BASIC і С.

Програма призначена для персональних комп'ютерів, що працюють під керуванням 32- та 64-розрядних версій ОС Windows. Вона складається з єдиного виконуваного файлу CG-Edit.exe і не вимагає установки, проста у використанні, має інтуїтивно зрозумілий інтерфейс користувача.

Після запуску програми на екрані комп'ютера відкриється вікно, показане на рис. 3. У його лівій верхній частині знаходиться область вибору символу, що редагується, у вигляді таблиці, в комірках якої розміщені символи кодової сторінки Windows-1251. Відображено лише символи з кодами 20Н-0FFH, область керуючих кодів 0H-1FH відсутня, оскільки вони не мають графічних еквівалентів. Всі основні символи латиниці, кирилиці та цифри знаходяться за межами області кодів 7FH-0BFH, тому цю область зручно використовувати для створення будь-яких потрібних для завдання символів замість наявних там згідно з кодовою сторінкою Windows-1251.

Редактор растрових шрифтів для графічних РКІ
Рис. 3. Вікно програми на екрані комп'ютера

У правій частині вікна знаходиться область редагування, в яку буде виведено знайоме місце з необхідним символом, поки ця область порожня. Зліва внизу розміщені екранні кнопки "Створити генератор" і "Імпортувати генератор". Перша їх переводить програму у режим створення нового знакогенератора. При цьому відкривається вікно введення параметрів шрифту, що створюється, в якому необхідно вибрати зі списку розмір знайоместа і напрямок розгортки байта в ньому.

Необхідно зауважити, що для знайомств не всіх розмірів допустимі обидва напрямки розгортки байтів. Справа в тому, що програма орієнтована на максимальну густину упаковки інформації. Адже основні "споживачі" шрифтів, що створюються з її допомогою - мікроконтролерні пристрої, що мають відносно невеликий обсяг пам'яті.

На рис. 4 видно, що при горизонтальній розгортці байта в знайомому розмірами 6x8 пкс корисно використовуються лише шість розрядів, а два розряди залишаються зайвими. Усього образ символу займає вісім байтів. При вертикальній розгортці (рис. 5) кожен стовпець знайоместа займає байт повністю, тому образу символу потрібно всього шість байтів. Різниця в два байти на кожен символ шрифту досить істотна, тому у всіх знайомих, де число стовпців не кратно восьми, дозволена тільки вертикальна розгортка.

Редактор растрових шрифтів для графічних РКІ
Рис. 4. Горизонтальна розгортка байта у знайомому розмірами 6x8 пкс

Редактор растрових шрифтів для графічних РКІ
Рис. 5. Вертикальна розгортка байта у знайомому розмірами 6x8 пкс

Вибравши параметри шрифту, натискають на екранну кнопку "Створити". Цим закривають вікно введення параметрів, а основне вікно набуває вигляду, представленого на рис. 6.

Редактор растрових шрифтів для графічних РКІ
Рис. 6. Вид вікна комп'ютерної програми

Програма створює в ОЗП комп'ютера порожній образ генератора. Він залишатиметься порожнім до завантаження в нього будь-якого шрифту з наявного файлу натисканням на екранну кнопку "Імпортувати знакогенератор" або до створення власних символів після натискання на екранну кнопку "Створити знакогенератор". Символи у полі "Вибір символу" не відображають фактичного вмісту образу генератора. Вони завжди залишаються незмінними і є лише орієнтування. В області редагування програма виводить зображення знайомого обраного розміру.

Символ створюваного або редагованого знакогенератора, комірка якого вибрано в таблиці "Вибір символу" (вона виділена в ній червоним тлом), відображається в полі "Редаговане знайоме місце". Спочатку - це символ із кодом 20Н. Для переходу до іншого символу потрібно клацнути по відповідному осередку таблиці лівою кнопкою миші. Напис вище знайомства характеризує параметри створюваного шрифту.

Редагують вміст знайоместа клацаннями його пікселів лівою кнопкою миші. Кожне таке клацання змінює стан піксела на протилежне. У нижній частині поля редагування знаходяться чотири екранні кнопки групового керування пікселями. Натискання однієї з них зсуває вміст знайоместа на піксел вгору, вниз, вліво чи вправо у межах. Натискання на екранну кнопку "Стерти" повністю очищає знайоме місце, а натискання на кнопку "Откат" відновлює вихідне зображення редагованого символу. Зважаючи на те, що операції стирання та відкату безповоротно видаляють результати редагування символу, перед виконанням програма видає відповідні попереджувальні повідомлення.

Нижній рядок та правий стовпець знайоместа виділені жовтим тлом. Це нагадує, що включені пікселі в них небажані, оскільки ці області є роздільниками сусідніх символів на екрані РКІ. Однак поняття "небажано" не означає заборони. Увімкнути піксел можна, що й доводиться робити, створюючи такі символи як "Д" або "Щ". Працюючи зі знайоместами великого розміру жовтим тлом виділено два нижні рядки і два крайніх правих стовпця, оскільки хорошого сприйняття великих символів доцільно мати з-поміж них збільшені проміжки.

Нижче області редагування знаходяться дві екранні кнопки, за допомогою яких можна повністю очистити знакогенератор, або перекодувати його, змінивши напрямок розгортки байтів в знайомому. При спробі видалити шрифт, у якому є незбережені зміни, програма видасть попереджувальне повідомлення.

Допускаються довільний порядок вибору символів та їх багаторазове повторне редагування. Після першого ж зміни стану будь-якого пікселя символ у відповідному осередку вибору буде виділено жирним шрифтом збільшеного розміру. Це показує, що він зазнавав редагування. Все, що відображається у вікні програми в процесі редагування, показано на рис. 7. Видно, що символи "3" та "Щ" вже редагувалися, зараз редагується символ "Щ", причому його "хвостик" знаходиться в небажаній зоні.

Редактор растрових шрифтів для графічних РКІ
Рис. 7. Вікно програми у процесі редагування

За потреби можна будь-якої миті змінити розгортку байтів у знайомому з вертикальною на горизонтальну, і навпаки. Для цього слід натиснути на екранну кнопку "Змінити вигляд розгортки". Операція діє одночасно всі символи знакогенератора. Після її виконання на екран буде виведено відповідне повідомлення та змінено параметри шрифту, виведені над знайомцем. Змінити напрямок розгортки неможливо, якщо це збільшує обсяг образу шрифту.

Декілька слів про роботу з негативними шрифтами. Саме поняття негативного шрифту вже стало атавізмом, оскільки багато сучасних контролерів РКІ вміють інвертувати зображення самостійно. Проте можливість створення та редагування негативних шрифтів у програмі є. Жодних відмінностей від роботи з позитивним шрифтом немає. Символи у будь-якому разі виглядають на екрані комп'ютера позитивними. Перетворення їх образів на негативні відбувається у процесі запису створеного шрифту на диск комп'ютера. Забігаючи вперед, зауважимо, що при завантаженні для редагування файлу, що містить негативний шрифт, інформація заноситься в образ знакогенератора в пам'яті комп'ютера в інвертованому (позитивному) вигляді та інвертується ще раз під час запису на диск.

Після встановлення параметрів шрифту у вікні програми з'являється ще одна панель, що має назву "Вихідний файл". У ній розташовані елементи, що управляють, що дозволяють записати на диск файл знакогенератора в необхідному форматі.

У списку "Формат рядка" (рис. 8) вибирають структуру рядка у вихідному текстовому файлі. Послідовності шістнадцяткових чисел, розділених комами, може передувати ключове слово "Data" або ".Db" або воно може бути відсутнім.

Редактор растрових шрифтів для графічних РКІ
Рис. 8. Випадаючий список "Формат рядка"

У списку "Формат числа" (рис. 9) вибирають спосіб представлення шістнадцяткового числа. До двох шістнадцяткових цифр NN може бути доданий один із наявних у списку префіксів або суфікс "h".

Редактор растрових шрифтів для графічних РКІ
Рис. 9. Випадаючий список "Формат числа"

Позначивши пункт "Негативний шрифт", можна створити файл із таким шрифтом.

Для запису файлу на диск комп'ютера необхідно натиснути кнопку "Зберегти знакогенератор". Шлях до нього вказують у стандартному діалозі Windows. За промовчанням для файлу пропонується ім'я FontXXxYYmn.fnt, де XXxYY - формат знайомства; m - символ "v" або "h", що означає відповідно вертикальну або горизонтальну розгортку байта; n - символ "p" або "n", що означає відповідно позитивне чи негативне зображення символів; fnt – розширення імені.

Ім'я файлу можна модифікувати, додаючи на початку або в кінці допустимі символи. Однак руйнувати конструкцію "FontXXxYYmn" не рекомендується. По ній програма розпізнає параметри свого шрифту при його завантаженні. В іншому випадку програма визнає файл "чужим" і вимагатиме ручного введення параметрів.

При необхідності відредагувати готовий файл генератора у вікні, зображеному на рис. 3 натискають на екранну кнопку "Імпортувати знакогенератор". Буде відкрито стандартний діалог завантаження файлів Windows, в якому слід вибрати файл, який потрібно редагувати. Процес завантаження файлу різний залежно від його формату.

Файл, створений за допомогою редактора, що розглядається, завантажується в нього без втручання користувача. Вся необхідна інформація про параметри шрифту є у імені файлу, звичайно, якщо в ньому збережена конструкція, описана вище.

Якщо ім'я файлу не містить необхідної для ідентифікації інформації, програма запропонує ввести її вручну і відкриє вікно, в якому необхідно вказати розмір знайомства, напрямок розгортки байтів, позитивний або негативний шрифт знаходиться у файлі. Тому перед редагуванням "чужого" файлу слід отримати уявлення про ці параметри.

Якщо параметри вказані правильно, "чужий" шрифт з високою ймовірністю буде завантажений успішно. Алгоритм читання інформації, що міститься у файлі, "розуміє" як десяткові, так і шістнадцяткові числа в різних уявленнях, витягує корисну інформацію з операторів Data і .Db, ігнорує коментарі. Мабуть, єдине, що може стати перешкодою для правильного завантаження – наявність у файлі будь-якої додаткової інформації у незакоментованому вигляді.

Процес редагування завантаженого шрифту нічим не відрізняється від створення нового. Останнім етапом буде збереження зробленої роботи у файлі, який стане для програми "своїм".

Файл програми-редактора: ftp://ftp.radio.ru/pub/2016/03/CG-Edit.zip.

Автор: О. Савченко

Дивіться інші статті розділу Радіоаматор-конструктор.

Читайте та пишіть корисні коментарі до цієї статті.

<< Назад

Останні новини науки та техніки, новинки електроніки:

Машина для проріджування квітів у садах 02.05.2024

У сучасному сільському господарстві розвивається технологічний прогрес, спрямований на підвищення ефективності догляду за рослинами. В Італії було представлено інноваційну машину для проріджування квітів Florix, створену з метою оптимізації етапу збирання врожаю. Цей інструмент оснащений мобільними важелями, що дозволяють легко адаптувати його до особливостей саду. Оператор може регулювати швидкість тонких проводів, керуючи ним із кабіни трактора за допомогою джойстика. Такий підхід значно підвищує ефективність процесу проріджування квітів, забезпечуючи можливість індивідуального налаштування під конкретні умови саду, а також сорт та вид фруктів, що вирощуються на ньому. Після дворічних випробувань машини Florix на різних типах плодів результати виявились дуже обнадійливими. Фермери, такі як Філіберто Монтанарі, який використовував машину Florix протягом кількох років, відзначають значне скорочення часу та трудовитрат, необхідних для проріджування кольорів. ...>>

Удосконалений мікроскоп інфрачервоного діапазону 02.05.2024

Мікроскопи відіграють важливу роль у наукових дослідженнях, дозволяючи вченим занурюватися у світ невидимих ​​для ока структур та процесів. Однак різні методи мікроскопії мають обмеження, і серед них було обмеження дозволу при використанні інфрачервоного діапазону. Але останні досягнення японських дослідників із Токійського університету відкривають нові перспективи вивчення мікросвіту. Вчені з Токійського університету представили новий мікроскоп, який революціонізує можливості мікроскопії в інфрачервоному діапазоні. Цей удосконалений прилад дозволяє побачити внутрішні структури живих бактерій із дивовижною чіткістю в нанометровому масштабі. Зазвичай мікроскопи в середньому інфрачервоному діапазоні обмежені низьким дозволом, але нова розробка японських дослідників дозволяє подолати ці обмеження. За словами вчених, розроблений мікроскоп дозволяє створювати зображення з роздільною здатністю до 120 нанометрів, що в 30 разів перевищує дозвіл традиційних метрів. ...>>

Пастка для комах 01.05.2024

Сільське господарство - одна з ключових галузей економіки, і боротьба зі шкідниками є невід'ємною частиною цього процесу. Команда вчених з Індійської ради сільськогосподарських досліджень – Центрального науково-дослідного інституту картоплі (ICAR-CPRI) у Шимлі представила інноваційне вирішення цієї проблеми – повітряну пастку для комах, яка працює від вітру. Цей пристрій адресує недоліки традиційних методів боротьби зі шкідниками, надаючи дані про популяцію комах у реальному часі. Пастка повністю працює за рахунок енергії вітру, що робить її екологічно чистим рішенням, яке не вимагає електроживлення. Її унікальна конструкція дозволяє відстежувати як шкідливі, так і корисні комахи, забезпечуючи повний огляд популяції в будь-якій сільськогосподарській зоні. "Оцінюючи цільових шкідників у потрібний час, ми можемо вживати необхідних заходів для контролю як комах-шкідників, так і хвороб", - зазначає Капіл. ...>>

Випадкова новина з Архіву

Механічні варти для захисту від нападів диких тварин 04.10.2023

У Японії введено незвичайні заходи щодо забезпечення безпеки людей похилого віку від нападів ведмедів - в дію вступили механічні вовки, відомі як Monster Wolf.

Спочатку створені для залякування диких тварин на сільськогосподарських угіддях ці жахливі роботи-вовки тепер застосовуються для запобігання нападам ведмедів на людей.

За даними виробника Monster Wolf, перше застосування цих механічних вовків було зафіксовано в Японії восени 2020 року після низки нападів ведмедів на людей похилого віку. На останньому етапі місцева влада по всій країні активно закуповує цих роботів через зростаючу загрозу нападів ведмедів.

Ця незвичайна ініціатива пояснюється масовим відпливом молоді із сільських районів, що залишає громадян похилого віку без належного захисту та призводить до спустошення міст.

Професор Токійського університету сільського господарства та технологій Сінсуке Койке вказує, що угіддя, які раніше служили буферами між ведмедями та людьми, зникають, що дозволяє ведмедям наближатися до населених місць і робить їх менш боязкими перед людьми.

У регіоні Хоккайдо, де мешкають бурі ведмеді, зафіксовано понад 150 нападів ведмедів за останні 60 років. Лише у 2021 році сталися чотири смертельні напади та понад 10 поранень, що зробило цей рік одним із найнебезпечніших у регіоні.

Незважаючи на дивність використання роботів-волів, вони виявились досить ефективним засобом.

Інші цікаві новини:

▪ Створено пружну форму вуглецю

▪ Кажани - головні переносники вірусних захворювань

▪ Сильні емоції поєднують людей

▪ Печера захворіла

▪ Надстійкий лазер зробить GPS точнішим

Стрічка новин науки та техніки, новинок електроніки

 

Цікаві матеріали Безкоштовної технічної бібліотеки:

▪ Розділ сайту Типові інструкції з охорони праці (ТОІ). Добірка статей

▪ стаття Друга частина Мерлезонського балету. Крилатий вислів

▪ стаття Як довго людина може обходитися без їжі? Детальна відповідь

▪ стаття Охорона праці працівників лісового господарства

▪ стаття Вороніння заліза та сталі. Прості рецепти та поради

▪ стаття Телефонні адаптери для автозапису інформації Енциклопедія радіоелектроніки та електротехніки

Залишіть свій коментар до цієї статті:

ім'я:


E-mail (не обов'язково):


коментар:





All languages ​​of this page

Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт

www.diagram.com.ua

www.diagram.com.ua
2000-2024