On 7-6-2012 10:03, luigi scarso wrote:
Hi, from fontforge users list
On Thu, Jun 7, 2012 at 12:57 AM, Georg Duffner
wrote: Dear fellow fontforgers,
in the last few days I’ve been experimenting with decomposition via Opentype. I’ve come to some results, but I’m not sure if I’ve done everything right because no engine does everything I want them to. So I’d please like to know, if I’ve committed some crime against Adobe’s laws, if anybody minds to enlighten me.
Here’s the case, centered around some greek because it’ll probably be the most complicated use cases I’ll happen to have (at least I hope so): By means of a stylistic set (ss20) I decompose precomposed glyphs as by Unicode Normalization Tables like this: sub uni1F8F by Alpha uni0345.cap uni0314.grkstack uni0342 ; sub uni1F84 by alpha uni0345 uni0313.grk acutecomb.grkstack ; sub uni1F4A by Omicron uni0313.grk gravecomb.grkstack ; etc.
Now greek uppercase characters like to have accents appended left to them. So, they take more space there, which I solve with a contextual kerning rule like this: pos Omicron'<157 0 157 0> @grk_tlAcc2; where @grk_tlAcc2 contains uni0313.grk, so it will be expanded by 157 and repositioned by 157 to make place for the accents.
The third set of rules aims at providing adscript i as alternate letter to iota subscriptum via Character variant: sub uni0345.cap from [ uni0345.cap1 uni0345.cap2 ];
This one, of course again needs more space, which I give them like this in the contextual kerning: pos Alpha'<0 0 200 0> uni0345.cap1; pos Alpha'<0 0 340 0> uni0345.cap2; pos Omega'<121 0 436 0> uni0345.cap2 @grk_tlAcc2; pos Omega'<121 0 461 0> uni0345.sc1 @grk_tlAcc2; so there is more space to the right, where the iota adscriptumg fits in.
I’m asking, because I get four different results from four engines, namely XeLaTeX, LuaLaTeX, Firefox 12.0 (on Ubuntu Linux) and Fontforge itself (metrics window), where only Fontforge looks right. Now I’d like to know if my code is ok before I file bugs to the different groups.
The testing files are: Web: http://georgduffner.at/ebgaramond/greektests.html PDF: http://georgduffner.at/ebgaramond/tests/lltx_greektests.pdf http://georgduffner.at/ebgaramond/tests/xltx_greektests.pdf Fonts: http://georgduffner.at/ebgaramond/EBGaramond-Regular.otf http://georgduffner.at/ebgaramond/EBGaramond-Regular.ttf Source: https://github.com/georgd/EB-Garamond
Best regards, Georg
With the otf version
\usemodule[simplefonts] \setmainfont[ebgaramond] \starttext foo \stoptext
I have
I'm not able to install the ttf version but
\definefont[ebgaramond][EBGaramond-Regular.ttf at 12pt] \starttext \ebgaramond foo \stoptext
gives
fonts> otf loading> loading: EBGaramond-Regular.ttf (hash:
system> tex> error on line 3 in file test.mkiv: LuaTeX error ...
can you test with local function s_uncover(splitter,cache,cover) if cover == "" then return nil else local uncovered = cache[cover] if not uncovered then uncovered = lpegmatch(splitter,cover) cache[cover] = uncovered end return { uncovered } end end btw, what are features like cv80 and cv81 supposed to represent? Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------