<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/101359/">http://git.reviewboard.kde.org/r/101359/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On May 26th, 2011, 2:03 p.m., <b>Thomas Lübking</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">> Would there even be any good alternative approaches?
Yes, 
- properly read the fontconfig (including global settings)
- only write settings actually touched by the user
- have a checkbox to disable custom font configuration (i.e if not enabled, store the settings in a private config for later use, but wipe the ~/.fonts.conf</pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I don't know about accurately reading all of fontconfig, my impression is that fontconfig files are write-only (hence the comment about fickleness -- it's like reading in HTML pages and trying to make sense of them programmatically for all possible variations of an HTML page). And even if it was done, what benefit would you get? How often do you change your font rendering? The only thing that would currently make sense to me would be something like Windows ClearType Tuner, where you can select the subpixel order and the "thickness" or "blurriness" of the rasterization by clicking on a rendering that you like best. This could be useful to adapt the rendering to low-quality and/or misadjusted displays that can't be manually adjusted for whatever reason. And, more importantly, it would improve usability tremendously ("Full hinting? What's that?"). Fontconfig needs to be modified to recognize those settings. A patch in that direction is in the works afaik as part of Infinality's FreeType patches (which wonderfully demonstrate how KDE's font dialog bulldozes over carefully crafted font configurations). I was thinking about overhauling the current font dialog (and throw out the many fields, but have since defected to Gnome/Unity...

Anyway, has this patch finally been commited? It should help with your second point. The third point seems good, but a custom config is disabled by default anyway. My patch makes sure that this is actually respected. Before, the dialog would write a custom config even if the setting was do-not-change-the-system-defaults! I'm actually surprised that this bug was there for so many years. Annoyed me first during KDE 3.5.x. Maybe nobody ever cared because nobody ever changed the default font rendering settings and was therefore never hit by the bug, which makes the setting itself questionable ;)</pre>
<br />








<p>- Nikolaus</p>


<br />
<p>On May 25th, 2011, 8:11 p.m., Nikolaus Waxweiler wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDE Base Apps and KDE Runtime.</div>
<div>By Nikolaus Waxweiler.</div>


<p style="color: grey;"><i>Updated May 25, 2011, 8:11 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I simply removed all code in loading routines that wrote something to the config.

On a side-note, I'd love to rip out the whole fontconfig configuration completely... I think that the whole modifying-.fonts.conf-approach is too fickle because the system/distribution can set up elaborate hinting/antialiasing configurations and the changes made to .fonts.conf just bulldoze over them. Most people will probably never (really want to) touch those settings anyway (Windows and Mac OS X users at least don't seem to, and they don't appear to be unhappy about it)... Would there even be any good alternative approaches?</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">- Delete .fonts.conf and see if invoking "kcmshell4 fonts" creates it again without user intervention
- Delete various match-settings set by the kcm (e.g. hintstyle and rgba) and see if it recreates them while leaving match-settings not deleted untouched
- Switch anti-aliasing settings between system, disbled and enabled and apply each time, change some aa-settings while enabled and check if they stay there after switching</pre>
  </td>
 </tr>
</table>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="http://bugs.kde.org/show_bug.cgi?id=105797">105797</a>


</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>kcontrol/fonts/fonts.cpp <span style="color: grey">(0cd2666)</span></li>

 <li>kcontrol/fonts/kxftconfig.cpp <span style="color: grey">(9cd04de)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/101359/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>