Announcement

Collapse
No announcement yet.

Fedora Enables ClearType Subpixel Font Rendering Thanks To Microsoft

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by bofh80
    what monitor you have, what dpi you have, what res you run at etc
    The monitor is a ViewSonic XG2703-GS, 109 DPI, I run 2560x1440. Screen size is 27".
    Last edited by RealNC; 31 October 2018, 02:28 PM.

    Comment


    • #32
      Originally posted by RealNC View Post
      A few screenshots. I'm using "Segoe UI" as the font in KDE.

      This is "full" hinting with v40, which looks OK:



      This is "full" hinting with v35, which looks broken (look at "Confimations" tab, the spacing is wrong):



      And this is my personal preference, "slight" hinting, which looks good and is exactly the same with v35 and v40, so I guess that means there's no sub-pixel rendering going on with "slight" hinting:



      In any event, v35 full hinting does not look like Windows font rendering. (I also have a Windows 10 installation, which also uses Segoe UI, the same font.) So if this is supposed to make fonts look like they do on Windows, then it fails to do so, at least here.
      The reason it looks bad is beause you are using a buggy application that isn't doing kerning right. Kerning with full hinting is tigher and removes those gaps, making everything look better, but it requires a non-buggy application. If your application is buggy crap that only works with slight hinting, then of course slight hinting will look better in that app.

      Comment


      • #33
        Originally posted by carewolf View Post
        The reason it looks bad is beause you are using a buggy application that isn't doing kerning right. Kerning with full hinting is tigher and removes those gaps, making everything look better, but it requires a non-buggy application. If your application is buggy crap that only works with slight hinting, then of course slight hinting will look better in that app.
        I looks like that on all applications I tried: dolphin, kwrite, kate, smplayer, my own apps. Maybe it's a Qt thing.

        However, note that v40 full hinting looks fine. v35 is what looks broken.

        Comment


        • #34
          Disclaimer: I'm the guy who wrote the "new" v40 interpreter (really just 50 or so additional lines in the v35 interpreter to ignore instructions that adjust stems vertically and change spacing) and wrote the subpixel rendering and hinting articles on freetype.org.

          Talking about font rendering is my favorite past time activity because today's font technology is 40+ years old or something and full of hairy details and historical absurdity (both in the specification and in implementations).

          Originally posted by birdie View Post
          The new antialiasing method looks great on high DPI screens (where you can actually don't use subpixel antialiasing at all) but looks completely awful on usual monitors. This sentiment is shared across many communities and forums. Perhaps, "insane idiots" wasn't the best moniker but "the filthy rich" who can afford high-DPI monitors/laptops.
          I doubt your certainty. The "new" method brings default rendering closer to what's happening on Ubuntu by default, the most popular distro for years.

          Originally posted by justmy2cents View Post
          subpixel will be pretty much default as long as majority of user monitors won't have dpi high enough
          Not necessarily. Doing a bit of stem darkening can do wonders on LoDPI screens. Run the ft-view utility from freetype2-demos on a .otf font and leave subpixel rendering off, you'd be surprised at how nice it looks. Only Qt 5.9+ does stem darkening on .otf fonts by default I read somewhere, but I haven't tested it really. macOS Mojave does stem darkening without subpixel rendering, too, and looks absolutely ok to me on LoDPI screens.


          Originally posted by RealNC View Post
          A few screenshots. I'm using "Segoe UI" as the font in KDE.

          This is "full" hinting with v40, which looks OK:

          This is "full" hinting with v35, which looks broken (look at "Confimations" tab, the spacing is wrong):

          And this is my personal preference, "slight" hinting, which looks good and is exactly the same with v35 and v40, so I guess that means there's no sub-pixel rendering going on with "slight" hinting:

          In any event, v35 full hinting does not look like Windows font rendering. (I also have a Windows 10 installation, which also uses Segoe UI, the same font.) So if this is supposed to make fonts look like they do on Windows, then it fails to do so, at least here.
          "Full" hinting with recent Microsoft fonts (Consolas, Segoe UI, ...) on v35 doesn't work (well) because these fonts expect some retroactive ClearType-isation hacks to be done by the hinting code interpreter. v35 doesn't do them. My v40 version emulates the most important of these, which is why these recent fonts look quite good there.

          "Slight" hinting means autohinting for TTFs and native (and light) hinting for OTFs, so the TTF hinting interpreter isn't even started.

          Originally posted by carewolf View Post

          The reason it looks bad is beause you are using a buggy application that isn't doing kerning right. Kerning with full hinting is tigher and removes those gaps, making everything look better, but it requires a non-buggy application. If your application is buggy crap that only works with slight hinting, then of course slight hinting will look better in that app.

          No, what I said above.
          Last edited by mudig; 31 October 2018, 06:44 PM.

          Comment


          • #35
            Originally posted by mudig View Post
            ...
            I have a project idea for you:

            Make a site that lets the user pick a font, a renderer and set the renderer settings. A server side script would generate a bitmap to demo it. This would allow devs and users to try out the different settings to demo them. You would be able to show people things like "stem darkening" using it.

            It's just an idea. I'm not asking you to work on it or anything. I just thought it would be cool if I could see what you were talking about.

            Comment


            • #36
              I find sub pixel rendering painful to look at. All the fonts and even some images have brown on one side and blue on the other. I am using Gentoo here and for the most part it is rather easy to fix. It would be nice if gentoo had a use flag to disable it system wide from being compiled. There are some web pages I can't look at because it hurts my eyes. I also have a raspberry pi here that I don't use much since I can not figure out how to fix the fonts. Perhaps someone could help with this?

              I really fail to understand why many people think this is better. Perhaps my eyes are that good or that bad?

              Comment


              • #37
                Originally posted by cybertraveler View Post

                Make a site that lets the user pick a font, a renderer and set the renderer settings. A server side script would generate a bitmap to demo it. This would allow devs and users to try out the different settings to demo them. You would be able to show people things like "stem darkening" using it.
                Already done: have a look at the ft-view demo program in freetype2-demos. It's a bit obtuse to use though. Also read https://www.freetype.org/freetype2/d...l-hinting.html and https://www.freetype.org/freetype2/d...g-general.html.

                Originally posted by mattmatteh View Post
                I really fail to understand why many people think this is better. Perhaps my eyes are that good or that bad?
                Can be various things, your screen is the most important possible culprit though. Some (cheap) monitors have image sharpening on by default, for example, which will boost the color artifacts. Font rendering on X11/Wayland platforms still sucks, which doesn't help either. Maybe experiment with ft-view and cycle through the subpixel rendering options if there is one that looks good. Not that you can necessarily replicate it outside the program, but you'll know what you're missing out on.
                Last edited by mudig; 01 November 2018, 04:07 AM. Reason: typo

                Comment


                • #38
                  Originally posted by mudig View Post
                  Not necessarily. Doing a bit of stem darkening can do wonders on LoDPI screens. Run the ft-view utility from freetype2-demos on a .otf font and leave subpixel rendering off, you'd be surprised at how nice it looks. Only Qt 5.9+ does stem darkening on .otf fonts by default I read somewhere, but I haven't tested it really. macOS Mojave does stem darkening without subpixel rendering, too, and looks absolutely ok to me on LoDPI screens.
                  while what you say holds some truth, it just doesn't fit everywhere. depending on your monitor the best method might vary as well as your monitor could degrade with use millage to the point where best smoothing method will be different. and hinting method is really not the case of what was the question i answered to. question was if smoothing is not in process of going out to which i explained when that serves better

                  you can only say one truth in this case. retina displays perform better in every case without any kind of trying to smooth the result as your eyes cannot discern pixels where. non-retina displays show better result with correction (which one varies depending on your setup) since your eye gets tricked

                  arguing about best font smoothing is just as nonsensical as arguing f.e. async vs.sync threads. anyone claiming one over the other should simply be discarded as the best answer is... go figure... 42 (HGTG reference). the right choice is knowing your problem and weighing the pros and cons where lot of times best result will be combination of the two. and almost no 2 problems will provide the same result

                  problem with showcases is that every showcase always shows tampered POV which you can translate to truth of Yugo being faster than Formula 1... all you need is to set them up so race starts in 5-10cm of mud. and if that is only case you present... you proven your case

                  Comment


                  • #39
                    Originally posted by mudig View Post
                    "Full" hinting with recent Microsoft fonts (Consolas, Segoe UI, ...) on v35 doesn't work (well) because these fonts expect some retroactive ClearType-isation hacks to be done by the hinting code interpreter. v35 doesn't do them. My v40 version emulates the most important of these, which is why these recent fonts look quite good there.

                    "Slight" hinting means autohinting for TTFs and native (and light) hinting for OTFs, so the TTF hinting interpreter isn't even started.
                    Thanks for chiming in. I wish this stuff was actually documented somewhere... :-/ Right now, font configuration on Linux is just randomly changing settings and see if they do anything. For example, "slight" hinting not using sub-pixel hinting with TTF is news to me. Also, there's no explanation anywhere as to why "medium" and "full" give exactly the same results, even though they're different values for the same setting...

                    Comment


                    • #40
                      Originally posted by RealNC View Post
                      Thanks for chiming in. I wish this stuff was actually documented somewhere... :-/ Right now, font configuration on Linux is just randomly changing settings and see if they do anything. For example, "slight" hinting not using sub-pixel hinting with TTF is news to me. Also, there's no explanation anywhere as to why "medium" and "full" give exactly the same results, even though they're different values for the same setting...
                      It is documented, but not necessarily where you'd look, I agree. The articles I wrote for freetype.org should make stuff clearer. Basically, do what Ubuntu does (slight hinting for everything) and don't touch font rendering options ever again. Also complain to the GUI toolkit makers of your choice to implement the alpha blending stuff I outlined in the articles.

                      "Medium" and "Full" translate to the same thing, FreeType only knows slight (autohinting for TTF, native for OTF) and full (bytecode hinting interpreter for TTF, same native thing for OTF). I think these enum values were made up in the past at some point for fontconfig without a concrete implementation for "Medium", it's just that no one ever bothered to remove it.

                      Mind you that the term "subpixel hinting" only makes sense in the context of hinting bytecode, i.e. "full"y hinted TTFs. It means that stems, most commonly vertical, and spacing can be adjusted by fractions of pixels instead of Windows 95-style black and white, full pixels. The (slight) autohinter and native OTF hinter _only ever_ adjust horizontal stems, where for sharpness you have to snap (one side of the) stems to the full pixels. Vertical stems and spacing are left alone, giving you a compromise between outline fidelity and sharpness. The only meaningful compromise, in my not so humble opinion.

                      It's a bit confusing because "subpixel hinting" usually is implied to mean slightly fuzzier vertical stems to use the increased perceived resolution of RGB subpixel stripes. Fuzzy vertical stems is what FreeType gives you by default with no or slight hinting.

                      Originally posted by justmy2cents View Post
                      while what you say holds some truth, it just doesn't fit everywhere.
                      Not sure I understand you correctly. Subpixel rendering (a.k.a. colorful fonts) is not strictly necessary for font to render nicely on LoDPI screens. It can help in some circumstances, but stem darkening can make stuff look nice enough by itself.

                      Comment

                      Working...
                      X