Error with EBGaramond-Regular
Hi, from fontforge users list
On Thu, Jun 7, 2012 at 12:57 AM, Georg Duffner
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 fonts > otf loading > loading: /opt/luatex/standalone-bassenge/tex/texmf-project/fonts/EBGaramond-Regular.otf (hash: ebgaramond-regular) fonts > otf loading > font loaded okay fonts > otf loading > file size: 349756 fonts > encoding > loading (extended) adobe glyph list ! LuaTeX error ...enge/tex/texmf-context/tex/context/base/font-otf.lua:1143: attempt to get length of local 'ti' (a number value) stack traceback: ...enge/tex/texmf-context/tex/context/base/font-otf.lua:1143: in function 's_hashed' ...enge/tex/texmf-context/tex/context/base/font-otf.lua:1310: in function 'enhancer' ...enge/tex/texmf-context/tex/context/base/font-otf.lua:260: in function 'enhance' ...enge/tex/texmf-context/tex/context/base/font-otf.lua:282: in function 'apply' ...enge/tex/texmf-context/tex/context/base/font-otf.lua:457: in function 'load' ...enge/tex/texmf-context/tex/context/base/font-otf.lua:1938: in function 'otftotfm' ...enge/tex/texmf-context/tex/context/base/font-otf.lua:1965: in function <...enge/tex/texmf-context/tex/context/base/font-otf.lua:1964> (tail call): ? (tail call): ? (tail call): ? ...enge/tex/texmf-context/tex/context/base/font-def.lua:286: in function 'loadfont' ...enge/tex/texmf-context/tex/context/base/font-ctx.lua:426: in function 'loadfont' ...enge/tex/texmf-context/tex/context/base/font-def.lua:400: in function 'read' ...enge/tex/texmf-context/tex/context/base/font-ctx.lua:909: in function 'definefont_two' <main ctx instance>:1: in main chunk. system > tex > error on line 11 in file test.mkiv: LuaTeX error ... 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: ebgaramond-regular) fonts > otf loading > font loaded okay fonts > otf loading > file size: 631736 fonts > encoding > loading (extended) adobe glyph list ! LuaTeX error ...enge/tex/texmf-context/tex/context/base/font-otf.lua:1143: attempt to get length of local 'ti' (a number value) stack traceback: ...enge/tex/texmf-context/tex/context/base/font-otf.lua:1143: in function 's_hashed' ...enge/tex/texmf-context/tex/context/base/font-otf.lua:1310: in function 'enhancer' ...enge/tex/texmf-context/tex/context/base/font-otf.lua:260: in function 'enhance' ...enge/tex/texmf-context/tex/context/base/font-otf.lua:282: in function 'apply' ...enge/tex/texmf-context/tex/context/base/font-otf.lua:457: in function 'load' ...enge/tex/texmf-context/tex/context/base/font-otf.lua:1938: in function 'otftotfm' ...enge/tex/texmf-context/tex/context/base/font-otf.lua:1965: in function <...enge/tex/texmf-context/tex/context/base/font-otf.lua:1964> (tail call): ? (tail call): ? (tail call): ? ...enge/tex/texmf-context/tex/context/base/font-def.lua:286: in function 'loadfont' ...enge/tex/texmf-context/tex/context/base/font-ctx.lua:426: in function 'loadfont' ...enge/tex/texmf-context/tex/context/base/font-def.lua:400: in function 'read' ...enge/tex/texmf-context/tex/context/base/font-ctx.lua:909: in function 'definefont_two' <main ctx instance>:1: in main chunk. system > tex > error on line 3 in file test.mkiv: LuaTeX error ... Fonts: http://georgduffner.at/ebgaramond/EBGaramond-Regular.otf http://georgduffner.at/ebgaramond/EBGaramond-Regular.ttf -- luigi
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 -----------------------------------------------------------------
On Thu, Jun 7, 2012 at 6:14 PM, Hans Hagen
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 It's ok.
btw, what are features like cv80 and cv81 supposed to represent?
I've asked to the author (and invite him to join this ml) I'm doing other tests for the greek glyphs . -- luigi
On Thu, Jun 07, 2012 at 06:14:10PM +0200, Hans Hagen wrote:
btw, what are features like cv80 and cv81 supposed to represent?
A relatively new OpenType addition. http://www.microsoft.com/typography/otspec/features_ae.htm#cv01-cv99 Regards, Khaled
On 8-6-2012 06:16, Khaled Hosny wrote:
On Thu, Jun 07, 2012 at 06:14:10PM +0200, Hans Hagen wrote:
btw, what are features like cv80 and cv81 supposed to represent?
A relatively new OpenType addition. http://www.microsoft.com/typography/otspec/features_ae.htm#cv01-cv99
ok, so nothing really special. Does fontforge already support these Feature Parameters tables? And should we do something with them? 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 -----------------------------------------------------------------
On Fri, Jun 08, 2012 at 09:40:22AM +0200, Hans Hagen wrote:
On 8-6-2012 06:16, Khaled Hosny wrote:
On Thu, Jun 07, 2012 at 06:14:10PM +0200, Hans Hagen wrote:
btw, what are features like cv80 and cv81 supposed to represent?
A relatively new OpenType addition. http://www.microsoft.com/typography/otspec/features_ae.htm#cv01-cv99
ok, so nothing really special.
Does fontforge already support these Feature Parameters tables? And should we do something with them?
I'm not sure, but AFAIK our "snapshot" of FontForge predates all that stuff. Regards, Khaled
participants (3)
-
Hans Hagen
-
Khaled Hosny
-
luigi scarso