chiark / gitweb /
Fill in disunified mathematical operators and punctuation
authorBen Harris <bjh21@bjh21.me.uk>
Sun, 5 May 2024 09:15:28 +0000 (10:15 +0100)
committerBen Harris <bjh21@bjh21.me.uk>
Sun, 5 May 2024 09:16:04 +0000 (10:16 +0100)
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.

bedstead.c

index c56fed8e58d1cd201335b889519f0b89a8dc3195..e82acbce2dd4b8720c3056daf22d3ec2d690acdf 100644 (file)
@@ -1358,6 +1358,9 @@ static struct glyph {
  {{000,000,000,037,000,000,000,000,000}, 0x2212, "minus" },
  {{037,000,004,004,037,004,004,000,000}, U(2213) }, /* minusplus */
  {{004,000,004,004,037,004,004,000,000}, U(2214) }, /* dot plus */
+ {{000,001,002,004,010,020,000,000,000}, U(2215) }, /* division slash */
+ {{000,020,010,004,002,001,000,000,000}, U(2216) }, /* set minus */
+ {{004,025,016,004,016,025,004,000,000}, 0x2217, "asteriskmath" },
  {{000,000,004,012,012,004,000,000,000}, U(2218) }, /* ring operator */
  {{000,000,004,016,004,000,000,000,000}, U(2219) }, /* bulletoperator */
  {{007,004,004,004,024,014,004,000,000}, 0x221a, "radical" },
@@ -1376,6 +1379,7 @@ static struct glyph {
  {{002,005,004,016,025,016,004,024,010}, U(222E) }, /* contour integral */
  {{000,004,000,000,000,021,000,000,000}, 0x2234, "therefore" },
  {{000,021,000,000,000,004,000,000,000}, U(2235) }, /* because */
+ {{000,004,000,000,000,004,000,000,000}, U(2236) }, /* ratio */
  {{000,004,000,037,000,000,000,000,000}, U(2238) }, /* dot minus */
  {{000,021,000,037,000,021,000,000,000}, U(223A) }, /* geometric proportion */
  {{000,000,010,025,002,000,000,000,000}, 0x223c, "similar" },
@@ -1432,6 +1436,7 @@ static struct glyph {
  {{016,021,021,021,021,021,021,021,021}, U(22C2) }, /* n-ary intersection */
  {{021,021,021,021,021,021,021,021,016}, U(22C3) }, /* n-ary union */
  {{000,004,012,021,012,004,000,000,000}, U(22C4) }, /* diamond operator */
+ {{000,000,000,004,000,000,000,000,000}, U(22C5) }, /* dot operator */
  {{000,020,010,004,012,021,000,000,000}, U(22CB) }, /* left semidirect prod */
  {{000,001,002,004,012,021,000,000,000}, U(22CC) }, /* right semidirect prod */
  {{000,002,025,010,000,037,000,000,000}, U(22CD) }, /* reversed tilde equals */
@@ -1740,6 +1745,7 @@ static struct glyph {
  {{000,016,037,037,037,016,000,000,000}, 0x25cf, "H18533" },
  {{037,037,021,021,021,037,037,000,000}, 0x25d8, "invbullet" },
  {{037,021,004,016,004,021,037,000,000}, 0x25d9, "invcircle" },
+ {{000,000,016,012,016,000,000,000,000}, 0x25e6, "openbullet" },
  {{000,037,025,025,025,037,000,000,000}, U(25EB) }, /* squared vertical line */
  {{000,037,025,035,021,037,000,000,000}, U(25F0) }, /* square upper left quad */
  {{000,037,021,035,025,037,000,000,000}, U(25F1) }, /* square lower left quad */