If you look closely, Kana appears a little thicker than Kanji and Latin characters. Hangeul also appears thicker just like the Kana.

It seems to affect Dolphin and Strawberry. But I noticed that the Firefox file picker is fine:

Actually, Firefox itself is completely fine and I’m pretty sure it just uses Noto fonts as well. Fonts on Discord are also okay.

One thing I did notice is that “Noto Sans CJK” (JP/KR/SC/TC/etc) DOES appear thicker in the Font System Settings of KDE. This is what “Noto Sans Regular” looks like:

And this is what “Noto Sans CJK” looks like:

Notice that both “Regular” text do not appear to be the same. The CJK one is thicker.

Right now, a work-around is to set my main font as “Noto Sans CJK” but set it to “Light” instead of “Regular” and it looks pretty good:

But the Monospace Noto Sans CJK is thick as well with no option to make it lighter. Not as much of an issue as the graphical apps though:

This is a fresh install of Fedora 43 KDE btw. Hope someone can help me out here before I nuke this install for Bazzite, CachyOS, or something else lol

  • hitagi@ani.socialOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    15 hours ago
    $ fc-match "default font"
    NotoSans-Regular.ttf: "Noto Sans" "Regular"
    

    This seems to be correct.

    $ fc-match :lang=ja
    NotoSansCJK-Regular.ttc: "Noto Sans CJK JP" "Regular"
    

    Also seems to be correct.

    I skimmed through the primer and checked whats on the default fontconfig config:

    $ cat ~/.config/fontconfig/fonts.conf 
    <?xml version='1.0'?>
    <!DOCTYPE fontconfig SYSTEM 'urn:fontconfig:fonts.dtd'>
    <fontconfig>
     <!-- 
     Artificial oblique for fonts without an italic or oblique version
     -->
     <match target="font">
      <!-- check to see if the font is roman -->
      <test name="slant">
       <const>roman</const>
      </test>
      <!-- check to see if the pattern requested non-roman -->
      <test compare="not_eq" name="slant" target="pattern">
       <const>roman</const>
      </test>
      <!-- multiply the matrix to slant the font -->
      <edit mode="assign" name="matrix">
       <times>
        <name>matrix</name>
        <matrix>
         <double>1</double>
         <double>0.2</double>
         <double>0</double>
         <double>1</double>
        </matrix>
       </times>
      </edit>
      <!-- pretend the font is oblique now -->
      <edit mode="assign" name="slant">
       <const>oblique</const>
      </edit>
      <!-- and disable embedded bitmaps for artificial oblique -->
      <edit mode="assign" name="embeddedbitmap">
       <bool>false</bool>
      </edit>
     </match>
     <!--
     Synthetic emboldening for fonts that do not have bold face available
     -->
     <match target="font">
      <!-- check to see if the weight in the font is less than medium which possibly need emboldening -->
      <test compare="less_eq" name="weight">
       <const>medium</const>
      </test>
      <!-- check to see if the pattern requests bold -->
      <test compare="more_eq" name="weight" target="pattern">
       <const>bold</const>
      </test>
      <!--
                      set the embolden flag
                      needed for applications using cairo, e.g. gucharmap, gedit, ...
                    -->
      <edit mode="assign" name="embolden">
       <bool>true</bool>
      </edit>
      <!--
                     set weight to bold
                     needed for applications using Xft directly, e.g. Firefox, ...
                    -->
      <edit mode="assign" name="weight">
       <const>bold</const>
      </edit>
     </match>
     <match target="font">
      <edit mode="assign" name="hinting">
       <bool>true</bool>
      </edit>
     </match>
     <match target="font">
      <edit mode="assign" name="hintstyle">
       <const>hintslight</const>
      </edit>
     </match>
     <match target="font">
      <edit mode="assign" name="rgba">
       <const>rgb</const>
      </edit>
     </match>
     <dir>~/.local/share/fonts</dir>
     <match target="font">
      <edit mode="assign" name="antialias">
       <bool>true</bool>
      </edit>
     </match>
    </fontconfig>
    

    I tried removing “Synthetic emboldening” here but it doesn’t seem to change anything so I put it back. I also tried removing fonts.conf but it still doesn’t change anything. My gut feeling is that there is a fontconfig config somewhere changing the way Noto Sans CJK is being rendered in KDE/QT. I just couldn’t figure out where or what. The fonts themselves are fine in LibreOffice so I don’t think there’s any issue with the package.

    Now reading through the primer again, I checked the configs in /etc/fonts/conf.d and found all the configs there. There’s a lot so I’ll look through it and see which one might be changing the way CJK is rendered.

    • A_norny_mousse@feddit.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 hours ago

      $ fc-match “default font” NotoSans-Regular.ttf: “Noto Sans” “Regular”

      That’s not what I meant. You mention differences between dolphin (not ok) and Firefox (ok). So you need to check what they use as default fonts respectively. If there are differences you know what to do.

      • hitagi@ani.socialOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        27 minutes ago

        They’re both already using Noto Sans. IIRC Firefox has its own way of rendering fonts so it’s likely a KDE/Qt font rendering issue.