Merge pull request #2757 from jmcwilliams403/UnicodeWeightGrade
Refine glyph shape of Information Source (`U+2139`).
This commit is contained in:
commit
85c49f6e6d
13 changed files with 94 additions and 88 deletions
5
changes/33.2.3.md
Normal file
5
changes/33.2.3.md
Normal 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`).
|
|
@ -39,7 +39,7 @@ export : define [calculateMetrics para] : begin
|
|||
|
||||
# Transform constructors
|
||||
define [Italify angle shift] : begin
|
||||
local slope : Math.tan ([fallback angle para.slopeAngle] / 180 * Math.PI)
|
||||
local slope : Math.tan : [fallback angle para.slopeAngle] / 180 * Math.PI
|
||||
return : new Transform 1 slope 0 1 [fallback shift : (-slope) * SymbolMid] 0
|
||||
define [Upright angle shift] [Italify angle shift :.inverse]
|
||||
define [Scale sx sy] : new Transform sx 0 0 [fallback sy sx] 0 0
|
||||
|
@ -49,16 +49,16 @@ export : define [calculateMetrics para] : begin
|
|||
|
||||
define GlobalTransform : Italify para.slopeAngle
|
||||
define TanSlope GlobalTransform.xy
|
||||
define SinSlope : Math.sin (para.slopeAngle / 180 * Math.PI)
|
||||
define CosSlope : Math.cos (para.slopeAngle / 180 * Math.PI)
|
||||
define SinSlope : Math.sin : para.slopeAngle / 180 * Math.PI
|
||||
define CosSlope : Math.cos : para.slopeAngle / 180 * Math.PI
|
||||
define HVContrast : Contrast * CosSlope + SinSlope * TanSlope
|
||||
define [HSwToV sw] : sw * HVContrast
|
||||
define [VSwToH sw] : sw / HVContrast
|
||||
|
||||
# Orient parameters
|
||||
define Upward : new Point Point.Type.Corner (-HVContrast) 0
|
||||
define Downward : new Point Point.Type.Corner HVContrast 0
|
||||
define Rightward : new Point Point.Type.Corner 0 1
|
||||
define Downward : new Point Point.Type.Corner (+HVContrast) 0
|
||||
define Rightward : new Point Point.Type.Corner 0 (+1)
|
||||
define Leftward : new Point Point.Type.Corner 0 (-1)
|
||||
|
||||
# Style parameters
|
||||
|
@ -77,7 +77,7 @@ export : define [calculateMetrics para] : begin
|
|||
define SmallArchDepth para.smallArchDepth
|
||||
|
||||
# Weight Control
|
||||
define BaseFillRate : Math.min 0.95 : 2 * HVContrast * para.stroke / (Width - SB * 2)
|
||||
define BaseFillRate : Math.min 0.95 : [HSwToV : 2 * para.stroke] / (Width - SB * 2)
|
||||
define WeightControlFactor : [Math.atanh BaseFillRate] / BaseFillRate
|
||||
define [StrokeWeightControlSigmoid x] : Math.tanh : WeightControlFactor * x
|
||||
|
||||
|
@ -112,22 +112,22 @@ export : define [calculateMetrics para] : begin
|
|||
define AccentStackOffset para.accentStackOffset
|
||||
define AccentWidth para.accentWidth
|
||||
define AccentClearance para.accentClearance
|
||||
define AccentHeight para.accentHeight
|
||||
define AccentHeight para.accentHeight
|
||||
|
||||
define CThin : fallback para.cthin 0.75
|
||||
define CThinB : fallback para.cthinb 0.5
|
||||
define CThin : fallback para.cthin 0.75
|
||||
define CThinB : fallback para.cthinb 0.50
|
||||
|
||||
define SLAB para.slab
|
||||
|
||||
define [IBalance df] : df.adws * df.adws * [fallback para.ibalance (LongJut * 0.04)] # Serifed
|
||||
define [IBalance2 df] : df.adws * [fallback para.ibalance2 (LongJut * 0.14)] # Hooky, Tailed
|
||||
define JBalance : fallback para.jbalance 0
|
||||
define JBalance2 : fallback para.jbalance2 (QuarterStroke + LongJut * 0.04)
|
||||
define TBalance : fallback para.tbalance JBalance
|
||||
define JBalance : fallback para.jbalance 0
|
||||
define JBalance2 : fallback para.jbalance2 (LongJut * 0.04 + QuarterStroke)
|
||||
define TBalance : fallback para.tbalance JBalance
|
||||
define TBalance2 : fallback para.tbalance2 TBalance
|
||||
define RBalance : fallback para.rbalance (JBalance * 0.3)
|
||||
define RBalance2 : fallback para.rbalance2 0
|
||||
define FBalance : fallback para.fbalance 0
|
||||
define FBalance : fallback para.fbalance 0
|
||||
define OneBalance : fallback para.onebalance 0
|
||||
|
||||
# derived metrics
|
||||
|
@ -190,11 +190,12 @@ export : define [calculateMetrics para] : begin
|
|||
define GeometryStroke : AdviceStroke 4
|
||||
define ShoulderFine : Math.min (Stroke * para.shoulderFineMin) : AdviceStroke 24
|
||||
|
||||
define [UnicodeWeightGrade n s] : begin
|
||||
define kw : 10 - s - n / 200
|
||||
define [mulPow ss] : (0.25 + ss / 8) * [StrokeWidthBlend 2 1]
|
||||
define kMul : [Math.pow (n / 100) : mulPow s] / [Math.pow 4 : mulPow 2]
|
||||
define kAdj : GeometryStroke / [AdviceStroke 6]
|
||||
define [UnicodeWeightGrade n _scl _swRef] : begin
|
||||
define scl : fallback _scl 1
|
||||
define kw : 10 - scl - n / 200
|
||||
define [mulPow s] : (0.25 + s / 8) * [StrokeWidthBlend 2 1]
|
||||
define kMul : [Math.pow (n / 100) : mulPow scl] / [Math.pow 4 : mulPow 2]
|
||||
define kAdj : [fallback _swRef Stroke] / [AdviceStroke 6]
|
||||
return : kMul * kAdj * [AdviceStroke kw]
|
||||
|
||||
define [AdviceGlottalStopArchDepth y sign] : begin
|
||||
|
|
|
@ -987,8 +987,8 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
|||
|
||||
define [SquiggleArrowBar kL kR] : begin
|
||||
return : spiro-outline
|
||||
SquiggleArrowBarSide 0.3 (-0.25) arrowSB arrowRSB kL kR (SymbolMid + arrowSw / 2)
|
||||
[SquiggleArrowBarSide 0.25 (-0.3) arrowSB arrowRSB kL kR (SymbolMid - arrowSw / 2)].reverse
|
||||
SquiggleArrowBarSide 0.3 (-0.25) arrowSB arrowRSB kL kR (SymbolMid + halfArrowSw)
|
||||
[SquiggleArrowBarSide 0.25 (-0.3) arrowSB arrowRSB kL kR (SymbolMid - halfArrowSw)].reverse
|
||||
|
||||
create-glyph [MangleName 'squiggleArrowLeft'] [MangleUnicode 0x21DC] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
|
@ -1006,8 +1006,8 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
|||
|
||||
define [LongSquiggleArrowBar kL kR] : begin
|
||||
return : spiro-outline
|
||||
SquiggleArrowBarSide 0.3 (-0.25) l r kL kR (SymbolMid + arrowSw / 2)
|
||||
[SquiggleArrowBarSide 0.25 (-0.3) l r kL kR (SymbolMid - arrowSw / 2)].reverse
|
||||
SquiggleArrowBarSide 0.3 (-0.25) l r kL kR (SymbolMid + halfArrowSw)
|
||||
[SquiggleArrowBarSide 0.25 (-0.3) l r kL kR (SymbolMid - halfArrowSw)].reverse
|
||||
|
||||
create-glyph 'longSquiggleArrowLeft' 0x2B33 : glyph-proc
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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)Down"] [MangleUnicode : b + 3] arrowMidX arrowTop arrowMidX arrowBot
|
||||
|
||||
TrigGroup 'trigArrowSmallHead' 0x1F800 [UnicodeWeightGrade 300 MosaicWidthScalar] Size.Small.size
|
||||
TrigGroup 'trigArrowMediumHead' 0x1F804 [UnicodeWeightGrade 500 MosaicWidthScalar] Size.Medium.size
|
||||
TrigGroup 'trigArrowLargeHead' 0x1F808 [UnicodeWeightGrade 700 MosaicWidthScalar] Size.Large.size
|
||||
TrigGroup 'trigArrowSmallEqHead' 0x1F810 [UnicodeWeightGrade 300 MosaicWidthScalar] Size.Small.size (Size.Small.size * eqHeight)
|
||||
TrigGroup 'trigArrowEqHead' 0x1F814 [UnicodeWeightGrade 400 MosaicWidthScalar] 1 eqHeight
|
||||
TrigGroup 'trigArrowEqHeadHeavy' 0x1F818 [UnicodeWeightGrade 500 MosaicWidthScalar] 1 eqHeight
|
||||
TrigGroup 'trigArrowLargeEqHeadHeavy' 0x1F81C [UnicodeWeightGrade 700 MosaicWidthScalar] Size.Large.size (Size.Large.size * eqHeight)
|
||||
TrigGroup 'trigArrowNarrowShaft' 0x1F820 [UnicodeWeightGrade 300 MosaicWidthScalar] 1
|
||||
TrigGroup 'trigArrowMediumShaft' 0x1F824 [UnicodeWeightGrade 500 MosaicWidthScalar] 1
|
||||
TrigGroup 'trigArrowBoldShaft' 0x1F828 [UnicodeWeightGrade 700 MosaicWidthScalar] 1
|
||||
TrigGroup 'trigArrowHeavyShaft' 0x1F82C [UnicodeWeightGrade 900 MosaicWidthScalar] 1
|
||||
TrigGroup 'trigArrowVeryHeavyShaft' 0x1F830 [UnicodeWeightGrade 1000 MosaicWidthScalar] 1
|
||||
TrigGroup 'trigArrowSmallHead' 0x1F800 [UnicodeWeightGrade 300 MosaicWidthScalar GeometryStroke] Size.Small.size
|
||||
TrigGroup 'trigArrowMediumHead' 0x1F804 [UnicodeWeightGrade 500 MosaicWidthScalar GeometryStroke] Size.Medium.size
|
||||
TrigGroup 'trigArrowLargeHead' 0x1F808 [UnicodeWeightGrade 700 MosaicWidthScalar GeometryStroke] Size.Large.size
|
||||
TrigGroup 'trigArrowSmallEqHead' 0x1F810 [UnicodeWeightGrade 300 MosaicWidthScalar GeometryStroke] Size.Small.size (Size.Small.size * eqHeight)
|
||||
TrigGroup 'trigArrowEqHead' 0x1F814 [UnicodeWeightGrade 400 MosaicWidthScalar GeometryStroke] 1 eqHeight
|
||||
TrigGroup 'trigArrowEqHeadHeavy' 0x1F818 [UnicodeWeightGrade 500 MosaicWidthScalar GeometryStroke] 1 eqHeight
|
||||
TrigGroup 'trigArrowLargeEqHeadHeavy' 0x1F81C [UnicodeWeightGrade 700 MosaicWidthScalar GeometryStroke] Size.Large.size (Size.Large.size * eqHeight)
|
||||
TrigGroup 'trigArrowNarrowShaft' 0x1F820 [UnicodeWeightGrade 300 MosaicWidthScalar GeometryStroke] 1
|
||||
TrigGroup 'trigArrowMediumShaft' 0x1F824 [UnicodeWeightGrade 500 MosaicWidthScalar GeometryStroke] 1
|
||||
TrigGroup 'trigArrowBoldShaft' 0x1F828 [UnicodeWeightGrade 700 MosaicWidthScalar GeometryStroke] 1
|
||||
TrigGroup 'trigArrowHeavyShaft' 0x1F82C [UnicodeWeightGrade 900 MosaicWidthScalar GeometryStroke] 1
|
||||
TrigGroup 'trigArrowVeryHeavyShaft' 0x1F830 [UnicodeWeightGrade 1000 MosaicWidthScalar GeometryStroke] 1
|
||||
TrigGroup 'fingerPost' 0x1F834 (2 * (trigArrowSize - o)) 1
|
||||
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 '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 700 MosaicWidthScalar] 1] [MangleName "uni279E"] [MangleUnicode 0x279E] arrowSB SymbolMid arrowRSB SymbolMid
|
||||
MkArrow [WeightedTrigArrowShape [UnicodeWeightGrade 400 MosaicWidthScalar GeometryStroke] 1] [MangleName "uni279D"] [MangleUnicode 0x279D] 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
|
||||
|
||||
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
|
||||
|
||||
do "Sans-serif Arrows"
|
||||
|
|
|
@ -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 swMark : Math.min GeometryStroke : AdviceStroke 5 Geom.Scalar
|
||||
define lightSwMark : UnicodeWeightGrade 300 Geom.Scalar
|
||||
define boldSwMark : UnicodeWeightGrade 700 Geom.Scalar
|
||||
define lightSwMark : UnicodeWeightGrade 300 Geom.Scalar GeometryStroke
|
||||
define boldSwMark : UnicodeWeightGrade 700 Geom.Scalar GeometryStroke
|
||||
define bbSize : Geom.Size - bbGap - swMark * 0.75
|
||||
define circXSize : (Geom.Size - bbGap) * Math.SQRT1_2 - swMark * 0.75
|
||||
|
||||
|
|
|
@ -237,7 +237,7 @@ glyph-block Symbol-Geometric-Masked : for-width-kinds WideWidth1
|
|||
do "Diamond minus white X"
|
||||
create-glyph [MangleName "blackDiamondMinusWhiteX"] [MangleUnicode 0x2756] : glyph-proc
|
||||
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
|
||||
refer-glyph : MangleName "blackDiamond"
|
||||
dispiro
|
||||
|
|
|
@ -136,12 +136,12 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1
|
|||
StdBlackShape SquareShape 'blackSquare' 0x25A0
|
||||
StdWhiteShape SquareShape 'whiteSquare' 0x25A1
|
||||
|
||||
StdWhiteShape SquareShape 'lightWhiteSquare' 0x1F78E {.sw [UnicodeWeightGrade 300 Geom.Scalar]}
|
||||
StdWhiteShape SquareShape 'mediumWhiteSquare' 0x1F78F {.sw [UnicodeWeightGrade 500 Geom.Scalar]}
|
||||
StdWhiteShape SquareShape 'boldWhiteSquare' 0x1F790 {.sw [UnicodeWeightGrade 700 Geom.Scalar]}
|
||||
StdWhiteShape SquareShape 'heavyWhiteSquare' 0x1F791 {.sw [UnicodeWeightGrade 900 Geom.Scalar]}
|
||||
StdWhiteShape SquareShape 'veryHeavyWhiteSquare' 0x1F792 {.sw [UnicodeWeightGrade 1000 Geom.Scalar]}
|
||||
StdWhiteShape SquareShape 'exHeavyWhiteSquare' 0x1F793 {.sw [UnicodeWeightGrade 1100 Geom.Scalar]}
|
||||
StdWhiteShape SquareShape 'lightWhiteSquare' 0x1F78E {.sw [UnicodeWeightGrade 300 Geom.Scalar GeometryStroke]}
|
||||
StdWhiteShape SquareShape 'mediumWhiteSquare' 0x1F78F {.sw [UnicodeWeightGrade 500 Geom.Scalar GeometryStroke]}
|
||||
StdWhiteShape SquareShape 'boldWhiteSquare' 0x1F790 {.sw [UnicodeWeightGrade 700 Geom.Scalar GeometryStroke]}
|
||||
StdWhiteShape SquareShape 'heavyWhiteSquare' 0x1F791 {.sw [UnicodeWeightGrade 900 Geom.Scalar GeometryStroke]}
|
||||
StdWhiteShape SquareShape 'veryHeavyWhiteSquare' 0x1F792 {.sw [UnicodeWeightGrade 1000 Geom.Scalar GeometryStroke]}
|
||||
StdWhiteShape SquareShape 'exHeavyWhiteSquare' 0x1F793 {.sw [UnicodeWeightGrade 1100 Geom.Scalar GeometryStroke]}
|
||||
|
||||
StdBlackShape SquareShape 'blackLargeSquare' 0x2B1B Size.Large
|
||||
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 'whiteSquareContainingBlackVerySmallSquare' 0x1F794 Size.TinyInner
|
||||
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
|
||||
|
||||
|
@ -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]
|
||||
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
|
||||
StdWhiteShape DiamondLazongeShape 'whiteFourPointedBlackCusp' 0x2BCE Size.ObliqueSA
|
||||
|
||||
|
@ -472,12 +472,12 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1
|
|||
StdBlackShape CircleShape 'blackCircle' 0x25CF
|
||||
|
||||
StdWhiteShape CircleShape 'whiteCircle' 0x25CB
|
||||
StdWhiteShape CircleShape 'mediumWhiteCircle' 0x1F785 {.sw [UnicodeWeightGrade 600 Geom.Scalar]}
|
||||
StdWhiteShape CircleShape 'boldWhiteCircle' 0x1F786 {.sw [UnicodeWeightGrade 700 Geom.Scalar]}
|
||||
StdWhiteShape CircleShape 'heavyWhiteCircle' 0x1F787 {.sw [UnicodeWeightGrade 900 Geom.Scalar]}
|
||||
StdWhiteShape CircleShape 'veryHeavyWhiteCircle' 0x1F788 {.sw [UnicodeWeightGrade 1000 Geom.Scalar]}
|
||||
StdWhiteShape CircleShape 'exHeavyWhiteCircle' 0x1F789 {.sw [UnicodeWeightGrade 1100 Geom.Scalar]}
|
||||
StdWhiteShape CircleShape 'heavyLargeCircle' 0x2B55 [Object.assign {.sw [UnicodeWeightGrade 900 Geom.Scalar]} Size.Large]
|
||||
StdWhiteShape CircleShape 'mediumWhiteCircle' 0x1F785 {.sw [UnicodeWeightGrade 600 Geom.Scalar GeometryStroke]}
|
||||
StdWhiteShape CircleShape 'boldWhiteCircle' 0x1F786 {.sw [UnicodeWeightGrade 700 Geom.Scalar GeometryStroke]}
|
||||
StdWhiteShape CircleShape 'heavyWhiteCircle' 0x1F787 {.sw [UnicodeWeightGrade 900 Geom.Scalar GeometryStroke]}
|
||||
StdWhiteShape CircleShape 'veryHeavyWhiteCircle' 0x1F788 {.sw [UnicodeWeightGrade 1000 Geom.Scalar GeometryStroke]}
|
||||
StdWhiteShape CircleShape 'exHeavyWhiteCircle' 0x1F789 {.sw [UnicodeWeightGrade 1100 Geom.Scalar GeometryStroke]}
|
||||
StdWhiteShape CircleShape 'heavyLargeCircle' 0x2B55 [Object.assign {.sw [UnicodeWeightGrade 900 Geom.Scalar GeometryStroke]} Size.Large]
|
||||
|
||||
StdBlackShape CircleShape 'blackVerySmallCircle' null Size.VerySmall
|
||||
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])}
|
||||
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] '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]
|
||||
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]
|
||||
|
|
|
@ -97,11 +97,11 @@ glyph-block Symbol-Geometric-Rotational : begin
|
|||
for-width-kinds WideWidth1 : begin
|
||||
define Geom : GeometricDim MosaicUnitWidth MosaicWidth
|
||||
|
||||
define lightSw : UnicodeWeightGrade 300 Geom.Scalar
|
||||
define normalSw : UnicodeWeightGrade 400 Geom.Scalar
|
||||
define semiBoldSw : UnicodeWeightGrade 600 Geom.Scalar
|
||||
define boldSw : UnicodeWeightGrade 700 Geom.Scalar
|
||||
define heavySw : UnicodeWeightGrade 900 Geom.Scalar
|
||||
define lightSw : UnicodeWeightGrade 300 Geom.Scalar GeometryStroke
|
||||
define normalSw : UnicodeWeightGrade 400 Geom.Scalar GeometryStroke
|
||||
define semiBoldSw : UnicodeWeightGrade 600 Geom.Scalar GeometryStroke
|
||||
define boldSw : UnicodeWeightGrade 700 Geom.Scalar GeometryStroke
|
||||
define heavySw : UnicodeWeightGrade 900 Geom.Scalar GeometryStroke
|
||||
|
||||
define [for-rotational-pointing sides phase mag gap fn] : begin
|
||||
local shapes {}
|
||||
|
|
|
@ -140,7 +140,7 @@ glyph-block Symbol-Geometric-Shaded-Narrow : for-width-kinds WideWidth4
|
|||
define Geom : GeometricDim MosaicUnitWidth MosaicWidth
|
||||
|
||||
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)]
|
||||
set-width Geom.Width
|
||||
include : intersection
|
||||
|
|
|
@ -32,18 +32,18 @@ glyph-block Symbol-Geometric-Stars : for-width-kinds WideWidth1
|
|||
Geom.MidY + Geom.Size * mag * [Math.cos angle]
|
||||
include : spiro-outline corners
|
||||
|
||||
define extThinSw : UnicodeWeightGrade 100 Geom.Scalar
|
||||
define extLightSw : UnicodeWeightGrade 200 Geom.Scalar
|
||||
define lightSw : UnicodeWeightGrade 300 Geom.Scalar
|
||||
define semiLightSw : UnicodeWeightGrade 350 Geom.Scalar
|
||||
define normalSw : UnicodeWeightGrade 400 Geom.Scalar
|
||||
define mediumSw : UnicodeWeightGrade 500 Geom.Scalar
|
||||
define semiBoldSw : UnicodeWeightGrade 600 Geom.Scalar
|
||||
define boldSw : UnicodeWeightGrade 700 Geom.Scalar
|
||||
define exBoldSw : UnicodeWeightGrade 800 Geom.Scalar
|
||||
define heavySw : UnicodeWeightGrade 900 Geom.Scalar
|
||||
define veryHeavySw : UnicodeWeightGrade 1000 Geom.Scalar
|
||||
define exHeavySw : UnicodeWeightGrade 1100 Geom.Scalar
|
||||
define extThinSw : UnicodeWeightGrade 100 Geom.Scalar GeometryStroke
|
||||
define extLightSw : UnicodeWeightGrade 200 Geom.Scalar GeometryStroke
|
||||
define lightSw : UnicodeWeightGrade 300 Geom.Scalar GeometryStroke
|
||||
define semiLightSw : UnicodeWeightGrade 350 Geom.Scalar GeometryStroke
|
||||
define normalSw : UnicodeWeightGrade 400 Geom.Scalar GeometryStroke
|
||||
define mediumSw : UnicodeWeightGrade 500 Geom.Scalar GeometryStroke
|
||||
define semiBoldSw : UnicodeWeightGrade 600 Geom.Scalar GeometryStroke
|
||||
define boldSw : UnicodeWeightGrade 700 Geom.Scalar GeometryStroke
|
||||
define exBoldSw : UnicodeWeightGrade 800 Geom.Scalar GeometryStroke
|
||||
define heavySw : UnicodeWeightGrade 900 Geom.Scalar GeometryStroke
|
||||
define veryHeavySw : UnicodeWeightGrade 1000 Geom.Scalar GeometryStroke
|
||||
define exHeavySw : UnicodeWeightGrade 1100 Geom.Scalar GeometryStroke
|
||||
|
||||
define AsteriskCfg : list
|
||||
* { .name 'saltire' .unicode 0x2613 .sides 4 .phase (1/8) .sw normalSw }
|
||||
|
|
|
@ -200,6 +200,7 @@ glyph-block Symbol-Letter : begin
|
|||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Letter-Latin-X : XStrand
|
||||
glyph-block-import Letter-Shared-Shapes : FlatHookDepth
|
||||
glyph-block-import Mark-Above : aboveMarkMid
|
||||
|
||||
alias 'eulerConst' 0x2107 'latn/Epsilon'
|
||||
alias 'scruple' 0x2108 'cyrl/E'
|
||||
|
@ -334,12 +335,12 @@ glyph-block Symbol-Letter : begin
|
|||
|
||||
create-glyph 'informationSource' 0x2139 : glyph-proc
|
||||
include : MarkSet.b
|
||||
local sw : UnicodeWeightGrade 900 1
|
||||
local sw : clamp para.canonicalStrokeWidthMin para.canonicalStrokeWidthMax : UnicodeWeightGrade 900
|
||||
include : VBar.m Middle 0 XH sw
|
||||
include : HSerif.lt (Middle - [HSwToV : 0.5 * sw]) XH (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 : DotAt Middle (XH + AccentStackOffset) (DotRadius * sw / Stroke)
|
||||
include : DotAt Middle aboveMarkMid (DotRadius * sw / Stroke)
|
||||
|
||||
turned 'turnAmpersand' 0x214B 'ampersand' Middle (CAP / 2)
|
||||
|
||||
|
|
|
@ -11,9 +11,8 @@ glyph-block Symbol-Pictograph-Checking-Marks : begin
|
|||
|
||||
for-width-kinds WideWidth1 : do
|
||||
define Geom : GeometricDim MosaicUnitWidth MosaicWidth
|
||||
define lightSw : UnicodeWeightGrade 300 Geom.Scalar
|
||||
# define mediumSw : UnicodeWeightGrade 500 Geom.Scalar
|
||||
define heavySw : UnicodeWeightGrade 900 Geom.Scalar
|
||||
define lightSw : UnicodeWeightGrade 300 Geom.Scalar GeometryStroke
|
||||
define heavySw : UnicodeWeightGrade 900 Geom.Scalar GeometryStroke
|
||||
|
||||
define ptMaxWidth : MosaicWidth - SB
|
||||
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"
|
||||
define Geom : GeometricDim Width Width
|
||||
define mediumSw : UnicodeWeightGrade 500 Geom.Scalar
|
||||
define heavySw : UnicodeWeightGrade 900 Geom.Scalar
|
||||
define xHeavySw : UnicodeWeightGrade 1100 Geom.Scalar
|
||||
define mediumSw : UnicodeWeightGrade 500 Geom.Scalar GeometryStroke
|
||||
define heavySw : UnicodeWeightGrade 900 Geom.Scalar GeometryStroke
|
||||
define xHeavySw : UnicodeWeightGrade 1100 Geom.Scalar GeometryStroke
|
||||
|
||||
define HeightConfig : object
|
||||
# suffix width scale height scale
|
||||
|
|
|
@ -16,9 +16,9 @@ glyph-block Symbol-Geometric-Clock : for-width-kinds WideWidth1
|
|||
define pMin 0.8
|
||||
define pSec 0.9
|
||||
|
||||
define extLightSw : UnicodeWeightGrade 200 Geom.Scalar
|
||||
define lightSw : UnicodeWeightGrade 300 Geom.Scalar
|
||||
define mediumSw : UnicodeWeightGrade 500 Geom.Scalar
|
||||
define extLightSw : UnicodeWeightGrade 200 Geom.Scalar GeometryStroke
|
||||
define lightSw : UnicodeWeightGrade 300 Geom.Scalar GeometryStroke
|
||||
define mediumSw : UnicodeWeightGrade 500 Geom.Scalar GeometryStroke
|
||||
|
||||
define dotSize : Math.max (0.6 * mediumSw) (0.1 * Geom.Size)
|
||||
|
||||
|
|
|
@ -13,9 +13,9 @@ glyph-block Symbol-Cross : for-width-kinds WideWidth1
|
|||
define Geom : GeometricDim MosaicUnitWidth MosaicWidth
|
||||
define Size : GeometricSizes Geom
|
||||
|
||||
define normalSw : UnicodeWeightGrade 400 Geom.Scalar
|
||||
define mediumSw : UnicodeWeightGrade 500 Geom.Scalar
|
||||
define heavySw : UnicodeWeightGrade 900 Geom.Scalar
|
||||
define normalSw : UnicodeWeightGrade 400 Geom.Scalar GeometryStroke
|
||||
define mediumSw : UnicodeWeightGrade 500 Geom.Scalar GeometryStroke
|
||||
define heavySw : UnicodeWeightGrade 900 Geom.Scalar GeometryStroke
|
||||
|
||||
define pBottom 2
|
||||
define pShortBar 0.6
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue