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

Fix inconsistent serifs of U+0284 and U+10798 with the variants of j (#2569). #2570

Merged
merged 2 commits into from
Nov 2, 2024
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
1 change: 1 addition & 0 deletions changes/32.0.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* Fix inconsistent serifs of `U+0284` and `U+10798` with the variants of `j` (#2569).
4 changes: 2 additions & 2 deletions packages/font-glyphs/src/letter/armenian/aliases.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ glyph-block Letter-Armenian-Aliases : begin
alias 'armn/Tiun' 0x54F 'S.serifless'
alias 'armn/Piur' 0x553 'grek/Phi'
alias 'armn/Oh' 0x555 'O'
alias 'armn/yi' 0x575 'dotlessj.flatHook'
alias 'armn/yi' 0x575 : if SLAB 'dotlessj.flatHookSerifed' 'dotlessj.flatHookSerifless'
alias 'armn/co' 0x581 'g.singleStorey'
alias 'armn/oh' 0x585 'o'
alias 'armn/yiBar' 0x588 'dotlessjBar.flatHook'
alias 'armn/yiBar' 0x588 : if SLAB 'dotlessjBar.flatHookSerifed' 'dotlessjBar.flatHookSerifless'
34 changes: 15 additions & 19 deletions packages/font-glyphs/src/letter/latin/lower-j.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,6 @@ glyph-block Letter-Latin-Lower-J : begin
export : define [BentHook df] : df.middle + JBalance
export : define [FlatHookSerifless df] : df.middle + 0.25 * JBalance * df.div * [mix 1 df.div 2]
export : define [FlatHookSerifed df] : df.middle + JBalance * df.div
export : define [StraightAutoSerifed df] : if SLAB [StraightSerifed df] [StraightSerifless df]
export : define [FlatHookAutoSerifed df] : if SLAB [FlatHookSerifed df] [FlatHookSerifless df]

define Body : namespace
export : define [BentHook df top xMiddle] : glyph-proc
Expand Down Expand Up @@ -76,9 +74,9 @@ glyph-block Letter-Latin-Lower-J : begin
set-base-anchor "trailing" (xMiddle - [HSwToV HalfStroke]) Descender

define Serifs : namespace
export : define [None df top xMiddle] : no-shape
export : define [Long df top xMiddle] : HSerif.lt xMiddle top (LongJut * df.div)
export : define [Auto df top xMiddle] : if SLAB [Long df top xMiddle] [no-shape]
export : define [None df top xMiddle] : no-shape
export : define [Long df top xMiddle] : HSerif.lt xMiddle top (LongJut * df.div)
export : define [Short df top xMiddle] : HSerif.lt xMiddle top Jut

define Marks : namespace
export : define [Serifless df top xMiddle] : glyph-proc
Expand All @@ -100,22 +98,20 @@ glyph-block Letter-Latin-Lower-J : begin
export : define StraightSerifed para.diversityI
export : define FlatHookSerifless para.diversityII
export : define FlatHookSerifed para.diversityI
export : define StraightAutoSerifed : if SLAB para.diversityI para.diversityII
export : define FlatHookAutoSerifed : if SLAB para.diversityI para.diversityII

define JConfig : object
'bentHook' { "BentHook" Serifs.Auto XMiddle.BentHook Marks.AutoSerifed Div.BentHook }
'bentHookSerifless' { "BentHook" Serifs.None XMiddle.BentHook Marks.Serifless Div.BentHook }
'bentHookSerifed' { "BentHook" Serifs.Long XMiddle.BentHook Marks.Serifed Div.BentHook }
'straight' { "Straight" Serifs.Auto XMiddle.StraightAutoSerifed Marks.AutoSerifed Div.StraightAutoSerifed }
'straightSerifless' { "Straight" Serifs.None XMiddle.StraightSerifless Marks.Serifless Div.StraightSerifless }
'straightSerifed' { "Straight" Serifs.Long XMiddle.StraightSerifed Marks.Serifed Div.StraightSerifed }
'flatHook' { "FlatHook" Serifs.Auto XMiddle.FlatHookAutoSerifed Marks.AutoSerifed Div.FlatHookAutoSerifed }
'flatHookSerifless' { "FlatHook" Serifs.None XMiddle.FlatHookSerifless Marks.Serifless Div.FlatHookSerifless }
'flatHookSerifed' { "FlatHook" Serifs.Long XMiddle.FlatHookSerifed Marks.Serifed Div.FlatHookSerifed }
'diagonalTailed' { "DiagonalTailed" Serifs.Auto XMiddle.FlatHookAutoSerifed Marks.AutoSerifed Div.FlatHookAutoSerifed }
'diagonalTailedSerifless' { "DiagonalTailed" Serifs.None XMiddle.FlatHookSerifless Marks.Serifless Div.FlatHookSerifless }
'diagonalTailedSerifed' { "DiagonalTailed" Serifs.Long XMiddle.FlatHookSerifed Marks.Serifed Div.FlatHookSerifed }
'bentHookSerifless' { "BentHook" Serifs.None XMiddle.BentHook Marks.Serifless Div.BentHook }
'bentHookSerifed' { "BentHook" Serifs.Long XMiddle.BentHook Marks.Serifed Div.BentHook }
'bentHookShortSerifed' { "BentHook" Serifs.Short XMiddle.BentHook Marks.Serifed Div.BentHook }
'straightSerifless' { "Straight" Serifs.None XMiddle.StraightSerifless Marks.Serifless Div.StraightSerifless }
'straightSerifed' { "Straight" Serifs.Long XMiddle.StraightSerifed Marks.Serifed Div.StraightSerifed }
'straightShortSerifed' { "Straight" Serifs.Short XMiddle.StraightSerifed Marks.Serifed Div.StraightSerifed }
'flatHookSerifless' { "FlatHook" Serifs.None XMiddle.FlatHookSerifless Marks.Serifless Div.FlatHookSerifless }
'flatHookSerifed' { "FlatHook" Serifs.Long XMiddle.FlatHookSerifed Marks.Serifed Div.FlatHookSerifed }
'flatHookShortSerifed' { "FlatHook" Serifs.Short XMiddle.FlatHookSerifed Marks.Serifed Div.FlatHookSerifed }
'diagonalTailedSerifless' { "DiagonalTailed" Serifs.None XMiddle.FlatHookSerifless Marks.Serifless Div.FlatHookSerifless }
'diagonalTailedSerifed' { "DiagonalTailed" Serifs.Long XMiddle.FlatHookSerifed Marks.Serifed Div.FlatHookSerifed }
'diagonalTailedShortSerifed' { "DiagonalTailed" Serifs.Short XMiddle.FlatHookSerifed Marks.Serifed Div.FlatHookSerifed }

foreach { suffix { shapeId Serif xMiddleT Marks div } } [Object.entries JConfig] : do
local df : DivFrame div
Expand Down
16 changes: 8 additions & 8 deletions params/variants.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3084,63 +3084,63 @@ rank = 1
description = "`j` without serif"
selector.dotlessj = "bentHookSerifless"
selector."dotlessj/sansSerif" = "bentHookSerifless"
selector.dotlessjHookTop = "bentHook"
selector.dotlessjHookTop = "bentHookSerifless"
selector.dotlessjCurlyTail = "serifless"

[prime.j.variants.serifed]
rank = 2
description = "`j` with top serif"
selector.dotlessj = "bentHookSerifed"
selector."dotlessj/sansSerif" = "bentHookSerifless"
selector.dotlessjHookTop = "bentHook"
selector.dotlessjHookTop = "bentHookShortSerifed"
selector.dotlessjCurlyTail = "serifed"

[prime.j.variants.straight-line]
rank = 3
description = "`j` like a straight line"
selector.dotlessj = "straightSerifless"
selector."dotlessj/sansSerif" = "straightSerifless"
selector.dotlessjHookTop = "straight"
selector.dotlessjHookTop = "straightSerifless"
selector.dotlessjCurlyTail = "serifless"

[prime.j.variants.hooky]
rank = 4
description = "`j` like a straight line with top serif"
selector.dotlessj = "straightSerifed"
selector."dotlessj/sansSerif" = "straightSerifless"
selector.dotlessjHookTop = "straight"
selector.dotlessjHookTop = "straightShortSerifed"
selector.dotlessjCurlyTail = "serifed"

[prime.j.variants.flat-hook-serifless]
rank = 5
description = "`j` with flat terminal hook"
selector.dotlessj = "flatHookSerifless"
selector."dotlessj/sansSerif" = "flatHookSerifless"
selector.dotlessjHookTop = "flatHook"
selector.dotlessjHookTop = "flatHookSerifless"
selector.dotlessjCurlyTail = "serifless"

[prime.j.variants.flat-hook-serifed]
rank = 6
description = "`j` with flat terminal hook and top serif"
selector.dotlessj = "flatHookSerifed"
selector."dotlessj/sansSerif" = "flatHookSerifless"
selector.dotlessjHookTop = "flatHook"
selector.dotlessjHookTop = "flatHookShortSerifed"
selector.dotlessjCurlyTail = "serifed"

[prime.j.variants.diagonal-tailed-serifless]
rank = 7
description = "`j` with diagonal tail"
selector.dotlessj = "diagonalTailedSerifless"
selector."dotlessj/sansSerif" = "diagonalTailedSerifless"
selector.dotlessjHookTop = "diagonalTailed"
selector.dotlessjHookTop = "diagonalTailedSerifless"
selector.dotlessjCurlyTail = "serifless"

[prime.j.variants.diagonal-tailed-serifed]
rank = 8
description = "`j` with top serif and diagonal tail"
selector.dotlessj = "diagonalTailedSerifed"
selector."dotlessj/sansSerif" = "diagonalTailedSerifless"
selector.dotlessjHookTop = "diagonalTailed"
selector.dotlessjHookTop = "diagonalTailedShortSerifed"
selector.dotlessjCurlyTail = "serifed"


Expand Down