GpiQueryKerningPairs: Difference between revisions
Appearance
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== | ||
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== | |||
<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);