[Lazarus] Font ligatures support

Martin Frb lazarus at mfriebe.de
Sat Oct 3 17:37:45 CEST 2020


On 03/10/2020 16:34, Alexey Tor. via lazarus wrote:
> It's not very simple. see file
> https://github.com/Alexey-T/ATSynEdit/blob/master/atsynedit/atsynedit_canvasproc.pas 
>
> and search for "ligatures" in all places. Unit has special code for 
> win32.

Actually might be easier than thought....
>
> if GetCharacterPlacementW(DC, PWChar(Str), Length(Str), 0, 
> @CharPlaceInfo, GCP_LIGATE)<> 0 then
> Result:= Windows.ExtTextOutW(DC, X, Y, ETO_CLIPPED or ETO_OPAQUE or 
> ETO_GLYPH_INDEX, Rect, Pointer(Glyphs), Length(Glyphs), Dx)
> else
> Result:= Windows.ExtTextOutW(DC, X, Y, ETO_CLIPPED or ETO_OPAQUE, 
> Rect, PWChar(Str), Length(Str), Dx);
>

- If indeed the DX array is still applicable with the glyphs....
- And if that is supported on all widgetsets...
- And as long as the font does still behave monospaced ...

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20201003/8667a95d/attachment.html>


More information about the lazarus mailing list