* Add Heavy Black Curved Upwards And Rightwards Arrow (U+27A6
) for Agnoster compatibility.
* Add characters: - Commercial Minus Sign (`U+2052`). - Precedes Under Relation (`U+22B0`) and Succeeds Under Relation (`U+22B1`) - Heavy Black Curved Downwards And Rightwards Arrow (`U+27A5`)
This commit is contained in:
parent
4cee9a70bc
commit
217e66d95f
4 changed files with 79 additions and 17 deletions
5
changes/5.0.5.md
Normal file
5
changes/5.0.5.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
* Add Heavy Black Curved Upwards And Rightwards Arrow (`U+27A6`) for Agnoster compatibility.
|
||||
* Add characters:
|
||||
- Commercial Minus Sign (`U+2052`).
|
||||
- Precedes Under Relation (`U+22B0`) and Succeeds Under Relation (`U+22B1`)
|
||||
- Heavy Black Curved Downwards And Rightwards Arrow (`U+27A5`)
|
|
@ -26,6 +26,7 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
|||
define halfArrowSw : arrowSw / 2
|
||||
define fine : AdviceStroke 3.5
|
||||
define terminal : AdviceStroke 5
|
||||
define halfTerminal : terminal / 2
|
||||
define doubleArrowStemWidth : arrowHeadSize * 1.1
|
||||
define waveArrowAmplitude : (Width - SB) * DesignParameters.arrow_size * 1.1
|
||||
|
||||
|
@ -67,6 +68,15 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
|||
flat (mag - [Math.abs s] / 2) 0
|
||||
curl [mix mag 0 p] 0
|
||||
|
||||
define [SemiHookArrowBar x1 y1 x2 y2 halfSw halfFine s w] : begin
|
||||
return : PointingTo x1 y1 x2 y2 : lambda [mag] : begin
|
||||
local p : (mag - o - halfSw * [fallback w 1.1]) / mag
|
||||
dispiro
|
||||
straight.[if (s > 0) 'down' 'up'].start (mag - O) s [widths.center (halfFine * 2)]
|
||||
arcvh
|
||||
flat (mag - [Math.abs s] / 2) 0 [widths.center (halfSw * 2)]
|
||||
curl [mix mag 0 p] 0
|
||||
|
||||
define [ArrowHead x1 y1 x2 y2 _size] : union
|
||||
LHSHalfArrowHead x1 y1 x2 y2 0 _size
|
||||
RHSHalfArrowHead x1 y1 x2 y2 0 _size
|
||||
|
@ -164,25 +174,34 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
|||
local x1CoA : mix x1 x2 (-0.05)
|
||||
local y1CoA : mix y1 y2 (-0.05)
|
||||
|
||||
if (color == "white") : return : difference
|
||||
union
|
||||
TriangleArrowHead x1 y1 x2 y2 headWidth headLen
|
||||
ArrowBar x1 y1 x2 y2 (halfBarWidth + fine / 2) 2
|
||||
union
|
||||
TriangleArrowHead x1a y1a x2a y2a (headWidth - innerHeaderLengthShrink * headWidth / headLen) (headLen - innerHeaderLengthShrink)
|
||||
ArrowBar x1a y1a x2a y2a (halfBarWidth - fine / 2) 2
|
||||
return : match color
|
||||
[Just 'white'] : difference
|
||||
union
|
||||
TriangleArrowHead x1 y1 x2 y2 headWidth headLen
|
||||
ArrowBar x1 y1 x2 y2 (halfBarWidth + fine / 2) 2
|
||||
union
|
||||
TriangleArrowHead x1a y1a x2a y2a (headWidth - innerHeaderLengthShrink * headWidth / headLen) (headLen - innerHeaderLengthShrink)
|
||||
ArrowBar x1a y1a x2a y2a (halfBarWidth - fine / 2) 2
|
||||
|
||||
if (color == "white-open") : return : difference
|
||||
union
|
||||
TriangleArrowHead x1 y1 x2 y2 headWidth headLen
|
||||
ArrowBar x1 y1 x2 y2 (halfBarWidth + fine / 2) 2
|
||||
union
|
||||
TriangleArrowHead x1CoA y1CoA x2a y2a (headWidth - innerHeaderLengthShrink * headWidth / headLen) (headLen - innerHeaderLengthShrink)
|
||||
ArrowBar x1CoA y1CoA x2a y2a (halfBarWidth - fine / 2) 2
|
||||
[Just "white-open"] : difference
|
||||
union
|
||||
TriangleArrowHead x1 y1 x2 y2 headWidth headLen
|
||||
ArrowBar x1 y1 x2 y2 (halfBarWidth + fine / 2) 2
|
||||
union
|
||||
TriangleArrowHead x1CoA y1CoA x2a y2a (headWidth - innerHeaderLengthShrink * headWidth / headLen) (headLen - innerHeaderLengthShrink)
|
||||
ArrowBar x1CoA y1CoA x2a y2a (halfBarWidth - fine / 2) 2
|
||||
|
||||
if (color == "black") : return : union
|
||||
TriangleArrowHead x1 y1 x2 y2 headWidth headLen
|
||||
ArrowBar x1 y1 x2 y2 halfBarWidth 2
|
||||
[Just "black"] : union
|
||||
TriangleArrowHead x1 y1 x2 y2 headWidth headLen
|
||||
ArrowBar x1 y1 x2 y2 halfBarWidth 2
|
||||
|
||||
[Just "blackSemiHookR"] : union
|
||||
TriangleArrowHead x1 y1 x2 y2 headWidth headLen
|
||||
SemiHookArrowBar x1 y1 x2 y2 halfBarWidth halfTerminal headWidth 2
|
||||
|
||||
[Just "blackSemiHookL"] : union
|
||||
TriangleArrowHead x1 y1 x2 y2 headWidth headLen
|
||||
SemiHookArrowBar x1 y1 x2 y2 halfBarWidth halfTerminal (-headWidth) 2
|
||||
|
||||
define [BarbArrowHead x1 y1 x2 y2 width length thickness] : new-glyph : glyph-proc
|
||||
include : PointingTo x1 y1 x2 y2 : lambda [mag] : begin
|
||||
|
@ -438,6 +457,9 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
|
|||
DoubleArrow [ThickArrowShape 'black'] [MangleName 'uni2B0C'] [MangleUnicode 0x2B0C] arrowSB SymbolMid arrowRSB SymbolMid
|
||||
DoubleArrow [ThickArrowShape 'black'] [MangleName 'uni2B0D'] [MangleUnicode 0x2B0D] arrowMidX arrowBot arrowMidX arrowTop
|
||||
|
||||
MkArrow [ThickArrowShape 'blackSemiHookL'] [MangleName 'uni27A5'] [MangleUnicode 0x27A5] arrowSB SymbolMid arrowRSB SymbolMid
|
||||
MkArrow [ThickArrowShape 'blackSemiHookR'] [MangleName 'uni27A6'] [MangleUnicode 0x27A6] arrowSB SymbolMid arrowRSB SymbolMid
|
||||
|
||||
do "Barb arrows"
|
||||
define BarbHeavyWideHeaded : BarbArrowShape 0.25 : UnicodeWeightGrade 9 MosaicWidthScalar
|
||||
MkArrow BarbHeavyWideHeaded [MangleName 'uni2794'] [MangleUnicode 0x2794] arrowSB SymbolMid arrowRSB SymbolMid
|
||||
|
|
|
@ -238,6 +238,8 @@ glyph-block Symbol-Math-Relation : begin
|
|||
|
||||
define [NormalSupersetShape top bot l r s] : LigationGreaterShape top bot l r s s 0
|
||||
|
||||
|
||||
|
||||
# Sym parameters
|
||||
local approxDist : EqualHalfSpace * 1.75
|
||||
local symMag : (OperTop - SymbolMid) * 0.17
|
||||
|
@ -450,6 +452,34 @@ glyph-block Symbol-Math-Relation : begin
|
|||
turned 'turnSucceedsEqSlant' 0x22DE 'succeedsEqSlant' Middle SymbolMid
|
||||
turned 'turnPrecedesEqSlant' 0x22DF 'precedesEqSlant' Middle SymbolMid
|
||||
|
||||
|
||||
define [PrecedesUnderRelationShape t b l r s] : glyph-proc
|
||||
local yBias : s * 0.375
|
||||
local fine : s * CThin
|
||||
local hookDepth : Math.max ((r - l) / 4) (s * 2)
|
||||
local hookWidth : Math.max ((t - b) / 6) (s * 1.25)
|
||||
include : dispiro
|
||||
straight.right.start (r - hookDepth) (t - O + yBias) [widths.rhs.heading s Rightward]
|
||||
archv
|
||||
g4.down.mid r (t - hookWidth + yBias) [heading Downward]
|
||||
arcvh
|
||||
straight.left.end l ([mix t b 0.5] + s / 2 - fine) [widths.rhs.heading fine Leftward]
|
||||
include : dispiro
|
||||
straight.right.start (r - hookDepth) (b + O - yBias) [widths.lhs.heading s Rightward]
|
||||
archv
|
||||
g4.up.mid r (b + hookWidth - yBias) [heading Upward]
|
||||
arcvh
|
||||
straight.left.end l ([mix t b 0.5] - s / 2 + fine) [widths.lhs.heading fine Leftward]
|
||||
|
||||
define [SucceedsUnderRelationShape t b l r s] : new-glyph : glyph-proc
|
||||
include : PrecedesUnderRelationShape t b l r s
|
||||
include : FlipAround [mix l r 0.5] [mix t b 0.5]
|
||||
|
||||
create-glyph 'precedesUnderRelation' 0x22B0 : AsRadical : PrecedesUnderRelationShape (SymbolMid + dH) (SymbolMid - dH) SB RightSB OperatorStroke
|
||||
create-glyph 'succeedsUnderRelation' 0x22B1 : AsRadical : SucceedsUnderRelationShape (SymbolMid + dH) (SymbolMid - dH) SB RightSB OperatorStroke
|
||||
|
||||
|
||||
|
||||
create-glyph 'sym' 0x223C : symWave SymbolMid 1
|
||||
create-glyph 'flipSym' 0x223D : symWave SymbolMid (-1)
|
||||
|
||||
|
|
|
@ -1472,6 +1472,11 @@ glyph-block Symbol-Punctuation-Percentages : begin
|
|||
include : VBarLeft SB [mix CAP 0 0.3] CAP dotwidth
|
||||
include : VBarRight RightSB 0 [mix 0 CAP 0.3] dotwidth
|
||||
|
||||
create-glyph 'commercialMinusSign' 0x2052 : glyph-proc
|
||||
include : PercentBarShape [DivFrame 1] Stroke
|
||||
include : DotAt (SB + PeriodRadius) (CAP - PeriodRadius) PeriodRadius
|
||||
include : DotAt (RightSB - PeriodRadius) (0 + PeriodRadius) PeriodRadius
|
||||
|
||||
create-glyph 'permille.NWID.dots' : glyph-proc
|
||||
define df : DivFrame para.diversityM
|
||||
set-width df.width
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue