Add Combining Cyrillic Kavyka Above {Left|Right}. (#2355)
This commit is contained in:
parent
ec771008e6
commit
d561cac6ba
3 changed files with 50 additions and 27 deletions
|
@ -1,6 +1,8 @@
|
|||
* Fix Te bar terminal for Cyrillic TeTse (`U+04B4`..`U+04B5`) and Tche (`U+A693`..`U+A694`) under sans italic/oblique when `T` (`cv19`) is serifed.
|
||||
* Make presence of non-Te serifs of Cyrillic TeTse automatic.
|
||||
* Add characters:
|
||||
- COMBINING KAVYKA ABOVE RIGHT (`U+1DF6`).
|
||||
- COMBINING KAVYKA ABOVE LEFT (`U+1DF7`).
|
||||
- DOTTED OBELOS (`U+2E13`).
|
||||
- COMBINING CYRILLIC VZMET (`U+A66F`).
|
||||
- COMBINING CYRILLIC KAVYKA (`U+A67C`) ... CYRILLIC PAYEROK (`U+A67F`).
|
||||
|
|
|
@ -504,6 +504,7 @@ glyph-block Mark-Above : begin
|
|||
flat (0 - Width) aboveMarkTop
|
||||
curl 0 aboveMarkTop
|
||||
|
||||
glyph-block-export BreveShape
|
||||
define [BreveShape] : with-params [top bottom xMiddle width hs] : glyph-proc
|
||||
local leftEnd (xMiddle - width * 0.5)
|
||||
local rightEnd (xMiddle + width * 0.5)
|
||||
|
|
|
@ -10,9 +10,9 @@ glyph-block Mark-Horn-And-Angle : begin
|
|||
glyph-block-import Common-Derivatives
|
||||
|
||||
glyph-block-import Mark-Shared-Metrics : markExtend markStroke markStress markFine
|
||||
glyph-block-import Mark-Shared-Metrics : markMiddle markDotsRadius
|
||||
glyph-block-import Mark-Shared-Metrics : markHalfStroke markMiddle markDotsRadius
|
||||
glyph-block-import Mark-Above : aboveMarkTop aboveMarkBot aboveMarkMid aboveMarkStack
|
||||
glyph-block-import Mark-Above : commaAboveRadius
|
||||
glyph-block-import Mark-Above : BreveShape commaAboveRadius
|
||||
glyph-block-import Mark-Below : belowMarkBot belowMarkTop belowMarkMid
|
||||
|
||||
# horn and angle marks
|
||||
|
@ -79,7 +79,6 @@ glyph-block Mark-Horn-And-Angle : begin
|
|||
|
||||
select-variant 'horn' 0x31B (follow -- 'diacriticDot')
|
||||
|
||||
|
||||
create-glyph 'longHorn.round' : glyph-proc
|
||||
set-width 0
|
||||
include : HornShape 0 XH (Width / 2) (ArchDepthB) 0.5
|
||||
|
@ -100,8 +99,30 @@ glyph-block Mark-Horn-And-Angle : begin
|
|||
set-base-anchor 'aboveBraceL' (-0.75 * markExtend) aboveMarkMid
|
||||
set-base-anchor 'aboveBraceR' 0 aboveMarkMid
|
||||
|
||||
create-glyph 'ltailBR' 0x321 : glyph-proc
|
||||
set-width 0
|
||||
set-mark-anchor 'bottomRight' 0 0 0 belowMarkBot
|
||||
set-base-anchor 'belowBraceL' (-0.5 * HookX - 0.25 * markExtend - [HSwToV : 0.25 * Stroke]) (-0.5 * Hook - HalfStroke)
|
||||
set-base-anchor 'belowBraceR' (-0.5 * HookX + 0.25 * markExtend - [HSwToV : 0.25 * Stroke]) (-0.5 * Hook - HalfStroke)
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
flat 0 (-O) [heading Downward]
|
||||
curl 0 0 [heading Downward]
|
||||
straight.left.end (-HookX - [HSwToV HalfStroke]) (-Hook - HalfStroke)
|
||||
|
||||
create-glyph 'rtailBR' 0x322 : glyph-proc
|
||||
set-width 0
|
||||
set-mark-anchor 'bottomRight' 0 0 0 belowMarkBot
|
||||
set-base-anchor 'belowBraceL' (0.5 * HookX - 0.25 * markExtend - [HSwToV : 0.75 * Stroke]) (-0.5 * Hook - HalfStroke)
|
||||
set-base-anchor 'belowBraceR' (0.5 * HookX + 0.25 * markExtend - [HSwToV : 0.5 * Stroke]) (-0.5 * Hook - HalfStroke)
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
flat 0 (-O) [heading Downward]
|
||||
curl 0 0 [heading Downward]
|
||||
straight.right.end (HookX - [HSwToV HalfStroke]) (-Hook + HalfStroke)
|
||||
|
||||
foreach { suffix { DrawAt kdr } } [Object.entries DotVariants] : do
|
||||
create-glyph "dotTL.\(suffix)" 0x358 : glyph-proc
|
||||
create-glyph "dotTL.\(suffix)" : glyph-proc
|
||||
set-width 0
|
||||
local [object radius attX attY startX startY] : HornDim 0 XH 0 0 0.5
|
||||
local r : mix radius DotRadius 0.5
|
||||
|
@ -109,7 +130,7 @@ glyph-block Mark-Horn-And-Angle : begin
|
|||
set-mark-anchor 'topLeft' 0 XH (-startX) startY
|
||||
set-base-anchor 'aboveBraceL' (startX - r) startY
|
||||
set-base-anchor 'aboveBraceR' (startX - r) startY
|
||||
create-glyph "dotTR.\(suffix)" 0x358 : glyph-proc
|
||||
create-glyph "dotTR.\(suffix)" : glyph-proc
|
||||
set-width 0
|
||||
local [object radius attX attY startX startY] : HornDim 0 XH 0 0 0.5
|
||||
local r : mix radius DotRadius 0.5
|
||||
|
@ -117,7 +138,7 @@ glyph-block Mark-Horn-And-Angle : begin
|
|||
set-mark-anchor 'topRight' 0 XH startX startY
|
||||
set-base-anchor 'aboveBraceL' (startX - r) startY
|
||||
set-base-anchor 'aboveBraceR' (startX - r) startY
|
||||
create-glyph "dotBL.\(suffix)" 0x358 : glyph-proc
|
||||
create-glyph "dotBL.\(suffix)" : glyph-proc
|
||||
set-width 0
|
||||
local [object radius attX attY startX startY] : HornDim 0 XH 0 0 0.5
|
||||
local r : mix radius DotRadius 0.5
|
||||
|
@ -138,30 +159,29 @@ glyph-block Mark-Horn-And-Angle : begin
|
|||
set-base-anchor 'aboveBraceL' (-SB + DotRadius) aboveMarkMid
|
||||
set-base-anchor 'aboveBraceR' (-SB + DotRadius) aboveMarkMid
|
||||
|
||||
create-glyph 'rtailBR' 0x322 : glyph-proc
|
||||
create-glyph 'cyrlKavykaTR' 0x1DF6 : glyph-proc
|
||||
set-width 0
|
||||
set-mark-anchor 'bottomRight' 0 0 0 belowMarkBot
|
||||
set-base-anchor 'belowBraceL' (0.5 * HookX - 0.25 * markExtend - [HSwToV : 0.75 * Stroke]) (-0.5 * Hook - HalfStroke)
|
||||
set-base-anchor 'belowBraceR' (0.5 * HookX + 0.25 * markExtend - [HSwToV : 0.5 * Stroke]) (-0.5 * Hook - HalfStroke)
|
||||
include : BreveShape
|
||||
xMiddle -- 0
|
||||
width -- 2 * (markExtend * 1.5 - [HSwToV markHalfStroke])
|
||||
top -- aboveMarkTop
|
||||
bottom -- aboveMarkBot
|
||||
hs -- markHalfStroke
|
||||
set-mark-anchor 'topRight' 0 XH 0 aboveMarkTop
|
||||
set-base-anchor 'aboveBraceL' (-0.75 * markExtend) aboveMarkMid
|
||||
set-base-anchor 'aboveBraceR' ( 0.75 * markExtend) aboveMarkMid
|
||||
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
flat 0 (-O) [heading Downward]
|
||||
curl 0 0 [heading Downward]
|
||||
straight.right.end (HookX - [HSwToV HalfStroke]) (-Hook + HalfStroke)
|
||||
|
||||
create-glyph 'ltailBR' 0x321 : glyph-proc
|
||||
create-glyph 'cyrlKavykaTL' 0x1DF7 : glyph-proc
|
||||
set-width 0
|
||||
|
||||
set-mark-anchor 'bottomRight' 0 0 0 belowMarkBot
|
||||
set-base-anchor 'belowBraceL' (-0.5 * HookX - 0.25 * markExtend - [HSwToV : 0.25 * Stroke]) (-0.5 * Hook - HalfStroke)
|
||||
set-base-anchor 'belowBraceR' (-0.5 * HookX + 0.25 * markExtend - [HSwToV : 0.25 * Stroke]) (-0.5 * Hook - HalfStroke)
|
||||
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
flat 0 (-O) [heading Downward]
|
||||
curl 0 0 [heading Downward]
|
||||
straight.left.end (-HookX - [HSwToV HalfStroke]) (-Hook - HalfStroke)
|
||||
include : BreveShape
|
||||
xMiddle -- 0
|
||||
width -- 2 * (markExtend * 1.5 - [HSwToV markHalfStroke])
|
||||
top -- aboveMarkTop
|
||||
bottom -- aboveMarkBot
|
||||
hs -- markHalfStroke
|
||||
set-mark-anchor 'topLeft' 0 XH 0 aboveMarkTop
|
||||
set-base-anchor 'aboveBraceL' (-0.75 * markExtend) aboveMarkMid
|
||||
set-base-anchor 'aboveBraceR' ( 0.75 * markExtend) aboveMarkMid
|
||||
|
||||
create-glyph 'rightHalfCircleTR' : glyph-proc
|
||||
set-width 0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue