Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Curved Pilcrow (+ minor fix) #2633

Merged
merged 4 commits into from
Jan 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions changes/32.3.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* Add `curved` variant for `¶` (#2045).
* Add characters:
- CURVED STEM PARAGRAPH SIGN ORNAMENT (`U+2761`).
6 changes: 3 additions & 3 deletions packages/font-glyphs/src/letter/latin/lower-f.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@ glyph-block Letter-Latin-Lower-F : begin
flat counterHookLeft Descender
curl [Math.max (barRight - hd.x) (counterHookLeft + TINY)] Descender
archv.superness DesignParameters.tightHookSuperness
flat barRight [Math.min 0 (Descender + hd.y)]
curl barRight 0.1 [heading Upward]
flat barRight [Math.min 0 (Descender + hd.y)] [heading Upward]
curl barRight TINY [heading Upward]

glyph-block-export SmallFDiagonalTail
define [SmallFDiagonalTail df barLeft] : begin
local xBarMiddle : barLeft + [HSwToV HalfStroke]
return : dispiro
flat xBarMiddle 0.1 [widths.center.heading Stroke Downward]
flat xBarMiddle TINY [widths.center.heading Stroke Downward]
DiagTail.L xBarMiddle Descender [DiagTail.StdDepth df Stroke] Stroke

glyph-block-export StdSmallFBarLeftPos
Expand Down
6 changes: 3 additions & 3 deletions packages/font-glyphs/src/letter/shared.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -97,21 +97,21 @@ glyph-block Letter-Blackboard : begin
define [BBBarLeft] : with-params [x yBot yTop [bbs BBS] [bbd BBD]] : union
VBar.l x yBot yTop bbs
VBar.l (x + bbd) yBot yTop bbs
HBar.t x (x + bbd) yTop bbs
HBar.t x (x + bbd) yTop bbs
HBar.b x (x + bbd) yBot bbs

glyph-block-export BBBarCenter
define [BBBarCenter] : with-params [x yBot yTop [bbs BBS] [bbd BBD]] : union
VBar.m (x - bbd / 2) yBot yTop bbs
VBar.m (x + bbd / 2) yBot yTop bbs
HBar.t (x - bbd / 2) (x + bbd / 2) yTop bbs
HBar.t (x - bbd / 2) (x + bbd / 2) yTop bbs
HBar.b (x - bbd / 2) (x + bbd / 2) yBot bbs

glyph-block-export BBBarRight
define [BBBarRight] : with-params [x yBot yTop [bbs BBS] [bbd BBD]] : union
VBar.r x yBot yTop bbs
VBar.r (x - bbd) yBot yTop bbs
HBar.t x (x - bbd) yTop bbs
HBar.t x (x - bbd) yTop bbs
HBar.b x (x - bbd) yBot bbs

glyph-block-import Mark-Shared-Metrics : markMiddle
Expand Down
83 changes: 44 additions & 39 deletions packages/font-glyphs/src/symbol/punctuation/pilcrow.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,47 @@ glyph-block Symbol-Punctuation-Pilcrow : begin
glyph-block-import CommonShapes
glyph-block-import Common-Derivatives

create-glyph : glyph-proc
set-width Width
local sw : AdviceStroke 3.6
define [BulletShape top bot left right sw] : glyph-proc
local vsw : HSwToV sw
local midx : [mix left right 0.5] - vsw / 4

include : union
dispiro
widths.center sw
flat (RightSB - sw / 4) (CAP - sw / 2) [heading Leftward]
curl (Middle - sw / 4) (CAP - sw / 2) [heading Leftward]
archv
g4.down.mid (SB + sw / 2) [mix (CAP * 0.5) (CAP - sw / 2) 0.5] [heading Downward]
arcvh
straight.right.end (Middle - sw / 4) (CAP * 0.5) [heading Rightward]
spiro-outline
straight.left.start (Middle - sw / 4) (CAP - sw / 2 - TINY)
straight.left.start midx top
archv
g4.down.mid (SB + sw / 2 + 0.2) [mix (CAP * 0.5) (CAP - sw / 2) 0.5]
g4.down.mid left [mix top bot 0.5]
arcvh
straight.right.end (Middle - sw / 4) (CAP * 0.5 + TINY)
straight.right.end midx bot
HBar.t midx right top sw

create-glyph : glyph-proc
set-width Width
local sw : AdviceStroke 1.5 0.5
local vsw : HSwToV sw

local bulletBot : CAP * 0.5 - sw / 2
local midbarX : Middle + vsw / 4

include : BulletShape CAP bulletBot SB RightSB sw

create-forked-glyph 'pilcrow.high' : glyph-proc
include : VBar.m (Middle + sw / 4) 0 CAP sw
include : VBar.m (RightSB - sw / 2) 0 CAP sw
include : VBar.m midbarX 0 CAP sw
include : VBar.r RightSB 0 CAP sw
create-forked-glyph 'pilcrow.low' : glyph-proc
include : VBar.m (Middle + sw / 4) Descender CAP sw
include : VBar.m (RightSB - sw / 2) Descender CAP sw
include : VBar.m midbarX Descender CAP sw
include : VBar.r RightSB Descender CAP sw
create-forked-glyph 'pilcrow.curved' : glyph-proc
include : dispiro
widths.rhs sw
flat RightSB CAP [heading Downward]
curl RightSB (0 + SmallArchDepthA)
hookend 0 (sw -- sw)
g4 SB (0 + SHook)
include : VBar.m midbarX bulletBot CAP sw

create-forked-glyph 'curvedPilcrow' 0x2761 : glyph-proc
include : HBar.t midbarX [mix RightSB Width 0.5] CAP sw
include : HBar.b midbarX RightSB bulletBot sw

select-variant 'pilcrow' 0xB6

Expand All @@ -45,35 +60,25 @@ glyph-block Symbol-Punctuation-Pilcrow : begin
create-forked-glyph 'revPilcrow.low' : glyph-proc
include [refer-glyph 'pilcrow.low'] AS_BASE
include : FlipAround Middle (CAP / 2) (-1) 1
create-forked-glyph 'revPilcrow.curved' : glyph-proc
include [refer-glyph 'pilcrow.curved'] AS_BASE
include : FlipAround Middle (CAP / 2) (-1) 1

select-variant 'revPilcrow' 0x204B

create-glyph 'leftBullet' 0x204C : glyph-proc
set-width Width
local sw : AdviceStroke 3.6
local sw : AdviceStroke 1.5 0.5
local vsw : HSwToV sw

include : union
dispiro
widths.center sw
flat (RightSB - sw / 4) (PlusTop - sw / 2) [heading Leftward]
curl (Middle - sw / 4) (PlusTop - sw / 2) [heading Leftward]
archv
g4.down.mid (SB + sw / 2) SymbolMid [heading Downward]
arcvh
flat (Middle - sw / 4) (PlusBot + sw / 2) [heading Rightward]
curl (RightSB - sw / 4) (PlusBot + sw / 2) [heading Rightward]
spiro-outline
straight.left.start (Middle - sw / 4) (PlusTop - sw / 2 - TINY) [heading Leftward]
archv
g4.down.mid (SB + sw / 2 + TINY) SymbolMid [heading Downward]
arcvh
straight.right.end (Middle - sw / 4) (PlusBot + sw / 2 + TINY) [heading Rightward]
local midbarX : Middle + vsw / 4

include : BulletShape PlusTop PlusBot SB RightSB sw

include : VBar.m (Middle + sw / 4) PlusBot PlusTop sw
include : VBar.m (RightSB - sw / 2) PlusBot PlusTop sw
include : VBar.m midbarX PlusBot PlusTop sw
include : VBar.r RightSB PlusBot PlusTop sw
include : HBar.b midbarX RightSB PlusBot sw

create-glyph 'rightBullet' 0x204D : glyph-proc
include [refer-glyph 'leftBullet'] AS_BASE
include : FlipAround Middle SymbolMid (-1) 1


7 changes: 7 additions & 0 deletions params/variants.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8410,6 +8410,12 @@ description = "Lower pilcrow sign `¶`"
selector.pilcrow = "low"
selector.revPilcrow = "low"

[prime.pilcrow.variants.curved]
rank = 3
description = "Curved pilcrow sign `¶`"
selector.pilcrow = "curved"
selector.revPilcrow = "curved"



[prime.partial-derivative]
Expand Down Expand Up @@ -9232,6 +9238,7 @@ at = "fourfold"
dollar = "slanted-through"
cent = "slanted-through-cap"
percent = "rings-continuous-slash"
pilcrow = "curved"
question = "corner-flat-hooked"
micro-sign = "tailed-serifless"

Expand Down
Loading