Это очень простой репозиторий для моего шрифта IBM 3161 ASCII терминала.
Этот репозиторий содержит растровую версию шрифта, а также (немного менее полную) версию Truetype, созданную с помощью программы GNU Unifont «Трассирование», которая использует для создания своих версий TrueType. TrueType охватывает от 0X00 до 0xff (базовый набор ASCII и первый «расширенный» банк), в то время как я расширил шрифт, чтобы покрыть около 0x17F в растровом карте. Помимо этих порогов, шрифт более или менее падает на глифы от Unifont, что почти соответствует глифам IBM шрифта, где это применимо. Это также означает, что я могу использовать шрифт для других языков, таких как японский, который удобен в терминале, если вы из области мира, которая не использует латинский алфавит так много или при работе с файлами от пользователей другого языка в окне терминала.
Создание TrueType в той степени, в которой я уже предпринял большие усилия, из -за некоторого некорректного принятия решений в начале процесса; В то время как я планирую добиться большего успеха в будущем, факт остается фактом, что исправление/перевод глифов растрового изображения в TrueType - это много усилий - слишком много для чего -то, что я редко использую. В любом случае, все предметы первой необходимости все еще находятся в TTF, и я ожидаю, что могу постепенно продолжать улучшать TrueType в будущем.
Я также включил файлы Fontforge Spline Basbase Database (SFD), которые являются несжатым текстом (и, следовательно, довольно большим; извините). Если вы просто хотите использовать шрифт, я предлагаю загрузить ZIP на странице «Выпуски» вместо клонирования репо.
Я использовал GNU Unifont в качестве базы, потому что он выглядит несколько похожим и охватывает много Unicode над основным ASCII, устанавливающей мои опоры терминала IBM. Кроме того, его источники содержали несколько полезных инструментов для автоматического выполнения преобразования на шрифтах.
С тех пор, как я впервые создал этот шрифт, я нахожу все больше и больше форматов, в которые я могу преобразовать его! Всякий раз, когда я нахожу еще один формат в порт, я делаю это, а затем добавляю здесь коммит. Совсем недавно были добавлены версия Amiga (сделанная в Workbench 1.3 на Amiga 500), а также Minecraft, Rockbox и специфический для EMACS шрифт X11 (для решения странных проблем рендеринга).
Этот шрифт также доступен в пакете Minecraft 1.11-A-UP-совместимого ресурса. С незначительной настройкой это также должно работать для более ранних и будущих версий. Удобно, что Minecraft использует GNU Unifont для текста Unicode, который также является основой для моего шрифта - это позволило добавить путем изменения некоторых инструментов, включенных в распределение источников UniFont для экспорта шрифта.
Это зависит от вашей платформы, но я постараюсь изложить, что работает где. Для некоторых экзотических форматов (например, Minecraft, Rockbox) направления находятся в соответствующих подкаталогах портов.
На платформах Unix/Linux и Windows версии растрового изображения выигрывают от не получения какого -либо программного субпиксельного рендеринга, предпринимаемого на них, как это делает шрифт TrueType. Это, вероятно, верно и в OS X, но я только проверил версию шрифта.
В Windows вам понадобится файл Windows Bitmap .fon и/или шрифт Truetype (.ttf). Их можно скопировать вручную в C:WindowsFonts или установить из предварительного просмотра шрифта.
В (не os x/nextstep) Unix и Linux дистрибутивы с x11 вам понадобятся растровый карту OpenType (.otb) и/или шрифт Truetype (.ttf).
Существует также шрифт PCF (шрифт старой школы X11), что может быть хорошей идеей для установки для таких программ, как xterm и версия emacs GUI.
Установка всех трех версий (TTF, OTB и PCF) позволяет использовать шрифт практически с любой программой в системе UNIX. TTF и OTB могут быть выбраны с помощью большинства программ GUI «Guoser», в то время как PCF полезен для традиционных программ X11, таких как xterm , и обычно устанавливается через файл текстовой конфигурации, такой как ~/.Xresources или ~/.emacs .
Я думаю, что это будет то же самое на BSD с x11, как и для дистрибутива Linux, поскольку они обмениваются кодовой базой для своих X -серверов и Freetype.
Это определенно то же самое в OpenBSD и FreeBSD, где я пробовал это лично.
Инструкции по установке шрифта X11 PCF находятся в файле x11/readme.md.
Скопируйте файл .ttf или локальный путь шрифта (например, ~/.fonts , либо по общес.
Это наверняка относится к Debian и производным. Это может быть иначе на дистрибуциях, которые я не пробовал, но держу пари, что там тоже работает. Скопируйте linux-console/IBM3161.psf to /usr/share/consolefonts/IBM3161.psf . Затем редактируйте /etc/default/console-setup и добавьте/измените линию FONT= для чтения:
FONT="IBM3161.psf"
Ты закончил. Возможно, вам придется перезагрузиться, чтобы он показал повсюду.
Программа командной строки setfont также должна быть в состоянии применять ее на определенной TTY на одноразовой основе.
TO-DO: Запишите установку консоли FreeBSD. В настоящее время я не получил его, чтобы измениться в каждом терминале, просто первичный, в котором вы смотрите процесс загрузки. Я надеюсь, что мне не придется перекомпилировать ядро, чтобы получить его везде.
Уверяю вас, это работает в FreeBSD, хотя.
В Apple Systems (OS X) вы захотите использовать файл .dfont '. Если это не удается, попробуйте .ttf или .pt3 (PS тип 3). IIRC, процесс установки был относительно интуитивно понятным.
Я еще не знаю, как это будет установлено на «классической» ОС Mac. Если у кого -то есть система 7 или нижняя дискет, которую я могу использовать, чтобы запустить свой Mac Plus, дайте мне знать об этом (или вы можете прислать мне лучший классический Mac!)
Инструкции по установке версии шрифта Minecraft находятся под справочником minecraft/ Directory.
Rockbox - это альтернативная прошивка для многих MP3 -плееров. Он был протестирован на моей iPod Classic. Инструкции, конечно, в rockbox/ Directory.
Я больше не могу поддерживать этот порт, пока не смогу получить новую карту CompactFlash, так как в моем iPod просто потерпел неудачу, и жесткий диск потерпел неудачу много лет назад. Не стесняйтесь занимать меня вопрос, но я не смогу ответить на него.
Есть два основных способа сделать это. Первое - просто использовать шрифт TrueType. Если я правильно помню, это правильно раздает все.
Регулярная версия OTB заставляет всех символов до 16px, независимо от их фактической ширины. Из -за этого это не рекомендуется.
Однако файл OTB 8wide/IBM3161APL.otb должен работать. Это (если я правильно помню) названо как таковой, потому что он получен из варианта APL UniFont. Я обнаружил, что вариант APL UniFont, кажется, правильно отображается в Emacs, и поэтому я сделал аналогичный вариант для своего собственного шрифта.
Я не уверен, что это на самом деле потому, что это вариант APL, или потому, что, возможно, Emacs пытается расставить приоритеты в стиле pcf по сравнению с otb . Или, может быть, что -то еще, что связано с Фритипом. Но в каком бы случае не было, если вы установите где-то IBM3161APL.otb (у меня есть это в ~/.fonts/ ), вы должны иметь возможность заставить его работать в GNU EMACS с mx customize или вручную добавить его в custom-set-faces в вашем файле инициализации EMACS (обычно ~/.emacs или ~/.emacs.d/init.el ).
Пример (из моих custom-set-faces Elisp) следует.
Самая важная линия, на которой можно сосредоточиться, - это то, что содержит строку IBM3161APL . Остальное только предоставлено для контекста. Я почти ничего не люблю, как недостаточный контекст при рассмотрении образцов кода, особенно на незнакомых языках.
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:family "IBM3161APL" :foundry "PfEd" :slant normal :weight normal :height 128 :width normal))))
'(term-color-blue ((t (:background "#2272D9" :foreground "#2272D9"))))
'(term-color-cyan ((t (:background "#06989A" :foreground "#06989A"))))
'(term-color-green ((t (:background "#4E9A06" :foreground "#4E9A06"))))
'(term-color-magenta ((t (:background "#A168AB" :foreground "#A168AB"))))
'(term-color-red ((t (:background "#CC0000" :foreground "#CC0000"))))
'(term-color-white ((t (:background "#D3D7CF" :foreground "#D3D7CF"))))
'(term-color-yellow ((t (:background "#C4A000" :foreground "#C4A000"))))
'(tooltip ((t (:inherit tooltip-ui :background "lightyellow" :foreground "black")))))
Если кто -то знает, почему этот вариант IBM3161APL на самом деле работает, когда нет обычного OTB, пожалуйста, расскажите мне об этом. Я действительно хотел бы знать!
Я сбрасывал шрифт из моего IBM 3161 вручную через его встроенный режим «тестирования», где он распечатывает весь свой набор символов ASCII на одном экране. В результате я не могу гарантировать, что это на 100% точное с точки зрения расстояния между персонажами, но я могу сказать, что лично мне еще предстоит заметить что -то не так. Я использовал его в эмуляторе своего терминала исключительно в течение пяти месяцев.
Вы можете найти некоторые из изображений, которые я использовал здесь (хотя у меня есть другие, которые я делал с другой янтарной ЭЛТ; мне все еще нужно выкопать эти файлы).
Таким образом, я настолько уверен, насколько это может быть при использовании догадков и (в некоторой степени) отслеживаю буквы в САПР и преобразую мои фотографии экрана, чтобы исправить кривизну CRT. Я уверен, что вертикальные пиксели точны, так как я могу разобрать отдельные сканирования электронного луча на моих фотографиях. Я относительно уверен, что горизонтальные пиксели точны на основе здравого смысла, тот факт, что большинство символов будут выглядеть дико неверно, если они перемещаются по пикселю, и из некоторой тригонометрии, которую я делал, используя трассы CAD. Символ 0x7F - это шаблон шахматной доски, который позволил мне легко узнать, какое соотношение сторон каждого «пикселя» находится на ЭЛТ вблизи центра дисплея.
Если бы у меня была румная рубашка, я мог бы также сбросить ПЗУ в терминал, так как все они разыгрывают. Это может произойти в будущем, но я использовал этот шрифт в рамках своих терминальных эмуляторов и в других местах за последний год и еще не обнаружил никаких проблем.
Если вы хотите взломать это самостоятельно, я бы посоветовал использовать файл .hex в качестве точки прыжка, если вы хотите иметь возможность генерировать версии TrueType. Объедините его с шестнадцатеричными источниками UniFont.
Мой шрифт в настоящее время не предоставляет большинство не ASCII «расширенных» символов, которые находятся в реальном 3161 (символы выше 0x7F ). Даже те символы, у которых есть эквиваленты Unicode, не связаны с теми же «числами», как и в терминале, и я не умный/талантливый/навязчик, чтобы отобразить их, так как я никогда не использую их. Кроме того, у некоторых персонажей нет эквивалента Unicode, о котором я вообще знаю.
Я также хотел бы попытаться превратить ее часть 3161 (не весь Unifont) в правильный шрифт TTF, что означает один, который не выглядит пикселированным, но выполняется с использованием векторов для различных углах в шрифте. Если вам нужен пример того, кто сделал это для аналогичного (но не идентичного!) Шрифта, см. Rbanffy/3270Font.
Если кто -то хочет добавить их, я укажу вам на фотографии экрана терминала в его режиме «тестирование», который содержит полную распечатку всех символов, на которые способен отобразить терминал. Не стесняйтесь присылать мне запрос на вытяжение!
Эти файлы шрифтов лицензированы по общедоступной публичной лицензии GNU (где это применимо), либо версия 2, либо (по варианту) более поздней версией, за исключением, внедряющего шрифт в документ, само по себе не представляет собой нарушение лицензии. Полные условия лицензии находятся в лицензии gnu Unifont.txt. Эта лицензия унаследована, потому что я основал свой шрифт на GNU Unifont практически для всех персонажей, не являющихся ASCII.
Если вы хотите использовать только глифы, которые я создал (0x00-0x7f в TrueType, или 0x00-0xff плюс Unicode SuperScript и численные цифры подписания в растровом карте), эти глифы лицензированы (на вашем варианте) под версией GN Лицензия BSD, которая воспроизводится ниже. Кроме того, свяжитесь со мной, если вы хотите использовать его в другом проекте или продукте в рамках несовместимых терминов, и я обещаю, что буду приспосабливаться/не придумать. Это может быть даже бесплатно.
Copyright © 2017-2023 Wyatt Ward
Перераспределение и использование в исходных и бинарных формах, с изменением или без них разрешены при условии, что следующие условия выполняются:
Перераспределение исходного кода должно сохранить вышеуказанное уведомление об авторском праве, этот список условий и следующее отказ от ответственности.
Перераспределение в двоичной форме должно воспроизводить вышеуказанное уведомление об авторском праве, этот список условий и следующее отказ от ответственности в документации и/или других материалах, предоставленных при распределении.
Ни имя владельца авторских прав, ни имена его участников не могут использоваться для одобрения или продвижения продуктов, полученных из этого программного обеспечения, без конкретного предварительного письменного разрешения.
Это программное обеспечение предоставляется владельцами авторского права и участниками «как есть», и любые явные или подразумеваемые гарантии, включая, но не ограничиваясь, подразумеваемые гарантии товарной пригодности и пригодности для определенной цели, отказаны. Ни в коем случае владелец авторского права не несет ответственности за любые прямые, косвенные, случайные, особые, примерные или косвенные убытки (включая, но не ограничиваясь, закупку заместительных товаров или услуг; потеря использования, данные или прибыль; или перерыв в бизнесе), однако, вызвано и по какой -либо теории, будь то в контракте, строгое лику Советуют о возможности такого ущерба.
-(Вернуться к вершине)-