Як використовувати Fixedsys в терміналі Gnome або там, де потрібні однобічні шрифти


10

Я думаю, що шрифт Fixedsys є одним з найбільш розбірливих одношарових шрифтів для програмування. Він має нульовий антиаліаз, вертикальні лінії в основному шириною 2 пікселі. На моїх очах (буквально) ідеально підходить для поточних точок монітора. Ось зразок:

Зразок Fixedsys

Після років роботи Windows вдома (з сімейних причин) та серверів Linux на роботі, доступ до яких здійснюється через Cygwin в Windows (з міркувань політики компанії), з Fixedsys як шрифтом оболонки та IDE, я нарешті вирішив перейти на Ubuntu вдома.

Eclipse та gedit - це не проблема, вони приймають виправлену версію шрифту Fixedsys Excelsior TTF, яку ви можете знайти тут у коментарі №16 (назва файлу: FSEX301-L2.ttf). Але термінал Gnome приймає лише однобічні шрифти.

Хоча Fixedsys Excelsior по суті є односхилим, він містить більші гліфи (переважно для східних мов), а також деякі лігатури. Оскільки, мабуть, ВСІ символи повинні мати однакову ширину, щоб шрифт був розпізнаний як монорозмірний, Fixedsys Excelsior не може бути обраний у всіх тих контекстах, де потрібні одношарові шрифти, включаючи gnome-terminal.

Тож який найпростіший / найпростіший спосіб використовувати клон Fixedsys у контекстах, які приймають лише одноразові шрифти?


BTW, щоб використовувати Fixedsys Excelsior в NetBeans, ви повинні додати -J-Dswing.aatext=falseдо netbeans_default_options в /etc/netbeans.conf. Інакше NetBeans зробить його "кольоровим" і розмитим - це стосується і Windows
Walter Tross

Оновлення до мого попереднього коментаря: Netbeans 7.4 для Windows вимагає -J-Dawt.useSystemAAFontSettings=onпозбутися від згладжування.
Уолтер Трос

У MacBook Pro мені доводиться працювати із зразковим зображенням не різко. Схоже, шрифт Fixedsys має сірі пікселі. AFAICT це через так званий дисплей "сітківки", дисплей високої роздільної здатності, який призводить до того, що зображення в межах HTML масштабуються в два рази (так, вони вважали за краще зламати HTML і мати розмиті зображення ...). Таке ж масштабування стосується самого шрифту, псуючи його. З іншого боку, дисплеї з високою роздільною здатністю значно підвищують розбірливість усіх шрифтів, обмежуючи необхідність Fixedsys.
Вальтер Трос

Відповіді:


7

Це рішення, яке я знайшов. Я кілька разів ретельно перевіряв її, і отриманий шрифт використовую в ряді місць вже більше 2 років, але будьте попереджені: деякі частини процедури можуть бути десь від субоптимальної до простої неправильної.

Перш ніж запитати "чому ти не зробиш отриманий шрифт доступним", відповідь: "тому що я не впевнений, що можу це зробити". Авторські права на шрифт - це складна справа.


Завантажте виправлений шрифт Fixedsys Excelsior (файл FSEX301-L2.ttf, в коментарі №16)

Встановіть FontForge (наприклад, з програмного центру Ubuntu)

Клацніть правою кнопкою миші на FSEX301-L2.ttfфайлі та відкрийте його за допомогою FontForge. У вікні " Завантажити растрові шрифти", яке з'явиться, натисніть " Ні" .

Клацніть на Файл → Виконати сценарій ... та скопіюйте та вставте наступне у вікно, яке з'явиться:

SelectAll()
foreach
   if (GlyphInfo("Width") != 80)
      DetachAndRemoveGlyphs()
   else
      b = GlyphInfo("BBox")
      if (b[0] < 0 || b[1] < -30 || b[2] > 80 || b[3] > 130)
         DetachAndRemoveGlyphs()
      endif
   endif
endloop
SelectNone()

Потім виберіть FF і натисніть кнопку ОК (пройде певний час, вам доведеться почекати, поки не зникне вікно Виконати сценарій )

Клацніть Елемент → Інформація про шрифт ... У PS Імена змініть ім'я шрифту , прізвища та імені для людей , наприклад, додавши Mono(пробіли дозволені лише у другому та третьому рядку).

У цьому ж вікні Інформація про шрифт виберіть OS / 2 .
У Різному. змінити сімейство PFM на Monospace .
На вкладці "Метрики" встановіть зміщення "Зниження виграшу" та "Зниження рівня HHead" на 0 (*) .
На вкладці " Панорама" змініть пропорцію на монорозмір .

