Add two combining characters. (#2109)

This commit is contained in:
John McWilliams 2023-12-03 17:30:02 -05:00 committed by GitHub
parent f5f95c1464
commit 1146457235
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 48 additions and 3 deletions

View file

@ -25,7 +25,9 @@
- CYRILLIC CAPITAL LETTER LHA (`U+0514`) ... CYRILLIC SMALL LETTER YAE (`U+0519`) (#2018).
- GEORGIAN PARAGRAPH SEPARATOR (`U+10FB`).
- COMBINING BREVE-MACRON (`U+1DCB`) ... COMBINING MACRON-BREVE (`U+1DCC`) (#1880).
- COMBINING DOUBLE CIRCUMFLEX ABOVE (`U+1DCD`).
- COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE (`U+1DD3`).
- COMBINING DELETION MARK (`U+1DFB`).
- LINE SEPARATOR (`U+2028`) ... PARAGRAPH SEPARATOR (`U+2029`).
- TRIANGLE-HEADED RIGHTWARDS ARROW (`U+279D`).
- LONG RIGHTWARDS SQUIGGLE ARROW (`U+27FF`).

View file

@ -170,10 +170,12 @@ glyph-block Mark-Above : begin
flat (df.middle - HalfStroke * 1.1 * asciiMarkZoomX * [Math.sqrt df.div]) [mix aboveMarkMid aboveMarkBot asciiMarkZoomY] [widths.center : Stroke * 0.9]
curl (df.middle + markExtend * asciiMarkZoomX * [Math.sqrt df.div]) [mix aboveMarkMid aboveMarkTop asciiMarkZoomY] [widths.center : Stroke * 1.1]
glyph-block-export CaretCaronWidth CaretCaronMidSw CaretCaronTerminalSw
define CaretCaronWidth : 2 * markExtend + markStress
define CaretCaronMidSw : [StrokeWidthBlend 1.375 1.25] * markStroke
define CaretCaronTerminalSw : AdviceStroke 5
glyph-block-export CaretShape
define [CaretLeftShape] : with-params [top bottom xMiddle width swEnd swMid] : dispiro
flat (xMiddle - 0.5 * width) bottom [widths.center swEnd]
curl xMiddle top [widths.center.heading swMid Upward]
@ -575,7 +577,7 @@ glyph-block Mark-Above : begin
create-glyph 'tripleAcuteAbove' 0x1ACB : glyph-proc
set-width 0
include : StdAnchors.impl 'above' 0 1.5
include : StdAnchors.extraWide
local fine : 0.5 * [AdviceStroke 6]
local stress : 1.2 * fine
@ -731,7 +733,7 @@ glyph-block Mark-Above : begin
include : StdAnchors.mediumWide
select-variant 'candrabinduAbove' 0x310 (follow -- 'diacriticDot')
turned 'turncandrabinduAbove' 0x352 'candrabinduAbove' markMiddle aboveMarkMid
turned 'fermataAbove' 0x352 'candrabinduAbove' markMiddle aboveMarkMid
alias 'graveToneAbove' 0x340 'graveAbove'
alias 'acuteToneAbove' 0x341 'acuteAbove'
@ -938,6 +940,7 @@ glyph-block Mark-Above : begin
alias 'cyrlDasiaAbove' 0x485 'revCommaAbove'
alias 'cyrlPsiliAbove' 0x486 'commaAbove'
create-glyph 'cyrlPalatilizationAbove' 0x484 : glyph-proc
set-width 0
include : StdAnchors.wide
@ -951,6 +954,7 @@ glyph-block Mark-Above : begin
g2.left.mid markMiddle (aboveMarkTop - markHalfStroke) [heading Leftward]
alsoThru.g2 0.5 0.5
g2.left.end leftEnd ([mix aboveMarkBot aboveMarkTop 0.5] - markHalfStroke) [heading Leftward]
create-glyph 'cyrlPokrytieAbove' 0x487 : glyph-proc
set-width 0
include : StdAnchors.wide
@ -1124,6 +1128,29 @@ glyph-block Mark-Above : begin
include : VBar.m markMiddle aboveMarkBot aboveMarkTop (markFine * 2)
include : HBar.t (markMiddle - markExtend) (markMiddle + markExtend) aboveMarkTop (markFine * 2)
create-glyph 'deletionMarkAbove' 0x1DFB : glyph-proc
set-width 0
include : StdAnchors.medium
local wide : markExtend * 0.3
local d : markExtend * 0.7
local fine : 0.5 * [Math.min ([AdviceStroke 3.5] / Stroke * markStroke) (markExtend / 3)]
local stress : 1.2 * fine
include : dispiro
widths.center (stress * 2)
flat (markMiddle - d + wide) aboveMarkTop [heading Downward]
curl (markMiddle - d - wide) aboveMarkBot [widths.heading fine fine Downward]
include : dispiro
widths.center (stress * 2)
flat (markMiddle + wide) aboveMarkTop [heading Downward]
curl (markMiddle - wide) aboveMarkBot [widths.heading fine fine Downward]
include : dispiro
widths.center (stress * 2)
flat (markMiddle + d + wide) aboveMarkTop [heading Downward]
curl (markMiddle + d - wide) aboveMarkBot [widths.heading fine fine Downward]
# Scaled-down glyphs for Vietnamese's secondary mark
define [VNSecondaryMark s kx ky d] : glyph-proc
include : ScaleAround markMiddle aboveMarkMid s s

View file

@ -13,7 +13,8 @@ glyph-block Mark-Tie : begin
glyph-block-import Mark-Shared-Metrics : markExtend markHalfStroke markStress markFine
glyph-block-import Mark-Shared-Metrics : markMiddle markDotsRadius
glyph-block-import Mark-Above : aboveMarkTop aboveMarkBot aboveMarkMid aboveMarkStack
glyph-block-import Mark-Above : TildeShape
glyph-block-import Mark-Above : TildeShape CaretShape CaretCaronWidth
glyph-block-import Mark-Above : CaretCaronMidSw CaretCaronTerminalSw
glyph-block-import Mark-Below : belowMarkBot belowMarkTop belowMarkMid
define aboveTieBase : aboveMarkStack - AccentClearance
@ -127,3 +128,18 @@ glyph-block Mark-Tie : begin
leftEnd -- tieLeft
rightEnd -- tieRight
hs -- markHalfStroke
create-glyph 'circumflexTieAbove' 0x1DCD : glyph-proc
set-width 0
set-mark-anchor 'tieAbove' 0 aboveTieBase 0 aboveTieTop
set-base-anchor 'aboveBraceL' (0 - 0.5 * markExtend) aboveTieMid
set-base-anchor 'aboveBraceR' (0 + 0.5 * markExtend) aboveTieMid
TieGlyph.set currentGlyph
include : CaretShape
xMiddle -- 0
width -- CaretCaronWidth
top -- aboveTieTop + markFine * 0.7
bottom -- aboveTieBottom + markStress - markFine
swEnd -- CaretCaronTerminalSw
swMid -- CaretCaronMidSw