www.diagram.com.ua
www.diagram.com.ua

Русский: Русская версия English: English version

Translate it!

+ Поиск по всему сайту
+ Поиск по журналам
+ Поиск по статьям сайта
+ Поиск по каталогу схем
+ Поиск по схемам СССР
+ Поиск по Библиотеке

ВСЕ СТАТЬИ А-Я

БЕСПЛАТНАЯ БИБЛИОТЕКА
ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ
СПРАВОЧНИК
АРХИВ СТАТЕЙ

НОВОСТИ НАУКИ И ТЕХНИКИ, НОВИНКИ ЭЛЕКТРОНИКИ

ФОРУМЫ
ВАШИ ИСТОРИИ ИЗ ЖИЗНИ
ОБРАТНАЯ СВЯЗЬ
ОТЗЫВЫ О САЙТЕ

КАРТА САЙТА

Бесплатная техническая библиотека РАЗДЕЛЫ БЕСПЛАТНОЙ ТЕХНИЧЕСКОЙ БИБЛИОТЕКИ:
Архив и лента новостей
Книги и сборники
Технические журналы
Архив статей и поиск
Схемы и сервис-мануалы
Электронные справочники
Русские инструкции
Радиоэлектронные и электротехнические устройства

СКАЧАЙТЕ БЕСПЛАТНО:

ЭНЦИКЛОПЕДИЯ РАДИОЭЛЕКТРОНИКИ И ЭЛЕКТРОТЕХНИКИ БЕСПЛАТНО:
Автомобиль
Автомобильные электронные устройства
Аккумуляторы, зарядные устройства
Акустические системы
Альтернативные источники энергии
Антенны
Антенны КВ
Антенны телевизионные
Антенны УКВ
Антенные усилители
Аудио и видеонаблюдение
Аудиотехника
Блоки питания
Бытовая электроника
Бытовые электроприборы
Видеотехника
ВЧ усилители мощности
Галогенные лампы
Генераторы, гетеродины
Гирлянды
Гражданская радиосвязь
Детекторы напряженности поля
Дозиметры
Дом, приусадебное хозяйство, хобби
Зажигание автомобиля
Заземление и зануление
Зарядные устройства, аккумуляторы, батарейки
Защита электроаппаратуры
Звонки и аудио-имитаторы
Измерения, настройка, согласование антенн
Измерительная техника
Индикаторы, датчики, детекторы
Инструмент электрика
Инфракрасная техника
Кварцевые фильтры
Компьютерные интерфейсы
Компьютерные устройства
Компьютерный модинг
Компьютеры
Личная безопасность
Люминесцентные лампы
Медицина
Металлоискатели
Микроконтроллеры
Микрофоны, радиомикрофоны
Мобильная связь
Модернизация радиостанций
Модуляторы
Молниезащита
Музыканту
Начинающему радиолюбителю
Ограничители сигнала, компрессоры
Освещение
Освещение. Схемы управления
Охрана и безопасность
Охрана и сигнализация автомобиля
Охрана и сигнализация через мобильную связь
Охранные устройства и сигнализация объектов
Переговорные устройства
Передатчики
Передача данных
Предварительные усилители
Преобразователи напряжения, выпрямители, инверторы
Применение микросхем
Пускорегулирующие аппараты люминесцентных ламп
Работа с CAD-программами
Радиолюбительские расчеты
Радиолюбителю-конструктору
Радиоприем
Радиостанции портативные
Радиостанции, трансиверы
Радиоуправление
Разная бытовая электроника
Разные компьютерные устройства
Разные узлы радиолюбительской техники
Разные устройства гражданской радиосвязи
Разные электронные устройства
Разные электроустройства
Регуляторы мощности, термометры, термостабилизаторы
Регуляторы тембра, громкости
Регуляторы тока, напряжения, мощности
Сварочное оборудование
Светодиоды
Синтезаторы частоты
Смесители, преобразователи частоты
Спидометры и тахометры
Справочник электрика
Справочные материалы
Стабилизаторы напряжения
Студенту на заметку
Телевидение
Телефония
Теория антенн
Техника QRP
Технологии радиолюбителя
Технология антенн
Трансвертеры
Узлы радиолюбительской техники
Усилители мощности
Усилители мощности автомобильные
Усилители мощности ламповые
Усилители мощности транзисторные
Усилители низкой частоты
Устройства защитного отключения
Фильтры и согласующие устройства
Цветомузыкальные установки
Цифровая техника
Часы, таймеры, реле, коммутаторы нагрузки
Электрику
Электрику. ПТЭ
Электрику. ПУЭ
Электрические схемы автомобилей
Электрические счетчики
Электричество для начинающих
Электробезопасность, пожаробезопасность
Электродвигатели
Электромонтажные работы
Электронный впрыск топлива
Электропитание
Электроснабжение
Электротехнические материалы

