Журнал LinuxFormat - перейти на главную

LXF158:FontForge:Ваш лич­ный шрифт

Материал из Linuxformat
Перейти к: навигация, поиск


Содержание

Ти­по­гра­фи­ка. Пре­вра­ти­те свой по­черк в год­ный к упот­реб­ле­нию шрифт

FontForge: Ваш лич­ный шрифт

LXF158.tut font.autotr opt.jpeg

Есть ли му­зы­ка внут­ри ка­ж­до­го из нас, оста­ет­ся под со­мнением. А вот ес­ли внут­ри вас есть шрифт, Ша­шанк Шар­ма вы­ве­дет его на свет.

(thumbnail)
Наш экспрт Ша­шанк Шар­ма пи­шет о сво­бод­ном ПО уже бо­лее че­ты­рех лет, вклю­чая Linux.com. Он со­ав­тор Beginning Fedora.

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

Быть мо­жет, для ми­ра при­шло вре­мя ре­шить, пра­ва ли мисс Марпл, счи­тая, что ваш по­черк вас вы­да­ет.

В ре­по­зи­то­ри­ях боль­шин­ст­ва ди­ст­ри­бу­ти­вов FontForge есть, и его уста­нов­ка – пле­вое де­ло. К со­жа­лению, не все ди­ст­ри­бу­ти­вы со­дер­жат по­след­нюю вер­сию. Ху­же то­го, вер­сии, пред­ла­гае­мые неко­то­ры­ми ди­ст­ри­бу­ти­ва­ми, глю­чат и па­да­ют, не успее­те вы и ох­нуть.

Ес­ли вы ре­ши­те уста­но­вить FontForge из ис­ход­ных тек­стов, то про­цесс со­сто­ит из про­ве­рен­ной триа­ды ./ Configure, make и make install.

Ин­тер­фейс

По­доб­но GIMP, FontForge распре­дели­л всю свою функ­циональность по трем ок­нам. В от­ли­чие от GIMP, од­на­ко, его кон­ст­рук­ция не под­вер­га­ет­ся столь обиль­ной кри­ти­ке (ес­ли во­об­ще кри­ти­ку­ет­ся). Эти три ок­на – Tools [Ин­ст­ру­мен­ты], Layers [Cлои] и Main Window [Глав­ное ок­но], так­же на­зы­вае­мое Font View [Про­смотр шриф­та].

За­пустив FontForge, на­жми­те кноп­ку Соз­дать на диа­ло­го­вом окне От­крыть шриф­та. От­кро­ет­ся глав­ное ок­но, где по­ка­за­ны все сим­во­лы шриф­та, они же – гли­фы. По­сколь­ку гли­фов мы еще не до­бав­ля­ли, все клет­ки в окне пред­став­ления шриф­тов пе­ре­черк­ну­ты крас­ным кре­стом.

Двой­ной щел­чок на пустой клет­ке сим­во­ла вы­зо­вет ок­но Outline Glyph [Эс­киз гли­фа]. Здесь мы бу­дем соз­да­вать и ре­дак­ти­ро­вать на­ши гли­фы. За­од­но ста­нут доступ­ны дру­гие два ок­на – Tools и Layers. Мы рас­смот­рим ка­ж­дое из них в свою оче­редь, как толь­ко начнем ис­поль­зо­вать FontForge.

Шрифт де­ла­ют гли­фы

В окне Font View щелкните Element > Font Info [Эле­мент > Дан­ные о шриф­те] и ука­жи­те имя шриф­та. Там по­на­до­бит­ся пре­доста­вить еще мно­го ин­фор­ма­ции, на­при­мер, раз­мер EM и т. п., но мы вернем­ся к это­му поз­же. За­кон­чив, на­жми­те OK.

Ес­ли у вас еще нет рас­тро­вых изо­бра­жений для сим­во­лов, сна­ча­ла соз­дай­те их – об­ра­ти­тесь к клет­кам.

