Jump to content

GpiQueryKerningPairs: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Created page with "This function returns kerning pair information for the logical font identified by the current value of the character set attribute. ==Syntax== lReturned = GpiQueryKerningPai..."
 
No edit summary
 
Line 2: Line 2:


==Syntax==
==Syntax==
  lReturned = GpiQueryKerningPairs(hps, lCount, akrnprData)
  GpiQueryKerningPairs(hps, lCount, akrnprData)


HPS             hps;        /*  Presentation-space handle. */
== Parameters==
LONG             lCount;      /*  Number of elements in akrnprData. */
;hps (HPS) - input:Presentation-space handle.  
PKERNINGPAIRS   akrnprData;  /*  Kerning pairs. */
;lCount (LONG) - input : Number of elements in akrnprData.  
LONG            lReturned;  /*  Number returned and error indicators. */
;akrnprData (PKERNINGPAIRS) - output : Kerning pairs.
:An array of lCount kerning pairs in which information is returned. No more than lCount records are returned.  


==Returns==
;lReturned (LONG) - returns:Number returned and error indicators.
:; >=0
::Number of kerning pairs returned
:;GPI_ALTERROR
::Error.
==Errors==
Possible returns from WinGetLastError
;PMERR_INV_HPS (0x207F)
:An invalid presentation-space handle was specified.
;PMERR_PS_BUSY (0x20F4)
:An attempt was made to access the presentation space from more than one thread simultaneously.
;PMERR_INV_LENGTH_OR_COUNT (0x2092)
:An invalid length or count parameter was specified.
;PMERR_COORDINATE_OVERFLOW (0x2014)
:An internal coordinate overflow error occurred. This can occur if coordinates or matrix transformation elements (or both) are invalid or too large.
==Remarks==
The number of kerned pairs is a field in the font metrics.
==Example Code==
<pre>
#define INCL_GPILCIDS /* Or use INCL_GPI, INCL_PM, */
#include <os2.h>
HPS              hps;        /*  Presentation-space handle. */
LONG            lCount;      /*  Number of elements in akrnprData. */
PKERNINGPAIRS    akrnprData;  /*  Kerning pairs. */
LONG            lReturned;  /*  Number returned and error indicators. */
lReturned = GpiQueryKerningPairs(hps, lCount,
              akrnprData);
</pre>
This example uses the GpiQueryKerningPairs function to retrieve the kerning information for the current font.
<pre>
#define INCL_GPILCIDS          /* Font functions              */
#define INCL_DOSMEMMGR          /* DOS Memory Manager Functions */
#include <os2.h>
HPS hps;                /* presentation space handle            */
FONTMETRICS fm;        /* metrics structure                    */
PKERNINGPAIRS akrnpr;  /* kerning pairs array                  */
GpiQueryFontMetrics(hps, (LONG) sizeof(FONTMETRICS), &fm);
DosAllocMem((VOID *)akrnpr,
            (ULONG)(fm.sKerningPairs * sizeof(KERNINGPAIRS)),
            PAG_COMMIT | PAG_READ | PAG_WRITE);
GpiQueryKerningPairs(hps, (LONG) fm.sKerningPairs, akrnpr);
</pre>
[[Category:Gpi]]
[[Category:Gpi]]

Latest revision as of 23:55, 23 April 2025

This function returns kerning pair information for the logical font identified by the current value of the character set attribute.

Syntax

GpiQueryKerningPairs(hps, lCount, akrnprData)

Parameters

hps (HPS) - input
Presentation-space handle.
lCount (LONG) - input
Number of elements in akrnprData.
akrnprData (PKERNINGPAIRS) - output
Kerning pairs.
An array of lCount kerning pairs in which information is returned. No more than lCount records are returned.

Returns

lReturned (LONG) - returns
Number returned and error indicators.
>=0
Number of kerning pairs returned
GPI_ALTERROR
Error.

Errors

Possible returns from WinGetLastError

PMERR_INV_HPS (0x207F)
An invalid presentation-space handle was specified.
PMERR_PS_BUSY (0x20F4)
An attempt was made to access the presentation space from more than one thread simultaneously.
PMERR_INV_LENGTH_OR_COUNT (0x2092)
An invalid length or count parameter was specified.
PMERR_COORDINATE_OVERFLOW (0x2014)
An internal coordinate overflow error occurred. This can occur if coordinates or matrix transformation elements (or both) are invalid or too large.

Remarks

The number of kerned pairs is a field in the font metrics.

Example Code

#define INCL_GPILCIDS /* Or use INCL_GPI, INCL_PM, */
#include <os2.h>

HPS              hps;         /*  Presentation-space handle. */
LONG             lCount;      /*  Number of elements in akrnprData. */
PKERNINGPAIRS    akrnprData;  /*  Kerning pairs. */
LONG             lReturned;   /*  Number returned and error indicators. */

lReturned = GpiQueryKerningPairs(hps, lCount,
              akrnprData);

This example uses the GpiQueryKerningPairs function to retrieve the kerning information for the current font.

#define INCL_GPILCIDS           /* Font functions               */
#define INCL_DOSMEMMGR          /* DOS Memory Manager Functions */
#include <os2.h>

HPS hps;                /* presentation space handle            */
FONTMETRICS fm;         /* metrics structure                    */
PKERNINGPAIRS akrnpr;   /* kerning pairs array                  */

GpiQueryFontMetrics(hps, (LONG) sizeof(FONTMETRICS), &fm);

DosAllocMem((VOID *)akrnpr,
            (ULONG)(fm.sKerningPairs * sizeof(KERNINGPAIRS)),
            PAG_COMMIT | PAG_READ | PAG_WRITE);

GpiQueryKerningPairs(hps, (LONG) fm.sKerningPairs, akrnpr);