СТАТЬИ БЕСПЛАТНО:
Батарейки и аккумуляторы
Большая энциклопедия для детей и взрослых
Биографии великих ученых
Важнейшие научные открытия
Детская научная лаборатория
Должностные инструкции
Домашняя мастерская
Жизнь замечательных физиков
Заводские технологии на дому - простые рецепты
Инструменты и механизмы для сельского хозяйства
Искусство аудио
Искусство видео
История техники, технологии, предметов вокруг нас
И тут появился изобретатель
Конспекты лекций, шпаргалки
Личный транспорт: наземный, водный, воздушный
Любителям путешествовать - советы туристу
Мобильные телефоны
Моделирование
Опыты по физике
Опыты по химии
Нормативная документация по охране труда
Основы безопасной жизнедеятельности (ОБЖД)
Основы первой медицинской помощи (ОПМП)
Охрана труда
Параметры, аналоги, маркировка радиодеталей
Радио - начинающим
Секреты ремонта
Советы радиолюбителям
Строителю, домашнему мастеру
Справочная информация
Типовые инструкции по охране труда (ТОИ)
Функциональный состав импортных ТВ
Функциональный состав, пульты, шасси, эквиваленты импортных телевизоров
Чудеса природы. Увлекательное путешествие вокруг земного шара
Шпионские штучки
Электрик в доме
Эффектные фокусы и их разгадки

ЖУРНАЛЫ БЕСПЛАТНО:
Блокнот Радиоаматора
Домашний компьютер
Домашний ПК
КВ журнал
КВ и УКВ
Квант
Компьютерра
Конструктор
Левша
Моделист-конструктор
М-Хобби
Наука и жизнь
Новости электроники
Новый Радиоежегодник
Популярная механика
Радио
Радио Телевизия Електроника
Радиоаматор
Радиодело
Радиодизайн
Радиокомпоненты
Радиоконструктор
Радиолюбитель
Радиомир
Радиосхема
Радиохобби
Ремонт и сервис
Ремонт электронной техники
Сам
Сервисный центр
Силовые машины
Схемотехника
Техника - молодежи
Химия и жизнь
ЭКиС
Электрик
Электроника
Юный техник
Юный техник для умелых рук
Я - электрик
A Radio. Prakticka Elektronika
Amaterske Radio
Chip
Circuit Cellar
Electronique et Loisirs
Electronique Pratique
Elektor Electronics
Elektronika dla Wszystkich
Elektronika Praktyczna
Everyday Practical Electronics
Evil Genius
Funkamateur
Nuts And Volts
QEX
QST
Radiotechnika Evkonyve
Servo
Stereophile

КНИГИ СЕРИЙНЫЕ БЕСПЛАТНО:
Библиотека по автоматике
Библиотека электромонтера
Библиотечка Квант
Библиотечка электротехника
Знай и умей
Массовая радиобиблиотека

КНИГИ ПО РАДИОТЕХНИКЕ И ЭЛЕКТРОНИКЕ БЕСПЛАТНО:
Автомобиль
Аппаратура СВЧ
Запись и воспроизведение звука
Ламповая аппаратура
Начинающему радиолюбителю
Охрана и безопасность
Радиолокация, навигация
Радиотехнические технологии
Радиоуправление, моделизм
Робототехника
Схемотехника
Теоретическая электроника, радиотехника
Усилители
Цифровая обработка сигналов
Электроника в быту
Электроника в медицине
Электроника в науке
Электроника для музыканта

КНИГИ ПО РЕМОНТУ БЕСПЛАТНО:
Ремонт аудиотехники
Ремонт бытовая техники
Ремонт видеотехники
Ремонт телевизоров ламповых
Ремонт телевизоров полупроводниковых
Ремонт мониторов
Ремонт оргтехники
Ремонт радиоприемников
Ремонт телефонов и факсов
Спутниковое телевидение
Теория телевидения
Теория ремонта электроники

КНИГИ ПО ИЗМЕРЕНИЯМ БЕСПЛАТНО:
Измерения и метрология
Измерительная аппаратура
Измерительная техника. Схемы и описания

КНИГИ ПО СВЯЗИ БЕСПЛАТНО:
Антенны
Аппаратура любительской радиосвязи
Линии связи, передача данных
Мобильные телефоны
Теория и практика радиосвязи

