PDA

View Full Version : Font Studio 4.1



Nitrogen
02-09-2007, 12:45 AM
Hey everyone, it's been a while since I've last had news, but this one is a good one:
Font Studio 4.1 is done, and it's finally got ... PLUGINS!
Thats right, you can write your own exporters for it, and queue up a chain of different exporters!

Get it here:
http://www.nitrogen.za.org/projectinfo.asp?id=12

The Export Dialog:
http://www.nitrogen.za.org/gallery/FontStudioExport.jpg

arthurprs
02-09-2007, 01:03 AM
nice

chronozphere
02-09-2007, 08:02 AM
That is absolutely great :D :thumbup: I will take a look at that.

vgo
02-09-2007, 08:08 AM
Great news! 8)

The best font creator software just got even better! ;)

technomage
02-09-2007, 09:07 AM
Fantastic :)

Is there a new example unit for using these font's in opengl or directX? or does the old unit from the 3.0 source still work?

Nitrogen
02-09-2007, 11:23 AM
I'll post up a new example unit in a few days... it's mostly the same just a slight format change.

technomage
02-09-2007, 11:42 AM
cool :)

farcodev_
02-09-2007, 01:41 PM
awesome and very professional app :shock:

arthurprs
02-09-2007, 02:22 PM
Plugins work perfectly,
i can export directly to my own xml format now =)

Luuk van Venrooij
02-09-2007, 05:42 PM
Very nice, I currently still use 3.0 for my engine, time to add support for 4.0:)

savage
05-09-2007, 11:46 AM
Can you create Font Textures that look like this...

http://www.nubik.com/SpriteFont/Images/result.png

This is the format that XNA supports.

Nitrogen
05-09-2007, 11:46 PM
I did write an XNA exporter, but lacking XNA I dont know if it works correctly. I copied the output format exactly from another bitmap font generator.

{MSX}
10-09-2007, 07:11 PM
Hi! I tried your program and it looks very professional and complete! congrats :P

Anyway i have a strange behaviour. I expected characters to be disposed in rows, one after the other in ascii order, instead i have this strange thing:

http://img114.imageshack.us/img114/8205/immaginety8.jpg

Looks like they are disposed to minimized wasted space, but it seems to be quite random.. Is that the wanted output? I can't see anything similar on the screenshots.

Another question: is it possible to export the font as a PNG with an alpha channel? If not, that would be a nice adding :)

I used a regular Windows XP.

arthurprs
10-09-2007, 09:08 PM
You can try make a plugin, look for a sample on
http://www.nitrogen.za.org/projects/src/fsPLugins.zip

chronozphere
11-09-2007, 02:57 PM
Anyway i have a strange behaviour. I expected characters to be disposed in rows, one after the other in ascii order, instead i have this strange thing:

Looks like they are disposed to minimized wasted space, but it seems to be quite random.. Is that the wanted output? I can't see anything similar on the screenshots.


I guess font studio uses an algo to determine optimal distribution of the character rectangles (so they fit in a small area) :) The charachter rectangles are exported as a data file. So if you want to used these fonts in your own engine, you have to import the font-image and the character-data (the rectangles and some extra param's).

Nitrogen
13-09-2007, 07:15 PM
Yes, it's not strange behaviour, it's supposed to do that!

Font Studio first sorts the letters from biggest to smallest, then performs a binary space partitioning scheme (similar to that used to pack lightmaps) to pack the characters into the least space as possible.

For some reason this freaks out a lot of people. Maybe in the future I'll add a simple row by row character arrangement.

{MSX}
17-09-2007, 06:00 PM
Yes, it's not strange behaviour, it's supposed to do that!

Font Studio first sorts the letters from biggest to smallest, then performs a binary space partitioning scheme (similar to that used to pack lightmaps) to pack the characters into the least space as possible.

For some reason this freaks out a lot of people. Maybe in the future I'll add a simple row by row character arrangement.

Lol, sorry for reporting it as a strange behaviour :)
Indeed it's a neat feature, but you could add that option anyway.

Thanks

arthurprs
22-10-2007, 01:53 AM
Anyone found a way to export do pngs ?

bigsofty
05-01-2008, 02:20 PM
Excellent stuff!

JernejL
05-01-2008, 05:38 PM
Yes, it's not strange behaviour, it's supposed to do that!

Font Studio first sorts the letters from biggest to smallest, then performs a binary space partitioning scheme (similar to that used to pack lightmaps) to pack the characters into the least space as possible.

For some reason this freaks out a lot of people. Maybe in the future I'll add a simple row by row character arrangement.

