chiark / gitweb /
A load more large mathematical operators
authorBen Harris <bjh21@bjh21.me.uk>
Sun, 2 Jun 2024 09:45:37 +0000 (10:45 +0100)
committerBen Harris <bjh21@bjh21.me.uk>
Sun, 2 Jun 2024 10:02:31 +0000 (11:02 +0100)
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.

bedstead.c

index c3c8b07becb27f1294e88471a9fe9af33c65da1e..deecf11d32712fbe9e1d2769316253b4a5cb6cd3 100644 (file)
@@ -1440,6 +1440,8 @@ static struct glyph {
  {{000,021,012,004,000,037,000,000,000}, U(22BB) }, /* xor */
  {{000,037,000,004,012,021,000,000,000}, U(22BC) }, /* nand */
  {{000,037,000,021,012,004,000,000,000}, U(22BD) }, /* nor */
+ {{004,004,004,012,012,012,021,021,021}, U(22C0) }, /* n-ary logical and */
+ {{021,021,021,012,012,012,004,004,004}, U(22C1) }, /* n-ary logical or */
  {{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 */
@@ -1822,6 +1824,8 @@ static struct glyph {
  /* Miscellaneous mathematical symbols-A */
  {{004,004,004,016,004,004,004,000,000}, U(27CA) }, /* vert bar horiz stroke */
  {{000,025,025,025,025,016,000,000,000}, U(27D2) }, /* upward element of */
+ {{004,004,004,004,004,004,004,004,037}, U(27D8) }, /* large up tack */
+ {{037,004,004,004,004,004,004,004,004}, U(27D9) }, /* large down tack */
  {{000,000,010,027,010,000,000,000,000}, U(27DC) }, /* left multimap */
  {{002,002,004,010,004,002,002,000,000}, U(27E8) }, /* left angle bracket */
  {{010,010,004,002,004,010,010,000,000}, U(27E9) }, /* right angle bracket */
@@ -1878,6 +1882,14 @@ static struct glyph {
  /* Supplemental mathematical operators */
  {{016,021,021,021,025,021,021,021,016}, U(2A00) }, /* n-ary circled dot */
  {{016,021,025,025,037,025,025,021,016}, U(2A01) }, /* n-ary circled plus */
+ {{016,021,021,033,025,033,021,021,016}, U(2A02) }, /* n-ary circled times */
+ {{021,021,021,021,025,021,021,021,016}, U(2A03) }, /* n-ary union dot */
+ {{021,021,025,025,037,025,025,021,016}, U(2A04) }, /* n-ary union plus */
+ {{002,005,004,004,037,004,004,024,010}, U(2A0D) }, /* integral with bar */
+ {{002,005,004,037,004,037,004,024,010}, U(2A0E) }, /* integral w/dbl bar */
+ {{002,005,004,037,025,037,004,024,010}, U(2A16) }, /* integral w/square */
+ {{002,005,004,016,025,025,004,024,010}, U(2A19) }, /* integral w/cap */
+ {{002,005,004,025,025,016,004,024,010}, U(2A1A) }, /* integral w/cup */
  {{004,004,037,004,004,000,004,000,000}, U(2A25) }, /* plus dot */
  {{000,000,000,037,000,004,000,000,000}, U(2A2A) }, /* minus dot */
  {{000,020,000,037,000,001,000,000,000}, U(2A2B) }, /* minus falling dots */
@@ -1935,6 +1947,7 @@ static struct glyph {
  {{025,025,025,025,025,025,025,000,000}, U(2AF4) }, /* triple v bar operator */
  {{025,025,025,037,025,025,025,000,000}, U(2AF5) }, /* triple v bar h stroke */
  {{025,025,025,025,025,025,025,025,025}, U(2AFC) }, /* large triple vert bar */
+ {{016,012,012,012,012,012,012,012,016}, U(2AFF) }, /* n-ary white vert bar */
 
  /* Miscellaneous symbols and arrows */
  {{000,025,000,021,000,025,000,000,000}, U(2B1A) }, /* dottedsquare */