summaryrefslogtreecommitdiffstats
path: root/contrib/groff/devutf8/NOTES
blob: 6742155579278beae71daa4a049cba92a44d87dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
The following from the original troff manual (by Ossanna and Kernighan) is
unmapped:

                \(bs    shaded solid ball (Bell System logo, AT&T logo)

Character 0x002D has not been given a name because its Unicode name
"HYPHEN-MINUS" is so ambiguous that it's unusable for serious typographic use.

The following, mentioned in the original troff manual, are only approximate:

                \(lk    middle part of big left curly brace
                \(rk    middle part of big right curly brace

\(wp has been mapped to 0x2118, because according to unicode.org's
NamesList-3.0.0.txt, U+2118 "SCRIPT CAPITAL P" is really a Weierstrass p,
neither SCRIPT not CAPITAL.

The following lines could be added, to define names which are known to
"devps" but are not documented and not known to "devdvi".
space	24	0	0x0020
vS	24	0	0x0160
vs	24	0	0x0161
:Y	24	0	0x0178
vZ	24	0	0x017D
vz	24	0	0x017E
3d	24	0	0x2234
nb	24	0	0x2284
product	24	0	0x220F
sum	24	0	0x2211
SP	24	0	0x2660
CL	24	0	0x2663
HE	24	0	0x2665
DI	24	0	0x2666

The following lines could be added, to define names which are known to e.g.
"devdvi" but are not known to "devps".
<<	24	0	0x226A
>>	24	0	0x226B

"devps" maps \(a~ and ~ to asciitilde, which is equivalent to 0x02DC, but
this glyph is just too small. We map them to 0x007E instead.

"devps" maps \(a^ and ^ to circumflex, which is equivalent to 0x02C6, but
this glyph is just too small. We map them to 0x005E instead.

"devps" maps *m to mu, which is equivalent to either 0x00B5 or 0x03BC. We
map it to 0x03BC.

"devps" maps *U to Upsilon1, which is equivalent to 0x03D2. We map it to
0x03A5 instead.

"devps" maps *W to Omega, which is equivalent to either 0x2126 or 0x03A9. We
map it to 0x03A9.

"devps" maps *D to Delta, which is equivalent to either 0x2206 or 0x0394. We
map it to 0x0394.

"devps" maps CR to carriagereturn, which is equivalent to 0x21B5. We map it
to 0x240D instead.

The line

shc	24	0	0x00AD

has been removed, because tmac.tty contains the line

.if c\[shc] .shc \[shc]

(i.e. if `shc' is defined, then tell the troff engine that it shall use
`shc' as soft hyphen - otherwise it will use `hy' = HYPHEN), and `shc' in
Markus Kuhn's UCS-fonts looks more like a minus sign than like a hyphen.
Once Markus Kuhn's fonts are fixed, this line should be added again, because
ISO-8859-x describes the soft hyphen character as "a graphic character that
is imaged by a graphic symbol identical with, or similar to, that representing
HYPHEN, for use when a line break has been established within a word" - which
is exactly groff's use of `shc'.

Using unnamed characters:

Assume you want to use a Unicode character not provided in the list, say
U+20AC. You need to do two things:

- Add a line

    ---	24	0	0x20AC

  (the second column is computed as 24 * wcwidth(0x20AC)) to the file
  R.proto, or, when groff is already installed, to the four fonts files in
  $(prefix)/share/groff/font/devutf8/.

- In your source file, use the notation \N'8364' where 8364 is the decimal
  representation of 0x20AC.
OpenPOWER on IntegriCloud