Re: GDI does not provide all GLYPH handles for big font size
- From: "S. Mark Courter" <smcourter@xxxxxxxxxxx>
- Date: Thu, 10 Nov 2005 11:06:39 -0600
Hello,
If you re-examine my code snippets, you will see that for smaller fonts
pstro->pgp comes
into DrvTextOut() already defined, in which case you can use the for( ) loop
to access each letter.
For larger fonts (your #2) pstro->pgp comes into DrvTextOut() as NULL and
you have to
get each letter by way of the outer do loop. In this case the for( ) loop
will only execute once.
The other letters are accessed by the next call to STROBJ_bEnum() in the
outer do loop.
SMC
"fussa" <mailbox.AF@xxxxxx> wrote in message
news:ePP%23aOc5FHA.1032@xxxxxxxxxxxxxxxxxxxxxxx
> "S. Mark Courter schrieb",
>
> hi,
>
> nearly the same code I have written before I have seen your mail for my
> driver. I have done some debug outputs and got following results for the
> code sniple below.
> 1. The call of function "STROBJ_bEnum" only works till font size 150.
> Bigger fonts are passed by GDI as pathes. These pathes are formed not
fine.
> 2. Function "STROBJ_bEnum" proviedes for font size between 54 and 100 or
> 110 only the first character of a string object STROBJ. Example: Let
> assume we have The string "We". The code below runs the "do-while"
> section twice and provides for every run only the glyph for "W". The "e"
> will never put out.
> 3. If function "STROBJ_bEnum" runs with font size <54 all works fine.
> The "for" section in code below will receive all glyphs, so I can render
> every character.
>
>
> It would be very kindfull, if someone could provide some information
> about how all glyphs can be received. Maybe there is a documentation
> which can help?
>
> Thank you.
>
> src code:
> "...
> do
> {
> //
> // We need to enum for more glyph data so do it now.
> //
>
> if (MoreGlyphs)
> {
> MoreGlyphs = STROBJ_bEnum(pstro, &cGlyphs, &pgpos);
>
> if (MoreGlyphs == DDI_ERROR)
> {
> VERBOSE(("DrvTextOut: STROBJ_bEnum()=DDI_ERROR"));
> return(FALSE);
> }
> }
>
> // loop thru array of glyph info
> for( gpInd = 0; gpInd < cGlyphs; gpInd++, pgpos++ )
> {
> ..."
.
- References:
- GDI does not provide all GLYPH handles for big font size
- From: fussa
- Re: GDI does not provide all GLYPH handles for big font size
- From: S. Mark Courter
- Re: GDI does not provide all GLYPH handles for big font size
- From: fussa
- GDI does not provide all GLYPH handles for big font size
- Prev by Date: Re: Hardware delaying the OS
- Next by Date: Re: Error on x64 removing device from installation program
- Previous by thread: Re: GDI does not provide all GLYPH handles for big font size
- Next by thread: MIME/base64 messages
- Index(es):
Relevant Pages
|