summaryrefslogtreecommitdiffstats
path: root/font/devlj4/generate
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--font/devlj4/generate/Makefile274
-rw-r--r--font/devlj4/generate/special.awk80
-rw-r--r--font/devlj4/generate/special.map271
-rw-r--r--font/devlj4/generate/symbol.map199
-rw-r--r--font/devlj4/generate/text.map845
-rw-r--r--font/devlj4/generate/wingdings.map233
6 files changed, 1902 insertions, 0 deletions
diff --git a/font/devlj4/generate/Makefile b/font/devlj4/generate/Makefile
new file mode 100644
index 0000000..0b179b6
--- /dev/null
+++ b/font/devlj4/generate/Makefile
@@ -0,0 +1,274 @@
+# Makefile for 'font devlj4 generate'
+#
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Written by James Clark (jjc@jclark.com)
+#
+# This file is part of groff.
+#
+# 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/>.
+
+# Directory containing Autofont TFM files.
+# The TFM files used are available for ftp as
+#
+# ftp://ftp.hp.com/pub/faxes/software/tfmlj4p.exe
+#
+# This is a self-extracting MS-DOS archive (in ZIP format).
+#
+# Metric files for the Arial and Times New Roman families and the Symbol
+# font have been replaced with versions which have more glyphs and/or
+# kerning pairs:
+#
+# ftp://ftp.ffii.org/pub/groff/contrib/lj4/tfmlj4x.zip
+
+# This is set up so you can do
+# make -f generate/Makefile
+# in the parent directory of this directory.
+
+AUTOFONT=/usr/local/lib/groff-lj4
+HPFTODIT=hpftodit
+# .05 em
+IFLAG=-i 50
+SFLAG=-s
+srcdir=generate
+TEXTMAP=$(srcdir)/text.map
+SPECIALMAP=$(srcdir)/special.map
+SYMBOLMAP=$(srcdir)/symbol.map
+WINGDINGSMAP=$(srcdir)/wingdings.map
+
+FONTS=\
+ AB ABI AI AR \
+ ALBB ALBR \
+ AOB AOI AOR \
+ CB CBI CI CR \
+ GB GBI GI GR \
+ LGB LGI LGR \
+ OB OBI OI OR \
+ TB TBI TI TR \
+ TNRB TNRBI TNRI TNRR \
+ UB UBI UI UR \
+ UCB UCBI UCI UCR \
+ CLARENDON CORONET MARIGOLD S \
+ SYMBOL WINGDINGS
+
+RM=rm -f
+
+all: $(FONTS)
+
+#
+# Intellifont
+#
+
+# CG Times
+TR: $(AUTOFONT)/9nb00086.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00086.tfm $(TEXTMAP) $@
+
+# CG Times Italic
+TI: $(AUTOFONT)/9nb00084.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00084.tfm $(TEXTMAP) $@
+
+# CG Times Bold
+TB: $(AUTOFONT)/9nb00083.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00083.tfm $(TEXTMAP) $@
+
+# CG Times Bold Italic
+TBI: $(AUTOFONT)/9nb00085.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00085.tfm $(TEXTMAP) $@
+
+# Courier
+CR: $(AUTOFONT)/9nb00064.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00064.tfm $(TEXTMAP) $@
+
+# Courier Italic
+CI: $(AUTOFONT)/9nb00062.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00062.tfm $(TEXTMAP) $@
+
+# Courier Bold
+CB: $(AUTOFONT)/9nb00061.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00061.tfm $(TEXTMAP) $@
+
+# Courier Bold Italic
+CBI: $(AUTOFONT)/9nb00063.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00063.tfm $(TEXTMAP) $@
+
+# Garamond Antiqua
+GR: $(AUTOFONT)/9nb00068.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00068.tfm $(TEXTMAP) $@
+
+# Garamond Kursiv
+GI: $(AUTOFONT)/9nb00066.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00066.tfm $(TEXTMAP) $@
+
+# Garamond Halbfett
+GB: $(AUTOFONT)/9nb00065.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00065.tfm $(TEXTMAP) $@
+
+# Garamond Kursiv Halbfett
+GBI: $(AUTOFONT)/9nb00067.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00067.tfm $(TEXTMAP) $@
+
+# Omega
+OR: $(AUTOFONT)/9nb00076.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00076.tfm $(TEXTMAP) $@
+
+# Omega Italic
+OI: $(AUTOFONT)/9nb00074.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00074.tfm $(TEXTMAP) $@
+
+# Omega Bold
+OB: $(AUTOFONT)/9nb00073.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00073.tfm $(TEXTMAP) $@
+
+# Omega Bold Italic
+OBI: $(AUTOFONT)/9nb00075.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00075.tfm $(TEXTMAP) $@
+
+# Univers
+UR: $(AUTOFONT)/9nb00094.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00094.tfm $(TEXTMAP) $@
+
+# Univers Italic
+UI: $(AUTOFONT)/9nb00092.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00092.tfm $(TEXTMAP) $@
+
+# Univers Bold
+UB: $(AUTOFONT)/9nb00088.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00088.tfm $(TEXTMAP) $@
+
+# Univers Bold Italic
+UBI: $(AUTOFONT)/9nb00093.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00093.tfm $(TEXTMAP) $@
+
+# Univers Condensed
+UCR: $(AUTOFONT)/9nb00089.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00089.tfm $(TEXTMAP) $@
+
+# Univers Condensed Italic
+UCI: $(AUTOFONT)/9nb00087.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00087.tfm $(TEXTMAP) $@
+
+# Univers Condensed Bold
+UCB: $(AUTOFONT)/9nb00090.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00090.tfm $(TEXTMAP) $@
+
+# Univers Condensed Bold Italic
+UCBI: $(AUTOFONT)/9nb00091.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00091.tfm $(TEXTMAP) $@
+
+# Albertus
+ALBR: $(AUTOFONT)/9nb00052.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00052.tfm $(TEXTMAP) $@
+
+# Albertus Extrabold
+ALBB: $(AUTOFONT)/9nb00051.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00051.tfm $(TEXTMAP) $@
+
+# Letter Gothic
+LGR: $(AUTOFONT)/9nb00071.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00071.tfm $(TEXTMAP) $@
+
+# Letter Gothic Italic
+LGI: $(AUTOFONT)/9nb00070.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00070.tfm $(TEXTMAP) $@
+
+# Letter Gothic Bold
+LGB: $(AUTOFONT)/9nb00069.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00069.tfm $(TEXTMAP) $@
+
+# Antique Olive
+AOR: $(AUTOFONT)/9nb00055.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00055.tfm $(TEXTMAP) $@
+
+# Antique Olive Italic
+AOI: $(AUTOFONT)/9nb00054.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00054.tfm $(TEXTMAP) $@
+
+# Antique Olive Bold
+AOB: $(AUTOFONT)/9nb00053.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00053.tfm $(TEXTMAP) $@
+
+# Marigold
+MARIGOLD: $(AUTOFONT)/9nb00072.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00072.tfm $(TEXTMAP) $@
+
+# Coronet
+CORONET: $(AUTOFONT)/9nb00077.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/9nb00077.tfm $(TEXTMAP) $@
+
+# Clarendon Condensed
+CLARENDON: $(AUTOFONT)/9nb00060.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00060.tfm $(TEXTMAP) $@
+
+S: $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP) $(srcdir)/special.awk
+ $(HPFTODIT) $(SFLAG) $(AUTOFONT)/9nb00086.tfm $(SPECIALMAP) - \
+ | awk -f $(srcdir)/special.awk > $@
+
+#
+# TrueType
+#
+
+# Times New Roman
+TNRR: $(AUTOFONT)/tmnr000s.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/tmnr000s.tfm $(TEXTMAP) $@
+
+# Times New Roman Italic
+TNRI: $(AUTOFONT)/tmni000s.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/tmni000s.tfm $(TEXTMAP) $@
+
+# Times New Roman Bold
+TNRB: $(AUTOFONT)/tmnb000s.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/tmnb000s.tfm $(TEXTMAP) $@
+
+# Times New Roman Bold Italic
+TNRBI: $(AUTOFONT)/tmnj000s.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/tmnj000s.tfm $(TEXTMAP) $@
+
+# Arial
+AR: $(AUTOFONT)/arlr000s.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/arlr000s.tfm $(TEXTMAP) $@
+
+# Arial Italic
+AI: $(AUTOFONT)/arli000s.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/arli000s.tfm $(TEXTMAP) $@
+
+# Arial Bold
+AB: $(AUTOFONT)/arlb000s.tfm $(TEXTMAP)
+ $(HPFTODIT) $(AUTOFONT)/arlb000s.tfm $(TEXTMAP) $@
+
+# Arial Bold Italic
+ABI: $(AUTOFONT)/arlj000s.tfm $(TEXTMAP)
+ $(HPFTODIT) $(IFLAG) $(AUTOFONT)/arlj000s.tfm $(TEXTMAP) $@
+
+# Symbol
+SYMBOL: $(AUTOFONT)/9nb28703.tfm $(SYMBOLMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb28703.tfm $(SYMBOLMAP) $@
+
+# Wingdings
+WINGDINGS: $(AUTOFONT)/9nb00095.tfm $(WINGDINGSMAP)
+ $(HPFTODIT) $(AUTOFONT)/9nb00095.tfm $(WINGDINGSMAP) $@
+
+clean:
+
+realclean:
+ $(RM) $(FONTS)
+
+extraclean: realclean
+ $(RM) core *~ "#*"
+
+.PHONY: clean realclean extraclean all
+
+# Local Variables:
+# mode: makefile
+# fill-column: 72
+# End:
+# vim: set textwidth=72:
diff --git a/font/devlj4/generate/special.awk b/font/devlj4/generate/special.awk
new file mode 100644
index 0000000..8e3c702
--- /dev/null
+++ b/font/devlj4/generate/special.awk
@@ -0,0 +1,80 @@
+# Correct Intellifont-based height metrics for several glyphs in
+# special font for TrueType CG Times (LaserJet 4000 and later).
+
+function scale(num)
+{
+ return int(num * em + 0.5)
+}
+
+BEGIN {
+ FS = "\t"
+ OFS = "\t"
+ em = 26346 # Intellifont (8782 DU/em) and hpftodit(1) multiplier of 3
+
+ ascent["integralcrvmid"] = scale(0.84358)
+ descent["integralcrvmid"] = scale(0.25006)
+ ascent["integralbt"] = scale(0.84358)
+ descent["integralbt"] = scale(0.15164)
+ ascent["lt"] = scale(0.84358)
+ descent["lt"] = scale(0.15164)
+ ascent["parenlefttp"] = scale(0.84358)
+ descent["parenlefttp"] = scale(0.15164)
+ ascent["bracelefttp"] = scale(0.84358)
+ descent["bracelefttp"] = scale(0.15164)
+ ascent["lk"] = scale(0.84358)
+ descent["lk"] = scale(0.15164)
+ ascent["braceleftmid"] = scale(0.84358)
+ descent["braceleftmid"] = scale(0.15164)
+ ascent["lb"] = scale(0.84358)
+ descent["lb"] = scale(0.15164)
+ ascent["parenleftbt"] = scale(0.84358)
+ descent["parenleftbt"] = scale(0.15164)
+ ascent["braceleftbt"] = scale(0.84358)
+ descent["braceleftbt"] = scale(0.15164)
+ ascent["rt"] = scale(0.84358)
+ descent["rt"] = scale(0.15164)
+ ascent["parenrighttp"] = scale(0.84358)
+ descent["parenrighttp"] = scale(0.15164)
+ ascent["bracerighttp"] = scale(0.84358)
+ descent["bracerighttp"] = scale(0.15164)
+ ascent["rk"] = scale(0.84358)
+ descent["rk"] = scale(0.15164)
+ ascent["bracerightmid"] = scale(0.84358)
+ descent["bracerightmid"] = scale(0.15164)
+ ascent["rb"] = scale(0.84358)
+ descent["rb"] = scale(0.15164)
+ ascent["parenrightbt"] = scale(0.84358)
+ descent["parenrightbt"] = scale(0.15164)
+ ascent["bracerightbt"] = scale(0.84358)
+ descent["bracerightbt"] = scale(0.15164)
+ ascent["parenrightex"] = scale(0.84358)
+ descent["parenrightex"] = scale(0.15164)
+ ascent["parenleftex"] = scale(0.84358)
+ descent["parenleftex"] = scale(0.15164)
+ ascent["bv"] = scale(0.84358)
+ descent["bv"] = scale(0.15164)
+ ascent["bracerightex"] = scale(0.84358)
+ descent["bracerightex"] = scale(0.15164)
+ ascent["braceleftex"] = scale(0.84358)
+ descent["braceleftex"] = scale(0.15164)
+ ascent["integralex"] = scale(0.84358)
+ descent["integralex"] = scale(0.15164)
+ ascent["bracketrightex"] = scale(0.84358)
+ descent["bracketrightex"] = scale(0.15164)
+ ascent["bracketleftex"] = scale(0.84358)
+ descent["bracketleftex"] = scale(0.15164)
+ ascent["barex"] = scale(0.84358)
+ descent["barex"] = scale(0.15164)
+}
+{
+ if ($2 != "\"" && ascent[$1]) {
+ n = split($2, temp, ",")
+ $2 = sprintf("%d,%d,%d", temp[1], ascent[$1], descent[$1])
+ # just in case there are additional metrics
+ for (i = 4; i <= n; i++)
+ $2 = $2 "," temp[i]
+ }
+ print $0
+}
+
+# EOF
diff --git a/font/devlj4/generate/special.map b/font/devlj4/generate/special.map
new file mode 100644
index 0000000..1315672
--- /dev/null
+++ b/font/devlj4/generate/special.map
@@ -0,0 +1,271 @@
+# Map HP MSL numbers and HP Unicode values to troff names for a special font.
+#
+# Created 30 December 2003 -- you need hpftodit from groff 1.19.1 or newer!
+
+12 002B pl
+30 003D eq
+34 0041 *A
+35 0042 *B
+38 0045 *E
+41 0048 *Y
+42 0049 *I
+44 004B *K
+46 004D *M
+47 004E *N
+48 004F *O
+49 0050 *R
+53 0054 *T
+57 0058 *X
+59 005A *Z
+96 007E ap
+97 2592 u2592
+183 2212 mi
+189 25A0 u25A0
+191 00B1 +-
+194 00AC no
+201 00D7 mu
+202 00F7 di
+203 263A u263A
+204 263B u263B
+205 2665 HE
+206 2666 DI
+207 2663 CL
+208 2660 SP
+209 25CF u25CF
+210 25D8 u25D8
+212 25D9 u25D9
+213 2642 u2642
+214 2640 u2640
+215 266A u266A
+216 266B u266B
+217 263C u263C
+218 25BA u25BA
+219 25C4 u25C4
+220 2195 va
+222 25AC u25AC
+223 21A8 u21A8
+224 2191 ua
+225 2193 da
+226 2192 ->
+227 2190 <-
+# U+2319 would be the right code for MSL 228, according to the description
+# and used glyph shape in the PCL 5 comparison guide, but this neither
+# reflects the actual look nor the mapping value used in recent HP printers.
+228 221F u221F
+229 2194 <>
+230 25B2 u25B2
+231 25BC u25BC
+233 2310 u2310
+234 2591 u2591
+235 2593 u2593
+236 2502 u2502
+237 2524 u2524
+238 2561 u2561
+239 2562 u2562
+240 2556 u2556
+241 2555 u2555
+242 2563 u2563
+243 2551 u2551
+244 2557 u2557
+245 255D u255D
+246 255C u255C
+247 255B u255B
+248 2510 u2510
+249 2514 u2514
+250 2534 u2534
+251 252C u252C
+252 251C u251C
+253 2500 u2500
+254 253C u253C
+255 255E u255E
+256 255F u255F
+257 255A u255A
+258 2554 u2554
+259 2569 u2569
+260 2566 u2566
+261 2560 u2560
+262 2550 u2550
+263 256C u256C
+264 2567 u2567
+265 2568 u2568
+266 2564 u2564
+267 2565 u2565
+268 2559 u2559
+269 2558 u2558
+270 2552 u2552
+271 2553 u2553
+272 256B u256B
+273 256A u256A
+274 2518 u2518
+275 250C u250C
+276 2588 u2588
+277 2584 u2584
+278 258C u258C
+279 2590 u2590
+280 2580 u2580
+292 221E if
+295 2229 ca
+296 2261 ==
+297 2265 >=
+298 2264 <=
+299 2320 u2320
+300 2321 u2321
+301 2248 ~= ~~
+302 00B7 md
+303 221A u221A
+305 25AA u25AA
+333 2302 u2302
+500 EFBF sqrt sr
+501 221D pt
+502 212F u212F
+503 EFEC *e
+504 2234 3d tf
+505 0393 *G
+506 2206 *D
+507 0398 *H
+508 039B *L
+509 039E *C
+510 03A0 *P
+511 03A3 *S
+512 03A5 *U
+513 03A6 *F
+514 03A8 *Q
+515 03A9 *W
+516 2207 gr
+517 2202 pd
+518 03C2 ts
+519 2260 !=
+521 2235 u2235
+522 03B1 *a
+523 03B2 *b
+524 03B3 *g
+525 03B4 *d
+526 03B5 +e
+527 03B6 *z
+528 03B7 *y
+529 03B8 *h
+530 03B9 *i
+531 03BA *k
+532 03BB *l
+533 03BC *m
+534 03BD *n
+535 03BE *c
+536 03BF *o
+537 03C0 *p
+538 03C1 *r
+539 03C3 *s
+540 03C4 *t
+541 03C5 *u
+542 03C6 *f
+543 03C7 *x
+544 03C8 *q
+545 03C9 *w
+546 03D1 +h
+547 03D5 +f
+548 03D6 +p
+549 2243 |=
+550 2262 ne
+551 21D1 arrowverttp uA
+552 21D2 rA rh
+553 21D3 arrowvertbt dA
+554 21D0 lA lh
+555 21D5 vA
+556 21D4 hA
+557 21C4 u21C4
+558 21C6 u21C6
+559 EFE9 u21C0
+560 EFEA radicalex
+561 2200 fa
+562 2203 te
+563 22A4 u22A4
+564 22A5 pp
+565 222A cu
+566 2208 mo
+567 220B u220B
+568 2209 nm
+569 2282 sb
+570 2283 sp
+571 2284 nb
+572 2285 nc
+573 2286 ib
+574 2287 ip
+575 2295 c+
+576 2299 u2299
+577 2297 c*
+578 2296 u2296
+579 2298 u2298
+580 2227 AN
+581 2228 OR
+582 22BB u22BB
+583 2218 u2218
+584 20DD ci
+585 22A3 u22A3
+586 22A2 u22A2
+587 222B integral is
+588 222E u222E
+589 2220 /_
+590 2205 es
+591 2135 Ah
+592 2136 u2136
+593 2137 u2137
+594 212D u212D
+595 2111 Im
+596 211C Re
+597 2128 u2128
+598 EFE7 bracketlefttp lc
+599 EFE6 bracketleftbt lf
+600 EFE3 bracelefttp lt parenlefttp
+601 EFE2 braceleftmid lk
+602 EFE1 braceleftbt lb parenleftbt
+603 EFD4 integralcrvmid
+605 2225 arrowvertex
+608 EFE5 bracketrighttp rc
+609 EFE4 bracketrightbt rf
+610 EFE0 bracerighttp parenrighttp rt
+611 EFDF bracerightmid rk
+612 EFDE bracerightbt parenrightbt rb
+613 EFDD braceex braceleftex bracerightex bv parenleftex parenrightex
+614 2223 barex bracketleftex bracketrightex
+615 EFDC u23B7
+620 2213 -+
+621 2329 la
+622 232A ra
+624 2245 =~
+625 2197 u2197
+626 2198 u2198
+627 2199 u2199
+628 2196 u2196
+629 25B5 u25B5
+630 25B9 u25B9
+631 25BF u25BF
+632 25C3 u25C3
+633 226A <<
+634 226B >>
+635 2237 u2237
+636 EFCA u225C
+637 EFD5 u03DD
+638 210F -h hbar
+639 2112 u2112
+641 2118 wp
+642 2211 sum
+643 301A u27E6
+645 301B u27E7
+646 256D u256D
+647 2570 u2570
+654 25C7 lz
+655 256E u256E
+656 256F u256F
+662 25C6 u25C6
+663 220D st
+664 2217 **
+665 EFE8 an
+668 221F u221F
+669 220F product
+1099 21B5 CR
+1108 25AB u25AB
+1109 25E6 u25E6
+1110 25CB u25CB
+1112 21B5 u21B5
+1114 2423 u2423
+
+# EOF
diff --git a/font/devlj4/generate/symbol.map b/font/devlj4/generate/symbol.map
new file mode 100644
index 0000000..068a4f8
--- /dev/null
+++ b/font/devlj4/generate/symbol.map
@@ -0,0 +1,199 @@
+# Map HP Unicode values to groff names for Monotype Symbol font.
+#
+# This font is TrueType only, so the MSL values are dummies.
+#
+# Created 16 January 2004. Some mappings are taken from Alan Wood's
+# website (www.alanwood.net)
+#
+# You need hpftodit from groff 1.19.1 or newer!
+
+-1 F021 ! # exclamation point
+-1 F022 fa # for all (u2200)
+-1 F023 # sh # number sign
+-1 F024 te # there exists (u2203)
+-1 F025 % # per cent
+-1 F026 & # ampersand
+-1 F027 st # such that, small contains as member (u220D)
+-1 F028 ( # left parenthesis
+-1 F029 ) # right parenthesis
+-1 F02A ** # math asterisk operator (u2217)
+-1 F02B pl # plus
+-1 F02C , # comma
+-1 F02D mi # minus (- is hyphen) (u2212)
+-1 F02E . # period
+-1 F02F / sl # solidus
+-1 F030 0 # numeral 0
+-1 F031 1 # numeral 1
+-1 F032 2 # numeral 2
+-1 F033 3 # numeral 3
+-1 F034 4 # numeral 4
+-1 F035 5 # numeral 5
+-1 F036 6 # numeral 6
+-1 F037 7 # numeral 7
+-1 F038 8 # numeral 8
+-1 F039 9 # numeral 9
+-1 F03A : # colon
+-1 F03B ; # semicolon
+-1 F03C < # less than
+-1 F03D = # equals
+-1 F03E > # greater than
+-1 F03F ? # question mark
+-1 F040 =~ # approximately equal to, congruent (u2245)
+-1 F041 *A # capital Alpha (u0391)
+-1 F042 *B # capital Beta (u0392)
+-1 F043 *X # capital Chi (u03A7)
+-1 F044 *D # capital Delta (u0394)
+-1 F045 *E # capital Epsilon (u0395)
+-1 F046 *F # capital Phi (u03A6)
+-1 F047 *G # capital Gamma (u0393)
+-1 F048 *Y # capital Eta (u0397)
+-1 F049 *I # capital Iota (u0399)
+-1 F04A +h # theta symbol (u03D1)
+-1 F04B *K # capital Kappa (u039A)
+-1 F04C *L # capital Lambda (u039B)
+-1 F04D *M # capital Mu (u039C)
+-1 F04E *N # capital Nu (u039D)
+-1 F04F *O # capital Omicron (u039F)
+-1 F050 *P # capital Pi (u03A0)
+-1 F051 *H # capital Theta (u0398)
+-1 F052 *R # capital Rho (u03A1)
+-1 F053 *S # capital Sigma (u03A3)
+-1 F054 *T # capital Tau (u03A4)
+-1 F055 *U # capital Upsilon (u03A5)
+-1 F056 ts # lower case sigma (terminal) (u03C2)
+-1 F057 *W # capital Omega (u03A9)
+-1 F058 *C # capital Xi (u039E)
+-1 F059 *Q # capital Psi (u03A8)
+-1 F05A *Z # capital Zeta (u0396)
+-1 F05B [ lB # left bracket
+-1 F05C 3d tf # therefore (u2234)
+-1 F05D ] rB # right bracket
+-1 F05E pp # perpendicular (u22A5)
+-1 F05F _ # underscore
+-1 F060 --- # radical extender
+-1 F061 *a # lower case alpha (u03B1)
+-1 F062 *b # lower case beta (u03B2)
+-1 F063 *x # lower case chi (u03C7)
+-1 F064 *d # lower case delta (u03B4)
+-1 F065 *e # lower case epsilon (u03B5)
+-1 F066 +f # lower case phi (stroked) (u03D5)
+-1 F067 *g # lower case gamma (u03B3)
+-1 F068 *y # lower case eta (u03B7)
+-1 F069 *i # lower case iota (u03B9)
+-1 F06A *f # lower case phi (curly) (u03C6)
+-1 F06B *k # lower case kappa (u03BA)
+-1 F06C *l # lower case lambda (u03BB)
+-1 F06D *m # lower case mu (u03BC)
+-1 F06E *n # lower case nu (u03BD)
+-1 F06F *o # lower case omicron (u03BF)
+-1 F070 *p # lower case pi (u03C0)
+-1 F071 *h # lower case theta (u03B8)
+-1 F072 *r # lower case rho (u03C1)
+-1 F073 *s # lower case sigma (u03C3)
+-1 F074 *t # lower case tau (u03C4)
+-1 F075 *u # lower case upsilon (u03C5)
+-1 F076 +p # pi symbol (u03D6)
+-1 F077 *w # lower case omega (u03C9)
+-1 F078 *c # lower case xi (u03BE)
+-1 F079 *q # lower case psi (u03C8)
+-1 F07A *z # lower case zeta (u03B6)
+-1 F07B { lC # left brace
+-1 F07C | ba # vertical bar
+-1 F07D } rC # right brace
+-1 F07E ap # similar, tilde operator (u223C)
+-1 F0A1 u03D2 # upsilon with hook symbol (u03D2)
+-1 F0A2 fm # prime or minutes or feet (u2032)
+-1 F0A3 <= # less than or equal to (u2264)
+-1 F0A4 f/ # figure slash (fraction) (/ is normal slash) (u2044)
+-1 F0A5 if # infinity (u221E)
+-1 F0A6 u0192 # Florin or Guilder
+-1 F0A7 CL # clubs (u2663)
+-1 F0A8 DI # diamonds (u2666)
+-1 F0A9 HE # hearts (u2665)
+-1 F0AA SP # spades (u2660)
+-1 F0AB <> # arrow left and right (u2194)
+-1 F0AC <- # arrow left (u2190)
+-1 F0AD ua # arrow up (u2191)
+-1 F0AE -> # arrow right (u2192)
+-1 F0AF da # arrow down (u2193)
+-1 F0B0 de # degree
+-1 F0B1 +- # plus minus (u00B1)
+-1 F0B2 sd # double prime or seconds or inches (u2033)
+-1 F0B3 >= # greater than or equal to (u2265)
+-1 F0B4 mu # multiply (u00D7)
+-1 F0B5 pt # proportional (u221D)
+-1 F0B6 pd # partial derivative / partial differential (u2202)
+-1 F0B7 u2219 # bullet operator (u2219)
+-1 F0B8 di # divide (u00F7)
+-1 F0B9 != # not equal (u2260)
+-1 F0BA == # equivalent (u2261)
+-1 F0BB ~= ~~ # almost equal to, asymptotic to (u2248)
+-1 F0BC u2026 # ellipsis (u2026)
+-1 F0BD u23D0 # vertical arrow extender (u23D0)
+-1 F0BE u23AF # horizontal arrow extender (u23AF)
+-1 F0BF CR # carriage return (u21B5)
+-1 F0C0 Ah # alef symbol (u2135)
+-1 F0C1 Im # I fraktur (u2111)
+-1 F0C2 Re # R fraktur (u211C)
+-1 F0C3 wp # Weierstrass (u2118)
+-1 F0C4 c* # circle multiply (u2297)
+-1 F0C5 c+ # circle plus (u2295)
+-1 F0C6 es # empty set (u2205)
+-1 F0C7 ca # intersection (u2229)
+-1 F0C8 cu # union (u222A)
+-1 F0C9 sp # proper superset, superset of (u2283)
+-1 F0CA ip # reflex superset (contains or equals), superset of or equal to (u2287)
+-1 F0CB nb # not subset (u2284)
+-1 F0CC sb # proper subset, subset of (u2282)
+-1 F0CD ib # reflex subset (contained in or equals), subset of or equal to (u2286)
+-1 F0CE mo # member (element) (u2208)
+-1 F0CF nm # not a member (not an element) (u2209)
+-1 F0D0 /_ # angle (u2220)
+-1 F0D1 gr # nabla or gradient (u2207)
+-1 F0D2 --- # registered (serif) (u00AE)
+-1 F0D3 --- # copyright (serif) (u00A9)
+-1 F0D4 --- # trade mark (serif)
+-1 F0D5 product # product of (u220F)
+-1 F0D6 sr sqrt # square root (u221A)
+-1 F0D7 u22C5 # dot operator (u22C5)
+-1 F0D8 no # not (u00AC)
+-1 F0D9 AN # logical and (u2227)
+-1 F0DA OR # logical or (u2228)
+-1 F0DB hA # double arrow left and right (u21D4)
+-1 F0DC lA lh # double arrow left (implied by) (u21D0)
+-1 F0DD arrowverttp uA # double arrow up (u21D1)
+-1 F0DE rA rh # double arrow right (implies) (u21D2)
+-1 F0DF arrowvertbt dA # double arrow down (u21D3)
+-1 F0E0 lz # lozenge (u25CA)
+-1 F0E1 la # left angle bracket (u2329)
+-1 F0E2 --- # registered (sans serif) (u00AE)
+-1 F0E3 --- # copyright (sans serif) (u00A9)
+-1 F0E4 --- # trade mark (sans serif)
+-1 F0E5 sum # sum of (u2211)
+-1 F0E6 parenlefttp # composite left parenthesis (top) (u239B)
+-1 F0E7 parenleftex # composite left parenthesis (extender) (u239C)
+-1 F0E8 parenleftbt # composite left parenthesis (bottom) (u239D)
+-1 F0E9 lc bracketlefttp # composite left bracket (top) (u23A1)
+-1 F0EA bracketleftex # composite left bracket (extender) (u23A2)
+-1 F0EB lf bracketleftbt # composite left bracket (bottom) (u23A3)
+-1 F0EC lt bracelefttp # composite left brace (top) (u23A7)
+-1 F0ED lk braceleftex # composite left brace (middle) (u23A8)
+-1 F0EE lb braceleftbt # composite left brace (bottom) (u23A9)
+-1 F0EF u23AA # composite brace extender (u23AA)
+-1 F0F0 Eu # euro sign (u20AC)
+-1 F0F1 ra # right angle bracket (u232A)
+-1 F0F2 integral is # integral (u222B)
+-1 F0F3 u2320 # composite integral (top) (u2320)
+-1 F0F4 u23AE # composite integral extender (u23AE)
+-1 F0F5 u2321 # composite integral (bottom) (u2321)
+-1 F0F6 parenrighttp # composite right parenthesis (top) (u239E)
+-1 F0F7 parenrightex # composite right parenthesis (extender) (u239F)
+-1 F0F8 parenrightbt # composite right parenthesis (bottom) (u23A0)
+-1 F0F9 rc bracketrighttp # composite right bracket (top) (u23A4)
+-1 F0FA bracketrightex # composite right bracket (extender) (u23A5)
+-1 F0FB rf bracketrightbt # composite right bracket (bottom) (u23A6)
+-1 F0FC rt bracerighttp # composite right brace (top) (u23AB)
+-1 F0FD rk bracerightex # composite right brace (middle) (u23AC)
+-1 F0FE rb bracerightbt # composite right brace (bottom) (u23AD)
+
+# EOF
diff --git a/font/devlj4/generate/text.map b/font/devlj4/generate/text.map
new file mode 100644
index 0000000..18170ff
--- /dev/null
+++ b/font/devlj4/generate/text.map
@@ -0,0 +1,845 @@
+# Map HP MSL numbers and HP Unicode values to troff names for a text font.
+#
+# Created 30 December 2003 -- you need hpftodit from groff 1.19.1 or newer!
+#
+# Glyphs marked with an asterisk have (also) an entry in 'special.umap'.
+# Unknown MSL numbers are marked with a question mark; glyphs with an
+# uncertain Unicode mapping are tagged also with a question mark.
+
+# 0 space -- unused
+1 0021 !
+2 0022 " dq
+3 0023 # sh
+4 0024 $ Do
+5 0025 %
+6 0026 &
+# 7 ?
+8 2019 ' cq
+9 0028 (
+
+10 0029 )
+11 002A *
+# 12 *
+12 002B +
+13 002C ,
+14 002D - hy
+15 002E .
+16 002F / sl
+17 0030 0
+18 0031 1
+19 0032 2
+
+20 0033 3
+21 0034 4
+22 0035 5
+23 0036 6
+24 0037 7
+25 0038 8
+26 0039 9
+27 003A :
+28 003B ;
+29 003C <
+
+# 30 *
+30 003D =
+31 003E >
+32 003F ?
+33 0040 @ at
+# 34 *
+34 0041 A
+# 35 *
+35 0042 B
+36 0043 C
+37 0044 D
+# 38 *
+38 0045 E
+39 0046 F
+
+40 0047 G
+# 41 *
+41 0048 H
+# 42 *
+42 0049 I
+43 004A J
+# 44 *
+44 004B K
+45 004C L
+# 46 *
+46 004D M
+# 47 *
+47 004E N
+# 48 *
+48 004F O
+# 49 *
+49 0050 P
+
+50 0051 Q
+51 0052 R
+52 0053 S
+# 53 *
+53 0054 T
+54 0055 U
+55 0056 V
+56 0057 W
+# 57 *
+57 0058 X
+58 0059 Y
+# 59 *
+59 005A Z
+
+60 005B [ lB
+61 005C \ rs
+62 005D ] rB
+63 005E ha
+64 005F _
+# 65 ?
+66 2018 ` oq
+67 0061 a
+68 0062 b
+69 0063 c
+
+70 0064 d
+71 0065 e
+72 0066 f
+73 0067 g
+74 0068 h
+75 0069 i
+76 006A j
+77 006B k
+78 006C l
+79 006D m
+
+80 006E n
+81 006F o
+82 0070 p
+83 0071 q
+84 0072 r
+85 0073 s
+86 0074 t
+87 0075 u
+88 0076 v
+89 0077 w
+
+90 0078 x
+91 0079 y
+92 007A z
+93 007B lC {
+94 007C ba |
+95 007D rC }
+# 96 *
+96 007E ti
+# 97 medium shading *
+# 98 uppercase greek delta -- unused
+99 00C0 `A
+
+100 00C2 ^A
+101 00C8 `E
+102 00CA ^E
+103 00CB :E
+104 00CE ^I
+105 00CF :I
+106 00B4 aa
+107 0060 ga
+108 02C6 ^ a^
+109 00A8 ad
+
+110 02DC a~ ~
+111 00D9 `U
+112 00DB ^U
+113 00AF u00AF
+114 00DD 'Y
+115 00FD 'y
+116 00B0 de
+117 00C7 ,C
+118 00E7 ,c
+119 00D1 ~N
+
+120 00F1 ~n
+121 00A1 r!
+122 00BF r?
+123 00A4 Cs
+124 00A3 Po
+125 00A5 Ye
+126 00A7 sc
+127 0192 Fn
+128 00A2 ct
+129 00E2 ^a
+
+130 00EA ^e
+131 00F4 ^o
+132 00FB ^u
+133 00E1 'a
+134 00E9 'e
+135 00F3 'o
+136 00FA 'u
+137 00E0 `a
+138 00E8 `e
+139 00F2 `o
+
+140 00F9 `u
+141 00E4 :a
+142 00EB :e
+143 00F6 :o
+144 00FC :u
+145 00C5 oA
+146 00EE ^i
+147 00D8 /O
+148 00C6 AE
+149 00E5 oa
+
+150 00ED 'i
+151 00F8 /o
+152 00E6 ae
+153 00C4 :A
+154 00EC `i
+155 00D6 :O
+156 00DC :U
+157 00C9 'E
+158 00EF :i
+159 00DF ss
+
+160 00D4 ^O
+161 00C1 'A
+162 00C3 ~A
+163 00E3 ~a
+164 00D0 -D
+165 00F0 Sd
+166 00CD 'I
+167 00CC `I
+168 00D3 'O
+169 00D2 `O
+
+170 00D5 ~O
+171 00F5 ~o
+172 0160 vS
+173 0161 vs
+174 00DA 'U
+175 0178 :Y
+176 00FF :y
+177 00DE TP
+178 00FE Tp
+# 179 lowercase middle dot -- unused (no Unicode mapping)
+
+180 00B5 mc
+181 00B6 ps
+182 00BE 34
+# 183 *
+183 2212 \-
+184 00BC 14
+185 00BD 12
+186 00AA Of
+187 00BA Om
+188 00AB Fo
+# 189 medium solid box *
+
+190 00BB Fc
+# 191 *
+191 00B1 t+-
+192 00A6 bb
+193 00A9 co
+# 194 *
+194 00AC tno
+195 00AD u00AD
+196 00AE rg
+197 00B2 S2
+198 00B3 S3
+199 00B8 ac
+
+200 00B9 S1
+# 201 *
+201 00D7 tmu
+# 202 *
+202 00F7 tdi
+# 203 open smiling face *
+# 204 solid smiling face *
+# 205 solid heart *
+# 206 solid diamond *
+# 207 solid club *
+# 208 solid spade *
+# 209 medium solid bullet *
+
+# 210 large solid square/open dot *
+# 211 large open bullet ?
+# 212 large solid square/open ring *
+# 213 male symbol *
+# 214 female symbol *
+# 215 musical note *
+# 216 pair of musical notes *
+# 217 compass, 8 pointed sun *
+# 218 right solid arrowhead *
+# 219 left solid arrowhead *
+
+# 220 up/down arrow *
+221 203C u203C
+# 222 thick horizontal mark *
+# 223 up/down arrow baseline *
+# 224 up arrow *
+# 225 down arrow *
+# 226 right arrow *
+# 227 left arrow *
+# 228 tick up at left ('logicalnotflopped') *
+# 229 left/right arrow *
+
+# 230 up solid arrowhead *
+# 231 down solid arrowhead *
+232 20A7 u20A7
+# 233 tick down at left *
+# 234 light shading *
+# 235 dark shading *
+# 236 vertical 1 *
+# 237 left 1 vertical 1 *
+# 238 left 2 vertical 1 *
+# 239 left 1 vertical 2 *
+
+# 240 left 1 down 2 *
+# 241 left 2 down 1 *
+# 242 left 2 vertical 2 *
+# 243 vertical 2 *
+# 244 left 2 down 2 *
+# 245 left 2 up 2 *
+# 246 left 1 up 2 *
+# 247 left 2 up 1 *
+# 248 left 1 down 1 *
+# 249 right 1 up 1 *
+
+# 250 horizontal 1 up 1 *
+# 251 horizontal 1 down 1 *
+# 252 right 1 vertical 1 *
+# 253 horizontal 1 *
+# 254 horizontal 1 vertical 1 *
+# 255 right 2 vertical 1 *
+# 256 right 1 vertical 2 *
+# 257 right 2 up 2 *
+# 258 right 2 down 2 *
+# 259 horizontal 2 up 2 *
+
+# 260 horizontal 2 down 2 *
+# 261 right 2 vertical 2 *
+# 262 horizontal 2 *
+# 263 horizontal 2 vertical 2 *
+# 264 horizontal 2 up 1 *
+# 265 horizontal 1 up 2 *
+# 266 horizontal 2 down 1 *
+# 267 horizontal 1 down 2 *
+# 268 right 1 up 2 *
+# 269 right 2 up 1 *
+
+# 270 right 2 down 1 *
+# 271 right 1 down 2 *
+# 272 horizontal 1 vertical 2 *
+# 273 horizontal 2 vertical 1 *
+# 274 left 1 up 1 *
+# 275 right 1 down 1 *
+# 276 solid full rectangle *
+# 277 bottom 1/2 solid rectangle *
+# 278 left 1/2 solid rectangle *
+# 279 right 1/2 solid rectangle *
+
+# 280 top 1/2 solid rectangle *
+# 281 lowercase greek alpha -- unused
+# 282 lowercase greek beta -- unused
+# 283 uppercase greek gamma -- unused
+# 284 lowercase greek pi -- unused
+# 285 uppercase greek sigma -- unused
+# 286 lowercase greek sigma -- unused
+# 287 lowercase greek tau -- unused
+# 288 uppercase greek phi -- unused
+# 289 uppercase greek theta -- unused
+
+# 290 uppercase omega, ohms -- unused
+# 291 lowercase greek delta -- unused
+# 292 infinity sign *
+# 293 lowercase greek phi -- unused
+# 294 lowercase greek epsilon -- unused
+# 295 set intersection *
+# 296 exactly equals *
+# 297 greater than/equal to *
+# 298 less than/equal to *
+# 299 top segment integral *
+
+# 300 bottom segment integral *
+# 301 2 wavy line approximation *
+# 302 *
+302 00B7 pc
+# 303 radical symbol *
+# 304 lowercase greek eta -- unused
+# 305 small solid box *
+306 013F u013F
+307 0140 u0140
+308 2113 u2113
+309 0149 u0149
+
+310 2032 fm
+311 2033 sd
+312 2020 dg
+313 2122 tm
+314 2017 u2017
+315 02C7 ah
+316 02DA ao
+# 317 uppercase acute accent -- unused
+# 318 uppercase grave accent -- unused
+# 319 uppercase circumflex accent -- unused
+
+# 320 uppercase dieresis accent -- unused
+# 321 uppercase tilde accent -- unused
+# 322 uppercase hacek accent -- unused
+# 323 uppercase ring accent -- unused
+324 2215 f/
+325 2014 em
+326 2013 en
+327 2021 dd
+328 0131 .i
+329 0027 aq
+
+# 330 uppercase cedilla -- unused
+331 2022 bu
+332 207F u207F
+# 333 home plate *
+# 334 ?
+335 0138 u0138
+# 336 ?
+# 337 ?
+338 0166 u0166
+339 0167 u0167
+
+340 014A u014A
+341 014B u014B
+342 0111 u0111
+# 343-369 ?
+
+# 370 'lira' ?
+# 371-374 ?
+# 375 'asciigrave' ?
+
+# 376-399 ?
+
+400 0102 u0041_0306
+401 0103 u0061_0306
+402 0100 u0041_0304
+403 0101 u0061_0304
+404 0104 u0041_0328
+405 0105 u0061_0328
+406 0106 'C
+407 0107 'c
+# 408 ?
+# 409 ?
+
+410 010C u0041_030C
+411 010D u0061_030C
+# 412 ?
+# 413 ?
+414 010E u0044_030C
+415 010F u0064_030C
+416 011A u0045_030C
+417 011B u0065_030C
+418 0116 u0045_0307
+419 0117 u0065_0307
+
+420 0112 u0045_0304
+421 0113 u0065_0304
+422 0118 u0045_0328
+423 0119 u0065_0328
+# 424-427 ?
+428 0122 u0047_0327
+429 0123 u0067_0327
+
+# 430 ?
+# 431 ?
+432 012E u0049_0328
+433 012F u0069_0328
+434 012A u0049_0304
+435 012B u0069_0304
+# 436 ?
+# 437 ?
+438 0136 u004B_0327
+439 0137 u006B_0327
+
+440 0139 u004C_0301
+441 013A u006C_0301
+442 013D u004C_030C
+443 013E u006C_030C
+444 013B u004C_0327
+445 013C u006C_0327
+446 0143 u004E_0301
+447 0144 u006E_0301
+448 0147 u004E_030C
+449 0148 u006E_030C
+
+450 0145 u004E_0327
+451 0146 u006E_0327
+452 0150 u004F_030B
+453 0151 u006F_030B
+454 014C u004F_0304
+455 014D u006F_0304
+456 0154 u0052_0301
+457 0155 u0072_0301
+458 0158 u0052_030C
+459 0159 u0072_030C
+
+460 0156 u0052_0327
+461 0157 u0072_0327
+462 015A u0053_0301
+463 015B u0073_0301
+# 464 ?
+# 465 ?
+466 0164 u0054_030C
+467 0165 u0074_030C
+468 0162 u0054_0327
+469 0163 u0074_0327
+
+470 0168 u0055_0303
+471 0169 u0075_0303
+# 472 ?
+# 473 ?
+474 0170 u0055_030B
+475 0171 u0075_030B
+476 016E u0055_030A
+477 016F u0075_030A
+478 016A u0055_0304
+479 016B u0075_0304
+
+480 0172 u0055_0328
+481 0173 u0075_0328
+482 0179 u005A_0301
+483 017A u007A_0301
+484 017B u005A_0307
+485 017C u007A_0307
+486 0128 u0049_0303
+487 0129 u0069_0303
+# 488 ?
+# 489 ?
+
+# 490-499 ?
+
+# 500 radical segment *
+# 501 proportional to symbol *
+# 502 lowercase italic e *
+# 503 alternate lowercase epsilon *
+# 504 therefore *
+# 505 uppercase greek gamma *
+# 506 uppercase greek delta *
+# 507 uppercase greek theta *
+# 508 uppercase greek lambda *
+# 509 uppercase greek xi *
+
+# 510 uppercase greek pi *
+# 511 uppercase greek sigma *
+# 512 uppercase greek upsilon *
+# 513 uppercase greek phi *
+# 514 uppercase greek psi *
+# 515 uppercase greek omega *
+# 516 nabla symbol *
+# 517 partial diff symbol *
+# 518 terminal sigma *
+# 519 not equal to symbol *
+
+# 520 underline, composite ?
+# 521 because *
+# 522 lowercase greek alpha *
+# 523 lowercase greek beta *
+# 524 lowercase greek gamma *
+# 525 lowercase greek delta *
+# 526 lowercase greek epsilon *
+# 527 lowercase greek zeta *
+# 528 lowercase greek eta *
+# 529 lowercase greek theta *
+
+# 530 lowercase greek iota *
+# 531 lowercase greek kappa *
+# 532 lowercase greek lambda *
+# 533 lowercase greek mu *
+# 534 lowercase greek nu *
+# 535 lowercase greek xi *
+# 536 lowercase greek omicron *
+# 537 lowercase greek pi *
+# 538 lowercase greek rho *
+# 539 lowercase greek sigma *
+
+# 540 lowercase greek tau *
+# 541 lowercase greek upsilon *
+# 542 lowercase greek phi *
+# 543 lowercase greek chi *
+# 544 lowercase greek psi *
+# 545 lowercase greek omega *
+# 546 open lowercase greek theta *
+# 547 open lowercase greek phi *
+# 548 alternate lowercase pi *
+# 549 wavy/straight approximation *
+
+# 550 not exactly equal to *
+# 551 up arrow double stroke *
+# 552 right arrow double stroke *
+# 553 down arrow double stroke *
+# 554 left arrow double stroke *
+# 555 up/down arrow double stroke *
+# 556 left/right arrow double stroke *
+# 557 right over left arrow *
+# 558 left over right arrow *
+# 559 vector symbol *
+
+# 560 overline, composite *
+# 561 for all symbol *
+# 562 there exists symbol *
+# 563 top symbol *
+# 564 bottom symbol *
+# 565 set union symbol *
+# 566 element of symbol *
+# 567 contains symbol *
+# 568 not element of symbol *
+# 569 proper subset symbol *
+
+# 570 proper superset symbol *
+# 571 not proper subset symbol *
+# 572 not proper superset symbol *
+# 573 subset symbol *
+# 574 superset symbol *
+# 575 plus in circle symbol *
+# 576 dot in circle *
+# 577 times in circle *
+# 578 minus in circle *
+# 579 slash in circle *
+
+# 580 logical and symbol *
+# 581 logical or symbol *
+# 582 exclusive or symbol *
+# 583 function composition symbol *
+# 584 large open circle *
+# 585 assertion symbol *
+# 586 backwards assertion symbol *
+# 587 integral symbol *
+# 588 curvilinear integral symbol *
+# 589 angle symbol *
+
+# 590 empty set *
+# 591 hebrew aleph *
+# 592 hebrew beth *
+# 593 hebrew gimmel *
+# 594 fractur uppercase c *
+# 595 fractur uppercase i *
+# 596 fractur uppercase r *
+# 597 fractur uppercase z *
+# 598 top left bracket *
+# 599 bottom left bracket *
+
+# 600 top left brace *
+# 601 middle left brace *
+# 602 bottom left brace *
+# 603 middle curvature integral -- no Unicode mapping!
+# 604 top left summation -- no Unicode mapping!
+# 605 double vertical line, composite *
+# 606 bottom left summation -- no Unicode mapping!
+# 607 bottom diagonal summation -- no Unicode mapping!
+# 608 top right bracket *
+# 609 bottom right bracket *
+
+# 610 top right brace *
+# 611 middle right brace *
+# 612 bottom right brace *
+# 613 thick vertical line, composite *
+# 614 thin vertical line, composite *
+# 615 bottom radical, vert *
+# 616 top right summation -- no Unicode mapping!
+# 617 middle summation -- no Unicode mapping!
+# 618 bottom right summation -- no Unicode mapping!
+# 619 top diagonal summation -- no Unicode mapping!
+
+# 620 minus over plus sign *
+# 621 left angle bracket *
+# 622 right angle bracket *
+# 623 mask symbol, superior -- no Unicode mapping!
+# 624 wavy/2 straight approximation *
+# 625 45 degrees arrow *
+# 626 -45 degrees arrow *
+# 627 -135 degrees arrow *
+# 628 135 degrees arrow *
+# 629 up open triangle *
+
+# 630 right open triangle *
+# 631 down open triangle *
+# 632 left open triangle *
+# 633 much less than sign *
+# 634 much greater than sign *
+# 635 proportional to symbol *
+# 636 defined as symbol *
+# 637 lowercase greek digamma *
+# 638 planck's constant/2 pi *
+# 639 laplace transform symbol *
+
+# 640 power set symbol ?
+# 641 weierstrassian symbol *
+# 642 summation symbol, sigma *
+# 643 left double bracket *
+# 644 middle double bracket -- no Unicode mapping!
+# 645 right double bracket *
+# 646 left top round corner *
+# 647 left bottom round corner *
+# 648 extension large union/product -- no Unicode mapping!
+# 649 bottom large union -- no Unicode mapping!
+
+# 650 top large intersection -- no Unicode mapping!
+# 651 top left double bracket -- no Unicode mapping!
+# 652 bottom left double bracket -- no Unicode mapping!
+# 653 large open box ?
+# 654 open diamond *
+# 655 right top round corner *
+# 656 right bottom round corner *
+# 657 bottom large bottom product -- no Unicode mapping!
+# 658 top large top product -- no Unicode mapping!
+# 659 top right double bracket -- no Unicode mapping!
+
+# 660 bottom right double bracket -- no Unicode mapping!
+# 661 large solid box ?
+# 662 solid diamond *
+# 663 such that *
+# 664 math asterisk sign *
+# 665 horizontal arrow extension *
+# 666 double horizontal arrow extension -- no Unicode mapping!
+# 667 complement of #617 -- no Unicode mapping!
+# 668 right angle symbol *
+# 669 product symbol *
+
+# 670-683 ?
+
+684 25CA u25CA
+
+# 684-999 ?
+
+1000 2070 u2070
+1001 2074 u2074
+1002 2075 u2075
+1003 2076 u2076
+1004 2077 u2077
+1005 2078 u2078
+1006 2079 u2079
+# 1007-1009 ?
+
+# 1010-1016 ?
+1017 201C lq
+1018 201D rq
+1019 201E Bq
+
+1020 2003 u2003
+1021 2002 u2002
+# 1022 ?
+1023 2009 u2009
+# 1024-1027 ?
+1028 2026 u2026
+# 1029 ?
+
+# 1030 uppercase ogonek -- unused
+1031 017E vz
+# 1032-1033 ?
+1034 2120 u2120
+# 1035 ?
+1036 211E u211E
+# 1037-1039 ?
+
+# older HP TrueType TFM files use Unicode value U+F001 instead
+1040 FB01 fi
+# older HP TrueType TFM files use Unicode value U+F002 instead
+1041 FB02 fl
+1042 FB00 ff
+1043 FB03 Fi
+1044 FB04 Fl
+# 1045 uppercase double acute accent -- unused
+# 1046 ?
+1047 0133 ij
+# 1048 ?
+# 1049 ?
+
+# 1050-1059 ?
+
+1060 2105 u2105
+1061 011E u0047_0306
+1062 011F u0067_0306
+1063 015E u0053_0327
+1064 015F u0073_0327
+1065 0130 u0049_0307
+# 1066 ?
+1067 201A bq
+1068 2030 %0
+1069 20AC Eu
+
+# 1070-1079 ?
+
+# 1080-1083 ?
+1084 02C9 a-
+# 1085 uppercase macron accent -- unused
+1086 02D8 ab
+# 1087 uppercase breve accent -- unused
+1088 02D9 a.
+# 1089 uppercase overdot accent -- unused
+
+1090 0153 oe
+1091 0152 OE
+1092 2039 fo
+1093 203A fc
+1094 25A1 sq
+1095 0141 /L
+1096 0142 /l
+1097 02DD a"
+1098 02DB ho
+# 1099 carriage return symbol *
+
+# 1100 registered, full, serif -- unused
+# 1101 copyright, full, serif -- unused
+# 1102 trademark, full, serif -- unused
+# 1103 registered, full, sans -- unused
+# 1104 copyright, full, sans -- unused
+# 1105 trademark, full, sans -- unused
+1106 017D vZ
+1107 0132 IJ
+# 1108 small open box *
+# 1109 small open bullet *
+
+# 1110 medium open bullet *
+# 1111 large solid bullet ?
+# 1112 visible carriage return *
+# 1113 visible tab ('arrowtab') ?
+# 1114 visible space *
+# 1115 visible soft hyphen -- unused
+# 1116 visible end-of-file ('embox')?
+# 1117 'enspacereverse' ?
+# 1118 'emspacereverse' ?
+# 1119 ?
+
+# 1120-1399 ?
+
+1400 0301 u0301
+1401 0300 u0300
+1402 0302 u0302
+1403 0308 u0308
+1404 0303 u0303
+1405 030C u030C
+1406 0306 u0306
+1407 030B u030B
+1408 030A u030A
+1409 0307 u0307
+
+1410 0304 u0304
+1411 0327 u0327
+1412 0328 u0328
+# 1413 combining uppercase acute accent -- unused
+# 1414 combining uppercase grave accent -- unused
+# 1415 combining uppercase circumflex accent -- unused
+# 1416 combining uppercase dieresis accent -- unused
+# 1417 combining uppercase tilde accent -- unused
+# 1418 combining uppercase caron accent -- unused
+# 1419 combining uppercase breve accent -- unused
+
+# 1420 combining uppercase double acute accent -- unused
+# 1421 combining uppercase ring accent -- unused
+# 1422 combining uppercase dot accent -- unused
+# 1423 combining uppercase macron accent -- unused
+# 1424 combining uppercase cedilla -- unused
+# 1425 combining uppercase ogonek -- unused
+# 1426 ?
+# 1427 uppercase middle dot -- unused (no Unicode mapping)
+# 1428 ?
+# 1429 ?
+
+# 1430-3811 ?
+
+# 3812 ornament, apple ?
+
+# EOF
diff --git a/font/devlj4/generate/wingdings.map b/font/devlj4/generate/wingdings.map
new file mode 100644
index 0000000..d868ac2
--- /dev/null
+++ b/font/devlj4/generate/wingdings.map
@@ -0,0 +1,233 @@
+# Map HP Unicode values to troff names for Wingding font.
+#
+# This font is TrueType only, so the MSL values are dummies.
+#
+# Created 16 January 2004 from data on Alan Wood's website
+# (www.alanwood.net).
+#
+# You need hpftodit from groff 1.19.1 or newer!
+
+-1 F021 u270F # Pencil
+-1 F022 u2702 # Black scissors
+-1 F023 u2701 # Upper blade scissors
+-1 F024 ---
+-1 F025 ---
+-1 F026 ---
+-1 F027 ---
+-1 F028 u260E # Black telephone
+-1 F029 u2706 # Telephone location sign
+-1 F02A u2709 # Envelope
+-1 F02B ---
+-1 F02C ---
+-1 F02D ---
+-1 F02E ---
+-1 F02F ---
+-1 F030 ---
+-1 F031 ---
+-1 F032 ---
+-1 F033 ---
+-1 F034 ---
+-1 F035 ---
+-1 F036 u231B # Hourglass
+-1 F037 u2328 # Keyboard
+-1 F038 ---
+-1 F039 ---
+-1 F03A ---
+-1 F03B ---
+-1 F03C ---
+-1 F03D ---
+-1 F03E u2707 # Tape drive
+-1 F03F u270D # Writing hand
+-1 F040 ---
+-1 F041 u270C # Victory hand
+-1 F042 ---
+-1 F043 ---
+-1 F044 ---
+-1 F045 u261C # White left pointing index
+-1 F046 u261E # White right pointing index
+-1 F047 u261D # White up pointing index
+-1 F048 u261F # White down pointing index
+-1 F049 ---
+-1 F04A u263A # White smiling face
+-1 F04B ---
+-1 F04C u2639 # White frowning face
+-1 F04D ---
+-1 F04E u2620 # Skull and crossbones
+-1 F04F ---
+-1 F050 ---
+-1 F051 u2708 # Airplane
+-1 F052 u263C # White sun with rays
+-1 F053 ---
+-1 F054 u2744 # Snowflake
+-1 F055 ---
+-1 F056 u271E # Shadowed white Latin cross
+-1 F057 ---
+-1 F058 u2720 # Maltese cross
+-1 F059 u2721 # Star of David
+-1 F05A u262A # Star and crescent
+-1 F05B u262F # Yin Yang
+-1 F05C u0950 # Devanagari Om
+-1 F05D u2638 # Wheel of Dharma
+-1 F05E u2648 # Aries
+-1 F05F u2649 # Taurus
+-1 F060 u264A # Gemini
+-1 F061 u264B # Cancer
+-1 F062 u264C # Leo
+-1 F063 u264D # Virgo
+-1 F064 u264E # Libra
+-1 F065 u264F # Scorpio
+-1 F066 u2650 # Sagittarius
+-1 F067 u2651 # Capricorn
+-1 F068 u2652 # Aquarius
+-1 F069 u2653 # Pisces
+-1 F06A u0026 # Ampersand
+-1 F06B u0026 # Ampersand
+-1 F06C u25CF # Black circle
+-1 F06D u274D # Shadowed white circle
+-1 F06E u25A0 # Black square
+-1 F06F u25A1 # White square
+-1 F070 ---
+-1 F071 u2751 # Lower right shadowed white square
+-1 F072 u2752 # Upper right shadowed white square
+-1 F073 ---
+-1 F074 u2666 # Black diamond suit
+-1 F075 u25C6 # Black diamond
+-1 F076 u2756 # Black diamond minus white X
+-1 F077 ---
+-1 F078 u2327 # X in a rectangle box
+-1 F079 u2353 # APL functional symbol quad up caret
+-1 F07A u2318 # Place of interest sign
+-1 F07B u2740 # White florette
+-1 F07C u273F # Black florette
+-1 F07D u275D # Heavy double turned comma quotation mark ornament
+-1 F07E u275E # Heavy double comma quotation mark ornament
+-1 F080 u24EA # Circled digit zero
+-1 F081 u2460 # Circled digit one
+-1 F082 u2461 # Circled digit two
+-1 F083 u2462 # Circled digit three
+-1 F084 u2463 # Circled digit four
+-1 F085 u2464 # Circled digit five
+-1 F086 u2465 # Circled digit six
+-1 F087 u2466 # Circled digit seven
+-1 F088 u2467 # Circled digit eight
+-1 F089 u2468 # Circled digit nine
+-1 F08A u2469 # Circled number ten
+-1 F08B u24FF # Negative circled digit zero
+-1 F08C u2776 # Dingbat negative circled digit one
+-1 F08D u2777 # Dingbat negative circled digit two
+-1 F08E u2778 # Dingbat negative circled digit three
+-1 F08F u2779 # Dingbat negative circled digit four
+-1 F090 u277A # Dingbat negative circled digit five
+-1 F091 u277B # Dingbat negative circled digit six
+-1 F092 u277C # Dingbat negative circled digit seven
+-1 F093 u277D # Dingbat negative circled digit eight
+-1 F094 u277E # Dingbat negative circled digit nine
+-1 F095 u277F # Dingbat negative circled number ten
+-1 F096 ---
+-1 F097 ---
+-1 F098 ---
+-1 F099 ---
+-1 F09A ---
+-1 F09B ---
+-1 F09C ---
+-1 F09D ---
+-1 F09E u00B7 # Middle dot
+-1 F09F u2022 # Bullet
+-1 F0A0 u25AA # Black small square
+-1 F0A1 u25CB # White circle
+-1 F0A2 ---
+-1 F0A3 ---
+-1 F0A4 u25C9 # Fisheye
+-1 F0A5 u25CE # Bullseye
+-1 F0A6 ---
+-1 F0A7 u25AA # Black small square
+-1 F0A8 u25FB # White medium square
+-1 F0A9 ---
+-1 F0AA u2726 # Black four pointed star
+-1 F0AB u2605 # Black star
+-1 F0AC u2736 # Six pointed black star
+-1 F0AD u2734 # Eight pointed black star
+-1 F0AE u2739 # Twelve pointed black star
+-1 F0AF u2735 # Eight pointed pinwheel star
+-1 F0B0 ---
+-1 F0B1 u2316 # Position indicator
+-1 F0B2 u2727 # White four pointed star
+-1 F0B3 u2311 # Square lozenge
+-1 F0B4 ---
+-1 F0B5 u272A # Circled white star
+-1 F0B6 u2730 # Shadowed white star
+-1 F0B7 ---
+-1 F0B8 ---
+-1 F0B9 ---
+-1 F0BA ---
+-1 F0BB ---
+-1 F0BC ---
+-1 F0BD ---
+-1 F0BE ---
+-1 F0BF ---
+-1 F0C0 ---
+-1 F0C1 ---
+-1 F0C2 ---
+-1 F0C3 ---
+-1 F0C4 ---
+-1 F0C5 ---
+-1 F0C6 ---
+-1 F0C7 ---
+-1 F0C8 ---
+-1 F0C9 ---
+-1 F0CA ---
+-1 F0CB ---
+-1 F0CC ---
+-1 F0CD ---
+-1 F0CE ---
+-1 F0CF ---
+-1 F0D0 ---
+-1 F0D1 ---
+-1 F0D2 ---
+-1 F0D3 ---
+-1 F0D4 ---
+-1 F0D5 u232B # Erase to the left
+-1 F0D6 u2326 # Erase to the right
+-1 F0D7 ---
+-1 F0D8 u27A2 # Three-D top-lighted rightwards arrowhead
+-1 F0D9 ---
+-1 F0DA ---
+-1 F0DB ---
+-1 F0DC u27B2 # Circled heavy white rightwards arrow
+-1 F0DD ---
+-1 F0DE ---
+-1 F0DF ---
+-1 F0E0 ---
+-1 F0E1 ---
+-1 F0E2 ---
+-1 F0E3 ---
+-1 F0E4 ---
+-1 F0E5 ---
+-1 F0E6 ---
+-1 F0E7 ---
+-1 F0E8 u2794 # Heavy wide-headed rightwards arrow
+-1 F0E9 ---
+-1 F0EA ---
+-1 F0EB ---
+-1 F0EC ---
+-1 F0ED ---
+-1 F0EE ---
+-1 F0EF u21E6 # Leftwards white arrow
+-1 F0F0 u21E8 # Rightwards white arrow
+-1 F0F1 u21E7 # Upwards white arrow
+-1 F0F2 u21E9 # Downwards white arrow
+-1 F0F3 u2B04 # Left right white arrow
+-1 F0F4 u21F3 # Up down white arrow
+-1 F0F5 u2B00 # North east white arrow
+-1 F0F6 u2B01 # North west white arrow
+-1 F0F7 u2B03 # South west white arrow
+-1 F0F8 u2B02 # South east white arrow
+-1 F0F9 u25AD # White rectangle
+-1 F0FA u25AB # White small square
+-1 F0FB u2717 # Ballot X
+-1 F0FC u2713 # Check mark
+-1 F0FD u2612 # Ballot box with X
+-1 F0FE u2611 # Ballot box with check
+-1 F0FF ---
+
+# EOF