293 Commits

Author SHA1 Message Date
Ben Harris
bfd3fbdbf7 Quick note on patent describing character rounding technique. 2017-08-08 22:12:59 +01:00
Ben Harris
9a7866ad1b Additional characters for Polish.
Thanks to <http://www.twardoch.com/download/polishhowto/> for
guidance.  All misinterpretations are my own.  One character is
missing because I still don't have a good way to do an accented
capital S.
2017-08-08 01:33:16 +01:00
Ben Harris
a9d3d9660a Remove explicit mention of Dwarf Fortress files from "all" target.
They're pulled in by $(DISTFILES) anyway.
2017-08-08 00:55:54 +01:00
Ben Harris
1abfbc4307 Don't generate BDF for non-default fonts.
The other widths will generate terrible bitmaps, so just don't bother.
2017-08-08 00:37:06 +01:00
Ben Harris
8cb534f2f0 Don't generate PFA and AFM files by default, and don't ship them.
They were only built because I didn't know how to make Ghostscript 
use OTF files directly.  Now that I do, there's no need to keep 
them, so dropping them for 002.000 makes sense.
2017-08-08 00:29:47 +01:00
Ben Harris
e3711118a2 Better TTF name generation.
Now more-correctly generate family/subfamily names, both the versions
for programs that can't handle much variety (IDs 1 and 2), and the
proper typographic ones (IDs 16 and 17).  This should stop "Medium"
turning up in my font selector.
2017-08-07 23:37:17 +01:00
Ben Harris
d3a6dc5ebe Quick notes on stroking with FontForge. 2017-08-07 01:50:47 +01:00
Ben Harris
beda7a12f3 Fix FontForge Makefile rules to work properly.
When generating secondary targets, they still need to pass the name of
the primary target to FontForge.
2017-08-06 23:12:09 +01:00
Ben Harris
dd7d33d90d Add *.afm to the list of things cleaned by "make clean". 2017-08-06 22:59:48 +01:00
Ben Harris
d6b14dd2ee Remove alternate arrows.
While pretty, they were inauthentic and awkward to use.  This also
removes the 'salt' lookup, which was inappropriate anyway.
2017-08-06 21:33:11 +01:00
Ben Harris
be6345ccad Add default suffices to ss* lookups.
They aren't used as yet, but maybe a bit of extra FontForge scripting
will enable me to avoid searching for glyphs myself.
2017-08-06 21:28:26 +01:00
Ben Harris
7f6d1b8abc Add explicit BlueValues, OtherBlues, and BlueFuzz.
BlueValues gains the upper edge of symbols and Hebrew letters.
OtherBlues gains the bottom edge of symbols.  BlueFuzz is set to zero
because it's unnecessary (and this is recommended by the Type 1 spec).
2017-08-06 18:28:03 +01:00
Ben Harris
5e29327447 Add an assortment of punctuation from the U+2000 block. 2017-08-06 15:12:19 +01:00
Ben Harris
a3ab3b0485 Glyph for U+2010 HYPHEN. Also non-breaking hyphen and NBSB.
All glyphs we had already, but under new names.
2017-08-06 13:20:26 +01:00
Ben Harris
8d25cf8256 Daggers, being another embarrassing omission from StandardEncoding. 2017-08-06 13:06:12 +01:00
Ben Harris
af159282c8 Glyphs for some of the pictorial control characters in ECMA-17.
Some were already present.  Some are difficult.
2017-08-06 12:57:19 +01:00
Ben Harris
86f292d938 Redesign alphanumeric control pictures.
They now fill the character cell, which makes them consistent with
fractions.
2017-08-06 11:05:49 +01:00
Ben Harris
7b9260e73c Fill in graphics for the rest of the C0 controls.
The two-character mnemonics were specified in ECMA-17 (November 1968).
2017-08-06 00:44:18 +01:00
Ben Harris
d5284c5fad Change design of Greek tonos over lower-case letters to a dot.
This matches ETS 300 706: May 1997, and also the photos of actual 
Greek teletext at <https://www.cambus.net/teletext-in-greece/>.
2017-08-05 23:52:49 +01:00
Ben Harris
818cf14946 Add "longs" (U+017F) glyph.
Based on "f" with the crossbar removed.
2017-08-05 23:07:09 +01:00
Ben Harris
ba00715ec9 Visible space character.
It seems like the sort of thing a monospaced font should have.
2017-08-05 17:10:03 +01:00
Ben Harris
0f05db334b Accented Greek lower-case.
Currently, the tonos used for these looks much like an acute accent.  
ETS 300 706 shows a dot-shaped tonos instead, so maybe I should change 
to that.
2017-08-05 17:04:11 +01:00
Ben Harris
cb937ab02c Accented Greek capitals.
Ones with tonos put the accent to the left of the letter rather than
above it, which makes for a rather squashed Omega.  In real teletext,
the tonos is put in the character cell to the left, but I don't know
if that can be coded in Unicode properly.  Maybe I need a silly
multiple substitution for a space followed by an capital with tonos.
2017-08-05 15:47:58 +01:00
Ben Harris
e40c1419a3 Mechanisms to get metadata right for different weights of font.
bedstead.c can now generate Bedstead Book (and all other widths at
that weight).
2017-08-01 23:27:22 +01:00
Ben Harris
805dfe5437 Fix a stray global-scope variable. 2017-08-01 18:25:32 +01:00
Ben Harris
7a06191a8f Shuffle scaling around so we always work on 100×100 pixels.
Width variations are not catered for by scaling on output.
2017-08-01 18:11:51 +01:00
Ben Harris
530a41fab6 Add row and column headings to glyph complement. 2017-07-31 23:48:00 +01:00
Ben Harris
0153fbc059 Lay complement out more in keeping with Unicode values.
Now each column represents one column in the Unicode code charts, with
entirely empty columns suppressed.  Unencoded characters are packed in
at the end.
2017-07-31 23:22:48 +01:00
Ben Harris
b7333078b7 Remove a spurious "0 0 moveto" from glyph complement PS. 2017-07-31 22:48:50 +01:00
Ben Harris
fba832ba73 Use pd2pdf in place of gs -sDEVICE=pdfwrite.
This is simpler and means that .setpdfwrite gets called automatically.
2017-07-31 22:39:43 +01:00
Ben Harris
8371e8afb8 Turn off font subsetting when generating glyph complement.
After all, we do rather need the full font.  Admittedly, we don't need
the 14 copies tht Ghostscript 9.18 puts in, but this still somehow
makes the file smaller.
2017-07-31 22:26:40 +01:00
Ben Harris
dfcf8b3207 Put minimal DSC comments into glyph complement PostScript. 2017-07-31 21:35:32 +01:00
Ben Harris
bbcf177b4b Add single angle quotation marks.
Another easy bit of AdobeStandardEncoding that we're missing.
2017-07-31 20:43:50 +01:00
Ben Harris
8165e251a6 Correct name of ordfeminine. 2017-07-31 20:30:07 +01:00
Ben Harris
2d9f36f311 Add a few missing accents from AdobeStandardEncoding.
Specifically, circumflex (U+02C6), caron (U+02C7), and tilde (U+0x2DC).
2017-07-31 20:28:41 +01:00
Ben Harris
3dec694bd2 Feed OTF fonts to GhostScript via Fontmap rather than PFA on command-line.
This should make it practical to provide metadata in comments for (e.g.) 
PDF generation.
2017-07-31 19:27:14 +01:00
Ben Harris
df0d4ee768 Generate PostScript FontName programmatically from FullName.
This has th unfortunate effect of changing the FontName of Bedstead
Semi Condensed from Bedstead-Semicondensed to Bedstead-SemiCondensed.
The former name was an error.
2017-07-31 17:02:08 +01:00
Ben Harris
820ea3a7dc Replace "param" in variable etc names with "width".
I think I'll want to vary different design parameters independently,
and I don't want to have to maintain the full cross product by hand.
2017-07-31 16:49:05 +01:00
Ben Harris
034e78153b Don't list "bedstead" as a prereq for "make dist".
The recipe doesn't use it.
2017-07-31 16:34:22 +01:00
Ben Harris
c5ebead2cd Use the correct option to get a glyph complement.
It didn't matter before because bedstead.c would almost always produce
a glyph complement.
2017-07-31 16:29:45 +01:00
Ben Harris
d67fd2c692 No more global-scoped functions or variables.
Apart from main(), of course.  Everything else is now file-scoped at
most.  This is more consistent, and might allow for more
optimisations (if I ever used -O).
2017-07-31 16:21:57 +01:00
Ben Harris
00193c98de Make nglyphs and nparams global.
nglyphs was used in two functions, and there seems no reason to
localise these.
2017-07-31 16:18:06 +01:00
Ben Harris
2df412e093 Fix a stupid strcmp error in glyph-complement option processing. 2017-07-31 16:16:48 +01:00
Ben Harris
a9221006c2 Sort glyph complement by Unicode code point. 2017-07-26 00:17:57 +01:00
Ben Harris
78ccce6504 Add mechanisms (as yet unused) for varying Bedstead's weight.
There are rather tight limits to the weights it can achieve, though.
2017-07-25 23:36:10 +01:00
Ben Harris
02c7c14618 Further improvements to the glyph complement PDF.
Now has multiple pages and draws character cell.
2017-07-23 00:24:38 +01:00
Ben Harris
2e8a4e90c9 Beginnings of mechanisms for generating a glyph complement PDF. 2017-07-22 21:44:12 +01:00
Ben Harris
0ad411932d Make U+00A8 "dieresis" consistent with other diereses. 2017-07-19 22:14:49 +01:00
Ben Harris
3835a128b2 Gratuitous Cyrillic letters.
Now I think we have everything needed for Russian, Ukrainian,
Belarusian, and Bulgarian.
2017-07-19 21:46:47 +01:00
Ben Harris
c56e10dc09 Further cleanup of skeleton paths.
The cleanup itself is good, but emit_paths() will need enhancement.
At the moment, it assumes that all paths are closed, so it doesn't
matter where on a path it starts emitting it.  With an open path,
though, it's important to emit it starting at one end, so there will
have to be a mechanism for distinguishing open from closed paths and
behaving accordingly.
2017-07-18 00:14:20 +01:00