Add _swRef arg to [UnicodeWeightGrade n _scl], default Stroke.

This commit is contained in:
John McWilliams 2025-05-03 06:49:47 -04:00
parent babb2c8ea4
commit 021d52d6b9
13 changed files with 76 additions and 71 deletions

5
changes/33.2.3.md Normal file
View file

@ -0,0 +1,5 @@
* Refine shape of the following characters:
- INFORMATION SOURCE (`U+2139`).
- TRIANGLE-HEADED RIGHTWARDS ARROW (`U+279D`).
- HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW (`U+279E`).
- MATHEMATICAL DOUBLE-STRUCK CAPITAL B (`U+1D539`).

View file

@ -190,12 +190,12 @@ export : define [calculateMetrics para] : begin
define GeometryStroke : AdviceStroke 4 define GeometryStroke : AdviceStroke 4
define ShoulderFine : Math.min (Stroke * para.shoulderFineMin) : AdviceStroke 24 define ShoulderFine : Math.min (Stroke * para.shoulderFineMin) : AdviceStroke 24
define [UnicodeWeightGrade n _scl] : begin define [UnicodeWeightGrade n _scl _swRef] : begin
define scl : fallback _scl 1 define scl : fallback _scl 1
define kw : 10 - scl - n / 200 define kw : 10 - scl - n / 200
define [mulPow s] : (0.25 + s / 8) * [StrokeWidthBlend 2 1] define [mulPow s] : (0.25 + s / 8) * [StrokeWidthBlend 2 1]
define kMul : [Math.pow (n / 100) : mulPow scl] / [Math.pow 4 : mulPow 2] define kMul : [Math.pow (n / 100) : mulPow scl] / [Math.pow 4 : mulPow 2]
define kAdj : GeometryStroke / [AdviceStroke 6] define kAdj : [fallback _swRef Stroke] / [AdviceStroke 6]
return : kMul * kAdj * [AdviceStroke kw] return : kMul * kAdj * [AdviceStroke kw]
define [AdviceGlottalStopArchDepth y sign] : begin define [AdviceGlottalStopArchDepth y sign] : begin

View file

