Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Create a font that is always the same size, regardless of the video settings

Posted on 1998-11-19
4
Medium Priority
?
194 Views
Last Modified: 2013-12-02
I create fonts usign the following method :

int pts = 12;
int height = -((pDC->GetDeviceCaps(LOGPIXELSY) * pts) / 72);
CFont font;
font.CreateFont(height, 0, 0, 0, (bBold ? FW_BOLD : FW_NORMAL), (char)bItalic, (char)bUnderline, 0,
DEFAULT_CHARSET, OUT_CHARACTER_PRECIS,
CLIP_CHARACTER_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH |
FF_DONTCARE, fontName);

This is fine in the normal case, but if I go in my video settings (Start~Settings~Control Panel~Display~Settings). There is an option for Font Size, which will let you select "Large fonts". Also, with some video card drivers, it is possible to select a ratio of the normal size for a font (120% of normal, for example).  So when I create a font with a given number of points, I end up with many different possible font sizes...

What I need is a way to create a font that wont be affected by this setting (ie the font will alway be the same number of pixels high for a given pts setting).  Is there a way I can go around that setting ???

Thanx
0
Comment
Question by:yletour
4 Comments
 
LVL 8

Expert Comment

by:Answers2000
ID: 1325000
Try DRAFT_QUALITY and stick to true type
0
 
LVL 2

Expert Comment

by:wyy_cq
ID: 1325001
you create two font types, one for 640*480,one for 800*600, you can select the proper font according to the video setting.


0
 

Author Comment

by:yletour
ID: 1325002
This solution does not answer to the question.  How can I know if the user has Large Fonts or not enabled ?
0
 
LVL 6

Accepted Solution

by:
snoegler earned 400 total points
ID: 1325003
Use GetDeviceCaps(LOGPIXELSX)/GetDeviceCaps(LOGPIXELSY) on the display dc.
It will return the DPI settings - which are equal to the DPI selected in the 'Display Properties'.
So 120 DPI = 125% of usual size, ...
Hope this is still of interest :)
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Finishing the grid – keyboard support for arrow keys to manoeuvre, entering the numbers.  The PreTranslateMessage function is to be used to intercept and respond to keyboard events. Continuing from the fourth article about sudoku. …
Have you tried to learn about Unicode, UTF-8, and multibyte text encoding and all the articles are just too "academic" or too technical? This article aims to make the whole topic easy for just about anyone to understand.
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
Suggested Courses

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question