"Juicy Fonts"

Community Forums/Developer Stations/"Juicy Fonts"

big10p(Posted 2006) [#1]
After what seems like a lifetime, Juicy Fonts is finally ready for public consumption. :)

Some details:

Juicy Fonts is a Freeware, easy-to-use utility that allows you to create bitmap fonts for use in your own Blitz3D and BlitzPlus games and applications.

Juicy Fonts features include:

- Intuitive GUI (Graphical User Interface).
- Create fonts based on any of the TrueType fonts installed on your computer.
- Create fonts that only contain the characters you need (no wasted, unused characters - keeps the font image as small as possible).
- Fonts can be any size from 8pt. to 150pt.
- Export font images in .png, .tga or .bmp format (24-bit).
- Font images are optimally packed to keep them as small as possible.
- Create hollow, outline-only fonts.
- Variable sized drop shadow effect, positioned at any angle.
- 10 outline styles available in 20 sizes each.
- All font previews have multi-level zoom capability (x2 to x16).
- Interactive Color Picker: immediately see results while choosing a new color.
- Full control over the kerning of individual characters.
- Negative kerning allows the creation of funky fonts with overlapping characters.
- 'Test Font' dialog lets you check your font appears the way you want.
- The provided User Function Library makes it easy to incorporate fonts into your own programs.
- Comprehensive documentation: Users' Manual and Command Reference.

Please note that Juicy Fonts does not currently support 3D fonts (font textures).



For full details, screenshots and download, please visit the Juicy Fonts Website.

If you have any comments/criticisms, bug reports or questions regarding Juicy Fonts, you can post them here or email me (address in profile). Thanks.


