281 Commits

Author SHA1 Message Date
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
Ben Harris
563205261f Another assertion. 2017-07-17 23:23:44 +01:00
Ben Harris
537479b728 Start path simplification for skeleton font.
This finds places where multiple segments can be replaced by a single
straight line and so replaces them.
2017-07-17 23:22:38 +01:00
Ben Harris
66885289f0 Very rough code for a single-line skeleton font.
This uses a different dochar() function which currently emits a lot of
little path fragments in roughly the right places.
2017-07-17 21:19:03 +01:00
Ben Harris
f7213d3cad Version 001.003 bedstead-001.003 2017-07-16 22:11:31 +01:00
Ben Harris
890353e2b5 New, less ugly, U+01AB. 2017-07-16 18:26:07 +01:00
Ben Harris
3d60995485 New "oslash" glyph.
Prettier and doesn't include solid blocks of pixels that will work
badly in a single-line version of Bedstead.
2017-07-16 17:09:20 +01:00
Ben Harris
9c668ca835 Fix typo in U+025D. 2017-07-16 16:58:21 +01:00
Ben Harris
4e49e40715 Correct alt text for extended.png. 2017-07-16 14:58:25 +01:00
Ben Harris
98aea4b098 Remove sample of mosaic graphics.
I don't think I can depend on browser font support just yet.
2017-07-16 14:57:39 +01:00
Ben Harris
0c31e0ef86 Set list-style-type in CSS.
It was obviously wrong that the <ul> on the Bedstead Web page had 
circular bullets.  The current CSS Lists and Counters working draft, 
<http://www.w3.org/TR/2014/WD-css-lists-3-20140320/>, allows for setting 
the bullet to a string, and Firefox 54 supports this, so use it in the 
CSS for Bedstead's Web page.
2017-07-15 23:25:36 +01:00
Ben Harris
6062313421 Comprehensive rework of widths. Now there are six.
The names of the widths now track those in the OpenType 'OS/2' table, so 
the former condensed and semicondensed are now ultra-condensed and 
extra-condensed, and there are new condensed and semi-condensed widths 
to fill the gaps.  Also, the fonts are named more consistently with 
Adobe's practice: "Bedstead Semi Condensed" and so forth.

The new Bedstead Condensed makes a pretty decent terminal font, which is 
a nice side-effect.
2017-07-15 23:22:14 +01:00
Ben Harris
9b03056b18 Adjust U+02AC and U+02AD, bilabial and bidental percussive.
I've reduced the size of the bidental percussive in general since it
seems to be based on the dental diacritic.  Having done that, it fits
in the x-height, which is sensible since IPA is generally lower-case,
and then it seems sensible to make the bilabial percussive fit in the
x-height too.
2017-07-11 13:50:16 +01:00