Add Characters (#1747)
This commit is contained in:
parent
171d64acf2
commit
392e31e7a1
11 changed files with 229 additions and 33 deletions
|
@ -3,10 +3,17 @@
|
|||
* \[**BREAKING**\] Rectify the variant atlas. As a result, if a character's variant list has motion-serifed, then it will have serifless and serifed variants: the serifed-ness will no longer be controlled by SLAB variable. The characters influenced are `M`, `N`, `P`, `R`, `U`, `V`, `W`, `b`, `h`, `m`, `n`, `p`, `q`, `u`, `v`, `w`, `y`.
|
||||
* \[**BREAKING**\] Renamed and/or reordered various variants.
|
||||
* Add Characters:
|
||||
- VERTICAL BAR WITH HORIZONTAL STROKE (`U+27CA`).
|
||||
- ELEMENT OF OPENING UPWARDS (`U+27D2`).
|
||||
- TRIPLE VERTICAL BAR DELIMITER (`U+2980`).
|
||||
- Z NOTATION SPOT (`U+2981`).
|
||||
- DOTTED FENCE (`U+2999`).
|
||||
- CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN (`U+29BC`).
|
||||
- CIRCLED WHITE BULLET (`U+29BE`).
|
||||
- CIRCLED BULLET (`U+29BF`).
|
||||
- SQUARED RISING DIAGONAL SLASH (`U+29C4`) ... SQUARED SQUARE (`U+29C8`).
|
||||
- EQUALS SIGN AND SLANTED PARALLEL (`U+29E3`) ... IDENTICAL TO AND SLANTED PARALLEL (`U+29E5`).
|
||||
- THERMODYNAMIC (`U+29E7`).
|
||||
- REVERSE SOLIDUS OPERATOR (`U+29F5`) ... REVERSE SOLIDUS WITH HORIZONTAL STROKE (`U+29F7`).
|
||||
- PLUS SIGN WITH SMALL CIRCLE ABOVE (`U+2A22`) ... PLUS SIGN WITH TILDE ABOVE (`U+2A24`).
|
||||
- PLUS SIGN WITH TILDE BELOW (`U+2A26`).
|
||||
|
@ -14,9 +21,19 @@
|
|||
- PLUS SIGN IN RIGHT HALF CIRCLE (`U+2A2E`).
|
||||
- MULTIPLICATION SIGN IN LEFT HALF CIRCLE (`U+2A34`) ... CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT (`U+2A36`).
|
||||
- CIRCLED DIVISION SIGN (`U+2A38`).
|
||||
- UNION WITH MINUS SIGN (`U+2A41`) ... INTERSECTION WITH OVERBAR (`U+2A43`).
|
||||
- LOGICAL AND WITH DOUBLE OVERBAR (`U+2A5E`) ... LOGICAL OR WITH DOUBLE UNDERBAR (`U+2A63`).
|
||||
- TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE (`U+2A68`).
|
||||
- TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE (`U+2A69`).
|
||||
- ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT (`U+2A6F`).
|
||||
- ELEMENT OF OPENING DOWNWARDS (`U+2AD9`) ... NONFORKING (`U+2ADD`).
|
||||
- PARALLEL WITH HORIZONTAL STROKE (`U+2AF2`) ... TRIPLE COLON OPERATOR (`U+2AF6`).
|
||||
- LARGE TRIPLE VERTICAL BAR OPERATOR (`U+2AFC`).
|
||||
- GROUP MARK (`U+2BD2`).
|
||||
- HYPHEN WITH DIAERESIS (`U+2E1A`).
|
||||
- TILDE WITH RING ABOVE (`U+2E1B`).
|
||||
- LEFT VERTICAL BAR WITH QUILL (`U+2E20`).
|
||||
- RIGHT VERTICAL BAR WITH QUILL (`U+2E21`).
|
||||
- DOUBLE HYPHEN (`U+2E40`).
|
||||
* Add diagonal-tailed variants for lowercase Iota (#1737).
|
||||
* Make `VXSF` to influence Eth too (#1738).
|
||||
|
|
|
@ -440,6 +440,7 @@ glyph-block Symbol-Geometric-Plain : for-width-kinds WideWidth1
|
|||
|
||||
StdBlackShape CircleShape 'blackVerySmallCircle' null Size.VerySmall
|
||||
StdBlackShape CircleShape 'blackSmallCircle' null Size.Small
|
||||
StdBlackShape CircleShape 'blackMediumSmallCircle' 0x2981 Size.MediumSmall
|
||||
StdBlackShape CircleShape 'blackSlightlySmallCircle' 0x1F784 Size.SlightlySmall
|
||||
StdBlackShape CircleShape 'blackMediumCircle' 0x26AB Size.Medium
|
||||
StdBlackShape CircleShape 'blackLargeCircle' 0x2B24 Size.Large
|
||||
|
|
|
@ -6,8 +6,6 @@ glyph-module
|
|||
|
||||
glyph-block Symbol-Math-Negation : begin
|
||||
glyph-block-import NotGlyphFn : notGlyph
|
||||
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 0x2260 'equal'
|
||||
notGlyph null 0x2262 'ident'
|
||||
notGlyph null 0x226D 'equivalentTo'
|
||||
|
@ -44,4 +42,3 @@ glyph-block Symbol-Math-Negation : begin
|
|||
notGlyph null 0x2278 'lessGreater'
|
||||
notGlyph null 0x2279 'greaterLess'
|
||||
notGlyph.right2 null 0x2204 'exists' (CAP - Descender / 2) (Descender / 2) 0.4
|
||||
notGlyph 'revNotmathBar' 0x2AEE 'mathBar' [mix SymbolMid BgOpBot 0.5] [mix SymbolMid BgOpTop 0.5] 0.1
|
||||
|
|
|
@ -7,7 +7,7 @@ glyph-module
|
|||
glyph-block NotGlyphFn : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
glyph-block-export notGlyph
|
||||
glyph-block-export NotGlyphSw notGlyph
|
||||
|
||||
define NotGlyphSw : AdviceStroke 4.5
|
||||
|
||||
|
|
|
@ -5,12 +5,57 @@ import [mix linreg clamp fallback] from"../../../support/utils.mjs"
|
|||
glyph-module
|
||||
|
||||
glyph-block Symbol-Math-Other : begin
|
||||
glyph-block-import Common-Derivatives : alias
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import NotGlyphFn : NotGlyphSw
|
||||
|
||||
alias 'mathBullet' 0x2219 'bullet'
|
||||
alias 'whiteDiamondOperator' 0x22C4 'whiteDiamondOperatorImpl.NWID'
|
||||
alias 'mathstar' 0x22C6 'blackStar.NWID'
|
||||
|
||||
alias 'divides' 0x2223 'bar.upright'
|
||||
|
||||
create-glyph 'notdivides' 0x2224 : glyph-proc
|
||||
include : refer-glyph 'divides'
|
||||
include : dispiro
|
||||
widths.center NotGlyphSw
|
||||
flat [mix SB RightSB 0.1] [mix SymbolMid ParenBot 0.5]
|
||||
curl [mix SB RightSB 0.9] [mix SymbolMid ParenTop 0.5]
|
||||
|
||||
alias 'parallel' 0x2225 'doubleBar.upright'
|
||||
|
||||
create-glyph 'notparallel' 0x2226 : glyph-proc
|
||||
include : refer-glyph 'parallel'
|
||||
include : dispiro
|
||||
widths.center NotGlyphSw
|
||||
flat SB [mix SymbolMid ParenBot 0.5]
|
||||
curl RightSB [mix SymbolMid ParenTop 0.5]
|
||||
|
||||
create-glyph 'barStroke' 0x27CA : glyph-proc
|
||||
include : refer-glyph 'divides'
|
||||
include : HBar.m [mix SB RightSB 0.1] [mix SB RightSB 0.9] SymbolMid OverlayStroke
|
||||
|
||||
create-glyph 'revnotdivides' 0x2AEE : glyph-proc
|
||||
include : refer-glyph 'divides'
|
||||
include : dispiro
|
||||
widths.center NotGlyphSw
|
||||
flat [mix SB RightSB 0.1] [mix SymbolMid ParenTop 0.5]
|
||||
curl [mix SB RightSB 0.9] [mix SymbolMid ParenBot 0.5]
|
||||
|
||||
create-glyph 'doubleBarStroke' 0x2AF2 : glyph-proc
|
||||
include : refer-glyph 'parallel'
|
||||
include : HBar.m SB RightSB SymbolMid OverlayStroke
|
||||
|
||||
create-glyph 'doubleBarTilde' 0x2AF3 : composite-proc
|
||||
refer-glyph 'parallel'
|
||||
refer-glyph 'sym'
|
||||
|
||||
alias 'interleave' 0x2AF4 'tripleBar.upright'
|
||||
|
||||
create-glyph 'tripleBarStroke' 0x2AF5 : glyph-proc
|
||||
include : refer-glyph 'interleave'
|
||||
include : HBar.m [mix SB 0 0.5] [mix RightSB Width 0.5] SymbolMid OverlayStroke
|
||||
|
||||
create-glyph 'sqrt' 0x221A : glyph-proc
|
||||
include : dispiro
|
||||
widths.center OperatorStroke
|
||||
|
|
|
@ -42,6 +42,8 @@ glyph-block Symbol-Math-Relation-Equal : begin
|
|||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Symbol-Math-Relation-Common : EqualHalfSpace dH EqualHoleWidth
|
||||
glyph-block-export EqualShape EqualHole IdentShape IdentHole
|
||||
glyph-block-import Mark-Shared-Metrics : markExtend markHalfStroke
|
||||
glyph-block-import Mark-Above : TildeShape
|
||||
|
||||
glyph-block-export : EqualShape
|
||||
define [EqualShape left right] : union
|
||||
|
@ -65,10 +67,6 @@ glyph-block Symbol-Math-Relation-Equal : begin
|
|||
create-glyph 'equal' '=' : glyph-proc
|
||||
include : EqualShape SB RightSB
|
||||
|
||||
create-glyph 'equalParallel' 0x22D5 : composite-proc
|
||||
refer-glyph 'equal'
|
||||
refer-glyph 'parallel'
|
||||
|
||||
define EqDotDistance : EqualHalfSpace * 2 + DotRadius * OperatorStroke / Stroke
|
||||
|
||||
WithDotVariants 'oneDotApproxEq' 0x2250 : function [DrawAt kr ov] : glyph-proc
|
||||
|
@ -165,6 +163,31 @@ glyph-block Symbol-Math-Relation-Equal : begin
|
|||
g4 Middle (SymbolMid - EqualHalfSpace) [heading Rightward]
|
||||
g4 [mix Middle RightSB kArcExtX] (SymbolMid - EqualHalfSpace * kArcExtY1)
|
||||
|
||||
create-glyph 'equalParallel' 0x22D5 : composite-proc
|
||||
refer-glyph 'equal'
|
||||
refer-glyph 'parallel'
|
||||
|
||||
create-glyph 'equalDoubleSlash' 0x29E3 : composite-proc
|
||||
EqualShape [mix SB 0 0.5] [mix RightSB Width 0.5]
|
||||
refer-glyph 'doubleSlash'
|
||||
|
||||
create-glyph 'equalDoubleSlashTilde' 0x29E4 : composite-proc
|
||||
refer-glyph 'equalDoubleSlash'
|
||||
TildeShape
|
||||
ttop -- ParenTop + AccentClearance + AccentHeight * 0.75
|
||||
tbot -- ParenTop + AccentClearance
|
||||
leftEnd -- (Middle - markExtend * 1.5)
|
||||
rightEnd -- (Middle + markExtend * 1.5)
|
||||
hs -- markHalfStroke
|
||||
|
||||
create-glyph 'identDoubleSlash' 0x29E5 : composite-proc
|
||||
IdentShape [mix SB 0 0.5] [mix RightSB Width 0.5]
|
||||
refer-glyph 'doubleSlash'
|
||||
|
||||
create-glyph 'equalDivides' 0x29E7 : composite-proc
|
||||
refer-glyph 'equal'
|
||||
refer-glyph 'divides'
|
||||
|
||||
turned 'equalDot' 0x2A66 'oneDotApproxEq' Middle SymbolMid
|
||||
|
||||
WithDotVariants 'oneDotIdent' 0x2A67 : function [DrawAt kr ov] : glyph-proc
|
||||
|
@ -172,6 +195,18 @@ glyph-block Symbol-Math-Relation-Equal : begin
|
|||
include : refer-glyph 'ident'
|
||||
include : DrawAt Middle (SymbolMid + EqualHalfSpace * 0.5 + EqDotDistance) (dr - ov)
|
||||
|
||||
create-glyph 'identParallel' 0x2A68 : composite-proc
|
||||
refer-glyph 'ident'
|
||||
refer-glyph 'parallel'
|
||||
|
||||
create-glyph 'identInterleave' 0x2A69 : composite-proc
|
||||
IdentShape [mix SB 0 0.5] [mix RightSB Width 0.5]
|
||||
refer-glyph 'interleave'
|
||||
|
||||
create-glyph 'identDivides' 0x2BD2 : composite-proc
|
||||
refer-glyph 'ident'
|
||||
refer-glyph 'divides'
|
||||
|
||||
glyph-block Symbol-Math-Relation-Addons : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
|
|
|
@ -10,6 +10,8 @@ glyph-block Symbol-Math-VAndCup : begin
|
|||
glyph-block-import Letter-Latin-U : UShape
|
||||
glyph-block-import Letter-Greek-Pi : PiShape
|
||||
glyph-block-import Symbol-Arrow : ArrowShape
|
||||
glyph-block-import Symbol-Math-Relation-Common : EqualHalfSpace
|
||||
glyph-block-import NotGlyphFn : NotGlyphSw
|
||||
|
||||
define [VeeShape top bot sw] : union
|
||||
dispiro
|
||||
|
@ -31,10 +33,6 @@ glyph-block Symbol-Math-VAndCup : begin
|
|||
create-glyph 'wedge/aplThin' : WedgeShape OperTop OperBot [AdviceStroke 4]
|
||||
create-glyph 'vee/aplThin' : VeeShape OperTop OperBot [AdviceStroke 4]
|
||||
|
||||
create-glyph 'mt/projection' 0x2305 : union
|
||||
HBar.t SB RightSB OperTop OperatorStroke
|
||||
WedgeShape (OperTop - OperatorStroke) OperBot
|
||||
|
||||
define [WedgeBarGap] : Math.max [AdviceStroke 4] ((OperTop - OperBot) / 8)
|
||||
|
||||
create-glyph 'math/logic/xor' 0x22BB : let [gap : WedgeBarGap] : union
|
||||
|
@ -49,11 +47,6 @@ glyph-block Symbol-Math-VAndCup : begin
|
|||
HBar.t SB RightSB OperTop OperatorStroke
|
||||
VeeShape (OperTop - OperatorStroke - gap) OperBot
|
||||
|
||||
create-glyph 'mt/perspective' 0x2306 : let [gap : WedgeBarGap] : union
|
||||
HBar.t SB RightSB OperTop OperatorStroke
|
||||
HBar.t SB RightSB (OperTop - OperatorStroke - gap) OperatorStroke
|
||||
WedgeShape (OperTop - 2 * OperatorStroke - gap) OperBot
|
||||
|
||||
create-glyph 'curlyVee' 0x22CE : glyph-proc
|
||||
local fine : CThin * OperatorStroke
|
||||
include : dispiro
|
||||
|
@ -67,6 +60,15 @@ glyph-block Symbol-Math-VAndCup : begin
|
|||
|
||||
turned 'curlyWedge' 0x22CF 'curlyVee' Middle SymbolMid
|
||||
|
||||
create-glyph 'mt/projection' 0x2305 : union
|
||||
HBar.t SB RightSB OperTop OperatorStroke
|
||||
WedgeShape (OperTop - OperatorStroke) OperBot
|
||||
|
||||
create-glyph 'mt/perspective' 0x2306 : let [gap : WedgeBarGap] : union
|
||||
HBar.t SB RightSB OperTop OperatorStroke
|
||||
HBar.t SB RightSB (OperTop - OperatorStroke - gap) OperatorStroke
|
||||
WedgeShape (OperTop - 2 * OperatorStroke - gap) OperBot
|
||||
|
||||
create-glyph 'doubleVee' 0x2A54 : glyph-proc
|
||||
define sw : AdviceStroke 6
|
||||
include : dispiro
|
||||
|
@ -102,9 +104,29 @@ glyph-block Symbol-Math-VAndCup : begin
|
|||
|
||||
turned 'doubleWedge' 0x2A53 'doubleVee' Middle SymbolMid
|
||||
|
||||
create-glyph 'math/logic/equalAnd' 0x2A5E : let [gap : WedgeBarGap] : union
|
||||
HBar.t SB RightSB (OperTop + EqualHalfSpace * 0.75) OperatorStroke
|
||||
HBar.t SB RightSB (OperTop - EqualHalfSpace * 0.75) OperatorStroke
|
||||
WedgeShape (OperTop - OperatorStroke - EqualHalfSpace * 0.75 - gap) OperBot
|
||||
|
||||
create-glyph 'math/logic/xand' 0x2A5F : let [gap : WedgeBarGap] : union
|
||||
HBar.b SB RightSB OperBot OperatorStroke
|
||||
WedgeShape OperTop (OperBot + OperatorStroke + gap)
|
||||
|
||||
create-glyph 'math/logic/andEqual' 0x2A60 : let [gap : WedgeBarGap] : union
|
||||
HBar.b SB RightSB (OperBot - EqualHalfSpace * 0.75) OperatorStroke
|
||||
HBar.b SB RightSB (OperBot + EqualHalfSpace * 0.75) OperatorStroke
|
||||
WedgeShape OperTop (OperBot + OperatorStroke + EqualHalfSpace * 0.75 + gap)
|
||||
|
||||
alias 'veeUnderbar' 0x2A61 'math/logic/xor'
|
||||
turned 'math/logic/equalOr' 0x2A62 'math/logic/andEqual' Middle SymbolMid
|
||||
turned 'math/logic/orEqual' 0x2A63 'math/logic/equalAnd' Middle SymbolMid
|
||||
|
||||
create-glyph 'cup' 0x222A : glyph-proc
|
||||
include : UShape [DivFrame 1] OperTop OperBot (stroke -- OperatorStroke)
|
||||
|
||||
turned 'cap' 0x2229 'cup' Middle SymbolMid
|
||||
|
||||
define ThinCupStroke : AdviceStroke 4
|
||||
create-glyph 'thinCup' : glyph-proc
|
||||
include : UShape [DivFrame 1] OperTop OperBot (stroke -- ThinCupStroke)
|
||||
|
@ -130,18 +152,18 @@ glyph-block Symbol-Math-VAndCup : begin
|
|||
include : Translate Middle (OperBot + ArchDepth)
|
||||
include : Regizmo
|
||||
|
||||
define cupInnerPlusSw : AdviceStroke 6
|
||||
define cupInnerPlusSize : Math.min (RightSB - SB - ThinCupStroke * HVContrast * (2 + 0.5 * cupInnerPlusSw / ThinCupStroke)) ((RightSB - SB) * 0.8)
|
||||
create-glyph 'cupPlus' 0x228E : glyph-proc
|
||||
include [refer-glyph 'thinCup'] AS_BASE ALSO_METRICS
|
||||
local sw : AdviceStroke 6
|
||||
local size : Math.min (RightSB - SB - ThinCupStroke * HVContrast * (2 + 0.5 * sw / ThinCupStroke)) ((RightSB - SB) * 0.8)
|
||||
include : dispiro
|
||||
widths.center sw
|
||||
corner (Middle - size / 2) (OperBot + ArchDepth)
|
||||
corner (Middle + size / 2) (OperBot + ArchDepth)
|
||||
widths.center cupInnerPlusSw
|
||||
corner (Middle - cupInnerPlusSize / 2) (OperBot + ArchDepth)
|
||||
corner (Middle + cupInnerPlusSize / 2) (OperBot + ArchDepth)
|
||||
include : dispiro
|
||||
widths.center sw
|
||||
corner Middle (OperBot + ArchDepth - size / 2)
|
||||
corner Middle (OperBot + ArchDepth + size / 2)
|
||||
widths.center cupInnerPlusSw
|
||||
corner Middle (OperBot + ArchDepth - cupInnerPlusSize / 2)
|
||||
corner Middle (OperBot + ArchDepth + cupInnerPlusSize / 2)
|
||||
|
||||
create-glyph 'doubleCup' 0x22D3 : glyph-proc
|
||||
local sw : AdviceStroke 6
|
||||
|
@ -153,14 +175,59 @@ glyph-block Symbol-Math-VAndCup : begin
|
|||
ada -- [ArchDepthAOf (ArchDepth - sw - gap) Width]
|
||||
adb -- [ArchDepthBOf (ArchDepth - sw - gap) Width]
|
||||
|
||||
turned 'cap' 0x2229 'cup' Middle SymbolMid
|
||||
turned 'capDot' 0x2A40 'cupDot' Middle SymbolMid
|
||||
turned 'doubleCap' 0x22D2 'doubleCup' Middle SymbolMid
|
||||
|
||||
define pitchForkTop : [mix OperBot OperTop 1.2] + Stroke / 4
|
||||
create-glyph 'pitchFork' 0x22D4 : composite-proc
|
||||
UShape [DivFrame 1] OperTop OperBot (stroke -- [AdviceStroke 3.25])
|
||||
FlipAround Middle SymbolMid
|
||||
VBar.m Middle OperBot ([mix OperBot OperTop 1.2] + Stroke / 4) [AdviceStroke 3.25]
|
||||
VBar.m Middle OperBot pitchForkTop [AdviceStroke 3.25]
|
||||
|
||||
create-glyph 'elementUp' 0x27D2 : glyph-proc
|
||||
include [refer-glyph 'thinCup'] AS_BASE ALSO_METRICS
|
||||
include : VBar.m Middle OperBot OperTop ThinCupStroke
|
||||
|
||||
turned 'capDot' 0x2A40 'cupDot' Middle SymbolMid
|
||||
|
||||
create-glyph 'cupMinus' 0x2A41 : glyph-proc
|
||||
include [refer-glyph 'thinCup'] AS_BASE ALSO_METRICS
|
||||
include : HBar.m (Middle - cupInnerPlusSize / 2) (Middle + cupInnerPlusSize / 2) (OperBot + ArchDepth) cupInnerPlusSw
|
||||
|
||||
create-glyph 'cupOverbar' 0x2A42 : let [gap : WedgeBarGap] : glyph-proc
|
||||
include : UShape [DivFrame 1] (OperTop - OperatorStroke - gap) OperBot (stroke -- OperatorStroke)
|
||||
include : HBar.t SB RightSB OperTop OperatorStroke
|
||||
|
||||
create-glyph 'capOverbar' 0x2A43 : let [gap : WedgeBarGap] : glyph-proc
|
||||
include : UShape [DivFrame 1] OperTop (OperBot + OperatorStroke + gap) (stroke -- OperatorStroke)
|
||||
include : FlipAround Middle SymbolMid
|
||||
include : HBar.t SB RightSB OperTop OperatorStroke
|
||||
|
||||
turned 'elementDown' 0x2AD9 'elementUp' Middle SymbolMid
|
||||
|
||||
create-glyph 'transversalIntersection' 0x2ADB : glyph-proc
|
||||
local top : mix SymbolMid OperTop 0.5
|
||||
local bot : mix SymbolMid OperBot 0.5
|
||||
include : UShape [DivFrame 1] top bot (stroke -- ThinCupStroke)
|
||||
include : FlipAround Middle [mix top bot 0.5]
|
||||
include : VBar.m Middle OperBot OperTop ThinCupStroke
|
||||
|
||||
create-glyph 'pitchForkTeeTop' 0x2ADA : glyph-proc
|
||||
include [refer-glyph 'pitchFork'] AS_BASE ALSO_METRICS
|
||||
include : HBar.t [mix Middle SB 0.5] [mix Middle RightSB 0.5] pitchForkTop OperatorStroke
|
||||
|
||||
create-glyph 'nonForking' 0x2ADD : glyph-proc
|
||||
local top : mix SymbolMid OperTop 0.75
|
||||
local bot : mix SymbolMid OperBot 0.75
|
||||
local mid : mix SymbolMid OperTop 0.25
|
||||
include : UShape [DivFrame 1] mid bot (stroke -- ThinCupStroke)
|
||||
include : VBar.m Middle bot top ThinCupStroke
|
||||
|
||||
create-glyph 'forking' 0x2ADC : glyph-proc
|
||||
include [refer-glyph 'nonForking'] AS_BASE ALSO_METRICS
|
||||
include : dispiro
|
||||
widths.center NotGlyphSw
|
||||
flat SB OperBot
|
||||
curl RightSB OperTop
|
||||
|
||||
create-glyph 'squareCap' 0x2293 : glyph-proc
|
||||
include : PiShape [DivFrame 1] OperTop OperBot (shrinkRate -- 0) (fine -- OperatorStroke) (doSerif -- false)
|
||||
|
|
|
@ -47,6 +47,20 @@ glyph-block Symbol-Punctuation-Bar : begin
|
|||
include : ForceUpright
|
||||
include : DoubleBarShape
|
||||
|
||||
define [TripleBarShape] : glyph-proc
|
||||
set-base-anchor 'above' Middle ParenTop
|
||||
set-base-anchor 'below' Middle ParenBot
|
||||
local sw : AdviceStroke 4.25
|
||||
include : VBar.m (Middle - Width * 0.2625) ParenBot ParenTop sw
|
||||
include : VBar.m Middle ParenBot ParenTop sw
|
||||
include : VBar.m (Middle + Width * 0.2625) ParenBot ParenTop sw
|
||||
|
||||
create-glyph 'tripleBar.upright' : TripleBarShape
|
||||
create-glyph 'tripleBar.slanted.naturalSlope' : TripleBarShape
|
||||
create-glyph 'tripleBar.slanted.forceUpright' : glyph-proc
|
||||
include : ForceUpright
|
||||
include : TripleBarShape
|
||||
|
||||
define [BrokenBarShape] : glyph-proc
|
||||
local breakDist : Math.max Stroke (CAP / 8)
|
||||
include : VBar.m Middle (SymbolMid + breakDist / 2) ParenTop
|
||||
|
@ -67,9 +81,10 @@ glyph-block Symbol-Punctuation-Bar : begin
|
|||
orthographic-slanted 'bar' '|'
|
||||
select-variant 'doubleBar.slanted' (follow -- 'bar.slanted')
|
||||
orthographic-slanted 'doubleBar' 0x2016
|
||||
select-variant 'tripleBar.slanted' (follow -- 'bar.slanted')
|
||||
orthographic-slanted 'tripleBar' 0x2AFC
|
||||
select-variant 'brokenBar.slanted' (follow -- 'bar.slanted')
|
||||
orthographic-slanted 'brokenBar' 0xA6
|
||||
alias 'dentalclick' 0x1C0 'bar.upright'
|
||||
alias 'alveolarlateralclick' 0x1C1 'doubleBar.upright'
|
||||
alias 'mathBar' 0x2223 'bar.upright'
|
||||
alias 'parallel' 0x2225 'doubleBar.upright'
|
||||
alias 'retroflexlateralclick' 0x2980 'tripleBar.upright'
|
||||
|
|
|
@ -183,6 +183,12 @@ glyph-block Symbol-Punctuation-Brackets : begin
|
|||
HBar.m hDim.l hDim.r [mix ParenBot ParenTop 0.5]
|
||||
VBar.l hDim.l ParenBot ParenTop
|
||||
|
||||
create-glyph 'barBarLeft' 0x2E20 : glyph-proc
|
||||
local hDim : Bracket.HDim
|
||||
include : union
|
||||
HBar.m hDim.l hDim.r [mix ParenBot ParenTop 0.5]
|
||||
VBar.l hDim.l ParenBot ParenTop
|
||||
|
||||
turned 'bracketRight' ']' 'bracketLeft' Middle SymbolMid
|
||||
turned 'bracketRightUHalf' 0x2E23 'bracketLeftLHalf' Middle SymbolMid
|
||||
turned 'bracketRightLHalf' 0x2E25 'bracketLeftUHalf' Middle SymbolMid
|
||||
|
@ -191,6 +197,7 @@ glyph-block Symbol-Punctuation-Brackets : begin
|
|||
turned 'bracketRightUpper' 0x23A4 'bracketLeftLower' Middle SymbolMid
|
||||
turned 'dblBracketRight' 0x27E7 'dblBracketLeft' Middle SymbolMid
|
||||
turned 'bracketBarRight' 0x2046 'bracketBarLeft' Middle SymbolMid
|
||||
turned 'barBarRight' 0x2E21 'barBarLeft' Middle SymbolMid
|
||||
|
||||
create-glyph 'ligExtBracketRight' : glyph-proc
|
||||
include [refer-glyph 'ligExtBracketLeft'] AS_BASE ALSO_METRICS
|
||||
|
|
|
@ -88,5 +88,17 @@ glyph-block Symbol-Punctuation-Ellipsis : begin
|
|||
set-width df.width
|
||||
include : VFourDotShape DrawAt kDotRadius overshoot df.middle (-XH / 6) (XH * 7 / 6)
|
||||
|
||||
create-glyph "mathTriColon.\(suffix)" : glyph-proc
|
||||
local df : DivFrame para.diversityF
|
||||
set-width df.width
|
||||
include : VThreeDotsShape DrawAt kDotRadius overshoot 0 df.width 0 (SymbolMid - XH / 2) (SymbolMid + XH / 2)
|
||||
|
||||
create-glyph "mathQuadColon.\(suffix)" : glyph-proc
|
||||
local df : DivFrame para.diversityF
|
||||
set-width df.width
|
||||
include : VFourDotShape DrawAt kDotRadius overshoot df.middle (SymbolMid - XH * 2 / 3) (SymbolMid + XH * 2 / 3)
|
||||
|
||||
select-variant "triColon" 0x205D (follow -- 'punctuationDot')
|
||||
select-variant "quadColon" 0x205E (follow -- 'punctuationDot')
|
||||
select-variant "mathTriColon" 0x2AF6 (follow -- 'punctuationDot')
|
||||
select-variant "mathQuadColon" 0x2999 (follow -- 'punctuationDot')
|
||||
|
|
|
@ -62,7 +62,7 @@ glyph-block Symbol-Punctuation-Slashes-And-Number-Sign : begin
|
|||
include : BackslashShape (Middle - backslashWidth / 2) (Middle + backslashWidth / 2)
|
||||
|
||||
alias 'mathSetMinus' 0x2216 'backslash'
|
||||
alias 'mathBackSlash' 0x29F5 'backslash'
|
||||
alias 'mathBackslash' 0x29F5 'backslash'
|
||||
|
||||
create-glyph 'slashOverbar' 0x29F6 : glyph-proc
|
||||
include : refer-glyph "slash"
|
||||
|
@ -70,7 +70,7 @@ glyph-block Symbol-Punctuation-Slashes-And-Number-Sign : begin
|
|||
|
||||
create-glyph 'backslashBar' 0x29F7 : glyph-proc
|
||||
include : refer-glyph "backslash"
|
||||
include : HBar.m SB RightSB SymbolMid OperatorStroke
|
||||
include : HBar.m SB RightSB SymbolMid OverlayStroke
|
||||
|
||||
create-glyph 'backslash.left' : glyph-proc
|
||||
Joining.set currentGlyph Joining.Classes.Right
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue