showfont with xetex (syntax changed?)
Hi, when in february 2006 I asked for an alternative to fontspec that could show me opentype features, Adam wrote: I find that the lcdf typetools are a tremendous help: otfinfo -f ~/Library/Fonts/WarnockPro-Regular.otf and I can test the features with: \showfont["Warnock Pro: +smcp"] Today this showfont-line doesn't work anymore: \definetypeface[oneliner][rm][Xserif][Warnock Pro][default] \starttext \oneliner Test WQG 0196 \showfont["Warnock Pro: +smcp"] \stoptext Someone knows what to do? Thanks, Steffen
On 12/6/07, Steffen Wolfrum wrote:
Hi,
when in february 2006 I asked for an alternative to fontspec that could show me opentype features, Adam wrote:
I find that the lcdf typetools are a tremendous help: otfinfo -f ~/Library/Fonts/WarnockPro-Regular.otf and I can test the features with: \showfont["Warnock Pro: +smcp"]
Today this showfont-line doesn't work anymore:
\definetypeface[oneliner][rm][Xserif][Warnock Pro][default]
\starttext
\oneliner Test WQG 0196
\showfont["Warnock Pro: +smcp"]
\stoptext
Someone knows what to do?
(I wasn't aware of such usage ...) In this specific case you could use \showfont[SerifCaps] (if your ConTeXt version is newer than 2007.10.29) The general approach would be something like: \definefontfeature[mine][smcp=yes] \definefontsynonym[a][name:Warnock Pro][features=mine] \showfont[a] (grep the sources for definefontfeature) One question for Hans: would it be possible (make sense) to make this work? \showfont[name:Iwona][features=mine] Perhaps there should be some kind of "raw" prefix introduced (again): \definefontsynonym[a][raw:Warnock Pro:mapping=tex-text;+smcp] But generally, LuaTeX is much more suitable for such previews (only that there might be no "newshowfont" available yet - writing one is doable if you know what you're interested in). My two cents: ConTeXt currenty uses smcp=yes,script=latn,onum=yes,liga=yes... while fontspec uses either Letters=SmallCaps Script=Latin Numbers=OldStyle Ligatures=Common or the same raw names as above. I would prefer the "human-readable" names as in fontspec, but ... well, the font calling mechanisms really need to improve in my opinion. What fontspec achieves in one line like (copying from XeTeX list): \setmainfont[Script=Devanagari]{Sanskrit 2003} needs dozens of lines in ConTeXt (definefontfeature, define typescripts in two steps, ... brrrr) So in case that some more features in XeTeX/LuaTeX change, do not be surprised too much ... Mojca
Mojca Miklavec wrote:
But generally, LuaTeX is much more suitable for such previews (only that there might be no "newshowfont" available yet - writing one is doable if you know what you're interested in).
My two cents: ConTeXt currenty uses smcp=yes,script=latn,onum=yes,liga=yes... while fontspec uses either Letters=SmallCaps Script=Latin Numbers=OldStyle Ligatures=Common or the same raw names as above. I would prefer the "human-readable" names as in fontspec, but ... well, the font calling mechanisms really need to improve in my opinion.
What fontspec achieves in one line like (copying from XeTeX list): \setmainfont[Script=Devanagari]{Sanskrit 2003} needs dozens of lines in ConTeXt (definefontfeature, define typescripts in two steps, ... brrrr)
So in case that some more features in XeTeX/LuaTeX change, do not be surprised too much ...
keep in mind that xetex and mkiv support will not be the same in all those aspects; i more or less expect users to use one or the other engine and then become familiar with its specific interfaces anyhow, a next version of mkiv will support more verbose options, script=slovenian smallcaps=true basically anything in the script, language and feature hashes (lowercased and de-spaced when compared) something numbers=oldstyle could be supported but i see no real reason for it since then we end up in endless lists of possibilities (given all kind of combinations) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Am 06.12.2007 um 14:48 schrieb Hans Hagen:
something numbers=oldstyle could be supported but i see no real reason for it since then we end up in endless lists of possibilities (given all kind of combinations)
I have not yet played with Lua, thus I can't follow your and Mojca's discussion at that point. But to have a handy way to switch on/off oldstyle figures would be very useful! "numbers=oldstyle" shouldn't be considered as a theoretical possibility, it is needed quite often. Steffen
2007/12/6, Steffen Wolfrum
Am 06.12.2007 um 14:48 schrieb Hans Hagen:
something numbers=oldstyle could be supported but i see no real reason for it since then we end up in endless lists of possibilities (given all kind of combinations)
I have not yet played with Lua, thus I can't follow your and Mojca's discussion at that point. But to have a handy way to switch on/off oldstyle figures would be very useful!
"numbers=oldstyle" shouldn't be considered as a theoretical possibility, it is needed quite often.
Steffen
The following should work, can't test it at the moment \definefontfeature[enableoldstyle][onum=yes] \definefontfeature[disableoldstyle][onum=no] \starttext 123 \setfontfeature{enableoldstyle} 456 \setfontfeature{disableoldstyle} 789 \stoptext Wolfgang
Am 06.12.2007 um 15:37 schrieb Wolfgang Schuster:
2007/12/6, Steffen Wolfrum
: Am 06.12.2007 um 14:48 schrieb Hans Hagen:
something numbers=oldstyle could be supported but i see no real reason for it since then we end up in endless lists of possibilities (given all kind of combinations)
I have not yet played with Lua, thus I can't follow your and Mojca's discussion at that point. But to have a handy way to switch on/off oldstyle figures would be very useful!
"numbers=oldstyle" shouldn't be considered as a theoretical possibility, it is needed quite often.
Steffen
The following should work, can't test it at the moment
\definefontfeature[enableoldstyle][onum=yes] \definefontfeature[disableoldstyle][onum=no]
\starttext
123 \setfontfeature{enableoldstyle} 456 \setfontfeature {disableoldstyle} 789
\stoptext
you mean typeset with Lua, right? with XeTeX it yields ! Undefined control sequence. l.20 \setfontfeature! Steffen
2007/12/6, Steffen Wolfrum
Am 06.12.2007 um 15:37 schrieb Wolfgang Schuster:
2007/12/6, Steffen Wolfrum
: Am 06.12.2007 um 14:48 schrieb Hans Hagen:
something numbers=oldstyle could be supported but i see no real reason for it since then we end up in endless lists of possibilities (given all kind of combinations)
I have not yet played with Lua, thus I can't follow your and Mojca's discussion at that point. But to have a handy way to switch on/off oldstyle figures would be very useful!
"numbers=oldstyle" shouldn't be considered as a theoretical possibility, it is needed quite often.
Steffen
The following should work, can't test it at the moment
\definefontfeature[enableoldstyle][onum=yes] \definefontfeature[disableoldstyle][onum=no]
\starttext
123 \setfontfeature{enableoldstyle} 456 \setfontfeature {disableoldstyle} 789
\stoptext
you mean typeset with Lua, right? with XeTeX it yields
! Undefined control sequence. l.20 \setfontfeature!
This is a new feature introduced only for LuaTeX, not XeTeX and allows you to choose a different fontfeature in your document. Could be used overwrite the defaults for \os and \sc. \def\os{\setfonrfeature{oldstyle}} \def\sc{\setfonrfeature{smallscaps}} Wolfgang
Wolfgang Schuster wrote:
2007/12/6, Steffen Wolfrum
: Am 06.12.2007 um 15:37 schrieb Wolfgang Schuster:
2007/12/6, Steffen Wolfrum
: Am 06.12.2007 um 14:48 schrieb Hans Hagen:
something numbers=oldstyle could be supported but i see no real reason for it since then we end up in endless lists of possibilities (given all kind of combinations) I have not yet played with Lua, thus I can't follow your and Mojca's discussion at that point. But to have a handy way to switch on/off oldstyle figures would be very useful!
"numbers=oldstyle" shouldn't be considered as a theoretical possibility, it is needed quite often.
Steffen The following should work, can't test it at the moment
\definefontfeature[enableoldstyle][onum=yes] \definefontfeature[disableoldstyle][onum=no]
\starttext
123 \setfontfeature{enableoldstyle} 456 \setfontfeature {disableoldstyle} 789
\stoptext
you mean typeset with Lua, right? with XeTeX it yields
! Undefined control sequence. l.20 \setfontfeature!
This is a new feature introduced only for LuaTeX, not XeTeX and allows you to choose a different fontfeature in your document.
Could be used overwrite the defaults for \os and \sc.
\def\os{\setfonrfeature{oldstyle}} \def\sc{\setfonrfeature{smallscaps}}
if you set auto=yes, this mechanism also adapts itself to the language, which for instance for palatino-nova means that in german one does not get an ij lig but in dutch it magically shows up (or ae ligature in french but not english) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Wolfgang Schuster wrote:
2007/12/6, Steffen Wolfrum
: Am 06.12.2007 um 14:48 schrieb Hans Hagen:
something numbers=oldstyle could be supported but i see no real reason for it since then we end up in endless lists of possibilities (given all kind of combinations) I have not yet played with Lua, thus I can't follow your and Mojca's discussion at that point. But to have a handy way to switch on/off oldstyle figures would be very useful!
"numbers=oldstyle" shouldn't be considered as a theoretical possibility, it is needed quite often.
Steffen
The following should work, can't test it at the moment
\definefontfeature[enableoldstyle][onum=yes] \definefontfeature[disableoldstyle][onum=no]
\starttext
123 \setfontfeature{enableoldstyle} 456 \setfontfeature{disableoldstyle} 789
\stoptext
btw, these are attributes and therefore can be used grouped 123 {\setfontfeature{enableoldstyle} 456} 789 ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Fri, 07 Dec 2007 20:09:33 +0100
Hans Hagen
Wolfgang Schuster wrote:
2007/12/6, Steffen Wolfrum
: Am 06.12.2007 um 14:48 schrieb Hans Hagen:
something numbers=oldstyle could be supported but i see no real reason for it since then we end up in endless lists of possibilities (given all kind of combinations) I have not yet played with Lua, thus I can't follow your and Mojca's discussion at that point. But to have a handy way to switch on/off oldstyle figures would be very useful!
"numbers=oldstyle" shouldn't be considered as a theoretical possibility, it is needed quite often.
Steffen
The following should work, can't test it at the moment
\definefontfeature[enableoldstyle][onum=yes] \definefontfeature[disableoldstyle][onum=no]
\starttext
123 \setfontfeature{enableoldstyle} 456 \setfontfeature{disableoldstyle} 789
\stoptext
btw, these are attributes and therefore can be used grouped
123 {\setfontfeature{enableoldstyle} 456} 789
Is it also possible to inherit the values from the previuos change, e.g. I have enabled smallcaps and I want to enable oldstyle numerals with another command, I tried this but the old setting is forgotten and only the new setting work, how can I do this. \usetypescript[palatino] \setupbodyfont[palatino] \definefontfeature[caps][smcp=yes,lnum=yes] \definefontfeature[onum][onum=yes] \def\sc{\setfontfeature{caps}} \def\os{\setfontfeature{onum}} \starttext Text 123 \sc Text 123 \os Text 123 \stoptext PS: Will the smallcaps key also work in a feature release of the latin modern fonts, thid didn't work at the moment and I was forced to use the Pagella fonts. Wolfgang
Wolfgang Schuster wrote:
On Fri, 07 Dec 2007 20:09:33 +0100 Hans Hagen
wrote: Wolfgang Schuster wrote:
2007/12/6, Steffen Wolfrum
: Am 06.12.2007 um 14:48 schrieb Hans Hagen:
something numbers=oldstyle could be supported but i see no real reason for it since then we end up in endless lists of possibilities (given all kind of combinations) I have not yet played with Lua, thus I can't follow your and Mojca's discussion at that point. But to have a handy way to switch on/off oldstyle figures would be very useful!
"numbers=oldstyle" shouldn't be considered as a theoretical possibility, it is needed quite often.
Steffen The following should work, can't test it at the moment
\definefontfeature[enableoldstyle][onum=yes] \definefontfeature[disableoldstyle][onum=no]
\starttext
123 \setfontfeature{enableoldstyle} 456 \setfontfeature{disableoldstyle} 789
\stoptext btw, these are attributes and therefore can be used grouped
123 {\setfontfeature{enableoldstyle} 456} 789
Is it also possible to inherit the values from the previuos change, e.g. I have enabled smallcaps and I want to enable oldstyle numerals with another command, I tried this but the old setting is forgotten and only the new setting work, how can I do this.
\usetypescript[palatino] \setupbodyfont[palatino]
\definefontfeature[caps][smcp=yes,lnum=yes] \definefontfeature[onum][onum=yes]
\def\sc{\setfontfeature{caps}} \def\os{\setfontfeature{onum}}
\starttext
Text 123 \sc Text 123 \os Text 123
i assume ... Text 123 {\sc Text 123 \os Text} 123 ... is meant
\stoptext
accumulated features is something on the agenda, but we need a proper definition interface for that; sometimes one wants to accumulate, sometines not; sometime one even wants to kill features
PS: Will the smallcaps key also work in a feature release of the latin modern fonts, thid didn't work at the moment and I was forced to use the Pagella fonts.
maybe there will be a lmroman10 once that has the features merged Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
2007/12/10, Hans Hagen
Wolfgang Schuster wrote:
On Fri, 07 Dec 2007 20:09:33 +0100 Hans Hagen
wrote: Wolfgang Schuster wrote:
2007/12/6, Steffen Wolfrum
: Am 06.12.2007 um 14:48 schrieb Hans Hagen:
something numbers=oldstyle could be supported but i see no real reason for it since then we end up in endless lists of possibilities (given all kind of combinations) I have not yet played with Lua, thus I can't follow your and Mojca's discussion at that point. But to have a handy way to switch on/off oldstyle figures would be very useful!
"numbers=oldstyle" shouldn't be considered as a theoretical possibility, it is needed quite often.
Steffen The following should work, can't test it at the moment
\definefontfeature[enableoldstyle][onum=yes] \definefontfeature[disableoldstyle][onum=no]
\starttext
123 \setfontfeature{enableoldstyle} 456 \setfontfeature{disableoldstyle} 789
\stoptext btw, these are attributes and therefore can be used grouped
123 {\setfontfeature{enableoldstyle} 456} 789
Is it also possible to inherit the values from the previuos change, e.g. I have enabled smallcaps and I want to enable oldstyle numerals with another command, I tried this but the old setting is forgotten and only the new setting work, how can I do this.
\usetypescript[palatino] \setupbodyfont[palatino]
\definefontfeature[caps][smcp=yes,lnum=yes] \definefontfeature[onum][onum=yes]
\def\sc{\setfontfeature{caps}} \def\os{\setfontfeature{onum}}
\starttext
Text 123 \sc Text 123 \os Text 123
i assume ...
Text 123 {\sc Text 123 \os Text} 123
... is meant
no, why should I write this, this make absolutely no sense because why should I enable odlstyle numerals and close the group before I get them. Grouping make sense in real documents but this was only a example and I don't nedd it here. What I want is, write the first "Text 123" write the normal font settings, enable for second "Text 123" small caps but use linings figures or whatever else is the default value, this make sense in tables where I want to use smallcaps e.g. in a title row but the numbers should remain in the local style e.g. table numerals. My third "Text 123" pair should now be written in smallcaps because I set it with \sc and use now oldstyle numerals.
\stoptext
accumulated features is something on the agenda, but we need a proper definition interface for that; sometimes one wants to accumulate, sometines not; sometime one even wants to kill features
I can wait for this but it should be integrated in a not so distand future.
PS: Will the smallcaps key also work in a feature release of the latin modern fonts, thid didn't work at the moment and I was forced to use the Pagella fonts.
maybe there will be a lmroman10 once that has the features merged
Hans
No longer oldstyle numerals from the math fonts for latin modern, this sound very good. Wolfgang
Steffen Wolfrum wrote:
Am 06.12.2007 um 14:48 schrieb Hans Hagen:
something numbers=oldstyle could be supported but i see no real reason for it since then we end up in endless lists of possibilities (given all kind of combinations)
I have not yet played with Lua, thus I can't follow your and Mojca's discussion at that point. But to have a handy way to switch on/off oldstyle figures would be very useful!
"numbers=oldstyle" shouldn't be considered as a theoretical possibility, it is needed quite often.
which is why we have oldstyle=yes ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Dec 6, 2007 2:48 PM, Hans Hagen wrote:
Mojca Miklavec wrote:
But generally, LuaTeX is much more suitable for such previews (only that there might be no "newshowfont" available yet - writing one is doable if you know what you're interested in).
My two cents: ConTeXt currenty uses smcp=yes,script=latn,onum=yes,liga=yes... while fontspec uses either Letters=SmallCaps Script=Latin Numbers=OldStyle Ligatures=Common or the same raw names as above. I would prefer the "human-readable" names as in fontspec, but ... well, the font calling mechanisms really need to improve in my opinion.
What fontspec achieves in one line like (copying from XeTeX list): \setmainfont[Script=Devanagari]{Sanskrit 2003} needs dozens of lines in ConTeXt (definefontfeature, define typescripts in two steps, ... brrrr)
So in case that some more features in XeTeX/LuaTeX change, do not be surprised too much ...
keep in mind that xetex and mkiv support will not be the same in all those aspects;
Well, to be honest, I wanted to ask you to do something similar to what you did with enco-utf :) once you finish the mkiv interface. That is, to auto-generate the list of feature mappings, so that the interface may remain the same in XeTeX as it is in LuaTeX, like \defineotflanguagesynonym[slovenian][slv] \defineotfscriptsynonym[latin][latn] then, language=dutch can switch on the ij ligature in LM in XeTeX as well :) (At least someone needs to fight for the rights of XeTeX users :) :) :) :)
i more or less expect users to use one or the other engine and then become familiar with its specific interfaces
That's true when people use LaTeX :) That fame of ConTeXt (write once, use everywhere) should not be dropped at once :(
anyhow, a next version of mkiv will support more verbose options,
script=slovenian smallcaps=true
Great :)
basically anything in the script, language and feature hashes (lowercased and de-spaced when compared)
What about ['fin2'] = 'Terminal Forms #2', ['fin3'] = 'Terminal Forms #3', ['ccmp'] = 'Glyph Composition/Decomposition', ? :) :) :) (Not to be considered a serious question of course :)
something numbers=oldstyle could be supported but i see no real reason for it since then we end up in endless lists of possibilities (given all kind of combinations)
Some examples: numbers=monospaced (+tnum) numbers=proportional (+pnum) numbers=lowercase/oldstyle (+onum) numbers=uppercase/lining (+lnum) numbers=[no]slashedzero (+zero) letters=normal letters=uppercase (+case)
Mojca Miklavec wrote:
Well, to be honest, I wanted to ask you to do something similar to what you did with enco-utf :) once you finish the mkiv interface. That is, to auto-generate the list of feature mappings, so that the interface may remain the same in XeTeX as it is in LuaTeX, like \defineotflanguagesynonym[slovenian][slv] \defineotfscriptsynonym[latin][latn] then, language=dutch can switch on the ij ligature in LM in XeTeX as well :)
hm, first of all i don't want to see otf in any name of a command; today otf is the gospel but tomorrow ... after all, mkiv can have features for type one and tfm too concerning language and script names ... of course there will be some standard, and it may mean that for xetex there will be a huge list of such mappings; however, i prefer to do the xetex part once the luatex (mkiv) part is stable; then we can see what subset of functionality can be provided there; keep in mind that in luatex i can be way more tolerant with names (for instance, name:lmroman10-regular and name:lmroman10regular and name:lmroman10reg can all be supported and the same is true for features ... smallcaps Small Caps Smallcaps ...
(At least someone needs to fight for the rights of XeTeX users :) :) :) :)
sure
i more or less expect users to use one or the other engine and then become familiar with its specific interfaces
That's true when people use LaTeX :) That fame of ConTeXt (write once, use everywhere) should not be dropped at once :(
we should distinguish between typesetting related features and engine specific things; we should also keep in mind that some things simply are too different in engines which makes supporting both a pain; so, in practice there will be engine dependent features not being supported (for the sake of shareability or simply because implementing similar mechanisms takes ages); the same is true for pdftex/luatex ... of course pdftex will be supported, but take hz/protruding ... in mkiv i will completely redo that because it has different datastructures
anyhow, a next version of mkiv will support more verbose options,
script=slovenian smallcaps=true
Great :)
basically anything in the script, language and feature hashes (lowercased and de-spaced when compared)
What about ['fin2'] = 'Terminal Forms #2', ['fin3'] = 'Terminal Forms #3', ['ccmp'] = 'Glyph Composition/Decomposition', ? :) :) :)
Glyph Composition/Decomposition=true Glyph Composition/Decomposition=true Glyph Composition Decomposition=true GlyphCompositionDecomposition=true
(Not to be considered a serious question of course :)
well, it's the way smallcaps=true is handled -)
something numbers=oldstyle could be supported but i see no real reason for it since then we end up in endless lists of possibilities (given all kind of combinations)
Some examples: numbers=monospaced (+tnum) numbers=proportional (+pnum) numbers=lowercase/oldstyle (+onum) numbers=uppercase/lining (+lnum) numbers=[no]slashedzero (+zero)
too messy, esp if one wants proportional uppercase lining numbers with a slashed zero; of course one can have duplicate keys but then one also needs a negation thing ... i prefer the featuresets
letters=normal letters=uppercase (+case)
Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Mojca Miklavec wrote:
What about ['fin2'] = 'Terminal Forms #2', ['fin3'] = 'Terminal Forms #3', ['ccmp'] = 'Glyph Composition/Decomposition', ? :) :) :)
fonts.otf.tables.to_features["Mojca's Favourite Feature] = "smsc" fonts.otf.tables.to_features["Mojca's Preferred Language] = "slv" is a way out language=Mojca's Favourite Language, Mojca's Favourite feature=true (or yes or ...) ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
2007/12/6, Mojca Miklavec
On 12/6/07, Steffen Wolfrum wrote:
Hi,
when in february 2006 I asked for an alternative to fontspec that could show me opentype features, Adam wrote:
I find that the lcdf typetools are a tremendous help: otfinfo -f ~/Library/Fonts/WarnockPro-Regular.otf and I can test the features with: \showfont["Warnock Pro: +smcp"]
Today this showfont-line doesn't work anymore:
\definetypeface[oneliner][rm][Xserif][Warnock Pro][default]
\starttext
\oneliner Test WQG 0196
\showfont["Warnock Pro: +smcp"]
\stoptext
Someone knows what to do?
(I wasn't aware of such usage ...)
In this specific case you could use \showfont[SerifCaps] (if your ConTeXt version is newer than 2007.10.29)
The general approach would be something like: \definefontfeature[mine][smcp=yes] \definefontsynonym[a][name:Warnock Pro][features=mine] \showfont[a] (grep the sources for definefontfeature)
One question for Hans: would it be possible (make sense) to make this work? \showfont[name:Iwona][features=mine]
I want such a feature for \setupbodyfont, e.g. \setupbodyfont[myfont] use the fonfeatures define in the typescript \setupbodyfont[myfont][features=oldstyle] choose oldstyle figures instead of the default setting in the typescript, this requires at the moment always a second typescript with oldstyle numerals. It would also nice to map \sc to \setfontfeature{smallcaps} because ConTeXts smallcaps fontsynonym works only for roman typeface and \os should use the oldstyle fontfeature, it use currently a math font except I use \variant or define a alternative typescript.
Perhaps there should be some kind of "raw" prefix introduced (again): \definefontsynonym[a][raw:Warnock Pro:mapping=tex-text;+smcp]
But generally, LuaTeX is much more suitable for such previews (only that there might be no "newshowfont" available yet - writing one is doable if you know what you're interested in).
My two cents: ConTeXt currenty uses smcp=yes,script=latn,onum=yes,liga=yes... while fontspec uses either Letters=SmallCaps Script=Latin Numbers=OldStyle Ligatures=Common or the same raw names as above. I would prefer the "human-readable" names as in fontspec, but ... well, the font calling mechanisms really need to improve in my opinion.
What fontspec achieves in one line like (copying from XeTeX list): \setmainfont[Script=Devanagari]{Sanskrit 2003} needs dozens of lines in ConTeXt (definefontfeature, define typescripts in two steps, ... brrrr)
So in case that some more features in XeTeX/LuaTeX change, do not be surprised too much ...
And even worse both engines have their own default values for fonts. Wolfgang
Wolfgang Schuster wrote:
And even worse both engines have their own default values for fonts.
add to that -- they may implement feature support differently -- fonts have bugs in lookup rules (obscured by processing engines) -- we may want to control aspects of features -- we may invent our own features (fea files) ater all, open type has hardly any good reference documentation, bugs and unclear specs may dictate wrong behaviour in persistent manners (as with html and browsers),font designers have to think like programmers which may not be their stringest point, ... although font installation becomes way easier in tex, it does mean that all our problems are solved Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Am 06.12.2007 um 12:32 schrieb Mojca Miklavec:
The general approach would be something like: \definefontfeature[mine][smcp=yes] \definefontsynonym[a][name:Warnock Pro][features=mine] \showfont[a] (grep the sources for definefontfeature)
hmm ... the only hit is in /base/font-ini.mkii (and font-ini.tex) \def\mkdefinefontfeature#1% #2 {\setvalue{\??fa#1}} % {#2} ... and, honestly, this doesn't tell me much =o( Steffen
On Dec 6, 2007 5:09 PM, Steffen Wolfrum wrote:
Am 06.12.2007 um 12:32 schrieb Mojca Miklavec:
The general approach would be something like: \definefontfeature[mine][smcp=yes] \definefontsynonym[a][name:Warnock Pro][features=mine] \showfont[a] (grep the sources for definefontfeature)
hmm ... the only hit is in /base/font-ini.mkii (and font-ini.tex)
\def\mkdefinefontfeature#1% #2 {\setvalue{\??fa#1}} % {#2}
\definefontfeature [default] [liga=yes,kern=yes,tlig=yes,trep=yes] % texligatures=yes,texquotes=yes \definefontfeature [smallcaps] [liga=yes,kern=yes,tlig=yes,trep=yes,smcp=yes] % texligatures=yes,texquotes=yes \definefontfeature [oldstyle] [liga=yes,kern=yes,tlig=yes,trep=yes,onum=yes] % texligatures=yes,texquotes=yes font-otf.lua:-- \definefontfeature[calt][language=nld,script=latn,mode=node,calt=yes,clig=yes,rlig=yes] font-otf.lua:-- \definefontfeature[dflt][language=nld,script=latn,mode=node,calt=no, clig=yes,rlig=yes] font-otf.lua:-- \definefontfeature[fixd][language=nld,script=latn,mode=node,calt=no, clig=yes,rlig=yes,ignoredrules={44,45,47}] s-pre-64.tex: \definefontfeature[default][method=node,script=latn,language=dflt,liga=yes,onum=yes,kern=yes] (Might change!!!) Mojca
I ran sudo ctxtools --updatecontext about one hour ago and all this that you write here can't be found (s-pre-63.tex is the latest) ... Where did you mean should I "grep the sources for definefontfeature" ?? Steffen Am 06.12.2007 um 17:35 schrieb Mojca Miklavec:
On Dec 6, 2007 5:09 PM, Steffen Wolfrum wrote:
Am 06.12.2007 um 12:32 schrieb Mojca Miklavec:
The general approach would be something like: \definefontfeature[mine][smcp=yes] \definefontsynonym[a][name:Warnock Pro][features=mine] \showfont[a] (grep the sources for definefontfeature)
hmm ... the only hit is in /base/font-ini.mkii (and font-ini.tex)
\def\mkdefinefontfeature#1% #2 {\setvalue{\??fa#1}} % {#2}
\definefontfeature [default] [liga=yes,kern=yes,tlig=yes,trep=yes] % texligatures=yes,texquotes=yes
\definefontfeature [smallcaps] [liga=yes,kern=yes,tlig=yes,trep=yes,smcp=yes] % texligatures=yes,texquotes=yes
\definefontfeature [oldstyle] [liga=yes,kern=yes,tlig=yes,trep=yes,onum=yes] % texligatures=yes,texquotes=yes
font-otf.lua:-- \definefontfeature[calt] [language=nld,script=latn,mode=node,calt=yes,clig=yes,rlig=yes] font-otf.lua:-- \definefontfeature[dflt][language=nld,script=latn,mode=node,calt=no, clig=yes,rlig=yes] font-otf.lua:-- \definefontfeature[fixd][language=nld,script=latn,mode=node,calt=no, clig=yes,rlig=yes,ignoredrules={44,45,47}] s-pre-64.tex: \definefontfeature[default] [method=node,script=latn,language=dflt,liga=yes,onum=yes,kern=yes]
(Might change!!!)
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 ______________________________________________________________________ _____________
2007/12/6, Steffen Wolfrum
I ran sudo ctxtools --updatecontext about one hour ago and all this that you write here can't be found (s-pre-63.tex is the latest) ...
Where did you mean should I "grep the sources for definefontfeature" ??
Steffen
Am 06.12.2007 um 17:35 schrieb Mojca Miklavec:
On Dec 6, 2007 5:09 PM, Steffen Wolfrum wrote:
Am 06.12.2007 um 12:32 schrieb Mojca Miklavec:
The general approach would be something like: \definefontfeature[mine][smcp=yes] \definefontsynonym[a][name:Warnock Pro][features=mine] \showfont[a] (grep the sources for definefontfeature)
font-ini.tex, font.mkii, font-ini.mkiv and font-ini.lua and all without grep :-) Another interseting file for fonts is font-otf.lua. Wolfgang
2007/12/6, Mojca Miklavec
On Dec 6, 2007 5:09 PM, Steffen Wolfrum wrote:
Am 06.12.2007 um 12:32 schrieb Mojca Miklavec:
The general approach would be something like: \definefontfeature[mine][smcp=yes] \definefontsynonym[a][name:Warnock Pro][features=mine] \showfont[a] (grep the sources for definefontfeature)
hmm ... the only hit is in /base/font-ini.mkii (and font-ini.tex)
\def\mkdefinefontfeature#1% #2 {\setvalue{\??fa#1}} % {#2}
\definefontfeature [default] [liga=yes,kern=yes,tlig=yes,trep=yes] % texligatures=yes,texquotes=yes
\definefontfeature [smallcaps] [liga=yes,kern=yes,tlig=yes,trep=yes,smcp=yes] % texligatures=yes,texquotes=yes
I would prefer something like \definefontfeature [smallcaps] [default] % inherit settings from default [smcp=yes] % add smcp to the feature list I can define my own fontfeature without looking into the source. Wolfgang
\definefontfeature [oldstyle] [liga=yes,kern=yes,tlig=yes,trep=yes,onum=yes] % texligatures=yes,texquotes=yes
font-otf.lua:-- \definefontfeature[calt][language=nld,script=latn,mode=node,calt=yes,clig=yes,rlig=yes] font-otf.lua:-- \definefontfeature[dflt][language=nld,script=latn,mode=node,calt=no, clig=yes,rlig=yes] font-otf.lua:-- \definefontfeature[fixd][language=nld,script=latn,mode=node,calt=no, clig=yes,rlig=yes,ignoredrules={44,45,47}] s-pre-64.tex: \definefontfeature[default][method=node,script=latn,language=dflt,liga=yes,onum=yes,kern=yes]
(Might change!!!)
Mojca
Wolfgang Schuster wrote:
2007/12/6, Mojca Miklavec
: On Dec 6, 2007 5:09 PM, Steffen Wolfrum wrote:
Am 06.12.2007 um 12:32 schrieb Mojca Miklavec:
The general approach would be something like: \definefontfeature[mine][smcp=yes] \definefontsynonym[a][name:Warnock Pro][features=mine] \showfont[a] (grep the sources for definefontfeature)
hmm ... the only hit is in /base/font-ini.mkii (and font-ini.tex)
\def\mkdefinefontfeature#1% #2 {\setvalue{\??fa#1}} % {#2} \definefontfeature [default] [liga=yes,kern=yes,tlig=yes,trep=yes] % texligatures=yes,texquotes=yes
\definefontfeature [smallcaps] [liga=yes,kern=yes,tlig=yes,trep=yes,smcp=yes] % texligatures=yes,texquotes=yes
I would prefer something like
\definefontfeature [smallcaps] [default] % inherit settings from default [smcp=yes] % add smcp to the feature list
something like that ... keep in mind that you don't need to define a font then, {\setfontfeature{smallcaps}Some Text} will automatically give you that featureset so in practice we can do with only a few real font definitions; mkiv keeps track of such dunamic features and efficiently caches data; we sped up luatex + mkiv some 30% and when using dynamic features with huge fonts (zapfino, arab, chinese) we can even gain more (our sample mk.tex went from 29 seconds down to some 20 seconds and dynamic arab gives another 2 a 3 seconds; a fast console another 2+ seconds but that's another story; just in case you wondered why it took a while for this beta to surface) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Am 06.12.2007 um 18:55 schrieb Hans Hagen:
something like that ...
keep in mind that you don't need to define a font then,
{\setfontfeature{smallcaps}Some Text}
will automatically give you that featureset so in practice we can do with only a few real font definitions; mkiv keeps track of such dunamic features and efficiently caches data;
we sped up luatex + mkiv some 30% and when using dynamic features with huge fonts (zapfino, arab, chinese) we can even gain more
wow!! st.
Steffen Wolfrum wrote:
Am 06.12.2007 um 18:55 schrieb Hans Hagen:
something like that ...
keep in mind that you don't need to define a font then,
{\setfontfeature{smallcaps}Some Text}
will automatically give you that featureset so in practice we can do with only a few real font definitions; mkiv keeps track of such dunamic features and efficiently caches data;
we sped up luatex + mkiv some 30% and when using dynamic features with huge fonts (zapfino, arab, chinese) we can even gain more
wow!!
gave us a good feeling too -) luatex will always be slower than pdftex, if only because it has wide fonts, multi-directional typesetting etc; to some extend this can be compensatd by using less fonts, but then, more features also has a price Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (4)
-
Hans Hagen
-
Mojca Miklavec
-
Steffen Wolfrum
-
Wolfgang Schuster