КНИГИ ПО ЭЛЕКТРИКЕ БЕСПЛАТНО:
Автоматика, автоматизация, управление
Аккумуляторы, элементы питания, зарядные устройства
Альтернативные источники энергии
Источники питания, стабилизаторы, преобразователи
Молниезащита
Осветительная аппаратура
Охрана труда, электробезопасность, пожаробезопасность
Релейная защита
Сварка, сварочное оборудование
Теория электротехники
Устройства телемеханики
Электрику, электромонтажнику, электромеханику
Электрические сети, воздушные и кабельные линии
Электродвигатели
Электрооборудование
Электропривод
Электростанции, подстанции
Электротехнические справочники
Энергетика, электроснабжение

СБОРНИКИ БЕСПЛАТНО:
В помощь радиолюбителю
Радиоаматор-лучшее
Радиоежегодник

СПРАВОЧНИКИ БЕСПЛАТНО:
Зарубежные микросхемы и транзисторы
Измерительная техника. Схемы и описания
Медицинская аппаратура
Механизмы импортной аудио и видеоаппаратуры
Прошивки зарубежной аппаратуры
Пульты ДУ импортных телевизоров
Радиокомпоненты Atmel
Радиокомпоненты Cirrus Logic
Радиокомпоненты Maxim
Радиокомпоненты Microchip
Радиокомпоненты Mitsubishi
Радиокомпоненты Motorola
Радиокомпоненты National Semiconductor
Радиокомпоненты Panasonic
Радиокомпоненты Philips
Радиокомпоненты Rohm
Радиокомпоненты Samsung
Радиокомпоненты Sharp
Радиокомпоненты Sony
Радиокомпоненты Toshiba
Соответствие моделей и шасси телевизоров
Строчные трансформаторы HR
Строчные трансформаторы Konig

СХЕМЫ И СЕРВИС-МАНУАЛЫ БЕСПЛАТНО:
Бытовая техника Beko
Бытовая техника Braun
Бытовая техника Candy
Бытовая техника Elenberg
Бытовая техника Elica
Бытовая техника Gorenje
Бытовая техника Hansa
Бытовая техника Merloni
Бытовая техника SEB
Бытовая техника Snaige
Бытовая техника Stinol
Бытовая техника Universal
Бытовая техника Whirpool

Зарубежные DVD-плееры
Зарубежные автомагнитолы
Зарубежная аудиоаппаратура
Зарубежные видеокамеры
Зарубежные видеомагнитофоны и видеоплееры
Зарубежные мониторы
Зарубежные моноблоки
Зарубежные телевизоры
Зарубежные телефоны
Зарубежные факсы

Мобильники Benq-Siemens
Мобильники Eastcom
Мобильники Ericsson
Мобильники Fly Bird
Мобильники LG
Мобильники Maxon
Мобильники Mitsubishi
Мобильники Motorola
Мобильники Nokia
Мобильники Panasonic
Мобильники Pantech
Мобильники Samsung
Мобильники Sharp
Мобильники Siemens
Мобильники Sony-Ericsson
Мобильники TCL
Мобильники Voxtel

Отечественные телевизоры
Отечественная аудиоаппаратура

Справочники по вхождению в режим сервиса

Схемы блоков питания импортных телевизоров и видеотехники

Телевизоры Avest
Телевизоры Beko
Телевизоры, аудио, видеотехника Elenberg, Cameron, Cortland
Телевизоры Erisson
Телевизоры Rainford
Телевизоры Roadstar
Телевизоры Rolsen
Телевизоры Vestel
Телевизоры Витязь
Телевизоры Горизонт
Телевизоры Рекорд
Телевизоры Рубин

Станки металлообрабатывающие
Электроинструмент Bocsh
Электроинструмент Makita

БЕСПЛАТНЫЙ АРХИВ СТАТЕЙ
(150000 статей в Архиве)

