- LATIN SMALL LETTER V WITH CURL (`U+2C74`) (#1857).
  - LATIN SMALL LETTER E WITH NOTCH (`U+2C78`) (#1857).
This commit is contained in:
be5invis 2023-07-22 00:05:54 -07:00
parent 8b46840a3b
commit 3c1b1fb9ad
4 changed files with 63 additions and 3 deletions

View file

@ -11,6 +11,8 @@
- LONG RIGHTWARDS DOUBLE ARROW FROM BAR (`U+27FE`).
- LEFTWARDS DOUBLE ARROW FROM BAR (`U+2906`).
- RIGHTWARDS DOUBLE ARROW FROM BAR (`U+2907`).
- LATIN SMALL LETTER V WITH CURL (`U+2C74`) (#1857).
- LATIN SMALL LETTER E WITH NOTCH (`U+2C78`) (#1857).
- LEFT DOUBLE PARENTHESIS (`U+2E28`) (#1855).
- RIGHT DOUBLE PARENTHESIS (`U+2E29`) (#1855).
- LATIN CAPITAL LETTER INSULAR T (`U+A786`) (#1811).

View file

@ -189,6 +189,19 @@ glyph-block Letter-Latin-Lower-E : begin
g4 (RightSB + [mix (-extL) extR (11/16)]) (-depth + O) [heading Rightward]
g4 (RightSB + extR) (-depth + 0.5 * O) [heading Rightward]
create-glyph "eWithNotch.\(suffix)" : glyph-proc
include : MarkSet.e
local lastKnot : include : Body [DivFrame 1] XH [AdviceStroke2 2 3 XH]
local sw : AdviceStroke 4
local ry : Math.min (lastKnot.y - sw) (XH * 0.08)
local rx : Math.min ry
include : dispiro
g4.down.start lastKnot.x lastKnot.y [widths.rhs sw]
arcvh
g4 (lastKnot.x + rx) (lastKnot.y - ry + O)
archv
g4.up.end (lastKnot.x + rx * 2) lastKnot.y
create-glyph "eRetroflexHook.\(suffix)" : glyph-proc
include : MarkSet.e
local lastKnot : include : Body [DivFrame 1] XH [AdviceStroke2 2 3 XH]
@ -252,6 +265,7 @@ glyph-block Letter-Latin-Lower-E : begin
select-variant 'eOgonek' 0x119 (follow -- 'e')
select-variant 'eRetroflexHook' 0x1D92 (follow -- 'e')
select-variant 'eWithNotch' 0x2C78 (follow -- 'e')
select-variant "Schwa/selector" (follow -- "Schwa")
CreateDependentComposite 'Schwa' 0x18F "Schwa/selector" : object

View file

@ -131,10 +131,40 @@ glyph-block Letter-Latin-V : begin
include : VBottomCapShape df fBarStraight sw
include : dispiro
widths.rhs sw
straight.left.start (RightSB + hookWidthOuter) (top - sw - O)
g4 (RightSB - hookWidthInner) (top - 0.5 * sw - TailY)
straight.left.start (df.rightSB + hookWidthOuter) (top - sw - O)
g4 (df.rightSB - hookWidthInner) (top - 0.5 * sw - TailY)
quadControls 0.4 0.75 64 unimportant
g4 (Middle + VCornerHalfWidth * sw / Stroke) 0 [widths.rhs (VShapeFine * sw / Stroke)]
g4 (df.middle + VCornerHalfWidth * sw / Stroke) 0 [widths.rhs (VShapeFine * sw / Stroke)]
define [VLoopShape] : with-params [df fBarStraight top [sw Stroke]] : glyph-proc
include : VShape df fBarStraight top (sw -- sw)
eject-contour 'strokeDown'
include : VBottomCapShape df fBarStraight sw
define cornerHW : VCornerHalfWidth * (sw / Stroke)
define cornerSw : VShapeFine * sw / Stroke
define sbScale : if fBarStraight StraightSbShrink 1
define vxStartL : df.leftSB * sbScale
define vxEndL : df.middle - cornerHW
define swLoop : AdviceStroke 4.5
define xLoopL : mix df.leftSB vxEndL 0.1
define loopSizeX : 0.5 * (df.middle - xLoopL + 0.5 * HVContrast * swLoop)
define loopSizeY : Math.min loopSizeX : 0.5 * (0.5 * top + 0.5 * swLoop)
local swLoopMix1 : mix swLoop [mix sw cornerSw 0.5] 0.375
local swLoopMix2 : mix swLoop [mix sw cornerSw 0.5] 0.75
include : dispiro
flat (df.leftSB * 0.5) (top - 2 * loopSizeY) [widths.lhs swLoop]
curl (xLoopL + loopSizeX) (top - 2 * loopSizeY)
archv
g4 (xLoopL + 2 * loopSizeX - O) (top - loopSizeY)
arcvh
g4 (xLoopL + loopSizeX - CorrectionOMidX * swLoop + 0.5 * HVContrast * (swLoopMix2 - swLoop)) (top - O) [widths.lhs swLoopMix1]
archv
g4 xLoopL (top - loopSizeY) [widths.lhs swLoopMix2]
flat [mix vxStartL vxEndL : if fBarStraight 0.5 0.425] [mix top 0 0.5] [widths.lhs : mix sw cornerSw 0.5]
curl vxEndL 0 [widths.lhs cornerSw]
define [VSerifs df fBarStraight top] : begin
local sbScale : if fBarStraight StraightSbShrink 1
@ -183,6 +213,12 @@ glyph-block Letter-Latin-V : begin
include : Serifs [DivFrame 1] fStraightBar XH
eject-contour 'serifRT'
create-glyph "vLoop.\(suffix)" : glyph-proc
include : MarkSet.e
include : VLoopShape [DivFrame 1] fStraightBar XH
include : Serifs [DivFrame 1] fStraightBar XH
eject-contour 'serifLT'
create-glyph "cyrl/Uk.\(suffix)" : glyph-proc
include : MarkSet.capital
local vPartHeight : CAP * 0.45 + HalfStroke
@ -277,6 +313,8 @@ glyph-block Letter-Latin-V : begin
select-variant 'cyrl/ukUnblended' 0x1C88 (follow -- 'v/nonCursive')
select-variant 'cyrl/yn' 0xA65F (follow -- 'v/nonCursive')
select-variant 'vLoop' 0x2C74 (follow -- 'v/nonCursive')
select-variant 'cyrl/Izhitsa' 0x474 (follow -- 'VHookRight') (shapeFrom -- 'VHookRight')
select-variant 'cyrl/Uk' 0xA64A (follow -- 'VHookRight')
select-variant 'cyrl/Yn' 0xA65E (follow -- 'VHookRight')

View file

@ -3503,6 +3503,7 @@ selectorAffix.v = "straight"
selectorAffix."v/sansSerif" = "straight"
selectorAffix."v/nonCursive" = "straight"
selectorAffix.vHookTop = ""
selectorAffix.vLoop = "straight"
[prime.v.variants-buildup.stages.body.curly]
rank = 2
@ -3511,6 +3512,7 @@ selectorAffix.v = "curly"
selectorAffix."v/sansSerif" = "curly"
selectorAffix."v/nonCursive" = "curly"
selectorAffix.vHookTop = ""
selectorAffix.vLoop = "curly"
[prime.v.variants-buildup.stages.body.cursive]
rank = 3
@ -3519,6 +3521,7 @@ selectorAffix.v = "cursive"
selectorAffix."v/sansSerif" = "cursive"
selectorAffix."v/nonCursive" = "straight"
selectorAffix.vHookTop = ""
selectorAffix.vLoop = ""
[prime.v.variants-buildup.stages.serifs.serifless]
rank = 1
@ -3528,6 +3531,7 @@ selectorAffix.v = "serifless"
selectorAffix."v/sansSerif" = "serifless"
selectorAffix."v/nonCursive" = "serifless"
selectorAffix.vHookTop = "serifless"
selectorAffix.vLoop = "serifless"
[prime.v.variants-buildup.stages.serifs.motion-serifed]
rank = 2
@ -3537,6 +3541,7 @@ selectorAffix.v = "motionSerifed"
selectorAffix."v/sansSerif" = "serifless"
selectorAffix."v/nonCursive" = "motionSerifed"
selectorAffix.vHookTop = "serifed"
selectorAffix.vLoop = "serifless"
[prime.v.variants-buildup.stages.serifs.serifed]
rank = 3
@ -3545,6 +3550,7 @@ selectorAffix.v = "serifed"
selectorAffix."v/sansSerif" = "serifless"
selectorAffix."v/nonCursive" = "serifed"
selectorAffix.vHookTop = "serifed"
selectorAffix.vLoop = "serifed"