ZX-Ревю 1995 №2 1994 г.

Читатель-читателю - Модернизация шрифта.


      Модернизация шрифта
 ---------------------------------
  (С) Лыхин Д.В.,  г.Кемерово.
----------------------------------

    В ZX-РЕВЮ  часто  стали  появ-  
 ляться программы для модернизации  
 шрифта.  Года  два  назад я очень  
 серьезно занимался этим вопросом.  
 Для  издания  любой  новой  книги  
 обычно   разрабатывается    новый  
 шрифт (в смысле: заголовки, крас-  
 ные строки и т.д.). Для этого су-  
 ществуют    художники-оформители,  
 среди которых есть очень  талант-  
 ливые   в   своей  области  люди.  
 По-моему, для каждой программы, в  
 идеале,  должен  быть  разработан  
 свой шрифт.  Но если Вы не худож-  
 ник-оформитель,  то  для  Вас это  
 превратится в большую проблему.    
    Однако, многое можно получить,  
 используя   простую  модернизацию  
 шрифта.  Например,  на рисунке  1  
 показан  пример  получения совер-  
 шенно новой буквы "П" (взято  для  
 простоты) путем сдвига вниз, вле-  
 во, вверх, с последующим удалени-  
 ем первоначального варианта.       
                                   
              Рис.1.               
                                   
    Получилась   ведь   совершенно 
 другая буква?                     
    В приведенном примере мы сдви- 
 гали все поле знакоместа целиком. 
 Такими движениями можно  получить 
 различные утолщения  (если  оста- 
 вить старый  символ),  или   тени 
 (если удалить   его).  Это  самое 
 простейшее преобразование.        
    Другой, немного  более сложный 
 способ преобразования заключается 
 в различных перекосах. Перекос, в 
 сущности, это сдвиг  частей  поля 
 знакоместа по линиям.  На рисунке 
 2 показан  пример  сдвига  вправо 
 двух верхних  сегментов поля зна- 
 коместа. Средний сегмент  сдвинут 
 на 1  пиксель,  верхний - на два. 
    Результат - наклон буквы впра- 
 во. Если верхний сегмент оставить 
 на месте,  а сдвигать  средний  и 
 нижний таким же образом,  получим 

              Рис.2.                
                                    
 наклон влево. Вариантов взаимного  
 сдвига сегментов друг относитель-  
 но друга уже можно насчитать дос-  
 таточно много.  А вот,  что полу-  
 чится, если сложить старый и  но-  
 вый варианты буквы (см. рис.3).    

              Рис.3.                
                                    
    Если Вам не  нравятся  "пусто-  
 ты", их можно заполнить.           
    "Резать" можно  не  только  по  
 горизонтали или  вертикали,  но и  
 по любой линии,  прямой или лома-  
 ной. Можно, например, по диагона-  
 ли.                                
    Действуя таким  образом:   ре-  
 зать,   сдвигать,  оставлять  или  
 убирать,  делая утолщения или те-  
 ни,  Вы можете получить из одного  
 образца  шрифта  десятки  других.  
 Естественно,  один  образец можно  
 изменять по разному не один  раз.  
 И  если  Вы  располагаете  пятью-  
 шестью образцами шрифта, то запас  
 Ваших  шрифтов станет практически  
 бесконечным.                       
                                    
    Написание программ для  подоб-  
 ного рода преобразований, может и  
 покажется кому-нибудь скучным, но  
 потратив несколько часов,  Вы по-  
 лучите изумительный результат.     
    Теперь к  вопросу:  где  взять  
 образцы шрифтов? Для начала подс-  
 кажу. Из книг Вы сможете вытащить  
 пару (я имею ввиду текст):  обык-  
 новенный печатный   и  курсив.  В  
 школьном букваре - классический и  
 письменный. Еще  один вариант - в  
 справочнике по черчению.           
    Вот еще  несколько   примеров,  
 заимствованных у художников-офор-  
 мителей.  Если  все  узкие  буквы 
 (типа A, G, B...) сделать широки- 
 ми, а широкие - узкими (Ш, Ф, Ж), 
 Вы  получите  этакий лихо-безала- 
 берный шрифт.  Другое. Вначале Вы 
 заполняете  часть поля знакоместа 
 целиком,  а потом удаляете ненуж- 
 ное.  Причем удаления должны быть 
 минимальные.  На  рис.4  показана 
 буква "А",  созданная таким обра- 
 зом.                              
                                   
              Рис.4.               
                                   
    Еще пример.  Там,  где  должен 
 быть "выступ" -  делается  наобо- 
 рот, "впадина".   Для  примера  - 
 буква "Ф" на рисунке 5.           
                                   
              Рис.5.               
                                   
    Самые красивые  шрифты получа- 
 ются из старой русской кириллицы. 
 Но  при  этом  Вы  столкнетесь  с 
 трудностями.  Во-первых,  вряд ли 
 Вам удастся найти "полный набор", 
 и Вам придется "вытаскивать"  его 
 по буквам из различных историчес- 
 ких романов. А может Вам повезет, 
 и  Вы раздобудете специальную ли- 
 тературу   по   этому    вопросу. 
 Во-вторых, очень трудно воспроиз- 
 вести ее на поле 8х8 из-за  боль- 
 шого   количества   "завитков"  и 
 "хвостиков". И  все-таки,  попро- 
 буйте. Желаю удачи!               
                                   
      Комментарий ИНФОРКОМА.       
                                   
    Прежде всего,  насчет образцов 
 шрифтов.  Конечно,  поле размером 
 8х8  позволяет лишь создать набор 
 минимально различимых между собой 
 символов.  Иными словами, он поз- 
 воляет не  спутать  букву  "А"  с 
 буквой "В".  И то,  удается полу- 
 чить из него "наклонный",  "тене-  
 вой" и т.п.  Варианты более слож-  
 ных преобразований,  предложенные  
 автором,  в некоторых случаях да-  
 дут  желаемый  результат,  однако  
 для   букв  сложной  конфигурации  
 придется после выполнения  преоб-  
 разования  "доводить" эти символы  
 вручную.  Но ведь никто и не обе-  
 щает сразу же готовый результат.   
    Второй момент касается  образ-  
 цов  шрифтов.  Нам  кажется,  что  
 здесь вряд  ли  поможет  печатная  
 литература (опять же из-за невоз-  
 можности воспроизвести все нюансы  
 на  поле  8х8).  Гораздо  большую  
 практическую пользу  смогут  ока-  
 зать  эффективные  программы  для  
 поиска и "изъятия" удачных  шриф-  
 тов  из готовых программ из расп-  
 ространяемого нами дистрибутивно-  
 го сборника "Утилиты-1".           
    И наконец,   насчет   размеров  
 символа. В книге "Прикладная гра-  
 фика" мы подробно рассказывали  о  
 том, как реализовать печать шриф-  
 тами с нестандартным размером по-  
 ля,  например,  11х13  или  любым  
 другим.  Вот здесь справочник  по  
 черчению  и другая литература мо-  
 жет и пригодится.  В  общем,  при  
 творческом  подходе уверены,  что  
 результат  оправдает  затраченные  
 усилия  и придаст Вашей программе  
 неповторимый облик.                
    В заключение,  отметим, что мы  
 уже неоднократно приводили  прог-  
 раммки для преобразования шрифтов  
 (см. например,  ZX-РЕВЮ-93, N3-4,  
 стр.46, ZX-РЕВЮ-94,  N4, стр.37). 
 Не прекращается  поток  писем  на 
 эту  тему  от начинающих програм- 
 мистов, осваивающих машинный код. 
 В этом номере РЕВЮ в разделе ЭТЮ- 
 ДЫ  мы  приводим  еще   несколько 
 практических программ,  с помощью 
 которых можно  получить  стилизо- 
 ванные  шрифты.  Однако,  следует 
 заметить,  что  больший   интерес 
 представляет не формирование сти- 
 лизованного символьного набора, а 
 стилизованная печать,  когда сим- 
 вольный набор используется  стан- 
 дартный,  а стилизованные символы 
 образуются непосредственно в  мо- 
 мент  печати  на экране.  На этом 
 принципе работает  знакогенератор 
 стилизованных  шрифтов Сергея Су- 
 турина (ZX-РЕВЮ-94, N4, стр.32).  
    Впрочем,  вышесказанное  отно- 
 сится  только к использованию ла- 
 тинского символьного набора (кра- 
 сивая  надпись в загрузчике прог- 
 раммы и др.).  Если  же  в  самой 
 программе применяется русский или 
 русско-латинский загружаемый сим- 
 вольный  набор,  то  его  заранее 
 можно   сделать    стилизованным. 
 Здесь   процедуры  преобразования 
 могут оказаться полезными, сохра- 
 нив  Вам время на этапе конструи- 
 рования  стилизованного  русского 
 шрифта из нестилизованного. Затем 
 полученный шрифт следует  "довес- 
 ти" вручную, переделывая неудачно 
 сформированные символы.           



СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Авторы - Это я писал весь этот текст, поэтому можете считать главным и единственным редактором этого номера.
Записки программиста - работа с расширенной опертивной памятью на ZX Spectrum.
Приветы - Просьба передать сие послание адресатам, если это возможно...
Editor - От редактора
Вступление - поздравялем с 1999-м годом!

В этот день...   11 ноября