I am interesting in sort of app that sorts sprites like your app sorts characters, for example, i could give it a set of TGA sprites and it would sort them into such most compact area, and then export that data.. it would come really handy imo, i wrote something similar myself, but i cannot get the partitioning algorythm to work optimally.

bigsofty
05-01-2008, 09:39 PM
Having a quick look at the produced .INI file...


[Header]
NumFont=94
SpaceWidth=6

[FontData]
0Char=33
0A=-1
0C=6
0Wid=13
0Hgt=27
0X1=0
0Y1=0.2109375
0X2=0.00634765625
0Y2=0.421875

Some of the key values are obvious, some are not, where can I find information on them?

Pyrogine
05-01-2008, 10:20 PM
Clicky (http://www.nitrogen.za.org/projectinfo.asp?id=13)

arthurprs
06-01-2008, 12:50 AM
Clicky (http://www.nitrogen.za.org/projectinfo.asp?id=13)

i don't know that such unit exists :roll: , when i used the font studio i have whiten my own exporter :? and a .png exporter http://www.freeshells.ch/~arthurpr/PNGEXPORT.rar

arthurprs
06-01-2008, 12:56 AM
Having a quick look at the produced .INI file...


[Header]
NumFont=94
SpaceWidth=6

[FontData]
0Char=33
0A=-1
0C=6
0Wid=13
0Hgt=27
0X1=0
0Y1=0.2109375
0X2=0.00634765625
0Y2=0.421875

Some of the key values are obvious, some are not, where can I find information on them?

X1
Y1
X2
Y2

are texture coordinates on openGL,

"x1 = x1 chartexture position on texture / total width of texture"
"y1 = y1 chartexture position on texture / total height of texture"
"x2 = x1 chartexture position on texture + chartexture width / total width of texture"
"y2 = y1 chartexture position on texture + chartexture height / total height of texture"

bigsofty
06-01-2008, 02:26 PM
'A' and 'C'?

bigsofty
06-01-2008, 02:27 PM
'A' and 'C'?

Double post? "Forum Error: Debug Mode: Line 234: Emailer"

chronozphere
06-01-2008, 02:50 PM
You should check MSDN ;)

http://msdn2.microsoft.com/en-us/library/ms534215 (GetCharABCWidths)

or this one:

http://msdn2.microsoft.com/en-us/library/ms533996.aspx

arthurprs
06-01-2008, 06:56 PM
'A' and 'C'?

yes


you should sum A in x coordinates before draw, them sum C and Width


Inc(x, charset[i].A);

glBegin(GL_TRIANGLE_STRIP); //
glTexCoord2f(charset[i].xfrac, charset[i].yfrac);
glVertex2f(x, y);

glTexCoord2f(charset[i].xfrac, charset[i].hfrac);
glVertex2f(x, y + charset[i].h);

glTexCoord2f(charset[i].wfrac, charset[i].yfrac);
glVertex2f(x + charset[i].w, y);

glTexCoord2f(charset[i].wfrac, charset[i].hfrac);
glVertex2f(x + charset[i].w, y + charset[i].h);
glEnd; //

Inc(x, charset[i].C);

bigsofty
07-01-2008, 12:52 AM
Very helpful, thank you.

igel457
12-05-2009, 05:45 PM
I just wrote an plugin for FontStudio to save Andorra 2D (http://andorra.sf.net/) fonts.

Download: http://andorra.sf.net/tutots/FontStudioPlugin_AD2D.zip

Probably someone needs it or it could be included in the next version FontStudio.

paul_nicholls
14-07-2009, 11:38 PM
Hi Nitrogen,
I have a feature request for your most excellent Font Studio 4.1...

Do you know if it would it be possible allow it to load a font (ttf) WITHOUT actually installing said font into Windows first?

cheers,
Paul

Andreaz
25-09-2009, 01:23 PM
Hello Nitrogen,

I have written a plugin for the Phoenix font format, but i have two issues:

Firstly phoenix font files ends with .phxfnt but i'm only allowed to return 3 chars from the plugin, and it is not possible to write MyFont.phxfnt in the save dialog manually, it converts to .phx.

Secondly I'm missing information on the line base of each character, ie the distance to shift the character in the Y-Direction (or I don't understand where to extract it from). This is a problem for when I, for instance generates a normal, bold and italic version of the same font and then alternates between the 3 different font sets, the Y-position of the text changes for each font (even through they are printed on the same Y coordinate).

I have tried to align the characters both to the top and to the bottom and it makes no difference (which i didn't expect either)

Othervise, it is a great application!