From: Ben Harris Date: Sun, 5 May 2024 09:15:28 +0000 (+0100) Subject: Fill in disunified mathematical operators and punctuation X-Git-Tag: bedstead-002.005~17 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~bjharris/git?a=commitdiff_plain;h=1bbf25bf26cca7fc4370d2aa08d511e52550eea4;p=bedstead.git Fill in disunified mathematical operators and punctuation 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. --- diff --git a/bedstead.c b/bedstead.c index c56fed8..e82acbc 100644 --- a/bedstead.c +++ b/bedstead.c @@ -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 */