2013-01-17 7 views
7

Mogę użyć Glyphs panel, aby użyć znaku z ręcznie wybranym alternatywnym glifem. Ale w jaki sposób mogę programowo pobrać ten identyfikator glifu?Jak mogę uzyskać glif, który został ustawiony ręcznie dla danej postaci?

Example of picking an alternate glyph

Obecnie używam IDrawingStyle::GetSpecialGlyph, ale działa tylko wtedy, gdy podstawowa postać nie posiada reprezentację Unicode. Ale powiedzmy, że jeśli upuszczę jakiś alternatywny glif dla postaci U + 0041 ʟᴀᴛɪɴ ᴄᴀᴘɪᴛᴀʟ ʟᴇᴛᴛᴇʀ ᴀ w dokumencie za pomocą panelu Glify, podstawową postacią będzie U + 0041, więc IDrawingStyle::GetSpecialGlyph nie będzie działać. Jak mogę programowo pobrać ten identyfikator glyph?

Odpowiedz

3

Możesz to uzyskać, poruszając się po wosku. Zmodyfikuj pasmo wosku za pomocą CallbackWaxIterator, a następnie, dla każdego woskowego nacięcia na linii woskowej, uzyskaj interfejs IWaxGlyphs i użyj PeekGlyphArray lub MapCharsToGlyphs w połączeniu z GetGlyphAt.

+0

Bardzo się cieszę, że (a) znalazłeś go (b) czas na opublikowanie odpowiedzi (c) prawdopodobnie rozumiesz, co "dla każdego _wax uruchomić boss_ na _wax line_" oznacza :) – sehe

Powiązane problemy