Fix kerned dotty operators' placement when placed near brackets and commas (#757).

This commit is contained in:
be5invis 2020-11-26 01:33:14 -08:00
parent 7edf6fb710
commit d4d393309b
2 changed files with 26 additions and 33 deletions

View file

@ -31,4 +31,5 @@
* Fix centering of `Q` variants when occurred in enclosures (#751).
* Fix broken descender connection of `cyrl/tse` (U+0446) under Italic (#754).
* Fix missing serifs in earless-corner `m` variants (#752).
* Remove slight curvature of italic single-storey `a` (#755).
* Remove slight curvature of italic single-storey `a` (#755).
* Fix kerned dotty operators' placement when placed near brackets and commas (#757).

View file

@ -58,32 +58,24 @@ define [buildLigationsImpl sink para featureName mappedFeature rankedLookups] :
'slash' 'bar' 'at' 'ampersand' 'percent'
'numberSign' 'numberSign.upright' 'numberSign.slanted'
}
define dottyPunctuations : list
* "colon"
* "colon.mid"
* "semicolon"
* "period"
* "period.mid"
* "comma"
* "question"
* "exclam"
define widePunctuation : list
* 'parenLeft'
* 'parenRight'
* 'bracketLeft'
* 'bracketRight'
* 'braceLeft'
* 'braceRight'
define dottyPunctuationSets : list
list
* "period"
* "period.mid"
* "colon"
* "colon.mid"
* "question"
* "exclam"
list
* "comma"
* "semicolon"
define dottyConnectedOperators : list
* 'equal'
* 'hyphen'
* 'plus'
* 'less'
* 'greater'
* 'numberSign'
* 'slash'
* 'ampersand'
* 'asterisk'
* 'asciiCaret'
* 'asciiTilde'
define [asterisk_center] ({'asterisk'} ~> {'asterisk/lowered'})
@ -215,25 +207,25 @@ define [buildLigationsImpl sink para featureName mappedFeature rankedLookups] :
chain-rule alphabet [no_period_center]
chain-rule [no_period_center] alphabet
do "Colon chains" : begin
define dLeft : [lsx 'dLeft'] dottyPunctuations
define dRight : [lsx 'dRight'] dottyPunctuations
define dLeftHalf : [lsx 'dLeftHalf'] dottyPunctuations
define dRightHalf : [lsx 'dRightHalf'] dottyPunctuations
define dMid : [lsx 'dMid'] dottyPunctuations
define boundary widePunctuation
do "Colon chains" : foreach dp [items-of dottyPunctuationSets] : begin
define dLeft : [lsx 'dLeftHalf'] dp
define dRight : [lsx 'dRightHalf'] dp
define dLeftHalf : [lsx 'dLeftHalf'] dp
define dRightHalf : [lsx 'dRightHalf'] dp
define dMid : [lsx 'dMid'] dp
define boundary dottyConnectedOperators
CreateLigationLookup : keep-if 'kern-dotty' : list
chain-rule
[dRight.concat dMid] ~> look-around
dottyPunctuations ~> dMid
dottyPunctuations ~> look-around
dp ~> dMid
dp ~> look-around
chain-rule
[dRight.concat dMid] ~> look-around
dottyPunctuations ~> dLeft
dp ~> dLeft
chain-rule
dottyPunctuations ~> dRight
dottyPunctuations ~> look-around
dp ~> dRight
dp ~> look-around
CreateLigationLookup : keep-if 'kern-dotty' : list
chain-rule
boundary ~> look-around