Am Mon, 25 Oct 2010 13:07:29 +0200 schrieb Khaled Hosny: >> Before continuing on this way I have some questions: >> >> 1. Is using a .fea-file to reencode a font the right idea? > That is not reencoding per se, just glyph substitution, so it depends on > what you want to achieve. If you are substituting from "K" glyph that > does not exist in the font, then the substitution code will be ignored > (feature files operate on glyphs not code points). If chess symbols are > supported by Unicode, then one possible solution is to actually reencode > the fonts while processed by LuaTeX so that using proper Unicode code > points will always work, but this is not trivial (well, I don't know how > to do it, actually, but it is doable since Hans is doing a similar trick > in his virtual Unicode math fonts).
There are some chess symbols in the unicode charts. But only a small part of the symbols I need. And I doubt that the rest (like "masks glyphs") will ever find their way into Unicode. Glyph substituation is quite ok. And as the chess fonts are so individual I will have to write a fea file for each of the fonts and so can ensure that only glyph which exits in the fonts are used. >> 3. The pirat font (http://www.enpassant.dk/chess/downl/pirat.zip) >> used above shows already some on the problems of the project: The >> font seems to have a text font as base. To get slots for the chess >> symbols it has moved some of the chars backward. Now the king (glyph >> name c140) is on position 140, the position of å, the å is on >> position 229 (Å), luaotfload seems to haved realized this, the >> temp-lua-file of the font contains c140={ 229, 140 } and my >> substituation rule gets me an "å" instead of the King I want. How >> can I correct to rule? > > There is something odd with the fonts, it seems to have the same glyph > referenced in multiple slots, for example the king is on c162 too, It is a different king, it has another bounding box. I can use it (the type1 variant is doing it) but I would still like to know how I could access the other one. It works if I change in the temp-pirat-testsubs.lua in the unicodes table c140={ 229, 140 } to c140 = {140}. So I think the question is, can I manipulate this value after the definition of the font? -- Ulrike Fischer