Для до­бав­ления гли­фа к шриф­ту два­ж­ды щелкните на пустой клет­ке гли­фа шриф­та в Font View. От­кро­ет­ся ок­но Bitmap Glyph View [Про­смотр рас­тро­во­го гли­фа], а так­же ок­на Tools и Layers.

Ок­но Layers со­сто­ит из трех сло­ев: Foreground [Пе­редний план], Background [Фон] и Guides [На­прав­ляю­щие]. Боль­шую часть ра­бо­ты мы бу­дем де­лать в слое Foreground, и эта ра­бо­та станет ча­стью на­ше­го шриф­та. В фо­но­вый слой мы им­пор­ти­ру­ем изо­бра­жение на­ше­го гли­фа. Вы так­же мо­же­те пе­ре­клю­чить­ся на фо­но­вый слой и про­ве­рить, пра­виль­но ли вы очер­ти­ли глиф. На­конец, в слое Guides за­да­ют­ся на­прав­ляю­щие линии, ко­то­рые при­ме­ня­ют­ся ко всем гли­фам шриф­та.


Вы­со­та у гли­фов бу­дет неоди­на­ко­вая. Оче­вид­но, вы­со­той раз­ли­ча­ют­ся за­глав­ные и строч­ные бу­к­вы, но и неко­то­рые строч­ные бу­к­вы воз­вы­ша­ют­ся над дру­ги­ми, а есть и та­кие, что за­ле­за­ют ниже дру­гих. Боль­шин­ст­во букв си­дит на опор­ной линии. Хво­сти­ки строч­ных букв, про­сти­раю­щие­ся ниже опор­ной линии (строч­ные р, у, ф и т. д.) на­зы­ва­ют­ся Descender [нижний вы­носной эле­мент]. На­обо­рот, Ascender [верхний вы­носной эле­мент] оп­ре­де­ля­ет вер­шин­ки строч­ных букв (б, t, l и т. д.), пре­вы­шаю­щие X-уро­вень, ко­то­рый, в свою оче­редь, оп­ре­де­ля­ет вы­со­ту строч­ной бу­к­вы (н, а, м, и т. д.) над основ­ной линией. По­следний из этих уровней – вы­со­та Cap, т. е. вы­со­та букв верхнего ре­ги­ст­ра над опор­ной линией.

Вы­бе­ри­те Guides в окне Layers и пе­рей­ди­те в ок­но Glyph View, ко­то­рое вы от­кры­ли двой­ным щелч­ком на пустой клет­ке гли­фа. Те­перь соз­да­дим все на­прав­ляю­щие. В окне уже есть несколь­ко линий – опор­ная и линии, ог­раничи­ваю­щие ши­ри­ну бу­к­вы сле­ва и спра­ва. Те­перь за­да­дим линии вы­сот над опор­ной линией. Они бу­дут доступ­ны для всех сим­во­лов шриф­та.

Фор­ми­ро­вание гли­фов

Те­перь вой­ди­те в ме­ню File > Import [Файл > Им­порт] в окне Bitmap Glyph и им­пор­ти­руй­те рас­тро­вые изо­бра­жения для ре­дак­ти­руе­мо­го гли­фа. Мы начнем с од­но­го из про­стей­ших гли­фов, так что два­ж­ды щелкните на пустой клет­ке F. Им­пор­ти­руе­мое изо­бра­жение мас­шта­би­ру­ет­ся, и нам на­до по­дог­нать его раз­мер. Щелкните Background в окне Layer и из­мените раз­мер им­пор­ти­ро­ван­но­го изо­бра­жения, по­за­бо­тив­шись, что­бы оно впи­са­лось в на­ши све­же­оп­ре­де­лен­ные вы­со­ты.

За­тем в окне Layer пе­ре­клю­чи­тесь на Foreground. Мы по­до­шли к наи­бо­лее важ­но­му и тру­до­ем­ко­му ас­пек­ту соз­дания шриф­тов – обводке, или трас­си­ров­ке, кон­ту­ра гли­фа. Он же и са­мый от­вет­ст­вен­ный: вы долж­ны так­тич­но раз­ра­бо­тать ди­зайн всех гли­фов, что­бы сде­лать их по­хо­жи­ми на ваш ру­копис­ный по­черк.

