forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_font32: Графические шрифты (http://forum.boolean.name/showthread.php?t=6103)

GRAY_WOLF 19.07.2010 13:26

Ответ: Lib_font32: Графические шрифты
 
Файл .dat это файл с данными для рисования графическими символами из файла .png

sidav 19.07.2010 14:01

Ответ: Lib_font32: Графические шрифты
 
А какой прогой делать сам шрифт и dat-файл?

psih1 19.07.2010 15:34

Ответ: Lib_font32: Графические шрифты
 
http://www.forum.boolean.name/showthread.php?t=6103

sidav 19.07.2010 15:42

Ответ: Lib_font32: Графические шрифты
 
Вложений: 1
Феноменально. Твой исходник пашет, odd, но стоит сменить шрифт - и счастье сразу кончается.

sidav 19.07.2010 15:48

Ответ: Lib_font32: Графические шрифты
 
Я уже нашёл и сгенерировал шрифт. Сменил его в исходнике от odd'а - и ВНЕЗАПНО прога опять не подаёт признаков жизни

odd 21.07.2010 02:06

Ответ: Lib_font32: Графические шрифты
 
А шрифт в ресурсы кто будет добавлять? В твоем проекте так и остался в ресурсах шрифт lcd16. Не забывай пользоваться иконками + и -.

Trazzy 21.07.2010 06:42

Ответ: Lib_font32: Графические шрифты
 
:-D Феноменально! гГ

sidav 21.07.2010 11:29

Ответ: Lib_font32: Графические шрифты
 
Вложений: 1
Чудесно. В ресурсах прописал нужный шрифт - результат тот же.

sidav 25.07.2010 11:55

Ответ: Lib_font32: Графические шрифты
 
И как это исправить?

odd 15.08.2010 13:15

Ответ: Lib_font32: Графические шрифты
 
Я уже устал повторять. Если при открытии DAT файла вы видите столбик чисел, это значит, что шрифт сгенерирован в старом генераторе и работать с новой версией библиотеки данный шрифт НЕ будет.

Eggis 15.08.2010 17:07

Ответ: Lib_font32: Графические шрифты
 
Компилятор (MP 3.0, 3.1 rc, 2.02 - ругается на все библиотеки разом) вылетает при попытке скомпилировать проект с Lib_arcade и Lib_font32 одновременно.

Мой промах: на MP 2.0.2 (en) всё работает как часы. Извините ^^

Trazzy 20.08.2010 06:03

Ответ: Lib_font32: Графические шрифты
 
Не плохо бы сделать так, чтоб в одном TextWindow можно было использовать более одного шрифта. Хороший вариант для создания всяких чатов и пр.
--
Текущий TextWindow:
Код:

...
Вася Пупкин [04:07]: привет Маша!
Маша[04:08]: приветик
...

Предлагаемый мной:
Код:

...
Вася Пупкин [04:07]: привет Маша!
Маша[04:08]: приветик
...


NightDeath 04.09.2010 12:18

Ответ: Lib_font32: Графические шрифты
 
уже давно нашел в либе пару багов,но так и не написал об этом,а сейчас вот решил написать)
1 баг:Если картинка в высоту большого размера,то когда я дохожу примерно до ее середины,она исчезает
2 баг:Если картинка маленькая,то когда она переходит за пределы экрана текст как бы "подпрыгивает"

GRAY_WOLF 11.12.2010 14:45

Ответ: Lib_font32: Графические шрифты
 
Нужно выравнивание текста по ширине дисплея.
odd - допиши пожалуйста...

odd 11.12.2010 16:44

Ответ: Lib_font32: Графические шрифты
 
Цитата:

Сообщение от GRAY_WOLF (Сообщение 171607)
Нужно выравнивание текста по ширине дисплея.
odd - допиши пожалуйста...

Ладно, попробую.

Twice 20.12.2010 11:16

Ответ: Lib_font32: Графические шрифты
 
Что там за кодировка?

cherepets 20.12.2010 20:52

Ответ: Lib_font32: Графические шрифты
 
если тебе интересно посмотреть класс - используй декомпиль.
блокнотом открывать глупо

Trazzy 21.12.2010 00:43

Ответ: Lib_font32: Графические шрифты
 
ахаха, :-D а я сразу и не обратил внимания на то, что он class открыл

AVL 30.01.2011 14:47

Ответ: Lib_font32: Графические шрифты
 
В первом посте последняя версия?

odd 02.02.2011 20:10

