29.05.2014 Views

The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

The history of luaTEX 2006–2009 / v 0.50 - Pragma ADE

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

OPENTYPE 144 17.571.732<br />

ENC 268 782.680<br />

MAP 406 6.098.982 110 129.135<br />

OFM 39 10.309.792<br />

OVF 39 413.352<br />

OVP 22 2.698.027<br />

SOURCE 4.736 25.932.413<br />

We omitted the more obscure le types. <strong>The</strong> last two columns show the numbers for one<br />

<strong>of</strong> my local font trees.<br />

In due time we will see a shift from Type1 to OpenType and TrueType les and because<br />

these fonts are more complete, they may take some more space. More important is that<br />

the TEX specic font metric les will phase out and the less Type1 fonts we have, the less<br />

afm companions we need (afm les are not compressed and therefore relatively large).<br />

Mapping and encoding les can also go away.<br />

In LuaTEX we can do with less les, but the number <strong>of</strong> bytes may grow a bit depending<br />

on how much is catched (especially fonts). Anyhow, we can safely assume that a LuaTEX<br />

based distributions will carry less les and less bytes around.<br />

fallbacks<br />

Do we need virtual fonts? Currently in ConTEXt, when a font encoding is chosen, a fallback<br />

mechanism steps in as soon as a character is not in the encoding. So far, so good. But<br />

occasionally we run into a font that does not (completely) ts an encoding and we end<br />

up with dening a non standard one. In traditional TEX a side effects <strong>of</strong> font encodings is<br />

that they relate to hyphenation. ConTEXt can deal with that comfortably and multiple instances<br />

<strong>of</strong> the same set <strong>of</strong> hyphenation patterns can be loaded, but for custom encodings<br />

this is kind <strong>of</strong> cumbersome.<br />

In LuaTEX we have just one font encoding: Unicode. When OpenType fonts are used, we<br />

don't expect many problems related to missing glyphs, but you can bet on it that they will<br />

occur. This is where in ConTEXt MkIV fallbacks will be used and this will be implemented<br />

using vitual fonts. <strong>The</strong> advantage <strong>of</strong> using virtual fonts is that we still deal with proper<br />

characters and hyphenation will take place as expected. And since virtual fonts can be<br />

dened on the y, we can be exible in our implementation. We can think <strong>of</strong> generic<br />

fallbacks, not much different than macro based representations, or font specic ones,<br />

where we even may rely on MetaPost for generating the glyph data.<br />

How do we dene a fall back character. When building this mechanism I used the ‘¢’ as<br />

an example. A cent symbol is roughly dened as follows:<br />

42 A fresh look at fonts

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!