Add variant selectors for Greek lower Beta/Gamma/Nu/Upsilon. (#2451)

This commit is contained in:
John McWilliams 2024-08-01 20:30:15 -04:00 committed by GitHub
parent dc9d7f3ac2
commit 8f945312fb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 173 additions and 21 deletions

View file

@ -9,8 +9,17 @@ glyph-block Letter-Greek-Lower-Gamma : begin
glyph-block-import Common-Derivatives
glyph-block-import Letter-Blackboard : BBS BBD BBBarLeft
create-glyph 'grek/gamma.straight' : glyph-proc
include : MarkSet.p
include : refer-glyph "v.straightSerifless"
include : VBar.m Middle Descender HalfStroke
create-glyph 'grek/gamma' 0x3B3 : glyph-proc
create-glyph 'grek/gamma.curly' : glyph-proc
include : MarkSet.p
include : refer-glyph "v.curlySerifless"
include : VBar.m Middle Descender HalfStroke
create-glyph 'grek/gamma.casual' : glyph-proc
include : MarkSet.p
local xMid : [mix SB RightSB 0.46] + [HSwToV HalfStroke]
@ -28,6 +37,8 @@ glyph-block Letter-Greek-Lower-Gamma : begin
quadControls 0 0.3 6
g4 xMid 0 [widths.rhs : Stroke * 0.9]
select-variant 'grek/gamma' 0x3B3
create-glyph 'mathbb/grek/gamma' 0x213D : glyph-proc
include : MarkSet.p

View file

@ -8,7 +8,10 @@ glyph-block Letter-Greek-Lower-Nu : begin
glyph-block-import CommonShapes
glyph-block-import Common-Derivatives
create-glyph 'grek/nu' 0x3BD : glyph-proc
alias 'grek/nu.straight' null 'v.straightSerifless'
alias 'grek/nu.curly' null 'v.curlySerifless'
create-glyph 'grek/nu.casual' : glyph-proc
include : MarkSet.e
local xmid : Middle + HalfStroke * 0.75
include : dispiro
@ -21,3 +24,5 @@ glyph-block Letter-Greek-Lower-Nu : begin
curl RightSB (XH * 0.9) [heading Downward]
quadControls 0 0.3 6
g4 xmid 0
select-variant 'grek/nu' 0x3BD

View file

@ -2,6 +2,7 @@ $$include '../../meta/macros.ptl'
import [mix linreg clamp fallback] from "@iosevka/util"
import [DesignParameters] from "../../meta/aesthetics.mjs"
import [MathSansSerif] from "@iosevka/glyph/relation"
glyph-module
@ -9,7 +10,10 @@ glyph-block Letter-Greek-Lower-Upsilon : begin
glyph-block-import CommonShapes
glyph-block-import Common-Derivatives
define [LowerUpsilonShape] : with-params [k top ada adb [sw Stroke]] : glyph-proc
alias 'grek/upsilon.straightSerifless' null 'u.toothlessRoundedSerifless'
alias 'grek/upsilon.straightSerifed' null 'u.toothlessRoundedMotionSerifed'
define [LowerUpsilonCasualShape] : with-params [k top ada adb [sw Stroke]] : glyph-proc
define xArcRight : RightSB - OX
define yArcRight : [mix 0 top 0.6] - sw * (0.2 + TanSlope)
define xArcEnd : [mix SB RightSB 0.82] + sw * 0.375
@ -22,8 +26,11 @@ glyph-block Letter-Greek-Lower-Upsilon : begin
g4 xArcRight yArcRight
g4 xArcEnd yArcEnd
create-glyph 'grek/upsilon' 0x3C5 : glyph-proc
create-glyph 'grek/upsilon.casualSerifless' : glyph-proc
include : MarkSet.e
include : LowerUpsilonShape 0.5 XH SmallArchDepthA SmallArchDepthB
if SLAB : include : HSerif.lt SB XH SideJut
include : LowerUpsilonCasualShape 0.5 XH SmallArchDepthA SmallArchDepthB
derive-composites 'grek/upsilon.casualSerifed' null 'grek/upsilon.casualSerifless' : HSerif.lt SB XH SideJut
select-variant 'grek/upsilon' 0x3C5
link-reduced-variant 'grek/upsilon/sansSerif' 'grek/upsilon' MathSansSerif

View file

@ -186,8 +186,6 @@ glyph-block Letter-Latin-Upper-B : begin
alias 'cyrl/Ve' 0x412 'B'
select-variant 'BBar'
select-variant 'smcpBBar' 0x1D03
select-variant 'Bhookleft' 0x181
define [CursiveCyrveShape top] : glyph-proc
@ -220,11 +218,9 @@ glyph-block Letter-Latin-Upper-B : begin
include : MarkSet.b
include : CursiveCyrveShape Ascender
select-variant 'cyrl/ve' 0x432
select-variant 'smcpB' 0x299 (shapeFrom -- 'cyrl/ve')
alias 'grek/betaSymbol' 0x3D0 'cyrl/ve.cursiveTall'
alias 'cyrl/ve.BGR' null 'cyrl/ve.cursiveTall'
select-variant 'cyrl/ve' 0x432
select-variant 'smcpB' 0x299 (shapeFrom -- 'cyrl/ve')
select-variant 'smcpBBar' 0x1D03
create-glyph 'mathbb/B' 0x1D539 : glyph-proc
include : MarkSet.capital
@ -237,7 +233,7 @@ glyph-block Letter-Latin-Upper-B : begin
VBar.r ([mix SB RightSB BArcMix] - BBD - OX * 2) (CAP * BBarPos) CAP BBS
VBar.l (SB + BBD) 0 CAP BBS
create-glyph 'grek/beta' 0x3B2 : glyph-proc
create-glyph 'grek/beta.standard' : glyph-proc
include : MarkSet.bp
include : LeaningAnchor.Below.VBar.l SB
define pBar 0.55
@ -265,7 +261,13 @@ glyph-block Letter-Latin-Upper-B : begin
arch.rhs 0 (swAfter -- ShoulderFine)
g4.up.end (SB + HVContrast * (Stroke - ShoulderFine)) adb [widths.rhs ShoulderFine]
derive-composites 'latn/beta' 0xA7B5 'grek/beta'
alias 'grek/beta.cursive' null 'cyrl/ve.cursiveTall'
select-variant 'grek/beta' 0x3B2
alias 'grek/betaSymbol' 0x3D0 'cyrl/ve.cursiveTall'
alias 'cyrl/ve.BGR' null 'cyrl/ve.cursiveTall'
derive-composites 'latn/beta' 0xA7B5 'grek/beta.standard'
if SLAB [SerifFrame.fromDf [DivFrame 1] XH Descender].lb.fullSide [no-shape]
create-glyph 'cyrl/veRounded' 0x1C80 : glyph-proc