Ответ: Lib_font32: Графические шрифты
 
Цитата:

Сообщение от AVL (Сообщение 177332)
В первом посте последняя версия?

Кажется нет. Отлистай тему чуток назад с конца и скачай версию там.

Yurec66 29.03.2011 13:30

Ответ: Lib_font32: Графические шрифты
 
Просмотрел всю ветку , такскать хронику модернизации либы для работы со шрифтами. Я думаю пришло то время, чтобы сделать возможность писать "объемный" текст разными цветами. Точнее к примеру иметь возможность выделять начало абзаца другим цветом. Или какое другое слово по критерию.

ps К примеру вот так:

Скажи ка дядя ведь не даром
Москва, спаленная пожаром французам отдана
ведь были схватки боевые, да говорят еще какие
Не даром помнит вся Россия про день Бородина

Как то так :)

Trazzy 30.03.2011 11:21

Ответ: Lib_font32: Графические шрифты
 
Я что-то подобное уже предлагал сделать (#204)

Yurec66 30.03.2011 11:29

Ответ: Lib_font32: Графические шрифты
 
Кстати, а вот к примеру как вывести текст на картинке? Лично у меня не получилось вывести без фона, т.е. получается , что без color ничего ваще не выводится, а с color(255, 0, 0, 0) выводится, но на черном фоне. А это не есть хорошо. По идее шрифт png, без фона. Как лечить?

GRAY_WOLF 30.03.2011 13:43

Ответ: Lib_font32: Графические шрифты
 
Прочитай справку-хелп к последней модификации либы и выстави прозрачным фон шрифта.

Yurec66 30.03.2011 14:14

Ответ: Lib_font32: Графические шрифты
 
Цитата:

Сообщение от GRAY_WOLF (Сообщение 184245)
Прочитай справку-хелп к последней модификации либы и выстави прозрачным фон шрифта.

Если под хелпом подразумевается файл описания к классу, то вроде и крайняя версия, тока я там не нашел про прозрачный фон, как его установить для шрифта. :dontknow:

GRAY_WOLF 30.03.2011 23:38

Ответ: Lib_font32: Графические шрифты
 
Вложений: 1
Цитата:

Сообщение от Yurec66 (Сообщение 184238)
Кстати, а вот к примеру как вывести текст на картинке? Лично у меня не получилось вывести без фона, т.е. получается , что без color ничего ваще не выводится, а с color(255, 0, 0, 0) выводится, но на черном фоне. А это не есть хорошо. По идее шрифт png, без фона. Как лечить?

По твоему коду должно быть так, как на картинке ...
первая цифта - прозрачность 0...255 остальные цвет 0...255

Yurec66 31.03.2011 11:08

Ответ: Lib_font32: Графические шрифты
 
Вложений: 1
Цитата:

По твоему коду должно быть так, как на картинке ...
первая цифта - прозрачность 0...255 остальные цвет 0...255
Вот что у меня получается. Может со шрифтами чего?

Вложение 13170

ps
Использован пример Font33test

Yurec66 31.03.2011 18:43

Ответ: Lib_font32: Графические шрифты
 
Вложений: 3
Разобрался, дело действительно было в шрифтах. Не тем генератором генерил шрифт.

Теперь хочется указать на погрешность в работе либы, а именно метода TextWindow и ему сопутствующих.
1) Хотел задать свое окно вывода текста не на весь экран, а вставив сверху заглавную панельку.
1) Самопроизвольно добавляется пустая строка в файл ресурса.
2) При указанных значениях размеры фактически не устанавливаются, особенно касается высоты окна вывода

Вложение 13172

3) При скроллинге вверх текст налазит на информационную панельку, хотя по установкам верх должен быть ниже на 2 пикселя этой панельки.

Вложение 13173

4) При завершении прокрутки текста вверх мусора насобирается очень много на инфо панельке. Спецом не перерисовываю, дабы показать этот факт.

Вложение 13174

5) И наверное не совсем точно высчитывается положение ползунка. При окончании текста он не в самом низу молучается. На не совсем большом куске текста это видно лучше.

NightDeath 10.04.2011 01:16

Ответ: Lib_font32: Графические шрифты
 
Цитата:

Сообщение от Yurec66 (Сообщение 184389)
Разобрался, дело действительно было в шрифтах. Не тем генератором генерил шрифт.

