Fonts

Як об'єднати два шрифти в Linux

Як об'єднати два шрифти в Linux
Вибір правильних шрифтів для вашого проекту не є тривіальним завданням. Добре розроблений шрифт із повним набором символів покращує взаємодію з користувачем, локалізацію та розбірливість тексту, особливо в таких важких текстах, як ігри та електронні книги. Створення власного шрифту з нуля, що відповідає філософії дизайну вашого проекту, може бути не економічно вигідним. Щоб подолати це, багато творців вмісту об’єднують два шрифти, що мають схожу філософію дизайну, щоб створити новий шрифт. У цій статті буде пояснено, як поєднати два TrueType (.ttf) шрифти за допомогою FontForge в Linux.

Встановлення FontForge в Linux

Щоб встановити FontForge в Ubuntu, виконайте команду нижче:

$ sudo apt встановити fontforge

Тут можна знайти автономний виконуваний файл AppImage та пакети для інших дистрибутивів Linux.

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

Деякі поради щодо вибору шрифтів

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

Злиття шрифтів за допомогою сценарію FontForge

Створіть новий файл із назвою “mergefonts.sh ”і вставте в нього наступний код:

#!/ usr / bin / fontforge
Відкритий ($ 1)
Вибрати все()
ScaleToEm (1024)
Створити ("1.ttf ")
Закрити ()
Відкрито ($ 2)
Вибрати все()
ScaleToEm (1024)
Створити ("2.ttf ")
Закрити ()
Відкрити ("1.ttf ")
MergeFonts ("2.ttf ")
Створити ("my_custom_font.ttf ")
Закрити ()

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

Щоб перевірити розмір шрифту в одиницях «em», виконайте команду нижче (замініть «шрифт.ttf ”з назвою власного файлу шрифту):

$ fontforge -lang = ff -c 'Відкрити ($ 1); Друк ($ em); Закрити () 'шрифт.ttf

Ви отримаєте такий результат:

Гліф з іменем f_i відображається на U + F001.
Але його назва вказує, що його слід зіставити з U + FB01.
2048 рік

Змініть рядки “ScaleToEm (1024)” у наведеному вище сценарії на бажане значення. Ви також можете відредагувати сценарій і додати додатковий аргумент “$ 3”, щоб вказати значення розміру з командного рядка.

Тепер, щоб об’єднати два шрифти, вкажіть шрифти як аргументи під час запуску “mergefonts.ш ”сценарій. Порядок цих аргументів важливий, оскільки шрифт, вказаний як другий аргумент ($ 2), буде об'єднаний у шрифт, зазначений як перший аргумент ($ 1). Першим аргументом повинен бути ваш основний шрифт, який ви збираєтеся використовувати у своєму проекті. Поставте «злиття шрифтів.sh ”сценарій та два шрифти в папці, запустіть нове вікно терміналу з папки та запустіть таку команду, щоб об’єднати шрифти:

$ ./ злиття шрифтів.шрифт1.ttf шрифт2.ttf

Після запуску сценарію ви знайдете новий об’єднаний шрифт як «my_custom_font».ttf ”у робочому каталозі. Ви можете побачити деякі попередження та помилки в терміналі після запуску наведеної вище команди. Ці помилки не зупинять процес злиття шрифтів. Якщо це прості попередження, ви можете ігнорувати їх. Однак, якщо в процесі злиття виникають конфлікти та помилки, можливо, вам доведеться переглянути їх та виправити окремо, вручну змінивши гліфи у програмі графічного інтерфейсу FontForge. Це повністю залежить від виду шрифтів, які ви вибрали для об’єднання, і ви можете не отримати жодних помилок.

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

$ який fontforge

Крім того, ви можете запустити будь-який скрипт FontForge, використовуючи аргумент “-script”.

$ fontforge -script злиття шрифтів.шрифт1.ttf шрифт2.ttf

Метод графічного інтерфейсу

Запустіть програму FontForge із панелі запуску програм і виберіть основний шрифт із засобу вибору файлів. Клацніть на меню «Елемент»> «Інформація про шрифт…» зверху.

Перейдіть на вкладку "Загальні" та масштабуйте шрифт відповідно до ваших вимог. Два шрифти слід масштабувати до однакового розміру, щоб уникнути проблем (як пояснювалося раніше).

Далі клацніть на «Елемент»> «Об’єднати шрифти…» у спадному меню та виберіть вторинний шрифт із засобу вибору файлів. Цей шрифт буде об’єднано у файл базового шрифту, який ви відкрили першим під час запуску програми FontForge. Якщо перед вами з'явиться діалогове вікно для вибору кернінгу (інтервалу), виберіть “Ні”, щоб зберегти кернінг із базового файлу шрифту.

Нарешті, натисніть "Файл"> "Створити шрифти ...", щоб експортувати об'єднаний шрифт.

Висновок

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

Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...
0 A.D. Tutorial
Out of the many strategy games out there, 0 A.D. manages to stand out as a comprehensive title and a very deep, tactical game despite being open sourc...
Unity3D Tutorial
Introduction to Unity 3D Unity 3D is a powerful game development engine. It is cross platform that is it allows you to create games for mobile, web, d...