chiark / gitweb /
Ben Harris [Mon, 25 May 2020 08:24:10 +0000 (09:24 +0100)]
Tolerable APL quad jot and del tilde
That completes the IBM APL2 character set.
Ben Harris [Fri, 22 May 2020 22:05:18 +0000 (23:05 +0100)]
Add "install-local" rule to Makefile
It installs into $HOME/.fonts, which is useful to me at least.
Ben Harris [Fri, 22 May 2020 22:05:04 +0000 (23:05 +0100)]
Remove spurious blank line
Ben Harris [Sat, 16 May 2020 18:29:31 +0000 (19:29 +0100)]
A pile of extra symbols
Ben Harris [Sat, 16 May 2020 13:24:06 +0000 (14:24 +0100)]
Minor APL polishing
Ben Harris [Sat, 16 May 2020 11:21:50 +0000 (12:21 +0100)]
Fix the APL Greek letters, which were a mess
Ben Harris [Sat, 16 May 2020 00:55:57 +0000 (01:55 +0100)]
A few extra characters from the GNU APL atomic vector
Ben Harris [Fri, 15 May 2020 08:32:42 +0000 (09:32 +0100)]
Fix a couple of Unicode values for APL
Ben Harris [Thu, 14 May 2020 22:24:47 +0000 (23:24 +0100)]
Reasonably complete attempt at an APL character set
Ben Harris [Sun, 26 Apr 2020 14:27:28 +0000 (15:27 +0100)]
A few other musical symbols that happen to be feasible
My segno is missing the conventional dots, though.
Ben Harris [Sun, 26 Apr 2020 14:16:36 +0000 (15:16 +0100)]
Double flat sign
Slight creativity required, but I think it works.
Ben Harris [Sun, 26 Apr 2020 14:09:56 +0000 (15:09 +0100)]
An assortment of nice obvious musical symbols
Mostly bar lines and staves.
Ben Harris [Sun, 26 Apr 2020 11:34:46 +0000 (12:34 +0100)]
Add a few musical symbols
I thought repeat marks might be useful, and ended up doing a few others.
The repeat marks and clefs are based on the assumption that a five-line
stave fills the character cell and that you're using the clefs in their
most common position.
Ben Harris [Sun, 26 Apr 2020 11:34:25 +0000 (12:34 +0100)]
Add a NOTE about Microsoft's font design guidelines
Ben Harris [Thu, 2 Apr 2020 09:01:51 +0000 (10:01 +0100)]
Make 'aalt' the first lookup in the font
The OpenType spec says it should be so.
Ben Harris [Thu, 2 Apr 2020 08:59:07 +0000 (09:59 +0100)]
A few more small-cap fragments
Ben Harris [Mon, 30 Mar 2020 20:02:54 +0000 (21:02 +0100)]
Don't emit name ID 16 without 17
The OpenType spec isn't entirely confident here, but it seems to think
that name ID 16 is unnecessary if it's identical to 1, and it makes
sense to me that 16/17 should go together as a pair just like 1/2 do.
Ben Harris [Mon, 30 Mar 2020 19:26:29 +0000 (20:26 +0100)]
Actually generate the 'ss14' substitutions
Without then, the feature doesn't work, and more surprisingly
FontForge puts the description of the feature into string ID 0, which
is meant to be the copyright notice.
Ben Harris [Sun, 29 Mar 2020 23:31:28 +0000 (00:31 +0100)]
Link to release notes from Web page
Ben Harris [Sun, 29 Mar 2020 21:25:20 +0000 (22:25 +0100)]
Update version to 002.001
Ben Harris [Sun, 29 Mar 2020 15:11:21 +0000 (16:11 +0100)]
Slightly enlarge font sample images to get better grid-fitting
40 pixels is a bad size; 50 pixels is a slightly better one.
Ben Harris [Sun, 29 Mar 2020 15:10:36 +0000 (16:10 +0100)]
Moderate tidyings-up of the Web page
It's not nice, but it's not horrifying any more either.
Ben Harris [Sun, 29 Mar 2020 11:21:50 +0000 (12:21 +0100)]
First attempt at translating sample images into HTML
On browsers that support Web fonts, it seems silly to still be using
images for displaying font samples. So I've tried to translate the
samples into HTML. The result is a bit of a mess, but it roughly works.
The images are still there, and the stylesheet tries to arrange that
they get used where appropriate, and that speech synthesizers don't try
to read the samples.
Ben Harris [Sun, 29 Mar 2020 00:33:48 +0000 (00:33 +0000)]
Add a sample of separated graphics to the Web page
Ben Harris [Sat, 28 Mar 2020 22:47:57 +0000 (22:47 +0000)]
Make the 'aalt' lookup work properly
Emitting a separate "AlternateSubs2" line for each target doesn't work
properly, so we make a second pass over the alternates for the current
glyph, constructing a single "AlternateSubs2" line afer doing all the
"Substitution2"s.
Ben Harris [Sat, 28 Mar 2020 22:13:41 +0000 (22:13 +0000)]
Rationalise mosaic graphics implementation
The "separated graphics" flag is now in the "flags" field, rather than
in the character data, and the bits specifying which cells are painted
are now contiguous. Also the MOS flag is now called MOS6, to go with
MOS4. This makes the specification of the ZVBI code points more
complex, but cleans up the Unicode ones, which I think is appropriate.
On the way, I found that 'palt' was being applied to 4-cell mosaic
graphics and fixed that.
Ben Harris [Sat, 28 Mar 2020 21:35:01 +0000 (21:35 +0000)]
Add support for separated 4-cell mosaic graphics
The shapes of the 4-cell mosaic graphics are based on an alternative
history in which Teletext adopted 4-cell graphics. It's obviously
reasonable that such a world would still have separated graphics, so
let's have them.
This makes me thing that the method I've used for flagging separated
graphics is silly, but that's a story for another commit.
Ben Harris [Sat, 28 Mar 2020 21:03:37 +0000 (21:03 +0000)]
Implement separated graphics as feature 'ss16'
While Unicode 13 added code points for 6-cell mosaic graphics, it
didn't specify any way to select separated vs contiguous graphics.
This differs fron ZVBI, which used differect code points for separated
and contiguous glyphs. This means that separated graphics must be a
matter of style, which is consistent with the way that they're
selected by a control character in Teletext.
In OpenType, implement this as a stylistic set, 'ss16', that replaces
the contiguous glyphs with their separated counterparts. I'm
reserving 'ss14' for the 4-cell equivalent.
Ben Harris [Sat, 28 Mar 2020 20:15:04 +0000 (20:15 +0000)]
Put Latin small caps at their proper Unicode code points
There are Unicode code points for most Latin small capital letters, so
we may as well make our existing designs for them available under those
code points. The glyphs generated by the 'smcp' and 'c2sc' lookups are
now aliases for the canonical Unicode versions.
Ben Harris [Sat, 28 Mar 2020 17:36:20 +0000 (17:36 +0000)]
Use aliases to connect small cap glyphs to their Unicode equivalents
Ben Harris [Sat, 28 Mar 2020 17:00:41 +0000 (17:00 +0000)]
Remove a stray space
Ben Harris [Sat, 28 Mar 2020 17:00:14 +0000 (17:00 +0000)]
Make the 'c2sc' feature work like others
Now that we can have aliases, we can arrange that 'smcp' applied to
"a", and 'c2sc' applied to "A" give differently-named glyphs that have
the same appearance. This means that something attempting to generate
Unicode from PostScript will be able to properly distinguish them. It
also means that the SC flag can be removed and we can stop making
assumptions about case-mapping of glyph names.
Ben Harris [Sat, 28 Mar 2020 16:53:38 +0000 (16:53 +0000)]
Add a mechanism for making aliases of glyphs
This is done by making the new glyph contain only a reference to the
old one. While it's possible to have multiple Unicode code points
reference the same glyph, that's rarely what you want because it's
useful to be able to map back from a glyph name to a code point, and
obviously that requires that the glyph have different names when
accessed through different code points.
Ben Harris [Sat, 28 Mar 2020 16:19:54 +0000 (16:19 +0000)]
Use 4-cell mosaic graphics to render block, lfblock, and rtblock
The results are the same, but since their Unicode code points are with
the other 4-cell characters, the source code it more intelligible.
Ben Harris [Sat, 28 Mar 2020 16:03:12 +0000 (16:03 +0000)]
Remove a few unused declarations spotted by GCC
Ben Harris [Sat, 28 Mar 2020 15:59:27 +0000 (15:59 +0000)]
Move generation of uniXXXX names from runtime to compile time
It was getting complicated to ensure that everywhere that needed a
glyph name correctly generated them: simpler to have the preprocessor
generate them once.
Ben Harris [Sat, 28 Mar 2020 12:37:14 +0000 (12:37 +0000)]
More efficient (but hacky) searching for glyphs by name
Now rather than linearly searching the list of glyphs, dolookup() can
do a binary search on a list of glyph names. This is faster, but the
code is currently very ugly.
Ben Harris [Sat, 28 Mar 2020 10:48:34 +0000 (10:48 +0000)]
Switch encoding from UnicodeBmp to UnicodeFull
This should have no effect on the OTF output, but it ensures that all
characters are properly encoded in BDF. It also corrects a technical
invalidity in our SFD files.
Ben Harris [Sat, 28 Mar 2020 10:17:31 +0000 (10:17 +0000)]
Remove the SC flag from D.saa5052 and L.saa5052
It didn't work properly anyway.
Ben Harris [Sat, 28 Mar 2020 10:05:35 +0000 (10:05 +0000)]
Make the 'smcp' lookup work like the stylistic sets
The SC flag is no longer applied to lower-case letters. Instead,
dolookups() automatically searches for suitably-names glyphs.
Ben Harris [Sun, 22 Mar 2020 12:59:51 +0000 (12:59 +0000)]
Switch to using text for the Web page title
A typical Web browser support Web Fonts these days, so there's no need
to use an image for the purpose. The other images remain for now since
they're not really representing text.
Ben Harris [Sun, 22 Mar 2020 12:42:46 +0000 (12:42 +0000)]
More NOTES on bitmap font sizes
Ben Harris [Sun, 22 Mar 2020 12:42:04 +0000 (12:42 +0000)]
Add a gratuitous example of mosaic graphics to the Web page
Ben Harris [Sun, 22 Mar 2020 10:21:33 +0000 (10:21 +0000)]
Parameterize extended sample by pixel size too
Ben Harris [Sun, 22 Mar 2020 10:16:02 +0000 (10:16 +0000)]
Move sample image down by one (output) pixel
Having a 3px margin at the top and a 5px margin at the bottom was silly.
Ben Harris [Sun, 22 Mar 2020 10:15:03 +0000 (10:15 +0000)]
Parameterize sample.ps by the font size
I want to change the font size and I don't want to change a lot of
numbers.
Ben Harris [Sun, 22 Mar 2020 00:26:27 +0000 (00:26 +0000)]
NOTES on good bitmap sizes. Conclusion: 20, 60, and 100 are good.
Ben Harris [Sat, 21 Mar 2020 22:10:39 +0000 (22:10 +0000)]
Remove outdated mosaic graphics information from NOTES
Ben Harris [Sat, 21 Mar 2020 22:04:41 +0000 (22:04 +0000)]
Update description of mosaic graphics on Web page.
Ben Harris [Sun, 1 Mar 2020 12:28:05 +0000 (12:28 +0000)]
Add Cyrillic ie grave and dze (U+0400, U+0405, U+0450, U+0455)
They're identical to Latin "e" grave and "s".
Ben Harris [Sun, 1 Mar 2020 12:12:26 +0000 (12:12 +0000)]
Add the Greek letter yot (U+037F, U+03F3)
As far as I can see it's visually identical to the Latin 'j'.
Ben Harris [Sun, 1 Mar 2020 11:48:16 +0000 (11:48 +0000)]
Fix a missing space in a comment
Ben Harris [Sun, 1 Mar 2020 11:38:58 +0000 (11:38 +0000)]
Add Greek spacing accents, U+0384 and U+0385
Ben Harris [Sat, 14 Dec 2019 14:59:17 +0000 (14:59 +0000)]
Add dotless j
Ben Harris [Sat, 14 Dec 2019 14:55:56 +0000 (14:55 +0000)]
A few extra glyphs with macrons.
Ben Harris [Sat, 14 Dec 2019 14:18:10 +0000 (14:18 +0000)]
All the remaining precomposed latin letters with diaeresis
Ben Harris [Sat, 14 Dec 2019 00:44:09 +0000 (00:44 +0000)]
Add A / a with dot below
Somehowo I missed these in the last batch.
Ben Harris [Fri, 13 Dec 2019 18:39:45 +0000 (18:39 +0000)]
Add glyphs for a bunch of letters with dots below.
I discovered that Ubuntu has keyboard sequences for these, and they're
easy to draw.
Ben Harris [Fri, 13 Dec 2019 18:37:52 +0000 (18:37 +0000)]
Don't auto-hint mosaic graphics characters.
Suggested by Jason A.
Ben Harris [Sat, 2 Feb 2019 19:39:39 +0000 (19:39 +0000)]
Web site colours: swap :link and :visited.
It's conventional for :visited to be the darker shade.
Ben Harris [Sat, 2 Feb 2019 19:20:11 +0000 (19:20 +0000)]
Adjust Web page colours to better match my actual monitor.
Ben Harris [Thu, 31 Jan 2019 00:38:00 +0000 (00:38 +0000)]
Reduce horizontal scrolling in Web page.
Playing with Firefox's "Responsive Design Mode" made it clear to me
that Bedstead's Web page was not very mobile-friendly, especially in
the way that the title runs off the end of a reasonable-sized vertical
screen. A simple CSS rule requests downscaling of images to the width
of the screen, which helps a lot.
Ben Harris [Thu, 31 Jan 2019 00:32:21 +0000 (00:32 +0000)]
Switch Bedstead Web page to dark-on-light.
I recently saw Bedstead featured on a collection of programming fonts
and noticed that it was much prettier there than on its own Web page.
That's clearly wrong, and I think displaying it in a light colour on a
dark background (and with less than maximum contrast) helped. The new
colours are based on my memory of the old Philips green-screen monitor
currently connected to my Beeb (because I'm too lazy to get out of bed
and check it).
Ben Harris [Sun, 20 Jan 2019 11:10:24 +0000 (11:10 +0000)]
Add 4-cell mosaic graphics.
These follow the same approach as 6-cell graphics: the smoothing
algorithm is disabled and there's no margin between character cells.
This is necessary to ensure that "upblock" and "dnblock" harmonise
with "lfblock" and "rtblock", the latter two being unified with 6-cell
graphics and the former not.
I've filled in the rest of the 4-cell characters on the basis that an
alternate history in which Teletext used 4-cell rather than 6-cell
graphics is perfectly plausible and Bedstead may as well support it.
Ben Harris [Sun, 20 Jan 2019 00:54:32 +0000 (00:54 +0000)]
Put mosaic graphics in their new home.
That's the U+1FB00 block. Annoyingly, no gaps are left for the
characters unified elsewhere, so the character codes are slightly
unsystematic.
Ben Harris [Sun, 20 Jan 2019 00:26:49 +0000 (00:26 +0000)]
Convert "block", "lfblock" and "rtblock" to mosaic graphics.
In Unicode, these will be unified with 6-cell mosaic graphics, so we
need to use the mosaic graphics system for them.
Ben Harris [Sat, 19 Jan 2019 01:45:54 +0000 (01:45 +0000)]
A few interesting characters from U+1FBxx.
That's the forthcoming "Graphics for Legacy Computing" block that will
finally have an official encoding of teletext mosaic graphics.
Ben Harris [Fri, 26 Oct 2018 11:42:40 +0000 (12:42 +0100)]
Add Cyrillic letters necessary for Serbian.
That's dje, je, lje, nje, tshe, and dzhe. Because I got an email from
Serbian Wikipedia.
Ben Harris [Sat, 28 Apr 2018 16:22:54 +0000 (17:22 +0100)]
Add heading for 002.000 in NEWS file.
Ben Harris [Wed, 25 Apr 2018 21:34:14 +0000 (22:34 +0100)]
Update version number in HTML as well.
Ben Harris [Wed, 25 Apr 2018 21:21:54 +0000 (22:21 +0100)]
Add NEWS to distfiles.
Ben Harris [Wed, 25 Apr 2018 21:18:05 +0000 (22:18 +0100)]
Bump version number to 002.000.
I can't think of anything else I need to do for it.
Ben Harris [Wed, 25 Apr 2018 21:12:28 +0000 (22:12 +0100)]
Add a NEWS file.
Now that we have incompatible changes, I want somewhere to document them.
Ben Harris [Wed, 25 Apr 2018 21:11:58 +0000 (22:11 +0100)]
Remove mention of stroked fonts from Web page.
I'm not quite confident enough in them yet.
Ben Harris [Sun, 22 Apr 2018 19:12:07 +0000 (20:12 +0100)]
Update media type for OpenType fonts.
application/font-sfnt has been deprecated in favour of, among others,
font/otf.
Ben Harris [Sun, 22 Apr 2018 18:59:24 +0000 (19:59 +0100)]
Extract @font-face rules into their own CSS file.
This seems sensible, since the @font-face rules should be grneric to all
uses of Bedstead in CSS.
Ben Harris [Mon, 9 Apr 2018 21:27:24 +0000 (22:27 +0100)]
Make any rule that uses Ghostscript depend on the Fontmap.
Ben Harris [Mon, 9 Apr 2018 21:14:52 +0000 (22:14 +0100)]
Correctly remove bedstead-complement.ps when making clean.
I forgot to update the rule for the new filename.
Ben Harris [Mon, 9 Apr 2018 21:14:10 +0000 (22:14 +0100)]
Remove everything relating to PFA and AFM files.
Nothing in the build system uses them now, and I'd already stopped
distributing them.
Ben Harris [Mon, 9 Apr 2018 21:12:09 +0000 (22:12 +0100)]
Don't include SFD files in distribution.
They're not really finished products. Also I don't think I should
encourage people to load random SFDs since FontForge will apparently
happily execute Python code it finds in them.
Ben Harris [Mon, 9 Apr 2018 21:01:43 +0000 (22:01 +0100)]
Mention glyph complement on Web page.
Ben Harris [Mon, 9 Apr 2018 20:48:51 +0000 (21:48 +0100)]
Rename glyph complement PDF and add it to the distribution.
"bedstead" now appears in the name.
Ben Harris [Fri, 6 Apr 2018 23:13:52 +0000 (00:13 +0100)]
Slight change to U+241B SYMBOL FOR ESCAPE.
The "C" is now more obviously a "C" and not a "(".
Ben Harris [Fri, 6 Apr 2018 22:51:56 +0000 (23:51 +0100)]
Rationalise widths of Bedstead variants.
They are all now sensible fractions of the standard width.
Extra Condensed has changed from 62/100 to 5/8.
Condensed has changed from 76/100 to 3/4.
Semi Condensed has changed from 88/100 to 7/8.
Extended has changed from 124/100 to 5/4.
This makes rather a lot of dimensions non-integer, but the only
significant ones are the "palt" width adjustments, and I think that's
an acceptable tradeoff for making the standard widths more sensible.
Ben Harris [Fri, 6 Apr 2018 22:26:33 +0000 (23:26 +0100)]
Turn XPIX into a double.
Ben Harris [Fri, 6 Apr 2018 22:20:34 +0000 (23:20 +0100)]
Convert a bunch of printfs to %g.
Along with casting arguments to (double), obviously.
Ben Harris [Fri, 6 Apr 2018 22:07:28 +0000 (23:07 +0100)]
When printfing dimensions, cast them to the right type first.
That way, if floating-point numbers turn up, they won't get
interpreted as ints and cause a horrid mess.
Ben Harris [Wed, 4 Apr 2018 21:17:06 +0000 (22:17 +0100)]
Mention stroked fonts on Web page (with a sample).
Ben Harris [Wed, 4 Apr 2018 21:16:01 +0000 (22:16 +0100)]
Move .notdef to the end of the list with the other unencoded glyphs.
Ben Harris [Wed, 4 Apr 2018 21:15:27 +0000 (22:15 +0100)]
Consistently put a blank line before each Unicode block heading.
Ben Harris [Wed, 4 Apr 2018 21:14:52 +0000 (22:14 +0100)]
Move Shavian alphabet to its proper position in code-point order.
Ben Harris [Wed, 4 Apr 2018 21:14:31 +0000 (22:14 +0100)]
Add Marnanel Thurman to list of authors and update dates.
Marnanel Thurman [Wed, 4 Apr 2018 21:10:47 +0000 (22:10 +0100)]
Add the Shavian alphabet to Bedstead.
Ben Harris [Mon, 2 Apr 2018 23:57:56 +0000 (00:57 +0100)]
A few more forms of transport.
Inspired by seeing U+1F69A DELIVERY TRUCK in the subject line of an
email, here's a glyph for that and also U+1F680 ROCKET and U+1F682
STEAM LOCOMOTIVE.
Ben Harris [Mon, 2 Apr 2018 21:12:18 +0000 (22:12 +0100)]
Another Unicode sorting fix.
Ben Harris [Mon, 2 Apr 2018 12:17:23 +0000 (13:17 +0100)]
Minor fix to Unicode sorting.
Ben Harris [Mon, 2 Apr 2018 07:21:35 +0000 (08:21 +0100)]
Move stroke on dotless j with stroke glyphs down by one pixel.
This makes them match the lower-case "f" of which these characters
were originally turned versions, and also makes U+0284 LATIN SMALL
LETTER DOTLESS J WITH STROKE AND HOOK more visually distinct from
U+0192 LATIN SMALL LETTER F WITH HOOK.
Ben Harris [Tue, 13 Mar 2018 18:50:52 +0000 (18:50 +0000)]
Add stroked fonts to GhostScript FontMap.
Ben Harris [Thu, 8 Mar 2018 22:33:36 +0000 (22:33 +0000)]
Minimally-functional code for expanding dots.
It takes a little bit of effort to avoid segfaulting FontForge, and so
currently Bedstead Plotter Thin has dots in the middle of its dots.
These probably shouldn't stay.
Ben Harris [Tue, 6 Mar 2018 21:39:47 +0000 (21:39 +0000)]
strokefont: Slightly clean up chiseltip invocation