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.
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.
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.
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.
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.
The new Oslash is probably better than the old one, with a slash that
actually passes through the O. It's also distinguishable from the new
U+2298 CIRCLED DIVISION SLASH.
It was very hard to tell apart U+2295 CIRCLED PLUS and U+233E APL
FUNCTIONAL SYMBOL CIRCLE JOT. Making the circles the size of an
upper-case 'O' has helped with that. I've enlarged U+2296 CIRCLED
MINUS and U+2299 CIRCLED DOT OPERATOR to match. I've left U+25CB
WHITE CIRCLE alone because it probably wants to be distinct from
upper-case 'O' and it doesn't have anything in it.
Unicode 15.0 says that U+2329 LEFT-POINTING ANGLE BRACKET and U+232A
RIGHT-POINTING ANGLE BRACKET are deprecated because they're
canonically equivalent to CJK wide angle brackets. However in a
purely narrow font like Bedstead I think it's reasonable to provide
them and they have AGLFN-assigned names ("angleleft" and "angleright")
that people might still use. I've make them visually identical to the
more modern U+27E8 MATHEMATICAL LEFT ANGLE BRACKET and U+27E9
MATHEMATICAL RIGHT ANGLE BRACKET.
Table 22-5 in Unicode 15.0 lists a number of mathematical operators
that have been disunified from punctuation characters because in some
fonts they might look different or because they otherwise need
different handling. In some cases Bedstead only had a glyph for one
of the two characters. Now we have both in all cases. Here's what
happened in each case:
U+002D HYPHEN vs U+2122 MINUS SIGN: both already present and
different.
U+003F SOLIDUS vs U+2215 DIVISION SLASH: U+003F copied as U+2215.
U+005C REVERSE SOLIDUS vs U+2216 SET MINUS: U+005C copied as U+2216.
U+002A ASTERISK vs U+2217 ASTERISK OPERATOR: U+002A copied as U+2217.
U+25E6 WHITE BULLET vs U+2218 RING OPERATOR: new U+25E6 designed based
on U+2022 BULLET. It's identical to U+25AB WHITE SMALL SQUARE but I
think that's reasonable. Bullets represent a font's preference and
are likely to be identical to some geometric shape.
U+007C VERTICAL LINE vs U+2223 DIVIDES: both already present and
identical.
U+2016 DOUBLE VERTICAL LINE vs U+2225 PARALLEL TO: both already
present and identical.
U+003A COLON vs U+2236 RATIO: new U+2236 drawn one pixel higher than
U+003A.
U+007E TILDE vs U+223C TILDE OPERATOR: both already present and
different.
U+00B7 MIDDLE DOT vs U+22C5 DOT OPERATOR: U+00B7 copied as U+22C5.
Specifically halfwidth forms of characters where we already have
ambiguous versions. Bedstead is intrinsically a half-width font, so
the halfwidth forms should look the same as the ambiguous ones.
BQN wants U+27E8 MATHEMATICAL LEFT ANGLE BRACKET and U+27E9
MATHEMATICAL RIGHT ANGLE BRACKET in addition to the usual three kinds
of bracket and less-than and greater-than signs. I've come up with a
design that is at least visually distinct from all the others and
might be argued to be consistent with the way we represent oblique
lines in other characters (e.g. capital A).
I'mk a bit torn between this design and one that makes the circle the
height of a capital O, but this one is more consistent with out other
circles and jots.
There are several glyphs in Bedstead that are not encoded at standard
Unicode code points. In most cases this is because they're font
variants of other glyphs, and in one case it's a character that's
simply not in Unicode ("oldsheqel"). These can be accessed using
OpenType features or by glyph name, but not all applications make
those available or easy to use. Giving all the glyphs code points
makes them usable (albeit with some ugliness) in pretty much any
application.
The code points I've used are in the "Reserved for font hacks" range
in the ConScript Unicode Registry, which should minimise their chances
of colliding with other useful things.
Bedstead is now so large that Ghostscript 10.00.0 insists on subsetting
it (and telling us it's doing so) anyway.
This reverts commit 8371e8afb823e2e383e8a6cfcf0c7fc75907a674.
Ordinary roman typefaces make the diagonal of an N thick and the
vertical strokes thin, so I think it's entirely legitimate for the
diagonal to be the member that gets doubled even if that looks a bit
odd. That finally gets me the full double-struck alphabet.
One of these is used by BQN, but obviously if I'm going to have one I
should have all four.
According to Unicode document L2/07-004, "Proposal to add Medievalist
and Iranianist punctuation characters to the UCS", "The ideally formed
QUINE CORNER (U+231C-U+231F) has equal-length sides and sit at cap
height and on the baseline". I've tried to implement that here.