Теперь хочется указать на погрешность в работе либы, а именно метода TextWindow и ему сопутствующих.
1) Хотел задать свое окно вывода текста не на весь экран, а вставив сверху заглавную панельку.
1) Самопроизвольно добавляется пустая строка в файл ресурса.
2) При указанных значениях размеры фактически не устанавливаются, особенно касается высоты окна вывода

Вложение 13172

3) При скроллинге вверх текст налазит на информационную панельку, хотя по установкам верх должен быть ниже на 2 пикселя этой панельки.

Вложение 13173

4) При завершении прокрутки текста вверх мусора насобирается очень много на инфо панельке. Спецом не перерисовываю, дабы показать этот факт.

Вложение 13174

5) И наверное не совсем точно высчитывается положение ползунка. При окончании текста он не в самом низу молучается. На не совсем большом куске текста это видно лучше.

с пунктами 2,3,4 поможет setclip
пункт 5:значение высчитывается по первой строке,отображаемой в данный момент на экране,обойти есть способ:
Сразу после разбиения вызывай getposition и записывай это число в отдельную переменную,затем просто отнимай это число при следующих вызовах getposition ну и от размера всего текста отнять тоже надо,только смотри,чтобы 0 не получился,а то будет деление на 0,а это не есть хорошо :)

Yurec66 10.04.2011 02:20

Ответ: Lib_font32: Графические шрифты
 
Цитата:

Сообщение от NightDeath (Сообщение 185388)
с пунктами 2,3,4 поможет setclip
пункт 5:значение высчитывается по первой строке,отображаемой в данный момент на экране,обойти есть способ:
Сразу после разбиения вызывай getposition и записывай это число в отдельную переменную,затем просто отнимай это число при следующих вызовах getposition ну и от размера всего текста отнять тоже надо,только смотри,чтобы 0 не получился,а то будет деление на 0,а это не есть хорошо :)

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

kizup 10.04.2011 22:17

Ответ: Lib_font32: Графические шрифты
 
Выложите пожалуйста обновленную программку для генерации шрифтов и саму либу...скачал с главной страницы - не подходит, ругается на отсутствие процедур в либе....и по теме полазил тож не нашел....ткните носом)))

NightDeath 12.04.2011 16:57

Ответ: Lib_font32: Графические шрифты
 
Цитата:

Сообщение от kizup (Сообщение 185472)
Выложите пожалуйста обновленную программку для генерации шрифтов и саму либу...скачал с главной страницы - не подходит, ругается на отсутствие процедур в либе....и по теме полазил тож не нашел....ткните носом)))

поищи по теме,15 страниц не так уж и много

последнюю вресию либы ищи на стр 10,а конвертер на странице 7

odd 14.04.2011 12:28

Ответ: Lib_font32: Графические шрифты
 
За замечания и описания багов спасибо. Библиотеку давно нужно обновлять и исправлять, да всё руки не доходят.

im_zorg 12.05.2011 21:48

Ответ: Lib_font32: Графические шрифты
 
Исправьте пожалуйста. порылся в исходнике либы(нагло декомпильнул:D) по изменял значения i2, если cshift умножить на 3, то все будет хорошо, но скролинг будет рывками. P.S. юзал последнюю версию...

Atqt 18.10.2011 01:02

Ответ: Lib_font32: Графические шрифты
 
Может кто подсказать? У меня такая проблема: когда пишу по английски то все отображается нормально, но когда начинаю писать по русски то сразу же программа залагивает и становится в ступоре.

AVL 18.10.2011 12:09

Ответ: Lib_font32: Графические шрифты
 
Это баг мидлетпаскаля - не понимает русские буквы в тексте программы. Текст лучше загружать из ресурсов.

Gonzo 29.12.2011 18:45

Ответ: Lib_font32: Графические шрифты
 
Вложений: 1
Второй день пытаюсь прикрутить библиотеку, но стабильного результата нет. На первых версиях библиотеки на эмуляторе всё работало стабильно,
на телефоне пустой экран и зависание.
Скачал новую версию библиотеки (вроде как последнюю - с функцией поворота). Демка не работает (эмулятор SjBoy).
Ладно. Попробовал использовать в проекте - пустой экран и зависание.
Вот выдрал функцию из проекта и немного подправил для лучшего восприятия:
Код:

program TestChat;
uses font32,vscroll;

function ShowChat: Integer;
var
        i, wi, hi, text_height, key: integer;
        fBack,fMsg,fClicked: Command;