@ -987,8 +987,8 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
define [SquiggleArrowBar kL kR] : begin define [SquiggleArrowBar kL kR] : begin
return : spiro-outline return : spiro-outline
SquiggleArrowBarSide 0.3 (-0.25) arrowSB arrowRSB kL kR (SymbolMid + arrowSw / 2) SquiggleArrowBarSide 0.3 (-0.25) arrowSB arrowRSB kL kR (SymbolMid + halfArrowSw)
[SquiggleArrowBarSide 0.25 (-0.3) arrowSB arrowRSB kL kR (SymbolMid - arrowSw / 2)].reverse [SquiggleArrowBarSide 0.25 (-0.3) arrowSB arrowRSB kL kR (SymbolMid - halfArrowSw)].reverse
create-glyph [MangleName 'squiggleArrowLeft'] [MangleUnicode 0x21DC] : glyph-proc create-glyph [MangleName 'squiggleArrowLeft'] [MangleUnicode 0x21DC] : glyph-proc
set-width MosaicWidth set-width MosaicWidth
@ -1006,8 +1006,8 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
define [LongSquiggleArrowBar kL kR] : begin define [LongSquiggleArrowBar kL kR] : begin
return : spiro-outline return : spiro-outline
SquiggleArrowBarSide 0.3 (-0.25) l r kL kR (SymbolMid + arrowSw / 2) SquiggleArrowBarSide 0.3 (-0.25) l r kL kR (SymbolMid + halfArrowSw)
[SquiggleArrowBarSide 0.25 (-0.3) l r kL kR (SymbolMid - arrowSw / 2)].reverse [SquiggleArrowBarSide 0.25 (-0.3) l r kL kR (SymbolMid - halfArrowSw)].reverse
create-glyph 'longSquiggleArrowLeft' 0x2B33 : glyph-proc create-glyph 'longSquiggleArrowLeft' 0x2B33 : glyph-proc
set-width MosaicWidth set-width MosaicWidth
@ -1062,7 +1062,7 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
MkArrow [ThickArrowShape 'blackSemiHookR'] [MangleName 'uni27A6'] [MangleUnicode 0x27A6] arrowSB SymbolMid arrowRSB SymbolMid MkArrow [ThickArrowShape 'blackSemiHookR'] [MangleName 'uni27A6'] [MangleUnicode 0x27A6] arrowSB SymbolMid arrowRSB SymbolMid
do "Barb arrows" do "Barb arrows"
define BarbHeavyWideHeaded : BarbArrowShape 0.25 : UnicodeWeightGrade 900 MosaicWidthScalar define BarbHeavyWideHeaded : BarbArrowShape 0.25 : UnicodeWeightGrade 900 MosaicWidthScalar GeometryStroke
MkArrow BarbHeavyWideHeaded [MangleName 'uni2794'] [MangleUnicode 0x2794] arrowSB SymbolMid arrowRSB SymbolMid MkArrow BarbHeavyWideHeaded [MangleName 'uni2794'] [MangleUnicode 0x2794] arrowSB SymbolMid arrowRSB SymbolMid
define [BarbGroup prefix b k w] : begin define [BarbGroup prefix b k w] : begin
@ -1105,18 +1105,18 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
MkArrow [WeightedTrigArrowShape sw w h] [MangleName "\(prefix)Right"] [MangleUnicode : b + 2] arrowSB SymbolMid arrowRSB SymbolMid MkArrow [WeightedTrigArrowShape sw w h] [MangleName "\(prefix)Right"] [MangleUnicode : b + 2] arrowSB SymbolMid arrowRSB SymbolMid
MkArrow [WeightedTrigArrowShape sw w h] [MangleName "\(prefix)Down"] [MangleUnicode : b + 3] arrowMidX arrowTop arrowMidX arrowBot MkArrow [WeightedTrigArrowShape sw w h] [MangleName "\(prefix)Down"] [MangleUnicode : b + 3] arrowMidX arrowTop arrowMidX arrowBot
TrigGroup 'trigArrowSmallHead' 0x1F800 [UnicodeWeightGrade 300 MosaicWidthScalar] Size.Small.size TrigGroup 'trigArrowSmallHead' 0x1F800 [UnicodeWeightGrade 300 MosaicWidthScalar GeometryStroke] Size.Small.size
TrigGroup 'trigArrowMediumHead' 0x1F804 [UnicodeWeightGrade 500 MosaicWidthScalar] Size.Medium.size TrigGroup 'trigArrowMediumHead' 0x1F804 [UnicodeWeightGrade 500 MosaicWidthScalar GeometryStroke] Size.Medium.size
TrigGroup 'trigArrowLargeHead' 0x1F808 [UnicodeWeightGrade 700 MosaicWidthScalar] Size.Large.size TrigGroup 'trigArrowLargeHead' 0x1F808 [UnicodeWeightGrade 700 MosaicWidthScalar GeometryStroke] Size.Large.size
TrigGroup 'trigArrowSmallEqHead' 0x1F810 [UnicodeWeightGrade 300 MosaicWidthScalar] Size.Small.size (Size.Small.size * eqHeight) TrigGroup 'trigArrowSmallEqHead' 0x1F810 [UnicodeWeightGrade 300 MosaicWidthScalar GeometryStroke] Size.Small.size (Size.Small.size * eqHeight)
TrigGroup 'trigArrowEqHead' 0x1F814 [UnicodeWeightGrade 400 MosaicWidthScalar] 1 eqHeight TrigGroup 'trigArrowEqHead' 0x1F814 [UnicodeWeightGrade 400 MosaicWidthScalar GeometryStroke] 1 eqHeight
TrigGroup 'trigArrowEqHeadHeavy' 0x1F818 [UnicodeWeightGrade 500 MosaicWidthScalar] 1 eqHeight TrigGroup 'trigArrowEqHeadHeavy' 0x1F818 [UnicodeWeightGrade 500 MosaicWidthScalar GeometryStroke] 1 eqHeight
TrigGroup 'trigArrowLargeEqHeadHeavy' 0x1F81C [UnicodeWeightGrade 700 MosaicWidthScalar] Size.Large.size (Size.Large.size * eqHeight) TrigGroup 'trigArrowLargeEqHeadHeavy' 0x1F81C [UnicodeWeightGrade 700 MosaicWidthScalar GeometryStroke] Size.Large.size (Size.Large.size * eqHeight)
TrigGroup 'trigArrowNarrowShaft' 0x1F820 [UnicodeWeightGrade 300 MosaicWidthScalar] 1 TrigGroup 'trigArrowNarrowShaft' 0x1F820 [UnicodeWeightGrade 300 MosaicWidthScalar GeometryStroke] 1
TrigGroup 'trigArrowMediumShaft' 0x1F824 [UnicodeWeightGrade 500 MosaicWidthScalar] 1 TrigGroup 'trigArrowMediumShaft' 0x1F824 [UnicodeWeightGrade 500 MosaicWidthScalar GeometryStroke] 1
TrigGroup 'trigArrowBoldShaft' 0x1F828 [UnicodeWeightGrade 700 MosaicWidthScalar] 1 TrigGroup 'trigArrowBoldShaft' 0x1F828 [UnicodeWeightGrade 700 MosaicWidthScalar GeometryStroke] 1
TrigGroup 'trigArrowHeavyShaft' 0x1F82C [UnicodeWeightGrade 900 MosaicWidthScalar] 1 TrigGroup 'trigArrowHeavyShaft' 0x1F82C [UnicodeWeightGrade 900 MosaicWidthScalar GeometryStroke] 1
TrigGroup 'trigArrowVeryHeavyShaft' 0x1F830 [UnicodeWeightGrade 1000 MosaicWidthScalar] 1 TrigGroup 'trigArrowVeryHeavyShaft' 0x1F830 [UnicodeWeightGrade 1000 MosaicWidthScalar GeometryStroke] 1
TrigGroup 'fingerPost' 0x1F834 (2 * (trigArrowSize - o)) 1 TrigGroup 'fingerPost' 0x1F834 (2 * (trigArrowSize - o)) 1
TrigGroup 'trigArrowHeavy' 0x1F844 (2 * (trigArrowSize - o)) kMedium TrigGroup 'trigArrowHeavy' 0x1F844 (2 * (trigArrowSize - o)) kMedium
@ -1124,12 +1124,12 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
TrigGroupSquat 'trigArrowCompressed' 0x1F83C (2 * Geom.Size * Size.Small.size) kMedium kSmall TrigGroupSquat 'trigArrowCompressed' 0x1F83C (2 * Geom.Size * Size.Small.size) kMedium kSmall
TrigGroupSquat 'trigArrowCompressedHeavy' 0x1F840 (2 * Geom.Size * Size.MediumSmall.size) kMedium kSmall TrigGroupSquat 'trigArrowCompressedHeavy' 0x1F840 (2 * Geom.Size * Size.MediumSmall.size) kMedium kSmall
MkArrow [WeightedTrigArrowShape [UnicodeWeightGrade 300 MosaicWidthScalar] 1] [MangleName "uni279D"] [MangleUnicode 0x279D] arrowSB SymbolMid arrowRSB SymbolMid MkArrow [WeightedTrigArrowShape [UnicodeWeightGrade 400 MosaicWidthScalar GeometryStroke] 1] [MangleName "uni279D"] [MangleUnicode 0x279D] arrowSB SymbolMid arrowRSB SymbolMid
MkArrow [WeightedTrigArrowShape [UnicodeWeightGrade 700 MosaicWidthScalar] 1] [MangleName "uni279E"] [MangleUnicode 0x279E] arrowSB SymbolMid arrowRSB SymbolMid MkArrow [WeightedTrigArrowShape [UnicodeWeightGrade 900 MosaicWidthScalar GeometryStroke] 1] [MangleName "uni279E"] [MangleUnicode 0x279E] arrowSB SymbolMid arrowRSB SymbolMid
MkArrow [WeightedTrigArrowShape (2 * Geom.Size * Size.Medium.size) kMedium kSmall] [MangleName "trigArrowSquatBlackRight"] [MangleUnicode 0x27A7] (arrowMidX - squatRange) SymbolMid (arrowMidX + squatRange) SymbolMid MkArrow [WeightedTrigArrowShape (2 * Geom.Size * Size.Medium.size) kMedium kSmall] [MangleName "trigArrowSquatBlackRight"] [MangleUnicode 0x27A7] (arrowMidX - squatRange) SymbolMid (arrowMidX + squatRange) SymbolMid
do "Round-stroke arrows" do "Round-stroke arrows"
define sw : UnicodeWeightGrade 900 MosaicWidthScalar define sw : UnicodeWeightGrade 900 MosaicWidthScalar GeometryStroke
MkArrow [RoundArrow.Shape sw] [MangleName 'heavyRoundArrowRight'] [MangleUnicode 0x279C] arrowSB SymbolMid arrowRSB SymbolMid MkArrow [RoundArrow.Shape sw] [MangleName 'heavyRoundArrowRight'] [MangleUnicode 0x279C] arrowSB SymbolMid arrowRSB SymbolMid
do "Sans-serif Arrows" do "Sans-serif Arrows"

