2013-01-17 34 views
7

मैं मैन्युअल रूप से चुने गए वैकल्पिक ग्लाइफ वाले चरित्र का उपयोग करने के लिए Glyphs panel का उपयोग कर सकता हूं। लेकिन फिर मैं उस ग्लिफ आईडी को प्रोग्रामेटिक रूप से कैसे प्राप्त कर सकता हूं?मुझे दिए गए चरित्र के लिए मैन्युअल रूप से सेट किया गया ग्लिफ़ कैसे प्राप्त किया जा सकता है?

Example of picking an alternate glyph

मैं वर्तमान में IDrawingStyle::GetSpecialGlyph उपयोग कर रहा हूँ, लेकिन यह तभी काम करता है अंतर्निहित चरित्र एक यूनिकोड प्रतिनिधित्व नहीं है। लेकिन, कहें, अगर मैं ग्लिफ पैनल का उपयोग कर दस्तावेज़ में यू + 0041 ʟᴀᴛɪɴ ᴄᴀᴘɪᴛᴀʟ ʟᴇᴛᴛᴇʀ ᴀ के लिए कुछ वैकल्पिक ग्लिफ छोड़ देता हूं, तो अंतर्निहित चरित्र U + 0041 होगा, इसलिए IDrawingStyle::GetSpecialGlyph काम नहीं करेगा। मैं प्रोग्रामिंग रूप से उस ग्लिफ आईडी को कैसे प्राप्त कर सकता हूं?

उत्तर

3

आप इसे मोम नेविगेट करके प्राप्त कर सकते हैं। CallbackWaxIterator के साथ मोम स्ट्रैंड को दोहराएं, और फिर, मोम लाइन पर प्रत्येक मोम रन बॉस के लिए, IWaxGlyphs इंटरफ़ेस प्राप्त करें और PeekGlyphArray या MapCharsToGlyphsGetGlyphAt के साथ संयोजन में उपयोग करें।

+0

मुझे बहुत खुशी है कि आप (ए) यह पाया है (बी) उत्तर पोस्ट करने का समय (सी) संभावित रूप से समझता है कि "प्रत्येक _wax चलाने के लिए _wax line_ पर मतलब है" का अर्थ है :) – sehe