OT 'ignore' lookup

behnam's picture

Let's say I want a substitution except after a space or at the beginning of the line.
I write something like this:

lookupflag IgnoreMarks, RightToLeft;
ignore sub space A';
sub A' B by C;

How do I include the beginning of the line in the 'ignores'?

Stephen Rapp's picture

Create 2 classes for your lookups. One could be called @All and include all letters including the space. The other can be called @Letters and include all letters, but no space.


lookup calte_start1 {
ignore sub @All e';
sub e' @Letter by e.start;
} calte_start1;


behnam's picture

Thanks Stephen.
Isn't it a bit heavy for CPU? I want to apply it to a font with over 900 glyphs.

Stephen Rapp's picture

I used it for fonts with well over 600 glyphs. Shouldn't be a real problem. Look at some of the feature code for Bickham. Its like an encyclopedia. Most people using OT fonts with graphic applications like InDesign are gonna have pretty fast computers.

behnam's picture

Oh the font is big but it's not professional. Actually it is intended mostly for the web. It already gives a heavy workout to the CPU just by being Arabic! I try to trim down everywhere I can.
In my specific case, I think I'll use your solution but backward. I skip the 'ignore' thing and for my substitution, I create a class after which it will be applied. The list of glyphs in that class will be much much shorter than 'everything else' class.
But it's odd that OT doesn't have a specific solution for the beginning and the end of the line.

Syndicate content Syndicate content