Thomas A.Schmitz wrote:

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!

hm, this is a ll i can do in five minutes:

- just use the fontname remapper instead of processaction and intermediate vars
- use getvariables instead of interface specific getparameters
- end the par inside the start/stopgreek
- no low level hacking needed


\starttext

\setvariables[Greek][scale=1,font=Kadmos]

\definefontsynonym[Oxonia]  [greeoxon]
\definefontsynonym[Ibycus]  [fibr]
\definefontsynonym[Bosporos][bosporos]
\definefontsynonym[Gentium] [gentiumgr]
\definefontsynonym[Kadmos]  [kadmo]
\definefontsynonym[Leipzig] [grbl]
\definefontsynonym[Teubner] [teubnerc]

% \definefont[Gf][\getvariable{Greek}{font} sa \getvariable{Greek}{scale}]

\definebodyfont
  [4pt,5pt,6pt,7pt,8pt,9pt,10pt,10.5pt,11pt,12pt,
   14pt,14.4pt,16pt,18pt,20pt,22pt]
  [rm]
  [Gf=\getvariable{Greek}{font} sa \getvariable{Greek}{scale}]

\def\enablegreek
  {\language[greek]%
   \catcode`~=\other
   \catcode`|=\other
   \catcode`'=\other}

\def\startgreek{\par\begingroup\Gf\enablegreek}
\def\stopgreek {\par\endgroup}

\def\localgreek{\groupedcommand{\Gf\enablegreek}\donothing}

\define\sampi  {{\Gf \char 34}}
\define\digamma{{\Gf \char 35}}
\define\stigma {{\Gf \char 36}}
\define\koppa  {{\Gf \char 37}}
\define\lunars {{\Gf \char  1}}
\define\lunarS {{\Gf \char 13}}
\define\brcl   {{\Gf \char  8}}
\define\brcr   {{\Gf \char  9}}
\define\hbrl   {{\Gf \char123}}
\define\hbrr   {{\Gf \char125}}
\define\crux   {{\Gf \char 43}}

I have no greek, so: \definefontsynonym[kadmo][cmvtt10] \crux

\stoptext



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





--

-----------------------------------------------------------------
                                          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

Reply via email to