Skip to content

Commit

Permalink
#2528 #2529 fix (#2530)
Browse files Browse the repository at this point in the history
* Fix broken shape of certain power and playback symbols under quasi-proportional (#2528).

* Fix alignment of the suit part of Playing Cards glyphs under quasi-Proportional (#2529).
  • Loading branch information
be5invis authored Oct 5, 2024
1 parent 9a01ef1 commit 8b2cb42
Show file tree
Hide file tree
Showing 3 changed files with 140 additions and 153 deletions.
2 changes: 2 additions & 0 deletions changes/31.8.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@
* Optimize stroke width of bar for split bowl variants of Cyrillic Lower Ef (`ф`).
* Optimize glyph for Cyrillic Capital Ef (`Ф`) under Bulgarian locale (`'BGR '`) under slab.
* Fix seam in glyphs of Cyrillic Capital/Small Letter Zhwe (`U+A684`..`U+A685`).
* Fix broken shape of certain power and playback symbols under quasi-proportional (#2528).
* Fix alignment of the suit part of Playing Cards glyphs under quasi-Proportional (#2529).
87 changes: 36 additions & 51 deletions packages/font-glyphs/src/auto-build/composite.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -832,7 +832,7 @@ glyph-block AutoBuild-Enclosure : begin

do "Double-digit circled"
local compositions : list
list null {'markBaseSpace'} WideWidth1
list null {'sp1'} WideWidth1
list 0x2789 {'one/sansSerif.lnum' 'zero.lnum'} WideWidth1
list 0x1F16D {'C' 'C'} WideWidth2
list 0x1F12D {'C' 'D'} WideWidth1
Expand Down Expand Up @@ -864,14 +864,12 @@ glyph-block AutoBuild-Enclosure : begin

do "Single-digit boxed"
local compositions {}
compositions.push { null {'markBaseSpace'} WideWidth1 }
foreach [j : range 0 26] : compositions.push {(0x1F130 + j) {[glyphStore.queryNameByUnicode (['A'.charCodeAt 0] + j)]} WideWidth1}
compositions.push : list 0x1F1A5 {'d'} WideWidth1
createBoxedGlyphs 1 compositions

do "Double-digit boxed"
createBoxedGlyphs 2 : list
list null {'markBaseSpace'} WideWidth1
list 0x1F14A {'H' 'V'} WideWidth1
list 0x1F14B {'M' 'V'} WideWidth1
list 0x1F14C {'S' 'D'} WideWidth1
Expand All @@ -890,7 +888,6 @@ glyph-block AutoBuild-Enclosure : begin

do "Triple-digit boxed"
createBoxedGlyphs 3 : list
list null {'markBaseSpace'} WideWidth1
list 0x1F14E {'P' 'P' 'V'} WideWidth1
list 0x1F195 {'N' 'E' 'W'} WideWidth1
list 0x1F198 {'S' 'O' 'S'} WideWidth1
Expand All @@ -905,63 +902,57 @@ glyph-block AutoBuild-Enclosure : begin

do "Quadruple-digit boxed"
createBoxedGlyphs 4 : list
list null {'markBaseSpace'} WideWidth1
list 0x1F192 {'C' 'O' 'O' 'L'} WideWidth1
list 0x1F193 {'F' 'R' 'E' 'E'} WideWidth1
list 0x1F1A2 {'two.lnum' 'two.lnum' 'period' 'two.lnum'} WideWidth1
list 0x1F1A4 {'one.lnum' 'two.lnum' 'zero.lnum' 'P'} WideWidth1

do "Triple-digit two-row boxed"
createTwoRowBoxedGlyphs 3 : list
list null { 'markBaseSpace' 'markBaseSpace' } WideWidth1
list 0x1F19C { 'two.lnum' 'N' 'D' 'S' 'C' 'R' } WideWidth1
list 0x1F1A8 { 'H' 'I' 'hyphen' 'R' 'E' 'S' } WideWidth1

do "Quadruple-digit two-row boxed"
createTwoRowBoxedGlyphs 4 : list
list null { 'markBaseSpace' 'markBaseSpace' } WideWidth1
list 0x1F1A9 { 'L' 'O' 'S' 'S' 'L' 'E' 'S' 'S' } WideWidth1

do "Single-digit playing cards"
do "Playing cards"
# Here we always construct the two-digit cards to ensure that all digit and suit glyphs
# are aligned across all cards.
local compositions : list
list null {'markBaseSpace' 'markBaseSpace'} WideWidth1
list 0x1F0A1 {'A' 'spadeSuit'} WideWidth4
list 0x1F0AB {'J/noDescend' 'spadeSuit'} WideWidth4
list 0x1F0AC {'C' 'spadeSuit'} WideWidth4
list 0x1F0AD {'Q' 'spadeSuit'} WideWidth4
list 0x1F0AE {'K' 'spadeSuit'} WideWidth4
list 0x1F0B1 {'A' 'whiteHeartSuit'} WideWidth4
list 0x1F0BB {'J/noDescend' 'whiteHeartSuit'} WideWidth4
list 0x1F0BC {'C' 'whiteHeartSuit'} WideWidth4
list 0x1F0BD {'Q' 'whiteHeartSuit'} WideWidth4
list 0x1F0BE {'K' 'whiteHeartSuit'} WideWidth4
list 0x1F0C1 {'A' 'whiteDiamondSuit'} WideWidth4
list 0x1F0CB {'J/noDescend' 'whiteDiamondSuit'} WideWidth4
list 0x1F0CC {'C' 'whiteDiamondSuit'} WideWidth4
list 0x1F0CD {'Q' 'whiteDiamondSuit'} WideWidth4
list 0x1F0CE {'K' 'whiteDiamondSuit'} WideWidth4
list 0x1F0D1 {'A' 'clubSuit'} WideWidth4
list 0x1F0DB {'J/noDescend' 'clubSuit'} WideWidth4
list 0x1F0DC {'C' 'clubSuit'} WideWidth4
list 0x1F0DD {'Q' 'clubSuit'} WideWidth4
list 0x1F0DE {'K' 'clubSuit'} WideWidth4
foreach [j : range 2 till 9] : compositions.push : list (0x1F0A0 + j) [[digitGlyphNames j].concat {'spadeSuit'}] WideWidth4
foreach [j : range 2 till 9] : compositions.push : list (0x1F0B0 + j) [[digitGlyphNames j].concat {'whiteHeartSuit'}] WideWidth4
foreach [j : range 2 till 9] : compositions.push : list (0x1F0C0 + j) [[digitGlyphNames j].concat {'whiteDiamondSuit'}] WideWidth4
foreach [j : range 2 till 9] : compositions.push : list (0x1F0D0 + j) [[digitGlyphNames j].concat {'clubSuit'}] WideWidth4
createPlayingCardGlyphs 1 compositions

do "Double-digit playing cards"
createPlayingCardGlyphs 2 : list
list null { 'markBaseSpace' 'markBaseSpace' } WideWidth1
list 0x1F0AA { 'one.lnum' 'zero.lnum' 'spadeSuit' 'zwsp' } WideWidth4
list 0x1F0BA { 'one.lnum' 'zero.lnum' 'whiteHeartSuit' 'zwsp' } WideWidth4
list 0x1F0CA { 'one.lnum' 'zero.lnum' 'whiteDiamondSuit' 'zwsp' } WideWidth4
list 0x1F0DA { 'one.lnum' 'zero.lnum' 'clubSuit' 'zwsp' } WideWidth4
list 0x1F0A1 { 'A' 'sp1' 'spadeSuit' 'zwsp' } WideWidth4
list 0x1F0AB { 'J/noDescend' 'sp1' 'spadeSuit' 'zwsp' } WideWidth4
list 0x1F0AC { 'C' 'sp1' 'spadeSuit' 'zwsp' } WideWidth4
list 0x1F0AD { 'Q' 'sp1' 'spadeSuit' 'zwsp' } WideWidth4
list 0x1F0AE { 'K' 'sp1' 'spadeSuit' 'zwsp' } WideWidth4
list 0x1F0B1 { 'A' 'sp1' 'whiteHeartSuit' 'zwsp' } WideWidth4
list 0x1F0BB { 'J/noDescend' 'sp1' 'whiteHeartSuit' 'zwsp' } WideWidth4
list 0x1F0BC { 'C' 'sp1' 'whiteHeartSuit' 'zwsp' } WideWidth4
list 0x1F0BD { 'Q' 'sp1' 'whiteHeartSuit' 'zwsp' } WideWidth4
list 0x1F0BE { 'K' 'sp1' 'whiteHeartSuit' 'zwsp' } WideWidth4
list 0x1F0C1 { 'A' 'sp1' 'whiteDiamondSuit' 'zwsp' } WideWidth4
list 0x1F0CB { 'J/noDescend' 'sp1' 'whiteDiamondSuit' 'zwsp' } WideWidth4
list 0x1F0CC { 'C' 'sp1' 'whiteDiamondSuit' 'zwsp' } WideWidth4
list 0x1F0CD { 'Q' 'sp1' 'whiteDiamondSuit' 'zwsp' } WideWidth4
list 0x1F0CE { 'K' 'sp1' 'whiteDiamondSuit' 'zwsp' } WideWidth4
list 0x1F0D1 { 'A' 'sp1' 'clubSuit' 'zwsp' } WideWidth4
list 0x1F0DB { 'J/noDescend' 'sp1' 'clubSuit' 'zwsp' } WideWidth4
list 0x1F0DC { 'C' 'sp1' 'clubSuit' 'zwsp' } WideWidth4
list 0x1F0DD { 'Q' 'sp1' 'clubSuit' 'zwsp' } WideWidth4
list 0x1F0DE { 'K' 'sp1' 'clubSuit' 'zwsp' } WideWidth4
list 0x1F0AA { 'one.lnum' 'zero.lnum' 'spadeSuit' 'zwsp' } WideWidth4
list 0x1F0BA { 'one.lnum' 'zero.lnum' 'whiteHeartSuit' 'zwsp' } WideWidth4
list 0x1F0CA { 'one.lnum' 'zero.lnum' 'whiteDiamondSuit' 'zwsp' } WideWidth4
list 0x1F0DA { 'one.lnum' 'zero.lnum' 'clubSuit' 'zwsp' } WideWidth4
foreach [j : range 2 till 9] : begin
compositions.push : list (0x1F0A0 + j) [[digitGlyphNames j].concat {'sp1' 'spadeSuit' 'zwsp'}] WideWidth4
compositions.push : list (0x1F0B0 + j) [[digitGlyphNames j].concat {'sp1' 'whiteHeartSuit' 'zwsp'}] WideWidth4
compositions.push : list (0x1F0C0 + j) [[digitGlyphNames j].concat {'sp1' 'whiteDiamondSuit' 'zwsp'}] WideWidth4
compositions.push : list (0x1F0D0 + j) [[digitGlyphNames j].concat {'sp1' 'clubSuit' 'zwsp'}] WideWidth4
createPlayingCardGlyphs 2 compositions

do "Single-digit trump cards"
createTrumpCardGlyphs 1 : list
list null {'markBaseSpace'} WideWidth1
list 0x1F0BF {'vShadeStar.NWID'} WideWidth4
list 0x1F0CF {'blackStar.NWID'} WideWidth4
list 0x1F0DF {'whiteStar.NWID'} WideWidth4
Expand All @@ -972,7 +963,6 @@ glyph-block AutoBuild-Enclosure : begin

do "Double-digit trump cards"
createTrumpCardGlyphs 2 : list
list null {'markBaseSpace'} WideWidth1
list 0x1F0E2 {'I' 'I'} WideWidth4
list 0x1F0E4 {'I' 'V'} WideWidth4
list 0x1F0E6 {'V' 'I'} WideWidth4
Expand All @@ -983,7 +973,6 @@ glyph-block AutoBuild-Enclosure : begin

do "Triple-digit trump cards"
createTrumpCardGlyphs 3 : list
list null {'markBaseSpace'} WideWidth1
list 0x1F0E3 {'I' 'I' 'I'} WideWidth4
list 0x1F0E7 {'V' 'I' 'I'} WideWidth4
list 0x1F0EC {'X' 'I' 'I'} WideWidth4
Expand All @@ -994,19 +983,17 @@ glyph-block AutoBuild-Enclosure : begin

do "Quadruple-digit trump cards"
createTrumpCardGlyphs 4 : list
list null {'markBaseSpace'} WideWidth1
list 0x1F0E8 {'V' 'I' 'I' 'I'} WideWidth4
list 0x1F0ED {'X' 'I' 'I' 'I'} WideWidth4
list 0x1F0F1 {'X' 'V' 'I' 'I'} WideWidth4

do "Quintuple-digit trump cards"
createTrumpCardGlyphs 5 : list
list null {'markBaseSpace'} WideWidth1
list 0x1F0F2 {'X' 'V' 'I' 'I' 'I'} WideWidth4

do "Playing card back"
createPlayingCardBackGlyphs 1 : list
list 0x1F0A0 {'markBaseSpace'} WideWidth4
list 0x1F0A0 {'sp1'} WideWidth4

do "Single-digit dashed-boxed"
local compositions {}
Expand Down Expand Up @@ -1047,13 +1034,11 @@ glyph-block AutoBuild-Enclosure : begin

do "Single-digit double circled"
local compositions {}
compositions.push { null {'markBaseSpace'} WideWidth1 }
foreach [j : range 1 till 9] : compositions.push : list (0x24F5 + j - 1) [digitGlyphNames j] WideWidth1
createDoubleCircledGlyphs 1 compositions

do "Double-digit double circled"
local compositions {}
compositions.push { null {'markBaseSpace'} WideWidth1 }
foreach [j : range 10 till 10] : compositions.push : list (0x24F5 + j - 1) [digitGlyphNames j] WideWidth1
createDoubleCircledGlyphs 2 compositions

Expand Down Expand Up @@ -1223,7 +1208,7 @@ glyph-block Autobuild-Fractions : begin
list 0x215C { 'three.lnum' 'eight.lnum' }
list 0x215D { 'five.lnum' 'eight.lnum' }
list 0x215E { 'seven.lnum' 'eight.lnum' }
list 0x215F { 'one.lnum' 'markBaseSpace' }
list 0x215F { 'one.lnum' 'sp1' }
list 0x2189 { 'zero.lnum' 'three.lnum' }
list 0x214D { 'A' 'S' }

Expand Down
Loading

0 comments on commit 8b2cb42

Please sign in to comment.