Add rounded lowercase Xi (#856).

This commit is contained in:
be5invis 2021-07-10 13:04:32 -07:00
parent d9d74374e1
commit a08e6c85a5
5 changed files with 76 additions and 21 deletions

View file

@ -1 +1,2 @@
* Add flat-topped lowercase Delta (#856). * Add flat-topped lowercase Delta (#856).
* Add rounded lowercase Xi (#856).

View file

@ -45,7 +45,7 @@ glyph-block Letter-Greek-Lower-Delta : begin
local yMid : CAP * 0.6 local yMid : CAP * 0.6
local yMid2 : mix yMid [YSmoothMidR yMid 0 SmallSmoothA SmallSmoothB] 0.95 local yMid2 : mix yMid [YSmoothMidR yMid 0 SmallSmoothA SmallSmoothB] 0.95
local yMid3 : mix yMid [YSmoothMidR yMid 0 SmallSmoothA SmallSmoothB] 0.5 local yMid3 : mix yMid [YSmoothMidR yMid 0 SmallSmoothA SmallSmoothB] 0.5
local yMockBarStart : yMid3 + 2 * Stroke local yMockBarStart : yMid3 + 2.25 * Stroke
local pStraightBarStart : 0.75 - (Stroke / CAP) local pStraightBarStart : 0.75 - (Stroke / CAP)
include : HBarTop SB RightSB CAP include : HBarTop SB RightSB CAP

View file

@ -42,7 +42,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
[Just SLAB-CLASSICAL] : SerifedArcStart_RtlLhs RightSB Middle top stroke hook [Just SLAB-CLASSICAL] : SerifedArcStart_RtlLhs RightSB Middle top stroke hook
[Just SLAB-INWARD] : InwardSlabArcStart_RtlLhs RightSB Middle top stroke hook [Just SLAB-INWARD] : InwardSlabArcStart_RtlLhs RightSB Middle top stroke hook
__ : list [g4 (RightSB + O) (top - hook) [widths.lhs]] [hookstart (top - O)] __ : list [g4 (RightSB + O) (top - hook) [widths.lhs]] [hookstart (top - O)]
g4 (SB + (OX - O)) (top - sma) g4 SB (top - sma)
arcvh arcvh
flat Middle (midy - (fine - stroke / 2)) [widths.heading fine 0 Rightward] flat Middle (midy - (fine - stroke / 2)) [widths.heading fine 0 Rightward]
curl midx (midy - (fine - stroke / 2)) [heading Rightward] curl midx (midy - (fine - stroke / 2)) [heading Rightward]
@ -53,7 +53,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
flat midx (midy + (fine - stroke / 2)) [widths.heading fine 0 Leftward] flat midx (midy + (fine - stroke / 2)) [widths.heading fine 0 Leftward]
curl Middle (midy + (fine - stroke / 2)) [heading Leftward] curl Middle (midy + (fine - stroke / 2)) [heading Leftward]
archv archv
g4 (SB + (OX - O) + O * 2) (bot + smb) [widths.lhs] g4 (SB + OX * 2) (bot + smb) [widths.lhs]
match slabType match slabType
[Just SLAB-CLASSICAL] : SerifedArcEnd_LtrLhs RightSB Middle bot stroke hook [Just SLAB-CLASSICAL] : SerifedArcEnd_LtrLhs RightSB Middle bot stroke hook
[Just SLAB-INWARD] : InwardSlabArcEnd_LtrLhs RightSB Middle bot stroke hook [Just SLAB-INWARD] : InwardSlabArcEnd_LtrLhs RightSB Middle bot stroke hook
@ -91,7 +91,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
[Just SLAB-CLASSICAL] : SerifedArcStart_LtrRhs SB Middle top stroke hook [Just SLAB-CLASSICAL] : SerifedArcStart_LtrRhs SB Middle top stroke hook
[Just SLAB-INWARD] : InwardSlabArcStart_LtrRhs SB Middle top stroke hook [Just SLAB-INWARD] : InwardSlabArcStart_LtrRhs SB Middle top stroke hook
__ : list [g4 (SB - O) (top - hook) : widths.rhs] [hookstart (top - O)] __ : list [g4 (SB - O) (top - hook) : widths.rhs] [hookstart (top - O)]
g4 (RightSB - (OX - O)) (top - smb) g4 RightSB (top - smb)
arcvh arcvh
flat Middle (midy - (fine - stroke / 2)) [widths.heading 0 fine Leftward] flat Middle (midy - (fine - stroke / 2)) [widths.heading 0 fine Leftward]
curl midx (midy - (fine - stroke / 2)) [heading Leftward] curl midx (midy - (fine - stroke / 2)) [heading Leftward]
@ -102,7 +102,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
flat midx (midy + (fine - stroke / 2)) [widths.rhs.heading fine Rightward] flat midx (midy + (fine - stroke / 2)) [widths.rhs.heading fine Rightward]
curl Middle (midy + (fine - stroke / 2)) [heading Rightward] curl Middle (midy + (fine - stroke / 2)) [heading Rightward]
archv archv
g4 (RightSB - (OX - O) - O * 2) (bot + sma) [widths.rhs stroke] g4 (RightSB - OX * 2) (bot + sma) [widths.rhs stroke]
match slabType match slabType
[Just SLAB-CLASSICAL] : SerifedArcEnd_RtlRhs SB Middle bot stroke hook [Just SLAB-CLASSICAL] : SerifedArcEnd_RtlRhs SB Middle bot stroke hook
[Just SLAB-INWARD] : InwardSlabArcEnd_RtlRhs SB Middle bot stroke hook [Just SLAB-INWARD] : InwardSlabArcEnd_RtlRhs SB Middle bot stroke hook
@ -118,7 +118,7 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
arcvh arcvh
g4 (Middle + CorrectionOMidS) 0 [widths.lhs] g4 (Middle + CorrectionOMidS) 0 [widths.lhs]
archv archv
g4 (RightSB - (OX - O) - O * 2) (bot + sma) g4 (RightSB - OX * 2) (bot + sma)
arcvh arcvh
flat Middle (midy + (fine - stroke / 2)) [widths.heading fine 0 Leftward] flat Middle (midy + (fine - stroke / 2)) [widths.heading fine 0 Leftward]
curl midx (midy + (fine - stroke / 2)) [heading Leftward] curl midx (midy + (fine - stroke / 2)) [heading Leftward]

View file

@ -9,32 +9,67 @@ glyph-block Letter-Greek-Lower-Xi : begin
glyph-block-import CommonShapes glyph-block-import CommonShapes
glyph-block-import Common-Derivatives glyph-block-import Common-Derivatives
create-glyph 'grek/xi' 0x3BE : glyph-proc define SHAPE-ROUNDED 0
include : MarkSet.if define SHAPE-FLAT-TOP 1
include : HBarTop SB RightSB CAP
define [LowerXiShape shape] : glyph-proc
local smaTop : SmoothAOf (Smooth * 0.45) Width local smaTop : SmoothAOf (Smooth * 0.45) Width
local smbTop : SmoothBOf (Smooth * 0.45) Width local smbTop : SmoothBOf (Smooth * 0.45) Width
local smaBot : SmoothAOf (Smooth * 0.55) Width local smaBot : SmoothAOf (Smooth * 0.55) Width
local smbBot : SmoothBOf (Smooth * 0.55) Width local smbBot : SmoothBOf (Smooth * 0.55) Width
local fine : Stroke * CThin local fine : Stroke * CThin
local xbar : mix SB RightSB 0.85 local xBarStart : mix SB RightSB : match shape
local ybar : mix 0 CAP 0.55 [Just SHAPE-ROUNDED] 0.625
[Just SHAPE-FLAT-TOP] 0.75
local xBarEnd : mix SB RightSB : match shape
[Just SHAPE-ROUNDED] 0.75
[Just SHAPE-FLAT-TOP] 0.85
local yBar : mix 0 CAP 0.55
local xUpperArcLeft : match shape
[Just SHAPE-ROUNDED] : SB + 0
[Just SHAPE-FLAT-TOP] : [mix SB RightSB 0.075] + OX
local xLowerArcLeft : match shape
[Just SHAPE-ROUNDED] : SB + OX * 2
[Just SHAPE-FLAT-TOP] : [mix SB RightSB 0.025] + OX * 2
include : match shape
[Just SHAPE-FLAT-TOP] : HBarTop SB RightSB CAP
__ : glyph-proc
include : dispiro include : dispiro
g4.left.start xbar (CAP - Stroke + fine) [widths.lhs fine] match shape
archv 16 [Just SHAPE-ROUNDED] : list
g4 (SB - O * 2) [YSmoothMidL CAP (ybar - Stroke) smaTop smbTop] [widths.lhs] g4 (RightSB + O) (CAP - Hook) [widths.lhs]
hookstart (CAP - O)
[Just SHAPE-FLAT-TOP] : list
flat xBarEnd (CAP - Stroke + fine) [widths.lhs fine]
curl xBarStart (CAP - Stroke + fine) [widths.lhs fine]
archv 16
g4 xUpperArcLeft [YSmoothMidL CAP (yBar - Stroke) smaTop smbTop] [widths.lhs]
arcvh 16 arcvh 16
g4.right.end xbar (ybar - fine) [widths.lhs.heading fine Rightward] flat xBarStart (yBar - fine) [widths.lhs.heading fine Rightward]
curl xBarEnd (yBar - fine) [widths.lhs.heading fine Rightward]
include : dispiro include : dispiro
g4.left.start xbar (ybar - Stroke + fine) [widths.lhs.heading fine Leftward] flat xBarEnd (yBar - Stroke + fine) [widths.lhs.heading fine Leftward]
curl xBarStart (yBar - Stroke + fine) [widths.lhs.heading fine Leftward]
archv 16 archv 16
g4 SB (0.9 * [YSmoothMidL (ybar - Stroke) Stroke smaBot smbBot]) [widths.lhs] g4 xLowerArcLeft (0.9 * [YSmoothMidL (yBar - Stroke) Stroke smaBot smbBot]) [widths.lhs]
arcvh 16 arcvh 16
g4 [mix (SB + HVContrast * Stroke) (RightSB - HVContrast * Stroke) 0.6] 0 [heading Rightward] g4 [mix (xLowerArcLeft + HVContrast * Stroke) (RightSB - HVContrast * Stroke) 0.6] 0 [heading Rightward]
archv 16 archv 16
g4.down.mid (RightSB - Stroke * HVContrast) [mix Descender Stroke 0.5] [heading Downward] g4.down.mid (RightSB - Stroke * HVContrast) [mix Descender Stroke 0.5] [heading Downward]
arcvh 16 arcvh 16
flat (RightSB - (Stroke - [mix Descender Stroke 0.5]) * 1.1) (Descender + Stroke) flat (RightSB - (Stroke - [mix Descender Stroke 0.5]) * 1.1) (Descender + Stroke)
curl [Math.min (RightSB - (Stroke - [mix Descender Stroke 0.5]) * 1.1 - 1) [mix SB RightSB 0.5]] (Descender + Stroke) curl [Math.min (RightSB - (Stroke - [mix Descender Stroke 0.5]) * 1.1 - 1) [mix SB RightSB 0.5]] (Descender + Stroke)
create-glyph 'grek/xi.flatTop' : glyph-proc
include : MarkSet.if
include : LowerXiShape SHAPE-FLAT-TOP
create-glyph 'grek/xi.rounded' : glyph-proc
include : MarkSet.if
include : LowerXiShape SHAPE-ROUNDED
select-variant 'grek/xi' 0x3BE

View file

@ -4575,12 +4575,12 @@ tag = "VXAA"
[prime.lower-delta.variants.rounded] [prime.lower-delta.variants.rounded]
rank = 1 rank = 1
description = "Greek lower Delta (`δ`) with a cross-like shape at right" description = "Greek lower Delta (`δ`) with rounded top"
selector."grek/delta" = "rounded" selector."grek/delta" = "rounded"
[prime.lower-delta.variants.flat-top] [prime.lower-delta.variants.flat-top]
rank = 2 rank = 2
description = "Greek lower Delta (`δ`) with a straight right bar and tail" description = "Greek lower Delta (`δ`) with flat top"
selector."grek/delta" = "flatTop" selector."grek/delta" = "flatTop"
@ -4686,6 +4686,23 @@ selector."grek/lambda" = "curlyTurn"
[prime.lower-xi]
sampler = "ξ"
samplerExplain = "Greek lower Xi"
tag = "VXAB"
[prime.lower-xi.variants.rounded]
rank = 1
description = "Greek lower Xi (`ξ`) with rounded top"
selector."grek/xi" = "rounded"
[prime.lower-xi.variants.flat-top]
rank = 2
description = "Greek lower Xi (`ξ`) with flat top"
selector."grek/xi" = "flatTop"
[prime.cyrl-capital-ze] [prime.cyrl-capital-ze]
sampler = "З" sampler = "З"
samplerExplain = "Cyrillic Capital Ze" samplerExplain = "Cyrillic Capital Ze"
@ -6240,6 +6257,7 @@ turn-v = "straight"
latn-phi = "serifless" latn-phi = "serifless"
lower-alpha = "crossing" lower-alpha = "crossing"
lower-delta = "rounded" lower-delta = "rounded"
lower-xi = "flat-top"
capital-gamma = "serifless" capital-gamma = "serifless"
lower-iota = "serifed-flat-tailed" lower-iota = "serifed-flat-tailed"
lower-lambda = "straight" lower-lambda = "straight"
@ -7102,6 +7120,7 @@ y = "straight"
long-s = "flat-hook" long-s = "flat-hook"
lower-alpha = "tailed-barred" lower-alpha = "tailed-barred"
lower-delta = "flat-top" lower-delta = "flat-top"
lower-xi = "rounded"
cyrl-capital-ka = "symmetric-connected-serifless" cyrl-capital-ka = "symmetric-connected-serifless"
cyrl-ka = "symmetric-connected-serifless" cyrl-ka = "symmetric-connected-serifless"
cyrl-capital-u = "straight" cyrl-capital-u = "straight"