Iosevka/font-src/otl/gsub-locl.ptl
2020-11-19 18:19:30 -08:00

50 lines
2.1 KiB
Text

import [copy-language add-feature add-lookup BeginLookupBlock EndLookupBlock] from "./table-util"
export : define [buildLOCL sink para glyphStore] : begin
local rec : BeginLookupBlock sink
define cyrlSRB : copy-language sink 'cyrl_SRB ' 'cyrl_DFLT'
define cyrlMKD : copy-language sink 'cyrl_MKD ' 'cyrl_DFLT'
define cyrlBGR : copy-language sink 'cyrl_BGR ' 'cyrl_DFLT'
# SRB
define loclSRB : add-feature sink 'locl'
cyrlSRB.features.unshift loclSRB.name
cyrlMKD.features.unshift loclSRB.name
loclSRB.lookups.push : add-lookup sink : object
type 'gsub_single'
substitutions : if para.isItalic
object
'cyrl/be' : glyphStore.ensureExists 'cyrl/be.SRB'
'cyrl/ghe' : glyphStore.ensureExists 'cyrl/ghe.SRB'
'cyrl/de' : glyphStore.ensureExists 'cyrl/de.SRB'
'cyrl/pe' : glyphStore.ensureExists 'cyrl/pe.SRB'
'cyrl/te' : glyphStore.ensureExists 'cyrl/te.SRB'
object
'cyrl/be' : glyphStore.ensureExists 'cyrl/be.SRB'
# BGR
define loclBGR : add-feature sink 'locl'
cyrlBGR.features.unshift loclBGR.name
loclBGR.lookups.push : add-lookup sink : object
type 'gsub_single'
substitutions : object
'cyrl/ve' : glyphStore.ensureExists 'cyrl/ve.BGR'
'cyrl/ghe' : glyphStore.ensureExists 'cyrl/ghe.italic'
'cyrl/de' : glyphStore.ensureExists 'cyrl/de.BGR'
'cyrl/zhe' : glyphStore.ensureExists 'cyrl/zhe.BGR'
'cyrl/ze' : glyphStore.ensureExists 'cyrl/ze.BGR'
'cyrl/i' : glyphStore.ensureExists 'cyrl/i.BGR'
'cyrl/ibreve' : glyphStore.ensureExists 'cyrl/ibreve.BGR'
'cyrl/igrave' : glyphStore.ensureExists 'cyrl/igrave.BGR'
'cyrl/ka' : glyphStore.ensureExists 'cyrl/ka.BGR'
'cyrl/El' : glyphStore.ensureExists 'cyrl/El.BGR'
'cyrl/el' : glyphStore.ensureExists 'cyrl/el.BGR'
'cyrl/pe' : glyphStore.ensureExists 'cyrl/pe.BGR'
'cyrl/te' : glyphStore.ensureExists 'cyrl/te.BGR'
'cyrl/sha' : glyphStore.ensureExists 'cyrl/sha.BGR'
'cyrl/shcha' : glyphStore.ensureExists 'cyrl/shcha.BGR'
'cyrl/yu' : glyphStore.ensureExists 'cyrl/yu.BGR'
'cyrl/tse' : glyphStore.ensureExists 'cyrl/tse.BGR'
EndLookupBlock.Front rec sink