АЛФАВИТНЫЙ УКАЗАТЕЛЬ СТАТЕЙ:
Библиотечка Квант указатель
Библиотека по автоматике указатель
Библиотека электромонтера указатель
Библиотечка электротехника указатель
Блокнот Радиоаматора указатель
В помощь радиолюбителю указатель
Знай и умей указатель
Массовая радиобиблиотека указатель
КВ и УКВ указатель
КВ журнал указатель
Квант указатель
Конструктор указатель
Моделист-конструктор указатель
Наука и жизнь указатель
Новости электроники указатель
Новый Радиоежегодник указатель
Популярная механика указатель
Радио указатель
Радиоаматор указатель
Радиоаматор-лучшее указатель
Радиоежегодник указатель
Радиодело указатель
Радиодизайн указатель
Радиокомпоненты указатель
Радиоконструктор указатель
Радиолюбитель указатель
Радиомир указатель
Радиосхема указатель
Радиохобби указатель
Ремонт и сервис указатель
Ремонт электронной техники указатель
Сам указатель
Сервисный центр указатель
Силовая электроника указатель
Схемотехника указатель
Техника - молодежи указатель
Химия и жизнь указатель
ЭКиС (Электронные компоненты и системы) указатель
Электрик указатель
Электроника указатель
Юный техник указатель
Я - электрик указатель

СПРАВОЧНИК БЕСПЛАТНО

ПАРАМЕТРЫ РАДИОДЕТАЛЕЙ БЕСПЛАТНО

ДАТАШИТЫ БЕСПЛАТНО

ПРОШИВКИ БЕСПЛАТНО

РУССКИЕ ИНСТРУКЦИИ БЕСПЛАТНО


Стол заказов СТОЛ ЗАКАЗОВ:

СХЕМЫ ПОД ЗАКАЗ:
Импортные DVD
Импортные автоаудио
Импортные аудио
Импортные видеокамеры
Импортные видеомагнитофоны
Импортные кондиционеры
Импортные мониторы
Импортные моноблоки
Импортные проекторы
Импортные СВЧ-печи
Импортная спутниковая аппаратура
Импортные стиральные машины
Импортные телевизоры
Импортные телефоны
Импортные факсы
Импортные фотоаппараты
Импортные холодильники

Отечественные автоаудио
Отечественные видеомагнитофоны
Отечественные магнитофоны
Отечественные мониторы
Отечественные приборы
Отечественные радиолы
Отечественные радиоприемники
Отечественные усилители
Отечественные цветные телевизоры
Отечественные черно-белые телевизоры
Отечественные электрофоны


Бонусы БОНУСЫ:

НА ДОСУГЕ:
Интерактивные флеш-игры
Игры он-лайн
Ваши истории
Знаете ли Вы, что...
Зрительные иллюзии
Веселые задачки
Каталог Вивасан
Палиндромы
Сборка кубика Рубика

ИСТОРИИ ИЗ ЖИЗНИ

ССЫЛКИ

ДОБАВИТЬ В ЗАКЛАДКИ

Оставить отзыв о сайте

ДИАГРАММА
© 2000-2017

Дизайн и поддержка:
Александр Кузнецов

Техническое обеспечение:
Михаил Булах

Программирование:
Данил Мончукин

Маркетинг:
Татьяна Анастасьева

Перевод:
Наталья Кузнецова

Контакты

При использовании материалов сайта обязательна ссылка на http://www.diagram.com.ua

сделано в Украине
сделано в Украине

Диаграмма. Бесплатная техническая библиотека

Бесплатная техническая библиотека Бесплатная техническая библиотека Как скачивать файлы с сайта? Как скачивать файлы с сайта? Добавить в закладки, оставить отзывДобавить в закладки, оставить отзыв

Энциклопедия радиоэлектроники и электротехники. Большая подборка статей со схемами, иллюстрациями, комментариями Энциклопедия радиоэлектроники и электротехники

Бесплатная библиотека / Схемы радиоэлектронных и электротехнических устройств

Новые возможности редактора растровых шрифтов для ЖКИ

Энциклопедия радиоэлектроники и электротехники / Радиолюбителю-конструктору

Комментарии к статье Комментарии к статье

Характерная черта предлагаемых вниманию читателей новых версий опубликованного в [Л] редактора шрифтов - наличие в них модуля распознавания символов, который существенно облегчает и ускоряет процесс анализа и загрузки в редактор шрифтов, ранее созданных с помощью других средств. Кроме того, они предоставляют пользователю более совершенные механизмы создания и редактирования шрифтов.

Создание нового шрифта (знакогенератора) для ЖКИ "с нуля" - задача в принципе несложная, однако весьма кропотливая. Значительно проще "подогнать" под свои требования шрифт, найденный в одном из доступных источников, чаще всего в Интернете. Исходя из этих соображений, автор считает, что радиолюбители чаще всего используют редактор шрифта (далее - редактор) именно для корректировки "чужого" шрифта. Однако, если параметры исходного шрифта неизвестны, процесс его загрузки в редактор довольно сложен. Желание ликвидировать эти сложности и послужило толчком к разработке обновленных версий редактора. Предлагаю вниманию читателей две его новые версии: базовую (CG-Edit 2.50) и одну из ее модификаций (CG-Edit 2.52).

По сравнению с версией, описанной в [Л], в редакторе версии 2.50 унифицирована процедура загрузки файла шрифта. Ранее процедуры загрузки "своих" и "чужих" (созданных в других редакторах) файлов были различными. "Свои" файлы загружались без указания параметров содержащегося в них шрифта, так как эта информация имелась в имени файла.

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

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

В новой версии редактора модуль распознавания автоматически определяет необходимые параметры шрифта, находящегося в загружаемом файле, после чего выполняются его загрузка и отображение. Принцип работы этого модуля сводится к следующему. Байты из файла он поочередно разворачивает в матрицах, размеры которых соответствуют типичным форматам представления символов (от 6x8 до 24x24 пкс) на экране ЖКИ. Затем эти матрицы модуль сравнивает с матрицами-образцами, в которых развернуты образцовые символы. При этом он перебирает все возможные варианты. Результат сравнения - коэффициент корреляции (от 0 до 1) изображений, находящихся в рабочей и образцовой матрицах.

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

Кроме определения трех абсолютно необходимых для работы редактора параметров шрифта (формата знакоместа, вида развертки и типа изображения), редактор выделяет в кодовой таблице четыре зоны: 20H-2FH (основные математические знаки и знаки препинания), 30H-39H (десятичные цифры), 41H-7EH (буквы латиницы), C0H-FFH (буквы кириллицы). Он дает пользователю оценку наличия распознанных символов в каждой из этих зон.

Но все символы зоны модуль не анализирует. Это существенно увеличило бы продолжительность его работы и объем программы-редактора. В каждой зоне он обрабатывает только первые четыре символа, применяя следующие критерии ее наличия:

- распознаны любые два символа из четырех с коэффициентом корреляции не менее 0,85 каждый;
- распознаны любые три символа из четырех с коэффициентом корреляции не менее 0,7 каждый;
- произведение коэффициентов корреляции всех четырех символов не менее 0,179 (что соответствует среднему коэффициенту корреляции 0,65).

Шрифт считается распознанным, если в файле найдена хотя бы одна из перечисленных выше зон.

В ходе своей работы модуль идентифицирует и правильно загружает неполные шрифты с кириллическим шрифтом. Полный шрифт отличается от неполного тем, что содержит столько байт, сколько требуется для описания 224 отображаемых символов кодовой таблицы WIN-1251 (находящиеся в области 0-1FH управляющие символы не учитываются). Например, в шрифте формата 8x8 каждый символ описывают восемь байтов, следовательно, размер его образа 8x224 = 1792 байта. В таком шрифте символы размещены в порядке, соответствующем кодовой таблице: первый символ - всегда пробел, следующий - восклицательный знак и так далее. При этом совершенно не обязательно, чтобы все символы были правильно описаны. В шрифте могут быть и пустые зоны. Полный шрифт, содержащий образы всех символов кодовой таблицы, обеспечивает работу индикаторов, не имеющих встроенного знакогенератора.

Однако далеко не всегда использование полного шрифта оправдано. Например, некоторые контроллеры ЖКИ (например, T6963C) имеют встроенный знакогенератор, содержащий лишь первую половину кодовой таблицы (интервал кодов символов 20Н-7EН) и не содержащий символов кириллицы и других алфавитов, кроме латинского. Для полноценной работы с индикаторами, построенными с использованием подобных контроллеров, необходимо загрузить в ОЗУ знакогенератора, если оно имеется, образы недостающих символов с кодами 0С0Н-0FFН. Конечно, можно выполнить такую загрузку из полного шрифта, однако примерно три четверти его объема не будут использованы и бесполезно займут место в памяти устройства, иногда немалое. Например, объем полного шрифта с матрицей 16x24 пкс свыше 10 Кбайт, а держать в памяти микроконтроллера лишние 6...7 Кбайт - непозволительная роскошь.

В подобных случаях используют неполные шрифты, которые содержат образы символов не всей кодовой таблицы, а только некоторых ее частей. Объем такого шрифта меньше, чем полного, а размещение символов в нем может и не соответствовать принятому в кодовой таблице. На практике чаще всего встречаются неполные шрифты, содержащие только кириллицу. Именно их используют для "русификации" индикаторов, знакогенераторы которых встроенной кириллицы не имеют. Встречаются неполные шрифты, содержащие лишь символы цифр, а на иностранных сайтах много неполных шрифтов с символами самых разных алфавитов.

Как известно из [Л], в ходе работы редактор формирует в ОЗУ образ шрифта, причем всегда полного, расположение символов в котором соответствует их порядку в кодовой таблице WIN-1251. Поскольку расположение в шрифте символов с кодами 20H-7FH всегда одинаково, эту часть загружают в образ без каких-либо преобразований.

Точно такая же ситуация с неполным цифровым шрифтом. Однако отображение чисел требует наличия в шрифте не только символов цифр 0-9 с кодами 30H-39H, но еще и ряда дополнительных символов (пробела, запятой, точки и так далее). Поэтому обычно цифровой шрифт содержит символы с кодами 20H-3FH, расположенные в соответствии с кодовой таблицей. Эти два вида неполных шрифтов редактор загружает в образ с его начала.

Иная ситуация с неполным шрифтом, содержащим только кириллицу. В нем первый символ не пробел (20H), а кириллическая буква А (0С0H). Такая ситуация распознается. Неполный кириллический шрифт будет загружен в образ, начиная с позиции, отведенной для символа с кодом 0C0H. Во-первых, это соответствует логике размещения символов в кодовой таблице и облегчает навигацию по символам в ходе редактирования, а во-вторых, позволяет производить в необходимых случаях такое полезное действие, как "склеивание" полного шрифта из двух неполных, содержащих соответственно латиницу и кириллицу.

При анализе неполного шрифта с кириллицей модуль распознавания дополнительно проверяет объем его образа. Если он больше допустимого (а это означает, что в нем находятся не только 64 символа с кодами 0CH- 0FFH, но и какая-то другая информация), файл будет загружен как полный шрифт, но его первым символом станет не символ пробела, а буква А. Этим редактор предоставляет пользователю возможность самому разобраться в содержимом шрифта.

Через модуль распознавания проходят все файлы шрифтов независимо от их происхождения. Но ключевую информацию, содержащуюся в имени файла, созданного с помощью первой версии редактора, он игнорирует, что позволяет вовсе отказаться от нее, упростив структуру имени файла.

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

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

В новую версию редактора добавлена также возможность копирования символа с одного знакоместа на другое внутри текущего шрифта. Введены режимы "Карандаш" и "Ластик", позволяющие рисовать мышью символ внутри знакоместа. Это облегчает создание или редактирование символов, особенно для шрифтов больших форматов. Увеличено число способов развертки байтов в матрице знакоместа. Добавлена возможность записи в файл непрерывного фрагмента образа шрифта произвольной длины, т. е. создания файла с неполным шрифтом.

Загрузка файла шрифта в редактор

После выбора пользователем в стандартном диалоге Windows загружаемого файла редактор автоматически запускает процедуру распознавания параметров содержащегося в нем шрифта. Если параметры шрифта не могут быть определены, на экран будет выведено сообщение, предлагающее задать их в ручном режиме. Причиной этого может быть либо неизвестный программе формат содержащегося в файле шрифта, либо существенное отличие начертания символов в нем от образцов. После подтверждения пользователем согласия на ручной ввод параметров будет открыто окно их ввода. На этом этапе от загрузки выбранного файла можно и отказаться.

Если редактор распознал полный или неполный без кириллицы шрифт, то на экран будет выведено сообщение с параметрами распознанного шрифта. Следует иметь в виду, что слово "нет" рядом с названием группы символов не означает, что символы в этой группе вовсе отсутствуют. В общем случае это лишь свидетельство того, что редактор не смог распознать четыре первых символа группы.

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

Если же редактор распознал неполный кириллический шрифт, то возможна его загрузка с наложением на уже находящийся в памяти компьютера образ шрифта либо загрузка с предварительной очисткой текущего образа. Как отмечалось ранее, такой шрифт редактор всегда загружает в образ, начиная с позиции русской буквы А (код символа 0C0H).

Операция наложения на текущий образ позволяет создать полный шрифт из двух частей, иными словами "русифицировать" шрифт, не имевший кириллического шрифта. Для этого следует сначала загрузить в редактор шрифт, который требуется русифицировать, а затем загрузить неполный кириллический шрифт в режиме наложения.

Однако следует иметь в виду, что для правильной склейки абсолютно необходимо, чтобы оба шрифта (находящийся в текущем образе и загружаемый) имели одинаковые параметры, в противном случае получится неработоспособный продукт. Чтобы не дать пользователю совершить подобную ошибку, редактор всегда хранит параметры ранее загруженного шрифта и при обнаружении неполного кириллического шрифта сравнивает с ними его параметры. Если они соответствуют друг другу, об этом выводится сообщение и нажатием на экранную кнопку "Да" может быть разрешена загрузка файла с наложением. При нажатии на экранную кнопку "Нет" загрузка будет выполнена с предварительной очисткой образа шрифта, находящегося в памяти. Допускается также отказ от загрузки (экранной кнопкой "Отмена").

