Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I get the glyph that was set manually for a given character?

I can use the Glyphs panel to use a character with a manually chosen alternative glyph. But how can I then retrieve that glyph ID programmatically?

Example of picking an alternate glyph

I am currently using IDrawingStyle::GetSpecialGlyph, but it only works if the underlying character does not have a Unicode representation. But, say, if I drop some alternate glyph for the character U+0041 ʟᴀᴛɪɴ ᴄᴀᴘɪᴛᴀʟ ʟᴇᴛᴛᴇʀ ᴀ in a document using the Glyphs panel, the underlying character will be U+0041, so IDrawingStyle::GetSpecialGlyph will not work. How can I programmatically retrieve that glyph ID?

like image 590
R. Martinho Fernandes Avatar asked Jan 17 '13 11:01

R. Martinho Fernandes


People also ask

How do I add a custom glyph font?

To add glyphs to the custom set, select the font containing the glyph at the bottom of the Glyphs panel, click the glyph to select it, and then choose the name of the custom glyph set from the Add To Glyph Set menu on the Glyphs panel menu.

How do I get glyphs in Indesign?

Go to the Window menu, then to Type & Tables , and choose Glyphs to open the Glyphs Panel . To filter the glyphs shown in the panel, click the Show menu and choose Alternates for Selection . Double-click the character you want to use to replace the selected text.

Can I make my own glyphs?

To create any glyph, including one whose placeholder is not visible in the Font window or Font Map panel, select the Font > Generate Glyphs command, click on the Custom tab and type the glyph name you want to create. Then click on OK.

How do you edit glyphs in Indesign?

Choose Edit Glyph Set from the Glyph panel menu, and then choose the custom glyph set. Select the glyph you want to edit, do any of the following, and then click OK: To bind the glyph to its font, select Remember Font With Glyph.


1 Answers

You can get this by navigating the wax. Iterate the wax strand with CallbackWaxIterator, and then, for each wax run boss on a wax line, obtain the IWaxGlyphs interface and use PeekGlyphArray or MapCharsToGlyphs in combination with GetGlyphAt.

like image 169
R. Martinho Fernandes Avatar answered Oct 22 '22 23:10

R. Martinho Fernandes