У цьому ж вікні Інформація про шрифт виберіть « Пошук» .
На вкладці GSUB та на вкладці GPOS виберіть по черзі кожен рядок та натисніть Видалити .

У тому ж вікні Інформація про шрифт натисніть кнопку ОК та у зміні UniqueID? що з'явиться вікно, натисніть кнопку Змінити .

Якщо ви хочете, ви можете налаштувати одну або кілька сумнівних особливостей Fixedsys. Наприклад, нульовий символ зміщений на один піксель праворуч. Щоб повернути його в центр, двічі клацніть по ньому, потім натисніть Метрики → Встановити LBearing ... , встановіть LBearing на 10та натисніть кнопку ОК . Ви також можете змінювати форму символів, але завжди тримайте контрольні точки в кратних значеннях 10, а ширина - на 80.

Натисніть елемент → Bitmap Strikes Доступні ... , а потім, у вікні , яке з'являється набір піксельних розмірів , щоб 16і натисніть кнопку OK .

Клацніть Файл → Створити шрифти ... , виберіть інший каталог та / або інше ім'я файлу, якщо потрібно, переконайтесь, що вихідним форматом є TrueType , і натисніть Зберегти . У вікні нестандартного розміру Em, що з'явиться, натисніть Так . У вікні виявлених помилок, що з’явиться наступне, натисніть кнопку Зберегти (не хвилюйтесь).

Вийдіть із FontForge ( Файл → Вийти ). У вікні зміненого шрифту, що з’явиться, натисніть « Не зберегти» .


Перемістіть створений файл у .fontsпідкаталог домашнього каталогу (створіть його, якщо його не існує).

Відкрийте термінал Gnome. Клацніть Редагувати → Профілі ... У профілі (пропоную створити новий) змініть шрифт на Fixedsys Excelsior 3.01-L2 Mono(або як би ви назвали моно-версію Fixedsys Excelsior), на розмір 12(який є єдиним "справжнім" розміром Fixedsys) . Якщо ви хочете, ви можете також відключити жирний текст. Я пропоную чорний текст на білому тлі, але це питання смаку.

Жирний варіант цього шрифту еквівалентний повторення символу, зміщеного на один піксель праворуч (це відрізняється від того FSEX301-L2.ttf, де він виглядає згладженим). Це не дуже розбірливо - але чи справді вам потрібні сміливі? Я не. Проблема полягає лише в тих контекстах, де жирний шрифт неможливо відключити (навіть навіть, наприклад, редагуючи виділення синтаксису), особливо в тих випадках, коли інтервал символів збільшується також на один піксель, порушуючи вирівнювання (це не стосується гнома -термінальний). Я ще не знайшов рішення для цієї останньої неприємності. Пропозиції вітаються.


(*): не потрібен з моменту випуску FontForge 2012-07-31 (у 14.04 LTS - Trusty Tahr)


Для всіх, хто врятував та / або застосував цей рецепт: зауважте, що він, тим часом, трохи змінився, щоб вирішити деякі невеликі проблеми, і що він може все-таки змінитися в майбутньому. Ви можете подивитися історію редагування.
Вальтер Тросс

FYI, чудово працює і в Windows. Також з "Fixedsys Excelsior 2.0" (що, на мій погляд, набагато краще для терміналів, оскільки символи трохи менше, ніж у FSEX3). Чудовий шрифт для PuTTY! (оригінальний FSEX та будь-який шрифт, який вважається немонопростором, робить PuTTY дуже повільним, коли екран дуже часто оновлюється)
ThiefMaster

PhpStorm 7.1 від 14.04 не розпізнає шрифт, який я описую у своїй відповіді як односхилий шрифт, я не знаю чому :-( На щастя, якщо ви зніміть прапорець "показувати лише одноразові шрифти", ви все одно можете його отримати. Чомусь розмір повинен бути або 15, або 16 (вони виглядають однаково) замість 12. PhpStorm здається мені трохи баггі ...
Walter Tross

3

Відмінне рішення Вальтера Тросса, але якщо ви не хочете робити всю роботу, ось посилання для завантаження:

FixedsysExcelsiorIIIb-L2_Mono.ttf


1
Дякую Рафаель, "чому" є у другому абзаці моєї відповіді
Вальтер Трос

Оп! Вибачте ... Відсутність уваги ... Виправлено зараз.
Боржовський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.