При несовпадении форматов предусмотрена только загрузка шрифта в предварительно очищенный образ ("Да") либо отказ от загрузки ("Нет").

Главное окно редактора после загрузки или создания шрифта показано на рис. 1. В целом оно такое же, как в [Л], за исключением нескольких изменений, о которых будет рассказано далее.

Новые возможности редактора растровых шрифтов для ЖКИ
Рис. 1. Главное окно редактора после загрузки или создания шрифта

Копирование символа из одного знакоместа в другое

Эту операцию выполняют в области выбора символа. Следует дважды щелкнуть левой кнопкой мыши по символу-источнику. Фон его знакоместа станет синим (символ Б на рис. 1). Затем щелкнуть один раз по символу-приемнику. Операция завершена. Синий фон символа-источника будет снят, а фон символа-приемника станет красным и символ будет выведен на редактирование. Если символ-источник выделен ошибочно, то для выхода из режима копирования достаточно щелкнуть по этому символу еще раз.

Режимы "Карандаш" и "Ластик"

Чтобы включить режим "Карандаш", необходимо нажать и удерживать клавишу Shift. В этом режиме элементы знакоместа, по которым перемещают курсор мыши, меняют цвет на синий. Нажимать на кнопки мыши не требуется. После отпускания клавиши Shift редактор возвращается в обычный режим редактирования, в котором каждый щелчок кнопкой мыши по элементу знакоместа инвертирует состояние этого элемента.

Для включения режима "Ластик" следует нажать и удерживать клавишу Ctrl. Курсор мыши станет оставлять в знакоместе белый след. Для выхода из режима достаточно клавишу Ctrl отпустить.

Виды развертки байтов

В новой версии редактора можно задать два варианта вертикальной и два варианта горизонтальной развертки байтов в знакоместе. Они представлены на рис. 2. Вертикальному режиму из первой версии редактора соответствует режим "Вертикальный 1", горизонтальному - "Горизонтальный 1".

Новые возможности редактора растровых шрифтов для ЖКИ
Рис. 2. Два варианта вертикальной и два варианта горизонтальной развертки байтов в знакоместе

Чтобы пользователю было легче ориентироваться при выборе нужного вида развертки байта, изменен вид окна ввода параметров шрифта, которое открывается при создании нового шрифта или при ручном вводе его параметров в ходе загрузки. Теперь оно содержит графическую подсказку для выбранного вида развертки - один из четырех фрагментов рис. 2.

В только что открытом окне видны только экранная кнопка "Отмена" и поле выбора формата знакоместа. Остальные элементы появятся только после того, как этот выбор будет сделан. Нажатие на экранную кнопку "Изменить вид развертки" сопровождается открытием окна, аналогичного описанному выше.

В открывшемся окне будет отмечен текущий вид развертки. Его можно заменить любым допустимым (допустимые виды развертки были рассмотрены в [Л]). Экранная кнопка "Отмена" в окне отсутствует. Чтобы выполнить такую операцию, достаточно нажать на экранную кнопку "ОК", не меняя вида развертки.

Создание файлов неполных шрифтов

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

Для создания такого файла необходимо отметить в поле "Выходной файл" пункт "Неполный ЗГ". В поле появятся два окна ввода с названиями "Символы: с..." и "по...". В эти окна вводят коды первого и последнего подлежащих записи символов (согласно кодовой таблице). По умолчанию указана вся кодовая таблица - полный шрифт.

Необходимые значения можно вводить вручную, однако редактор позволяет сделать это более удобным способом. В области выбора символа щелкните мышью по первому символу интервала (его фон станет красным), после чего дважды щелкните мышью в окне ввода "Символы с...". Код выделенного символа появится в этом окне.

Затем щелкните один раз по последнему символу интервала и дважды в окне ввода "по...". В нем появится код последнего символа. После этого следует выбрать нужный вариант форматирования информации в выходном файле, требуемый тип изображения символов (позитив или негатив) и нажать на экранную кнопку "Сохранить знакогенератор".

