XeTeX, Adobe Garmond & dash, quotes, etc.
The code below is used to load the Adobe Garmond fonts. The problem is that quotes (``) produces two single quotes. Similar with dashes: an en dash produces to dashes, an em dash likewise produces three dashes. What am I doing wrong (again)! \starttypescript[serif][agaramond][ec] \definefontsynonym[AGaramondRegular][name:AGaramond-Regular] [encoding=ec] \definefontsynonym[AGaramondItalic] [name:AGaramond-Italic][encoding=ec] \definefontsynonym[AGaramondBold] [name:AGaramond-Bold] [encoding=ec] \definefontsynonym[AGaramondBoldIt] [name:AGaramond-BoldItalic] [encoding=ec] \stoptypescript \starttypescript[serif][agaramond][name] \definefontsynonym [Serif] [AGaramondRegular] \definefontsynonym [SerifItalic] [AGaramondItalic] \definefontsynonym [SerifBold] [AGaramondBold] \definefontsynonym [SerifBoldItalic] [AGaramondBoldIt] \stoptypescript \starttypescript[agaramond][ec] \definetypeface[agaramond][rm][serif][agaramond][default][encoding=ec] \stoptypescript \usetypescript[agaramond][ec] \setupbodyfont[agaramond, 12pt] \starttext ``Here's a lousy looking quote.'' Here are a couple of dashes: -- Here are three: --- \stoptext Thanks, Bart
On Fri, Nov 21, 2008 at 5:14 AM, Bart C. Wise wrote:
The code below is used to load the Adobe Garmond fonts. The problem is that quotes (``) produces two single quotes. Similar with dashes: an en dash produces to dashes, an em dash likewise produces three dashes. What am I doing wrong (again)!
Hello, If you are using pdfTeX, then it's the "fault" of your fonts. (The one that prepared the metrics "forgot" to add the proper ligatures to the font. This is not trivial to make.) But then - if you are using pdfTeX, there should be no "name:" in font declaration. name: is more or less reserved for filename of otf/ttf fonts in XeTeX and LuaTeX. If you are using XeTeX or LuaTeX, then you should remove all the [ec] brackets and replace [encoding=ec] with [features=default]. Some clarification is needed though: 1.) You could (in theory) use some replacements for `` and " to produce proper quotation marks, but for Unicode-aware engines that's highly deprecated. Better use \quotation{Here's a nicely looking quote.} or proper quotation marks. The sequence `` was a pure hack (in my opinion), but a sensible one in that time since there were no quotation marks neither on keyboards nor in encodings when Knuth wrote TeX. \quotation is a cleaner way to produce quotation marks. (I'm a bit biased though. Knuthian quotation marks never worked for my language, so I always had to figure out how to get the proper ones, and \quotation was the proper solution for me.) 2.) in LuaTeX and XeTeX there are three replacements left by default: endash, emdash and apostrophe. The main reason being that it's still a bit too difficult to: - find endash and emdash on keyboards - see the difference between the two, esp. in fixed width fonts - change the habit and type proper apostrophe instead of corresponding ascii character: ' 3.) For some reason, "features=default" doesn't work as it should since "script=latn" has been left out some time ago, so you need to fix definition of "default" font features. (Or maybe someone else knows how to handle this in a better way. This is what I do. I do not claim that it's the right way to do it.) \definefontfeature [default] [liga=yes,kern=yes,tlig=yes,script=latn]
\starttypescript[serif][agaramond][ec] \definefontsynonym[AGaramondRegular][name:AGaramond-Regular] [encoding=ec] \definefontsynonym[AGaramondItalic] [name:AGaramond-Italic][encoding=ec] \definefontsynonym[AGaramondBold] [name:AGaramond-Bold] [encoding=ec] \definefontsynonym[AGaramondBoldIt] [name:AGaramond-BoldItalic] [encoding=ec] \stoptypescript
\starttypescript[serif][agaramond][name] \definefontsynonym [Serif] [AGaramondRegular] \definefontsynonym [SerifItalic] [AGaramondItalic] \definefontsynonym [SerifBold] [AGaramondBold] \definefontsynonym [SerifBoldItalic] [AGaramondBoldIt] \stoptypescript
\starttypescript[agaramond][ec] \definetypeface[agaramond][rm][serif][agaramond][default][encoding=ec] \stoptypescript
\usetypescript[agaramond][ec] \setupbodyfont[agaramond, 12pt]
\starttext ``Here's a lousy looking quote.'' Here are a couple of dashes: -- Here are three: --- \stoptext
Thanks, Bart
Mojca
Mojca, Thanks for all you time in helping out. I'm still having problems. The \quote and \quotation work. However, as you pointed out, the en, em and apostrophe do not work. In addition, [features=default] did not compile, but [feature=default] did. Here's what I'm working with: \starttypescript[serif][agaramond] \definefontsynonym[AGaramondRegular][name:AGaramond-Regular] [feature=default] \definefontsynonym[AGaramondItalic] [name:AGaramond-Italic][feature=default] \definefontsynonym[AGaramondBold] [name:AGaramond-Bold] [feature=default] \definefontsynonym[AGaramondBoldIt] [name:AGaramond-BoldItalic] [feature=default] \stoptypescript \starttypescript[serif][agaramond][name] \definefontsynonym [Serif] [AGaramondRegular] \definefontsynonym [SerifItalic] [AGaramondItalic] \definefontsynonym [SerifBold] [AGaramondBold] \definefontsynonym [SerifBoldItalic] [AGaramondBoldIt] \stoptypescript \starttypescript[agaramond] \definetypeface[agaramond][rm][serif][agaramond][default][feature=default] \stoptypescript \usetypescript[agaramond] \setupbodyfont[agaramond, 12pt] \definefontfeature[default] [liga=yes, kern=yes, tlig=yes, script=latn, mapping=tex-text] Any more hints? Bart On Thursday 20 November 2008 09:44:05 pm Mojca Miklavec wrote:
On Fri, Nov 21, 2008 at 5:14 AM, Bart C. Wise wrote:
The code below is used to load the Adobe Garmond fonts. The problem is that quotes (``) produces two single quotes. Similar with dashes: an en dash produces to dashes, an em dash likewise produces three dashes. What am I doing wrong (again)!
Hello,
If you are using pdfTeX, then it's the "fault" of your fonts. (The one that prepared the metrics "forgot" to add the proper ligatures to the font. This is not trivial to make.) But then - if you are using pdfTeX, there should be no "name:" in font declaration. name: is more or less reserved for filename of otf/ttf fonts in XeTeX and LuaTeX.
If you are using XeTeX or LuaTeX, then you should remove all the [ec] brackets and replace [encoding=ec] with [features=default].
Some clarification is needed though:
1.) You could (in theory) use some replacements for `` and " to produce proper quotation marks, but for Unicode-aware engines that's highly deprecated. Better use \quotation{Here's a nicely looking quote.} or proper quotation marks. The sequence `` was a pure hack (in my opinion), but a sensible one in that time since there were no quotation marks neither on keyboards nor in encodings when Knuth wrote TeX. \quotation is a cleaner way to produce quotation marks. (I'm a bit biased though. Knuthian quotation marks never worked for my language, so I always had to figure out how to get the proper ones, and \quotation was the proper solution for me.)
2.) in LuaTeX and XeTeX there are three replacements left by default: endash, emdash and apostrophe. The main reason being that it's still a bit too difficult to: - find endash and emdash on keyboards - see the difference between the two, esp. in fixed width fonts - change the habit and type proper apostrophe instead of corresponding ascii character: '
3.) For some reason, "features=default" doesn't work as it should since "script=latn" has been left out some time ago, so you need to fix definition of "default" font features. (Or maybe someone else knows how to handle this in a better way. This is what I do. I do not claim that it's the right way to do it.)
\definefontfeature [default] [liga=yes,kern=yes,tlig=yes,script=latn]
\starttypescript[serif][agaramond][ec] \definefontsynonym[AGaramondRegular][name:AGaramond-Regular] [encoding=ec] \definefontsynonym[AGaramondItalic] [name:AGaramond-Italic][encoding=ec] \definefontsynonym[AGaramondBold] [name:AGaramond-Bold] [encoding=ec] \definefontsynonym[AGaramondBoldIt] [name:AGaramond-BoldItalic] [encoding=ec] \stoptypescript
\starttypescript[serif][agaramond][name] \definefontsynonym [Serif] [AGaramondRegular] \definefontsynonym [SerifItalic] [AGaramondItalic] \definefontsynonym [SerifBold] [AGaramondBold] \definefontsynonym [SerifBoldItalic] [AGaramondBoldIt] \stoptypescript
\starttypescript[agaramond][ec] \definetypeface[agaramond][rm][serif][agaramond][default][encoding=ec] \stoptypescript
\usetypescript[agaramond][ec] \setupbodyfont[agaramond, 12pt]
\starttext ``Here's a lousy looking quote.'' Here are a couple of dashes: -- Here are three: --- \stoptext
Thanks, Bart
Mojca ___________________________________________________________________________ ________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________ ________
On Fri, Nov 21, 2008 at 6:40 AM, Bart C. Wise wrote:
Mojca,
Thanks for all you time in helping out. I'm still having problems. The \quote and \quotation work. However, as you pointed out, the en, em and apostrophe do not work.
In addition, [features=default] did not compile, but [feature=default] did.
What error did you get? In that case feature=default has been ignored (unknown parameters get ignored in ConTeXt), that's why it didn't complain, but it didn't work either.
Here's what I'm working with:
\starttypescript[serif][agaramond] \definefontsynonym[AGaramondRegular][name:AGaramond-Regular] [feature=default] \definefontsynonym[AGaramondItalic] [name:AGaramond-Italic][feature=default] \definefontsynonym[AGaramondBold] [name:AGaramond-Bold] [feature=default] \definefontsynonym[AGaramondBoldIt] [name:AGaramond-BoldItalic] [feature=default] \stoptypescript
\starttypescript[serif][agaramond][name] \definefontsynonym [Serif] [AGaramondRegular] \definefontsynonym [SerifItalic] [AGaramondItalic] \definefontsynonym [SerifBold] [AGaramondBold] \definefontsynonym [SerifBoldItalic] [AGaramondBoldIt] \stoptypescript
\starttypescript[agaramond] \definetypeface[agaramond][rm][serif][agaramond][default][feature=default] \stoptypescript
\usetypescript[agaramond] \setupbodyfont[agaramond, 12pt] \definefontfeature[default] [liga=yes, kern=yes, tlig=yes, script=latn, mapping=tex-text]
Any more hints?
I don't see anything else being fundamentally wrong (you don't need both mapping=tex-text and tlig=yes though, but that should not break compilation). May I ask for the logs? Mojca
I think the error I got was not having enough sleep :-) because I worked on it this morning and it's working. I'll tack on my current file below. The font features does not seem to make any difference. However, I took the same typescript and modified it for the Tallys font and I can turn ligatures on/off, kerning on/off, etc. But the same typescript for the Adobe Garamond does not work, I'm perplexed and a bit frustrated. I greatly appreciate your help thus far. Bar \definefontfeature[default] [liga=yes, kern=yes, tlig=yes, script=latn, mapping=tex-text] \starttypescript[serif][agaramond] \definefontsynonym[AGaramondRegular] [name:AGaramond-Regular] [features=default] \stoptypescript \starttypescript[serif][agaramond][name] \definefontsynonym [Serif] [AGaramondRegular] [features=default] \stoptypescript \starttypescript[AGaramond] \definetypeface[MyGaramond][rm][serif][agaramond][default][features=default] \stoptypescript \usetypescript[AGaramond]%[ec] \setupbodyfont[MyGaramond, 12pt] \starttext Ydes, Yffignac and Ygrande fi ff ffi Two of [of] (of) \quote{of} \quotation{of} of? of! of*. \quote{Ask Jeff} \quotation{Ask Jeff} \stoptext On Friday 21 November 2008 09:01:13 am Mojca Miklavec wrote:
On Fri, Nov 21, 2008 at 6:40 AM, Bart C. Wise wrote:
Mojca,
Thanks for all you time in helping out. I'm still having problems. The \quote and \quotation work. However, as you pointed out, the en, em and apostrophe do not work.
In addition, [features=default] did not compile, but [feature=default] did.
What error did you get? In that case feature=default has been ignored (unknown parameters get ignored in ConTeXt), that's why it didn't complain, but it didn't work either.
Here's what I'm working with:
\starttypescript[serif][agaramond] \definefontsynonym[AGaramondRegular][name:AGaramond-Regular] [feature=default] \definefontsynonym[AGaramondItalic] [name:AGaramond-Italic][feature=default] \definefontsynonym[AGaramondBold] [name:AGaramond-Bold] [feature=default] \definefontsynonym[AGaramondBoldIt] [name:AGaramond-BoldItalic] [feature=default] \stoptypescript
\starttypescript[serif][agaramond][name] \definefontsynonym [Serif] [AGaramondRegular] \definefontsynonym [SerifItalic] [AGaramondItalic] \definefontsynonym [SerifBold] [AGaramondBold] \definefontsynonym [SerifBoldItalic] [AGaramondBoldIt] \stoptypescript
\starttypescript[agaramond]
\definetypeface[agaramond][rm][serif][agaramond][default][feature=default ] \stoptypescript
\usetypescript[agaramond] \setupbodyfont[agaramond, 12pt] \definefontfeature[default] [liga=yes, kern=yes, tlig=yes, script=latn, mapping=tex-text]
Any more hints?
I don't see anything else being fundamentally wrong (you don't need both mapping=tex-text and tlig=yes though, but that should not break compilation). May I ask for the logs?
Mojca ___________________________________________________________________________ ________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________ ________
On Fri, Nov 21, 2008 at 5:47 PM, Bart C. Wise wrote:
I think the error I got was not having enough sleep :-) because I worked on it this morning and it's working. I'll tack on my current file below. The font features does not seem to make any difference. However, I took the same typescript and modified it for the Tallys font and I can turn ligatures on/off, kerning on/off, etc. But the same typescript for the Adobe Garamond does not work, I'm perplexed and a bit frustrated.
I'm not sure if we're talking about the same problem, but I remember that I had to try *all* different variants of Garamond when I needed fi ligature and only a single font had the proper weight and that ligature (I ended up using ITCGaramondStd-Lt and ITCGaramondStd-LtIta after wasting way too much time trying to figure out what was wrong). Did you check if the desired ligatures are available at all in the font you are using? Mojca
Fontforge shows no ligatures for Adobe Garamond; however, it does show ligatures for the Tallys fonts. So that probably explains why there are no ligatures. However, the font has a lot of kerning pairs, but I don't seem to be able turn those on/off with the \definefontfeature directive as I could do in the Tallys font. And back to the original problem, en dash, em dash, quotes that work in other fonts don't work here. I can use \emdash, \endash, \quotesingle, etc., but this creates more work when you get text from an author and is more prone to error. So is this a font problem? Or is this something I'm doing wrong (and what)? Thanks once again, Bart On Friday 21 November 2008 10:00:14 am Mojca Miklavec wrote:
On Fri, Nov 21, 2008 at 5:47 PM, Bart C. Wise wrote:
I think the error I got was not having enough sleep :-) because I worked on it this morning and it's working. I'll tack on my current file below. The font features does not seem to make any difference. However, I took the same typescript and modified it for the Tallys font and I can turn ligatures on/off, kerning on/off, etc. But the same typescript for the Adobe Garamond does not work, I'm perplexed and a bit frustrated.
I'm not sure if we're talking about the same problem, but I remember that I had to try *all* different variants of Garamond when I needed fi ligature and only a single font had the proper weight and that ligature (I ended up using ITCGaramondStd-Lt and ITCGaramondStd-LtIta after wasting way too much time trying to figure out what was wrong).
Did you check if the desired ligatures are available at all in the font you are using?
Mojca ___________________________________________________________________________ ________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________ ________
Am 21.11.2008 um 18:25 schrieb Bart C. Wise:
Fontforge shows no ligatures for Adobe Garamond; however, it does show ligatures for the Tallys fonts. So that probably explains why there are no ligatures.
However, the font has a lot of kerning pairs, but I don't seem to be able turn those on/off with the \definefontfeature directive as I could do in the Tallys font.
And back to the original problem, en dash, em dash, quotes that work in other fonts don't work here. I can use \emdash, \endash, \quotesingle, etc., but this creates more work when you get text from an author and is more prone to error.
So is this a font problem? Or is this something I'm doing wrong (and what)?
Give us more information, what format does your Garamond font has (type1, truetype or opentype). Have you tried to load the font without ConTeXts interface: \font\garamond="AGaramond-Regular:mapping=tex-text" \garamond fi ffi -- --- ``text'' fl \bye Can you try to test your typescript with MkIV if this makes a difference and finally, what is the output from "mtxrun --script fonts --list AGaramond* --info". Wolfgang
On Friday 21 November 2008 11:11:39 am Wolfgang Schuster wrote:
Am 21.11.2008 um 18:25 schrieb Bart C. Wise:
Fontforge shows no ligatures for Adobe Garamond; however, it does show ligatures for the Tallys fonts. So that probably explains why there are no ligatures.
However, the font has a lot of kerning pairs, but I don't seem to be able turn those on/off with the \definefontfeature directive as I could do in the Tallys font.
And back to the original problem, en dash, em dash, quotes that work in other fonts don't work here. I can use \emdash, \endash, \quotesingle, etc., but this creates more work when you get text from an author and is more prone to error.
So is this a font problem? Or is this something I'm doing wrong (and what)?
Give us more information, what format does your Garamond font has (type1, truetype or opentype). Have you tried to load the font without ConTeXts interface:
\font\garamond="AGaramond-Regular:mapping=tex-text"
\garamond fi ffi -- --- ``text'' fl
\bye
Can you try to test your typescript with MkIV if this makes a difference and finally, what is the output from "mtxrun --script fonts --list AGaramond* --info".
Wolfgang
The above code works, the -- and --- get translated to endash and emdash, the quotes look great. Still no ligatures, but it doesn't seem that the font has any. I have no MkIV setup, and I'm in the middle of a project, so now is not a good time to switch. Is there a convenient way to try on TeXLive2008 without changing my current setup? If so, I'll give it a whirl. $ mtxrun --script fonts --list AGaramond* --info MtxRun | error unable to identify cnf file MtxRun | error unable to identify cnf file MtxRun | no cnf files found (TEXMFCNF may not be set/known) MtxRun | unknown script: fonts Something wrong with my TeXLive2008 installation? Bart
participants (3)
-
Bart C. Wise
-
Mojca Miklavec
-
Wolfgang Schuster