* 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).
|
* Add separate variant selector `VXAA` for Cyrillic Lower U (`у`) (#2006).
|
||||||
|
|
|
@ -4,8 +4,8 @@ export : define [apply] : begin
|
||||||
define $$Capture$$ this
|
define $$Capture$$ this
|
||||||
run-glyph-module "./cyrillic/abk-ha.mjs"
|
run-glyph-module "./cyrillic/abk-ha.mjs"
|
||||||
run-glyph-module "./cyrillic/big-yus.mjs"
|
run-glyph-module "./cyrillic/big-yus.mjs"
|
||||||
run-glyph-module "./cyrillic/che.mjs"
|
|
||||||
run-glyph-module "./cyrillic/de.mjs"
|
run-glyph-module "./cyrillic/de.mjs"
|
||||||
|
run-glyph-module "./cyrillic/che.mjs"
|
||||||
run-glyph-module "./cyrillic/dje.mjs"
|
run-glyph-module "./cyrillic/dje.mjs"
|
||||||
run-glyph-module "./cyrillic/djerv.mjs"
|
run-glyph-module "./cyrillic/djerv.mjs"
|
||||||
run-glyph-module "./cyrillic/dzhe.mjs"
|
run-glyph-module "./cyrillic/dzhe.mjs"
|
||||||
|
|
|
@ -7,9 +7,10 @@ glyph-module
|
||||||
glyph-block Letter-Cyrillic-Che : begin
|
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 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 : 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-STRAIGHT 0
|
||||||
define BODY-TAILED 1
|
define BODY-TAILED 1
|
||||||
|
@ -17,13 +18,12 @@ glyph-block Letter-Cyrillic-Che : begin
|
||||||
define SLAB-NONE 0
|
define SLAB-NONE 0
|
||||||
define SLAB-ALL 1
|
define SLAB-ALL 1
|
||||||
define SLAB-LOWER 2
|
define SLAB-LOWER 2
|
||||||
define SLAB-TAILED-U 3
|
define SLAB-TOP 3
|
||||||
define SLAB-TAILED-I 4
|
define SLAB-TAILED-I 4
|
||||||
define SLAB-ALL-BGR 5
|
define SLAB-ALL-BGR 5
|
||||||
define SLAB-TAILED-BGR 6
|
define SLAB-TAILED-BGR 6
|
||||||
|
|
||||||
define [CyrCheShape top pyBar bodyType slabType] : glyph-proc
|
define [CyrCheShape top pyBar bodyType slabType] : glyph-proc
|
||||||
include : LeaningAnchor.Below.VBar.r RightSB
|
|
||||||
local bar : top * [fallback pyBar 0.5]
|
local bar : top * [fallback pyBar 0.5]
|
||||||
include : match bodyType
|
include : match bodyType
|
||||||
[Just BODY-TAILED] : RightwardTailedBar RightSB 0 top
|
[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
|
local sf : SerifFrame.fromDf [DivFrame 1] top 0
|
||||||
include : tagged 'serifLT' : match slabType
|
include : tagged 'serifLT' : match slabType
|
||||||
[Just SLAB-ALL] sf.lt.full
|
[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-ALL-BGR] sf.lt.outer
|
||||||
[Just SLAB-TAILED-BGR] sf.lt.outer
|
[Just SLAB-TAILED-BGR] sf.lt.outer
|
||||||
[Just SLAB-LOWER] sf.lt.outer
|
[Just SLAB-LOWER] sf.lt.outer
|
||||||
|
@ -46,7 +46,7 @@ glyph-block Letter-Cyrillic-Che : begin
|
||||||
__ : glyph-proc
|
__ : glyph-proc
|
||||||
include : tagged 'SerifRT' : match slabType
|
include : tagged 'SerifRT' : match slabType
|
||||||
[Just SLAB-ALL] sf.rt.full
|
[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-ALL-BGR] sf.rt.inner
|
||||||
[Just SLAB-TAILED-BGR] sf.rt.inner
|
[Just SLAB-TAILED-BGR] sf.rt.inner
|
||||||
__ : glyph-proc
|
__ : glyph-proc
|
||||||
|
@ -58,6 +58,7 @@ glyph-block Letter-Cyrillic-Che : begin
|
||||||
|
|
||||||
create-glyph 'cyrl/Che' 0x427 : glyph-proc
|
create-glyph 'cyrl/Che' 0x427 : glyph-proc
|
||||||
include : MarkSet.capital
|
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
|
include : CyrCheShape CAP [if SLAB 0.45 0.35] BODY-STRAIGHT : if SLAB SLAB-ALL SLAB-NONE
|
||||||
|
|
||||||
create-glyph 0x4B6 : composite-proc
|
create-glyph 0x4B6 : composite-proc
|
||||||
|
@ -69,21 +70,25 @@ glyph-block Letter-Cyrillic-Che : begin
|
||||||
|
|
||||||
create-glyph 'cyrl/che.standard' : glyph-proc
|
create-glyph 'cyrl/che.standard' : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
|
include : LeaningAnchor.Below.VBar.r RightSB
|
||||||
include : CyrCheShape XH [if SLAB 0.45 0.4] BODY-STRAIGHT
|
include : CyrCheShape XH [if SLAB 0.45 0.4] BODY-STRAIGHT
|
||||||
if SLAB [if para.isItalic SLAB-LOWER SLAB-ALL] SLAB-NONE
|
if SLAB [if para.isItalic SLAB-LOWER SLAB-ALL] SLAB-NONE
|
||||||
|
|
||||||
create-glyph 'cyrl/che.tailed' : glyph-proc
|
create-glyph 'cyrl/che.tailed' : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
|
include : LeaningAnchor.Below.VBar.r RightSB
|
||||||
include : CyrCheShape XH [if SLAB 0.45 0.4] BODY-TAILED
|
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
|
create-glyph 'cyrl/che.BGR.standard' : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
|
include : LeaningAnchor.Below.VBar.r RightSB
|
||||||
include : CyrCheShape XH [if SLAB 0.45 0.4] BODY-STRAIGHT
|
include : CyrCheShape XH [if SLAB 0.45 0.4] BODY-STRAIGHT
|
||||||
if SLAB [if para.isItalic SLAB-LOWER SLAB-ALL-BGR] SLAB-NONE
|
if SLAB [if para.isItalic SLAB-LOWER SLAB-ALL-BGR] SLAB-NONE
|
||||||
|
|
||||||
create-glyph 'cyrl/che.BGR.tailed' : glyph-proc
|
create-glyph 'cyrl/che.BGR.tailed' : glyph-proc
|
||||||
include : MarkSet.e
|
include : MarkSet.e
|
||||||
|
include : LeaningAnchor.Below.VBar.r RightSB
|
||||||
include : CyrCheShape XH [if SLAB 0.45 0.4] BODY-TAILED
|
include : CyrCheShape XH [if SLAB 0.45 0.4] BODY-TAILED
|
||||||
if SLAB [if para.isItalic SLAB-TAILED-I SLAB-TAILED-BGR] SLAB-NONE
|
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' 0x4B8 'cyrl/Che' [ChrVBar CAP]
|
||||||
derive-composites 'cyrl/cheVBar' 0x4B9 'cyrl/che' [ChrVBar XH]
|
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 Mark-Adjustment : ExtendBelowBaseAnchors
|
||||||
glyph-block-import Letter-Greek-Lower-Epsilon : CyrZe EpsilonConfig
|
glyph-block-import Letter-Greek-Lower-Epsilon : CyrZe EpsilonConfig
|
||||||
|
|
||||||
|
glyph-block-export BottomExtension
|
||||||
local BottomExtension : 0.25 * Stroke - LongJut
|
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
|
glyph-block-export CyrDeShape CyrDeItalicShapeT
|
||||||
define [CyrDeShape top left right _sw _desc] : glyph-proc
|
define [CyrDeShape top left right _sw _desc] : glyph-proc
|
||||||
local descenderOverflow : if SLAB SideJut ((right - left) * 0.075)
|
local descenderOverflow : if SLAB SideJut ((right - left) * 0.075)
|
||||||
local xCutLeft left
|
local xTopLeft : mix left right : StrokeWidthBlend 0.15 0.1
|
||||||
local xCutRight right
|
local xTopRight : mix left right : StrokeWidthBlend 0.95 0.96
|
||||||
local xTopLeft : mix xCutLeft xCutRight : StrokeWidthBlend 0.15 0.1
|
|
||||||
local xTopRight : mix xCutLeft xCutRight : StrokeWidthBlend 0.95 0.96
|
|
||||||
local swOuter : fallback _sw Stroke
|
local swOuter : fallback _sw Stroke
|
||||||
local swInner : swOuter * [AdviceStroke 2.75] / Stroke
|
local swInner : swOuter * [AdviceStroke 2.75] / Stroke
|
||||||
local desc : fallback _desc BottomExtension
|
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 : VBar.r xTopRight 0 top swInner
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.lhs swInner
|
widths.lhs swInner
|
||||||
flat xTopLeft top
|
flat xTopLeft top
|
||||||
curl xTopLeft [mix 0 top 0.625]
|
curl xTopLeft [mix 0 top 0.625]
|
||||||
g4 xCutLeft swOuter
|
g4 left 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
|
|
||||||
|
|
||||||
include : if SLAB
|
include : if SLAB
|
||||||
then : dispiro
|
then : dispiro
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue