purebasic.info
http://purebasic.info/phpBB3ex/

Растровые шрифты.
http://purebasic.info/phpBB3ex/viewtopic.php?f=12&t=5435
Страница 1 из 1

Автор:  Олегович Артём [ Вс сен 08, 2019 11:30 am ]
Заголовок сообщения:  Растровые шрифты.

Добрый день, как правильно "выковыривать" символы из подобных карт, и создавать из них шрифт, с последующим выводом текста? Как бы вы это реализовали? Есть ли примеры на PureBasic?

Шрифт
Изображение

Автор:  qpAHToMAS [ Вс сен 08, 2019 1:55 pm ]
Заголовок сообщения:  Re: Растровые шрифты.

По идеи просто через GrabImage() разбить данный алфавит на отдельные изображения и использовать их ...

Автор:  Олегович Артём [ Вс сен 08, 2019 2:02 pm ]
Заголовок сообщения:  Re: Растровые шрифты.

qpAHToMAS писал(а):
По идеи просто через GrabImage() разбить данный алфавит на отдельные изображения и использовать их ...


Но как узнать положение каждого символа?
В данный момент это делается костылём в виде:
Код:
1
bindSymbol(destination(), pixelData(), character, posX, posY)


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

Ко всему прочему, даже из этого ничего хорошего не вышло:
Img
Изображение

Автор:  qpAHToMAS [ Вс сен 08, 2019 2:24 pm ]
Заголовок сообщения:  Re: Растровые шрифты.

У тебя просто неправильная палитра шрифта. Не помню как называется такой шрифт, монотонный или типа того, но у каждого символа должен быть одинаковый размер в пикселях часто используется в играх:
Изображение
https://forum.zdoom.org/viewtopic.php?t=33409

Автор:  Дмитрий [ Вс сен 08, 2019 2:30 pm ]
Заголовок сообщения:  Re: Растровые шрифты.

qpAHToMAS писал(а):
У тебя просто неправильная палитра шрифта. Не помню как называется такой шрифт, монотонный или типа того

Монохромный.

Автор:  Дмитрий [ Вс сен 08, 2019 2:33 pm ]
Заголовок сообщения:  Re: Растровые шрифты.

Из картинки, как у ТС никак по другому не вытащить буквы, как указать координаты вручную. Ширину я имею ввиду.
Потому что ширина символов различная - шрифт пропорциональный.
Это можно сделать один раз, а после в программе уже использовать готовые изображения.

Причина редактирования сообщения - грамматическая ошибка.

Автор:  Дмитрий [ Вс сен 08, 2019 2:36 pm ]
Заголовок сообщения:  Re: Растровые шрифты.

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

Автор:  Олегович Артём [ Вс сен 08, 2019 2:45 pm ]
Заголовок сообщения:  Re: Растровые шрифты.

Дмитрий писал(а):
А ещё можно в графическом редакторе расположить символы равномерно, столбцами, что бы каждая последующая буква в новой строке была чётко под верхней. Тогда координаты можно будет высчитывать программно, зная номер строки и столбца.
Но на мой взгляд, проще поискать такой шрифт уже готовый.


Спасибо за подсказку, попробую.

Автор:  kvitaliy [ Вс сен 08, 2019 3:18 pm ]
Заголовок сообщения:  Re: Растровые шрифты.

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

Изначально в системе моноширинный это Courier New и и Lucida Sans + консольные, они по умолчанию всегда имеют одинаковые знакоместа.

Автор:  Дмитрий [ Вс сен 08, 2019 4:05 pm ]
Заголовок сообщения:  Re: Растровые шрифты.

kvitaliy писал(а):
Моноширинный шрифт

Да, точно, а я написал монохромный. Это про цветность.

Автор:  Олегович Артём [ Вс сен 08, 2019 5:08 pm ]
Заголовок сообщения:  Re: Растровые шрифты.

Всем спасибо за помощь :wink:
Решил пойти другим путём, ибо вспомнил, что в DirectX9 шрифты итак есть (Уж сильно к OpenGL привык :lol: ), заюзал D3DXCreateFontA/DrawTextA.

Изображение

Автор:  Сергейчик [ Вс сен 08, 2019 5:29 pm ]
Заголовок сообщения:  Re: Растровые шрифты.

А зачем их выдерать то с картинки(можно конечно через нейросеть или другие алгоритмы)?
Просто без выдерания выводи любой шрифт посимвольно с нужными координатами в картинку да и всё(координаты будут известны у каждого символа) :roll:

Автор:  newJS [ Пн сен 09, 2019 6:15 am ]
Заголовок сообщения:  Re: Растровые шрифты.

Сергейчик писал(а):
Просто без выдерания выводи любой шрифт посимвольно с нужными координатами в картинку да и всё(координаты будут известны у каждого символа) :roll:

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


Пётр выкладывал код, как использовать шрифт без установки в систему из data секции, искать надо

Автор:  kvitaliy [ Пн сен 09, 2019 6:53 am ]
Заголовок сообщения:  Re: Растровые шрифты.

newJS писал(а):
Пётр выкладывал код, как использовать шрифт без установки в систему из data секции, искать надо

Надо в справке посмотреть:
; PureBasic - RegisterFontFile example file
;
; (c) Fantaisie Software

Автор:  jobless [ Пн сен 09, 2019 8:39 am ]
Заголовок сообщения:  Re: Растровые шрифты.

Я не вчитывался во все сообщения, но сразу вспомнил, что целый раздел архива посвящён теме ещё с досовских времён, когда это было каждодневно актуально.
http://rapideuphoria.com/russian/fon_r.htm

updt: страница freedos На FB подкинула ссылку
http://www.retroarchive.org/garbo/pc/sc ... jZMd-5Rr2k

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/