mirror of
https://github.com/be5invis/Iosevka.git
synced 2026-10-28 16:38:35 +00:00
Fix broken cup (`∪`) and cap (`∩`) symbol Fix Fix broken degree-C and degree-F ligature. Closes #449, #450.
49 lines
1.8 KiB
Plaintext
49 lines
1.8 KiB
Plaintext
import [add-common-feature add-feature add-lookup ChainRuleBuilder] from "./table-util"
|
|
|
|
define-operator "~>" 880 'right' : syntax-rules
|
|
`(@l ~> @r) `{.left @l .right @r}
|
|
|
|
export : define [buildCCMP sink glyphs markGlyphs] : begin
|
|
define ccmp : add-feature sink 'ccmp'
|
|
define chain-rule : ChainRuleBuilder sink
|
|
|
|
define groupTR {}
|
|
define groupLF {}
|
|
define dotlessFrom {}
|
|
define dotlessTo {}
|
|
foreach [{gid, g} : pairs-of glyphs] : if (gid.(0) !== ".") : begin
|
|
if g.anchors.trailing : groupTR.push gid
|
|
if g.anchors.lf : groupLF.push gid
|
|
if (g.related && g.related.dotless) : begin
|
|
dotlessFrom.push gid
|
|
dotlessTo.push g.related.dotless
|
|
|
|
define [IotaLF] : {'iotaBelow'} ~> {'iotaLF'}
|
|
define [OgonekTrailing] : {'ogonekBelow'} ~> {'ogonekTR'}
|
|
|
|
define lookupCcmp1 : add-lookup sink : object
|
|
.type 'gsub_chaining'
|
|
.subtables : list
|
|
chain-rule (dotlessFrom ~> dotlessTo) (markGlyphs.above ~> null)
|
|
chain-rule groupLF [IotaLF]
|
|
chain-rule groupLF markGlyphs.all [IotaLF]
|
|
chain-rule groupLF markGlyphs.all markGlyphs.all [IotaLF]
|
|
chain-rule groupLF markGlyphs.all markGlyphs.all markGlyphs.all [IotaLF]
|
|
chain-rule groupTR [OgonekTrailing]
|
|
chain-rule groupTR markGlyphs.all [OgonekTrailing]
|
|
chain-rule groupTR markGlyphs.all markGlyphs.all [OgonekTrailing]
|
|
chain-rule groupTR markGlyphs.all markGlyphs.all markGlyphs.all [OgonekTrailing]
|
|
|
|
define lookupCcmp2 : add-lookup sink : object
|
|
.type 'gsub_ligature'
|
|
.subtables : list : object
|
|
psilivaria {'commaAbove' 'graveAbove'}
|
|
psilioxia {'commaAbove' 'acuteAbove'}
|
|
psiliperispomeni {'commaAbove' 'perispomeniAbove'}
|
|
dasiavaria {'revCommaAbove' 'graveAbove'}
|
|
dasiaoxia {'revCommaAbove' 'acuteAbove'}
|
|
dasiaperispomeni {'revCommaAbove' 'perispomeniAbove'}
|
|
|
|
ccmp.lookups.push lookupCcmp1 lookupCcmp2
|
|
add-common-feature sink ccmp
|