View file

@ -37,8 +37,8 @@ glyph-block Symbol-Geometric-Ballot-Box : for-width-kinds WideWidth1
define bbGap : Math.max (Geom.Size / 6) [AdviceStroke 5 Geom.Scalar] define bbGap : Math.max (Geom.Size / 6) [AdviceStroke 5 Geom.Scalar]
define swMark : Math.min GeometryStroke : AdviceStroke 5 Geom.Scalar define swMark : Math.min GeometryStroke : AdviceStroke 5 Geom.Scalar
define lightSwMark : UnicodeWeightGrade 300 Geom.Scalar define lightSwMark : UnicodeWeightGrade 300 Geom.Scalar GeometryStroke
define boldSwMark : UnicodeWeightGrade 700 Geom.Scalar define boldSwMark : UnicodeWeightGrade 700 Geom.Scalar GeometryStroke
define bbSize : Geom.Size - bbGap - swMark * 0.75 define bbSize : Geom.Size - bbGap - swMark * 0.75
define circXSize : (Geom.Size - bbGap) * Math.SQRT1_2 - swMark * 0.75 define circXSize : (Geom.Size - bbGap) * Math.SQRT1_2 - swMark * 0.75

View file

@ -237,7 +237,7 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1
do "Diamond minus white X" do "Diamond minus white X"
create-glyph [MangleName "blackDiamondMinusWhiteX"] [MangleUnicode 0x2756] : glyph-proc create-glyph [MangleName "blackDiamondMinusWhiteX"] [MangleUnicode 0x2756] : glyph-proc
set-width Geom.Width set-width Geom.Width
local gap : Math.max (0.2 * Geom.Size) [UnicodeWeightGrade 400 Geom.Scalar] local gap : Math.max (0.2 * Geom.Size) [UnicodeWeightGrade 400 Geom.Scalar GeometryStroke]
include : difference include : difference
refer-glyph : MangleName "blackDiamond" refer-glyph : MangleName "blackDiamond"
dispiro dispiro

