262 Commits

Author SHA1 Message Date
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
Ben Harris
c87f2301bc Choose a canonical capital esszett (U+1E9E).
Everyone seems to prefer the Zehlendorfer version, so that's the one
I've chosen.  Also add a small-cap version because I can (though the
shortage of mappings for accented characters means that 'smcp' doesn't
really work in German yet).
2017-07-11 11:55:42 +01:00
Ben Harris
0c4149fb2e Add "ellipsis". 2017-07-10 01:05:04 +01:00
Ben Harris
e94db4999b Adjust t-based phonetic ligatures to better match "t".
I'd forgotten that it went up to the cap height and its crossbar was
at the x-height.
2017-07-10 00:51:27 +01:00
Ben Harris
849e61c9ce Redesign U+028E LATIN SMALL LETTER TURNED Y.
The new one is more distinct from U+0266 LATIN SMALL LETTER H WITH
HOOK, but sadly not actually an inverted 'y' any more.  6x13 does the
same, so I only feel slightly guilty.
2017-07-08 21:48:20 +01:00
Ben Harris
065de73643 Move knowledge of different widths out of main().
It's now contained in on place in bedstead.c (and in the Makefile).
2017-07-08 21:04:18 +01:00
Ben Harris
2d120df252 Standard C hasn't been ANSI C since 1989.
If I'm going to claim "for the 21st century" then I should at least
call it "ISO C".
2017-07-08 01:24:04 +01:00
Ben Harris
0d7093319a Remove "inline" from getpix().
It doesn't make any difference to the speed on my system anyway.
2017-07-08 01:02:41 +01:00
Ben Harris
7ba21188c8 In do_palt(), mask out unused data bits.
This avoids an infinite loop if one of them is inadvertently (or
advertently) set.  Why might one be set advertently?  Well, it would
allow us to replace our long lists of numbers with short strings.  For
instance, the U+0024 DOLLAR SIGN glyph is "NUTNEUN".  Sadly that would
make the program incompatible with non-ASCII systems and since I claim
ANSI C I should probably continue to support those.
2017-07-08 00:51:44 +01:00
Ben Harris
ce68065faa U+02A3 to U+02AD: Obsolete IPA ligatures and some ExtIPA. 2017-07-08 00:02:20 +01:00
Ben Harris
d58780ad1f Remove spurious small-caps L at wrong code point. 2017-07-06 21:44:15 +01:00
Ben Harris
152fe24bcd U+025D LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
It fills a gap.
2017-07-06 21:42:52 +01:00
Ben Harris
93b4ceba06 Four different versions of U+1E9E (capital esszett).
Designed following the four examples on
https://typography.guru/journal/capital-sharp-s-designs/

The Zehlendorfer form seems to be the most popular around here.
2017-07-04 23:48:09 +01:00
Ben Harris
247547bf40 Web page update for condensed fonts. 2017-07-03 00:43:22 +01:00
Ben Harris
97721e5362 Slightly nicer web page typography. 2017-07-02 18:36:54 +01:00
Ben Harris
fd5488c1a0 Half-width versions of fonts.
These are intended to be used as double-height characters.
2017-07-02 17:56:24 +01:00
Ben Harris
a90b986fd6 Scale the co-ordinate system used for drawing glyphs.
We now draw in units of half a design unit (1/2000 em), and then scale 
to normal design units when outputting paths.  This allows for the 
future possibility of producing fractional co-ordinates.
2017-07-02 17:34:52 +01:00
Ben Harris
2bd1160633 Specify more values in 'OS/2' table. 2017-07-01 01:38:03 +01:00
Ben Harris
3c7ba49360 Change font size of heading to 100px.
Bedstead works best at pixel sizes of the form 20+40n, where n is an 
integer.
2017-06-30 10:37:57 +01:00
Ben Harris
b7bf367fa5 Redraw U+0263: IPA Gamma
The new one is rather less ugly.
2017-06-30 09:14:03 +01:00