Improve glyph visual for mark of notExists.

This commit is contained in:
John McWilliams 2025-04-13 08:36:25 -04:00
parent 845acc4e57
commit e20c91b824
6 changed files with 48 additions and 58 deletions

View file

@ -89,6 +89,7 @@ glyph-block Letter-Latin-Upper-E : begin
select-variant 'revE' 0x18E (follow -- 'E')
select-variant 'exists' 0x2203 (follow -- 'E/sansSerif') (shapeFrom -- 'revE')
CreateAccentedComposition 'notExists' 0x2204 'exists' 'longSlash'
select-variant 'smcpE' 0x1D07 (follow -- 'E')
CreateTurnedLetter 'turnSmcpE' 0x2C7B 'smcpE' HalfAdvance (XH / 2)

View file

@ -22,11 +22,11 @@ glyph-block Mark-Overlay : begin
set-width 0
set-mark-anchor 'overlay' markMiddle (XH / 2) markMiddle (XH / 2)
include : TildeShape
ttop -- XH / 2 + tildeHeight / 2
tbot -- XH / 2 - tildeHeight / 2
leftEnd -- markMiddle - tildeHalfWidth
rightEnd -- markMiddle + tildeHalfWidth
hs -- [AdviceStroke 4] / 2
ttop -- (XH / 2 + tildeHeight / 2)
tbot -- (XH / 2 - tildeHeight / 2)
leftEnd -- (markMiddle - tildeHalfWidth)
rightEnd -- (markMiddle + tildeHalfWidth)
hs -- ([AdviceStroke 4] / 2)
create-glyph 'dblTildeOver' : glyph-proc
set-width 0
@ -37,55 +37,55 @@ glyph-block Mark-Overlay : begin
define [addTilde] : TildeShape
ttop -- ttop
tbot -- tbot
leftEnd -- markMiddle - tildeHalfWidth
rightEnd -- markMiddle + tildeHalfWidth
hs -- [AdviceStroke 4.5] / 2
leftEnd -- (markMiddle - tildeHalfWidth)
rightEnd -- (markMiddle + tildeHalfWidth)
hs -- ([AdviceStroke 4.5] / 2)
local shift : (ttop - tbot) * 1.2
include : addTilde
include : ApparentTranslate 0 shift
include : addTilde
include : ApparentTranslate 0 (-0.5 * shift)
include : ApparentTranslate 0 (shift * (-0.5))
create-glyph 'asciiTilde.symbolMid' : glyph-proc
include : TildeShape
ttop -- SymbolMid + tildeHeight * 0.5 * asciiMarkZoomY
tbot -- SymbolMid - tildeHeight * 0.5 * asciiMarkZoomY
ttop -- (SymbolMid + tildeHeight * 0.5 * asciiMarkZoomY)
tbot -- (SymbolMid - tildeHeight * 0.5 * asciiMarkZoomY)
leftEnd -- SB
rightEnd -- RightSB
hs -- OperatorStroke / 2
hs -- (OperatorStroke / 2)
create-glyph 'tildeOverOnExension' : glyph-proc
set-width 0
set-mark-anchor 'overlayOnExtension' markMiddle (XH / 2) markMiddle (XH / 2)
include : TildeShape
ttop -- XH / 2 + tildeHeight / 3
tbot -- XH / 2 - tildeHeight / 3
leftEnd -- markMiddle - tildeHalfWidth
rightEnd -- markMiddle + tildeHalfWidth
hs -- [AdviceStroke 4] / 2
ttop -- (XH / 2 + tildeHeight / 3)
tbot -- (XH / 2 - tildeHeight / 3)
leftEnd -- (markMiddle - tildeHalfWidth)
rightEnd -- (markMiddle + tildeHalfWidth)
hs -- ([AdviceStroke 4] / 2)
create-glyph 'invLazySOver' : glyph-proc
set-width 0
set-mark-anchor 'overlay' 0 0 0 0
local sw : AdviceStroke 4
local gap : Math.max [AdviceStroke 6] (Width * 0.1)
local gap : Math.max (Width * 0.1) : AdviceStroke 6
local xStart : [HSwToV HalfStroke] + gap
local r : Math.max (0.75 * markExtend) sw
local r : Math.max (0.75 * markExtend) sw
include : dispiro
widths.center sw
straight.right.start xStart (2 * r) [heading Rightward]
straight.right.start (+xStart) (2 * (+r)) [heading Rightward]
archv
g2.down.mid (xStart + r) r [heading Downward]
g2.down.mid ((+xStart) + (+r)) (+r) [heading Downward]
arcvh
flat xStart 0 [heading Leftward]
flat (+xStart) 0 [heading Leftward]
curl (-xStart) 0 [heading Leftward]
archv
g2.down.mid (-xStart - r) (-r) [heading Downward]
g2.down.mid ((-xStart) + (-r)) (-r) [heading Downward]
arcvh
straight.right.end (-xStart) (-2 * r) [heading Rightward]
straight.right.end (-xStart) (2 * (-r)) [heading Rightward]
create-glyph 'barOver' 0x335 : glyph-proc
set-width 0
@ -107,7 +107,7 @@ glyph-block Mark-Overlay : begin
create-glyph 'antiSlashOver' : glyph-proc
set-width 0
set-mark-anchor 'overlay' markMiddle (XH / 2) markMiddle (XH / 2)
include : FlatSlashShape markMiddle (XH / 2) (0.5 * OverlayStroke) (0.75) (-0.3)
include : FlatSlashShape markMiddle (XH / 2) (0.5 * OverlayStroke) (+0.75) (-0.3)
create-glyph 'ringOver' 0x20D8 : glyph-proc
set-width 0
@ -119,8 +119,8 @@ glyph-block Mark-Overlay : begin
set-mark-anchor 'armOverlay' 0 0 0 0
include : dispiro
widths.center OverlayStroke
flat (-markExtend) markExtend
curl markExtend (-markExtend)
flat (-markExtend) (+markExtend)
curl (+markExtend) (-markExtend)
create-glyph 'legSlashOver' : glyph-proc
set-width 0
@ -128,7 +128,7 @@ glyph-block Mark-Overlay : begin
include : dispiro
widths.center OverlayStroke
flat (-markExtend) (-markExtend)
curl markExtend markExtend
curl (+markExtend) (+markExtend)
do "Strikes on entire letter on blank (bowl)"
create-glyph 'hStrike' : glyph-proc
@ -150,31 +150,31 @@ glyph-block Mark-Overlay : begin
set-width 0
set-mark-anchor 'strike' markMiddle (XH / 2) markMiddle (XH / 2)
include : TildeShape
ttop -- XH / 2 + tildeHeight / 2
tbot -- XH / 2 - tildeHeight / 2
leftEnd -- markMiddle - Width / 2
rightEnd -- markMiddle + Width / 2
hs -- OverlayStroke / 2
ttop -- (XH / 2 + tildeHeight / 2)
tbot -- (XH / 2 - tildeHeight / 2)
leftEnd -- (markMiddle - Width / 2)
rightEnd -- (markMiddle + Width / 2)
hs -- (OverlayStroke / 2)
create-glyph 'tildeStrike2' : glyph-proc
set-width 0
set-mark-anchor 'strike' markMiddle (XH / 2) markMiddle (XH / 2)
include : TildeShape
ttop -- XH / 2 + tildeHeight / 2
tbot -- XH / 2 - tildeHeight / 2
leftEnd -- markMiddle - Width / 2 + SB
rightEnd -- markMiddle + Width / 2 - SB
hs -- OverlayStroke / 2
ttop -- (XH / 2 + tildeHeight / 2)
tbot -- (XH / 2 - tildeHeight / 2)
leftEnd -- (markMiddle - Width / 2 + SB)
rightEnd -- (markMiddle + Width / 2 - SB)
hs -- (OverlayStroke / 2)
create-glyph 'tildeStrikeDivMM' : glyph-proc
set-width 0
set-mark-anchor 'strike' markMiddle (XH / 2) markMiddle (XH / 2)
include : TildeShape
ttop -- XH / 2 + tildeHeight / 2
tbot -- XH / 2 - tildeHeight / 2
leftEnd -- markMiddle - Width / 2 * para.advanceScaleMM
rightEnd -- markMiddle + Width / 2 * para.advanceScaleMM
hs -- OverlayStroke / 2
ttop -- (XH / 2 + tildeHeight / 2)
tbot -- (XH / 2 - tildeHeight / 2)
leftEnd -- (markMiddle - Width / 2 * para.advanceScaleMM)
rightEnd -- (markMiddle + Width / 2 * para.advanceScaleMM)
hs -- (OverlayStroke / 2)
do "Slashes"
local fine : AdviceStroke 6
@ -283,7 +283,7 @@ glyph-block Mark-Overlay : begin
set-width 0
local dx : Width * 0
local dy : Width * 0.3
local gap : Math.max fine (Width / 10)
local gap : Math.max fine (Width * 0.1)
set-mark-anchor 'slash' markMiddle (XH / 2) markMiddle (XH / 2)
include : dispiro
flat (Middle - dx - Width - gap) (XH / 2 - dy) [widths.center fine]
@ -303,7 +303,7 @@ glyph-block Mark-Overlay : begin
create-glyph 'arrDblHStrokeOver' : glyph-proc
set-width 0
local dx : Width * 0.3
local gap : Math.max fine (Width / 10)
local gap : Math.max fine (Width * 0.1)
set-mark-anchor 'slash' markMiddle (XH / 2) markMiddle (XH / 2)
include : dispiro
flat (Middle - Width - dx) (XH / 2 - gap) [widths.center fine]

