<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">It seems there is a problem with antialiased font rendering if shadow is activated. See the letters on the corners on this image: <a href="http://www.osirix-viewer.com/before.jp2">http://www.osirix-viewer.com/before.jp2</a> . See this image after the correction: <a href="http://www.osirix-viewer.com/after.jp2">http://www.osirix-viewer.com/after.jp2</a> .There are blending problems with the alpha channel.<div><br></div><div>To correct this problem, I changed the vtkFreeTypeUtilities.cxx PopulateImageData : </div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> *data_ptr = <span style="color: #ab1579">static_cast</span><<span style="color: #ab1579">unsigned</span> <span style="color: #ab1579">char</span>>(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_min + data_range * tprop_r);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_ptr++;</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"><span class="Apple-tab-span" style="white-space:pre">                </span> <br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> *data_ptr = <span style="color: #ab1579">static_cast</span><<span style="color: #ab1579">unsigned</span> <span style="color: #ab1579">char</span>>(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_min + data_range * tprop_g);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_ptr++;</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"><span class="Apple-tab-span" style="white-space:pre">                </span> <br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> *data_ptr = <span style="color: #ab1579">static_cast</span><<span style="color: #ab1579">unsigned</span> <span style="color: #ab1579">char</span>>(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_min + data_range * tprop_b);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_ptr++;</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"><span class="Apple-tab-span" style="white-space:pre">                </span> <br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> *data_ptr = <span style="color: #ab1579">static_cast</span><<span style="color: #ab1579">unsigned</span> <span style="color: #ab1579">char</span>>(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_min + data_range * (t_alpha + data_alpha * t_1_m_alpha));</div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><br></span></font></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; ">To </span></span></font></div><div><br></div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> *data_ptr = <span style="color: rgb(171, 21, 121); ">static_cast</span><<span style="color: rgb(171, 21, 121); ">unsigned</span> <span style="color: rgb(171, 21, 121); ">char</span>>(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_min + data_range * tprop_r*t_alpha + </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> (*data_ptr * data_alpha) * t_1_m_alpha);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_ptr++;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><span class="Apple-tab-span" style="white-space: pre; ">                </span> <br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> *data_ptr = <span style="color: rgb(171, 21, 121); ">static_cast</span><<span style="color: rgb(171, 21, 121); ">unsigned</span> <span style="color: rgb(171, 21, 121); ">char</span>>(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_min + data_range * tprop_g*t_alpha + </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> (*data_ptr * data_alpha) * t_1_m_alpha);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_ptr++;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><span class="Apple-tab-span" style="white-space: pre; ">                </span> <br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> *data_ptr = <span style="color: rgb(171, 21, 121); ">static_cast</span><<span style="color: rgb(171, 21, 121); ">unsigned</span> <span style="color: rgb(171, 21, 121); ">char</span>>(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_min + data_range * tprop_b*t_alpha + </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> (*data_ptr * data_alpha) * t_1_m_alpha);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_ptr++;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; min-height: 14px; "><span class="Apple-tab-span" style="white-space: pre; ">                </span> <br class="webkit-block-placeholder"></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> *data_ptr = <span style="color: rgb(171, 21, 121); ">static_cast</span><<span style="color: rgb(171, 21, 121); ">unsigned</span> <span style="color: rgb(171, 21, 121); ">char</span>>(</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "> data_min + data_range * (t_alpha + data_alpha * t_1_m_alpha));</div><div><br></div><div><font class="Apple-style-span" face="Monaco" size="2"><span class="Apple-style-span" style="font-size: 10px;"><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; ">This correction was existing 3 years ago in the source code, but was removed : <a href="http://public.kitware.com/cgi-bin/viewcvs.cgi/Rendering/vtkFreeTypeUtilities.cxx?r1=1.29&r2=1.5.2.1">cvs diff</a> (<a href="http://public.kitware.com/cgi-bin/viewcvs.cgi/Rendering/vtkFreeTypeUtilities.cxx?r1=1.29&r2=1.5.2.1)">http://public.kitware.com/cgi-bin/viewcvs.cgi/Rendering/vtkFreeTypeUtilities.cxx?r1=1.29&r2=1.5.2.1)</a></span></span></font></div><div><br></div></div></div></body></html>