Лигатуры шрифта: Лигатуры шрифтов | TypeType

Лигатура (соединение букв) | это… Что такое Лигатура (соединение букв)?

У этого термина существуют и другие значения, см. Лигатура.

Некоторые лигатуры в латинице

Лигатура (лат. ligatura — связь) — знак любой системы письма или фонетической транскрипции, образованный путём соединения двух и более графем, например: датск., исл., норв., осет. æ; нем. ß.

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

Лигатуры широко использовались в Средние века как способ ускорения письма и экономии места. Лигатуры появились в ручном наборе сразу же с его изобретением, когда немецкий первопечатник Иоганн Гутенберг для достижения ровности строки и сходства её с рукописной, использовал в своей 42-строчной Библии лигатуры и различные вариации одних и тех же знаков (например, три варианта буквы «а»: узкая, обычная и широкая). Позже лигатуры использовались при книгопечатании, например для воспроизведения подряд идущих латинских знаков f и i с апрошами такими же, как и между другими буквами, использовался знак fi, так как использование обычных литер было невозможно (из-за столкновения точек и нахлеста букв). Этот метод использовался довольно долго в ручном наборе, но практически исчез при появлении линотипа и монотипа, так как в их матрицах не хватало мест для лигатур (аналогичная судьба постигла русскую букву ё). По тем же причинам лигатуры отсутствовали в первых цифровых шрифтах, из-за ограничения числа глифов 256-ю, и если подставлялись в набор, то либо вручную, либо аппаратно в программе верстки. Активно стали использоваться с появлением шрифтов формата OpenType, где число возможных глифов расширилось до 64 тысяч, а разного рода замены могут прописываться на каком-либо языке программирования.

В то же время лигатуры нередко применялись для украшения и орнаментализации текстов, например, в вязи.

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

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

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

Некоторые лигатуры фактически превратились в логограммы, например, амперсанд (&, из лат. et), используемый во многих европейских языках в значении союза «и» вне зависимости от реального произношения слова.

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

Если лигатура используется долгое время, её эволюция продолжается. В частности, возможен переход лигатуры в специальный символ. К таким знакам относится символ «@», предположительно образованный из английского предлога «at».

Содержание

  • 1 Примеры лигатур
  • 2 Примечания
  • 3 См. также
  • 4 Ссылки

Примеры лигатур

  • Лигатура старославянского йотированного «большого юса» (кириллица).

  • Китайская лигатура, надпись «招財進寶»

  • Армянская лигатура «ﬖ»

  • Деванагари — лигатура «ddhrya»

  • Сирийское письмо — лигатура «тав-алаф»

  • Арабская лигатура «лям-алиф»

  • Средневековая греческая лигатура «Мю-омега».

  • Лигатура «et».

  • Лигатура символа рубля, состоящая из букв «рцы» и «ук» русской скорописи[1]

Примечания

  1. Синчук И. Многоликий знак рубля // Журнал «Нумизматика», ноябрь 2006 (№ 12)
    Воробьёва Е. Забытый знак российского рубля // РИА «Новости», 02.06.2006.

См. также

  • Амба баянна
  • Бжитвэ

Ссылки

В этой статье не хватает ссылок на источники информации.

Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 13 мая 2011.

создание эсцет — Дизайн на vc.ru

42
просмотров

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

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

Часть первая. Теоретическая.

Эсцет (или острая s, резкая s) — это знак немецкой орфографии. Раньше использовался в большинстве стран Европы, но сохранился только в немецком языке.

Современные названия знака

С точки зрения дизайна, эсцет — это орфографическая лигатура.

Технически она состоит из ſ (длинной s) и z, из чего следует название — «Eszett».

Распространёнными вариантами являются Eszett и Eszet. В прошлом эти обозначения не использовались в качестве термина, скорее передавали звучание двух букв.