Хо­тя ок­но Tools пред­ла­га­ет раз­лич­ные ин­ст­ру­мен­ты для вы­бо­ра, мы бу­дем глав­ным об­ра­зом ис­поль­зо­вать толь­ко че­ты­ре: Pointer [Ука­за­тель] и точ­ки ти­па Curve [Кри­вая], Corner [Уг­ло­вая] и Tangent [Ка­са­тель­ная]. При об­хо­де кон­ту­ра обес­печь­те, что­бы кон­тур замк­нул­ся, т. е. его на­ча­ло сов­па­ло с кон­цом – на­при­мер, по­ста­вив конеч­ную точ­ку по­верх на­чаль­ной. Так, ес­ли вы на­чи­нае­те свой путь с точ­ки Tangent по­сре­ди вер­тикаль­ной чер­ты F, по­след­няя точ­ка долж­на прий­тись по­верх точ­ки Tangent, с ко­то­рой вы на­ча­ли. Ес­ли вы соз­да­ди­те незамк­ну­тый кон­тур пу­ти, FontForge со­об­щит об ошиб­ках в сим­во­ле.


Шаг за шагом: Использование функций Catalogues
(thumbnail)
Импорт папки. Без функции Catalogue можно и обойтись, но она поможет быстро найти фотографию.
(thumbnail)
Положите на место. Выберите каталог, куда нужно добавить папку.
(thumbnail)
Поиск. Через меню Metadata осуществляется поиск по дате, объективам, фокусу или другим данным EXIF.

Про­ясним это, об­ве­дя кон­ту­ром F. Начнем с точ­ки Tangent по­сре­ди длин­ной нож­ки. Те­перь вы­бе­ри­те точ­ку Corner в окне ин­ст­ру­мен­тов и щелкните на верхнем ле­вом уг­лу F, что­бы по­ста­вить точ­ку там. Точ­ка Corner у нас оста­ет­ся вы­бран­ной; щелкните на пра­вом верхнем уг­лу F, по­мес­тив там дру­гую точ­ку Corner, и по­мес­ти­те еще од­ну чуть ниже ее. За­глав­ная F – один из немно­гих гли­фов, ко­то­рые мож­но об­вес­ти, ста­вя толь­ко точ­ки Corner и Tangent. Про­дол­жай­те до­бав­лять точ­ки Corner вез­де, где ме­ня­ет­ся на­прав­ление об­во­да сим­во­ла. За­кон­чив, по­ставь­те точ­ку над ис­ход­ной точ­кой. Вот и все – вы толь­ко что успеш­но трас­си­ро­ва­ли свой пер­вый глиф!

При трас­си­ров­ке гли­фа, в за­ви­си­мо­сти от спо­со­ба его ри­со­вания, мож­но по­ла­гать­ся на со­че­тание всех трех ти­пов то­чек, или толь­ко один. На­при­мер, для бу­к­вы О – и строч­ной, и за­глав­ной – доста­точ­но то­чек ти­па Curve.

Не вол­нуй­тесь, ес­ли кон­тур неплот­но при­ле­га­ет к ва­ше­му гли­фу – про­сто до­бав­ляй­те точ­ки, по­ка не за­вер­ши­те об­ход. За­кон­чив, пе­ре­клю­чи­тесь на слой Background. Кон­тур, ко­то­рый вы толь­ко что трас­си­ро­ва­ли, по­ка­зан блед­но-зе­ле­ным цве­том. Убе­ди­тесь, что кон­тур пол­но­стью замк­нут.

