Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > C64 Font problem on Windows 7, any suggestions to fix?
2014-08-29 19:29
almightyc64

Registered: Feb 2006
Posts: 8
C64 Font problem on Windows 7, any suggestions to fix?

Hi there, in my D64 Editor program that I wrote many years ago, I created a Bitmap font for display of the C64 Charset and on Windows 95/98/ME/2000/XP it displays correctly. However, on Windows 7 a handful of the characters don't display correctly.

Here's a link to a screenshot of the difference between Windows XP and Windows 7. The screenshot on the left-side is from Windows XP and the majority of the characters display with no problems. The screenshot on the right-side is from Windows 7 and a bunch of the characters (the entire second row for example) are broken.

http://almighty.c64.org/win7-bitmap-font-problem.gif

Anyone else run into a similar problem with Windows 7 and Bitmap fonts and know how to fix it?

Thanks!
Forrest
 
... 1 post hidden. Click here to view all posts....
 
2014-08-30 18:54
soci

Registered: Sep 2003
Posts: 473
I get proper font on my machines if I initialize like this:
jsr $ff84 ; reset CIA bank (just in case)
jsr $ff81 ; reset VIC-II
2014-08-30 20:15
soci

Registered: Sep 2003
Posts: 473
You have problems in both. I think the original plan must have been something like this:



Use Unicode private mapping for characters, real bitmaps, or a platform where the font is built in ;)
2014-08-30 20:42
Oswald

Registered: Apr 2002
Posts: 5017
thats the coolest arrangement of the rom font ever
2014-08-30 20:58
aNdy

Registered: Jan 2004
Posts: 41
PETSCII release right there! ;)
2014-08-30 21:06
soci

Registered: Sep 2003
Posts: 473
Oswald: It's not the whole ROM font, just the part you can use in directory lists.

I must admit I had to update the picture as it had two faults. It also had serious moire patterns. Now it has stripes instead... ;)
2014-08-31 08:57
Dr.j

Registered: Feb 2003
Posts: 276
@almightyc64: Thanks for listing the bug that i got on win 7.
we already discussed about it.
idea for solving the bug is to use a picture you snapped
from XP and to show this on Win 7 but maybe you got elegant
ways to solve it. cheers my friend
2014-09-02 13:33
almightyc64

Registered: Feb 2006
Posts: 8
Thanks for the replies guys. Soci's screenshot is exactly what I was going for anyway, and he's right that the Windows XP screenshot had a few issues as well, but it was definitely better than the result on Windows 7 anyway.

Looking at the font with a font editor, it looks like all of the "problem" characters either are assigned as Control Characters or as "unknown" characters in the standard windows font format. Specifically broken characters are 16-32, 141, 143, 144, 129, 157, etc..
But interestingly, the first row of characters also seem to be assigned as Control Characters yet they display correctly.

Fonts is definitely not my area of expertise, and I put this thing together 15 years ago so I don't remember much about it's creation. I was just hoping that maybe there was a compatibility setting I could flip somewhere in Windows 7 to get the font to display like it did on the older OS, but so far I've been unable to find anything about this while searching online. I'm guessing my next step will be to try to find a replacement font, probably a TTF instead of a bitmap font.

To answer Endurion's question about what I'm using to display the font. The program is written in old Visual Basic 5, and it's simply using the Textbox/Listbox/Label/etc... features with the bitmap c64 font assigned to it.

Unfortunately the fix isn't as simple as Dr.j is hoping. I could fix the display in the Filename Builder screen by replacing the problem areas with image files instead, but it would still be broken in every other area of the program that displays the directory.

Thanks!
Forrest
2014-09-02 21:12
soci

Registered: Sep 2003
Posts: 473
This was just released:
http://style64.org/release/c64-truetype-v1.2-style

These mappings look interesting at first:

$e000 - Upper PETSCII
$e100 - Lower PETSCII
$e200 - Upper PETSCII inverse
$e300 - Lower PETSCII inverse

However it's not directly usable for displaying all directory lists as control codes ($00-$1f, $80-$9f) are simply blanks instead of the reverse characters displayed in quote mode.

There are of course the screen code areas containing everything:

$ee00 - Upper screen code
$ef00 - Lower screen code

And a lot of random mappings to make regular text readable with C64 characters, plus some extra 8x8 characters which do not exists on C64. (like ^ )

For easy implementation you could use the PETSCII area mostly, and the screen code area for the reverse control characters.

I don't know much about VB5, but you could try to copy-paste characters from the windows character map utility, it might work.

And in theory there's ChrW for accessing these high character mappings when you want to convert the filenames to a displayable string.
2014-09-02 22:34
almightyc64

Registered: Feb 2006
Posts: 8
Thanks Soci, I took a look at the Style font package earlier and Elwix/Style was kind enough to give me some suggestions on how they make use of their fonts. They ran into the same problem that I'm now facing where if you use $00-FF, regardless of what glyph you might have drawn for a character some of the characters are special use and will never be displayed as a character on the screen. Which is why even on the older Windows XP machines some of the characters didn't display correctly in my screenshot.

I'm still puzzled on what changed between Windows XP and Windows 7 to cause additional characters to no longer be displayed properly, but perhaps it's a Visual Basic compatibility problem on the newer OS. VB is very old anyway.

So it definitely looks like if I want to resolve the problem for good I need to use a font like Style's font pack and do the memory conversion back and forth in my program between where they've mapped their charactersets and what Visual Basic is expecting. Bad thing about that is some Visual Basic components just aren't well suited for on-the-fly conversion, such as free-form text boxes.

This may end up being one of those things that works "well enough" as-is, which it does since the vast majority of characters display correctly. The Style fonts are also differently sized than the one I'm using, so I'd need to go through the program and resize pretty much everything to fit their smallest 8.5pt font (my bitmap font is 6pt).

All in all it probably isn't worth the effort, especially since there are better programs than my D64 Editor. It's still useful to me, but for anyone that cares about things like the extended characterset displaying correctly etc... I would assume a program like DirMaster from Style is a much better choice.
2014-09-03 21:27
almightyc64

Registered: Feb 2006
Posts: 8
And to bring the idea of changing the font to a close, after experimenting with Style's font pack it appears that Visual Basic components do not support Unicode format characters (only ANSI). Searching around online I found other people with the same problem, and on the surface it appears that Visual Basic has components that support Unicode, but they don't work and were intended to be used with the Microsoft Office applications only.

So it looks like replacing the font isn't going to work with the old D64 Editor. Luckily the vast majority of the characters display correctly, so it hasn't been much of a problem. It specifically came up because the character that Koala Paint files begin with doesn't display correctly anymore, but did work correctly on Windows XP and prior OS versions.
Previous - 1 | 2 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Krill/Plush
Sande/Hokuto Force
WVL/Xenon
Grue/Extend
QuasaR/CENTRiC
Guests online: 127
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Bromance  (9.6)
10 Memento Mori  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Onscreen 5k  (9.5)
8 Wafer Demo  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Original Suppliers
1 Derbyshire Ram  (9.5)
2 Black Beard  (9.4)
3 hedning  (9.2)
4 Baracuda  (9.1)
5 Irata  (8.5)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.04 sec.