Эсцет часто называют «scharfes S», то есть, в буквальном переводе, острой буквой s. Чихольд в книге «Образцы шрифтов» разъясняет, что соединение ſz в этой букве-лигатуре — неверно понятое соединение длинной s и концевой круглой s. Если придвинуть длинную s и короткую, то от короткой справа останется только часть, похожая на готическую z. Чем дальше печатники уходили от использования длинной s, тем больше искажался первоначальный смысл этой лигатуры.

Форма знака эсцет чем-то похожа на необычную версию буквы B или на греческую beta. Чтобы лучше понять, почему форма эсцет стала именно такой, погрузимся в историю.

Происхождение эсцет

Рассмотрим левую часть лигатуры — длинную s.

Длинная s — это архаичная форма буквы, давно вышедшая из употребления. Из современных символов самым близким по форме является математический знак интеграла. Длинная s произошла от древнеримской скорописной буквы s.

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

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

В курсивной форме длинной s левая засечка чаще отсутствует.

Pica No. 2 William Caslon, Specimen of Printing Types, London, 1766

Печатники первых шрифтов, основанных на готическом письме, следовали установившимся правилам использования начальных и средних длинных s и конечных коротких s.

Однако первые авторы гуманистического письма пользовались только длинными буквами. Некоторые печатники, вдохновившись тенденциями гуманистического письма, начали повторять эту тенденцию, однако вскоре отказались от этой идеи. «Готическое» использование начальных и средних длинных и конечных коротких s стало правилом печати до конца XVIII века.

Длинная s часто перекрывала соседние символы, в таких случаях могли заменить длинную s на короткую. Этот приём использовался перед буквами, с которыми длинная s могла столкнуться. Со временем для подобных комбинаций были созданы специальные лигатурные знаки: sb, sh, si, sk, sl, ss, st, ssi, ssl.

Фрагмент Weltgericht (1450), предположительно, авторства Гутенберга

В каллиграфии редко использовали длинную s в курсивных формах письма (канцелярский курсив и «итальянский» курсив). Такие свободные принципы отличались от правил печати того времени.

После XVI века длинная s стала постепенно вытесняться. Тенденцию к такому решению задал Джованни Франческо Креши, римский каллиграф-реформатор и учитель. Он редко использовал длинную s в своих работах, и этот стиль перенимали его ученики и последователи.

Длинную s стали реже использовать, и этот подход из каллиграфии перешёл в печать.

Lanotomia, Rome, 1588. Работа ученика Креши — Людовико Курионе

Первым отказаться от длинной s в своих шрифтах решил Франсуа-Амбруаз Дидо, и его примеру последовали другие печатники. От длинной s отказывались из-за неудобства использования и её формы.

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

Однако отказ печатников от длинной s повлиял и на немецкое книгопечатание, ведь римские шрифты становились популярны. Например, в в 1789 году Иоганн Фридрих Унгер единично обрезал длинную s для печати книги Гете «Римский карнавал» в стиле шрифта Дидо. Так у него появилась возможность набрать в тексте эсцет.

В последующем печатники будут либо вырезать знак ſs для немецкого языка в стиле шрифтов Дидо, либо использовать сочетание ss.

Prillwitz in Jena, Specimen of 1790, (‘daß’ в 4-й строке)

Первое появление лигатуры ß случилось во втором издании «Немецкой грамматики» Якоба Гримма. Книга набрана римским шрифтом во французском стиле с использованием ſ и ß. Предполагается, что ß была вырезана специально для Гримма. Именно эта форма эсцет десятилетиями позже будет принята после немецкой орфографической реформы 1903 года в качестве официальной.

Якоб Гримм предложил окончательно отказаться от использования готических шрифтов в научных изданиях и использовать римские. Для того, чтобы при печати не возникало проблем из-за отсутствия длинной s и знака эсцет, он рекомендовал заменить эсцет сочетанием sz. Это предложение приняли к сведению, и, хотя большинство книг и газет в XIX веке все еще печатали фрактурой, для научных и технических изданий большинство печатников выбирало римский шрифт.

Официальное утверждение эсцет

В 1871 году была создана Германская империя со столицей в Берлине. Немецкая орфография реформировалась и менялась.

Первым шагом стала конференция в Берлине в 1876 году, где обсуждали введение ß в римский шрифт. В 1879 году в отчёте Journal für Buchdruckerkunst были опубликованы первые версии символа.

Часть лигатур была основана на ſz, формы других образовали из ſs. Наибольшую поддержку со стороны типографов получили варианты под номером 1 и 3 (нижний ряд слева). Они были основаны на ß, которую когда-то использовал Гримм.

В 1903 году ассоциация печатников Германии, Австрии и Швейцарии приняла решение использовать в римском шрифте символ ß, состоящий из лигатуры ſ и s.

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

Общего мнения относительно дизайна прописной буквы эсцет достигнуто не было. В некоторых изданиях появлялось сочетание SZ, заменяющее эсцет. Например, можно было встретить как написание PREUSZEN, так и Preußen. Несколько раз среди шрифтовых дизайнеров были попытки найти форму для знака эсцет, но ни одна из них не завершилась успехом.

Например, ниже показаны варианты эсцет, опубликованные в немецком журнале Papier und Druck, 1950-е годы.

До 1996 года прописная форма эсцет не использовалась в массовой печати, хотя иногда применялась в локальных изданиях.

В 1996 году произошла реформа немецкой орфографии, коснувшаяся знака эсцет. Новые правила возлагали на эсцет функции ss, указывая, как читать гласную перед s-подобным звуком. Таким образом, поиск единого дизайна прописной эсцет стал необходимостью.

В 2008 году знак появился в обновленном составе Юникода, а в 2017 Совет по немецкой орфографии одобрил необязательное использование заглавной эсцет.

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

“Dresden” (1) and “Leipzig” (2) by Andreas Stötzner, “Frankfurt” (3) and “Berlin” (4) by Adam Twardoch

Часть вторая. Практическая.

В этой главе будут собраны рекомендации Ральфа Херрманна, Карен Ченг и внутренние студийные наработки.

Дизайн прописной эсцет

Ральф Херрманн упоминал о том, что прописная форма эсцет под номером 1 — самая распространенная конструкция. Характерными чертами выступают апертура внизу и диагональ в правой верхней части. Снизу часто делают скругление, хотя в типографике можно встретить формы эсцет, где эта часть символа нарисована в виде угла или с засечкой.

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

Поэтому графически при рисовании эсцет можно ориентироваться на созданные формы знаков F, S, Z, B и цифру 3.

Пропорции прописной ß шире, чем у буквы B примерно на 10-15%. Это не обязательное требование, потому что важнее учитывать пропорции создаваемого шрифта и ориентироваться на них.

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

Карен Ченг в книге Designing Type предлагает делать срезы и засечки в терминалах S 3 и эсцет идентичными, но это не обязательное требование при создании шрифта. В гротесках, например, срезы терминалов могут быть и прямыми.

TT Norms Pro (TypeType)

Неудачные примеры формы эсцет обычно считываются, как B.

В таких случаях можно добавить диагональный элемент.

TT Norms Pro Serif (TypeType)

Дизайн строчной эсцет

При создании строчной эсцет возможны две формы.

  • Классическое соединение f слева с буквой s. В f при этом отсутствует перекладина.
  • Форма Зульцбахера с двумя полуовалами слева, как в цифре 3.

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

Ральф Херрманн говорит о том, что немецкоязычные читатели, не связанные с типографикой, воспринимают эсцет единой буквой. Из-за этого предпочтительнее создавать вариант с плавным соединением.

TT Norms Pro Serif (TypeType)

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

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

Однако, если в вашем шрифте присутствует длинная s, внимательно отнеситесь к добавлению засечек. Если рисуете засечку у длинной s, в эсцет её тоже необходимо добавить. Это правило работает и наоборот: отсутствие засечек должно касаться обоих символов.

Важно избегать путаницы длинной s и f, как в примере ниже: лигатура longs_t выглядит как f_t, но в знаке эсцет при этом засечка отсутствует, как и в знаке long s. Незнакомый с историей пользователь запросто может использовать эту лигатуру не по назначению.

Засечку слева в эсцет важно не продлевать до перекладины, как в букве f. Варианты, аналогичные примеру ниже, некорректны.

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

Форма Зульцбаха — это эсцет, в котором соединение длинной s с буквой s или z не явное. Для людей, не знакомых с немецким языком, такая буква будет похожа на прописную B за счёт присутствия двух полуовалов. При создании такой формы эсцет можно опираться не только на fs, но и на цифру 3.

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

TT Marxiana (TypeType)

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

Автор статьи: Тома Стрельцова, шрифтовой дизайнер TypeType

В статье использованы материалы:

  • https://typography.guru/journal/german-sharp-s-design/
  • https://typography.guru/journal/the-capital-%C3%9F-design-can-we-create-an-uppercase-character-from-lowercase-r59/
  • https://typefoundry. blogspot.com/2008/01/esszett-or.html
  • https://typefoundry.blogspot.com/2008/01/long-s.html
  • https://typography.guru/journal/how-to-draw-a-capital-sharp-s-r18/
  • https://typography.guru/journal/germanys-new-character/
  • https://medium.com/@typefacts/the-german-capital-letter-eszett-e0936c1388f8
  • Karen Cheng, Designing Type
  • Ян Чихольд «Образцы шрифтов».

Лигатуры в программировании шрифтов | Практическая типография Баттерика

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

Лигатуры в программировании шрифтов — ужасная идея.

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

Во-первых, что такое лигатуры? Лигатуры — это специальные символы в шрифте, которые объединяют два (или более) неприятных символа в один. Например, в шрифтах с засечками строчные буквы f часто сталкиваются со строчными буквами i и l . Чтобы исправить это, fi и fl часто объединяют в одну форму (то, что профессионалы назвали бы глифом ).

fi fj fl ffi gg gy ok
fi fj fl ffi gg gy неправильно
fi fj fl ffi gg gy правый

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

Лигатуры в программных шрифтах следуют аналогичной идее. Но вместо того, чтобы исправить странную проблемную комбинацию, благонамеренные лигатуристы-любители добавляют десятки новых и странных лигатур. Например, они исходят от Fira Code, сильно связанного побочного продукта Fira Mono с открытым исходным кодом.

Так в чем проблема с программированием лигатур?

  1. Они противоречат Unicode. Unicode — это стандартизированная система, используемая всеми современными шрифтами, которая однозначно идентифицирует каждый символ. Таким образом, программам не нужно беспокоиться о том, что такие вещи, как греческая буква 9,0065 Δ (= Дельта в верхнем регистре) может быть спрятан в каком-то особом месте шрифта. Вместо этого Unicode назначает уникальное имя и номер для каждого символа, называемого кодовой точкой . Если в вашем шрифте есть Δ , вы связываете его с назначенной ему кодовой точкой Unicode, то есть 0x0394 . В дополнение к буквенным символам Unicode присваивает кодовые точки тысячам символов (включая эмодзи).

    Проблема? Многие из показанных выше программных лигатур легко спутать с существующими символами Unicode. Предположим, вы смотрите на фрагмент кода, в котором используются символы Unicode, и видите символ 9.0065 ≠ . Вы смотрите на лигатуру != , имеющую форму ? Или фактический символ Юникода 0x2260 , который также выглядит как ? Лигатура вносит двусмысленность, которой раньше не было.

  2. Даже создатель лигатур Fira Code соглашается с этим моментом: он говорит, что лигатуры «почти никогда» не ошибаются, то есть наполовину полный стакан означает, что иногда они определенно случаются.

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

    Проблема в том, что замена лигатуры «немая» в том смысле, что она учитывает только то, появляются ли определенные символы в определенном порядке. Он не осознает семантического контекста. Таким образом, любая замена глобальной лигатуры гарантированно будет семантически неправильной частью времени.