За­тем вернитесь на Foreground и пе­ре­клю­чи­тесь на ин­ст­ру­мент Pointer. Те­перь мож­но щел­кать на до­бав­лен­ных точ­ках и пе­ре­тас­ки­вать их, или щелк­нуть на линии ме­ж­ду дву­мя точ­ка­ми и пе­ре­та­щить ее, ес­ли на­до под­пра­вить кон­тур. На­конец, пе­ре­та­щи­те линию от­мет­ки ши­ри­ны, спра­ва, по­бли­же к об­ве­ден­но­му кон­ту­ру. Ес­ли вы на­хо­ди­тесь на Foreground, FontForge по­ка­жет линии от­мет­ки ши­ри­ны по обе сто­ро­ны от гли­фа – они на­зы­ва­ют­ся ле­вым и пра­вым ог­раничи­те­лем, LBearing и Rbearing, со­от­вет­ст­вен­но.

Со­храните готовый глиф и от­крой­те дру­гой. Трас­си­руй­те все ва­ши гли­фы, ис­поль­зуя ту же про­це­ду­ру, и, на­конец, на­строй­те пра­вый ог­раничи­тель. Для ка­ж­до­го успеш­но трас­си­ро­ван­но­го гли­фа в Font View, вме­сто крас­но­го кре­ста в его клет­ке поя­вит­ся этот глиф. Ес­ли трас­си­ров­ка ка­ж­до­го сим­во­ла вруч­ную вас раз­дра­жа­ет, аль­тер­на­ти­ва есть. Вас вы­ру­чит ин­ст­ру­мент Autotrace [Ав­то­трас­си­ров­ка], ко­то­рый лег­ко уста­но­вить из ре­по­зи­то­ри­ев ПО. По­сле уста­нов­ки щелкните на Element > Autotrace [Эле­мент > Ав­то­трас­си­ров­ка] в Bitmap Glyph View, и FontForge ав­то­ма­ти­че­­ски от­трас­си­ру­ет кон­тур за вас. Мы, од­на­ко, ре­ко­мен­ду­ем: из­бе­гай­те функ­ции Autotrace, ка­кой бы му­тор­ной ни ка­за­лась руч­ная трас­си­ров­ка.

При­менив Autotrace, вы об­на­ру­жи­те, что на гли­фе понастав­лено слиш­ком мно­го то­чек – это по­мо­га­ет FontForge от­сле­дить в гли­фе все изъ­я­ны и все из­ви­вы и по­во­ро­ты. После Autotrace вам тут же за­хо­чет­ся об­ра­тить­ся к ин­ст­ру­мен­ту Element > Simplify [Эле­мент > Уп­ро­стить] – он объ­е­динит часть из­бы­точ­ных то­чек. Есть еще и Simplify More [Уп­ро­стить да­лее] для дальней­ше­го кон­тро­ля над точ­ка­ми, до­бав­лен­ны­ми Autotrace.

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

Для гли­фов с кон­ту­ра­ми и по ча­со­вой стрел­ке, и про­тив (A, O, P, D и т. д.) при­го­дит­ся функ­ция Correct Direction [Вер­ное на­прав­ление], при­чем хо­ро­шей прак­ти­кой бу­дет применить ее ко всем гли­фам. В окне Font View вы­бе­ри­те все от­трас­си­ро­ван­ные гли­фы и на­жми­те Element > Correct Direction. При необ­хо­ди­мости FontForge ав­то­ма­ти­че­­ски скор­рек­ти­ру­ет на­прав­ления во всех гли­фах.

Ес­ли вы пред­ва­ри­тель­но соз­да­ли на­прав­ляю­щие линии и при­леж­но вго­ня­ли все свои гли­фы в со­от­вет­ст­вии с ними, у вас по­лу­чат­ся гли­фы унифи­ци­ро­ван­но­го раз­ме­ра.

FontForge со­хра­ня­ет шрифт в сво­ем соб­ст­вен­ном фор­ма­те .sfd. Ре­ко­мен­ду­ем со­хранить шрифт по­сле ка­ж­до­го из­менения, внесен­но­го в сим­вол, хо­тя бы и три­ви­аль­но­го.

Се­мей­ст­во шриф­­тов

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