Редактор по умолчанию строит имя сохраняемого файла так же, как было описано в [Л], с той лишь разницей, что к символу вида развертки байта он добавляет цифру 1 или 2. Если сохраняемый шрифт неполный, то в конце сформированного для него имени редактор добавляет символы LAT для шрифта, не содержащего кириллицы, или RUS для содержащего только кириллицу. Имя получает расширение .fnt во всех случаях. Например, имя файла Font12x16v1nRUS.fnt означает, что в нем находится неполный кириллический шрифт формата 12x16, развертка байтов вертикальная 1, негативное изображение.

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

Прочие изменения

После анализа списка форматов знакомест, с которыми работает редактор, из него удален практически не используемый формат 24x16 пкс. Несколько изменен облик главного окна редактора. В остальном версия 2.50 редактора не имеет отличий от описанной в [Л].

Особенности редактора версии 2.52

В кодовой таблице WIN-1251 символы с кодами 7FH-BFH не относятся к основным символам латиницы или кириллицы и используются крайне редко. Очень часто в полном шрифте эта область остается пустой или почти пустой. Как было отмечено в [J1], в этой области можно размещать произвольные символы, необходимые для вывода на индикатор в конкретном устройстве, для которого разрабатывается шрифт. В предыдущих версиях редактора содержимое этой группы в поле выбора символов соответствовало кодовой таблице WIN-1251 и никак не отражало ее истинного состояния.

Конечно, было бы неплохо отображать в поле выбора истинное начертание символов, в том числе в процессе их редактирования. Однако перенос символа из области редактирования в область выбора в общем случае требует его масштабирования, а масштабирование растровой графики, с которой работает редактор, влечет значительные искажения изображения.

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

Однако в версии 2.52 появилась сигнализация о наличии символов в области 7FH-BFH, что позволяет лучше ориентироваться в ней. При запуске редактора эта область поля выбора символов пуста (рис. 3). Но в процессе загрузки файла шрифта редактор проверяет наличие символов в каждом ее знакоместе. Считается, что символ имеется, если хотя бы один разряд любого байта его образа имеет значение 1. Если такое знакоместо обнаружено, то в соответствующую ячейку области выбора будет выведен символ с кодом 95н (жирная точка в центре знакоместа), как показано на рис. 4. Это свидетельство того, что здесь присутствует некоторый символ. Увидеть и изменить его начертание можно, выбрав эту ячейку для редактирования. При создании в этой области нового символа соответствующая ячейка области выбора символов также будет отмечена жирной точкой.

Новые возможности редактора растровых шрифтов для ЖКИ
Рис. 3. Поле выбора символов

Новые возможности редактора растровых шрифтов для ЖКИ
Рис. 4. Поле выбора символов

Если знакоместо символа, находящегося в рассматриваемой области, очищено (например, в результате нажатия на экранную кнопку "Стереть"), то соответствующая ему ячейка области выбора символов также очищается. Это не соответствует принятому в редакторе принципу индикации факта редактирования символов. В других областях шрифта о любом редактировании символа (в том числе его полном стирании) сигнализирует выделение этого символа в области выбора полужирным шрифтом увеличенного размера. Поэтому описанное выше исключение из правил нужно просто запомнить.

В остальном редактор версии 2.52 полностью аналогичен версии 2.50. В состав обновленных редакторов обеих версий входят исполняемый файл CGE-250.exe или CGE-252.exe и папка Model, в которой размещены десять файлов: t0.mod-t5.mod и v0.bmp-v3.bmp. Эти файлы недопустимо удалять, переименовывать или переносить в другое место. Редактор не требует установки и может быть размещен в любом месте (в том числе на съемных носителях). Единственное условие - папка Model должна находиться в той же папке, что и исполняемый файл.

Описанные в статье программы можно скачать с ftp://ftp.radio.ru/pub/2016/10/250-252.zip.

Литература

  1. Савченко А. Редактор растровых шрифтов для графических ЖКИ. - Радио, 2016, № 3, с. 25-27.

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

Смотрите другие статьи раздела Радиолюбителю-конструктору.

Читайте и пишите полезные комментарии к этой статье.

Рекомендуем скачать в нашей Бесплатной технической библиотеке:

журналы Радио 1941 (архив за год)

журналы Моделист-конструктор 2003 (архив за год)

книга Метод фазовой плоскости в теории цифровых следящих систем. Страхов В.П., 1967

книга Справочник по электровакуумным и полупроводниковым приборам. Бройде А.М., 1957

статья Звуковой пробник

статья Простой датчик мороза

сборник Архив схем и сервис-мануалов мобильных телефонов Sharp

Оставьте свой комментарий к этой статье:

Имя:

E-mail (не обязательно):

Комментарий:

[lol][;)][roll][oops][cry][up][down][!][?]