Описание тега planting-times
Насколько мне известно, не существует портах этот шрифт в любом наброски вариант. Но вот некоторые детали, и хаки, которые могут помочь вам на пути.
В Т.фнт, тектиты, был создан (бывший?) clySmic программного обеспечения, и, вероятно, Ральф Б Смит-младший, президент/главный программист/повар/посудомойка. Это растровый шрифт, который был включен в программу VFONT для DOS и OS/2. Он загрузить шрифты для замены систем на VGA. Это название, данное автором, тектиты и описан как ”а "архитектор" стиль шрифта.”
VFONT может быть загружен в архивах CVFONT.ZIP и CVFONTA.ZIP. В Текта шрифт является частью последнего. Бывший старую версию только для DOS.
VFONT и добыча:
В архиве состоят из DOS-программа, VFONT.COM программа для OS/2 VFONT2.EXE шрифт базе VFONT.DAT и файл README.Человек. В VFONT.DAT содержит 13 растровые шрифты хранятся впритык. Для извлечения тектиты шрифт:
ДД, если=VFONT.DAT из=Т.фнт БС=1 пропуск=графа 28672=4096
Это дает вам файл шрифта типа RAW, который входит в например, в Slackware.
Каждый шрифт имеет 4096 байт. Таким образом, чтобы извлечь другие просто менять пропустить вариант. Т. е. С. фнт
, который идет после Т.фнт
дает вам пропустить стоимость 28672 + 4096 = 32768
. Все шрифты включены в Linux, и для полного извлечения можно сделать:
#!/бин/Баш
поз=0
для п В с СД Р РО РЛ му мл т с б м СК; делать
ДД, если=VFONT.DAT из=$Н.фнт БС=1 пропуск=$пос графа=4096
((ЗП += 4096))
сделано
... или, конечно, скачать его с одним из различных дистрибутивов, который включает их.
Эти файлы могут быть загружены непосредственно в терминале Е.г:
помощью setfont Т.фнт
Именования в Linux
Шрифт получил свое название в Linux с помощью опций программы VFONT. Тектиты и /Т
. Другие шрифты тоже входят, также названный параметр командной строки для VFONT. (/Ы = ы.фнт /СД = СД.фнт /ро = ро.фнт ... и т. д.)
Сырые шрифты
Той (устаревшее, но признали) сырые шрифт формат - это простой формат шрифта нет. Он не имеет заголовка, нижнего колонтитула, не скрыться байт и т. д. Он обычно имеет ширину 8 точек (бит) – как сделать VFONT шрифты. Они всегда имеют 256 глифов.
Из этого можно легко вычислить высоту:
размер_файла (бит) 8 × 4096
ч = -------------------- например, ч. = ------------- = 16
ш × 256 8 × 256
Как все VFONT шрифт имеет размер 4096, мы также знаем, что они все 16 пикселей (бит) в высоту. Это также дает то, что каждый символ занимает 16 байт.
В ASCII перевода
Как шрифты соответствуют диапазона ASCII, когда дело доходит до в диапазоне от 0x20 (пробел) – 0x7e (Тильда), мы можем сделать простой рендеринг в ASCII символы.
Например, буква А
имеет положение 65. Так как каждый символ занимает 8×16 = 128 бит в 128 / 8 = 16 байт.
Как 65 × 16 = 1040 можно извлечь символ а
(здесь в том числе преобразование в двоичную и замена 0 и 1, чтобы сделать его более читабельным):
ключам -с 1040 -Л 16 -Б, 1 т.фнт | вырезать -Д' '-Ф 2 | ТР 0 '' | ТР 1 '#'
Что дает нам:
Выход из | Data в файл
команды: | Бинарные: шестигранные: офсетная офсетная
| Наговор: Декабря:
| 00000000 00 410 1040
| 00000000 00 411 1041
# # | 00011000 18 412 1042
# # | 00011000 18 413 1043
#### | 00111100 3С 414 1044
# # | 00100100 24 415 1045
# # # # | 01100110 66 416 1046
## ### | 01101110 6е 417 1047
#### # | 01111010 7а 418 1048
### ## | 11100011 Е3 419 1049
## ## | 11000011 С3 41а 1050
## ## | 11000011 С3 41б 1051
| 00000000 00 41С 1052
| 00000000 00 41д 1053
| 00000000 00 41e 1054
| 00000000 00 41Ф 1055
Используя некоторые простые C-код мы также можем сделать некоторые простые ПБМ изображений. Вот пример вывода из всех шрифтов в VFONT:
Редактирование с FontForge
Если вы хотите работать со шрифтом, я думаю, вы могли бы пойти для компьютеров. Как это не признаю сырые шрифтов, вам придется конвертировать его в другой формат. Одна из самых простых преобразований может быть в соб. Одним из вариантов является использование Джона Эллиота ПСФ инструменты. Сначала преобразовать из RAW в ПСФ ПСФ затем в соб:
raw2psf Т.фнт Т.ПСФ
psf2bdf Т.ПСФ Т.БДФ
BDF файл теперь можно открыть в компьютеров
Как процесс довольно прост (и одинаковым для всех VFONT) вы также можете использовать этот скрипт для конвертации сразу в формат ФДР:
Пример использования:
./raw2bdf тектиты Т.фнт > Т.БДФ
Дает вам шрифт Текта как БДФ.
#!/бин/Баш
если [ $# -ЛТ 2 ]; тогда
е "использование: %s <имя> <сырья-фнт-файла>\П" $0
выход
интернет
имя=$1
файл=$2
кошка <<МНВ
STARTFONT 2.1
Название шрифта $
Размер 16 75 75
FONTBOUNDINGBOX 8 16 0 -4
STARTPROPERTIES 3
FONT_DESCENT 4
FONT_ASCENT 12
DEFAULT_CHAR 255
ENDPROPERTIES
Чарс 256
НМВ
файл шестнадцатеричного представления -ве '/1 "%02x\N" и' "$" | на awk '
Начать {
н = 0;
}
(!((НР - 1) % 16)) {
если (n > 0)
печать "ENDCHAR"
е "STARTCHAR С00%02x\Н"\
"Кодировка %д\н"\
"SWIDTH 666 0\н"\
"DWIDTH 8 0\н"\
"BBX по 8 16 0 -4\Н"\
"Растровые\п",
н н
++Н
}
{
печати $0
}
Конец {
печать "ENDCHAR"
печать "ENDFONT"
}
'
Другие версии
Существует несколько модифицированных версий шрифта тектитов. Если вы ищите его, добавив, например, “clysmic” поисковые фразы вы можете изучить на.
Рендеринг изображения
Для полноты картины добавлю С-код смешан, чтобы создать изображение выше. отображения
и преобразования
являются частью пакета ImageMagick.
Пример использования:
$ ./fntsampler Т.фнт привет
## ### ###
## ## ##
## ## ##
## ### ##### ## ## #####
## ## ## ## ## ## ## ## ##
#### #### ### ## ## ## ##
### ####### ## ## ## ##
## #### ## ## ## ##
## #### ## ## ## ## ##
## ## ###### ## ## #####
$ ./fntsampler Т.фнт "Здравствуй, Мир!" > привет.ПБМ
$ дисплей Здравствуйте.ПБМ
Образец изображения всех выше шрифтов был создан:
$ для F в *.фнт; делать ./fntsampler "$F" и "$(Е "%-6С Здравствуйте АБВ АБВ 123" "$Ф")" | преобразовать - "${Ф%.*}.ПНГ"; сделано
$ преобразование -инвертировать -добавить *.коллекция ПНГ.ПНГ
Код:
#включить заголовочный файл <stdio.ч>
код #include <errno значение.ч>
#включить <строка.ч>
использование инт(тип char *меня, типа char *с)
{
fprintf(stderr, в,
"Использование: %s <сырье-шрифт- "файл" > \"<строка>\" [формат] [[инверсия] | [точка] [пробел]]\н\н"
"формат P : ПБМ изображения (по умолчанию).\Н"
"с :\таблицы ASCII.Н"
"инверт я : инвертный Б/Ш в ПМ.\Н"
"точка\Н"
"пусто : точка / пробел в режиме ASCII.\Н\П"
"%з\п"
,
меня ошибки ? "" : с
);
если (ошибка)
perror(ы);
возвращение 1;
}
тап_п(АГДС, типа char *переменной argv[])
{
символ * = мне из argv[0];
голец буфер buf[4096];
реализация Н;
типа char *Р;
инт я, J, к;
Файл *FН;
голец *с;
чар дрм = 'P' и точка = '1', пустой = '0';
если (argc < 3)
использование вернуть(меня, "отсутствует аргумент(ы)");
если (!(FН = с помощью функции fopen(массива argv[1], "р")))
использование возврата(мне "не удалось открыть файл");
если ((fread операционной(буфер buf, 1, 4096, FН) != 4096))
использование возврата(меня, "плохое размер файла");
Ы = и argv[2];
если ((н = функция strlen(ы)) < 1)
использование вернуть(меня, "пустую строку");
если (argc > 3)
дрм = агду[3][0];
если (дрм != 'а' && дрм != 'п')
использование возврата(меня, "неизвестный формат");
если (дрм == 'а') {
точка = АГДС > 4 ? агду[4][0] : '#';
пустой = АГДС > 5 ? агду[5][0] : '';
} еще {
если (argc > 4 && агду[4][0] == 'я') {
точка = '0';
пустой = '1';
}
функции printf("П1\Н");
функции printf ("текст#: \"%ы\", используя %s\n", и с переменной argv[1]);
функции printf("%у 16\н", н * 8);
}
для (Я = 0; я < 16; ++я) {
Для (от j = 0; j с < (инт)н; от J++) {
Р = баф + (s[Дж] * 16) + я;
Для (к = 7; к >= 0; --к) {
putchar((*п >> к) & 0х01 ? точка : пустой);
}
/*putchar(' '); */
}
putchar('\Н');
}
возврат 0;
}