Paul Murray(Posted 2006) [#2]
Very nice, I've got a feeling I'll be using this.

Is there anyway to get it to run in a window?


tonyg(Posted 2006) [#3]
Looks very nice and, after a quick check, seems easy to use as well.
p.s. Any plans for a BMax module?


big10p(Posted 2006) [#4]
Is there anyway to get it to run in a window?
No, sorry Muzzer. I was thinking of having a windowed mode but didn't bother in the end because my dev machine only supports 800x600 anyway, so there seemed little point, from a personal view. I originally started writing Juicy Fonts as a tool for personal use only. :)

I can add a windowed mode if people really want it, although I fear this may cause problems when switching out/back to the app (I had some strange things happen while testing this). First, I want to see how well the initial release works for people so I can fix any bugs that may have escaped me.

Any plans for a BMax module?
Not at the moment, tonyg. I have yet to buy Bmax so I'd have to get it and learn it before that could happen. Maybe in the future. :)


lol, this is going well. I'm losing 2-0 already! :P

Thanks for the comments, guys.


Paul Murray(Posted 2006) [#5]
Shame about the window mode, I tend to have alot of programs open and change between them alot. Clicking o the window is alot easier than ALt + Tab, or Windows + M


Pinete(Posted 2006) [#6]
Hi!
First of all, congratulations for the tool, it's great!
Just a question..
Does it supports the generation of unicode fonts??

Thanks in advance!


big10p(Posted 2006) [#7]
Thanks Pinete.

Since neither Blitz3D nor BlitzPlus support unicode fonts, neither does Juicy Fonts, I'm afraid. It only supports the 8-bit ASCII (extended) character set.

Hope you (and others) can still make use of it, though. :)


Avon(Posted 2006) [#8]
Hey - this is fantastic! And freeware... wow! Many thanks for this big10p, it is sure to come in useful.


Beaker(Posted 2006) [#9]
Well done. Nice to see some healthy competition for Fontext. :)

Any plans to support 3D?

Windowed mode is likely to be more stable than fullscreen, cos DX handles multiple windows better than it does mixing windowed/fullscreen together. Having the option in an ini file can't do any harm either way.


Grey Alien(Posted 2006) [#10]
ah, you've released it then! Good luck with it, I'll try it soon ...


big10p(Posted 2006) [#11]
Avon: Thanks. :)

Grey: Yep, it's out AT LAST! :P I'm just pleased I managed to finish it as I didn't much enjoy the final 10% of development, for various reasons. And who likes writing docs??? :/ It's written using the 2D command set of Blitz3D but it would have made more sense to do it with BlitzPlus, really. That would have saved me from having to write the GUI and would have given me better/faster image manipulation, I guess. Anyway, that's moot as I don't have BlitzPlus and it's all done now. :)

Beaker: Thanks, but I don't see Juicy Fonts stealing FONText's crown anytime soon. :) Anyway, that wasn't my intention as I actually see the two apps as having subtley different purposes: FONText is an all-round tool whereas JF is more specialized towards the creation of 2D fonts that need precise kerning (to allow overlapping characters, etc).

Because of this, it's unlikely JF will ever support 3D fonts. Because of JF's precise kerning, I see translating this into a 3D environment as difficult. Anyway, we have FONText for 3D, right? ;)

Windowed mode is likely to be more stable than fullscreen, cos DX handles multiple windows better than it does mixing windowed/fullscreen together. Having the option in an ini file can't do any harm either way.
I've been pondering the possibility of windowed mode, but there are some 'technical difficulties'. First of all, JF has to run in 32-bit mode so that the created fonts are of the highest quality (only really an issue for colour gradients), and also the internal image manipulation routines are hard-coded to work with 32-bits atm.

I'm also unsure how well Blitz3D will handle my internal images when switching in/out of the app. Can I guarantee the images will be intact and located at the same place in VRAM when I switch back into the app? I'll have to think about this some more and do some research, I s'pose. :)


Thanks for all the feedback, everyone! :)


TeaVirus(Posted 2006) [#12]
big10p
Very cool editor, thanks! One bug report though. Selecting this font causes a mav:
http://www.evillink.net/stuff/ATOMICCLOCKRADIO.TTF


big10p(Posted 2006) [#13]
Thanks TeaVirus, I'll look into it.

[edit] That font seems to work fine at my end, TeaVirus.

Do you get the MAV when selecting it in the font list box, or when you click OK?

Do you get the MAV everytime you select it, or only ocassionally?

Thanks.


TeaVirus(Posted 2006) [#14]
It happens when selecting the font in the listbox. I've tried several times and it happens every time. I have many other fonts that all come up just fine, it's just this one for some reason. Also, in case it's important, the very first entry in the font selection listbox is empty.


big10p(Posted 2006) [#15]
the very first entry in the font selection listbox is empty.
Well, that shouldn't happen, for starters.

What happens if you click on the empty selection, does a font get displayed? If so, what name is displayed between the quotes, above the preview pane?

I suspect the problem isn't with the font at all. It sounds like a font on your system is causing the listbox code to screw up when trying to read font names. I'll investigate.

P.S. can you please also check that you can load and display the font causing the MAV in blitz. Thanks.


big10p(Posted 2006) [#16]
I've looked at the code and the only way an empty list item can be created is when the function that gets the font name from the TTF file returns an empty string. I didn't write this function so am not sure why this is happening.

To identify the troublesome font(s), could you please run the code below and post the contents of the produced font.txt file.


However, this problem still doesn't explain why you get a MAV when clicking on the Atomic Clock font. That should still work, despite the empty list item problem.

All I do in-code is use the list item string with the LoadFont command. :/


TeaVirus(Posted 2006) [#17]

What happens if you click on the empty selection, does a font get displayed? If so, what name is displayed between the quotes, above the preview pane?

The font display box is empty and there is nothing between the quotes ("" is displayed). EDIT: Actually, I just double-checked and when selecting the blank entry the last displayed font remains in the preview window but the name is blank.

Here's the output:

Note that there was a blank line at the end of the output text file. I haven't looked over the code so I'm not sure if that means anything important or not.

I'm not sure what could be happening with the MAV. I've loaded that font in other applications on my PC like Photoshop and Word and didn't have a problem.


big10p(Posted 2006) [#18]
You have 6 fonts on your system that the function I'm using is failing to find the name of. They are:
vera.ttf
VeraMoBd.ttf
VeraMono.ttf
VeraSeBd.ttf
Mathematica2m.ttf
math2m__.ttf
I downloaded vera.ttf from the net and had the same problem - a blank list item.

I don't know why that's happening because, as I say, I didn't write the function. However, this does explain the blank list item. I'll have to read up on the TTF file format to see if I can figure out what's going wrong. In the meantime, please could you try this new version of juicy_fonts.exe that fixes the issue by ignoring the troublesome fonts:

[edit] download removed.

I'm still scratching my head over the MAV issue because, as I said, the Atomic Clock font works on my machine. Anyway, can you please confirm you still get the MAV with the new version. Thanks.


TeaVirus(Posted 2006) [#19]
Ok, the blank list item no longer shows up with this version.
The mav is still happening when Atomic Clock Radio is selected unfortunately.


big10p(Posted 2006) [#20]
OK, thanks TeaVirus. I'll look into this some more tomorrow.

Could someone else with a winXP machine please download the Atomic Clock Radio font and let me know if it works? I only have win98 machines to test on and I'm rapidly running out of ideas. :/


big10p(Posted 2006) [#21]
TeaVirus: Can you clarify a few things please:

You say you get a MAV when 'selecting' the font. Do you mean just by clicking once on the font name to highlight it, or do you mean when you double click the font name?

If you mean just by clicking on it once, can you confirm you still get the MAV when selecting it using the keyboard (up/down arrow keys).

Finally, can you confirm the error only occurs with the Atomic Clock Radio font, and not with any others. Thanks.


TeaVirus(Posted 2006) [#22]
Do you mean just by clicking once on the font name to highlight it, or do you mean when you double click the font name?

A single click on the font name produces the mav.
If you mean just by clicking on it once, can you confirm you still get the MAV when selecting it using the keyboard (up/down arrow keys).

Selecting the font by using the arrow keys to manipulate the listbox produces the same result.
Finally, can you confirm the error only occurs with the Atomic Clock Radio font, and not with any others.

I've gone thorough the entire list and this is the only font creating a problem.

I'll give this a try on a couple other systems today and let you know the results.


big10p(Posted 2006) [#23]
I'll give this a try on a couple other systems today and let you know the results.

Thanks.

It's hard trying to track down a bug I can't reproduce. :/

BTW, I've fixed the bug with those fonts that I couldn't read the name of, causing the blank list item. I completely re-wrote the function - those fonts should now be useable in the next update.


Amon(Posted 2006) [#24]
Nice program, will definately use this.

Thanks :)


big10p(Posted 2006) [#25]
Cheers Amon. :)

Please, can you (or someone else with XP) download the Atomic Clock Radio font and see if it causes a MAV, like TeaVirus? Thanks.

I'm ready to release an update but want to get to the bottom of this strange problem, first.


Dragon57(Posted 2006) [#26]
I just tried both the executables you have released against the Atomic Clock Radio font and I do get a MAV with each .exe. I tried this on the AMD machine in my sig.


big10p(Posted 2006) [#27]
Oh dear. Thanks for testing, Dragon.

I'm going to release an update today compiled with the latest version of Blitz3D and see if that magically get's rid of this MAV. Maybe it's a DEP/AMD64 related issue - although TeaVirus doesn't have a AMD64, according to his sig specs. I dunno - I don't know what else to try!


big10p(Posted 2006) [#28]
OK, I've compiled a new version with the latest Blitz3D update. Can anyone getting a MAV with the Atomic Clock Radio font please try this new version:
http://juicyfonts.mysite.wanadoo-members.co.uk/downloads/juicy_fonts.exe

If you still get the MAV, can you please try running this Blitz3D code snippet:
	Graphics 800,600,32

	Const IMAGE_WIDTH%	= 394
	Const IMAGE_HEIGHT%	= 160

	image = CreateImage(IMAGE_WIDTH,IMAGE_HEIGHT)
	
	font = LoadFont("Atomic Clock Radio",32)
	SetFont font

	SetBuffer ImageBuffer(image)
	ClsColor 0,0,0
	Cls

	Color 255,255,255
	Text IMAGE_WIDTH/2,0,"The quick, brown fox,",True,False
	Text IMAGE_WIDTH/2,32,"jumps over the lazy dog.",True,False
	Text IMAGE_WIDTH/2,64,"THE QUICK, BROWN FOX,",True,False
	Text IMAGE_WIDTH/2,96,"JUMPS OVER THE LAZY DOG.",True,False
	Text IMAGE_WIDTH/2,128,"0123456789",True,False
	
	SetBuffer BackBuffer()
	DrawBlock image,0,0	
	Flip
	
	WaitKey()
	End


Thanks.


TeaVirus(Posted 2006) [#29]
big10p:
Sorry I haven't had time to do any more testing but at least the problem has been confirmed. You might want to host the font file so that others can test. My DSL is currently down.


big10p(Posted 2006) [#30]
TeaVirus: No problem. I appreciate you have higher priority ways of spending your time, other than testing this. :)

Yeah, I'll host the font. Bit cheeky of me pointing people to your link. Sorry about that. :P

Thanks!


Dragon57(Posted 2006) [#31]
The latest .exe does not MAV when I select the Atomic font the first time, but neither does it display the font sample in the window. If I click on OK after selecting the font, the MAV shows up.


big10p(Posted 2006) [#32]
Dragon57: Are you saying the sample window goes completely blank, or does it just keep displaying the previously selected font?

What happens when you run the code snippet above?

I'm getting more and more convinced there's a problem with the LoadFont command on some systems. Hmmm.

Thanks again for testing this. ;)


Dragon57(Posted 2006) [#33]
The sample window changes from whatever sample was displayed at startup to a blank, black rectangle.

The code snippet above generates a black screen.


big10p(Posted 2006) [#34]
Oh, right. Well, there's obviously a problem with LoadFont working with that particular font (and probably others) on some systems. There's not much I can do about that.

Cheers.


big10p(Posted 2006) [#35]
Juicy Fonts v1.1 is now publically available for download from the website.

What's New:
Fixed bug where some fonts don't get displayed in the font listbox and caused a blank item at the top of the list.

-------------------------------------------------------
I was unable to resolve the issue causing the MAV with the Atomic Clock Radio font as it appears to be a problem with blitz and that particular font, on some systems.

As such, there's little I can do about it. Sorry.