threefold solid at (#1495) (#1750)

This commit is contained in:
Logo 2023-05-27 04:41:27 +08:00 committed by GitHub
parent 9cd8d9bec9
commit 5530f45880
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 46 additions and 28 deletions

View file

@ -1,5 +1,6 @@
* \[**BREAKING**\] Add taller slash, broken slash and broken zero variants for Zero. As a result, current variants are reordered (#1307, #1509, #1678).
* \[**BREAKING**\] Add above-baseline crossed variant for Q. As a result, current variants are reordered (#1533).
* \[**BREAKING**\] Add `threefold-solid-inline` variant for `@`. As a result, current variants are reordered (#1495).
* \[**BREAKING**\] Rectify the variant atlas. As a result, if a character's variant list has motion-serifed, then it will have serifless and serifed variants: the serifed-ness will no longer be controlled by SLAB variable. The characters influenced are `M`, `N`, `P`, `R`, `U`, `V`, `W`, `b`, `h`, `m`, `n`, `p`, `q`, `u`, `v`, `w`, `y`.
* \[**BREAKING**\] Renamed and/or reordered various variants.
* Add Characters:

View file

@ -10,39 +10,44 @@ glyph-block Symbol-Punctuation-At : begin
glyph-block-import CommonShapes
glyph-block-import Common-Derivatives
define [ThreeFoldShape height] : glyph-proc
define [ThreeFoldShape height fSolidInner] : glyph-proc
local top : SymbolMid + height / 2
local bot : SymbolMid - height / 2
local otop : mix bot top 0.75
local obot : mix top bot 0.8
local sw : AdviceStroke 3.5
local m1 : [mix (SB + sw) (RightSB - sw) 0.47] - sw / 2
local m1 : if fSolidInner [mix SB RightSB 0.5] : [mix (SB + sw) (RightSB - sw) 0.47] - sw / 2
local m2 : [mix m1 RightSB 0.52] + TanSlope * sw
local ada : ArchDepthA * ((RightSB - m1) / (RightSB - SB) * 1.1)
local adb : ArchDepthB * ((RightSB - m1) / (RightSB - SB) * 1.1)
include : dispiro
widths.lhs sw
flat RightSB (otop - O) [heading Leftward]
curl m2 (otop - O)
archv
flat m1 (otop - ada)
curl m1 (obot + adb)
arcvh
g4 m2 (obot + O)
archv
flat RightSB (obot + ada)
curl RightSB (top - ArchDepthB)
arcvh
g4 [ArchXAdjust.top Middle sw] (top - O) [widths Stroke 0]
archv
flat SB (top - ArchDepthA) [widths sw 0]
curl SB (bot + ArchDepthB)
arcvh
flat [ArchXAdjust.bot Middle sw] (bot + O) [widths Stroke 0 ]
curl (RightSB - HalfStroke + TanSlope * sw) (bot + O)
include : union
[if fSolidInner spiro-outline dispiro]
widths.lhs sw
flat RightSB (otop - O) [heading Leftward]
curl m2 (otop - O)
archv
flat m1 (otop - ada)
curl m1 (obot + adb)
arcvh
g4 m2 (obot + O)
archv
flat RightSB (obot + ada)
curl RightSB (otop - O)
dispiro
widths.lhs sw
flat RightSB (obot + ada)
curl RightSB (top - ArchDepthB)
arcvh
g4 [ArchXAdjust.top Middle sw] (top - O) [widths Stroke 0]
archv
flat SB (top - ArchDepthA) [widths sw 0]
curl SB (bot + ArchDepthB)
arcvh
flat [ArchXAdjust.bot Middle sw] (bot + O) [widths Stroke 0 ]
curl (RightSB - HalfStroke + TanSlope * sw) (bot + O)
define [FourFoldShape height fSolidInner] : glyph-proc
local df : DivFrame para.diversityM [if fSolidInner 3.25 4]
@ -163,6 +168,8 @@ glyph-block Symbol-Punctuation-At : begin
threefoldTall { ThreeFoldShape TallHeight false }
fourfoldTall { FourFoldShape TallHeight false }
short { ShortShape CAP false }
threefoldSolidInner { ThreeFoldShape NormalHeight true }
threefoldSolidInnerTall { ThreeFoldShape TallHeight true }
fourfoldSolidInner { FourFoldShape NormalHeight true }
fourfoldSolidInnerTall { FourFoldShape TallHeight true }

View file

@ -5635,33 +5635,43 @@ rank = 1
description = "The three-fold At symbol (`@`)"
selector.at = "threefold"
[prime.at.variants.fourfold]
[prime.at.variants.threefold-solid-inner]
rank = 2
description = "The three-fold At symbol (`@`) with inner loop being solid"
selector.at = "threefoldSolidInner"
[prime.at.variants.fourfold]
rank = 3
description = "The traditional, four-fold At symbol (`@`)"
selector.at = "fourfold"
[prime.at.variants.fourfold-solid-inner]
rank = 3
rank = 4
description = "The four-fold At symbol (`@`) with inner loop being solid"
selector.at = "fourfoldSolidInner"
[prime.at.variants.threefold-tall]
rank = 4
rank = 5
description = "The three-fold At symbol (`@`) with taller outline"
selector.at = "threefoldTall"
[prime.at.variants.threefold-solid-inner-tall]
rank = 6
description = "The three-fold At symbol (`@`) with inner loop being solid and taller outline"
selector.at = "threefoldSolidInnerTall"
[prime.at.variants.fourfold-tall]
rank = 5
rank = 7
description = "The traditional, four-fold At symbol (`@`) with taller outline"
selector.at = "fourfoldTall"
[prime.at.variants.fourfold-solid-inner-tall]
rank = 6
rank = 8
description = "The four-fold At symbol (`@`) with inner loop being solid and taller outline"
selector.at = "fourfoldSolidInnerTall"
[prime.at.variants.short]
rank = 7
rank = 9
description = "The shorter, Fira-like At symbol (`@`)"
selector.at = "short"