chiark / gitweb /
bedstead.git
5 months agoA few additions, mostly to fill out Teletext character sets
Neil Williamson [Mon, 25 Nov 2024 00:14:52 +0000 (00:14 +0000)]
A few additions, mostly to fill out Teletext character sets

[ from email ]

2. Regular unicode characters: a few additions, mostly to fill out
compatibility with Teletext character set ranges that were otherwise
almost-complete (which is basically everything except Arabic at this point)
per this reference page: https://al.zerostem.io/~al/ttcharset/[al.zerostem.io]  
Some of the cyrillic additions are a bit dubious, but hopefully close enough
to pass.

6 months agoUpdate version to 002.009 bedstead-002.009
Ben Harris [Sat, 19 Oct 2024 20:02:11 +0000 (21:02 +0100)]
Update version to 002.009

This release is just to give the Debian build a more sensible base to
work from.

6 months agoState default author/licence in HACKING
Ben Harris [Sun, 13 Oct 2024 15:09:28 +0000 (16:09 +0100)]
State default author/licence in HACKING

Now that all the files are either mine or have other explicitly stated
authorship.

6 months agoUpdate HACKING document for editor changes
Ben Harris [Sun, 13 Oct 2024 14:06:41 +0000 (15:06 +0100)]
Update HACKING document for editor changes

6 months agoeditor: miscellaneous source cleanups.
Simon Tatham [Sun, 13 Oct 2024 10:05:01 +0000 (11:05 +0100)]
editor: miscellaneous source cleanups.

Apparently I didn't know about chained comparisons when I wrote this
code, so I didn't take the opportunity to write '0 <= x < limit'.

Also, removed the wildcard import from tkinter, replacing it with
explicit references to the things needed. There weren't that many of
them, so I think the 'import *' didn't gain much.

6 months agoeditor: better error message on paste failure.
Simon Tatham [Sun, 13 Oct 2024 09:52:47 +0000 (10:52 +0100)]
editor: better error message on paste failure.

Apparently I was incredibly lazy at some point in the past and forgot
to say what the problem was when the paste data couldn't be matched
against the regex.

6 months agoeditor: better ways to find the bedstead executable.
Simon Tatham [Sun, 13 Oct 2024 09:50:37 +0000 (10:50 +0100)]
editor: better ways to find the bedstead executable.

Previously the editor just expected to find it in your cwd. Now by
default it looks in the same directory as its own script, which means
you can run it from some other directory.

Also, I've provided a command-line option to override the default, in
case you keep the executable somewhere else again.

6 months agoeditor: put all the Tk work into a class.
Simon Tatham [Sun, 13 Oct 2024 09:36:22 +0000 (10:36 +0100)]
editor: put all the Tk work into a class.

The previous code organisation had a tiny 'Container' classlet that
held all the mutable variables, just so that all the event handler
functions could reach into it and modify it without having to faff
with 'global'.

But if you're going to make that much of a class, it makes more sense
to go further, and make all those functions _methods_ of the class. So
here's a reorganisation that wraps up the Tk code into a more or less
conventional class structure.

The patch for this commit looks like a total rewrite, but it's not
really: everything is indented further to the right (with a couple of
reflowings of long lines), and a lot of variables have a new 'self.'
on the front, but in other respects the code is substantially
unchanged.

6 months agoeditor: commit to Python 3.
Simon Tatham [Sun, 13 Oct 2024 09:16:31 +0000 (10:16 +0100)]
editor: commit to Python 3.

At the time I wrote this editor, it was sensible to try to be Python
2/3 agnostic. P2 is now thoroughly obsolete, so I've removed the P2
affordances. That lets me fix the shebang line to say 'python3', and
chmod the file +x, so that you can run it by its name.

Also, it can be renamed to just 'editor', because now that it's
executable, the fact that it's in Python is nothing but an internal
implementation detail.

6 months agoeditor.py: add a comment including authorship and licence.
Simon Tatham [Sun, 13 Oct 2024 09:19:31 +0000 (10:19 +0100)]
editor.py: add a comment including authorship and licence.

