Cleanup code for orthographic italics. Now variant selector could influence the upright and italic counterpart individually -- though currently they aren't.
This commit is contained in:
parent
69b3c2aca9
commit
040c1ff08c
11 changed files with 161 additions and 292 deletions
|
@ -12,6 +12,9 @@ glyph-block Autobuild-Transformed-Shared : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
|
|
||||||
|
glyph-block-export wrapName
|
||||||
|
define [wrapName groupID baseName] "\(groupID){\(baseName)}"
|
||||||
|
|
||||||
define [suggestName _name] : begin
|
define [suggestName _name] : begin
|
||||||
local name _name
|
local name _name
|
||||||
if [query-glyph name] : begin
|
if [query-glyph name] : begin
|
||||||
|
@ -28,20 +31,21 @@ glyph-block Autobuild-Transformed-Shared : begin
|
||||||
return amended
|
return amended
|
||||||
|
|
||||||
glyph-block-export extendRelatedGlyphs
|
glyph-block-export extendRelatedGlyphs
|
||||||
define [extendRelatedGlyphs records suffix] : begin
|
define [extendRelatedGlyphs groupID records] : begin
|
||||||
local relatedRecords {}
|
local relatedRecords {}
|
||||||
local relSets {}
|
local relSets {}
|
||||||
local targetNameMap {.}
|
local targetNameMap {.}
|
||||||
|
|
||||||
foreach [record : items-of records] : begin
|
foreach [record : items-of records] : begin
|
||||||
local srcName record.1
|
local srcName record.1
|
||||||
suggestMappedName targetNameMap srcName (srcName + '+' + suffix)
|
|
||||||
|
|
||||||
local dstName : srcName + '+' + suffix
|
local dstName : wrapName groupID srcName
|
||||||
|
suggestMappedName targetNameMap srcName dstName
|
||||||
|
|
||||||
local tree : getGrTree srcName {DotlessOrNot AnyCv} query-glyph
|
local tree : getGrTree srcName {DotlessOrNot AnyCv} query-glyph
|
||||||
foreach [{gr origSrcName relSrcName} : items-of tree] : if [query-glyph relSrcName] : begin
|
foreach [{gr origSrcName relSrcName} : items-of tree] : if [query-glyph relSrcName] : begin
|
||||||
local origDstName : suggestMappedName targetNameMap origSrcName (origSrcName + '+' + suffix)
|
local origDstName : suggestMappedName targetNameMap origSrcName [wrapName groupID origSrcName]
|
||||||
local relDstName : suggestMappedName targetNameMap relSrcName (relSrcName + '+' + suffix)
|
local relDstName : suggestMappedName targetNameMap relSrcName [wrapName groupID relSrcName]
|
||||||
|
|
||||||
local relatedRecord : record.slice 0
|
local relatedRecord : record.slice 0
|
||||||
set relatedRecord.0 null
|
set relatedRecord.0 null
|
||||||
|
@ -69,7 +73,7 @@ glyph-block Autobuild-Transformed : begin
|
||||||
glyph-block-import Autobuild-Transformed-Shared : extendRelatedGlyphs link-relations
|
glyph-block-import Autobuild-Transformed-Shared : extendRelatedGlyphs link-relations
|
||||||
|
|
||||||
define [createSuperscripts _records] : begin
|
define [createSuperscripts _records] : begin
|
||||||
local {records relSets targetNameMap} : extendRelatedGlyphs _records 'sup'
|
local {records relSets targetNameMap} : extendRelatedGlyphs 'sup' _records
|
||||||
local pendingGlyphs : records.map : [record] => record.1
|
local pendingGlyphs : records.map : [record] => record.1
|
||||||
local miniatureFont : Miniature
|
local miniatureFont : Miniature
|
||||||
glyphs -- pendingGlyphs
|
glyphs -- pendingGlyphs
|
||||||
|
@ -93,7 +97,7 @@ glyph-block Autobuild-Transformed : begin
|
||||||
link-relations relSets
|
link-relations relSets
|
||||||
|
|
||||||
define [createSubscripts _records] : begin
|
define [createSubscripts _records] : begin
|
||||||
local {records relSets targetNameMap} : extendRelatedGlyphs _records 'sub'
|
local {records relSets targetNameMap} : extendRelatedGlyphs 'sub' _records
|
||||||
local pendingGlyphs : records.map : [record] => record.1
|
local pendingGlyphs : records.map : [record] => record.1
|
||||||
local miniatureFont : Miniature
|
local miniatureFont : Miniature
|
||||||
glyphs -- pendingGlyphs
|
glyphs -- pendingGlyphs
|
||||||
|
@ -115,7 +119,7 @@ glyph-block Autobuild-Transformed : begin
|
||||||
link-relations relSets
|
link-relations relSets
|
||||||
|
|
||||||
define [createSMCPs _records] : begin
|
define [createSMCPs _records] : begin
|
||||||
local {records relSets targetNameMap} : extendRelatedGlyphs _records 'smcp'
|
local {records relSets targetNameMap} : extendRelatedGlyphs 'smcp' _records
|
||||||
local pendingGlyphs : records.map : [record] => record.1
|
local pendingGlyphs : records.map : [record] => record.1
|
||||||
local forkedParams : Object.create para
|
local forkedParams : Object.create para
|
||||||
set forkedParams.cap0 para.cap
|
set forkedParams.cap0 para.cap
|
||||||
|
@ -133,7 +137,7 @@ glyph-block Autobuild-Transformed : begin
|
||||||
link-relations relSets
|
link-relations relSets
|
||||||
|
|
||||||
define [createMedievalCombs defaultLow defaultHigh _records] : begin
|
define [createMedievalCombs defaultLow defaultHigh _records] : begin
|
||||||
local { records relSets targetNameMap } : extendRelatedGlyphs _records 'medievalAbove'
|
local { records relSets targetNameMap } : extendRelatedGlyphs 'medievalAbove' _records
|
||||||
local pendingGlyphs : records.map : [record] => record.1
|
local pendingGlyphs : records.map : [record] => record.1
|
||||||
local miniatureFont : Miniature
|
local miniatureFont : Miniature
|
||||||
glyphs -- pendingGlyphs
|
glyphs -- pendingGlyphs
|
||||||
|
@ -166,7 +170,7 @@ glyph-block Autobuild-Transformed : begin
|
||||||
link-relations relSets
|
link-relations relSets
|
||||||
|
|
||||||
define [createMedievalBelowCombs _records] : begin
|
define [createMedievalBelowCombs _records] : begin
|
||||||
local { records relSets targetNameMap } : extendRelatedGlyphs _records 'medievalBelow'
|
local { records relSets targetNameMap } : extendRelatedGlyphs 'medievalBelow' _records
|
||||||
local pendingGlyphs : records.map : [record] => record.1
|
local pendingGlyphs : records.map : [record] => record.1
|
||||||
local miniatureFont : Miniature
|
local miniatureFont : Miniature
|
||||||
glyphs -- pendingGlyphs
|
glyphs -- pendingGlyphs
|
||||||
|
@ -189,22 +193,6 @@ glyph-block Autobuild-Transformed : begin
|
||||||
|
|
||||||
link-relations relSets
|
link-relations relSets
|
||||||
|
|
||||||
define [createObliqueBlackboardBold _records] : begin
|
|
||||||
local { records relSets targetNameMap } : extendRelatedGlyphs _records 'obliqueBlackBoard'
|
|
||||||
local pendingGlyphs : records.map : [record] => record.1
|
|
||||||
local miniatureFont : Miniature
|
|
||||||
glyphs -- pendingGlyphs
|
|
||||||
slopeAngle -- para.derivedSlopeAngle
|
|
||||||
crowd -- 2
|
|
||||||
scale -- 1
|
|
||||||
mono -- true
|
|
||||||
sbscale -- 1
|
|
||||||
foreach {unicode glyphid} [items-of records] : if [not : query-glyph targetNameMap.(glyphid)]
|
|
||||||
create-glyph targetNameMap.(glyphid) unicode : glyph-proc
|
|
||||||
include [miniatureFont.queryByName glyphid] AS_BASE ALSO_METRICS
|
|
||||||
|
|
||||||
link-relations relSets
|
|
||||||
|
|
||||||
if [not recursive] : createSuperscripts : list
|
if [not recursive] : createSuperscripts : list
|
||||||
list 0x2070 'zero.lnum'
|
list 0x2070 'zero.lnum'
|
||||||
list 0x00B9 'one.lnum'
|
list 0x00B9 'one.lnum'
|
||||||
|
@ -482,21 +470,14 @@ glyph-block Autobuild-Transformed : begin
|
||||||
list 0x1AC0 'turnw'
|
list 0x1AC0 'turnw'
|
||||||
list 0x1DCA 'r'
|
list 0x1DCA 'r'
|
||||||
|
|
||||||
if [not recursive] : createObliqueBlackboardBold : list
|
|
||||||
list 0x2145 'mathbb/D'
|
|
||||||
list 0x2146 'mathbb/d'
|
|
||||||
list 0x2147 'mathbb/e'
|
|
||||||
list 0x2148 'mathbb/i'
|
|
||||||
list 0x2149 'mathbb/j'
|
|
||||||
|
|
||||||
glyph-block Autobuild-Transformed-Mathematical : begin
|
glyph-block Autobuild-Transformed-Mathematical : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Recursive-Build : Fork Miniature
|
glyph-block-import Recursive-Build : Fork Miniature
|
||||||
glyph-block-import Autobuild-Transformed-Shared : extendRelatedGlyphs link-relations
|
glyph-block-import Autobuild-Transformed-Shared : extendRelatedGlyphs link-relations wrapName
|
||||||
|
|
||||||
define [createMathDerivedSeriesImpl groupName tfm _records] : begin
|
define [createMathDerivedSeriesImpl groupName tfm _records] : begin
|
||||||
local { records relSets targetNameMap } : extendRelatedGlyphs _records groupName
|
local { records relSets targetNameMap } : extendRelatedGlyphs groupName _records
|
||||||
local pendingGlyphs : records.map : [record] => record.1
|
local pendingGlyphs : records.map : [record] => record.1
|
||||||
local forked : Fork pendingGlyphs [para.reinit tfm]
|
local forked : Fork pendingGlyphs [para.reinit tfm]
|
||||||
foreach {unicode glyphid} [items-of records] : if [not : query-glyph targetNameMap.(glyphid)]
|
foreach {unicode glyphid} [items-of records] : if [not : query-glyph targetNameMap.(glyphid)]
|
||||||
|
@ -525,6 +506,7 @@ glyph-block Autobuild-Transformed-Mathematical : begin
|
||||||
define LowerLatin : Array.from 'abcdefghijklmnopqrstuvwxyz'
|
define LowerLatin : Array.from 'abcdefghijklmnopqrstuvwxyz'
|
||||||
define UpperGreek : Array.from 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡϴΣΤΥΦΧΨΩ∇'
|
define UpperGreek : Array.from 'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡϴΣΤΥΦΧΨΩ∇'
|
||||||
define LowerGreek : Array.from 'αβγδεζηθικλμνξοπρςστυφχψω∂ϵϑϰϕϱϖ' # Some are missing though
|
define LowerGreek : Array.from 'αβγδεζηθικλμνξοπρςστυφχψω∂ϵϑϰϕϱϖ' # Some are missing though
|
||||||
|
define ObliqueBlackboardBolds : Array.from '𝔻𝕕𝕖𝕚𝕛'
|
||||||
|
|
||||||
define [CreateMathDerivatives groupName tfm base letters overrides] : begin
|
define [CreateMathDerivatives groupName tfm base letters overrides] : begin
|
||||||
if recursive : return nothing
|
if recursive : return nothing
|
||||||
|
@ -545,10 +527,10 @@ glyph-block Autobuild-Transformed-Mathematical : begin
|
||||||
foreach j [range 0 letters.length] : begin
|
foreach j [range 0 letters.length] : begin
|
||||||
local letter letters.(j)
|
local letter letters.(j)
|
||||||
local source : glyphStore.queryNameOfUnicode : letter.codePointAt 0
|
local source : glyphStore.queryNameOfUnicode : letter.codePointAt 0
|
||||||
if (source && altGroupName) : set source "\(source)+\(altGroupName)"
|
if (source && altGroupName) : set source : wrapName altGroupName source
|
||||||
local uDst : base + j
|
local uDst : base + j
|
||||||
if [overrideMap.has letter] : set uDst [overrideMap.get letter]
|
if [overrideMap.has letter] : set uDst [overrideMap.get letter]
|
||||||
if source : alias "\(source)+\(groupName)" uDst source
|
if source : alias [wrapName groupName source] uDst source
|
||||||
|
|
||||||
define [CreateMathAliasable cond groupName altGroupName tfm base letters overrides] : begin
|
define [CreateMathAliasable cond groupName altGroupName tfm base letters overrides] : begin
|
||||||
if cond
|
if cond
|
||||||
|
@ -568,6 +550,7 @@ glyph-block Autobuild-Transformed-Mathematical : begin
|
||||||
CreateMathDerivatives 'mathit' tfItalic 0x1D6E2 UpperGreek
|
CreateMathDerivatives 'mathit' tfItalic 0x1D6E2 UpperGreek
|
||||||
CreateMathDerivatives 'mathit' tfItalic 0x1D6FC LowerGreek
|
CreateMathDerivatives 'mathit' tfItalic 0x1D6FC LowerGreek
|
||||||
|
|
||||||
|
|
||||||
# Math Bold Italic
|
# Math Bold Italic
|
||||||
CreateMathDerivatives 'mathbi' tfBoldItalic 0x1D468 UpperLatin
|
CreateMathDerivatives 'mathbi' tfBoldItalic 0x1D468 UpperLatin
|
||||||
CreateMathDerivatives 'mathbi' tfBoldItalic 0x1D482 LowerLatin
|
CreateMathDerivatives 'mathbi' tfBoldItalic 0x1D482 LowerLatin
|
||||||
|
@ -599,6 +582,9 @@ glyph-block Autobuild-Transformed-Mathematical : begin
|
||||||
CreateMathAliasable doTypewriter 'mathtt' null tfTypeWriter 0x1D68A LowerLatin
|
CreateMathAliasable doTypewriter 'mathtt' null tfTypeWriter 0x1D68A LowerLatin
|
||||||
CreateMathAliasable doTypewriter 'mathtt' null tfTypeWriter 0x1D7F6 Digits
|
CreateMathAliasable doTypewriter 'mathtt' null tfTypeWriter 0x1D7F6 Digits
|
||||||
|
|
||||||
|
# Italic blackboard bold
|
||||||
|
CreateMathDerivatives 'mathit' tfItalic 0x2145 ObliqueBlackboardBolds
|
||||||
|
|
||||||
glyph-block Autobuild-Rhotic : begin
|
glyph-block Autobuild-Rhotic : begin
|
||||||
glyph-block-import Marks : markFine
|
glyph-block-import Marks : markFine
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
|
|
|
@ -12,34 +12,29 @@ glyph-module
|
||||||
|
|
||||||
glyph-block Common-Derivatives : begin
|
glyph-block Common-Derivatives : begin
|
||||||
glyph-block-import CommonShapes : FlipAround
|
glyph-block-import CommonShapes : FlipAround
|
||||||
define [ApplyCv g follow para name transform] : begin
|
define [ApplyCv g follow para name] : begin
|
||||||
foreach { kPrime prime } para.variants.primes : foreach h [prime.variants.values] : begin
|
foreach { kPrime prime } para.variants.primes : foreach h [prime.variants.values] : begin
|
||||||
local suffix : h.resolveFor para follow
|
local suffix : h.resolveFor para follow
|
||||||
if (suffix && transform && transform.(suffix)) : set suffix transform.(suffix)
|
|
||||||
if suffix : begin
|
if suffix : begin
|
||||||
local dstName : [fallback name follow] + '.' + suffix
|
local dstName : [fallback name follow] + '.' + suffix
|
||||||
local dst : glyphStore.queryByName dstName
|
local dst : glyphStore.queryByName dstName
|
||||||
if dst : g.dependsOn dst
|
if dst : g.dependsOn dst
|
||||||
if (h.tag && h.rank) : [Cv h.tag h.rank].set g dstName
|
if (h.tag && h.rank) : [Cv h.tag h.rank].set g dstName
|
||||||
|
|
||||||
define [select-variant] : params [name unicode [to-name name] transform [follow name]] : begin
|
define [select-variant] : params [name unicode [shapeFrom name] [follow name]] : begin
|
||||||
if [not : glyph-is-needed name] : return nothing
|
if [not : glyph-is-needed shapeFrom] : return nothing
|
||||||
|
|
||||||
local variant para.variantSelector.(follow)
|
local variant para.variantSelector.(follow)
|
||||||
if [not variant] : begin
|
if [not variant] : throw : new Error "Variant for \(name) is not assigned."
|
||||||
throw : new Error "Variant for \(name) is not assigned."
|
|
||||||
|
|
||||||
if (transform && transform.(variant)) : set variant transform.(variant)
|
create-glyph name unicode : glyph-proc
|
||||||
|
include [refer-glyph (shapeFrom + '.' + variant)] AS_BASE ALSO_METRICS
|
||||||
|
ApplyCv currentGlyph follow para shapeFrom
|
||||||
|
set this.autoRefPriority [query-glyph (shapeFrom + '.' + variant)].autoRefPriority
|
||||||
|
|
||||||
create-glyph [fallback to-name name] unicode : glyph-proc
|
define [orthographic-italic name unicode] : if para.isItalic
|
||||||
include [refer-glyph (name + '.' + variant)] AS_BASE ALSO_METRICS
|
alias name unicode (name + '.italic')
|
||||||
ApplyCv currentGlyph follow para name transform
|
alias name unicode (name + '.upright')
|
||||||
set this.autoRefPriority [query-glyph (name + '.' + variant)].autoRefPriority
|
|
||||||
|
|
||||||
define [italic-variant name unicode] : begin
|
|
||||||
create-glyph name unicode : composite-proc : if para.isItalic
|
|
||||||
refer-glyph (name + '.italic')
|
|
||||||
refer-glyph (name + '.upright')
|
|
||||||
|
|
||||||
define [glyph-is-needed name] : [not pickHash] || pickHash.(name)
|
define [glyph-is-needed name] : [not pickHash] || pickHash.(name)
|
||||||
|
|
||||||
|
@ -108,7 +103,7 @@ glyph-block Common-Derivatives : begin
|
||||||
if [not newid] : throw : new Error "Target ID not specified"
|
if [not newid] : throw : new Error "Target ID not specified"
|
||||||
return : VCombine newid unicode id id spacing
|
return : VCombine newid unicode id id spacing
|
||||||
|
|
||||||
glyph-block-export select-variant italic-variant refer-glyph query-glyph with-related-glyphs
|
glyph-block-export select-variant orthographic-italic refer-glyph query-glyph with-related-glyphs
|
||||||
glyph-block-export alias turned HDual HCombine VDual VCombine glyph-is-needed
|
glyph-block-export alias turned HDual HCombine VDual VCombine glyph-is-needed
|
||||||
|
|
||||||
glyph-block Recursive-Build : begin
|
glyph-block Recursive-Build : begin
|
||||||
|
|
|
@ -162,17 +162,9 @@ glyph-block Letter-Cyrillic-I : begin
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
include : CyrIShape XH
|
include : CyrIShape XH
|
||||||
|
|
||||||
alias 'cyrl/i.italicToothed' null 'u.toothed'
|
select-variant 'cyrl/i.italic' (shapeFrom -- 'u')
|
||||||
alias 'cyrl/i.italicMotionSerifed' null 'u.motionSerifed'
|
alias 'cyrl/i.BGR' null 'cyrl/i.italic'
|
||||||
alias 'cyrl/i.italicMotionSerifedTailed' null 'u.motionSerifedTailed'
|
orthographic-italic 'cyrl/i' 0x438
|
||||||
alias 'cyrl/i.italicTailed' null 'u.tailed'
|
|
||||||
select-variant 'cyrl/i' 0x438
|
|
||||||
|
|
||||||
alias 'cyrl/i.BGR.toothed' null 'u.toothed'
|
|
||||||
alias 'cyrl/i.BGR.motionSerifed' null 'u.motionSerifed'
|
|
||||||
alias 'cyrl/i.BGR.motionSerifedTailed' null 'u.motionSerifedTailed'
|
|
||||||
alias 'cyrl/i.BGR.tailed' null 'u.tailed'
|
|
||||||
select-variant 'cyrl/i.BGR'
|
|
||||||
|
|
||||||
with-related-glyphs 'cyrl/i.BGR' 'cyrl/ibreve.BGR' null : lambda [src sel] : glyph-proc
|
with-related-glyphs 'cyrl/i.BGR' 'cyrl/ibreve.BGR' null : lambda [src sel] : glyph-proc
|
||||||
include [refer-glyph src] AS_BASE ALSO_METRICS
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
|
@ -204,20 +196,19 @@ glyph-block Letter-Cyrillic-Tse : begin
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
include : CyrTseShape XH
|
include : CyrTseShape XH
|
||||||
|
|
||||||
create-glyph 'cyrl/tse.italicToothed' : glyph-proc
|
create-glyph 'cyrl/tse.italic.toothed' : glyph-proc
|
||||||
include [refer-glyph "u.toothed"] AS_BASE
|
include [refer-glyph "u.toothed"] AS_BASE
|
||||||
eject-contour 'serifRB'
|
eject-contour 'serifRB'
|
||||||
include : CyrDescender RightSB (shift -- 0.05)
|
include : CyrDescender RightSB (shift -- 0.05)
|
||||||
create-aliased-glyph 'cyrl/tse.BGR.toothed'
|
|
||||||
|
|
||||||
create-glyph 'cyrl/tse.italicMotionSerifed' : glyph-proc
|
create-glyph 'cyrl/tse.italic.motionSerifed' : glyph-proc
|
||||||
include [refer-glyph "u.motionSerifed"] AS_BASE
|
include [refer-glyph "u.motionSerifed"] AS_BASE
|
||||||
eject-contour 'serifRB'
|
eject-contour 'serifRB'
|
||||||
include : CyrDescender RightSB (shift -- 0.05)
|
include : CyrDescender RightSB (shift -- 0.05)
|
||||||
create-aliased-glyph 'cyrl/tse.BGR.motionSerifed'
|
|
||||||
|
|
||||||
select-variant 'cyrl/tse' 0x446
|
select-variant 'cyrl/tse.italic'
|
||||||
select-variant 'cyrl/tse.BGR'
|
alias 'cyrl/tse.BGR' null 'cyrl/tse.italic'
|
||||||
|
orthographic-italic 'cyrl/tse' 0x446
|
||||||
|
|
||||||
glyph-block Letter-Cyrillic-Dzhe : begin
|
glyph-block Letter-Cyrillic-Dzhe : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
|
@ -241,23 +232,24 @@ glyph-block Letter-Cyrillic-Dzhe : begin
|
||||||
include : MarkSet.p
|
include : MarkSet.p
|
||||||
include : CyrDzheShape XH
|
include : CyrDzheShape XH
|
||||||
|
|
||||||
create-glyph 'cyrl/dzhe.italicToothed' : glyph-proc
|
create-glyph 'cyrl/dzhe.italic.toothed' : glyph-proc
|
||||||
include [refer-glyph 'u.toothed'] AS_BASE ALSO_METRICS
|
include [refer-glyph 'u.toothed'] AS_BASE ALSO_METRICS
|
||||||
include [refer-glyph 'descenderBarBelow']
|
include [refer-glyph 'descenderBarBelow']
|
||||||
|
|
||||||
create-glyph 'cyrl/dzhe.italicTailed' : glyph-proc
|
create-glyph 'cyrl/dzhe.italic.tailed' : glyph-proc
|
||||||
include [refer-glyph 'u.tailed'] AS_BASE ALSO_METRICS
|
include [refer-glyph 'u.tailed'] AS_BASE ALSO_METRICS
|
||||||
include [refer-glyph 'descenderBarBelow']
|
include [refer-glyph 'descenderBarBelow']
|
||||||
|
|
||||||
create-glyph 'cyrl/dzhe.italicMotionSerifed' : glyph-proc
|
create-glyph 'cyrl/dzhe.italic.motionSerifed' : glyph-proc
|
||||||
include [refer-glyph 'u.motionSerifed'] AS_BASE ALSO_METRICS
|
include [refer-glyph 'u.motionSerifed'] AS_BASE ALSO_METRICS
|
||||||
include [refer-glyph 'descenderBarBelow']
|
include [refer-glyph 'descenderBarBelow']
|
||||||
|
|
||||||
create-glyph 'cyrl/dzhe.italicMotionSerifedTailed' : glyph-proc
|
create-glyph 'cyrl/dzhe.italic.motionSerifedTailed' : glyph-proc
|
||||||
include [refer-glyph 'u.motionSerifedTailed'] AS_BASE ALSO_METRICS
|
include [refer-glyph 'u.motionSerifedTailed'] AS_BASE ALSO_METRICS
|
||||||
include [refer-glyph 'descenderBarBelow']
|
include [refer-glyph 'descenderBarBelow']
|
||||||
|
|
||||||
select-variant 'cyrl/dzhe' 0x45F
|
select-variant 'cyrl/dzhe.italic'
|
||||||
|
orthographic-italic 'cyrl/dzhe' 0x45F
|
||||||
|
|
||||||
|
|
||||||
glyph-block Letter-Cyrillic-De : begin
|
glyph-block Letter-Cyrillic-De : begin
|
||||||
|
@ -311,7 +303,7 @@ glyph-block Letter-Cyrillic-De : begin
|
||||||
quadcontrols 0 0.8
|
quadcontrols 0 0.8
|
||||||
g4 (SB + Stroke * 1.1) CAP
|
g4 (SB + Stroke * 1.1) CAP
|
||||||
|
|
||||||
italic-variant 'cyrl/de' 0x434
|
orthographic-italic 'cyrl/de' 0x434
|
||||||
|
|
||||||
alias 'cyrl/de.BGR' null 'g.singleStorey'
|
alias 'cyrl/de.BGR' null 'g.singleStorey'
|
||||||
|
|
||||||
|
@ -592,8 +584,8 @@ glyph-block Letter-Cyrillic-Sha : begin
|
||||||
include : df.markSet.e
|
include : df.markSet.e
|
||||||
include : CyrShaShape XH df
|
include : CyrShaShape XH df
|
||||||
|
|
||||||
turned 'cyrl/sha.italicToothed' null 'm.normal' [DivFrame para.diversityM 3].middle (XH / 2)
|
turned 'cyrl/sha.italic.toothed' null 'm.normal' [DivFrame para.diversityM 3].middle (XH / 2)
|
||||||
create-glyph 'cyrl/sha.italicTailed' : glyph-proc
|
create-glyph 'cyrl/sha.italic.tailed' : glyph-proc
|
||||||
local df : DivFrame para.diversityM 3
|
local df : DivFrame para.diversityM 3
|
||||||
include [refer-glyph 'm.normal'] AS_BASE
|
include [refer-glyph 'm.normal'] AS_BASE
|
||||||
eject-contour 'barL'
|
eject-contour 'barL'
|
||||||
|
@ -601,8 +593,8 @@ glyph-block Letter-Cyrillic-Sha : begin
|
||||||
include : FlipAround df.middle (XH / 2)
|
include : FlipAround df.middle (XH / 2)
|
||||||
include : RightwardTailedBar df.rightSB 0 XH (sw -- df.mvs)
|
include : RightwardTailedBar df.rightSB 0 XH (sw -- df.mvs)
|
||||||
|
|
||||||
turned 'cyrl/sha.italicMotionSerifed' null 'm.motionSerifed' [DivFrame para.diversityM 3].middle (XH / 2)
|
turned 'cyrl/sha.italic.motionSerifed' null 'm.motionSerifed' [DivFrame para.diversityM 3].middle (XH / 2)
|
||||||
create-glyph 'cyrl/sha.italicMotionSerifedTailed' : glyph-proc
|
create-glyph 'cyrl/sha.italic.motionSerifedTailed' : glyph-proc
|
||||||
local df : DivFrame para.diversityM 3
|
local df : DivFrame para.diversityM 3
|
||||||
include [refer-glyph 'm.motionSerifed'] AS_BASE
|
include [refer-glyph 'm.motionSerifed'] AS_BASE
|
||||||
eject-contour 'barL'
|
eject-contour 'barL'
|
||||||
|
@ -610,13 +602,9 @@ glyph-block Letter-Cyrillic-Sha : begin
|
||||||
include : FlipAround df.middle (XH / 2)
|
include : FlipAround df.middle (XH / 2)
|
||||||
include : RightwardTailedBar df.rightSB 0 XH (sw -- df.mvs)
|
include : RightwardTailedBar df.rightSB 0 XH (sw -- df.mvs)
|
||||||
|
|
||||||
select-variant 'cyrl/sha' 0x448
|
select-variant 'cyrl/sha.italic'
|
||||||
|
alias 'cyrl/sha.BGR' null 'cyrl/sha.italic'
|
||||||
alias 'cyrl/sha.BGR.toothed' null 'cyrl/sha.italicToothed'
|
orthographic-italic 'cyrl/sha' 0x448
|
||||||
alias 'cyrl/sha.BGR.tailed' null 'cyrl/sha.italicTailed'
|
|
||||||
alias 'cyrl/sha.BGR.motionSerifed' null 'cyrl/sha.italicMotionSerifed'
|
|
||||||
alias 'cyrl/sha.BGR.motionSerifedTailed' null 'cyrl/sha.italicMotionSerifedTailed'
|
|
||||||
select-variant 'cyrl/sha.BGR'
|
|
||||||
|
|
||||||
define [CyrShchaShape top df] : glyph-proc
|
define [CyrShchaShape top df] : glyph-proc
|
||||||
include : CyrShaShape top df
|
include : CyrShaShape top df
|
||||||
|
@ -638,19 +626,19 @@ glyph-block Letter-Cyrillic-Sha : begin
|
||||||
create-glyph 'cyrl/shcha.italic' : glyph-proc
|
create-glyph 'cyrl/shcha.italic' : glyph-proc
|
||||||
local df : DivFrame para.diversityM 3
|
local df : DivFrame para.diversityM 3
|
||||||
set-width df.width
|
set-width df.width
|
||||||
include [refer-glyph 'cyrl/sha.italicToothed'] AS_BASE
|
include [refer-glyph 'cyrl/sha.italic.toothed'] AS_BASE
|
||||||
include : CyrDescender df.rightSB (shift -- 0.05)
|
include : CyrDescender df.rightSB (shift -- 0.05)
|
||||||
|
|
||||||
italic-variant 'cyrl/shcha' 0x449
|
orthographic-italic 'cyrl/shcha' 0x449
|
||||||
alias 'cyrl/shcha.BGR' null 'cyrl/shcha.italic'
|
alias 'cyrl/shcha.BGR' null 'cyrl/shcha.italic'
|
||||||
|
|
||||||
create-glyph 'cyrl/te.SRB' : glyph-proc
|
create-glyph 'cyrl/te.SRB' : glyph-proc
|
||||||
local df : DivFrame para.diversityM 3
|
local df : DivFrame para.diversityM 3
|
||||||
set-width df.width
|
set-width df.width
|
||||||
include [refer-glyph 'cyrl/sha.italicToothed'] AS_BASE
|
include [refer-glyph 'cyrl/sha.italic.toothed'] AS_BASE
|
||||||
include : refer-glyph "macronAbove"
|
include : refer-glyph "macronAbove"
|
||||||
|
|
||||||
select-variant 'cyrl/te' 0x442
|
orthographic-italic 'cyrl/te' 0x442
|
||||||
|
|
||||||
glyph-block Letter-Cyrillic-Che : begin
|
glyph-block Letter-Cyrillic-Che : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
|
|
|
@ -92,7 +92,7 @@ glyph-block Letter-Greek-Upper-Gamma: begin
|
||||||
include [refer-glyph 'dotlessi'] AS_BASE
|
include [refer-glyph 'dotlessi'] AS_BASE
|
||||||
include : refer-glyph "macronAbove"
|
include : refer-glyph "macronAbove"
|
||||||
|
|
||||||
italic-variant 'cyrl/ghe' 0x433
|
orthographic-italic 'cyrl/ghe' 0x433
|
||||||
|
|
||||||
define [CyrGeShape top] : glyph-proc
|
define [CyrGeShape top] : glyph-proc
|
||||||
include : GammaShape top
|
include : GammaShape top
|
||||||
|
@ -119,8 +119,8 @@ glyph-block Letter-Greek-Upper-Gamma: begin
|
||||||
include [refer-glyph 'cyrl/ghe.italic'] AS_BASE
|
include [refer-glyph 'cyrl/ghe.italic'] AS_BASE
|
||||||
include : FlatSlashShape Middle (XH / 2) (OverlayStroke / 2) (-0.2) 0.75
|
include : FlatSlashShape Middle (XH / 2) (OverlayStroke / 2) (-0.2) 0.75
|
||||||
|
|
||||||
italic-variant 'cyrl/ge' 0x491
|
orthographic-italic 'cyrl/ge' 0x491
|
||||||
italic-variant 'cyrl/ghayn' 0x493
|
orthographic-italic 'cyrl/ghayn' 0x493
|
||||||
|
|
||||||
create-glyph 'cyrl/GheDescender' 0x4F6 : composite-proc
|
create-glyph 'cyrl/GheDescender' 0x4F6 : composite-proc
|
||||||
refer-glyph 'cyrl/Ghe'
|
refer-glyph 'cyrl/Ghe'
|
||||||
|
@ -132,7 +132,7 @@ glyph-block Letter-Greek-Upper-Gamma: begin
|
||||||
CyrDescender (GammaBarLeft + Stroke * HVContrast) (sideJut -- MidJutCenter - HalfStroke * HVContrast)
|
CyrDescender (GammaBarLeft + Stroke * HVContrast) (sideJut -- MidJutCenter - HalfStroke * HVContrast)
|
||||||
MarkSet.p
|
MarkSet.p
|
||||||
|
|
||||||
italic-variant 'cyrl/gheDescender' 0x4F7
|
orthographic-italic 'cyrl/gheDescender' 0x4F7
|
||||||
|
|
||||||
|
|
||||||
glyph-block Letter-Greek-Lower-Gamma : begin
|
glyph-block Letter-Greek-Lower-Gamma : begin
|
||||||
|
@ -511,12 +511,12 @@ glyph-block Letter-Greek-Pi : begin
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
include : PiShape [DivFrame 1] XH 0 (shrinkRate -- 0.05) (endShrink -- 0.05)
|
include : PiShape [DivFrame 1] XH 0 (shrinkRate -- 0.05) (endShrink -- 0.05)
|
||||||
|
|
||||||
create-glyph 'cyrl/pe.SRB': glyph-proc
|
with-related-glyphs 'u' 'cyrl/pe.SRB' null : lambda [src sel] : glyph-proc
|
||||||
include [refer-glyph 'u'] AS_BASE
|
include [refer-glyph src] AS_BASE
|
||||||
include : refer-glyph "macronAbove"
|
include : refer-glyph "macronAbove"
|
||||||
|
|
||||||
alias 'cyrl/Pe' 0x41F 'grek/Pi'
|
alias 'cyrl/Pe' 0x41F 'grek/Pi'
|
||||||
select-variant 'cyrl/pe' 0x43f
|
orthographic-italic 'cyrl/pe' 0x43f
|
||||||
|
|
||||||
create-glyph 'grek/pi' 0x3C0 : glyph-proc
|
create-glyph 'grek/pi' 0x3C0 : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
|
|
|
@ -2580,7 +2580,7 @@ glyph-block Letter-Latin-Upper-B : begin
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
include : BShape XH
|
include : BShape XH
|
||||||
|
|
||||||
italic-variant 'cyrl/ve' 0x432
|
orthographic-italic 'cyrl/ve' 0x432
|
||||||
alias 'smcpB' 0x299 'cyrl/ve.upright'
|
alias 'smcpB' 0x299 'cyrl/ve.upright'
|
||||||
alias 'closeturnepsilon' 0x25E 'cyrl/ve.italic'
|
alias 'closeturnepsilon' 0x25E 'cyrl/ve.italic'
|
||||||
|
|
||||||
|
@ -4554,14 +4554,7 @@ glyph-block Letter-Latin-Lower-N : begin
|
||||||
set-base-anchor 'trailing' (RightSB - markHalfStroke) 0
|
set-base-anchor 'trailing' (RightSB - markHalfStroke) 0
|
||||||
|
|
||||||
select-variant 'n' 'n'
|
select-variant 'n' 'n'
|
||||||
alias 'cyrl/pe.italicStraight' null 'n.straight'
|
select-variant 'cyrl/pe.italic' (shapeFrom -- 'n')
|
||||||
alias 'cyrl/pe.italicTailed' null 'n.tailed'
|
|
||||||
alias 'cyrl/pe.italicMotionSerifedStraight' null 'n.motionSerifedStraight'
|
|
||||||
alias 'cyrl/pe.italicMotionSerifedTailed' null 'n.motionSerifedTailed'
|
|
||||||
alias 'cyrl/pe.italicEarlessCornerStraight' null 'n.earlessCornerStraight'
|
|
||||||
alias 'cyrl/pe.italicEarlessCornerTailed' null 'n.earlessCornerTailed'
|
|
||||||
alias 'cyrl/pe.italicEarlessRoundedStraight' null 'n.earlessRoundedStraight'
|
|
||||||
alias 'cyrl/pe.italicEarlessRoundedTailed' null 'n.earlessRoundedTailed'
|
|
||||||
alias 'cyrl/pe.BGR' null 'n'
|
alias 'cyrl/pe.BGR' null 'n'
|
||||||
|
|
||||||
with-related-glyphs 'n' 'nApostrophe' 0x149 : lambda [src srl] : glyph-proc
|
with-related-glyphs 'n' 'nApostrophe' 0x149 : lambda [src srl] : glyph-proc
|
||||||
|
@ -5310,18 +5303,13 @@ glyph-block Letter-Latin-Lower-M : begin
|
||||||
|
|
||||||
select-variant 'm' 'm'
|
select-variant 'm' 'm'
|
||||||
|
|
||||||
alias 'cyrl/te.italicNormal' null 'm.normal'
|
select-variant 'cyrl/te.italic' (shapeFrom -- 'm')
|
||||||
alias 'cyrl/te.italicTailed' null 'm.tailed'
|
alias 'cyrl/te.BGR' null 'cyrl/te.italic'
|
||||||
alias 'cyrl/te.italicMotionSerifed' null 'm.motionSerifed'
|
|
||||||
create-glyph 'cyrl/tedescender.italic' : composite-proc [MarkSet.e]
|
create-glyph 'cyrl/tedescender.italic' : composite-proc [MarkSet.e]
|
||||||
refer-glyph 'm.normal'
|
refer-glyph 'm.normal'
|
||||||
CyrDescender (Width * para.diversityM - SB)
|
CyrDescender (Width * para.diversityM - SB)
|
||||||
|
|
||||||
alias 'cyrl/te.BGR.normal' null 'm.normal'
|
|
||||||
alias 'cyrl/te.BGR.tailed' null 'm.tailed'
|
|
||||||
alias 'cyrl/te.BGR.motionSerifed' null 'm.motionSerifed'
|
|
||||||
select-variant 'cyrl/te.BGR'
|
|
||||||
|
|
||||||
create-glyph 'mltail' 0x271 : glyph-proc
|
create-glyph 'mltail' 0x271 : glyph-proc
|
||||||
local df : dfM
|
local df : dfM
|
||||||
include : df.markSet.p
|
include : df.markSet.p
|
||||||
|
@ -5813,8 +5801,8 @@ glyph-block Letter-Latin-Lower-F : begin
|
||||||
|
|
||||||
|
|
||||||
alias 'esh' 0x283 'longs.italic'
|
alias 'esh' 0x283 'longs.italic'
|
||||||
italic-variant 'longs' 0x17F
|
orthographic-italic 'longs' 0x17F
|
||||||
italic-variant 'longsbar' 0x1E9D
|
orthographic-italic 'longsbar' 0x1E9D
|
||||||
|
|
||||||
create-glyph 'eshcurlytail' 0x286 : glyph-proc
|
create-glyph 'eshcurlytail' 0x286 : glyph-proc
|
||||||
include : MarkSet.if
|
include : MarkSet.if
|
||||||
|
@ -6034,7 +6022,7 @@ glyph-block Letter-Latin-Lower-F : begin
|
||||||
include : HBarTop hbarleft [mix SB barr 0.65] fbar
|
include : HBarTop hbarleft [mix SB barr 0.65] fbar
|
||||||
if SLAB : include : tagged 'serifRB' : RightwardBottomSerif barr 0 SideJut
|
if SLAB : include : tagged 'serifRB' : RightwardBottomSerif barr 0 SideJut
|
||||||
|
|
||||||
italic-variant 'f_l' 0xFB02
|
orthographic-italic 'f_l' 0xFB02
|
||||||
|
|
||||||
|
|
||||||
glyph-block Letter-Latin-Upper-E : begin
|
glyph-block Letter-Latin-Upper-E : begin
|
||||||
|
@ -6226,7 +6214,7 @@ glyph-block Letter-Latin-Upper-T : begin
|
||||||
include : MarkSet.p
|
include : MarkSet.p
|
||||||
include : CyrDescender (Middle + HalfStroke * HVContrast) (sideJut -- MidJutCenter - HalfStroke * HVContrast)
|
include : CyrDescender (Middle + HalfStroke * HVContrast) (sideJut -- MidJutCenter - HalfStroke * HVContrast)
|
||||||
|
|
||||||
italic-variant 'cyrl/tedescender' 0x4AD
|
orthographic-italic 'cyrl/tedescender' 0x4AD
|
||||||
|
|
||||||
create-glyph 'grek/tau' 0x3C4 : glyph-proc
|
create-glyph 'grek/tau' 0x3C4 : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
|
|
|
@ -779,7 +779,7 @@ glyph-block Symbol-Math-Relation : begin
|
||||||
|
|
||||||
create-glyph 'equalParallel' 0x22D5 : composite-proc
|
create-glyph 'equalParallel' 0x22D5 : composite-proc
|
||||||
refer-glyph 'equal'
|
refer-glyph 'equal'
|
||||||
refer-glyph 'parallel.naturalSlope'
|
refer-glyph 'parallel.upright'
|
||||||
|
|
||||||
create-glyph 'oneDotApproxEq' 0x2250 : glyph-proc
|
create-glyph 'oneDotApproxEq' 0x2250 : glyph-proc
|
||||||
include : refer-glyph 'equal'
|
include : refer-glyph 'equal'
|
||||||
|
|
|
@ -444,8 +444,9 @@ glyph-block Symbol-Punctuation-Bar : begin
|
||||||
set-base-anchor 'below' Middle ParenBot
|
set-base-anchor 'below' Middle ParenBot
|
||||||
include : VBar Middle ParenBot ParenTop
|
include : VBar Middle ParenBot ParenTop
|
||||||
|
|
||||||
create-glyph 'bar.naturalSlope' : BarShape
|
create-glyph 'bar.upright' : BarShape
|
||||||
create-glyph 'bar.forceUpright' : glyph-proc
|
create-glyph 'bar.italic.naturalSlope' : BarShape
|
||||||
|
create-glyph 'bar.italic.forceUpright' : glyph-proc
|
||||||
include : ForceUpright
|
include : ForceUpright
|
||||||
include : BarShape
|
include : BarShape
|
||||||
|
|
||||||
|
@ -456,8 +457,9 @@ glyph-block Symbol-Punctuation-Bar : begin
|
||||||
include : VBar (Middle - Width * 0.175) ParenBot ParenTop sw
|
include : VBar (Middle - Width * 0.175) ParenBot ParenTop sw
|
||||||
include : VBar (Middle + Width * 0.175) ParenBot ParenTop sw
|
include : VBar (Middle + Width * 0.175) ParenBot ParenTop sw
|
||||||
|
|
||||||
create-glyph 'parallel.naturalSlope' : DoubleBarShape
|
create-glyph 'parallel.upright' : DoubleBarShape
|
||||||
create-glyph 'parallel.forceUpright' : glyph-proc
|
create-glyph 'parallel.italic.naturalSlope' : DoubleBarShape
|
||||||
|
create-glyph 'parallel.italic.forceUpright' : glyph-proc
|
||||||
include : ForceUpright
|
include : ForceUpright
|
||||||
include : DoubleBarShape
|
include : DoubleBarShape
|
||||||
|
|
||||||
|
@ -466,22 +468,26 @@ glyph-block Symbol-Punctuation-Bar : begin
|
||||||
include : VBar Middle (SymbolMid + breakDist / 2) ParenTop
|
include : VBar Middle (SymbolMid + breakDist / 2) ParenTop
|
||||||
include : VBar Middle ParenBot (SymbolMid - breakDist / 2)
|
include : VBar Middle ParenBot (SymbolMid - breakDist / 2)
|
||||||
|
|
||||||
create-glyph 'brokenBar.naturalSlope' : BrokenBarShape
|
create-glyph 'brokenBar.upright' : BrokenBarShape
|
||||||
create-glyph 'brokenBar.forceUpright' : glyph-proc
|
create-glyph 'brokenBar.italic.naturalSlope' : BrokenBarShape
|
||||||
|
create-glyph 'brokenBar.italic.forceUpright' : glyph-proc
|
||||||
include : ForceUpright
|
include : ForceUpright
|
||||||
include : BrokenBarShape
|
include : BrokenBarShape
|
||||||
|
|
||||||
create-glyph 'palatoalveolarclick' 0x1C2 : glyph-proc
|
create-glyph 'palatoalveolarclick' 0x1C2 : glyph-proc
|
||||||
include [refer-glyph 'bar.naturalSlope'] AS_BASE
|
include [refer-glyph 'bar.upright'] AS_BASE
|
||||||
include : HBarBottom SB RightSB (SymbolMid + XH * 0.1) OperatorStroke
|
include : HBarBottom SB RightSB (SymbolMid + XH * 0.1) OperatorStroke
|
||||||
include : HBarTop SB RightSB (SymbolMid - XH * 0.1) OperatorStroke
|
include : HBarTop SB RightSB (SymbolMid - XH * 0.1) OperatorStroke
|
||||||
|
|
||||||
select-variant 'bar' '|'
|
select-variant 'bar.italic'
|
||||||
select-variant 'parallel' 0x2225 (follow -- 'bar')
|
orthographic-italic 'bar' '|'
|
||||||
select-variant 'brokenBar' 0xA6 (follow -- 'bar')
|
select-variant 'parallel.italic' (follow -- 'bar.italic')
|
||||||
alias 'dentalclick' 0x1C0 'bar.naturalSlope'
|
orthographic-italic 'parallel' 0x2225
|
||||||
|
select-variant 'brokenBar.italic' (follow -- 'bar.italic')
|
||||||
|
orthographic-italic 'brokenBar' 0xA6
|
||||||
|
alias 'dentalclick' 0x1C0 'bar.upright'
|
||||||
alias 'doubleBar' 0x2016 'parallel'
|
alias 'doubleBar' 0x2016 'parallel'
|
||||||
alias 'alveolarlateralclick' 0x1C1 'parallel.naturalSlope'
|
alias 'alveolarlateralclick' 0x1C1 'parallel.upright'
|
||||||
|
|
||||||
|
|
||||||
glyph-block Symbol-Punctuation-Ampersand : begin
|
glyph-block Symbol-Punctuation-Ampersand : begin
|
||||||
|
@ -899,9 +905,7 @@ glyph-block Symbol-Punctuation-Asterisk : begin
|
||||||
Italify
|
Italify
|
||||||
|
|
||||||
select-variant 'asterisk' '*'
|
select-variant 'asterisk' '*'
|
||||||
select-variant 'asterisk' nothing
|
select-variant 'asterisk/lowered' (shapeFrom -- 'asterisk')
|
||||||
to-name -- 'asterisk.dfltlow'
|
|
||||||
transform -- { .high 'low' .hexhigh 'hexlow' .turnPentaHigh 'turnPentaLow' }
|
|
||||||
|
|
||||||
|
|
||||||
glyph-block Symbol-Punctuation-Slashes-And-Number-Sign : begin
|
glyph-block Symbol-Punctuation-Slashes-And-Number-Sign : begin
|
||||||
|
|
|
@ -106,7 +106,7 @@ define-macro glyph-block-import : syntax-rules
|
||||||
`[glyph-block-import @_blockName] : begin
|
`[glyph-block-import @_blockName] : begin
|
||||||
|
|
||||||
define allExports : object
|
define allExports : object
|
||||||
Common-Derivatives `[select-variant italic-variant refer-glyph query-glyph alias turned
|
Common-Derivatives `[select-variant orthographic-italic refer-glyph query-glyph alias turned
|
||||||
HDual HCombine VDual VCombine with-related-glyphs glyph-is-needed]
|
HDual HCombine VDual VCombine with-related-glyphs glyph-is-needed]
|
||||||
|
|
||||||
CommonShapes `[Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt
|
CommonShapes `[Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt
|
||||||
|
|
|
@ -86,7 +86,7 @@ define [buildLigationsImpl sink para featureName mappedFeature rankedLookups] :
|
||||||
* 'asciiCaret'
|
* 'asciiCaret'
|
||||||
* 'asciiTilde'
|
* 'asciiTilde'
|
||||||
|
|
||||||
define [asterisk_center] ({'asterisk'} ~> {'asterisk.dfltlow'})
|
define [asterisk_center] ({'asterisk'} ~> {'asterisk/lowered'})
|
||||||
define [colon_center] ({'colon' 'colon.mid'} ~> {'colon.mid' 'colon.mid'})
|
define [colon_center] ({'colon' 'colon.mid'} ~> {'colon.mid' 'colon.mid'})
|
||||||
define [caret_center] ({'asciiCaret'} ~> {'asciiCaret.low'})
|
define [caret_center] ({'asciiCaret'} ~> {'asciiCaret.low'})
|
||||||
define [tilde_center] ({'asciiTilde'} ~> {'asciiTilde.low'})
|
define [tilde_center] ({'asciiTilde'} ~> {'asciiTilde.low'})
|
||||||
|
@ -156,9 +156,9 @@ define [buildLigationsImpl sink para featureName mappedFeature rankedLookups] :
|
||||||
CreateLigationLookup : keep-if 'brst' : list
|
CreateLigationLookup : keep-if 'brst' : list
|
||||||
chain-rule # (*
|
chain-rule # (*
|
||||||
{'parenLeft'} ~> look-around
|
{'parenLeft'} ~> look-around
|
||||||
{'asterisk'} ~> {'asterisk.dfltlow'}
|
{'asterisk'} ~> {'asterisk/lowered'}
|
||||||
chain-rule # *)
|
chain-rule # *)
|
||||||
{'asterisk'} ~> {'asterisk.dfltlow'}
|
{'asterisk'} ~> {'asterisk/lowered'}
|
||||||
{'parenRight'} ~> look-around
|
{'parenRight'} ~> look-around
|
||||||
|
|
||||||
do "Bracket-colon"
|
do "Bracket-colon"
|
||||||
|
|
|
@ -119,8 +119,6 @@ class PrimeVariant {
|
||||||
this.description = cfg.description;
|
this.description = cfg.description;
|
||||||
this.rank = cfg.rank;
|
this.rank = cfg.rank;
|
||||||
this.selector = cfg.selector;
|
this.selector = cfg.selector;
|
||||||
this.selectorUpright = cfg.selectorUpright;
|
|
||||||
this.selectorItalic = cfg.selectorItalic;
|
|
||||||
}
|
}
|
||||||
resolveFor(para, gn) {
|
resolveFor(para, gn) {
|
||||||
let vs = {};
|
let vs = {};
|
||||||
|
@ -129,11 +127,6 @@ class PrimeVariant {
|
||||||
}
|
}
|
||||||
resolve(para, vs) {
|
resolve(para, vs) {
|
||||||
Object.assign(vs, this.selector);
|
Object.assign(vs, this.selector);
|
||||||
if (para.isItalic) {
|
|
||||||
Object.assign(vs, this.selectorItalic);
|
|
||||||
} else {
|
|
||||||
Object.assign(vs, this.selectorUpright);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -581,160 +581,121 @@ tag = 'cv21'
|
||||||
rank = 1
|
rank = 1
|
||||||
description = '`m` with normal middle leg, touching the baseline'
|
description = '`m` with normal middle leg, touching the baseline'
|
||||||
selector.m = 'normal'
|
selector.m = 'normal'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
selector."cyrl/te.BGR" = "normal"
|
|
||||||
|
|
||||||
[prime.m.variants.shortleg]
|
[prime.m.variants.shortleg]
|
||||||
rank = 2
|
rank = 2
|
||||||
description = '`m` with shorter middle leg, like Ubuntu Mono'
|
description = '`m` with shorter middle leg, like Ubuntu Mono'
|
||||||
selector.m = 'shortleg'
|
selector.m = 'shortleg'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
selector."cyrl/te.BGR" = "normal"
|
|
||||||
|
|
||||||
[prime.m.variants.tailed]
|
[prime.m.variants.tailed]
|
||||||
rank = 3
|
rank = 3
|
||||||
description = '`m` with normal middle leg, touching the baseline, and a curly tail'
|
description = '`m` with normal middle leg, touching the baseline, and a curly tail'
|
||||||
selector.m = 'tailed'
|
selector.m = 'tailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "tailed"
|
||||||
selectorItalic."cyrl/te" = "italicTailed"
|
|
||||||
selector."cyrl/te.BGR" = "tailed"
|
|
||||||
|
|
||||||
[prime.m.variants.shortleg-tailed]
|
[prime.m.variants.shortleg-tailed]
|
||||||
rank = 4
|
rank = 4
|
||||||
description = '`m` with shorter middle leg, like Ubuntu Mono, and a curly tail'
|
description = '`m` with shorter middle leg, like Ubuntu Mono, and a curly tail'
|
||||||
selector.m = 'shortlegTailed'
|
selector.m = 'shortlegTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "tailed"
|
||||||
selectorItalic."cyrl/te" = "italicTailed"
|
|
||||||
selector."cyrl/te.BGR" = "tailed"
|
|
||||||
|
|
||||||
[prime.m.variants.earless-corner-double-arch]
|
[prime.m.variants.earless-corner-double-arch]
|
||||||
rank = 5
|
rank = 5
|
||||||
description = "Earless (corner top-left) `m` with normal middle leg touching baseline"
|
description = "Earless (corner top-left) `m` with normal middle leg touching baseline"
|
||||||
selector.m = 'earlessCornerDoubleArch'
|
selector.m = 'earlessCornerDoubleArch'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
selector."cyrl/te.BGR" = "normal"
|
|
||||||
|
|
||||||
[prime.m.variants.earless-corner-double-arch-shortleg]
|
[prime.m.variants.earless-corner-double-arch-shortleg]
|
||||||
rank = 6
|
rank = 6
|
||||||
description = "Earless (corner top-left) `m` with a shorter middle leg like Ubuntu Mono"
|
description = "Earless (corner top-left) `m` with a shorter middle leg like Ubuntu Mono"
|
||||||
selector.m = 'earlessCornerDoubleArchShortleg'
|
selector.m = 'earlessCornerDoubleArchShortleg'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
selector."cyrl/te.BGR" = "normal"
|
|
||||||
|
|
||||||
[prime.m.variants.earless-corner-double-arch-tailed]
|
[prime.m.variants.earless-corner-double-arch-tailed]
|
||||||
rank = 7
|
rank = 7
|
||||||
description = "Earless (corner top-left) `m` with normal middle leg touching baseline, and a curly tail"
|
description = "Earless (corner top-left) `m` with normal middle leg touching baseline, and a curly tail"
|
||||||
selector.m = 'earlessCornerDoubleArchTailed'
|
selector.m = 'earlessCornerDoubleArchTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
selector."cyrl/te.BGR" = "normal"
|
|
||||||
|
|
||||||
[prime.m.variants.earless-corner-double-arch-shortleg-tailed]
|
[prime.m.variants.earless-corner-double-arch-shortleg-tailed]
|
||||||
rank = 8
|
rank = 8
|
||||||
description = "Earless (corner top-left) `m` with a shorter middle leg like Ubuntu Mono, and a curly tail"
|
description = "Earless (corner top-left) `m` with a shorter middle leg like Ubuntu Mono, and a curly tail"
|
||||||
selector.m = 'earlessCornerDoubleArchShortlegTailed'
|
selector.m = 'earlessCornerDoubleArchShortlegTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
selector."cyrl/te.BGR" = "normal"
|
|
||||||
|
|
||||||
[prime.m.variants.earless-rounded-double-arch]
|
[prime.m.variants.earless-rounded-double-arch]
|
||||||
rank = 9
|
rank = 9
|
||||||
description = "Earless (rounded top-left) `m` with normal middle leg touching baseline"
|
description = "Earless (rounded top-left) `m` with normal middle leg touching baseline"
|
||||||
selector.m = 'earlessRoundedDoubleArch'
|
selector.m = 'earlessRoundedDoubleArch'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
selector."cyrl/te.BGR" = "normal"
|
|
||||||
|
|
||||||
[prime.m.variants.earless-rounded-double-arch-shortleg]
|
[prime.m.variants.earless-rounded-double-arch-shortleg]
|
||||||
rank = 10
|
rank = 10
|
||||||
description = "Earless (rounded top-left) `m` with a shorter middle leg like Ubuntu Mono"
|
description = "Earless (rounded top-left) `m` with a shorter middle leg like Ubuntu Mono"
|
||||||
selector.m = 'earlessRoundedDoubleArchShortleg'
|
selector.m = 'earlessRoundedDoubleArchShortleg'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
|
|
||||||
[prime.m.variants.earless-rounded-double-arch-tailed]
|
[prime.m.variants.earless-rounded-double-arch-tailed]
|
||||||
rank = 11
|
rank = 11
|
||||||
description = "Earless (rounded top-left) `m` with normal middle leg touching baseline, and a curly tail"
|
description = "Earless (rounded top-left) `m` with normal middle leg touching baseline, and a curly tail"
|
||||||
selector.m = 'earlessRoundedDoubleArchTailed'
|
selector.m = 'earlessRoundedDoubleArchTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
selector."cyrl/te.BGR" = "normal"
|
|
||||||
|
|
||||||
[prime.m.variants.earless-rounded-double-arch-shortleg-tailed]
|
[prime.m.variants.earless-rounded-double-arch-shortleg-tailed]
|
||||||
rank = 12
|
rank = 12
|
||||||
description = "Earless (rounded top-left) `m` with a shorter middle leg like Ubuntu Mono, and a curly tail"
|
description = "Earless (rounded top-left) `m` with a shorter middle leg like Ubuntu Mono, and a curly tail"
|
||||||
selector.m = 'earlessRoundedDoubleArchShortlegTailed'
|
selector.m = 'earlessRoundedDoubleArchShortlegTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
selector."cyrl/te.BGR" = "normal"
|
|
||||||
|
|
||||||
[prime.m.variants.earless-single-arch]
|
[prime.m.variants.earless-single-arch]
|
||||||
rank = 13
|
rank = 13
|
||||||
description = "Earless (single-arch) `m` with normal middle leg touching baseline"
|
description = "Earless (single-arch) `m` with normal middle leg touching baseline"
|
||||||
selector.m = 'earlessSingleArch'
|
selector.m = 'earlessSingleArch'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
selector."cyrl/te.BGR" = "normal"
|
|
||||||
|
|
||||||
[prime.m.variants.earless-single-arch-shortleg]
|
[prime.m.variants.earless-single-arch-shortleg]
|
||||||
rank = 14
|
rank = 14
|
||||||
description = "Earless (single-arch) `m` with a shorter middle leg like Ubuntu Mono"
|
description = "Earless (single-arch) `m` with a shorter middle leg like Ubuntu Mono"
|
||||||
selector.m = 'earlessSingleArchShortleg'
|
selector.m = 'earlessSingleArchShortleg'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
selector."cyrl/te.BGR" = "normal"
|
|
||||||
|
|
||||||
[prime.m.variants.earless-single-arch-tailed]
|
[prime.m.variants.earless-single-arch-tailed]
|
||||||
rank = 15
|
rank = 15
|
||||||
description = "Earless (single-arch) `m` with normal middle leg touching baseline, and a curly tail"
|
description = "Earless (single-arch) `m` with normal middle leg touching baseline, and a curly tail"
|
||||||
selector.m = 'earlessSingleArchTailed'
|
selector.m = 'earlessSingleArchTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
selector."cyrl/te.BGR" = "normal"
|
|
||||||
|
|
||||||
[prime.m.variants.earless-single-arch-shortleg-tailed]
|
[prime.m.variants.earless-single-arch-shortleg-tailed]
|
||||||
rank = 16
|
rank = 16
|
||||||
description = "Earless (single-arch) `m` with a shorter middle leg like Ubuntu Mono, and a curly tail"
|
description = "Earless (single-arch) `m` with a shorter middle leg like Ubuntu Mono, and a curly tail"
|
||||||
selector.m = 'earlessSingleArchShortlegTailed'
|
selector.m = 'earlessSingleArchShortlegTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "normal"
|
||||||
selectorItalic."cyrl/te" = "italicNormal"
|
|
||||||
selector."cyrl/te.BGR" = "normal"
|
|
||||||
|
|
||||||
[prime.m.variants.motion-serifed]
|
[prime.m.variants.motion-serifed]
|
||||||
rank = 17
|
rank = 17
|
||||||
description = "`m` with motion serifs, normal middle leg touching baseline"
|
description = "`m` with motion serifs, normal middle leg touching baseline"
|
||||||
selector.m = 'motionSerifed'
|
selector.m = 'motionSerifed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "motionSerifed"
|
||||||
selectorItalic."cyrl/te" = "italicMotionSerifed"
|
|
||||||
selector."cyrl/te.BGR" = "motionSerifed"
|
|
||||||
|
|
||||||
[prime.m.variants.motion-serifed-shortleg]
|
[prime.m.variants.motion-serifed-shortleg]
|
||||||
rank = 18
|
rank = 18
|
||||||
description = "`m` with motion serifs, a shorter middle leg like Ubuntu Mono"
|
description = "`m` with motion serifs, a shorter middle leg like Ubuntu Mono"
|
||||||
selector.m = 'motionSerifedShortleg'
|
selector.m = 'motionSerifedShortleg'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "motionSerifed"
|
||||||
selectorItalic."cyrl/te" = "italicMotionSerifed"
|
|
||||||
selector."cyrl/te.BGR" = "motionSerifed"
|
|
||||||
|
|
||||||
[prime.m.variants.motion-serifed-tailed]
|
[prime.m.variants.motion-serifed-tailed]
|
||||||
rank = 19
|
rank = 19
|
||||||
description = "`m` with motion serifs, normal middle leg touching baseline, and a curly tail"
|
description = "`m` with motion serifs, normal middle leg touching baseline, and a curly tail"
|
||||||
selector.m = 'motionSerifedTailed'
|
selector.m = 'motionSerifedTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "motionSerifed"
|
||||||
selectorItalic."cyrl/te" = "italicMotionSerifed"
|
|
||||||
selector."cyrl/te.BGR" = "motionSerifed"
|
|
||||||
|
|
||||||
[prime.m.variants.motion-serifed-shortleg-tailed]
|
[prime.m.variants.motion-serifed-shortleg-tailed]
|
||||||
rank = 20
|
rank = 20
|
||||||
description = "`m` with motion serifs, a shorter middle leg like Ubuntu Mono, and a curly tail"
|
description = "`m` with motion serifs, a shorter middle leg like Ubuntu Mono, and a curly tail"
|
||||||
selector.m = 'motionSerifedShortlegTailed'
|
selector.m = 'motionSerifedShortlegTailed'
|
||||||
selectorUpright."cyrl/te" = "upright"
|
selector."cyrl/te.italic" = "motionSerifed"
|
||||||
selectorItalic."cyrl/te" = "italicMotionSerifed"
|
|
||||||
selector."cyrl/te.BGR" = "motionSerifed"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -747,64 +708,56 @@ rank = 1
|
||||||
description = '`n` with straight ending'
|
description = '`n` with straight ending'
|
||||||
selector.n = 'straight'
|
selector.n = 'straight'
|
||||||
selector.eng = 'straight'
|
selector.eng = 'straight'
|
||||||
selectorUpright."cyrl/pe" = "upright"
|
selector."cyrl/pe.italic" = "straight"
|
||||||
selectorItalic."cyrl/pe" = "italicStraight"
|
|
||||||
|
|
||||||
[prime.n.variants.tailed]
|
[prime.n.variants.tailed]
|
||||||
rank = 2
|
rank = 2
|
||||||
description = '`n` with a curly tail'
|
description = '`n` with a curly tail'
|
||||||
selector.n = 'tailed'
|
selector.n = 'tailed'
|
||||||
selector.eng = 'straight'
|
selector.eng = 'straight'
|
||||||
selectorUpright."cyrl/pe" = "upright"
|
selector."cyrl/pe.italic" = "tailed"
|
||||||
selectorItalic."cyrl/pe" = "italicTailed"
|
|
||||||
|
|
||||||
[prime.n.variants.earless-corner-straight]
|
[prime.n.variants.earless-corner-straight]
|
||||||
rank = 3
|
rank = 3
|
||||||
description = 'Earless (corner top-left) `n` with straight ending'
|
description = 'Earless (corner top-left) `n` with straight ending'
|
||||||
selector.n = 'earlessCornerStraight'
|
selector.n = 'earlessCornerStraight'
|
||||||
selector.eng = 'earlessCornerStraight'
|
selector.eng = 'earlessCornerStraight'
|
||||||
selectorUpright."cyrl/pe" = "upright"
|
selector."cyrl/pe.italic" = "straight"
|
||||||
selectorItalic."cyrl/pe" = "italicEarlessCornerStraight"
|
|
||||||
|
|
||||||
[prime.n.variants.earless-corner-tailed]
|
[prime.n.variants.earless-corner-tailed]
|
||||||
rank = 4
|
rank = 4
|
||||||
description = 'Earless (corner top-left) `n` with a curly tail'
|
description = 'Earless (corner top-left) `n` with a curly tail'
|
||||||
selector.n = 'earlessCornerTailed'
|
selector.n = 'earlessCornerTailed'
|
||||||
selector.eng = 'earlessCornerStraight'
|
selector.eng = 'earlessCornerStraight'
|
||||||
selectorUpright."cyrl/pe" = "upright"
|
selector."cyrl/pe.italic" = "tailed"
|
||||||
selectorItalic."cyrl/pe" = "italicEarlessCornerTailed"
|
|
||||||
|
|
||||||
[prime.n.variants.earless-rounded-straight]
|
[prime.n.variants.earless-rounded-straight]
|
||||||
rank = 5
|
rank = 5
|
||||||
description = 'Earless (rounded top-left) `n` with straight ending'
|
description = 'Earless (rounded top-left) `n` with straight ending'
|
||||||
selector.n = 'earlessRoundedStraight'
|
selector.n = 'earlessRoundedStraight'
|
||||||
selector.eng = 'earlessRoundedStraight'
|
selector.eng = 'earlessRoundedStraight'
|
||||||
selectorUpright."cyrl/pe" = "upright"
|
selector."cyrl/pe.italic" = "straight"
|
||||||
selectorItalic."cyrl/pe" = "italicEarlessRoundedStraight"
|
|
||||||
|
|
||||||
[prime.n.variants.earless-rounded-tailed]
|
[prime.n.variants.earless-rounded-tailed]
|
||||||
rank = 6
|
rank = 6
|
||||||
description = 'Earless (rounded top-left) `n` with a curly tail'
|
description = 'Earless (rounded top-left) `n` with a curly tail'
|
||||||
selector.n = 'earlessRoundedTailed'
|
selector.n = 'earlessRoundedTailed'
|
||||||
selector.eng = 'earlessRoundedStraight'
|
selector.eng = 'earlessRoundedStraight'
|
||||||
selectorUpright."cyrl/pe" = "upright"
|
selector."cyrl/pe.italic" = "tailed"
|
||||||
selectorItalic."cyrl/pe" = "italicEarlessRoundedTailed"
|
|
||||||
|
|
||||||
[prime.n.variants.motion-serifed-straight]
|
[prime.n.variants.motion-serifed-straight]
|
||||||
rank = 7
|
rank = 7
|
||||||
description = '`n` with motion serifs and straight ending'
|
description = '`n` with motion serifs and straight ending'
|
||||||
selector.n = 'motionSerifedStraight'
|
selector.n = 'motionSerifedStraight'
|
||||||
selector.eng = 'motionSerifedStraight'
|
selector.eng = 'motionSerifedStraight'
|
||||||
selectorUpright."cyrl/pe" = "upright"
|
selector."cyrl/pe.italic" = "motionSerifedStraight"
|
||||||
selectorItalic."cyrl/pe" = "italicMotionSerifedStraight"
|
|
||||||
|
|
||||||
[prime.n.variants.motion-serifed-tailed]
|
[prime.n.variants.motion-serifed-tailed]
|
||||||
rank = 8
|
rank = 8
|
||||||
description = '`n` with motion serifs and a curly tail'
|
description = '`n` with motion serifs and a curly tail'
|
||||||
selector.n = 'motionSerifedTailed'
|
selector.n = 'motionSerifedTailed'
|
||||||
selector.eng = 'motionSerifedStraight'
|
selector.eng = 'motionSerifedStraight'
|
||||||
selectorUpright."cyrl/pe" = "upright"
|
selector."cyrl/pe.italic" = "motionSerifedTailed"
|
||||||
selectorItalic."cyrl/pe" = "italicMotionSerifedTailed"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -955,97 +908,55 @@ tag = 'cv27'
|
||||||
rank = 1
|
rank = 1
|
||||||
description = "Normal `u` with bottom-right tooth"
|
description = "Normal `u` with bottom-right tooth"
|
||||||
selector.u = "toothed"
|
selector.u = "toothed"
|
||||||
selectorUpright."cyrl/i" = "upright"
|
selector."cyrl/i.italic" = "toothed"
|
||||||
selectorItalic."cyrl/i" = "italicToothed"
|
selector."cyrl/sha.italic" = "toothed"
|
||||||
selectorUpright."cyrl/sha" = "upright"
|
selector."cyrl/dzhe.italic" = "toothed"
|
||||||
selectorItalic."cyrl/sha" = "italicToothed"
|
selector."cyrl/tse.italic" = "toothed"
|
||||||
selectorUpright."cyrl/dzhe" = "upright"
|
|
||||||
selectorItalic."cyrl/dzhe" = "italicToothed"
|
|
||||||
selectorUpright."cyrl/tse" = "upright"
|
|
||||||
selectorItalic."cyrl/tse" = "italicToothed"
|
|
||||||
selector."cyrl/i.BGR" = "toothed"
|
|
||||||
selector."cyrl/sha.BGR" = "toothed"
|
|
||||||
selector."cyrl/tse.BGR" = "toothed"
|
|
||||||
|
|
||||||
[prime.u.variants.toothless-corner]
|
[prime.u.variants.toothless-corner]
|
||||||
rank = 2
|
rank = 2
|
||||||
description = 'Toothless (corner bottom-right) `u`'
|
description = 'Toothless (corner bottom-right) `u`'
|
||||||
selector.u = 'toothlessCorner'
|
selector.u = 'toothlessCorner'
|
||||||
selectorUpright."cyrl/i" = "upright"
|
selector."cyrl/i.italic" = "toothed"
|
||||||
selectorItalic."cyrl/i" = "italicToothed"
|
selector."cyrl/sha.italic" = "toothed"
|
||||||
selectorUpright."cyrl/sha" = "upright"
|
selector."cyrl/dzhe.italic" = "toothed"
|
||||||
selectorItalic."cyrl/sha" = "italicToothed"
|
selector."cyrl/tse.italic" = "toothed"
|
||||||
selectorUpright."cyrl/dzhe" = "upright"
|
|
||||||
selectorItalic."cyrl/dzhe" = "italicToothed"
|
|
||||||
selectorUpright."cyrl/tse" = "upright"
|
|
||||||
selectorItalic."cyrl/tse" = "italicToothed"
|
|
||||||
selector."cyrl/i.BGR" = "toothed"
|
|
||||||
selector."cyrl/sha.BGR" = "toothed"
|
|
||||||
selector."cyrl/tse.BGR" = "toothed"
|
|
||||||
|
|
||||||
[prime.u.variants.toothless-rounded]
|
[prime.u.variants.toothless-rounded]
|
||||||
rank = 3
|
rank = 3
|
||||||
description = "Toothless (rounded) `u`, like a smaller uppercase `U`"
|
description = "Toothless (rounded) `u`, like a smaller uppercase `U`"
|
||||||
selector.u = "toothlessRounded"
|
selector.u = "toothlessRounded"
|
||||||
selectorUpright."cyrl/i" = "upright"
|
selector."cyrl/i.italic" = "toothed"
|
||||||
selectorItalic."cyrl/i" = "italicToothed"
|
selector."cyrl/sha.italic" = "toothed"
|
||||||
selectorUpright."cyrl/sha" = "upright"
|
selector."cyrl/dzhe.italic" = "toothed"
|
||||||
selectorItalic."cyrl/sha" = "italicToothed"
|
selector."cyrl/tse.italic" = "toothed"
|
||||||
selectorUpright."cyrl/dzhe" = "upright"
|
|
||||||
selectorItalic."cyrl/dzhe" = "italicToothed"
|
|
||||||
selectorUpright."cyrl/tse" = "upright"
|
|
||||||
selectorItalic."cyrl/tse" = "italicToothed"
|
|
||||||
selector."cyrl/i.BGR" = "toothed"
|
|
||||||
selector."cyrl/sha.BGR" = "toothed"
|
|
||||||
selector."cyrl/tse.BGR" = "toothed"
|
|
||||||
|
|
||||||
[prime.u.variants.tailed]
|
[prime.u.variants.tailed]
|
||||||
rank = 4
|
rank = 4
|
||||||
description = "`u` with right bar and a slightly curly tail"
|
description = "`u` with right bar and a slightly curly tail"
|
||||||
selector.u = "tailed"
|
selector.u = "tailed"
|
||||||
selectorUpright."cyrl/i" = "upright"
|
selector."cyrl/i.italic" = "tailed"
|
||||||
selectorItalic."cyrl/i" = "italicTailed"
|
selector."cyrl/sha.italic" = "tailed"
|
||||||
selectorUpright."cyrl/sha" = "upright"
|
selector."cyrl/dzhe.italic" = "tailed"
|
||||||
selectorItalic."cyrl/sha" = "italicTailed"
|
selector."cyrl/tse.italic" = "toothed"
|
||||||
selectorUpright."cyrl/dzhe" = "upright"
|
|
||||||
selectorItalic."cyrl/dzhe" = "italicTailed"
|
|
||||||
selectorUpright."cyrl/tse" = "upright"
|
|
||||||
selectorItalic."cyrl/tse" = "italicToothed"
|
|
||||||
selector."cyrl/i.BGR" = "tailed"
|
|
||||||
selector."cyrl/sha.BGR" = "tailed"
|
|
||||||
selector."cyrl/tse.BGR" = "toothed"
|
|
||||||
|
|
||||||
[prime.u.variants.motion-serifed]
|
[prime.u.variants.motion-serifed]
|
||||||
rank = 5
|
rank = 5
|
||||||
description = "Normal `u` with right bar and motion serifs"
|
description = "Normal `u` with right bar and motion serifs"
|
||||||
selector.u = "motionSerifed"
|
selector.u = "motionSerifed"
|
||||||
selectorUpright."cyrl/i" = "upright"
|
selector."cyrl/i.italic" = "motionSerifed"
|
||||||
selectorItalic."cyrl/i" = "italicMotionSerifed"
|
selector."cyrl/sha.italic" = "motionSerifed"
|
||||||
selectorUpright."cyrl/sha" = "upright"
|
selector."cyrl/dzhe.italic" = "motionSerifed"
|
||||||
selectorItalic."cyrl/sha" = "italicMotionSerifed"
|
selector."cyrl/tse.italic" = "motionSerifed"
|
||||||
selectorUpright."cyrl/dzhe" = "upright"
|
|
||||||
selectorItalic."cyrl/dzhe" = "italicMotionSerifed"
|
|
||||||
selectorUpright."cyrl/tse" = "upright"
|
|
||||||
selectorItalic."cyrl/tse" = "italicMotionSerifed"
|
|
||||||
selector."cyrl/i.BGR" = "motionSerifed"
|
|
||||||
selector."cyrl/sha.BGR" = "motionSerifed"
|
|
||||||
selector."cyrl/tse.BGR" = "motionSerifed"
|
|
||||||
|
|
||||||
[prime.u.variants.motion-serifed-tailed]
|
[prime.u.variants.motion-serifed-tailed]
|
||||||
rank = 6
|
rank = 6
|
||||||
description = "`u` with right bar, motion serifs and a slightly curly tail"
|
description = "`u` with right bar, motion serifs and a slightly curly tail"
|
||||||
selector.u = "motionSerifedTailed"
|
selector.u = "motionSerifedTailed"
|
||||||
selectorUpright."cyrl/i" = "upright"
|
selector."cyrl/i.italic" = "motionSerifedTailed"
|
||||||
selectorItalic."cyrl/i" = "italicMotionSerifedTailed"
|
selector."cyrl/sha.italic" = "motionSerifedTailed"
|
||||||
selectorUpright."cyrl/sha" = "upright"
|
selector."cyrl/dzhe.italic" = "motionSerifedTailed"
|
||||||
selectorItalic."cyrl/sha" = "italicMotionSerifedTailed"
|
selector."cyrl/tse.italic" = "motionSerifed"
|
||||||
selectorUpright."cyrl/dzhe" = "upright"
|
|
||||||
selectorItalic."cyrl/dzhe" = "italicMotionSerifedTailed"
|
|
||||||
selectorUpright."cyrl/tse" = "upright"
|
|
||||||
selectorItalic."cyrl/tse" = "italicMotionSerifed"
|
|
||||||
selector."cyrl/i.BGR" = "motionSerifedTailed"
|
|
||||||
selector."cyrl/sha.BGR" = "motionSerifedTailed"
|
|
||||||
selector."cyrl/tse.BGR" = "motionSerifed"
|
|
||||||
|
|
||||||
[prime.v]
|
[prime.v]
|
||||||
sampler = 'vV'
|
sampler = 'vV'
|
||||||
|
@ -1394,31 +1305,37 @@ tag = 'cv44'
|
||||||
rank = 1
|
rank = 1
|
||||||
description = 'Higher five-pointed asterisk `*`'
|
description = 'Higher five-pointed asterisk `*`'
|
||||||
selector.asterisk = 'high'
|
selector.asterisk = 'high'
|
||||||
|
selector."asterisk/lowered" = 'low'
|
||||||
|
|
||||||
[prime.asterisk.variants.low]
|
[prime.asterisk.variants.low]
|
||||||
rank = 2
|
rank = 2
|
||||||
description = 'Lower five-pointed asterisk `*`'
|
description = 'Lower five-pointed asterisk `*`'
|
||||||
selector.asterisk = 'low'
|
selector.asterisk = 'low'
|
||||||
|
selector."asterisk/lowered" = 'low'
|
||||||
|
|
||||||
[prime.asterisk.variants.hexhigh]
|
[prime.asterisk.variants.hexhigh]
|
||||||
rank = 3
|
rank = 3
|
||||||
description = 'Higher six-pointed asterisk `*`'
|
description = 'Higher six-pointed asterisk `*`'
|
||||||
selector.asterisk = "hexhigh"
|
selector.asterisk = "hexhigh"
|
||||||
|
selector."asterisk/lowered" = "hexlow"
|
||||||
|
|
||||||
[prime.asterisk.variants.hexlow]
|
[prime.asterisk.variants.hexlow]
|
||||||
rank = 4
|
rank = 4
|
||||||
description = 'Lower six-pointed asterisk `*`'
|
description = 'Lower six-pointed asterisk `*`'
|
||||||
selector.asterisk = "hexlow"
|
selector.asterisk = "hexlow"
|
||||||
|
selector."asterisk/lowered" = "hexlow"
|
||||||
|
|
||||||
[prime.asterisk.variants.flip-penta-high]
|
[prime.asterisk.variants.flip-penta-high]
|
||||||
rank = 5
|
rank = 5
|
||||||
description = 'Higher five-pointed and turned asterisk `*`'
|
description = 'Higher five-pointed and turned asterisk `*`'
|
||||||
selector.asterisk = 'turnPentaHigh'
|
selector.asterisk = 'turnPentaHigh'
|
||||||
|
selector."asterisk/lowered" = 'turnPentaLow'
|
||||||
|
|
||||||
[prime.asterisk.variants.flip-penta-low]
|
[prime.asterisk.variants.flip-penta-low]
|
||||||
rank = 6
|
rank = 6
|
||||||
description = 'Lower five-pointed and turned asterisk `*`'
|
description = 'Lower five-pointed and turned asterisk `*`'
|
||||||
selector.asterisk = 'turnPentaLow'
|
selector.asterisk = 'turnPentaLow'
|
||||||
|
selector."asterisk/lowered" = 'turnPentaLow'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1651,14 +1568,12 @@ slopeDependent = true
|
||||||
[prime.bar.variants.natural-slope]
|
[prime.bar.variants.natural-slope]
|
||||||
rank = 1
|
rank = 1
|
||||||
description = 'Bar punctuations (`|`) has a natural slope under italics and oblique'
|
description = 'Bar punctuations (`|`) has a natural slope under italics and oblique'
|
||||||
selectorUpright.bar = "naturalSlope"
|
selector."bar.italic" = "naturalSlope"
|
||||||
selectorItalic.bar = "naturalSlope"
|
|
||||||
|
|
||||||
[prime.bar.variants.force-upright]
|
[prime.bar.variants.force-upright]
|
||||||
rank = 2
|
rank = 2
|
||||||
description = 'Bar punctuations (`|`) is forced upright under italics and oblique'
|
description = 'Bar punctuations (`|`) is forced upright under italics and oblique'
|
||||||
selectorUpright.bar = "naturalSlope"
|
selector."bar.italic" = "forceUpright"
|
||||||
selectorItalic.bar = "forceUpright"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue