[Lazarus] @Alexey length(Glyph) [[Re: Font ligatures support]]

Martin Frb lazarus at mfriebe.de
Tue Oct 6 12:36:54 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.

Just a note

     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)

Should that be
instead of

GetCharacterPlacementW may return up to (but therefore also less than)  
Length(Glyphs) glyphs.
So ExtTextOutW should get the adjusted count?

More information about the lazarus mailing list