Когда мы используем текстовый шрифт с засечками в обычном основном тексте, у нас другие соображения. Лигатура fi всегда означает f , за которой следует i . В этом случае замена лигатуры без учета контекста не меняет смысла.

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

Значит ли это, что у программистов никогда не будет хороших вещей? Совершенно нормально переделывать отдельные персонажи, чтобы отличать их от других. Например, в Triplicate я включил специальный вариант «Код», который включает переработанные версии некоторых символов, которые легко спутать.

`$te_fl{1234*567~890} Обычный
`$te_fl{1234*567~890} Код

Но в данном случае суть в устранении неоднозначности: нам не нужны строчные буквы l выглядеть как цифра 1 , а ноль не выглядеть как заглавная буква O . В то время как лигатуры идут в противоположном направлении: отдельные персонажи кажутся другими.

Вывод: это не дело вкуса. В программном коде каждый символ в файле играет особую семантическую роль. Поэтому любое «приукрашивание», делающее одного персонажа похожим на другого, в том числе и лигатуры, приводит в болото отчаяния. Если не верите мне, попробуйте на 10 или 15 лет.

— Мэтью Баттерик
29 марта 2019

кстати

  • Да, я много программирую.

  • «Что значит, дело не во вкусе? Мне нравится использовать лигатуры, когда я кодирую». Большой! Во многих отношениях мне все равно, что вы делаете наедине. Хотя я предсказываю, что вы в конце концов обожжетесь на этом горячем месиве, меня больше всего беспокоит типографика, с которой сталкиваются другие люди. Поэтому, если вы готовите свой код для прочтения другими — будь то на экране или на бумаге — пропустите лигатуры. Не в последнюю очередь потому, что вы даже не будете знать, когда они пойдут не так. Связанные с этим предостережения см. в разделе символы товарных знаков и авторских прав.

  • Одним из источников вдохновения для этой статьи послужила публика LaTeX, которая регулярно писала мне, настаивая на безошибочной типографике. И все еще. Я продолжал видеть книги, подготовленные с помощью LaTeX, в которых обратные кавычки неправильно заменялись фигурными кавычками. Например, приведенный ниже пример взят из Kent Dybvig, The Scheme Programming Language , 4th ed. В этом фрагменте кода Scheme предполагается, что открывающие кавычки являются обратными кавычками; закрывающая кавычка должна быть одинарной прямой кавычкой:

    «Но примеры кода, подобные этим, на самом деле не являются двусмысленными, потому что все знают, что вы не вводите фигурные кавычки». Небрежный аргумент, хотя он может быть верным для языков, которые принимают только ввод ASCII. Но многие современные языки программирования (например, Racket) принимают ввод UTF-8. В этом случае фигурные кавычки могут быть законно частью входного потока. Так что двусмысленность вполне возможна. Та же проблема с лигатурами.

  • Другим источником вдохновения для этой статьи были люди, которые неоднократно спрашивали меня, когда Triplicate получит лигатуры, символы Powerline и так далее. Ответь как можно вежливее: никогда.

Моноширинные программные шрифты с лигатурами

просмотреть по категории или дате

21 июля 2017 г.

Опубликовано в Размышления | Открытый источник

Типографские лигатуры — это когда несколько символов объединяются в один символ. Проще говоря, когда вы вводите два или более символа, и они волшебным образом соединяются друг с другом, вы используете лигатуры, которые поддерживаются вашей ОС, вашим приложением и вашим шрифтом.

В 2011 году я сделал запись в блоге об использовании лигатур OpenType и стилистических наборов для создания красивых свадебных приглашений. Большинство английских неспециалистов не знакомы с лигатурами как таковыми и впечатлены ими! Однако, если ваш язык использует лигатуры в качестве фундаментального строительного блока, такие вещи уже устарели. Лигатуры имеют основополагающее значение для арабского письма, и когда вы печатаете его, вы увидите, как символы/шрифт меняются, а лигатуры добавляются по мере ввода. Например, вот ل ا с пробелом между ними, но это لا 9. 0009 те же два символа без пробела. Сработали лигатуры.

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