Ben is trying to make Bedstead into a Debian package, which involves
clarifying copyright and licences anywhere it's unclear. When I
contributed this editing tool I did it on a very informal basis ('look
at this fun hack!') and didn't make that clear. Time to fix that.

6 months agoRemove ZVBI-derived comment and code tables from NOTES
Ben Harris [Sat, 12 Oct 2024 22:35:54 +0000 (23:35 +0100)]
Remove ZVBI-derived comment and code tables from NOTES

For the most part they're not useful, and they're arguably under the GNU
GPL.  I've replaced them with an original prose description of some of
the interesting facts.  For everything else, you can go to ZVBI itself.

6 months agoProper licence etc for ZVBI bits in NOTES
Ben Harris [Sat, 12 Oct 2024 21:55:03 +0000 (22:55 +0100)]
Proper licence etc for ZVBI bits in NOTES

ZVBI is under LGPL v2, but the NOTES file isn't a library so I need to
licence the excerpt under GPL v2 instead.  But actually I think I want
to remove that text, so this is just to legitimise the distribution of
the Git history.

6 months agoCorrect SAA5050 ROM encoding
Ben Harris [Sat, 12 Oct 2024 16:05:57 +0000 (17:05 +0100)]
Correct SAA5050 ROM encoding

The character at 6/0 is emdash (5 pixels long), not endash (4 pixels
long).

6 months agoAdd a HACKING file that's a guide to the source code
Ben Harris [Sat, 12 Oct 2024 11:45:05 +0000 (12:45 +0100)]
Add a HACKING file that's a guide to the source code

Suggested by Ian Jackson.

7 months agoUpdate version to 002.008 bedstead-002.008
Ben Harris [Sat, 5 Oct 2024 11:53:24 +0000 (12:53 +0100)]
Update version to 002.008

7 months agoAdd U+2001 EM QUAD
Ben Harris [Sat, 5 Oct 2024 11:36:53 +0000 (12:36 +0100)]
Add U+2001 EM QUAD

It's canonically equivalent to U+2003 EM SPACE, so we should have
both.

7 months agoCSS: switch to monospace
Ben Harris [Thu, 3 Oct 2024 23:30:30 +0000 (00:30 +0100)]
CSS: switch to monospace

Safari badly misdisplays Bedstead in proportional mode.  This is
caused by a bug in WebKit, and I haven't found an acceptable
workaround.  Thus, I think the best thing to do is to turn off
proportional spacing on the Web page entirely.  I think it looks nice,
but even I'll admit that it's a little too tight, and I know others
prefer the monospaced version.

Also, I can't think of a way that a real chip anything like the
SAA5050 could produce proportionally-spaced text.  It's fundamentally
based on getting fed character data at a constant 1 MHz.  There's no
way it can ask for a character early because the previous one was
narrow.

7 months agoCSS: use "background" shorthand property
Ben Harris [Thu, 3 Oct 2024 23:06:49 +0000 (00:06 +0100)]
CSS: use "background" shorthand property

It's more compact and works just as well.  In fact, I think it might
work better on browsers that support background-image but not
background-size.  On such browsers the entire rule will be ignored,
which is what I want.  If the background image can't appear at
precisely the correct size, it shouldn't appear at all.

Of course, ideally on a browser that fails to display the background,
the title also wouldn't fade out to the left.  I wonder if there's a
sensible way to achieve that.

7 months agoMore details on WebKit bug, including link to bug tracker
Ben Harris [Thu, 3 Oct 2024 22:16:08 +0000 (23:16 +0100)]
More details on WebKit bug, including link to bug tracker

7 months agoLight HTML modernisation
Ben Harris [Fri, 27 Sep 2024 20:01:35 +0000 (21:01 +0100)]
Light HTML modernisation

The "sizes" attribute on the icon <links> wasn't allowed by XHTML 1.0
Strict, so I've removed the DOCTYPE for that.  Meanwhile HTML 5
doesn't want you declaring a <meta http-equiv="content-type">
specifying XHTML, so I've removed that as well.  So now it's
XML-syntax HTML 5, which seems sensible to me even if other people
don't like XML.

7 months agoUse no-break spaces in Web page
Ben Harris [Fri, 27 Sep 2024 19:21:23 +0000 (20:21 +0100)]
Use no-break spaces in Web page

I added them to Bedstead so I may as well use them.

7 months agoConvert the fading <div> in the Web page back to a <span>
Ben Harris [Fri, 27 Sep 2024 18:07:50 +0000 (19:07 +0100)]
Convert the fading <div> in the Web page back to a <span>

HTML doesn't allow <div> inside <h1>.  I found before that using a
<span> caused the background not to work.  That seems to be down to CSS2
section 10.6.1, describing inline, non-replaced elements: "The height of
the content area should be based on the font, but this specification
does not specify how."

Happily, we can just define this particular <span> to be a block
element, so that it behaves like a <div> even though it's a <span>.
That works fine, and because we're only using it to get a well-defined
content area it doesn't matter if it's ineffective when the stylesheet
is missing.

7 months agoUse EN DASH characters directly in Web page, without entities
Ben Harris [Fri, 27 Sep 2024 10:47:13 +0000 (11:47 +0100)]
Use EN DASH characters directly in Web page, without entities

The W3C HTML 5 checker objects to my use of "&ndash;" and I can't see
any reason why I should use it.  The page is unashamedly in UTF-8, so
there's not much benefit to singling out this one character for special
treatment.

The page is still officially in XHTML 1.0 Strict at the moment, but I
might want to change that, which is why I'm paying attention to an
HTML 5 checker.

7 months agoAdd the GeoGebra file that I used to sort out PANOSE
Ben Harris [Fri, 27 Sep 2024 09:58:15 +0000 (10:58 +0100)]
Add the GeoGebra file that I used to sort out PANOSE

7 months agoCorrect PANOSE Letterform value and extend to implausible weights
Ben Harris [Fri, 27 Sep 2024 09:57:22 +0000 (10:57 +0100)]
Correct PANOSE Letterform value and extend to implausible weights

7 months agoRework PANOSE generation
Ben Harris [Thu, 26 Sep 2024 23:54:20 +0000 (00:54 +0100)]
Rework PANOSE generation

The code predated the introduction of bold variants, so it was
significantly incorrect.  Also it appears that some software uses the
PANOSE classification to distinguish monospaced fonts.  After careful
study of the specification, I think all the variants of Bedstead can
be classified as text fonts, so I've removed the code that described
some variants as decorative.  Then I did some calculations and a lot
of playing around with GeoGebra to work out which parts of the design
space give which values of Stroke Variation, Letterform, and Midline.

7 months agoA few more subscript letters
Ben Harris [Thu, 26 Sep 2024 16:50:34 +0000 (17:50 +0100)]
A few more subscript letters

7 months agoGenerate the backward-compatibility *.sep6 glyphs correctly
Ben Harris [Thu, 26 Sep 2024 16:24:26 +0000 (17:24 +0100)]
Generate the backward-compatibility *.sep6 glyphs correctly

They should actually be separated, but I forgot to fix some pasted
text and so they weren't.

7 months agoNotes on a Safari display bug
Ben Harris [Thu, 26 Sep 2024 15:41:28 +0000 (16:41 +0100)]
Notes on a Safari display bug

7 months agoAdd link to gitweb
Ben Harris [Thu, 26 Sep 2024 13:57:57 +0000 (14:57 +0100)]
Add link to gitweb

It's in a rather weird place, but it's still useful.

7 months agoAdd U+2003 EM SPACE as a blank mosaic graphics character
Ben Harris [Thu, 26 Sep 2024 12:31:51 +0000 (13:31 +0100)]
Add U+2003 EM SPACE as a blank mosaic graphics character

At least Noto Sans and Noto Sans Symbols2 think that EM SPACE should
be the same width as mosaic graphics characters, and I think we could
do with a space that doesn't get changed by 'palt'.

7 months agoUpdate version to 002.007 bedstead-002.007
Ben Harris [Tue, 24 Sep 2024 13:23:15 +0000 (14:23 +0100)]
Update version to 002.007

7 months agoCorrect dependencies for all-web
Ben Harris [Tue, 24 Sep 2024 13:26:36 +0000 (14:26 +0100)]
Correct dependencies for all-web

7 months agoImprove comment to explain glyph ordering
Ben Harris [Mon, 23 Sep 2024 19:02:45 +0000 (20:02 +0100)]
Improve comment to explain glyph ordering

7 months agoAdd PUA code points for extra real glyphs
Ben Harris [Mon, 23 Sep 2024 15:28:35 +0000 (16:28 +0100)]
Add PUA code points for extra real glyphs

7 months agoAdd PUA mappings for separated 4-cell graphics
Ben Harris [Mon, 23 Sep 2024 15:22:59 +0000 (16:22 +0100)]
Add PUA mappings for separated 4-cell graphics

I'm a bit uncertain about this because I currently think these glyphs
shouldn't be in Bedstead at all.  They're not based on any real system
or standard, so they don't really have any good reason to be here.
But here they are nonetheless, at least until Bedstead 003.000.  So
while I don't really want to encourage their use, I think gratuitously
leaving them difficult to use will just annoy anyone who actually has
a use for them and they thus deserve encodings.

7 months agoAssign PUA code points for new small-cap glyphs
Ben Harris [Mon, 23 Sep 2024 14:52:01 +0000 (15:52 +0100)]
Assign PUA code points for new small-cap glyphs

7 months agoGenerate *.sep6 aliases the same way as contiguous versions
Ben Harris [Mon, 23 Sep 2024 14:16:36 +0000 (15:16 +0100)]
Generate *.sep6 aliases the same way as contiguous versions

That is, not generating aliases at all, becuase that's simpler and
actually makes the OTF file smaller.  Which makes me wonder if all
aliases should be done the same way, leaving FontForge to
automatically factor out common bits.

7 months agoComplicate the macro that generates contiguous mosaic graphics
Ben Harris [Mon, 23 Sep 2024 13:36:32 +0000 (14:36 +0100)]
Complicate the macro that generates contiguous mosaic graphics

It's now inkvoked the same way as the one that generates separated
graphics, which means those invocations can fit into eight fewer
lines.

7 months agoSlight mosaic graphics rationalisation
Ben Harris [Mon, 23 Sep 2024 13:17:21 +0000 (14:17 +0100)]
Slight mosaic graphics rationalisation

All the *.sep6 glyphs are now aliases for their proper Unicode 16
names.  And the 6-cell mosaic graphics are now in the section for
glyphs from real character generators, because that's what they are.

7 months agoUpdate Web page for Unicode 16.0 separated graphics
Ben Harris [Sun, 22 Sep 2024 09:56:27 +0000 (10:56 +0100)]
Update Web page for Unicode 16.0 separated graphics

7 months agoAdd separated mosaic graphics at Unicode 16.0 code points
Ben Harris [Sat, 21 Sep 2024 23:18:25 +0000 (00:18 +0100)]
Add separated mosaic graphics at Unicode 16.0 code points

That's U+1CE51 .. U+1CE8F.

8 months agoPut bitmap data and alias target into a union
Ben Harris [Thu, 18 Jul 2024 11:59:55 +0000 (12:59 +0100)]
Put bitmap data and alias target into a union

A character can't both be an alias and have its own bitmap data, so we
may as well overlap them.  Wrapping them in a union doesn't require any
changes to the syntax of the glyphs array because C allows for
incomplete bracketing of initialisers.  Because the union doesn't have a
name, its members can be accessed as though they're members of the
containing struct, which means that accesses to them don't need to
change.

There is a new flag to mark a glyph as an alias since "alias_of == NULL"
no longer works, and a corresponding change to the ALIAS() macro.

This saves about 20K of bedstead's data segment on a 64-bit system,
which is kind of silly but it's satisfying nonetheless.

8 months agoOutput glyphs in an order that FontForge won't change
Ben Harris [Sat, 1 Jun 2024 22:18:25 +0000 (23:18 +0100)]
Output glyphs in an order that FontForge won't change

FontForge has opinions about what order glyphs in an OpenType font
should appear in, at least some of them being mandated by the OpenType
spec (for instance that .notdef must by glyph 0).  When outputting an
OpenType font, FontForge re-orders it in accordance with these opinions.

I expect that this will be a problem if I want to emit a table that
FontForge doesn't understand, since it won't be able to correct the
glyph indexes in that table.  Thus I've added code to re-order the
glyphs in Bedstead such that FontForge won't re-order them.  This should
mean that bedstead.c can safely use the glyph indexes that it generates
without worrying that FontForge might change them.

I don't think FontForge minds what order unencoded glyphs appear in, but
I've defined them to be in strcmp() order of glyph name so that they're
at least somewhat stable.  Before this, they were in the same order as
in the source file.

8 months agoTidy up function definitions
Ben Harris [Sun, 18 Aug 2024 12:18:50 +0000 (13:18 +0100)]
Tidy up function definitions

Consistently put a newline before each function name, and use "void"
as the parameter list of functions that take no parameters.

8 months agoConsistent apostrophes in HTML
Ben Harris [Sat, 13 Jul 2024 22:39:51 +0000 (23:39 +0100)]
Consistent apostrophes in HTML

8 months agoAdd an icon to the Web page
Ben Harris [Sat, 13 Jul 2024 15:54:09 +0000 (16:54 +0100)]
Add an icon to the Web page

I generate various sizes because the 16-pixel version looks better than
the scaled-down larger versions.

8 months agoGenerate sample images in colour to match Web page
Ben Harris [Sat, 13 Jul 2024 14:52:22 +0000 (15:52 +0100)]
Generate sample images in colour to match Web page

8 months agoUse the global nglyphs variable in glyph_complement()
Ben Harris [Thu, 11 Jul 2024 22:40:31 +0000 (23:40 +0100)]
Use the global nglyphs variable in glyph_complement()

9 months agoConvert indentation to tabs where it had been spaces
Ben Harris [Wed, 10 Jul 2024 20:01:45 +0000 (21:01 +0100)]
Convert indentation to tabs where it had been spaces

Now that at least my own edits shouldn't break this.

9 months agoAdd Emacs file variables to bedstead.c
Ben Harris [Wed, 10 Jul 2024 19:57:12 +0000 (20:57 +0100)]
Add Emacs file variables to bedstead.c

These set the C indentation style and tab usage to what's traditional
in this file.

10 months agoCondense weight and width tables
Ben Harris [Wed, 10 Jul 2024 13:47:07 +0000 (14:47 +0100)]
Condense weight and width tables

They're really very small and putting each weight and width on a
single line makes them much more readable.

10 months ago16-bit safety, maybe
Ben Harris [Wed, 10 Jul 2024 13:38:53 +0000 (14:38 +0100)]
16-bit safety, maybe

Bedstead claims to be written in ISO C.  ISO C allows "int" to be only
16 bits wide, which is a bit of a problem.  In fact, it's not much of
a problem because Bedstead mostly deals in small numbers.  The main
exception is Unicode code points, which can exceed 16 bits.

To hopefully fix this, Bedstead now mostly uses "long" for Unicode
code points.  The main exception is in the gklph table where that
seems a bit profligate on 64-bit systems so I've used int_least32_t
instead.

The fiddliest bits of this are around uses of printf(), which cares
whether it's being passed an "int" or a "long".

This is untested on an actual 16-bit system, but at least on a 64-bit
system it continues to produce correct results.

10 months agoUse bool, true, and false in more places
Ben Harris [Wed, 10 Jul 2024 09:13:48 +0000 (10:13 +0100)]
Use bool, true, and false in more places

There were still places where I was storing booleans in int variables
and explicitly using 0 and 1.

10 months agoAdjust comments to match case of characters
Ben Harris [Sun, 7 Jul 2024 15:14:56 +0000 (16:14 +0100)]
Adjust comments to match case of characters

Specifically this changes the comments on IPA characters to refer to
them in lower-case even though the official names of these characters
are upper-case.  I did this because it was annoying not being able to
tell the case of a letter from its comment.

10 months agoLatin small caps complete (probably)
Ben Harris [Sat, 6 Jul 2024 23:33:31 +0000 (00:33 +0100)]
Latin small caps complete (probably)

10 months agoAdd rom.ps to distribution zipfiles
Ben Harris [Mon, 24 Jun 2024 14:21:20 +0000 (15:21 +0100)]
Add rom.ps to distribution zipfiles

10 months agoEncodings for the remaining chips in rom.ps
Ben Harris [Mon, 24 Jun 2024 14:08:41 +0000 (15:08 +0100)]
Encodings for the remaining chips in rom.ps

I have some disagreements with the SAA5057 image that I found, but I
agree with the datasheet which is good enough for now.

10 months agoUse correct SAA5051 version of 't' for ROM image
Ben Harris [Mon, 24 Jun 2024 13:36:37 +0000 (14:36 +0100)]
Use correct SAA5051 version of 't' for ROM image

10 months agoAllow for choosing which ROM to generate in rom.ps
Ben Harris [Mon, 24 Jun 2024 13:27:51 +0000 (14:27 +0100)]
Allow for choosing which ROM to generate in rom.ps

10 months agoNew question mark for SAA5051 and SAA5052
Ben Harris [Mon, 24 Jun 2024 13:13:41 +0000 (14:13 +0100)]
New question mark for SAA5051 and SAA5052

It's a different shape from the one used by the other chips.  Checked
against the 1982 datasheet and a real SAA5051.

10 months agoAdd "rom.ps" for generating MAME-style font ROM images
Ben Harris [Mon, 24 Jun 2024 12:38:32 +0000 (13:38 +0100)]
Add "rom.ps" for generating MAME-style font ROM images

This could be used to provide images for MAME to use, but it's also
useful for comparing against images from other sources to spot errors.

10 months agoImprovements to SAA5051 and SAA5052 characters
Ben Harris [Thu, 20 Jun 2024 22:06:14 +0000 (23:06 +0100)]
Improvements to SAA5051 and SAA5052 characters

In addition to their obviously distinctive national characters, the
SAA5051 and SAA5052 also change the shape of some standard characters
compared to the SAA5050.  I had spotted some of these, but noticed
several more when using an actual SAA5051 in my Acorn System 3.  The
unusual characters are apparently much easier to spot on screen than
in a datasheet.

Now, I think, we actually have the correct characters for each of
these chips.  In many cases, they're the same as one another, and in
those cases I've aliased the glyphs.

10 months agoRemove section on good sizes from NOTES
Ben Harris [Wed, 19 Jun 2024 23:29:58 +0000 (00:29 +0100)]
Remove section on good sizes from NOTES

It's been pretty much obsolete since 002.002 when I adjusted the
diagonal stroke thickness.

10 months agoRemove a spurious blank line from the NEWS file
Ben Harris [Wed, 19 Jun 2024 23:23:00 +0000 (00:23 +0100)]
Remove a spurious blank line from the NEWS file

10 months agoMention SAA5058 in NOTES
Ben Harris [Tue, 18 Jun 2024 22:33:03 +0000 (23:33 +0100)]
Mention SAA5058 in NOTES

10 months agoRe-order Greek and Hebrew samples
Ben Harris [Tue, 18 Jun 2024 20:10:18 +0000 (21:10 +0100)]
Re-order Greek and Hebrew samples

The final versions of letters should obviously come after the normal
ones.  While I'm there, I've also put the variant phi after the ordinary
one.

Thanks to Adam for pointing this out.

10 months agoInclude CONTRIBUTING in the distribution zip files
Ben Harris [Thu, 13 Jun 2024 21:37:40 +0000 (22:37 +0100)]
Include CONTRIBUTING in the distribution zip files

10 months agoAdd a contribution and credit policy
Ben Harris [Wed, 12 Jun 2024 22:21:17 +0000 (23:21 +0100)]
Add a contribution and credit policy

Bedstead has actually had external contributions, so it seems reasonably
to set out how I handle them.

This was inspired by Valerie Aurora and by the contributions and credits
policy guide created by members of the RIPE Open Source Working Group.

10 months agoAdd .mailmap file
Ben Harris [Wed, 12 Jun 2024 21:54:26 +0000 (22:54 +0100)]
Add .mailmap file

There are a few commits in Bedstead's history that have incorrect email
addresses for me.  This corrects them.

11 months agoU+2139 TURNED NOT SIGN
Ben Harris [Tue, 4 Jun 2024 13:59:09 +0000 (14:59 +0100)]
U+2139 TURNED NOT SIGN

11 months agoRe-order OpenType lookups to be more sensible
Ben Harris [Sun, 2 Jun 2024 23:50:38 +0000 (00:50 +0100)]
Re-order OpenType lookups to be more sensible

The small-caps and 'rtlm' lookups now come before the stylistic sets.
This is appropriate because the former make changes to the semantics
of characters and so should take priority over mere stylistic changes.
'palt' comes last because it can only reasonably be applied to the
actual glyphs being rendered.

11 months agoSmall caps for Latin Extended-A
Ben Harris [Sun, 2 Jun 2024 20:57:14 +0000 (21:57 +0100)]
Small caps for Latin Extended-A

11 months agoLatin-1 small caps
Ben Harris [Sun, 2 Jun 2024 19:55:38 +0000 (20:55 +0100)]
Latin-1 small caps

Almost no new glyphs, because the existing accented caps glyphs are
themselves small.  I'm not quite sure which glyphs small caps need to
be visually distinct from, so for now I won't worry about that.

11 months agoRe-organise Latin small caps (no functional change)
Ben Harris [Sun, 2 Jun 2024 19:16:27 +0000 (20:16 +0100)]
Re-organise Latin small caps (no functional change)

I liked the approach I took with 'rtlm' of putting variant glyphs next
to the standard ones in the glyph array.  So I've tried doing the same
with small caps.  Each small cap appears at least twice.  For ones with
real Unicode code points, the 'c2sc' version is an alias for the native
one.  For small caps without Unicode code points, the 'c2sc' version is
the actual small cap glyph.  In either case, the 'smcp' version is an
alias for the 'c2sc' one.  This is a change from the previous setup,
where the 'c2sc' version was an alias for the 'smcp' one instead.  I've
swapped them because the small cap glyph is generally based on the full
cap, so putting them together seems sensible.

11 months agoStop trying to create a 'gasp' table
Ben Harris [Sun, 2 Jun 2024 16:55:08 +0000 (17:55 +0100)]
Stop trying to create a 'gasp' table

As far as I can tell, the "GaspTable" line that I put in the SFD file
has never actually worked.  I don't think I want it to anyway: even
when the source pixels line up precisely with the display pixels, it's
still worth having anti-aliasing on the diagonal lines.  And of course
none of this would work properly for any width other than the default
one.

So overall, it doesn't work, and if it did I'd want it to stop.  So
let's remove it.

11 months agoRedesigned U+2203 THERE EXISTS
Ben Harris [Sun, 2 Jun 2024 15:55:05 +0000 (16:55 +0100)]
Redesigned U+2203 THERE EXISTS

There seems to be a consensus that the three bars should be the same
length, and that distinguishes the 'rtlm' version from a capital 'E'.

11 months agoAdd Private Use Area mapping for 'rtlm' glyphs
Ben Harris [Sun, 2 Jun 2024 15:50:43 +0000 (16:50 +0100)]
Add Private Use Area mapping for 'rtlm' glyphs

I've gone for U+F100 upwards because I expect there to be more than the
31 I've currently got.

11 months agoNew 'rtlm' versions of subset/superset tilde
Ben Harris [Sun, 2 Jun 2024 13:08:47 +0000 (14:08 +0100)]
New 'rtlm' versions of subset/superset tilde

These versions have the tilde reversed, which I think is the right
thing to do.

11 months agoAlias mappings for 'rtlm'
Ben Harris [Sun, 2 Jun 2024 13:07:08 +0000 (14:07 +0100)]
Alias mappings for 'rtlm'

These are characters that have the Bidi_Mirroring_Glyph but don't
appear in the OpenType Mirroring Pairs List (OMPL).  In a couple of
cases, these are listed by Unicode as "best fit" and I think I should
actually redraw the tildes the other way around.

11 months agoAdd 'rtlm' (right-to-left mirrored) lookup
Ben Harris [Sun, 2 Jun 2024 12:39:43 +0000 (13:39 +0100)]
Add 'rtlm' (right-to-left mirrored) lookup

This implements the Bidi_Mirrored Unicode property for those characters
that don't have a Bidi_Mirroring_Glyph.  These are the characters listed
at the end of BidiMirroring-15.1.0.txt.  I haven't yet assigned them PUA
code-points.  The characters with a Bidi_Mirroring_Glyph that don't
appear in the OpenType Mirroring Pairs List (OMPL) still need aliases
added.

11 months agoU+2AFE WHITE VERTICAL BAR
Ben Harris [Sun, 2 Jun 2024 10:19:24 +0000 (11:19 +0100)]
U+2AFE WHITE VERTICAL BAR

It seemed silly to have the tall version but not the normal one.

11 months agoMore ANDs and ORs with bars above and below
Ben Harris [Sun, 2 Jun 2024 10:18:23 +0000 (11:18 +0100)]
More ANDs and ORs with bars above and below

I had NAND, NOR, and XOR from Mathematical Operators.  This adds five
more characters from Supplementary Mathematical Operators to fill in
the gaps.

11 months agoA load more large mathematical operators
Ben Harris [Sun, 2 Jun 2024 09:45:37 +0000 (10:45 +0100)]
A load more large mathematical operators

The TeX "unicode-math" package conveniently lists a bunch of characters
that it treats as the kind of large operator that takes limits. Bedstead
has a standard treatment for these, stretching them over the full height
of the character cell.  So I've drawn some that are in Plain TeX or
otherwise reasonably easy.  One exception is the n-ary square cap and
cup operators because I can't work out how to distinguish them from the
n-ary product and coproduct.

11 months agoFlattened parentheses
Ben Harris [Sun, 2 Jun 2024 09:44:17 +0000 (10:44 +0100)]
Flattened parentheses

According to the TeX "unicode-math" documentation, these are in Plain
TeX, so I think they're mainstream enough that Bedstead should have
them.

11 months agoCorrect ordering of a couple of glyphs
Ben Harris [Sat, 1 Jun 2024 22:18:00 +0000 (23:18 +0100)]
Correct ordering of a couple of glyphs

11 months agoUpdate version to 002.006 bedstead-002.006
Ben Harris [Fri, 24 May 2024 14:22:16 +0000 (15:22 +0100)]
Update version to 002.006

11 months agoCorrect ordering of squares and circles with quadrants
Ben Harris [Tue, 14 May 2024 07:17:44 +0000 (08:17 +0100)]
Correct ordering of squares and circles with quadrants

That's U+25F0 to U+25F7.

11 months agoUpdate version to 002.005 bedstead-002.005
Ben Harris [Sat, 11 May 2024 23:57:49 +0000 (00:57 +0100)]
Update version to 002.005

11 months agoUpdate authorship date
Ben Harris [Sat, 11 May 2024 23:07:49 +0000 (00:07 +0100)]
Update authorship date

11 months agoMove glyph complement 40 pt rightward
Ben Harris [Sat, 11 May 2024 21:39:03 +0000 (22:39 +0100)]
Move glyph complement 40 pt rightward

This places it roughly in the middle of an A4 page, and more
importantly within the margins of my LaserJet 1100.

11 months agoU+22C6 STAR OPERATOR
Ben Harris [Sat, 11 May 2024 20:58:17 +0000 (21:58 +0100)]
U+22C6 STAR OPERATOR

This is usually five-pointed, and I seem to have come up with an
acceptable five-pointed design.  This matches the existing U+235F APL
FUNCTIONAL SYMBOL CIRCLE STAR.  U+2363 APL FUNCTIONAL SYMBOL STAR
DIAERESIS is modified to match.

11 months agoCorrected glyph name for U+22C5 DOT OPERATOR
Ben Harris [Sat, 11 May 2024 18:45:49 +0000 (19:45 +0100)]
Corrected glyph name for U+22C5 DOT OPERATOR

AGLFN says it should be "dotmath".  It wasn't in the last release, so
no backward-compatibility alias.

11 months agoXOR, NAND, and NOR
Ben Harris [Sat, 11 May 2024 13:54:43 +0000 (14:54 +0100)]
XOR, NAND, and NOR

We've got AND and OR, so may as well have the rest.

11 months agoYijing monograms, digrams, and trigrams
Ben Harris [Sat, 11 May 2024 13:35:55 +0000 (14:35 +0100)]
Yijing monograms, digrams, and trigrams

Unfortunately, the hexagrams won't really fit in Bedstead.

12 months agoRevert "Private use area mappings for separated 4-cell mosaic graphics"
Ben Harris [Fri, 10 May 2024 20:34:31 +0000 (21:34 +0100)]
Revert "Private use area mappings for separated 4-cell mosaic graphics"

It looks like these will have an official mapping in the next version of
Unicode, so I'll leave out the PUA mapping and put in a proper mapping
once they're in Unicode proper.

This reverts commit dd35eed4ed411ca3468306f5a281118cef8a2f28.

12 months agoFurther harpoons
Ben Harris [Fri, 10 May 2024 20:34:26 +0000 (21:34 +0100)]
Further harpoons

12 months agoAdd U+2686 to U+2689
Ben Harris [Fri, 10 May 2024 19:40:33 +0000 (20:40 +0100)]
Add U+2686 to U+2689

That's {WHITE,BLACK} CIRCLE WITH {DOT RIGHT,TWO DOTS}.  One of them is
used by BQN but we may as well have all four.

12 months agoA few more APL symbols
Ben Harris [Sun, 5 May 2024 21:13:35 +0000 (22:13 +0100)]
A few more APL symbols

U+2361 APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
U+2362 APL FUNCTIONAL SYMBOL DEL DIAERESIS
U+2365 APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS

12 months agoThree more glyphs used by BQN
Ben Harris [Sun, 5 May 2024 21:00:39 +0000 (22:00 +0100)]
Three more glyphs used by BQN

U+22C8 BOWTIE, U+2389 CIRCLED HORIZONTAL BAR WITH NOTCH, and U+238A
CIRCLED TRIANGLE DOWN.