* Add characters:
- CYRILLIC CAPITAL LETTER DCHE (`U+052C`) (#1897). - CYRILLIC SMALL LETTER DCHE (`U+052D`) (#1897).
This commit is contained in:
parent
b06363541e
commit
241634c7c3
4 changed files with 60 additions and 20 deletions
|
@ -1 +1,4 @@
|
|||
* Add characters:
|
||||
- CYRILLIC CAPITAL LETTER DCHE (`U+052C`) (#1897).
|
||||
- CYRILLIC SMALL LETTER DCHE (`U+052D`) (#1897).
|
||||
* Add separate variant selector `VXAA` for Cyrillic Lower U (`у`) (#2006).
|
||||
|
|
|
@ -4,8 +4,8 @@ export : define [apply] : begin
|
|||
define $$Capture$$ this
|
||||
run-glyph-module "./cyrillic/abk-ha.mjs"
|
||||
run-glyph-module "./cyrillic/big-yus.mjs"
|
||||
run-glyph-module "./cyrillic/che.mjs"
|
||||
run-glyph-module "./cyrillic/de.mjs"
|
||||
run-glyph-module "./cyrillic/che.mjs"
|
||||
run-glyph-module "./cyrillic/dje.mjs"
|
||||
run-glyph-module "./cyrillic/djerv.mjs"
|
||||
run-glyph-module "./cyrillic/dzhe.mjs"
|
||||
|
|
|
@ -7,9 +7,10 @@ glyph-module
|
|||
glyph-block Letter-Cyrillic-Che : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Mark-Adjustment : LeaningAnchor
|
||||
glyph-block-import Mark-Adjustment : LeaningAnchor ExtendBelowBaseAnchors
|
||||
glyph-block-import Letter-Shared-Shapes : SerifFrame RightwardTailedBar DToothlessRise
|
||||
glyph-block-import Letter-Shared-Shapes : CyrDescender
|
||||
glyph-block-import Letter-Shared-Shapes : CyrDescender BottomExtension
|
||||
glyph-block-import Letter-Cyrillic-De : CyrDeBottom
|
||||
|
||||
define BODY-STRAIGHT 0
|
||||
define BODY-TAILED 1
|
||||
|
@ -17,13 +18,12 @@ glyph-block Letter-Cyrillic-Che : begin
|
|||
define SLAB-NONE 0
|
||||
define SLAB-ALL 1
|
||||
define SLAB-LOWER 2
|
||||
define SLAB-TAILED-U 3
|
||||
define SLAB-TOP 3
|
||||
define SLAB-TAILED-I 4
|
||||
define SLAB-ALL-BGR 5
|
||||
define SLAB-TAILED-BGR 6
|
||||
|
||||
define [CyrCheShape top pyBar bodyType slabType] : glyph-proc
|
||||
include : LeaningAnchor.Below.VBar.r RightSB
|
||||
local bar : top * [fallback pyBar 0.5]
|
||||
include : match bodyType
|
||||
[Just BODY-TAILED] : RightwardTailedBar RightSB 0 top
|
||||
|
@ -38,7 +38,7 @@ glyph-block Letter-Cyrillic-Che : begin
|
|||
local sf : SerifFrame.fromDf [DivFrame 1] top 0
|
||||
include : tagged 'serifLT' : match slabType
|
||||
[Just SLAB-ALL] sf.lt.full
|
||||
[Just SLAB-TAILED-U] sf.lt.full
|
||||
[Just SLAB-TOP] sf.lt.full
|
||||
[Just SLAB-ALL-BGR] sf.lt.outer
|
||||
[Just SLAB-TAILED-BGR] sf.lt.outer
|
||||
[Just SLAB-LOWER] sf.lt.outer
|
||||
|
@ -46,7 +46,7 @@ glyph-block Letter-Cyrillic-Che : begin
|
|||
__ : glyph-proc
|
||||
include : tagged 'SerifRT' : match slabType
|
||||
[Just SLAB-ALL] sf.rt.full
|
||||
[Just SLAB-TAILED-U] sf.rt.full
|
||||
[Just SLAB-TOP] sf.rt.full
|
||||
[Just SLAB-ALL-BGR] sf.rt.inner
|
||||
[Just SLAB-TAILED-BGR] sf.rt.inner
|
||||
__ : glyph-proc
|
||||
|
@ -58,6 +58,7 @@ glyph-block Letter-Cyrillic-Che : begin
|
|||
|
||||
create-glyph 'cyrl/Che' 0x427 : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : LeaningAnchor.Below.VBar.r RightSB
|
||||
include : CyrCheShape CAP [if SLAB 0.45 0.35] BODY-STRAIGHT : if SLAB SLAB-ALL SLAB-NONE
|
||||
|
||||
create-glyph 0x4B6 : composite-proc
|
||||
|
@ -69,21 +70,25 @@ glyph-block Letter-Cyrillic-Che : begin
|
|||
|
||||
create-glyph 'cyrl/che.standard' : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : LeaningAnchor.Below.VBar.r RightSB
|
||||
include : CyrCheShape XH [if SLAB 0.45 0.4] BODY-STRAIGHT
|
||||
if SLAB [if para.isItalic SLAB-LOWER SLAB-ALL] SLAB-NONE
|
||||
|
||||
create-glyph 'cyrl/che.tailed' : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : LeaningAnchor.Below.VBar.r RightSB
|
||||
include : CyrCheShape XH [if SLAB 0.45 0.4] BODY-TAILED
|
||||
if SLAB [if para.isItalic SLAB-TAILED-I SLAB-TAILED-U] SLAB-NONE
|
||||
if SLAB [if para.isItalic SLAB-TAILED-I SLAB-TOP] SLAB-NONE
|
||||
|
||||
create-glyph 'cyrl/che.BGR.standard' : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : LeaningAnchor.Below.VBar.r RightSB
|
||||
include : CyrCheShape XH [if SLAB 0.45 0.4] BODY-STRAIGHT
|
||||
if SLAB [if para.isItalic SLAB-LOWER SLAB-ALL-BGR] SLAB-NONE
|
||||
|
||||
create-glyph 'cyrl/che.BGR.tailed' : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : LeaningAnchor.Below.VBar.r RightSB
|
||||
include : CyrCheShape XH [if SLAB 0.45 0.4] BODY-TAILED
|
||||
if SLAB [if para.isItalic SLAB-TAILED-I SLAB-TAILED-BGR] SLAB-NONE
|
||||
|
||||
|
@ -107,3 +112,25 @@ glyph-block Letter-Cyrillic-Che : begin
|
|||
|
||||
derive-composites 'cyrl/CheVBar' 0x4B8 'cyrl/Che' [ChrVBar CAP]
|
||||
derive-composites 'cyrl/cheVBar' 0x4B9 'cyrl/che' [ChrVBar XH]
|
||||
|
||||
create-glyph 'cyrl/Dche' 0x52C : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : ExtendBelowBaseAnchors BottomExtension
|
||||
include : CyrCheShape CAP [if SLAB 0.5 0.4] BODY-STRAIGHT : if SLAB SLAB-TOP SLAB-NONE
|
||||
include : CyrDeBottom SB RightSB
|
||||
|
||||
local fine : AdviceStroke 3.5
|
||||
include : dispiro
|
||||
flat SB Stroke [widths.rhs fine]
|
||||
curl (RightSB - [HSwToV Stroke]) (CAP - [if SLAB Stroke 0])
|
||||
|
||||
create-glyph 'cyrl/dche' 0x52D : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : ExtendBelowBaseAnchors BottomExtension
|
||||
include : CyrCheShape XH [if SLAB 0.5 0.4] BODY-STRAIGHT : if SLAB SLAB-TOP SLAB-NONE
|
||||
include : CyrDeBottom SB RightSB
|
||||
|
||||
local fine : AdviceStroke 3.5
|
||||
include : dispiro
|
||||
flat SB Stroke [widths.rhs fine]
|
||||
curl (RightSB - [HSwToV Stroke]) (XH - [if SLAB Stroke 0])
|
||||
|
|
|
@ -10,32 +10,42 @@ glyph-block Letter-Cyrillic-De : begin
|
|||
glyph-block-import Mark-Adjustment : ExtendBelowBaseAnchors
|
||||
glyph-block-import Letter-Greek-Lower-Epsilon : CyrZe EpsilonConfig
|
||||
|
||||
glyph-block-export BottomExtension
|
||||
local BottomExtension : 0.25 * Stroke - LongJut
|
||||
|
||||
glyph-block-export CyrDeBottom
|
||||
define [CyrDeBottom left right _sw _desc] : glyph-proc
|
||||
local descenderOverflow : if SLAB SideJut ((right - left) * 0.075)
|
||||
local xTopLeft : mix left right : StrokeWidthBlend 0.15 0.1
|
||||
local xTopRight : mix left right : StrokeWidthBlend 0.95 0.96
|
||||
local swOuter : fallback _sw Stroke
|
||||
local desc : fallback _desc BottomExtension
|
||||
|
||||
include : HBar.b xTopLeft xTopRight 0 swOuter
|
||||
include : tagged 'footL' : union
|
||||
HBar.b (left - descenderOverflow) xTopLeft 0 swOuter
|
||||
VBar.l (left - descenderOverflow) desc 0.1 swOuter
|
||||
include : tagged 'footR' : union
|
||||
HBar.b xTopRight (right + descenderOverflow) 0 swOuter
|
||||
VBar.r (right + descenderOverflow) desc 0.1 swOuter
|
||||
|
||||
glyph-block-export CyrDeShape CyrDeItalicShapeT
|
||||
define [CyrDeShape top left right _sw _desc] : glyph-proc
|
||||
local descenderOverflow : if SLAB SideJut ((right - left) * 0.075)
|
||||
local xCutLeft left
|
||||
local xCutRight right
|
||||
local xTopLeft : mix xCutLeft xCutRight : StrokeWidthBlend 0.15 0.1
|
||||
local xTopRight : mix xCutLeft xCutRight : StrokeWidthBlend 0.95 0.96
|
||||
local xTopLeft : mix left right : StrokeWidthBlend 0.15 0.1
|
||||
local xTopRight : mix left right : StrokeWidthBlend 0.95 0.96
|
||||
local swOuter : fallback _sw Stroke
|
||||
local swInner : swOuter * [AdviceStroke 2.75] / Stroke
|
||||
local desc : fallback _desc BottomExtension
|
||||
|
||||
include : HBar.b xTopLeft xTopRight 0 swOuter
|
||||
include : CyrDeBottom left right _sw _desc
|
||||
|
||||
include : VBar.r xTopRight 0 top swInner
|
||||
include : dispiro
|
||||
widths.lhs swInner
|
||||
flat xTopLeft top
|
||||
curl xTopLeft [mix 0 top 0.625]
|
||||
g4 xCutLeft swOuter
|
||||
include : tagged 'footL' : union
|
||||
HBar.b (xCutLeft - descenderOverflow) xTopLeft 0 swOuter
|
||||
VBar.l (xCutLeft - descenderOverflow) desc 0.1 swOuter
|
||||
include : tagged 'footR' : union
|
||||
HBar.b xTopRight (xCutRight + descenderOverflow) 0 swOuter
|
||||
VBar.r (xCutRight + descenderOverflow) desc 0.1 swOuter
|
||||
g4 left swOuter
|
||||
|
||||
include : if SLAB
|
||||
then : dispiro
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue