P/R outline fixup

This commit is contained in:
be5invis 2020-07-04 22:46:46 -07:00
parent 3aff681b9f
commit 4b04f952d1
3 changed files with 30 additions and 50 deletions

View file

@ -2533,60 +2533,40 @@ glyph-block Letter-Latin-Upper-P : begin
define [PShapeOutlineKnots top mul bp overshoot sw offset] : begin
local bowlTop (top * 1 - offset)
local bowlBottom : [PBarPosY top sw bp] + offset
local turnRadius : (bowlTop - bowlBottom) * 0.45
local turnRadius : Math.max (sw * 1.5 * HVContrast)
Math.min ((bowlTop - bowlBottom) * 0.45) ((RightSB - SB + sw * HVContrast) * 0.5)
local sma : SmoothAOf (Smooth * 0.9) Width
local smb : SmoothBOf (Smooth * 0.9) Width
local right : RightSB - offset
if (bowlTop - bowlBottom <= sma + smb) : begin
local turn : mix bowlTop bowlBottom (smb / (sma + smb))
return : list
flat (SB * mul - O) bowlTop [heading Rightward]
curl (right - turnRadius - CorrectionOMidS) bowlTop
archv
straight.down.mid (right - overshoot) turn
arcvh
flat (right - turnRadius + CorrectionOMidS) bowlBottom
curl (SB * mul - O) bowlBottom [heading Leftward]
: else : begin
return : list
flat (SB * mul - O) bowlTop [heading Rightward]
curl (right - turnRadius - CorrectionOMidS) bowlTop
archv
flat (right - overshoot) (bowlTop - smb)
curl (right - overshoot) (bowlBottom + sma)
arcvh
flat (right - turnRadius + CorrectionOMidS) bowlBottom
curl (SB * mul - O) bowlBottom [heading Leftward]
local turn : mix bowlTop bowlBottom (smb / (sma + smb))
return : list
flat (SB * mul - O) bowlTop [heading Rightward]
curl (right - turnRadius - CorrectionOMidS) bowlTop
archv
straight.down.mid (right - overshoot) turn
arcvh
flat (right - turnRadius + CorrectionOMidS) bowlBottom
curl (SB * mul - O) bowlBottom [heading Leftward]
define [RevPshapeOutlineKnots top mul bp overshoot sw offset] : begin
local bowlTop (top * 1 - offset)
local bowlBottom ((top - sw) * bp - sw * PShape.SwBelowBar + offset)
local turnRadius : (bowlTop - bowlBottom) * 0.45
local turnRadius : Math.max (sw * 1.5 * HVContrast)
Math.min ((bowlTop - bowlBottom) * 0.45) ((RightSB - SB + sw * HVContrast) * 0.5)
local sma : SmoothAOf (Smooth * 0.9) Width
local smb : SmoothBOf (Smooth * 0.9) Width
local left : SB + offset
local turn : mix bowlTop bowlBottom (sma / (sma + smb))
return : list
flat (Width - SB * mul + O) bowlTop [heading Leftward]
curl (left + turnRadius - CorrectionOMidS) bowlTop
archv
straight.down.mid (left + overshoot) turn
arcvh
flat (left + turnRadius + CorrectionOMidS) bowlBottom
curl (Width - SB * mul + O) bowlBottom [heading Rightward]
if (bowlTop - bowlBottom <= sma + smb) : begin
local turn : mix bowlTop bowlBottom (sma / (sma + smb))
return : list
flat (Width - SB * mul + O) bowlTop [heading Leftward]
curl (left + turnRadius - CorrectionOMidS) bowlTop
archv
straight.down.mid (left + overshoot) turn
arcvh
flat (left + turnRadius + CorrectionOMidS) bowlBottom
curl (Width - SB * mul + O) bowlBottom [heading Rightward]
: else : begin
return : list
flat (Width - SB * mul + O) bowlTop [heading Leftward]
curl (left + turnRadius - CorrectionOMidS) bowlTop
archv
flat (left + overshoot) (bowlTop - sma)
curl (left + overshoot) (bowlBottom + smb)
arcvh
flat (left + turnRadius + CorrectionOMidS) bowlBottom
curl (Width - SB * mul + O) bowlBottom [heading Rightward]
define [PShapeOutline] : params [top [mul PShape.defaultMul] [bp PShape.BarPos] [overshoot PShape.defaultOvershoot] [sw Stroke] [offset 0]] : glyph-construction
include : spiro-outline

View file

@ -270,7 +270,7 @@ glyph-block Overmarks : begin
hs -- (OperatorStroke / 2)
save 'asciitilde.high'
sketch # overlaytilde
sketch # overlayTildeOperator
local t [mix (XH + Accent) aboveMarkTop ((RightSB - SB) / (markExtend * 3))]
local b [mix (XH + Accent) (aboveMarkBot + markFine / 2) ((RightSB - SB) / (markExtend * 3))]
include : TildeShape
@ -278,9 +278,9 @@ glyph-block Overmarks : begin
tbot -- b
leftEnd -- [mix 0 SB (1/3)]
rightEnd -- [mix Width RightSB (1/3)]
hs -- ([adviceBlackness 4.5] / 2)
hs -- ([adviceBlackness 4] / 2)
include : Realign Middle [mix t b (1/2)] Middle symbolMid
save 'overlaytilde'
save 'overlayTildeOperator'
sketch
set-width 0

View file

@ -1442,14 +1442,14 @@ glyph-block Symbol-Math-APL : begin
composite [refer-glyph 'asciitilde.low'] [refer-glyph 'dieresisAbove'] [into-unicode 0x2368]
composite [refer-glyph 'greater.narrow'] MarkSet.plus [refer-glyph 'dieresisAbove'] [clear-anchors] [into-unicode 0x2369]
composite [refer-glyph 'minus'] [refer-glyph 'comma'] [into-unicode 0x236A]
composite [refer-glyph 'enquad'] [Overlay [refer-glyph 'overlaytilde'] [refer-glyph 'nabla']] [into-unicode 0x236B]
composite [refer-glyph 'enquad'] [Overlay [refer-glyph 'overlaytilde'] [refer-glyph 'zero.lnum.unslashed']] [into-unicode 0x236C]
composite [refer-glyph 'enquad'] [Overlay [refer-glyph 'overlaytilde'] [refer-glyph 'bar']] [into-unicode 0x236D]
composite [refer-glyph 'enquad'] [Overlay [refer-glyph 'overlayTildeOperator'] [refer-glyph 'nabla']] [into-unicode 0x236B]
composite [refer-glyph 'enquad'] [Overlay [refer-glyph 'overlayTildeOperator'] [refer-glyph 'zero.lnum.unslashed']] [into-unicode 0x236C]
composite [refer-glyph 'enquad'] [Overlay [refer-glyph 'overlayTildeOperator'] [refer-glyph 'bar']] [into-unicode 0x236D]
composite [refer-glyph 'enquad'] [Overlay [refer-glyph 'semicolon'] [refer-glyph 'underscore.high']] [into-unicode 0x236E]
composite [refer-glyph 'enquad'] [aplBoxed : refer-glyph 'notequal'] [into-unicode 0x236F]
composite [refer-glyph 'enquad'] [aplBoxed : refer-glyph 'question'] [into-unicode 0x2370]
composite [refer-glyph 'enquad'] [Overlay [refer-glyph 'overlaytilde'] [refer-glyph 'vee']] [into-unicode 0x2371]
composite [refer-glyph 'enquad'] [Overlay [refer-glyph 'overlaytilde'] [refer-glyph 'wedge']] [into-unicode 0x2372]
composite [refer-glyph 'enquad'] [Overlay [refer-glyph 'overlayTildeOperator'] [refer-glyph 'vee']] [into-unicode 0x2371]
composite [refer-glyph 'enquad'] [Overlay [refer-glyph 'overlayTildeOperator'] [refer-glyph 'wedge']] [into-unicode 0x2372]
alias 'apliota' 0x2373 'iota'
alias 'aplrho' 0x2374 'rho'
alias 'aplomega' 0x2375 'omega'