Add Characters (#1736)
* Add Characters - UP TACK WITH CIRCLE ABOVE (`U+27DF`). - MINUS SIGN WITH FALLING DOTS (`U+2A2B`). - MINUS SIGN WITH RISING DOTS (`U+2A2C). - MULTIPLICATION SIGN WITH UNDERBAR (`U+2A31`). - SEMIDIRECT PRODUCT WITH BOTTOM CLOSED (`U+2A32`). - TILDE OPERATOR WITH RISING DOTS (`U+2A6B`). - SIMILAR MINUS SIMILAR (`U+2A6C`). - APPROXIMATELY EQUAL TO OR EQUAL TO (`U+2A70`) ... EQUALS SIGN ABOVE TILDE OPERATOR (`U+2A73`). - VERTICAL LINE WITH CIRCLE ABOVE (`U+2AEF`) ... DOWN TACK WITH CIRCLE BELOW (`U+2AF1`). * typo * Add - N-ARY TIMES OPERATOR (`U+2A09`). * Remove bigmult for now, optimize diagonals
This commit is contained in:
parent
85d42148c6
commit
73aca2eef9
5 changed files with 111 additions and 16 deletions
|
@ -4,11 +4,19 @@
|
|||
- CYRILLIC SMALL LETTER UNBLENDED UK (`U+1C88`) (#1517).
|
||||
- MATHEMATICAL RISING DIAGONAL (`U+27CB`).
|
||||
- MATHEMATICAL FALLING DIAGONAL (`U+27CD`).
|
||||
- UP TACK WITH CIRCLE ABOVE (`U+27DF`).
|
||||
- REVERSED ANGLE (`U+29A3`).
|
||||
- REVERSED EMPTY SET (`U+29B0`) ... EMPTY SET WITH LEFT ARROW ABOVE (`U+29B4`).
|
||||
- CIRCLED VERTICAL BAR (`U+29B6`) ... CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR (`U+29BA`).
|
||||
- DOUBLE ENDED MULTIMAP (`U+29DF`).
|
||||
- DOES NOT DIVIDE WITH REVERSED NEGATION SLASH (`U+2AEE`).
|
||||
- MINUS SIGN WITH FALLING DOTS (`U+2A2B`).
|
||||
- MINUS SIGN WITH RISING DOTS (`U+2A2C`).
|
||||
- MULTIPLICATION SIGN WITH UNDERBAR (`U+2A31`).
|
||||
- SEMIDIRECT PRODUCT WITH BOTTOM CLOSED (`U+2A32`).
|
||||
- TILDE OPERATOR WITH RISING DOTS (`U+2A6B`).
|
||||
- SIMILAR MINUS SIMILAR (`U+2A6C`).
|
||||
- APPROXIMATELY EQUAL TO OR EQUAL TO (`U+2A70`) ... EQUALS SIGN ABOVE TILDE OPERATOR (`U+2A73`).
|
||||
- DOES NOT DIVIDE WITH REVERSED NEGATION SLASH (`U+2AEE`) ... DOWN TACK WITH CIRCLE BELOW (`U+2AF1`).
|
||||
- REVERSED RIGHT ANGLE (`U+2BFE`).
|
||||
- COMBINING CYRILLIC LETTER ES-TE (`U+2DF5`) (#1720).
|
||||
- COMBINING CYRILLIC LETTER MONOGRAPH UK (`U+2DF9`) (#1720).
|
||||
|
|
|
@ -8,6 +8,7 @@ glyph-block Symbol-Math-Arith : begin
|
|||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Symbol-Math-Frame : MathEnclosureSw
|
||||
glyph-block-import Symbol-Math-Relation-Common : EqualHalfSpace
|
||||
|
||||
do "Plus/Minus"
|
||||
glyph-block-export PlusShape
|
||||
|
@ -34,10 +35,18 @@ glyph-block Symbol-Math-Arith : begin
|
|||
SquareAt Middle SymbolMid DotRadius
|
||||
|
||||
create-glyph 'plusminus' 0xB1 : glyph-proc
|
||||
include : HBar.b SB RightSB 0 OperatorStroke
|
||||
include : refer-glyph "plus"
|
||||
include : HBar.b SB RightSB 0 OperatorStroke
|
||||
|
||||
turned 'minusplus' 0x2213 'plusminus' Middle SymbolMid
|
||||
|
||||
create-glyph 'plusequal' 0x2A72 : glyph-proc
|
||||
include : refer-glyph "plus"
|
||||
include : ApparentTranslate 0 (EqualHalfSpace * 1.5)
|
||||
include : HBar.b SB RightSB (EqualHalfSpace * 1.5) OperatorStroke
|
||||
include : HBar.b SB RightSB 0 OperatorStroke
|
||||
|
||||
turned 'equalplus' 0x2A71 'plusequal' Middle SymbolMid
|
||||
|
||||
do "Multiply"
|
||||
define Size : 0.5 * (RightSB - SB) + 0.25 * SB
|
||||
|
@ -67,6 +76,10 @@ glyph-block Symbol-Math-Arith : begin
|
|||
include : MultiplyStroke1Shape OperatorStroke 1 1 1
|
||||
include : MultiplyStroke2Shape OperatorStroke 1 1 1
|
||||
|
||||
create-glyph 'multiplyUnderbar' 0x2A31 : glyph-proc
|
||||
include : refer-glyph "multiply"
|
||||
include : HBar.b (Middle - Size) (Middle + Size) 0 OperatorStroke
|
||||
|
||||
alias 'vectorOrCrossProduct' 0x2A2F 'multiply'
|
||||
|
||||
create-glyph 'multiplyInMulDiv' : glyph-proc
|
||||
|
@ -108,6 +121,17 @@ glyph-block Symbol-Math-Arith : begin
|
|||
MultiplyStroke1Shape swBowtie 1 1 1
|
||||
MultiplyStroke2Shape swBowtie 1 1 1
|
||||
|
||||
create-glyph 'bowtieBot' 0x2A32 : glyph-proc
|
||||
include : union
|
||||
intersection
|
||||
CoMultiplyMask 1 1 1
|
||||
HBar.b (Middle - Size) (Middle + Size) (SymbolMid - Size) swBowtieHv
|
||||
intersection
|
||||
Rect ParenTop (SymbolMid - Size) (-Width) (2 * Width)
|
||||
union
|
||||
MultiplyStroke1Shape swBowtie 1 1 1
|
||||
MultiplyStroke2Shape swBowtie 1 1 1
|
||||
|
||||
create-glyph 'bowtieWithLeftHalfBlack' 0x29D1 : union
|
||||
refer-glyph 'bowtie'
|
||||
MultiplyMask 1 1 0
|
||||
|
@ -220,6 +244,18 @@ glyph-block Symbol-Math-Arith : begin
|
|||
DrawAt Middle (SymbolMid + gap) (dr * sw / OperatorStroke - overshoot)
|
||||
DrawAt Middle (SymbolMid - gap) (dr * sw / OperatorStroke - overshoot)
|
||||
|
||||
create-glyph "minusFallingDots.\(suffix)" : glyph-proc
|
||||
include : refer-glyph "minus"
|
||||
define gap : (RightSB - SB) / 2
|
||||
include : DrawAt [mix SB RightSB (1/6)] (SymbolMid + gap) (dr - overshoot)
|
||||
include : DrawAt [mix SB RightSB (5/6)] (SymbolMid - gap) (dr - overshoot)
|
||||
|
||||
create-glyph "minusRisingDots.\(suffix)" : glyph-proc
|
||||
include : refer-glyph "minus"
|
||||
define gap : (RightSB - SB) / 2
|
||||
include : DrawAt [mix SB RightSB (1/6)] (SymbolMid - gap) (dr - overshoot)
|
||||
include : DrawAt [mix SB RightSB (5/6)] (SymbolMid + gap) (dr - overshoot)
|
||||
|
||||
select-variant 'dotplus' 0x2214 (follow -- 'punctuationDot')
|
||||
turned 'plusdot' 0x2A25 'dotplus' Middle SymbolMid
|
||||
|
||||
|
@ -233,6 +269,9 @@ glyph-block Symbol-Math-Arith : begin
|
|||
select-variant 'divide' 0xF7 (follow -- 'punctuationDot')
|
||||
select-variant 'divisionTimes' 0x22C7 (follow -- 'punctuationDot')
|
||||
|
||||
select-variant 'minusFallingDots' 0x2A2B (follow -- 'punctuationDot')
|
||||
select-variant 'minusRisingDots' 0x2A2C (follow -- 'punctuationDot')
|
||||
|
||||
do
|
||||
define fine : AdviceStroke 5.5
|
||||
define radius : Math.max ((RightSB - SB) / 8) (fine / 2)
|
||||
|
@ -322,3 +361,17 @@ glyph-block Symbol-Math-Arith : begin
|
|||
set-width MosaicWidth
|
||||
include : refer-glyph : MangleName "innerMultiplyStroke1Big"
|
||||
include : refer-glyph : MangleName "innerMultiplyStroke2Big"
|
||||
|
||||
create-glyph [MangleName 'risingDiagonal'] [MangleUnicode 0x27CB] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : dispiro
|
||||
widths.center OperatorStroke
|
||||
flat SB ParenBot
|
||||
curl (MosaicWidth - SB) ParenTop
|
||||
|
||||
create-glyph [MangleName 'fallingDiagonal'] [MangleUnicode 0x27CD] : glyph-proc
|
||||
set-width MosaicWidth
|
||||
include : dispiro
|
||||
widths.center OperatorStroke
|
||||
flat SB ParenTop
|
||||
curl (MosaicWidth - SB) ParenBot
|
||||
|
|
|
@ -48,12 +48,6 @@ glyph-block Symbol-Math-Geometry : begin
|
|||
dispiro [widths.lhs GeometryStroke] [flat leftBox bottomBox] [curl rightBox bottomBox]
|
||||
dispiro [widths.rhs GeometryStroke] [flat leftBox topBox] [curl rightBox bottomBox]
|
||||
|
||||
create-glyph 'risingDiagonal' 0x27CB : glyph-proc
|
||||
include : dispiro [widths.center GeometryStroke] [flat rightBox topBox] [curl leftBox bottomBox]
|
||||
|
||||
create-glyph 'fallingDiagonal' 0x27CD : glyph-proc
|
||||
include : dispiro [widths.center GeometryStroke] [flat leftBox topBox] [curl rightBox bottomBox]
|
||||
|
||||
create-glyph 'measuredAngle' 0x2221 : glyph-proc
|
||||
include [refer-glyph 'angle'] AS_BASE ALSO_METRICS
|
||||
include : intersection
|
||||
|
|
|
@ -102,5 +102,21 @@ glyph-block Symbol-Math-Logicals : begin
|
|||
include : HBar.b SB RightSB 0 OperatorStroke
|
||||
include : VBar.m Middle (SymbolMid * 2) 0 OperatorStroke
|
||||
|
||||
create-glyph 'barRingAbove' 0x2AEF : glyph-proc
|
||||
define sw : AdviceStroke 4
|
||||
define radius : (RightSB - SB) / 6
|
||||
define mid : top - radius
|
||||
include : VBar.m Middle (top - radius * 2 - sw / 2 ) bot OperatorStroke
|
||||
include : difference
|
||||
DotAt Middle mid (radius + sw)
|
||||
DotAt Middle mid radius
|
||||
|
||||
create-glyph 'botRingAbove' 0x27DF : glyph-proc
|
||||
include : refer-glyph "barRingAbove"
|
||||
include : HBar.b SB RightSB bot OperatorStroke
|
||||
|
||||
turned 'barRingBelow' 0x2AF0 'barRingAbove' Middle SymbolMid
|
||||
turned 'topRingBelow' 0x2AF1 'botRingAbove' Middle SymbolMid
|
||||
|
||||
create-glyph 'endOfProof' 0x220E : glyph-proc
|
||||
include : Rect TackTop TackBot SB RightSB
|
||||
|
|
|
@ -240,10 +240,6 @@ glyph-block Symbol-Math-Relation-Sym : begin
|
|||
create-glyph 'sym' 0x223C : symWave SymbolMid 1
|
||||
create-glyph 'flipSym' 0x223D : symWave SymbolMid (-1)
|
||||
|
||||
WithDotVariants 'oneDotSym' 0x2A6A : function [DrawAt kr ov] : composite-proc
|
||||
refer-glyph 'sym'
|
||||
DrawAt Middle PlusTop (DotRadius * kr * OperatorStroke / Stroke - ov)
|
||||
|
||||
WithDotVariants 'twoDotSym' 0x223B : function [DrawAt kr ov] : composite-proc
|
||||
refer-glyph 'sym'
|
||||
DrawAt Middle PlusTop (DotRadius * kr * OperatorStroke / Stroke - ov)
|
||||
|
@ -282,10 +278,6 @@ glyph-block Symbol-Math-Relation-Sym : begin
|
|||
SymbolMid - sympShift / 2 + EqualHalfSpace * 1.5
|
||||
SymbolMid - sympShift / 2
|
||||
|
||||
WithDotVariants 'oneDotSymEqEq' 0x2A6D : function [DrawAt kr ov] : composite-proc
|
||||
refer-glyph 'symEqEq'
|
||||
DrawAt Middle (PlusTop + EqualHalfSpace * 1.5) (DotRadius * kr * OperatorStroke / Stroke - ov)
|
||||
|
||||
create-glyph 'flipSymEq' 0x22CD : glyph-proc
|
||||
include [refer-glyph 'flipSym'] AS_BASE
|
||||
include : ApparentTranslate 0 (approxDist / 2)
|
||||
|
@ -298,6 +290,38 @@ glyph-block Symbol-Math-Relation-Sym : begin
|
|||
include : HBar.m SB RightSB (SymbolMid - sympShift / 2 + EqualHalfSpace * 1.5) OperatorStroke
|
||||
include : HBar.m SB RightSB (SymbolMid - sympShift / 2) OperatorStroke
|
||||
|
||||
WithDotVariants 'oneDotSym' 0x2A6A : function [DrawAt kr ov] : composite-proc
|
||||
refer-glyph 'sym'
|
||||
DrawAt Middle PlusTop (DotRadius * kr * OperatorStroke / Stroke - ov)
|
||||
|
||||
WithDotVariants 'twoDotSymAlt' 0x2A6B : function [DrawAt kr ov] : glyph-proc
|
||||
local dr : DotRadius * kr * OperatorStroke / Stroke
|
||||
include : refer-glyph 'sym'
|
||||
include : DrawAt [mix SB RightSB (1/6)] PlusBot (dr - ov)
|
||||
include : DrawAt [mix SB RightSB (5/6)] PlusTop (dr - ov)
|
||||
|
||||
create-glyph 'symMinusSym' 0x2A6C : glyph-proc
|
||||
include : symWave (SymbolMid + approxDist) 1
|
||||
include : HBar.m SB RightSB SymbolMid OperatorStroke
|
||||
include : symWave (SymbolMid - approxDist) 1
|
||||
|
||||
WithDotVariants 'oneDotSymEqEq' 0x2A6D : function [DrawAt kr ov] : composite-proc
|
||||
refer-glyph 'symEqEq'
|
||||
DrawAt Middle (PlusTop + EqualHalfSpace * 1.5) (DotRadius * kr * OperatorStroke / Stroke - ov)
|
||||
|
||||
create-glyph 'approxEqEq' 0x2A70 : glyph-proc
|
||||
include : symWave (SymbolMid + approxDist * 1.375) 1
|
||||
include : symWave (SymbolMid + approxDist * 0.375) 1
|
||||
include : HBar.m SB RightSB (SymbolMid - approxDist * 1.5 + EqualHalfSpace * 1.5) OperatorStroke
|
||||
include : HBar.m SB RightSB (SymbolMid - approxDist * 1.5) OperatorStroke
|
||||
|
||||
create-glyph 'eqEqSym' 0x2A73 : glyph-proc
|
||||
local sympShift : approxDist + EqualHalfSpace * 1.5
|
||||
include [refer-glyph 'sym'] AS_BASE
|
||||
include : ApparentTranslate 0 (-sympShift / 2)
|
||||
include : HBar.m SB RightSB (SymbolMid + sympShift / 2 - EqualHalfSpace * 1.5) OperatorStroke
|
||||
include : HBar.m SB RightSB (SymbolMid + sympShift / 2) OperatorStroke
|
||||
|
||||
glyph-block Symbol-Math-Relation-Inequality : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue