Make BQN symbols more significant (#1456).

This commit is contained in:
be5invis 2022-12-14 20:23:51 -08:00
parent 19a13e7370
commit 34b61c7e43
12 changed files with 58 additions and 27 deletions

View file

@ -16,4 +16,5 @@
- LATIN CAPITAL LETTER ALPHA (`U+2C6D`). - LATIN CAPITAL LETTER ALPHA (`U+2C6D`).
- LATIN CAPITAL LETTER TURNED ALPHA (`U+2C70`). - LATIN CAPITAL LETTER TURNED ALPHA (`U+2C70`).
- LATIN SMALL LETTER INVERTED ALPHA (`U+AB64`). - LATIN SMALL LETTER INVERTED ALPHA (`U+AB64`).
* Make BQN symbols more significant (#1456).
* Fix crossbar placement of LATIN SMALL LETTER P WITH STROKE (`U+1D7D`) (#1463). * Fix crossbar placement of LATIN SMALL LETTER P WITH STROKE (`U+1D7D`) (#1463).

View file

@ -726,6 +726,7 @@ glyph-block Autobuild-Rotated : begin
glyph-block-import CommonShapes glyph-block-import CommonShapes
glyph-block-import Common-Derivatives glyph-block-import Common-Derivatives
glyph-block-import Recursive-Build : Miniature glyph-block-import Recursive-Build : Miniature
glyph-block-import Symbol-Math-APL : LinkAplFormForNwidWwid
for-width-kinds WideWidth1 : do for-width-kinds WideWidth1 : do
local s : (RightSB - SB - O * 4 + (MosaicWidth - Width) * 0.5) / CAP local s : (RightSB - SB - O * 4 + (MosaicWidth - Width) * 0.5) / CAP
@ -747,3 +748,7 @@ glyph-block Autobuild-Rotated : begin
InftyLikeShape 'propto' 0x221D 'rotetedPropto' InftyLikeShape 'propto' 0x221D 'rotetedPropto'
InftyLikeShape 'infty' 0x221E 'eight.lnum.crossing' InftyLikeShape 'infty' 0x221E 'eight.lnum.crossing'
InftyLikeShape 'invLazyS' 0x223E 'revS.serifless' InftyLikeShape 'invLazyS' 0x223E 'revS.serifless'
# Link APLF for BQN
LinkAplFormForNwidWwid 'infty'
LinkAplFormForNwidWwid 'invLazyS'

View file

@ -11,3 +11,4 @@ export : define [apply] : begin
run-glyph-module "./geometric/dotted.mjs" run-glyph-module "./geometric/dotted.mjs"
run-glyph-module "./geometric/masked.mjs" run-glyph-module "./geometric/masked.mjs"
run-glyph-module "./geometric/ballot-box.mjs" run-glyph-module "./geometric/ballot-box.mjs"
run-glyph-module "./geometric/corner-shape.mjs"

View file

@ -1,10 +1,8 @@
$$include '../../../meta/macros.ptl' $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from"../../../support/utils.mjs"
glyph-module glyph-module
glyph-block Symbol-Pictograph-Checking-Marks : begin glyph-block Symbol-Geometric-Checking-Marks : begin
glyph-block-import CommonShapes glyph-block-import CommonShapes
glyph-block-import Common-Derivatives glyph-block-import Common-Derivatives

View file

@ -22,8 +22,8 @@ glyph-block Symbol-Geometric-Dice : for-width-kinds WideWidth1
list 0x2686 'whiteCircle' { { (5 / 3) 1 } } list 0x2686 'whiteCircle' { { (5 / 3) 1 } }
list 0x2687 'whiteCircle' { { (1 / 3) 1 } { (5 / 3) 1 } } list 0x2687 'whiteCircle' { { (1 / 3) 1 } { (5 / 3) 1 } }
foreach { unicode frame dots } [items-of diceCombinations] : begin foreach { u frame dots } [items-of diceCombinations] : begin
create-glyph [MangleName "dice_\(unicode)"] [MangleUnicode unicode] : glyph-proc create-glyph [MangleName : NameUni u] [MangleUnicode u] : glyph-proc
include [refer-glyph : MangleName frame] AS_BASE ALSO_METRICS include [refer-glyph : MangleName frame] AS_BASE ALSO_METRICS
define dr : DotRadius / Stroke * [AdviceStroke 7 Geom.Scalar] define dr : DotRadius / Stroke * [AdviceStroke 7 Geom.Scalar]
define xLeftEx : Geom.MidX - Geom.Size + GeometryStroke define xLeftEx : Geom.MidX - Geom.Size + GeometryStroke

View file

@ -51,7 +51,7 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1
list 0x25D6 0 1 1 0 0 list 0x25D6 0 1 1 0 0
list 0x25D7 0 0 0 1 1 list 0x25D7 0 0 0 1 1
foreach [{u WC LT LB RT RB} : items-of partialCircleQuarters] : begin foreach [{u WC LT LB RT RB} : items-of partialCircleQuarters] : begin
create-glyph [MangleName ('uni' + u)] [MangleUnicode u] : glyph-proc create-glyph [MangleName : NameUni u] [MangleUnicode u] : glyph-proc
set-width Geom.Width set-width Geom.Width
include : union include : union
new-glyph : glyph-proc new-glyph : glyph-proc
@ -72,7 +72,7 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1
list 0x25E0 1 0 1 0 list 0x25E0 1 0 1 0
list 0x25E1 0 1 0 1 list 0x25E1 0 1 0 1
foreach [{u LT LB RT RB} : items-of arcQuarters] : begin foreach [{u LT LB RT RB} : items-of arcQuarters] : begin
create-glyph [MangleName ('uni' + u)] [MangleUnicode u] : glyph-proc create-glyph [MangleName : NameUni u] [MangleUnicode u] : glyph-proc
set-width Geom.Width set-width Geom.Width
include : intersection include : intersection
refer-glyph : MangleName 'whiteCircle' refer-glyph : MangleName 'whiteCircle'
@ -93,7 +93,7 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1
list 0xEE0A (1 / 2 - 1 / 24) (5 / 6) list 0xEE0A (1 / 2 - 1 / 24) (5 / 6)
list 0xEE0B (2 / 3) 1 list 0xEE0B (2 / 3) 1
foreach [{u pAngleStart pAngleEnd} : items-of progressCircleSections] : begin foreach [{u pAngleStart pAngleEnd} : items-of progressCircleSections] : begin
create-glyph [MangleName ('uni' + u)] [MangleUnicode u] : glyph-proc create-glyph [MangleName : NameUni u] [MangleUnicode u] : glyph-proc
set-width Geom.Width set-width Geom.Width
include : intersection include : intersection
refer-glyph : MangleName 'whiteCircle' refer-glyph : MangleName 'whiteCircle'
@ -117,7 +117,7 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1
list 0x2B15 0 0 0 0 0 1 0 0 list 0x2B15 0 0 0 0 0 1 0 0
list 0x25EA 0 0 0 0 0 0 0 1 list 0x25EA 0 0 0 0 0 0 0 1
foreach [{u LT LB RT RB LTh LBh RTh RBh} : items-of squareParts] : begin foreach [{u LT LB RT RB LTh LBh RTh RBh} : items-of squareParts] : begin
create-glyph [MangleName ('uni' + u)] [MangleUnicode u] : glyph-proc create-glyph [MangleName : NameUni u] [MangleUnicode u] : glyph-proc
set-width Geom.Width set-width Geom.Width
include : union include : union
refer-glyph : MangleName 'whiteSquare' refer-glyph : MangleName 'whiteSquare'
@ -140,7 +140,7 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1
list 0x2B18 1 0 1 0 list 0x2B18 1 0 1 0
list 0x2B19 0 1 0 1 list 0x2B19 0 1 0 1
foreach [{u LT LB RT RB LTh LBh RTh RBh} : items-of diamondParts] : begin foreach [{u LT LB RT RB LTh LBh RTh RBh} : items-of diamondParts] : begin
create-glyph [MangleName ('uni' + u)] [MangleUnicode u] : glyph-proc create-glyph [MangleName : NameUni u] [MangleUnicode u] : glyph-proc
set-width Geom.Width set-width Geom.Width
include : union include : union
refer-glyph : MangleName 'whiteDiamond' refer-glyph : MangleName 'whiteDiamond'
@ -159,7 +159,7 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1
list 0x29E8 0 1 1 0 list 0x29E8 0 1 1 0
list 0x29E9 0 1 0 1 list 0x29E9 0 1 0 1
foreach [{u UP DN LH RH} : items-of triangleParts] : begin foreach [{u UP DN LH RH} : items-of triangleParts] : begin
create-glyph [MangleName ('uni' + u)] [MangleUnicode u] : glyph-proc create-glyph [MangleName : NameUni u] [MangleUnicode u] : glyph-proc
set-width Geom.Width set-width Geom.Width
include : union include : union
glyph-proc glyph-proc
@ -181,7 +181,7 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1
list 0x2BEB 0 1 1 list 0x2BEB 0 1 1
foreach { u lh rh bord } [items-of starParts] : begin foreach { u lh rh bord } [items-of starParts] : begin
create-glyph [MangleName ('uni' + u)] [MangleUnicode u] : glyph-proc create-glyph [MangleName : NameUni u] [MangleUnicode u] : glyph-proc
set-width Geom.Width set-width Geom.Width
if bord : include [refer-glyph : MangleName 'whiteStar'] if bord : include [refer-glyph : MangleName 'whiteStar']
if lh : include : intersection [LeftHalfMask] [refer-glyph : MangleName 'blackStar'] if lh : include : intersection [LeftHalfMask] [refer-glyph : MangleName 'blackStar']
@ -198,7 +198,7 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1
list 0x25F6 'whiteCircle' 0 0 1 1 list 0x25F6 'whiteCircle' 0 0 1 1
list 0x25F7 'whiteCircle' 1 0 0 1 list 0x25F7 'whiteCircle' 1 0 0 1
foreach { u frame T L B R } [items-of quarterLineParts] : begin foreach { u frame T L B R } [items-of quarterLineParts] : begin
create-glyph [MangleName ('uni' + u)] [MangleUnicode u] : glyph-proc create-glyph [MangleName : NameUni u] [MangleUnicode u] : glyph-proc
local hh : GeometryStroke / 2 * HVContrast local hh : GeometryStroke / 2 * HVContrast
local hv : GeometryStroke / 2 local hv : GeometryStroke / 2
local s GeometryStroke local s GeometryStroke
@ -258,9 +258,9 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1
do "Moon Phases" do "Moon Phases"
alias [MangleName 'newMoon'] [MangleUnicode 0x1F311] [MangleName 'blackCircle'] alias [MangleName 'newMoon'] [MangleUnicode 0x1F311] [MangleName 'blackCircle']
alias [MangleName 'firstQuarterMoon'] [MangleUnicode 0x1F313] [MangleName "uni\(0x25D0)"] alias [MangleName 'firstQuarterMoon'] [MangleUnicode 0x1F313] [MangleName : NameUni 0x25D0]
alias [MangleName 'fullMoon'] [MangleUnicode 0x1F315] [MangleName 'whiteCircle'] alias [MangleName 'fullMoon'] [MangleUnicode 0x1F315] [MangleName 'whiteCircle']
alias [MangleName 'lastQuarterMoon'] [MangleUnicode 0x1F317] [MangleName "uni\(0x25D1)"] alias [MangleName 'lastQuarterMoon'] [MangleUnicode 0x1F317] [MangleName : NameUni 0x25D1]
define [WaxingMoonMask] : union define [WaxingMoonMask] : union
MaskLeft Geom.MidX MaskLeft Geom.MidX

View file

@ -354,6 +354,7 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1
StdBlackShape DiamondFill 'blackCenteredDiamond' 0x2BC1 Size.Oblique StdBlackShape DiamondFill 'blackCenteredDiamond' 0x2BC1 Size.Oblique
StdWhiteShape DiamondFill 'whiteDiamond' 0x25C7 Size.Oblique StdWhiteShape DiamondFill 'whiteDiamond' 0x25C7 Size.Oblique
StdWhiteShape DiamondFill 'whiteDiamondOperatorImpl' null [Object.assign {.} Size.Oblique {.sw ([Math.sqrt 2] * [AdviceStroke 4])}]
StdBlackShape DiamondFill 'blackMediumDiamond' 0x2B25 Size.MediumOblique StdBlackShape DiamondFill 'blackMediumDiamond' 0x2B25 Size.MediumOblique
StdBlackShape DiamondFill 'blackSmallDiamond' 0x2B29 Size.SmallOblique StdBlackShape DiamondFill 'blackSmallDiamond' 0x2B29 Size.SmallOblique

View file

@ -228,6 +228,7 @@ glyph-block Symbol-Math-APL : begin
# APL uses White Circle and Arrows as operators, this function links them as APL form # APL uses White Circle and Arrows as operators, this function links them as APL form
# and fixes Unicode assignments # and fixes Unicode assignments
glyph-block-export LinkAplFormForNwidWwid
define [LinkAplFormForNwidWwid gn] : begin define [LinkAplFormForNwidWwid gn] : begin
define gWwid : query-glyph "\(gn).WWID" define gWwid : query-glyph "\(gn).WWID"
define gNwid : query-glyph "\(gn).NWID" define gNwid : query-glyph "\(gn).NWID"
@ -244,3 +245,16 @@ glyph-block Symbol-Math-APL : begin
LinkAplFormForNwidWwid 'arrowRight' LinkAplFormForNwidWwid 'arrowRight'
LinkAplFormForNwidWwid 'arrowUp' LinkAplFormForNwidWwid 'arrowUp'
LinkAplFormForNwidWwid 'arrowDown' LinkAplFormForNwidWwid 'arrowDown'
# BQN symbols
LinkAplFormForNwidWwid 'arrowUpDown'
LinkAplFormForNwidWwid 'arrowUpLeft'
LinkAplFormForNwidWwid 'arrowDownLeft'
LinkAplFormForNwidWwid 'hookArrowLeft'
LinkAplFormForNwidWwid 'arrowLeftRightHR'
LinkAplFormForNwidWwid 'dblArrowLeft'
LinkAplFormForNwidWwid 'uni231C'
LinkAplFormForNwidWwid 'uni2389'
LinkAplFormForNwidWwid 'uni238A'
LinkAplFormForNwidWwid 'uni25F6'
LinkAplFormForNwidWwid 'uni2687'

View file

@ -213,7 +213,8 @@ glyph-block Symbol-Math-Arith : begin
define radius : Math.max ((RightSB - SB) / 8) (fine / 2) define radius : Math.max ((RightSB - SB) / 8) (fine / 2)
define barOffset radius define barOffset radius
define dotCenterOffset : OX + fine + radius define dotCenterOffset : OX + fine + radius
create-glyph 'originalOf' 0x22b6 : glyph-proc
create-glyph 'originalOf' 0x22B6 : glyph-proc
include : difference include : difference
union union
HBar (SB + barOffset) (RightSB - barOffset) SymbolMid OperatorStroke HBar (SB + barOffset) (RightSB - barOffset) SymbolMid OperatorStroke
@ -221,7 +222,7 @@ glyph-block Symbol-Math-Arith : begin
DotAt (RightSB - dotCenterOffset) SymbolMid (radius + fine) DotAt (RightSB - dotCenterOffset) SymbolMid (radius + fine)
DotAt (SB + dotCenterOffset) SymbolMid radius DotAt (SB + dotCenterOffset) SymbolMid radius
create-glyph 'imageOf' 0x22b7 : glyph-proc create-glyph 'imageOf' 0x22B7 : glyph-proc
include : difference include : difference
union union
HBar (SB + barOffset) (RightSB - barOffset) SymbolMid OperatorStroke HBar (SB + barOffset) (RightSB - barOffset) SymbolMid OperatorStroke
@ -229,19 +230,26 @@ glyph-block Symbol-Math-Arith : begin
DotAt (RightSB - dotCenterOffset) SymbolMid (radius + fine) DotAt (RightSB - dotCenterOffset) SymbolMid (radius + fine)
DotAt (RightSB - dotCenterOffset) SymbolMid radius DotAt (RightSB - dotCenterOffset) SymbolMid radius
create-glyph 'multimap' 0x22b8 : glyph-proc define singleSideFine : AdviceStroke 4
define singleSideRadius : Math.max ((RightSB - SB) / 6) (singleSideFine / 2)
create-glyph 'multimap' 0x22B8 : glyph-proc
include : difference include : difference
union union
HBar SB (RightSB - barOffset) SymbolMid OperatorStroke HBar SB (RightSB - singleSideRadius) SymbolMid OperatorStroke
DotAt (RightSB - dotCenterOffset) SymbolMid (radius + fine) DotAt (RightSB - dotCenterOffset) SymbolMid (singleSideRadius + singleSideFine)
DotAt (RightSB - dotCenterOffset) SymbolMid radius DotAt (RightSB - dotCenterOffset) SymbolMid singleSideRadius
create-glyph 'leftMultimap' 0x27DC : glyph-proc create-glyph 'leftMultimap' 0x27DC : glyph-proc
include : difference include : difference
union union
HBar (SB + barOffset) RightSB SymbolMid OperatorStroke HBar (SB + singleSideRadius) RightSB SymbolMid OperatorStroke
DotAt (SB + dotCenterOffset) SymbolMid (radius + fine) DotAt (SB + dotCenterOffset) SymbolMid (singleSideRadius + singleSideFine)
DotAt (SB + dotCenterOffset) SymbolMid radius DotAt (SB + dotCenterOffset) SymbolMid singleSideRadius
create-glyph 'mathSmallCircle' 0x2218 : difference
DotAt Middle SymbolMid (singleSideRadius + singleSideFine)
DotAt Middle SymbolMid singleSideRadius
create-glyph 'wreathProduct' 0x2240 : glyph-proc create-glyph 'wreathProduct' 0x2240 : glyph-proc
include : dispiro include : dispiro

View file

@ -12,8 +12,7 @@ glyph-block Symbol-Math-Other : begin
alias 'mathBar' 0x2223 'bar' alias 'mathBar' 0x2223 'bar'
notGlyph null 0x2224 'mathBar' [mix SymbolMid BgOpTop 0.5] [mix SymbolMid BgOpBot 0.5] 0.1 notGlyph null 0x2224 'mathBar' [mix SymbolMid BgOpTop 0.5] [mix SymbolMid BgOpBot 0.5] 0.1
notGlyph null 0x2226 'parallel' [mix SymbolMid BgOpTop 0.5] [mix SymbolMid BgOpBot 0.5] 0 notGlyph null 0x2226 'parallel' [mix SymbolMid BgOpTop 0.5] [mix SymbolMid BgOpBot 0.5] 0
alias 'mathSmallCircle' 0x2218 'whiteSmallCircle.NWID' alias 'whiteDiamondOperator' 0x22C4 'whiteDiamondOperatorImpl.NWID'
alias 'whiteDiamondOperator' 0x22C4 'whiteDiamond.NWID'
alias 'mathstar' 0x22C6 'blackStar.NWID' alias 'mathstar' 0x22C6 'blackStar.NWID'
turned 'amalg' 0x2A3F 'grek/Pi' Middle (CAP / 2) turned 'amalg' 0x2A3F 'grek/Pi' Middle (CAP / 2)
turned 'turnAmpersand' 0x214B 'ampersand' Middle (CAP / 2) turned 'turnAmpersand' 0x214B 'ampersand' Middle (CAP / 2)

View file

@ -7,7 +7,6 @@ export : define [apply] : begin
run-glyph-module "./pictograph/atom.mjs" run-glyph-module "./pictograph/atom.mjs"
run-glyph-module "./pictograph/bolt-symbol.mjs" run-glyph-module "./pictograph/bolt-symbol.mjs"
run-glyph-module "./pictograph/checking-marks.mjs" run-glyph-module "./pictograph/checking-marks.mjs"
run-glyph-module "./pictograph/corner-shape.mjs"
run-glyph-module "./pictograph/faces.mjs" run-glyph-module "./pictograph/faces.mjs"
run-glyph-module "./pictograph/flags.mjs" run-glyph-module "./pictograph/flags.mjs"
run-glyph-module "./pictograph/heart.mjs" run-glyph-module "./pictograph/heart.mjs"

View file

@ -995,6 +995,11 @@ const Clean = task(`clean`, async () => {
build.deleteJournal(); build.deleteJournal();
}); });
const CleanDist = task(`clean-dist`, async () => {
await rm(DIST);
await rm(ARCHIVE_DIR);
});
const Release = task(`release`, async target => { const Release = task(`release`, async target => {
await target.need(ReleaseArchives, SampleImages, Pages, AmendReadme, ReleaseNotes, ChangeLog); await target.need(ReleaseArchives, SampleImages, Pages, AmendReadme, ReleaseNotes, ChangeLog);
}); });