Add character Z NOTATION SCHEMA COMPOSITION (U+2A1F) and Z NOTATION RELATION COMPOSITION (U+2A3E) (#857).

This commit is contained in:
be5invis 2021-01-30 22:44:53 -08:00
parent a83d3078ea
commit 4c67044acb
2 changed files with 41 additions and 7 deletions

View file

@ -9,4 +9,5 @@
* Add asymmetric variants for `N` (#838).
* Add base-serifed variants for `Y` (#850).
* Add base-serifed variants for `r` (#851).
* Add stylistic set matching PT Mono and Recursive Mono (#855).
* Add stylistic set matching PT Mono and Recursive Mono (#855).
* Add character Z NOTATION SCHEMA COMPOSITION (`U+2A1F`) and Z NOTATION RELATION COMPOSITION (`U+2A3E`) (#857).

View file

@ -383,12 +383,8 @@ glyph-block Symbol-Punctuation-Small : begin
create-glyph 'hollowColon' 0x2982 : glyph-proc
define sw : AdviceStroke 5
define dotRadius : Math.max PeriodRadius (XH / 8)
include : difference
DotAt Middle dotRadius (dotRadius - O + sw / 2)
DotAt Middle dotRadius (dotRadius - O - sw / 2)
include : difference
DotAt Middle (XH - dotRadius) (dotRadius - O + sw / 2)
DotAt Middle (XH - dotRadius) (dotRadius - O - sw / 2)
include : RingStrokeAt Middle (XH - dotRadius) (dotRadius + sw / 2 - O) sw
include : RingStrokeAt Middle dotRadius (dotRadius + sw / 2 - O) sw
create-glyph 'semicolon' ';' : glyph-proc
include : refer-glyph "comma"
@ -396,6 +392,43 @@ glyph-block Symbol-Punctuation-Small : begin
alias 'greekquestion' 0x37E 'semicolon'
define [RingCommaStroke mx my rad s k1x k1y k2x k2y] : begin
local u : my + rad
local d : my - rad
local l : mx - rad
local r : mx + rad
local fine : s * CThin
return : dispiro
widths.rhs [fallback fine]
g4 mx (u - s + fine) [heading Rightward]
archv
g4 (r - s + [mix fine s 0.5]) my [widths.rhs : mix fine s 0.5]
arcvh
g4 mx d [widths.rhs.heading s Leftward]
archv
g4 l my
arcvh
g4 mx u [heading Rightward]
archv
g4 r my [widths.rhs fine]
flat (mx + rad * k1x) (d + rad * k1y) [widths.rhs s]
curl (mx - rad * k2x) (d - rad * k2y)
create-glyph 'zNotationSchemaComposition' 0x2A1F : glyph-proc
define sw : AdviceStroke 5
define dotRadius : Math.max PeriodRadius (XH / 8)
include : RingStrokeAt Middle (XH - dotRadius) (dotRadius + sw / 2 - O) sw
include : intersection
MaskAbove Descender
RingCommaStroke Middle dotRadius (dotRadius + sw / 2 - O) sw 0.75 0 1 3
create-glyph 'zNotationRelationalComposition' 0x2A3E : glyph-proc
define sw : AdviceStroke 6.5
define dotRadius : 0.625 * [Math.max PeriodRadius (XH / 8)]
include : RingStrokeAt Middle (0.625 * XH - dotRadius) (dotRadius + sw / 2 - O) sw
include : intersection
MaskAbove (Descender * 0.75)
RingCommaStroke Middle dotRadius (dotRadius + sw / 2 - O) sw 0.75 0 0.75 3
glyph-block Symbol-Punctuation-Emotion : begin
glyph-block-import CommonShapes