View file

@ -384,16 +384,6 @@ export : define ccmpCombinations : list
list {0x02E2 0x0322} 0x1DB3 # ˢ
list {0xA71D 0x0322} 0x107B9 # ꜝ
# Short stroke overlays
list {0x0044 0x0335} 0xA7C7 # D
list {0x0053 0x0335} 0xA7C9 # S
list {0x0064 0x0335} 0xA7C8 # d
list {0x0073 0x0335} 0xA7CA # s
# Long stroke overlays
list {0x004F 0x0336} 0xA74A # O
list {0x006F 0x0336} 0xA74B # o
# Smooth breathings
list {0x0041 0x0486} 0xA7BA # A
list {0x0049 0x0486} 0xA7BC # I

View file

@ -41,4 +41,3 @@ glyph-block Symbol-Math-Negation : begin
notGlyph.right null 0x22E1 'succeedsEqSlant'
notGlyph null 0x2278 'lessGreater'
notGlyph null 0x2279 'greaterLess'
notGlyph.right2 null 0x2204 'exists' (CAP - Descender / 2) (Descender / 2) 0.4

View file

@ -35,8 +35,6 @@ glyph-block NotGlyphFn : begin
return : glyph-proc
include : with-transform [Translate sh 0] [refer-glyph slashBarName]
define [notGlyph.right2] : with-params [newid unicode oldid top bot prop shift] : begin
notGlyph newid unicode oldid top bot prop (-NotGlyphSw)
define [notGlyph.right] : with-params [newid unicode oldid top bot prop shift] : begin
notGlyph newid unicode oldid top bot prop (-NotGlyphSw * 0.5)
define [notGlyph.left] : with-params [newid unicode oldid top bot prop shift] : begin