Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Aug 17, 2019 2:39 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 46 posts ]  Go to page Previous 1 2 3 4 Next
Author Message
PostPosted: Tue May 31, 2011 12:26 am 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
Sorcerer, тогда в качестве параметра тип переноса (по слогам/по буквам/без переноса, символ переноса (дефис, тире, или другой), язык (правила переноса различны для некоторых языков)) надо указывать, т.к. программа это уже не может учесть самостоятельно.
Тогда библиотека также должна список всех корней слов содержать для каждого языка, в котором нельзя отрывать букву от корня при переносе.

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Tue May 31, 2011 12:58 pm 
Offline
User avatar

Joined: Tue May 08, 2007 12:44 am
Posts: 346
Нужно обратный вызов (callback) предусмотреть, чтобы программа могла сама ответить на вопрос: "Является ли данный символ переносом строки?".

_________________
Разработчик языка программирования Кантор


Top
   
PostPosted: Tue May 31, 2011 3:54 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
может просто выводить в битмап построчно?

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Sat Jun 04, 2011 7:54 am 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
кстати, да. Нужен параметр, задающий сколько байт пропускать при записи в битмап между строками пикселей (т.е. не трогаем столько байт, начинаем след. строку уже после них). Это нужно как для работы с bmp (выравнивание до 4х байт), так и для наложение текста на битмап фон/интерфейс, где у него могут быть произвольные отступы слева/справа

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Sat Jun 04, 2011 9:41 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Сколько байт пропускать между строками пикселей? о_О


Top
   
PostPosted: Sat Jun 04, 2011 9:48 am 
Он имел в виду бит. Хотя если подумать, то каждый бит изображения в Колибри это 3 или 4 байта (в зависимости от разрешения).


Top
   
PostPosted: Sun Jun 05, 2011 12:39 pm 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
Mario. теперь я тебя не понял(

вот например как представляется квадратик 3*3 6-м цветом палитры в bmp:

6,6,6,0
6,6,6,0
6,6,6,0

нули справа это выравнивание до кратности 4м. И это не биты, Mario, это байты. Для квадратика 5*5:

6,6,6,6,6,0,0,0
6,6,6,6,6,0,0,0
6,6,6,6,6,0,0,0
6,6,6,6,6,0,0,0
6,6,6,6,6,0,0,0

вот я имел ввиду, что если надо вывести символ на этот квадратик, в первом примере реквестуемый мною параметр был равен 1 (число байт (не бит!) нулей), во втором же - 3м.

Такая задача стоит не только при работе с bmp, но и при работе с большим битмапом, в который (уже существующий) производится вывод.

Для нового битмапа это выглядит так (вывод библиотеки):
x,0,0,x
x,0,x,0
x,x,0,0
x,0,x,0
x,0,0,x

это буква К цвета X,

но, если надо ее вывести в готовый битмап, такой:

0,0,0,0,0,0,x,0
0,0,0,0,0,x,x,x
0,0,0,0,0,x,0,x
0,0,0,0,0,x,x,x
0,0,0,0,0,0,x,0

, пусть библиотека получает указатель на этот битмап, и значение реквестуемого параметра, равное 4м, и вернет такой результат:

x,0,0,x,0,0,x,0
x,0,x,0,0,x,x,x
x,x,0,0,0,x,0,x
x,0,x,0,0,x,x,x
x,0,0,x,0,0,x,0

вот что я имел ввиду =)

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Sun Jun 05, 2011 2:13 pm 
Теперь понятно - я для себя это называл "размером сдвига".


Top
   
PostPosted: Tue Jun 07, 2011 9:06 am 
Offline
User avatar

Joined: Mon Apr 16, 2007 6:38 pm
Posts: 1222
Mario, хорошо, я учту это в следующий раз.

_________________
И мы уже давно не пешки,
Мы пули, мы орлы, и решки!
Война ютит бинарный код,
Умри, или иди вперед!


Top
   
PostPosted: Fri Mar 16, 2012 11:02 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Прогресс идет. Дописал конвертер шрифтов ttf в свой формат.
На сегодняшний день формат шрифтов такой:

Code:
db "KFONT100" ;заголовок
dw 0 ;количество символов в файле
dw 0 ;максимальная высота символа в файле

;таблица символов
;для каждого символа:
dw 0 ;код символа в базовой плоскости UTF-16
dw 0 ;ширина символа
dd 0 ;смещение в файле на данные глифа
dd 0 ;длина описания глифа в байтах

;описание глифа
dw 0 ;координата x
dw 0 ;координата y
dw 0 ;координата x
dw 0 ;координата y
;и так далее


Формат простой, легко парсится, хорошо пакуется kpackом, поддерживает до 2^16 символов (хватит на русский, английский, базовые китайский, японский, корейский, иврит и все прочие вместе взятые). Глифы могут быть до 65535x65535, то есть с тем же разрешением, что и глифы в ttf. Максимальный размер файла шрифта - всего лишь 4 гигабайта, но на первое время, я думаю, хватит. :3

Впереди - написание парсера для этого формата (я думаю, это не займет очень много времени), а так же окукливание всего имеющегося кода (растеризатор, конвертор dos2utf, модуль альфа-канала и будущий парсер) в единую coff-библиотеку с простым API. Сколько все это займет - не знает никто.


Top
   
PostPosted: Fri Mar 16, 2012 11:36 am 
Я так понимаю работающей именно с этим шрифтом демки пока нету?


Top
   
PostPosted: Fri Mar 16, 2012 12:19 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Была бы - выложил :) На самом деле, картинки такие же, как раньше я выкладывал. Например, к статье на Хабре. Растеризатор же не поменялся.


Top
   
PostPosted: Tue Dec 04, 2012 8:32 pm 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1071
Блин, зачитался статьей на Хабре, а картинок там уже нет :(


Top
   
PostPosted: Tue Dec 04, 2012 8:48 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Да, я в курсе :( У меня тоже их под рукой нет, к сожалению.


Top
   
PostPosted: Wed Dec 05, 2012 2:57 pm 
Offline

Joined: Sun Oct 02, 2011 4:48 pm
Posts: 44
Heavyiron wrote:
Блин, зачитался статьей на Хабре, а картинок там уже нет

SoUrcerer wrote:
Да, я в курсе У меня тоже их под рукой нет, к сожалению.

Я стараюсь учитывать то что в интернете ничто не вечно. Ссылка ниже редкое исключение.

http://gliffer.ru/articles/algoritmi--iz-pesochnitsi-rasterizatsiya-vektornih-shriftov/


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 46 posts ]  Go to page Previous 1 2 3 4 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited