Re: [NTG-context] If a Font Has Ligature Glyphs But No Feature?
On 7/20/2022 9:40 PM, Bruce Horrocks via ntg-context wrote: On 20 Jul 2022, at 05:31, Michael Urban via ntg-context wrote: Aside from purchasing a real font product from Linotype at enormous expense and hoping it is better equipped, is there a way to coerce ConTeXt into using the ligature glyphs for fi and fl? Yes - I had to do the same for a font called Venetian 301 for which I found these 4 files: FilenameName as it appears to MacOS -- Venetian301BT-Roman.otf Venetian 301 Regular Venetian301BT-Italic.otfVenetian 301 Italic Venetian301BT-Bold.otf Venetian 301 Bold venetian-301-demi-bt.ttfVenetian Dm BT Demi They each had the fi and fl ligatures, but at different character positions depending on which file, and they weren't recognised by default. So I used the following code to add them (and add en and em dash substitution as well). %% start \startluacode fonts.handlers.otf.addfeature { name = "v1", -- these character substitutions will be applied to venetian-301-demi-bt type = "ligature", data = { [0xF001] = { "f", "i" }, [0xF002] = { "f", "l" }, } } fonts.handlers.otf.addfeature { name = "v2", -- these character substitutions will be applied to Venetian301BT type = "ligature", data = { [0xFB01] = { "f", "i" }, [0xFB02] = { "f", "l" }, } } fonts.handlers.otf.addfeature { name = "v3", -- these character substitutions will be applied to both type = "ligature", data = { [0x2013] = { "-", "-" }, -- en dash [0x2014] = { "-", "-", "-" }, -- em dash } } \stopluacode \definefontfeature [venetian-301-demi-ligatures] [v1=yes,v3=yes] \definefontfeature [venetian-301-BT-ligatures] [v2=yes,v3=yes] \starttypescript [serif] [myBookFont] \definefontsynonym [Serif] [file:venetian-301-demi-bt] [features=venetian-301-demi-ligatures] \definefontsynonym [SerifBold] [file:Venetian301BT-Bold] [features=venetian-301-BT-ligatures] \definefontsynonym [SerifItalic] [file:Venetian301BT-Italic] [features=venetian-301-BT-ligatures] \stoptypescript %% end Note that the names v1, v2 and v3 are entirely arbitrary. Also, the \starttypescript section sets the font features to be just those I've defined - potentially losing whatever 'default' would provide. But since the font doesn't seem to have a lot of features in the first place I've so far not noticed any problems. I'm sure a real expert could tell you how to retain 'default' and add the ligatures, if needed. just name them 'liga' and default will then do them - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___
Re: [NTG-context] If a Font Has Ligature Glyphs But No Feature?
> On 20 Jul 2022, at 22:11, Henning Hraban Ramm via ntg-context > wrote: > > Am 20.07.22 um 21:40 schrieb Bruce Horrocks via ntg-context: > >> \definefontfeature [venetian-301-demi-ligatures] [v1=yes,v3=yes] >> \definefontfeature [venetian-301-BT-ligatures] [v2=yes,v3=yes] >> Note that the names v1, v2 and v3 are entirely arbitrary. Also, the >> \starttypescript section sets the font features to be just those I've >> defined - potentially losing whatever 'default' would provide. But since the >> font doesn't seem to have a lot of features in the first place I've so far >> not noticed any problems. I'm sure a real expert could tell you how to >> retain 'default' and add the ligatures, if needed. > > Hi Bruce, you can simply inherit your feature sets from default: > > \definefontfeature [venetian-301-demi-ligatures][default][v1=yes,v3=yes] > \definefontfeature [venetian-301-BT-ligatures][default][v2=yes,v3=yes] > > I’d like to borrow your example for my book, if you don’t object. Thank-you for the tip, and please feel free to use my example in your book. — Bruce Horrocks Hampshire, UK ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___
Re: [NTG-context] If a Font Has Ligature Glyphs But No Feature?
Am 20.07.22 um 21:40 schrieb Bruce Horrocks via ntg-context: \definefontfeature [venetian-301-demi-ligatures] [v1=yes,v3=yes] \definefontfeature [venetian-301-BT-ligatures] [v2=yes,v3=yes] Note that the names v1, v2 and v3 are entirely arbitrary. Also, the \starttypescript section sets the font features to be just those I've defined - potentially losing whatever 'default' would provide. But since the font doesn't seem to have a lot of features in the first place I've so far not noticed any problems. I'm sure a real expert could tell you how to retain 'default' and add the ligatures, if needed. Hi Bruce, you can simply inherit your feature sets from default: \definefontfeature [venetian-301-demi-ligatures][default][v1=yes,v3=yes] \definefontfeature [venetian-301-BT-ligatures][default][v2=yes,v3=yes] I’d like to borrow your example for my book, if you don’t object. Hraban ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___
Re: [NTG-context] If a Font Has Ligature Glyphs But No Feature?
> On 20 Jul 2022, at 05:31, Michael Urban via ntg-context > wrote: > > Aside from purchasing a real font product from Linotype at enormous expense > and hoping it is better equipped, is there a way to coerce ConTeXt into using > the ligature glyphs for fi and fl? Yes - I had to do the same for a font called Venetian 301 for which I found these 4 files: FilenameName as it appears to MacOS -- Venetian301BT-Roman.otf Venetian 301 Regular Venetian301BT-Italic.otfVenetian 301 Italic Venetian301BT-Bold.otf Venetian 301 Bold venetian-301-demi-bt.ttfVenetian Dm BT Demi They each had the fi and fl ligatures, but at different character positions depending on which file, and they weren't recognised by default. So I used the following code to add them (and add en and em dash substitution as well). %% start \startluacode fonts.handlers.otf.addfeature { name = "v1",-- these character substitutions will be applied to venetian-301-demi-bt type = "ligature", data = { [0xF001] = { "f", "i" }, [0xF002] = { "f", "l" }, } } fonts.handlers.otf.addfeature { name = "v2",-- these character substitutions will be applied to Venetian301BT type = "ligature", data = { [0xFB01] = { "f", "i" }, [0xFB02] = { "f", "l" }, } } fonts.handlers.otf.addfeature { name = "v3",-- these character substitutions will be applied to both type = "ligature", data = { [0x2013] = { "-", "-" }, -- en dash [0x2014] = { "-", "-", "-" }, -- em dash } } \stopluacode \definefontfeature [venetian-301-demi-ligatures] [v1=yes,v3=yes] \definefontfeature [venetian-301-BT-ligatures] [v2=yes,v3=yes] \starttypescript [serif] [myBookFont] \definefontsynonym [Serif] [file:venetian-301-demi-bt] [features=venetian-301-demi-ligatures] \definefontsynonym [SerifBold] [file:Venetian301BT-Bold] [features=venetian-301-BT-ligatures] \definefontsynonym [SerifItalic] [file:Venetian301BT-Italic] [features=venetian-301-BT-ligatures] \stoptypescript %% end Note that the names v1, v2 and v3 are entirely arbitrary. Also, the \starttypescript section sets the font features to be just those I've defined - potentially losing whatever 'default' would provide. But since the font doesn't seem to have a lot of features in the first place I've so far not noticed any problems. I'm sure a real expert could tell you how to retain 'default' and add the ligatures, if needed. Regards, — Bruce Horrocks Hampshire, UK ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___
Re: [NTG-context] If a Font Has Ligature Glyphs But No Feature?
On 7/20/2022 6:31 AM, Michael Urban via ntg-context wrote: I downloaded something that purports to be Century Expanded from fontsgeek.com. Although the font has fi and fl ligature glyphs, it does not have a ligature font feature and ConTeXt does not use those glyphs. Aside from purchasing a real font product from Linotype at enormous expense and hoping it is better equipped, is there a way to coerce ConTeXt into using the ligature glyphs for fi and fl? you can define your own ligature feature (examples in test suite and elsewhere) but personally i'd not spend money on a font that is half done (some t1 font converted to ot?); or maybe it does have a feature but it's script / language dependent Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___