Add Cyrillic tailed Short I (U+048A, U+048B), tailed El (U+04C5, U+04C6), railed En (U+04C9, U+04CA), tailed Em (U+04CD, U+04CE).
This commit is contained in:
parent
f3c1c20782
commit
e5f3b6b951
21 changed files with 140 additions and 71 deletions
|
|
@ -6,4 +6,5 @@
|
||||||
- Cyrillic combining Dasia (`U+0485`), Psili (`U+0486`), Pokrytie (`U+0478`).
|
- Cyrillic combining Dasia (`U+0485`), Psili (`U+0486`), Pokrytie (`U+0478`).
|
||||||
- Cyrillic Ornate Omega (`U+047C`, `U+047D`).
|
- Cyrillic Ornate Omega (`U+047C`, `U+047D`).
|
||||||
- Cyrillic Koppa (`U+0480`, `U+0481`).
|
- Cyrillic Koppa (`U+0480`, `U+0481`).
|
||||||
|
- Cyrillic tailed Short I (`U+048A`, `U+048B`), tailed El (`U+04C5`, `U+04C6`), railed En (`U+04C9`, `U+04CA`), tailed Em (`U+04CD`, `U+04CE`).
|
||||||
* Add tailed variants for Cyrillic El, En, Che, Yery and Ya (#972).
|
* Add tailed variants for Cyrillic El, En, Che, Yery and Ya (#972).
|
||||||
|
|
@ -50,12 +50,12 @@ glyph-block Common-Derivatives : begin
|
||||||
if [not goal] : throw : new Error "Cannot find glyph '\(id)'"
|
if [not goal] : throw : new Error "Cannot find glyph '\(id)'"
|
||||||
this.includeGlyph goal copyAnchors copyWidth
|
this.includeGlyph goal copyAnchors copyWidth
|
||||||
|
|
||||||
define [with-related-glyphs dstGid dstUnicode sourceGid Fn] : begin
|
define [with-related-glyphs dstGid dstUnicode srcGid Fn] : begin
|
||||||
if [not : glyph-is-needed sourceGid] : return nothing
|
if [not : glyph-is-needed srcGid] : return nothing
|
||||||
|
|
||||||
local glyphSrc : glyphStore.queryByName sourceGid
|
local glyphSrc : glyphStore.queryByName srcGid
|
||||||
local glyphDst : create-glyph dstGid dstUnicode : glyph-proc
|
local glyphDst : create-glyph dstGid dstUnicode : glyph-proc
|
||||||
include : Fn sourceGid null
|
include : Fn srcGid null
|
||||||
|
|
||||||
local derivedGlyphIdMap : new Map
|
local derivedGlyphIdMap : new Map
|
||||||
if glyphDst : foreach [gr : items-of : AnyDerivingCv.query glyphSrc] : begin
|
if glyphDst : foreach [gr : items-of : AnyDerivingCv.query glyphSrc] : begin
|
||||||
|
|
@ -68,13 +68,21 @@ glyph-block Common-Derivatives : begin
|
||||||
gr.set glyphDst relGidDst
|
gr.set glyphDst relGidDst
|
||||||
derivedGlyphIdMap.set relGidSrc relGidDst
|
derivedGlyphIdMap.set relGidSrc relGidDst
|
||||||
|
|
||||||
define [alias dstGid dstUnicode sourceGid] : begin
|
define [build-related-composite dstGid dstUnicode srcGid] : begin
|
||||||
if [not dstGid] : throw : new Error "Target ID not specified"
|
if [not : glyph-is-needed srcGid] : return nothing
|
||||||
if [not : glyph-is-needed sourceGid] : return nothing
|
|
||||||
|
|
||||||
local glyphSrc : glyphStore.queryByNameEnsured sourceGid
|
local restComponents : {}.slice.call arguments 3
|
||||||
|
return : with-related-glyphs dstGid dstUnicode srcGid : lambda [src sel] : glyph-proc
|
||||||
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
|
foreach component [items-of restComponents] : include component
|
||||||
|
|
||||||
|
define [alias dstGid dstUnicode srcGid] : begin
|
||||||
|
if [not dstGid] : throw : new Error "Target ID not specified"
|
||||||
|
if [not : glyph-is-needed srcGid] : return nothing
|
||||||
|
|
||||||
|
local glyphSrc : glyphStore.queryByNameEnsured srcGid
|
||||||
local glyphDst : create-glyph dstGid dstUnicode : glyph-proc
|
local glyphDst : create-glyph dstGid dstUnicode : glyph-proc
|
||||||
include [refer-glyph sourceGid] AS_BASE ALSO_METRICS
|
include [refer-glyph srcGid] AS_BASE ALSO_METRICS
|
||||||
|
|
||||||
if glyphDst : begin
|
if glyphDst : begin
|
||||||
foreach [gr : items-of : AnyCv.query glyphSrc] : begin
|
foreach [gr : items-of : AnyCv.query glyphSrc] : begin
|
||||||
|
|
@ -125,7 +133,8 @@ 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 orthographic-italic refer-glyph query-glyph with-related-glyphs
|
glyph-block-export select-variant orthographic-italic refer-glyph query-glyph
|
||||||
|
glyph-block-export with-related-glyphs build-related-composite
|
||||||
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-export HalfAdvance TurnMarks
|
glyph-block-export HalfAdvance TurnMarks
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -536,18 +536,6 @@ glyph-block CommonShapes : begin
|
||||||
.af [lambda [before after] [HookShape before after false y tight sw swItalicAdj noAdjTerminalY]]
|
.af [lambda [before after] [HookShape before after false y tight sw swItalicAdj noAdjTerminalY]]
|
||||||
}
|
}
|
||||||
|
|
||||||
define [CyrDescender] : params [x [shift 0.1] [connex 0] [sideJut SideJut]] : glyph-proc
|
|
||||||
local descenderOverflow : if SLAB sideJut ((RightSB - SB) * shift)
|
|
||||||
include : VBarRight (x + descenderOverflow + 0.25 * Stroke) (HalfStroke - LongJut) Stroke VJutSw
|
|
||||||
if (!SLAB && descenderOverflow > Stroke * 0.75 || connex) : begin
|
|
||||||
include : HBarTop (x - connex * Stroke * HVContrast) (x + descenderOverflow) Stroke
|
|
||||||
|
|
||||||
define [CyrLeftDescender] : params [x [shift 0.1] [connex 0] [sideJut SideJut]] : glyph-proc
|
|
||||||
local descenderOverflow : if SLAB sideJut ((RightSB - SB) * shift)
|
|
||||||
include : VBarLeft (x - descenderOverflow - 0.25 * Stroke) (HalfStroke - LongJut) Stroke VJutSw
|
|
||||||
if (!SLAB && descenderOverflow > Stroke * 0.75 || connex) : begin
|
|
||||||
include : HBarTop (x + connex * Stroke * HVContrast) (x - descenderOverflow) Stroke
|
|
||||||
|
|
||||||
# Composite transformations
|
# Composite transformations
|
||||||
define [FlipAround x y sx sy] : glyph-proc
|
define [FlipAround x y sx sy] : glyph-proc
|
||||||
include : Upright
|
include : Upright
|
||||||
|
|
@ -594,4 +582,9 @@ glyph-block CommonShapes : begin
|
||||||
corner [mix x1 x2 (-k)] [mix y1 y2 (-k)]
|
corner [mix x1 x2 (-k)] [mix y1 y2 (-k)]
|
||||||
corner [mix x1 x2 (1+k)] [mix y1 y2 (1+k)]
|
corner [mix x1 x2 (1+k)] [mix y1 y2 (1+k)]
|
||||||
|
|
||||||
glyph-block-export Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape LeftwardTopSerif LeftwardBottomSerif RightwardTopSerif RightwardBottomSerif CenterTopSerif CenterTopSerifAsymmetric CenterBottomSerif CenterBottomSerifAsymmetric DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif NeedSlab NeedNotItalic HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook LeftHook HooktopLeftBar FlatSlashShape hookstart hookend CyrDescender CyrLeftDescender FlipAround ScaleAround Realign ForceUpright DiagCor NameUni PointingTo WithTransform clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape OBarRightToothlessShape OBarRightRoundedShape AsRadical ExtLineCenter DiagCorDs HCrossBar VERY-FAR MaskAbove MaskBelow MaskLeft MaskRight
|
define [ExtLineLhs k sw x1 y1 x2 y2] : dispiro
|
||||||
|
widths.lhs sw
|
||||||
|
corner [mix x1 x2 (-k)] [mix y1 y2 (-k)]
|
||||||
|
corner [mix x1 x2 (1+k)] [mix y1 y2 (1+k)]
|
||||||
|
|
||||||
|
glyph-block-export Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape LeftwardTopSerif LeftwardBottomSerif RightwardTopSerif RightwardBottomSerif CenterTopSerif CenterTopSerifAsymmetric CenterBottomSerif CenterBottomSerifAsymmetric DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif NeedSlab NeedNotItalic HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook LeftHook HooktopLeftBar FlatSlashShape hookstart hookend FlipAround ScaleAround Realign ForceUpright DiagCor NameUni PointingTo WithTransform clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape OBarRightToothlessShape OBarRightRoundedShape AsRadical ExtLineCenter ExtLineLhs DiagCorDs HCrossBar VERY-FAR MaskAbove MaskBelow MaskLeft MaskRight
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ glyph-block Letter-Cyrillic-Che : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Shared-Shapes : SerifFrame RightwardTailedBar
|
glyph-block-import Letter-Shared-Shapes : SerifFrame RightwardTailedBar
|
||||||
|
glyph-block-import Letter-Shared-Shapes : CyrDescender CyrLeftDescender
|
||||||
|
|
||||||
define BODY-STRAIGHT 0
|
define BODY-STRAIGHT 0
|
||||||
define BODY-TAILED 1
|
define BODY-TAILED 1
|
||||||
|
|
@ -71,12 +72,13 @@ glyph-block Letter-Cyrillic-Che : begin
|
||||||
|
|
||||||
turned 'cyrl/Shha' 0x4BA 'cyrl/Che' Middle (CAP / 2)
|
turned 'cyrl/Shha' 0x4BA 'cyrl/Che' Middle (CAP / 2)
|
||||||
|
|
||||||
create-glyph 'cyrl/Chevbar' 0x4B8 : glyph-proc
|
define SwCheVBar : Math.min OverlayStroke (0.625 * (RightSB - SB - Stroke * 2 * HVContrast) / HVContrast)
|
||||||
|
create-glyph 'cyrl/CheVBar' 0x4B8 : glyph-proc
|
||||||
include [refer-glyph 'cyrl/Che'] AS_BASE
|
include [refer-glyph 'cyrl/Che'] AS_BASE
|
||||||
local yc (CAP * [if SLAB 0.45 0.35] + Stroke * 0.1)
|
local yc (CAP * [if SLAB 0.45 0.35] + Stroke * 0.1)
|
||||||
include : VBar Middle (yc + LongJut * 0.8) (yc - LongJut * 0.8) OverlayStroke
|
include : VBar Middle (yc + LongJut * 0.8) (yc - LongJut * 0.8) SwCheVBar
|
||||||
|
|
||||||
create-glyph 'cyrl/chevbar' 0x4B9 : glyph-proc
|
create-glyph 'cyrl/cheVBar' 0x4B9 : glyph-proc
|
||||||
include [refer-glyph 'cyrl/che'] AS_BASE
|
include [refer-glyph 'cyrl/che'] AS_BASE
|
||||||
local yc (XH * [if SLAB 0.45 0.35] + Stroke * 0.1)
|
local yc (XH * [if SLAB 0.45 0.35] + Stroke * 0.1)
|
||||||
include : VBar Middle (yc + LongJut * 0.8) (yc - LongJut * 0.8) OverlayStroke
|
include : VBar Middle (yc + LongJut * 0.8) (yc - LongJut * 0.8) SwCheVBar
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ glyph-module
|
||||||
glyph-block Letter-Cyrillic-El : begin
|
glyph-block Letter-Cyrillic-El : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Shared-Shapes : LegShape RightwardTailedBar
|
glyph-block-import Letter-Shared-Shapes : LegShape RightwardTailedBar CyrTailDescender
|
||||||
|
|
||||||
define BODY-STRAIGHT 0
|
define BODY-STRAIGHT 0
|
||||||
define BODY-TAILED 1
|
define BODY-TAILED 1
|
||||||
|
|
@ -23,11 +23,10 @@ glyph-block Letter-Cyrillic-El : begin
|
||||||
define [CyrElShape top bodyType slabType] : glyph-proc
|
define [CyrElShape top bodyType slabType] : glyph-proc
|
||||||
local cutleft : mix SB RightSB 0.135
|
local cutleft : mix SB RightSB 0.135
|
||||||
local cutleft2 : mix SB RightSB 0.075
|
local cutleft2 : mix SB RightSB 0.075
|
||||||
local cutright : mix SB RightSB 1
|
|
||||||
include : match bodyType
|
include : match bodyType
|
||||||
[Just BODY-TAILED] : RightwardTailedBar cutright 0 top
|
[Just BODY-TAILED] : RightwardTailedBar RightSB 0 top
|
||||||
__ : VBarRight cutright 0 top
|
__ : VBarRight RightSB 0 top
|
||||||
include : HBar cutleft cutright (top - HalfStroke)
|
include : HBar cutleft RightSB (top - HalfStroke)
|
||||||
include : LegShape
|
include : LegShape
|
||||||
ztop -- [Point.fromXY Point.Type.Corner cutleft top]
|
ztop -- [Point.fromXY Point.Type.Corner cutleft top]
|
||||||
zbot -- [Point.fromXY Point.Type.Corner [mix SB 0 [if SLAB 1 0.75]] 0]
|
zbot -- [Point.fromXY Point.Type.Corner [mix SB 0 [if SLAB 1 0.75]] 0]
|
||||||
|
|
@ -40,12 +39,12 @@ glyph-block Letter-Cyrillic-El : begin
|
||||||
[Just SLAB-TAILED-I] : LeftwardTopSerif cutleft top SideJut
|
[Just SLAB-TAILED-I] : LeftwardTopSerif cutleft top SideJut
|
||||||
__ : glyph-proc
|
__ : glyph-proc
|
||||||
include : tagged 'SerifRT' : match slabType
|
include : tagged 'SerifRT' : match slabType
|
||||||
[Just SLAB-ALL] : RightwardTopSerif cutright top SideJut
|
[Just SLAB-ALL] : RightwardTopSerif RightSB top SideJut
|
||||||
[Just SLAB-TAILED-U] : RightwardTopSerif cutright top SideJut
|
[Just SLAB-TAILED-U] : RightwardTopSerif RightSB top SideJut
|
||||||
__ : glyph-proc
|
__ : glyph-proc
|
||||||
include : tagged 'SerifRB' : match slabType
|
include : tagged 'SerifRB' : match slabType
|
||||||
[Just SLAB-ALL] : CenterBottomSerif (cutright - HalfStroke * HVContrast) 0 Jut
|
[Just SLAB-ALL] : CenterBottomSerif (RightSB - HalfStroke * HVContrast) 0 Jut
|
||||||
[Just SLAB-LOWER] : RightwardBottomSerif cutright 0 SideJut
|
[Just SLAB-LOWER] : RightwardBottomSerif RightSB 0 SideJut
|
||||||
__ : glyph-proc
|
__ : glyph-proc
|
||||||
|
|
||||||
create-glyph 'cyrl/El' 0x41B : glyph-proc
|
create-glyph 'cyrl/El' 0x41B : glyph-proc
|
||||||
|
|
@ -60,6 +59,10 @@ glyph-block Letter-Cyrillic-El : begin
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
include : CyrElShape XH BODY-TAILED : if SLAB [if para.isItalic SLAB-TAILED-I SLAB-TAILED-U] SLAB-NONE
|
include : CyrElShape XH BODY-TAILED : if SLAB [if para.isItalic SLAB-TAILED-I SLAB-TAILED-U] SLAB-NONE
|
||||||
|
|
||||||
|
build-related-composite 'cyrl/ElTail' 0x4C5 'cyrl/El' [CyrTailDescender RightSB]
|
||||||
|
build-related-composite 'cyrl/elTail' 0x4C6 'cyrl/el.straight' [CyrTailDescender RightSB]
|
||||||
|
|
||||||
|
|
||||||
select-variant 'cyrl/el' 0x43B
|
select-variant 'cyrl/el' 0x43B
|
||||||
alias 'cyrl/smcpEl' 0x1D2B 'cyrl/el'
|
alias 'cyrl/smcpEl' 0x1D2B 'cyrl/el'
|
||||||
alias 'cyrl/El.BGR' null 'grek/Lambda'
|
alias 'cyrl/El.BGR' null 'grek/Lambda'
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ glyph-module
|
||||||
glyph-block Letter-Cyrillic-I : begin
|
glyph-block Letter-Cyrillic-I : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
|
glyph-block-import Letter-Shared-Shapes : CyrTailDescender
|
||||||
|
|
||||||
|
|
||||||
define [CyrISerifs top _left _right] : glyph-proc
|
define [CyrISerifs top _left _right] : glyph-proc
|
||||||
local left : fallback _left SB
|
local left : fallback _left SB
|
||||||
|
|
@ -46,3 +48,6 @@ glyph-block Letter-Cyrillic-I : begin
|
||||||
include : CyrIShape XH
|
include : CyrIShape XH
|
||||||
|
|
||||||
alias 'cyrl/smcpI' 0x1D0E 'cyrl/i.upright'
|
alias 'cyrl/smcpI' 0x1D0E 'cyrl/i.upright'
|
||||||
|
|
||||||
|
build-related-composite 'cyrl/IShortTail' 0x48A 'cyrl/I' [refer-glyph 'breveAbove'] [CyrTailDescender RightSB]
|
||||||
|
build-related-composite 'cyrl/iShortTail.upright' null 'cyrl/i.upright' [refer-glyph 'breveAbove'] [CyrTailDescender RightSB]
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ glyph-block Letter-Cyrillic-Orthography : begin
|
||||||
orthographic-italic 'cyrl/de' 0x434
|
orthographic-italic 'cyrl/de' 0x434
|
||||||
orthographic-italic 'cyrl/dzhe' 0x45F
|
orthographic-italic 'cyrl/dzhe' 0x45F
|
||||||
orthographic-italic 'cyrl/i' 0x438
|
orthographic-italic 'cyrl/i' 0x438
|
||||||
|
orthographic-italic 'cyrl/iShortTail' 0x48B
|
||||||
orthographic-italic 'cyrl/sha' 0x448
|
orthographic-italic 'cyrl/sha' 0x448
|
||||||
orthographic-italic 'cyrl/shcha' 0x449
|
orthographic-italic 'cyrl/shcha' 0x449
|
||||||
orthographic-italic 'cyrl/te' 0x442
|
orthographic-italic 'cyrl/te' 0x442
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ glyph-module
|
||||||
glyph-block Letter-Cyrillic-Sha : begin
|
glyph-block Letter-Cyrillic-Sha : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar
|
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar CyrDescender
|
||||||
|
|
||||||
define [CyrShaShape top df] : glyph-proc
|
define [CyrShaShape top df] : glyph-proc
|
||||||
include : union
|
include : union
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ glyph-module
|
||||||
glyph-block Letter-Cyrillic-Tse : begin
|
glyph-block Letter-Cyrillic-Tse : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Shared-Shapes : SerifFrame
|
glyph-block-import Letter-Shared-Shapes : SerifFrame CyrDescender
|
||||||
|
|
||||||
define [CyrTseShape top] : glyph-proc
|
define [CyrTseShape top] : glyph-proc
|
||||||
include : VBarLeft SB 0 top
|
include : VBarLeft SB 0 top
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ glyph-module
|
||||||
glyph-block Letter-Cyrillic-Zhe : begin
|
glyph-block Letter-Cyrillic-Zhe : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
|
glyph-block-import Letter-Shared-Shapes : CyrDescender
|
||||||
|
|
||||||
define [CyrZheShape top midtop df] : glyph-proc
|
define [CyrZheShape top midtop df] : glyph-proc
|
||||||
local fine : AdviceStroke 3.3 df.div
|
local fine : AdviceStroke 3.3 df.div
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ glyph-module
|
||||||
glyph-block Letter-Greek-Upper-Gamma: begin
|
glyph-block Letter-Greek-Upper-Gamma: begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Shared-Shapes : nShoulder
|
glyph-block-import Letter-Shared-Shapes : nShoulder CyrDescender
|
||||||
glyph-block-import Letter-Blackboard : BBS BBD BBBarLeft
|
glyph-block-import Letter-Blackboard : BBS BBD BBBarLeft
|
||||||
|
|
||||||
define SLAB-AUTO 0
|
define SLAB-AUTO 0
|
||||||
|
|
@ -28,21 +28,33 @@ glyph-block Letter-Greek-Upper-Gamma: begin
|
||||||
include : tagged 'serifRT' : DownwardRightSerif (RightSB - OX) top VJut
|
include : tagged 'serifRT' : DownwardRightSerif (RightSB - OX) top VJut
|
||||||
|
|
||||||
define GammaConfig : object
|
define GammaConfig : object
|
||||||
standard { SLAB-AUTO }
|
standard { SLAB-AUTO SLAB }
|
||||||
motionSerifed { SLAB-MOTION }
|
motionSerifed { SLAB-MOTION false }
|
||||||
|
|
||||||
foreach { suffix { slabType } } [Object.entries GammaConfig] : do
|
foreach { suffix { slabType doSB } } [Object.entries GammaConfig] : do
|
||||||
create-glyph "grek/Gamma.\(suffix)" : glyph-proc
|
create-glyph "grek/Gamma.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
include : GammaShape CAP slabType
|
include : GammaShape CAP slabType
|
||||||
|
|
||||||
|
create-glyph "cyrl/GheDescender.\(suffix)" : glyph-proc
|
||||||
|
include : MarkSet.capital
|
||||||
|
include : GammaShape CAP slabType
|
||||||
|
include : CyrDescender (GammaBarLeft + Stroke * HVContrast) (overflow -- [if doSB (MidJutCenter - HalfStroke * HVContrast)])
|
||||||
|
|
||||||
create-glyph "cyrl/ghe.upright.\(suffix)" : glyph-proc
|
create-glyph "cyrl/ghe.upright.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
include : GammaShape XH slabType
|
include : GammaShape XH slabType
|
||||||
|
|
||||||
|
create-glyph "cyrl/gheDescender.upright.\(suffix)" : glyph-proc
|
||||||
|
include : MarkSet.e
|
||||||
|
include : GammaShape XH slabType
|
||||||
|
include : CyrDescender (GammaBarLeft + Stroke * HVContrast) (overflow -- [if doSB (MidJutCenter - HalfStroke * HVContrast)])
|
||||||
|
|
||||||
select-variant 'grek/Gamma' 0x393
|
select-variant 'grek/Gamma' 0x393
|
||||||
select-variant 'cyrl/Ghe' 0x413 (shapeFrom -- 'grek/Gamma')
|
select-variant 'cyrl/Ghe' 0x413 (shapeFrom -- 'grek/Gamma')
|
||||||
|
select-variant 'cyrl/GheDescender' 0x4F6 (follow -- 'cyrl/Ghe')
|
||||||
select-variant 'cyrl/ghe.upright'
|
select-variant 'cyrl/ghe.upright'
|
||||||
|
select-variant 'cyrl/gheDescender.upright' (follow -- 'cyrl/ghe.upright')
|
||||||
alias 'grek/smcpGamma' 0x1D26 'cyrl/ghe.upright'
|
alias 'grek/smcpGamma' 0x1D26 'cyrl/ghe.upright'
|
||||||
|
|
||||||
with-related-glyphs 'cyrl/GheHook' 0x494 'cyrl/Ghe' : lambda [src sel] : glyph-proc
|
with-related-glyphs 'cyrl/GheHook' 0x494 'cyrl/Ghe' : lambda [src sel] : glyph-proc
|
||||||
|
|
@ -75,17 +87,6 @@ glyph-block Letter-Greek-Upper-Gamma: begin
|
||||||
include [refer-glyph src] AS_BASE ALSO_METRICS
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
include : HOverlayBar (SB * 0.3) [mix (SB + Stroke) (RightSB - Stroke) 0.55] (XH * (1 - OverlayPos))
|
include : HOverlayBar (SB * 0.3) [mix (SB + Stroke) (RightSB - Stroke) 0.55] (XH * (1 - OverlayPos))
|
||||||
|
|
||||||
|
|
||||||
with-related-glyphs 'cyrl/GheDescender' 0x4F6 'cyrl/Ghe' : lambda [src sel] : composite-proc
|
|
||||||
refer-glyph src
|
|
||||||
CyrDescender (GammaBarLeft + Stroke * HVContrast) (sideJut -- MidJutCenter - HalfStroke * HVContrast)
|
|
||||||
MarkSet.if
|
|
||||||
|
|
||||||
with-related-glyphs 'cyrl/gheDescender.upright' null 'cyrl/ghe.upright' : lambda [src sel] : composite-proc
|
|
||||||
refer-glyph src
|
|
||||||
CyrDescender (GammaBarLeft + Stroke * HVContrast) (sideJut -- MidJutCenter - HalfStroke * HVContrast)
|
|
||||||
MarkSet.p
|
|
||||||
|
|
||||||
define [CyrGeShape top] : glyph-proc
|
define [CyrGeShape top] : glyph-proc
|
||||||
include : GammaShape top
|
include : GammaShape top
|
||||||
eject-contour 'serifRT'
|
eject-contour 'serifRT'
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ glyph-module
|
||||||
glyph-block Letter-Latin-K : begin
|
glyph-block Letter-Latin-K : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Shared-Shapes : DiagonalTailInnerRadius DiagonalTailF
|
glyph-block-import Letter-Shared-Shapes : DiagonalTailInnerRadius DiagonalTailF CyrDescender
|
||||||
|
|
||||||
local [KBalance slab straightBar] : if slab (Width / 16) : if straightBar (Width / 32) 0
|
local [KBalance slab straightBar] : if slab (Width / 16) : if straightBar (Width / 32) 0
|
||||||
local [KBalanceRight slab straightBar] : if slab 0 : if straightBar (Width / 32) 0
|
local [KBalanceRight slab straightBar] : if slab 0 : if straightBar (Width / 32) 0
|
||||||
|
|
@ -215,7 +215,7 @@ glyph-block Letter-Latin-K : begin
|
||||||
|
|
||||||
define [KCyrlNormalDescender top straightBar slabLeft slab] : CyrDescender
|
define [KCyrlNormalDescender top straightBar slabLeft slab] : CyrDescender
|
||||||
RightSB + [KBalanceRight slab straightBar] - [KO slab straightBar top Stroke]
|
RightSB + [KBalanceRight slab straightBar] - [KO slab straightBar top Stroke]
|
||||||
connex -- [if straightBar 1 0]
|
connex -- [if straightBar 1 0.1]
|
||||||
|
|
||||||
define [KHookTopBar slab straightBar] : union
|
define [KHookTopBar slab straightBar] : union
|
||||||
VBarLeft (SB + [KBalance slab straightBar]) 0 (CAP - Hook - HalfStroke)
|
VBarLeft (SB + [KBalance slab straightBar]) 0 (CAP - Hook - HalfStroke)
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ glyph-block Letter-Latin-Lower-M : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar DToothlessRise DMBlend
|
glyph-block-import Letter-Shared-Shapes : RightwardTailedBar DToothlessRise DMBlend
|
||||||
glyph-block-import Letter-Shared-Shapes : nShoulder nShoulderMask
|
glyph-block-import Letter-Shared-Shapes : nShoulder nShoulderMask CyrDescender
|
||||||
|
|
||||||
define [SmallMSmooth df] : df.div * (0.5 * SmallSmooth + 0.375 * Stroke)
|
define [SmallMSmooth df] : df.div * (0.5 * SmallSmooth + 0.375 * Stroke)
|
||||||
define [SmallMShoulderSpiro] : params [left right top bottom width fine df coBottom] : glyph-proc
|
define [SmallMShoulderSpiro] : params [left right top bottom width fine df coBottom] : glyph-proc
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ glyph-block Letter-Latin-U : begin
|
||||||
glyph-block-import Marks : markHalfStroke
|
glyph-block-import Marks : markHalfStroke
|
||||||
glyph-block-import Letter-Shared : CreateAccentedComposition
|
glyph-block-import Letter-Shared : CreateAccentedComposition
|
||||||
glyph-block-import Letter-Shared-Shapes : nShoulder RightwardTailedBar DToothlessRise SerifFrame
|
glyph-block-import Letter-Shared-Shapes : nShoulder RightwardTailedBar DToothlessRise SerifFrame
|
||||||
|
glyph-block-import Letter-Shared-Shapes : CyrTailDescender
|
||||||
|
|
||||||
glyph-block-export UShape
|
glyph-block-export UShape
|
||||||
|
|
||||||
|
|
@ -167,6 +168,7 @@ glyph-block Letter-Latin-U : begin
|
||||||
select-variant 'smcpU' 0x1D1C (follow -- 'U')
|
select-variant 'smcpU' 0x1D1C (follow -- 'U')
|
||||||
select-variant 'u' 'u'
|
select-variant 'u' 'u'
|
||||||
select-variant 'cyrl/i.italic' (shapeFrom -- 'u')
|
select-variant 'cyrl/i.italic' (shapeFrom -- 'u')
|
||||||
|
select-variant 'cyrl/i.italic.reduced' (shapeFrom -- 'u')
|
||||||
alias 'cyrl/i.BGR' null 'cyrl/i.italic'
|
alias 'cyrl/i.BGR' null 'cyrl/i.italic'
|
||||||
|
|
||||||
with-related-glyphs 'cyrl/ibreve.BGR' null 'cyrl/i.BGR' : lambda [src sel] : glyph-proc
|
with-related-glyphs 'cyrl/ibreve.BGR' null 'cyrl/i.BGR' : lambda [src sel] : glyph-proc
|
||||||
|
|
@ -177,6 +179,8 @@ glyph-block Letter-Latin-U : begin
|
||||||
include [refer-glyph src] AS_BASE ALSO_METRICS
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
include [refer-glyph 'graveAbove']
|
include [refer-glyph 'graveAbove']
|
||||||
|
|
||||||
|
build-related-composite 'cyrl/iShortTail.italic' null 'cyrl/i.italic.reduced' [refer-glyph 'breveAbove'] [CyrTailDescender RightSB]
|
||||||
|
|
||||||
create-glyph 'grek/upsilon' 0x3C5 : glyph-proc
|
create-glyph 'grek/upsilon' 0x3C5 : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
set-base-anchor 'trailing' Middle 0
|
set-base-anchor 'trailing' Middle 0
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ glyph-block Letter-Latin-Upper-H : begin
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Blackboard : BBS BBD
|
glyph-block-import Letter-Blackboard : BBS BBD
|
||||||
glyph-block-import Letter-Shared-Shapes : SerifFrame RightwardTailedBar
|
glyph-block-import Letter-Shared-Shapes : SerifFrame RightwardTailedBar
|
||||||
|
glyph-block-import Letter-Shared-Shapes : CyrDescender CyrTailDescender
|
||||||
|
|
||||||
define SLAB-AUTO 1
|
define SLAB-AUTO 1
|
||||||
define SLAB-MOTION 2
|
define SLAB-MOTION 2
|
||||||
|
|
@ -89,8 +90,11 @@ glyph-block Letter-Latin-Upper-H : begin
|
||||||
|
|
||||||
select-variant 'cyrl/en' 0x43D (shapeFrom -- 'smcpH')
|
select-variant 'cyrl/en' 0x43D (shapeFrom -- 'smcpH')
|
||||||
|
|
||||||
create-glyph 0x4A2 : composite-proc [refer-glyph 'cyrl/En'] [CyrDescender RightSB]
|
build-related-composite 'cyrl/EnDescender' 0x4A2 'H' [CyrDescender RightSB (connex -- 0.5)]
|
||||||
create-glyph 0x4A3 : composite-proc [refer-glyph 'cyrl/en'] [CyrDescender RightSB]
|
build-related-composite 'cyrl/enDescender' 0x4A3 'smcpH' [CyrDescender RightSB (connex -- 0.5)]
|
||||||
|
|
||||||
|
build-related-composite 'cyrl/EnTail' 0x4C9 'H' [CyrTailDescender RightSB (connex -- 0.5)]
|
||||||
|
build-related-composite 'cyrl/enTail' 0x4CA 'smcpH' [CyrTailDescender RightSB (connex -- 0.5)]
|
||||||
|
|
||||||
create-glyph 'mathbb/H' 0x210D : glyph-proc
|
create-glyph 'mathbb/H' 0x210D : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ glyph-module
|
||||||
glyph-block Letter-Latin-Upper-M : begin
|
glyph-block Letter-Latin-Upper-M : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Shared-Shapes : SerifFrame
|
glyph-block-import Letter-Shared-Shapes : SerifFrame CyrTailDescender
|
||||||
|
|
||||||
|
|
||||||
define FORM-FLAT 0
|
define FORM-FLAT 0
|
||||||
|
|
@ -87,6 +87,7 @@ glyph-block Letter-Latin-Upper-M : begin
|
||||||
set-width df.width
|
set-width df.width
|
||||||
include : df.markSet.capital
|
include : df.markSet.capital
|
||||||
include : MShape CAP df form slab slanted
|
include : MShape CAP df form slab slanted
|
||||||
|
|
||||||
create-glyph "smcpM.\(suffix)" : glyph-proc
|
create-glyph "smcpM.\(suffix)" : glyph-proc
|
||||||
local df : DivFrame 1 3
|
local df : DivFrame 1 3
|
||||||
set-width df.width
|
set-width df.width
|
||||||
|
|
@ -99,6 +100,9 @@ glyph-block Letter-Latin-Upper-M : begin
|
||||||
alias 'grek/Mu' 0x39C 'M'
|
alias 'grek/Mu' 0x39C 'M'
|
||||||
alias 'cyrl/Em' 0x41C 'M'
|
alias 'cyrl/Em' 0x41C 'M'
|
||||||
|
|
||||||
|
build-related-composite 'cyrl/EmTail' 0x4CD 'cyrl/Em' [CyrTailDescender RightSB]
|
||||||
|
build-related-composite 'cyrl/emTail' 0x4CE 'cyrl/em' [CyrTailDescender RightSB]
|
||||||
|
|
||||||
glyph-block-import Letter-Blackboard : BBS BBD BBBarRight
|
glyph-block-import Letter-Blackboard : BBS BBD BBBarRight
|
||||||
create-glyph 'mathbb/M' 0x1D544 : glyph-proc
|
create-glyph 'mathbb/M' 0x1D544 : glyph-proc
|
||||||
local df : DivFrame 1 3
|
local df : DivFrame 1 3
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@ glyph-block Letter-Latin-Upper-T : begin
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Blackboard : BBS BBD
|
glyph-block-import Letter-Blackboard : BBS BBD
|
||||||
glyph-block-import Letter-Latin-Lower-M
|
glyph-block-import Letter-Latin-Lower-M
|
||||||
|
glyph-block-import Letter-Shared-Shapes : CyrDescender
|
||||||
|
|
||||||
define TLeftX : SB + OX * 1.5
|
define TLeftX : SB + OX * 1.5
|
||||||
define TRightX : RightSB - OX * 1.5
|
define TRightX : RightSB - OX * 1.5
|
||||||
|
|
@ -43,7 +44,7 @@ glyph-block Letter-Latin-Upper-T : begin
|
||||||
include : MarkSet.if
|
include : MarkSet.if
|
||||||
set-base-anchor 'bottomright' (Middle + HalfStroke * HVContrast) 0
|
set-base-anchor 'bottomright' (Middle + HalfStroke * HVContrast) 0
|
||||||
include : TShape CAP doST doSB
|
include : TShape CAP doST doSB
|
||||||
include : CyrDescender (Middle + HalfStroke * HVContrast) (sideJut -- MidJutCenter - HalfStroke * HVContrast)
|
include : CyrDescender (Middle + HalfStroke * HVContrast) (overflow -- [if doSB (MidJutCenter - HalfStroke * HVContrast)])
|
||||||
|
|
||||||
create-glyph "TBar.\(suffix)" : glyph-proc
|
create-glyph "TBar.\(suffix)" : glyph-proc
|
||||||
include [refer-glyph "T.\(suffix)"] AS_BASE ALSO_METRICS
|
include [refer-glyph "T.\(suffix)"] AS_BASE ALSO_METRICS
|
||||||
|
|
@ -63,7 +64,7 @@ glyph-block Letter-Latin-Upper-T : begin
|
||||||
create-glyph "cyrl/teDescender.upright.\(suffix)" : glyph-proc
|
create-glyph "cyrl/teDescender.upright.\(suffix)" : glyph-proc
|
||||||
include : MarkSet.p
|
include : MarkSet.p
|
||||||
include : TShape XH doST doSB
|
include : TShape XH doST doSB
|
||||||
include : CyrDescender (Middle + HalfStroke * HVContrast) (sideJut -- MidJutCenter - HalfStroke * HVContrast)
|
include : CyrDescender (Middle + HalfStroke * HVContrast) (overflow -- [if doSB (MidJutCenter - HalfStroke * HVContrast)])
|
||||||
|
|
||||||
select-variant 'T' 'T'
|
select-variant 'T' 'T'
|
||||||
select-variant 'smcpT' 0x1D1B (follow -- 'T')
|
select-variant 'smcpT' 0x1D1B (follow -- 'T')
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ glyph-block Letter-Latin-X : begin
|
||||||
glyph-block-import CommonShapes
|
glyph-block-import CommonShapes
|
||||||
glyph-block-import Common-Derivatives
|
glyph-block-import Common-Derivatives
|
||||||
glyph-block-import Letter-Shared-Shapes : ShoulderMidKnotLhsRev SerifFrame WithAIHSerifsMask
|
glyph-block-import Letter-Shared-Shapes : ShoulderMidKnotLhsRev SerifFrame WithAIHSerifsMask
|
||||||
glyph-block-import Letter-Shared-Shapes : DiagonalTailInnerRadius DiagonalTailF
|
glyph-block-import Letter-Shared-Shapes : DiagonalTailInnerRadius DiagonalTailF CyrDescender
|
||||||
glyph-block-export HalfXStrand XStrand
|
glyph-block-export HalfXStrand XStrand
|
||||||
|
|
||||||
define [HalfXStrand stb slab _leftx lefty rightx righty turn pStraight tension _fine] : glyph-proc
|
define [HalfXStrand stb slab _leftx lefty rightx righty turn pStraight tension _fine] : glyph-proc
|
||||||
|
|
@ -182,11 +182,11 @@ glyph-block Letter-Latin-X : begin
|
||||||
|
|
||||||
with-related-glyphs 'cyrl/Hadescender' 0x4B2 'cyrl/Ha' : lambda [src sel] : glyph-proc
|
with-related-glyphs 'cyrl/Hadescender' 0x4B2 'cyrl/Ha' : lambda [src sel] : glyph-proc
|
||||||
include [refer-glyph src] AS_BASE ALSO_METRICS
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
include : CyrDescender RightSB (connex -- 0.5)
|
include : CyrDescender RightSB
|
||||||
|
|
||||||
with-related-glyphs 'cyrl/hadescender' 0x4B3 'xCyrlHaDescenderBase' : lambda [src sel] : glyph-proc
|
with-related-glyphs 'cyrl/hadescender' 0x4B3 'xCyrlHaDescenderBase' : lambda [src sel] : glyph-proc
|
||||||
include [refer-glyph src] AS_BASE ALSO_METRICS
|
include [refer-glyph src] AS_BASE ALSO_METRICS
|
||||||
include : CyrDescender RightSB (connex -- 0.5)
|
include : CyrDescender RightSB
|
||||||
|
|
||||||
glyph-block-import Letter-Blackboard : BBS BBD
|
glyph-block-import Letter-Blackboard : BBS BBD
|
||||||
define [BBXShape l r top] : let [kDiag : DiagCorDs top (r - l) BBD] : union
|
define [BBXShape l r top] : let [kDiag : DiagCorDs top (r - l) BBD] : union
|
||||||
|
|
|
||||||
|
|
@ -410,3 +410,36 @@ glyph-block Letter-Shared-Shapes : begin
|
||||||
curl xb (zbot.y + LongJut)
|
curl xb (zbot.y + LongJut)
|
||||||
alsoThruThem {{0.5 0.94}}
|
alsoThruThem {{0.5 0.94}}
|
||||||
g4.left.end zbot.x (zbot.y + fine) [heading Leftward]
|
g4.left.end zbot.x (zbot.y + fine) [heading Leftward]
|
||||||
|
|
||||||
|
define VJutSw : AdviceStroke 3.5
|
||||||
|
|
||||||
|
glyph-block-export CyrDescender
|
||||||
|
define [CyrDescender] : params [x [shift 0.1] [connex 0.5] [overflow nothing]] : begin
|
||||||
|
local descenderOverflow : fallback overflow : if SLAB SideJut ((RightSB - SB) * shift)
|
||||||
|
return : union
|
||||||
|
VBarRight (x + descenderOverflow + 0.25 * Stroke) (HalfStroke - LongJut) Stroke VJutSw
|
||||||
|
if (!SLAB && descenderOverflow > Stroke * 0.75 || connex)
|
||||||
|
HBarTop (x - connex * Stroke * HVContrast) (x + descenderOverflow) Stroke
|
||||||
|
glyph-proc
|
||||||
|
|
||||||
|
glyph-block-export CyrTailDescender
|
||||||
|
define [CyrTailDescender] : params [x [shift 0.1] [connex 0.5] [overflow nothing]] : begin
|
||||||
|
local descenderOverflow : if SLAB SideJut ((RightSB - SB) * shift)
|
||||||
|
local xRef : x + descenderOverflow + (0.3 + TanSlope) * Stroke
|
||||||
|
return : union
|
||||||
|
difference
|
||||||
|
ExtLineLhs 4 VJutSw (xRef - 0.275 * LongJut) (HalfStroke - LongJut) xRef Stroke
|
||||||
|
MaskAbove Stroke
|
||||||
|
MaskBelow (HalfStroke - LongJut)
|
||||||
|
if (!SLAB && descenderOverflow > Stroke * 0.75 || connex)
|
||||||
|
HBarTop (x - connex * Stroke * HVContrast) (x + descenderOverflow) Stroke
|
||||||
|
glyph-proc
|
||||||
|
|
||||||
|
glyph-block-export CyrLeftDescender
|
||||||
|
define [CyrLeftDescender] : params [x [shift 0.1] [connex 0.5] [overflow nothing]] : begin
|
||||||
|
local descenderOverflow : fallback overflow : if SLAB SideJut ((RightSB - SB) * shift)
|
||||||
|
return : union
|
||||||
|
VBarLeft (x - descenderOverflow - 0.25 * Stroke) (HalfStroke - LongJut) Stroke VJutSw
|
||||||
|
if (!SLAB && descenderOverflow > Stroke * 0.75 || connex)
|
||||||
|
HBarTop (x + connex * Stroke * HVContrast) (x - descenderOverflow) Stroke
|
||||||
|
glyph-proc
|
||||||
|
|
|
||||||
|
|
@ -129,8 +129,8 @@ define-macro glyph-block-import : syntax-rules
|
||||||
|
|
||||||
define allExports : object
|
define allExports : object
|
||||||
Common-Derivatives `[select-variant orthographic-italic refer-glyph query-glyph
|
Common-Derivatives `[select-variant orthographic-italic refer-glyph query-glyph
|
||||||
alias turned HDual HCombine VDual VCombine with-related-glyphs glyph-is-needed
|
alias turned HDual HCombine VDual VCombine with-related-glyphs build-related-composite
|
||||||
HalfAdvance TurnMarks]
|
glyph-is-needed HalfAdvance TurnMarks]
|
||||||
|
|
||||||
CommonShapes `[Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt
|
CommonShapes `[Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt
|
||||||
CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape
|
CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape
|
||||||
|
|
@ -138,11 +138,10 @@ define-macro glyph-block-import : syntax-rules
|
||||||
CenterTopSerif CenterTopSerifAsymmetric CenterBottomSerif CenterBottomSerifAsymmetric
|
CenterTopSerif CenterTopSerifAsymmetric CenterBottomSerif CenterBottomSerifAsymmetric
|
||||||
DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif NeedSlab
|
DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif NeedSlab
|
||||||
NeedNotItalic HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook
|
NeedNotItalic HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook
|
||||||
LeftHook HooktopLeftBar FlatSlashShape hookstart hookend CyrDescender
|
LeftHook HooktopLeftBar FlatSlashShape hookstart hookend FlipAround ScaleAround Realign
|
||||||
CyrLeftDescender FlipAround ScaleAround Realign ForceUpright DiagCor NameUni PointingTo
|
ForceUpright DiagCor NameUni PointingTo WithTransform clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape OBarRightToothlessShape
|
||||||
WithTransform clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape
|
OBarRightRoundedShape AsRadical ExtLineCenter ExtLineLhs DiagCorDs HCrossBar VERY-FAR
|
||||||
OBarRightToothlessShape OBarRightRoundedShape AsRadical ExtLineCenter DiagCorDs
|
MaskAbove MaskBelow MaskLeft MaskRight]
|
||||||
HCrossBar VERY-FAR MaskAbove MaskBelow MaskLeft MaskRight]
|
|
||||||
|
|
||||||
define vartiableFilter : if externEnv.$glyphBlockVariableUsage$
|
define vartiableFilter : if externEnv.$glyphBlockVariableUsage$
|
||||||
lambda [x] externEnv.$glyphBlockVariableUsage$.(x)
|
lambda [x] externEnv.$glyphBlockVariableUsage$.(x)
|
||||||
|
|
|
||||||
|
|
@ -2595,6 +2595,7 @@ selector.u = "toothed"
|
||||||
selector."cyrl/i.italic" = "toothed"
|
selector."cyrl/i.italic" = "toothed"
|
||||||
selector."cyrl/sha.italic" = "toothed"
|
selector."cyrl/sha.italic" = "toothed"
|
||||||
selector."cyrl/shcha.italic" = "toothed"
|
selector."cyrl/shcha.italic" = "toothed"
|
||||||
|
selector."cyrl/i.italic.reduced" = "toothed"
|
||||||
selector."cyrl/dzhe.italic" = "toothed"
|
selector."cyrl/dzhe.italic" = "toothed"
|
||||||
selector."cyrl/tse.italic" = "toothed"
|
selector."cyrl/tse.italic" = "toothed"
|
||||||
|
|
||||||
|
|
@ -2605,6 +2606,7 @@ selector.u = "toothlessCorner"
|
||||||
selector."cyrl/i.italic" = "toothed"
|
selector."cyrl/i.italic" = "toothed"
|
||||||
selector."cyrl/sha.italic" = "toothed"
|
selector."cyrl/sha.italic" = "toothed"
|
||||||
selector."cyrl/shcha.italic" = "toothed"
|
selector."cyrl/shcha.italic" = "toothed"
|
||||||
|
selector."cyrl/i.italic.reduced" = "toothed"
|
||||||
selector."cyrl/dzhe.italic" = "toothed"
|
selector."cyrl/dzhe.italic" = "toothed"
|
||||||
selector."cyrl/tse.italic" = "toothed"
|
selector."cyrl/tse.italic" = "toothed"
|
||||||
|
|
||||||
|
|
@ -2615,6 +2617,7 @@ selector.u = "toothlessRounded"
|
||||||
selector."cyrl/i.italic" = "toothed"
|
selector."cyrl/i.italic" = "toothed"
|
||||||
selector."cyrl/sha.italic" = "toothed"
|
selector."cyrl/sha.italic" = "toothed"
|
||||||
selector."cyrl/shcha.italic" = "toothed"
|
selector."cyrl/shcha.italic" = "toothed"
|
||||||
|
selector."cyrl/i.italic.reduced" = "toothed"
|
||||||
selector."cyrl/dzhe.italic" = "toothed"
|
selector."cyrl/dzhe.italic" = "toothed"
|
||||||
selector."cyrl/tse.italic" = "toothed"
|
selector."cyrl/tse.italic" = "toothed"
|
||||||
|
|
||||||
|
|
@ -2625,6 +2628,7 @@ selector.u = "tailed"
|
||||||
selector."cyrl/i.italic" = "tailed"
|
selector."cyrl/i.italic" = "tailed"
|
||||||
selector."cyrl/sha.italic" = "tailed"
|
selector."cyrl/sha.italic" = "tailed"
|
||||||
selector."cyrl/shcha.italic" = "toothed"
|
selector."cyrl/shcha.italic" = "toothed"
|
||||||
|
selector."cyrl/i.italic.reduced" = "toothed"
|
||||||
selector."cyrl/dzhe.italic" = "tailed"
|
selector."cyrl/dzhe.italic" = "tailed"
|
||||||
selector."cyrl/tse.italic" = "toothed"
|
selector."cyrl/tse.italic" = "toothed"
|
||||||
|
|
||||||
|
|
@ -2635,6 +2639,7 @@ selector.u = "motionSerifed"
|
||||||
selector."cyrl/i.italic" = "motionSerifed"
|
selector."cyrl/i.italic" = "motionSerifed"
|
||||||
selector."cyrl/sha.italic" = "motionSerifed"
|
selector."cyrl/sha.italic" = "motionSerifed"
|
||||||
selector."cyrl/shcha.italic" = "motionSerifed"
|
selector."cyrl/shcha.italic" = "motionSerifed"
|
||||||
|
selector."cyrl/i.italic.reduced" = "motionSerifed"
|
||||||
selector."cyrl/dzhe.italic" = "motionSerifed"
|
selector."cyrl/dzhe.italic" = "motionSerifed"
|
||||||
selector."cyrl/tse.italic" = "motionSerifed"
|
selector."cyrl/tse.italic" = "motionSerifed"
|
||||||
|
|
||||||
|
|
@ -2645,6 +2650,7 @@ selector.u = "motionSerifedTailed"
|
||||||
selector."cyrl/i.italic" = "motionSerifedTailed"
|
selector."cyrl/i.italic" = "motionSerifedTailed"
|
||||||
selector."cyrl/sha.italic" = "motionSerifedTailed"
|
selector."cyrl/sha.italic" = "motionSerifedTailed"
|
||||||
selector."cyrl/shcha.italic" = "motionSerifed"
|
selector."cyrl/shcha.italic" = "motionSerifed"
|
||||||
|
selector."cyrl/i.italic.reduced" = "motionSerifed"
|
||||||
selector."cyrl/dzhe.italic" = "motionSerifedTailed"
|
selector."cyrl/dzhe.italic" = "motionSerifedTailed"
|
||||||
selector."cyrl/tse.italic" = "motionSerifed"
|
selector."cyrl/tse.italic" = "motionSerifed"
|
||||||
|
|
||||||
|
|
@ -2655,6 +2661,7 @@ selector.u = "toothlessCornerMotionSerifed"
|
||||||
selector."cyrl/i.italic" = "motionSerifed"
|
selector."cyrl/i.italic" = "motionSerifed"
|
||||||
selector."cyrl/sha.italic" = "motionSerifed"
|
selector."cyrl/sha.italic" = "motionSerifed"
|
||||||
selector."cyrl/shcha.italic" = "motionSerifed"
|
selector."cyrl/shcha.italic" = "motionSerifed"
|
||||||
|
selector."cyrl/i.italic.reduced" = "motionSerifed"
|
||||||
selector."cyrl/dzhe.italic" = "motionSerifed"
|
selector."cyrl/dzhe.italic" = "motionSerifed"
|
||||||
selector."cyrl/tse.italic" = "motionSerifed"
|
selector."cyrl/tse.italic" = "motionSerifed"
|
||||||
|
|
||||||
|
|
@ -2665,6 +2672,7 @@ selector.u = "toothlessRoundedMotionSerifed"
|
||||||
selector."cyrl/i.italic" = "motionSerifed"
|
selector."cyrl/i.italic" = "motionSerifed"
|
||||||
selector."cyrl/sha.italic" = "motionSerifed"
|
selector."cyrl/sha.italic" = "motionSerifed"
|
||||||
selector."cyrl/shcha.italic" = "motionSerifed"
|
selector."cyrl/shcha.italic" = "motionSerifed"
|
||||||
|
selector."cyrl/i.italic.reduced" = "motionSerifed"
|
||||||
selector."cyrl/dzhe.italic" = "motionSerifed"
|
selector."cyrl/dzhe.italic" = "motionSerifed"
|
||||||
selector."cyrl/tse.italic" = "motionSerifed"
|
selector."cyrl/tse.italic" = "motionSerifed"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue