Hagen - Pragma ADE
Hagen - Pragma ADE
Hagen - Pragma ADE
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
140<br />
Extensions<br />
[fonts.composing.define]<br />
\definefontfeature<br />
[default-plus-compose]<br />
[compose=yes]<br />
\definefont<br />
[MyFont]<br />
[Serif*default-plus-compose]<br />
Fonts like Latin Modern have lots of glyphs but still lack some. Although the composer<br />
can add some of the missing, some of those new virtual glyphs probably will never look<br />
real good. For instance, putting additional accents on top of already accented uppercase<br />
characters will fail when that character has a rather tight (or even clipped) boundingbox<br />
in order not to spoil the lineheight. You can get some more insight in the process by<br />
turning on tracing:<br />
\enabletrackers[fonts.composing.visualize]<br />
One reason why composing can be suboptimal is that it uses the boundingbox of the<br />
characters that are combined. If you really depend on a specific font and need some<br />
of the missing characters it makes sense to spend some time on optimizing the rendering.<br />
This can be done via the goodies mechanism. As an example we’ve added<br />
lm-compose-test.lfg to the distribution. First we show how it looks at the T E X end:<br />
\enabletrackers[fonts.composing.visualize]<br />
\definefontfeature<br />
[default-plus-compose]<br />
[compose=yes]<br />
\loadfontgoodies<br />
[lm-compose-test] % playground<br />
\definefont<br />
[MyComposedSerif]<br />
[file:lmroman10regular*default-plus-compose at 48pt]<br />
B Ḃ Ḅ<br />
The positions of the dot accents on top and below the capital B is defined in a goodie<br />
file:<br />
return {