Но она-то их считает только для моноширинных шрифтов, верно? А если шрифт переменной ширины, то как ты этой функции передашь ширину букв или что?SoUrcerer wrote:SysFn4, что самое паршивое, считает размеры этой самой выводимой строки. Это обидно. Считать-считает, а вывести некуда. Или затирать данные.
SysFn 4
Вот такие дела, та же самая фигня, что и в ttf-выводе, была в font library. Значит, эта библиотека не может быть использована в браузере и многих других программах, к сожалению.Mario wrote:Все это очень замечательно, когда все происходит на уроне ядра, где нет переходов с Ring0 на Ring3. При взаимодействии же ядра и приложения каждая точка вызывается int 0x40, что не есть правильно с точки зрения производительности.Lrz wrote:
б) Шрифт может выводиться и без фона. В этом случае формировать его как картинку в памяти не очень выгодно, хотя и можно. Для отрисовки шрифта без фона программа или библиотека должна выводить/накладывать шрифт попиксельно.
Ладно, я считаю, что вопрос себя исчерпал, а тему можно закрывать. Это "не нужно".
yogev, а как, по-твоему, функция выводит не-моноширинный текст, а? Для каждой буквы рассчитываются её координаты. В конце концов мы получаем координаты конечной буквы, мы знаем её ширину, и знаем, с какой точки отрисовка началась...
I think the Fancy fonts should not be inside the kernel, but in a library.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
hindplayr, +1. I think that topic is exhausted
Религия запрещает использовать?* Y=Cnnn (биты):
* C=1 перенаправить вывод в область пользователя, задано в edi
* nnn - не используется в текущем виде, должно быть 0 (zero)
Единственно ICON не сможет новые шрифты использовать, так как отрисовывает их поверх области иконки и лишь потом выводит изображение.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
В трех битах нельзя вернуть данные. В трех битах можно определить новую подфункцию, но это будет нелогично. В общем, нафиг всё, даешь библиотеку.
Так используй MMX регистры. Целых 64 бита, чо.SoUrcerer wrote:В трех битах нельзя вернуть данные. В трех битах можно определить новую подфункцию, но это будет нелогично. В общем, нафиг всё, даешь библиотеку.
Почему нелогично? Мне вот религия не помешала так сделать, когда было нужно "впихнуть невпихуемое".SoUrcerer wrote:В трех битах можно определить новую подфункцию, но это будет нелогично.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Мне кажется, что возврат значения в ESI или EDI, о чем говорилось в чате -- нарушение соглашения вызова mcall. Нужно делать или отдельную функцию, или подфункцию для получения длины.
SoUrcerer, напиши, что предлагается сделать. К примеру:
SoUrcerer, напиши, что предлагается сделать. К примеру:
- Y=CnnA (биты):
- A=1 вернуть размер строки в пикселях в eax [размер по оси x]*65536 + [размер по оси y]
- C=1 перенаправить вывод в область пользователя, задано в edi
- nn - не используется в текущем виде, должно быть 0 (zero)
Возвращать в ESI/EDI, действительно, бессмысленно.
Если кому-то нужны шрифты 16x8 (моноширинный), 16x12 (немоноширинный) и возможность считать длину не-моноширинных шрифтов в ядре (с возвратом в eax) - обращайтесь.
Внимание, это займет дополнительные 10 кб в памяти, и никому не нужно, потому что никто не будет переписывать существующие программы под новые шрифты.
Если кому-то нужны шрифты 16x8 (моноширинный), 16x12 (немоноширинный) и возможность считать длину не-моноширинных шрифтов в ядре (с возвратом в eax) - обращайтесь.
Внимание, это займет дополнительные 10 кб в памяти, и никому не нужно, потому что никто не будет переписывать существующие программы под новые шрифты.
В общем ясно, что снова всё накрылось. Похуй, что реализовать определение длинны строки просто как 2 пальца обоссать и уже браузер стал бы читабельнее за счёт использования char2, как и другие программы. Но нет, мы будем ждать очередную новую феерическую библиотеку и ещё 7 лет ебаться с этими шрифтами 8х5.
Из хаоса в космос
Это почему? Я вот при проектировании FileBrowser компонента Box_Lib постарался учесть будущие подвижки и оставил резервные поля.SoUrcerer wrote:Внимание, это займет дополнительные 10 кб в памяти, и никому не нужно, потому что никто не будет переписывать существующие программы под новые шрифты.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Ну, конечно Кириллу плевать на стандарты вообще -дальше хоть трава не расти.
Spoiler:
"Что с меня взять? Я же только дизайнер. Починяйте давайте автосборку!"Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Стандарты Маратушки все ломают автосборку, а он пушистик.
Spoiler:
Из хаоса в космос
: А правила на форуме уже действуют? Или пока что нет и обиженным можно материться?
Last edited by lev on Tue Mar 12, 2013 11:35 pm, edited 1 time in total.
Who is online
Users browsing this forum: No registered users and 4 guests