View file

@ -136,12 +136,12 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1
StdBlackShape SquareShape 'blackSquare' 0x25A0 StdBlackShape SquareShape 'blackSquare' 0x25A0
StdWhiteShape SquareShape 'whiteSquare' 0x25A1 StdWhiteShape SquareShape 'whiteSquare' 0x25A1
StdWhiteShape SquareShape 'lightWhiteSquare' 0x1F78E {.sw [UnicodeWeightGrade 300 Geom.Scalar]} StdWhiteShape SquareShape 'lightWhiteSquare' 0x1F78E {.sw [UnicodeWeightGrade 300 Geom.Scalar GeometryStroke]}
StdWhiteShape SquareShape 'mediumWhiteSquare' 0x1F78F {.sw [UnicodeWeightGrade 500 Geom.Scalar]} StdWhiteShape SquareShape 'mediumWhiteSquare' 0x1F78F {.sw [UnicodeWeightGrade 500 Geom.Scalar GeometryStroke]}
StdWhiteShape SquareShape 'boldWhiteSquare' 0x1F790 {.sw [UnicodeWeightGrade 700 Geom.Scalar]} StdWhiteShape SquareShape 'boldWhiteSquare' 0x1F790 {.sw [UnicodeWeightGrade 700 Geom.Scalar GeometryStroke]}
StdWhiteShape SquareShape 'heavyWhiteSquare' 0x1F791 {.sw [UnicodeWeightGrade 900 Geom.Scalar]} StdWhiteShape SquareShape 'heavyWhiteSquare' 0x1F791 {.sw [UnicodeWeightGrade 900 Geom.Scalar GeometryStroke]}
StdWhiteShape SquareShape 'veryHeavyWhiteSquare' 0x1F792 {.sw [UnicodeWeightGrade 1000 Geom.Scalar]} StdWhiteShape SquareShape 'veryHeavyWhiteSquare' 0x1F792 {.sw [UnicodeWeightGrade 1000 Geom.Scalar GeometryStroke]}
StdWhiteShape SquareShape 'exHeavyWhiteSquare' 0x1F793 {.sw [UnicodeWeightGrade 1100 Geom.Scalar]} StdWhiteShape SquareShape 'exHeavyWhiteSquare' 0x1F793 {.sw [UnicodeWeightGrade 1100 Geom.Scalar GeometryStroke]}
StdBlackShape SquareShape 'blackLargeSquare' 0x2B1B Size.Large StdBlackShape SquareShape 'blackLargeSquare' 0x2B1B Size.Large
StdBlackShape SquareShape 'blackMediumSquare' 0x25FC Size.Medium StdBlackShape SquareShape 'blackMediumSquare' 0x25FC Size.Medium
@ -161,7 +161,7 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1
StdWhiteContainingBlackShape SquareShape 'whiteSquareWithCenter' 0x25A3 StdWhiteContainingBlackShape SquareShape 'whiteSquareWithCenter' 0x25A3
StdWhiteContainingBlackShape SquareShape 'whiteSquareContainingBlackVerySmallSquare' 0x1F794 Size.TinyInner StdWhiteContainingBlackShape SquareShape 'whiteSquareContainingBlackVerySmallSquare' 0x1F794 Size.TinyInner
StdWhiteContainingBlackShape SquareShape 'whiteSquareContainingBlackMediumSquare' 0x1F795 Size.MediumInner StdWhiteContainingBlackShape SquareShape 'whiteSquareContainingBlackMediumSquare' 0x1F795 Size.MediumInner
StdWhiteContainingBlackShape SquareShape 'heavyWhiteSquareContainingBlackMediumSquare' 0x1CE05 : Object.assign Size.TinyInner {.sw [UnicodeWeightGrade 900 Geom.Scalar]} StdWhiteContainingBlackShape SquareShape 'heavyWhiteSquareContainingBlackMediumSquare' 0x1CE05 : Object.assign Size.TinyInner {.sw [UnicodeWeightGrade 900 Geom.Scalar GeometryStroke]}
StdGeomTargetShape SquareShape 'squareTarget' 0x1F796 StdGeomTargetShape SquareShape 'squareTarget' 0x1F796
@ -447,7 +447,7 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1
g4 [mix cx [mix cx (cx - size) 0.5] p] [mix cy [mix (cy + size) cy 0.5] p] g4 [mix cx [mix cx (cx - size) 0.5] p] [mix cy [mix (cy + size) cy 0.5] p]
close close
StdWhiteShape DiamondLazongeShape 'whiteConcaveSidedDiamond' 0x27E1 [Object.assign {.} Size.Oblique {.sw (Math.SQRT2 * [UnicodeWeightGrade 600 Geom.Scalar])}] StdWhiteShape DiamondLazongeShape 'whiteConcaveSidedDiamond' 0x27E1 [Object.assign {.} Size.Oblique {.sw (Math.SQRT2 * [UnicodeWeightGrade 600 Geom.Scalar GeometryStroke])}]
StdBlackShape DiamondLazongeShape 'lightFourPointedBlackCusp' 0x2BCC Size.Oblique StdBlackShape DiamondLazongeShape 'lightFourPointedBlackCusp' 0x2BCC Size.Oblique
StdWhiteShape DiamondLazongeShape 'whiteFourPointedBlackCusp' 0x2BCE Size.ObliqueSA StdWhiteShape DiamondLazongeShape 'whiteFourPointedBlackCusp' 0x2BCE Size.ObliqueSA
@ -472,12 +472,12 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1
StdBlackShape CircleShape 'blackCircle' 0x25CF StdBlackShape CircleShape 'blackCircle' 0x25CF
StdWhiteShape CircleShape 'whiteCircle' 0x25CB StdWhiteShape CircleShape 'whiteCircle' 0x25CB
StdWhiteShape CircleShape 'mediumWhiteCircle' 0x1F785 {.sw [UnicodeWeightGrade 600 Geom.Scalar]} StdWhiteShape CircleShape 'mediumWhiteCircle' 0x1F785 {.sw [UnicodeWeightGrade 600 Geom.Scalar GeometryStroke]}
StdWhiteShape CircleShape 'boldWhiteCircle' 0x1F786 {.sw [UnicodeWeightGrade 700 Geom.Scalar]} StdWhiteShape CircleShape 'boldWhiteCircle' 0x1F786 {.sw [UnicodeWeightGrade 700 Geom.Scalar GeometryStroke]}
StdWhiteShape CircleShape 'heavyWhiteCircle' 0x1F787 {.sw [UnicodeWeightGrade 900 Geom.Scalar]} StdWhiteShape CircleShape 'heavyWhiteCircle' 0x1F787 {.sw [UnicodeWeightGrade 900 Geom.Scalar GeometryStroke]}
StdWhiteShape CircleShape 'veryHeavyWhiteCircle' 0x1F788 {.sw [UnicodeWeightGrade 1000 Geom.Scalar]} StdWhiteShape CircleShape 'veryHeavyWhiteCircle' 0x1F788 {.sw [UnicodeWeightGrade 1000 Geom.Scalar GeometryStroke]}
StdWhiteShape CircleShape 'exHeavyWhiteCircle' 0x1F789 {.sw [UnicodeWeightGrade 1100 Geom.Scalar]} StdWhiteShape CircleShape 'exHeavyWhiteCircle' 0x1F789 {.sw [UnicodeWeightGrade 1100 Geom.Scalar GeometryStroke]}
StdWhiteShape CircleShape 'heavyLargeCircle' 0x2B55 [Object.assign {.sw [UnicodeWeightGrade 900 Geom.Scalar]} Size.Large] StdWhiteShape CircleShape 'heavyLargeCircle' 0x2B55 [Object.assign {.sw [UnicodeWeightGrade 900 Geom.Scalar GeometryStroke]} Size.Large]
StdBlackShape CircleShape 'blackVerySmallCircle' null Size.VerySmall StdBlackShape CircleShape 'blackVerySmallCircle' null Size.VerySmall
StdBlackShape CircleShape 'blackSmallCircle' null Size.Small StdBlackShape CircleShape 'blackSmallCircle' null Size.Small
@ -572,7 +572,7 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1
define [PentagramSw c] {.sw ([AdviceStroke c : Math.sqrt Geom.Scalar] * [Math.sqrt 5])} define [PentagramSw c] {.sw ([AdviceStroke c : Math.sqrt Geom.Scalar] * [Math.sqrt 5])}
StdBlackShape [RegularPolygonFill 5 2 1.1 0] 'blackStar' 0x2605 StdBlackShape [RegularPolygonFill 5 2 1.1 0] 'blackStar' 0x2605
StdWhiteShape [RegularPolygonFill 5 2 1.1 0] 'whiteStar' 0x2606 [PentagramSw 5.5] StdWhiteShape [RegularPolygonFill 5 2 1.1 0] 'whiteStar' 0x2606 [PentagramSw 5.5]
StdWhiteShape [RegularPolygonFill 5 2 1.1 0] 'lightWhiteStar' null {.sw ([UnicodeWeightGrade 300 : Math.sqrt Geom.Scalar] * [Math.sqrt 5])} StdWhiteShape [RegularPolygonFill 5 2 1.1 0] 'lightWhiteStar' null {.sw ([UnicodeWeightGrade 300 [Math.sqrt Geom.Scalar] GeometryStroke] * [Math.sqrt 5])}
StdWhiteShape [RegularPolygonFill 5 2 1.1 0] 'whiteMediumStar' 0x2B50 [Object.assign [PentagramSw 7] Size.Medium] StdWhiteShape [RegularPolygonFill 5 2 1.1 0] 'whiteMediumStar' 0x2B50 [Object.assign [PentagramSw 7] Size.Medium]
StdBlackShape [RegularPolygonFill 5 2 1.1 0] 'blackSmallStar' 0x2B51 Size.Small StdBlackShape [RegularPolygonFill 5 2 1.1 0] 'blackSmallStar' 0x2B51 Size.Small
StdWhiteShape [RegularPolygonFill 5 2 1.1 0] 'whiteSmallStar' 0x2B52 [Object.assign [PentagramSw 3] Size.Small] StdWhiteShape [RegularPolygonFill 5 2 1.1 0] 'whiteSmallStar' 0x2B52 [Object.assign [PentagramSw 3] Size.Small]

