On Wed, 19 Mar 2003 14:58:48 +0100
Patrick Gundlach
Jens-Uwe Morawski
writes: Hello Jens and others,
some time ago Hans and me discussed how to make TS1 symbols available. I've never tried it but it sounds interesting since it is an unified way to access the symbols. For example for Palatino
add to the typescripts
\definefontsynonym [PalatinoSymbols] [<TS1-Font>] \definefontsynonym [PalatinoSymbolsBold] [<TS1-Bold-Font>]
\definefontsynonym [SerifSymbols] [PalatinoSymbols] \definefontsynonym [SerifSymbolsBold] [PalatinoSymbolsBold]
and define the symbols in a symbol-typescript
\definesymbol[textregistered] [{\symbol[\currentencoding-registered]}] \definesymbol[ec-registered][\getglygh{SerifSymbols}{\char123}]
this could add the capability that the LaTeX textcomp package provides
At a quick glance this would fail for example for the euro sign/ec. (Not there in ec). Why not access the existing virtual fonts or generate new ones if needed? (phvr8c.vf for example - let us not fall back to the urw/adobe discussion yet :)
your glance was too quick. :) The chain is: starting with texteuro symbol --> if in ec-encoding it becomes ec-texteuro symbol --> it takes char 0xBF from the current ...Symbol... font (the symbol macro should be able to resolve Serif.., Sans..., Serif...Bold etc automatically) --> the current ...Symbol... font is *NOT* a EC-encoded font but a TS1 (aka 8c) encoded one that is associated via typescript with the T1 encoded font (as i have already written above: <TS1-Font>) This would easily allow for other text encodings to define the usual symbols, for example for 8r one can declare either \definesymbol[8r-texteuro][\getglygh{Serif}{\char128}] or better \definefontsynonym [SerifSymbols] [Serif] \definesymbol[8r-texteuro][\getglygh{SerifSymbols}{\char128}] since in 8r or texnansi there are no special symbol fonts. Thus, when you switch the encoding in your document from ec to 8r to texnansi then the euro is from the users view always the symbol texteuro, but for ec taken from the associated 8c-font and for 8r or texnansi taken directly from the text-font. So, we should look if the macro-names from textcomp package conflict with macro-names already defined in ConTeXT. If there is no conflict we can define all text-symbols according to 'textcomp' in some typescripts: \starttypescript[textsymbols] ... \definesymbol[texteuro] [{\symbol[\currentencoding-texteuro]}] ... \stoptypescript \starttypescript[textsymbols][ec] ... \definesymbol[ec-texteuro] [\getglygh{Textsymbol}{\char191}] ... \stoptypescript \starttypescript[textsymbols][8r] ... \definesymbol[8r-texteuro] [\getglygh{Textsymbol}{\char128}] ... \stoptypescript the font typescripts then have to declare what 'Textsymbol' is: \starttypescript [serif] [Adobe Times] [name] \definefontsynonym [Serif] [Times-Roman] \definefontsynonym [SerifBold] [Times-Bold] \definefontsynonym [SerifItalic] [Times-Italic] \definefontsynonym [SerifSlanted] [Times-Italic] \definefontsynonym [SerifBoldItalic] [Times-BoldItalic] \definefontsynonym [SerifBoldSlanted] [Times-BoldItalic] \definefontsynonym [SerifCaps] [Times-Roman] \definefontsynonym [TextsymbolSerif] [TextsymbolTimes-Roman] \definefontsynonym [TextsymbolSerifBold] [TextsymbolTimes-Bold] \definefontsynonym [TextsymbolSerifItalic] [TextsymbolTimes-Italic] \definefontsynonym [TextsymbolSerifSlanted] [TextsymbolTimes-Italic] \definefontsynonym [TextsymbolSerifBoldItalic] [TextsymbolTimes-BoldItalic] \definefontsynonym [TextsymbolSerifBoldSlanted] [TextsymbolTimes-BoldItalic] \definefontsynonym [TextsymbolSerifCaps] [TextsymbolTimes-Roman] \stoptypescript \starttypescript [serif] [Adobe Times] [ec] \definefontsynonym [Times-Roman] [ptmr8t] [encoding=ec] \definefontsynonym [Times-Bold] [ptmb8t] [encoding=ec] \definefontsynonym [Times-Italic] [ptmri8t] [encoding=ec] \definefontsynonym [Times-BoldItalic] [ptmbi8t] [encoding=ec] \definefontsynonym [TextsymbolTimes-Roman] [ptmr8c] \definefontsynonym [TextsymbolTimes-Bold] [ptmb8c] \definefontsynonym [TextsymbolTimes-Italic] [ptmri8c] \definefontsynonym [TextsymbolTimes-BoldItalic] [ptmbi8c] \stoptypescript % the encoding=?? is only needed for mapping input; since we access symbols % directly (\char...) the encoding for 'Textsymbol' fonts should not be important \starttypescript [serif] [Adobe Times] [8r] \definefontsynonym [Times-Roman] [ptmr8r] [encoding=8r] \definefontsynonym [Times-Bold] [ptmb8r] [encoding=8r] \definefontsynonym [Times-Italic] [ptmri8r] [encoding=8r] \definefontsynonym [Times-BoldItalic] [ptmbi8r] [encoding=8r] \definefontsynonym [TextsymbolTimes-Roman] [ptmr8r] [encoding=8r] \definefontsynonym [TextsymbolTimes-Bold] [ptmb8r] [encoding=8r] \definefontsynonym [TextsymbolTimes-Italic] [ptmri8r] [encoding=8r] \definefontsynonym [TextsymbolTimes-BoldItalic] [ptmbi8r] [encoding=8r] \stoptypescript Jens