Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (408)
games submitted by our members
Games in WIP (293)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Fonts  (Read 1045 times)
0 Members and 1 Guest are viewing this topic.
Offline zeroone
« Posted 2011-12-27 18:15:13 »

What are the best practices for fonts and Graphics.drawString() ?  What is the minimum set of things to do to get consistent rendering results across different systems?
Offline Alan_W

JGO Knight


Medals: 7
Projects: 3


Java tames rock!


« Reply #1 - Posted 2011-12-28 09:02:48 »

Java has some in built mappings for virtual serif and sans-serif.  (Serif, Sans-serif, Monospaced, Dialog, and DialogInput.)  These map in an implementation specific way, but work cross platform.  If you request an actual physical font by name, the system may not have it.

Serif tend to map to Times Roman generally.  Sams-serif maps to a Helvetica style font (Arial on Windows)

Time flies like a bird. Fruit flies like a banana.
Offline zeroone
« Reply #2 - Posted 2011-12-28 15:45:46 »

Quote
Java has some in built mappings for virtual serif and sans-serif.  (Serif, Sans-serif, Monospaced, Dialog, and DialogInput.)  These map in an implementation specific way, but work cross platform.  If you request an actual physical font by name, the system may not have it.

Serif tend to map to Times Roman generally.  Sams-serif maps to a Helvetica style font (Arial on Windows)

But what about the effects of different DPI settings and OS's in terms of size and positioning?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline ra4king

JGO Kernel


Medals: 265
Projects: 2


I'm the King!


« Reply #3 - Posted 2011-12-28 23:13:40 »

Yes different OS's will have different font sizes.

Offline zeroone
« Reply #4 - Posted 2011-12-29 00:03:47 »

Quote
Yes different OS's will have different font sizes.

So, we're stuck with bitmap fonts?
Offline ra4king

JGO Kernel


Medals: 265
Projects: 2


I'm the King!


« Reply #5 - Posted 2011-12-29 00:05:26 »

Not really, the differences aren't huge anyway. I played my game on a Mac and even though the font was a tiny bit bigger than on Windows, nothing was broken at all. You just have to give yourself some breathing space.

Offline zeroone
« Reply #6 - Posted 2011-12-29 00:20:19 »

I only have access to a Vector-06C.  I'm not sure how much "breathing space" to leave.
Offline ShannonSmith
« Reply #7 - Posted 2011-12-29 00:22:49 »

Quote
Yes different OS's will have different font sizes.

So, we're stuck with bitmap fonts?

You can always use FontMetrics to get the pixel size and either derive a font to get the pixel size you are after or scale appropriately before drawing.
Offline pjt33
« Reply #8 - Posted 2011-12-30 12:32:04 »

If you have sufficient bytes, FontMetrics is the way to go. It lets you align to left, right or centre, and it lets you get line spacing correct. I used it for Gravitational Fourks because that had quite a lot of text.

If you don't then allowing for a variation of 15% either way is ample. If you're feeling bold you could assume that Sun chose suitably consistent default fonts and that other organisations haven't messed them up too much and reduce that to 5%. OTOH I know that Flash games often break badly for me because of bad assumptions about text layout or font sizes, so I'm inclined to caution.
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Get high quality music tracks for your game!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (145 views)
2013-05-17 21:29:12

alaslipknot (153 views)
2013-05-16 21:24:48

gouessej (184 views)
2013-05-16 00:53:38

gouessej (178 views)
2013-05-16 00:17:58

theagentd (188 views)
2013-05-15 15:01:13

theagentd (173 views)
2013-05-15 15:00:54

StreetDoggy (216 views)
2013-05-14 15:56:26

kutucuk (241 views)
2013-05-12 17:10:36

kutucuk (239 views)
2013-05-12 15:36:09

UnluckyDevil (245 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.077 seconds with 22 queries.