Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Dec 10, 2019 5:15 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 118 posts ]  Go to page Previous 1 2 3 4 58 Next
Author Message
PostPosted: Fri Nov 07, 2008 1:03 pm 
Offline
User avatar

Joined: Tue Jan 24, 2006 8:50 am
Posts: 249
<Lrz> wrote:
По дефолту получить тип шрифта то же можно, но где-то должна храниться информация о настройках - есть предложения?


может стоит добавить какойнить system.ini... и там хранить настройки???
можно туда прописать пути к либам... и другие системные настройки... а так же можно туда запихать все ассоциации.... например, jpeg=imgview.... txt=notepad... и разные проги смогут юзать единсвенный ini файл... а не создавать свой....


Top
   
PostPosted: Fri Nov 07, 2008 1:31 pm 
Offline
Kernel Optimizer
User avatar

Joined: Mon Jan 16, 2006 7:58 pm
Posts: 657
Если там собрать информацию о всей системе, то это будет оч огромный ini файл.
Можно сделать простую либу, которая будет получать информацию из такого файла


Top
   
PostPosted: Fri Nov 07, 2008 2:07 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Я думаю с битовыми шрифтами не стоит увеличивать энтропию и создавать заголовки. К тому же это усложнить задачу включения существующих (а у меня их есть, но нет желания париться с заголовками) шрифтов. Имя и размер легко вычленяются из имени файла. Просто, обязательным условием для именования таких шрифтов станет указание размера, например: arial_8x8.fnt, arial_8x12.fnt, arial_8x16.fnt и т.д. При создании экземпляра шрифта (font_load или по твоей схеме get_font) указывается только имя, в этот момент сканируется директория (или ряд директорий) со шрифтами и выбираются соответствующие указанной выше маске. После указания размера шрифта (font_set_size) из подготовленного множества шрифтов выбирается наиболее подходящий.
На первых парах этого будет достаточно. Со временем можно внести и всякие system.ini (пока я не вижу в этом необходимости) или другие форматы с метаданными, в которых более подробно и точно будут описаны те или иные шрифты (кодировка, язык, набор символов, размеры, типы и т.д. и т.п.).

..bw


Top
   
PostPosted: Fri Nov 07, 2008 2:32 pm 
Offline
Kernel Optimizer
User avatar

Joined: Mon Jan 16, 2006 7:58 pm
Posts: 657
bw
Плохая идея не иметь заголовков т.к. если у тебя есть шрифты в raw формате сделать для них заголовок - дело 2-х минут. Представь, что ты закинул в папку шрифтов файл, который по названию оч похож на arial_8x12.fnt, без проверки заголовка, не возможно сказать, что это нужный файл, именно тот с которым будет работать система, если у него битность !=1, то такой файл как минимум не будет выведен, в другом случае не представляю, что еще может произойти. Еще, появились шрифты другого формата, меняешь заголовок типа и настраиваешь либу для их обработки. В случае если информация представлена только в имени файла это будет сложнее сделать. Еще пользователь может подсунуть не корректный файл, поменяв ему расширение и т.д. и т.п.
Проверка расширения, а потом и заголовка, хоть и не много утомительна, но все же больше страхует от таких действий. Я все же надеюсь, что библиотека со временем научиться работать с другими типами шрифтов.


Top
   
PostPosted: Fri Nov 07, 2008 3:02 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
> Представь, что ты закинул в папку шрифтов файл, который по названию оч похож на arial_8x12.fnt
Ну дурак, если закинул. Сам же за это и отвечу. Давай тогда еще и CRC32 сделаем. В маразм просто тоже впадать не стоит.
Я предложил, как мне кажется, очень простой и удобный вариант. Без дополнительного утиля, без hex-редакторов, можно будет простым копированием и переименовыванием добавлять в систему шрифты. А если пользователь закосячил, то вместо текста у него в программах будет месево. А вот если автор либы закосячил (например полностью пологаясь на заголовок), то приложения будут вылетать с непонятной ошибкой.

> Еще пользователь может подсунуть не корректный файл, поменяв ему расширение и т.д. и т.п.
Он так же и с заголовком может поступить. Повторюсь, если пользователь не отвечает за свои действия, то пусть идет этот пользователь... У меня исключительно такой подход к дуракам.

p.s. Делай как знаешь. Я твои агрументы не принимаю :-). Такой подход создаст больше неудобств чем увеличит защиту от дурака. Тем более KOS дураки пока не пользуются. Что касается последнего утверждения, а так же всех предыдущих это исключительно моё мнение.

..bw


Top
   
PostPosted: Fri Nov 07, 2008 3:33 pm 
Offline
Kernel Optimizer
User avatar

Joined: Mon Jan 16, 2006 7:58 pm
Posts: 657
Попрошу Serge, Ghost,diamond,mike.dld и других высказаться, если поддержите идею bw, сделаю отдельную функцию


Top
   
PostPosted: Fri Nov 07, 2008 3:44 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 689
Заголовок нужен. Я не понимаю любви к RAW формату, который подходит лишь для узкого применения. С другой стороны, согласен с тем, что хотелось бы загружать шрифт по имени и позже устанавливать размер (с чем будет сравниваться имя - с именем файла или же полем в заголовке файла - пока что не важно).

_________________
in code we trust


Top
   
