2013-01-17 11 views
7

Posso usare lo Glyphs panel per usare un carattere con un glifo alternativo scelto manualmente. Ma come posso recuperare quell'ID del glifo a livello di programmazione?Come posso ottenere il glifo impostato manualmente per un determinato carattere?

Example of picking an alternate glyph

Attualmente sto usando IDrawingStyle::GetSpecialGlyph, ma funziona solo se il carattere di fondo non ha una rappresentazione Unicode. Per esempio, se lascio un glifo alternativo per il carattere U + 0041 ʟᴀᴛɪɴ ᴄᴀᴘɪᴛᴀʟ ʟᴇᴛᴛᴇʀ ᴀ in un documento usando il pannello Glifi, il carattere sottostante sarà U + 0041, quindi IDrawingStyle::GetSpecialGlyph non funzionerà. Come posso recuperare a livello di codice quell'ID del glifo?

risposta

3

È possibile ottenere questo navigando la cera. Iterare il filo di cera con CallbackWaxIterator e quindi, per ogni sporgenza della cera su una linea di cera, ottenere l'interfaccia e utilizzare PeekGlyphArray o MapCharsToGlyphs in combinazione con GetGlyphAt.

+0

Sono così felice che tu (a) l'abbia trovato (b) il tempo di postare la risposta (c) presumibilmente capisco che "per ogni _wax run boss_ su una _wax line_" significa :) – sehe

Problemi correlati