View file

@ -97,11 +97,11 @@ glyph-block Symbol-Geometric-Rotational : begin
for-width-kinds WideWidth1 : begin for-width-kinds WideWidth1 : begin
define Geom : GeometricDim MosaicUnitWidth MosaicWidth define Geom : GeometricDim MosaicUnitWidth MosaicWidth
define lightSw : UnicodeWeightGrade 300 Geom.Scalar define lightSw : UnicodeWeightGrade 300 Geom.Scalar GeometryStroke
define normalSw : UnicodeWeightGrade 400 Geom.Scalar define normalSw : UnicodeWeightGrade 400 Geom.Scalar GeometryStroke
define semiBoldSw : UnicodeWeightGrade 600 Geom.Scalar define semiBoldSw : UnicodeWeightGrade 600 Geom.Scalar GeometryStroke
define boldSw : UnicodeWeightGrade 700 Geom.Scalar define boldSw : UnicodeWeightGrade 700 Geom.Scalar GeometryStroke
define heavySw : UnicodeWeightGrade 900 Geom.Scalar define heavySw : UnicodeWeightGrade 900 Geom.Scalar GeometryStroke
define [for-rotational-pointing sides phase mag gap fn] : begin define [for-rotational-pointing sides phase mag gap fn] : begin
local shapes {} local shapes {}

View file

@ -140,7 +140,7 @@ glyph-block Symbol-Geometric-Shaded-Narrow : for-width-kinds WideWidth4
define Geom : GeometricDim MosaicUnitWidth MosaicWidth define Geom : GeometricDim MosaicUnitWidth MosaicWidth
create-glyph [MangleName 'symbolForDeleteFormTwo'] [MangleUnicode 0x2425] : glyph-proc create-glyph [MangleName 'symbolForDeleteFormTwo'] [MangleUnicode 0x2425] : glyph-proc
local sw : UnicodeWeightGrade 300 Geom.Scalar local sw : UnicodeWeightGrade 300 Geom.Scalar GeometryStroke
local gap : 0.75 * sw + [Math.max (Geom.Size * 0.125) (sw / 2)] local gap : 0.75 * sw + [Math.max (Geom.Size * 0.125) (sw / 2)]
set-width Geom.Width set-width Geom.Width
include : intersection include : intersection

View file

@ -32,18 +32,18 @@ glyph-block Symbol-Geometric-Stars : for-width-kinds WideWidth1
Geom.MidY + Geom.Size * mag * [Math.cos angle] Geom.MidY + Geom.Size * mag * [Math.cos angle]
include : spiro-outline corners include : spiro-outline corners
define extThinSw : UnicodeWeightGrade 100 Geom.Scalar define extThinSw : UnicodeWeightGrade 100 Geom.Scalar GeometryStroke
define extLightSw : UnicodeWeightGrade 200 Geom.Scalar define extLightSw : UnicodeWeightGrade 200 Geom.Scalar GeometryStroke
define lightSw : UnicodeWeightGrade 300 Geom.Scalar define lightSw : UnicodeWeightGrade 300 Geom.Scalar GeometryStroke
define semiLightSw : UnicodeWeightGrade 350 Geom.Scalar define semiLightSw : UnicodeWeightGrade 350 Geom.Scalar GeometryStroke
define normalSw : UnicodeWeightGrade 400 Geom.Scalar define normalSw : UnicodeWeightGrade 400 Geom.Scalar GeometryStroke
define mediumSw : UnicodeWeightGrade 500 Geom.Scalar define mediumSw : UnicodeWeightGrade 500 Geom.Scalar GeometryStroke
define semiBoldSw : UnicodeWeightGrade 600 Geom.Scalar define semiBoldSw : UnicodeWeightGrade 600 Geom.Scalar GeometryStroke
define boldSw : UnicodeWeightGrade 700 Geom.Scalar define boldSw : UnicodeWeightGrade 700 Geom.Scalar GeometryStroke
define exBoldSw : UnicodeWeightGrade 800 Geom.Scalar define exBoldSw : UnicodeWeightGrade 800 Geom.Scalar GeometryStroke
define heavySw : UnicodeWeightGrade 900 Geom.Scalar define heavySw : UnicodeWeightGrade 900 Geom.Scalar GeometryStroke
define veryHeavySw : UnicodeWeightGrade 1000 Geom.Scalar define veryHeavySw : UnicodeWeightGrade 1000 Geom.Scalar GeometryStroke
define exHeavySw : UnicodeWeightGrade 1100 Geom.Scalar define exHeavySw : UnicodeWeightGrade 1100 Geom.Scalar GeometryStroke
define AsteriskCfg : list define AsteriskCfg : list
* { .name 'saltire' .unicode 0x2613 .sides 4 .phase (1/8) .sw normalSw } * { .name 'saltire' .unicode 0x2613 .sides 4 .phase (1/8) .sw normalSw }