Для на­ча­ла вы­бе­ри­те все гли­фы в шриф­те и на­жми­те Element > Styles > Change Weight [Эле­мент > Сти­ли > Из­менить вес]. В этом диа­ло­ге несколь­ко по­лей, и для вы­ра­бот­ки луч­ше­го по­лу­жир­но­го на­чер­тания про­буй­те на­строй­ки, по­ка не добь­е­тесь и­деала.

Пер­вое по­ле, Embolden By [Уси­лить на], оп­ре­де­ля­ет ве­ли­чи­ну, на ко­то­рую ка­ж­дый штрих дол­жен раз­рас­тись. Для вы­бо­ра ме­то­да, ко­то­рым бу­дут утол­щать­ся гли­фы, пре­ду­смот­ре­ны ра­дио­кноп­ки. Луч­шая – LCG, так как она утол­ща­ет гли­фы, остав­ляя их в за­дан­ных границах. За­кон­чив, со­храните шрифт –лучше под именем, от­ра­жаю­щим при­менен­ный стиль. Ска­жем, ес­ли ваш ба­зо­вый шрифт на­зы­вал­ся MyFont, то жир­ный шрифт сто­ит на­звать MyFont-bold.

Кур­сив, од­на­ко, соз­дать го­раз­до сложнее. Есть лю­ди, ко­то­рые счи­та­ют – и ав­тор FontForge, по­хо­же, с ними со­гла­сен – что ес­ли вам ну­жен иде­аль­ный кур­сив, его на­до ри­со­вать са­мим. Тем не менее, мож­но пе­рей­ти на Element > Styles > Italics [Эле­мент > Сти­ли > Кур­сив] и по­иг­рать с на­строй­ка­ми, обес­пе­чив сво­ему шриф­ту под­хо­дя­щий на­клон. За­кон­чив, со­храните шрифт под именем MyFont-italics, аналогично варианту с полужирным шрифтом.

В по­ряд­ке аль­тер­на­ти­вы диа­ло­го­во­му ок­ну Italics ре­ко­мен­ду­ем за­гля­нуть в Element > Styles > Oblique [Эле­мент > Сти­ли > Скос]. Еди­но­го пре­об­ра­зо­вания в кур­сив для всех гли­фов сра­зу нет – при­хо­дит­ся тща­тель­но оп­ре­де­лять, как луч­ше за­кур­си­вить ка­ж­дый глиф; а диа­лог Oblique тре­бу­ет толь­ко ука­зать угол, на ко­то­рый вы хо­ти­те на­клонить гли­фы.

Соз­дание шриф­та

По­следний шаг за­клю­ча­ет­ся в соз­дании уста­нав­ли­вае­мо­го шриф­та, и вы мо­же­те сде­лать это, на­жав File > Generate Fonts [Файл > Соз­дать шриф­ты]. Вы­бе­ри­те тип шриф­та, ко­то­рый хо­ти­те соз­дать, будь то TrueType, OpenType, SVG и т. д., ука­жи­те имя и на­жми­те кноп­ку Save [Со­хранить] в нижней ле­вой час­ти диа­ло­го­во­го ок­на Generate Fonts.

Имя, ука­зан­ное здесь, нуж­но толь­ко что­бы от­ли­чить файл шриф­та. По­сле уста­нов­ки шрифт бу­дет ото­бра­жать­ся с тем именем, ко­то­рое вы ему да­ли в FontForge под Element > Font Info. Итак, ес­ли вы на­зва­ли шрифт MyFont, но со­хранили его как YourFont.ttf, по­сле уста­нов­ки вы най­де­те его в спи­ске шрифтов LibreOffice как MyFont.

Для уста­нов­ки шриф­та зай­ди­те в ка­та­лог, где вы его со­хранили, и два­ж­ды щелкните на нем мы­шью. Боль­шин­ст­во ди­ст­ри­бу­ти­вов ав­то­ма­ти­че­­ски уста­но­вит шрифт за вас. Ес­ли вам по­ка­за­лось, что шрифт ну­ж­да­ет­ся в до­ра­бот­ке, про­сто уда­ли­те его из ка­та­ло­га ~ /.fonts.

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

Персональные инструменты
купить
подписаться
Яндекс.Метрика