begin
        wi:=GetWidth;
        hi:=GetHeight;
        //задаём шрифт
        font32.rotate(0);
        font32.init(1);
        font32.Font(0);
        font32.LoadFont('Verdana');
        font32.color(255, 0, 255, 0);
        //задаём окно, текст и рисуем
        font32.TextWindow(1, 1, wi - 16, hi);
        text_height:=font32.Format('Нет сообщений',0);
        font32.DrawTextWindow;
        //если есть что прокручивать
        if text_height>hi then
        begin
                //задаём и рисуем скроллер
                vscroll.LoadVScroll(LoadImage('/vscroll.png'));
                vscroll.SetVScroll(wi - VScrollWidth, 0, hi);
                vscroll.SetOffset(16);
                vscroll.DrawVScroll(0, text_height, 0, hi);
        end;
        //создаём и добавляем команды
        fBack := createCommand('Назад', CM_BACK, 1);
  fMsg:= createCommand('Написать', CM_ITEM, 2);
  addCommand(fBack);
  addCommand(fMsg);
  //перерисовываем всё
  Repaint;
  repeat
    Delay(100);
    //если есть что прокручивать
    if text_height>hi then
    begin
                        //контролируем клавиши прокрутки
                        key:=KeyToAction(GetKeyPressed);
                        if key = GA_DOWN then
                        begin
                                FillRect(0,0,wi,hi);
                                font32.MoveDown(TextHeight);
                                font32.DrawTextWindow;
                                vscroll.DrawVScroll(0, text_height, GetPosition, hi);
                                Repaint;
                        end
                        else if key = GA_UP then
                        begin
                                FillRect(0,0,wi,hi);
                                font32.MoveUp(TextHeight);
                                font32.DrawTextWindow;
                                vscroll.DrawVScroll(0, text_height, GetPosition, hi);
                                Repaint;
                        end;
                end;
    fClicked := getClickedCommand;
  until (fClicked = fBack) or (fClicked = fMsg);
  if fClicked = fBack then
                ShowChat := 0
        else if fClicked = fMsg then
                ShowChat := 1;
        //else
  removeCommand(fBack);
  removeCommand(fMsg);
  font32.init(0);
end;

begin
        repeat
        until ShowChat=0;
end.

Проект так же прикладываю в аттаче.

Допустил ли я какую-то ошибку при использовании библиотеки или
может кто-нибудь поделится ссылкой на стабильную версию библиотеки?

Спасибо

PassCall 13.01.2012 19:05

Ответ: Lib_font32: Графические шрифты
 
Может, следует добавить в проект фонт, прежде чем его загружать? :В
Я имею ввиду, что в списке ресурсов его нет, и при этом пытаешься его загрузить (LoadFont)

Да и вообще - да здравствует дебаг!

Хотя бы такой:
Код:

procedure z(_a:string);
begin
        setcolor (random(128),random(128),random(128));
        fillrect (0,0,240,30);

        setcolor (random(256),random(256),random(256));
        drawtext (_a,0,0);

        repaint;
        delay (1000);
end;

и юзать так

Код:

......некий код.........
z ('грузим шрифт');
......некий код.........
z ('выводим картинку');
......некий код.........
z ('еще что нибудь');

Надпись появляется? Код выполняется!
Надписи нет? Ошибка, привет!

AntiRock 23.06.2012 20:11

Ответ: Lib_font32: Графические шрифты
 
Начал изучать турбо паскаль и библиотеки к нему, сразу же оказался в ступоре...Подскажите мне пожалуйста, где у меня ошибка. Пустой экран, в этом и заключается проблема.

Код:

Program galaxy;
Uses font32;
Var
        su:string;
Begin
        font32.init(1);
        font32.font(0);
        font32.loadfont('myfont1');
        su:='сраный текст не отображается на экране';
        font32.drawstring(su,10,10);
        repaint;
        delay(5000);
End.

Ошибок при компиляции не выдает, путем тыка "halt;" в каждую строку понял, что программа виснет на 10 строке, почему? - понять не могу.

AVL 23.06.2012 21:30

Ответ: Lib_font32: Графические шрифты
 
Скопипастил код (подправив название шрифта) - все работает. Шрифт (.png и .dat файлы) в ресурсы не забыл добавить?

AntiRock 24.06.2012 06:39

Ответ: Lib_font32: Графические шрифты
 
Да, добавил. Я его генерировал в GenFont, а получившие два файла назвал "myfont1". В списке ресурсов они есть. Дело точно не в KEmulator`е, потому что скачивал мидлет на телефон - проблема осталась. Естественно первое, что я подумал, что проблема в русском тексте, ввел английский - результат нулевой, и просто без переменной вводил текст(напрямую в drawstring). В общем, бред какой-то.

AntiRock 24.06.2012 10:21

Ответ: Lib_font32: Графические шрифты
 
И еще немного не по теме...Забил на модуль фонт32, выдающий ошибку, и начал разбираться с сенсорным дисплеем, получилась очень даже неплохая qwerty-клавиатура, которую я еще конечно буду доделывать под себя, но появился вопрос. Код слишком длинный и там очень много почти одинаковых строк можно ли его как-то оптимизировать?
Выкладываю код:
Код:

Program galaxy;
Uses
        sensor;
Var
        xcursor,ycursor,readkey:integer;
        box:image;
        key,text:string;
        exit:boolean;
Begin
        sensor.init;
        box:=loadimage('/qwerty1.png');
        drawimage(box,0,0);
        repaint;
        repeat
        if pointer_state=1 then readkey:=1;
        if (pointer_state=0) and (readkey=1) then readkey:=2
        if readkey=2 then
        begin
        xcursor:=pointer_released_x;
        ycursor:=pointer_released_y;
        end;
        if (xcursor>2) and (xcursor<33) and (ycursor>519) and (ycursor<544) and (readkey=2) then key:='q';
  if (xcursor>38) and (xcursor<70) and (ycursor>519) and (ycursor<544) and (readkey=2) then key:='w';
  if (xcursor>74) and (xcursor<105) and (ycursor>519) and (ycursor<544) and (readkey=2) then key:='e';
  if (xcursor>110) and (xcursor<141) and (ycursor>519) and (ycursor<544) and (readkey=2) then key:='r';
  if (xcursor>146) and (xcursor<177) and (ycursor>519) and (ycursor<544) and (readkey=2) then key:='t';
  if (xcursor>182) and (xcursor<213) and (ycursor>519) and (ycursor<544) and (readkey=2) then key:='y';
  if (xcursor>280) and (xcursor<329) and (ycursor>581) and (ycursor<605) and (readkey=2) then halt;
  if readkey=2 then text:=text+key;
  xcursor:=0;
  ycursor:=0;
  key:='';
  if pointer_state=0 then readkey:=0;
  drawtext(text,10,10);
        repaint;
        until (false)
End.


AVL 24.06.2012 12:50

Ответ: Lib_font32: Графические шрифты
 
Во-первых, подумай как тут можно использовать цикл for;
Во-вторых:
Код:

function sensorkey(x,y,w,h:integer):boolean;
var
 xp,yp:integer;
begin
 xp:=pointer_pressed_x;yp:=pointer_pressed_y;
 drawrect(x,y,w,h);
 sensorkey:=(xp>=x) and (xp<=x+w) and (yp>=y) and (yp<=y+h) and (pointer_state=1);
end;

Хотя тут можно эту функцию лучше немного модифицировать - заменить pointer_pressed на pointer_released и сделать так чтобы на одно касание прога реагировала только 1 раз.

Listr 08.04.2013 19:08

Ответ: Lib_font32: Графические шрифты
 
пишу код:
ok:=CreateCommand('Начать',CM_OK,1);
AddCommand(ok);
font32.Init (1);
Font(0);
LoadFont('Arial10');
Color(255,0,0,0);
Drawstring('Здесь текст',5,5);
Drawstring('здесь тоже',5,15);
repaint;
delay(100);
-----
Компилирую - чистый экран. в чем проблема? также при нажатии кнопки начать - программа дальше не идет.

Listr 08.04.2013 20:47

Ответ: Lib_font32: Графические шрифты
 
Идиот я. В папку шрифт закинул, а в ресурсы проекта не добавил. Добавил шрифт в ресурсы, добавил textwindow и drawtextwindow и все прекрасно работает.

Fred-boy 11.05.2013 17:32

Ответ: Lib_font32: Графические шрифты
 
Объясните тупому нубу как работать с этой библиотекой? Откуда брать шрифты?

GRAY_WOLF 15.05.2013 00:54

Ответ: Lib_font32: Графические шрифты
 
Цитата:

Сообщение от Fred-boy (Сообщение 259093)
Объясните тупому нубу как работать с этой библиотекой? Откуда брать шрифты?

А разве не модно стало прочитать всю тему с обсуждениями???


Часовой пояс GMT +4, время: 10:13.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot