Skip to content

Commit c661de7

Browse files
authored
4 Smalltalk symbols (and 2 other arrows) (#2686)
* oshape variants * observer eye * new arrows * keyhole and caret * log
1 parent cd2661d commit c661de7

File tree

12 files changed

+171
-88
lines changed

12 files changed

+171
-88
lines changed

changes/33.0.0.md

+6
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,11 @@
3535
* Make certain characters slightly wider under Quasi-Proportional. Affected characters:
3636
- LATIN SMALL LIGATURE FF (`U+FB00`) ... LATIN SMALL LIGATURE FFL (`U+FB04`).
3737
* Add Characters:
38+
- OBSERVER EYE SYMBOL (`U+23FF`).
3839
- LATIN SMALL LETTER SCRIPT R (`U+AB4B`).
3940
- LATIN SMALL LETTER SCRIPT R WITH RING (`U+AB4C`).
41+
- KEYHOLE (`U+1CEB1`).
42+
- BLACK RIGHT TRIANGLE CARET (`U+1CEB3`).
43+
- RIGHTWARDS ARROW WITH LOWER HOOK (`U+1F8B2`).
44+
- LEFTWARDS ARROW FROM DOWNWARDS ARROW (`U+1F8C0`).
45+
- RIGHTWARDS ARROW FROM DOWNWARDS ARROW (`U+1F8C1`).
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
$$include '../meta/macros.ptl'
2+
3+
import [mix linreg clamp fallback boole boolePn] from "@iosevka/util"
4+
import [Transform] from "@iosevka/geometry/transform"
5+
import [Point] from "@iosevka/geometry/point"
6+
import [FunctionInterpolator AfCombine] from "@iosevka/geometry/spiro-control"
7+
import [RadicalGeometry StrokeGeometry RemoveHolesGeometry] from "@iosevka/geometry"
8+
9+
glyph-module
10+
11+
glyph-block Common-OShape-Variants : begin
12+
glyph-block-import CommonShapes
13+
glyph-block-import Common-Derivatives
14+
15+
glyph-block-export OvalShapeT DiamondShapeT RoundRectShapeT
16+
define [OvalShapeT sink t b l r _sw _refAda _refAdb] : begin
17+
local m : mix l r 0.5
18+
local sw : fallback _sw Stroke
19+
local refAda : fallback _refAda SmallArchDepthA
20+
local refAdb : fallback _refAdb SmallArchDepthB
21+
22+
return : sink
23+
widths.rhs sw
24+
arch.rhs.centerAt.ltr.t m t (sw -- sw)
25+
archv
26+
g4 (r - OX) [YSmoothMidR t b refAda refAdb]
27+
arcvh
28+
arch.rhs.centerAt.rtl.b m b (sw -- sw)
29+
archv
30+
g4 (l + OX) [YSmoothMidL t b refAda refAdb]
31+
arcvh
32+
close
33+
34+
define diamondFineRatio : [AdviceStroke 3] / [AdviceStroke 2]
35+
define [DiamondShapeT sink t b l r sw] : begin
36+
local body : fallback sw : AdviceStroke 2
37+
local fine : diamondFineRatio * body
38+
local sw1 fine
39+
local sw2 : mix body fine 0.375
40+
41+
local mxb : arch.adjust-x.bot [mix (l - OX) (r + OX) 0.5] (sw -- fine)
42+
local mxt : arch.adjust-x.top [mix (l - OX) (r + OX) 0.5] (sw -- fine)
43+
local myl : YSmoothMidL t b
44+
local myr : YSmoothMidR t b
45+
46+
local p1 : 0.45 + 0.8 * (fine / (r - l))
47+
local p2 : 0.15 + 0.5 * (fine / (t - b))
48+
local p3 : 0.35 + 0.8 * (body / (t - b))
49+
local p4 : 0.15 + 0.0 * (body / (r - l))
50+
51+
local pcx 0.5
52+
local pcy 0.1
53+
54+
return : sink
55+
g2.right.mid mxb (b + O) [widths.lhs fine]
56+
alsoThru.g2 pcx pcy
57+
flat [mix mxb r p1] [mix b myr p2] [widths.lhs sw1]
58+
curl [mix mxb r (1 - p4)] [mix b myr (1 - p3)] [widths.lhs sw2]
59+
g2.up.mid (r - OX) myr [widths.lhs body]
60+
flat [mix r mxt p4] [mix myr t p3] [widths.lhs sw2]
61+
curl [mix r mxt (1 - p1)] [mix myr t (1 - p2)] [widths.lhs sw1]
62+
alsoThru.g2 (1 - pcx) (1 - pcy)
63+
g2.left.mid mxt (t - O) [widths.lhs fine]
64+
alsoThru.g2 pcx pcy
65+
flat [mix mxt l p1] [mix t myl p2] [widths.lhs sw1]
66+
curl [mix mxt l (1 - p4)] [mix t myl (1 - p3)] [widths.lhs sw2]
67+
g2.down.mid (l + OX) myl [widths.lhs body]
68+
flat [mix l mxb p4] [mix myl b p3] [widths.lhs sw2]
69+
curl [mix l mxb (1 - p1)] [mix myl b (1 - p2)] [widths.lhs sw1]
70+
alsoThru.g2 (1 - pcx) (1 - pcy)
71+
close
72+
73+
define [RoundRectShapeT sink u d l r _sw _cr] : begin
74+
local sw : fallback _sw Stroke
75+
local cr : fallback _cr : clamp ((r - l) / 5) ((r - l) / 2.5) : HSwToV sw
76+
local lMid : l + cr
77+
local rMid : r - cr
78+
local ada : ArchDepthAOf cr (r - l)
79+
local adb : ArchDepthBOf cr (r - l)
80+
81+
return : sink
82+
widths.lhs sw
83+
arch.lhs.centerAt.rtl.t lMid u (sw -- sw) (knot-ty -- curl)
84+
archv
85+
flatside.ld l d u ada adb
86+
arcvh
87+
arch.lhs.centerAt.ltr.b lMid d (sw -- sw) (knot-ty -- flat)
88+
arch.lhs.centerAt.ltr.b rMid d (sw -- sw) (knot-ty -- curl)
89+
archv
90+
flatside.ru r d u ada adb
91+
arcvh
92+
arch.lhs.centerAt.rtl.t rMid u (sw -- sw) (knot-ty -- flat)
93+
close

packages/font-glyphs/src/common/shapes.ptl

+2-2
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ glyph-block CommonShapes : begin
8181
spiro-outline
8282
corner (-VERY-FAR) [mix y1 y2 (-ext)]
8383
corner [mix x1 x2 (-ext)] [mix y1 y2 (-ext)]
84-
corner [mix x2 x2 (1 + ext)] [mix y1 y2 (1 + ext)]
84+
corner [mix x1 x2 (1 + ext)] [mix y1 y2 (1 + ext)]
8585
corner (-VERY-FAR) [mix y1 y2 (1 + ext)]
8686

8787
glyph-block-export MaskRightLine
@@ -90,7 +90,7 @@ glyph-block CommonShapes : begin
9090
spiro-outline
9191
corner (+VERY-FAR) [mix y1 y2 (-ext)]
9292
corner [mix x1 x2 (-ext)] [mix y1 y2 (-ext)]
93-
corner [mix x2 x2 (1 + ext)] [mix y1 y2 (1 + ext)]
93+
corner [mix x1 x2 (1 + ext)] [mix y1 y2 (1 + ext)]
9494
corner (+VERY-FAR) [mix y1 y2 (1 + ext)]
9595

9696
glyph-block-export HalfRectTriangle

packages/font-glyphs/src/index.ptl

+1
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ export : define [buildGlyphs para recursive] : begin
6767
### HERE WE GO
6868
run-glyph-module "./common/derivatives.mjs"
6969
run-glyph-module "./common/shapes.mjs"
70+
run-glyph-module "./common/o-shape-variants.mjs"
7071
run-glyph-module "./space/index.mjs"
7172
run-glyph-module "./marks/index.mjs"
7273

packages/font-glyphs/src/number/0.ptl

+1-53
Original file line numberDiff line numberDiff line change
@@ -8,65 +8,14 @@ glyph-module
88
glyph-block Digits-Zero : begin
99
glyph-block-import CommonShapes
1010
glyph-block-import Common-Derivatives
11+
glyph-block-import Common-OShape-Variants : OvalShapeT DiamondShapeT
1112
glyph-block-import Digits-Shared : OnumHeight OnumMarks CodeLnum CodeOnum
1213

1314
define CircleInnerWidth : RightSB - SB - [HSwToV : 2 * Stroke]
1415
define SplitSlashGap : [HSwToV Stroke] + [clamp (CircleInnerWidth / 5) (CircleInnerWidth / 3) [HSwToV : AdviceStroke 5]]
1516
define CutoutVerticalStrokeWidth : Math.max (0.2 * CircleInnerWidth) : Math.min (0.4 * CircleInnerWidth) [AdviceStroke 3]
1617
define [CutoutStrokeWidth top] : Math.max (0.1 * top) : Math.min (0.125 * top) (0.5 * CircleInnerWidth) [AdviceStroke 3]
1718

18-
glyph-block-export OvalShapeT
19-
define [OvalShapeT sink t b l r sw] : let [m : mix l r 0.5] : sink
20-
widths.rhs [fallback sw Stroke]
21-
arch.rhs.centerAt.ltr.t m t
22-
archv
23-
g4 (r - OX) [YSmoothMidR t b SmallArchDepthA SmallArchDepthB]
24-
arcvh
25-
arch.rhs.centerAt.rtl.b m b
26-
archv
27-
g4 (l + OX) [YSmoothMidL t b SmallArchDepthA SmallArchDepthB]
28-
arcvh
29-
close
30-
31-
define [DiamondShapeT sink t b l r] : begin
32-
33-
local fine : AdviceStroke 3
34-
local body : AdviceStroke 2
35-
local sw1 fine
36-
local sw2 : mix body fine 0.375
37-
38-
local mxb : arch.adjust-x.bot [mix (l - OX) (r + OX) 0.5] (sw -- fine)
39-
local mxt : arch.adjust-x.top [mix (l - OX) (r + OX) 0.5] (sw -- fine)
40-
local myl : YSmoothMidL t b
41-
local myr : YSmoothMidR t b
42-
43-
local p1 : 0.45 + 0.8 * (fine / (r - l))
44-
local p2 : 0.15 + 0.5 * (fine / (t - b))
45-
local p3 : 0.35 + 0.8 * (body / (t - b))
46-
local p4 : 0.15 + 0.0 * (body / (r - l))
47-
48-
local pcx 0.5
49-
local pcy 0.1
50-
51-
return : sink
52-
g2.right.mid mxb (b + O) [widths.lhs fine]
53-
alsoThru.g2 pcx pcy
54-
flat [mix mxb r p1] [mix b myr p2] [widths.lhs sw1]
55-
curl [mix mxb r (1 - p4)] [mix b myr (1 - p3)] [widths.lhs sw2]
56-
g2.up.mid (r - OX) myr [widths.lhs body]
57-
flat [mix r mxt p4] [mix myr t p3] [widths.lhs sw2]
58-
curl [mix r mxt (1 - p1)] [mix myr t (1 - p2)] [widths.lhs sw1]
59-
alsoThru.g2 (1 - pcx) (1 - pcy)
60-
g2.left.mid mxt (t - O) [widths.lhs fine]
61-
alsoThru.g2 pcx pcy
62-
flat [mix mxt l p1] [mix t myl p2] [widths.lhs sw1]
63-
curl [mix mxt l (1 - p4)] [mix t myl (1 - p3)] [widths.lhs sw2]
64-
g2.down.mid (l + OX) myl [widths.lhs body]
65-
flat [mix l mxb p4] [mix myl b p3] [widths.lhs sw2]
66-
curl [mix l mxb (1 - p1)] [mix myl b (1 - p2)] [widths.lhs sw1]
67-
alsoThru.g2 (1 - pcx) (1 - pcy)
68-
close
69-
7019
define [ZeroShapeBase shapeT] : namespace
7120
define [outlineT sink offsetX offsetY top] : shapeT sink (top - offsetY) (offsetY) (SB + offsetX) (RightSB - offsetX)
7221
export : define [Shape top] : outlineT dispiro 0 0 top
@@ -76,7 +25,6 @@ glyph-block Digits-Zero : begin
7625
define Oval : ZeroShapeBase OvalShapeT
7726
define Diamond : ZeroShapeBase DiamondShapeT
7827

79-
8028
define [InsetShape zero overlay fnMask height] : glyph-proc
8129
include zero
8230
if fnMask

packages/font-glyphs/src/symbol/arrow.ptl

+18-6
Original file line numberDiff line numberDiff line change
@@ -618,12 +618,13 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
618618
MkArrow TrigDashArrowShape [MangleName 'trigDashArrowDown'] [MangleUnicode 0x2B6D] arrowMidX arrowTop arrowMidX arrowBot
619619

620620
do "Hook Straight Arrow"
621-
MkArrow [HookArrowShape 1] [MangleName 'hookArrowLeft'] [MangleUnicode 0x21A9] arrowRSB SymbolMid arrowSB SymbolMid
622-
MkArrow [HookArrowShape (-1)] [MangleName 'hookArrowRight'] [MangleUnicode 0x21AA] arrowSB SymbolMid arrowRSB SymbolMid
623-
MkArrow [HookArrowShape (-1)] [MangleName 'hookArrowUpLeft'] [MangleUnicode 0x2923] arrowDiagRSB arrowDiagBot arrowDiagSB arrowDiagTop
624-
MkArrow [HookArrowShape 1] [MangleName 'hookArrowUpRight'] [MangleUnicode 0x2924] arrowDiagSB arrowDiagBot arrowDiagRSB arrowDiagTop
625-
MkArrow [HookArrowShape (-1)] [MangleName 'hookArrowDownRight'] [MangleUnicode 0x2925] arrowDiagSB arrowDiagTop arrowDiagRSB arrowDiagBot
626-
MkArrow [HookArrowShape 1] [MangleName 'hookArrowDownLeft'] [MangleUnicode 0x2926] arrowDiagRSB arrowDiagTop arrowDiagSB arrowDiagBot
621+
MkArrow [HookArrowShape 1] [MangleName 'hookArrowLeft'] [MangleUnicode 0x21A9] arrowRSB SymbolMid arrowSB SymbolMid
622+
MkArrow [HookArrowShape (-1)] [MangleName 'hookArrowRight'] [MangleUnicode 0x21AA] arrowSB SymbolMid arrowRSB SymbolMid
623+
MkArrow [HookArrowShape (-1)] [MangleName 'hookArrowUpLeft'] [MangleUnicode 0x2923] arrowDiagRSB arrowDiagBot arrowDiagSB arrowDiagTop
624+
MkArrow [HookArrowShape 1] [MangleName 'hookArrowUpRight'] [MangleUnicode 0x2924] arrowDiagSB arrowDiagBot arrowDiagRSB arrowDiagTop
625+
MkArrow [HookArrowShape (-1)] [MangleName 'hookArrowDownRight'] [MangleUnicode 0x2925] arrowDiagSB arrowDiagTop arrowDiagRSB arrowDiagBot
626+
MkArrow [HookArrowShape 1] [MangleName 'hookArrowDownLeft'] [MangleUnicode 0x2926] arrowDiagRSB arrowDiagTop arrowDiagSB arrowDiagBot
627+
MkArrow [HookArrowShape 1] [MangleName 'lowerHookArrowRight'] [MangleUnicode 0x1F8B2] arrowSB SymbolMid arrowRSB SymbolMid
627628

628629
do "Loop Straight Arrow"
629630
MkArrow [LoopArrowShape 1] [MangleName 'loopArrowLeft'] [MangleUnicode 0x21AB] arrowRSB SymbolMid arrowSB SymbolMid
@@ -1477,6 +1478,17 @@ glyph-block Symbol-Arrow : for-width-kinds WideWidth1
14771478
create-glyph [MangleName 'uni2948'] [MangleUnicode 0x2948]
14781479
RingOverlayShape 'arrowLeftRight' 'thinArrowLeftRight' 'arrRingOverLR' 'arrRingOverLRMask'
14791480

1481+
do "Branched Arrows"
1482+
local branchInset : 0.5 * MosaicWidth - 1.5 * arrowHeadSize
1483+
create-glyph [MangleName 'arrowLeftFromDown'] [MangleUnicode 0x1F8C0] : composite-proc
1484+
refer-glyph : MangleName 'arrowDown'
1485+
intersection [MaskLeft arrowMidX]
1486+
with-transform [ApparentTranslate branchInset 0] : refer-glyph : MangleName 'arrowLeft'
1487+
create-glyph [MangleName 'arrowRightFromDown'] [MangleUnicode 0x1F8C1] : composite-proc
1488+
refer-glyph : MangleName 'arrowDown'
1489+
intersection [MaskRight arrowMidX]
1490+
with-transform [ApparentTranslate (-branchInset) 0] : refer-glyph : MangleName 'arrowRight'
1491+
14801492
do "Stacked Arrows"
14811493
local hcDist : Math.max (halfArrowSw * 5) (arrowWidth / 2)
14821494
VCombine [MangleName 'uni21C4'] [MangleUnicode 0x21C4] [MangleName 'arrowRight'] [MangleName 'arrowLeft'] (arrowHeadSize * 1.75)

packages/font-glyphs/src/symbol/math/letter-like.ptl

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ glyph-module
77
glyph-block Symbol-Math-Letter-Like : begin
88
glyph-block-import CommonShapes
99
glyph-block-import Common-Derivatives
10-
glyph-block-import Digits-Zero : OvalShapeT
10+
glyph-block-import Common-OShape-Variants : OvalShapeT
1111

1212
turned 'forall' 0x2200 'A.straightSerifless' Middle (CAP / 2)
1313
alias 'exists' 0x2203 'revE.serifless'

packages/font-glyphs/src/symbol/math/relation.ptl

+11
Original file line numberDiff line numberDiff line change
@@ -497,6 +497,17 @@ glyph-block Symbol-Math-Relation-Inequality : begin
497497
LessShape (SymbolMid + dH) (SymbolMid - dH) SB RightSB [AdviceStroke 4]
498498
DrawAt (RightSB - DotRadius) SymbolMid (DotRadius * kr * [AdviceStroke 4] / Stroke - ov)
499499

500+
create-glyph 'observerEye' 0x23FF : glyph-proc
501+
local lensXP 0.8
502+
local lensRX : (RightSB - SB) * (1 - lensXP) + [HSwToV : 0.25 * OperatorStroke]
503+
local lensRY : dH * lensXP + 0.25 * OperatorStroke
504+
include : refer-glyph 'less'
505+
include : intersection
506+
union
507+
LessMaskShape (SymbolMid + dH) (SymbolMid - dH) SB RightSB
508+
MaskRight RightSB
509+
Ellipse.Outline.At [mix SB RightSB lensXP] SymbolMid lensRX lensRY
510+
500511
create-glyph 'normalSubsetOf' 0x22B2 : glyph-proc
501512
include : NormalSubsetShape (SymbolMid + dH) (SymbolMid - dH) SB RightSB
502513

packages/font-glyphs/src/symbol/mosaic/split-graphic.ptl

+2-17
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ glyph-module
99
glyph-block Symbol-Mosaic-Split-Graphic : begin
1010
glyph-block-import CommonShapes
1111
glyph-block-import Common-Derivatives
12+
glyph-block-import Common-OShape-Variants : RoundRectShapeT
1213
glyph-block-import Symbol-Pictograph-Stick-Figure : StickFigureKit
1314
glyph-block-import Symbol-Pictograph-Keyboard : KeyGen
1415

@@ -103,23 +104,7 @@ glyph-block Symbol-Mosaic-Split-Graphic : begin
103104
set scaffold.screenInset : (top - bottom) / 8
104105
set scaffold.cornerRad : (top - bottom) / 8
105106

106-
define [Screen top bot left right] : glyph-proc
107-
include : dispiro
108-
widths.lhs graphicSw
109-
flat left ([mix top bot 0.5] + 1)
110-
curl left (bot + scaffold.cornerRad)
111-
arcvh 2
112-
flat (left + scaffold.cornerRad) bot
113-
curl (right - scaffold.cornerRad) bot
114-
archv 2
115-
flat right (bot + scaffold.cornerRad)
116-
curl right (top - scaffold.cornerRad)
117-
arcvh 2
118-
flat (right - scaffold.cornerRad) top
119-
curl (left + scaffold.cornerRad) top
120-
archv 2
121-
flat left (top - scaffold.cornerRad)
122-
flat left ([mix top bot 0.5] - 1)
107+
define [Screen top bot left right] : RoundRectShapeT dispiro top bot left right graphicSw scaffold.cornerRad
123108

124109
define [Television top bot left right] : glyph-proc
125110
local tvBot : mix bot top scaffold.legSize

packages/font-glyphs/src/symbol/pictograph/faces.ptl

+1-1
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ glyph-block Symbol-Pictograph-Faces : begin
150150
face.Ring OShape
151151
face.Eyes
152152
face.Mouth 1
153-
include : FlipAround (MosaicWidth / 2) [mix faceTop faceBot 0.5]
153+
include : FlipAround MosaicMiddle [mix faceTop faceBot 0.5]
154154

155155
for-width-kinds WideWidth4
156156
glyph-block-import Symbol-Mosaic-Split-Graphic : Multicell

packages/font-glyphs/src/symbol/pictograph/powerline-and-gui.ptl

+32-5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ glyph-module
88
glyph-block Symbol-Pictograph-Powerline-And-GUI : begin
99
glyph-block-import CommonShapes
1010
glyph-block-import Common-Derivatives
11+
glyph-block-import Common-OShape-Variants : OvalShapeT
1112
glyph-block-import Shared-Symbol-Shapes : TriangleShape
1213
glyph-block-import Symbol-Pictograph-Stick-Figure : StickFigureKit PointingHandShape
1314
glyph-block-import Symbol-Geometric-Shared : GeometricDim
@@ -55,23 +56,44 @@ glyph-block Symbol-Pictograph-Powerline-And-GUI : begin
5556
close
5657
OShapeOutline lockHoleTop lockHoleBottom lockHoleLeft lockHoleRight fine (SmallArchDepthA * lockHoleWidth) (SmallArchDepthB * lockHoleWidth)
5758

59+
define [KeyholeStroke t b l r sw circBot] : glyph-proc
60+
local trigTop : mix b t 1.5
61+
local trigClip : mix t circBot 0.5
62+
local mx : mix l r 0.5
63+
local circ : OvalShapeT dispiro t circBot l r sw
64+
local circMask : OvalShapeT spiro-outline t circBot l r
65+
local trig : intersection [MaskBelow trigClip]
66+
TriangleShape mx trigTop r b l b sw
67+
local trigMask : intersection [MaskBelow trigClip]
68+
spiro-outline [corner mx trigTop] [corner r b] [corner l b]
69+
70+
include : difference
71+
union circMask trigMask
72+
union
73+
difference circMask circ
74+
difference trigMask trig
75+
76+
create-glyph 'keyhole' 0x1CEB1 : glyph-proc
77+
local diameter : RightSB - SB - OX * 2
78+
include : KeyholeStroke (PictTop - O) PictBot (SB + OX) (RightSB - OX) GeometryStroke (PictTop - O - diameter)
79+
5880
do "Progress Bar"
5981
define frameLeft : mix SB RightSB DesignParameters.bracketOutside
6082
define frameRight : mix RightSB SB DesignParameters.bracketOutside
6183
define progressBarGap : Math.min ((TackTop - TackBot) / 6) (Width / 6) [AdviceStroke 5]
6284

6385
create-glyph 'powerline/progressBarStartEmpty' 0xEE00 : glyph-proc
64-
include : VBar.l frameLeft TackTop TackBot GeometryStroke
65-
include : HBar.t frameLeft (Width - O) TackTop GeometryStroke
86+
include : VBar.l frameLeft TackTop TackBot GeometryStroke
87+
include : HBar.t frameLeft (Width - O) TackTop GeometryStroke
6688
include : HBar.b frameLeft (Width - O) TackBot GeometryStroke
6789

6890
create-glyph 'powerline/progressBarMiddleEmpty' 0xEE01 : glyph-proc
69-
include : HBar.t O (Width - O) TackTop GeometryStroke
91+
include : HBar.t O (Width - O) TackTop GeometryStroke
7092
include : HBar.b O (Width - O) TackBot GeometryStroke
7193

7294
create-glyph 'powerline/progressBarEndEmpty' 0xEE02 : glyph-proc
73-
include : VBar.r frameRight TackTop TackBot GeometryStroke
74-
include : HBar.t O frameRight TackTop GeometryStroke
95+
include : VBar.r frameRight TackTop TackBot GeometryStroke
96+
include : HBar.t O frameRight TackTop GeometryStroke
7597
include : HBar.b O frameRight TackBot GeometryStroke
7698

7799
create-glyph 'powerline/progressBarStartFilled' 0xEE03 : glyph-proc
@@ -133,6 +155,11 @@ glyph-block Symbol-Pictograph-Powerline-And-GUI : begin
133155
set-width MosaicWidth
134156
include : with-transform [ApparentTranslate (-MosaicWidth / 4) ((CAP - Geom.MidY) * 0.3 + AccentStackOffset / 2)] : refer-glyph : MangleName 'blackSmallTriangleLeft'
135157

158+
if (MosaicWidthScalar == 1) : begin
159+
create-glyph "blackRightTriangleCaret" 0x1CEB3 : glyph-proc
160+
set-width 0
161+
include : HalfRectTriangle MosaicWidth ParenBot 0 [mix 0 ParenBot 0.2]
162+
136163
do "Split graphics"
137164
define [BoxN n] : new Box uiFigTop uiFigBot SB (MosaicWidth * n - SB)
138165

0 commit comments

Comments
 (0)