View file

@ -200,6 +200,7 @@ glyph-block Symbol-Letter : begin
glyph-block-import Common-Derivatives glyph-block-import Common-Derivatives
glyph-block-import Letter-Latin-X : XStrand glyph-block-import Letter-Latin-X : XStrand
glyph-block-import Letter-Shared-Shapes : FlatHookDepth glyph-block-import Letter-Shared-Shapes : FlatHookDepth
glyph-block-import Mark-Above : aboveMarkMid
alias 'eulerConst' 0x2107 'latn/Epsilon' alias 'eulerConst' 0x2107 'latn/Epsilon'
alias 'scruple' 0x2108 'cyrl/E' alias 'scruple' 0x2108 'cyrl/E'
@ -339,7 +340,7 @@ glyph-block Symbol-Letter : begin
include : HSerif.lt (Middle - [HSwToV : 0.5 * sw]) XH (LongJut / 2) include : HSerif.lt (Middle - [HSwToV : 0.5 * sw]) XH (LongJut / 2)
include : HSerif.lb (Middle - [HSwToV : 0.5 * sw]) 0 (LongJut / 2) include : HSerif.lb (Middle - [HSwToV : 0.5 * sw]) 0 (LongJut / 2)
include : HSerif.rb (Middle + [HSwToV : 0.5 * sw]) 0 (LongJut / 2) include : HSerif.rb (Middle + [HSwToV : 0.5 * sw]) 0 (LongJut / 2)
include : DotAt Middle (XH + AccentStackOffset) (DotRadius * sw / Stroke) include : DotAt Middle aboveMarkMid (DotRadius * sw / Stroke)
turned 'turnAmpersand' 0x214B 'ampersand' Middle (CAP / 2) turned 'turnAmpersand' 0x214B 'ampersand' Middle (CAP / 2)

View file

@ -11,9 +11,8 @@ glyph-block Symbol-Pictograph-Checking-Marks : begin
for-width-kinds WideWidth1 : do for-width-kinds WideWidth1 : do
define Geom : GeometricDim MosaicUnitWidth MosaicWidth define Geom : GeometricDim MosaicUnitWidth MosaicWidth
define lightSw : UnicodeWeightGrade 300 Geom.Scalar define lightSw : UnicodeWeightGrade 300 Geom.Scalar GeometryStroke
# define mediumSw : UnicodeWeightGrade 500 Geom.Scalar define heavySw : UnicodeWeightGrade 900 Geom.Scalar GeometryStroke
define heavySw : UnicodeWeightGrade 900 Geom.Scalar
define ptMaxWidth : MosaicWidth - SB define ptMaxWidth : MosaicWidth - SB
define ptHeight0 : 1.5 * (Width - SB / 2) * ((MosaicWidth / MosaicUnitWidth) ** (1 / 4)) define ptHeight0 : 1.5 * (Width - SB / 2) * ((MosaicWidth / MosaicUnitWidth) ** (1 / 4))
@ -70,9 +69,9 @@ glyph-block Symbol-Pictograph-Checking-Marks : begin
do "Decorative angular brackets" do "Decorative angular brackets"
define Geom : GeometricDim Width Width define Geom : GeometricDim Width Width
define mediumSw : UnicodeWeightGrade 500 Geom.Scalar define mediumSw : UnicodeWeightGrade 500 Geom.Scalar GeometryStroke
define heavySw : UnicodeWeightGrade 900 Geom.Scalar define heavySw : UnicodeWeightGrade 900 Geom.Scalar GeometryStroke
define xHeavySw : UnicodeWeightGrade 1100 Geom.Scalar define xHeavySw : UnicodeWeightGrade 1100 Geom.Scalar GeometryStroke
define HeightConfig : object define HeightConfig : object
# suffix width scale height scale # suffix width scale height scale

View file

@ -16,9 +16,9 @@ glyph-block Symbol-Geometric-Clock : for-width-kinds WideWidth1
define pMin 0.8 define pMin 0.8
define pSec 0.9 define pSec 0.9
define extLightSw : UnicodeWeightGrade 200 Geom.Scalar define extLightSw : UnicodeWeightGrade 200 Geom.Scalar GeometryStroke
define lightSw : UnicodeWeightGrade 300 Geom.Scalar define lightSw : UnicodeWeightGrade 300 Geom.Scalar GeometryStroke
define mediumSw : UnicodeWeightGrade 500 Geom.Scalar define mediumSw : UnicodeWeightGrade 500 Geom.Scalar GeometryStroke
define dotSize : Math.max (0.6 * mediumSw) (0.1 * Geom.Size) define dotSize : Math.max (0.6 * mediumSw) (0.1 * Geom.Size)

View file

@ -13,9 +13,9 @@ glyph-block Symbol-Cross : for-width-kinds WideWidth1
define Geom : GeometricDim MosaicUnitWidth MosaicWidth define Geom : GeometricDim MosaicUnitWidth MosaicWidth
define Size : GeometricSizes Geom define Size : GeometricSizes Geom
define normalSw : UnicodeWeightGrade 400 Geom.Scalar define normalSw : UnicodeWeightGrade 400 Geom.Scalar GeometryStroke
define mediumSw : UnicodeWeightGrade 500 Geom.Scalar define mediumSw : UnicodeWeightGrade 500 Geom.Scalar GeometryStroke
define heavySw : UnicodeWeightGrade 900 Geom.Scalar define heavySw : UnicodeWeightGrade 900 Geom.Scalar GeometryStroke
define pBottom 2 define pBottom 2
define pShortBar 0.6 define pShortBar 0.6