Кроме того, есть несколько действительно интересных шрифтов для программирования со встроенной поддержкой лигатур. Важно, чтобы вы, как программисты, понимали и помнили, что лигатуры — это всего лишь представление байтов, составляющих ваш код. Если вы настроили шрифт, который превращает сайт = equals в эмодзи какашек, это между вами и вашим шрифтом. То же самое относится и к лигатурам. Ваш код такой же.

Три самых интересных и продуманных моноширинных программных шрифта с лигатурами — это Fira Code, Monoid и Hasklig. Я говорю «вдумчивый», но на самом деле это то, что я имею в виду — эти люди разработали эти шрифты с учетом программирования, учитывая интервалы, ощущение, плотность, приятность, возможность взгляда и дюжину других вещей, о которых я недостаточно умен, чтобы думать из.

Я буду делать скриншоты (и кодировать) в бесплатной кроссплатформенной Visual Studio Code. Перейдите в Настройки пользователя (Ctrl-,) или Файл | Настройки, добавьте название шрифта и включите лигатуры, если хотите продолжить. Пример:

 // Поместите свои настройки в этот файл, чтобы перезаписать настройки по умолчанию
{
    "editor.fontSize": 20,
    "editor.fontLigatures": правда,
    "editor.fontFamily": "Код Фиры"
} 

Большинство из этих шрифтов имеют десятки и десятки комбинаций лигатур, и нет соглашения о том, чтобы «сделать это одним глифом» или «использовать лигатуры для ->, но не ==>, поэтому вам нужно попробовать их с ВАШИМ кодом и Примите решение самостоятельно. Мой пример кода не может быть полным, и все, что имеет значение, это то, как он выглядит и ощущается на вашем экране.0003

Вот мой маленький образец. Обратите внимание на различия.

 // КОД FIRA 
объект o;
if (o is int i || (o is string s &&
int.TryParse(s, out i)) { /* use i */ }
var x = 0xABCDEF;
-> --> ==> ! = === !== && ||<=<
http://www. hanselman.com
<=>
i++;#### * **

Фира Код

Здесь так много всего. Посмотрите, как «www» превратился в интересный глиф. Такие элементы, как != и ==>, превращаются в стрелки. HTML-комментарии — это здорово. Двойные амперсанд объединяются.

Меня особенно впечатлил переопределенный шестнадцатеричный «x». Видите, как он выше и меньше, чем var x?

Моноид

Monoid гордится своей четкостью и читаемостью на дисплеях Retina, а также разрешением 9pt на дисплеях с низким разрешением. Честно говоря, я не понимаю, как могут функционировать люди с крошечным шрифтом. У меня болит голова даже при мысли о программировании с разрешением менее 14–16 пунктов, а обычно я получаю около 20 пунктов. И со зрением у меня все в порядке. 😉

Цель

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

Хасклиг

Hasklig использует шрифт Source Code Pro и добавляет лигатуры. Как вы можете сказать по названию, это здорово в Haskell, так как какое-то время некоторые пользователи Haskell использовали односимвольные (крошечные) глифы Unicode, такие как ⇒, для таких вещей, как =>. Ясно, что эту проблему лучше всего решали лигатуры.

Кто-нибудь из вас использует программные шрифты с лигатурами? Я сам впечатлен Fira Code и попробую его в этом месяце.


Спонсор: Спасибо Redgate! Треть команд не контролирует версии своей базы данных. Подключите свою базу данных к системе управления версиями с помощью SQL Source Control и узнайте, кто внес изменения, что они сделали и почему. Узнать больше

О Скотте

Скотт Хансельман — бывший профессор, бывший главный архитектор в области финансов, ныне спикер, консультант, отец, диабетик и сотрудник Microsoft. Он неудавшийся стендап-комик, угловой и автор книг.

О нас Информационный бюллетень

Хостинг Автор:

Отказ от ответственности: мнения, выраженные здесь, являются моими личными мнениями и никоим образом не отражают точку зрения моего работодателя.