Initial Windows agent repository

This commit is contained in:
Frank Harris 2026-06-08 10:45:20 -05:00
commit a0db0c2e5b
10589 changed files with 3844063 additions and 0 deletions

View file

@ -0,0 +1,308 @@
# Copyright 1989-2022 Free Software Foundation, Inc.
# Written by James Clark (jjc@jclark.com)
#
# This file is part of groff, the GNU roff typesetting system.
#
# groff is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# groff is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# This is set up so you can do
# make -f generate/Makefile
# in the parent directory of this directory.
# The following line is required for DOS/Windows systems, since
# this Makefile needs a Unixy shell to run.
SHELL = /bin/sh
# Directory containing AFM files. Must not be current directory.
# Either long names (e.g., Times-Roman.afm) or short names (e.g.,
# timesr.afm) may be used. See the afmname script.
afmdir=/usr/local/lib/afm
# Write font descriptions to this directory.
outdir=$(srcdir)/..
# The symbol font which fits to 'Symbol.afm'. For the creation of
# 'symbolsl.afm' we need the 'printafm' script from ghostscript.
symbolfont=/usr/local/lib/fonts/Symbol.pfb
PRINTAFM=printafm
srcdir=generate
SPECIALFONTS=S
DINGBATSFONTS=ZD ZDR
GREEKFONTS=SS
TEXTFONTS=AB ABI AI AR \
BMB BMBI BMI BMR \
CB CBI CI CR \
HB HBI HI HR \
HNB HNBI HNI HNR \
NB NBI NI NR \
PB PBI PI PR \
TB TBI TI TR \
ZCMI
FONTS=$(TEXTFONTS) $(SPECIALFONTS) $(GREEKFONTS) $(DINGBATSFONTS) EURO
DESC=$(srcdir)/../DESC
AFMTODIT=afmtodit -c -d$(DESC)
IFLAG=-i 50
RFLAG=-i 0 -m
NOLIGFLAG=-n
TEXTENC=$(srcdir)/../text.enc
EFLAG=-e $(TEXTENC)
TEXTMAP=$(srcdir)/text.map
AFMNAME=$(srcdir)/afmname
RM=rm -f
all: $(FONTS)
TR:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/Times-Roman.afm` \
$(TEXTMAP) $(OUTDIR)/$@
TB:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/Times-Bold.afm` \
$(TEXTMAP) $(OUTDIR)/$@
TI:
$(AFMTODIT) $(EFLAG) $(IFLAG) -a 7 \
`$(AFMNAME) $(afmdir)/Times-Italic.afm` \
$(TEXTMAP) $(OUTDIR)/$@
TBI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/Times-BoldItalic.afm` \
$(TEXTMAP) $(OUTDIR)/$@
HR:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/Helvetica.afm` \
$(TEXTMAP) $(OUTDIR)/$@
HB:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/Helvetica-Bold.afm` \
$(TEXTMAP) $(OUTDIR)/$@
HI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/Helvetica-Oblique.afm` \
$(TEXTMAP) $(OUTDIR)/$@
HBI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/Helvetica-BoldOblique.afm` \
$(TEXTMAP) $(OUTDIR)/$@
CR:
$(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/Courier.afm` \
$(TEXTMAP) $(OUTDIR)/$@
CB:
$(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/Courier-Bold.afm` \
$(TEXTMAP) $(OUTDIR)/$@
CI:
$(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/Courier-Oblique.afm` \
$(TEXTMAP) $(OUTDIR)/$@
CBI:
$(AFMTODIT) $(NOLIGFLAG) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/Courier-BoldOblique.afm` \
$(TEXTMAP) $(OUTDIR)/$@
PR:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/Palatino-Roman.afm` \
$(TEXTMAP) $(OUTDIR)/$@
PB:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/Palatino-Bold.afm` \
$(TEXTMAP) $(OUTDIR)/$@
PI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/Palatino-Italic.afm` \
$(TEXTMAP) $(OUTDIR)/$@
PBI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/Palatino-BoldItalic.afm` \
$(TEXTMAP) $(OUTDIR)/$@
NR:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/NewCenturySchlbk-Roman.afm` \
$(TEXTMAP) $(OUTDIR)/$@
NB:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/NewCenturySchlbk-Bold.afm` \
$(TEXTMAP) $(OUTDIR)/$@
NI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/NewCenturySchlbk-Italic.afm` \
$(TEXTMAP) $(OUTDIR)/$@
NBI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/NewCenturySchlbk-BoldItalic.afm` \
$(TEXTMAP) $(OUTDIR)/$@
BMR:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/Bookman-Light.afm` \
$(TEXTMAP) $(OUTDIR)/$@
BMB:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/Bookman-Demi.afm` \
$(TEXTMAP) $(OUTDIR)/$@
BMI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/Bookman-LightItalic.afm` \
$(TEXTMAP) $(OUTDIR)/$@
BMBI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/Bookman-DemiItalic.afm` \
$(TEXTMAP) $(OUTDIR)/$@
AR:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/AvantGarde-Book.afm` \
$(TEXTMAP) $(OUTDIR)/$@
AB:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/AvantGarde-Demi.afm` \
$(TEXTMAP) $(OUTDIR)/$@
AI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/AvantGarde-BookOblique.afm` \
$(TEXTMAP) $(OUTDIR)/$@
ABI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/AvantGarde-DemiOblique.afm` \
$(TEXTMAP) $(OUTDIR)/$@
HNR:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/Helvetica-Narrow.afm` \
$(TEXTMAP) $(OUTDIR)/$@
HNB:
$(AFMTODIT) $(EFLAG) $(RFLAG) \
`$(AFMNAME) $(afmdir)/Helvetica-Narrow-Bold.afm` \
$(TEXTMAP) $(OUTDIR)/$@
HNI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/Helvetica-Narrow-Oblique.afm` \
$(TEXTMAP) $(OUTDIR)/$@
HNBI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/Helvetica-Narrow-BoldOblique.afm` \
$(TEXTMAP) $(OUTDIR)/$@
ZCMI:
$(AFMTODIT) $(EFLAG) $(IFLAG) \
`$(AFMNAME) $(afmdir)/ZapfChancery-MediumItalic.afm` \
$(TEXTMAP) $(OUTDIR)/$@
ZD:
$(AFMTODIT) -s $(RFLAG) \
`$(AFMNAME) $(afmdir)/ZapfDingbats.afm` \
$(srcdir)/dingbats.map $(OUTDIR)/$@
SS: $(OUTDIR)/symbolsl.afm
$(AFMTODIT) -s -x $(IFLAG) \
$(OUTDIR)/symbolsl.afm $(srcdir)/slanted-symbol.map \
$(OUTDIR)/$@
S: symbol.afm
$(AFMTODIT) -s $(RFLAG) \
symbol.afm $(srcdir)/symbol.map $(OUTDIR)/$@
ZDR: $(OUTDIR)/zapfdr.afm
$(AFMTODIT) -s $(RFLAG) \
$(OUTDIR)/zapfdr.afm $(srcdir)/dingbats-reversed.map \
$(OUTDIR)/$@
# the map is just a dummy
EURO: freeeuro.afm
$(AFMTODIT) $(RFLAG) \
freeeuro.afm $(srcdir)/symbol.map $(OUTDIR)/$@
freeeuro.afm freeeuro.pfa: $(srcdir)/freeeuro.sfd
fontforge -script $(srcdir)/sfdtopfa.pe $(srcdir)/freeeuro.sfd \
&& mv freeeuro.afm freeeuro.pfa $(OUTDIR)
symbol.afm: $(srcdir)/symbol.sed
sed -f $(srcdir)/symbol.sed `$(AFMNAME) $(afmdir)/Symbol.afm` \
>$(OUTDIR)/$@
symbolsl.afm: $(srcdir)/symbolsl.awk $(srcdir)/../symbolsl.ps
$(RM) Fontmap \
&& echo "/Symbol-Slanted ($(srcdir)/../symbolsl.ps) ;" \
> Fontmap \
&& echo "/Symbol ($(symbolfont)) ;" >> Fontmap \
&& $(PRINTAFM) Symbol-Slanted > tmp.afm \
&& awk -f $(srcdir)/symbolsl.awk -v SYMAFM=`$(AFMNAME) \
$(afmdir)/Symbol.afm` tmp.afm >$(OUTDIR)/$@ \
&& $(RM) Fontmap tmp.afm
zapfdr.afm: $(srcdir)/zapfdr.sed
sed -f $(srcdir)/zapfdr.sed \
`$(AFMNAME) $(afmdir)/ZapfDingbats.afm` >$(OUTDIR)/$@
ZD: $(srcdir)/dingbats.map
ZDR: $(srcdir)/dingbats-reversed.map
$(TEXTFONTS): $(TEXTMAP) $(TEXTENC)
$(SPECIALFONTS): $(srcdir)/symbol.map
$(GREEKFONTS): $(srcdir)/slanted-symbol.map
$(FONTS): $(DESC)
clean:
cd $(OUTDIR) \
&& $(RM) freeeuro.afm freeeuro.pfa symbol.afm \
symbolsl.afm zapfdr.afm
realclean: clean
cd $(OUTDIR) \
&& $(RM) $(FONTS)
extraclean: realclean
$(RM) core *~ "#*"
.PHONY: all clean realclean extraclean
# Local Variables:
# mode: makefile
# fill-column: 72
# End:
# vim: set textwidth=72:

View file

@ -0,0 +1,44 @@
#!/bin/sh
# Fix the path name of an AFM file.
if test -f "$1"
then
echo "$1"
else
echo `dirname $1`/`basename $1 .afm | awk '
/^AvantGarde-Book$/ { print "avangbk" }
/^AvantGarde-BookOblique$/ { print "avangbko" }
/^AvantGarde-Demi$/ { print "avangd" }
/^AvantGarde-DemiOblique$/ { print "avangdo" }
/^Bookman-Demi$/ { print "bookmd" }
/^Bookman-DemiItalic$/ { print "bookmdi" }
/^Bookman-Light$/ { print "bookml" }
/^Bookman-LightItalic$/ { print "bookmli" }
/^Courier$/ { print "couri" }
/^Courier-Bold$/ { print "courib" }
/^Courier-BoldOblique$/ { print "couribo" }
/^Courier-Oblique$/ { print "courio" }
/^Helvetica$/ { print "helve" }
/^Helvetica-Bold$/ { print "helveb" }
/^Helvetica-BoldOblique$/ { print "helvebo" }
/^Helvetica-Narrow$/ { print "helven" }
/^Helvetica-Narrow-Bold$/ { print "helvenb" }
/^Helvetica-Narrow-BoldOblique$/ { print "helvenbo" }
/^Helvetica-Narrow-Oblique$/ { print "helveno" }
/^Helvetica-Oblique$/ { print "helveo" }
/^NewCenturySchlbk-Bold$/ { print "newcsb" }
/^NewCenturySchlbk-BoldItalic$/ { print "newcsbi" }
/^NewCenturySchlbk-Italic$/ { print "newcsi" }
/^NewCenturySchlbk-Roman$/ { print "newcsr" }
/^Palatino-Bold$/ { print "palatb" }
/^Palatino-BoldItalic$/ { print "palatbi" }
/^Palatino-Italic$/ { print "palati" }
/^Palatino-Roman$/ { print "palatr" }
/^Symbol$/ { print "symbol" }
/^Times-Bold$/ { print "timesb" }
/^Times-BoldItalic$/ { print "timesbi" }
/^Times-Italic$/ { print "timesi" }
/^Times-Roman$/ { print "timesr" }
/^ZapfChancery-MediumItalic$/ { print "zapfcmi" }
/^ZapfDingbats$/ { print "zapfd" }
' `.afm
fi

View file

@ -0,0 +1,8 @@
#
# Map between PostScript glyph names and groff character identifiers
# (ordinary ones have a one-character name; special character names are
# longer).
#
# Use this map with the (unstyled) reversed Zapf Dingbats font.
#
a12 lh

View file

@ -0,0 +1,210 @@
#
# Map between PostScript glyph names and groff character identifiers
# (ordinary ones have a one-character name; special character names are
# longer).
#
# Use this map with the (unstyled) Zapf Dingbats font.
#
a19 OK
a19 u2713
a12 rh
a12 u261E
a1 u2701
a2 u2702
a202 u2703
a3 u2704
a4 u260E
a5 u2706
a119 u2707
a118 u2708
a117 u2709
a11 u261B
a13 u270C
a14 u270D
a15 u270E
a16 u270F
a105 u2710
a17 u2711
a18 u2712
a20 u2714
a21 u2715
a22 u2716
a23 u2717
a24 u2718
a25 u2719
a26 u271A
a27 u271B
a28 u271C
a6 u271D
a7 u271E
a8 u271F
a9 u2720
a10 u2721
a29 u2722
a30 u2723
a31 u2724
a32 u2725
a33 u2726
a34 u2727
a35 u2605
a36 u2729
a37 u272A
a38 u272B
a39 u272C
a40 u272D
a41 u272E
a42 u272F
a43 u2730
a44 u2731
a45 u2732
a46 u2733
a47 u2734
a48 u2735
a49 u2736
a50 u2737
a51 u2738
a52 u2739
a53 u273A
a54 u273B
a55 u273C
a56 u273D
a57 u273E
a58 u273F
a59 u2740
a60 u2741
a61 u2742
a62 u2743
a63 u2744
a64 u2745
a65 u2746
a66 u2747
a67 u2748
a68 u2749
a69 u274A
a70 u274B
a71 u25CF
a72 u274D
a73 u25A0
a74 u274F
a203 u2750
a75 u2751
a204 u2752
a76 u25B2
a77 u25BC
a78 u25C6
a79 u2756
a81 u25D7
a82 u2758
a83 u2759
a84 u275A
a97 u275B
a98 u275C
a99 u275D
a100 u275E
a89 u2768
a90 u2769
a93 u276A
a94 u276B
a91 u276C
a92 u276D
a205 u276E
a85 u276F
a206 u2770
a86 u2771
a87 u2772
a88 u2773
a95 u2774
a96 u2775
a101 u2761
a102 u2762
a103 u2763
a104 u2764
a106 u2765
a107 u2766
a108 u2767
a112 u2663
a111 u2666
a110 u2665
a109 u2660
a120 u2460
a121 u2461
a122 u2462
a123 u2463
a124 u2464
a125 u2465
a126 u2466
a127 u2467
a128 u2468
a129 u2469
a130 u2776
a131 u2777
a132 u2778
a133 u2779
a134 u277A
a135 u277B
a136 u277C
a137 u277D
a138 u277E
a139 u277F
a140 u2780
a141 u2781
a142 u2782
a143 u2783
a144 u2784
a145 u2785
a146 u2786
a147 u2787
a148 u2788
a149 u2789
a150 u278A
a151 u278B
a152 u278C
a153 u278D
a154 u278E
a155 u278F
a156 u2790
a157 u2791
a158 u2792
a159 u2793
a160 u2794
a161 u2192
a163 u2194
a164 u2195
a196 u2798
a165 u2799
a192 u279A
a166 u279B
a167 u279C
a168 u279D
a169 u279E
a170 u279F
a171 u27A0
a172 u27A1
a173 u27A2
a162 u27A3
a174 u27A4
a175 u27A5
a176 u27A6
a177 u27A7
a178 u27A8
a179 u27A9
a193 u27AA
a180 u27AB
a199 u27AC
a181 u27AD
a200 u27AE
a182 u27AF
a201 u27B1
a183 u27B2
a184 u27B3
a197 u27B4
a185 u27B5
a194 u27B6
a198 u27B7
a186 u27B8
a195 u27B9
a187 u27BA
a188 u27BB
a189 u27BC
a190 u27BD
a191 u27BE

View file

@ -0,0 +1,35 @@
#
# Map between PostScript glyph names and groff character identifiers
# (ordinary ones have a one-character name; special character names are
# longer).
#
# Use this map with the (unstyled) slanted Symbol font.
#
alpha *a
beta *b
chi *x
delta *d
epsilon *e
eta *y
gamma *g
iota *i
kappa *k
lambda *l
mu *m
nu *n
omega *w
omega1 +p
omicron *o
phi *f
phi1 +f
pi *p
psi *q
rho *r
sigma *s
tau *t
theta *h
theta1 +h
upsilon *u
xi *c
zeta *z
sigma1 ts

View file

@ -0,0 +1,448 @@
#
# Map between PostScript glyph names and groff character identifiers
# (ordinary ones have a one-character name; special character names are
# longer).
#
# Use this map with the (unstyled) Symbol font.
#
a14 rh
a a
A A
aacute 'a
Aacute 'A
acircumflex ^a
Acircumflex ^A
acute aa
adieresis :a
Adieresis :A
ae ae
AE AE
agrave `a
Agrave `A
aleph Ah
alpha *a
Alpha *A
ampersand &
angle /_
angleleft la
angleright ra
approxequal ~~
approxequal ~=
aring oa
Aring oA
arrowboth <>
arrowdblboth hA
arrowdbldown dA
arrowdblleft lA
arrowdblright rA
arrowdblup uA
arrowdown da
arrowhorizex an
arrowleft <-
arrowright ->
arrowupdn va
arrowup ua
arrowvertex arrowvertex
asciicircum ha
asciitilde ti
asterisk *
asteriskmath **
at @
at at
atilde ~a
Atilde ~A
backslash \
backslash rs
bar |
bar ba
b b
B B
beta *b
Beta *B
braceex barex
braceex braceex
braceex braceleftex
braceex bracerightex
braceex bv
braceleft {
braceleftbt braceleftbt
braceleftbt lb
braceleft lC
braceleftmid braceleftmid
braceleftmid lk
bracelefttp bracelefttp
bracelefttp lt
braceright }
bracerightbt bracerightbt
bracerightbt rb
bracerightmid bracerightmid
bracerightmid rk
braceright rC
bracerighttp bracerighttp
bracerighttp rt
bracketleft [
bracketleftbt bracketleftbt
bracketleftbt lf
bracketleftex bracketleftex
bracketleft lB
bracketlefttp bracketlefttp
bracketlefttp lc
bracketright ]
bracketrightbt bracketrightbt
bracketrightbt rf
bracketrightex bracketrightex
bracketright rB
bracketrighttp bracketrighttp
bracketrighttp rc
breve ab
brokenbar bb
bullet bu
cacute 'c
Cacute 'C
caron ah
carriagereturn CR
c c
C C
ccedilla ,c
Ccedilla ,C
cedilla ac
cent ct
checkmark OK
chi *x
Chi *X
circle ci
circlemultiply c*
circleplus c+
circumflex ^
circumflex a^
club CL
colon :
comma ,
congruent =~
copyright co
currency Cs
daggerdbl dd
dagger dg
d d
D D
degree de
delta *d
Delta *D
diamond DI
dieresis ad
divide tdi
dollar $
dollar Do
dotaccent a.
dotlessi .i
dotlessj .j
dotmath md
eacute 'e
Eacute 'E
ecircumflex ^e
Ecircumflex ^E
edieresis :e
Edieresis :E
e e
E E
egrave `e
Egrave `E
eight 8
element mo
emdash em
emptyset es
endash en
epsilon *e
Epsilon *E
equal =
equivalence ==
eta *y
Eta *Y
Eth -D
eth Sd
Euro Eu
exclam !
exclamdown r!
existential te
f f
F F
ff ff
ffi Fi
ffl Fl
fi fi
five 5
fiveeighths 58
fl fl
florin Fn
four 4
fraction f/
gamma *g
Gamma *G
germandbls ss
g g
G G
gradient gr
grave ga
greater >
greaterequal >=
guillemotleft Fo
guillemotright Fc
guilsinglleft fo
guilsinglright fc
heart HE
h h
H H
hungarumlaut a"
hyphen -
hyphen hy
iacute 'i
Iacute 'I
icircumflex ^i
Icircumflex ^I
idieresis :i
Idieresis :I
Ifraktur Im
igrave `i
Igrave `I
i i
I I
ij ij
IJ IJ
infinity if
# the next line overrides the (old) PUA value of the AGL
integralex u23AE
integral integral
integral is
intersection ca
iota *i
Iota *I
j j
J J
kappa *k
Kappa *K
k k
K K
lambda *l
Lambda *L
less <
lessequal <=
l l
L L
logicaland AN
logicalnot tno
logicalor OR
lozenge lz
lslash /l
Lslash /L
macron a-
minus \-
minute fm
m m
M M
mu1 mc
multiply tmu
mu *m
Mu *M
nine 9
n n
N N
notelement nm
notequal !=
notsubset nb
ntilde ~n
Ntilde ~N
numbersign #
numbersign sh
nu *n
Nu *N
oacute 'o
Oacute 'O
ocircumflex ^o
Ocircumflex ^O
odieresis :o
Odieresis :O
oe oe
OE OE
ogonek ho
ograve `o
Ograve `O
omega1 +p
omega *w
Omega *W
omicron *o
Omicron *O
one 1
oneeighth 18
onehalf 12
onequarter 14
onesuperior S1
o o
O O
ordfeminine Of
ordmasculine Om
oslash /o
Oslash /O
otilde ~o
Otilde ~O
overline rn
paragraph ps
parenleft (
parenleftbt parenleftbt
parenleftex parenleftex
parenlefttp parenlefttp
parenright )
parenrightbt parenrightbt
parenrightex parenrightex
parenrighttp parenrighttp
partialdiff pd
percent %
period .
periodcentered pc
perpendicular pp
perthousand %0
phi1 +f
phi *f
Phi *F
pi *p
Pi *P
plus +
plusminus t+-
p p
P P
product product
propersubset sb
propersuperset sp
proportional pt
psi *q
Psi *Q
q q
Q Q
question ?
questiondown r?
quotedbl "
quotedblbase Bq
quotedbl dq
quotedblleft lq
quotedblright rq
quoteleft `
quoteleft oq
quoteright '
quoteright cq
quotesinglbase bq
quotesingle aq
radicalex radicalex
radical sqrt
radical sr
reflexsubset ib
reflexsuperset ip
registered rg
Rfraktur Re
rho *r
Rho *R
ring ao
r r
R R
scaron vs
Scaron vS
second sd
section sc
semicolon ;
seven 7
seveneighths 78
SF110000 br
sigma1 ts
sigma *s
Sigma *S
similar ap
six 6
slash /
slash sl
spade SP
s s
S S
sterling Po
suchthat st
summation sum
tau *t
Tau *T
therefore 3d
therefore tf
theta1 +h
theta *h
Theta *H
thorn Tp
Thorn TP
three 3
threeeighths 38
threequarters 34
threesuperior S3
tilde ~
tilde a~
trademark tm
t t
T T
two 2
twosuperior S2
uacute 'u
Uacute 'U
ucircumflex ^u
Ucircumflex ^U
udieresis :u
Udieresis :U
ugrave `u
Ugrave `U
underscore _
uni03F5 +e
uni210F -h
uni210F hbar
uni21D5 vA
uni2210 coproduct
uni2213 -+
uni2243 |=
uni2262 ne
uni226A >>
uni226B <<
uni2285 nc
uni25A1 sq
uni261C lh
union cu
universal fa
upsilon *u
u u
U U
v v
V V
weierstrass wp
w w
W W
xi *c
Xi *C
x x
X X
yacute 'y
Yacute 'Y
ydieresis :y
Ydieresis :Y
yen Ye
y y
Y Y
zcaron vz
Zcaron vZ
zero 0
zeta *z
Zeta *Z
z z
Z Z
#
# Additional predefined groff symbols for special fonts.
#
arrowdown arrowvertbt
arrowup arrowverttp
divide di
equal eq
logicalnot no
minus mi
multiply mu
plusminus +-
plus pl
Upsilon1 *U

View file

@ -0,0 +1,32 @@
# Set up uniform vertical dimensions for extensible glyphs (needed by eqn).
/^C .*[ ;]N bracketlefttp[ ;]/bx
/^C .*[ ;]N bracketleftex[ ;]/bx
/^C .*[ ;]N bracketleftbt[ ;]/bx
/^C .*[ ;]N bracketrighttp[ ;]/bx
/^C .*[ ;]N bracketrightex[ ;]/bx
/^C .*[ ;]N bracketrightbt[ ;]/bx
/^C .*[ ;]N bracelefttp[ ;]/bx
/^C .*[ ;]N braceleftmid[ ;]/bx
/^C .*[ ;]N braceleftbt[ ;]/bx
/^C .*[ ;]N bracerighttp[ ;]/bx
/^C .*[ ;]N bracerightmid[ ;]/bx
/^C .*[ ;]N bracerightbt[ ;]/bx
/^C .*[ ;]N braceex[ ;]/bx
/^C .*[ ;]N parenleftex[ ;]/by
/^C .*[ ;]N parenrightex[ ;]/by
/^C .*[ ;]N parenleftbt[ ;]/bz
/^C .*[ ;]N parenrightbt[ ;]/bz
/^EndCharMetrics/a\
italicCorrection integral 67\
leftItalicCorrection integral 52\
subscriptCorrection integral -10
b
:x
s/B \([-0-9][0-9]*\) [-0-9][0-9]* \([-0-9][0-9]*\) [-0-9][0-9]*/B \1 -75 \2 925/
b
:y
s/B \([-0-9][0-9]*\) [-0-9][0-9]* \([-0-9][0-9]*\) [-0-9][0-9]*/B \1 -80 \2 920/
b
:z
s/B \([-0-9][0-9]*\) \([-0-9][0-9]*\) \([-0-9][0-9]*\) [-0-9][0-9]*/B \1 \2 \3 920/
b

View file

@ -0,0 +1,19 @@
/^StartFontMetrics / {
print
while ((getline < SYMAFM) > 0) {
if (/^CharacterSet / || /^EncodingScheme / || /^Comment /) { print }
}
next
}
/^ItalicAngle 0$/ {
print "ItalicAngle -15.5"
next
}
/^FullName / {
print $0 " Slanted"
next
}
/^FSType / {
next
}
{ print }

View file

@ -0,0 +1,388 @@
#
# Map between PostScript glyph names and groff character identifiers
# (ordinary ones have a one-character name; special character names are
# longer).
#
# Use this map with (styled) text fonts.
#
a14 rh
a a
A A
aacute 'a
Aacute 'A
acircumflex ^a
Acircumflex ^A
acute aa
adieresis :a
Adieresis :A
ae ae
AE AE
agrave `a
Agrave `A
aleph Ah
ampersand &
angle /_
angleleft la
angleright ra
approxequal ~~
approxequal ~=
aring oa
Aring oA
arrowboth <>
arrowdblboth hA
arrowdbldown dA
arrowdblleft lA
arrowdblright rA
arrowdblup uA
arrowdown da
arrowhorizex an
arrowleft <-
arrowright ->
arrowupdn va
arrowup ua
arrowvertex arrowvertex
asciicircum ha
asciitilde ti
asterisk *
asteriskmath **
at @
at at
atilde ~a
Atilde ~A
backslash \
backslash rs
bar |
bar ba
b b
B B
braceex barex
braceex braceex
braceex braceleftex
braceex bracerightex
braceex bv
braceleft {
braceleftbt braceleftbt
braceleftbt lb
braceleft lC
braceleftmid braceleftmid
braceleftmid lk
bracelefttp bracelefttp
bracelefttp lt
braceright }
bracerightbt bracerightbt
bracerightbt rb
bracerightmid bracerightmid
bracerightmid rk
braceright rC
bracerighttp bracerighttp
bracerighttp rt
bracketleft [
bracketleftbt bracketleftbt
bracketleftbt lf
bracketleftex bracketleftex
bracketleft lB
bracketlefttp bracketlefttp
bracketlefttp lc
bracketright ]
bracketrightbt bracketrightbt
bracketrightbt rf
bracketrightex bracketrightex
bracketright rB
bracketrighttp bracketrighttp
bracketrighttp rc
breve ab
brokenbar bb
bullet bu
cacute 'c
Cacute 'C
caron ah
carriagereturn CR
c c
C C
ccedilla ,c
Ccedilla ,C
cedilla ac
cent ct
checkmark OK
circle ci
circlemultiply c*
circleplus c+
circumflex ^
circumflex a^
club CL
colon :
comma ,
congruent =~
copyright co
currency Cs
daggerdbl dd
dagger dg
d d
D D
degree de
diamond DI
dieresis ad
divide tdi
dollar $
dollar Do
dotaccent a.
dotlessi .i
dotlessj .j
dotmath md
eacute 'e
Eacute 'E
ecircumflex ^e
Ecircumflex ^E
edieresis :e
Edieresis :E
e e
E E
egrave `e
Egrave `E
eight 8
element mo
emdash em
emptyset es
endash en
equal =
equivalence ==
Eth -D
eth Sd
Euro Eu
exclam !
exclamdown r!
existential te
f f
F F
ff ff
ffi Fi
ffl Fl
fi fi
five 5
fiveeighths 58
fl fl
florin Fn
four 4
fraction f/
germandbls ss
g g
G G
gradient gr
grave ga
greater >
greaterequal >=
guillemotleft Fo
guillemotright Fc
guilsinglleft fo
guilsinglright fc
heart HE
h h
H H
hungarumlaut a"
hyphen -
hyphen hy
iacute 'i
Iacute 'I
icircumflex ^i
Icircumflex ^I
idieresis :i
Idieresis :I
Ifraktur Im
igrave `i
Igrave `I
i i
I I
ij ij
IJ IJ
infinity if
# the next line overrides the (old) PUA value of the AGL
integralex u23AE
integral integral
integral is
intersection ca
j j
J J
k k
K K
less <
lessequal <=
l l
L L
logicaland AN
logicalnot tno
logicalor OR
lozenge lz
lslash /l
Lslash /L
macron a-
minus \-
minute fm
m m
M M
mu1 mc
multiply tmu
nine 9
n n
N N
notelement nm
notequal !=
notsubset nb
ntilde ~n
Ntilde ~N
numbersign #
numbersign sh
oacute 'o
Oacute 'O
ocircumflex ^o
Ocircumflex ^O
odieresis :o
Odieresis :O
oe oe
OE OE
ogonek ho
ograve `o
Ograve `O
omega1 +p
one 1
oneeighth 18
onehalf 12
onequarter 14
onesuperior S1
o o
O O
ordfeminine Of
ordmasculine Om
oslash /o
Oslash /O
otilde ~o
Otilde ~O
overline rn
paragraph ps
parenleft (
parenleftbt parenleftbt
parenleftex parenleftex
parenlefttp parenlefttp
parenright )
parenrightbt parenrightbt
parenrightex parenrightex
parenrighttp parenrighttp
partialdiff pd
percent %
period .
periodcentered pc
perpendicular pp
perthousand %0
phi1 +f
plus +
plusminus t+-
p p
P P
product product
propersubset sb
propersuperset sp
proportional pt
q q
Q Q
question ?
questiondown r?
quotedbl "
quotedblbase Bq
quotedbl dq
quotedblleft lq
quotedblright rq
quoteleft `
quoteleft oq
quoteright '
quoteright cq
quotesinglbase bq
quotesingle aq
radicalex radicalex
radical sqrt
radical sr
reflexsubset ib
reflexsuperset ip
registered rg
Rfraktur Re
ring ao
r r
R R
scaron vs
Scaron vS
second sd
section sc
semicolon ;
seven 7
seveneighths 78
SF110000 br
sigma1 ts
similar ap
six 6
slash /
slash sl
spade SP
s s
S S
sterling Po
suchthat st
summation sum
therefore 3d
therefore tf
theta1 +h
thorn Tp
Thorn TP
three 3
threeeighths 38
threequarters 34
threesuperior S3
tilde ~
tilde a~
trademark tm
t t
T T
two 2
twosuperior S2
uacute 'u
Uacute 'U
ucircumflex ^u
Ucircumflex ^U
udieresis :u
Udieresis :U
ugrave `u
Ugrave `U
underscore _
uni03F5 +e
uni210F -h
uni210F hbar
uni21D5 vA
uni2210 coproduct
uni2213 -+
uni2243 |=
uni2262 ne
uni226A >>
uni226B <<
uni2285 nc
uni25A1 sq
uni261C lh
union cu
universal fa
u u
U U
v v
V V
weierstrass wp
w w
W W
x x
X X
yacute 'y
Yacute 'Y
ydieresis :y
Ydieresis :Y
yen Ye
y y
Y Y
zcaron vz
Zcaron vZ
zero 0
z z
Z Z