From: Thomas A.Schmitz <thomas.schmitz@uni-bonn.de>
Subject: Re: finishing a module
Date: Mon, 24 Jan 2005 15:06:53 +0100 [thread overview]
Message-ID: <32D27C67-6E11-11D9-A125-000A95B9ADE2@uni-bonn.de> (raw)
In-Reply-To: <41F41618.90701@wxs.nl>
Thanks for your help and interest. OK, what I want to achieve is:
setting up a collection of fonts for ancient (i.e. polytonic) Greek.
These fonts need to be mixed into normal text, and there needs to be a
simple way of switching to them. For the time being, I want to use the
"babel"-encoding for writing Greek, so I need to make a couple of
catcode changes (babel uses ~ and | for accents) [I guess if I can make
this work, I will then try and see if I can cook something up that
will actually take unicode characters and transform them into something
palatable for TeX, taking Adam's work as a model). I also need to
create commands to access a couple of special symbols like koppa, sampi
and braces for critical editions.
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
> ntg-context@ntg.nl
> http://www.ntg.nl/mailman/listinfo/ntg-context
>
next prev parent reply other threads:[~2005-01-24 14:06 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-22 20:41 Thomas A.Schmitz
2005-01-23 9:33 ` Taco Hoekwater
2005-01-23 13:33 ` Thomas A.Schmitz
2005-01-23 14:06 ` Taco Hoekwater
2005-01-23 14:42 ` Thomas A.Schmitz
2005-01-23 15:22 ` Taco Hoekwater
2005-01-23 21:24 ` h h extern
2005-01-24 14:06 ` Thomas A.Schmitz [this message]
2005-01-24 17:50 ` Hans Hagen
2005-01-24 17:50 ` Hans Hagen
2005-01-24 18:20 ` Thomas A.Schmitz
2005-01-24 18:03 ` Hans Hagen
2005-01-24 18:47 ` Thomas A.Schmitz
2005-01-25 14:56 ` h h extern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=32D27C67-6E11-11D9-A125-000A95B9ADE2@uni-bonn.de \
--to=thomas.schmitz@uni-bonn.de \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).