Jump to content

SmoothText 1.1.8


WildBill

Recommended Posts

Well, I think one flaw in the font adjusting algorithm is that raising the gamma makes black on white text thinner, and lowering the gamma makes white on black text thinner. I think what should be done is applying the gamma adjustment to the alpha channel (the amount the text mixes in with the background). That would make text thicker or thinner as necessary.

I think the hook does differentiate programs, for example, it cannot hook higher level processes such as Kaspersky Internet Security and the Windows Security dialog.

Also, the way the Tuning profiles would work is based on the font. Because by classifying under processes, each process could use a multitude of fonts, instead targeting a specific font and it's particular reaction to tuning would be more effective.

Link to comment
Share on other sites


The "Override standard controls" function causes a fairly significant issue with mIRC, at least for me: If I have it enabled and alt-tab back to mIRC from another app, the active window is greyed out. This stops happening if I disable that function.

Regarding the IE rendering bug I had earlier, incidentally, it's mostly not come back. It did recur once, but I've still not been able to pin down what causes it.

post-69830-1236231179_thumb.jpg

Edited by Targaff
Link to comment
Share on other sites

I've posted version 0.7.8, which fixes a lot of issues on NT4. NT4 behavior is now very close to Win2k, with a few minor exceptions (NT4 users need to carefully select how MS Sans Serif, System, and MS Shell Dlg fonts are substituted -- I'm using Verdana, which comes with it).

I'll have to look into the mIRC bug. I suspect what the culprit might be, but I'll have to investigate (I really thought I had squashed that particular bug, but perhaps I missed something).

I have some bad news for Win98 users: the Win9x architecture might not allow SmoothText to work. SmoothText relies on the fact that when I overwrite code from a shared DLL, a local copy is made (copy-on-write). Win9x doesn't support this. It *might* be possible to use a different architecture where I make a shared DLL that I can trigger to change other shared DLL's, but I have no idea how to do this. I'll leave Win98 support in for now because there are other SmoothText features that do work (and others I have planned), but system-wide subpixel-antialiasing might not be possible (at least, not without help from people who are more knowledgeable than I am in some areas).

Link to comment
Share on other sites

Wildbill,

I am a fellow W2K user and have been following the development of this proggie for a while.

Great, great work!

I may have expressed my thanks earlier in this thread, but wanted to throw another big THANKS your way.

I work on the computer probably over ten hours every day and my eyesight isn't the greatest, so this effort is sincerely appreciated!

Is it in the works to have SmoothText also affect Windows' title bars?

Link to comment
Share on other sites

I'm glad you like it. One of the things that's been nagging me is whether people are actually using it, or at least enough to justify all the work put into it. I know that Win2k will reach EOL in July, 2010, and I'm wondering what life will be like, then...will people be porting security fixes to it so I/we can continue using it, or will we be forced to XP? I hope this won't be all for nothing, because Win2k is a great, great OS.

There are lots of things that I'd like to give SmoothText, but I don't know how far I'll be able to get. Here's a list of what's been on my mind:

- NT4 support: I need probably another day of fiddling with it to get it up to current Win2k levels. I think there's just an issue with menu item width and then it will be "there".

- More Win2k "extras": if anyone has been looking at the code, you might see a stub class called something like TLayeredBehavior. I'd like to take a stab at "proper" layered taskbars, where I have control over translucency of various parts, with decent speed when things are moved under it. I have a lot of code in my experimental TClock3 that should be very useful for it.

- Taskbar skinning. One reason I haven't worked further on TClock3 is because my implementation is just a bad design -- I really jumped into it without properly designing it. I've been designing a skinning subsystem in the back of my mind for a while, and it should work well as one of SmoothText's "behaviors" that can be turned on or off.

- Full skinning. Just an extension of the above, really.

- API extensions. I really have no idea how to do this, and if it's really appropriate as part of SmoothText, so I might break that out into a separate (but similar) program (or I might not do it at all). The idea is to be able to extend the Windows API *without* having to change any files. I know how to extend via dynamic loading, that is, when applications call GetProcAddress (because I can override it just like I override text API calls), but I don't know how to override the PE loader so that Import Address Table entries can be added, fixed-up, whatever you might call it when an EXE or DLL is loaded. That might be something someone else has to take up, but I wanted to throw the idea out there.

There are a lot of unknowns around layered windows for me, so trying it with taskbars will be the first baby step. I'd also like to implement title bar text smoothing without skinning, that is, mimicking current behavior, and that will probably be the first stab before I try skinning it. At any rate, a lot of the skinning code will be coming in some form from TClock3, and some of it has already been very useful (when SmoothText overrides standard controls it *is* skinning them, albeit by a different method). It should definitely go quicker than TClock3 development has since a lot of it has been already written. None of you have seen the TClock3 that I have, which skins most everything, supports animations, etc. It's too bad it's such a hack and is so unstable. I want the SmoothText version to be done "right", with a proper editor that can show what it will look like. It's the sort of thing I have to take one small step at a time, but I've already had a lot of sleepless nights when my mind just wouldn't turn off and insisted on designing parts of it.

Link to comment
Share on other sites

I'm glad you like it. One of the things that's been nagging me is whether people are actually using it, or at least enough to justify all the work put into it. I know that Win2k will reach EOL in July, 2010, and I'm wondering what life will be like, then...will people be porting security fixes to it so I/we can continue using it, or will we be forced to XP? I hope this won't be all for nothing, because Win2k is a great, great OS.

Windows 2000 is awesome². Personally, I don't think it needs security fixes by now, but support for it is dropping. It may just be my way of thinking, but if the human race doesn't survive in a million years, has everything all been for nothing? But seriously, enterprises and corporate computers probably still use Windows 2000 because of upgrade costs, so try pushing the SmoothText idea to them.

Or make it well-featured and push it into the XP realm as a ClearType competitor (Microsoft won't like that.)

I've already had a lot of sleepless nights when my mind just wouldn't turn off and insisted on designing parts of it.

Been there, done that, got the T-Shirt, innumerable times for whatever subject, program, etc.

-------------------------------------

About tacking on skinning to SmoothText, I'll just ramble on about my opinion, so read it if you want:

I thought for a bit about TClock, SmoothText, skinning in general, and came up with this notion: a bunch of little apps for skinning each item. For example, a program to skin buttons, a program to skin titlebars, a program to skin checkboxes, etc... That would be hard to crash all at the same time, and tie it into a central control program: very modular skinner. But to compensate for not sharing subroutines, and maybe a little less efficient resource utilisation, etc, maybe not a seperate proggie for every little component, but grouped as necessary.

Anyway, that's just my two cents.

Edited by Colonel O'Neill
Link to comment
Share on other sites

For the time being, I'm keeping everything combined, but I came up with the small, Behavior-based architecture so features can be tested individually as well as potentially broken up/combined in different ways.

As far as XP goes, one OS at a time. Testing on different OS'es is hard, LOL!

Tihiy, sorry for taking so long to reply. What do you have in mind? It would be pretty easy for me to break out the global text-smoothing stuff out into a separate DLL. Maybe you could then add it to the Win98 Revolutions Pack? Let me know what you think would work.

Anyhow, the current SmoothText status (releasable soon, I hope):

- WinRAR bug fixed (was a weird bug with Static controls)

- Fixed several threading issues.

- Glitches with button controls seem to be fixed.

- Simple taskbar translucency is working (where you set the translucency for the entire taskbar). I don't think this is all that great a feature yet, so I'm now looking at trying to have per-pixel alpha blending (which I think is possible, but I'm still trying to work out the details in my head).

- Quite a few internal improvements, prepping for future stuff.

Link to comment
Share on other sites

It's kinda late so I'll keep my post brief:

WinRAR bug fixed ^^

Have a look at TrueTransparency, it does alpha PNG on 2000, same with GlassToast, RocketDock, etc.

ObjectBar replaces the taskbar with it's own, which you can do similarly, but with Alpha blending.

Link to comment
Share on other sites

Just a quick update: it took me a while to find the incorrect parameter I was setting for UpdateLayeredWindow, but I finally have it working. I still need to make a lot of refinements, but I have overall taskbar alpha with different alpha values for the Start button and system tray. There's finally light at the end of the tunnel, now, though.

Link to comment
Share on other sites

That's very strange. What font is selected? Is it just random text that you typed?

As a side note, the next version of SmoothText is coming along very nicely. I have translucent taskbars working, though it's not 100% complete yet (I have to put in one more piece of code so it can redraw properly when you move or resize the taskbar). Otherwise, it's pretty awesome, though I've had to write a lot of code and overhaul the architecture yet again to get the flexibility and simplicity I needed. Lots of little i's to dot and t's to cross (including making sure that I didn't break NT4 compatibility), but otherwise I guarantee that Win2k users will love this new feature.

(And in case anyone is wondering, there WILL be a skinning engine at some point. Putting in all these features first is setting up for a skinning engine quite nicely. I've had some wild ideas forming that should make for a pretty awesome experience when everything is done).

Link to comment
Share on other sites

Hey WildBill,

Remember my post about 10pt Arial being distorted vertically, with lower case letters being bigger than they shoud be? (post #147).

You mentioned Windows' internal hinting as a possible explanation.

Well, I found that if you substitute Arial with Arial Unicode MS in SmoothText, there's no distortion in the rendered text.

One obvious explanation is that Arial and Arial Unicode MS aren't perfectly identical, as Arial Unicode MS tends to appear just slightly wider:

http://en.wikipedia.org/wiki/Arial_Unicode_MS

But for most font sizes, the two look very very similar, and it's impossible to tell them apart (except of course for the symbols that are altogether different).

I'm not sure if this helps at all, but I thought I'd mention it anyway.

Other than that, I'm really looking forward to SmoothText 0.7.9 and all the other skinning features that will follow ;)

Link to comment
Share on other sites

I've posted version 0.7.9, which adds translucent taskbar support for Windows 2000. There is a LOT of new and changed code, so I'd appreciate any bug reports, but for me it's working well. NT4 doesn't support layered windows so this feature won't work on NT4, but I've tested it on NT4 to make sure that I didn't break anything. I have no idea what will happen on XP, but a report would be interesting to know.

Enjoy...

Link to comment
Share on other sites

That's very strange. What font is selected? Is it just random text that you typed?

It's Unifont, and some random control characters from an exe file I opened.

---------------------------------------------

Only thing I miss about SmoothText is the ability to force some pixel snapping in letters.

The middle leg of the letter m is split more or less evenly across two pixels, lacking the crisp, defined strokes of ClearType.

---------------------------------------------

SmoothText seems to be acquiring a wealth of new features, can't wait to get my hands on the next version!

:)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...