Fix shape of U+1D24 LATIN LETTER VOICED LARYNGEAL SPIRANT (#584).

This commit is contained in:
Belleve Invis 2020-06-06 21:59:00 -07:00
parent c213b5123e
commit f669f56b15
2 changed files with 63 additions and 29 deletions

View file

@ -8,3 +8,4 @@
* Cover all the characters in CP437 (#577).
* Add parenthesis variant with larger contour (#570).
* Fix placement of U+0315 COMBINING COMMA ABOVE RIGHT (#583).
* Fix shape of U+1D24 LATIN LETTER VOICED LARYNGEAL SPIRANT (#584).

View file

@ -117,14 +117,12 @@ glyph-block Letter-Greek-Upper-Gamma: begin
sketch # cyrghayn.upright
include [refer-glyph 'cyrghe.upright'] AS_BASE
include : HOverlayBar (SB * 0.3) [mix (SB + Stroke) (RightSB - Stroke) 0.55] (XH * (1 - OverlayPos))
save 'cyrghayn.upright'
sketch # cyrghayn.italic
include [refer-glyph 'cyrghe.italic'] AS_BASE
include : FlatSlashShape Middle (XH / 2) (OverlayStroke / 2) (-0.2) 0.75
save 'cyrghayn.italic'
save 'voicedlaryngenalspirant' 0x1D24
italic-variant 'cyrghayn' 0x493
@ -216,74 +214,97 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
glyph-block-import CommonShapes
glyph-block-import Overmarks
define [SmallEpsilonShape top hook] : glyph-construction
local stroke : adviceBlackness2 2.875 2 top
local midx : mix SB RightSB 0.65
local midy : top * OverlayPos
define StdBlend 0.65
define [SmallEpsilonShapeDim top bot blend] : begin
local stroke : adviceBlackness2 2.875 2 (top - bot)
local midx : mix SB RightSB blend
local midy : mix bot top OverlayPos
local sma : top - [mix (midy + stroke / 2) (top - O - stroke) (SmoothB / (SmoothA + SmoothB))] - TanSlope * HVContrast * stroke
local smb : [mix (stroke + O) (midy - stroke / 2) (SmoothB / (SmoothA + SmoothB))] + TanSlope * HVContrast * stroke
local fine : stroke * CThin
include : dispiro
g4 (RightSB + O) (top - [fallback hook SHook]) [widths.lhs]
return : object stroke midx midy sma smb fine
define [SmallEpsilonUpperShape top bot blend hook] : begin
define [object stroke midx midy sma smb fine] : SmallEpsilonShapeDim top bot blend
return : dispiro
g4 (RightSB + O) (top - hook) [widths.lhs]
hookstart (top - O)
g4 (SB + (OX - O)) (top - sma)
arcvh
flat Middle (midy - (fine - stroke / 2)) [widths.heading fine 0 Rightward]
curl midx (midy - (fine - stroke / 2)) [heading Rightward]
include : dispiro
define [SmallEpsilonLowerShape top bot blend hook] : begin
define [object stroke midx midy sma smb fine] : SmallEpsilonShapeDim top bot blend
return : dispiro
flat midx (midy + (fine - stroke / 2)) [widths.heading fine 0 Leftward]
curl Middle (midy + (fine - stroke / 2)) [heading Leftward]
archv
g4 (SB + (OX - O) + O * 2) smb [widths.lhs]
hookend O
g4 (RightSB - O) [fallback hook SHook]
g4 (SB + (OX - O) + O * 2) (bot + smb) [widths.lhs]
hookend (bot + O)
g4 (RightSB - O) (bot + hook)
define [SmallEpsilonShape top bot blend hook] : union
SmallEpsilonUpperShape top bot blend hook
SmallEpsilonLowerShape top bot blend hook
sketch # epsilon
include MarkSet.e
include : SmallEpsilonShape XH
include : SmallEpsilonShape XH 0 StdBlend SHook
save 'epsilon' 0x3B5
save 'latinepsilon' 0x25B
include : FlipAround Middle (XH / 2)
save 'turnepsilon' 0x1D08
sketch # latinEpsilon
include MarkSet.capital
include : SmallEpsilonShape CAP
include : SmallEpsilonShape CAP 0 StdBlend Hook
save 'latinEpsilon' 0x190
define [CyrZeShape top hook] : glyph-construction
local stroke : adviceBlackness2 2.875 2 top
local midx : mix RightSB SB 0.65
local midy : top * OverlayPos
define [CyrZeShapeDim top bot blend] : begin
local stroke : adviceBlackness2 2.875 2 (top - bot)
local midx : mix RightSB SB blend
local midy : mix bot top OverlayPos
local smb : top - [mix (midy + stroke / 2) (top - O - stroke) (SmoothA / (SmoothA + SmoothB))] + TanSlope * HVContrast * stroke
local sma : [mix (stroke + O) (midy - stroke / 2) (SmoothA / (SmoothA + SmoothB))] - TanSlope * HVContrast * stroke
local fine : stroke * CThin
include : dispiro
return : object stroke midx midy sma smb fine
define [CyrZeUpperShape top bot blend hook] : begin
define [object stroke midx midy sma smb fine] : CyrZeShapeDim top bot blend
return : dispiro
widths.rhs
g4 (SB - O) (top - [fallback hook SHook])
g4 (SB - O) (top - hook)
hookstart (top - O)
g4 (RightSB - (OX - O)) (top - smb)
arcvh
flat Middle (midy - (fine - stroke / 2)) [widths.heading 0 fine Leftward]
curl midx (midy - (fine - stroke / 2)) [heading Leftward]
include : dispiro
define [CyrZeLowerShape top bot blend hook] : begin
define [object stroke midx midy sma smb fine] : CyrZeShapeDim top bot blend
return : dispiro
widths.lhs
g4 (SB + O) [fallback hook SHook]
hookstart O
g4 (RightSB - (OX - O) - O * 2) sma
g4 (SB + O) (bot + hook)
hookstart (bot + O)
g4 (RightSB - (OX - O) - O * 2) (bot + sma)
arcvh
flat Middle (midy + (fine - stroke / 2)) [widths.heading fine 0 Leftward]
curl midx (midy + (fine - stroke / 2)) [heading Leftward]
define [CyrZeShape top bot blend hook] : union
CyrZeUpperShape top bot blend hook
CyrZeLowerShape top bot blend hook
sketch # cyrZe
include MarkSet.capital
include : CyrZeShape CAP Hook
include : CyrZeShape CAP 0 StdBlend Hook
save 'cyrZe' 0x417
sketch # cyrze.BGR
include MarkSet.p
include : CyrZeShape CAP Hook
include : CyrZeShape CAP 0 StdBlend Hook
apply-transform : Upright
apply-transform : Translate 0 (XH - CAP)
apply-transform : Italify
@ -291,10 +312,22 @@ glyph-block Letter-Greek-Lower-Epsilon : begin
sketch # cyrze
include MarkSet.e
include : CyrZeShape XH
include : CyrZeShape XH 0 StdBlend SHook
save 'cyrze' 0x437
save 'revlatinepsilon' 0x25C
create-glyph 'voicedlaryngenalspirant' 0x1D24 : glyph-construction
include MarkSet.b
local blend 0.505
local midGap : Math.max [adviceBlackness2 3 12 CAP] (CAP / 8 - [adviceBlackness2 3 6 XH])
local strokeV : adviceBlackness 4
local dimUpper : CyrZeShapeDim CAP midGap blend
local dimLower : SmallEpsilonShapeDim (CAP - midGap) 0 blend
include : union
CyrZeUpperShape CAP midGap blend Hook
SmallEpsilonLowerShape (CAP - midGap) 0 blend Hook
Rect (dimUpper.midy + dimUpper.stroke / 2) (dimLower.midy - dimLower.stroke / 2) (Middle - strokeV / 2 * HVContrast) (Middle + strokeV / 2 * HVContrast)
glyph-block Letter-Greek-Theta : begin
glyph-block-import CommonShapes
glyph-block-import Overmarks