PostPosted: Fri Nov 07, 2008 4:10 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
> Я не понимаю любви к RAW формату
Мне не нравится идея создания всё новых и новых форматов, на сколько бы примитивны они не были. Это информационный мусор. То что действительной необходимости в заголовке нет я показал, <Lzr> на этот счет имеет свои аргументы. Правда я считаю что их недостаточно и нежелание плодить очередной формат-выкидыш для меня является достаточным мотивом, что бы отказаться от заголовка. Но так как реализацией занимается <Lrz>, то мои жизненные принципы не имеют значения :-).

p.s. Это кажется ты, mike.dld, что-то такое говорил, мол, самый правый - тот кто пишет код? Или что-то такое.

..bw


Top
   
PostPosted: Fri Nov 07, 2008 5:01 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Всё нижеследующее - IMHO.
1. Заголовок нужен. Не стоит закладываться на имя файла - содержимое файла должно однозначно определять происходящее.
Quote:
Без дополнительного утиля, без hex-редакторов, можно будет простым копированием и переименовыванием добавлять в систему шрифты.

Это чушь - в любом случае шрифт нужно создавать, и без дополнительного утиля и hex-редакторов не обойтись. Кстати, как раз будет соблазн скопировать arial_8x8.fnt в arial_8x12.fnt и долго ругаться на либу, которая этого почему-то не понимает.
Quote:
А если пользователь закосячил, то вместо текста у него в программах будет месево. А вот если автор либы закосячил (например, полностью полагаясь на заголовок), то приложения будут вылетать с непонятной ошибкой.

И в первом случае пользователь будет обиженно плеваться на "глючные программы, выдающие какую-то фигню", а во втором выдачи какой-то фигни не будет. Если программа не может что-то обработать, она должна об этом предупредить (сообщить об ошибке), а не выдавать ерунду.
Quote:
> Еще пользователь может подсунуть не корректный файл, поменяв ему расширение и т.д. и т.п.
Он так же и с заголовком может поступить.

По статистике число пользователей, умеющих переименовывать файл, значительно больше числа пользователей, владеющих hex-редактором. А процент осознающих свои действия среди переименовывающих файлы соответственно значительно меньше процента осознающих свои действия с hex-редактором.
2. Идея перебора всех файлов и дальнейшем выборе среди них наиболее подходящего всё-таки не смотрится. Во-первых, загружается куча ненужной информации. Во-вторых, могут быть разные шрифты для одного и того же размера (Arial и Courier, скажем) - логичнее загружать шрифт всё-таки по имени. В-третьих, все шрифты одного начертания (Arial всех размеров) лучше хранить в одном большом файле, содержащем все заложенные размеры.

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
PostPosted: Fri Nov 07, 2008 5:18 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Заголовок нужен. Всё равно библиотеке придётся создавать структуру данных с параметрами шрифта. Так пусть она будет в заголовке. Но я согласен с bw в отношении новых форматов. Хотелось бы работать с уже существующими форматами.

В папке fonts лежат борландовские шрифты. На фига ?


Top
   
PostPosted: Fri Nov 07, 2008 5:21 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Quote:
В папке fonts лежат борландовские шрифты. На фига ?

Потому что есть стандартный подключаемый файл для работы с ними и есть демка bgitest, демонстрирующая их вывод.

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
PostPosted: Fri Nov 07, 2008 5:55 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
> в любом случае шрифт нужно создавать
Если ты читал мои сообщения внимательно, хотя это и так известно. Уже существует масса битовых шрифтов в raw формате. У меня где-то коллекция валяется (с 10 файлов). Если поискать в интернете, можно еще тучу их найти.

> По статистике число пользователей, умеющих переименовывать файл, значительно больше числа пользователей, владеющих hex-редактором.
Ну если ты расчитываешь на такого пользователя, то расчитывай и на то что он не только имя шрифта может изменить, но так же может переименовать библиотеку, приложение, ресурсы, а то и перенести их в ту или иную директорию. Что-то я не замечал особых мер, которые бы принимались по такому поводу в KOS.

> все шрифты одного начертания (Arial всех размеров) лучше хранить в одном большом файле, содержащем все заложенные размеры
Вот как раз для этого и стоило бы подумать над отдельным форматом. А существующие raw-шрифты оставить в покое, с миром :-).

..bw


Top
   
PostPosted: Fri Nov 07, 2008 6:18 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Но кроме этой демки есть программы их использующие ?


Top
   
PostPosted: Fri Nov 07, 2008 6:42 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5067
Rtf read юзает их, но эта программа отстой и её вообще надо убрать из дистра вместе со всеми этими неиспользуемыми шрифтами.
Или модернизировать её.

_________________
Через тернии к звездам


Top
   
PostPosted: Fri Nov 07, 2008 10:14 pm 
Offline
Kernel Optimizer
User avatar

Joined: Mon Jan 16, 2006 7:58 pm
Posts: 657
to all
Итак, стоит прекратить спор, я высказал идею, которую мне реализовывать. С другим форматом нужно иметь его описание, структуру, если у кого-то имеется такое описание прошу ссылку на доку.
Иметь 1 огромный файл, который будет содержать все форматы можно. Однако, размер его будет ~10 или более Мб (для каждого разрешения своя картинка + заголовок).
Свой формат шрифтов рассматривается как наиболее подходящий для работы с 65 функцией. В любом случае для вывода из любого другого, допустим векторного формата, нужно будет преобразовать текст в raw картинку.
Итак если будет дока на адекватный формат raw шрифта, я сделаю его поддержку.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 118 posts ]  Go to page Previous 1 2 3 4 58 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:  
cron
Powered by phpBB® Forum Software © phpBB Limited