[Lazarus] Retina Font Rendering not working anymore in Lazarus Trunk

zeljko zeljko at holobit.net
Sat Jun 28 08:42:41 CEST 2014


On 06/27/2014 04:04 PM, Michael Ring wrote:
> Long time since last post but I finally managed to get retina support to
> work again.
>
> I am not sure if Apple has dropped support for retina rendering in
> carbon apps or if something inside of lazarus changed, right now there
> are two paths to get super crisp fonts back:
>
> Install qt4 and qt4pas, then recompile lazarus from svn trunk:
>
> make clean all CPU_TARGET=x86_64 LCL_PLATFORM=qt
> sudo rm -rf /usr/local/share/lazarus
> sudo make install CPU_TARGET=x86_64 LCL_PLATFORM=qt
>
> and perhaps:
>
> lazbuild --build-ide= --ws=qt --cpu=x86_64 --compiler=ppcx64
>
> other way is to recompile lazarus with LCL_PLATFORM=cocoa, but
> unfortunately cocoa is not really usable at the moment, lots of crashes,
> but better than the last time I checked.
>
> it is necessary to compile in x86_64 because the packages provided by qt
> only seem to include the x86_64 version of qt.
>
> compiling for x86_64 works nearly perfect now, I needed to comment out
> one function that does not seem to exist on x86_64:
>
> Index: lcl/include/sysenvapis_mac.inc
> ===================================================================
> --- lcl/include/sysenvapis_mac.inc    (revision 45676)
> +++ lcl/include/sysenvapis_mac.inc    (working copy)
> @@ -11,7 +11,7 @@
>     url := CFURLCreateWithBytes(nil, @AURL[1], Length(AURL),
> kCFStringEncodingUTF8, nil);
>     if not Assigned(url) then
>       Exit(False);
> -  Result := LSOpenCFURLRef(url, nil) = 0;
> +//  Result := LSOpenCFURLRef(url, nil) = 0;
>     CFRelease(url);
>   end;
>
> I am testing now for stability issues, so far no major problems (but I
> am only using a small part of lazarus)


That's not only problem with qt-cocoa. Another problem is that sometimes 
mouse hangs (no respond to clicks) after modal from modal form is opened 
and closed. I suspect qt internal implementation 
(qapplication_enter_modal_sys (or similar name)) where private variable 
is used to check mouse down/up.

zeljko






More information about the Lazarus mailing list