What I have: the fonts (there's 7 of them) in TeX-readable format (tfm + pfb)
With the help of Giuseppe and several others, I have cooked up a macro that will switch to those fonts and do the catcode changes etc. Thus far, they had to be invoked with an \input for every single font.
Problems:
Depending on the Latin font used for the main document, the Greek font needs to be scaled or it will look ugly (too small, too big in comparison). Hence my attempt to use Context's "sa" construct.
I want to simplify things by writing a single module that will give access to all the fonts by providing a unified way of choosing one of them.
My idea was having a module that would provide a new command \setupgreek that would take two arguments: Name of the font suitable for users, scaling factor.
E. g. \setupgreek[Oxonia][1.08] This module would then provide two commands for writing Greek, \localgreek{...} and \startgreek ... \stopgreek + commands for accessing the symbols.
Problems so far: my module defines the Greek font as a body font. As far as I can see, this will only work for predefined sizes [4pt,5pt etc.]. When a user sepcifies an unusual font size for his main document or when TeX calculates a weird size (e.g. in footnotes, Alan Bowens's problem last week), the font isn't defined anymore, and the macro for writing Greek doesn't work. \definefont doesn't appear to have this problem, but it works only if I give the name of the font "manually," I couldn't make it accept an internal macro (Taco was very helpful yesterday, but I couldn't make it work).
If anybody can spare five minutes, I append what I have got so far; maybe I'm overlooking something obvious. Sorry for the lengthy post and for taking your time!
Thanks everybody!
Thomas
%module t-greek providing method for Greek input in ConTeXt
\unprotect
\def\setupgreek#1[#2]{%
\getparameters[GG][Scale=,Font=,#2]%Font,Scale
\xdef\MyScale{\GGScale}%
\processaction[\GGFont]
[ Oxonia=>\gdef\MyFont{greeoxon },%this switches from the "logical" name of the font to the actual tfm
Ibycus=>\gdef\MyFont{fibr },
Bosporos=>\gdef\MyFont{Bosporos },
Gentium=>\gdef\MyFont{gentiumgr },
Kadmos=>\gdef\MyFont{kadmo },
Leipzig=>\gdef\MyFont{grbl },
Teubner=>\gdef\MyFont{Teubnerc }]%
}
\protect
%\definefont[Gf][kadmo ] %When given the name of the tfm in clear, this works
%\definefont[Gf][\MyFont]%This does not work, and I have no clue why
\definebodyfont[4pt,5pt,6pt,7pt,8pt,9pt,10pt,10.5pt,11pt,12pt,14pt,14.4p t,16pt,18pt,20pt,22pt][rm][Gf=\MyFont sa \MyScale] %This DOES work, and I can't see what's the fundamental difference to the preceding line.
\def\enablegreek{\language[greek]\catcode`~=\other\catcode`|=\other\catc ode`'=\other}%this was provided by Giuseppe
\def\startgreek{\par\begingroup\Gf\enablegreek}\let\stopgreek\endgroup
\def\localgreek{\groupedcommand{\Gf\enablegreek}{}}\define\sampi{{\Gf \char34}}%and this by Taco\define\digamma{{\Gf \char35}}\define\stigma{{\Gf \char36}}\define\koppa{{\Gf \char37}}\define\lunars{{\Gf \char1}}\define\lunarS{{\Gf \char13}}\define\brcl{{\Gf \char8}}\define\brcr{{\Gf \char9}}\define\hbrl{{\Gf \char123}}\define\hbrr{{\Gf \char125}}\define\crux{{\Gf \char43}}On Jan 23, 2005, at 10:24 PM, h h extern wrote:
Thomas A.Schmitz wrote:I spent some (too much) time today improving my Greek module. For the time being, two questions remain; I'm confident that they're not too difficult for the experts; any help would be appreciated.
what exactly do you want to achieve, if it's only some font following the sizes and styyles ...
\definefontsynonym [Funny] [cmr10] \definefontsynonym [FunnyBold] [cmbx10] \definefontsynonym [FunnyItalic] [cmti10] % \definefontsynonym [FunnySlanted] [...] % \definefontsynonym [FunnyBoldItalic] [...] % \definefontsynonym [FunnyBoldSlanted] [...]
\def\MyFunnyFont{\symbolicfont{Funny}}
test {\MyFunnyFont test} test test {\it \MyFunnyFont test} test test {\bf \MyFunnyFont test} test
----------------------------------------------------------------- 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 -----------------------------------------------------------------
_______________________________________________ ntg-context mailing list [email protected] http://www.ntg.nl/mailman/listinfo/ntg-context
_______________________________________________ ntg-context mailing list [email protected] http://www.ntg.nl/mailman/listinfo/ntg-context
