- Cyrillic combining Dasia (`U+0485`), Psili (`U+0486`), Pokrytie (`U+0478`)
   - Cyrillic Ornate Omega (`U+047C`, `U+047D`).
This commit is contained in:
be5invis 2021-05-02 01:33:19 -07:00
parent 286a4f901e
commit 2ac33e41eb
4 changed files with 46 additions and 2 deletions

View file

@ -1,5 +1,7 @@
* Add characters:
- Cyrillic Iotified E (`U+0464`, `U+0465`).
- Cyrillic Omega (`U+0460`, `U+0461`), Ot (`U+047E`, `U+047F`) and Broad Omega (`U+A64C`, `U+A64D`).
- Cyrillic Omega (`U+0460`, `U+0461`), Ot (`U+047E`, `U+047F`), Broad Omega (`U+A64C`, `U+A64D`).
- Cyrillic Psi (`U+0470`, `U+0471`).
- Cyrillic Broad On (`U+047A`, `U+047B`)
- Cyrillic Broad On (`U+047A`, `U+047B`).
- Cyrillic combining Dasia (`U+0485`), Psili (`U+0486`), Pokrytie (`U+0478`).
- Cyrillic Ornate Omega (`U+047C`, `U+047D`).

View file

@ -58,6 +58,8 @@ glyph-block AutoBuild-Accents : begin
set parts.(j) null; set parts.(j + 1) [query-glyph 'psilioxia']
(parts.(j + 1) === [query-glyph 'perispomeniAbove']) : begin
set parts.(j) null; set parts.(j + 1) [query-glyph 'psiliperispomeni']
(parts.(j + 1) === [query-glyph 'cyrlPokrytieAbove']) : begin
set parts.(j) null; set parts.(j + 1) [query-glyph 'commaCyrlPorkytieAbove']
(parts.(j) === [query-glyph 'revCommaAbove']) : begin
piecewise
(parts.(j + 1) === [query-glyph 'graveAbove']) : begin
@ -66,6 +68,10 @@ glyph-block AutoBuild-Accents : begin
set parts.(j) null; set parts.(j + 1) [query-glyph 'dasiaoxia']
(parts.(j + 1) === [query-glyph 'perispomeniAbove']) : begin
set parts.(j) null; set parts.(j + 1) [query-glyph 'dasiaperispomeni']
(parts.(j) === [query-glyph 'cyrlPsiliAbove']) : begin
piecewise
(parts.(j + 1) === [query-glyph 'cyrlPokrytieAbove']) : begin
set parts.(j) null; set parts.(j + 1) [query-glyph 'cyrlPsiliPokrytieAbove']
return parts
define [pad _s n] : begin
@ -239,6 +245,8 @@ define customDecompositions : object
."\u0499" "\u0437\u0327"
."\u04AA" "\u0421\u0327"
."\u04AB" "\u0441\u0327"
."\u047C" "\uA64C\u0486\u0487"
."\u047D" "\uA64D\u0486\u0487"
# Spacing modifers
."\u02CB" "\uE00D\u0300"

View file

@ -729,6 +729,23 @@ glyph-block Marks : begin
g4 (right - OX) aboveMarkMid
g4 (right - braceDepth) aboveMarkBot
alias 'cyrlDasiaAbove' 0x485 'revCommaAbove'
alias 'cyrlPsiliAbove' 0x486 'commaAbove'
create-glyph 'cyrlPokrytieAbove' 0x487 : glyph-proc
set-width 0
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkTop
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
local leftEnd : markMiddle - markExtend * 1.2
local rightEnd : markMiddle + markExtend * 2
include : dispiro
g4.up.start leftEnd aboveMarkBot [widths.heading markHalfStroke markHalfStroke Upward]
arcvh
g2.right.mid markMiddle (aboveMarkTop - markHalfStroke) [heading Rightward]
alsoThru.g2 0.5 0.5
g2.right.end rightEnd ([mix aboveMarkBot aboveMarkTop 0.5] - markHalfStroke) [heading Rightward]
### Below marks
create-glyph 'blankBelow' : glyph-proc
set-width 0
@ -1358,6 +1375,21 @@ glyph-block Marks : begin
set-mark-anchor 'above' markMiddle XH markMiddle (aboveMarkTop + markHalfStroke * 2)
set currentGlyph.autoRefPriority 50
create-glyph 'cyrlPsiliPokrytieAbove' : glyph-proc
set-width 0
include : refer-glyph "commaAbove"
local radius : Math.max (markExtend - commaAboveRadius) (commaAboveRadius * 1.25)
local sw : Math.min (markHalfStroke * 2) ([AdviceStroke 6.5] * 1.25)
include : dispiro
widths.lhs sw
g4.up.start (markMiddle - radius) yc [heading Upward]
arcvh
g2.right.mid markMiddle (yc + radius)
alsoThru.g2 0.5 0.5
g2.right.end (markMiddle + [Math.max radius (markExtend * 2)]) yc [heading Rightward]
set-mark-anchor 'above' markMiddle XH markMiddle (aboveMarkTop + markHalfStroke * 2)
set currentGlyph.autoRefPriority 50
create-glyph 'spaced_psiliperispomeni' 0x1FCF : glyph-proc
include [refer-glyph 'markBaseSpace'] AS_BASE
set-width [query-glyph 'markBaseSpace'].advanceWidth

View file

@ -132,9 +132,11 @@ export : define [buildCCMP sink glyphStore markGlyphs] : begin
object [from {'commaAbove' 'graveAbove'}] [to 'psilivaria']
object [from {'commaAbove' 'acuteAbove'}] [to 'psilioxia']
object [from {'commaAbove' 'perispomeniAbove'}] [to 'psiliperispomeni']
object [from {'commaAbove' 'cyrlPokrytieAbove'}] [to 'commaCyrlPorkytieAbove']
object [from {'revCommaAbove' 'graveAbove'}] [to 'dasiavaria']
object [from {'revCommaAbove' 'acuteAbove'}] [to 'dasiaoxia']
object [from {'revCommaAbove' 'perispomeniAbove'}] [to 'dasiaperispomeni']
object [from {'cyrlPsiliAbove' 'cyrlPokrytieAbove'}] [to 'cyrlPsiliPokrytieAbove']
define gnCgjNwid 'dashed-boxed3{847}{C}{G}{J}.NWID'
define gnCgjWwid 'dashed-boxed3{847}{C}{G}{J}.WWID'