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

@ -32,3 +32,4 @@
* Fix broken descender connection of `cyrl/tse` (U+0446) under Italic (#754). * Fix broken descender connection of `cyrl/tse` (U+0446) under Italic (#754).
* Fix missing serifs in earless-corner `m` variants (#752). * 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' 'slash' 'bar' 'at' 'ampersand' 'percent'
'numberSign' 'numberSign.upright' 'numberSign.slanted' 'numberSign' 'numberSign.upright' 'numberSign.slanted'
} }
define dottyPunctuations : list define dottyPunctuationSets : list
* "colon" list
* "colon.mid"
* "semicolon"
* "period" * "period"
* "period.mid" * "period.mid"
* "comma" * "colon"
* "colon.mid"
* "question" * "question"
* "exclam" * "exclam"
define widePunctuation : list list
* 'parenLeft' * "comma"
* 'parenRight' * "semicolon"
* 'bracketLeft' define dottyConnectedOperators : list
* 'bracketRight'
* 'braceLeft'
* 'braceRight'
* 'equal' * 'equal'
* 'hyphen' * 'hyphen'
* 'plus' * 'plus'
* 'less' * 'less'
* 'greater' * 'greater'
* 'numberSign'
* 'slash'
* 'ampersand'
* 'asterisk' * 'asterisk'
* 'asciiCaret'
* 'asciiTilde' * 'asciiTilde'
define [asterisk_center] ({'asterisk'} ~> {'asterisk/lowered'}) 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 alphabet [no_period_center]
chain-rule [no_period_center] alphabet chain-rule [no_period_center] alphabet
do "Colon chains" : begin do "Colon chains" : foreach dp [items-of dottyPunctuationSets] : begin
define dLeft : [lsx 'dLeft'] dottyPunctuations define dLeft : [lsx 'dLeftHalf'] dp
define dRight : [lsx 'dRight'] dottyPunctuations define dRight : [lsx 'dRightHalf'] dp
define dLeftHalf : [lsx 'dLeftHalf'] dottyPunctuations define dLeftHalf : [lsx 'dLeftHalf'] dp
define dRightHalf : [lsx 'dRightHalf'] dottyPunctuations define dRightHalf : [lsx 'dRightHalf'] dp
define dMid : [lsx 'dMid'] dottyPunctuations define dMid : [lsx 'dMid'] dp
define boundary widePunctuation define boundary dottyConnectedOperators
CreateLigationLookup : keep-if 'kern-dotty' : list CreateLigationLookup : keep-if 'kern-dotty' : list
chain-rule chain-rule
[dRight.concat dMid] ~> look-around [dRight.concat dMid] ~> look-around
dottyPunctuations ~> dMid dp ~> dMid
dottyPunctuations ~> look-around dp ~> look-around
chain-rule chain-rule
[dRight.concat dMid] ~> look-around [dRight.concat dMid] ~> look-around
dottyPunctuations ~> dLeft dp ~> dLeft
chain-rule chain-rule
dottyPunctuations ~> dRight dp ~> dRight
dottyPunctuations ~> look-around dp ~> look-around
CreateLigationLookup : keep-if 'kern-dotty' : list CreateLigationLookup : keep-if 'kern-dotty' : list
chain-rule chain-rule
boundary ~> look-around boundary ~> look-around