[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] Help with umlauts

From: Ted Harding
Subject: Re: [Groff] Help with umlauts
Date: Thu, 01 Jun 2000 11:04:41 +0100 (BST)

On 01-Jun-00 Nicola Bernardini wrote:
> Maybe I'm mistaken, but I've been a troff user for some time now (>15
> y.?) and I remember that when I shifted from DWB troff to groff (a
> great shift, that goes without saying), I found out that all accents
> and dieresis marcs, cedillas, etc. are inverted under groff. That is:
>     ditroff              groff
>     \(a`                 \('a
>     \(U:                 \(:U
>     \(c,                 \(,c
>     etc.                 etc.
> So I had to filter text in oder to put the correct accents. Could
> this be the same problem?

In the case of the file that gave Rod Bates the problems, quite possibly.

I'm not now in a position to verify what names DWB gave to accented
characters. However, the groff situation is as follows:

In the font files (e.g. .../groff/devps/TR) the accented characters
which have names defined in these files do indeed have the accent
first, as in

  `A      722,890 2       0300    Agrave
  char192 "
  'A      722,890 2       0301    Aacute
  char193 "
  ^A      722,886 2       0302    Acircumflex
  char194 "
  ~A      722,850 2       0303    Atilde
  char195 "
  :A      722,835 2       0304    Adieresis

so that, without any additional provision, you get 'Adieresis'
by using \(:A etc.

This is unsatisfactory in various respects. In 'tmac.s', the
macro .AM was introduced to enable users to do it the other
way round if they wish so that (as explained in my previous
mail) the umlaut-over accent is defined in the string \*:
which enables the user to define characters with names such as

\(A: = A\*:  \(O: = O\*:  \(U: = U\*:  and so on (and similar
for other accents such as  \(c, = c\*,  \(A` = A\*`  etc)

Rather than filtering original text which has the name in the
order \(<letter><accent> in order to make it conform to groff's
primitive name \(<accent><letter> it is, in my view, actually
better to set up your private macro package once and for all
in order to define the characters \(<letter><accent> which
you need (you're going to have to do something like that anyway
whenever you need an accented character which is not one of those
in the font file).

For this purpose, the .AM macro can be lifted straight out of
tmac.s if you don't want to use the ms macros; or, if you are
using the ms macros, then your private macros only need to
invoke '.AM' before you use the accented character.

I'm attaching two files:

1. The .AM macro in my tmac.s
   (I slightly modified this a long time ago)

2. The "accents" excerpt from my private macro file tmac.ted

Between the two of these, you should be able to find out how to
make any accented character you want!

Best wishes to all,

E-Mail: (Ted Harding) <address@hidden>
Fax-to-email: +44 (0)870 284 7749
Date: 01-Jun-00                                       Time: 11:04:41
------------------------------ XFMail ------------------------------

Attachment: AM_macro
Description: AM_macro

Attachment: accents
Description: accents

reply via email to

[Prev in Thread] Current Thread [Next in Thread]